:root{color-scheme:dark;--bg: #0e0e12;--surface: #17171e;--surface-soft: #1e1e26;--surface-elev: #24242e;--text: #f4f4f7;--text-strong: #fff;--muted: #8d8d98;--muted-strong: #b6b6c2;--border: #2a2a34;--border-strong: #3a3a46;--primary-rgb: 255, 61, 20;--primary: rgb(var(--primary-rgb));--primary-hover: #ff7a4d;--primary-soft: #331b14;--primary-glow: rgba(var(--primary-rgb), .5);--gradient-flame: linear-gradient(135deg, #ff3d14, #ffb347 85%);--secondary: #6a86ff;--secondary-soft: #1c2030;--accent: #ffb347;--accent-soft: rgba(255, 179, 71, .1);--success: #10b981;--success-soft: rgba(16, 185, 129, .12);--danger: #ef4444;--danger-soft: #351e25;--bg-grad: radial-gradient(ellipse 90% 60% at 50% -8%, rgba(var(--primary-rgb), .1), transparent 62%), radial-gradient(ellipse 70% 50% at 100% 0%, rgba(91, 124, 255, .06), transparent 60%), #0e0e12;--font-display: "Unbounded", "Manrope", sans-serif;--font-body: "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--radius-sm: 10px;--radius: 14px;--radius-lg: 18px;--radius-xl: 24px;--shadow-sm: 0 1px 2px rgba(0,0,0,.35);--shadow: 0 10px 30px rgba(0,0,0,.38), 0 2px 8px rgba(0,0,0,.28);--shadow-lg: 0 24px 60px rgba(0,0,0,.5), 0 6px 16px rgba(0,0,0,.32);--ease-out: cubic-bezier(.16, 1, .3, 1)}:root.light{color-scheme:light;--bg: #f4f4f6;--surface: #fff;--surface-soft: #eeeef1;--surface-elev: #fff;--text: #15151a;--text-strong: #000;--muted: #6b6b75;--muted-strong: #3f3f48;--border: #e4e4e8;--border-strong: #cfcfd6;--primary-rgb: 224, 48, 16;--primary-hover: #c23116;--primary-soft: rgba(var(--primary-rgb), .1);--primary-glow: rgba(var(--primary-rgb), .24);--gradient-flame: linear-gradient(135deg, #e03010, #e08a1e 85%);--secondary: #3d5be0;--secondary-soft: #e9edfd;--accent: #e08a1e;--accent-soft: rgba(224, 138, 30, .12);--success: #059669;--success-soft: rgba(16, 185, 129, .1);--danger: #dc2626;--danger-soft: #fbe9e9;--bg-grad: radial-gradient(ellipse 80% 60% at 50% 0%, rgba(var(--primary-rgb), .06), transparent 60%), #f4f4f6;--shadow-sm: 0 1px 2px rgba(15,23,42,.08);--shadow: 0 10px 30px rgba(15,23,42,.1), 0 2px 8px rgba(15,23,42,.06);--shadow-lg: 0 24px 60px rgba(15,23,42,.18), 0 6px 16px rgba(15,23,42,.1)}*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--bg-grad);background-attachment:fixed;color:var(--text);font:500 .95rem/1.5 var(--font-body);-webkit-font-smoothing:antialiased;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}main{flex:1}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}::selection{background:var(--primary);color:#fff}input::placeholder,textarea::placeholder{color:var(--muted)}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-hover)}h1{font:800 clamp(1.5rem,4vw,2.1rem)/1.1 var(--font-display);letter-spacing:-.01em;margin:.3rem 0 1rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}h2{font:800 .68rem/1.2 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:2rem 0 .8rem}.modal h2,.sheet-head h2,.onboard h2{font:700 1.1rem/1.2 var(--font-display);letter-spacing:-.01em;text-transform:none;color:var(--text);margin:0 0 .6rem}hr{border:0;border-top:1px solid var(--border);margin:1.6rem 0}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}.pad{padding:2rem}.grow{flex:1;min-width:0}.end{text-align:right;justify-content:flex-end}.eyebrow{font:800 .68rem/1.2 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.row{display:flex;align-items:center;gap:.5rem}.row.between{justify-content:space-between}.row.end{justify-content:flex-end;margin-top:1rem}.row.center{justify-content:center}.row.wrap{flex-wrap:wrap}.row.gap{gap:.6rem}.col{flex-direction:column;align-items:stretch}.page{max-width:960px;margin:0 auto;padding:1.6rem 24px 3rem}.page.wide{max-width:1040px}.page.narrow{max-width:540px}.ms{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;font-size:20px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;direction:ltr;font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24;vertical-align:middle;flex:none}.ms.sm{font-size:18px}.ms.lg{font-size:24px}.top{display:flex;align-items:center;gap:14px;padding:0 24px;height:60px;position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--surface) 80%,transparent);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px;color:var(--text);font:700 1.1rem/1.2 var(--font-display)}.brand:hover{color:var(--text)}.logo-tile{width:30px;height:30px;border-radius:9px;background:var(--gradient-flame);display:grid;place-items:center;color:#fff;flex:none}.navlink{color:var(--muted-strong);font-weight:700;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px}.navlink:hover{background:var(--surface-soft);color:var(--text)}.avatar{width:34px;height:34px;border-radius:50%;background:var(--secondary-soft);color:var(--secondary);display:grid;place-items:center;font-weight:800;font-size:.8rem;border:1px solid var(--border);object-fit:cover}.top .sync{display:inline-flex;align-items:center;gap:6px;font:800 .68rem/1.2 var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--success);padding:6px 10px;border-radius:999px;background:var(--success-soft)}.top .sync:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.top .sync.warn{color:var(--accent);background:var(--accent-soft)}.top .sync.off{color:var(--muted-strong);background:var(--surface-soft)}.foot{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;padding:20px;color:var(--muted);font-size:.85rem}.foot a,.foot .link{color:var(--muted)}.foot a:hover,.foot .link:hover{color:var(--text)}.btn{height:42px;padding:0 16px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface-soft);color:var(--text);font-weight:800;font-size:.92rem;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;transition:transform 90ms var(--ease-out),background .15s,border-color .15s}.btn:hover{background:var(--surface-elev);border-color:var(--muted);color:var(--text)}.btn:active{transform:scale(.97)}.btn.primary{background:var(--gradient-flame);background-origin:border-box;border-color:transparent;color:#fff;box-shadow:0 6px 22px var(--primary-glow)}.btn.primary:hover{transform:scale(1.02);filter:brightness(1.06);color:#fff}.btn.primary:active{transform:scale(.97)}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted-strong)}.btn.ghost:hover{background:var(--surface-soft)}.btn.danger{background:var(--danger-soft);border-color:transparent;color:var(--danger)}.btn.small{height:34px;padding:0 12px;font-size:.85rem;border-radius:var(--radius-sm)}.btn.big{height:48px;padding:0 22px;font-size:1rem}.btn.wide{width:100%}.link{background:none;border:0;padding:0;color:var(--primary);font-weight:700}.link:hover{color:var(--primary-hover)}.back{display:inline-flex;align-items:center;gap:4px;color:var(--muted-strong);font-size:.85rem;font-weight:600}.back:hover{color:var(--text)}.icon-btn{background:none;border:0;color:var(--muted);padding:6px;border-radius:8px;display:grid;place-items:center}.icon-btn:hover{background:var(--surface-elev);color:var(--text)}:focus-visible{outline:3px solid rgba(var(--primary-rgb),.55);outline-offset:2px}input,select,textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 14px;min-height:44px;max-width:100%;outline:none;transition:border-color .15s}textarea{width:100%;resize:vertical;padding:12px 14px;line-height:1.5}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.15)}input[type=checkbox],input[type=radio]{min-height:0;accent-color:var(--primary)}.form{display:flex;flex-direction:column;gap:.9rem;min-width:min(440px,84vw)}.form label{display:flex;flex-direction:column;gap:.3rem;font:800 .68rem/1.2 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.form label.check,.form label.inline,label.inline{flex-direction:row;align-items:center;gap:.5rem;text-transform:none;letter-spacing:0;font:600 .92rem var(--font-body);color:var(--text);display:inline-flex}.form fieldset{border:1px solid var(--border);border-radius:var(--radius);padding:.8rem}.form legend{font:800 .68rem var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 .4rem}.addrow{margin-bottom:.9rem}.addrow input{flex:1;min-width:130px}.addrow input.narrow{max-width:130px;flex:0 1 130px}.err{color:var(--danger);font-weight:600}.colors{display:flex;gap:.5rem;flex-wrap:wrap}.swatch{flex-direction:row!important}.swatch input{position:absolute;opacity:0}.swatch span{width:30px;height:30px;border-radius:9px;display:block;border:3px solid transparent;cursor:pointer}.swatch input:checked+span{border-color:var(--text)}.swatch input:focus-visible+span{outline:3px solid var(--primary)}.slot select,.slot input{min-height:38px;padding:0 .6rem}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.card{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px;box-shadow:var(--shadow-sm);color:var(--text)}a.card:hover{text-decoration:none;border-color:var(--border-strong);color:var(--text)}.card .btn{flex:none}.cardlink{color:var(--text)}.cardlink:hover{color:var(--text);text-decoration:none}.dot{width:12px;height:12px;border-radius:4px;display:inline-block;flex:none}.pill{display:inline-block;font:800 .68rem/1.2 var(--font-body);letter-spacing:.06em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:var(--surface-soft);color:var(--muted-strong)}.pill.live-pill{background:var(--primary-soft);color:var(--primary)}.pill.warn{background:var(--accent-soft);color:var(--accent)}.pill.present{background:var(--success-soft);color:var(--success)}.pill.late{background:var(--accent-soft);color:var(--accent)}.pill.absent{background:var(--danger-soft);color:var(--danger)}.empty{text-align:center;padding:2.5rem 1rem;color:var(--muted);background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius-lg)}.list{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.list li{display:flex;align-items:center;gap:.7rem;padding:14px 20px;border-bottom:1px solid var(--border)}.list li:last-child{border:0}.list li.inactive{opacity:.5}.list a{color:var(--text)}.list li:has(>a.grow):hover{background:var(--surface-soft)}.mini{display:inline-flex;gap:.8rem;font-size:.85rem;font-weight:800;font-variant-numeric:tabular-nums}.mini .present{color:var(--success)}.mini .late{color:var(--accent)}.mini .absent{color:var(--danger)}.mini .excused{color:var(--muted-strong)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin:.4rem 0 1.4rem;overflow-x:auto}.tabs a{padding:10px 14px;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap;font-weight:700;margin-bottom:-1px}.tabs a.on{color:var(--text);border-color:var(--primary)}.tabs a:hover{color:var(--text);text-decoration:none}.hero-live{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:20px 24px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid rgba(var(--primary-rgb),.45);box-shadow:0 0 0 4px rgba(var(--primary-rgb),.08),var(--shadow);color:var(--text);margin-bottom:8px}.hero-live:hover{text-decoration:none;color:var(--text)}.hero-live .live-tag{display:inline-flex;align-items:center;gap:8px;font:800 .68rem/1.2 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}.hero-live .live-tag:before,.elapsed:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--primary);box-shadow:0 0 10px var(--primary);animation:pulse 1.6s ease-in-out infinite}.hero-live .nm{font:700 1.35rem/1.15 var(--font-display);margin:8px 0 4px}.hero-live .rm{color:var(--muted-strong);font-size:.85rem}@keyframes pulse{50%{opacity:.35}}.sched{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.sched .r{display:flex;align-items:center;gap:16px;padding:14px 20px;border-top:1px solid var(--border)}.sched .r:first-child{border-top:0}.sched .tm{width:64px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--muted-strong)}.sched .tag{font:800 .68rem var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.classcard{flex-direction:column;align-items:stretch;gap:14px;padding:20px}.classcard .top2{display:flex;align-items:center;gap:12px}.classcard .nm{flex:1;font:700 1rem/1.3 var(--font-body)}.classcard .nums{display:flex;gap:24px}.classcard .n{font:700 1.1rem/1.2 var(--font-display)}.classcard .l{font:700 .62rem var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:2px}.bar{height:4px;border-radius:4px;background:var(--surface-soft);overflow:hidden}.bar>div{height:100%}.classcard .actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.onboard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;margin:.5rem 0 1rem;box-shadow:var(--shadow-sm)}.steps{list-style:none;padding:0;margin:0 0 1.2rem;display:grid;gap:.9rem}.steps li{display:flex;flex-direction:column}.steps span{color:var(--muted);font-size:.88rem}.login{min-height:80vh;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:40px 32px;display:flex;flex-direction:column;gap:18px;text-align:center}.login-card .logo-tile{margin:0 auto;width:56px;height:56px;border-radius:16px;box-shadow:0 8px 28px var(--primary-glow)}.login-card h1{justify-content:center;margin:0;font-size:1.6rem}.login-card p{margin:0}.logo-big{font:800 2rem/1 var(--font-display);letter-spacing:-.01em}.statbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin:18px 0}.statbar>div{background:var(--surface);padding:14px 16px}.statbar b{display:block;font:700 1.35rem/1.15 var(--font-display);font-variant-numeric:tabular-nums}.statbar span{display:block;font:700 .62rem var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:2px}.s-in b{color:var(--success)}.s-late b{color:var(--accent)}.s-out b{color:var(--secondary)}.s-absent b{color:var(--danger)}.s-waiting b{color:var(--muted-strong)}.elapsed{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font:800 .68rem/1.2 var(--font-body);letter-spacing:.06em;text-transform:uppercase}.elapsed:before{width:7px;height:7px;box-shadow:none}.searchbox{position:relative;margin-bottom:14px}.searchbox .ms{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.searchbox input{width:100%;height:46px;padding-left:44px}.board{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.tile{position:relative;display:flex;align-items:center;gap:12px;padding:14px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform 90ms var(--ease-out)}.tile:active{transform:scale(.975)}.tile .av{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--surface-soft);color:var(--muted-strong);font-weight:800;font-size:.85rem}.tile .txt{flex:1;min-width:0}.tile .nm{display:block;font:700 .95rem/1.3 var(--font-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile .sub{display:block;font-size:.85rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile .more{flex:none;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;color:var(--muted);background:none;border:0;padding:0}.tile .more:hover{background:var(--surface-elev);color:var(--text)}.tile .edited{position:absolute;top:6px;right:40px;font-size:.7rem;color:var(--muted)}.tile.waiting .sub{color:var(--primary)}.tile.present{background:var(--success-soft);border-color:#10b98166}.tile.present .av{background:var(--success);color:#04140d}.tile.present .sub{color:var(--success)}.tile.late{background:var(--accent-soft);border-color:#ffb34773}.tile.late .av{background:var(--accent);color:#1a1000}.tile.late .sub{color:var(--accent)}.tile.out{background:var(--secondary-soft);border-color:#6a86ff59}.tile.out .av{background:var(--secondary);color:#0b1030}.tile.out .sub{color:var(--secondary)}.tile.absent{background:var(--danger-soft);border-color:#ef444466}.tile.absent .av{background:var(--danger);color:#fff}.tile.absent .sub{color:var(--danger)}.tile.excused{border-color:var(--border-strong)}.tile.excused .av{background:var(--surface-elev)}.tile.excused .sub{color:var(--muted-strong)}.coach{display:flex;gap:1rem;align-items:center;justify-content:space-between;background:var(--primary-soft);border:1px solid rgba(var(--primary-rgb),.3);border-radius:var(--radius);padding:12px 16px;margin:0 0 14px;font-size:.9rem}.hint{color:var(--muted);font-size:.85rem;margin-top:16px}.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:1rem 0}.summary>div{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column}.summary b{font:700 1.35rem/1.15 var(--font-display)}.summary span{font:700 .62rem var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:2px}.sum-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:1.4rem 0}.sum-grid>div{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.sum-grid b{display:block;font:700 1.35rem/1.15 var(--font-display)}.sum-grid span{font:700 .62rem var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.tablewrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}table.grid{border-collapse:collapse;width:100%;font-size:.9rem}.grid th,.grid td{padding:8px 12px;border-bottom:1px solid var(--border);text-align:center;white-space:nowrap}.grid th{font:800 .68rem var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.grid th:first-child,.grid td:first-child{text-align:left;position:sticky;left:0;background:var(--surface)}.grid td a{color:var(--text);font-weight:700}.grid th.vert span{writing-mode:vertical-rl;transform:rotate(180deg)}.cell{font-weight:800}.cell.present{background:var(--success-soft);color:var(--success)}.cell.late{background:var(--accent-soft);color:var(--accent)}.cell.absent{background:var(--danger-soft);color:var(--danger)}.cell.excused{background:var(--surface-soft);color:var(--muted-strong)}dialog.modal{border:1px solid var(--border-strong);border-radius:var(--radius-xl);padding:24px;background:var(--surface-elev);color:var(--text);max-width:min(560px,94vw);box-shadow:var(--shadow-lg)}dialog.modal::backdrop{background:#0009}.modal-msg{margin-top:0;font-size:1rem}.sheet{min-width:min(420px,88vw)}.sheet-head{display:flex;justify-content:space-between;align-items:center}.sheet-head h2{font-size:1.1rem}.seg{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.seg label{display:block}.seg input{position:absolute;opacity:0}.seg span{display:block;text-align:center;padding:12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);font:700 .95rem var(--font-body);letter-spacing:0;text-transform:none;color:var(--text);cursor:pointer}.seg input:checked+span{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.seg input:focus-visible+span{outline:3px solid rgba(var(--primary-rgb),.55)}.times{display:grid;gap:.8rem;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.timerow{display:flex;gap:6px;align-items:center}.timerow input{flex:1;min-width:0;font-size:1.05rem;font-weight:700}.chip{height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface-soft);color:var(--primary);font:800 .8rem var(--font-body)}.chip:hover{border-color:var(--primary)}.hint-late{color:var(--accent)}.hint-ok{color:var(--success)}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(24px + env(safe-area-inset-bottom));z-index:100;display:flex;align-items:center;gap:14px;padding:12px 12px 12px 18px;border-radius:var(--radius);background:var(--surface-elev);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);max-width:92vw}.toast button{background:none;border:0;padding:6px 12px;border-radius:8px;font-weight:800;color:var(--primary)}.toast button:hover{background:var(--primary-soft)}body.kiosk-mode .top,body.kiosk-mode .foot{display:none}.kiosk{min-height:100vh;padding:24px;display:flex;flex-direction:column;gap:1.2rem}.kiosk header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.kiosk h1{font-size:2.2rem;margin:0}.kiosk p{margin:.3rem 0 0;font-size:1.2rem;color:var(--muted-strong)}.kiosk .exit{position:relative;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.kiosk .hold{position:absolute;left:0;bottom:0;height:4px;width:0;background:var(--primary)}.kiosk input{font-size:1.2rem;min-height:54px}.kgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.ktile{text-align:left;padding:18px 20px;min-height:96px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);color:var(--text);display:flex;flex-direction:column;justify-content:center;gap:.2rem;transition:transform 90ms var(--ease-out)}.ktile:active{transform:scale(.975)}.ktile .nm{font:700 1.3rem/1.2 var(--font-body)}.ktile .sub{color:var(--muted)}.ktile.in{background:var(--success-soft);border-color:#10b98166}.ktile.in .sub{color:var(--success)}.ktile.out{background:var(--secondary-soft);border-color:#6a86ff59}.ktile.out .sub{color:var(--secondary)}.kover{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;font-size:1.5rem;z-index:50}.kover .big{font-size:5rem;line-height:1;margin-bottom:8px}.kover .who{font:800 2.6rem/1.1 var(--font-display);margin:.5rem 0}.kover.present{background:#0b2a20;color:var(--success)}.kover.late{background:#2b2008;color:var(--accent)}.kover.out{background:#11183a;color:var(--secondary)}:root.light .kover.present{background:#dcfce7}:root.light .kover.late{background:#fef3c7}:root.light .kover.out{background:#e0e7ff}@media print{:root{--bg: #fff;--surface: #fff;--text: #000;--muted: #444;--border: #ccc;--surface-soft: #f2f2f2}body{background:#fff}.top,.foot,.noprint,.tabs,.toast,#start,.link,.back{display:none!important}.page{max-width:none;padding:0}.tablewrap{overflow:visible}.cell{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media (max-width: 640px){.page{padding:1.2rem 16px 3rem}.top{padding:0 16px}.statbar{grid-template-columns:repeat(3,1fr)}.board,.cards{grid-template-columns:1fr}dialog.modal{margin:auto auto 0;width:100%;max-width:100%;border-radius:24px 24px 0 0;max-height:92vh;padding:20px}.sheet,.form{min-width:0}.coach{flex-direction:column;align-items:stretch}.hero-live .btn{width:100%}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.board{grid-template-columns:repeat(auto-fill,minmax(310px,1fr))}.tile .act{flex:none;height:32px;padding:0 12px;border-radius:999px;display:inline-flex;align-items:center;font:800 .78rem var(--font-body);background:var(--primary-soft);color:var(--primary);white-space:nowrap}.tile.present .act,.tile.late .act{background:var(--secondary-soft);color:var(--secondary)}.tile.out .act{background:var(--success-soft);color:var(--success)}.tile.absent .act,.tile.excused .act{background:var(--surface-soft);color:var(--muted-strong)}.tile.add{justify-content:center;border-style:dashed;background:transparent;color:var(--muted-strong);font-weight:700;min-height:70px}.tile.add:hover{border-color:var(--primary);color:var(--primary)}.hero-start{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:24px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow);margin-bottom:8px}.hero-start .nm{font:700 1.4rem/1.15 var(--font-display);margin:8px 0 4px;display:flex;align-items:center;gap:10px}.hero-start .rm{color:var(--muted-strong);font-size:.88rem}.menu{min-width:min(380px,86vw);display:flex;flex-direction:column;gap:6px}.menu-row{display:flex;align-items:center;gap:14px;text-align:left;padding:14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}.menu-row:hover{background:var(--surface-soft);border-color:var(--border-strong)}.menu-row b{display:block;font-weight:700}.menu-row small{display:block;color:var(--muted);font-size:.82rem;margin-top:1px}.menu-row .ms{color:var(--muted-strong)}.more-opts summary{cursor:pointer;color:var(--muted-strong);font-weight:700;font-size:.88rem;padding:4px 0}.more-opts summary:hover{color:var(--text)}@media (max-width: 640px){.board{grid-template-columns:1fr}.tile .act{padding:0 10px}}
