:root{--ink:#0f4c5c;--ink-strong:#0a3642;--ink-soft:#e3eeec;--paper:#f5f8f7;--surface:#fff;--rule:#d5e2df;--text:#17262b;--muted:#5b6e72;--mark:#f5c451;--mark-soft:#fbe7ae;--danger:#b23a48;--ok:#2f7d5b;--radius-s:6px;--radius-m:10px;--font:"Readex Pro", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.6}h1,h2,h3{margin:0;font-weight:600;line-height:1.25}h1{letter-spacing:-.01em;font-size:1.75rem}h2{font-size:1.25rem}h3{font-size:1.05rem}p{margin:0}a{color:var(--ink)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--mark);outline-offset:2px;border-radius:4px}.muted{color:var(--muted)}.small{font-size:.85rem}.num{font-variant-numeric:tabular-nums}[dir=ltr] .num,.ltr{direction:ltr;unicode-bidi:isolate}.btn{border-radius:var(--radius-s);border:1px solid var(--rule);background:var(--surface);cursor:pointer;justify-content:center;align-items:center;gap:.4rem;min-height:40px;padding:0 1rem;font-weight:500;display:inline-flex}.btn:hover{border-color:var(--ink)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn-primary:hover{background:var(--ink-strong)}.btn-ghost{color:var(--ink);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--ink-soft);border-color:#0000}.btn-danger{color:var(--danger)}.btn-danger:hover{border-color:var(--danger)}.btn-sm{min-height:32px;padding:0 .65rem;font-size:.875rem}.field{gap:.3rem;display:grid}.field>span{font-size:.875rem;font-weight:500}.field small{color:var(--muted);font-size:.8rem}.input,select.input{border:1px solid var(--rule);border-radius:var(--radius-s);background:var(--surface);width:100%;min-height:42px;padding:.45rem .7rem}.input:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--ink-soft);outline:none}.field.has-error .input{border-color:var(--danger)}.field .err{color:var(--danger);font-size:.8rem}.grid-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=640px){.grid-2{grid-template-columns:1fr}}.stack{gap:1rem;display:grid}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.spacer{flex:1}.alert{border-radius:var(--radius-s);color:var(--danger);background:#fbeff1;border:1px solid #efc9cf;padding:.65rem .9rem}.notice{border-radius:var(--radius-s);background:var(--mark-soft);border:1px solid var(--mark);padding:.8rem 1rem}.auth{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);min-height:100%;display:grid}.auth-side{background:var(--ink);color:#eaf3f1;background-image:repeating-linear-gradient(#0000 0 31px,#ffffff12 31px 32px);flex-direction:column;justify-content:space-between;padding:3rem;display:flex}.auth-side h1{max-width:12ch;font-size:2.4rem;font-weight:600}.auth-side p{color:#bfd6d2;max-width:36ch;margin-top:1rem}.auth-main{justify-content:center;align-items:center;padding:2rem 1.25rem;display:flex}.auth-card{width:100%;max-width:460px}.auth-card.wide{max-width:640px}.auth-card h2{margin-bottom:.4rem;font-size:1.5rem}.lang-toggle{position:fixed;inset-block-start:1rem;inset-inline-end:1rem}@media (width<=860px){.auth{grid-template-columns:1fr}.auth-side{padding:1.5rem 1.25rem}.auth-side h1{max-width:none;font-size:1.6rem}.auth-side .foot{display:none}}fieldset{border:0;margin:0;padding:0}legend{margin-bottom:.6rem;padding:0;font-weight:600}.section-rule{border-top:1px solid var(--rule);padding-top:1.25rem}.steps{counter-reset:step;gap:.5rem;margin:1.25rem 0 1.5rem;padding:0;list-style:none;display:flex}.steps li{border-top:3px solid var(--rule);color:var(--muted);counter-increment:step;flex:1;padding-block-start:.5rem;font-size:.9rem}.steps li:before{content:counter(step) ". "}.steps li.done{border-color:var(--ink);color:var(--text)}.steps li.current{border-color:var(--mark);color:var(--text);font-weight:600}.choice{border:1px solid var(--rule);border-radius:var(--radius-m);background:var(--surface);cursor:pointer;grid-template-columns:auto 1fr;align-items:start;gap:.75rem;padding:1rem;display:grid}.choice input[type=checkbox]{width:20px;height:20px;accent-color:var(--ink);margin-top:3px}.choice.on{border-color:var(--ink);box-shadow:inset 4px 0 0 var(--ink)}[dir=rtl] .choice.on{box-shadow:inset -4px 0 0 var(--ink)}.choice .stage-pills{flex-wrap:wrap;gap:.4rem;margin-top:.6rem;display:flex}.pill{border:1px solid var(--rule);background:var(--paper);cursor:pointer;border-radius:999px;align-items:center;gap:.35rem;padding:.15rem .6rem;font-size:.82rem;display:inline-flex}.pill input{accent-color:var(--ink);margin:0}.pill.off{opacity:.5;text-decoration:line-through}.segmented{border:1px solid var(--rule);border-radius:var(--radius-s);grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.segmented label{text-align:center;cursor:pointer;border-inline-start:1px solid var(--rule);background:var(--surface);padding:.55rem .3rem;font-size:.875rem}.segmented label:first-child{border-inline-start:0}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented label.on{background:var(--ink);color:#fff}@media (width<=520px){.segmented{grid-template-columns:1fr 1fr}.segmented label:nth-child(3){border-inline-start:0}}.shell{grid-template-columns:248px minmax(0,1fr);min-height:100%;display:grid}.sidebar{background:var(--surface);border-inline-end:1px solid var(--rule);flex-direction:column;gap:1.25rem;height:100vh;padding:1.25rem .85rem;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:.65rem;padding:0 .4rem;display:flex}.brand img,.brand .mono{object-fit:contain;border-radius:8px;flex:none;width:38px;height:38px}.brand .mono{background:var(--ink);color:#fff;place-items:center;font-weight:700;display:grid}.brand strong{font-size:.95rem;line-height:1.3;display:block}.nav{gap:2px;display:grid}.nav button{text-align:start;border-radius:var(--radius-s);cursor:pointer;color:var(--text);background:0 0;border:0;padding:.55rem .75rem;font-weight:500}.nav button:hover{background:var(--ink-soft)}.nav button[aria-current=page]{font-weight:600}.nav button[aria-current=page] span{background:linear-gradient(to top, var(--mark) 0 45%, transparent 45%);padding-inline:.15em}.sidebar .foot{gap:.5rem;margin-top:auto;padding:0 .4rem;display:grid}.who{font-size:.85rem}.who strong{display:block}.main{width:100%;min-width:0;max-width:1180px;padding:2rem clamp(1rem,3vw,2.5rem) 3rem}.page-head{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.page-head p{margin-top:.35rem}.topbar{display:none}@media (width<=900px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:30;width:270px;transition:transform .2s;position:fixed;inset-block:0;inset-inline-start:0;transform:translate(-105%);box-shadow:0 0 40px #0a364233}[dir=rtl] .sidebar{transform:translate(105%)}.sidebar.open{transform:none}.topbar{background:var(--surface);border-bottom:1px solid var(--rule);z-index:20;align-items:center;gap:.6rem;padding:.6rem 1rem;display:flex;position:sticky;top:0}.main{padding-top:1.25rem}}@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}.panel{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-m)}.panel-pad{padding:1.25rem}.stats{flex-wrap:wrap;gap:2.5rem;padding:1.25rem 1.5rem;display:flex}.stat b{color:var(--ink);font-size:2rem;font-weight:600;line-height:1.1;display:block}.stat span{color:var(--muted);font-size:.9rem}.todo{margin:0;padding:0;list-style:none}.todo li{border-top:1px solid var(--rule);align-items:center;gap:.75rem;padding:.85rem 1.25rem;display:flex}.todo li:first-child{border-top:0}.todo .tick{border:2px solid var(--rule);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:.75rem;display:grid}.todo li.done .tick{background:var(--ok);border-color:var(--ok);color:#fff}.todo li.done span.label{color:var(--muted);text-decoration:line-through}.table-wrap{overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:.92rem}table.data th{text-align:start;color:var(--muted);border-bottom:1px solid var(--rule);white-space:nowrap;padding:.6rem 1rem;font-size:.82rem;font-weight:500}table.data td{border-bottom:1px solid var(--rule);vertical-align:middle;padding:.7rem 1rem}table.data tr:last-child td{border-bottom:0}.role-tag{background:var(--ink-soft);color:var(--ink-strong);border-radius:4px;margin-block:.1rem;margin-inline-end:.25rem;padding:.05rem .5rem;font-size:.78rem;display:inline-block}.status-dot:before{content:"";background:var(--ok);border-radius:50%;width:8px;height:8px;margin-inline-end:.4rem;display:inline-block}.status-dot.off:before{background:var(--muted)}.empty{text-align:center;color:var(--muted);padding:2.5rem 1.25rem}.tabs{border-bottom:1px solid var(--rule);gap:.25rem;margin-bottom:1.25rem;display:flex;overflow-x:auto}.tabs button{cursor:pointer;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;margin-bottom:-1px;padding:.6rem .9rem;font-weight:500}.tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--ink)}.stage{margin-bottom:1.5rem}.stage-head{align-items:baseline;gap:.75rem;margin-bottom:.5rem;display:flex}.stage-head .grading{color:var(--muted);font-size:.8rem}.register{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-m)}.level{border-top:1px solid var(--rule);grid-template-columns:190px minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.75rem 1rem;display:grid}.level:first-child{border-top:0}.level-name strong{font-weight:500;display:block}.level-name span{color:var(--muted);font-size:.8rem}.chips{flex-wrap:wrap;gap:.4rem;display:flex}.chip{border:1px solid var(--rule);background:var(--paper);border-radius:var(--radius-s);cursor:pointer;align-items:center;gap:.4rem;padding:.25rem .65rem;font-size:.9rem;display:inline-flex}.chip:hover{border-color:var(--ink)}.chip[aria-pressed=true]{background:var(--mark);border-color:#d9a92e}.chip .stream{background:var(--ink);color:#fff;border-radius:3px;padding:0 .35rem;font-size:.72rem}@media (width<=720px){.level{grid-template-columns:1fr auto}.level .chips{grid-area:2/1/auto/-1}}.overlay{z-index:40;background:#0a364259;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--surface);width:min(520px,100%);height:100%;padding:1.5rem;overflow-y:auto;box-shadow:0 0 60px #0a364240}.modal-wrap{justify-content:center;align-items:center;padding:1rem}.modal{background:var(--surface);border-radius:var(--radius-m);width:min(560px,100%);max-height:92vh;padding:1.5rem;overflow-y:auto}.drawer-head,.modal-head{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.drawer-head h2,.modal-head h2{flex:1}.assign{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:.5rem .75rem;display:grid}.assign>div:nth-child(odd){font-weight:500}.secret{letter-spacing:.08em;text-align:center;background:var(--paper);border:1px dashed var(--ink);border-radius:var(--radius-s);-webkit-user-select:all;user-select:all;direction:ltr;padding:.75rem;font-size:1.4rem;font-weight:600}.toast{background:var(--text);color:#fff;border-radius:var(--radius-s);z-index:60;padding:.6rem 1.1rem;font-size:.92rem;position:fixed;inset-block-end:1.25rem;inset-inline-start:50%;transform:translate(-50%)}[dir=rtl] .toast{transform:translate(50%)}.toast.error{background:var(--danger)}.loading{min-height:40vh;color:var(--muted);place-items:center;display:grid}.modal.wide{width:min(780px,100%)}.drawer{width:min(600px,100%)}.chip-stream{background:var(--ink);color:#fff;white-space:nowrap;border-radius:3px;padding:0 .35rem;font-size:.72rem}.btn-link{color:var(--text);cursor:pointer;text-align:start;background:0 0;border:0;padding:0;font-weight:500}.btn-link:hover{color:var(--ink);text-decoration:underline}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--paper)}.role-tag.tag-mark{background:var(--mark-soft);color:var(--text)}label.btn.disabled{opacity:.55;pointer-events:none}textarea.input{resize:vertical;min-height:64px}.nowrap{white-space:nowrap}@media (width<=640px){.hide-sm{display:none}}.roll{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-m);margin:0;padding:0;list-style:none}.roll-row{border-top:1px solid var(--rule);border-inline-start:4px solid #0000;grid-template-columns:minmax(160px,1fr) auto;align-items:center;gap:.75rem;padding:.65rem 1rem;display:grid}.roll-row:first-child{border-top:0}.roll-row.st-absent{border-inline-start-color:var(--danger);background:#fcf4f5}.roll-row.st-late{background:#fffbef;border-inline-start-color:#d69e2e}.roll-row.st-excused{border-inline-start-color:var(--ink)}.roll-row.st-early_leave{border-inline-start-color:#805ad5}.roll-name{gap:.1rem;display:grid}.roll-status{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.3rem;display:flex}.st-btn{border:1px solid var(--rule);background:var(--surface);cursor:pointer;border-radius:999px;min-height:36px;padding:0 .7rem;font-size:.85rem}.st-btn:disabled{cursor:default;opacity:.7}.st-btn[aria-checked=true].st-present{background:var(--ok);border-color:var(--ok);color:#fff}.st-btn[aria-checked=true].st-absent{background:var(--danger);border-color:var(--danger);color:#fff}.st-btn[aria-checked=true].st-late{color:#fff;background:#d69e2e;border-color:#d69e2e}.st-btn[aria-checked=true].st-excused{background:var(--ink);border-color:var(--ink);color:#fff}.st-btn[aria-checked=true].st-early_leave{color:#fff;background:#805ad5;border-color:#805ad5}.save-bar{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-m);align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex;position:sticky;bottom:0;box-shadow:0 -6px 18px #0a364214}.tag-pending{background:var(--mark-soft);border-radius:4px;padding:.05rem .5rem}tr.row-flag td{background:#fcf4f5}@media (width<=720px){.roll-row{grid-template-columns:1fr}.roll-status{justify-content:flex-start}}.channel-grid{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.channel{text-align:start;border:1px solid var(--rule);border-radius:var(--radius-m);background:var(--surface);cursor:pointer;gap:.2rem;padding:.75rem;display:grid}.channel[aria-checked=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:linear-gradient(to top, var(--mark-soft), var(--surface))}.channel:disabled{cursor:not-allowed;opacity:.6}details>summary{cursor:pointer;padding-block:.25rem}@media (width<=640px){.channel-grid{grid-template-columns:1fr 1fr}}.gs-badge{border:1px solid var(--rule);white-space:nowrap;border-radius:999px;padding:.1rem .55rem;font-size:.8rem;display:inline-block}.gs-draft{background:var(--paper);color:var(--muted)}.gs-submitted{background:var(--mark-soft);border-color:var(--mark);color:var(--text)}.gs-approved{color:var(--ok);background:#e6f3ec;border-color:#a9d3bc}table.gradebook td,table.gradebook th{padding:.45rem .6rem}.num-col{white-space:nowrap;text-align:center!important}.sticky-col{background:var(--surface);z-index:1;min-width:150px;position:sticky;inset-inline-start:0}input.mark{text-align:center;border:1px solid var(--rule);border-radius:var(--radius-s);background:var(--surface);font-variant-numeric:tabular-nums;width:64px;min-height:36px}input.mark:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--ink-soft);background:var(--mark-soft);outline:none}input.mark:disabled{background:var(--paper);color:var(--text);border-color:#0000}input.mark.over{border-color:var(--danger);background:#fcf4f5}.fail{color:var(--danger)}.st-btn[aria-checked=true].desc-mastered{background:var(--ok);border-color:var(--ok);color:#fff}.st-btn[aria-checked=true].desc-developing{color:#fff;background:#d69e2e;border-color:#d69e2e}.st-btn[aria-checked=true].desc-needs_support{background:var(--danger);border-color:var(--danger);color:#fff}.suggestion{text-align:start;border:1px dashed var(--rule);background:var(--paper);border-radius:var(--radius-s);cursor:pointer;padding:.45rem .65rem;font-size:.88rem;line-height:1.5}.suggestion:hover{border-color:var(--ink);background:var(--surface)}table.sheet th{text-overflow:ellipsis;max-width:90px;overflow:hidden}.print-toolbar{margin-bottom:1rem}.report-card{color:#111;border:1px solid var(--rule);background:#fff;border-radius:4px;max-width:210mm;margin:0 auto 1.5rem;padding:14mm 14mm 10mm;font-size:13px;line-height:1.5}.rc-head{border-bottom:3px solid var(--ink);align-items:center;gap:1rem;margin-bottom:.9rem;padding-bottom:.75rem;display:flex}.rc-head img,.rc-mono{object-fit:contain;border-radius:8px;width:64px;height:64px}.rc-mono{background:var(--ink);color:#fff;place-items:center;font-size:1.6rem;font-weight:700;display:grid}.rc-head h1{font-size:1.45rem}.rc-head p{color:#444}.rc-info{grid-template-columns:repeat(2,1fr);gap:.35rem 1.5rem;margin:0 0 .9rem;display:grid}.rc-info div{border-bottom:1px dotted #bbb;gap:.5rem;padding-bottom:.2rem;display:flex}.rc-info dt{color:#555;min-width:90px}.rc-info dd{margin:0;font-weight:500}.rc-table{border-collapse:collapse;width:100%;margin-bottom:.9rem}.rc-table th,.rc-table td{text-align:start;vertical-align:top;border:1px solid #c9d4d2;padding:.35rem .5rem}.rc-table th{background:var(--ink-soft);font-size:.85rem;font-weight:600}.rc-table tr.rc-fail td{color:#9b1c2c}.rc-comment{color:#333;font-size:.85rem}.rc-summary{flex-wrap:wrap;gap:.75rem;margin-bottom:.9rem;display:flex}.rc-summary div{border:1px solid #c9d4d2;border-radius:6px;flex:1;min-width:120px;padding:.5rem .7rem;display:grid}.rc-summary span{color:#555;font-size:.82rem}.rc-summary strong{color:var(--ink);font-size:1.35rem}.rc-summary small{color:#555}.rc-note{border:1px solid #c9d4d2;border-radius:6px;margin-bottom:.9rem;padding:.6rem .8rem}.rc-note h3{margin-bottom:.25rem;font-size:.9rem}.rc-sign{text-align:center;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1.6rem;display:grid}.rc-sign div{color:#444;border-top:1px solid #777;padding-top:.3rem}.rc-legend{margin-top:.6rem}@media print{@page{size:A4;margin:0}body{background:#fff}body.printing .sidebar,body.printing .topbar,body.printing .page-head,body.printing .tabs,body.printing .print-toolbar,body.printing .toast,body.printing .no-print{display:none!important}body.printing .shell{display:block}body.printing .main{max-width:none;padding:0}.report-card{page-break-after:always;break-after:page;border:0;border-radius:0;max-width:none;margin:0}.report-card:last-child{page-break-after:auto;break-after:auto}}.export-menu{flex-wrap:wrap;gap:.35rem;display:inline-flex}#print-root{display:none}.pdf-stage{z-index:-1;position:fixed;top:0;left:-30000px}.pdf-page,.pdf-doc-page{color:#111;box-sizing:border-box;background:#fff;font-family:Readex Pro,system-ui,sans-serif;position:relative;overflow:hidden}.pdf-page{width:794px;padding:34px}.pdf-page.land{width:1123px}.pdf-doc-page .report-card{box-sizing:border-box;border:0;border-radius:0;max-width:none;min-height:1123px;margin:0}.pdf-num{bottom:14px;text-align:center;color:#777;font-size:10px;position:absolute;inset-inline:0}.pdoc{color:#111;font-family:Readex Pro,system-ui,sans-serif;font-size:11px;line-height:1.45}.pdoc-head{border-bottom:2px solid #0f4c5c;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:8px;padding-bottom:6px;display:flex}.pdoc-school{color:#0f4c5c;font-size:12px;font-weight:600}.pdoc-head h1{margin:2px 0 0;font-size:17px}.pdoc-head p{color:#444;margin:2px 0 0}.pdoc-meta{color:#666;white-space:nowrap;font-size:10px}.pdoc-table{border-collapse:collapse;width:100%}.pdoc-table th,.pdoc-table td{text-align:start;vertical-align:top;border:1px solid #c9d4d2;padding:4px 6px}.pdoc-table th{background:#e3eeec;font-weight:600}.pdoc-table td.n,.pdoc-table th.n{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap}.pdoc-table tbody tr:nth-child(2n) td{background:#f7faf9}.pdoc-table tfoot td{border-top:2px solid #0f4c5c;font-weight:700}@page doc{size:A4 portrait;margin:12mm}@page docland{size:A4 landscape;margin:10mm}@media print{body.print-doc>:not(#print-root){display:none!important}body.print-doc #print-root{display:block}#print-root .pdoc{page:doc}#print-root .pdoc.land{page:docland}.pdoc-table thead{display:table-header-group}.pdoc-table tr{break-inside:avoid}.pdoc-table th,.pdoc-table tbody tr:nth-child(2n) td{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.fees .stats{gap:1.75rem}.fees .stat b{font-size:1.45rem}.gs-overdue{color:var(--danger);background:#fcf0f2;border-color:#e7b3bc}.gs-void{background:var(--paper);color:var(--muted);text-decoration:line-through}.pill.on{background:var(--ink);color:#fff;border-color:var(--ink)}.method-grid{flex-wrap:wrap;gap:.4rem;display:flex}.method-grid .pill{padding:.35rem .8rem;font-size:.88rem}.method-grid .pill input{opacity:0;pointer-events:none;position:absolute}@media (width<=760px){.grid-3{grid-template-columns:1fr 1fr}}@media (width<=480px){.grid-3{grid-template-columns:1fr}}.search-box{max-width:520px;position:relative}.search-box .input{min-height:46px;font-size:1rem}.search-results{inset-inline:0;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-m);z-index:5;position:absolute;top:calc(100% + 4px);overflow:hidden;box-shadow:0 8px 24px #0f4c5c1f}.search-results button{text-align:start;border:0;border-top:1px solid var(--rule);cursor:pointer;width:100%;font:inherit;background:0 0;padding:.6rem .9rem;display:block}.search-results button:first-child{border-top:0}.search-results button:hover,.search-results button:focus{background:var(--ink-soft);outline:none}.bar-row{grid-template-columns:9rem minmax(0,1fr) 8rem;align-items:center;gap:.75rem;font-size:.9rem;display:grid}.bar-row .num{text-align:end}.bar{background:var(--paper);border-radius:999px;height:10px;overflow:hidden}.bar i{background:var(--ink);border-radius:999px;height:100%;display:block}.price-grid{border-top:1px dashed var(--rule);flex-wrap:wrap;align-items:flex-end;gap:.6rem;padding:.6rem 0;display:flex}.price-stage{width:100%}.price-cell{gap:.2rem;width:132px;font-size:.82rem;display:grid}.price-cell .input{min-height:36px}.doc-h{color:var(--ink);margin:.4rem 0;font-size:.95rem}.rc-sign.two{grid-template-columns:1fr 1fr}.rc-table tfoot td{background:var(--ink-soft);font-weight:700}.receipt-sheet{padding:9mm 12mm}.receipt{min-height:128mm;position:relative}.receipt .rc-head{margin-bottom:.5rem;padding-bottom:.45rem}.receipt .rc-head h1{font-size:1.15rem}.receipt .rc-head img,.receipt .rc-mono{width:46px;height:46px;font-size:1.2rem}.receipt .rc-info,.receipt .rc-table{margin-bottom:.5rem}.receipt .rc-sign{margin-top:.9rem}.receipt-top{align-items:center;gap:1.5rem;margin-bottom:.5rem;display:flex}.receipt-top div{display:grid}.receipt-top span{color:#555;font-size:.78rem}.receipt-top strong{font-size:1.05rem}.receipt-copy{border:1px solid var(--ink);color:var(--ink);border-radius:4px;margin-inline-start:auto;padding:.15rem .6rem;font-size:.8rem}.receipt-amount{border:2px solid var(--ink);border-radius:6px;gap:.15rem;margin-bottom:.6rem;padding:.5rem .8rem;display:grid}.receipt-amount strong{color:var(--ink);font-size:1.4rem}.receipt-amount span{font-size:.9rem}.receipt-foot{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.cut-line{text-align:center;color:#999;border-top:1px dashed #999;margin:5mm 0;font-size:12px;line-height:0}.void-stamp{top:40%;text-align:center;color:#b23a4859;pointer-events:none;letter-spacing:.2em;font-size:3.2rem;font-weight:700;position:absolute;inset-inline:0;transform:rotate(-14deg)}.pdf-stage *,:lang(ar) .void-stamp,[dir=rtl] .void-stamp{letter-spacing:normal!important}.badge{background:var(--danger);color:#fff;border-radius:999px;place-items:center;min-width:1.25rem;height:1.25rem;margin-inline-start:.4rem;padding:0 .35rem;font-size:.72rem;font-weight:600;line-height:1;display:inline-grid}.nav button{align-items:center;display:flex}.inbox{border:1px solid var(--rule);border-radius:var(--radius-m);background:var(--surface);grid-template-columns:minmax(260px,340px) minmax(0,1fr);min-height:520px;display:grid;overflow:hidden}.inbox-list{border-inline-end:1px solid var(--rule);max-height:72vh;overflow-y:auto}.inbox-pane{flex-direction:column;min-width:0;display:flex}.inbox-pane>.empty{margin:auto}.inbox-pane>form{border:0;border-radius:0}@media (width<=760px){.inbox{grid-template-columns:1fr;min-height:0}.inbox-list{border:0;max-height:none}.inbox.has-open .inbox-list,.inbox:not(.has-open) .inbox-pane{display:none}}.thread-list{margin:0;padding:0;list-style:none}.thread-list button{text-align:start;border:0;border-top:1px solid var(--rule);width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;gap:.1rem;padding:.7rem .9rem;display:grid;position:relative}.thread-list button:hover{background:var(--paper)}.thread-list button.on{background:var(--ink-soft)}.thread-list button.unread strong{font-weight:700}.thread-list .badge{inset-inline-end:.8rem;position:absolute;bottom:.7rem}.tl-top{justify-content:space-between;gap:.5rem;display:flex}.tl-last{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;padding-inline-end:2rem;overflow:hidden}.thread-view{flex-direction:column;flex:1;min-height:0;display:flex}.tv-head{border-bottom:1px solid var(--rule);align-items:center;gap:.6rem;padding:.7rem .9rem;display:flex}.tv-msgs{background:var(--paper);flex-direction:column;flex:1;gap:.55rem;min-height:240px;max-height:60vh;padding:1rem;display:flex;overflow-y:auto}.bubble{background:var(--surface);border:1px solid var(--rule);border-radius:14px;border-start-start-radius:4px;align-self:flex-start;max-width:min(80%,520px);padding:.5rem .75rem}.bubble.mine{background:var(--ink);color:#fff;border-color:var(--ink);border-radius:14px;border-start-end-radius:4px;align-self:flex-end}.bubble.mine .btn-link{color:#fff}.b-name{color:var(--ink);font-weight:600}.b-body{white-space:pre-wrap;overflow-wrap:anywhere}.b-time{opacity:.65;text-align:end;font-size:.72rem}.tv-compose{border-top:1px solid var(--rule);gap:.4rem;padding:.7rem .9rem;display:grid}.ann.unread{border-inline-start:4px solid var(--mark)}.ann.pinned{background:#fffdf5}.ann-body{white-space:pre-wrap;margin:.4rem 0}.target-grid{border:1px solid var(--rule);border-radius:var(--radius-s);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.3rem 1rem;max-height:220px;padding:.5rem;display:grid;overflow-y:auto}.parent-app{min-height:100%;padding-bottom:76px}.p-head{z-index:10;background:var(--surface);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem 1rem;display:flex;position:sticky;top:0}.p-brand{align-items:center;gap:.6rem;min-width:0;display:flex}.p-brand strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.p-brand img,.mono{object-fit:contain;border-radius:9px;flex:none;width:34px;height:34px}.mono{background:var(--ink);color:#fff;place-items:center;font-weight:700;display:grid}.mono.big{border-radius:16px;width:64px;height:64px;font-size:1.6rem}.p-kids{gap:.5rem;max-width:760px;margin:0 auto;padding:.75rem 1rem 0;display:flex;overflow-x:auto}.p-kids button{border:1px solid var(--rule);background:var(--surface);font:inherit;cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:.45rem;padding:.3rem .8rem .3rem .35rem;display:flex}.p-kids button img,.p-kids button .mono{border-radius:50%;width:28px;height:28px;font-size:.8rem}.p-kids button[aria-selected=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);font-weight:600}.p-main{max-width:760px;margin:0 auto;padding:1rem}.p-child{align-items:center;gap:1rem;padding:1rem;display:flex}.p-child img{object-fit:cover;border-radius:16px;width:64px;height:64px}.p-child h2{margin:0;font-size:1.3rem}.p-child p{margin:.1rem 0 0}.p-today{text-align:start;width:100%;font:inherit;color:inherit;cursor:pointer;border-inline-start:6px solid var(--rule);gap:.15rem;padding:.9rem 1rem;display:grid}.p-today strong{font-size:1.25rem}.p-today.st-present{border-inline-start-color:var(--ok)}.p-today.st-absent{border-inline-start-color:var(--danger)}.p-today.st-late,.p-today.st-early_leave{border-inline-start-color:#d69e2e}.p-today.st-excused{border-inline-start-color:var(--ink)}.p-cards{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.p-cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}.p-cards>*{text-align:start;font:inherit;color:inherit;cursor:pointer;gap:.1rem;min-width:0;padding:.9rem;display:grid}.p-cards>div{cursor:default}.p-cards b{color:var(--ink);overflow-wrap:anywhere;font-size:1.5rem;line-height:1.2}.p-cards.three b{font-size:1.15rem}.p-cards span{color:var(--muted);font-size:.88rem}.p-h{margin:.5rem 0 0;font-size:1rem}.p-row{justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .9rem;display:flex}.p-link{width:100%;font:inherit;color:inherit;cursor:pointer;text-align:start}.at-chip{border:1px solid var(--rule);white-space:nowrap;border-radius:999px;padding:.1rem .6rem;font-size:.82rem}.at-chip.st-absent{color:var(--danger);background:#fcf0f2;border-color:#e7b3bc}.at-chip.st-late,.at-chip.st-early_leave{color:#8a5a00;background:#fff7e3;border-color:#ebcb8b}.at-chip.st-excused{color:var(--ink);background:var(--ink-soft)}.p-tabs{bottom:0;z-index:20;background:var(--surface);border-top:1px solid var(--rule);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(6,1fr);display:grid;position:fixed;inset-inline:0}.p-tabs button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-items:center;gap:.05rem;padding:.45rem .1rem .5rem;font-size:.72rem;display:grid;position:relative}.p-tabs button i{font-size:1.15rem;font-style:normal;line-height:1.2}.p-tabs button[aria-current=page]{color:var(--ink);font-weight:600}.p-tabs button[aria-current=page] i{background:var(--mark-soft);border-radius:999px;padding:0 .7rem}.p-tabs .badge{top:.2rem;margin:0;position:absolute;inset-inline-start:55%}.parent-app .inbox{min-height:60vh}.parent-app .print-area{margin:-1rem}@media (width>=900px){.p-tabs{border:1px solid var(--rule);border-radius:var(--radius-m);max-width:760px;margin:.75rem auto 0;position:sticky;top:55px;bottom:auto}.parent-app{flex-direction:column;padding-bottom:2rem;display:flex}.p-head{order:0}.p-tabs{order:1}.p-kids{order:2}.p-main{order:3;width:100%}}@media print{body.printing .p-head,body.printing .p-tabs,body.printing .p-kids{display:none!important}body.printing .parent-app{padding:0}body.printing .p-main{max-width:none;padding:0}}.p-cards.three b{white-space:nowrap;overflow-wrap:normal;font-size:clamp(.95rem,4.2vw,1.2rem)}@media (width>=761px){.inbox .tv-head>.btn-ghost:first-child{display:none}}.ro-steps{flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem;padding:0;list-style:none;display:flex}.ro-steps button{border:1px solid var(--rule);background:var(--surface);font:inherit;cursor:pointer;color:inherit;border-radius:999px;align-items:center;gap:.5rem;padding:.45rem .9rem .45rem .5rem;display:flex}.ro-steps button:disabled{opacity:.5;cursor:default}.ro-steps b{background:var(--paper);border-radius:50%;place-items:center;width:1.6rem;height:1.6rem;font-size:.85rem;display:grid}.ro-steps li.on button{border-color:var(--ink);font-weight:600}.ro-steps li.on b{background:var(--mark)}.ro-steps li.done b{background:var(--ok);color:#fff}.chip-wrap{flex-wrap:wrap;gap:.35rem;display:flex}.pos{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:1rem;display:grid}@media (width<=900px){.pos{grid-template-columns:1fr}}.pos-menu{gap:.8rem;min-width:0;display:grid}.cat-chips{gap:.35rem;display:flex;overflow-x:auto}.cat-chips button{border:1px solid var(--rule);background:var(--surface);font:inherit;cursor:pointer;white-space:nowrap;border-radius:999px;padding:.35rem .85rem;font-size:.88rem}.cat-chips button[aria-selected=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.pos-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.6rem;display:grid}.pos-item{text-align:start;border:1px solid var(--rule);border-radius:var(--radius-m);background:var(--surface);min-height:96px;font:inherit;color:inherit;cursor:pointer;align-content:start;gap:.2rem;padding:.75rem;display:grid}.pos-item:hover{border-color:var(--ink);box-shadow:0 2px 8px #0f4c5c1a}.pos-item:active{transform:scale(.98)}.pos-item .num{color:var(--ink);font-size:1.1rem;font-weight:600}.pos-item small{color:var(--muted);font-size:.75rem}.pos-item .warn,.warn{color:#8a5a00}.pos-item.blocked{background:#fcf0f2;border-color:#e7b3bc}.pos-item.out{opacity:.45;cursor:not-allowed}.pos-side{gap:.7rem;padding:.9rem;display:grid;position:sticky;top:1rem}.pos-student{gap:.5rem;display:grid}.pos-student img{object-fit:cover;border-radius:10px;width:44px;height:44px}.pos-bal{gap:.6rem;display:flex}.pos-bal div{border-radius:var(--radius-s);background:var(--ink-soft);flex:1;padding:.5rem .7rem;display:grid}.pos-bal span{color:var(--muted);font-size:.78rem}.pos-bal b{color:var(--ink);font-size:1.3rem}.cart{gap:.25rem;max-height:40vh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.cart li{border-bottom:1px dashed var(--rule);grid-template-columns:minmax(0,1fr) auto 5.5rem;align-items:center;gap:.4rem;padding:.25rem 0;display:grid}.cart li>.num{text-align:end}.cart .qty{align-items:center;gap:.15rem;display:inline-flex}.cart .qty .btn{min-width:30px;padding:.1rem .4rem}.pos-total{border-top:2px solid var(--ink);justify-content:space-between;align-items:baseline;padding-top:.5rem;font-size:1.1rem;display:flex}.pos-total b{color:var(--ink);font-size:1.6rem}.pos-pay{grid-template-columns:2fr 1fr;gap:.5rem;display:grid}.pos-pay .btn{min-height:52px;font-size:1rem}.tt-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:1rem;display:grid}@media (width<=980px){.tt-layout{grid-template-columns:1fr}}.tt-grid{border-collapse:separate;border-spacing:4px;table-layout:fixed;width:100%}.tt-grid th{color:var(--muted);padding:.4rem;font-size:.82rem;font-weight:600}.tt-grid th:first-child,.tt-grid td.tt-period{width:110px}.tt-period{vertical-align:middle;padding:.3rem .4rem;font-size:.85rem}.tt-cell{border:1px dashed var(--rule);vertical-align:top;background:var(--surface);border-radius:8px;height:58px;padding:.35rem .45rem;font-size:.85rem;line-height:1.3;overflow:hidden}.tt-cell.filled{background:var(--c,var(--ink-soft));border-style:solid;border-color:#0000}.tt-cell strong{font-weight:600;display:block}.tt-cell span{color:#39484c}.tt-cell.editable{cursor:pointer}.tt-cell.editable:hover{border-color:var(--ink)}.tt-cell.on{outline:2px solid var(--ink);outline-offset:1px}.tt-break td{background:var(--paper);color:var(--muted);text-align:center;border-radius:6px;padding:.2rem;font-size:.8rem}.tt-break td:first-child{text-align:start}.tt-side{position:sticky;top:1rem}.tt-pick{text-align:start;border:1px solid var(--rule);background:var(--c,var(--surface));font:inherit;cursor:pointer;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.1rem .5rem;padding:.5rem .6rem;display:grid}.tt-pick small{color:var(--muted);font-size:.75rem;display:block}.tt-pick.on{outline:2px solid var(--ink)}.tt-pick:disabled{opacity:.55;cursor:not-allowed;background:var(--paper)}.tt-pick .fail{grid-column:1/-1}.tt-load{grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:.5rem;font-size:.9rem;display:grid}.tt-load small{font-size:.75rem;display:block}.tt-load .dot{border:1px solid var(--rule);border-radius:3px;width:12px;height:12px}.ok-text{color:var(--ok)}.tt-sheet h2{margin:0 0 .6rem;font-size:1.1rem}.tt-sheet .tt-cell{-webkit-print-color-adjust:exact;print-color-adjust:exact;height:50px}.tt-parent{padding:.4rem;overflow-x:auto}.tt-parent .tt-grid{min-width:560px}.tt-day-break{text-align:center;border-top:1px dashed var(--rule);border-bottom:1px dashed var(--rule);padding:.2rem}.hs-submitted{color:var(--ok);background:#e6f3ec;border-color:#a9d3bc}.hs-late{color:#8a5a00;background:#fff7e3;border-color:#ebcb8b}.hs-missing{color:var(--danger);background:#fcf0f2;border-color:#e7b3bc}.hs-excused,.hs-none,.hs-pending{background:var(--paper);color:var(--muted)}.hs-pending{background:var(--mark-soft);border-color:var(--mark);color:var(--text)}.hw-card{overflow:hidden}.hw-card.st-pending{border-inline-start:4px solid var(--mark)}.hw-card.st-missing{border-inline-start:4px solid var(--danger)}.hw-head{width:100%;font:inherit;color:inherit;text-align:start;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.6rem;padding:.75rem .9rem;display:flex}.hw-head>span:first-child{min-width:0;display:grid}.hw-body{padding:0 .9rem .9rem}.bh-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:.55rem;display:grid}.bh-card{border:1px solid var(--rule);border-radius:var(--radius-m);background:var(--surface);font:inherit;cursor:pointer;text-align:center;justify-items:center;gap:.3rem;padding:.7rem .4rem;display:grid;position:relative}.bh-card img,.bh-card .mono{object-fit:cover;border-radius:50%;width:44px;height:44px}.bh-card.on{border-color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink);background:var(--ink-soft)}.bh-name{font-size:.85rem;line-height:1.3}.bh-pts{top:6px;background:var(--paper);border-radius:999px;padding:0 .4rem;font-size:.75rem;font-weight:700;position:absolute;inset-inline-end:6px}.bh-pts.pos{color:var(--ok);background:#e6f3ec}.bh-pts.neg{color:var(--danger);background:#fcf0f2}.bh-bar{z-index:3;position:sticky;bottom:.75rem;box-shadow:0 6px 20px #0f4c5c1f}.bh-bar:not(.active){opacity:.85}.bh-cats{flex-wrap:wrap;gap:.45rem;display:flex}.bh-cat{font:inherit;cursor:pointer;border:1px solid;border-radius:999px;padding:.45rem .8rem;font-size:.9rem}.bh-cat.positive{color:#1e5c41;background:#e6f3ec;border-color:#a9d3bc}.bh-cat.negative{color:#8e2a37;background:#fcf0f2;border-color:#e7b3bc}.bh-cat:disabled{opacity:.45;cursor:default}.bh-chip{border-radius:999px;padding:.05rem .55rem;font-size:.82rem;display:inline-block}.bh-chip.positive{color:#1e5c41;background:#e6f3ec}.bh-chip.negative{color:#8e2a37;background:#fcf0f2}.apply-wrap{gap:1rem;max-width:820px;margin:0 auto;padding:1.25rem 1rem 3rem;display:grid}.apply-head{align-items:center;gap:.9rem;display:flex}.apply-head img{object-fit:contain;border-radius:14px;width:64px;height:64px}.apply-head h1{margin:0;font-size:1.4rem}.apply-head p{margin:.1rem 0 0}.apply-nav{border-bottom:1px solid var(--rule);gap:1rem;padding-bottom:.5rem}.apply-nav a{color:var(--muted);padding:.2rem 0;text-decoration:none}.apply-nav a[aria-current=page]{color:var(--ink);box-shadow:inset 0 -3px 0 var(--mark);font-weight:600}.apply-done{text-align:center;justify-items:center}.apply-code{letter-spacing:.08em;color:var(--ink);background:var(--mark-soft);border-radius:10px;padding:.4rem 1.2rem;font-size:2rem;font-weight:700}.hp{clip:rect(0 0 0 0);clip-path:inset(50%);opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.ap-new{background:var(--mark-soft);border-color:var(--mark)}.ap-under_review,.ap-interview{color:#2b4a7e;background:#e8eef9;border-color:#b9c8e6}.ap-accepted{color:var(--ok);background:#e6f3ec;border-color:#a9d3bc}.ap-waitlisted{color:#8a5a00;background:#fff7e3;border-color:#ebcb8b}.ap-rejected,.ap-withdrawn{color:var(--danger);background:#fcf0f2;border-color:#e7b3bc}.ad-link{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.ad-link img{border:1px solid var(--rule);background:#fff;border-radius:8px}.ad-url{background:var(--paper);overflow-wrap:anywhere;border-radius:6px;padding:.4rem .6rem;font-size:.85rem;display:block}.switch-row{align-items:center;gap:.5rem;display:flex}.switch-row input{width:20px;height:20px;accent-color:var(--ok)}.doc-list{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;display:grid}@media (width<=760px){.grid-4{grid-template-columns:1fr 1fr}}.gs-due{color:#8a5a10;background:#fff6e5;border-color:#ebc98a}.mt-day{border-bottom:1px solid var(--rule);align-items:baseline;gap:.6rem;margin:0;padding:.8rem 1.1rem;font-size:1rem;display:flex}.mt-list{display:grid}.mt-slot{border-bottom:1px solid var(--rule);grid-template-columns:64px minmax(0,1fr) auto auto;align-items:center;gap:.4rem 1rem;padding:.7rem 1.1rem;display:grid}.mt-slot:last-child{border-bottom:0}.mt-slot.on{background:linear-gradient(to left, var(--ink-soft), transparent 40%)}[dir=ltr] .mt-slot.on{background:linear-gradient(to right, var(--ink-soft), transparent 40%)}.mt-slot.past{opacity:.6}.mt-time{color:var(--ink);font-weight:600;line-height:1.2;display:grid}.mt-time small{color:var(--muted);font-weight:400}.mt-tags{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.mt-actions{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.mt-mode{background:var(--paper);border:1px solid var(--rule);white-space:nowrap;border-radius:999px;padding:.05rem .5rem;font-size:.78rem;display:inline-block}.mt-mode.m-online{color:#24508f;background:#eaf1fb;border-color:#b7cbea}.mt-mode.m-in_person{background:var(--ink-soft);color:var(--ink);border-color:#b9d3cf}@media (width<=720px){.mt-slot{grid-template-columns:56px minmax(0,1fr)}.mt-tags,.mt-actions{grid-column:2;justify-content:flex-start}}.mt-steps{gap:.2rem;margin:0;padding-inline-start:1.2rem;display:grid}.mt-times{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:.5rem;display:grid}.mt-times button{font:inherit;border-radius:var(--radius-s);border:1px solid var(--rule);background:var(--surface);color:var(--ink);cursor:pointer;padding:.6rem 0;font-weight:600}.mt-times button.on{background:var(--ink);border-color:var(--ink);color:#fff}.mt-card{border-inline-start:4px solid var(--ink);gap:.4rem;padding:1rem}.cl-queue{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem;display:grid}.cl-card{border-inline-start:4px solid var(--mark);gap:.45rem;padding:.9rem 1rem;display:grid}.cl-flags{flex-wrap:wrap;gap:.35rem;display:flex}.cl-flag{background:var(--paper);border:1px solid var(--rule);border-radius:999px;padding:.05rem .5rem;font-size:.8rem}.cl-flag.allergy{color:var(--danger);background:#fcf0f2;border-color:#e7b3bc}.alert.cl-alert{gap:.2rem;display:grid}.cl-bar{grid-template-columns:120px minmax(0,1fr) 36px;align-items:center;gap:.6rem;padding:.25rem 0;font-size:.9rem;display:grid}.cl-bar i{background:var(--ink);border-radius:999px;min-width:4px;height:10px;display:block}.cl-bar b{text-align:end}.kv{gap:.45rem;margin:0;display:grid}.kv>div{grid-template-columns:130px minmax(0,1fr);gap:.6rem;display:grid}.kv dt{color:var(--muted)}.kv dd{overflow-wrap:anywhere;margin:0}.cl-visit{align-items:flex-start}.ex-grid{border-collapse:collapse;width:100%;font-size:.88rem}.ex-grid th,.ex-grid td{border:1px solid var(--rule);vertical-align:top;min-width:120px;padding:.35rem}.ex-grid thead th{background:var(--paper);color:var(--muted);font-weight:500;position:sticky;top:0}.ex-grid tbody th{text-align:start;white-space:nowrap;background:var(--paper);min-width:90px;font-weight:500}.ex-grid tr.weekend td,.ex-grid tr.weekend th{background:repeating-linear-gradient(-45deg, var(--paper), var(--paper) 6px, #fff 6px, #fff 12px)}.ex-chip{text-align:start;width:100%;font:inherit;border-radius:var(--radius-s);background:var(--ink-soft);color:var(--ink);cursor:pointer;border:1px solid #b9d3cf;gap:.1rem;margin-bottom:.3rem;padding:.35rem .5rem;font-size:.82rem;display:grid}.ex-chip:disabled{cursor:default}.ex-chip span{color:var(--muted);font-size:.78rem}.ex-add{width:100%;font:inherit;color:var(--muted);border:1px dashed var(--rule);border-radius:var(--radius-s);cursor:pointer;opacity:.55;background:0 0;padding:.15rem}.ex-add:hover,.ex-add:focus-visible{opacity:1;color:var(--ink);border-color:var(--ink)}.ex-rooms{gap:.35rem;display:grid}.ex-room{border:1px solid var(--rule);border-radius:var(--radius-s);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.4rem .6rem;display:flex}.ex-room.on{border-color:var(--ink);background:var(--ink-soft)}.notice.warn-notice{color:var(--danger);background:#fcf0f2;border-color:#e7b3bc}.ex-person{background:var(--paper);border:1px solid var(--rule);border-radius:999px;align-items:center;gap:.3rem;margin:.1rem;padding:.05rem .55rem;font-size:.82rem;display:inline-flex}.ex-load{flex-wrap:wrap;gap:.2rem;display:flex}.ex-print-head{border-bottom:2px solid #111;align-items:center;gap:.8rem;margin-bottom:.8rem;padding-bottom:.6rem;font-size:15px;display:flex}.ex-print-head img{object-fit:contain;width:54px;height:54px}.ex-print-table{border-collapse:collapse;width:100%}.ex-print-table th,.ex-print-table td{text-align:start;border:1px solid #555;padding:6px 8px}.ex-print-table th{background:#eee}.ex-instructions{white-space:pre-wrap;border:1px solid #999;margin-top:10px;padding:8px}.ex-room-meta{margin:0 0 8px}.ex-cards{grid-template-columns:1fr 1fr;align-content:start;gap:6mm;display:grid}.ex-card{break-inside:avoid;border:1.5px dashed #555;border-radius:4px;gap:1mm;min-height:44mm;padding:4mm 5mm;display:grid}.ex-card-name{font-size:15px}.ex-card-row{border-top:1px solid #ccc;justify-content:space-between;padding-top:1mm;display:flex}.ex-card-row b{font-size:18px}.ex-seat-head{justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;display:flex}.ex-seat-box{text-align:center;border-radius:var(--radius-m);background:var(--mark-soft);border:1px solid var(--mark);padding:.4rem .9rem;line-height:1.2;display:grid}.ex-seat-box span{color:var(--muted);font-size:.75rem}.ex-seat-box b{color:var(--ink);font-size:1.5rem}.ex-seat-box small{font-size:.78rem}.ex-today{border-inline-start:4px solid var(--mark)}.ex-result{color:var(--ink);font-size:1.3rem}.xs-add{grid-template-columns:110px 80px minmax(140px,1fr) 140px 120px auto;align-items:end;gap:.6rem;display:grid}@media (width<=860px){.xs-add{grid-template-columns:1fr 1fr}}.xs-fee{width:100px;padding:.25rem .4rem}.xs-grade{text-align:center;width:70px;font-weight:600}.xs-chips{flex-wrap:wrap;gap:.3rem;display:flex}.xs-chip{background:var(--ink-soft);border:1px solid #b9d3cf;border-radius:999px;align-items:center;gap:.25rem;padding:.05rem .25rem .05rem .55rem;font-size:.82rem;display:inline-flex}.xs-chip.late{background:#fff6e5;border-color:#ebc98a}.xs-chip button{cursor:pointer;color:var(--muted);background:0 0;border:0;padding:0 .2rem;font-size:.75rem}.gt-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.gt-code{flex:320px;gap:.4rem;display:flex}.gt-code .input{letter-spacing:.15em;font-size:1.15rem;font-weight:600}.gt-code .input::placeholder{letter-spacing:normal;font-weight:400}.gt-cols{align-items:start}.gt-v.done{opacity:.6}.gt-badge{border-radius:var(--radius-s);background:var(--ink);color:#fff;margin-inline:.5rem;padding:0 .4rem;font-size:.75rem;display:inline-block}.alert.gt-blocked{justify-items:start;gap:.35rem;display:grid}.alert.gt-warn{color:#8a5a10;background:#fff6e5;border-color:#ebc98a}.gt-student img,.gt-student .mono{object-fit:cover;background:var(--ink-soft);width:48px;height:48px;color:var(--ink);border-radius:50%;place-items:center;font-weight:600;display:grid}.gt-guardian{border:1px solid var(--rule);border-radius:var(--radius-s);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.55rem .7rem;display:grid}.gt-guardian.on{border-color:var(--ink);background:var(--ink-soft)}.gt-guardian.no.on{background:#fff6e5;border-color:#ebc98a}.gt-pass{place-items:center;display:grid}.gt-pass-card{text-align:center;border:2px solid #111;border-radius:8px;justify-items:center;gap:3mm;width:105mm;padding:8mm;display:grid}.gt-pass-card h2{margin:0;font-size:20px}.gt-pass-name{font-size:18px}.gt-pass-code{letter-spacing:.2em;font-size:26px}.qr-overlay{z-index:60;color:#fff;background:#0b1416;grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0}.qr-top,.qr-bottom{flex-wrap:wrap;align-items:center;gap:.5rem;padding:.7rem 1rem;display:flex}.qr-top .btn,.qr-bottom .btn:not(.btn-primary){color:#fff;background:#ffffff1a;border-color:#ffffff40}.qr-bottom .input{letter-spacing:.1em;flex:160px;max-width:260px}.qr-bottom .small{opacity:.75;flex:100%}.qr-stage{place-items:center;display:grid;position:relative;overflow:hidden}.qr-stage video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.qr-frame{aspect-ratio:1;border-radius:14px;width:min(68vw,300px);position:relative;box-shadow:0 0 0 100vmax #00000073}.qr-frame i{border:4px solid var(--mark);width:34px;height:34px;position:absolute}.qr-frame i:first-child{border-bottom:0;border-right:0;border-top-left-radius:14px;top:-2px;left:-2px}.qr-frame i:nth-child(2){border-bottom:0;border-left:0;border-top-right-radius:14px;top:-2px;right:-2px}.qr-frame i:nth-child(3){border-top:0;border-right:0;border-bottom-left-radius:14px;bottom:-2px;left:-2px}.qr-frame i:nth-child(4){border-top:0;border-left:0;border-bottom-right-radius:14px;bottom:-2px;right:-2px}.qr-error{text-align:center;border-radius:var(--radius-m);background:#ffffff14;max-width:420px;padding:1rem 1.2rem;position:relative}.qr-result{border-radius:var(--radius-m);text-align:center;gap:.2rem;padding:.9rem 1.1rem;font-size:1.05rem;display:grid;position:absolute;bottom:1rem;left:1rem;right:1rem}.qr-result.ok{background:var(--ok)}.qr-result.bad{background:var(--danger)}.qr-result span{opacity:.9;font-size:.9rem}.gt-scan span{font-size:1.1rem;line-height:1}.pos-search{align-items:center;gap:.4rem;display:flex}.pos-search .input{flex:1}.id-sheet{grid-template-columns:repeat(2,85.6mm);place-content:start center;gap:6mm 8mm;padding-top:10mm;display:grid}.id-card{-webkit-print-color-adjust:exact;print-color-adjust:exact;break-inside:avoid;background:#fff;border:1px solid #999;border-radius:3mm;grid-template-rows:auto 1fr auto;width:85.6mm;height:54mm;display:grid;overflow:hidden}.id-top{color:#fff;background:#0f4c5c;align-items:center;gap:2mm;padding:1.5mm 3mm;font-size:10px;font-weight:600;display:flex}.id-top img{object-fit:contain;background:#fff;border-radius:1mm;width:6mm;height:6mm}.id-body{grid-template-columns:18mm minmax(0,1fr) 20mm;align-items:center;gap:2mm;padding:2mm 3mm;display:grid}.id-photo{object-fit:cover;border:1px solid #ccc;border-radius:1.5mm;width:18mm;height:22mm}.id-initial{color:#0f4c5c;background:#e3eeec;place-items:center;font-size:22px;font-weight:700;display:grid}.id-info{gap:.6mm;min-width:0;font-size:9px;line-height:1.3;display:grid}.id-info strong{font-size:11px}.id-en{color:#555;font-size:8px}.id-code{letter-spacing:.05em;font-size:11px;font-weight:700}.id-qr{width:20mm;height:20mm}.id-foot{text-align:center;color:#555;border-top:1px solid #ddd;padding:.8mm;font-size:8px}.ac-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.8rem;display:grid}.ac-card{text-align:start;font:inherit;color:inherit;cursor:pointer;border-top:4px solid var(--ink);gap:.35rem;padding:1rem;display:grid}.ac-card.k-trip,.ac-card.k-camp{border-top-color:#2f7d5b}.ac-card.k-club{border-top-color:#24508f}.ac-card.k-event,.ac-card.k-competition{border-top-color:var(--mark)}.ac-card:hover{box-shadow:0 2px 10px #0f4c5c14}.ac-icon{font-size:1.2rem;line-height:1}.ac-title{font-size:1.05rem}.ac-meter{background:var(--paper);border:1px solid var(--rule);border-radius:999px;height:6px;overflow:hidden}.ac-meter i{background:var(--ok);height:100%;display:block}.ac-head{align-items:start}.ac-stats{gap:1.6rem}.ac-stats .stat small{color:var(--muted);font-size:1rem}.ac-staff{max-height:160px;overflow:auto}.ok-text{color:var(--ok);font-weight:600}.ac-count{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.ac-count>div{border-radius:var(--radius-m);background:var(--surface);border:1px solid var(--rule);text-align:center;padding:.6rem 1.1rem;display:grid}.ac-count>div.all{background:#e6f3ec;border-color:#a9d3bc}.ac-count b{color:var(--ink);font-size:1.8rem;line-height:1.1}.ac-count b small{color:var(--muted);font-size:1rem}.ac-roll{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.5rem;display:grid}.ac-roll-row{align-items:center;gap:.6rem;padding:.55rem .8rem;display:flex}.ac-roll-row img,.ac-roll-row .mono{object-fit:cover;border-radius:50%;flex:none;width:38px;height:38px}.ac-tick{font:inherit;border-radius:var(--radius-s);border:1px solid var(--rule);background:var(--surface);cursor:pointer;min-width:64px;padding:.45rem .6rem;font-size:.85rem}.ac-tick.on{background:var(--ok);border-color:var(--ok);color:#fff}.ac-p{gap:.3rem;padding:1rem;display:grid}.ac-p h3{margin:.1rem 0;font-size:1.1rem}.ac-p-foot{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.3rem;padding-top:.6rem;display:flex}.ac-p-foot b{color:var(--ink);font-size:1.15rem}.ac-consent{border-radius:var(--radius-s);background:var(--paper);border:1px solid var(--rule);gap:.6rem;padding:.8rem;display:grid}.ch{width:100%;min-width:0;position:relative}.ch svg{display:block;overflow:visible}.ch-axis{fill:#898781;font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:embed;font-size:11px}.ch-empty{text-align:center;color:var(--muted);padding:2rem 1rem;font-size:.9rem}.ch-tip{z-index:5;pointer-events:none;border-radius:var(--radius-s);background:#fff;border:1px solid #0b0b0b1a;min-width:120px;padding:.45rem .65rem;font-size:.82rem;position:absolute;box-shadow:0 4px 14px #00000014}.ch-tip-row{align-items:center;gap:.4rem;display:flex}.ch-tip-row i{border-radius:2px;flex:none;width:12px;height:2px}.ch-tip-row b{color:#0b0b0b;font-size:.95rem}.ch-tip-row span,.ch-tip-title{color:#52514e}.ch-legend{color:#52514e;gap:1rem;margin-bottom:.3rem;font-size:.82rem;display:flex}.ch-legend span{align-items:center;gap:.35rem;display:inline-flex}.ch-legend i{border-radius:2px;width:10px;height:10px}.hb{gap:.55rem;display:grid}.hb-row{border-radius:4px;grid-template-columns:minmax(90px,28%) minmax(0,1fr) auto;align-items:center;gap:.7rem;font-size:.88rem;display:grid}.hb-row:focus-visible,.hb-row:hover{background:var(--paper);outline:none}.hb-label{color:#52514e;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hb-track{border-radius:4px;height:12px;display:block;overflow:hidden}.hb-track>i{border-radius:0 4px 4px 0;height:100%;display:block}[dir=rtl] .hb-track>i{border-radius:4px 0 0 4px}.hb-stack{background:0 0;gap:2px;min-width:4px;display:flex}.hb-stack>i{border-radius:0!important}.hb-stack>i:last-child{border-radius:0 4px 4px 0!important}[dir=rtl] .hb-stack>i:last-child{border-radius:4px 0 0 4px!important}.hb-value{color:#0b0b0b;font-variant-numeric:tabular-nums;text-align:end;min-width:56px;font-weight:600}.hb-value small{color:#898781;font-size:.75rem;font-weight:400;display:block}.meter{vertical-align:middle;background:#cde2fb;border-radius:4px;width:100%;height:8px;display:inline-block;overflow:hidden}.meter i{background:#2a78d6;border-radius:4px;height:100%;display:block}.an-filters{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.an-filters .input{width:auto}.tabs-mini{border:1px solid var(--rule);border-radius:var(--radius-s);display:inline-flex;overflow:hidden}.tabs-mini button{font:inherit;background:var(--surface);cursor:pointer;color:var(--muted);border:0;padding:.45rem .9rem}.tabs-mini button[aria-selected=true]{background:var(--ink);color:#fff}.an-body.dim{opacity:.55;transition:opacity .2s}.an-hero-row{grid-template-columns:minmax(220px,1fr) 3fr;gap:.8rem;display:grid}@media (width<=960px){.an-hero-row{grid-template-columns:1fr}}.an-hero{align-content:center;gap:.2rem;padding:1.2rem 1.4rem;display:grid}.an-hero>b{color:#0b0b0b;font-size:3.4rem;font-weight:600;line-height:1}.an-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;display:grid}@media (width<=760px){.an-tiles{grid-template-columns:1fr 1fr}}.an-tile{align-content:start;gap:.25rem;padding:.85rem 1rem;display:grid}.an-tile-label{color:#52514e;align-items:center;gap:.35rem;font-size:.82rem;display:flex}.an-tile>b{color:#0b0b0b;font-size:1.6rem;font-weight:600;line-height:1.15}.an-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.an-delta{color:#52514e;font-size:.8rem}.an-delta b{font-size:.7rem}.an-delta.up b{color:#006300}.an-delta.down b{color:var(--danger)}.an-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}@media (width<=960px){.an-grid{grid-template-columns:1fr}}.an-card{grid-template-columns:minmax(0,1fr);align-content:start;gap:.7rem;min-width:0;padding:1rem 1.1rem;display:grid}.an-card.wide{grid-column:1/-1}.an-card-head{flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex}.an-card-head h3{margin:0;font-size:1rem}.an-card-head p{margin:.1rem 0 0}.an-table td,.an-table th{padding:.5rem .7rem}.an-flag{align-items:center;gap:.35rem;font-weight:600;display:inline-flex}.an-flag i{border-radius:50%;width:8px;height:8px}.an-meter-cell{align-items:center;gap:.6rem;min-width:160px;display:flex}.an-meter-cell span{text-align:end;font-variant-numeric:tabular-nums;min-width:46px;font-weight:600}.ga-wrap{max-width:1040px;margin:0 auto;padding:1.5rem 1rem 3rem}.ga-head{align-items:center;gap:1rem;margin-bottom:1.2rem;display:flex}.ga-head img{border-radius:14px}.ga-head h1{margin:0;font-size:1.5rem}.ga-head p{margin:.2rem 0 0}.ga-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}@media (width<=860px){.ga-grid{grid-template-columns:1fr}.ga-grid.ios-first>:nth-child(2){order:-1}}.ga-card{align-content:start;gap:.7rem;padding:1.2rem;display:grid}.ga-card h2{margin:0;font-size:1.15rem}.ga-btn{justify-self:start;padding:.75rem 1.4rem;font-size:1.05rem}.ga-steps{gap:.45rem;margin:0;padding-inline-start:1.2rem;font-size:.92rem;display:grid}.ga-qr{text-align:center;justify-items:center}.ga-back{text-align:center;margin-top:1.5rem}.get-app-link{text-align:center;justify-self:center}.pn-card{border-inline-start:4px solid var(--mark);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.4rem .8rem;padding:.9rem 1rem;display:grid}.pn-card p{margin:.15rem 0 0}.pn-icon{font-size:1.6rem}.pn-actions{grid-column:1/-1;justify-content:flex-end;gap:.4rem;display:flex}.pn-setting{gap:.4rem;display:grid}.section-pick{color:var(--muted);gap:.25rem;margin-top:-.4rem;padding:0 .4rem;font-size:.8rem;display:grid}.section-pick .input{padding:.45rem .6rem;font-size:.9rem}.section-chip{border:1px solid var(--rule);background:var(--surface);font:inherit;color:var(--text);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:45vw;margin-inline-start:auto;padding:.2rem .7rem;font-size:.8rem;overflow:hidden}.section-banner{background:color-mix(in srgb, var(--ink) 9%, transparent);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem;padding:.45rem .8rem;font-size:.9rem;display:flex}.section-banner .btn{margin-inline-start:auto}.demo-row{border:1px solid var(--rule);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.8rem;display:flex}.demo-pass{background:var(--paper);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.6rem .8rem;display:flex}.demo-pass code{letter-spacing:.04em;font-size:1.1rem;font-weight:700}.danger-text{color:var(--danger)}.de-order{border:1px solid var(--rule);border-radius:var(--radius-m);background:var(--paper);padding:.7rem .9rem}.de-order summary{cursor:pointer;font-weight:600}.de-order ol{gap:.35rem;margin:.6rem 0;padding-inline-start:1.3rem;font-size:.92rem;display:grid}.de-steps{gap:.5rem;margin:0;padding-inline-start:1.3rem;display:grid}.de-steps li>*{vertical-align:middle}.de-steps li{display:list-item}.de-steps li .spacer{width:.5rem;display:inline-block}.de-steps li .btn{margin-inline-start:.35rem}.de-go{flex-wrap:wrap;gap:.8rem}.lc-body{grid-template-columns:minmax(0,1fr) 22mm;align-items:center;gap:2mm;padding:2mm 3mm;display:grid}.lc-info{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:.6mm 2mm;font-size:9px;line-height:1.3;display:grid}.lc-info strong,.lc-info>span:not(.lc-k){grid-column:1/-1}.lc-info strong{font-size:11px}.lc-k{color:#666;font-size:8px}.lc-info b{letter-spacing:.03em;word-break:break-all;font-size:11px}.lc-pw{letter-spacing:.08em!important;font-size:13px!important}.login-card .id-qr{width:22mm;height:22mm}.p-login{gap:.55rem;padding:.9rem 1rem;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}@media (width<=760px){.grid-3{grid-template-columns:1fr}}.seg{border:1px solid var(--rule);border-radius:var(--radius-s);background:var(--surface);display:inline-flex;overflow:hidden}.seg button{font:inherit;cursor:pointer;color:var(--text);border:0;border-inline-start:1px solid var(--rule);background:0 0;padding:.45rem .85rem;font-size:.875rem}.seg button:first-child{border-inline-start:0}.seg button[aria-pressed=true]{background:var(--ink);color:#fff}.seg button:disabled{opacity:.6;cursor:default}.pdfv{border:1px solid var(--rule);border-radius:var(--radius-m);background:#e9eeed;flex-direction:column;display:flex;overflow:hidden}.pdfv-bar{background:var(--surface);border-bottom:1px solid var(--rule);align-items:center;gap:.5rem;padding:.4rem .6rem;font-size:.85rem;display:flex}.pdfv-pages{flex-direction:column;align-items:center;gap:.75rem;max-height:75vh;padding:.75rem;display:flex;overflow:auto}.pdfv-page{background:#fff;max-width:none;box-shadow:0 1px 4px #00000026}.qz-pdf-preview .pdfv-pages{max-height:60vh}.qz-state{background:var(--ink-soft);color:var(--ink);white-space:nowrap;border-radius:999px;padding:.15rem .55rem;font-size:.78rem;display:inline-block}.qz-state.qz-draft{color:var(--muted);background:#eef0f0}.qz-state.qz-upcoming{background:var(--mark-soft);color:#6b4e00}.qz-state.qz-open{color:var(--ok);background:#ddf0e6}.qz-state.qz-closed{color:var(--text);background:#eef0f0}.qz-att{font-size:.82rem}.qz-att-submitted{color:var(--ok)}.qz-att-auto_submitted{color:#8a6300}.qz-att-in_progress{color:var(--ink)}.qz-att-none{color:var(--muted)}.qz-left{color:var(--danger);font-size:.78rem}.qz-n{background:var(--ink-soft);min-width:1.8rem;height:1.8rem;color:var(--ink);border-radius:50%;flex:none;place-items:center;font-size:.85rem;display:inline-grid}.qz-q{flex-direction:column;gap:.65rem;display:flex}.qz-q-head{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.qz-pts{width:5rem}.qz-img-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.qz-img{border-radius:var(--radius-s);border:1px solid var(--rule);background:#fff;max-width:100%;max-height:140px}.qz-img.big{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:340px;margin:.25rem auto;display:block}.qz-key{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.qz-opt{border:1.5px solid var(--rule);border-radius:var(--radius-s);background:var(--surface);min-width:2.4rem;height:2.4rem;font:inherit;cursor:pointer;padding:0 .7rem}.qz-opt.on{background:var(--ok);border-color:var(--ok);color:#fff}.qz-opt-edit{border:1px dashed var(--rule);border-radius:var(--radius-s);align-items:center;gap:.3rem;padding:.2rem;display:inline-flex}.qz-opt-edit.on{border-color:var(--ok);border-style:solid}.qz-opt-edit .input{width:9rem}.qz-add{flex-wrap:wrap}.qz-qstats{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem;display:grid}.qz-qstat{flex-direction:column;gap:.5rem;display:flex}.qz-bars{flex-direction:column;gap:.3rem;display:flex}.qz-bar{grid-template-columns:3.2rem 1fr 2.2rem;align-items:center;gap:.4rem;font-size:.82rem;display:grid}.qz-bar i{background:#c9d6d3;border-radius:4px;min-width:2px;height:10px;display:block}.qz-bar.right i{background:var(--ok)}.qz-bar.right{font-weight:600}.qz-card{border-inline-start:4px solid var(--rule);flex-direction:column;gap:.45rem;display:flex}.qz-card.st-open{border-inline-start-color:var(--ok)}.qz-card.st-upcoming{border-inline-start-color:var(--mark)}.qz-card.st-done{border-inline-start-color:var(--ink)}.qz-card .btn{align-self:flex-start}.qz-score{white-space:nowrap;font-size:1.05rem}.qz-take{flex-direction:column;gap:.75rem;display:flex}.qz-take-head{z-index:5;background:var(--paper);border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.5rem 0;display:flex;position:sticky;top:0}.qz-timer{background:var(--ink);color:#fff;border-radius:999px;padding:.2rem .7rem;font-size:1.1rem}.qz-timer.urgent{background:var(--danger);animation:1s infinite qzpulse}@keyframes qzpulse{50%{opacity:.65}}@media (prefers-reduced-motion:reduce){.qz-timer.urgent{animation:none}}.qz-save{color:var(--muted);font-size:.8rem}.qz-save.offline{color:var(--danger)}.qz-panes{align-self:stretch;display:flex}.qz-panes button{flex:1}.qz-take-body{gap:1rem;display:grid}.qz-paper,.qz-sheet{display:none}.qz-paper.show,.qz-sheet.show{display:block}.qz-sheet{flex-direction:column;gap:.75rem;display:none}.qz-sheet.show{display:flex}.qz-paper .pdfv-pages{max-height:calc(100vh - 210px)}@media (width>=1000px){.qz-take.with-pdf .qz-panes{display:none}.qz-take.with-pdf .qz-take-body{grid-template-columns:1.3fr 1fr;align-items:start}.qz-take.with-pdf .qz-paper{display:block;position:sticky;top:60px}.qz-take.with-pdf .qz-sheet{max-height:calc(100vh - 140px);padding-inline-end:.25rem;display:flex;overflow:auto}}.qz-ans{border-inline-start:4px solid var(--rule);flex-direction:column;gap:.5rem;display:flex}.qz-ans.answered{border-inline-start-color:var(--ok)}.qz-choices{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.5rem;display:grid}.qz-choices.k-mcq{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.qz-choice{border:2px solid var(--rule);border-radius:var(--radius-m);background:var(--surface);min-height:3rem;font:inherit;cursor:pointer;color:var(--text);justify-content:center;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:1rem;display:flex}.qz-choice b{background:var(--ink-soft);width:1.8rem;height:1.8rem;color:var(--ink);border-radius:50%;place-items:center;display:inline-grid}.qz-choice:hover{border-color:var(--ink)}.qz-choice.on{border-color:var(--ink);background:var(--ink);color:#fff}.qz-choice.on b{background:#fff}.qz-submit{align-self:stretch;min-height:3rem;font-size:1.05rem}.qz-done{text-align:center;flex-direction:column;align-items:center;gap:.35rem;display:flex}.qz-done h2{margin:0}.qz-done-mark{background:var(--ok);color:#fff;border-radius:50%;place-items:center;width:3.2rem;height:3.2rem;font-size:1.6rem;display:grid}.qz-done-score{margin:0;font-size:2rem}.qz-review{flex-direction:column;gap:.4rem;display:flex}.qz-rev{border-radius:var(--radius-s);background:var(--surface);border:1px solid var(--rule);border-inline-start:4px solid var(--ok);grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;padding:.55rem .7rem;display:grid}.qz-rev.bad{border-inline-start-color:var(--danger)}.qz-rev>span{color:var(--ok);font-weight:700}.qz-rev.bad>span{color:var(--danger)}.qz-card,.qz-ans,.qz-q,.qz-qstat{padding:1rem 1.1rem}.linklike{font:inherit;color:inherit;cursor:pointer;text-align:start;background:0 0;border:0;align-items:center;gap:.45rem;padding:0;display:inline-flex}.linklike:hover strong{text-decoration:underline}.file-badge{color:#fff;letter-spacing:.03em;background:#b23a48;border-radius:4px;flex:none;place-items:center;min-width:2.3rem;height:1.5rem;padding:0 .35rem;font-size:.7rem;font-weight:700;display:inline-grid}.file-badge.big{min-width:3.4rem;height:2.2rem;font-size:.9rem}.cr-tag{background:var(--ink-soft);color:var(--ink);white-space:nowrap;border-radius:999px;margin:.1rem;padding:.1rem .5rem;font-size:.78rem;display:inline-block}.cr-dot{background:#c9d6d3;border-radius:50%;flex:none;width:.6rem;height:.6rem}.cr-dot.on{background:var(--ok);box-shadow:0 0 0 3px #ddf0e6}.drop{border:2px dashed var(--rule);border-radius:var(--radius-m);cursor:pointer;background:var(--paper);align-items:center;gap:.75rem;padding:1.1rem;display:flex}.drop:hover,.drop.has{border-color:var(--ink);background:var(--ink-soft)}.check-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.35rem;margin-top:.35rem;display:grid}.check{border:1px solid var(--rule);border-radius:var(--radius-s);background:var(--surface);cursor:pointer;align-items:center;gap:.4rem;padding:.4rem .55rem;font-size:.9rem;display:flex}.check:has(input:checked){border-color:var(--ink);background:var(--ink-soft)}.pass{color:var(--ok)}td.pass,td.fail{font-weight:600}.pin-input{letter-spacing:.4em;text-align:center;font-size:1.2rem}.p-file{align-items:center;gap:.75rem}.p-pdf .pdfv-pages{max-height:none}.live-pop{z-index:60;background:#0a1e248c;place-items:end center;padding:.75rem;display:grid;position:fixed;inset:0}@media (width>=700px){.live-pop{place-items:center}}.live-card{background:var(--surface);border-radius:16px;flex-direction:column;gap:.8rem;width:min(560px,100%);max-height:92vh;padding:1.1rem;display:flex;overflow:auto;box-shadow:0 20px 50px #00000040}.live-head{align-items:center;gap:.6rem;display:flex}.live-dot{background:var(--danger);border-radius:50%;flex:none;width:.75rem;height:.75rem;animation:1.6s infinite livepulse;box-shadow:0 0 #b23a4899}.live-card.closed .live-dot{background:var(--muted);animation:none}@keyframes livepulse{70%{box-shadow:0 0 0 10px #b23a4800}to{box-shadow:0 0 #b23a4800}}@media (prefers-reduced-motion:reduce){.live-dot{animation:none}}.live-n{color:var(--ink);background:var(--ink-soft);border-radius:999px;padding:.2rem .6rem;font-weight:700}.live-text{margin:0;font-size:1.15rem}.live-img{object-fit:contain;border-radius:var(--radius-s);align-self:center;max-width:100%;max-height:260px}.live-choices{grid-template-columns:repeat(2,1fr);gap:.6rem;display:grid}.live-choice{border:2px solid var(--rule);background:var(--surface);min-height:4rem;font:inherit;cursor:pointer;color:var(--text);border-radius:14px;justify-content:center;align-items:center;gap:.5rem;font-size:1.3rem;display:flex}.live-choice b{font-size:1.4rem}.live-choice.on{background:var(--ink);border-color:var(--ink);color:#fff}.live-choice.right{background:var(--ok);border-color:var(--ok);color:#fff}.live-choice.wrong{border-color:var(--danger);color:var(--danger);background:#fcf0f2}.live-choice:disabled{cursor:default}.live-choice:disabled:not(.on):not(.right){opacity:.6}.live-foot{color:var(--muted);justify-content:space-between;align-items:center;gap:.6rem;min-height:2rem;font-size:.9rem;display:flex}.board{background:var(--paper);color:var(--text);-webkit-user-select:none;user-select:none;touch-action:manipulation;flex-direction:column;font-size:18px;display:flex;position:fixed;inset:0;overflow:hidden}.board-center{justify-content:center;align-items:center;padding:2rem}.board-card{text-align:center;background:var(--surface);border:1px solid var(--rule);border-radius:18px;max-width:640px;padding:2.5rem}.board-top{background:var(--ink);color:#fff;align-items:center;gap:1.25rem;padding:1.25rem 2rem;display:flex}.board-top .muted{color:#ffffffbf}.board-top .btn{color:#fff;background:#ffffff1f;border-color:#ffffff4d}.board-top.slim{gap:.9rem;padding:.6rem 1.25rem}.board-school{opacity:.85;font-size:1.05rem}.board-class{font-size:1.9rem;font-weight:700}.board-clock{flex-direction:column;align-items:flex-end;gap:.35rem;display:flex}.board-clock b{white-space:nowrap;font-size:2.6rem;font-weight:600;line-height:1.3}.board-clock span{opacity:.8}.board-clock-sm{font-size:1.4rem}.board-lock-main{flex-direction:column;flex:1;align-items:center;gap:1.25rem;padding:2rem;display:flex;overflow:auto}.board-period{text-align:center;background:var(--surface);border:1px solid var(--rule);border-radius:18px;flex-direction:column;gap:.25rem;min-width:min(560px,100%);padding:1.25rem 2.5rem;display:flex}.board-period h2{color:var(--ink);margin:0;font-size:2.4rem}.board-pick{color:var(--muted);margin:.5rem 0 0;font-weight:500}.board-teachers{flex-wrap:wrap;justify-content:center;gap:1rem;width:min(1200px,100%);display:flex}.board-teachers .board-teacher{width:240px}.board-teacher{border:2px solid var(--rule);background:var(--surface);font:inherit;cursor:pointer;color:var(--text);border-radius:18px;flex-direction:column;align-items:center;gap:.45rem;padding:1.4rem 1rem;display:flex}.board-teacher:active{transform:scale(.98)}.board-teacher.now{border-color:var(--mark);box-shadow:0 0 0 4px var(--mark-soft)}.board-avatar{background:var(--ink-soft);width:3.2rem;height:3.2rem;color:var(--ink);border-radius:50%;flex:none;place-items:center;font-size:1.2rem;font-weight:700;display:inline-grid}.board-top .board-avatar{color:#fff;background:#ffffff26;width:2.6rem;height:2.6rem;font-size:1rem}.board-avatar.big{width:4.5rem;height:4.5rem;font-size:1.7rem}.board-tname{font-size:1.25rem;font-weight:600}.board-tsub{color:var(--muted);text-align:center;font-size:.9rem}.board-overlay{z-index:80;background:#0a1e2499;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.board-pin{background:var(--surface);border-radius:22px;flex-direction:column;align-items:center;gap:.6rem;width:min(440px,100%);padding:2rem 2.25rem;display:flex}.board-pin h2{margin:0}.board-pin.shake{animation:.35s pinshake}@keyframes pinshake{25%{transform:translate(-10px)}75%{transform:translate(10px)}}.pin-dots{gap:.8rem;margin:.4rem 0;display:flex}.pin-dots span{border:2px solid var(--ink);border-radius:50%;width:1.1rem;height:1.1rem}.pin-dots span.on{background:var(--ink)}.pin-error{min-height:1.4rem;color:var(--danger);text-align:center;font-size:.95rem}.pin-keys{grid-template-columns:repeat(3,1fr);gap:.7rem;width:100%;display:grid}.pin-keys button{border:1px solid var(--rule);background:var(--paper);height:4.4rem;font:inherit;cursor:pointer;color:var(--text);border-radius:16px;font-size:1.9rem}.pin-keys button:active{background:var(--ink-soft)}.pin-keys .pin-alt{background:0 0;font-size:1rem}.pin-go{width:100%;min-height:3.6rem;margin-top:.4rem;font-size:1.2rem}.board-modes{gap:.4rem;margin-inline-start:1rem;display:flex}.board-modes button{color:#ffffffd9;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;padding:.65rem 1.1rem;font-size:1.05rem}.board-modes button[aria-selected=true]{color:var(--ink);background:#fff;font-weight:600}.board-lock{min-height:2.8rem}.board-body{flex-direction:column;flex:1;min-height:0;display:flex}.board-files{flex-direction:column;gap:1rem;padding:1.5rem 2rem;display:flex;overflow:auto}.board-file-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.board-file{border:1px solid var(--rule);background:var(--surface);font:inherit;text-align:start;cursor:pointer;min-height:9rem;color:var(--text);border-radius:16px;flex-direction:column;align-items:flex-start;gap:.55rem;padding:1.25rem;display:flex}.board-file b{font-size:1.15rem}.board-file.exam .file-badge{background:var(--ink)}.board-file:active{transform:scale(.99)}.board-empty{text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--rule);border-radius:16px;padding:3rem}.board-viewer{flex-direction:column;flex:1;min-height:0;display:flex}.board-viewer-bar{background:var(--surface);border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:.75rem;padding:.55rem 1rem;display:flex}.board-viewer-title{text-overflow:ellipsis;white-space:nowrap;max-width:40vw;font-size:1.1rem;overflow:hidden}.board-page-box{background:#dde5e3;flex:1;justify-content:center;align-items:center;min-height:0;padding:12px;display:flex;overflow:hidden}.board-page-box.scroll{align-items:flex-start;overflow:auto}.board-page{background:#fff;flex:none;position:relative;box-shadow:0 4px 18px #0000002e}.board-page canvas:first-child{display:block}.draw-layer{touch-action:auto;pointer-events:none;position:absolute;inset:0}.draw-layer.active{pointer-events:auto;touch-action:none;cursor:crosshair}.board-white{background:#fff;background-image:linear-gradient(var(--rule) 1px, transparent 1px);background-size:100% 48px;flex:1;min-height:0;position:relative}.board-white .draw-layer{pointer-events:auto;touch-action:none;cursor:crosshair}.pen-tools{background:var(--paper);border:1px solid var(--rule);border-radius:14px;align-items:center;gap:.3rem;padding:.25rem;display:flex}.pen-tools button{cursor:pointer;width:2.9rem;height:2.9rem;color:var(--text);background:0 0;border:0;border-radius:10px;font-size:1.25rem}.pen-tools button[aria-pressed=true]{background:var(--ink);color:#fff}.pen-tools .pen-color{position:relative}.pen-tools .pen-color:after{content:"";background:var(--c);border-radius:50%;position:absolute;inset:.7rem}.pen-tools .pen-color[aria-pressed=true]{background:var(--ink-soft)}.pen-sep{background:var(--rule);align-self:stretch;width:1px;margin:0 .2rem}.board-pager{background:var(--surface);border-top:1px solid var(--rule);justify-content:center;align-items:center;gap:1.25rem;padding:.5rem;display:flex}.board-pager button{border:1px solid var(--rule);background:var(--paper);cursor:pointer;border-radius:12px;width:4.5rem;height:3.2rem;font-size:1.9rem;line-height:1}.board-pager button:disabled{opacity:.35}.board-pager span{text-align:center;min-width:5rem;font-size:1.15rem}.board-big{min-height:3.6rem;padding:0 2.2rem;font-size:1.2rem}.board-live-start{text-align:center;flex-direction:column;align-items:center;gap:.9rem;max-width:640px;margin:auto;padding:2rem;display:flex}.board-live-start h2{margin:0;font-size:2rem}.board-live-icon{font-size:3.5rem}.board-live{flex-direction:column;flex:1;gap:1rem;min-height:0;padding:1.25rem 2rem;display:flex;overflow:auto}.board-live-grid{grid-template-columns:1.4fr 1fr;align-items:start;gap:1.25rem;display:grid}.board-live-grid>.board-composer:only-child{grid-column:1/-1;justify-self:center;width:100%;max-width:760px}@media (width<=1000px){.board-live-grid{grid-template-columns:1fr}}.board-asking,.board-revealed,.board-composer{background:var(--surface);border:1px solid var(--rule);border-radius:18px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.board-asking{width:100%;max-width:1100px;margin:0 auto}.board-composer{min-height:22rem}.board-q-head{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.board-q-n{color:var(--ink);background:var(--ink-soft);border-radius:999px;flex:none;padding:.25rem .8rem;font-size:1.05rem;font-weight:700}.board-q-text{margin:0;font-size:2rem;line-height:1.4}.board-q-img{object-fit:contain;border-radius:10px;align-self:center;max-width:100%;max-height:32vh}.board-choices{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem;display:grid}.board-choice{border:3px solid var(--rule);background:var(--paper);min-height:6rem;font:inherit;cursor:pointer;color:var(--text);border-radius:18px;justify-content:center;align-items:center;gap:.75rem;font-size:2rem;display:flex}.board-choice b{font-size:2.4rem}.board-choice span{font-size:1.4rem}.board-choice.picked{border-color:var(--ok);box-shadow:0 0 0 4px #ddf0e6}.board-progress{align-items:center;gap:1rem;font-size:1.4rem;display:flex}.board-progress-bar{background:var(--ink-soft);border-radius:999px;flex:1;height:1.1rem;overflow:hidden}.board-progress-bar i{background:var(--ink);border-radius:999px;height:100%;transition:width .4s;display:block}.board-right{color:var(--ok);font-size:1.3rem;font-weight:700}.board-bars{flex-direction:column;gap:.7rem;display:flex}.board-bar{grid-template-columns:5.5rem 1fr 3rem;align-items:center;gap:.8rem;font-size:1.5rem;display:grid}.board-bar-label{white-space:nowrap}.board-bar-track{background:var(--paper);border:1px solid var(--rule);border-radius:10px;height:2.2rem;overflow:hidden}.board-bar-track i{background:#9fb4b0;height:100%;transition:width .5s;display:block}.board-bar.right .board-bar-track i{background:var(--ok)}.board-bar.right{color:var(--ok)}.board-input{font-size:1.2rem}.board-quick{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.board-quick-btn{border:2px solid var(--ink);background:var(--surface);min-height:5.5rem;color:var(--ink);font:inherit;cursor:pointer;border-radius:16px;font-size:1.5rem;font-weight:600}.board-quick-btn:active{background:var(--ink);color:#fff}.board-bank-btn{min-height:3.4rem;font-size:1.1rem}.board-sheet{background:var(--surface);border-radius:20px;flex-direction:column;gap:1rem;width:min(1000px,100%);max-height:88vh;padding:1.5rem;display:flex;overflow:auto}.board-bank-list{flex-direction:column;gap:.5rem;display:flex}.board-bank-q{border:1px solid var(--rule);background:var(--paper);font:inherit;text-align:start;cursor:pointer;color:var(--text);border-radius:14px;align-items:center;gap:.9rem;padding:.9rem 1rem;font-size:1.1rem;display:flex}.board-bank-img{border-radius:6px;width:auto;height:3.5rem}.board-summary{flex-direction:column;align-items:center;gap:1.1rem;width:min(900px,100%);margin:0 auto;padding:2rem;display:flex;overflow:auto}.board-summary h2{margin:0;font-size:2.2rem}.board-top5{flex-direction:column;gap:.5rem;width:100%;margin:0;padding:0;list-style:none;display:flex}.board-top5 li{background:var(--surface);border:1px solid var(--rule);border-radius:14px;align-items:center;gap:1rem;padding:.8rem 1.2rem;font-size:1.4rem;display:flex}.board-top5 li b{flex:1}.board-top5 li.p1{border-color:var(--mark);background:var(--mark-soft);font-size:1.7rem}.board-top5 .medal{text-align:center;width:2.5rem;font-size:1.8rem}.board-sum-qs{flex-direction:column;gap:.45rem;width:100%;display:flex}.board-sum-q{grid-template-columns:4rem 1fr 4rem;align-items:center;gap:.8rem;font-size:1.2rem;display:grid}.board-sum-q .board-bar-track{height:1.4rem}.board-sum-q .board-bar-track i{background:var(--ok)}.cr-app{flex-wrap:wrap;gap:1rem}.cr-app-icon{background:var(--ink);color:#fff;border-radius:12px;flex:none;place-items:center;width:3rem;height:3rem;font-size:1.5rem;display:grid}.pair-code{letter-spacing:.5em;text-align:center;padding:.6rem;font-size:2.2rem}.board-pairing{gap:1.5rem}.board-pair-clock{color:var(--muted);font-size:1.6rem}.board-pair-code{letter-spacing:.15em;color:var(--ink);margin:1rem 0;font-size:6rem;font-weight:700;line-height:1}.board-pair-steps{text-align:start;margin:0 auto;font-size:1.1rem;line-height:1.9;display:inline-block}a.btn{align-items:center;text-decoration:none;display:inline-flex}.cr-tag.soft{background:var(--paper);color:var(--text);border:1px solid var(--rule)}.tc-gaps .linklike{color:inherit}.tc-gap-list{flex-direction:column;gap:.3rem;margin-top:.6rem;display:flex}.tc-custom{background:var(--mark-soft);white-space:nowrap;border-radius:999px;padding:.1rem .55rem}.tc-avatar{background:var(--ink);color:#fff;border-radius:50%;flex:none;place-items:center;width:3rem;height:3rem;font-size:1.3rem;font-weight:700;display:inline-grid}.tc-stage-head{border-bottom:1px solid var(--rule);background:var(--paper);padding:.7rem 1rem;font-weight:600}.check.mine{border-color:var(--ok);background:#eaf5ef}.perm-groups{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.perm-group{border:1px solid var(--rule);border-radius:var(--radius-m);background:var(--surface);flex-direction:column;gap:.45rem;margin:0;padding:.6rem .9rem .9rem;display:flex}.perm-group legend{color:var(--ink);padding:0 .4rem;font-weight:700}.perm-item{border-radius:var(--radius-s);cursor:pointer;border:1px solid #0000;align-items:flex-start;gap:.6rem;padding:.5rem .6rem;display:flex}.perm-item.on{background:var(--ink-soft)}.perm-item input{margin-top:.25rem}.perm-item span{flex-direction:column;flex:1;gap:.1rem;display:flex}.perm-item small{color:var(--muted);font-size:.8rem;line-height:1.4}.perm-item.perm-page{border-color:var(--rule)}.perm-item.perm-off{opacity:.45;cursor:default}.perm-group.closed{background:var(--surface-2,var(--surface))}.perm-group.closed legend{color:var(--muted)}.perm-diff{background:var(--mark-soft);color:#6b4e00;white-space:nowrap;border-radius:999px;align-self:center;padding:.05rem .45rem;font-size:.72rem;font-style:normal}.med-alerts{flex-direction:column;gap:.4rem;display:flex}.med-alert{border-radius:var(--radius-s);color:var(--danger);background:#fcf0f2;border:1px solid #e7b3bc;gap:.5rem;padding:.55rem .75rem;display:flex}.med-alert strong{min-width:6rem}.med-alerts.compact{gap:.2rem}.med-alerts.compact .med-alert{padding:.15rem .5rem;font-size:.82rem}.med-badge{color:var(--danger);background:#fcf0f2;border-radius:999px;padding:.1rem .55rem}.my-classes{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.my-class{font:inherit;color:inherit;cursor:pointer;text-align:start;border-inline-start:4px solid var(--ink);flex-direction:column;gap:.6rem;padding:1rem 1.1rem;display:flex}.my-class:hover{box-shadow:0 6px 20px -12px #0a364266}.my-class-name{font-size:1.15rem}.avatar{object-fit:cover;background:var(--ink-soft);color:var(--ink);border-radius:50%;flex:none;place-items:center;font-weight:700;display:inline-grid;overflow:hidden}.photo-picker{align-items:center;gap:1rem;display:flex}.pr-kid{margin:.1rem;font-size:.85rem}.pr-acc{white-space:nowrap;color:var(--muted);background:#eef0f0;border-radius:999px;padding:.12rem .55rem;font-size:.8rem;display:inline-block}.pr-acc-active{color:var(--ok);background:#ddf0e6}.pr-acc-never{background:var(--mark-soft);color:#6b4e00}.pr-acc-stopped{color:var(--danger);background:#fcf0f2}.pr-acc-staff{background:var(--ink-soft);color:var(--ink)}.row-menu{position:relative}.row-menu>summary{cursor:pointer;list-style:none}.row-menu>summary::-webkit-details-marker{display:none}.row-menu-pop{inset-inline-end:0;z-index:20;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-m);flex-direction:column;min-width:190px;padding:.3rem;display:flex;position:absolute;top:calc(100% + 4px);box-shadow:0 12px 30px -12px #0a364259}.row-menu-pop button{text-align:start;border-radius:var(--radius-s);font:inherit;cursor:pointer;color:var(--text);white-space:nowrap;background:0 0;border:0;padding:.55rem .7rem;font-size:.9rem}.row-menu-pop button:hover{background:var(--paper)}.row-menu-pop button.danger-text{color:var(--danger)}.cal-legend{flex-wrap:wrap;gap:.3rem;display:flex}.cal-grid{border:1px solid var(--rule);border-radius:var(--radius-m);grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.cal-dow{color:var(--muted);text-align:center;background:var(--paper);border-bottom:1px solid var(--rule);padding:.4rem;font-size:.78rem}.cal-day{border-inline-end:1px solid var(--rule);border-bottom:1px solid var(--rule);cursor:default;background:var(--surface);flex-direction:column;gap:.2rem;min-width:0;min-height:5.6rem;padding:.3rem;display:flex}.cal-day:nth-child(7n){border-inline-end:0}.cal-day.out{background:var(--paper)}.cal-day.out .cal-num{color:var(--muted);opacity:.6}.cal-day.off{background:#fbedef}.cal-day.today .cal-num{background:var(--mark);border-radius:999px;padding:0 .4rem}.cal-num{align-self:flex-start;font-size:.8rem;font-weight:600}.cal-chip{font:inherit;text-align:start;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:var(--ink-soft);max-width:100%;color:var(--ink-strong);border:0;border-radius:4px;padding:.1rem .4rem;font-size:.72rem;line-height:1.3;display:inline-block;overflow:hidden}.cal-chip.k-holiday{color:#7a1f2b;background:#f6d5da}.cal-chip.k-vacation{color:#6b4c00;background:#fbe7ae}.cal-chip.k-event{color:#1e5a40;background:#d6ece3}.cal-chip.k-exam{color:#24396e;background:#dce3f5}.cal-chip.k-other{background:var(--ink-soft);color:var(--ink-strong)}@media (width<=640px){.cal-day{min-height:3.4rem;padding:.15rem}.cal-day .cal-chip{width:100%;height:.35rem;padding:0;font-size:0}}.hw-mark{grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem;display:grid}.hw-mark.with-preview{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}.hw-mark tr.selected td{background:var(--mark-soft)}.hw-preview{max-height:calc(100vh - 2rem);position:sticky;top:1rem;overflow:auto}.hw-img{border-radius:var(--radius-s);border:1px solid var(--rule);max-width:100%;display:block}.hw-pdf{border:1px solid var(--rule);border-radius:var(--radius-s);width:100%;height:60vh}.hw-answer{white-space:pre-wrap;background:var(--paper);border-radius:var(--radius-s);padding:.6rem .8rem}.hw-grade{border-top:1px solid var(--rule);padding-top:.8rem}.clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (width<=900px){.hw-mark.with-preview{grid-template-columns:minmax(0,1fr)}.hw-preview{order:-1;max-height:none;position:static}}.pl-title{width:auto;min-width:12rem;max-width:22rem;font-size:1.15rem;font-weight:700}.pl-status{background:var(--ink-soft);color:var(--ink-strong);white-space:nowrap;border-radius:999px;padding:.15rem .55rem;font-size:.75rem}.pl-status.st-published{color:#1e5a40;background:#d6ece3}.pl-status.st-draft{background:var(--mark-soft);color:#6b4c00}.pl-days{flex-direction:column;gap:.8rem;display:flex}.pl-day{padding:0;overflow:hidden}.pl-day>header{background:var(--paper);border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:baseline;gap:.6rem;padding:.6rem 1rem;display:flex}.pl-day.quiet>header{border-bottom:0}.pl-day.off>header{background:#fbedef}.pl-off{color:var(--danger);font-size:.78rem;font-weight:600}.pl-day-body{padding:.8rem 1rem 1rem}.pl-day-title{margin:0;font-size:1.05rem}.pl-comment{white-space:pre-wrap;color:var(--text);margin:0}.pl-cats{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.6rem;display:grid}.pl-cat{border:1px solid var(--rule);border-radius:var(--radius-m);flex-direction:column;gap:.35rem;min-width:0;padding:.5rem .6rem;display:flex}.pl-cat-head{color:var(--ink-strong);align-items:center;gap:.35rem;font-size:.85rem;font-weight:600;display:flex}.pl-cat-head .btn{min-height:28px;margin-inline-start:auto;padding:0 .6rem}.pl-cat.k-assignment{background:#fffbef;border-color:#e9c46a}.pl-item{border-top:1px dashed var(--rule);overflow-wrap:anywhere;flex-wrap:wrap;align-items:flex-start;gap:.4rem;min-width:0;padding:.35rem .1rem;display:flex}.pl-item:first-of-type{border-top:0}.pl-week-card{text-align:start;width:100%;font:inherit;cursor:pointer;align-items:center;gap:.6rem;display:flex}.th-card{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.th-stats{gap:1.2rem;display:flex}.th-stats>div{flex-direction:column;align-items:center;display:flex}.th-stats b{color:var(--ink);font-size:1.6rem}.th-stats span{color:var(--muted);font-size:.8rem}.th-plans{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.5rem;display:grid}.th-plan{border-radius:var(--radius-s);border:1px solid var(--rule);background:var(--mark-soft);flex-direction:column;gap:.15rem;padding:.5rem .7rem;display:flex}.th-plan.ok{background:#e4f2ec}.demo-bar{z-index:60;color:#5b4300;background:#fff7e0;border-bottom:1px solid #f0d58a;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;padding:6px 12px;font-size:13px;line-height:1.4;display:flex;position:sticky;top:0}.demo-bar .demo-as{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.demo-bar button{color:#5b4300;font:inherit;cursor:pointer;background:#fff;border:1px solid #e3c260;border-radius:999px;padding:2px 10px}.demo-bar button:hover{background:#ffeec2}
