:root{--bg:#e8e8ec;--surface:#f9f9fb;--field:#fcfcfd;--hover:#f0f0f3;--text:#1c2024;--muted:#60646c;--border:#d9d9e0;--primary:#3e63dd;--primary-hover:#3358d4;--primary-text:#fff;--primary-lt:#edf2fe;--primary-ink:#3a5bc7;--primary-border:#c1d0ff;--sel-bg:#edf2fe;--sel-fg:#3a5bc7;--ok:#30a46c;--ok-lt:#e6f6eb;--ok-ink:#193b2d;--ok-border:#adddc0;--warn:#ffc53d;--warn-lt:#fff7c2;--warn-ink:#4f3422;--warn-border:#f3d673;--danger:#ce2c31;--danger-text:#fff;--danger-lt:#feebec;--danger-ink:#ce2c31;--danger-border:#fdbdbe;--info-lt:#e6f4fe;--info-ink:#113264;--info-border:#acd8fc;--normal-bg:#f0f0f3;--normal-border:#cdced6;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-scheme=dark]{--bg:#18191b;--surface:#212225;--field:#18191b;--hover:#272a2d;--text:#edeef0;--muted:#b0b4ba;--border:#363a3f;--primary:#3e63dd;--primary-hover:#5472e4;--primary-text:#fff;--primary-lt:#182449;--primary-ink:#9eb1ff;--primary-border:#304384;--sel-bg:#9eb1ff;--sel-fg:#182449;--ok:#30a46c;--ok-lt:#132d21;--ok-ink:#3dd68c;--ok-border:#20573e;--warn:#ffc53d;--warn-lt:#302008;--warn-ink:#ffca16;--warn-border:#5c3d05;--danger:#ec5d5e;--danger-text:#1c2024;--danger-lt:#3b1219;--danger-ink:#ff9592;--danger-border:#72232d;--info-lt:#0d2847;--info-ink:#70b8ff;--info-border:#104d87;--normal-bg:#18191b;--normal-border:#43484e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--overlay:#0000008c;--overlay-soft:#0000001a;--radius:8px;--radius-sm:6px;--shadow:none;--ui:"Segoe UI", system-ui, -apple-system, Roboto, "Noto Sans", sans-serif;--serif:Georgia, Cambria, "Times New Roman", serif;font-family:var(--ui);color:var(--text);line-height:1.45}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}h1{margin:.5rem 0 .75rem;font-size:1.5rem;font-weight:600}h2{margin:0 0 .5rem;font-size:1.15rem;font-weight:600}a{color:var(--primary-ink)}ul{margin:0;padding:0;list-style:none}label{gap:.25rem;font-weight:500;display:grid}input,select,textarea,button,.button{font:inherit;border-radius:var(--radius-sm)}input,select,textarea{border:1px solid var(--border);background:var(--field);color:var(--text);min-height:2.5rem;padding:.5rem .6rem}button,.button{border:1px solid var(--border);background:var(--surface);min-height:2.5rem;color:var(--text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;padding:.45rem .9rem;font-weight:500;text-decoration:none;display:inline-flex}button:hover,.button:hover{background:var(--hover)}button:disabled{opacity:.6;cursor:progress}button.primary,.button.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}button.primary:hover,.button.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}button.danger{background:var(--danger);border-color:var(--danger);color:var(--danger-text)}button.danger:hover{background:var(--danger);filter:brightness(.92)}:root[data-scheme=dark] button.danger:hover{filter:brightness(1.08)}button.danger-outline{color:var(--danger);border-color:var(--danger)}button.danger-outline:hover{background:var(--danger-lt)}button.link,button.link:hover{color:var(--primary-ink);background:0 0;border:0;min-height:auto;padding:.25rem;text-decoration:underline}:focus-visible{outline:3px solid var(--primary-ink);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.small{font-size:.875rem}.error{background:var(--danger-lt);color:var(--danger-ink);border-radius:var(--radius-sm);padding:.5rem .75rem}.notice{background:var(--info-lt);border:1px solid var(--info-border);border-radius:var(--radius-sm);padding:.5rem .75rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.stats{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;display:grid}.stat{gap:.15rem;display:grid}.stat-value{color:var(--primary-ink);font-size:2rem;font-weight:600;line-height:1.1}.page>:first-child{margin-top:0}.centered{place-items:center;min-height:100vh;padding:1rem;display:grid}.login{gap:.9rem;width:min(420px,100%);display:grid}.login-top{justify-content:space-between;align-items:center;gap:1rem;display:flex}.login-top h1{margin:0}.login .keep{align-items:flex-start;gap:.5rem;font-weight:400;display:flex}.login .keep>span{gap:.15rem;display:grid}.login .keep input{min-height:auto;accent-color:var(--primary);margin:.2rem 0 0}.back{margin-bottom:.25rem;text-decoration:none;display:inline-block}.section{margin-top:1.5rem}.contexts,.tiles,.students,.inbox{gap:.75rem;display:grid}.contexts h2{margin-bottom:.75rem}.contexts .actions{justify-content:flex-start}.tiles{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.tile{color:var(--text);gap:.25rem;text-decoration:none;display:grid}.tile:hover{border-color:var(--primary)}.tile-title{font-size:1.25rem}.toolbar{flex-wrap:wrap;gap:.75rem;margin-bottom:.5rem;display:flex}.student{gap:.6rem;display:grid}.student-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.student-name{margin-right:.5rem;font-size:1.05rem}.student-class{margin-right:.5rem}.student-actions{gap:.5rem;display:flex}.attendance{background:var(--normal-bg);color:var(--muted);border-radius:999px;padding:.1rem .5rem;font-size:.875rem;display:inline-block}.attendance.status-present{background:var(--ok-lt);color:var(--ok-ink)}.attendance.status-late{background:var(--warn-lt);color:var(--warn-ink)}.attendance.status-absent{background:var(--danger-lt);color:var(--danger-ink)}.care-alerts{gap:.4rem;display:grid}.care-alert{border:1px solid var(--normal-border);border-left:5px solid var(--muted);background:var(--normal-bg);border-radius:var(--radius-sm);padding:.45rem .65rem}.care-alert.priority-high{border-color:var(--warn-border);border-left-color:var(--warn);background:var(--warn-lt)}.care-alert.priority-critical{border-color:var(--danger-border);border-left-color:var(--danger);background:var(--danger-lt)}.care-alert .priority{float:right;text-transform:uppercase;color:var(--muted);font-size:.8rem;font-weight:600}.care-alert.priority-high .priority{color:var(--warn-ink)}.care-alert.priority-critical .priority{color:var(--danger-ink)}.care-alert p{margin:.2rem 0 0}.chips{flex-wrap:wrap;gap:.5rem;display:flex}.chip{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.3rem .8rem}.count{margin-left:.5rem;font-size:.9rem;font-weight:400}.inbox-item{color:var(--text);gap:.3rem;text-decoration:none;display:grid}.inbox-item.unread{border-left:5px solid var(--primary)}.inbox-item p,.notification p{margin:0}.inbox-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem;display:flex}.inbox-head h2{margin:0}.withdrawn .inbox-body,.withdrawn .notification-body{color:var(--muted);text-decoration:line-through}.notification{gap:.6rem;display:grid}.badges{flex-wrap:wrap;gap:.3rem;display:inline-flex}.badge{border-radius:var(--radius-sm);border:1px solid #0000;padding:.1rem .5rem;font-size:.75rem;font-weight:600}.badge-active{background:var(--ok-lt);color:var(--ok-ink)}.badge-withdrawn{background:var(--normal-bg);color:var(--muted);border-color:var(--normal-border)}.badge-correction{background:var(--warn-lt);color:var(--warn-ink)}.badge-unread{background:var(--primary);color:var(--primary-text)}.badge-setup{background:var(--warn-lt);color:var(--warn-ink)}.badge-pending{background:var(--info-lt);color:var(--info-ink)}.badge-danger{background:var(--danger-lt);color:var(--danger-ink)}h2 .badge{vertical-align:middle;margin-left:.4rem}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.records{gap:.75rem;display:grid}.record{gap:.3rem;display:grid}.record p{margin:0}.record-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.secrets{border-color:var(--primary);gap:.75rem;margin-top:1rem;display:grid}.secrets p{margin:0}.copy-row{gap:.5rem;font-weight:400;display:flex}.copy-row input{flex:1;width:0;min-width:0}.actions.start{justify-content:flex-start}.code-box{gap:.15rem;display:grid}.code-value{letter-spacing:.15em;font-variant-numeric:tabular-nums;font-size:2rem}.history summary{cursor:pointer;color:var(--muted);font-size:.875rem}.history ol{gap:.2rem;margin:.4rem 0 0;padding-left:1.25rem;font-size:.875rem;display:grid}.invite{width:min(560px,100%)}.stack{gap:.9rem;display:grid}.stack h2,.stack p{margin:0}.group{border:1px solid var(--border);border-radius:var(--radius-sm);gap:.75rem;margin:0;padding:.75rem;display:grid}.group legend{padding:0 .25rem;font-weight:600}.group input[readonly]{background:var(--normal-bg)}.code-input{letter-spacing:.2em;font-variant-numeric:tabular-nums;font-size:1.5rem}.rules{margin:.4rem 0 0;padding-left:1.25rem;list-style:outside}.facts{grid-template-columns:max-content 1fr;gap:.4rem 1rem;margin:0;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.steps{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.step{align-content:start;gap:.5rem;display:grid}.step h3,.step p{margin:0}.fields{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;display:grid}.fields>label,.fields select{min-width:0}.record.withdrawn{color:var(--muted)}.weekdays{border:0;flex-wrap:wrap;gap:.5rem 1rem;margin:0;padding:0;display:flex}.weekday,.role-choice{align-items:flex-start;gap:.5rem;font-weight:400;display:flex}.weekday input,.role-choice input{min-height:auto;accent-color:var(--primary);margin-top:.2rem}.role-choice>span{gap:.1rem;display:grid}.presence-line{border-top:1px solid var(--border);gap:.2rem;padding-top:.5rem;display:grid}.presence-line p{margin:0}.qr-frame{width:min(240px,100%)}.qr{width:100%;height:auto;display:block}.poster{text-align:center;justify-items:center;gap:.5rem;display:grid}.poster p{margin:0}.poster-school{font-size:1.1rem}.poster-title{margin:0;font-size:1.75rem}.poster-campus{font-weight:600}.poster-qr{width:min(320px,100%)}.poster-steps{gap:.25rem;font-size:1.1rem;display:grid}.check-in{text-align:center}.check-in-button{width:100%;min-height:5rem;font-size:1.75rem}.check-in-result{color:var(--ok-ink);font-size:1.5rem;font-weight:600}@media print{.no-print,.sidebar,.scrim,.titlebar-wrap{display:none!important}body,.shell,.content,.page{color:#000!important;background:#fff!important;margin:0!important;padding:0!important;display:block!important}.poster{color:#000;break-after:page;background:#fff;border:0;margin:0}.poster:last-of-type{break-after:auto}.poster .muted{color:#000}.poster-qr{width:12cm}}.overlay{background:var(--overlay);z-index:40;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.overlay-soft{background:var(--overlay-soft)}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(480px,100%);max-height:calc(100dvh - 2rem);padding:1.25rem;overflow:auto}.modal-danger{border-top:4px solid var(--danger)}.modal form{gap:.9rem;display:grid}.choice{border:1px solid var(--border);border-radius:var(--radius-sm);gap:.4rem;margin:0;display:grid}.choice label{align-items:center;gap:.5rem;font-weight:400;display:flex}.choice input{min-height:auto}@media (width<=600px){.stats,.facts{grid-template-columns:1fr}.facts dd{margin-bottom:.4rem}.section-head>button,.secrets .actions .button,.secrets .actions button,.student-actions,.student-actions button{width:100%}}.scheme-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.scheme-option{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--field);cursor:pointer;justify-items:center;gap:.35rem;padding:.75rem .5rem;font-weight:500;display:grid}.scheme-option:hover{background:var(--hover)}.scheme-option.selected{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary);background:var(--primary-lt);color:var(--primary-ink)}.scheme-option:focus-within{outline:3px solid var(--primary-ink);outline-offset:2px}.hint{margin:0;font-size:.9rem}
