@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800;900&display=swap";:root{--navy:#03152e;--green:#063f2d;--green2:#00684a;--gold:#d6ad5b;--goldSoft:#f2d992;--bg:#f4f6f2;--panel:#fff;--ink:#10251f;--muted:#64776f;--line:#03152e1f;--shadow:0 20px 50px #03152e14;--danger:#b42318;--success:#007a4d}*{box-sizing:border-box}body{background:radial-gradient(circle at 8% 0%,#d6ad5b29,transparent 24%),radial-gradient(circle at 92% 2%,#00684a1f,transparent 25%),var(--bg);color:var(--ink);margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--green2);font-weight:850}.loadingScreen{text-align:center;place-content:center;gap:16px;min-height:100vh;display:grid}.logoMark{border:2px solid var(--gold);background:linear-gradient(135deg,var(--green),var(--navy));width:56px;height:56px;color:var(--goldSoft);border-radius:18px;place-items:center;margin:0 auto;font-size:22px;font-weight:950;display:grid}.loginPage{grid-template-columns:1fr .78fr;align-items:center;gap:24px;width:min(1280px,100% - 28px);min-height:100vh;margin:0 auto;padding:28px 0;display:grid}.loginHero,.loginCard,.appHeader,.heroPanel,.panel,.summaryCard,.categoryBreakdown,.filters{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffff0;border-radius:28px}.loginHero{color:#fff;background:linear-gradient(135deg,#03152efa,#063f2df5),radial-gradient(circle at 100% 0,#d6ad5b33,#0000 36%);flex-direction:column;justify-content:center;min-height:620px;padding:54px;display:flex}.brandBlock,.appBrand{align-items:center;gap:14px;display:flex}.brandBlock strong,.appBrand strong{letter-spacing:-.06em;font-size:24px;font-weight:950;display:block}.brandBlock span,.appBrand span{color:var(--goldSoft);letter-spacing:.14em;text-transform:uppercase;margin-top:4px;font-size:11px;font-weight:950;display:block}.loginHero h1{letter-spacing:-.085em;max-width:780px;margin:70px 0 20px;font-size:clamp(46px,6vw,78px);line-height:.92}.loginHero p{color:#ffffffc2;max-width:720px;font-size:17px;font-weight:650;line-height:1.72}.heroTags{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.heroTags span{color:var(--goldSoft);background:#ffffff14;border:1px solid #ffffff24;border-radius:999px;padding:10px 12px;font-size:12px;font-weight:900}.loginCard{padding:42px}.eyebrow{width:fit-content;color:var(--green2);letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px;font-size:11px;font-weight:950;display:inline-flex}.loginCard h2,.panel h2,.heroPanel h1{color:var(--navy);letter-spacing:-.065em;margin:0 0 10px;font-size:38px;line-height:1}.loginCard p,.heroPanel p,.categoryBreakdown p{color:var(--muted);font-weight:650;line-height:1.65}.loginCard form,.purchaseForm{gap:16px;margin-top:24px;display:grid}label{color:#40564e;letter-spacing:.08em;text-transform:uppercase;gap:8px;font-size:12px;font-weight:950;display:grid}input,select,textarea{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);letter-spacing:0;text-transform:none;background:#fff;border-radius:15px;outline:none;padding:0 14px;font-size:14px;font-weight:750}textarea{resize:vertical;padding:14px}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px #d6ad5b26}.primaryButton,.ghostButton{border:none;border-radius:15px;min-height:48px;padding:0 18px;font-size:14px;font-weight:900}.primaryButton{color:var(--navy);background:linear-gradient(135deg,#f6df9a,var(--gold));box-shadow:0 12px 22px #d6ad5b3d}.ghostButton{border:1px solid var(--line);color:var(--navy);background:#fff}.primaryButton:disabled,.ghostButton:disabled{cursor:not-allowed;opacity:.6}.message{color:#6f4f00;background:#d6ad5b1a;border:1px solid #d6ad5b47;border-radius:15px;padding:14px 16px;font-weight:850}.message.negative{color:var(--danger);background:#b4231814;border-color:#b4231847}.message.positive{color:var(--success);background:#007a4d14;border-color:#007a4d3d}.appShell{width:min(1500px,100% - 28px);margin:0 auto;padding:18px 0 34px}.appHeader{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);justify-content:space-between;align-items:center;gap:18px;min-height:86px;padding:16px;display:flex;position:sticky;top:12px}.appBrand .logoMark{width:52px;height:52px;margin:0}.appBrand strong{color:var(--navy)}.appBrand span{color:var(--green2)}.headerControls{align-items:end;gap:12px;display:flex}.headerControls label{min-width:260px}.heroPanel{color:#fff;background:linear-gradient(135deg,var(--navy),var(--green));grid-template-columns:1fr auto;align-items:center;gap:20px;margin:18px 0;padding:36px;display:grid}.heroPanel h1{color:#fff;max-width:980px;font-size:clamp(36px,5vw,64px)}.heroPanel p{color:#ffffffbd;max-width:820px}.heroPanel .eyebrow{color:var(--goldSoft)}.heroMeta{background:#ffffff14;border:1px solid #ffffff24;border-radius:18px;min-width:260px;padding:18px}.heroMeta span,.heroMeta strong{display:block}.heroMeta span{color:#ffffffb8;font-size:12px;font-weight:850}.heroMeta strong{color:var(--goldSoft);text-transform:capitalize;margin-top:6px;font-size:18px}.filters{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:18px;padding:16px;display:flex}.filters label{min-width:190px}.summaryGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.summaryCard{min-height:150px;padding:22px}.summaryCard span,.summaryCard small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:950;display:block}.summaryCard strong{color:var(--navy);letter-spacing:-.06em;margin:16px 0 8px;font-size:30px;line-height:1;display:block}.categoryBreakdown{grid-column:span 4;padding:24px}.categoryBreakdown h3{color:var(--navy);letter-spacing:-.055em;margin:0 0 16px;font-size:26px}.categoryRows{gap:8px;display:grid}.categoryRows div{border:1px solid var(--line);background:#fff;border-radius:14px;justify-content:space-between;gap:14px;padding:12px 14px;display:flex}.categoryRows span{color:var(--muted);font-weight:850}.categoryRows strong{color:var(--navy)}.panel{margin-bottom:18px;padding:26px}.panelTitle{justify-content:space-between;align-items:start;gap:18px;margin-bottom:20px;display:flex}.venuePill{color:var(--green);background:#00684a14;border-radius:999px;padding:10px 12px;font-size:12px}.formGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.fileInput input{padding-top:12px}.totalsBox{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.totalsBox div{border:1px solid var(--line);background:#f9fbfa;border-radius:16px;padding:16px}.totalsBox span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:950;display:block}.totalsBox strong{color:var(--navy);margin-top:8px;font-size:22px;display:block}.formActions{justify-content:flex-end;gap:12px;display:flex}.tableWrap{border:1px solid var(--line);border-radius:18px;overflow-x:auto}table{border-collapse:collapse;background:#fff;width:100%;min-width:1100px}th,td{border-bottom:1px solid var(--line);text-align:left;padding:14px 13px;font-size:13px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;background:#f8faf9;font-size:11px;font-weight:950}td{color:#273d35;font-weight:750}.status{color:#6f4f00;text-transform:uppercase;background:#d6ad5b24;border-radius:999px;padding:7px 9px;font-size:11px;font-weight:950;display:inline-flex}.status.approved{color:var(--success);background:#007a4d1a}.status.rejected{color:var(--danger);background:#b423181a}.emptyCell{text-align:center;color:var(--muted);padding:32px}@media (width<=1100px){.loginPage,.heroPanel{grid-template-columns:1fr}.summaryGrid,.formGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.categoryBreakdown{grid-column:span 2}.appHeader,.headerControls{flex-direction:column;align-items:stretch}.headerControls label{min-width:100%}}@media (width<=720px){.loginPage,.appShell{width:min(100% - 20px,1500px)}.loginHero,.loginCard,.heroPanel,.panel{border-radius:22px;padding:22px}.loginHero{min-height:auto}.loginHero h1{margin-top:44px;font-size:42px}.heroPanel h1{font-size:36px}.filters{flex-direction:column;align-items:stretch}.filters label{min-width:100%}.summaryGrid,.formGrid,.totalsBox{grid-template-columns:1fr}.categoryBreakdown{grid-column:span 1}.panelTitle,.formActions{flex-direction:column;align-items:stretch}.primaryButton,.ghostButton{width:100%}}
