:root{--crust:#2B1B14;--crust-2:#3E2A1E;--tomato:#D62828;--tomato-dark:#A81E1E;--cheese:#F0A93E;--cheese-light:#FFD98A;--basil:#4F7A46;--cream:#FFF3DD;--paper:#FFFBF3;--ink:#2B1B14;--ink-soft:#6B564A;--line: rgba(43,27,20,.12)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,sans-serif}.wrap{max-width:1080px;margin:0 auto;padding:0 0 60px}.hero{background:radial-gradient(circle at 15% 20%,rgba(240,169,62,.18),transparent 40%),radial-gradient(circle at 85% 0%,rgba(214,40,40,.25),transparent 45%),var(--crust);color:var(--cream);padding:34px 24px 26px;text-align:center;position:relative;overflow:hidden;border-bottom:6px solid var(--tomato)}.hero .eyebrow{font-family:Space Mono,monospace;letter-spacing:.18em;text-transform:uppercase;font-size:11px;color:var(--cheese-light);margin-bottom:10px}.hero h1{font-family:Fredoka,sans-serif;font-weight:700;font-size:clamp(28px,5vw,46px);margin:0 0 8px;line-height:1.05;text-shadow:0 3px 0 rgba(0,0,0,.25)}.hero h1 span{color:var(--cheese)}.hero p.sub{margin:0;color:#fffbf3bf;font-size:14px}.hero .who{margin-top:14px;font-size:13px;color:#fffbf3d9}.hero .who button{margin-left:10px;border:1px solid rgba(255,251,243,.4);background:transparent;color:var(--cream);border-radius:999px;padding:4px 12px;font-size:12.5px;cursor:pointer;font-family:Inter,sans-serif}.hero .who button:hover{border-color:var(--cheese);color:var(--cheese-light)}nav.tabs{background:var(--crust-2);position:sticky;top:0;z-index:20;border-bottom:3px solid var(--cheese)}.tabs-inner{display:flex;gap:6px;padding:14px 16px;max-width:1080px;margin:0 auto;overflow-x:auto}nav.tabs a,nav.tabs button{font-family:Fredoka,sans-serif;font-weight:600;font-size:14px;white-space:nowrap;border:none;background:transparent;color:#fffbf399;padding:9px 16px;border-radius:999px;cursor:pointer;transition:all .15s ease;text-decoration:none;display:inline-block}nav.tabs a:hover,nav.tabs button:hover{color:var(--cream)}nav.tabs a.active,nav.tabs button.active{background:var(--tomato);color:#fff;box-shadow:0 2px #00000040 inset}main{padding:26px 20px 10px}h2.section-title{font-family:Fredoka,sans-serif;font-size:22px;margin:0 0 4px;display:flex;align-items:center;gap:8px}p.section-sub{color:var(--ink-soft);font-size:13.5px;margin:0 0 22px}.tally-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:30px}.tally-card{background:var(--crust);color:var(--cream);border-radius:16px;padding:18px 18px 16px;position:relative;border:2px solid var(--crust-2);overflow:hidden}.tally-card.leader{border-color:var(--cheese);box-shadow:0 0 0 3px #f0a93e40}.tally-card .crown{position:absolute;top:10px;right:12px;font-size:20px}.tally-card .unit-name{font-family:Fredoka,sans-serif;font-weight:600;font-size:17px;margin-bottom:2px}.tally-card .unit-count{font-family:Space Mono,monospace;font-size:34px;font-weight:700;color:var(--cheese);line-height:1;margin:8px 0 6px}.tally-card .unit-count small{font-size:13px;font-weight:400;color:var(--ink-soft)}.boxes{display:flex;flex-wrap:wrap;gap:4px;min-height:20px}.boxes span{font-size:16px}.events-grid{display:grid;gap:16px}.event-card{background:var(--cream);border:1px solid var(--line);border-radius:16px;padding:18px 20px;display:grid;grid-template-columns:96px 1fr auto;gap:18px;align-items:center}@media (max-width:640px){.event-card{grid-template-columns:1fr;text-align:center}}.pizza-ring{width:96px;height:96px;border-radius:50%;position:relative;margin:0 auto;background:conic-gradient(var(--tomato) calc(var(--pct)*1%),rgba(43,27,20,.08) 0);display:flex;align-items:center;justify-content:center}.pizza-ring:before{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;border-radius:50%;background:var(--paper)}.pizza-ring .pct-label{position:relative;font-family:Space Mono,monospace;font-weight:700;font-size:16px}.event-info .ev-name{font-family:Fredoka,sans-serif;font-weight:600;font-size:17px;margin-bottom:3px}.event-info .ev-meta{font-size:12.5px;color:var(--ink-soft);margin-bottom:8px}.unit-breakdown{display:flex;flex-wrap:wrap;gap:8px}.ub-chip{font-size:12px;font-family:Space Mono,monospace;background:#fff;border:1px solid var(--line);padding:3px 9px;border-radius:999px;display:flex;align-items:center;gap:5px}.ub-chip.leading{border-color:var(--cheese);background:var(--cheese-light)}.event-status{text-align:right;min-width:130px}.badge{display:inline-block;font-family:Fredoka,sans-serif;font-weight:600;font-size:12.5px;padding:5px 11px;border-radius:999px}.badge.open{background:#4f7a461f;color:var(--basil)}.badge.confirmed{background:var(--tomato);color:#fff}.winner-tag{font-size:12px;color:var(--ink-soft);margin-top:6px}.empty-state{text-align:center;padding:50px 20px;color:var(--ink-soft);background:var(--cream);border-radius:16px;border:1px dashed var(--line)}.form-section{max-width:680px;margin:0 auto}.card{background:var(--cream);border:1px solid var(--line);border-radius:16px;padding:24px;max-width:560px;box-shadow:0 4px 16px #2b1b1412}label{display:block;font-family:Fredoka,sans-serif;font-weight:600;font-size:13.5px;margin:16px 0 6px}label:first-child{margin-top:0}select,input[type=text],input[type=password]{width:100%;padding:11px 12px;border-radius:10px;border:1.5px solid var(--line);font-family:Inter,sans-serif;font-size:14px;background:#fff;color:var(--ink)}select:focus,input:focus{outline:none;border-color:var(--tomato)}.file-drop{border:2px dashed var(--line);border-radius:12px;padding:16px;text-align:center;cursor:pointer;background:#fff;transition:.15s}.file-drop:hover{border-color:var(--cheese)}.file-drop.has-file{border-color:var(--basil);background:#4f7a460f}.file-drop input{display:none}.file-drop .fd-label{font-size:12.5px;color:var(--ink-soft)}.file-drop img{max-width:100%;max-height:120px;border-radius:8px;margin-top:8px}.btn{font-family:Fredoka,sans-serif;font-weight:600;font-size:14.5px;background:var(--tomato);color:#fff;border:none;border-radius:999px;padding:12px 24px;cursor:pointer;transition:.15s}.btn:hover{background:var(--tomato-dark)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:transparent;border:1.5px solid var(--line);color:var(--ink)}.btn.small{padding:7px 14px;font-size:13px}.btn-row{display:flex;gap:10px;margin-top:20px}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--crust);color:var(--cream);padding:12px 20px;border-radius:12px;font-family:Fredoka,sans-serif;font-size:14px;box-shadow:0 6px 20px #00000040;z-index:100;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}.toast.show{opacity:1;transform:translate(-50%) translateY(-6px)}.error-text{color:var(--tomato-dark);font-size:13px;margin-top:8px}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--crust);padding:20px}.login-card{background:var(--paper);border-radius:20px;padding:32px;max-width:380px;width:100%;box-shadow:0 20px 50px #00000059;text-align:center}.login-card h1{font-family:Fredoka,sans-serif;font-size:24px;margin:6px 0 2px;color:var(--crust)}.login-card p.sub{color:var(--ink-soft);font-size:13px;margin:0 0 20px}.login-card label{text-align:left}.login-card .btn{width:100%;margin-top:18px}.mini-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini-form .full{grid-column:1/-1}.ev-list-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border:1px solid var(--line);border-radius:12px;margin-bottom:8px;background:#fff}.sub-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:12px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start}.sub-card .who{font-family:Fredoka,sans-serif;font-weight:600;font-size:15px}.sub-card .meta{font-size:12.5px;color:var(--ink-soft);margin:2px 0 10px}.thumbs{display:flex;gap:8px}.thumbs button{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:6px 10px;font-size:12px;cursor:pointer;font-family:Inter,sans-serif}.decision{display:flex;flex-direction:column;gap:8px}.status-pill{font-size:11px;font-family:Space Mono,monospace;padding:3px 9px;border-radius:999px;align-self:flex-start}.status-pill.PENDING{background:#f0a93e33;color:#8a5a10}.status-pill.APPROVED{background:#4f7a462e;color:var(--basil)}.status-pill.REJECTED{background:#d628281f;color:var(--tomato-dark)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#140c08d9;display:none;align-items:center;justify-content:center;z-index:200;padding:20px}.lightbox.show{display:flex}.lightbox img{max-width:92vw;max-height:88vh;border-radius:10px}.lightbox .close{position:absolute;top:18px;right:22px;color:#fff;font-size:28px;cursor:pointer;font-family:Inter,sans-serif;background:none;border:none}.loading{text-align:center;padding:30px;color:var(--ink-soft);font-family:Space Mono,monospace;font-size:13px}.user-list-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border:1px solid var(--line);border-radius:12px;margin-bottom:8px;background:#fff}.role-tag{font-family:Space Mono,monospace;font-size:11px;padding:3px 9px;border-radius:999px;background:var(--cheese-light);margin-left:8px}.success-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2b1b148c;display:flex;align-items:center;justify-content:center;z-index:300;opacity:0;pointer-events:none;transition:opacity .25s ease}.success-overlay.show{opacity:1;pointer-events:auto}.success-card{position:relative;background:var(--paper);border-radius:22px;padding:38px 46px;text-align:center;min-width:220px;max-width:88vw;transform:scale(.6) translateY(10px);opacity:0;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s ease;box-shadow:0 20px 50px #00000059}.success-overlay.show .success-card{transform:scale(1) translateY(0);opacity:1}.success-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible}.success-particle{position:absolute;top:50%;left:50%;font-size:22px;opacity:0;transform:translate(-50%,-50%)}.success-overlay.show .success-particle{animation:successParticle .9s ease-out forwards}@keyframes successParticle{0%{opacity:1;transform:translate(-50%,-50%) scale(.4)}70%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) rotate(var(--rot)) scale(1)}}.success-icon-wrap{position:relative;width:78px;height:78px;margin:0 auto 14px}.success-check{width:78px;height:78px;display:block}.success-icon-emoji{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:32px;opacity:0;transform:scale(0) rotate(-15deg)}.success-overlay.show .success-icon-emoji{animation:successIconPop .4s cubic-bezier(.34,1.56,.64,1) .15s forwards}@keyframes successIconPop{to{opacity:1;transform:scale(1) rotate(0)}}.success-check-circle{fill:none;stroke-width:3.5;stroke:var(--basil);stroke-dasharray:145;stroke-dashoffset:145;transition:stroke-dashoffset .5s ease .1s}.success-check-mark{fill:none;stroke-width:4;stroke:var(--basil);stroke-linecap:round;stroke-linejoin:round}.success-check-mark.checkmark{stroke-dasharray:36;stroke-dashoffset:36;transition:stroke-dashoffset .35s ease .45s}.success-check-mark.cross{stroke-dasharray:52;stroke-dashoffset:52;transition:stroke-dashoffset .35s ease .45s}.success-card.danger .success-check-circle,.success-card.danger .success-check-mark{stroke:var(--tomato)}.success-card.remove .success-check-circle{stroke:var(--ink-soft)}.success-overlay.show .success-check-circle,.success-overlay.show .success-check-mark{stroke-dashoffset:0}.success-message{font-family:Fredoka,sans-serif;font-weight:600;font-size:16.5px;color:var(--ink);margin:0;position:relative;z-index:1}.list-item-removing{animation:listItemRemove .32s ease forwards;pointer-events:none}@keyframes listItemRemove{to{opacity:0;transform:translate(28px) scale(.94)}}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2b1b148c;display:flex;align-items:center;justify-content:center;z-index:310;opacity:0;pointer-events:none;transition:opacity .2s ease;padding:20px}.confirm-overlay.show{opacity:1;pointer-events:auto}.confirm-card{background:var(--paper);border-radius:18px;padding:26px 28px;max-width:360px;width:100%;text-align:center;transform:scale(.85) translateY(8px);opacity:0;transition:transform .25s cubic-bezier(.34,1.56,.64,1),opacity .2s ease;box-shadow:0 20px 50px #00000059}.confirm-overlay.show .confirm-card{transform:scale(1) translateY(0);opacity:1}.confirm-message{font-family:Fredoka,sans-serif;font-weight:600;font-size:15.5px;color:var(--ink);margin:0 0 20px}.confirm-actions{display:flex;gap:10px;justify-content:center}.confirm-actions .btn{flex:1}@media (max-width:600px){.hero{padding:26px 16px 20px}main{padding:18px 14px 10px}.card{padding:18px}.mini-form{grid-template-columns:1fr}.btn-row{flex-wrap:wrap}.ev-list-item,.user-list-item{flex-wrap:wrap;gap:10px}.sub-card{grid-template-columns:1fr}.decision{flex-direction:row;flex-wrap:wrap}.decision .btn{flex:1}.event-status{text-align:left;min-width:0}.success-card{padding:30px 26px}}@media (max-width:420px){.hero h1{font-size:26px}nav.tabs .tabs-inner{gap:4px;padding:12px 10px}nav.tabs button,nav.tabs a{padding:8px 12px;font-size:13px}}
