:root{--bg:#08090d;--bg2:#101219;--card:#12141c;--card2:#171a23;--gold:#d8b66a;--gold2:#f2d891;--text:#f5f3ed;--muted:#a8a8ae;--line:rgba(255,255,255,.1);--danger:#ff8d8d;--success:#86d6a5;--radius:18px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:#07090d;min-height:100vh}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;position:relative;overflow:hidden;background:#060811}.cinematic-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 28% 55% at 18% -5%,rgba(255,255,255,.16),transparent 58%),radial-gradient(ellipse 26% 52% at 82% -4%,rgba(216,182,106,.13),transparent 58%),radial-gradient(ellipse 18% 48% at 50% 2%,rgba(255,255,255,.09),transparent 62%),radial-gradient(circle at 50% 58%,rgba(93,40,70,.25),transparent 35%),linear-gradient(180deg,#111827,#090d18 42%,#05070c)}.cinematic-backdrop:before,.cinematic-backdrop:after{content:"";position:absolute;top:-12%;right:-8%;bottom:-12%;left:-8%;pointer-events:none}.cinematic-backdrop:before{background:linear-gradient(115deg,transparent 34%,rgba(255,255,255,.075) 43%,transparent 51%),linear-gradient(65deg,transparent 49%,rgba(216,182,106,.055) 57%,transparent 65%);filter:blur(10px);transform:translateY(-5%)}.cinematic-backdrop:after{background:radial-gradient(ellipse 45% 22% at 50% 100%,rgba(126,39,82,.12),transparent 70%)}.app-shell>*:not(.cinematic-backdrop):not(.ambient){position:relative;z-index:1}.ambient{position:fixed;width:420px;height:420px;border-radius:50%;filter:blur(100px);opacity:.08;pointer-events:none;background:var(--gold)}.ambient-one{top:-260px;left:12%}.ambient-two{right:-260px;bottom:-220px}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;max-width:1180px;margin:auto;padding:0 24px;border-bottom:1px solid rgba(255,255,255,.06)}.brand{display:flex;gap:12px;align-items:center}.brand strong{display:block;letter-spacing:.12em;font-size:12px}.brand span{display:block;color:var(--muted);font-size:10px;letter-spacing:.18em;margin-top:3px}.school-logo{width:44px;height:44px;object-fit:contain;display:block;filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}.school-logo-large{width:min(210px,42vw);height:auto;margin-bottom:22px;filter:drop-shadow(0 14px 30px rgba(0,0,0,.55))}footer{text-align:center;color:#666873;font-size:11px;padding:28px 20px 36px;letter-spacing:.08em}.hero{min-height:calc(100vh - 78px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:70px 24px 90px}.hero>.school-logo-large{margin-bottom:24px}.hero-badge,.eyebrow{color:var(--gold);letter-spacing:.22em;font-size:11px;font-weight:700}.prom-lockup{position:relative;display:flex;flex-direction:column;align-items:center;margin:2px 0 28px;padding:16px 30px 18px;filter:drop-shadow(0 14px 28px rgba(0,0,0,.35))}.prom-lockup:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(216,182,106,.18);border-radius:18px;background:linear-gradient(135deg,#ffffff0e,#d8b66a06 45%,#ffffff04);box-shadow:inset 0 1px #ffffff14,0 0 45px #d8b66a0f}.prom-lockup span,.prom-lockup small,.prom-lockup strong{position:relative}.prom-lockup span{font-size:10px;letter-spacing:.32em;font-weight:700;color:#c6c7ce;margin-bottom:6px}.prom-lockup strong{font:600 clamp(48px,9vw,86px)/.9 Georgia,serif;letter-spacing:.02em;background:linear-gradient(180deg,#fffdf2,#f2d891 38%,#b9954d,#fff6d6 82%,#d8b66a);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 1px 0 rgba(255,255,255,.18)}.prom-lockup strong em{font-style:normal}.prom-lockup small{font-size:10px;letter-spacing:.42em;color:#b7b8c0;margin-top:10px}.hero-copy{max-width:610px;color:#bbbcc3;font-size:16px;line-height:1.7;margin:0 auto 34px}.google-btn,.primary-btn,.secondary-btn{border:0;border-radius:999px;padding:14px 22px;font-weight:700;transition:.18s transform,.18s box-shadow,.18s opacity}.google-btn{background:#f5f3ed;color:#15161b;min-width:260px}.google-btn:hover,.primary-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 30px #0000004d}.google-icon{display:inline-grid;place-items:center;background:#fff;border-radius:50%;width:22px;height:22px;margin-right:10px;color:#4285f4;font-weight:800}.fine-print{font-size:11px;color:#74757e;max-width:480px;line-height:1.6;margin-top:18px}.fine-print strong{color:#a8a9b0}.center-card{max-width:650px;margin:100px auto;padding:60px 28px;text-align:center}.center-card h1{font:500 46px/1.05 Georgia,serif;margin:10px 0 18px}.center-card p:not(.eyebrow){color:var(--muted);line-height:1.7}.success-icon{width:68px;height:68px;border:1px solid rgba(134,214,165,.5);color:var(--success);border-radius:50%;display:grid;place-items:center;margin:0 auto 22px;font-size:30px}.identity{border:1px solid var(--line);background:#ffffff08;padding:15px;border-radius:14px;margin:25px auto;max-width:360px}.identity strong,.identity span{display:block}.identity span{font-size:12px;color:var(--muted);margin-top:5px}.secondary-btn{background:transparent;color:var(--text);border:1px solid var(--line)}.secondary-btn:hover{border-color:#d8b66a80}.primary-btn{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#15130d;min-width:190px}.primary-btn:disabled{opacity:.4;cursor:not-allowed}.text-link{background:none;border:0;color:#bdbec5;padding:8px}.text-link:hover{color:var(--gold2)}.voting-wrap,.admin-wrap{max-width:1180px;margin:0 auto;padding:55px 24px 80px}.vote-head,.admin-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;margin-bottom:35px}.vote-head h1,.admin-head h1{font:500 clamp(38px,5vw,60px)/1 Georgia,serif;margin:8px 0 10px}.vote-head p:not(.eyebrow),.admin-head p:not(.eyebrow){color:var(--muted);margin:0}.progress-meta{display:flex;justify-content:space-between;color:#a8a9b0;font-size:12px;margin-bottom:8px}.progress{height:4px;background:#20222b;border-radius:99px;overflow:hidden}.progress>div{height:100%;background:linear-gradient(90deg,var(--gold),var(--gold2));transition:width .25s}.step-dots{display:flex;gap:8px;margin:22px 0}.step-dots button{width:31px;height:31px;border-radius:50%;border:1px solid var(--line);background:transparent;color:#73747d;font-size:11px}.step-dots button.active,.step-dots button.done{color:#15130d;background:var(--gold);border-color:var(--gold)}.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:25px}.category-card{display:block;background:linear-gradient(145deg,#ffffff0b,#ffffff05);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.category-number{color:var(--gold);font-size:11px;letter-spacing:.14em}.category-title{display:block;font:500 24px/1.15 Georgia,serif;margin:9px 0 22px;min-height:55px}.field-label{display:block;color:#888993;font-size:10px;text-transform:uppercase;letter-spacing:.13em;margin-bottom:8px}.category-card input,.search{width:100%;border:1px solid var(--line);background:#0c0e13;color:var(--text);border-radius:11px;padding:13px 14px;outline:none}.category-card input:focus,.search:focus{border-color:#d8b66ab3;box-shadow:0 0 0 3px #d8b66a14}.category-card input::placeholder{color:#555761}.nav-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.notice{padding:13px 15px;border-radius:12px;margin:16px 0;font-size:13px;line-height:1.5}.notice.error{background:#ff5a5a14;border:1px solid rgba(255,100,100,.2);color:#ffc1c1}.notice.success{background:#86d6a514;border:1px solid rgba(134,214,165,.2);color:#b9efcb}.floating-error{position:fixed;top:18px;left:50%;transform:translate(-50%);width:min(92vw,600px);z-index:5}.review-list{border-top:1px solid var(--line)}.review-row{display:grid;grid-template-columns:1.4fr 1fr auto;gap:20px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.review-row>div{display:flex;gap:12px;align-items:center}.review-row>div span{color:var(--gold);font-size:10px}.review-row strong{font-size:13px}.review-row>b{font-weight:500;color:#ddd}.edit-btn{border:0;background:none;color:var(--gold);font-size:12px}.submit-box{margin-top:28px;border:1px solid var(--line);background:#ffffff06;border-radius:16px;padding:20px;display:flex;justify-content:space-between;align-items:center;gap:20px}.check{display:flex;gap:10px;color:#b5b6bd;font-size:12px;line-height:1.5}.check input{accent-color:var(--gold);margin-top:3px}.admin-actions{display:flex;gap:8px;align-items:center}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:24px}.tabs button{border:0;background:none;color:#858690;padding:13px 18px;border-bottom:2px solid transparent}.tabs button.active{color:var(--gold2);border-color:var(--gold)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.stat,.panel,.result-card{background:#ffffff09;border:1px solid var(--line);border-radius:16px}.stat{padding:20px}.stat span{display:block;color:#858690;font-size:11px}.stat strong{display:block;font:500 34px Georgia,serif;margin-top:8px}.panel{padding:22px}.panel h2{font:500 25px Georgia,serif;margin:0 0 16px}.panel-head{display:flex;justify-content:space-between;gap:20px;align-items:center}.search{max-width:280px}.submission-mini,.submission-summary{display:flex;justify-content:space-between;gap:15px;align-items:center;width:100%;padding:14px 0;border-bottom:1px solid var(--line)}.submission-mini div:first-child span,.submission-summary span{display:block;color:#777983;font-size:11px;margin-top:4px}.submission-mini time{color:#8c8d95;font-size:11px}.submission-summary{border:0;background:none;color:var(--text);text-align:left}.submission-row{border-bottom:1px solid var(--line)}.submission-summary>div:last-child{display:flex;align-items:center;gap:16px}.submission-summary b{color:var(--gold);font-size:20px;font-weight:400}.ballot-detail{background:#0d0f14;border-radius:12px;padding:8px 14px;margin-bottom:14px}.ballot-detail>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:12px}.ballot-detail>div:last-child{border-bottom:0}.ballot-detail span{color:#7f8089}.ballot-detail strong{font-weight:500}.results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.result-card{padding:20px}.result-title{display:flex;gap:12px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:5px}.result-title span{color:var(--gold);font-size:11px}.result-title h2{font:500 20px Georgia,serif;margin:0}.result-row{display:grid;grid-template-columns:25px 1fr auto;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:12px}.result-row span{color:#777983}.result-row b{color:var(--gold2)}.result-card small{display:block;color:#6e7079;margin-top:12px}.muted{color:#777983;font-size:12px}.spinner{width:30px;height:30px;border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 15px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:760px){.topbar{height:68px}.hero{padding-top:45px}.category-grid,.results-grid,.stats{grid-template-columns:1fr}.vote-head,.admin-head{flex-direction:column}.vote-head>.text-link,.admin-head .admin-actions{align-self:flex-end}.review-row{grid-template-columns:1fr auto}.review-row>b{grid-column:1}.review-row .edit-btn{grid-row:1;grid-column:2}.submit-box{flex-direction:column;align-items:stretch}.primary-btn{width:100%}.panel-head{align-items:stretch;flex-direction:column}.search{max-width:none}.admin-actions{align-self:auto}.admin-head{gap:15px}.voting-wrap,.admin-wrap{padding:35px 16px 60px}.category-card{padding:20px}.category-title{font-size:21px}.hero h1{font-size:48px}.center-card{margin:50px auto;padding:40px 22px}.center-card h1{font-size:36px}}@media(max-width:760px){.school-logo{width:38px;height:38px}.school-logo-large{width:min(170px,48vw)}}
