:root{--violet:#6847dc;--violet-dark:#4b2ab4;--turquoise:#18bba6;--yellow:#ffc94a;--ink:#241c3d;--muted:#746d86;--surface:#fff;--bg:#f7f4ff;--line:#e8e3f1;--danger:#df4961;--shadow:0 18px 50px rgba(63,44,116,.1);font-family:Inter,Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--bg);line-height:1.5;overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}.ambient{position:fixed;border-radius:50%;filter:blur(4px);opacity:.15;pointer-events:none;z-index:-1}.a1{width:420px;height:420px;background:#9d86ff;top:-180px;right:-120px}.a2{width:310px;height:310px;background:#41dbc9;bottom:-120px;left:-130px}.skip-link{position:fixed;left:1rem;top:-4rem;background:#fff;padding:.7rem 1rem;z-index:99;border-radius:8px}.skip-link:focus{top:1rem}.shell{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:52px 0 80px}.admin-shell{padding-top:42px}.topbar{height:74px;background:rgba(255,255,255,.86);backdrop-filter:blur(16px);border-bottom:1px solid rgba(100,70,170,.1);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1180px)/2));position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:11px;font-weight:850;font-size:1.07rem}.brand-mark{width:38px;height:38px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--violet),#8e63f0);border-radius:12px;box-shadow:0 8px 18px rgba(104,71,220,.28)}.topbar nav{display:flex;align-items:center;gap:28px;color:#625a78;font-weight:650}.topbar nav a:hover{color:var(--violet)}.topbar form{display:inline}.link-btn{border:0;background:none;cursor:pointer;color:inherit;font-weight:inherit;padding:0}.card{background:var(--surface);border:1px solid rgba(93,64,158,.08);border-radius:22px;box-shadow:var(--shadow)}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:34px}.page-head h1{margin:7px 0 4px;font-size:clamp(2rem,4vw,3.15rem);line-height:1.05;letter-spacing:-.04em}.page-head p{margin:0;color:var(--muted);font-size:1.04rem}.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:var(--violet);font-size:.72rem;font-weight:850}.wave{display:inline-block;animation:wave 2.4s ease-in-out infinite;transform-origin:70% 75%}.btn{border:0;border-radius:13px;padding:.8rem 1.15rem;background:linear-gradient(135deg,var(--violet),#8159e7);box-shadow:0 9px 24px rgba(104,71,220,.24);color:#fff;font-weight:750;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:.18s transform,.18s box-shadow}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(104,71,220,.32)}.btn:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(24,187,166,.42);outline-offset:3px}.btn[disabled],button[disabled]{opacity:.45;cursor:not-allowed;transform:none}.btn.ghost{background:#fff;color:var(--violet);box-shadow:none;border:1px solid #ddd5ef}.btn.danger{color:var(--danger);border-color:#f0cbd2}.btn.small{padding:.65rem .9rem;font-size:.9rem}.btn-lg{padding:1rem 1.3rem;width:100%;justify-content:space-between}.active-banner{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:18px;padding:19px 22px;margin-bottom:40px;border-radius:19px;background:linear-gradient(115deg,#4e2cc1,#7150db);color:#fff;box-shadow:0 16px 32px rgba(75,42,180,.25)}.active-banner small,.recent-item small,.side-session small{display:block;opacity:.75;margin-top:2px}.pulse-dot,.live-pill i,.status-chip i{width:11px;height:11px;border-radius:50%;background:#5ef2c6;box-shadow:0 0 0 7px rgba(94,242,198,.14);animation:pulse 1.5s infinite}.mini-timer{font-variant-numeric:tabular-nums;font-weight:850;font-size:1.2rem}.circle-arrow{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.16)}.section-title{display:flex;align-items:flex-end;justify-content:space-between;margin:28px 0 17px;gap:20px}.section-title h2{font-size:1.45rem;margin:0}.section-title p{color:var(--muted);margin:1px 0 0;font-size:.9rem}.section-title>a,.text-link{color:var(--violet);font-weight:750}.group-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.group-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 10px 34px rgba(62,40,113,.08);border:1px solid var(--line);position:relative}.group-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--accent,#7454df)}.accent-1{--accent:#19bca7}.accent-2{--accent:#f5b92d}.accent-3{--accent:#ed6e84}.group-main{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:22px}.group-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent,#7454df) 12%,white);color:var(--accent,#7454df);font-weight:850;text-transform:uppercase}.group-card h3{margin:0;font-size:1.2rem}.group-card p{margin:3px 0 0;color:var(--muted);font-size:.88rem}.group-card .circle-arrow{background:#f3f0fa;color:var(--violet)}.group-actions{display:flex;border-top:1px solid var(--line)}.group-actions>*{flex:1;text-align:center;padding:11px;border:0;background:none;font-weight:700;color:#746b86;cursor:pointer}.group-actions>*+*{border-left:1px solid var(--line);color:var(--violet)}.recent{margin-top:36px}.recent-list{background:#fff;border-radius:20px;border:1px solid var(--line);overflow:hidden}.recent-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px 20px}.recent-item+.recent-item{border-top:1px solid var(--line)}.date-tile{width:47px;height:47px;border-radius:13px;background:#f2edff;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--violet);line-height:1}.date-tile small{font-size:.67rem;text-transform:uppercase}.score{font-weight:850;background:#edfbf8;color:#138a7a;border-radius:20px;padding:5px 10px}.empty{text-align:center;padding:56px 24px}.empty p{color:var(--muted);margin-top:0}.empty-icon{width:62px;height:62px;margin:0 auto 13px;border-radius:20px;display:grid;place-items:center;font-size:1.8rem;background:#f1ecff;color:var(--violet)}.empty-row{padding:25px;text-align:center;color:var(--muted)}dialog{border:0;border-radius:24px;padding:0;box-shadow:0 30px 90px rgba(37,20,75,.28);width:min(500px,calc(100% - 32px));color:var(--ink)}dialog::backdrop{background:rgba(30,21,52,.48);backdrop-filter:blur(5px)}dialog>form,dialog>div{padding:32px}dialog h2{font-size:1.65rem;margin:7px 0 8px}dialog p{color:var(--muted)}.dialog-x{position:absolute;right:20px;top:16px;border:0;background:#f2eff7;width:35px;height:35px;border-radius:50%;font-size:1.4rem;cursor:pointer}label{font-weight:700;display:block}input,select,textarea{width:100%;border:1px solid #ddd7e7;border-radius:12px;background:#fff;padding:.76rem .85rem;margin-top:6px;transition:.2s border}.stack{display:grid;gap:17px}.optional{font-size:.76rem;color:var(--muted);font-weight:500}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.dialog-actions.spread{justify-content:space-between;align-items:center}.danger-text{border:0;background:none;color:var(--danger);font-weight:750;cursor:pointer}.toast{position:fixed;right:24px;top:90px;z-index:100;background:#fff;padding:14px 20px;border-radius:13px;box-shadow:0 15px 40px rgba(30,20,60,.2);border-left:5px solid var(--turquoise);animation:toast .3s both}.toast.error{border-color:var(--danger)}.back-link{display:inline-block;color:var(--muted);font-weight:700;margin-bottom:22px}.split-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}.link-card{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:24px;align-items:center}.qr img{width:150px;height:150px;display:block;border-radius:12px}.link-card h2{margin:5px 0}.link-card p{color:var(--muted);font-size:.9rem;margin-bottom:0}.copy-row{display:flex;gap:8px}.copy-row input{margin:0;background:#f8f6fb}.icon-btn{border:0;background:#f2eff8;border-radius:10px;min-width:40px;cursor:pointer}.count-pill{font-size:.8rem;background:#eee9fb;color:var(--violet);border-radius:20px;padding:4px 8px;vertical-align:middle}.student-tools{margin-bottom:12px}.search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #ddd7e7;border-radius:13px;padding:0 .8rem;color:#8d849f}.search input{border:0;margin:0;padding:.72rem .2rem;outline:0}.student-list{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.student-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:14px 17px}.student-row+.student-row{border-top:1px solid var(--line)}.avatar{width:42px;height:42px;border-radius:13px;background:#ede8fb;color:var(--violet);display:grid;place-items:center;font-weight:850;text-transform:uppercase;flex:0 0 auto}.student-row small{display:block;font-size:.77rem;color:var(--turquoise)}.student-row.archived{opacity:.55}.student-row.archived small{color:var(--muted)}.side-card{padding:22px;position:sticky;top:100px}.side-session{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line)}.side-session small{font-size:.75rem}.side-card>.text-link{display:block;margin-top:18px}.name-grid{display:grid;gap:13px}.login-wrap{min-height:calc(100vh - 105px);display:grid;grid-template-columns:1fr 440px;align-items:center;gap:8vw}.login-card{padding:40px}.login-card h1{font-size:2.4rem;margin:9px 0}.login-card>.muted{color:var(--muted);margin:0 0 28px}.demo-note{text-align:center;font-size:.8rem;background:#f5f2fb;padding:8px;border-radius:9px}.login-art{height:480px;display:grid;place-items:center;position:relative}.hero-orb{width:260px;height:260px;border-radius:50%;background:linear-gradient(145deg,#7451de,#4b2aad);box-shadow:0 35px 80px rgba(83,47,175,.3);display:grid;place-items:center;color:#fff;position:relative}.hero-orb span{font-size:7rem;font-weight:900}.hero-orb i{position:absolute;right:20px;top:23px;font-size:2rem}.mini-card{position:absolute;background:#fff;border-radius:17px;box-shadow:var(--shadow);padding:14px 20px;font-size:1.5rem;font-weight:850;color:var(--turquoise);transform:rotate(-5deg)}.mini-card span{display:block;font-size:.75rem;color:var(--muted)}.mini-card.one{left:5%;top:18%}.mini-card.two{right:0;bottom:20%;color:var(--violet);transform:rotate(5deg)}
/* public */.public-page .shell{padding-top:22px;width:min(1080px,calc(100% - 32px))}.public-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:48px}.privacy{font-size:.8rem;color:var(--muted);background:rgba(255,255,255,.75);padding:7px 11px;border-radius:20px}.public-hero{text-align:center;padding:5vh 0}.public-hero.compact{padding:1vh 0 25px}.public-hero h1{font-size:clamp(2.35rem,7vw,4.5rem);letter-spacing:-.055em;line-height:1.02;margin:12px 0}.public-hero p{font-size:1.1rem;color:var(--muted);max-width:610px;margin:0 auto 25px}.spark{color:var(--yellow);font-size:2rem}.closed-orbit{width:130px;height:130px;background:#fff;border-radius:50%;display:grid;place-items:center;margin:0 auto 25px;box-shadow:var(--shadow);font-size:2.8rem;position:relative}.closed-orbit i{position:absolute;color:var(--yellow);font-style:normal}.closed-orbit i:first-of-type{right:-15px;top:4px}.closed-orbit i:last-of-type{left:-22px;bottom:10px;color:var(--turquoise);font-size:1rem}.public-empty{max-width:600px;margin:20px auto}.public-groups{display:grid;gap:12px;max-width:720px;margin:auto}.public-group{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:15px;padding:16px 19px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 24px rgba(60,42,100,.07)}.public-group small{display:block;color:var(--muted)}.checkin-layout{display:grid;grid-template-columns:380px minmax(0,1fr);gap:45px;align-items:start}.checkin-intro{padding-top:35px;position:sticky;top:30px}.checkin-intro h1{font-size:3rem;line-height:1.05;letter-spacing:-.045em;margin:10px 0}.checkin-intro>p{color:var(--muted);font-size:1.08rem}.public-timer{background:linear-gradient(130deg,var(--violet-dark),var(--violet));color:#fff;border-radius:22px;padding:20px 22px;margin:30px 0}.public-timer small{display:block;opacity:.78}.public-timer strong{font-size:3.3rem;line-height:1;font-variant-numeric:tabular-nums}.progress{height:7px;border-radius:10px;background:rgba(255,255,255,.2);overflow:hidden}.progress i{display:block;height:100%;background:var(--turquoise);border-radius:inherit;transition:.4s width}.public-timer .progress{margin-top:15px}.public-timer .progress i{width:100%;background:var(--yellow)}.step-hint{display:grid;grid-template-columns:auto 1fr;gap:9px 11px;align-items:center;font-size:.87rem;color:var(--muted)}.step-hint b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#eee9fb;color:var(--violet)}.step-hint i{width:1px;height:11px;background:#d9d2e5;margin:auto}.checkin-card{padding:24px;max-height:calc(100vh - 115px);display:flex;flex-direction:column}.checkin-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.checkin-card h2{margin:0}.checkin-card p{margin:0;color:var(--muted)}.live-pill{background:#e7faf5;color:#148c79;padding:5px 10px;border-radius:20px;font-size:.75rem;font-weight:800;display:flex;align-items:center;gap:7px}.live-pill i{width:7px;height:7px;box-shadow:none}.search.big{padding:.2rem .9rem;margin-bottom:12px}.public-students{overflow:auto;border:1px solid var(--line);border-radius:15px}.student-pick{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;text-align:left;padding:12px 14px;border:0;background:#fff;cursor:pointer}.student-pick+.student-pick{border-top:1px solid var(--line)}.student-pick:hover{background:#f9f7ff}.student-pick i{font-style:normal;color:var(--violet);font-size:1.2rem}.confirm-dialog{text-align:center}.confirm-icon{font-size:3rem}.confirm-dialog strong{font-size:1.25rem;display:block;background:#f4f0fd;border-radius:13px;padding:13px;margin:16px 0}.success-card{text-align:center;padding:60px 25px}.success-burst{font-size:4.5rem;animation:pop .5s}.wish-card{font-size:1.25rem;font-weight:750;margin:25px auto;background:#f1edff;border-radius:17px;padding:20px;max-width:480px;color:var(--violet-dark)}
/* live */.live-body{background:#f8f6ff}.live-top{display:flex;justify-content:space-between;align-items:center}.status-chip{display:flex;align-items:center;gap:9px;background:#e6faf5;color:#118775;border-radius:30px;padding:7px 13px;font-weight:800;font-size:.8rem}.status-chip.closed{background:#eeeaf4;color:#756d83}.status-chip.closed i{background:#918a9c;box-shadow:none;animation:none}.live-hero{display:grid;grid-template-columns:1fr 260px 1fr;align-items:center;gap:45px;text-align:center;padding:15px 0 30px}.live-title{text-align:left}.live-title h1{font-size:2.3rem;line-height:1.08;margin:7px 0}.live-title p{color:var(--muted)}.timer-wrap{position:relative;width:240px;height:240px}.timer-ring{width:100%;transform:rotate(-90deg)}.timer-ring circle{fill:none;stroke-width:12}.ring-bg{stroke:#e8e2f3}.ring-value{stroke:var(--violet);stroke-linecap:round;stroke-dasharray:603;stroke-dashoffset:0;transition:.5s stroke-dashoffset,.3s stroke}.timer-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.timer-text span{font-size:3.4rem;font-weight:900;letter-spacing:-.06em;font-variant-numeric:tabular-nums}.timer-text small{color:var(--muted)}.timer-wrap.urgent .ring-value{stroke:#f49a2d}.timer-wrap.critical .ring-value{stroke:var(--danger)}.live-qr img{width:150px;height:150px;background:#fff;border-radius:14px;padding:5px;box-shadow:var(--shadow)}.live-qr b,.live-qr span{display:block}.live-qr span{color:var(--muted);font-size:.75rem}.live-results{display:grid;grid-template-columns:270px 1fr;gap:22px}.live-count{padding:26px;border-radius:21px;background:linear-gradient(150deg,#4e2db5,#7151d8);color:#fff;align-self:start}.live-count>span{opacity:.8}.live-count strong{display:block;font-size:3.3rem;line-height:1.2}.live-count strong i{font-style:normal;font-size:1rem;opacity:.65}.live-count .progress{margin-top:12px}.arrivals{background:#fff;border-radius:21px;border:1px solid var(--line);overflow:hidden;min-height:250px}.arrivals-head{display:flex;justify-content:space-between;align-items:center;padding:18px 21px;border-bottom:1px solid var(--line)}.arrivals-head h2{font-size:1.12rem;margin:0}.arrivals-head span{font-size:.8rem;color:var(--muted)}.arrival-list{max-height:350px;overflow:auto}.arrival{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:13px 20px;animation:arrival .45s both}.arrival+.arrival{border-top:1px solid var(--line)}.arrival .avatar{background:#e5f8f3;color:#13947f}.arrival small{display:block;color:var(--muted)}.arrival time{font-size:.78rem;color:var(--muted)}.waiting{text-align:center;padding:45px;color:var(--muted)}.waiting span,.waiting b,.waiting small{display:block}.waiting span{color:var(--yellow);font-size:2rem}.live-actions{display:flex;justify-content:center;gap:10px;margin-top:25px}
/* attendance */.filters{display:flex;align-items:end;gap:14px;padding:17px;margin-bottom:23px}.filters label:first-child{min-width:200px}.filters input,.filters select{padding:.62rem}.attendance-summary{display:flex;gap:13px;align-items:stretch;margin-bottom:13px}.metric{padding:15px 20px;min-width:140px}.metric span{display:block;color:var(--muted);font-size:.78rem}.metric b{font-size:1.8rem}.legend{margin-left:auto;display:flex;align-items:center;gap:13px;font-size:.76rem;color:var(--muted)}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font-style:normal}.present-dot{background:#e4f8f2;color:#118b78}.absent-dot{background:#fff1f3;color:var(--danger)}.na-dot{background:#eeeaf1}.table-wrap{overflow:auto;max-height:65vh}.attendance-table{border-collapse:separate;border-spacing:0;min-width:100%;font-size:.86rem}.attendance-table th,.attendance-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px;text-align:center;min-width:95px}.attendance-table thead th{position:sticky;top:0;background:#f7f4fc;z-index:4}.attendance-table .sticky-col{position:sticky;left:0;z-index:3;text-align:left;min-width:245px;background:#fff}.attendance-table thead .sticky-col{z-index:6;background:#f7f4fc}.attendance-table tbody .sticky-col{display:flex;align-items:center;gap:10px}.attendance-table thead small,.attendance-table thead b{display:block}.attendance-table thead small{color:var(--muted);font-weight:500}.attendance-table thead b{font-size:.75rem;margin-top:3px}.attendance-cell{width:37px;height:37px;border:0;border-radius:11px;font-size:1rem;font-weight:850;cursor:pointer}.cell-present{background:#f3fcf9}.cell-present .attendance-cell{background:#dff6ef;color:#108975}.cell-absent{background:#fff9fa}.cell-absent .attendance-cell{background:#fdecef;color:#cf4057}.cell-na{background:#f3f1f4;color:#b8b1bd}.attendance-cell sup{font-size:.55rem}.total-cell b,.total-cell small{display:block}.total-cell small{color:var(--muted)}.attendance-table tfoot th,.attendance-table tfoot td{background:#f7f4fc;font-weight:750}.state-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.state-switch input{position:absolute;opacity:0}.state-switch span{display:block;padding:12px;border:2px solid var(--line);border-radius:12px;text-align:center}.state-switch input:checked+span{border-color:var(--violet);background:#f2edff;color:var(--violet)}textarea{min-height:90px;resize:vertical}.audit-note{font-size:.8rem;background:#f7f4fb;padding:10px;border-radius:10px}
@keyframes wave{0%,60%,100%{transform:rotate(0)}70%{transform:rotate(18deg)}80%{transform:rotate(-10deg)}90%{transform:rotate(10deg)}}@keyframes pulse{50%{box-shadow:0 0 0 9px rgba(94,242,198,0)}}@keyframes toast{from{opacity:0;transform:translateY(-10px)}}@keyframes arrival{from{opacity:0;transform:translateY(-12px)}}@keyframes pop{from{transform:scale(.3);opacity:0}}
@media(max-width:900px){.group-grid{grid-template-columns:repeat(2,1fr)}.split-layout{grid-template-columns:1fr}.side-card{position:static}.login-wrap{grid-template-columns:1fr}.login-art{display:none}.checkin-layout{grid-template-columns:1fr;gap:20px}.checkin-intro{position:static;padding-top:0}.step-hint{display:none}.checkin-card{max-height:none}.live-hero{grid-template-columns:1fr 220px}.live-title{text-align:left}.live-qr{display:none}.live-results{grid-template-columns:1fr}.live-count{display:grid;grid-template-columns:1fr auto;align-items:center}.live-count .progress{grid-column:1/-1}.legend{display:none}}
@media(max-width:620px){.shell,.public-page .shell{width:min(100% - 24px,1180px);padding-bottom:45px}.topbar{height:65px;padding:0 14px}.topbar nav{gap:13px;font-size:.82rem}.topbar nav a:first-child{display:none}.brand>span:last-child{display:none}.page-head{align-items:flex-start;flex-direction:column}.page-head .btn{width:100%}.group-grid{grid-template-columns:1fr}.active-banner{grid-template-columns:auto 1fr auto}.active-banner .circle-arrow{display:none}.link-card{grid-template-columns:1fr;text-align:center}.qr{margin:auto}.copy-row{text-align:left}.split-layout{display:block}.public-head{margin-bottom:30px}.privacy{font-size:.68rem}.public-hero{padding:10vh 0}.checkin-intro h1{font-size:2.35rem}.checkin-intro>p{margin-top:0}.public-timer{margin:17px 0}.public-timer strong{font-size:2.7rem}.checkin-card{padding:15px;margin-inline:-3px}.student-pick{padding:13px 10px}.student-pick .avatar{width:38px;height:38px}.live-hero{grid-template-columns:1fr;text-align:center}.live-title{text-align:center}.timer-wrap{margin:auto;width:210px;height:210px}.live-results{display:block}.live-count{margin-bottom:14px}.arrival time{display:none}.filters{display:grid;grid-template-columns:1fr 1fr}.filters label:first-child{grid-column:1/-1}.attendance-summary .metric{flex:1;min-width:0}.table-wrap{border-radius:14px}.attendance-table .sticky-col{min-width:200px}.login-card{padding:28px 22px}.login-wrap{min-height:calc(100vh - 80px)}dialog>form,dialog>div{padding:27px 20px}.dialog-actions.spread{align-items:flex-start;gap:20px;flex-direction:column}.recent-item{padding:12px}.recent-item .score{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
.arrival-actions{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.arrival-remove{border:0;background:none;color:var(--danger);font-size:.72rem;font-weight:750;padding:0;cursor:pointer}.arrival-remove:hover{text-decoration:underline}
