:root{--navy:#101c3c;--blue:#2563eb;--blue2:#dbeafe;--green:#16815b;--mint:#dff7ec;--amber:#b85d0a;--amber2:#fff1d6;--ink:#182230;--muted:#667085;--line:#e4e7ec;--bg:#f3f6fb}*{box-sizing:border-box}body{background:radial-gradient(circle at 20% 0,#e9f0ff,transparent 34%),var(--bg);color:var(--ink);margin:0;font-family:Arial,sans-serif}.app-shell{width:min(1080px,100%);margin:auto;padding:28px 18px 70px}.masthead{align-items:center;gap:14px;display:flex}.brand-mark{background:var(--navy);color:#fff;border-radius:16px;place-items:center;width:54px;height:54px;font-weight:900;display:grid}.kicker,.section-label{color:var(--blue);letter-spacing:.13em;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:900}h1{letter-spacing:-.03em;margin:0;font-size:clamp(20px,4vw,30px)}.live-pill{background:var(--mint);color:var(--green);border-radius:999px;align-items:center;gap:7px;margin-left:auto;padding:7px 10px;font-size:12px;font-weight:800;display:flex}.live-pill i{background:var(--green);border-radius:50%;width:7px;height:7px}.event-row{justify-content:flex-end;margin:12px 0;display:flex}.event-row label{color:var(--muted);font-size:11px;font-weight:800}select{border:1px solid var(--line);min-width:240px;color:var(--ink);background:#fff;border-radius:10px;margin-top:4px;padding:9px 12px;display:block}.tabs{background:#e7ebf2;border-radius:14px;gap:6px;margin:14px 0;padding:5px;display:flex;overflow-x:auto}.tabs button{white-space:nowrap;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1;padding:12px 16px;font-weight:800}.tabs button.active{color:var(--navy);background:#fff;box-shadow:0 3px 12px #10182812}.tabs b{background:var(--mint);color:var(--green);border-radius:999px;margin-left:5px;padding:2px 6px;font-size:10px}.notice{color:#174ea6;text-align:left;background:#eff6ff;border:1px solid #bcd4ff;border-radius:12px;justify-content:space-between;width:100%;margin-bottom:12px;padding:11px 13px;font-weight:700;display:flex}.metrics{grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0;display:grid}.metric{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;padding:17px;display:flex;box-shadow:0 5px 18px #1018280a}.metric strong{font-size:28px}.metric span{color:var(--muted);margin-top:6px;font-size:12px;font-weight:700}.metric.lucky{background:linear-gradient(145deg,#ecfdf5,#fff);border-color:#9be0c5}.metric.lucky strong{color:var(--green)}.toolbar,.lucky-head{justify-content:space-between;align-items:end;gap:20px;margin:28px 2px 13px;display:flex}h2{letter-spacing:-.04em;margin:0;font-size:clamp(25px,5vw,38px)}.muted{color:var(--muted);line-height:1.55}.toolbar input{border:1px solid #cbd2dc;border-radius:13px;outline:0;width:min(430px,50%);min-height:50px;padding:0 15px;font-size:15px}.toolbar input:focus,input:focus{border-color:var(--blue);box-shadow:0 0 0 4px #2563eb1c}.people{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.person{border:1px solid var(--line);background:#fff;border-radius:18px;padding:18px;box-shadow:0 5px 18px #1018280a}.person.eligible{border-color:#95d9bd}.person-top{justify-content:space-between;gap:10px;display:flex}.person h3,.draw-list h3{margin:0;font-size:18px}.person p,.draw-list p{color:var(--muted);margin:4px 0 0;font-size:13px}.contact{overflow-wrap:anywhere}.walkin{color:#475467;background:#f2f4f7;border-radius:999px;height:max-content;padding:5px 8px;font-size:10px;font-weight:850}.badges{flex-wrap:wrap;gap:6px;margin:13px 0;display:flex}.badges span{color:#667085;background:#f2f4f7;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}.badges .on{background:var(--blue2);color:#174ea6}.badges .stamp.on{background:var(--amber2);color:var(--amber)}.badges .draw{background:var(--mint);color:var(--green)}.actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.actions button,.form-card button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:11px;min-height:44px;font-weight:850}.actions .stamp-btn{background:var(--amber)}.actions .undo{color:#475467;border:1px solid var(--line);background:#f2f4f7}button:disabled{opacity:.55;cursor:wait}.form-card{border:1px solid var(--line);background:#fff;border-radius:22px;width:min(680px,100%);margin:28px auto;padding:clamp(22px,5vw,38px);box-shadow:0 12px 40px #1018280d}.form-card form{gap:15px;margin-top:25px;display:grid}.form-card label{font-size:13px;font-weight:800}.form-card input{border:1px solid #cbd2dc;border-radius:11px;outline:0;width:100%;min-height:48px;margin-top:7px;padding:0 13px;display:block}.form-card button{margin-top:5px}.lucky-head strong{background:var(--mint);color:var(--green);border-radius:999px;padding:10px 14px}.draw-list{gap:8px;display:grid}.draw-list article{border:1px solid var(--line);background:#fff;border-radius:15px;grid-template-columns:42px 1fr auto;align-items:center;gap:13px;padding:15px 18px;display:grid}.draw-list article>span{color:#98a2b3;font-weight:900}.draw-list article>b{background:var(--mint);color:var(--green);border-radius:999px;padding:7px 10px;font-size:11px}.empty-state{min-height:180px;color:var(--muted);text-align:center;background:#fffa;border:1px dashed #cbd2dc;border-radius:17px;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.empty-state strong{color:var(--ink)}@media (max-width:720px){.metrics{grid-template-columns:repeat(2,1fr)}.people{grid-template-columns:1fr}.toolbar,.lucky-head{flex-direction:column;align-items:stretch}.toolbar input{width:100%}.tabs button{flex:none}.event-row{justify-content:stretch}.event-row label,select{width:100%}.live-pill{display:none}}@media (max-width:440px){.app-shell{padding-top:18px}.actions{grid-template-columns:1fr}.draw-list article{grid-template-columns:32px 1fr}.draw-list article>b{display:none}}.px-wordmark{letter-spacing:-.04em;align-items:baseline;gap:2px;font-size:18px;display:flex}.px-wordmark b{color:var(--navy)}.px-wordmark span{color:#f05a28;font-weight:900}.event-hero{border:1px solid var(--line);background:#fff;border-radius:20px;grid-template-columns:170px 1fr;gap:22px;margin:24px 0 14px;padding:20px;display:grid}.event-hero>img,.logo-placeholder{object-fit:contain;background:#f8fafc;border-radius:12px;width:150px;height:96px;padding:10px}.logo-placeholder{color:#98a2b3;text-align:center;place-items:center;font-size:11px;font-weight:900;display:grid}.event-copy label{color:var(--muted);font-size:11px;font-weight:850}.event-facts{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.event-facts span{color:#475467;background:#f2f4f7;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:750}.login-card,.qr-card{border:1px solid var(--line);background:#fff;border-radius:22px;width:min(600px,100%);margin:28px auto;padding:32px;box-shadow:0 12px 40px #1018280d}.login-card form{gap:9px;margin-top:22px;display:flex}.login-card input{border:1px solid #cbd2dc;border-radius:11px;flex:1;min-height:48px;padding:0 13px}.login-card button,.public-form button{background:var(--blue);color:#fff;border:0;border-radius:11px;padding:0 20px;font-weight:850}.qr-card{text-align:center}.qr-card img{border-radius:14px;width:min(300px,100%);margin:22px auto;display:block}.qr-card a{color:var(--blue);font-weight:800}.public-shell{border:1px solid var(--line);background:#fff;border-radius:24px;width:min(650px,100% - 28px);margin:32px auto;padding:clamp(22px,5vw,42px);box-shadow:0 18px 60px #10182814}.public-brand{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.public-brand img{object-fit:contain;width:130px;height:60px}.public-form{gap:15px;margin-top:25px;display:grid}.public-form label{font-size:13px;font-weight:800}.public-form input,.public-form select{border:1px solid #cbd2dc;border-radius:11px;width:100%;min-height:48px;margin-top:7px;padding:0 13px;display:block}.public-form button{min-height:50px;margin-top:5px}.success-note{background:var(--mint);color:var(--green);border:1px solid #9be0c5;border-radius:12px;margin:18px 0;padding:13px;font-weight:800}.privacy{text-align:center;color:var(--muted);margin-top:18px;font-size:11px}@media (max-width:620px){.event-hero{grid-template-columns:1fr}.event-hero>img,.logo-placeholder{width:100%;height:90px}.login-card form{flex-direction:column}.login-card button{min-height:48px}}.back-link{color:#344054;align-items:center;gap:8px;min-height:44px;margin:-10px 0 18px;font-size:14px;font-weight:800;text-decoration:none;display:inline-flex}.back-link span{background:#f2f4f7;border-radius:50%;place-items:center;width:28px;height:28px;font-size:18px;display:grid}.back-link:hover{color:var(--blue)}.back-link:focus-visible,.primary-link:focus-visible,.success-actions button:focus-visible{outline-offset:3px;outline:3px solid #93c5fd}.public-brand{border-bottom:1px solid var(--line);padding-bottom:20px}.public-form{gap:17px}.public-form label>span{color:#c2410c}.public-form input,.public-form select{border-color:#b8c0cc;min-height:50px;font-size:16px}.public-form button{min-height:52px;margin-top:7px;font-size:15px}.error-note{color:#a12b1f;background:#fff1f0;border:1px solid #f3b5ae;border-radius:12px;margin:18px 0;padding:13px;font-weight:750;line-height:1.45}.registration-success{text-align:center;padding:22px 0 8px}.success-icon{background:var(--mint);width:72px;height:72px;color:var(--green);border-radius:50%;place-items:center;margin:0 auto 20px;font-size:36px;font-weight:900;display:grid}.registration-success h1{font-size:clamp(30px,7vw,44px)}.registration-success p{color:#475467;max-width:48ch;margin:14px auto 0;line-height:1.6}.registration-success strong{color:var(--ink)}.success-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:30px;display:grid}.primary-link,.success-actions button{border-radius:11px;place-items:center;min-height:50px;font-size:14px;font-weight:850;text-decoration:none;display:grid}.primary-link{background:var(--blue);color:#fff}.success-actions button{color:#344054;cursor:pointer;background:#fff;border:1px solid #cbd2dc}@media (max-width:620px){.public-shell{width:100%;min-height:100vh;box-shadow:none;border:0;border-radius:0;margin:0;padding:20px 18px 32px}.public-brand{margin-bottom:24px}.public-brand img{width:108px;height:50px}.success-actions{grid-template-columns:1fr}.registration-success{padding-top:14px}}.public-event-logo{border-bottom:1px solid var(--line);place-items:center;min-height:110px;margin-bottom:28px;padding:18px 12px 24px;display:grid}.public-event-logo img{object-fit:contain;width:min(220px,70%);height:76px;display:block}@media (max-width:620px){.public-event-logo{min-height:96px;margin-bottom:24px;padding-top:8px}.public-event-logo img{height:66px}}.site-logo{object-fit:contain;object-position:left center;width:128px;height:54px;display:block}@media (max-width:520px){.site-logo{width:104px;height:46px}.masthead{align-items:flex-start}}.login-card button,.public-form button,.primary-link,.actions button,.save-theme,.theme-preview button{color:var(--primary-text,#fff)}.actions .stamp-btn,.theme-preview .accent-preview{color:var(--accent-text,#fff)}.settings-card{border:1px solid var(--line);background:#fff;border-radius:22px;width:min(720px,100%);margin:28px auto;padding:clamp(24px,5vw,36px);box-shadow:0 12px 40px #1018280d}.settings-card h2{font-size:clamp(26px,5vw,36px)}.color-grid{grid-template-columns:1fr 1fr;gap:14px;margin:26px 0;display:grid}.color-grid>label{font-size:13px;font-weight:850}.color-grid>label>div{grid-template-columns:52px 1fr;gap:8px;margin-top:9px;display:grid}.color-grid input[type=color]{cursor:pointer;background:#fff;border:1px solid #cbd2dc;border-radius:11px;width:52px;height:48px;padding:4px}.color-grid input:not([type=color]){text-transform:uppercase;border:1px solid #cbd2dc;border-radius:11px;width:100%;min-width:0;height:48px;padding:0 12px;font-family:monospace;font-size:15px}.theme-preview{border:1px solid var(--line);background:#f8fafc;border-radius:15px;gap:10px;padding:18px;display:flex}.theme-preview button,.save-theme{background:var(--blue);border:0;border-radius:11px;min-height:46px;padding:0 18px;font-weight:850}.theme-preview .accent-preview{background:var(--amber)}.save-theme{cursor:pointer;width:100%;margin-top:18px;display:block}@media (max-width:620px){.color-grid{grid-template-columns:1fr}.theme-preview{flex-direction:column}.settings-card{margin-top:18px;padding:22px 18px}}
