@font-face{font-family:Noto Sans Devanagari;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-devanagari-devanagari-400-normal-BlDd6KY1.woff2) format("woff2"),url(/assets/noto-sans-devanagari-devanagari-400-normal-CdOJmQ4E.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Noto Sans Devanagari;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-devanagari-latin-ext-400-normal-BnQrAETZ.woff2) format("woff2"),url(/assets/noto-sans-devanagari-latin-ext-400-normal-Bs32KOJx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Devanagari;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-devanagari-latin-400-normal-BuiDGFlU.woff2) format("woff2"),url(/assets/noto-sans-devanagari-latin-400-normal-Bl6wi1XD.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Devanagari;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-devanagari-devanagari-700-normal-v9jliTCB.woff2) format("woff2"),url(/assets/noto-sans-devanagari-devanagari-700-normal-h2KXAbYG.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Noto Sans Devanagari;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-devanagari-latin-ext-700-normal-BKjKJI-9.woff2) format("woff2"),url(/assets/noto-sans-devanagari-latin-ext-700-normal-DXhSwleO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Devanagari;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-devanagari-latin-700-normal-DcW8oEIt.woff2) format("woff2"),url(/assets/noto-sans-devanagari-latin-700-normal-B5n956PN.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Gurmukhi;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-gurmukhi-gurmukhi-400-normal-DZz4qdEE.woff2) format("woff2"),url(/assets/noto-sans-gurmukhi-gurmukhi-400-normal-Q0_psqFN.woff) format("woff");unicode-range:U+0951-0952,U+0964-0965,U+0A01-0A76,U+200C-200D,U+20B9,U+25CC,U+262C,U+A830-A839}@font-face{font-family:Noto Sans Gurmukhi;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-gurmukhi-latin-ext-400-normal-B08Mv4eN.woff2) format("woff2"),url(/assets/noto-sans-gurmukhi-latin-ext-400-normal-D8bdhQ7x.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Gurmukhi;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-gurmukhi-latin-400-normal-BzX3JSL1.woff2) format("woff2"),url(/assets/noto-sans-gurmukhi-latin-400-normal-D2XWm4QU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Gurmukhi;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-gurmukhi-gurmukhi-700-normal-BoLaT4lZ.woff2) format("woff2"),url(/assets/noto-sans-gurmukhi-gurmukhi-700-normal-T8OFBc5v.woff) format("woff");unicode-range:U+0951-0952,U+0964-0965,U+0A01-0A76,U+200C-200D,U+20B9,U+25CC,U+262C,U+A830-A839}@font-face{font-family:Noto Sans Gurmukhi;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-gurmukhi-latin-ext-700-normal-Sw_x9DbO.woff2) format("woff2"),url(/assets/noto-sans-gurmukhi-latin-ext-700-normal-n49V6dpU.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Gurmukhi;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-gurmukhi-latin-700-normal-CFoN34g5.woff2) format("woff2"),url(/assets/noto-sans-gurmukhi-latin-700-normal-D5a0cke8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.page:has(.exam-temp){width:min(820px,100%);padding:8px 10px 32px}.exam-temp{display:flex;flex-direction:column;gap:8px;touch-action:manipulation}.exam-temp-canvas{background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 8px 24px #281e0a14;padding:18px 20px 28px;min-height:70vh}.exam-temp-header{margin-bottom:12px}.exam-temp-sheet{display:flex;flex-direction:column;gap:18px}.exam-temp-sec{display:flex;flex-direction:column;gap:8px}.exam-temp-sec-head{position:relative}.exam-temp .paper-section-bar{position:relative;display:block;min-height:1.6em}.exam-temp .paper-section-bar .paper-section-title{display:block;width:100%;text-align:center;padding-right:0}.exam-temp .paper-section-bar .paper-section-marks{position:absolute;left:auto;right:0;top:50%;transform:translateY(-50%);display:inline-block;width:auto;margin:0;padding:0 0 0 6px;text-align:right;background:#fff}.exam-temp-sec.is-selected .paper-section-bar .paper-section-marks{right:36px}.exam-temp-sec-chrome{position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:4}.exam-temp-sec-chrome .exam-temp-dots{margin-left:0}.exam-temp-choice-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 12px;margin:4px 0 2px}.exam-temp-sec-note{width:100%;min-height:28px;line-height:24px;resize:none;border:none;border-bottom:1px solid rgba(0,0,0,.18);font:inherit;font-size:.92rem;padding:2px 0;background:transparent;text-align:center;white-space:pre-wrap;overflow:hidden}.exam-temp-choice-n{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.exam-temp-q{position:relative;padding:8px 10px 10px;border:1px solid transparent;border-radius:8px;cursor:pointer}.exam-temp-q:hover{border-color:#9dc7ad;background:#f4faf6;cursor:pointer}.exam-temp-q.is-selected{border-color:#2d8a4e;background:#f4faf6;box-shadow:0 0 0 1px #2d8a4e;padding-top:44px}.exam-temp-or{text-align:center;font-weight:700;letter-spacing:.08em;margin:2px 0 6px;font-size:.92rem}.exam-temp-q-note{margin:0 0 6px;font-style:italic}.exam-temp-q-line{display:grid;grid-template-columns:auto 1fr auto;gap:4px 8px;align-items:baseline}.exam-temp-q-num{font-weight:700;white-space:nowrap}.exam-temp-q-stem{min-width:0;-moz-tab-size:4;tab-size:4}.exam-temp-q-marks{font-weight:700;white-space:nowrap}.exam-temp-q-text{margin:0;white-space:pre-wrap;-moz-tab-size:4;tab-size:4}.exam-temp-rich-text{white-space:pre-wrap;-moz-tab-size:4;tab-size:4}.exam-temp-q-text .math-frac,.exam-temp-rich-text .math-frac{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;margin:0 .15em;line-height:1.05;font-size:.92em}.exam-temp-q-text .math-num,.exam-temp-rich-text .math-num{padding:0 .25em 1px;border-bottom:1px solid currentColor}.exam-temp-q-text .math-den,.exam-temp-rich-text .math-den{padding:1px .25em 0}.exam-temp-q-text .math-root,.exam-temp-rich-text .math-root{display:inline-flex;align-items:flex-end;margin:0 .06em;vertical-align:-.12em;-webkit-print-color-adjust:exact;print-color-adjust:exact}.exam-temp-q-text .math-root-index,.exam-temp-rich-text .math-root-index{font-size:.65em;line-height:1;margin-right:1px;align-self:flex-start}.exam-temp-q-text .math-root-sign,.exam-temp-rich-text .math-root-sign{font-weight:700;line-height:.85;font-size:1.15em;margin-right:-.08em}.exam-temp-q-text .math-root-body,.exam-temp-rich-text .math-root-body{border-top:.08em solid currentColor;padding:.02em .12em 0;line-height:1.05;-webkit-print-color-adjust:exact;print-color-adjust:exact}.exam-temp-q-text sub,.exam-temp-rich-text sub{font-size:.75em;line-height:0;vertical-align:sub;position:static;top:auto}.exam-temp-q-text sup:not(.math-root-index),.exam-temp-rich-text sup:not(.math-root-index){font-size:.65em;line-height:1;vertical-align:super;position:relative;top:-.05em}.exam-temp-q-act{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 14px;border:1px solid rgba(0,0,0,.14);background:#fff;font:inherit;font-size:.82rem;cursor:pointer;color:inherit}.exam-temp-q-act:hover{background:#f4faf6;border-color:#9dc7ad}.exam-temp .rich-stem{-moz-tab-size:4;tab-size:4}.exam-temp-opts{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:4px}.exam-temp-opts.layout-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 8px}.exam-temp-opts.layout-grid2{grid-template-columns:1fr 1fr;gap:4px 10px}.exam-temp-opt{margin:0;min-width:0;overflow-wrap:anywhere}.exam-temp-opts.layout-row .exam-temp-opt{min-width:0;overflow-wrap:anywhere}.exam-temp-opts.layout-row .exam-temp-opt-lab{font-weight:600}.exam-temp-editor .paper-opts.layout-row{grid-template-columns:repeat(4,minmax(0,1fr))}.exam-temp-editor .paper-opts.layout-row .paper-opt-row{position:relative;min-width:0}.exam-temp-editor .paper-opts.layout-row .paper-opt-remove{position:absolute;top:0;right:0;z-index:1}.exam-temp-editor .paper-opts.layout-row .paper-add-opt{grid-column:1 / -1;margin-left:0;justify-self:start}.exam-temp-editor .paper-opt-row,.exam-temp-editor .paper-opt-row .exam-temp-rich{min-width:0;overflow-wrap:anywhere}.exam-temp-editor .paper-opts .rich-stem.is-single{white-space:pre-wrap;overflow-wrap:anywhere;overflow:hidden}.exam-temp-match{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}.exam-temp-figs{display:none}.exam-temp-flow{min-width:0}.exam-temp-flow-stem{min-width:0;margin:0}.exam-temp-flow-slot{display:flow-root;min-width:0}.exam-temp-flow-slot [data-stem-start],.exam-temp-flow-slot .exam-temp-rich,.exam-temp-flow-slot .rich-stem-wrap,.exam-temp-flow-slot .exam-temp-flow-stem,.exam-temp-flow-slot .exam-temp-q-text{width:auto;max-width:100%;overflow:visible}.exam-temp-media{position:relative;max-width:100%;box-sizing:border-box}.exam-temp-media.is-left{float:left;margin:0 10px 6px 0}.exam-temp-media.is-right{float:right;margin:0 0 6px 10px}.exam-temp-media.is-center{display:block;float:none;margin:6px auto;clear:both}.exam-temp-media img{display:block;width:100%;height:auto;object-fit:contain}.exam-temp-media.is-editable{cursor:default}.exam-temp-media.is-dragging{opacity:.85}.exam-temp-media .paper-area,.exam-temp-media .exam-temp-area,.exam-temp-media table,.exam-temp-media svg{width:100%!important;max-width:100%}.exam-temp-media-pic{position:relative;overflow:hidden}.exam-temp-media-tools{position:static;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:4px 6px;margin:0 0 6px;clear:both;float:none;width:100%;max-width:100%;box-sizing:border-box;background:#fffffffa;border:1px solid #dfe7e2;border-radius:8px;opacity:1;pointer-events:auto;white-space:nowrap}.exam-temp-media-tools .tool-btn,.exam-temp-media-tools .mini-stepper{flex:0 0 auto;font-size:.68rem}.exam-temp-media-tools .mini-stepper-value{min-width:3.2em}.exam-temp-subs{margin-top:8px;padding-left:8px;display:flex;flex-direction:column;gap:10px}.exam-temp-sub .exam-temp-opts,.exam-temp-sub .muted{margin-left:1.6em}.exam-temp-sub .exam-temp-q-line:has(.exam-temp-dots){grid-template-columns:auto minmax(0,1fr) auto auto}.exam-temp-sub .exam-temp-dots{margin:-6px -4px -6px 0;align-self:start}.exam-temp-area{margin-top:8px}.exam-temp-fmt{display:inline-flex;gap:2px;align-items:center}.exam-temp-fmt-btn{min-width:28px;font-family:Times,Times New Roman,serif}.exam-temp-preview-bar{display:flex;flex-direction:column;gap:8px}.exam-temp-rich{display:block}.exam-temp .paper-add{cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.exam-temp .paper-add:hover{background:#e7f3ec;border-color:#6aaa88;color:#1b4d3e}.exam-temp-q-chrome{display:none}.exam-temp-q.is-selected .exam-temp-q-chrome{display:flex;position:absolute;top:4px;right:4px;gap:4px;align-items:center;background:#fff;border-radius:999px;padding:2px 4px 2px 8px;box-shadow:0 2px 8px #00000014;z-index:3}.exam-temp-dots{position:relative;margin-left:auto}.exam-temp-dots-btn{width:var(--btn-h);height:var(--btn-h);display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--forest);line-height:1;cursor:pointer;border-radius:var(--btn-radius)}.exam-temp-dots-btn:hover{background:var(--btn-hover)}.exam-temp-dots-menu{position:absolute;right:0;top:100%;z-index:8;min-width:170px;background:#fff;border:1px solid var(--btn-line);border-radius:12px;box-shadow:var(--menu-shadow);padding:4px;display:flex;flex-direction:column}.exam-temp-dots-menu button{text-align:left;border:none;background:none;padding:10px 12px;border-radius:8px;font:inherit;cursor:pointer}.exam-temp-dots-menu button:hover{background:var(--btn-hover)}.exam-temp-dots-menu button.is-danger{color:#a33}.exam-temp-sec-desktop{display:none!important}@media(pointer:coarse),(max-width:700px){.exam-temp input,.exam-temp textarea,.exam-temp select,.exam-temp [contenteditable=true],.exam-temp .rich-stem,.exam-temp .paper-tiny,.exam-temp .paper-section-title,.exam-temp .exam-temp-sec-note,.exam-temp .math-chip .math-num,.exam-temp .math-chip .math-den,.exam-temp .math-chip .math-root-body,.exam-temp .math-chip .math-slot{font-size:16px!important}.exam-temp-sec-desktop,.exam-temp-sec>.paper-add-row{display:none!important}.exam-temp-fmt-btn{min-width:36px;min-height:36px}.exam-temp-editor .paper-area{padding-top:8px}.exam-temp-editor .paper-area-tools{position:static;opacity:1;pointer-events:auto;flex-wrap:wrap;width:100%;max-width:100%;margin:8px 0 4px;top:auto;right:auto}.question-editor.exam-temp-editor .paper-q-main{padding-left:2.6em;padding-right:3.2em}.exam-temp-editor .paper-q-main>.paper-q-marks{width:3em;min-width:0;background:#fff;z-index:1}.exam-temp-editor .paper-case-subs{margin-left:-2.6em;margin-right:-3.2em}.exam-temp-editor .paper-subq{position:relative;grid-template-columns:1.75em minmax(0,1fr) auto auto;column-gap:6px;row-gap:6px;align-items:center}.exam-temp-editor .paper-subq-body{display:contents}.exam-temp-editor .paper-subq>.paper-subq-lab{grid-row:1;grid-column:1;padding-top:0}.exam-temp-editor .paper-subq-body>.question-editor-subtools{grid-row:1;grid-column:2;margin:0;min-width:0}.exam-temp-editor .paper-subq>.paper-q-marks{grid-row:1;grid-column:3;position:static;width:3em;background:#fff}.exam-temp-editor .paper-subq>.sub-choice-dots{grid-row:1;grid-column:4;margin:0}.exam-temp-editor .paper-subq-body>:not(.question-editor-subtools){grid-column:2 / -1;min-width:0}.exam-temp-editor .paper-opts.layout-row,.exam-temp-opts.layout-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 6px}.exam-temp-sub .exam-temp-opts,.exam-temp-sub .muted{margin-left:0}.exam-temp-editor .paper-opt-row,.exam-temp-editor .paper-ar-opt{grid-template-columns:minmax(1.75em,auto) minmax(0,1fr) auto}.exam-temp-editor .paper-opts.layout-row .paper-opt-row{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;overflow:hidden;grid-template-columns:none}.exam-temp-media.is-left,.exam-temp-media.is-right{max-width:48%}.exam-temp-media-tools{position:static;transform:none;left:auto;top:auto;opacity:1;pointer-events:auto;margin:0 0 6px;white-space:nowrap;width:100%;max-width:100%}}.exam-temp-hist{display:inline-flex;gap:2px;margin-right:2px}.exam-temp-hist-btn{min-width:34px;padding:5px 8px;font-size:1.05rem;line-height:1}.exam-temp-confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:16px;background:#14281c73}.exam-temp-confirm{width:min(360px,100%);background:#fff;border-radius:12px;padding:16px 16px 12px;box-shadow:0 12px 32px #14281c38}.exam-temp-confirm p{margin:0 0 14px;font-weight:650}.exam-temp-confirm-actions{display:flex;justify-content:flex-end;gap:8px}.btn.exam-temp-confirm-go{background:#a33}.exam-temp .paper-instr-tools{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.exam-temp-bp{position:relative}.exam-temp-bp-tab{padding:5px 12px;border:1px solid var(--line, #c5d4cc);border-radius:999px;background:var(--forest, #1b4d3e);color:#fff;font:inherit;font-size:.78rem;font-weight:700;letter-spacing:.04em;cursor:pointer;box-shadow:0 4px 12px #1b4d3e2e}.exam-temp-bp-tab[aria-expanded=true]{filter:brightness(.92)}.exam-temp-bp-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:12;width:min(420px,calc(100vw - 32px));max-height:min(70vh,520px);overflow:auto;background:#fff;border:1px solid #d7e2dc;border-radius:12px;box-shadow:0 10px 28px #1b4d3e29;padding:10px}.exam-temp-bp-row{display:grid;grid-template-columns:minmax(0,1fr) 4.5em auto;gap:6px;align-items:center;margin-bottom:6px}.exam-temp-bp-row select,.exam-temp-bp-row input{width:100%;min-width:0;font:inherit;font-size:.78rem;padding:4px 6px;border:1px solid #d7e2dc;border-radius:6px;background:#fff}.exam-temp-bp-row button{border:0;background:transparent;color:#8a4a4a;font:inherit;font-size:.78rem;font-weight:650;cursor:pointer;padding:4px 6px}.exam-temp-bp-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid #e6eee9;font-size:.78rem}.exam-temp-bp-dl{padding:4px 8px;font-size:.72rem}.exam-temp-bp-total.is-match{color:#1b4d3e;font-weight:700}.exam-temp-bp-total.is-miss{color:#a33;font-weight:700}.exam-temp-bp-add{border:1px dashed #9dc7ad;background:#f4faf6;color:#1b4d3e;font:inherit;font-size:.78rem;font-weight:650;border-radius:8px;padding:5px 8px;cursor:pointer;width:100%}.exam-temp-bp-sec{margin:0 0 8px;padding:8px;background:#f6faf7;border:1px solid #e3eee7;border-radius:8px}.exam-temp-bp-sec-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.exam-temp-bp-sec-head strong{font-size:.78rem}.exam-temp-bp-sec-title{width:100%;min-width:0;font:inherit;font-size:.78rem;font-weight:700;padding:3px 6px;border:1px solid #d7e2dc;border-radius:6px;background:#fff}.exam-temp-bp-sec .exam-temp-bp-add{margin-top:2px}.exam-temp-bp-add-sec{border:1px dashed #c5d4cc;background:#fff;color:#1b4d3e;font:inherit;font-size:.78rem;font-weight:650;border-radius:8px;padding:5px 8px;cursor:pointer;width:100%;margin-bottom:4px}.uniform-page{display:grid;gap:14px}.uniform-set-pick{max-width:280px;margin:0 0 10px}.uniform-stage{position:relative;width:min(720px,100%);height:min(72vh,680px);margin:0 auto;background:radial-gradient(circle at 50% 42%,#fff,#f4f5f2 58%,#e7efe9);border:1px solid var(--line);border-radius:18px;overflow:hidden;touch-action:none;isolation:isolate}.uniform-stage{cursor:grab}.uniform-pan{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0 0}.uniform-stage.is-panning{cursor:grabbing}.uniform-garment{position:absolute;display:block;object-fit:contain;background:transparent;pointer-events:none;-webkit-user-select:none;user-select:none}.uniform-marks{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:2000;pointer-events:none;overflow:visible}.uniform-marks circle{pointer-events:auto}.uniform-badges{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.uniform-badge{position:absolute;left:0;top:0;pointer-events:auto;border:0;border-radius:999px;padding:3px 8px;background:#1f8a4c;color:#fff;font-size:.75rem;font-weight:700;box-shadow:0 2px 6px #0000002e}.uniform-badge.is-wrong{background:#c43838}.uniform-check{display:flex;justify-content:space-between;align-items:center;gap:12px}.uniform-student{text-align:center}.uniform-student h2{margin:0}.uniform-dates{margin:8px 0 0;padding-left:18px}.uniform-point-row{display:flex;gap:8px;align-items:center;justify-content:space-between}.outfit-builder{display:grid;gap:10px}.outfit-heading{margin:4px 0 0;font-size:1rem}.outfit-tray{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}.outfit-tile{display:grid;justify-items:center;gap:2px;padding:8px 6px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;font:inherit;text-align:center}.outfit-tile:hover{border-color:#1f8a4c}.outfit-thumb{display:grid;place-items:center;width:72px;height:72px;border-radius:8px;background:#f4f5f2}.outfit-thumb img{max-width:64px;max-height:64px;object-fit:contain}.outfit-tile-label{font-size:.78rem;font-weight:600;line-height:1.2}.outfit-toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.outfit-toolbar-label{flex:1 1 100%}.outfit-stage{cursor:default}.outfit-board{position:absolute;border:1px dashed var(--line);border-radius:10px;pointer-events:none}.outfit-selection{position:absolute;z-index:2000;outline:2px dashed #1f8a4c;outline-offset:2px;pointer-events:none}.outfit-handle{position:absolute;right:-10px;bottom:-10px;width:18px;height:18px;border:2px solid #fff;border-radius:4px;background:#1f8a4c;box-shadow:0 1px 4px #00000040;cursor:nwse-resize;pointer-events:auto;touch-action:none}.outfit-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;margin:0;pointer-events:none}.exam-temp-crop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;touch-action:none}.exam-temp-crop-box{position:absolute;border:2px solid #2d8a4e;box-shadow:0 0 0 9999px #00000059;box-sizing:border-box}.exam-temp-crop-handle{position:absolute;width:14px;height:14px;background:#fff;border:2px solid #2d8a4e;border-radius:2px;z-index:1}.exam-temp-crop-handle.is-n{top:-7px;left:50%;margin-left:-7px;cursor:ns-resize}.exam-temp-crop-handle.is-s{bottom:-7px;left:50%;margin-left:-7px;cursor:ns-resize}.exam-temp-crop-handle.is-e{right:-7px;top:50%;margin-top:-7px;cursor:ew-resize}.exam-temp-crop-handle.is-w{left:-7px;top:50%;margin-top:-7px;cursor:ew-resize}.exam-temp-crop-handle.is-nw{top:-7px;left:-7px;cursor:nwse-resize}.exam-temp-crop-handle.is-ne{top:-7px;right:-7px;cursor:nesw-resize}.exam-temp-crop-handle.is-sw{bottom:-7px;left:-7px;cursor:nesw-resize}.exam-temp-crop-handle.is-se{bottom:-7px;right:-7px;cursor:nwse-resize}.uniform-garment-crop{position:absolute;display:block;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.uniform-garment-crop img{position:absolute;display:block;max-width:none;pointer-events:none;-webkit-user-select:none;user-select:none}.outfit-crop-host{position:absolute;z-index:1500}.outfit-crop-host>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;pointer-events:none;-webkit-user-select:none;user-select:none}.outfit-fit-toggle{display:inline-flex;align-items:center;gap:6px;margin-left:4px;font-size:.82rem;font-weight:600;color:var(--forest);cursor:pointer}.outfit-thumb img{grid-area:1 / 1}.outfit-workspace{display:grid;gap:12px}.outfit-main{display:grid;gap:8px;min-width:0}.outfit-side{display:grid;gap:8px;align-content:start;min-width:0}.outfit-section{border:1px solid var(--line);border-radius:12px;background:#fff}.outfit-section>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;cursor:pointer;font-weight:700;color:var(--forest);list-style:none}.outfit-section>summary::-webkit-details-marker{display:none}.outfit-section>summary:after{content:"▾";margin-left:auto;transition:transform .15s}.outfit-section[open]>summary:after{transform:rotate(180deg)}.outfit-section>summary .muted{margin-left:auto}.outfit-section>.outfit-tray{padding:0 10px 10px}.outfit-cropped-tag{padding:1px 7px;border-radius:999px;background:#fff3d6;color:#8a5a00;font-size:.68rem;font-weight:700;cursor:pointer}.outfit-cropped-tag:hover{background:#ffe7ad}@media(min-width:1100px){.outfit-workspace{grid-template-columns:minmax(0,1fr) 300px;align-items:start}.outfit-side{grid-column:2;grid-row:1;position:sticky;top:80px;max-height:calc(100vh - 100px);overflow:auto;padding-right:2px}.outfit-main{grid-column:1;grid-row:1}.outfit-side .outfit-tray{grid-template-columns:repeat(2,minmax(0,1fr))}}.outfit-section-tabs{display:flex;gap:4px;padding:3px;border:1px solid var(--line);border-radius:999px;background:#fff}.outfit-section-tab{flex:1;padding:7px 10px;border:0;border-radius:999px;background:transparent;font:inherit;font-size:.84rem;font-weight:700;color:var(--forest);cursor:pointer;white-space:nowrap}.outfit-section-tab:hover{background:#eef6f1}.outfit-section-tab.on{background:var(--forest);color:#fff}:root{--ink: #1c2b24;--forest: #1b4d3e;--leaf: #2e7d57;--leaf-2: #3d9a6b;--paper: #f4efe4;--card: #fffdf8;--line: #ddd4c4;--muted: #6b726d;--glass: rgba(255, 253, 248, .62);--glass-pill: rgba(255, 255, 255, .72);--warn: #b45309;--bad: #b91c1c;--bad-bg: #fee2e2;--ok: #166534;--ok-bg: #dcfce7;--shadow: 0 10px 28px rgba(28, 43, 36, .08);--radius: 16px;--ink-soft: #4a5750;--btn-radius: 10px;--btn-h: 34px;--btn-h-sm: 28px;--btn-hover: #eef6f1;--btn-line: var(--line);--icon-size: 18px;--menu-shadow: 0 10px 28px rgba(28, 43, 36, .14);--exam-font-en: "Times New Roman", Times, serif;--exam-font-hi: "Noto Sans Devanagari", "Nirmala UI", Mangal, sans-serif;--exam-font-pa: "Noto Sans Gurmukhi", "Nirmala UI", Raavi, sans-serif;font-family:Segoe UI,system-ui,sans-serif;font-size:14px;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;max-width:100%;background:radial-gradient(circle at top,#fff8e8 0%,transparent 42%),var(--paper)}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}a{color:inherit;text-decoration:none}.splash,.center-card{min-height:100dvh;display:grid;place-items:center;padding:24px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px}.login-card{width:min(440px,100%)}.login-card h1{margin:0 0 8px;font-size:1.7rem}.login-chooser{width:min(520px,100%);position:relative}.login-chooser-tiles{margin-top:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.login-door-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}.login-chooser-tiles .hub-tile{min-height:132px}@media(max-width:480px){.login-chooser-tiles{grid-template-columns:1fr}.login-chooser-tiles .hub-tile{min-height:0;aspect-ratio:auto;display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;padding:14px 16px}.login-chooser-tiles .hub-tile .hub-tile-icon{grid-row:span 2;margin:0}}.login-qr-link{position:absolute;top:12px;right:14px;font-size:13px;font-weight:650;color:var(--forest)}.login-qr-link:hover{text-decoration:underline}.van-qr-poster{text-align:center}.van-qr-poster img{width:min(320px,100%);background:#fff;padding:12px;border-radius:12px}.van-qr-timer{font-variant-numeric:tabular-nums;min-width:4.5ch;text-align:right}.van-qr-scan{width:min(440px,100%)}.van-qr-video{width:100%;max-height:360px;border-radius:14px;background:#111;margin:12px 0;object-fit:cover}label.check-row{display:flex;align-items:flex-start;gap:8px}.login-door-link{display:block;margin-top:14px;text-align:center;font-size:.9rem;color:var(--leaf)}.login-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:12px 0 4px}.login-mode-tabs button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;font-weight:600;cursor:pointer}.login-mode-tabs button.on{background:var(--leaf);color:#fff;border-color:var(--leaf)}.child-pick{display:flex;flex-direction:column;gap:8px;margin:12px 0}.child-pick-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;width:100%}.student-hub-intro{display:flex;align-items:center;gap:12px}.student-att-counts{margin:0 0 12px}.eyebrow{margin:0 0 4px;letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:700;color:var(--leaf)}.muted{color:var(--muted)}.sm{font-size:.82rem}.field{display:flex;flex-direction:column;gap:4px;margin:6px 0}.field span{font-size:.78rem;font-weight:600}input,select,textarea{border:1px solid var(--line);border-radius:8px;padding:6px 10px;background:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--btn-h);border:1px solid transparent;border-radius:var(--btn-radius);padding:6px 12px;font:inherit;font-weight:700;line-height:1.2;cursor:pointer;background:var(--forest);color:#fff;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.btn:hover:not(:disabled){box-shadow:0 2px 8px #1b4d3e2e}.btn:focus-visible,.icon-btn:focus-visible{outline:2px solid var(--leaf-2);outline-offset:2px}.btn .ui-icon{flex:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.block{width:100%}.btn.primary,.btn.leaf{background:var(--leaf)}.btn.ghost{background:transparent;color:var(--forest);border:1px solid var(--btn-line)}.btn.ghost:not(.on):hover:not(:disabled){background:var(--btn-hover);box-shadow:none}.btn.ghost.danger{color:var(--bad)}.btn.ghost.danger:not(.on):hover:not(:disabled){background:var(--bad-bg)}.btn.danger:not(.ghost){background:var(--bad)}.btn.light{color:#ecfdf5;border-color:#ffffff40}.btn.bad-text{color:var(--bad);border:0;padding:6px 8px}.error,.ok-note,.hint{border-radius:12px;padding:10px 12px;margin:10px 0}.error{background:var(--bad-bg);color:#991b1b}.ok-note{background:var(--ok-bg);color:var(--ok)}.hint{background:#f3f7f1;color:var(--muted);font-size:.88rem}.hint ul{margin:8px 0 0;padding-left:18px}.hint code{background:#fff;padding:1px 6px;border-radius:6px}.shell{min-height:100dvh;display:flex;flex-direction:column;min-width:0}.appbar{background:#1b4d3ee0;color:#e7f3ec;padding:4px 12px calc(6px + env(safe-area-inset-top));display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;position:sticky;top:0;z-index:20;backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border-bottom:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px #ffffff1f,0 8px 24px #1c2b242e}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.appbar{background:#1b4d3e}}.appbar-left{display:flex;align-items:center;gap:6px;justify-self:start;min-width:0}.appbar .nav{display:flex;gap:4px;overflow:visible;background:transparent;padding:0;flex:none;min-width:0;justify-self:center}.app-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:72px;padding:6px 12px 5px;border-radius:14px;color:#e7f3ec;font-weight:650;font-size:12px;line-height:1.15;flex-shrink:0;background:transparent}.app-tab .ui-icon{color:inherit}.app-tab.on{background:#fffdf8f0;color:var(--forest);box-shadow:inset 0 1px #ffffffe6,0 1px 6px #1c2b241f}.app-tab.on .ui-icon{stroke-width:1.85}.appbar-right{display:flex;align-items:center;gap:6px;justify-self:end;min-width:0}.appbar-user{display:flex;align-items:center;gap:6px}.appbar-account{position:relative}.appbar-account-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.22);background:#ffffff1f;color:#e7f3ec;border-radius:999px;padding:5px 10px;cursor:pointer;font:inherit;max-width:min(220px,38vw);min-height:34px;display:inline-flex;align-items:center;justify-content:center;line-height:1.1}.appbar-account-btn .appbar-name{line-height:1.1;vertical-align:middle}.appbar-account-btn:hover{background:#fff3}.appbar-name{color:#e7f3ec;font-size:.82rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;max-width:100%;vertical-align:bottom}.appbar-account-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:160px;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);z-index:32;overflow:hidden}.appbar-account-menu button{display:block;width:100%;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:10px 12px;font:inherit;font-weight:650;color:inherit;cursor:pointer}.appbar-account-menu button:hover{background:#f3f7f3}.appbar-account-menu button.appbar-role-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:230px;border-bottom:1px solid #efeae0;background:#fbf8ef}.appbar-role-text{display:grid;gap:1px}.appbar-role-text small{font-size:.74rem;font-weight:600;color:var(--muted)}.appbar-role-toggle .acc-switch{flex:none;pointer-events:none}.appbar-account-btn.in-role,.appbar-account-btn.in-role:hover{background:#e9a23b;border-color:#f6c46f;color:#2b1d00;box-shadow:0 0 0 2px #f6c46f59}.appbar-account-btn.in-role .appbar-name-sub{color:#3d2a00;opacity:.85}.access-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none}.access-dot.more{background:#16a34a;box-shadow:0 0 0 2px #dcfce7}.access-dot.less{background:#dc2626;box-shadow:0 0 0 2px #fee2e2}.emp-access-menu{position:relative;display:inline-flex}.emp-access-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:220px;display:grid;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow);text-align:left}.emp-access-title{margin:0 0 2px;font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.emp-access-row{display:flex;align-items:center;gap:8px;padding:5px 2px;font-weight:650;cursor:pointer}.emp-access-row input{width:16px;height:16px;accent-color:var(--forest)}.emp-access-note{margin:2px 0 0}.emp-access-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;margin-top:6px;padding-top:8px;border-top:1px solid #efeae0;font-size:.85rem;font-weight:700}.dir-search-row{margin:4px 0 10px;max-width:420px}.emp-add-btn{white-space:nowrap}.emp-add-groups{display:grid;gap:2px;margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:12px}.emp-add-groups legend{padding:0 6px;font-weight:800}.acc-groups{display:flex;flex-wrap:wrap;gap:8px}.acc-group-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;font:inherit;font-weight:750;cursor:pointer}.acc-group-chip.on{background:var(--forest);border-color:var(--forest);color:#fff}.acc-group-chip.add{border-style:dashed;color:var(--forest)}.acc-group-count{padding:0 7px;border-radius:999px;background:#00000014;font-size:.75rem}.appbar-session{color:#e7f3ec;font-size:12px;font-weight:700;white-space:nowrap;padding:5px 10px;border-radius:999px;background:#ffffff1f;border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);text-decoration:none}a.appbar-session:hover{background:#ffffff38;color:#fff}.appbar .logout-btn{color:#e7f3ec;border-color:#ffffff47}.appbar .logout-btn:hover{background:#ffffff1f}.app-dock{display:none}.logout-btn{padding:6px 10px;font-size:.82rem;border-radius:999px}.student-search{position:relative;display:flex;align-items:center;gap:4px}.student-search .student-search-inline{width:0;opacity:0;padding:0;border:0;pointer-events:none;transition:width .15s ease,opacity .15s ease}.student-search.expanded .student-search-inline,.student-search:focus-within .student-search-inline{width:min(200px,46vw);opacity:1;pointer-events:auto;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:#ffffff24;color:#fff}.student-search-drawer-input{display:none}.student-search input::placeholder{color:#e7f3ecb3}.search-toggle{width:34px;height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:#ffffff24;color:#e7f3ec;font-size:1.05rem;line-height:1;cursor:pointer;display:grid;place-items:center;flex-shrink:0}.search-toggle.dark{border-color:var(--line);background:#fff;color:var(--forest)}.search-toggle:hover{background:#ffffff38}.search-toggle.dark:hover{background:#eef6f1}.appbar-icon-btn{width:34px;height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:#ffffff24;color:#e7f3ec;cursor:pointer;display:grid;place-items:center;flex-shrink:0;text-decoration:none;padding:0}.appbar-icon-btn:hover{background:#ffffff38}.appbar-icon-btn.on{background:#fffdf8f0;color:var(--forest)}.student-search-menu{position:absolute;left:0;top:calc(100% + 6px);width:min(400px,92vw);max-height:340px;overflow:auto;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);z-index:30}.search-group+.search-group{border-top:1px solid var(--line)}.search-group-label{padding:8px 12px 2px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.student-search-item{padding:8px 10px}.student-search-item.clickable{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:0;cursor:pointer;border-radius:0;color:inherit;font:inherit}.student-search-item.clickable:hover{background:#f3f7f3}.search-item-icon{flex:none;width:36px;height:36px;display:grid;place-items:center;background:#eef6f1;border-radius:10px}.search-item-icon.is-photo{background:#e8efe9;border-radius:50%;overflow:hidden;padding:0}.search-item-icon .student-photo{width:36px;height:36px}.search-item-body{min-width:0;display:flex;flex-direction:column;gap:1px}.search-item-body strong{font-size:.92rem}.student-search-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}.student-search-links{display:flex;flex-wrap:wrap;gap:4px}.student-search-menu .pad{padding:8px 12px 10px}.topbar{display:none}.nav{display:flex;gap:6px;overflow-x:auto;background:#163e33;padding:8px 12px}.nav a{color:#d7eee3;padding:8px 12px;border-radius:999px;white-space:nowrap;font-weight:600;font-size:.9rem}.nav a.active{background:var(--leaf);color:#fff}.page{width:min(980px,100%);margin:0 auto;padding:20px 16px 48px;min-width:0}.page:has(.transport-layout.is-sub),.page:has(.library-layout.is-sub),.page:has(.class-tests-layout.is-sub),.page:has(.tasks-layout.is-sub),.page:has(.records-layout.is-sub){padding-top:0}.page:has(.check-page),.page:has(.dash-page),.page:has(.daily-page),.page:has(.daily-logs-page),.page:has(.student-page),.page:has(.setup-page),.page:has(.ds-page){width:min(1480px,100%);padding:10px 12px 28px}.page:has(.setup-page){padding-left:8px}.page:has(.allot-table){width:min(1680px,100%)}.page-head{margin-bottom:16px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.page-head h1{margin:0 0 6px;font-size:1.5rem}.page-head.tight{margin-bottom:8px;align-items:center}.page-head.tight h1{margin:0;font-size:1.1rem}.page-head.tight .eyebrow{margin:0 0 2px}.settings-page{max-width:520px}.settings-card{margin-bottom:12px}.settings-card h2{margin:0 0 8px;font-size:1.08rem}.date-field{margin:0;min-width:160px}.card-actions{display:flex;gap:8px;margin-top:14px}.card-actions .btn{flex:1;text-align:center}.log-card h2{margin:8px 0 2px;font-size:1.2rem}.log-card.filled{border-color:#c9e6cf;background:#f7fbf7}.yesno-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}textarea{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff;min-height:140px;resize:vertical;font-family:ui-monospace,Consolas,monospace;font-size:.85rem}.check-inline{display:flex;align-items:center;gap:8px;margin:8px 0 12px;font-size:.92rem}.access-checks{display:flex;flex-wrap:wrap;gap:8px 16px;margin:4px 0 8px}.access-checks label{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;cursor:pointer}.access-checks label.locked{opacity:.72;cursor:default}.staff-access-cell .access-checks{margin:0}.form-grid fieldset.field{border:0;padding:0;margin:0;min-width:0}.form-grid fieldset.field legend{font-size:.82rem;font-weight:700;margin-bottom:4px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.class-card{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.class-card h2{margin:8px 0 4px;font-size:1.2rem}.class-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.pill{display:inline-flex;align-items:center;background:#e8f4ec;color:var(--forest);border-radius:999px;padding:3px 10px;font-weight:700;font-size:.8rem}.progress{height:8px;background:#efe8d8;border-radius:999px;overflow:hidden;margin:12px 0 8px}.progress-bar{height:100%;background:var(--leaf-2)}.stat-row{display:flex;justify-content:space-between;gap:10px;font-size:.9rem}.stat-row.pad{margin:8px 2px 12px}.warn{color:var(--warn)}.ok{color:var(--ok)}.ex-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 0 14px}.ex-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;white-space:nowrap;font-weight:700;cursor:pointer}.ex-chip.ready{border-color:#9ccc9c}.ex-chip.on{background:var(--forest);color:#fff;border-color:var(--forest)}.check-meta{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.check-meta .grow{grid-column:1 / -1}.check-meta .help{grid-column:1 / -1;margin:0;color:var(--muted);font-size:.88rem}.sheet-hint{margin:0 0 10px}.sheet-wrap{overflow:auto;max-height:calc(100vh - 150px);border:1px solid var(--line);border-radius:10px;background:var(--card)}.sheet{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.sheet th,.sheet td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:4px 6px;vertical-align:middle;background:var(--card)}.sheet thead th{position:sticky;top:0;z-index:2;background:#f4f7f5;font-weight:650}.sheet tbody tr:nth-child(2n) td{background:#f6f8f7}.sheet tbody tr:hover td{background:#eef4f0}.sheet-name-col{position:sticky;left:0;z-index:3;min-width:150px;max-width:200px;text-align:left;background:var(--card);box-shadow:1px 0 0 var(--line)}.sheet-corner,.sheet thead .sheet-name-col{top:0;left:0;z-index:5;background:#f4f7f5}.sheet-ex-head{min-width:68px;max-width:110px;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1.2}.sheet-ex-head.ready{background:#dff3e4}.sheet-ex-head .ex-title{font-size:.86rem;color:var(--ink)}.sheet-ex-head .ex-date{margin-top:1px;font-size:.68rem;font-weight:600;color:var(--forest)}.sheet-ex-head .ex-date.muted{color:var(--muted);font-weight:500}.sheet-ex-head .ex-notes{margin-top:1px;font-size:.64rem;font-weight:500;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px;margin-left:auto;margin-right:auto}.sheet-add-head,.sheet-add-cell{min-width:40px;text-align:center;background:#f3f7f3}.sheet-add-btn{width:28px;height:28px;border-radius:8px;border:1px dashed var(--forest);background:#fff;color:var(--forest);font-size:1.15rem;line-height:1;cursor:pointer;font-weight:700}.sheet-add-btn:hover:not(:disabled){background:#eef8f0}.sheet-add-btn:disabled{opacity:.5;cursor:default}.sheet-roll{display:inline-block;min-width:1.4rem;margin-right:6px;color:var(--muted);font-weight:700;font-size:.8rem}.sheet-student{font-weight:650;font-size:.9rem}.sheet-tick{text-align:center}.sheet-tick.done{background:#eef8f0}.sheet-tick.blocked{background:#fafafa}.sheet-tick input[type=checkbox]{width:16px;height:16px;cursor:pointer}.sheet-tick.blocked input:disabled{cursor:not-allowed}.ex-strip.tight{margin:6px 0 8px;gap:6px}.dash-chrome{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:8px;padding:6px 8px;background:var(--card);border:1px solid var(--line);border-radius:10px}.dash-chrome-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.dash-title{font-size:.95rem}.dash-rules{display:flex;flex-wrap:wrap;align-items:end;gap:8px 12px;margin:0 0 8px;padding:6px 8px;background:var(--card);border:1px solid var(--line);border-radius:10px}.dash-rules .mini-label{margin:0}.dash-meta{white-space:nowrap}.dash-date-input{padding:4px 8px;border-radius:8px;font-size:.82rem}.dash-metrics{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:.78rem;color:var(--muted)}.dash-metrics b{color:var(--ink);font-size:.9rem;margin-right:2px}.dash-metrics .warn b,.dash-metrics .warn{color:var(--warn)}.dash-filters{display:flex;flex-wrap:wrap;gap:4px;margin-left:auto}.dash-filters .ex-chip{padding:4px 10px;font-size:.78rem}.dash-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px}.dash-toolbar h1{margin:0;font-size:1.2rem}.dash-date{margin:0;min-width:150px}.dash-date input{padding:8px 10px}.dash-summary.compact{margin-bottom:8px;gap:8px}.dash-summary.compact .dash-stat{padding:8px 10px;border-radius:10px}.dash-summary.compact .dash-stat strong{font-size:1.15rem}.dash-sheet-wrap{overflow:auto;max-height:calc(100vh - 220px);border:1px solid var(--line);border-radius:8px;background:var(--card)}.dash-sheet-wrap.tall{max-height:calc(100vh - 118px)}.dash-sheet{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:.84rem}.dash-sheet th,.dash-sheet td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:6px 8px;vertical-align:top;white-space:nowrap;background:var(--card)}.dash-sheet thead th{position:sticky;top:0;z-index:2;background:#f4f7f5;color:inherit;font-weight:700;text-align:left}.dash-sheet tbody tr:nth-child(2n) td{background:#f6f8f7}.dash-sheet tbody tr:hover td{background:#eef4f0}.dash-sheet .sticky-col{position:sticky;left:0;z-index:3;min-width:140px;background:var(--card);box-shadow:1px 0 0 var(--line);text-align:left}.dash-sheet thead .sticky-col{top:0;left:0;z-index:5;background:#f4f7f5;color:inherit}.dash-teacher-name{font-weight:700}.dash-class-cell a{color:var(--forest);font-weight:600}.dash-class-cell a:hover{text-decoration:underline}.dash-status{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.72rem;font-weight:800;letter-spacing:.02em}.dash-status.pending{background:#fee2e2;color:#b91c1c}.dash-status.ok{background:#dcfce7;color:#166534}.dash-status.none{background:#e5e7eb;color:#4b5563}.dash-status.partial{background:#fef3c7;color:#92400e}.switch-row{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px;max-height:72px;overflow:auto}.switch-row .ex-chip{padding:4px 10px;font-size:.78rem}.subject-switch-head{margin-bottom:6px}.subject-switch-btn{display:flex;align-items:baseline;gap:10px;padding:0;border:0;background:transparent;cursor:pointer;text-align:left;color:inherit}.subject-switch-btn h1{margin:0;font-size:1.25rem}.subject-switch .switch-row.subjects{margin-top:6px}.sheet-student{color:var(--forest);font-weight:650}.sheet-student:hover{text-decoration:underline}.student-subjects{display:flex;flex-direction:column;gap:12px}.student-subject-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px}.student-subject-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px}.student-subject-head h2{margin:0;font-size:1.05rem}.student-sheet{max-height:none}.range-field{display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;color:var(--muted)}.range-field input{padding:4px 8px;border-radius:8px;font-size:.82rem}.check-page.embedded .sheet-wrap{max-height:calc(100vh - 200px)}.notebook-students{margin-top:8px}.notebook-student{text-decoration:none;color:inherit;cursor:pointer}.notebook-student:hover{border-color:#9ccc9c;background:#eef8f0}.write-day{margin-top:14px}.write-day h2{margin:0 0 2px;font-size:1.1rem}.class-tab-strip{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.class-tab{min-width:52px;padding:10px 14px 8px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:700;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;line-height:1}.class-tab.on{background:var(--forest);border-color:var(--forest);color:#fff}.class-tab-name{font-size:.95rem}.class-tab-tick{font-size:.85rem;color:#86efac;font-weight:800}.class-tab.on .class-tab-tick{color:#bbf7d0}.class-tab.filled:not(.on){border-color:#86efac;background:#f0fdf4}.class-tab-dot{width:7px;height:7px;border-radius:50%;background:#f59e0b}.class-tab.on .class-tab-dot{background:#fde68a}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14281c73;display:grid;place-items:center;padding:16px;z-index:40}.modal-card{width:min(420px,100%);display:flex;flex-direction:column;gap:8px}.modal-card h2{margin:0 0 4px}.question-editor-backdrop{z-index:50;align-items:center}.question-editor{width:min(720px,100%);max-height:90vh;display:flex;flex-direction:column;gap:0;padding:0;overflow:visible;font-family:system-ui,sans-serif}.question-editor-head{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:10px 12px;background:#fff;border-bottom:1px solid var(--line, #dfe7e2);position:sticky;top:0;z-index:2;overflow:visible}.question-editor-head .tool-select,.question-editor-subtools .tool-select{max-width:7.5rem;flex:0 1 auto;min-width:0}.symbol-suggest-slot{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;min-height:28px}.question-editor-head .symbol-suggest-item .symbol-name{display:inline}.exam-tools-more{min-width:28px}.exam-tools-chevron{display:inline-block;font-weight:700;transition:transform .18s ease}.exam-tools-more.is-open .exam-tools-chevron{transform:rotate(90deg)}.exam-tools-drawer{display:grid;grid-template-columns:0fr;opacity:0;transition:grid-template-columns .18s ease,opacity .18s ease}.exam-tools-drawer.is-open{grid-template-columns:1fr;opacity:1}.exam-tools-drawer-inner{overflow:hidden;display:flex;align-items:center;gap:4px;min-width:0}.question-editor-head .math-panel{flex:1 0 100%;margin:4px 0 0}.question-editor-head .mcq-layout-bar{margin:0}.question-editor-marks,.question-editor-marks-field{font-size:.78rem;font-weight:700}.question-editor-marks-field input{width:52px;margin-left:4px}.question-editor-body{flex:1 1 auto;min-height:0;overflow:auto;padding:16px 18px 24px;background:#fff}.question-editor-body .paper-q{font-family:Times New Roman,Times,serif;cursor:default}.question-editor-foot{flex:0 0 auto;display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 12px;border-top:1px solid var(--line, #dfe7e2);background:#fafafa}.question-editor-save-error{flex:1 1 auto;margin:0;font-size:.82rem}.question-editor-subtools{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin:0 0 6px}@media(max-width:700px),(pointer:coarse){.question-editor-backdrop{padding:0;align-items:stretch}.question-editor{width:100%;max-height:none;min-height:0;border-radius:0}.question-editor-body{padding:10px 8px 16px}.question-editor-body .paper-q-main{padding-right:42px}.question-editor-body .paper-opt-row,.question-editor-body .paper-ar-opt{grid-template-columns:1.5em 1fr auto}.question-editor-subtools{flex-wrap:nowrap;margin:0 0 4px}}.student-list{display:flex;flex-direction:column;gap:8px}.student-row{display:grid;grid-template-columns:28px 42px 1fr auto;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px}.student-row.done{background:#eef8f0;border-color:#c9e6cf}.student-row.blocked{opacity:.78}.student-row .roll{color:var(--muted);font-weight:700}.student-row .name{font-weight:650}.student-row .stamp{color:var(--muted);font-size:.82rem;min-width:72px;text-align:right}.student-row input[type=checkbox]{width:20px;height:20px}.stack{display:flex;flex-direction:column;gap:14px;min-width:0;max-width:100%}.form-grid h2,.card h2{margin:0 0 8px;font-size:1.1rem}.chip-list{display:flex;flex-wrap:wrap;gap:8px}.chip-list.dense{gap:6px}.stack.tight{gap:10px}.class-books-card{padding:14px}.class-books-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.class-books-head h2{margin:0}.setup-squares{display:flex;flex-wrap:wrap;gap:6px}.setup-squares.big{gap:10px;margin-bottom:4px}.setup-square{min-width:72px;padding:8px 10px;border-radius:10px;border:1px solid #c9e6cf;background:#eef8f0;color:var(--forest);font-weight:700;font-size:.78rem;cursor:pointer}.setup-squares.big .setup-square{min-width:110px;min-height:72px;padding:14px 12px;border-radius:12px;font-size:.9rem;display:grid;place-items:center;text-align:center}.setup-square.on{background:var(--forest);color:#fff;border-color:var(--forest)}.class-books-card .table-wrap{margin-top:10px;padding-top:8px;border-top:1px solid var(--line)}.class-books-card .teachers-table select{min-width:140px;max-width:100%}.setup-mini-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:8px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.setup-mini-form input,.setup-mini-form select{padding:8px 10px;border-radius:10px;min-width:100px;flex:1}.setup-mini-form .btn{padding:8px 14px;flex:0}.setup-mini-form.wrap .mini-label{display:flex;flex-direction:column;gap:4px;font-size:.75rem;font-weight:600;color:var(--muted);flex:1;min-width:140px}.book-pill{background:#eef8f0;border-color:#c9e6cf;color:var(--forest);font-weight:700}.rules-panel{margin-top:8px;padding-top:10px;border-top:1px solid var(--line)}.rules-panel h3{margin:14px 0 6px;font-size:.95rem}.weekday-grid{display:flex;flex-wrap:wrap;gap:8px 14px;margin-bottom:8px}.daily-log-sheet td{max-width:180px;white-space:normal;word-break:break-word}.daily-log-sheet .muted-row td{color:var(--muted)}.daily-log-sheet tr.day-sep td{padding:0;height:8px;border-bottom:none;background:transparent}.daily-log-sheet tr.day-banner td{background:#e7f2eb;border-bottom:1px solid #c5dbc9;padding:8px 10px;color:var(--forest);font-size:.92rem}.daily-log-sheet .subj-cell{font-weight:650}.daily-log-sheet tbody tr:not(.day-banner):not(.day-sep):nth-child(2n) td{background:#1b4d3e08}.daily-log-sheet thead th{position:sticky;top:0;z-index:2}.class-grid{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.class-tile,.class-grade,.class-section{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:4px;position:relative;box-shadow:none}.class-tile{border-radius:999px;min-height:0;padding:4px 11px;font-size:.84rem;flex-direction:row}.class-grade,.class-section{min-width:44px;width:auto;height:44px;padding:0 10px;border-radius:999px;font-size:.82rem;flex-direction:column;line-height:1}.class-section{min-width:38px;width:38px;height:38px;font-size:.8rem;padding:0}.class-grade-label{font-weight:800}.class-tile:hover,.class-grade:hover,.class-section:hover{border-color:#9ebdac}.class-tile.on,.class-grade.on,.class-section.on{background:var(--forest);border-color:var(--forest);color:#fff;box-shadow:0 4px 12px #1b4d3e38}.class-tile.on .muted,.class-tile.on .class-tile-meta,.class-section.on .class-tile-meta{color:#cde7d8!important}.class-tile-name{font-size:.84rem;line-height:1.2}.class-tile-meta{font-weight:500;font-size:.68rem}.class-tile-tick{position:static;font-size:.62rem;color:#2e7d57}.class-grade.on .class-tile-tick,.class-section.on .class-tile-tick,.class-tile.on .class-tile-tick{color:#b8f0c8}.class-tile-dot{width:6px;height:6px;border-radius:50%;background:#e2a04a;position:static;flex:none}.class-tile.fill-filled,.class-grade.fill-filled,.class-section.fill-filled{outline:1px solid rgba(46,125,90,.35)}.home-hero{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap;padding:6px 8px 6px 12px;border-radius:12px;background:var(--card);border:1px solid var(--line)}.home-hero h1{margin:0;font-size:1.05rem}.home-hero .eyebrow,.home-lead{display:none}.home-mode{display:flex;flex-wrap:wrap;gap:4px;background:#eef4f0;padding:3px;border-radius:999px}.home-mode-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--ink);font-weight:700;font-size:.82rem;padding:5px 11px;border-radius:999px;cursor:pointer}.home-mode-btn.on{background:var(--forest);color:#fff}.exam-sub-mode{margin:0 0 14px}.exam-cycle-pick{max-width:280px}.dash-teacher-search{display:flex;align-items:center;gap:6px}.dash-teacher-search input{width:min(180px,40vw);padding:6px 10px;border-radius:999px;border:1px solid var(--line)}.setup-layout{display:grid;grid-template-columns:132px minmax(0,1fr);gap:12px;align-items:start;margin-left:-4px}.setup-side{position:sticky;top:56px;display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:6px}.teachers-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;flex-wrap:wrap}.teachers-panel-head h2{margin:0 0 4px}.teachers-panel-head .muted.sm{margin:0}.teachers-search{min-width:min(220px,100%);margin:0}.teachers-search-row{display:flex;align-items:flex-end;gap:8px}.teachers-access-btn{margin-bottom:2px}.teacher-access-dialog{width:min(920px,calc(100vw - 32px));max-height:min(86vh,900px);overflow:auto}.teachers-panel-head .teachers-search{min-width:96px;max-width:140px;flex:0 0 120px}.teachers-search input{width:100%}.setup-side-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;text-align:left;padding:9px 10px;border-radius:10px;font-weight:650;font-size:.88rem;color:var(--ink);cursor:pointer}.setup-side-btn:hover{background:#eef4f0}.setup-side-btn.on{background:var(--forest);color:#fff}.setup-main{min-width:0}.th-hint{font-weight:500;margin-top:2px}.sr-col{width:2.4rem;max-width:3rem;text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.teachers-table th.sr-col{font-weight:650;color:var(--muted)}.employee-name-link{color:inherit;text-decoration:none}.employee-name-link:hover strong{text-decoration:underline}.emp-row-editing td{background:#f7f3ea}.emp-held-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.emp-held-class{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.emp-held-actions{display:flex;gap:10px}.emp-takeover{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 0}.emp-takeover p{margin:0}.check-row span{display:flex;align-items:center;gap:8px}.access-people{display:grid;gap:6px;margin-top:8px;max-height:240px;overflow:auto}.access-people.compact{max-height:180px}.access-picked-bar{margin-bottom:12px}.access-change{margin-top:8px}.access-change summary{cursor:pointer;font-weight:650}.access-blocks{display:grid;gap:14px}.access-module-grid{display:grid;gap:10px;margin-top:12px}@media(min-width:860px){.access-module-grid{grid-template-columns:1fr 1fr}}.access-module-card{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fafaf8}.access-module-title{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:.95rem;font-weight:750;color:var(--forest)}.access-module-title .ui-icon{flex:none}.access-module-card .access-action-row{margin-bottom:4px}.access-module-card .access-action-row.nested{padding-left:26px}.access-module-card .access-action-flags{gap:4px 10px}.access-module-card .access-flag{font-size:.78rem;gap:4px}.access-module-card .access-child-label{min-width:120px;font-size:.82rem}.access-block{padding:4px 0 8px}.access-block-title{margin:0;font-size:1.05rem;font-weight:750;color:var(--forest)}.access-block-rule{border:0;border-top:1px solid var(--line);margin:6px 0 10px}.access-action-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:6px}.access-action-row.nested{padding-left:16px}.access-child-label{min-width:140px;font-weight:650;font-size:.92rem}.access-action-flags{display:flex;flex-wrap:wrap;gap:8px 12px}.access-flag{display:inline-flex;align-items:center;gap:5px;font-size:.88rem}.access-matrix th,.access-matrix td{text-align:center}.access-matrix td.access-row-label{text-align:left;font-weight:650;white-space:nowrap}.access-matrix tr.access-nested td.access-row-label{font-weight:500;padding-left:22px}.field.check-row span input{width:auto}.teacher-name-cell{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pill.tiny{font-size:.68rem;padding:1px 6px;border-radius:999px;background:#e7f2eb;color:var(--forest);font-weight:700}.teacher-app-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#e8f1ff;color:#1a73e8;flex-shrink:0}.teacher-app-badge .ui-icon{display:block}.teacher-actions{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:4px;white-space:nowrap;opacity:0;pointer-events:none}.emp-action-cell.teacher-actions,.teacher-actions.emp-action-cell,td.emp-action-cell{opacity:1;pointer-events:auto}.teachers-table tbody tr:hover .teacher-actions,.teachers-table tbody tr:focus-within .teacher-actions,.teachers-table tbody tr.emp-row-editing .teacher-actions{opacity:1;pointer-events:auto}.linkish{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0;color:var(--forest);font-weight:650;font-size:.82rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.linkish.bad{color:#a33}.teachers-table td{vertical-align:middle}.table-wrap{overflow-x:auto;width:100%;max-width:100%;min-width:0}.teachers-table{width:100%;border-collapse:collapse}.employees-table-wrap{max-height:calc(100dvh - 210px);overflow:auto}.employees-table thead th{position:sticky;top:0;z-index:2;background:var(--card, #fff);box-shadow:0 1px 0 var(--line)}.employees-table th,.employees-table td{padding:10px 12px}.employees-table thead th{background:#f4f7f5}.employees-table tbody tr:nth-child(2n){background:#f6f8f7}.employees-table tbody tr:hover{background:#eef4f0}.att-zebra thead th{background:#f4f7f5}.att-zebra tbody tr:nth-child(2n){background:#f6f8f7}.att-zebra tbody tr:hover{background:#eef4f0}.emp-status-pill{display:inline-block;font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap}.emp-status-pill.on{background:#e7f4ec;color:#1d5c3d}.emp-status-pill.off{background:#f8e8e8;color:#9b2c2c}.employee-edit-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.employee-edit-title h1{margin:0}.employee-edit-quick{display:flex;align-items:center;gap:6px}.emp-quick-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 10px;border-radius:999px;border:1px solid var(--line);background:#fff;font:inherit;font-size:.8rem;font-weight:650;cursor:pointer;color:var(--ink)}.emp-quick-btn:hover{background:#f4efe4}.employee-edit-grid{display:grid;gap:12px;align-items:start}.employee-edit-grid .card{padding:12px}.employee-edit-grid h2{font-size:.95rem}.employee-edit-grid .field{margin:4px 0}@media(min-width:720px){.employee-edit-grid{grid-template-columns:1fr 1fr}}@media(min-width:1080px){.employee-edit-grid{grid-template-columns:1fr 1fr 1fr}}.allot-wrap{max-height:calc(100dvh - 220px);overflow:auto}.allot-table{width:max-content;min-width:100%;table-layout:auto;border-collapse:separate;border-spacing:0}.allot-table th,.allot-table td{background:var(--card)}.allot-table thead th{position:sticky;top:0;z-index:2;box-shadow:0 1px 0 var(--line)}.allot-table th.allot-subj{white-space:normal;min-width:108px;max-width:140px;line-height:1.2;font-size:.78rem;vertical-align:bottom}.allot-table th:nth-child(1),.allot-table td:nth-child(1){position:sticky;left:0;min-width:52px;width:52px;z-index:3}.allot-table th:nth-child(2),.allot-table td:nth-child(2){position:sticky;left:52px;min-width:64px;width:64px;z-index:3}.allot-table th:nth-child(3),.allot-table td:nth-child(3){position:sticky;left:116px;min-width:132px;z-index:3}.allot-table th:nth-child(4),.allot-table td:nth-child(4){position:sticky;left:248px;min-width:132px;z-index:3;box-shadow:4px 0 8px #1c2b240f}.allot-table thead th:nth-child(-n+4){z-index:5}.allot-cell{min-width:108px;max-width:148px;vertical-align:top}.allot-cell select{width:100%;max-width:140px}.allot-stack{display:flex;flex-direction:column;align-items:stretch;gap:4px}.allot-chip{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:22px;padding:1px 6px 1px 8px;border-radius:999px;background:#eef6f1;font-size:.75rem;font-weight:650;line-height:1.2}.allot-chip button{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:0 2px;font-size:1rem;line-height:1}.allot-chip button:hover{color:var(--bad)}.allot-extra{display:flex;align-items:center;gap:4px;margin-top:4px;font-size:.78rem}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:4px 6px;border-bottom:1px solid var(--line);font-size:.86rem}.phone-edit{display:flex;align-items:center;gap:8px}.phone-edit input{min-width:140px;flex:1}.empty{text-align:center}.dash-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:14px}.dash-stat{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px}.dash-stat strong{display:block;font-size:1.35rem;color:var(--forest)}.dash-stat span{color:var(--muted);font-size:.82rem}.dash-stat.warn-bg{background:#fff7ed;border-color:#fed7aa}.dash-stat.bad-bg{background:var(--bad-bg);border-color:#fecaca}.dash-stat.bad-bg strong{color:var(--bad)}.dash-stat.warn-bg strong{color:var(--warn)}.dash-teacher-head{width:100%;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;background:transparent;border:0;padding:0;text-align:left;cursor:pointer;color:inherit}.dash-teacher-head h2{margin:0 0 2px;font-size:1.15rem}.dash-teacher-metrics{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:.9rem;font-weight:700}.card-actions.tight{gap:6px}.card-actions.tight .btn{padding:6px 10px;font-size:.82rem}.warn-note{background:#fff6e8;color:#8a5a00;padding:10px 12px;border-radius:10px;margin:0 0 12px;font-size:.92rem}.exam-class-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}.exam-class-tab{min-width:36px;height:32px;padding:0 10px;border:1px solid rgba(0,0,0,.1);border-radius:999px;background:#fff;color:#345;font:inherit;font-weight:700;cursor:pointer}.exam-class-tab.on{background:var(--forest);border-color:var(--forest);color:#fff}.exam-marks-page{padding-bottom:8px}.exam-marks-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 10px}.exam-marks-toolbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.exam-marks-label{display:block;font-size:11px;font-weight:700;color:var(--muted);margin-bottom:4px;letter-spacing:.03em;text-transform:uppercase}.exam-cycle-select{position:relative;min-width:148px;flex:none}.exam-cycle-btn{min-width:148px;height:36px;padding:0 12px;border-radius:10px;border:1px solid var(--line);font:inherit;font-weight:750;cursor:pointer;text-align:left}.exam-cycle-btn.kind-term,.exam-cycle-opt.kind-term{background:#e7f4ec;border-color:#2e7d57;color:#1d5c3d}.exam-cycle-btn.kind-periodic,.exam-cycle-opt.kind-periodic{background:#fff4e0;border-color:#d39b2a;color:#8a5a00}.exam-cycle-btn.kind-term.on,.exam-cycle-opt.kind-term.on{background:var(--forest);color:#fff;border-color:var(--forest)}.exam-cycle-btn.kind-periodic.on,.exam-cycle-opt.kind-periodic.on{background:#c98612;color:#fff;border-color:#c98612}.exam-cycle-menu{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 28px #14281e1f}.exam-cycle-opt{width:100%;text-align:left;padding:8px 10px;border-radius:8px;border:1px solid transparent;font:inherit;font-weight:700;cursor:pointer;margin-bottom:4px}.exam-cycle-opt:last-child{margin-bottom:0}.exam-class-pick,.exam-class-one{display:flex;align-items:center;gap:8px;min-width:0;flex:none}.exam-class-pick input[type=search],.exam-class-pick select{display:block;width:auto;min-width:88px;height:36px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff}.exam-class-pick input[type=search]{margin-bottom:0;width:148px;min-width:110px}.exam-class-one strong{display:block;font-size:1.05rem}.exam-custom-plus{position:relative;flex:none}.exam-custom-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:22;min-width:240px}.exam-custom-actions{display:flex;justify-content:flex-end;gap:8px}@media(max-width:640px){.exam-custom-pop{position:fixed;left:12px;right:12px;top:76px;min-width:0;max-height:calc(100dvh - 96px);overflow:auto;z-index:60}}@media(max-width:820px){.exam-marks-toolbar{flex-wrap:wrap}.exam-marks-toolbar-actions{margin-left:0}}.exam-marks-download{margin-bottom:12px;display:grid;gap:10px}.exam-dl-scopes,.exam-dl-classes{display:flex;flex-wrap:wrap;gap:8px 14px}.exam-marks-sheet{overflow:auto;max-height:calc(100vh - 170px);margin-bottom:8px;border:1px solid var(--line);border-radius:12px}.exam-marks-sheet .sheet td,.exam-marks-sheet .sheet th{padding:4px 8px}.exam-marks-head{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:72px;font-weight:650}.exam-marks-mm{display:inline-flex;align-items:center;gap:4px;font-weight:600;font-size:11px;color:var(--muted)}.exam-marks-mm input{width:52px;padding:2px 4px;font:inherit;font-weight:700;color:var(--ink)}.exam-marks-cell{width:56px;padding:2px 4px;font:inherit;text-align:center}.exam-marks-custom{background:#f7f3fb}.syl-chip.filled{background:#e7f7ec;border-color:#2e7d57;color:#1d6b3a}.syl-chip.filled.on{background:var(--leaf);border-color:var(--leaf);color:#fff}.syl-compile{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.syl-compile p{margin:4px 0 0}.syl-compile-actions{display:flex;flex-wrap:wrap;gap:6px}.syl-compile-actions .btn{padding:8px 12px;font-size:.85rem}.syl-selects{display:flex;flex-wrap:nowrap;align-items:flex-end;gap:10px 12px;margin:8px 0;max-width:100%;overflow-x:auto}.syl-selects .field{min-width:0;flex:1 1 0}.syl-selects .field select{width:100%}.syl-compile-icons{display:flex;align-items:center;gap:6px;margin-bottom:8px;flex:0 0 auto}.syl-download{position:relative}.syl-download-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:8;display:grid;min-width:120px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);overflow:hidden}.syl-download-menu button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:#fff;text-align:left;padding:8px 12px;font:inherit;cursor:pointer}.syl-download-menu button:hover{background:#f4efe4}.syl-subjects{display:grid;gap:12px}.syl-subject-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.syl-subject h2{margin:0;font-size:1.05rem}.syl-subject textarea{width:100%;min-height:140px;margin-top:8px;resize:vertical}.syl-copy{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}.syl-copy .btn{padding:6px 10px;font-size:.8rem}.syl-subject.filled{outline:1px solid rgba(46,125,90,.35)}.syl-preview{margin-bottom:12px}.syl-preview-brand{display:grid;grid-template-columns:52px 1fr 52px;gap:10px;align-items:center;margin-bottom:12px}.syl-preview-brand img{width:52px;height:52px;object-fit:contain}.syl-preview-brand>div{text-align:center}.syl-preview-school{margin:0 0 4px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.syl-preview-brand h2{margin:0;text-decoration:underline;text-underline-offset:3px;font-size:1.1rem}.syl-preview-brand p{margin:4px 0 0}.syl-preview section{margin-top:14px}.syl-preview h3{margin:0 0 4px;border-bottom:1px solid var(--line);padding-bottom:2px;font-size:1rem}.syl-preview-text{white-space:pre-wrap;font-family:inherit;margin:0;font-size:.95rem;line-height:1.45}.syl-preview-blank{margin:0;min-height:1.2em}.exam-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.exam-card{background:var(--card, #fff);border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:8px}.exam-card h2{margin:0;font-size:1.05rem}.exam-card-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.exam-status{display:inline-block;font-size:.75rem;font-weight:700;padding:3px 8px;border-radius:999px;background:#eef2f6;color:#334}.exam-status.assigned{background:#e8f0ff;color:#245}.exam-status.draft{background:#fff6e8;color:#8a5a00}.exam-status.in_review{background:#f3e8ff;color:#5a2d8a}.exam-status.submitted{background:#e7f7ec;color:#1d6b3a}.exam-builder .exam-basics,.exam-builder .exam-section-edit{margin-bottom:12px}.page:has(.exam-builder.paper-mode){width:min(820px,100%);padding:8px 10px 32px}.page:has(.exam-builder.paper-mode.orient-landscape){width:min(1180px,100%);padding:8px 12px 32px}.exam-builder.paper-mode{display:flex;flex-direction:column;gap:8px;touch-action:manipulation}.exam-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;position:sticky;top:44px;z-index:5;background:#f7f4eef0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:6px 4px;border-bottom:1px solid rgba(0,0,0,.06);margin:0 -2px}.exam-toolbar-meta{flex:1;min-width:140px;font-size:.9rem;font-weight:600}.exam-toolbar-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.exam-toolbar-actions .btn{padding:5px 10px;font-size:.82rem}.exam-dl-group{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.btn-dd{position:relative;display:inline-block}.btn-dd-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:170px;background:#fff;border:1px solid var(--btn-line);border-radius:12px;box-shadow:var(--menu-shadow);padding:4px;z-index:20}.btn-dd-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:8px 10px;border-radius:6px;font:inherit;font-size:.84rem;cursor:pointer;color:var(--ink)}.btn-dd-menu button:hover{background:var(--btn-hover)}.exam-preview-only{margin:0;overflow:auto;-webkit-overflow-scrolling:touch}.exam-preview-only .exam-preview-frame{min-height:calc(100vh - 120px);border:1px solid rgba(0,0,0,.1);border-radius:8px;background:#fff;width:100%}.exam-preview-style-bar{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:flex-end;padding:8px 12px;background:#fff;border-bottom:1px solid rgba(0,0,0,.08);font-family:system-ui,sans-serif;font-size:.75rem}.exam-preview-style-bar label,.exam-preview-style-bar .exam-preview-field{display:flex;flex-direction:column;gap:2px;font-weight:600;color:#345}.exam-preview-style-bar select,.exam-preview-style-bar .mini-stepper{font:inherit;min-height:28px;max-width:160px}.exam-preview-style-bar select{padding:2px 6px;border:1px solid #dfe7e2;border-radius:6px;background:#fff}.exam-preview-style-bar .mini-stepper-label{display:none}.exam-preview-style-bar .mini-stepper{display:inline-flex;align-items:center}.exam-preview-style-bar .mini-stepper .tool-btn{min-width:26px;height:26px}.exam-builder.orient-landscape .exam-preview-only .exam-preview-frame{min-height:calc(100vh - 110px)}.warn-note.thin{padding:6px 10px;margin:0;font-size:.85rem}.paper-sheet sub{font-size:.75em;line-height:0;vertical-align:sub}.paper-sheet sup{font-size:.65em;line-height:1;vertical-align:super}.paper-fieldset{border:0;padding:0;margin:0;min-width:0;width:100%}.paper-settings-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:6px 10px;font-family:system-ui,sans-serif;font-size:.8rem;color:#456;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:8px}.paper-settings-bar label{display:inline-flex;align-items:center;gap:6px;font-weight:600}.paper-settings-bar select{font:inherit;padding:2px 6px}.paper-pages-outer{position:relative;width:100%;overflow:visible}.paper-pages-outer.is-unscaled{overflow:auto;-webkit-overflow-scrolling:touch}.paper-pages{position:relative}.paper-page-frame{position:absolute;left:0;background:#fff;border:1px solid #cfcfcf;box-shadow:0 2px 10px #00000014;pointer-events:none}.paper-page-num{position:absolute;right:10px;bottom:6px;font-family:system-ui,sans-serif;font-size:.68rem;color:#9aa}.paper-col-rule{position:absolute;width:0;border-left:1px solid #c5c5c5}.paper-pages.is-twoup .paper-twoup-clone{position:absolute;box-sizing:border-box;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.paper-twoup-clone .paper-page-header,.paper-twoup-clone .paper-block{position:relative!important;left:auto!important;top:auto!important;width:100%!important}.paper-twoup-clone .paper-q-tools,.paper-twoup-clone .mcq-layout-bar,.paper-twoup-clone .paper-add-row,.paper-twoup-clone .paper-section-tools,.paper-twoup-clone .paper-fig-tools,.paper-twoup-clone .paper-area-tools{display:none!important}.paper-page-header{position:absolute;box-sizing:border-box;min-width:0;overflow-wrap:anywhere}.paper-flow{position:absolute;box-sizing:border-box;column-fill:auto;overflow:hidden}.paper-block-well{position:absolute;left:-12000px;top:0;visibility:hidden;pointer-events:none}.paper-block{position:relative;box-sizing:border-box;width:100%;min-width:0;overflow-wrap:anywhere;break-inside:auto}.paper-block.is-section-head{display:flow-root;break-inside:avoid}.paper-block.is-section-head+.paper-block{break-before:avoid}.paper-block>*{margin-top:0}.paper-section-head{position:relative;padding-top:6px;padding-bottom:2px}.paper-add-row{display:grid;gap:6px;padding:2px 0 6px}.paper-add-row .paper-add{margin:0}.paper-block .paper-footer{margin:12px 0 0}.tool-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:26px;height:26px;padding:0 6px;border:1px solid #dfe7e2;border-radius:7px;background:#fff;color:#3b5a4c;font-family:system-ui,sans-serif;font-size:.74rem;font-weight:600;line-height:1;cursor:pointer;white-space:nowrap;transition:background .12s,color .12s,box-shadow .12s}.tool-btn:hover{background:var(--btn-hover);color:var(--forest)}.tool-btn.on{background:#e3f1e8;color:#1b4d3e;border-color:#b9dcc7;box-shadow:inset 0 0 0 1px #9dc7ad}.tool-btn.danger{color:#8a4a4a}.tool-btn.danger:hover{background:#fbeeee;color:#a33;border-color:#ecc}.tool-btn .ui-icon{display:block;flex:0 0 auto}.tool-btn:focus-visible{outline:2px solid #9dc7ad;outline-offset:1px}.tool-file{position:relative;overflow:hidden}.tool-file input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.tool-select{height:26px;max-width:140px;padding:0 4px;border:1px solid #dfe7e2;border-radius:7px;background:#fff;color:#3b5a4c;font-family:system-ui,sans-serif;font-size:.74rem;font-weight:600}.tool-select:hover{background:#f1f7f3}.tool-anchor{position:relative;display:inline-flex;overflow:visible}.tool-label{font-family:system-ui,sans-serif;font-size:.72rem;font-weight:600;color:#3b5a4c;padding:0 2px}.mini-field{display:inline-flex;align-items:center;gap:4px;font-family:system-ui,sans-serif;font-size:.72rem;color:#3b5a4c;font-weight:600}.mini-field input{width:52px;height:24px;padding:0 4px;border:1px solid #dfe7e2;border-radius:6px;font:inherit}.mini-stepper{display:inline-flex;align-items:center;gap:2px;font-family:system-ui,sans-serif;font-size:.72rem;color:#3b5a4c}.mini-stepper .tool-btn{min-width:22px;height:22px;padding:0}.mini-stepper-label{font-weight:600;margin-right:2px}.mini-stepper-value{min-width:2.2em;text-align:center;font-variant-numeric:tabular-nums}.mini-stepper-input{width:3.4em;height:22px;padding:0 2px;border:1px solid #dfe7e2;border-radius:6px;text-align:center;font:inherit;font-variant-numeric:tabular-nums;background:#fff}.paper-q-tools{position:absolute;right:0;bottom:100%;top:auto;margin-bottom:4px;z-index:6;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;align-items:center;max-width:100%;padding:3px 5px;background:#fffffffa;border:1px solid #dfe7e2;border-radius:9px;box-shadow:0 3px 10px #143c2814;font-family:system-ui,sans-serif;font-size:.72rem;opacity:0;pointer-events:none;transition:opacity .12s}.paper-q:hover>.paper-q-main>.paper-q-body>.paper-q-tools,.paper-q:focus-within>.paper-q-main>.paper-q-body>.paper-q-tools,.paper-q.tools-open>.paper-q-main>.paper-q-body>.paper-q-tools,.paper-q:hover>.paper-spacer-edit>.paper-q-tools,.paper-q:focus-within>.paper-spacer-edit>.paper-q-tools,.paper-q.tools-open>.paper-spacer-edit>.paper-q-tools,.paper-subq:hover .paper-q-tools,.paper-subq:focus-within .paper-q-tools,.paper-section-head:hover>.paper-section-tools,.paper-section-head:focus-within>.paper-section-tools,.paper-q-tools:hover,.paper-q-tools:focus-within{opacity:1;pointer-events:auto}.paper-subq{position:relative}.paper-subq .paper-q-tools,.paper-section-tools{right:0}.paper-q-tools .math-panel{flex:1 0 100%;margin:2px 0 0;display:flex;justify-content:flex-end}.paper-q-tools .math-toolbar{margin:0;justify-content:flex-end}.tool-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:30;background:#fff;border:1px solid #dfe7e2;border-radius:10px;box-shadow:0 8px 24px #143c2824;padding:8px;font-family:system-ui,sans-serif;font-size:.75rem;color:#3b5a4c;cursor:default;box-sizing:border-box;min-width:240px}.tool-popover-title{font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#6b8577;margin:2px 2px 6px;white-space:nowrap}.shape-picker{width:300px;max-width:min(300px,calc(100vw - 24px))}.shape-group+.shape-group{margin-top:6px}.shape-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.shape-chip{height:38px;padding:4px;border:1px solid #eef3f0;border-radius:7px;background:#fff;cursor:pointer}.shape-chip:hover{background:#f1f7f3;border-color:#b9dcc7}.shape-chip svg{width:100%;height:100%;display:block}.area-picker{width:320px;max-width:min(320px,calc(100vw - 24px))}.area-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.area-chip{display:grid;gap:4px;padding:6px;border:1px solid #eef3f0;border-radius:8px;background:#fff;color:#3b5a4c;font:inherit;font-weight:600;text-align:left;cursor:pointer}.area-chip:hover{background:#f1f7f3;border-color:#b9dcc7}.area-chip-preview{display:block;height:42px;overflow:hidden;pointer-events:none}.area-chip-preview svg,.area-chip-preview table{width:100%}.paper-figs{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;align-items:flex-start}.paper-figs.align-left{justify-content:flex-start}.paper-figs.align-center{justify-content:center}.paper-figs.align-right{justify-content:flex-end}.paper-fig{position:relative;margin:0;max-width:100%;min-width:36px}.paper-fig img{display:block;width:100%;height:auto;object-fit:contain}.paper-fig-tools{position:absolute;left:50%;top:-12px;bottom:auto;transform:translate(-50%);z-index:5;display:flex;align-items:center;gap:3px;padding:3px 5px;background:#fffffffa;border:1px solid #dfe7e2;border-radius:9px;box-shadow:0 3px 10px #143c281a;opacity:0;pointer-events:none;transition:opacity .12s}.paper-fig:hover .paper-fig-tools,.paper-fig:focus-within .paper-fig-tools,.paper-fig-tools:hover{opacity:1;pointer-events:auto}.paper-fig-tools input[type=range]{width:72px;height:14px;margin:0;padding:0;accent-color:#2f8a5b;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent}.paper-fig-tools input[type=range]::-webkit-slider-runnable-track{height:3px;background:#c5d9cc;border-radius:2px}.paper-fig-tools input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:10px;height:10px;margin-top:-3.5px;border-radius:50%;background:#2f8a5b;border:0;cursor:pointer}.paper-fig-tools input[type=range]::-moz-range-track{height:3px;background:#c5d9cc;border-radius:2px;border:0}.paper-fig-tools input[type=range]::-moz-range-thumb{width:10px;height:10px;border:0;border-radius:50%;background:#2f8a5b;cursor:pointer}.fig-scale-label{min-width:2.4em;font-size:.7rem;font-weight:700;color:#456}.paper-fig-tools .tool-btn{min-width:22px;height:22px;padding:0 4px}.paper-area{position:relative;margin:4px 0 2px}.paper-area-host{position:relative}.paper-area-host svg{display:block}.paper-area-host td,.area-chip-preview td{padding:0;border-bottom:0}.paper-area-tools{position:absolute;right:0;top:-28px;z-index:5;display:flex;align-items:center;gap:6px;padding:3px 5px;background:#fffffffa;border:1px solid #dfe7e2;border-radius:9px;box-shadow:0 3px 10px #143c281a;opacity:0;pointer-events:none;transition:opacity .12s}.paper-area:hover .paper-area-tools,.paper-area:focus-within .paper-area-tools,.paper-area-tools:hover{opacity:1;pointer-events:auto}.paper-area-tools .tool-btn{min-width:22px;height:22px;padding:0 4px}.area-col-handle{position:absolute;top:0;bottom:0;width:9px;margin-left:-4px;cursor:col-resize;z-index:3;opacity:0}.paper-area.is-editable:hover .area-col-handle{opacity:1}.area-col-handle:after{content:"";position:absolute;left:4px;top:0;bottom:0;border-left:1px dashed #2f8a5b}.area-width-handle{position:absolute;top:0;bottom:0;width:10px;margin-left:-5px;cursor:col-resize;z-index:4;opacity:0}.paper-area.is-editable:hover .area-width-handle{opacity:1}.area-width-handle:after{content:"";position:absolute;left:4px;top:0;bottom:0;border-left:2px solid #2f8a5b}.paper-area-table{width:100%}.paper-cell-input{min-height:1.1em;width:100%}.symbol-anchor{position:relative;display:inline-flex}.symbol-search-btn{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;padding:2px 4px;line-height:1}.symbol-search-btn svg{display:block}.symbol-search{position:absolute;top:calc(100% + 6px);right:0;width:262px;min-width:220px;max-width:min(262px,calc(100vw - 24px));box-sizing:border-box;padding:6px;background:#fff;border:1px solid #cfe0d4;border-radius:8px;box-shadow:0 8px 22px #00000024;font-family:system-ui,sans-serif;z-index:40}.symbol-search-bar{display:flex;gap:6px;align-items:center;margin-bottom:6px}.symbol-search-bar input{flex:1;min-width:0;padding:4px 6px;font:inherit;font-size:.78rem;border:1px solid #bcd;border-radius:6px}.symbol-search-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:3px;max-height:168px;overflow:auto}.symbol-chip{display:flex;align-items:center;justify-content:center;height:28px;padding:0;border:1px solid #dfe7e2;border-radius:5px;background:#fff;cursor:pointer;font:inherit}.symbol-chip:hover,.symbol-chip.is-first{border-color:#1b4d3e;background:#eef7f1}.symbol-ch{font-size:1.05rem;line-height:1;font-family:Times New Roman,Times,serif}.symbol-name{display:none}.symbol-suggest{position:absolute;z-index:50;display:flex;flex-wrap:wrap;gap:4px;max-width:min(420px,90vw);padding:3px 4px;background:#fff;border:1px solid #c5d0d8;border-radius:6px;box-shadow:0 4px 14px #14283c24;font-family:system-ui,sans-serif;pointer-events:auto}.symbol-suggest-item{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;padding:3px 7px;border-radius:4px;cursor:pointer;font:inherit;line-height:1.2}.symbol-suggest-item .symbol-name{display:inline;font-size:.72rem;color:#456}.symbol-suggest-item.is-first,.symbol-suggest-item:hover{background:#e8f2ea}.symbol-empty{grid-column:1 / -1;margin:4px 0;font-size:.75rem}.paper-sheet.lang-en,.paper-sheet.lang-en *{font-family:var(--exam-font-en)!important}.paper-sheet.lang-hi,.paper-sheet.lang-hi *{font-family:var(--exam-font-hi)!important}.paper-sheet.lang-pa,.paper-sheet.lang-pa *{font-family:var(--exam-font-pa)!important}.paper-sheet.lang-hi .paper-q-tools,.paper-sheet.lang-hi .paper-q-tools *,.paper-sheet.lang-hi .paper-fig-tools,.paper-sheet.lang-hi .paper-fig-tools *,.paper-sheet.lang-hi .paper-area-tools,.paper-sheet.lang-hi .paper-area-tools *,.paper-sheet.lang-hi .tool-popover,.paper-sheet.lang-hi .tool-popover *,.paper-sheet.lang-hi .paper-choice-tog,.paper-sheet.lang-hi .paper-page-num,.paper-sheet.lang-hi .math-panel,.paper-sheet.lang-hi .math-panel *,.paper-sheet.lang-hi .math-chip-editor,.paper-sheet.lang-hi .math-chip-editor *,.paper-sheet.lang-hi .symbol-search,.paper-sheet.lang-hi .symbol-search *,.paper-sheet.lang-pa .paper-q-tools,.paper-sheet.lang-pa .paper-q-tools *,.paper-sheet.lang-pa .paper-fig-tools,.paper-sheet.lang-pa .paper-fig-tools *,.paper-sheet.lang-pa .paper-area-tools,.paper-sheet.lang-pa .paper-area-tools *,.paper-sheet.lang-pa .tool-popover,.paper-sheet.lang-pa .tool-popover *,.paper-sheet.lang-pa .paper-choice-tog,.paper-sheet.lang-pa .paper-page-num,.paper-sheet.lang-pa .math-panel,.paper-sheet.lang-pa .math-panel *,.paper-sheet.lang-pa .math-chip-editor,.paper-sheet.lang-pa .math-chip-editor *,.paper-sheet.lang-pa .symbol-search,.paper-sheet.lang-pa .symbol-search *{font-family:system-ui,Segoe UI,sans-serif!important}.paper-font-sample{text-align:center;margin:0 0 10px;padding:6px 8px;font-size:1.15rem;font-weight:700;color:#1b4d3e;background:#eef7f1;border-radius:6px}.paper-brand{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin-bottom:4px}.paper-brand img{object-fit:contain;display:block}.paper-brand-mid{min-width:0;text-align:center}.paper-lang-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:4px 0 10px;font-family:system-ui,sans-serif;font-size:.8rem;color:#456}.paper-lang-row select{font:inherit;padding:2px 6px}.paper-case-subs{margin:8px 0 4px 8px;display:grid;gap:8px}.paper-subq{display:grid;grid-template-columns:36px 1fr 56px auto;gap:6px;align-items:start}.sub-choice-dots{justify-self:end;align-self:start}.paper-subq-lab{font-weight:700;padding-top:6px}.paper-subq-body{display:grid;gap:6px;min-width:0}.paper-subq textarea{min-height:2.4em;width:100%}.paper-section-bar{position:relative;display:block;margin-bottom:3px}.paper-section-bar .paper-section-title{display:block;width:100%;text-align:center;padding-right:0}.paper-section-bar .paper-section-marks{position:absolute;left:auto;right:0;top:50%;transform:translateY(-50%);display:inline-block;width:auto;margin:0;padding:0 0 0 6px;text-align:right;background:#fff}.paper-section-choice{display:inline-flex;align-items:center;gap:5px;font-family:system-ui,sans-serif;font-size:.78rem;font-weight:500;color:#456;white-space:nowrap}.paper-section-marks{font-weight:700;font-size:11pt;white-space:nowrap;text-align:right}.paper-fieldset{border:0;margin:0;padding:0;min-width:0}.paper-fieldset:disabled{opacity:1;color:inherit}.paper-sheet input:disabled,.paper-sheet textarea:disabled,.paper-sheet select:disabled{opacity:1;color:inherit;-webkit-text-fill-color:inherit}.paper-school,.paper-title,.paper-section-title,.paper-section-marks,.paper-section-note,.paper-q-text,.paper-instr,.paper-extra,.paper-meta input,.paper-opts input,.paper-ar-line textarea,.paper-subq-body textarea{font-family:inherit;font-size:inherit;font-weight:inherit;color:inherit;background:transparent;border:0;border-radius:0;width:100%;padding:1px 0;resize:none;overflow:hidden;outline:none;box-shadow:none}.paper-school:focus,.paper-title:focus,.paper-section-title:focus,.paper-section-note:focus,.paper-q-text:focus,.paper-instr:focus,.paper-extra:focus,.paper-meta input:focus,.paper-opts input:focus,.paper-ar-line textarea:focus,.paper-subq-body textarea:focus,.paper-q-marks:focus{border:0;background:transparent;outline:none;box-shadow:none}.paper-school{display:block;text-align:center;font-weight:700;font-size:var(--exam-school-pt, 15pt);margin:0 0 4px}.paper-sheet.lang-en .paper-school{letter-spacing:.03em;text-transform:uppercase}.paper-title{display:block;text-align:center;font-weight:700;font-size:var(--exam-title-pt, 13pt);text-decoration:underline;text-underline-offset:3px;margin:0 0 10px}select.paper-title{cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;width:auto;min-width:10em;margin-left:auto;margin-right:auto;text-align-last:center;padding:0 4px;overflow:visible}.paper-meta{display:grid;grid-template-columns:1.2fr .8fr 1.2fr .8fr;gap:6px 10px;font-weight:600;font-size:var(--exam-meta-pt, 11pt);margin-bottom:8px;align-items:center}.paper-meta label{display:flex;align-items:center;gap:4px;white-space:nowrap}.paper-meta input{width:auto;min-width:0;flex:1;font-weight:600}.paper-mm{max-width:64px;flex:0 0 auto}.paper-duration{max-width:3.6em;text-align:center;flex:0 0 auto}.paper-duration-unit{font-weight:600}.paper-rule{border-top:1.5px solid #111;margin:8px 0 10px}.paper-instr-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;font-size:11.5pt}.paper-choice-tog{display:flex;align-items:center;gap:6px;font-family:system-ui,sans-serif;font-size:.78rem;font-weight:500;color:#456}.paper-instr{min-height:4.5em;margin-bottom:4px;padding-left:8px}.paper-section{margin:8px 0 4px;position:relative}.paper-section-top{display:flex;justify-content:center;align-items:center;gap:10px;position:relative}.paper-section-title{text-align:center;font-weight:700;text-transform:uppercase;text-decoration:underline;text-underline-offset:2px;width:100%;font-size:var(--exam-section-pt, 11.5pt)}.paper-section-marks{text-align:center;font-weight:600;font-size:11pt;margin:2px 0 4px}.paper-section-note{text-align:center;font-style:italic;margin:0 0 2px;min-height:1.15em}.paper-section-tools label{display:inline-flex;align-items:center;gap:4px}.paper-tiny{width:48px;font:inherit;padding:2px 4px;border:1px solid #dfe7e2;border-radius:6px}.paper-q{display:block;position:relative;margin:0 0 var(--exam-q-gap, 8px);padding-left:0}.paper-q.is-display{cursor:pointer}.paper-q.is-display .rich-stem,.paper-q.is-display input,.paper-q.is-display textarea{pointer-events:none}.paper-q.is-display .paper-q-edit,.paper-q.is-display .paper-q-actions,.paper-q.is-display .paper-space-rail{pointer-events:auto}.exam-builder.is-locked .paper-q.is-display{cursor:default}.paper-q.is-selected{outline:1px solid #7aaf8a;outline-offset:3px;border-radius:2px}.paper-q-actions{position:absolute;right:0;top:0;z-index:7;display:flex;gap:4px}.paper-q-edit{height:26px;padding:0 10px;font:600 .72rem system-ui,sans-serif;color:#14532d;background:#fff;border:1px solid #7aaf8a;border-radius:8px;box-shadow:0 2px 8px #143c281f;cursor:pointer}.paper-q-note{font-style:italic;margin:0 0 6px;min-height:1.3em;color:inherit;width:100%}.paper-subq-kind{display:inline-flex;margin-left:4px;vertical-align:middle;color:#2a6}.sub-type-chips{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.sub-type-chips .tool-btn{height:26px;font-size:.7rem;gap:3px}.paper-q.is-spacer{padding-left:0}.paper-q-main{position:relative;min-width:0;padding-left:3.1em;padding-right:58px}.paper-q-num{position:absolute;left:0;top:0;min-width:3em;font-weight:700;padding-top:4px;white-space:nowrap}.paper-q-body{min-width:0;position:relative}.paper-file{position:relative;overflow:hidden;cursor:pointer;color:#2a6;font-weight:600}.paper-file input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.paper-q-text{min-height:1.4em}.mcq-convert-hint{display:flex;align-items:center;width:100%;box-sizing:border-box;gap:2px;margin-top:6px;padding:4px 6px 4px 10px;border:1px solid #d5e4da;background:#f4faf6;border-radius:8px;font-size:.75rem;color:var(--forest)}.mcq-convert-go{flex:1;text-align:left}.mcq-convert-hint button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;font:inherit;color:inherit;cursor:pointer}.mcq-convert-go{font-weight:700;padding:3px 4px}.mcq-convert-x{opacity:.55;font-size:1.05rem;line-height:1;padding:2px 8px 4px}.mcq-convert-x:hover{opacity:1}.paper-case-para{min-height:2.4em}.paper-q-marks{font:inherit;font-weight:700;text-align:right;width:100%;border:1px dashed transparent;background:transparent;padding:2px 4px;border-radius:2px}.paper-q-main>.paper-q-marks{position:absolute;right:0;top:0;width:52px;box-sizing:border-box}.paper-q-marks:before{content:none}.paper-opts{display:grid;gap:4px;margin-top:4px;position:relative}.paper-opts.layout-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 8px}.paper-opts.layout-grid2{grid-template-columns:1fr 1fr;gap:4px 10px}.mcq-layout-bar{position:absolute;right:0;top:-26px;z-index:4;display:flex;flex-wrap:wrap;gap:4px;padding:2px 4px;background:#fffffffa;border:1px solid #dfe7e2;border-radius:8px;opacity:0;pointer-events:none}.paper-q:hover .mcq-layout-bar,.paper-q:focus-within .mcq-layout-bar,.mcq-layout-bar:hover{opacity:1;pointer-events:auto}.mcq-layout-bar .tool-btn{height:22px;font-size:.68rem}.mcq-layout-bar.is-inline{position:static;grid-column:1 / -1;justify-self:start;margin:0 0 4px;opacity:1;pointer-events:auto}@media(pointer:coarse){.mcq-layout-bar{position:static;grid-column:1 / -1;justify-self:start;margin:0 0 4px;opacity:1;pointer-events:auto}.mcq-layout-bar .tool-btn{height:26px;min-width:40px;font-size:.7rem}}.paper-opts label{display:grid;grid-template-columns:1.75em 1fr;gap:4px;align-items:center}.paper-ar-opts{margin-top:8px}.paper-ar-opt{display:grid;grid-template-columns:1.75em 1fr;gap:4px;align-items:start;line-height:1.35}.paper-ar-line{margin-bottom:6px}.paper-ar-line strong{display:block;margin-bottom:2px}.paper-mini{background:none;border:0;color:#456;cursor:pointer;font-family:system-ui,sans-serif;font-size:.75rem;padding:0;white-space:nowrap}.paper-mini.bad{color:#a33}.paper-add{display:block;width:100%;margin:8px 0;padding:8px;border:1px dashed #9bb;background:#f7fbf8;color:#265;font-family:system-ui,sans-serif;font-size:.85rem;font-weight:600;cursor:pointer;border-radius:6px}.paper-add.section{margin-top:16px}.paper-footer{text-align:center;font-weight:700;margin:20px 0 0;font-size:11pt}.exam-admin-link{text-align:center;margin-top:8px}.exam-builder.is-locked .paper-q-tools,.exam-builder.is-locked .paper-section-tools,.exam-builder.is-locked .paper-choice-tog{display:none}@media(pointer:coarse){.paper-sheet .rich-stem,.paper-sheet input,.paper-sheet textarea,.paper-sheet select,.paper-sheet [contenteditable=true],.question-editor .rich-stem,.question-editor input,.question-editor textarea,.question-editor select,.question-editor [contenteditable=true]{font-size:max(16px,1em)}}@media(max-width:700px){.exam-toolbar{top:40px}}.exam-section-head{display:flex;gap:12px;align-items:flex-end;margin-bottom:8px}.exam-section-head .grow{flex:1}.exam-q-edit{display:grid;grid-template-columns:1fr 88px auto;gap:10px;align-items:end;margin-bottom:10px}.exam-q-edit .marks-field input{width:100%}.exam-preview-wrap{border:1px solid rgba(0,0,0,.12);border-radius:12px;overflow:hidden;margin:0 0 16px;background:#f6f6f4}.exam-preview-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;background:#fff;border-bottom:1px solid rgba(0,0,0,.08)}.exam-preview-frame{width:100%;min-height:70vh;border:0;background:#fff;overflow:auto;-webkit-overflow-scrolling:touch}.exam-admin-actions{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end;align-items:center;position:relative}.exam-admin-actions .btn-dd-menu{right:0;left:auto}.exam-error-list{margin:8px 0 0;padding-left:18px}.toggle-row{display:flex;align-items:center;gap:10px;flex-direction:row}.toggle-row input[type=checkbox]{width:18px;height:18px}.exam-eff-marks{display:block;font-size:1.25rem;margin-top:4px}.exam-q-block{border-top:1px solid rgba(0,0,0,.08);padding-top:12px;margin-top:12px}.exam-mcq-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.exam-img-row{display:grid;gap:8px;margin-bottom:8px}.exam-img-preview img{max-width:220px;max-height:140px;object-fit:contain;display:block;border:1px solid rgba(0,0,0,.1);border-radius:8px}.exam-assign-grid-wrap{max-height:calc(100dvh - 180px);overflow:auto}.exam-assign-grid{border-collapse:collapse;font-size:.82rem}.exam-assign-grid th,.exam-assign-grid td{border:1px solid rgba(0,0,0,.1);padding:4px;min-width:110px;vertical-align:middle}.exam-assign-grid thead th{position:sticky;top:0;background:#f7f7f5;z-index:1}.exam-assign-grid tbody th{position:sticky;left:0;background:#fff;z-index:1;text-align:left;min-width:64px}.exam-assign-grid select{width:100%;max-width:140px;font-size:.78rem}.exam-assign-grid td.is-allotted select{background:#eef6f0;color:#1b4d3e;font-weight:600}.exam-assign-grid td.is-off{background:#ecece8;cursor:pointer}.exam-assign-grid tbody tr.exam-grade-row.zebra-a td.is-off,.exam-assign-grid tbody tr.exam-grade-row.zebra-b td.is-off,.exam-assign-grid tbody tr.exam-section-row td.is-off{background:#e4e4e0}.exam-assign-grid td.is-off.is-open{background:#fff;cursor:default}.exam-off-hit{display:block;width:100%;min-height:28px;border:0;background:transparent;cursor:pointer;padding:0}.exam-cycle-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:10px}.exam-cycle-toolbar .field{margin:0}.exam-cycle-toolbar select{min-width:220px}.exam-templates{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:12px;background:#f7f8f5}.exam-templates-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.exam-templates-head strong{flex:1}.exam-tpl-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0;border-top:1px solid #e4e8e2;font-size:.88rem}.exam-tpl-row .name{flex:1;font-weight:600}.exam-tpl-current{font-size:.7rem;font-weight:700;color:#1b4d3e;background:#dceee0;border-radius:999px;padding:1px 8px}.exam-layout-copy{margin-left:auto}.exam-off-subjects{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 10px}.exam-off-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:#ecece8;border-radius:999px;padding:3px 10px;font:inherit;font-size:.75rem;font-weight:700;cursor:pointer;color:#355}.exam-off-chip:hover{background:#e4e8e2}.exam-assign-grid-wrap.has-sub-pop{overflow:visible}.exam-assign-grid thead th.has-sub-menu{z-index:6;overflow:visible}.exam-sub-head{position:relative;display:inline-flex;align-items:center;gap:2px;max-width:100%}.exam-sub-head-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;font:inherit;font-weight:700;color:inherit;cursor:pointer;padding:0;text-align:left}.exam-sub-head-more{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;font:inherit;font-size:1rem;line-height:1;padding:0 4px;color:#5a6a60;cursor:pointer;border-radius:6px}.exam-sub-head-more:hover,.exam-sub-head-more[aria-expanded=true]{background:#0000000f}.exam-onoff{display:flex;gap:6px}.exam-onoff .is-current{font-weight:700}.exam-sub-pop{width:min(260px,80vw);text-align:left;font-weight:500}.exam-off-grades{display:grid;gap:8px;max-height:240px;overflow:auto}.exam-off-grade{display:grid;gap:4px}.exam-off-grade .exam-off-section{margin-left:18px}.exam-assign-grid td.is-off.is-exam-off{cursor:default}.exam-grade-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0;font:inherit;font-weight:750;color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-align:left}.exam-grade-chevron{font-size:.68rem;color:#6b7c70;width:.7em}.exam-assign-grid td.is-mixed{background:#f6f0e4}.exam-grade-sections-mark{font-size:.68rem;font-weight:700;padding:1px 6px;border-radius:999px;background:#dbe7f4;color:#1e3a5f}.exam-assign-grid tbody tr.exam-grade-row.zebra-a th,.exam-assign-grid tbody tr.exam-grade-row.zebra-a td{background:#fff}.exam-assign-grid tbody tr.exam-grade-row.zebra-b th,.exam-assign-grid tbody tr.exam-grade-row.zebra-b td{background:#f4f7f2}.exam-assign-grid tbody tr.exam-grade-row.is-open th{box-shadow:inset 3px 0 0 var(--forest)}.exam-assign-grid tbody tr.exam-section-row th,.exam-assign-grid tbody tr.exam-section-row td{background:#e8eef6}.exam-assign-grid tbody tr.exam-section-row th{padding-left:18px;font-weight:600;color:#355}.exam-mixed{display:inline-block;font-size:.72rem;font-weight:700;color:#7c4a12;background:#f6f0e4;padding:2px 8px;border-radius:999px}.exam-grid-controls{margin-bottom:12px}.exam-dash{display:grid;gap:10px;margin:0 0 14px;padding:10px 12px;background:#f7faf8;border:1px solid rgba(0,0,0,.06);border-radius:10px}.exam-dash-nums{display:flex;gap:18px;flex-wrap:wrap}.exam-dash-nums div{display:flex;flex-direction:column;min-width:72px}.exam-dash-nums strong{font-size:1.35rem;line-height:1.1}.exam-dash-nums span{font-size:.75rem;color:#567;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.exam-dash-classes{list-style:none;margin:0;padding:0;display:grid;gap:6px}.exam-dash-classes li{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.9rem}@media(max-width:700px){.exam-q-edit{grid-template-columns:1fr 80px}.exam-q-edit .linkish{grid-column:1 / -1}.exam-mcq-opts{grid-template-columns:1fr}}@media(min-width:701px){.student-search .student-search-inline,.student-search.expanded .student-search-inline,.student-search:focus-within .student-search-inline{width:min(220px,28vw);opacity:1;pointer-events:auto;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:#ffffff24;color:#fff}.student-search .search-toggle{display:none}}@media(max-width:700px){.student-search .student-search-inline,.student-search.expanded .student-search-inline,.student-search:focus-within .student-search-inline{width:0;opacity:0;padding:0;border:0;pointer-events:none}.student-search .search-toggle{display:grid}.student-search-drawer-input{display:block;width:calc(100% - 16px);margin:8px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit}.student-search-drawer-input::placeholder{color:var(--muted)}.student-search-menu{position:fixed;left:8px;right:8px;top:calc(46px + env(safe-area-inset-top));width:auto;max-width:none;z-index:35}.student-row{grid-template-columns:24px 36px 1fr}.student-row .stamp{grid-column:3;justify-self:end}.page-head{flex-direction:column}.yesno-row{grid-template-columns:1fr}.dash-teacher-head{flex-direction:column}.dash-teacher-metrics{align-items:flex-start}.sheet-name-col{min-width:140px;max-width:170px}.sheet-wrap{max-height:calc(100vh - 190px)}.appbar{grid-template-columns:minmax(0,1fr) auto}.shell:not(.has-staff-chrome) .appbar{grid-template-columns:auto 1fr auto}.shell:not(.has-staff-chrome) .appbar-name{display:none}.shell:not(.has-staff-chrome) .appbar-user{flex-wrap:nowrap}.shell:not(.has-staff-chrome) .appbar .nav{justify-self:center}.app-tabs-top{display:none!important}.app-dock{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:25;gap:2px;justify-content:space-around;background:#1b4d3ee0;backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border-top:1px solid rgba(255,255,255,.12);padding:4px 6px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px #1c2b2429}.app-dock .app-tab{flex:1;min-width:0;padding:6px 4px 4px;font-size:11px}.has-staff-chrome .page{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.appbar-name{max-width:9ch}.logout-btn{padding:6px 8px}.appbar .app-tab{min-width:48px;padding:6px 6px 4px;font-size:10px}.home-hero{padding:6px 8px}.home-mode{width:100%}.home-mode-btn{flex:1;text-align:center;padding:6px 8px;font-size:.78rem}.setup-layout{grid-template-columns:1fr}.setup-side{position:static;flex-direction:row;overflow-x:auto;gap:4px}.setup-side-btn{white-space:nowrap;flex-shrink:0}.class-grid{gap:5px}.dash-chrome{flex-direction:column;align-items:stretch}}.math-toolbar{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 6px;font-family:system-ui,sans-serif}.math-toolbar .paper-mini{min-width:26px;height:26px;padding:0 7px;border:1px solid #dfe7e2;border-radius:7px;background:#fff;color:#3b5a4c;font-weight:600}.math-toolbar .paper-mini:hover{background:#f1f7f3;color:#1b4d3e}.math-toolbar .paper-mini.on,.paper-q-tools .paper-mini.on{background:#e3f1e8;color:#1b4d3e;border-color:#b9dcc7;box-shadow:inset 0 0 0 1px #9dc7ad}.math-panel{margin-bottom:6px}.math-frac-builder,.math-power-builder,.math-root-builder{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:6px 0 8px;padding:8px 10px;background:#f3f7f4;border:1px solid #cfe0d4;border-radius:8px;font-family:system-ui,sans-serif;font-size:.82rem}.math-frac-stack{display:inline-flex;flex-direction:column;align-items:stretch;min-width:120px;gap:0}.math-frac-num-input,.math-frac-den-input{border:0;background:#fff;text-align:center;padding:4px 8px;font:inherit;min-width:100px}.math-frac-rule{height:0;border-top:1.5px solid #111;margin:2px 0}.math-power-builder input,.math-root-builder input{width:88px;padding:4px 6px;font:inherit}.math-root-builder label{display:inline-flex;align-items:center;gap:6px}.rich-stem-wrap{position:relative;min-width:0}.rich-stem{position:relative;min-height:1.4em;width:100%;padding:2px 0;outline:none;overflow:visible;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;color:inherit;cursor:text;border-bottom:1px dashed transparent}.rich-stem.is-single{white-space:nowrap;overflow:hidden}.rich-stem:focus{border-bottom-color:#9ab}.rich-stem[contenteditable=false]{cursor:default}.rich-stem.is-empty:before{content:attr(data-placeholder);position:absolute;left:0;top:2px;color:#8a99a6;font-style:italic;pointer-events:none}.rich-stem.paper-case-para{min-height:2.4em}.paper-subq-text{min-height:1.4em}.math-chip{display:inline;vertical-align:baseline;margin:0 1px;padding:0 1px;border-radius:3px;cursor:pointer;user-select:none;-webkit-user-select:none}.math-chip.is-script{margin:0;padding:0}.math-chip.is-frac,.math-chip.is-root{display:inline-block}.math-chip.is-frac,.math-chip.is-root,.math-chip.is-script,.math-chip.is-format,.math-chip.is-align{cursor:text;user-select:text;-webkit-user-select:text}.math-chip.is-format{margin:0;padding:0;border-radius:0}.math-chip.is-format:hover{background:none;box-shadow:none}.math-chip.is-align{display:block;width:100%;margin:0;padding:0;border-radius:0}.math-chip.is-align-left{text-align:left}.math-chip.is-align-center{text-align:center}.math-chip.is-align-right{text-align:right}.math-chip .math-slot{min-width:.7em;min-height:1em;outline:none;cursor:text;user-select:text;-webkit-user-select:text}.math-chip .math-num,.math-chip .math-den{display:block;text-align:center}.math-chip .math-script{min-width:0;outline:none;user-select:text;-webkit-user-select:text}.math-chip .math-script:empty{min-width:.55em}.math-chip .math-frac,.math-chip .math-root{vertical-align:middle}.math-chip sub,.math-chip sub.math-script,.rich-stem sub{font-size:.7em;line-height:0;vertical-align:sub;position:static;top:auto}.math-chip sup,.math-chip sup.math-script,.rich-stem sup{font-size:.65em;line-height:1;vertical-align:super;position:relative;top:-.05em}.math-chip .math-root-index{top:0;vertical-align:super;font-size:.65em}.math-chip:hover{background:#e8f3ec;box-shadow:0 0 0 1px #9dc7ad}.math-chip .math-frac{display:inline-flex;flex-direction:column;align-items:center;line-height:1.05;font-size:.92em}.math-chip .math-num{padding:0 .25em 1px;border-bottom:1px solid currentColor}.math-chip .math-den{padding:1px .25em 0}.math-chip .math-root{display:inline-flex;align-items:flex-end}.math-chip .math-root-body{border-top:.08em solid currentColor;padding:.02em .1em 0;line-height:1.05}.math-chip .math-root-index{font-size:.65em;line-height:1}.math-chip .math-root-sign{font-weight:700;line-height:.85;margin-right:-.06em}.math-chip-editor{position:absolute;z-index:45;display:grid;gap:6px;min-width:170px;padding:8px;background:#fff;border:1px solid #cfe0d4;border-radius:8px;box-shadow:0 8px 22px #00000024;font-family:system-ui,sans-serif;font-size:.78rem}.math-chip-editor-title{font-weight:700;color:#1b4d3e}.math-chip-editor input{font:inherit;padding:3px 6px;border:1px solid #bcd;border-radius:5px}.math-chip-editor .math-frac-stack{min-width:120px}.math-chip-editor .math-frac-num-input,.math-chip-editor .math-frac-den-input{border:0;border-radius:0}.math-root-fields{display:grid;gap:4px}.math-root-fields label{display:grid;grid-template-columns:56px 1fr;align-items:center;gap:6px}.math-chip-editor-actions{display:flex;gap:8px;align-items:center}.math-hint{margin-left:4px}.paper-opt-row{display:grid;grid-template-columns:1.75em 1fr auto;gap:4px;align-items:center}.paper-opt-remove{width:22px;height:22px;padding:0;border:0;background:transparent;color:#6b8577;font-size:1.1rem;line-height:1;cursor:pointer}.paper-opt-remove:hover{color:#b42318}.paper-add-opt{margin:4px 0 0 1.75em;padding:2px 8px;border:1px dashed #c5d8cc;border-radius:7px;background:#fff;color:#3b5a4c;font-family:system-ui,sans-serif;font-size:.74rem;font-weight:600;cursor:pointer}.paper-add-opt:hover{background:#f1f7f3}.paper-opt-input,.match-text-input{min-height:1.3em}.match-editor{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px;padding-bottom:10px}.match-side{display:grid;gap:6px;min-width:0;font-family:system-ui,sans-serif;font-size:.82rem}.match-item-edit{display:grid;grid-template-columns:1.4em 1fr auto;gap:6px;align-items:start}.match-lab{font-weight:700;padding-top:6px}.match-item-body{display:grid;gap:4px;min-width:0}.match-item-body input{width:100%;font:inherit}.match-img-preview img{max-width:100%;max-height:90px;object-fit:contain;display:block}.paper-file.tiny{font-size:.72rem}.match-side>.match-add-row{margin-top:6px;justify-self:start;padding:4px 0 2px}.paper-space-rail{position:absolute;left:-27px;top:0;bottom:0;width:24px;z-index:2}.paper-space-add{position:absolute;left:0;top:2px;opacity:0;pointer-events:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px dashed #7a9;background:#eef7f1;color:#1b4d3e;font-size:.62rem;font-weight:700;padding:2px 3px;border-radius:4px;cursor:pointer;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}.paper-q:hover>.paper-space-rail .paper-space-add,.paper-space-rail:hover .paper-space-add,.paper-section:hover>.paper-space-rail .paper-space-add{opacity:1;pointer-events:auto}.paper-space-ghost{position:absolute;left:0;top:0;width:10px;border-left:2px dotted transparent;opacity:0;pointer-events:none}.paper-q:hover>.paper-space-rail .paper-space-ghost,.paper-space-rail:hover .paper-space-ghost{opacity:1;border-left-color:#8bb;background:#2878500f}.paper-spacer-edit{width:100%;display:grid;gap:6px;font-family:system-ui,sans-serif}.paper-spacer-size{display:inline-flex;align-items:center;gap:8px;font-size:.8rem}.paper-spacer-size input{width:64px}.paper-spacer-preview{border:1px dashed #9ab;background:repeating-linear-gradient(-45deg,#f4f7f5,#f4f7f5 6px,#e8eef0 6px,#e8eef0 12px);border-radius:4px;min-height:12px}.arrival-page{margin-top:4px}.arrival-today{margin:12px 0;padding:16px 18px}.arrival-today h2{margin:0 0 4px;font-size:1.7rem}.arrival-table-card{padding:8px 12px 4px}.arrival-log-grid{border-collapse:separate;border-spacing:0}.arrival-log-grid th,.arrival-log-grid td{white-space:nowrap}.arrival-log-grid thead th{text-align:center;font-size:.78rem}.arrival-log-grid .arrival-log-name{position:sticky;left:0;z-index:2;background:#fff;text-align:left;box-shadow:1px 0 0 var(--line)}.arrival-log-grid thead .arrival-log-name{z-index:3}.arrival-sync-msg{margin:8px 0}.arr-score-5{background:#e2f0e4}.arr-score-4{background:#eaf6d9}.arr-score-3{background:#fff6d6}.arr-score-2{background:#ffeccc}.arr-score-1{background:#ffe0d0}.arr-score-full{background:#e2f0e4}.arr-score-twothirds{background:#fff6d6}.arr-score-half{background:#ffe0d0}.arr-score-0{background:#eee7f5}.arr-score-neg{background:#f8e0e0}.teachers-table td.arr-score-5,.teachers-table td.arr-score-4,.teachers-table td.arr-score-3,.teachers-table td.arr-score-2,.teachers-table td.arr-score-1,.teachers-table td.arr-score-full,.teachers-table td.arr-score-twothirds,.teachers-table td.arr-score-half,.teachers-table td.arr-score-0,.teachers-table td.arr-score-neg{font-weight:650}.arrival-late-flag{display:inline-block;margin-left:6px;font-size:.68rem;font-weight:650;color:#9a4a2a}.arrival-creds{margin:12px 0}.arrival-creds-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0 12px}.arrival-name-cell{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.arrival-row-actions{white-space:nowrap}.icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;border:1px solid var(--btn-line);background:#fff;border-radius:var(--btn-radius);width:var(--btn-h);height:var(--btn-h);padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--forest);vertical-align:middle;margin-right:4px;text-decoration:none;transition:background-color .15s ease,color .15s ease}.icon-btn.sm{width:var(--btn-h-sm);height:var(--btn-h-sm);border-radius:8px}.icon-btn.plain{border-color:transparent;background:transparent}.icon-btn:not(.on):hover:not(:disabled){background:var(--btn-hover)}.icon-btn.on{background:var(--forest);border-color:var(--forest);color:#fff}.icon-btn.danger{color:var(--bad)}.icon-btn.danger:hover:not(:disabled){background:var(--bad-bg)}.icon-btn.primary{background:var(--forest);border-color:var(--forest);color:#fff}.icon-btn.primary:hover:not(:disabled){background:var(--leaf)}.icon-btn:disabled{opacity:.5;cursor:default}.ui-menu-wrap{position:relative;display:inline-flex}.ui-menu-wrap>.icon-btn{margin-right:0}.ui-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:40;min-width:170px;display:flex;flex-direction:column;padding:4px;background:#fff;border:1px solid var(--btn-line);border-radius:12px;box-shadow:var(--menu-shadow)}.ui-menu button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:0;background:transparent;padding:9px 10px;border-radius:8px;font:inherit;font-size:.86rem;color:var(--ink);cursor:pointer;white-space:nowrap}.ui-menu button .ui-icon{color:var(--forest)}.ui-menu button:hover:not(:disabled){background:var(--btn-hover)}.ui-menu button:disabled{opacity:.45;cursor:default}.ui-menu button.danger,.ui-menu button.danger .ui-icon{color:var(--bad)}.ui-menu-caret{transform:rotate(90deg);opacity:.7}.emp-action-cell{white-space:nowrap;text-align:right}.access-extra-dot{display:inline-block;width:9px;height:9px;margin-right:6px;border-radius:50%;background:var(--forest);vertical-align:middle;box-shadow:0 0 0 2px #e7f4ec;flex:none}.hub-page{display:flex;flex-direction:column;gap:16px;padding-bottom:24px}.hub-intro h1{margin:0 0 2px}.hub-arrival-bar{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:14px;background:#eef6f1;border:1px solid var(--line);color:inherit;min-height:44px;overflow:hidden}.hub-arrival-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--leaf);flex-shrink:0}.hub-arrival-mine{flex:1;font-weight:650;min-width:0}.hub-arrival-chips{display:flex;gap:8px;overflow-x:auto;flex:1;min-width:0;scrollbar-width:none}.hub-arrival-chips::-webkit-scrollbar{display:none}.hub-chip{display:flex;flex-direction:column;gap:1px;padding:4px 10px;border-radius:10px;background:#fff;border:1px solid var(--line);white-space:nowrap;font-size:.78rem}.hub-chip strong{font-size:.8rem}.hub-chip.tone-sage{background:#e7f3ec}.hub-chip.tone-sand{background:#f6f0e4}.hub-chip.tone-mist{background:#e8eef6}.hub-chip.tone-lilac{background:#efe8f6}.hub-arrival-more{flex-shrink:0}.hub-month{flex-shrink:0;display:flex;gap:8px;font-size:.92rem;font-weight:750;letter-spacing:.02em}.hub-month b{color:var(--leaf)}.hub-month .a{color:var(--bad)}.hub-month .l{color:#b45309}.hub-lec-bar{background:#e8eef6;padding:5px 12px}.hub-lec-bar .lec-dot{width:72px;height:72px;padding:6px 5px;font-size:.62rem}.hub-lec-bar .lec-dot strong{font-size:.86rem}.hub-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(152px,1fr));gap:8px}.hub-tile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;aspect-ratio:1;width:100%;height:auto;min-height:0;overflow:hidden;padding:6px;border-radius:12px;border:1px solid var(--line);color:inherit}.hub-tile strong{font-size:.95rem}.hub-tile>.muted{display:block;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hub-tile-icon{width:40px;height:40px;border-radius:0;display:grid;place-items:center;background:transparent;color:inherit}.hub-icon{display:block}.hub-tile.tone-sage{background:#e7f3ec}.hub-tile.tone-sand{background:#f6f0e4}.hub-tile.tone-mist{background:#e8eef6}.hub-tile.tone-lilac{background:#efe8f6}.hub-tile:hover{filter:brightness(.98)}.hub-mod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.hub-mod-row{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}@media(max-width:420px){.hub-mod-row{grid-template-columns:1fr}}.hub-mod{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:92px;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:var(--card);color:inherit;box-shadow:var(--shadow)}.hub-mod strong{font-size:1.02rem;font-weight:700}.hub-mod>.muted{font-size:12px}.hub-mod-icon{width:48px;height:48px;border-radius:0;display:grid;place-items:center;background:transparent;color:inherit}.hub-mod.tone-sage{background:#f3faf6}.hub-mod.tone-sand{background:#faf6ee}.hub-mod.tone-mist{background:#f3f6fb}.hub-mod.tone-lilac{background:#f7f3fb}.hub-mod:hover{filter:brightness(.985)}.transport-layout,.library-layout,.class-tests-layout,.tasks-layout,.records-layout{display:grid;gap:12px;min-width:0}.inv-page{display:grid;gap:12px}.inv-card h2{margin:0 0 10px}.inv-split{display:grid;gap:12px}@media(min-width:860px){.inv-split{grid-template-columns:1.4fr .8fr;align-items:start}}.inv-scroll{overflow-x:auto}.inv-table{width:100%;border-collapse:collapse}.inv-table th,.inv-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.inv-table tr.is-low td{background:#fff4f0}.inv-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.inv-list li{display:flex;justify-content:space-between;align-items:center;gap:10px}.transport-layout.is-sub,.library-layout.is-sub,.class-tests-layout.is-sub,.tasks-layout.is-sub,.records-layout.is-sub{gap:16px}.transport-subnav{display:flex;justify-content:center;align-items:center;flex-wrap:nowrap;margin:-1px auto 0;width:fit-content;max-width:100%;padding:4px;gap:2px;background:#fffdf8;border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow);overflow-x:auto;scrollbar-width:none;position:relative;z-index:12}.transport-subnav::-webkit-scrollbar{display:none}.transport-subnav-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:0;background:transparent;border-radius:999px;font-weight:750;font-size:.88rem;color:inherit;text-decoration:none;white-space:nowrap}.transport-subnav-btn.tone-sand{background:#faf6ee}.transport-subnav-btn.tone-mist{background:#f3f6fb}.transport-subnav-btn.tone-sage{background:#f3faf6}.transport-subnav-btn.tone-lilac{background:#f7f3fb}.transport-subnav-btn.tone-sand.on{background:#f0e2c0;box-shadow:inset 0 1px #fff,0 1px 2px #785a1e29}.transport-subnav-btn.tone-mist.on{background:#dce6f4;box-shadow:inset 0 1px #fff,0 1px 2px #28467824}.transport-subnav-btn.tone-sage.on{background:#d4ecd9;box-shadow:inset 0 1px #fff,0 1px 2px #1b4d3e24}.transport-subnav-btn.tone-lilac.on{background:#ead7f4;box-shadow:inset 0 1px #fff,0 1px 2px #5a287824}.transport-subnav-btn .hub-icon{width:18px;height:18px;flex:0 0 auto}.transport-subnav-btn:active{transform:scale(.97)}@media(max-width:640px){.transport-subnav{width:fit-content;max-width:100%;margin-inline:auto;justify-content:center}.transport-subnav-btn{padding:8px 12px;font-size:.82rem}}.transport-hub-ghost{opacity:0;visibility:hidden;pointer-events:none}.transport-genie-overlay{position:fixed;z-index:40;pointer-events:none;overflow:visible;isolation:isolate}.transport-genie-overlay.is-scale{overflow:hidden;transform-origin:var(--genie-ox, 50%) 0}.transport-genie-overlay.is-scale.is-sucked{animation:transport-genie-scale .62s cubic-bezier(.45,0,.85,.15) forwards}.transport-genie-freeze{width:100%;margin:0}.transport-genie-strip{position:absolute;left:0;width:100%;overflow:hidden;background-repeat:no-repeat;will-change:transform;backface-visibility:hidden}.transport-genie-strip.is-dom .transport-genie-freeze{pointer-events:none}.transport-genie-dock{position:fixed!important;left:50%;z-index:41;margin:0!important;transform:translate(-50%);pointer-events:none;max-width:calc(100% - 32px)}@keyframes transport-genie-scale{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(var(--genie-dy, 0px)) scale(.08,.04);opacity:1}}.today-strips{display:flex;flex-direction:column;gap:8px}.today-board{display:grid;grid-template-columns:1.4fr 1fr;gap:12px;align-items:start}@media(max-width:860px){.today-board{grid-template-columns:1fr}}.task-list{display:flex;flex-direction:column;gap:8px}.task-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--leaf);color:inherit;box-shadow:var(--shadow)}.task-card.tone-sand{border-left-color:#c4a574}.task-card.tone-mist{border-left-color:#7a93b8}.task-card.tone-lilac{border-left-color:#9b7bb8}.task-card strong{display:block;font-size:.95rem}.task-card .muted{font-size:12px}.task-card .task-go{margin-left:auto;flex-shrink:0;font-size:12px;font-weight:700;color:var(--leaf)}.school-hero{display:flex;align-items:center;gap:16px;padding:16px}.school-hero img{width:88px;height:88px;object-fit:contain;border-radius:20px;background:#fff;border:1px solid var(--line)}.school-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.school-stat{padding:16px;border-radius:16px;background:var(--card);border:1px solid var(--line)}.school-stat b{display:block;font-size:1.6rem;color:var(--leaf);line-height:1.1}.social-studio{display:grid;gap:10px}.social-ribbon{display:flex;flex-wrap:wrap;gap:2px 0;align-items:center;padding:3px 6px;background:#f3f3f3;border:1px solid var(--line);border-radius:8px}.social-group{display:flex;align-items:center;gap:4px}.social-sep{width:1px;align-self:stretch;min-height:18px;margin:3px 6px;background:#cfcfcf}.social-icon-btn{width:26px;height:26px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--forest);cursor:pointer}.social-icon-btn:hover{background:#fff;border-color:var(--line)}.social-icon-btn.on{background:#eef6f1;border-color:var(--leaf)}.social-icon-btn:disabled{opacity:.35;cursor:default}.social-glyph{width:16px;height:16px;display:block}.social-size{width:72px;margin:0}.social-font{max-width:92px;background:#fff;border:1px solid var(--line);border-radius:5px;padding:2px 4px;font-size:.75rem}.social-color{position:relative;display:grid;justify-items:center}.social-color>span{font-size:.72rem;font-weight:700}.social-swatches{display:flex;flex-wrap:wrap;gap:4px}.social-swatch{width:22px;height:22px;border-radius:50%;border:1px solid var(--line);padding:0;cursor:pointer}.social-current{width:18px;height:18px}.social-swatch.on{outline:2px solid var(--leaf);outline-offset:2px}.social-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:6;width:max-content;max-width:220px;display:grid;gap:8px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.social-pop input[type=color]{width:100%;height:28px;padding:2px}.social-check{display:flex;align-items:center;gap:8px;font-weight:650}.social-ribbon-actions{margin-left:auto;display:flex;gap:8px;align-items:center}.social-board{display:grid;gap:14px;justify-items:center}.social-frame{display:flex;align-items:center;gap:8px;width:min(100%,480px)}.social-arrow{display:none;width:36px;height:36px;flex:0 0 36px;place-items:center;border:0;border-radius:50%;background:#fff;color:var(--forest);font-size:1.6rem;line-height:1;box-shadow:var(--shadow);cursor:pointer}.social-arrow:disabled{opacity:.35;cursor:default}.social-stage{position:relative;flex:1;min-width:0;touch-action:pan-y}.social-canvas{width:100%;height:auto;display:block;background:#f4efe4;box-shadow:var(--shadow);cursor:grab}.social-template-select{background:#fff;border:1px solid var(--line);border-radius:5px;padding:2px 4px;font-size:.75rem;font-weight:700;max-width:120px}.social-add{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--forest);font-size:1.3rem;line-height:1;cursor:pointer}.social-dots{position:absolute;left:0;right:0;top:68%;z-index:2;display:flex;justify-content:center;gap:6px}.social-dot{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#ffffffb8;box-shadow:0 0 2px #00000073;cursor:pointer}.social-dot.on{background:#fff;transform:scale(1.25)}.social-obj{position:absolute;z-index:2;box-sizing:border-box;touch-action:none}.social-obj.is-image,.social-obj.is-shape{cursor:move}.social-obj.on{outline:1.5px solid var(--leaf);outline-offset:1px}.social-edge{position:absolute;z-index:4;cursor:move}.social-edge.n,.social-edge.s{left:0;right:0;height:5px}.social-edge.n{top:0}.social-edge.s{bottom:0}.social-edge.e,.social-edge.w{top:0;bottom:0;width:5px}.social-edge.e{right:0}.social-edge.w{left:0}.social-guide{position:absolute;z-index:5;pointer-events:none;background:#2b6cb0}.social-guide.is-v{top:0;bottom:0;width:1px}.social-guide.is-h{left:0;right:0;height:1px}.social-obj img,.social-brand{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}.social-obj.is-fixed,.social-obj.is-fixed.is-image{cursor:default}.social-obj.is-fixed{display:flex;align-items:center;justify-content:center}.social-obj.is-fixed.on{outline:none}.social-obj.is-fixed.on .social-app-bar{outline:1.5px solid var(--leaf);outline-offset:3px}.social-app-bar{display:inline-flex;align-items:center;justify-content:center;gap:.35em;height:100%;max-width:100%;pointer-events:none}.social-app-bar img{width:auto;height:100%;aspect-ratio:auto;flex:0 0 auto;object-fit:contain}.social-app-bar .social-line-input{position:relative;inset:auto;width:auto;height:auto;flex:0 1 auto;white-space:nowrap;overflow:hidden;line-height:1;pointer-events:auto}.social-shape{width:100%;height:100%;overflow:visible;pointer-events:none;display:block}.social-grip{position:absolute;top:-12px;left:50%;z-index:4;width:22px;height:14px;margin-left:-11px;border:0;border-radius:999px;background:#fff;box-shadow:var(--shadow);cursor:grab}.social-grip:before{content:"";display:block;width:10px;height:2px;margin:6px auto 0;background:var(--forest)}.social-resize{position:absolute;right:-6px;bottom:-6px;z-index:4;width:12px;height:12px;border:2px solid var(--leaf);border-radius:2px;background:#fff;cursor:nwse-resize;padding:0}.social-shapes{position:relative}.social-shape-pop button{text-align:left;background:transparent;border:0;padding:6px 4px;cursor:pointer;font-weight:650}.social-tool{display:grid;gap:2px;justify-items:center;font-size:.78rem;font-weight:700}.social-tool input[type=range]{width:88px}.social-tool select{background:#fff;border:1px solid var(--line);border-radius:8px;padding:4px 6px}.social-ribbon .btn.on{background:#eef6f1;border-color:var(--leaf)}.social-line-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:2;border:0;outline:none;overflow:auto;background:transparent;white-space:pre-wrap;word-break:break-word;line-height:1.3;padding:0;cursor:text}.social-line-input.is-empty:before{content:attr(data-placeholder);opacity:.4;pointer-events:none}.social-handle{position:absolute;left:50%;z-index:3;width:28px;height:22px;margin-left:-14px;border:0;border-radius:999px;background:#fff;box-shadow:var(--shadow);cursor:ns-resize}.social-handle:before{content:"";display:block;width:14px;height:2px;margin:10px auto 0;background:var(--forest);box-shadow:0 -4px 0 var(--forest),0 4px 0 var(--forest)}.social-crop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:grid;place-items:center;background:#1418148c}.social-crop-frame{position:relative;width:100%;max-height:calc(100% - 52px);cursor:crosshair;touch-action:none}.social-crop-frame img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.social-crop-box{position:absolute;border:2px solid #fff;box-shadow:0 0 0 999px #00000059}.social-crop-actions{position:absolute;left:8px;right:8px;bottom:8px;z-index:2;display:flex;gap:8px;justify-content:center}.social-type{display:grid;gap:8px}.social-type-style{display:flex;gap:8px}.social-type-style .on{background:#eef6f1;border-color:var(--leaf)}.social-banner-title{margin:8px 0 0;font-size:1rem}.social-write{width:min(100%,480px);justify-self:center;display:grid;gap:10px;align-content:start}@media(min-width:960px){.social-frame{width:min(100%,520px)}.social-arrow{display:grid}}.social-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line)}.social-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-bottom:2px solid transparent;padding:8px 12px;font-weight:700;cursor:pointer;color:var(--ink, inherit)}.social-tab.on{border-bottom-color:var(--leaf);color:var(--forest)}.school-ig{display:grid;gap:12px;padding:16px}.school-ig-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.school-ig h2{margin:0;font-size:1.15rem}.school-ig-frame{border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#fff;min-height:540px}.school-ig-frame iframe{display:block;width:100%;height:620px;border:0}.hub-intro h1{font-size:1.45rem;font-weight:700}.gate-page{display:grid;gap:14px}.gate-page>.page-head{position:relative}.gate-list.gate-visits{background:#eef6f1;border-color:#cfe5d8}.gate-visits .gate-row{border-top-color:#d6e8dd}.gate-visits-left{margin-top:14px;padding-top:12px;border-top:2px dashed #c3dccd}.gate-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 8px}.gate-list-head h2{margin:0}.gate-day{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:2px}.gate-day-btn{width:30px;height:30px;border:0;border-radius:50%;background:transparent;font:inherit;font-size:1.2rem;font-weight:800;line-height:1;color:var(--forest);cursor:pointer}.gate-day-btn:hover:not(:disabled){background:#eef6f1}.gate-day-btn:disabled{color:#c9c4b8;cursor:default}.gate-day-label{min-width:92px;text-align:center;font-size:.85rem;font-weight:750}.gate-dl{position:relative;margin-left:auto}.gate-dl-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:30;width:min(340px,92vw);display:grid;gap:10px;box-shadow:var(--shadow)}.gate-dl-actions{display:flex;gap:8px;justify-content:flex-end}.gate-van-bar{border-radius:999px;padding:8px 14px;text-align:center;font-weight:750;font-size:.92rem;background:#e2e8f0;color:#334155;letter-spacing:.01em}.gate-van-bar.ready{background:#16a34a;color:#fff}.gate-van-rounds{display:flex;justify-content:center;align-items:center;gap:10px}.gate-van-round{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:.82rem;letter-spacing:.02em;background:#e2e8f0;color:#334155}.gate-van-round.ready{background:#16a34a;color:#fff}.gate-van-round.skip{opacity:.45}.employee-work-page{display:grid;gap:14px}.employee-work-back{color:inherit;text-decoration:none}.employee-work-back:hover{text-decoration:underline}.employee-load-card h2,.employee-work-page .card h2{margin:0 0 8px;font-size:1.05rem}.employee-load-strip{margin:0;font-size:1rem;line-height:1.6}.employee-load-strip strong{font-weight:700}.employee-work-list{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:6px;font-size:.9rem}.employee-work-list a{color:inherit}.lec-week{display:grid;gap:18px}.lec-day{display:grid;gap:8px}.lec-day-head{margin:0;font-size:.92rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft, #5b6470)}.lec-day.today .lec-day-head{color:var(--leaf)}.lec-row{display:flex;flex-wrap:nowrap;gap:10px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}.lec-row::-webkit-scrollbar{display:none}.lec-dot{flex:0 0 auto;width:88px;height:88px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2px;padding:8px 6px;border:1px solid rgba(23,52,95,.08);font-size:.68rem;line-height:1.15;color:#1c1c28;overflow:hidden}.lec-dot.has-days{height:96px}.lec-dot strong,.lec-dot-period{font-size:.95rem;line-height:1.1}.lec-dot-days{font-size:.62rem;font-weight:700;letter-spacing:.02em}.lec-dot-sub,.lec-dot-part{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lec-dot.tone-sage{background:#e7f3ec}.lec-dot.tone-sand{background:#f6f0e4}.lec-dot.tone-mist{background:#e8eef6}.lec-dot.tone-lilac{background:#efe8f6}.lec-dot.tone-sub{background:#f3ddd0;box-shadow:0 0 0 2px #c48a6a inset}.lec-dot.square{border-radius:20px;width:104px;height:104px;padding:12px 8px;font-size:.72rem;border:1px solid var(--line)}.lec-dot.square strong{font-size:1.2rem}.lec-dot.clubbed{width:auto;min-width:112px;height:auto;min-height:88px;border-radius:20px;padding:10px 12px;gap:4px}.lec-dot.square.clubbed{min-height:104px}.lec-dot-part{font-size:.68rem;font-weight:650;line-height:1.25;white-space:nowrap}.hub-lec-bar .lec-row{flex:1;min-width:0}.lec-tile{gap:4px;padding:12px;min-height:104px;pointer-events:none}.lec-tile strong{font-size:1.35rem;line-height:1.1}.lec-tile>.muted{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gate-page .form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gate-search-menu{display:grid;gap:2px;max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff;padding:6px}.gate-search-item{display:flex;align-items:center;justify-content:flex-start;gap:8px;text-align:left;background:transparent;border:0;padding:8px 10px;border-radius:8px;cursor:pointer}.gate-search-copy{display:grid;gap:2px;min-width:0;flex:1}.gate-search-item .student-photo{width:36px;height:36px}.gate-visit-count{margin:0;font-size:.88rem;font-weight:650}.gate-search-item:hover{background:#eef4f0}.gate-early-hot{color:var(--bad);font-size:.85rem;font-weight:650;margin:0}.gate-history-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;text-align:left;cursor:pointer;text-decoration:underline}.gate-history{margin:0;padding-left:1.1rem;display:grid;gap:4px}.gate-list h2{margin:0 0 8px}.gate-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.gate-list .gate-row:first-of-type{border-top:0}.gate-row.is-done{opacity:.7}.gate-pill{font-size:.75rem;font-weight:700;padding:4px 8px;border-radius:999px;background:#f6f0e4;color:#7c4a12}.gate-pill.ok{background:var(--ok-bg);color:var(--ok)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.punch-rail{position:fixed;top:56px;right:10px;z-index:35;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none;max-height:calc(100dvh - 68px)}.punch-tab{pointer-events:auto;width:auto;height:auto;margin:0;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--forest);color:#fff;font:inherit;font-size:.78rem;font-weight:700;letter-spacing:.04em;cursor:pointer;box-shadow:0 6px 16px #1b4d3e38}.punch-rail.open .punch-tab{background:#fff;color:var(--forest)}.punch-drawer{pointer-events:auto;width:360px;max-height:calc(100dvh - 72px);background:#fffdf8;border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 32px #1c2b2429;display:flex;flex-direction:column;overflow:hidden}.punch-drawer-head{display:flex;align-items:flex-start;gap:6px;padding:8px 8px 8px 12px;border-bottom:1px solid var(--line);min-height:44px;overflow:visible;flex-shrink:0}.punch-drawer-head.is-person{min-height:0;align-items:stretch}.punch-drawer-head strong{flex-shrink:0;font-size:.88rem}.punch-drawer-head .punch-date-nav{flex:1;min-width:0;justify-content:center}.punch-drawer-head .punch-date-nav span{font-size:.75rem;white-space:nowrap}.punch-icon-btn{width:28px;height:28px;border:0;border-radius:999px;background:transparent;color:var(--ink);font-size:1.05rem;line-height:1;cursor:pointer;flex-shrink:0}.punch-icon-btn:hover,.punch-icon-btn.on{background:var(--btn-hover)}.punch-back{border:0;background:transparent;color:inherit;font:inherit;font-weight:700;padding:0;cursor:pointer;text-align:left;min-width:0;flex:1;white-space:normal;overflow:visible;line-height:1.25}.punch-x{width:28px;height:28px;border:0;border-radius:999px;background:transparent;color:var(--ink);font-size:1.35rem;line-height:1;cursor:pointer;flex-shrink:0}.punch-x:hover{background:#f4efe4}.punch-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px 0}.punch-date-nav{display:flex;align-items:center;gap:6px;font-weight:700;font-size:.82rem}.punch-date-nav button{width:26px;height:26px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;font-size:1.1rem;line-height:1}.punch-date-nav button:disabled{opacity:.35;cursor:default}.punch-arrival-link{padding:4px 8px;font-size:.75rem}.punch-search{display:block;padding:8px 10px 0}.punch-search input{width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#fff}.punch-tabs{display:flex;gap:4px;padding:8px 10px}.punch-tabs button{flex:1;border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 0;font:inherit;font-size:.7rem;font-weight:700;cursor:pointer;color:var(--muted)}.punch-tabs button.on{background:var(--forest);border-color:var(--forest);color:#fff}.punch-row.punch-hist{cursor:default}.punch-manual{display:flex;flex-wrap:wrap;align-items:end;gap:6px;width:100%;margin-top:4px}.punch-manual label{display:flex;flex-direction:column;gap:2px;font-size:.68rem;color:var(--muted)}.punch-manual input[type=time]{padding:3px 4px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}.punch-manual .btn{padding:4px 8px;font-size:.72rem}.punch-manual-error{width:100%;font-size:.72rem}.punch-drawer-list{overflow:auto;flex:1}.punch-row{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:9px 12px;border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.punch-row:hover{filter:brightness(.98)}.punch-times{display:flex;align-items:center;gap:8px;font-size:.82rem;flex-wrap:wrap}.punch-time{display:inline-block;padding:1px 7px;border-radius:999px;font-weight:700}.punch-dep{color:var(--muted)}.punch-target{font-size:.72rem;color:var(--muted)}.punch-mark{font-weight:700;font-size:.75rem}.punch-selected-head{flex:1;min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:6px}.punch-selected-title{display:flex;align-items:flex-start;gap:6px}.punch-hist-row{padding:8px 12px;border-bottom:1px solid var(--line)}.punch-hist-row.editing{background:#f7f3ea}.punch-hist-cols{display:grid;grid-template-columns:7.2rem 1fr 1fr minmax(4.5rem,1.2fr);gap:8px;align-items:center;font-size:.82rem}.punch-hist-date{font-weight:700}.punch-hist-notes{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.punch-target-edit{display:flex;flex-wrap:wrap;align-items:end;gap:6px}.punch-target-edit label{display:flex;flex-direction:column;gap:2px;font-size:.68rem;color:var(--muted)}.punch-target-edit input[type=time]{padding:3px 4px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}.punch-target-edit .btn{padding:4px 8px;font-size:.72rem}.punch-drawer .pad{padding:14px}.arrival-target-edit{display:inline-flex;align-items:end;gap:8px;flex-wrap:wrap}.arrival-target-edit label{display:inline-flex;flex-direction:column;gap:2px}.arrival-target-edit input[type=time]{padding:4px 6px;border:1px solid var(--line);border-radius:8px;background:#fff}.arrival-target-cell{display:inline-flex;align-items:end;gap:6px;white-space:nowrap}.arrival-shift-cell{flex-wrap:wrap;white-space:normal}.arrival-shift-cell label{display:inline-flex;flex-direction:column;gap:2px;font-size:.68rem;color:var(--muted)}.arrival-target-cell input[type=time]{padding:4px 6px;border:1px solid var(--line);border-radius:8px;background:#fff}.arrival-target-cell .btn{padding:4px 8px;font-size:.75rem}.arrival-configure-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.arrival-configure-modal{width:min(640px,100%);max-height:90vh;overflow:auto}.arrival-configure-modal .arrival-creds{border:none;box-shadow:none;padding:0;background:transparent}.arrival-configure-eto{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.arrival-configure-eto>h3,.arrival-rules-card h3{margin:0 0 8px;font-size:1rem}.arrival-configure-eto .arrival-creds h2{display:none}.arrival-rules-card{display:grid;gap:12px}.arrival-rules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.arrival-rules-grid label,.arrival-rules-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.9rem}.arrival-rules-grid label{flex-direction:column;align-items:stretch;gap:4px}.arrival-rules-grid input[type=time],.arrival-rules-line input[type=number]{padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;max-width:120px}.arrival-rules-line input[type=number]{width:64px;max-width:64px;text-align:center}.arrival-rules-example{margin:0}.class-picker{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px 10px;margin:0 0 10px}.class-picker .class-grid{margin:0;flex:1 1 220px}.class-picker-tiled{flex:1 1 220px;display:flex;flex-direction:column;gap:8px;min-width:0}.class-grade-row,.class-section-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.class-picker-bar{padding-top:2px;margin-left:auto}.class-picker-toggle{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:#fff}.class-picker-mode{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:6px 8px;font:inherit;color:var(--muted);cursor:pointer;display:grid;place-items:center;line-height:0}.class-picker-mode.on{background:var(--forest);color:#fff}.class-picker-select{flex:1 1 180px}.class-picker-select select{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}.dms-page{display:grid;grid-template-columns:220px minmax(0,1fr);height:min(520px,calc(100dvh - 96px));min-height:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.dms-threads{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line);overflow:hidden;background:#fbf8f1}.dms-thread-list{flex:1;min-height:0;overflow:auto}.dms-threads-head,.dms-chat-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line);flex-shrink:0;background:#fbf8f1}.dms-chat-head{background:#fff}.dms-thread{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 14px;border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.dms-thread:hover{background:#f4efe4}.dms-thread.on{background:#e7f3ec}.dms-thread-name{display:flex;align-items:center;gap:8px;width:100%}.dms-preview{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dms-unread{margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--forest);color:#fff;font-size:.7rem;display:grid;place-items:center}.dms-chat{display:flex;flex-direction:column;min-width:0;min-height:0}.dms-messages{flex:1;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.dms-bubble{max-width:80%;padding:8px 10px;border-radius:12px;background:#f4efe4;align-self:flex-start}.dms-bubble.mine{background:#e7f3ec;align-self:flex-end}.dms-bubble p{margin:0;white-space:pre-wrap}.dms-compose{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line);flex-shrink:0;background:#fff}.dms-compose input{flex:1;padding:8px 10px;border:1px solid var(--line);border-radius:10px}.dms-empty{display:grid;place-items:center;flex:1;padding:24px}.dms-back{display:none}.dms-page .pad{padding:14px}@media(max-width:640px){.dms-page{grid-template-columns:1fr;height:min(520px,calc(100dvh - 84px))}.dms-page.has-peer .dms-threads{display:none}.dms-page:not(.has-peer) .dms-chat{display:none}.dms-back{display:inline-flex}.punch-drawer{width:min(360px,calc(100vw - 24px))}}.access-checks-nested{display:flex;flex-direction:column;gap:8px;align-items:stretch}.access-block{display:flex;flex-direction:column;gap:4px}.access-sub{display:flex;flex-wrap:wrap;gap:8px 14px;padding:4px 0 4px 22px;font-size:.86rem}.admin-hub-squares{margin:0 0 16px}.plain-list{list-style:none;padding:0;margin:0}.plain-list li{padding:6px 0;border-bottom:1px solid #eef2ef}.student-dir-actions{display:flex;flex-wrap:nowrap;gap:4px;justify-content:flex-end;align-items:center}.students-pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:10px 4px 0}.student-two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.student-details{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px 16px;margin:0}.student-details dt{font-size:.78rem;color:var(--muted);font-weight:650}.student-details dd{margin:2px 0 0;font-weight:650}.sibling-list{margin:0;padding-left:18px}.sibling-list a{font-weight:650}.sibling-edit h3{margin:8px 0 6px;font-size:.95rem}.sibling-picker{display:grid;gap:8px}.sibling-chips{display:flex;flex-wrap:wrap;gap:6px}.sibling-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;background:#f3f6f4;border:1px solid var(--line);font-size:.82rem}.sibling-matches{margin-top:4px}.student-check-head{margin:8px 0 0;font-size:1.1rem}.dir-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.dir-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font:inherit;font-size:.85rem;font-weight:650;cursor:pointer}.dir-chip.on{background:var(--forest);color:#fff;border-color:var(--forest)}.dir-chip.add{border-style:dashed;color:var(--forest)}.staff-login-mode{border:0;margin:0 0 8px;padding:0}.staff-login-mode legend{font-size:.78rem;font-weight:650;margin-bottom:4px}.emp-section-select{max-width:140px;font:inherit;font-size:.85rem}.setup-journey-page{display:grid;gap:14px}.setup-journey{display:flex;align-items:stretch;gap:0;overflow-x:auto;padding:6px 8px;background:#e7f3ec;border:1px solid #cfe3d6;border-radius:18px;box-shadow:none;scrollbar-width:none}.setup-journey::-webkit-scrollbar{display:none}.setup-journey-item{display:flex;align-items:center;flex:1 1 0;min-width:108px}.setup-journey-arrow{color:#6f8f7e;font-size:1.05rem;padding:0 4px;flex:none}.setup-journey-step{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;min-width:0;padding:8px 6px;border-radius:14px;color:var(--forest);font-weight:650;font-size:.78rem;text-align:center;line-height:1.2}.setup-journey-step:hover{background:#fffdf873}.setup-journey-step.on{background:var(--card);color:var(--forest);box-shadow:0 6px 16px #1b4d3e14}.setup-journey-num{width:26px;height:26px;border-radius:999px;display:grid;place-items:center;background:#fffdf8b3;color:var(--forest);font-size:.78rem;font-weight:800}.setup-journey-step.on .setup-journey-num{background:var(--forest);color:#fff}.setup-journey-label{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.setup-grade-list{display:grid;gap:10px}.setup-grade-card{padding:14px 16px}.setup-grade-card h2{margin:0 0 8px;font-size:1.05rem;font-weight:700}.setup-section-chips{display:flex;flex-wrap:wrap;gap:8px}.setup-section-chip{min-width:36px;padding:6px 12px;border-radius:999px;background:#eef6f1;border:1px solid var(--line);font-weight:750;text-align:center}.setup-name-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.setup-name-card{padding:12px 14px;display:flex;flex-direction:column;gap:2px}a.setup-name-card{text-decoration:none;color:inherit;cursor:pointer}a.setup-name-card:hover{border-color:var(--forest);box-shadow:0 4px 12px #1b4d3e1f}.setup-name-card strong{font-size:.98rem;font-weight:700}.setup-add-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}.setup-add-stack{display:grid;gap:8px}.setup-add-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px}.setup-assign-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;flex-wrap:wrap}.setup-assign-head h2{margin:0}.setup-incharge-picks{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.setup-incharge-picks select{max-width:168px;height:32px;padding:4px 8px;font:inherit;font-size:.82rem;border:1px solid var(--line);border-radius:8px;background:#fff}.setup-assign-row{display:grid;grid-template-columns:minmax(88px,140px) 1fr;gap:8px 12px;align-items:start;padding:8px 0;border-top:1px solid var(--line)}.setup-assign-row:first-of-type{border-top:0;padding-top:4px}.setup-assign-row strong{padding-top:4px;font-size:.92rem}.dir-add-section{display:flex;gap:6px;align-items:center}.dir-add-section input{width:140px;padding:6px 10px;border-radius:10px}.dir-chip-note{margin:0 0 10px}.dir-add-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;padding-top:8px;border-top:1px solid var(--line)}.dir-add-row .field{min-width:140px;flex:1}.dir-add-row .btn{margin-bottom:2px}.check-inline.sm{font-size:.78rem;margin-top:4px}.import-menu{position:relative}.import-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:20;width:min(320px,86vw);max-height:min(70vh,520px);overflow:auto;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 10px 28px #14281e1f;display:grid;gap:8px}.import-pop.left{right:auto;left:0}.import-pop input[type=file]{font-size:.8rem}.page-head-actions{display:flex;gap:8px;align-items:center}.panel-title-row{display:flex;align-items:center;gap:8px}.panel-title-row h2{margin:0}.glass-toast{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:80;min-width:min(420px,calc(100vw - 32px));max-width:min(640px,calc(100vw - 32px));padding:14px 22px 10px 28px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#0000009e;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 8px 24px #00000038;font-size:.84rem;font-weight:650;color:#fff;pointer-events:auto}.glass-toast-close{position:absolute;top:4px;left:6px;width:18px;height:18px;padding:0;border:0;background:transparent;color:inherit;font-size:14px;line-height:1;cursor:pointer;opacity:.8}.glass-toast-close:hover{opacity:1}.glass-toast.ok,.glass-toast.err{color:#fff}.student-photo{width:36px;height:36px;border-radius:50%;object-fit:cover;background:#e8efe9;flex:0 0 auto;display:block}.student-photo.lg{width:56px;height:56px}.student-photo.hero{width:160px;height:160px;border:4px solid #fff;box-shadow:0 10px 28px #14281e24}.student-photo.placeholder{background:#dce6df}.profile-dash{display:grid;gap:14px}.profile-top{display:grid;grid-template-columns:minmax(280px,1.4fr) minmax(180px,.75fr) minmax(180px,.75fr);align-items:stretch;background:linear-gradient(160deg,#e8f4ee,#fff 72%);border:1px solid var(--line);border-radius:24px;overflow:hidden}.profile-top.is-edit{grid-template-columns:1fr}.profile-pane{min-width:0;padding:16px 18px;display:grid;gap:10px;align-content:start;background:transparent}.profile-pane+.profile-pane{border-left:1px solid var(--line)}.profile-pane h2{margin:0;padding-bottom:8px;border-bottom:1px solid var(--line);font-size:1.12rem}.profile-pane-student{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:10px 16px;align-items:start}.profile-pane-student .student-photo.hero,.profile-pane-student .profile-initials{grid-row:1;grid-column:1}.profile-pane-student .profile-hero-copy{grid-row:1;grid-column:2;min-width:0;display:grid;gap:10px}.profile-pane-student .btn{grid-row:2;grid-column:1;justify-self:start}.profile-fb-compact .card-history-row{padding:6px 8px;font-size:.82rem}.profile-hero{display:flex;flex-wrap:wrap;align-items:center;gap:20px 28px;padding:20px 22px;border-radius:24px;background:linear-gradient(160deg,var(--house-wash, #e8f4ee) 0%,#fff 64%);border:1px solid var(--line)}.profile-hero-copy{min-width:0}.profile-hero h1,.profile-pane-student h1{margin:0;font-size:2.15rem;line-height:1.15}.profile-hero .muted{margin:0;font-size:1.05rem}.profile-hero .eyebrow{font-size:1.05rem;font-weight:650}.profile-hero>.btn{align-self:flex-start;flex:0 0 auto}a.profile-hero-link{text-decoration:none;color:inherit}a.profile-hero-link:hover{filter:brightness(.985)}.profile-hero-chevron{margin-left:auto;font-size:1.8rem;line-height:1;color:var(--muted);font-weight:300;flex:0 0 auto;align-self:center}.profile-hero-id{min-width:0;max-width:none;margin-left:0;flex:none}.profile-hero-id.profile-dl{gap:8px}.profile-hero-id.profile-dl>div{font-size:1.02rem}.profile-initials{width:160px;height:160px;border-radius:50%;display:grid;place-items:center;font-size:2.5rem;font-weight:750;letter-spacing:.04em;background:var(--house-wash, #dbeafe);color:var(--house, var(--forest));border:4px solid #fff;box-shadow:0 10px 28px #14281e24;flex:0 0 auto}.profile-dash.house-mariana{--house: #2b6cb0;--house-wash: #dbeafe}.profile-dash.house-everest{--house: #c53030;--house-wash: #fee2e2}.profile-dash.house-amazon{--house: #2f855a;--house-wash: #dcfce7}.profile-dash.house-sahara{--house: #d69e2e;--house-wash: #fff8dc}.profile-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;align-items:start}.profile-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px 16px;display:grid;gap:10px}.profile-card h2{margin:0;font-size:1.2rem}.profile-dl{display:grid;gap:8px}.profile-dl>div{display:flex;justify-content:space-between;gap:12px;font-size:1.02rem}.profile-dl dt{color:var(--muted)}.profile-dl dd{margin:0;font-weight:650;text-align:right}.profile-people{display:grid;gap:10px}.profile-person{display:grid;gap:4px}.profile-person strong{font-size:1.12rem}.profile-person span{font-size:1.05rem}.profile-sibs{display:flex;flex-wrap:wrap;gap:8px}.profile-sib{display:flex;align-items:center;gap:6px;text-decoration:none;color:inherit;background:#f4f7f5;border-radius:999px;padding:4px 10px 4px 4px;font-size:.82rem}.profile-sib .student-photo{width:28px;height:28px}.profile-tests{list-style:none;margin:0;padding:0;display:grid;gap:8px}.profile-tests li{display:flex;justify-content:space-between;gap:10px;font-size:.88rem}.profile-subject-list{display:grid;gap:4px}.profile-subject-head,.profile-subject-list summary{display:grid;grid-template-columns:1fr 4.5rem 1rem;gap:8px;align-items:baseline}.profile-subject-head{color:var(--muted);font-size:.75rem;font-weight:650;padding:0 0 4px}.profile-subject-head span:nth-child(2),.profile-subject-checked{text-align:right;font-variant-numeric:tabular-nums}.profile-subject-list details{border-top:1px solid var(--line);padding:8px 0 4px}.profile-subject-head+details{border-top:0;padding-top:0}.profile-subject-list summary{cursor:pointer;list-style:none}.profile-subject-list summary::-webkit-details-marker{display:none}.profile-subject-list summary em{font-style:normal;color:var(--muted);font-size:.8rem;font-weight:500}.profile-subject-list summary:after{content:"▸";color:var(--muted);font-size:.7rem;justify-self:end}.profile-subject-list details[open] summary:after{content:"▾"}.profile-bars{display:grid;gap:8px}.profile-bar-row{display:grid;grid-template-columns:42px 1fr 28px;gap:8px;align-items:center;font-size:.82rem}.profile-bar-track{height:8px;border-radius:99px;background:#eef2f0;overflow:hidden}.profile-bar-fill{height:100%;border-radius:99px;background:var(--house, var(--forest))}.profile-strip{margin:0;font-size:.9rem}@media(max-width:800px){.profile-top,.profile-grid{grid-template-columns:1fr}.profile-pane+.profile-pane{border-left:0;border-top:1px solid var(--line)}.student-photo.hero,.profile-initials{width:120px;height:120px}.profile-initials{font-size:2rem}.profile-hero-id{flex:1 1 100%;max-width:none;margin-left:0}}.student-name-cell{display:flex;align-items:center;gap:8px;min-width:0}.student-name-cell span{min-width:0}.student-name-cell h1{margin:0}.icon-plus-btn{width:var(--btn-h);height:var(--btn-h);min-height:0;display:grid;place-items:center;border-radius:var(--btn-radius);font-size:1.2rem;line-height:1;padding:0}.access-portal{position:fixed;z-index:40;max-height:min(70vh,420px);overflow:auto;padding:10px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #14281e1f}.access-portal .access-editor{margin:0;padding:0;border:0}.access-portal .access-editor legend{display:none}.att-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px}.att-holiday{margin-bottom:4px;font-weight:600}.att-search{margin-left:auto;min-width:180px}.att-card{padding:0;overflow:hidden}.att-table{width:100%;border-collapse:collapse;font-size:.9rem}.att-table th,.att-table td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;vertical-align:middle}.att-table th{font-weight:600;background:#f4f7f5}.att-table tbody tr:nth-child(2n){background:#f6f8f7}.att-table tbody tr:hover{background:#eef4f0}.att-ai-card h2{margin:0 0 6px;font-size:1.05rem}.att-ai-form{display:grid;gap:10px 14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;margin:10px 0}.att-ai-form .btn{justify-self:start}.att-sort{border:0;background:transparent;padding:0;font:inherit;font-weight:600;color:inherit;cursor:pointer}.att-radio{text-align:center;width:2.4em}.att-table th:nth-child(n+6):nth-child(-n+9){text-align:center}.att-radio input{width:16px;height:16px;accent-color:var(--leaf);cursor:pointer}.att-reason{width:100%;min-width:140px;max-width:220px}.att-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-top:1px solid var(--line)}.att-counts{display:inline-flex;gap:10px;font-variant-numeric:tabular-nums}.att-counts b{color:var(--leaf)}.att-counts .a{color:var(--bad)}.att-counts .l{color:#b45309}.att-counts .h{color:#6b4ea1}.att-board-photo{position:relative;max-width:520px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#f8fafc}.att-photo-x{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;top:6px;right:6px;z-index:2;width:28px;height:28px;border:0;border-radius:50%;background:#141e18b8;color:#fff;font-size:1.05rem;line-height:1;cursor:pointer}.att-photo-x:hover{background:#b42318}.att-photo-x:disabled{opacity:.5;cursor:default}.att-board-photo-actions{display:flex;flex-wrap:wrap;gap:8px}.att-upload{margin-left:auto}.att-board-photo img{display:block;width:100%;max-height:360px;object-fit:contain}.att-board-photos{display:flex;flex-wrap:wrap;gap:10px}.att-board-photos .att-board-photo{max-width:280px}.att-board-waiting-toggle{margin:0 0 10px}.att-board-modal{width:min(780px,100%);max-height:90vh;overflow:auto}.att-board-modal-table{max-height:52vh;overflow:auto}.att-board-warn td{background:#fff7ed}.att-board-modal .att-reason{width:100%;min-width:140px}.att-board-total{margin:0 0 8px;font-size:1.05rem}.att-board-total b{color:var(--bad)}.att-board-unmatched td{background:#fff7ed}.att-board-unknown{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.att-board-guess{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:32px;padding:0 10px;border-radius:999px;background:#fff7ed;border:1px solid #ea580c;color:#c2410c;font-weight:700}.att-board-pick{min-width:92px}.att-chip-field{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:36px;min-width:160px;flex:1;padding:4px 8px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:text}.att-chip-input{border:0;outline:0;min-width:64px;flex:1;font:inherit;background:transparent}.att-roll-chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:28px;height:28px;padding:0 8px;border-radius:999px;border:1px solid #cbd5e1;background:#f8fafc;font-weight:650;font-variant-numeric:tabular-nums}.att-board-status{color:var(--muted);font-size:.92rem;font-style:italic}@media(max-width:700px){.att-search{margin-left:0;width:100%}}.row-between{display:flex;align-items:center;justify-content:space-between;gap:8px}.field.grow{flex:1;min-width:160px}.btn.ghost.on,.btn.ghost.sm-btn.on{background:var(--forest);color:#fff;border-color:var(--forest)}.btn.sm-btn{padding:4px 8px;font-size:.78rem}.hub-tile.tone-mariana{background:#dbeafe}.hub-tile.tone-everest{background:#fee2e2}.hub-tile.tone-amazon{background:#dcfce7}.hub-tile.tone-sahara{background:#fef3c7}.house-page{display:grid;gap:12px;padding-bottom:24px;--house-ink: #fff}.house-page.house-mariana{--house: #2b6cb0;--house-wash: #dbeafe}.house-page.house-everest{--house: #c53030;--house-wash: #fee2e2}.house-page.house-amazon{--house: #2f855a;--house-wash: #dcfce7}.house-page.house-sahara,.house-page.house-none{--house: #d69e2e;--house-wash: #fff8dc;--house-ink: #3f2f0a}.house-banner{background:var(--house-wash, #fff7ed);border-radius:20px;padding:16px 20px 18px;display:grid;gap:10px;overflow:visible}.house-banner .page-head.tight{margin-bottom:0}.house-page.house-mariana .page-head h1,.house-page.house-everest .page-head h1,.house-page.house-amazon .page-head h1,.house-page.house-sahara .page-head h1,.house-page.house-none .page-head h1{color:var(--house);font-size:1.25rem;padding:0;letter-spacing:.01em}.house-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.house-head-stack{flex-direction:column;align-items:flex-end;gap:8px}.house-chevron{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;background:transparent;color:var(--house, var(--forest));border-radius:999px;cursor:pointer;flex:none}.house-chevron:hover{background:#0000000f}.house-chevron.open{transform:rotate(90deg)}.house-day-picker{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.house-flyout{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:0;max-width:100%;background:transparent;border:0;box-shadow:none}.house-capsule{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:#ffffff8c;cursor:pointer;font:inherit;font-size:.78rem;font-weight:650;color:#3f3a32;white-space:nowrap}.house-capsule span{font-weight:500;color:#6b6358;font-size:.72rem}.house-capsule.on{background:var(--house, #d69e2e);border-color:transparent;color:#fff}.house-capsule.on span{color:#ffffffd9}.house-capsule.is-today:not(.on){box-shadow:inset 0 0 0 1.5px var(--house)}.house-pip{width:6px;height:6px;border-radius:999px;background:currentColor;flex:none}.house-pip.house-mariana{background:#2b6cb0}.house-pip.house-everest{background:#c53030}.house-pip.house-amazon{background:#2f855a}.house-pip.house-sahara,.house-pip.house-none{background:#d69e2e}.house-capsule.on .house-pip{background:#fff}.house-heads,.house-head-edit{display:grid;gap:8px}.house-head-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.house-head-row input{flex:1;min-width:140px}.house-slots-label{display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600}.house-slots-label input{width:64px;flex:none}.house-head-actions{display:flex;gap:6px}.house-day-tabs{display:flex;flex-wrap:wrap;gap:6px}.house-day-tab{display:flex;flex-direction:column;align-items:flex-start;min-width:76px;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:#ffffffb3;cursor:pointer;font:inherit}.house-day-tab b{font-size:.95rem}.house-day-tab span{font-size:.72rem;color:#5b6b60}.house-day-tab.on{background:var(--house, #fde68a);border-color:var(--house, #d69e2e);color:#3f2f0a}.house-day-tab.is-today:not(.on){outline:2px solid var(--house)}.house-day.today{outline:2px solid var(--house, var(--leaf))}.house-day-tools{flex-wrap:wrap;margin-bottom:10px}.house-wing-tabs{display:flex;flex-wrap:wrap;gap:6px}.house-heads-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:4px}.house-head-col{display:grid;gap:8px;align-content:start;padding:14px;border-radius:12px;border:1px solid var(--line)}.house-head-col.tone-anthem{background:#fffbeb;border-color:#fde68a}.house-head-col.tone-mic{background:#eff6ff;border-color:#bfdbfe}.house-head-col.tone-discipline{background:#f0fdf4;border-color:#bbf7d0}.house-head-col.tone-thought{background:#fdf2f8;border-color:#fbcfe8}.house-head-title{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.house-head-col h2{margin:0;font-size:1.15rem;line-height:1.2;color:#1f2937}.house-head-count{margin:0}.house-slot{display:grid;gap:6px;padding:8px 10px;border-radius:8px;background:#ffffffd9;border:1px solid rgba(0,0,0,.08);cursor:pointer}.house-slot.selected{box-shadow:inset 0 0 0 1.5px var(--house, var(--forest))}.house-slot-line{display:flex;align-items:flex-start;gap:8px}.house-slot-name{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:baseline;flex:1;min-width:0}.house-slot-name b{font-size:.86rem;font-weight:650}.house-slot-x{border:0;background:transparent;color:#9ca3af;padding:0 2px;cursor:pointer;line-height:1}.house-slot-x:hover{color:#6b7280}.house-slot.status-done{border-color:#86efac;background:#f0fdf4}.house-slot.status-absent{border-color:#fca5a5;background:#fef2f2}.house-slot.status-skipped{border-color:#fcd34d;background:#fffbeb}.house-slot-feed{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.house-mark{width:32px;height:32px;display:grid;place-items:center;border-radius:999px;border:1px solid var(--line);background:#fff;color:#3f3a32;cursor:pointer;padding:0}.house-mark.tick.on{background:#166534;border-color:#166534;color:#fff}.house-mark.cross.on{background:#9a3412;border-color:#9a3412;color:#fff}.house-note{width:100%;padding:4px 6px;font-size:.8rem}.house-add-list{display:grid;gap:4px;max-height:240px;overflow:auto}.house-add-row{display:flex;flex-direction:row;align-items:center;gap:8px;padding:8px;border:0;background:#f6f8f7;border-radius:8px;cursor:pointer;text-align:left}.house-add-copy{display:grid;gap:2px;flex:1;min-width:0}.house-duty-list{margin:8px 0 0;padding-left:18px}.house-count{margin:2px 0 0;font-size:.85rem;font-weight:600;color:#5c5348}.house-incharge-line{margin:4px 0 0;font-size:.82rem;font-weight:600;color:#5c5348}.house-page-tabs{display:flex;flex-wrap:wrap;gap:6px}.profile-tabs{margin:4px 0 12px}.profile-tabs .btn.ghost.on{background:var(--forest);color:#fff;border-color:var(--forest)}.house-page .btn.ghost{color:var(--house, var(--forest));border-color:color-mix(in srgb,var(--house, var(--forest)) 32%,#fff)}.house-page .btn.ghost.on,.house-page .btn.ghost.sm-btn.on,.house-page .btn.leaf{background:var(--house, var(--forest));border-color:var(--house, var(--forest));color:var(--house-ink, #fff)}.house-teacher-filters{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px}.house-teachers select{min-width:128px}.house-teacher-board{display:grid;grid-template-columns:28px repeat(5,minmax(150px,1fr));gap:10px;align-items:start}.house-teacher-gutter{display:flex;flex-direction:column;padding:10px 0 12px}.house-teacher-gutter h3{margin:0 0 10px;font-size:.95rem;line-height:1.2;visibility:hidden}.house-wing-labs{display:grid;gap:6px;margin-bottom:10px}.house-wing-labs span{display:flex;align-items:center;min-height:2rem;font-size:.72rem;font-weight:700;color:#5c5348}.house-teacher-col{background:var(--house-wash, #f8fafc);border:1px solid color-mix(in srgb,var(--house, #94a3b8) 28%,#fff);border-radius:14px;padding:10px 8px 12px;min-height:180px}.house-teacher-col h3{margin:0 0 10px;text-align:center;color:var(--house, #334155);font-size:.95rem}.house-teacher-card{display:grid;gap:6px;background:#fff;border-radius:10px;padding:8px;margin-bottom:6px}.house-teacher-card strong{font-size:.88rem}.house-teacher-name{display:block;width:100%;text-align:left;font:inherit;font-size:.88rem;font-weight:700;background:transparent;border:0;padding:0;cursor:pointer;color:inherit}.house-teacher-card.open{outline:1.5px solid var(--house, var(--forest))}.house-teacher-picks{display:flex;flex-wrap:wrap;gap:4px}.house-teacher-picks .house-capsule{font-size:.68rem;padding:3px 7px}.house-incharge-rows{display:grid;gap:6px;margin-bottom:10px}.house-incharge-rows label{display:grid;grid-template-columns:28px 1fr;gap:6px;align-items:center;font-size:.72rem;font-weight:700;color:var(--house, #334155)}.house-incharge-rows select{min-width:0;width:100%;min-height:2rem;font:inherit;font-size:.75rem;font-weight:500}.house-incharge-rows.is-bare label{grid-template-columns:1fr}.house-teacher-card-actions{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.house-teacher-card-actions select{min-width:0;flex:1 1 90px;font:inherit;font-size:.75rem}@media(max-width:900px){.house-teacher-board{grid-template-columns:28px repeat(2,minmax(140px,1fr))}.house-teacher-gutter{grid-row:1 / span 3}}.duty-circle{flex:none;width:22px;height:22px;border-radius:50%;border:1px solid #94a3b8;background:#fff;font:inherit;font-size:.68rem;font-weight:700;line-height:1;cursor:pointer;padding:0}.house-mini-chip{display:inline-block;flex:none;font-size:.68rem;font-weight:700;padding:2px 6px;border-radius:999px}.house-chip-mariana,.house-mini-chip.house-chip-mariana{background:#dbeafe;color:#1e3a8a}.house-chip-everest,.house-mini-chip.house-chip-everest{background:#fee2e2;color:#9b2c2c}.house-chip-amazon,.house-mini-chip.house-chip-amazon{background:#dcfce7;color:#166534}.house-chip-sahara,.house-mini-chip.house-chip-sahara{background:#fef3c7;color:#92400e}.house-board,.house-board-card{display:grid;gap:12px}.house-board-photo{display:grid;gap:8px;justify-items:start}.house-board-photo img{max-width:100%;max-height:240px;border-radius:10px;border:1px solid var(--line)}.house-board-block{display:grid;gap:6px}.house-board-people{list-style:none;margin:0;padding:0;display:grid;gap:6px}.house-board-people li{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#f8fafc;border-radius:8px}.house-emp-cell{display:grid;gap:4px}.house-incharge-check{display:flex;align-items:center;gap:4px;font-size:.75rem;font-weight:600}.feedback-page,.resolution-page,.transport-page{display:grid;gap:12px;min-width:0;max-width:100%}.feedback-search-row{display:flex;flex-wrap:wrap;gap:10px}.feedback-results{display:grid;gap:4px;max-height:280px;overflow:auto}.feedback-result{display:flex;flex-direction:column;align-items:flex-start;padding:8px 10px;border:1px solid var(--line);background:#fff;border-radius:8px;cursor:pointer;text-align:left}.feedback-result.on{border-color:var(--forest);background:#f0fdf4}.card-issue-row{display:flex;flex-wrap:wrap;gap:8px}.card-chip{border:0;border-radius:10px;padding:10px 12px;font-weight:700;cursor:pointer}.card-chip.color-green{background:#bbf7d0;color:#14532d}.card-chip.color-blue{background:#bfdbfe;color:#1e3a8a}.card-chip.color-yellow{background:#fde68a;color:#78350f}.card-chip.color-red{background:#fecaca;color:#7f1d1d}.card-chip.color-meeting{background:#e9d5ff;color:#581c87}.card-chip.on{outline:2px solid var(--forest);outline-offset:2px}.card-history{display:grid;gap:8px;margin-top:12px}.card-history-row{display:grid;gap:4px;padding:10px 12px;border-radius:8px;border-left:6px solid #94a3b8;background:#f8fafc}.card-history-row b{display:block}.card-history-row p{margin:0}.card-note-text{white-space:pre-wrap}.card-history-row.color-green{border-left-color:#16a34a;background:#f0fdf4}.card-history-row.color-blue{border-left-color:#2563eb;background:#eff6ff}.card-history-row.color-yellow{border-left-color:#ca8a04;background:#fffbeb}.card-history-row.color-red{border-left-color:#dc2626;background:#fef2f2}.card-history-row.color-meeting{border-left-color:#7c3aed;background:#f5f3ff}.student-card-popup{width:min(440px,100%);display:grid;gap:10px}.student-card-popup .card-history-row{margin:0}.resolution-filters{display:flex;flex-wrap:wrap;gap:10px}.resolution-filters .field{min-width:160px}.resolution-page .table-wrap{max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:640px){.resolution-filters{display:grid;grid-template-columns:1fr}.resolution-filters .field{min-width:0}}.transport-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.transport-toolbar .field{min-width:0;flex:1 1 140px}.transport-duty-line{margin:0 0 8px}.van-students-bar{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:8px;margin:0 0 10px}.van-lang{display:flex;flex:0 0 auto;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:#fff}.van-lang button{border:0;background:transparent;padding:5px 11px;font-size:.78rem;font-weight:700;color:var(--ink-soft, #5b6470);cursor:pointer}.van-lang button.on{background:var(--forest);color:#fff}.van-date-field{flex:1 1 auto;min-width:0;margin:0}.van-date-field input{width:100%;min-width:0}.van-name-search{display:flex;flex:0 0 auto;align-items:center;gap:4px;min-width:0}.van-name-search.expanded{flex:1 1 8rem}.van-name-search-input{width:100%;min-width:0;padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:#fff;font:inherit;font-size:.85rem}.van-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px}.van-tile-grid.is-swapping{touch-action:none}.van-tile{display:grid;grid-template-columns:72px 1fr;gap:8px;align-items:center;position:relative;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:grab;text-align:left;touch-action:pan-y;-webkit-user-select:none;user-select:none}.van-tile.dragging{opacity:.92;transform:scale(1.04);z-index:2;box-shadow:0 8px 18px #1b4d3e2e;cursor:grabbing;touch-action:none}.van-tile.drop{outline:2px solid var(--forest)}.van-tile.boarded{background:#bbf7d0}.van-tile.missed{background:#fff7ed}.van-tile.blocked{background:#f8fafc;opacity:.82;cursor:default}.van-tile.add{display:grid;place-items:center;grid-template-columns:1fr;min-height:108px;cursor:pointer;font-weight:700;color:var(--forest);background:#f8fafc}.van-tile .student-photo{width:72px;height:72px}.van-tile-body{display:grid;gap:2px;min-width:0}.van-tile-class{font-size:.72rem;line-height:1.2;color:var(--muted, #5b6470)}.van-tile-name{display:flex;align-items:flex-start;justify-content:space-between;gap:4px}.van-tile-name strong{flex:1;min-width:0;font-size:.9rem;line-height:1.2;overflow-wrap:anywhere}.van-tile-name strong.is-pa,.van-tile-foot .is-pa{font-family:Noto Sans Gurmukhi,sans-serif}.van-tile-more{position:absolute;top:4px;right:4px;z-index:3}.van-tile-name{padding-right:18px}.van-tile-more-btn{border:0;background:transparent;padding:0 2px;margin:-2px -4px 0 0;font:inherit;font-size:1.15rem;font-weight:700;line-height:1;letter-spacing:.04em;color:var(--ink-soft, #5b6470);cursor:pointer}.van-tile-more.open .van-tile-more-btn,.van-tile-more-btn:hover{color:var(--ink)}.van-tile .btn-dd-menu{min-width:120px;z-index:40}.van-tile .btn-dd-menu button.danger{color:var(--bad, #b91c1c)}.van-tile-foot{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:2px;min-width:0}.van-tile-foot{flex-wrap:wrap}.van-tile-foot .van-tile-class{min-width:0;white-space:nowrap}.van-tile-foot .btn{flex:0 0 auto}.van-tile-class-inline{display:none}@media(max-width:600px){.van-students-bar{flex-wrap:wrap}.van-name-search.expanded{flex:1 1 100%}.transport-toolbar .field{flex:1 1 0}.transport-toolbar .transport-duty-line{flex:1 1 100%}.van-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.van-tile{grid-template-columns:minmax(0,1fr);justify-items:center;gap:6px;padding:8px;min-width:0;text-align:center}.van-tile .student-photo{width:min(96px,72%);height:auto;aspect-ratio:1;margin-top:6px}.van-tile-body{width:100%;justify-items:stretch}.van-tile-name{justify-content:center;align-items:center;flex-wrap:nowrap;gap:6px;padding-right:0}.van-tile-name strong{flex:0 1 auto;min-width:0;font-size:.84rem;text-align:center}.van-tile-class-inline{display:inline;white-space:nowrap}.van-tile-foot{justify-content:center}.van-tile-foot .van-tile-class{display:none}.van-tile-foot .btn{padding:3px 16px}.van-tile.add{min-height:96px}}.btn.tiny{min-height:24px;padding:2px 8px;font-size:.72rem;gap:4px}.van-duty-card{display:grid;gap:12px}.van-duty-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:start}.van-duty-round{display:grid;gap:6px;max-width:320px}.van-duty-round select{width:100%}.van-log-wrap{overflow-x:auto;overflow-y:auto;max-width:100%;min-width:0;max-height:70vh;border:1px solid var(--line);border-radius:10px;-webkit-overflow-scrolling:touch}.van-log-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.van-log-table th,.van-log-table td{background:#fff}.van-log-sticky{position:sticky;z-index:2;background:#fff}.van-log-name{left:0;min-width:160px}.van-log-class{left:160px;min-width:88px}.van-log-date{border-left:3px solid var(--forest)}.van-audit-page{display:grid;gap:12px}.van-audit-meta{display:flex;flex-wrap:wrap;align-items:end;gap:12px 16px;padding:10px 12px;background:var(--card);border:1px solid var(--line);border-radius:10px}.van-audit-meta strong{font-size:1rem;margin-right:8px}.van-audit-house{margin:0;flex:1 1 100%;font-size:.88rem;font-weight:650;color:#5c5348}.van-audit-meta .mini-label{display:grid;gap:4px;font-size:.78rem;font-weight:650}.van-audit-meta .mini-label input,.van-audit-meta select{min-width:200px;font:inherit;font-weight:500;padding:6px 8px;border-radius:8px;border:1px solid var(--line);background:#fff}.van-audit-week{display:grid;gap:4px}.van-audit-week .mini-label{font-size:.78rem;font-weight:650}.van-audit-week-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.van-audit-week-nav strong{font-size:.95rem}.van-audit-logs{display:grid;gap:8px}.van-audit-log-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.van-audit-log-list button{width:100%;display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;text-align:left;font:inherit;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:#fff;cursor:pointer}.van-audit-log-list button.on,.van-audit-log-list button:hover{border-color:var(--forest)}.van-audit-log-list em{font-style:normal;font-size:.78rem;color:#64748b}@media(max-width:640px){.van-audit-log-list button{grid-template-columns:1fr}}.van-audit-wrap{overflow:auto;max-height:calc(100dvh - 220px);border:1px solid var(--line);border-radius:10px;background:#fff}.van-audit-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:.78rem}.van-audit-table th,.van-audit-table td{border:1px solid #c5d5e4;padding:4px 6px;vertical-align:middle}.van-audit-table thead th{background:#cfe3f5;font-weight:700;white-space:nowrap;text-align:center}.van-audit-table td:first-child{font-weight:650;white-space:nowrap;background:#f7fbf8}.van-audit-check{text-align:center}.van-audit-table input[type=text],.van-audit-table input:not([type]),.van-audit-table input[type=date]{width:100%;min-width:108px;border:0;background:transparent;font:inherit;padding:2px 4px}.van-audit-remarks{background:#fff8dc;min-width:160px}.van-audit-remarks input{min-width:160px}.gate-plus-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.gate-plus-btns{display:flex;gap:4px}.gate-plus-btns .btn{min-width:36px}.pill.tiny.van-on-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:#fff;cursor:pointer}.pill.tiny.van-on-toggle.on{background:#dcfce7;border-color:#16a34a}.seating-page{display:grid;gap:12px;padding-bottom:28px}.seating-new h2,.seating-page .card h2{margin:0 0 8px;font-size:1.05rem}.seating-new-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.seating-new-row .field{min-width:180px}.seating-plan-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.seating-plan-list li{display:flex;gap:8px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:8px}.seating-plan-open{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:0;background:transparent;cursor:pointer;font:inherit;text-align:left;color:inherit}.seating-plan-open strong{font-size:1rem}.seating-plan-open span{font-size:.8rem;color:var(--ink-soft, #5b6470)}.seating-page-head{position:relative;align-items:center;flex-wrap:wrap;gap:8px}.seating-page-title{min-width:0;flex:1}.seating-plan-name{width:min(280px,100%);margin:0;border:0;background:transparent;font:inherit;font-size:1.1rem;font-weight:700;padding:0;color:inherit}.seating-tool-bar{position:relative;overflow:visible;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-left:auto}.seating-tool-bar .tool-btn{min-width:32px;height:32px;padding:0}.seating-count-wrap{position:relative;margin-right:auto}.seating-count-tab{display:none;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--forest);color:#fff;font:inherit;font-size:.75rem;font-weight:700;letter-spacing:.04em;cursor:pointer}.seating-count-tab.open{background:#fff;color:var(--forest)}.seating-count-pop{display:none;position:absolute;left:0;top:calc(100% + 8px);z-index:40;width:min(320px,calc(100vw - 24px));max-height:min(70vh,480px);overflow:auto;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 10px 28px #14281e1f}.seating-count-pop .seating-class-counts{grid-template-columns:1fr 1fr}.seating-sheet-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px);gap:14px;align-items:start}.seating-sheet{background:#fff;border:1px solid #1c1c1c;padding:12px;overflow-x:auto}.seating-school{margin:0 0 10px;text-align:center;font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase}.seating-search{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:.82rem;font-weight:600}.seating-search input{flex:1;max-width:180px;border:1px solid #333;padding:4px 8px;font:inherit}.seating-datesheet,.seating-grid{width:100%;border-collapse:collapse;font-size:.82rem}.seating-datesheet th,.seating-datesheet td{border:1px solid #222;padding:4px 6px;text-align:center;background:#f6e05e;font-weight:700}.seating-datesheet td{background:#faf089;font-weight:600}.seating-grid{margin-top:12px}.seating-grid th,.seating-grid td{border:1px solid #333;padding:2px;vertical-align:top}.seating-grid th{background:#f4f4f4;text-align:center;font-size:.75rem;letter-spacing:.04em}.seating-class{width:128px}.seating-benches{width:72px}.seating-duty{width:148px}.seating-hl-wrap{position:relative}.seating-hl-wrap:has(.seating-cell.is-bad){background:#fecaca}.seating-hl-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;font:inherit;font-size:.78rem;line-height:1.25;padding:4px 6px;white-space:pre-wrap;overflow:hidden;color:transparent}.seating-hl-layer .is-hit{background:#facc15;color:transparent;border-radius:3px;box-shadow:inset 0 0 0 1px #eab308}.seating-cell{width:100%;min-height:44px;border:0;resize:vertical;font:inherit;font-size:.78rem;line-height:1.25;padding:4px 6px;background:transparent;color:inherit}.seating-cell.is-over-hl{background:transparent;position:relative;z-index:1}.seating-cell.is-over-hl.is-bad{background:transparent}.seating-class-label{display:flex;align-items:center;font-weight:700;resize:none;gap:4px;-webkit-user-select:none;user-select:none}.seating-strength-wrap{display:inline-flex;align-items:center;font-weight:700;white-space:nowrap;gap:2px}.seating-strength-input{width:2.4em;border:0;background:transparent;font-weight:700;text-align:center;padding:0 1px;font-size:inherit;font-family:inherit;-moz-appearance:textfield}.seating-strength-input::-webkit-outer-spin-button,.seating-strength-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.seating-strength-steps{display:inline-flex;flex-direction:column;margin-left:2px;line-height:.8}.seating-strength-step{border:0;background:transparent;padding:0 2px;font-size:.55em;line-height:1;cursor:pointer;color:inherit}.seating-strength-step:disabled{opacity:.4;cursor:default}.seating-map-btn{margin-left:auto;border:0;background:transparent;padding:2px;color:inherit;cursor:pointer;display:inline-flex;align-items:center}.seating-duty-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.seating-duty-head .tool-btn{min-width:28px;height:28px;padding:0}.seating-exam-landing{padding:20px}.seating-exam-buttons{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.seating-exam-item{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.seating-exam-btn{min-width:7.5rem}.seating-exam-mark{font-size:.78rem;font-weight:700;color:var(--ok, #166534)}.seating-exam-dots{position:relative}.seating-exam-dots-btn{width:32px;height:32px;border:none;background:transparent;font-size:1.25rem;line-height:1;cursor:pointer;border-radius:8px}.seating-exam-dots-btn:hover{background:#eef6f1}.seating-exam-dots-menu{position:absolute;right:0;top:100%;z-index:12;min-width:168px;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:10px;box-shadow:0 8px 24px #0000001f;padding:4px;display:flex;flex-direction:column}.seating-exam-dots-menu button{text-align:left;border:none;background:none;padding:10px 12px;border-radius:8px;font:inherit;cursor:pointer}.seating-exam-dots-menu button:hover{background:#eef6f1}.seating-exam-dots-menu button:disabled{opacity:.45;cursor:default}.seating-exam-current{display:inline-flex;align-items:center;gap:6px;font-size:.85rem}.seating-tick{color:#15803d;font-weight:700;flex:0 0 auto}.seating-class-counts-name{display:inline-flex;align-items:center;gap:4px}.seating-cell.is-bad,.seating-bench-input.is-bad{background:#fecaca}.seating-cell.is-good{background:#bbf7d0}.seating-grid tr.is-bad-row td{outline:1px solid #ef4444}.seating-bench-input,.seating-date-input,.seating-subj-input,.seating-duty-select{width:100%;border:0;background:transparent;font:inherit;text-align:center;font-weight:700}.seating-duty-select{text-align:left;font-weight:600;font-size:.78rem;padding:4px 2px}.seating-rooms-table .seating-bench-input{width:72px;border:1px solid var(--line);background:#fff;text-align:left;padding:4px 6px}.seating-aside{display:grid;gap:10px;font-size:.82rem}.seating-aside h3{margin:0 0 4px;font-size:.85rem}.seating-aside ul{margin:0;padding-left:16px;display:grid;gap:4px}.seating-class-counts{list-style:none;padding-left:0!important;grid-template-columns:1fr 1fr}.seating-class-counts li{display:flex;justify-content:space-between;align-items:center;gap:8px}.seating-map-modal{width:min(560px,100%);max-height:90vh;overflow:auto}.seating-map-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.seating-map-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;min-width:0;flex:1}.seating-map-head h2{margin:0;font-size:1.15rem}.seating-map-board{background:#334155;color:#fff;text-align:center;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;padding:8px 12px;border-radius:4px}.seating-map-legend{list-style:none;display:flex;flex-wrap:wrap;gap:4px 10px;margin:0;padding:0;font-size:.75rem;font-weight:600}.seating-map-legend li{display:inline-flex;align-items:center;gap:4px}.seating-map-swatch{width:10px;height:10px;border-radius:3px;border:1px solid rgba(15,23,42,.35);box-shadow:inset 0 1px #ffffff8c}.seating-map-grid{display:grid;gap:10px;justify-content:center;padding:8px 0 4px}.seating-map-row{display:grid;grid-template-columns:repeat(3,auto);justify-content:center;gap:16px}.seating-map-bench.is-slot-empty{visibility:hidden;border:0;background:transparent;box-shadow:none}.seating-map-bench{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border:1px solid #cbd5e1;border-radius:6px;background:#f8fafc}.seating-map-seat{width:35px;height:35px;border-radius:7px;border:1px solid rgba(255,255,255,.55);display:grid;place-items:center;font-size:.72rem;font-weight:700;color:#0f172ab8;background:linear-gradient(180deg,#ffffff80,#ffffff14 42%,#0f172a1f),var(--seat, #94a3b8);box-shadow:inset 0 1px #ffffffbf,inset 0 -7px 12px #ffffff29,0 1px 2px #0f172a38;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.seating-map-seat.is-empty.is-x,.seating-map-seat.has-class{width:42px;height:48px;min-width:42px;min-height:48px;border:1.5px solid #548235;box-shadow:none}.seating-map-seat.is-empty.is-x{background:#fff;color:#c00000;font-size:.85rem}.seating-map-seat.has-class{color:#111;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;line-height:1.05}.seating-map-seat.has-class b{font-size:.78rem;font-weight:800}.seating-map-seat.has-class span{font-size:.62rem}.seating-map-modal.is-print .seating-map-bench{background:#fff;border-color:#548235;grid-template-columns:repeat(2,42px)}.seating-map-seat.is-here{outline:2px solid #0f766e;width:42px;height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.seating-map-here{font-size:.42rem;font-style:normal;font-weight:800;line-height:1;letter-spacing:0;text-transform:uppercase;color:#0f766e;text-align:center}.seating-test-open{padding:24px}.seating-test-engine,.seating-test-rooms{overflow:auto;max-height:min(70vh,640px)}.seating-test-engine table,.seating-test-rooms table{width:max-content;min-width:100%;border-collapse:collapse;font-size:.88rem}.seating-test-engine th,.seating-test-engine td,.seating-test-rooms th,.seating-test-rooms td{border-bottom:1px solid var(--line);padding:6px 8px;text-align:left;white-space:nowrap;vertical-align:middle}.seating-test-engine input[type=number],.seating-test-rooms input[type=number]{width:4.6rem;min-width:4.6rem}.seating-test-engine select,.seating-test-rooms select{width:5.5rem;min-width:5.5rem}.seating-test-gap{width:8.6rem;min-width:8.6rem}.seating-test-allowed{display:flex;flex-wrap:nowrap;gap:8px 12px}.seating-test-allowed label{display:inline-flex;align-items:center;gap:4px;font-weight:600}.seating-test-size-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.seating-test-size-list li,.seating-test-size-add,.seating-test-room-add{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.seating-test-room-add{margin-top:10px}.seating-test-rooms input[type=text]{width:6.5rem;min-width:5.5rem;max-width:12rem}.seating-view-btn{font-size:.78rem;padding:4px 8px;white-space:nowrap}.seating-duty-except{width:min(420px,100%)}.seating-duty-except ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px;max-height:50vh;overflow:auto}.seating-duty-except li label{display:flex;align-items:center;gap:8px;font-weight:600;cursor:pointer}@media(max-width:800px){.page:has(.seating-page){padding:8px 4px 20px}.seating-page{gap:6px}.seating-sheet-wrap{grid-template-columns:minmax(0,1fr);min-width:0}.seating-aside{display:none}.seating-count-tab{display:inline-flex;align-items:center}.seating-count-pop{display:block}.seating-page-hint{display:none}.seating-sheet{padding:4px;width:100%;max-width:100%;min-width:0;overflow-x:hidden}.seating-school{font-size:.72rem;margin-bottom:4px}.seating-search{font-size:.7rem;margin-bottom:4px}.seating-datesheet,.seating-grid{font-size:10px;table-layout:fixed;width:100%}.seating-datesheet th,.seating-datesheet td{padding:1px 2px;overflow:hidden}.seating-grid{margin-top:6px}.seating-grid th,.seating-grid td{padding:0}.seating-class{width:54px}.seating-benches{width:26px}.seating-duty{width:58px}.seating-strength-input{width:1.7em}.seating-class-label{font-size:10px;line-height:1.1;flex-wrap:wrap;min-height:0;padding:1px 2px;gap:0}.seating-cell,.seating-hl-layer{min-height:0;font-size:10px;line-height:1.12;padding:1px 2px;field-sizing:content}.seating-cell{resize:none;overflow:hidden}.seating-duty-select{font-size:9px;padding:0 1px;text-overflow:ellipsis}.seating-page-head{margin-bottom:6px;flex-direction:row;align-items:center}.seating-view-btn{width:100%;font-size:9px;padding:2px 3px}}.ds-page{display:grid;gap:14px;padding-bottom:28px}.ds-create{padding:14px}@property --ds-days{syntax: "<integer>"; inherits: true; initial-value: 1;}.ds-board{display:grid;gap:6px;--ds-days: 1}.ds-freeze{position:sticky;top:44px;z-index:12;display:grid;gap:6px;background:var(--paper);padding:4px 0 8px;box-shadow:0 8px 12px -8px #1c2b2438}.ds-row{display:grid;grid-template-columns:68px repeat(var(--ds-days),minmax(0,1fr));gap:4px;align-items:stretch}.ds-row:has(.ds-row-side){grid-template-columns:68px repeat(var(--ds-days),minmax(0,1fr)) 150px}.ds-row-meta{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0;padding:4px 0}.ds-row-meta strong{font-size:.82rem;line-height:1.2;word-break:break-word}.ds-row-side{display:flex;flex-direction:column;justify-content:center;min-width:0}.ds-incharge{display:grid;gap:3px;min-width:0}.ds-incharge span{font-size:.68rem;color:var(--muted);line-height:1.2}.ds-incharge select{width:100%;min-width:0;font-size:.75rem;padding:4px 6px}.ds-row.ds-head .ds-tile{align-items:center;text-align:center;justify-content:center;padding:6px 2px;min-height:42px;background:var(--card)}.ds-row.ds-head .ds-tile.is-holiday,.ds-row.ds-head .ds-tile.is-sunday{background:#efe8e0}.ds-row.ds-head .ds-row-meta strong{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.ds-row.ds-holidays{background:#e4eee8;border-radius:10px;box-shadow:inset 0 0 0 1px #b7c9be}.ds-row.ds-holidays .ds-row-meta{padding-left:6px}.ds-row.ds-holidays .ds-row-meta strong{color:var(--forest);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.ds-row.ds-holidays .ds-tile{background:#f7faf7;border-color:#c5d4c8;align-items:center;justify-content:center;text-align:center;min-height:32px;padding:4px 2px}.ds-row.ds-holidays .ds-tile.is-holiday,.ds-row.ds-holidays .ds-tile.is-sunday{background:#dce8e0}.ds-tiles{display:contents}.ds-tile{min-width:0;min-height:0;border:1px solid var(--line);border-radius:8px;background:var(--card);padding:5px 4px 6px;display:flex;flex-direction:column;gap:2px}.ds-tile.is-drag{cursor:grab}.ds-tile.is-holiday{background:#f3eee6}.ds-tile.is-sunday{background:#efe8e0}.ds-tile-day{font-size:.62rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.ds-tile-num{font-size:.92rem;line-height:1.1}.ds-tile-hol{font-size:.68rem;color:var(--muted)}.ds-tile-exams{display:grid;gap:2px}.ds-tile-exams select{width:100%;max-width:100%;font-size:.68rem;padding:1px 2px;min-width:0}.ds-add{border:0;background:none;color:var(--forest);font-size:.68rem;padding:0;text-align:left;cursor:pointer}.ds-tile-names{display:grid;gap:1px;font-size:.68rem;overflow:hidden}.ds-tile-names span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-page{display:grid;gap:12px;padding-bottom:28px}.library-tabs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.library-tabs button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;font-weight:600;cursor:pointer}.library-tabs button.on{background:var(--leaf);color:#fff;border-color:var(--leaf)}.library-panel h2{margin:0 0 8px;font-size:1.05rem}.library-isbn-row{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}.library-isbn-input{flex:1 1 10rem;min-width:0}.library-book-card{display:flex;gap:10px;align-items:flex-start;margin-top:10px}.library-cover{width:56px;height:80px;object-fit:cover;border-radius:6px;background:#eef4f0;flex:none}.library-cover.placeholder{display:block;background:#e8eee9}.library-book-copy{display:grid;gap:2px;min-width:0;flex:1}.library-book-copy strong{font-size:1rem}.library-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.library-manual{display:grid;gap:6px;margin-top:8px}.library-picked{display:flex;align-items:center;gap:10px}.library-picked .student-photo{width:48px;height:48px}.library-picked-copy{display:grid;gap:2px;min-width:0;flex:1}.library-loan-list,.library-title-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.library-title-row{display:flex;align-items:stretch;gap:8px}.library-title-row .library-book-card{flex:1;margin-top:0}.library-title-row.is-off .library-book-copy{opacity:.62}.library-copy-plus{width:42px;flex:none;border:1px solid var(--line);background:#fff;border-radius:10px;font-size:1.4rem;font-weight:650;cursor:pointer;color:var(--leaf)}.library-copy-plus:disabled{opacity:.5;cursor:default}.library-issue-search{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.library-issue-search .field{min-width:10rem;flex:1 1 10rem}.library-issue-search .gate-search-menu{flex:1 1 100%}.library-settings{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.library-settings .field{min-width:10rem;flex:1 1 10rem}.library-head-actions{display:flex;align-items:center;gap:8px}.library-head-actions .icon-btn{width:auto;min-width:32px;padding:0 10px;font-weight:650;font-size:.82rem}.library-head-actions .icon-btn.on{background:#f4efe4}.ct-group-title{margin:12px 0 6px;font-size:.95rem}.library-overdue{font-size:.82rem;font-weight:700;color:var(--bad, #b91c1c);background:#fee2e2;border-radius:999px;padding:4px 10px}.library-overdue-text{color:var(--bad, #b91c1c);font-weight:650}.library-foot{margin:4px 0 0}.library-scan-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0c1210b8;display:grid;place-items:center;padding:16px}.library-scan-card{position:relative;width:min(420px,100%);display:grid;gap:10px;justify-items:center}.library-scan-view{position:relative;width:100%}.library-scan-video{display:block;width:100%;max-height:56vh;background:#111;border-radius:14px;object-fit:contain}.library-scan-frame{position:absolute;top:42%;left:25%;width:50%;height:16%;border:2px solid #fff;border-radius:8px;pointer-events:none;box-shadow:0 0 0 999px #0000002e}.library-scan-hint{margin:0;color:#fff;font-weight:650;text-align:center}.page-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.page-actions>.icon-btn{margin-right:0}.save-status{display:inline-flex;align-items:center;gap:5px;min-height:var(--btn-h);padding:0 6px;font-size:.84rem;font-weight:600;color:var(--muted)}.save-status.is-saved{color:var(--ok)}.save-status.is-error{color:var(--bad)}.save-status.is-saving .ui-icon{animation:save-spin 1s linear infinite}@keyframes save-spin{to{transform:rotate(360deg)}}@media(max-width:640px){.page-actions{justify-content:flex-start}}.ui-icon.lead{vertical-align:-3px;margin-right:5px}.btn .ui-icon.lead{margin-right:0}.activity-page{display:grid;gap:14px}.activity-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.activity-tab{flex:none;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:inherit;font-size:.86rem;font-weight:650;cursor:pointer}.activity-tab .ui-icon{color:var(--forest)}.activity-tab:not(.on):hover{background:var(--btn-hover)}.activity-tab.on{background:var(--forest);border-color:var(--forest);color:#fff}.activity-tab.on .ui-icon{color:#fff}.activity-tab-count{min-width:22px;padding:1px 7px;border-radius:999px;background:#eef2ee;color:var(--ink-soft);font-size:.74rem;text-align:center}.activity-tab.on .activity-tab-count{background:#ffffff38;color:#fff}.activity-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 16px}.activity-ranges{display:flex;flex-wrap:wrap;gap:6px;align-self:center}.activity-custom{display:flex;gap:10px}.activity-person{min-width:220px}.activity-search{flex:1;min-width:200px}.activity-person-bar{margin:0;display:flex;gap:10px;align-items:center}.activity-list{display:grid;gap:4px}.activity-day+.activity-day{margin-top:10px}.activity-day-title{position:sticky;top:0;margin:0 0 4px;padding:6px 0;background:var(--card);font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);z-index:1}.activity-row{display:grid;grid-template-columns:58px 34px minmax(0,1fr);align-items:center;gap:10px;padding:8px 6px;border-top:1px solid #f0ece3}.activity-time{font-size:.8rem;font-weight:650;color:var(--muted)}.activity-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e8f4ee;color:var(--forest);font-size:.78rem;font-weight:800}.activity-avatar.role-admin{background:#ede9fe;color:#5b21b6}.activity-avatar.role-student{background:#dbeafe;color:#1d4ed8}.activity-avatar.role-staff,.activity-avatar.role-reception{background:#fef3c7;color:#b45309}.activity-main{display:grid;gap:3px;min-width:0}.activity-who{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.activity-name{border:0;padding:0;background:none;font:inherit;font-weight:750;color:var(--forest);cursor:pointer}.activity-name:hover{text-decoration:underline}.activity-name.is-static{cursor:default;color:var(--ink)}.activity-name.is-static:hover{text-decoration:none}.activity-role{font-size:.74rem;color:var(--muted)}.activity-what{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.activity-cat{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:#f1f5f2;color:var(--ink-soft);font-size:.74rem;font-weight:700}.activity-action{font-size:.9rem;font-weight:600;color:var(--ink)}.activity-target{font-size:.84rem;color:var(--muted)}.activity-fold-head{width:100%;grid-template-columns:58px auto minmax(0,1fr) 28px;border-left:0;border-right:0;border-bottom:0;background:none;font:inherit;text-align:left;cursor:pointer}.activity-fold-head:hover{background:#f7faf8}.activity-fold-head .activity-time{display:grid;line-height:1.2}.activity-fold-head .activity-time small{font-size:.72rem;font-weight:600;opacity:.75}.activity-avatars{display:flex}.activity-avatars>*+*{margin-left:-12px}.activity-avatars>*{box-shadow:0 0 0 2px var(--card);border-radius:50%}.activity-fold-caret{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eef4f0;color:var(--forest);transition:transform .15s ease}.activity-fold.open .activity-fold-caret{transform:rotate(180deg)}.activity-fold-body{margin:0 0 6px 30px;padding-left:10px;border-left:3px solid #dfece4}@media(max-width:640px){.activity-row{grid-template-columns:34px minmax(0,1fr)}.activity-time{grid-column:2;order:3}.activity-fold-head{grid-template-columns:auto minmax(0,1fr) 28px}.activity-fold-head .activity-time{grid-column:2;display:flex;gap:4px}.activity-fold-head .activity-time small:before{content:"– "}.activity-fold-head .activity-fold-caret{grid-column:3;grid-row:1}.activity-fold-body{margin-left:10px}}.activity-fold-head .activity-time small:before{content:"– "}.tacc-page{display:grid;gap:14px}.tacc-summary{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.tacc-stat{padding:6px 12px;border-radius:999px;background:#e8f4ee;color:var(--forest);font-size:.86rem}.tacc-stat.is-hidden{background:#efefeb;color:var(--muted)}.tacc-legend{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}.tacc-filters{display:flex;flex-wrap:wrap;gap:6px}.tacc-grid{display:grid;gap:12px}@media(min-width:900px){.tacc-grid{grid-template-columns:1fr 1fr;align-items:start}}.tacc-card-title{display:flex;align-items:center;gap:10px;margin:0 0 8px;font-size:1.05rem}.tacc-card-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e8f4ee;color:var(--forest)}.tacc-rows{list-style:none;margin:0;padding:0;display:grid}.tacc-row{padding:9px 0;border-top:1px solid #f0ece3}.tacc-row:first-child{border-top:0}.tacc-row-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.tacc-row.is-hidden strong{color:var(--muted);font-weight:600}.tacc-rule{margin:3px 0 0;font-size:.86rem;color:var(--ink-soft)}.tacc-extra{margin:4px 0 0;font-size:.8rem;color:#b45309}.tacc-chip{flex:none;padding:2px 9px;border-radius:999px;font-size:.74rem;font-weight:700;white-space:nowrap}.tacc-chip.tone-green{background:var(--ok-bg);color:var(--ok)}.tacc-chip.tone-blue{background:#dbeafe;color:#1d4ed8}.tacc-chip.tone-amber{background:#fef3c7;color:#b45309}.tacc-chip.tone-grey{background:#efefeb;color:var(--muted)}.my-students-page{display:grid;gap:14px}.my-students-list{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 16px}.my-students-list li{display:flex;gap:10px;padding:6px 0;border-bottom:1px solid #f0ece3}.my-students-roll{min-width:32px;color:var(--muted);font-variant-numeric:tabular-nums}.ctest-history{border:1px solid var(--line);border-radius:12px;padding:8px 12px;background:#fbfaf6}.ctest-history summary{cursor:pointer;font-weight:650;color:#b45309}.ctest-history>ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}.ctest-history-changes{margin:4px 0 0;padding-left:18px;font-size:.84rem;color:var(--ink-soft)}.my-library-page{display:grid;gap:14px}.my-library-list{list-style:none;margin:8px 0 0;padding:0;display:grid}.my-library-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid #f0ece3}.my-library-list li:first-child{border-top:0}.my-library-list li.is-overdue strong{color:var(--bad)}.house-head-col{min-width:0;grid-template-columns:minmax(0,1fr)}.house-head-col>*{min-width:0}.house-head-title{align-items:center}.house-head-title h2{min-width:0;overflow-wrap:anywhere}.house-head-menu{flex:none}.house-head-menu .icon-btn{background:#ffffffb3}.house-slot{min-width:0}.house-slot-name b{overflow-wrap:anywhere}.house-slot-x{flex:none}.house-slot-feed .house-note{flex:1 1 120px;min-width:0;width:auto}.access-flag[title],.access-child-label[title],.access-module-title[title]{cursor:help}.access-flag[title]{text-decoration:underline dotted rgba(27,77,62,.35);text-underline-offset:3px}.inv-page.is-readonly .setup-mini-form,.inv-page.is-readonly .icon-btn{display:none}.acc-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px 16px;margin-bottom:8px}.acc-head h2{margin:0}.acc-head p{margin:2px 0 0;max-width:640px}.acc-count{padding:4px 10px;border-radius:999px;background:#e8f4ee;color:var(--forest);font-size:.8rem;font-weight:700}.acc-unsaved{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:650;color:var(--warn)}.acc-unsaved-dot{width:8px;height:8px;border-radius:50%;background:var(--warn)}.acc-hubs{display:grid;gap:18px;margin-top:10px}.acc-hub-title{display:flex;align-items:center;gap:10px;margin:0 0 8px;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.acc-hub-count{font-size:.74rem;font-weight:650;letter-spacing:0;text-transform:none}.acc-grid{display:grid;gap:10px}@media(min-width:900px){.acc-grid{grid-template-columns:1fr 1fr;align-items:start}}.acc-card{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.acc-card.is-off{background:#fafaf8}.acc-card.is-nested{border-radius:12px;margin-top:6px}.acc-card-head{display:flex;align-items:center;gap:12px;padding:11px 14px}.acc-card-icon{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e8f4ee;color:var(--forest)}.acc-card.is-off .acc-card-icon{background:#efefeb;color:var(--muted)}.acc-card-title{flex:1;min-width:0;display:grid;gap:1px;cursor:help}.acc-card-title strong{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.96rem;color:var(--forest)}.acc-card.is-off .acc-card-title strong{color:var(--muted)}.acc-card-title small{font-size:.76rem;line-height:1.3}.acc-card-body{display:grid;gap:2px;padding:4px 14px 12px 60px;border-top:1px solid #f0ece3}.acc-card.is-nested .acc-card-body{padding-left:56px}.acc-opt{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0}.acc-opt+.acc-opt{border-top:1px dashed #efeae0}.acc-opt-label{display:grid;gap:1px;min-width:0;font-size:.88rem;font-weight:600;cursor:help}.acc-opt-label small{font-size:.74rem;font-weight:400;line-height:1.3}.acc-opt select{max-width:240px}.acc-opt.is-soon .acc-opt-label{color:var(--muted)}.acc-opt-people{display:grid;justify-content:stretch;gap:6px}.acc-people{display:grid;gap:6px}.acc-people-list{max-height:220px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:2px 12px;padding:6px;border:1px solid var(--line);border-radius:10px;background:#fbfaf6}.acc-person{display:flex;align-items:center;gap:6px;font-size:.86rem;padding:3px 0}.acc-soon{padding:1px 8px;border-radius:999px;background:#efefeb;color:var(--muted);font-size:.7rem;font-weight:700;letter-spacing:.02em}.acc-switch{position:relative;display:inline-flex;flex:none;cursor:pointer}.acc-switch input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;cursor:inherit}.acc-switch-track{width:38px;height:22px;border-radius:999px;background:#d6d3cb;position:relative;transition:background-color .15s ease}.acc-switch-knob{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .15s ease}.acc-switch.on .acc-switch-track{background:var(--leaf)}.acc-switch.on .acc-switch-knob{transform:translate(16px)}.acc-switch input:focus-visible+.acc-switch-track{outline:2px solid var(--leaf-2);outline-offset:2px}.acc-switch.is-disabled{cursor:not-allowed;opacity:.5}@media(max-width:640px){.acc-card-body,.acc-card.is-nested .acc-card-body{padding-left:14px}.acc-opt{flex-wrap:wrap}}.accv{display:grid;gap:14px;margin-top:6px}.accv-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:thin}.accv-tab{flex:none;display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 8px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:inherit;font-weight:700;cursor:pointer}.accv-tab:not(.on):hover{background:var(--btn-hover)}.accv-tab.on{background:var(--forest);border-color:var(--forest);color:#fff}.accv-tab-extra:not(.on){border-style:dashed;border-color:#c9a227}.accv-tab-extra.is-revoked:not(.on){border-color:#e7a3a3}.accv-tab-extra.is-revoked.on{background:#b42318;border-color:#b42318}.accv-extra-list.is-revoked li{border-left-color:#dc2626;background:#fff7f6}.acc-name-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.acc-name-row h2{margin:0}.acc-person-groups{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.acc-person-group{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 10px;border-radius:999px;background:#e3f1e9;color:var(--forest);font-size:.82rem;font-weight:750}.acc-person-group button{width:20px;height:20px;border:0;border-radius:50%;background:transparent;color:inherit;font:inherit;font-size:1rem;line-height:1;cursor:pointer}.acc-person-group button:hover{background:#00000014}.acc-add-group{width:auto;min-height:0;padding:3px 26px 3px 10px;border:1px dashed var(--forest);border-radius:999px;background-color:#fff;color:var(--forest);font-size:.82rem;font-weight:750}.accv-extra{display:grid;gap:10px;padding-top:6px}.accv-extra-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.accv-extra-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-left:4px solid #c9a227;border-radius:10px;background:#fffdf6}.accv-extra-list li>div{display:grid;gap:2px;min-width:0}.accv-extra-detail{font-size:.84rem;color:var(--ink)}.accv-extra-empty{margin:0;padding:14px;border:1px dashed var(--line);border-radius:10px;color:var(--muted)}.staff-attach{min-width:280px}.staff-attach-note{margin:0}.accv-tab-count{padding:1px 7px;border-radius:999px;background:#eef2ee;color:var(--ink-soft);font-size:.74rem}.accv-tab.on .accv-tab-count{background:#ffffff38;color:#fff}.accv-card{break-inside:avoid;display:inline-block;width:100%;margin:0 0 12px;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.accv-card.is-off{background:#fafaf8}.accv-head{display:flex;align-items:center;gap:12px;padding:10px 14px}.accv-icon{flex:none;display:grid;place-items:center}.accv-title{flex:1;min-width:0;display:grid;gap:1px;cursor:help}.accv-title strong{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:.96rem;color:var(--forest)}.is-off>.accv-head .accv-title strong{color:var(--muted)}.is-off>.accv-head .accv-icon{filter:grayscale(.8);opacity:.6}.accv-title small{font-size:.76rem;line-height:1.3}.accv-body{display:grid;padding:2px 14px 10px 56px;border-top:1px solid #f0ece3}.accv-sub{border-top:1px solid #f0ece3}.accv-sub .accv-head{padding:8px 0}.accv-sub .accv-body{padding:0 0 8px 36px;border-top:0}.accv-opt{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0}.accv-opt+.accv-opt{border-top:1px dashed #efeae0}.accv-opt-label{display:grid;gap:1px;min-width:0;font-size:.88rem;font-weight:600;cursor:help}.accv-opt-label small{font-size:.74rem;font-weight:400;line-height:1.3}.accv-opt.is-soon .accv-opt-label{color:var(--muted)}.accv-opt select{max-width:240px}.accv-pair{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;flex:0 1 auto}.accv-pair select{max-width:200px}.accv-pair-label{font-weight:600;color:var(--muted)}@media(max-width:640px){.accv-opt.has-pair{flex-direction:column;align-items:stretch}.accv-pair{justify-content:stretch}.accv-pair select{flex:1 1 0;max-width:none}}.accv-opt-people{display:grid;gap:6px}.accv-value{font-size:.86rem;font-weight:700;color:var(--forest);text-align:right}.accv-chip{flex:none;padding:2px 10px;border-radius:999px;font-size:.74rem;font-weight:700}.accv-chip.is-on{background:var(--ok-bg);color:var(--ok)}.accv-chip.is-off{background:#efefeb;color:var(--muted)}.accv-soon{padding:1px 8px;border-radius:999px;background:#efefeb;color:var(--muted);font-size:.7rem;font-weight:700}@media(max-width:640px){.accv-body{padding-left:14px}.accv-sub .accv-body{padding-left:10px}.accv-opt{flex-wrap:wrap}}.accv-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 24px;align-items:start}.accv-col{display:flex;flex-direction:column;min-width:0}.accv-col+.accv-col{border-left:1px solid var(--line);padding-left:24px;margin-left:-1px}.accv-tabs{align-items:center}.accv-tabs-end{margin-left:auto;flex:none;display:inline-flex;gap:8px}.accv-tabs-end .icon-btn{margin-right:0}@media(max-width:900px){.accv-cols{display:flex;flex-direction:column}.accv-col{display:contents}}.accv-note{display:inline-flex;align-items:center;gap:5px;margin-top:3px;width:fit-content;padding:2px 8px;border-radius:8px;background:#eef5f0;color:var(--forest);font-size:.74rem;font-weight:600;line-height:1.3}.accv-note svg{flex:none}.accv-card .accv-sub{border-top:2px solid #ddd6c8}.accv-card .accv-sub+.accv-sub{margin-top:2px}.tacc-edit-head{margin-bottom:12px}.appbar-account-btn{flex-direction:column;gap:1px;padding:4px 14px}.appbar-name-sub{font-size:.7rem;font-weight:600;opacity:.78;color:#e7f3ec;line-height:1}.appbar-menu-note{display:block;padding:10px 12px;font-weight:650;color:var(--muted);border-bottom:1px solid var(--line)}.appbar-account-menu button:first-child:not(:last-child){border-bottom:1px solid #efeae0}.ctest-fieldset{border:0;margin:0;padding:0;min-width:0;display:grid;gap:12px}.records-layout{grid-template-columns:minmax(0,1fr)}.records-layout>*{min-width:0}.class-picker.is-compact{margin:0}.class-picker.is-compact.is-inline{flex-wrap:nowrap;align-items:center;gap:6px}.class-picker.is-compact .class-picker-select{flex:0 0 auto}.class-picker.is-compact .class-picker-select select{width:auto;min-width:96px;max-width:180px;padding:6px 10px;font-weight:700}.class-picker.is-compact.is-inline .class-picker-bar{margin-left:0;padding-top:0}.class-picker.is-compact:not(.is-inline){flex:1 1 100%}.dash-chrome-main .class-picker.is-compact:not(.is-inline){order:10}.records-head-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 14px;width:100%}.records-head-row .class-picker.is-compact.is-inline{align-self:flex-end}.notebook-page>.class-picker.is-compact{margin-bottom:10px}.dash-rules.in-chrome{margin:0;padding:0;border:0;background:none;align-items:center;gap:6px 10px}.dash-rules.in-chrome .mini-label{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600}.dash-rules.in-chrome input[type=number]{width:64px;padding:4px 8px;border-radius:8px}.dash-rules.in-chrome select{padding:4px 8px;border-radius:8px;font-size:.82rem}.dms-page{grid-template-columns:290px minmax(0,1fr)}.dms-threads{background:#fff}.dms-threads-head{flex-direction:column;align-items:stretch;gap:8px;background:#fff}.dms-threads-title{display:flex;align-items:center;gap:8px;font-size:1.02rem;color:var(--forest)}.dms-threads-title .dms-unread{margin-left:0}.dms-search{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#f7f4ec;color:var(--muted)}.dms-search input{flex:1;min-width:0;border:0;padding:0;background:transparent;font:inherit;font-size:.86rem;outline:none}.dms-thread{flex-direction:row;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #f1ede4;border-left:3px solid transparent}.dms-thread:hover{background:#f8f5ee}.dms-thread.on{background:#eef6f1;border-left-color:var(--forest)}.dms-thread-text{display:grid;gap:2px;flex:1;min-width:0}.dms-thread-name{gap:6px;min-width:0}.dms-thread-name strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.dms-thread.is-unread .dms-thread-name strong{font-weight:800}.dms-role{flex:none;padding:0 6px;border-radius:6px;font-size:.66rem;font-weight:700;background:#e8f4ee;color:var(--forest)}.dms-role.role-admin{background:#ede9fe;color:#5b21b6}.dms-role.role-staff,.dms-role.role-reception{background:#fef3c7;color:#b45309}.dms-when{flex:none;margin-left:auto;font-size:.7rem;color:var(--muted)}.dms-thread.is-unread .dms-when{color:var(--forest);font-weight:700}.dms-thread-sub{display:flex;align-items:center;gap:6px;min-width:0}.dms-thread-sub .dms-preview{flex:1;min-width:0;font-size:.8rem;color:var(--muted)}.dms-thread.is-unread .dms-preview{color:var(--ink);font-weight:600}.dms-thread .activity-avatar{flex:none}@media(max-width:640px){.dms-page{grid-template-columns:1fr}}.seating-add-exam{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.seating-add-exam select{padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;min-width:180px}.ds-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;padding:12px 14px}.ds-bar .field{margin:0}.ds-open select{min-width:220px}.ds-new{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-left:auto;padding-left:14px;border-left:1px solid var(--line)}.ds-new .field input,.ds-new .field select{min-width:150px}.ds-board{gap:0}.ds-freeze{padding:6px 0 10px;margin-bottom:8px;border-bottom:2px solid var(--forest);box-shadow:0 8px 12px -10px #1c2b2459}.ds-row.ds-head .ds-tile{min-height:54px;gap:1px}.ds-row.ds-head .ds-tile.is-click{cursor:pointer}.ds-row.ds-head .ds-tile.is-click:hover{border-color:var(--forest)}.ds-tile-tag{font-size:.6rem;font-weight:700;color:#9a6b3c;text-transform:uppercase;letter-spacing:.03em}.ds-class-rows{display:grid}.ds-class-row{padding:6px 0;border-bottom:1px solid var(--line)}.ds-class-row:last-child{border-bottom:0}.ds-class-tile{min-height:46px;justify-content:center}.ds-class-tile.is-fill{cursor:pointer}.ds-class-tile.is-fill:hover{border-color:#9fc2ad}.ds-class-tile.is-selected{cursor:default;border-color:var(--forest);box-shadow:0 0 0 2px #1f5a3c2e;background:#fff;justify-content:flex-start}.ds-class-tile.is-class-holiday{background:#f3eee6}.ds-class-tile .ds-tile-names{font-size:.72rem;font-weight:600;color:var(--forest)}.ds-tile-empty{color:#c9c2b5;font-size:.8rem;text-align:center}.ds-exam-line{display:flex;align-items:center;gap:2px;min-width:0}.ds-exam-line select{flex:1;min-width:0}.ds-x{flex:none;border:0;background:none;color:var(--muted);font-size:.9rem;line-height:1;padding:0 2px;cursor:pointer}.ds-x:hover{color:#b42318}.ds-plus-wrap{position:relative}.ds-class-tile .ds-add{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;border:1px dashed #9fc2ad}.ds-plus-menu{position:absolute;z-index:20;top:26px;left:0;min-width:170px;padding:4px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 10px 24px #1c2b242e;display:grid}.ds-plus-menu button{display:flex;align-items:center;gap:6px;padding:7px 8px;border:0;border-radius:7px;background:none;font:inherit;font-size:.8rem;text-align:left;cursor:pointer}.ds-plus-menu button:hover{background:#eef6f1}@media(max-width:900px){.ds-new{margin-left:0;padding-left:0;border-left:0}}.ds-pick{width:min(420px,94vw);display:grid;gap:10px}.ds-pick h2{margin:0;font-size:1.05rem}.ds-pick-search{width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:10px}.ds-pick-list{display:grid;gap:2px;max-height:50vh;overflow:auto}.ds-pick-row{padding:9px 12px;border:0;border-radius:8px;background:none;text-align:left;font:inherit;cursor:pointer}.ds-pick-row:hover{background:#eef6f1}.ds-pick-row.on{background:#e1efe6;font-weight:700;color:var(--forest)}@media(max-width:900px){.ds-scroll{overflow:auto;max-height:calc(100dvh - 150px);border:1px solid var(--line);border-radius:12px;background:var(--paper);-webkit-overflow-scrolling:touch}.ds-scroll .ds-board{width:max-content;min-width:100%}.ds-scroll .ds-row,.ds-scroll .ds-row:has(.ds-row-side){grid-template-columns:64px repeat(var(--ds-days),76px) 160px}.ds-scroll .ds-freeze{top:0;z-index:14;margin-bottom:4px}.ds-scroll .ds-row-meta{position:sticky;left:0;z-index:6;background:var(--paper);padding-left:8px;box-shadow:6px 0 8px -8px #1c2b2459}.ds-scroll .ds-head .ds-row-meta{z-index:15}.ds-scroll .ds-row-side{padding:0 6px}.ds-scroll .ds-tile-names span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ds-bar{display:grid;grid-template-columns:1fr}.ds-bar .field,.ds-new .field{width:100%}.ds-open select,.ds-new .field input,.ds-new .field select{width:100%;min-width:0}.ds-new{display:grid;grid-template-columns:1fr 1fr}.ds-new .field:first-child{grid-column:1 / -1}}.exam-cycle-btn.kind-none{background:#fff;color:var(--muted);border-style:dashed}.exam-find{position:relative;min-width:200px}.exam-find input{width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.exam-find-list{position:absolute;z-index:40;top:calc(100% + 4px);left:0;right:0;min-width:260px;margin:0;padding:4px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 24px #1c2b242e;max-height:320px;overflow:auto}.exam-find-list button{display:grid;gap:1px;width:100%;padding:7px 10px;border:0;border-radius:8px;background:none;text-align:left;font:inherit;cursor:pointer}.exam-find-list button:hover{background:#eef6f1}.exam-row-hit td{background:#fff4c7!important;transition:background .6s}.profile-marks{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.profile-marks-cycle{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff}.profile-marks-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px;color:var(--forest)}.profile-marks-table{width:100%;border-collapse:collapse;font-size:.86rem}.profile-marks-table th{text-align:left;font-size:.72rem;color:var(--muted);font-weight:700;padding:4px 0;border-bottom:1px solid var(--line)}.profile-marks-table td{padding:5px 0;border-bottom:1px solid #f1ede4}.profile-marks-table td:nth-child(2),.profile-marks-table th:nth-child(2),.profile-marks-table td:nth-child(3),.profile-marks-table th:nth-child(3){text-align:right;width:64px}.profile-marks-total td{font-weight:800;color:var(--forest);border-bottom:0}.exam-avg-col{background:#f3f8f4;font-weight:700;color:var(--forest);text-align:center;white-space:nowrap}.exam-avg-toggle{border:1px solid var(--line);border-radius:999px;background:#fff;padding:3px 10px;font:inherit;font-size:.8rem;font-weight:800;color:var(--forest);cursor:pointer}.exam-avg-toggle:hover{background:#eef6f1}.exam-avg-row th{background:#eef6f1;color:var(--forest);font-size:.82rem;font-weight:800;text-align:center;border-bottom:2px solid #cfe2d6}.exam-avg-row th.sheet-name-col{text-align:left}.exam-class-avg{display:inline-flex;align-items:baseline;gap:6px;padding:8px 14px;border:1px solid #cfe2d6;border-radius:999px;background:#eef6f1;color:var(--forest);font:inherit;font-size:.86rem;cursor:pointer;white-space:nowrap}.exam-class-avg b{font-size:1rem}.exam-class-avg.is-pct{background:var(--forest);color:#fff;border-color:var(--forest)}.exam-incharge{white-space:nowrap}.exam-incharge b{color:var(--ink)}.exam-hidden-strip{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 8px}.exam-hidden-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 4px 3px 10px;border-radius:999px;background:#f3eee6;font-size:.8rem;font-weight:600}.exam-hidden-chip button{border:0;border-radius:999px;padding:2px 8px;background:#fff;color:var(--forest);font:inherit;font-size:.74rem;font-weight:700;cursor:pointer}.exam-teacher-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.exam-teacher-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px 14px}.exam-teacher-card header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}.exam-teacher-pct{font-size:1.25rem;font-weight:800;color:var(--forest)}.exam-teacher-card header strong{flex:1;min-width:0}.exam-teacher-sort{display:flex;gap:4px;margin-left:auto}.exam-teacher-rank{flex:0 0 auto;align-self:center;padding:2px 8px;border-radius:999px;background:#eef2f0;font-size:.75rem;font-weight:800;color:var(--ink-soft, #5b6470)}.exam-teacher-rank.top-1{background:#fde68a;color:#7a5300}.exam-teacher-rank.top-2{background:#e5e7eb;color:#374151}.exam-teacher-rank.top-3{background:#fed7aa;color:#7c2d12}.exam-teacher-card ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.exam-teacher-card li{display:grid;grid-template-columns:minmax(0,1fr) 70px 52px;align-items:center;gap:8px;font-size:.84rem}.exam-teacher-class{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exam-teacher-bar{height:6px;border-radius:999px;background:#eee8dc;overflow:hidden}.exam-teacher-bar span{display:block;height:100%;background:#3d9a6b;border-radius:999px}.exam-teacher-val{text-align:right;color:var(--forest)}.exam-class-card{display:block;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer}.exam-class-card:hover{border-color:#9cc9b0;box-shadow:0 4px 14px #1b4d3e14}.exam-class-more{display:inline-flex;align-items:center;gap:4px;margin-top:8px}.exam-class-trend{padding:12px 14px}.exam-class-detail{max-width:720px}.marks-trend{border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px 12px;margin-bottom:12px}.marks-trend-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px;color:var(--forest)}.marks-trend-toggle{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}.marks-trend-toggle button{border:0;background:#fff;padding:5px 12px;font:inherit;font-size:.8rem;font-weight:700;color:var(--forest);cursor:pointer}.marks-trend-toggle button.on{background:var(--forest);color:#fff}.marks-trend-svg{width:100%;max-width:760px;height:auto;display:block;margin:0 auto}.marks-trend-legend{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.marks-trend-legend button{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;font:inherit;font-size:.78rem;cursor:pointer}.marks-trend-legend button.on{border-color:var(--forest);background:#eef6f1}.marks-trend-legend span{width:10px;height:10px;border-radius:50%;display:inline-block}.exam-marks-sheet .sheet thead tr.exam-avg-row th{top:var(--exam-head-h, 64px);z-index:2;background:#eef6f1}.exam-marks-sheet .sheet thead tr.exam-avg-row th.sheet-corner,.exam-marks-sheet .sheet thead tr.exam-avg-row th.sheet-name-col{z-index:5}.exam-marks-name{display:flex;align-items:center;gap:2px;width:100%}.exam-marks-name strong{min-width:0}.exam-sort-btn{display:inline-flex;align-items:center;gap:2px;border:0;padding:2px 4px;border-radius:6px;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.exam-marks-name .exam-sort-btn{flex:1;min-width:0}.exam-sort-btn:hover{background:#eef6f1}.exam-sort-mark{font-size:.72rem;color:var(--muted);white-space:pre}.exam-sort-btn.on .exam-sort-mark{color:var(--forest);font-weight:800}.exam-sort-btn.on{background:#e3f1e9}.exam-sort-total{margin-left:4px;padding:3px 7px;border:1px solid var(--line);border-radius:999px;background:#fff}.exam-col-menu .ui-icon-btn,.exam-col-menu button{width:22px;height:22px}.seating-clash-warn{margin:0 0 10px;padding:10px 12px;border:1px solid #fecaca;border-left:4px solid #dc2626;border-radius:10px;background:#fff5f5;color:#7f1d1d}.seating-clash-warn ul{margin:6px 0 0;padding-left:18px}.seating-columns-input{width:64px}.seating-add-top{justify-content:flex-end;margin:-4px 0 12px;display:flex}.seating-exam-cards{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.seating-exam-card{display:grid;gap:8px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--card, #fff)}.seating-exam-card.is-current{border:2px solid var(--forest);background:#eef7f1;box-shadow:0 6px 18px #1b4d3e1f}.seating-exam-card-head{display:flex;align-items:center;gap:8px}.seating-exam-card-name{flex:1;min-width:0;border:0;background:none;padding:0;font:inherit;font-size:1.1rem;font-weight:800;color:var(--ink);text-align:left;cursor:pointer}.seating-exam-card-name:hover{color:var(--forest)}.seating-exam-card-body{display:grid;gap:2px;border:0;background:none;padding:0;font:inherit;font-size:.88rem;color:var(--muted);text-align:left;cursor:pointer}.seating-exam-card-note{color:#b45309;font-weight:700;font-size:.8rem}.seating-status-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:.74rem;font-weight:800;letter-spacing:.02em;white-space:nowrap}.seating-status-pill.is-current{background:var(--forest);color:#fff}.seating-status-pill.is-pushed{background:#e0ecff;color:#1e40af}.seating-status-pill.is-draft{background:#f1efe8;color:#6b6556}.seating-page-title .seating-status-pill{margin-top:4px}.seating-exam-days,.seating-older-days{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0}.seating-older-days{margin-top:14px}.seating-day-chip{border:1px solid var(--line);border-radius:999px;background:#fff;padding:4px 10px;font:inherit;font-size:.8rem;font-weight:700;color:var(--forest);cursor:pointer}.seating-day-chip:hover{background:#eef6f1}.seating-datesheet-note{margin:4px 0 10px;font-size:.8rem;color:var(--forest)}.seating-datesheet-note.is-manual{color:#b45309}.seating-duty-head .icon-btn{margin-left:4px}.seating-duty-record{width:min(760px,94vw);max-height:86vh;overflow:auto}.seating-duty-table{width:100%;border-collapse:collapse}.seating-duty-table th,.seating-duty-table td{padding:7px 8px;border-bottom:1px solid #efeae0;text-align:left;vertical-align:top}.seating-duty-table .num{font-weight:800;color:var(--forest);text-align:center}.seating-landing-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.seating-landing-head h1{margin:0}.seating-picker-card{display:grid;gap:14px}.seating-picker-row{display:flex;align-items:center;gap:8px}.seating-picker{position:relative;flex:1;max-width:560px}.seating-picker-btn,.seating-picker-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit;text-align:left;cursor:pointer;color:var(--ink)}.seating-picker-btn.is-current{border:2px solid var(--forest);background:#eef7f1}.seating-picker-btn .seating-plan-name{flex:1}.seating-picker-text{flex:1;min-width:0;display:grid;gap:1px}.seating-picker-text strong{font-size:1.05rem}.seating-picker-text small{color:var(--muted);font-size:.8rem}.seating-picker-list{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;margin:0;padding:6px;list-style:none;display:grid;gap:4px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.seating-picker-option{border-color:transparent}.seating-picker-option:hover{background:#f6f8f6}.seating-picker-option.on{border-color:var(--line)}.seating-picker-option.is-current{background:#eef7f1;color:var(--forest)}.seating-picker-option.is-current strong{color:var(--forest)}.seating-choice-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:620px}.seating-choice{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;font:inherit;text-align:left;color:var(--forest);cursor:pointer}.seating-choice:hover{background:#f3f8f5}.seating-choice.on{background:var(--forest);color:#fff;border-color:var(--forest)}.seating-choice span{display:grid;gap:2px}.seating-choice strong{font-size:1.02rem}.seating-choice small{font-size:.8rem;opacity:.8}.seating-logs{display:grid;gap:10px;margin-top:12px}.seating-logs h2,.seating-logs h3{margin:0}@media(max-width:640px){.seating-choice-row{grid-template-columns:1fr}}.seating-exam-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.seating-exam-title{flex:1;min-width:220px}.seating-exam-title .eyebrow{margin:0}.seating-exam-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.seating-exam-title-row h1{margin:0;font-size:1.35rem}.seating-exam-title-row .seating-plan-name{width:auto;min-width:0;font-size:1.25rem;font-weight:800;max-width:320px}.seating-tool-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.seating-switch{justify-self:start;width:max-content;display:inline-flex;padding:3px;margin-bottom:12px;border:1px solid var(--line);border-radius:999px;background:#fff}.seating-switch button{border:0;background:transparent;padding:6px 18px;border-radius:999px;font:inherit;font-weight:750;color:var(--ink);cursor:pointer}.seating-switch button.on{background:var(--forest);color:#fff}.seating-copy{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.seating-copy>span{flex:1;min-width:220px}.seating-copy select{padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;min-width:180px}.seating-copy.is-new{border-color:#c9a227;background:#fffbea}.exam-publish-classes{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:4px 10px;max-height:220px;overflow:auto;padding:4px 0}.exam-publish-classes .linkish{grid-column:1 / -1;justify-self:start}.exam-unpublished-tag{margin-left:6px;padding:1px 7px;border-radius:999px;background:#f1efe8;color:#6b6556;font-size:.7rem;font-weight:700;vertical-align:middle}.student-marks-page{display:grid;gap:12px}.setup-journey-page{grid-template-columns:minmax(0,1fr)}.setup-journey-bar{display:flex;align-items:stretch;gap:8px;min-width:0}.setup-journey-bar>.setup-journey{flex:1;min-width:0}.setup-tt-switch{flex:none;display:inline-flex;align-items:center;gap:8px;padding:0 14px;border-radius:18px;border:1px solid #cfe3d6;background:#e7f3ec;color:var(--forest);font-weight:700;font-size:.8rem;cursor:pointer}.setup-tt-switch:hover{background:#dcefe3}.setup-tt-switch:focus-visible{outline:2px solid var(--leaf);outline-offset:2px}.setup-tt-track{position:relative;width:34px;height:20px;border-radius:999px;background:#c9d6ce;transition:background .15s}.setup-tt-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:999px;background:#fff;box-shadow:0 1px 3px #0003;transition:left .15s}.setup-tt-switch.on .setup-tt-track{background:var(--forest)}.setup-tt-switch.on .setup-tt-knob{left:16px}@media(max-width:640px){.setup-journey-bar{flex-direction:column}.setup-tt-switch{align-self:flex-end;padding:8px 14px}}.tt-link-card{width:min(640px,100%);max-height:calc(100vh - 32px);overflow:auto}.tt-link-preview{display:grid;gap:6px}.tt-link-preview h3{margin:8px 0 0;font-size:.9rem;color:var(--forest)}.tt-link-row{display:grid;grid-template-columns:170px 1fr;gap:10px;font-size:.84rem}.tt-link-label{color:var(--muted)}.tt-link-items{color:var(--ink)}.tt-link-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}@media(max-width:560px){.tt-link-row{grid-template-columns:1fr;gap:0}}.from-timetable-badge{padding:1px 8px;border-radius:999px;background:#fff4dc;color:#8a5a00;font-size:.7rem;font-weight:700;white-space:nowrap}.setup-name-card:has(.setup-rename-btn){flex-direction:row;align-items:center;justify-content:space-between;gap:8px}.setup-rename-btn{opacity:0;transition:opacity .12s}.setup-name-card:hover .setup-rename-btn,.setup-rename-btn:focus-visible{opacity:1}@media(hover:none){.setup-rename-btn{opacity:1}}.setup-rename{display:flex;width:100%}.setup-rename input{width:100%}button.setup-section-chip.tt-tick{display:inline-flex;align-items:center;justify-content:center;gap:4px;cursor:pointer;color:var(--muted);background:#f6f4ee;font:inherit;font-weight:750}button.setup-section-chip.tt-tick.on{background:var(--forest);border-color:var(--forest);color:#fff}button.setup-section-chip.tt-tick:hover{box-shadow:0 0 0 2px #cfe3d6}.tt-entry-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tt-entry-search{display:inline-flex;align-items:center;gap:6px;height:var(--btn-h);padding:0 10px;border:1px solid var(--line);border-radius:var(--btn-radius);background:var(--card);color:var(--muted)}.tt-entry-search input{border:0;outline:0;background:transparent;width:190px;padding:0;min-height:0}.unsaved-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;background:#fff4dc;color:#8a5a00;border:1px solid #f3d48c;font-size:.75rem;font-weight:700;white-space:nowrap}.unsaved-chip:before{content:"";width:7px;height:7px;border-radius:999px;background:#e0a100}.btn.dirty{box-shadow:0 0 0 2px #f3d48c}.tt-entry-card{padding:0;overflow:hidden}.tt-entry-scroll{overflow:auto;max-height:calc(100vh - 250px);min-height:240px}table.tt-entry{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:.78rem}table.tt-entry th,table.tt-entry td{border-bottom:1px solid #ece6da;border-right:1px solid #f1ece2;vertical-align:top;padding:4px}table.tt-entry thead th{position:sticky;top:0;z-index:2;background:#f4f7f5;color:var(--forest);font-weight:750;text-align:center;white-space:nowrap;padding:7px 6px}table.tt-entry .tt-entry-class{position:sticky;left:0;z-index:1;background:var(--card);min-width:84px;text-align:left;border-right:1px solid var(--line)}table.tt-entry thead .tt-entry-class{z-index:3;background:#f4f7f5}table.tt-entry tbody .tt-entry-class{display:table-cell}table.tt-entry tbody .tt-entry-class strong{display:block;color:var(--forest);font-size:.86rem}table.tt-entry tbody .tt-entry-class .muted{display:block;font-weight:500}table.tt-entry tbody tr:nth-child(2n) td{background:#fbfaf6}table.tt-entry td{min-width:150px}table.tt-entry td.tt-out{min-width:14px;width:14px;background:repeating-linear-gradient(135deg,#f3f0e8 0,#f3f0e8 4px,#faf8f3 4px,#faf8f3 8px)!important}table.tt-entry .tt-before-break{border-right:3px double #c9d6ce}.tt-cell{position:relative;display:flex;flex-direction:column;gap:3px;min-height:26px}.tt-line{display:flex;align-items:center;gap:6px;width:100%;min-height:24px;padding:2px 6px;border:1px solid rgba(27,77,62,.08);border-radius:8px;background:#f6f4ee;color:var(--ink);font:inherit;text-align:left;cursor:pointer}button.tt-line:hover{border-color:#1b4d3e47}.tt-line.blank{color:var(--muted);border-style:dashed}.tt-line.hit{outline:2px solid var(--leaf);outline-offset:0}.tt-line-sub{font-weight:750;white-space:nowrap}.tt-line-teacher{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tt-line-days,.tt-line-lab{flex:none;min-width:18px;padding:0 5px;border-radius:999px;background:#ffffffd9;font-weight:750;font-size:.72rem;text-align:center}.tt-line-lab{background:#fff1d6;color:#8a5a00}.tt-line.editing{cursor:default;flex-wrap:wrap;gap:4px;padding:4px;box-shadow:0 4px 14px #1b4d3e24}.tt-line.editing select{min-height:26px;padding:1px 4px;font-size:.78rem;max-width:120px}.tt-line-num{width:34px;min-height:26px;padding:1px 4px;text-align:center;font-size:.78rem}.tt-line-x{border:0;background:transparent;color:var(--muted);padding:2px;cursor:pointer;line-height:0}.tt-line-x:hover{color:var(--bad)}.tt-add{align-self:flex-start;display:inline-grid;place-items:center;width:22px;height:18px;border:1px dashed #cfd8d2;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;opacity:.45}td:hover>.tt-cell>.tt-add,.tt-add:focus-visible{opacity:1}.tt-pin{position:absolute;top:-2px;right:0;color:var(--leaf);font-weight:900}.tt-entry-empty{padding:16px}@media(max-width:640px){.tt-entry-search input{width:120px}.tt-entry-scroll{max-height:calc(100vh - 300px)}}.setup-class-tables{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:12px;align-items:start}.setup-class-card{padding:0;overflow:hidden}table.setup-class-table{width:100%;border-collapse:collapse;font-size:.86rem}table.setup-class-table th{background:#f4f7f5;color:var(--forest);font-weight:750;text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}table.setup-class-table td{padding:5px 10px;border-bottom:1px solid #ece6da}table.setup-class-table tbody tr:nth-child(2n) td{background:#fbfaf6}table.setup-class-table tbody tr:hover td{background:#eef4f0}table.setup-class-table select{width:100%;min-width:0;min-height:30px;padding:2px 6px}.setup-class-name{font-weight:750;color:var(--forest);white-space:nowrap}.setup-class-tt{width:1%;text-align:center;white-space:nowrap}table.setup-class-table tr.is-off .setup-class-name,table.setup-class-table tr.is-off select{opacity:.5}.mini-switch{position:relative;display:inline-block;width:32px;height:18px;padding:0;border:0;border-radius:999px;background:#c9d6ce;cursor:pointer;vertical-align:middle;transition:background .15s}.mini-switch-knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:999px;background:#fff;box-shadow:0 1px 3px #0003;transition:left .15s}.mini-switch.on{background:var(--forest)}.mini-switch.on .mini-switch-knob{left:16px}.mini-switch:focus-visible{outline:2px solid var(--leaf);outline-offset:2px}.setup-class-takeover .emp-takeover{margin:0}.page:has(.quick){width:100%;max-width:none;padding:10px 14px 18px}.quick{display:flex;flex-direction:column;gap:10px;min-width:0}.quick-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.quick-title{display:flex;align-items:center;gap:10px;margin-right:auto}.quick-title h1{margin:0;font-size:1.35rem;color:var(--forest)}.quick-live{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:999px;background:#e7f3ec;color:var(--forest);font-size:.72rem;font-weight:750}.quick-live-dot{width:7px;height:7px;border-radius:999px;background:var(--leaf);animation:quick-pulse 2s ease-in-out infinite}@keyframes quick-pulse{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.quick-live-dot{animation:none}}.quick-date{display:flex;align-items:center;gap:4px}.ui-icon.flip{transform:scaleX(-1)}.quick-date-pick{position:relative;display:inline-flex;align-items:baseline;gap:6px;height:var(--btn-h);padding:0 12px;border:1px solid var(--line);border-radius:var(--btn-radius);background:var(--card);font-weight:750;color:var(--forest);cursor:pointer;white-space:nowrap;line-height:var(--btn-h)}.quick-date-pick input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%}.quick-today{height:var(--btn-h)}.quick-search{display:inline-flex;align-items:center;gap:6px;height:var(--btn-h);padding:0 10px;border:1px solid var(--line);border-radius:var(--btn-radius);background:var(--card);color:var(--muted);flex:0 1 280px;min-width:0}.quick-search input{border:0;outline:0;background:transparent;width:100%;min-width:0;padding:0;min-height:0}.quick-dl{position:relative}.quick-dl-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:30;display:grid;min-width:130px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:4px}.quick-dl-pop a{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;color:var(--ink);text-decoration:none;font-weight:650}.quick-dl-pop a:hover{background:#eef4f0}.quick-tabs{display:flex;gap:4px;padding:4px;background:#e7f3ec;border:1px solid #cfe3d6;border-radius:14px;width:max-content;max-width:100%;overflow-x:auto}.quick-tab{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--forest);font:inherit;font-weight:700;font-size:.86rem;padding:7px 14px;border-radius:10px;cursor:pointer;white-space:nowrap}.quick-tab.on{background:var(--card);box-shadow:0 4px 12px #1b4d3e1a}.quick-count{min-width:18px;padding:0 5px;border-radius:999px;background:var(--forest);color:#fff;font-size:.7rem;text-align:center}.quick-empty{display:grid;gap:4px;padding:24px;text-align:center}.quick-pad{padding:10px 12px;margin:0}.quick-grid-card{padding:0;overflow:hidden}.quick-grid-scroll{overflow:auto;max-height:calc(100dvh - 210px)}table.quick-grid{border-collapse:separate;border-spacing:0;width:100%;min-width:max-content;font-size:.74rem}table.quick-grid th,table.quick-grid td{border-bottom:1px solid #ece6da;border-right:1px solid #f1ece2;padding:3px;vertical-align:top}table.quick-grid thead th{position:sticky;top:0;z-index:2;background:#f4f7f5;color:var(--forest);font-weight:800;padding:6px 4px;text-align:center}table.quick-grid td{min-width:104px}.quick-grid-class{position:sticky;left:0;z-index:1;background:var(--card);text-align:left;min-width:70px;border-right:1px solid var(--line)!important}table.quick-grid thead .quick-grid-class{z-index:3;background:#f4f7f5;text-align:left}.quick-grid-class strong{display:block;color:var(--forest);font-size:.84rem}.quick-grid-class span{display:block;color:var(--muted);font-weight:500;font-size:.68rem;white-space:nowrap}table.quick-grid tbody tr:nth-child(2n) td{background:#fbfaf6}.quick-brk{min-width:8px!important;width:8px;padding:0!important;background:#f3efe5!important}.quick-out{min-width:10px!important;width:10px;background:repeating-linear-gradient(135deg,#f3f0e8 0,#f3f0e8 4px,#faf8f3 4px,#faf8f3 8px)!important}.quick-line{display:grid;gap:0;padding:2px 5px;border-radius:6px;background:#f6f4ee;margin-bottom:2px;line-height:1.25}.quick-line:last-child{margin-bottom:0}.quick-line-sub{font-weight:800;color:var(--ink)}.quick-line-teacher{color:#3d4a43;display:flex;flex-wrap:wrap;gap:0 5px}.quick-line.hit{box-shadow:inset 0 0 0 2px var(--leaf)}.quick-lab{margin-left:4px;padding:0 4px;border-radius:4px;background:#fff1d6;color:#8a5a00;font-size:.64rem}.quick-phone{display:grid;gap:10px}.quick-chips{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.quick-chips::-webkit-scrollbar{display:none}.quick-chip{flex:none;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--card);font:inherit;font-weight:750;color:var(--forest)}.quick-chip.on{background:var(--forest);border-color:var(--forest);color:#fff}.quick-list{display:grid;gap:6px;padding:12px}.quick-list h2{margin:0 0 4px;font-size:1.05rem;color:var(--forest);display:flex;gap:8px;align-items:baseline}.quick-list-row{display:grid;grid-template-columns:26px auto 1fr;gap:8px;align-items:start;font-size:.86rem}.quick-list-row:has(.quick-list-lines){grid-template-columns:26px 1fr}.quick-list-p{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:999px;background:#e7f3ec;color:var(--forest);font-weight:800;font-size:.78rem}.quick-list-class{font-weight:800;color:var(--forest);padding-top:3px}.quick-list-lines{display:grid;gap:3px}.quick-list-break{grid-column:1 / -1;text-align:center;font-size:.7rem;font-weight:750;color:var(--muted);border-top:1px dashed var(--line);padding-top:4px}.quick-free{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));padding:0;overflow:hidden}.quick-free-col{border-right:1px solid #ece6da;min-width:0}.quick-free-col:last-child{border-right:0}.quick-free-head{background:#f4f7f5;color:var(--forest);font-weight:800;font-size:.82rem;padding:7px 10px;border-bottom:1px solid var(--line)}.quick-free-names{padding:6px 10px 10px;font-size:.84rem;line-height:1.55;color:var(--ink)}.quick-subs{display:grid;gap:10px}.quick-subs-form{display:grid;gap:10px;padding:12px}.quick-picker{display:grid;grid-template-columns:140px 1fr;gap:8px;align-items:start}.quick-picker-label{font-weight:750;color:var(--forest);padding-top:6px;font-size:.86rem}.quick-picker-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0}.quick-picker-add{position:relative}.quick-picker-add input{width:160px;min-height:30px;padding:2px 8px}.quick-picker-menu{position:absolute;left:0;top:calc(100% + 4px);z-index:30;width:220px;max-height:260px;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:4px}.quick-picker-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:7px 9px;border-radius:7px;font:inherit;cursor:pointer}.quick-picker-menu button:hover{background:#eef4f0}.quick-subs-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.quick-uncovered{margin:0;color:var(--bad);font-weight:650;font-size:.86rem}.quick-part-rows{display:grid;gap:8px;min-width:0}.quick-part-pill .quick-part-pill-name{border:0;background:transparent;padding:0;font:inherit;color:inherit;cursor:pointer}.quick-part-pill.empty{background:#fdecea}.quick-part-pill.open{box-shadow:0 0 0 2px #e0b25c99}.quick-part-add{min-width:210px}.quick-part-edit{display:grid;gap:8px;padding:8px 10px;border:1px dashed var(--line);border-radius:10px}.quick-part-q{margin:0;font-size:.86rem}.quick-part-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.quick-part-chips{display:flex;flex-wrap:wrap;gap:4px}.quick-part-chip{min-width:32px;height:32px;padding:0 8px;border-radius:16px;border:1px solid var(--line);background:transparent;color:var(--muted);font:inherit;font-weight:750;cursor:pointer}.quick-part-chip.on{background:#fff4dc;border-color:#e0b25c;color:#6b4a00}.quick-part-from{min-width:190px}td.quick-sg-self{color:var(--muted);font-style:italic;text-align:center;font-size:.76rem}@media(max-width:640px){.quick-part{grid-template-columns:1fr}}.quick-sg-card{padding:0;overflow:hidden}.quick-sg-scroll{overflow:auto;max-height:calc(100dvh - 330px)}table.quick-sg{border-collapse:separate;border-spacing:0;width:100%;min-width:max-content;font-size:.8rem}table.quick-sg th,table.quick-sg td{border-bottom:1px solid #ece6da;border-right:1px solid #f1ece2;padding:5px 6px;vertical-align:top}table.quick-sg thead th{position:sticky;top:0;z-index:2;background:#f4f7f5;color:var(--forest);font-weight:800;text-align:center}table.quick-sg td{min-width:112px}.quick-sg-absent{position:sticky;left:0;z-index:1;background:var(--card);text-align:left!important;white-space:nowrap;color:var(--forest);font-weight:800;border-right:1px solid var(--line)!important}table.quick-sg thead .quick-sg-absent{z-index:3;background:#f4f7f5}td.quick-sg-hit{background:#e9f5ee}td.quick-sg-bend{background:#fff4dc}td.quick-sg-miss{background:#fdecea}.quick-sg-cell{position:relative}.quick-sg-cell+.quick-sg-cell{margin-top:4px;padding-top:4px;border-top:1px dashed rgba(0,0,0,.08)}.quick-sg-who{display:inline-block;border:0;background:transparent;padding:0;font:inherit;font-weight:800;color:var(--ink);cursor:pointer;text-align:left;border-bottom:1px dotted rgba(27,77,62,.35)}td.quick-sg-miss .quick-sg-who{color:var(--bad)}.quick-sg-who.open,.quick-sg-who:hover{color:var(--forest);border-bottom-style:solid}.quick-sg-cls{color:#4c5a52;font-size:.74rem}.quick-sg-legend{display:flex;flex-wrap:wrap;gap:6px 16px;padding:8px 12px;border-top:1px solid var(--line);font-size:.78rem;align-items:center}.quick-sg-legend span{display:inline-flex;align-items:center;gap:6px}.quick-sg-key{display:inline-block;width:14px;height:14px;border-radius:4px;border:1px solid rgba(0,0,0,.08)}.quick-sg-key.quick-sg-hit{background:#e9f5ee}.quick-sg-key.quick-sg-bend{background:#fff4dc}.quick-sg-key.quick-sg-miss{background:#fdecea}.quick-sg-pop{position:fixed;z-index:60;width:260px;display:grid;gap:8px;padding:10px 12px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);font-size:.82rem}.quick-sg-pop-head{display:grid;gap:1px}.quick-sg-pop-why{margin:0;color:#3d4a43;line-height:1.35}.quick-sg-pop-pick{display:grid;gap:4px;font-weight:700;color:var(--forest)}.quick-sg-pop-pick select{min-height:32px}@media(max-width:640px){.page:has(.quick){padding:8px 10px 16px}.quick-title h1{font-size:1.15rem}.quick-head{gap:8px}.quick-date{flex:1}.quick-search{flex:1 1 100%;order:5}.quick-tabs{width:100%}.quick-tab{flex:1;justify-content:center;padding:7px 8px}.quick-free{grid-template-columns:1fr}.quick-free-col{border-right:0;border-bottom:1px solid #ece6da}.quick-free-names{columns:2;column-gap:14px}.quick-picker{grid-template-columns:1fr;gap:4px}.quick-picker-label{padding-top:0}.quick-sg-scroll{max-height:none}}.ui-menu button.ui-menu-toggle .mini-switch{margin-left:auto;pointer-events:none}.ui-menu button.ui-menu-toggle{gap:8px}.emp-tt-off{display:inline-block;padding:1px 8px;border-radius:999px;background:#eceae4;color:#6b6458;font-size:.72rem;font-weight:750}.emp-action-cell{white-space:nowrap}.tt-entry-actions .btn.ghost{position:relative}.need-dot{display:inline-block;width:7px;height:7px;margin-left:6px;border-radius:999px;background:var(--bad);vertical-align:1px}.tt-gen-grid{box-shadow:0 0 0 2px #f3d48c}.tt-set-card{width:min(420px,100%)}.tt-set-card .field{display:grid;gap:4px}.tt-set-card .field.need select,.tt-set-card .field.need input{outline:2px solid #e57373;outline-offset:1px}.tt-need-hint{color:var(--bad)!important;margin:0}.tt-labs-card{width:min(560px,100%)}.tt-labs-table{width:100%;border-collapse:collapse;font-size:.86rem}.tt-labs-table th{text-align:left;color:var(--forest);font-weight:750;padding:4px}.tt-labs-table td{padding:4px}.tt-labs-table select{width:100%}.tt-labs-cap{width:56px;text-align:center}.tt-labs-add{display:flex;gap:8px;flex-wrap:wrap}.tt-range{display:inline-flex;align-items:center;gap:2px;margin-top:4px;font-size:.72rem;color:var(--muted)}.tt-range-part{display:inline-flex;align-items:center;gap:2px}.tt-range select{min-height:24px;padding:0 16px 0 4px;font-size:.74rem;border-radius:6px;background-position:right 3px center}.tt-range.changed select{outline:2px solid #f3d48c}table.tt-entry td.tt-unset{color:var(--muted);font-size:.82rem;vertical-align:middle;padding:10px 12px;background:#fbfaf6}table.tt-entry td.tt-out-lines{width:auto;min-width:150px}.tt-entry-root.compact table.tt-entry{font-size:.72rem}.tt-entry-root.compact table.tt-entry td{min-width:128px;padding:2px 3px}.tt-entry-root.compact table.tt-entry thead th{padding:4px}.tt-entry-root.compact .tt-line{min-height:20px;padding:1px 5px;gap:4px}.tt-entry-root.compact .tt-cell{gap:2px;min-height:20px}.tt-entry-root.compact .tt-add{height:14px}.tt-entry-root.compact table.tt-entry tbody .tt-entry-class strong{font-size:.8rem}.tt-entry-root.compact .tt-entry-scroll{max-height:calc(100vh - 220px)}.tt-entry-root.full{background:var(--paper);padding:10px 14px;display:flex;flex-direction:column;gap:8px;overflow:hidden}.tt-entry-root.full .page-head{margin-bottom:0}.tt-entry-root.full .page-head h1{font-size:1.05rem}.tt-entry-root.full .page-head p{display:none}.tt-entry-root.full .tt-entry-card{flex:1;min-height:0;display:flex;flex-direction:column}.tt-entry-root.full .tt-entry-scroll{flex:1;max-height:none;min-height:0}.tt-entry-root:fullscreen{background:var(--paper)}.tt-entry-root::backdrop{background:var(--paper)}.tt-entry-root.fill-window{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.tt-entry-root.compact table.tt-entry tbody .tt-entry-class{padding:3px 6px}.tt-entry-root.compact table.tt-entry tbody .tt-entry-class strong{display:inline;margin-right:6px}.tt-entry-root.compact table.tt-entry tbody .tt-entry-class .muted{display:inline;font-size:.66rem}.tt-entry-root.compact .tt-range{display:flex;margin-top:2px}.tt-entry-root.compact .tt-range select{min-height:20px;height:20px;font-size:.68rem}.tt-entry-root.compact .tt-add{opacity:0}.tt-entry-root.compact td:hover>.tt-cell>.tt-add,.tt-entry-root.compact .tt-add:focus-visible{opacity:1}@media(hover:none){.tt-entry-root.compact .tt-add{opacity:.6}}.tt-entry-root.compact .tt-cell{position:relative}.tt-entry-root.compact .tt-add{position:absolute;right:0;bottom:-1px;width:18px;height:14px;background:#fff;z-index:1}.tt-entry-root.compact .tt-cell:not(:has(.tt-line)) .tt-add{position:static}@media(max-width:700px){.seating-test-engine{max-height:none;overflow:visible}.seating-test-engine table,.seating-test-engine tbody{display:block;width:100%;min-width:0}.seating-test-engine thead{display:none}.seating-test-engine tr{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;padding:10px 12px;margin-bottom:10px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.seating-test-engine td{display:grid;gap:3px;padding:0;border:0;white-space:normal;min-width:0}.seating-test-engine td[data-label]:before{content:attr(data-label);font-size:.72rem;font-weight:700;color:var(--muted)}.seating-test-engine td[data-label=Room],.seating-test-engine td[data-label="Allowed sizes"]{grid-column:1 / -1;padding-right:40px}.seating-test-engine td[data-label="Allowed sizes"]{padding-right:0}.seating-test-engine td.seating-room-del{position:absolute;top:8px;right:8px}.seating-test-engine select,.seating-test-engine input[type=number],.seating-test-engine input[type=text],.seating-test-engine .seating-test-gap,.seating-test-engine .seating-columns-input{width:100%;min-width:0;max-width:none}.seating-test-engine .seating-test-allowed{flex-wrap:wrap;gap:6px 14px}.seating-test-engine .seating-test-allowed label{min-height:32px}.seating-test-room-add{flex-wrap:wrap}}.tt-range-chip{display:inline-flex;align-items:center;margin-top:4px;padding:1px 9px;min-height:22px;border:1px solid #cfe3d6;border-radius:999px;background:#e7f3ec;color:var(--forest);font:inherit;font-size:.74rem;font-weight:750;cursor:pointer}.tt-range-chip:hover{border-color:var(--forest)}.tt-range-chip.changed{background:#fff4dc;border-color:#f3d48c;color:#8a5a00}.tt-range-done{border:0;background:var(--forest);color:#fff;border-radius:6px;width:24px;height:24px;display:inline-grid;place-items:center;cursor:pointer;margin-left:2px}.tt-entry-root.compact .tt-range-chip{margin:0 0 0 4px;min-height:18px;font-size:.68rem}.tt-view-switch{display:inline-flex;padding:3px;gap:2px;border-radius:10px;background:#e7f3ec;border:1px solid #cfe3d6}.tt-view-switch button{border:0;background:transparent;color:var(--forest);font:inherit;font-size:.8rem;font-weight:700;padding:5px 10px;border-radius:8px;cursor:pointer}.tt-view-switch button.on{background:var(--card);box-shadow:0 2px 6px #1b4d3e1f}.tt-classwise{display:grid;gap:10px}.tt-class-chips{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.tt-class-chips::-webkit-scrollbar{display:none}.tt-class-chip{flex:none;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--forest);font:inherit;font-weight:750;cursor:pointer}.tt-class-chip.on{background:var(--forest);border-color:var(--forest);color:#fff}.tt-class-card{display:grid;gap:6px;padding:12px}.tt-class-head{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px}.tt-class-head strong{color:var(--forest);font-size:1.05rem}.tt-class-head .tt-range-chip,.tt-class-head .tt-range{margin-top:0}.tt-class-row{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:start;padding:4px 0;border-bottom:1px solid #f1ece2}.tt-class-row.tt-out{background:repeating-linear-gradient(135deg,#f6f3ec 0,#f6f3ec 4px,#fbfaf6 4px,#fbfaf6 8px)}.tt-class-p{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:999px;background:#e7f3ec;color:var(--forest);font-weight:800;font-size:.78rem}.tt-class-row .tt-line{min-height:32px;font-size:.86rem}.tt-class-row .tt-add{opacity:1;width:32px;height:26px}.tt-class-break{margin:2px 0 2px 36px;font-size:.7rem;font-weight:750;color:var(--muted)}.tt-unset-note{margin:0}@media(max-width:700px){.tt-entry-actions{gap:6px}.tt-entry-actions .tt-entry-search{flex:1 1 100%}.tt-entry-search input{width:100%}}.quick-mode{display:flex;gap:2px;padding:3px;border-radius:12px;background:#e7f3ec;border:1px solid #cfe3d6;width:100%}.quick-mode button{flex:1;border:0;background:transparent;color:var(--forest);font:inherit;font-size:.82rem;font-weight:700;padding:6px 8px;border-radius:9px;cursor:pointer}.quick-mode button.on{background:var(--card);box-shadow:0 2px 6px #1b4d3e1f}.quick.quick-full{background:var(--paper);padding:10px 12px;height:100vh;height:100dvh;overflow:auto}.quick.quick-fill{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.quick.quick-full .quick-grid-scroll{max-height:calc(100dvh - 140px)}.quick.quick-full .quick-title h1{font-size:1.05rem}@media(max-width:700px){.seating-test-engine tr{grid-template-columns:repeat(6,minmax(0,1fr)) auto;align-items:end}.seating-test-engine td[data-label=Room]{grid-column:1 / 5;grid-row:1;padding-right:0}.seating-test-engine td[data-label=Strength]{grid-column:5 / 7;grid-row:1}.seating-test-engine td.seating-room-del{position:static;grid-column:7;grid-row:1;align-self:end}.seating-test-engine td[data-label=Columns]{grid-column:1 / 3;grid-row:2}.seating-test-engine td[data-label=Benches]{grid-column:3 / 5;grid-row:2}.seating-test-engine td[data-label=Size]{grid-column:5 / 8;grid-row:2}.seating-test-engine td[data-label="Allowed sizes"]{grid-column:1 / 5;grid-row:3}.seating-test-engine td[data-label="Bench gap"]{grid-column:5 / 8;grid-row:3}}@media(pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),select,textarea{font-size:16px}:where(.btn,.ex-chip,select,summary):not(td *):not(th *){min-height:32px}:where(input[type=checkbox],input[type=radio]){min-width:18px;min-height:18px}}.modal-backdrop>*{max-width:100%;max-height:calc(100dvh - 32px);overflow:auto}@media(max-width:700px){.modal-backdrop{padding:12px 10px calc(12px + env(safe-area-inset-bottom))}.transport-subnav{justify-content:flex-start}.transport-subnav-btn{padding:7px 10px;font-size:.8rem}.transport-subnav-btn .hub-icon{display:none}.transport-subnav:has(>:nth-child(6)){width:100%;flex-wrap:wrap;justify-content:center;border-radius:18px;row-gap:4px}}.gate-page{grid-template-columns:minmax(0,1fr)}.gate-page>*{min-width:0}.gate-page .form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:480px){.gate-page .form-grid.two{grid-template-columns:minmax(0,1fr)}}.ds-phone-list{display:none;list-style:none;margin:0;padding:0}@media(max-width:700px){.ds-board-student{display:none}.ds-phone-list{display:grid;gap:8px}.ds-phone-row{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:12px}.ds-phone-date{display:grid;justify-items:center;flex:0 0 52px;padding:6px 0;background:#eef6f1;border-radius:10px;line-height:1.1}.ds-phone-date strong{font-size:1.3rem}.ds-phone-date span{font-size:.75rem;font-weight:700;color:var(--forest)}.ds-phone-exams{display:grid;gap:2px;min-width:0}.ds-phone-exams strong{font-size:1rem}}@media(max-width:700px){.page-head.tight{align-items:flex-start}}@media(max-width:700px){.seating-test-engine .seating-test-allowed{flex-wrap:nowrap;gap:6px 8px}.seating-test-engine .seating-test-allowed label{gap:3px}.seating-test-engine td[data-label="Allowed sizes"],.seating-test-engine td[data-label="Bench gap"]{align-self:start}}.att-phone-list,.att-foot-save{display:none}@media(max-width:700px){.class-picker{flex-wrap:nowrap;align-items:flex-start;gap:8px;min-width:0;max-width:100%}.class-picker-tiled{flex:1 1 auto;gap:6px}.class-grade-row,.class-section-row{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:2px;margin:-2px;scroll-snap-type:x proximity}.class-grade-row::-webkit-scrollbar,.class-section-row::-webkit-scrollbar{display:none}.class-grade-row>*,.class-section-row>*{flex:0 0 auto;scroll-snap-align:start}.class-grade{height:38px;min-width:38px}.class-section{height:34px;width:34px;min-width:34px}.class-picker-bar{flex:0 0 auto}.att-page>.page-head{flex-direction:row;align-items:center}.att-page>.page-head p.muted{display:none}.att-toolbar{gap:8px;align-items:center}.att-toolbar>.field>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.att-toolbar>.field:first-child{flex:1 1 140px}.att-toolbar .att-holiday{margin:0;font-size:.9rem}.att-toolbar .att-search{flex:1 1 170px;min-width:0;width:auto;margin:0}.att-toolbar .att-upload{margin-left:0}.att-table-wrap{display:none}.att-phone-list{display:grid;list-style:none;margin:0;padding:0}.att-phone-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:9px 10px;border-bottom:1px solid var(--line)}.att-phone-row:nth-child(2n){background:#f8faf9}.att-phone-row.is-absent{background:#fdf1f0}.att-phone-row.is-leave{background:#fdf6ea}.att-phone-row.is-halfday{background:#f5f1fb}.att-phone-roll{display:grid;place-items:center;height:34px;border-radius:10px;background:#eef4f0;font-weight:800;font-size:.9rem;font-variant-numeric:tabular-nums}.att-phone-name{display:grid;min-width:0;line-height:1.2}.att-phone-name strong,.att-phone-name small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-phone-name small{color:var(--muted);font-size:.75rem}.att-phone-marks{display:inline-flex;gap:4px}.att-mark{width:38px;height:38px;min-height:38px;padding:0;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--muted);font:inherit;font-weight:800;font-size:.85rem;cursor:pointer}.att-mark.m-present.on{background:var(--leaf);border-color:var(--leaf);color:#fff}.att-mark.m-absent.on{background:var(--bad);border-color:var(--bad);color:#fff}.att-mark.m-leave.on{background:#b45309;border-color:#b45309;color:#fff}.att-mark.m-halfday.on{background:#6b4ea1;border-color:#6b4ea1;color:#fff}.att-mark:disabled{opacity:.55;cursor:default}.att-phone-reason{grid-column:2 / -1;width:100%;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}.att-card{overflow:visible}.att-foot{position:sticky;bottom:calc(50px + env(safe-area-inset-bottom));z-index:5;background:#fffdf8;border-radius:0 0 14px 14px;box-shadow:0 -4px 12px #14281c14}.att-foot-save{display:inline-flex;margin-left:auto}.att-head-save{display:none}}@media(max-width:700px){.check-class-row{flex-wrap:nowrap;max-height:none;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.check-class-row::-webkit-scrollbar{display:none}.check-class-row .ex-chip{flex:0 0 auto;min-height:34px;padding:6px 12px;font-size:.85rem}.check-page .sheet-name-col{min-width:118px;max-width:132px}.check-page .sheet-name-col .sheet-student{display:inline-block;max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.check-page .subject-switch .switch-row.subjects .ex-chip{min-height:34px;padding:6px 12px}}@media(max-width:700px){.dash-chrome{flex-wrap:nowrap}.dash-chrome>*{min-width:0;max-width:100%}.dash-chrome-main .class-picker.is-compact:not(.is-inline){flex:1 1 100%;width:100%}.dash-filters{margin-left:0}}@media(max-width:700px){.daily-log-sheet,.daily-log-sheet tbody{display:block;width:100%}.daily-log-sheet thead{display:none}.daily-log-sheet tr:not(.day-banner):not(.day-sep){display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 10px;padding:8px 10px;border-bottom:1px solid var(--line)}.daily-log-sheet tr.day-sep{display:none}.daily-log-sheet tr.day-banner{display:block}.daily-log-sheet tr.day-banner td{display:block;padding:8px 10px}.daily-log-sheet td{display:contents}.daily-log-sheet tr:not(.day-banner) td:before{content:attr(data-label);color:var(--muted);font-size:.75rem;font-weight:700;align-self:baseline}.daily-log-sheet tr:not(.day-banner) td:empty,.daily-log-sheet tr:not(.day-banner) td:empty:before{display:none}}@media(max-width:700px){.daily-log-sheet:not(.is-mine) td.log-class:before,.daily-log-sheet:not(.is-mine) td.log-class{display:none}.daily-log-sheet tr.day-banner td{width:auto;max-width:none;position:static}}@media(max-width:700px){.log-card .field{text-align:left}.log-card .yesno-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}.student-ex-chips{display:none}@media(max-width:700px){.profile-subject-list .student-sheet{display:none}.student-ex-chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:6px 0 4px;padding:0}.student-ex-chips li{display:inline-grid;grid-template-columns:auto auto;column-gap:5px;align-items:center;padding:5px 10px;border-radius:10px;border:1px solid var(--line);background:#fff;font-size:.82rem}.student-ex-chips li>span[aria-hidden]{grid-row:span 2;font-weight:800;color:var(--muted)}.student-ex-chips li small{color:var(--muted);font-size:.7rem}.student-ex-chips li.done{background:#e8f4ec;border-color:#b9dcc6}.student-ex-chips li.done>span[aria-hidden]{color:var(--leaf)}.student-ex-chips li.blocked{opacity:.6}}.person-cards{display:none}@media(max-width:700px){.person-table{display:none}.person-cards{display:grid;gap:8px;list-style:none;margin:8px 0 0;padding:0}.person-card{display:flex;align-items:center;gap:4px;padding:4px 4px 4px 0;background:#fff;border:1px solid var(--line);border-radius:12px}.person-card.is-off{background:#f6f4ef}.person-card-main{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:10px;padding:6px 10px;color:inherit;text-decoration:none}.person-card-main .student-photo{width:38px;height:38px;flex:0 0 auto;border-radius:50%;object-fit:cover}.person-av{width:38px;height:38px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:#e6efe9;color:var(--forest);font-weight:800;font-size:.8rem}.person-card-who{display:grid;min-width:0;line-height:1.25}.person-card-who strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-card-who small{color:var(--muted);font-size:.78rem;display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px}.person-tag{display:inline-block;padding:0 7px;border-radius:999px;font-size:.7rem;font-weight:800;line-height:1.6}.person-tag{background:#eef2ef;color:var(--ink)}.person-tag.off{background:#fdecea;color:#b42318}.teachers-panel-head{flex-wrap:wrap;gap:8px}.teachers-panel-head>div:first-child{flex:1 1 100%}.teachers-panel-head .teachers-search{flex:1 1 calc(50% - 8px);min-width:0}.my-students-list li:has(.my-students-card){padding:0;border:0;margin-bottom:8px}}.my-students-card{display:flex;align-items:center;gap:10px;flex:1;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:#fff;color:inherit;text-decoration:none}.my-students-av{width:36px;height:36px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:#e6efe9;color:var(--forest);font-weight:800;font-size:.8rem}.my-students-who{display:grid;flex:1;min-width:0;line-height:1.25}.my-students-who small{color:var(--muted);font-size:.78rem}.my-students-go{color:var(--muted);font-size:1.3rem}.arrival-cards{display:none}@media(max-width:700px){.arrival-table-card:has(.arrival-cards){padding:0;background:transparent;border:0;box-shadow:none;overflow:visible}.arrival-cards{display:grid;gap:8px}.arrival-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 10px}.arrival-card-head{display:flex;align-items:center;gap:8px}.arrival-card-who{flex:1;min-width:0;display:grid;line-height:1.3}.arrival-card-who small{color:var(--muted);font-size:.8rem;display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px}.arrival-card-who small b{color:var(--ink)}.arrival-card-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arrival-mark{padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:800;background:#f1f5f2;white-space:nowrap}.arrival-card .arrival-shift-cell{display:flex;align-items:flex-end;gap:8px;margin-top:6px;padding-top:6px;border-top:1px dashed var(--line)}.arrival-card .arrival-shift-cell label{flex:1;display:grid;gap:2px;font-size:.75rem;color:var(--muted)}.arrival-card .arrival-shift-cell input{width:100%}.arrival-card-shift{margin:4px 0 0}.arrival-days{list-style:none;margin:4px 0 0;padding:0}.arrival-days li{display:grid;grid-template-columns:1fr 70px 70px;gap:6px;padding:4px 0;border-top:1px solid #f0ece3;font-size:.85rem;font-variant-numeric:tabular-nums}.arrival-days li:first-child{border-top:0}.arrival-day{color:var(--muted)}.arrival-in,.arrival-out{text-align:right;font-weight:700}.arrival-page .arrival-target-edit{flex-wrap:wrap}}.dash-cards{display:none}@media(max-width:700px){.dash-cards{display:grid;gap:8px}.dash-card{background:#fff;border:1px solid var(--line);border-radius:12px}.dash-card summary{display:flex;align-items:center;gap:10px;padding:9px 12px;cursor:pointer;list-style:none}.dash-card summary::-webkit-details-marker{display:none}.dash-card-who{flex:1;min-width:0;display:grid;gap:2px;line-height:1.25}.dash-card-who small{color:var(--muted);font-size:.78rem}.dash-card-who small b.warn{color:#b45309}.dash-card-bar{display:block;height:5px;border-radius:3px;background:#eef1ee;overflow:hidden;margin-top:3px}.dash-card-bar i{display:block;height:100%;background:var(--leaf)}.dash-card-classes{list-style:none;margin:0;padding:0 12px 8px;display:grid;gap:4px}.dash-card-classes a{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:10px;background:#f6f8f7;color:inherit;text-decoration:none;font-size:.88rem}.dash-page .dash-rules.in-chrome{flex-wrap:wrap}}.van-log-cards{display:none}@media(max-width:700px){.van-log-cards{display:grid;gap:8px}.van-log-days{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.van-log-days::-webkit-scrollbar{display:none}.van-log-days .ex-chip{flex:0 0 auto;min-height:34px;padding:6px 12px}.van-log-list{list-style:none;margin:0;padding:0;background:#fff;border:1px solid var(--line);border-radius:12px}.van-log-list li{display:grid;grid-template-columns:minmax(0,1fr) auto 64px;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid #f0ece3}.van-log-list li:first-child{border-top:0}.van-log-who{display:grid;min-width:0;line-height:1.25}.van-log-who strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.van-log-who small{color:var(--muted);font-size:.75rem}.van-log-att{font-size:.75rem;font-weight:800;padding:2px 8px;border-radius:999px;color:var(--muted)}.van-log-att.on{background:#e8f4ec;color:var(--leaf)}.van-log-att.off{background:#fdecea;color:#b42318}.van-log-time{text-align:right;font-variant-numeric:tabular-nums;font-size:.85rem}.transport-toolbar{flex-wrap:wrap}}.van-audit-cards{display:none}@media(max-width:700px){.van-audit-cards{display:grid;gap:10px}.van-audit-card{display:grid;gap:8px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px}.van-audit-card-head{display:flex;justify-content:space-between;align-items:center}.van-audit-count{font-size:.78rem;font-weight:800;padding:2px 8px;border-radius:999px;background:#fdf6ea;color:#b45309}.van-audit-count.all{background:#e8f4ec;color:var(--leaf)}.van-audit-card input[type=text]{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:10px}.van-audit-ticks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.van-audit-tick{display:flex;align-items:center;gap:8px;min-height:40px;padding:6px 10px;text-align:left;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;font-size:.85rem;font-weight:700;color:var(--ink);cursor:pointer}.van-audit-tick>span{width:20px;height:20px;flex:0 0 auto;display:grid;place-items:center;border:1.5px solid #b9c4bd;border-radius:6px;font-size:.8rem}.van-audit-tick.on{background:#e8f4ec;border-color:#b9dcc6}.van-audit-tick.on>span{background:var(--leaf);border-color:var(--leaf);color:#fff}.van-audit-tick:disabled{cursor:default}}.exam-phone{display:none}@media(max-width:700px){.exam-phone{display:grid;gap:8px}.exam-phone-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.exam-phone-chips::-webkit-scrollbar{display:none}.exam-phone-chips .ex-chip{flex:0 0 auto;min-height:34px;padding:6px 12px}.exam-phone-list{display:grid;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.exam-phone-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:10px;padding:8px 12px;border-top:1px solid #f0ece3}.exam-phone-row:first-child{border-top:0}.exam-phone-subject{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exam-phone-row select{width:100%;padding:7px 8px;border:1px solid var(--line);border-radius:10px;background:#fff}.exam-phone-row.is-allotted select{background:#e8f4ec;border-color:#b9dcc6;font-weight:700}.exam-phone-row .exam-off-hit{width:100%;min-height:36px;border:1px dashed var(--line);border-radius:10px;background:transparent;color:var(--muted);font:inherit;font-size:.8rem}.exam-phone-row.is-exam-off{opacity:.6}.exam-cycle-toolbar,.exam-tpl-row{flex-wrap:wrap}}.ds-phone{display:none}@media(max-width:700px){.ds-phone{display:grid;gap:8px}.ds-phone-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.ds-phone-chips::-webkit-scrollbar{display:none}.ds-phone-chips .ex-chip{flex:0 0 auto;min-height:34px;padding:6px 12px}.ds-phone-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.ds-phone-head .ds-incharge{flex:1 1 200px;display:grid;gap:2px;font-size:.75rem;color:var(--muted)}.ds-phone-head .ds-incharge select{width:100%}.ds-phone-days{list-style:none;margin:0;padding:0;display:grid;gap:6px}.ds-phone-day{display:flex;align-items:stretch;gap:8px}.ds-phone-date{flex:0 0 52px;display:grid;place-content:center;justify-items:center;gap:0;line-height:1.1;border:0;border-radius:10px;background:#eef6f1;color:var(--forest);font:inherit;cursor:pointer}.ds-phone-date strong{font-size:1.15rem}.ds-phone-date span{font-size:.72rem;font-weight:700}.ds-phone-date:disabled{cursor:default}.ds-phone-day.is-holiday .ds-phone-date{background:#f4f1ea;color:var(--muted)}.ds-phone-day .ds-tile{flex:1;min-width:0;width:auto;min-height:48px;height:auto;display:flex;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left}.ds-phone-day .ds-tile-names{display:flex;flex-wrap:wrap;gap:4px 10px;font-weight:700}.ds-phone-day .ds-tile-exams{display:grid;gap:6px;width:100%}.ds-phone-day .ds-exam-line{display:flex;gap:6px;align-items:center}.ds-phone-day .ds-exam-line select{flex:1;min-width:0}.ds-phone-day .ds-x,.ds-phone-day .ds-add{min-width:36px;min-height:36px}.ds-bar,.ds-new{flex-wrap:wrap}}@media(max-width:700px){.class-grade-row,.class-section-row,.check-class-row,.exam-phone-chips,.ds-phone-chips,.van-log-days{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);padding-right:28px}}@media(max-width:700px){.arrival-page .dash-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:end}.arrival-page .dash-filters .range-field{display:grid;gap:2px;min-width:0}.arrival-page .dash-filters .range-field input{width:100%;min-width:0}.arrival-page .dash-filters .range-field:first-child:has(input[type=search]){grid-column:1 / -1}.arrival-page .dash-filters>:not(.range-field){justify-self:start}}@media(max-width:700px){.exam-phone-empty{margin:0;padding:10px 12px}.exam-phone-more summary{cursor:pointer;padding:8px 2px;font-weight:700;color:var(--muted)}}@media(max-width:700px){.person-cards>.person-card:nth-child(2n){background:#f3f7f4}.person-cards>.person-card.is-off{background:#f6f4ef}.my-students-list li:nth-child(2n) .my-students-card{background:#f3f7f4}}@media(max-width:700px){.house-slot .duty-circle{width:28px;height:28px;font-size:.75rem}.house-slot-line{align-items:center}}.exam-tb-phone{display:none}@media(max-width:700px){.exam-toolbar{flex-wrap:nowrap;gap:6px;padding:6px 2px}.exam-toolbar-meta{min-width:0;font-size:.8rem;line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.exam-toolbar-meta .muted{font-size:.72rem}.exam-toolbar-actions{flex-wrap:nowrap;gap:4px}.exam-toolbar .exam-tb-wide{display:none}.exam-toolbar .exam-tb-phone{display:inline-flex}.exam-temp-header .paper-brand img{width:40px!important;height:40px!important}.exam-temp-header input.paper-school,.exam-temp-header .paper-school{font-size:clamp(10px,3vw,16px)!important}.exam-temp-header .paper-meta{flex-wrap:wrap;row-gap:4px}.question-editor-backdrop{align-items:flex-end;padding:0}.question-editor{max-height:94dvh;border-radius:18px 18px 0 0;background:#fff}.question-editor:before{content:"";flex:0 0 auto;width:40px;height:4px;margin:8px auto 0;border-radius:2px;background:var(--line)}.question-editor-head{padding-top:6px;gap:6px}.question-editor-body{flex:0 1 auto}.question-editor-foot{padding-bottom:calc(10px + env(safe-area-inset-bottom))}.question-editor-foot .btn{min-height:40px;flex:1 1 0;justify-content:center}.question-editor-head .tool-btn{min-width:36px;height:36px;padding:0 8px;border-radius:10px;font-size:.85rem}.question-editor-head .tool-btn .ui-icon{width:18px;height:18px}.question-editor-head .exam-tools-drawer.is-open .exam-tools-drawer-inner{overflow:visible;flex-wrap:wrap;gap:6px}.question-editor-head .tool-select{max-width:none;flex:1 1 140px;min-height:36px}.question-editor-head .mcq-layout-bar .tool-btn{height:32px}.exam-temp .paper-instr-head{flex-direction:column;align-items:stretch;gap:6px}.exam-temp .paper-instr-tools{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px}.exam-temp .paper-choice-tog{padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.78rem;line-height:1.2;color:var(--ink-soft)}.exam-temp .paper-choice-tog input[type=checkbox]{width:16px;height:16px;min-width:16px;min-height:16px;margin:0;accent-color:var(--leaf)}}.shell:has(.page-own-back) .appbar-back{display:none}.login-back{display:inline-flex;align-items:center;gap:4px;margin:-4px 0 8px -4px;padding:4px 8px 4px 4px;border-radius:999px;color:var(--forest);font-size:.88rem;font-weight:700;text-decoration:none}.login-back:hover{background:var(--btn-hover)}.ui-picker{position:relative;display:inline-flex;min-width:0;max-width:100%}.ui-picker-trigger{width:100%;min-width:0;height:40px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px 0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:.92rem;text-align:left;cursor:pointer}.ui-picker-trigger:hover:not(:disabled){border-color:#b9cdbf}.ui-picker-trigger:focus-visible{outline:2px solid #9dc7ad;outline-offset:1px}.ui-picker.open .ui-picker-trigger{border-color:var(--leaf);box-shadow:0 0 0 3px #2e7d571f}.ui-picker-trigger:disabled{background:#f6f4ef;color:var(--muted);cursor:default}.ui-picker-trigger>.ui-icon{color:var(--leaf);flex:0 0 auto;transition:transform .15s}.ui-picker.open .ui-picker-trigger>.ui-icon{transform:rotate(180deg)}.ui-picker-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-picker-trigger.is-empty .ui-picker-value{color:var(--muted)}.ui-picker-menu{position:fixed;z-index:1000;display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--menu-shadow);padding:6px;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink)}.ui-picker-rows{overflow:auto;min-height:0;display:grid;gap:1px}.ui-picker-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:inherit;font:inherit;font-size:.92rem;text-align:left;cursor:pointer}.ui-picker-row.is-hover{background:#f3f7f4}.ui-picker-row.on{background:#e8f4ec;color:var(--forest);font-weight:700}.ui-picker-row.is-clear{color:var(--muted)}.ui-picker-row:disabled{opacity:.45;cursor:default}.ui-picker-row>.ui-icon{color:var(--leaf);flex:0 0 auto}.ui-picker-row-text{display:grid;min-width:0;line-height:1.25}.ui-picker-row-text>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-picker-row-text small{color:var(--muted);font-size:.75rem;font-weight:400}.ui-picker-search{display:flex;align-items:center;gap:6px;margin:0 0 6px;padding:0 8px;border:1px solid var(--line);border-radius:8px;color:var(--muted);flex:0 0 auto}.ui-picker-search input{flex:1;min-width:0;border:0;outline:0;padding:7px 0;background:transparent;font:inherit;color:var(--ink)}.ui-picker-empty{margin:0;padding:10px;color:var(--muted);font-size:.85rem}.ui-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:#14281c73}.ui-picker-menu.is-sheet{left:0;right:0;bottom:0;top:auto;max-height:78dvh;border-radius:18px 18px 0 0;padding:6px 12px calc(12px + env(safe-area-inset-bottom));border-bottom:0}.ui-picker-sheet-head{display:grid;justify-items:center;gap:6px;padding:2px 0 8px}.ui-picker-sheet-head strong{justify-self:start;font-size:.95rem;padding:0 2px}.ui-picker-grab{width:40px;height:4px;border-radius:2px;background:var(--line)}.ui-picker-menu.is-sheet .ui-picker-row{padding:12px 10px;font-size:1rem}.ui-picker-menu.is-sheet .ui-picker-search input{font-size:16px;padding:9px 0}.ui-chips{display:inline-flex;flex-wrap:wrap;gap:6px}.ui-chip{min-height:34px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:inherit;font-size:.85rem;font-weight:700;cursor:pointer;white-space:nowrap}.ui-chip:hover:not(:disabled):not(.on){background:#f3f7f4}.ui-chip.on{background:var(--forest);border-color:var(--forest);color:#fff}.ui-chip:disabled{opacity:.5;cursor:default}.class-picker-dropdowns{flex:1 1 260px;display:flex;gap:8px;min-width:0}.class-picker-dropdowns .ui-picker{flex:1 1 0;min-width:0;max-width:200px}.class-picker.is-compact .class-picker-dropdowns{flex:0 1 auto}.class-picker.is-compact .class-picker-dropdowns .ui-picker{width:120px}@media(max-width:700px){.switch-row{flex-wrap:nowrap;max-height:none;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;padding-right:28px;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent)}.switch-row::-webkit-scrollbar{display:none}.switch-row .ex-chip{flex:0 0 auto;min-height:34px;padding:6px 12px;font-size:.85rem}}.ui-picker-catcher{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:transparent}@media(max-width:700px){.ui-picker-menu .ui-picker-row{padding:11px 10px;font-size:.98rem}.ui-picker-menu .ui-picker-search input{font-size:16px;padding:8px 0}}.ui-picker-menu.is-sheet .ui-picker-sheet-head,.ui-picker-menu.is-sheet .ui-picker-search{touch-action:none}.ui-picker.is-sm .ui-picker-trigger{height:30px;padding:0 6px 0 8px;font-size:.82rem;border-radius:8px}.class-section-pair{display:flex;gap:8px;min-width:0}.class-section-pair .ui-picker{flex:1 1 0;min-width:0}.ui-picker.tool-select,.ui-picker.seating-duty-select{height:auto;padding:0;border:0;background:none;max-width:none}.question-editor-head .ui-picker.tool-select{flex:0 1 150px;min-width:110px}.ui-picker.seating-duty-select{width:100%}.att-class-row{display:flex;align-items:flex-start;gap:8px}.att-class-row .class-picker{flex:1 1 auto;min-width:0;margin-bottom:0}.att-search-toggle{flex:0 0 auto;width:40px;height:40px}.att-search-toggle.on{background:var(--forest);border-color:var(--forest);color:#fff}.att-search-input{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit}table.setup-class-table{table-layout:fixed}table.setup-class-table .setup-class-name-col{width:64px}table.setup-class-table .setup-class-menu-col{width:40px}table.setup-class-table td .ui-picker{width:100%}table.setup-class-table td.setup-class-menu{padding:4px 2px;text-align:center}table.setup-class-table td.setup-class-name{white-space:nowrap}.setup-tt-off{display:block;width:fit-content;margin-top:2px;font-size:.62rem}.att-counts{display:inline-flex;gap:6px;flex-wrap:wrap}.att-count{display:inline-flex;align-items:baseline;gap:2px;padding:3px 9px;border-radius:999px;font-size:.78rem;font-weight:700;line-height:1.3}.att-count b{font-size:.9rem;font-weight:800;color:inherit}.att-count.p{background:#e8f4ec;color:var(--leaf)}.att-count.a{background:#fdecea;color:#b42318}.att-count.l{background:#fdf3e2;color:#b45309}.att-count.h{background:#f1ecfa;color:#6b4ea1}.setup-journey-slot{display:inline-flex;align-items:center;flex:none}.setup-journey-slot:empty{display:none}.tt-settings{position:relative;display:inline-flex}.tt-settings-btn{position:relative;width:40px;height:40px}.tt-settings-btn.on{background:var(--forest);border-color:var(--forest);color:#fff}.tt-settings-btn .need-dot{position:absolute;top:5px;right:5px;margin:0}.tt-settings-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:60;width:min(290px,92vw);display:grid;gap:4px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--menu-shadow)}.tt-settings-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:0;border-radius:10px;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.tt-settings-item:hover{background:#f3f7f4}.tt-settings-item>.ui-icon{color:var(--muted);flex:none}.tt-settings-icon{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:10px;background:#e8f4ec;color:var(--forest)}.tt-settings-text{flex:1;min-width:0;display:grid;line-height:1.3}.tt-settings-text strong{font-size:.92rem}.tt-settings-text small{color:var(--muted);font-size:.76rem}.tt-entry-toolbar{display:flex;align-items:center;gap:6px;margin:0 0 10px}.tt-entry-toolbar .tt-view-switch{flex:none}.tt-entry-toolbar .tt-entry-search{flex:1 1 auto;min-width:0}.tt-entry-toolbar .tt-entry-search input{width:100%;min-width:0}.tt-entry-toolbar .icon-btn{flex:none}.tt-entry-save{position:relative;flex:none;margin-left:2px}.tt-entry-save .need-dot{position:absolute;top:4px;right:4px;margin:0}.tt-entry-notes{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-4px 0 10px}@media(max-width:700px){.tt-entry-toolbar{gap:4px}.tt-entry-toolbar .tt-entry-search{padding:0 8px}.tt-entry-save{width:var(--btn-h);padding:0;justify-content:center}.tt-entry-save-text{display:none}}.tt-room-kind{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.8rem;font-weight:700;white-space:nowrap}.tt-room-kind.is-lab{background:#e8f0fb;color:#1d4f91}.tt-room-kind.is-ground{background:#e8f4ec;color:var(--forest)}.quick-mode-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.quick-mode-row .quick-mode{flex:1 1 220px;width:auto}.quick-week-grid td{vertical-align:top;min-width:132px}.quick-week-cell{display:grid;gap:2px;padding:6px 8px;border-radius:8px;background:#f6f4ee;text-align:center;font-size:.8rem;line-height:1.3}.quick-week-seg.hit{font-weight:800;text-decoration:underline;text-decoration-color:var(--leaf)}.quick-week-days{white-space:nowrap}.quick-week-grid th.quick-brk span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.65rem;letter-spacing:1px;color:var(--muted)}.quick-head-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.quick.quick-full{gap:6px;padding:6px 10px}.quick.quick-full .quick-title{margin-right:0}.quick.quick-full .quick-head{gap:6px 10px}.quick.quick-full .quick-head-controls{margin-right:auto}.quick.quick-full .quick-tab{padding:5px 11px;font-size:.8rem}.quick.quick-full .quick-span-chips .ui-chip{min-height:0;height:32px;padding:0 12px;font-size:.8rem}.quick.quick-full .quick-grid-scroll{max-height:calc(100dvh - 64px)}.quick.quick-full .quick-week-grid td{min-width:96px;padding:2px}.quick.quick-full .quick-week-cell{padding:3px 5px;font-size:.72rem;line-height:1.2;gap:0;border-radius:6px}.quick.quick-full table.quick-grid thead th{padding:3px 4px}.quick.quick-full .quick-grid-class strong{font-size:.78rem}.quick.quick-full .quick-grid-class span{font-size:.62rem}.att-reading{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #cfe3d6;border-radius:14px;background:#eef7f1;color:var(--forest)}.att-reading>div{display:grid;gap:2px}.att-reading-spin{flex:none;width:22px;height:22px;border-radius:999px;border:3px solid #cfe3d6;border-top-color:var(--forest);animation:att-spin .8s linear infinite}@keyframes att-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.att-reading-spin{animation-duration:2s}}.att-marked-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;padding:8px 12px;border-radius:12px;background:#fbf3e4;color:#8a5a12;font-weight:650;font-size:.86rem}.att-marked-line.is-done{background:#eef7f1;color:var(--forest)}.att-marked-line .muted{font-weight:500}.att-editing-tag{margin-left:auto;padding:2px 10px;border-radius:999px;background:var(--forest);color:#fff;font-size:.74rem;font-weight:750}.att-card.is-editing{box-shadow:0 0 0 2px var(--leaf)}.att-dash-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.att-dash-date{display:inline-flex;align-items:center;gap:4px}.att-dash-date input{height:var(--btn-h)}.att-dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.att-dash-card{display:grid;gap:6px;padding:12px 14px;color:var(--ink);text-decoration:none;border-left:4px solid #e2b04a}.att-dash-card.is-marked{border-left-color:var(--leaf)}.att-dash-card.is-holiday{border-left-color:#9aa7b4}.att-dash-card:hover{box-shadow:var(--shadow)}.att-dash-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.att-dash-head strong{font-size:1.05rem;color:var(--forest)}.att-dash-state{padding:2px 9px;border-radius:999px;font-size:.72rem;font-weight:750;background:#fbf3e4;color:#8a5a12}.att-dash-state.is-marked{background:#e7f3ec;color:var(--forest)}.att-dash-state.is-holiday{background:#eef1f4;color:#55606b}.att-dash-counts{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.att-dash-who{line-height:1.3}.att-dash-empty{display:flex;align-items:center;justify-content:center;gap:8px;padding:22px;color:var(--forest)}.att-report-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;padding:12px 14px}.att-report-filters .field{margin:0}.att-report-days input{width:110px}.att-report-scope{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.att-report-sum{margin:0}.att-report-card{padding:0;overflow:hidden}table.att-report-table{width:100%;border-collapse:collapse;font-size:.86rem}table.att-report-table th,table.att-report-table td{padding:8px 10px;border-bottom:1px solid #ece6da;text-align:left;vertical-align:top}table.att-report-table th{background:#f4f7f5;color:var(--forest);font-weight:800;position:sticky;top:0}table.att-report-table td.num{text-align:center;font-weight:800;width:40px}table.att-report-table td.num.a{color:#b4412f}table.att-report-table td.num.l{color:#8a5a12}table.att-report-table td.num.h{color:#3f6f8f}.att-report-name{font-weight:650}.att-report-dates{display:flex;flex-wrap:wrap;gap:4px}.att-report-day{padding:1px 7px;border-radius:999px;background:#fbeceb;font-size:.74rem;white-space:nowrap}.att-report-day.is-leave{background:#fbf3e4}.att-report-day.is-halfday{background:#e9f1f7}@media(max-width:700px){.att-report-filters{padding:10px 12px}.att-report-days input{width:90px}table.att-report-table th,table.att-report-table td{padding:6px}}.att-board-conflict{margin-bottom:6px;padding:6px 10px;border-radius:10px;background:#fbf3e4;color:#8a5a12;font-size:.82rem}.att-board-row-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.att-board-strip{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.att-thumb{width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--card);cursor:pointer;flex:none}.att-thumb img{width:100%;height:100%;object-fit:cover;display:block}.att-thumb:hover{box-shadow:0 0 0 2px var(--leaf)}.att-reading-chip{display:inline-flex;align-items:center;gap:6px;height:var(--btn-h);padding:0 10px;border-radius:var(--btn-radius);background:#eef7f1;border:1px solid #cfe3d6;color:var(--forest);font-weight:700;font-size:.8rem;white-space:nowrap}.att-reading-chip .att-reading-spin{width:15px;height:15px;border-width:2px}.att-photo-view{width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 40px);display:grid;gap:10px}.att-photo-view img{width:100%;max-height:calc(100dvh - 140px);object-fit:contain;border-radius:10px;background:#f4f1ea}.att-logs{width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 40px);display:grid;grid-template-rows:auto 1fr;gap:8px}.att-logs-head{display:flex;align-items:center;justify-content:space-between}.att-logs-head h2{margin:0}.att-logs-list{overflow:auto;display:grid;gap:14px}.att-logs-day h3{margin:0 0 6px;font-size:.9rem;color:var(--forest)}.att-logs-photos{display:flex;flex-wrap:wrap;gap:8px}.att-logs-photo{display:grid;gap:3px;width:110px;padding:4px;border:1px solid var(--line);border-radius:10px;background:var(--card);cursor:pointer;text-align:left;font:inherit}.att-logs-photo img{width:100%;height:80px;object-fit:cover;border-radius:6px}.att-logs-photo span{font-size:.72rem;color:var(--muted)}.att-logs-photo em{font-style:normal;font-size:.7rem;color:#b4412f;font-weight:700}.att-logs-photo.is-removed img{opacity:.5}.att-class-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.att-class-row .att-date{height:var(--btn-h);width:auto}.att-class-row .att-holiday{margin:0;white-space:nowrap}.att-row-actions{display:inline-flex;gap:6px;margin-left:auto}.exam-enter-toggle{display:inline-flex;align-items:center;gap:6px}.att-row-tail{display:contents}.att-class-row>.class-picker{order:1}.att-class-row>.att-date{order:2}.att-class-row .att-holiday{order:3}.att-class-row>.att-search-toggle{order:4}.att-class-row .att-row-actions{order:5}@media(max-width:700px){.att-page .page-head>div:first-child{display:none}.att-page .page-head{margin-bottom:0}.att-page .page-head-actions{width:100%;flex-wrap:nowrap;justify-content:flex-start;gap:6px}.att-page .page-head-actions>.icon-btn:last-child{margin-left:auto}.att-date-top{height:var(--btn-h);width:132px;flex:none;padding:0 8px}.att-page .att-thumb{width:30px;height:30px}.att-class-row{flex-wrap:wrap}.att-class-row>.class-picker{order:1;flex:1 1 0;min-width:0}.att-class-row .class-picker-bar{display:none}.att-class-row>.att-search-toggle{order:2}.att-row-tail{order:3;display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px}.att-row-tail .att-row-actions{margin-left:auto}}.exam-enter-toggle{display:inline-flex;gap:2px;padding:3px;border-radius:10px;background:#e7f3ec;border:1px solid #cfe3d6}.exam-enter-toggle button{width:32px;height:28px;border:0;border-radius:8px;background:transparent;color:var(--forest);font-size:1rem;font-weight:800;cursor:pointer}.exam-enter-toggle button.on{background:var(--card);box-shadow:0 2px 6px #1b4d3e26}.exam-marks-toolbar .exam-marks-toolbar-actions{display:inline-flex;align-items:center;gap:6px}@media(max-width:700px){.exam-marks-toolbar{min-width:0}.exam-marks-toolbar .exam-find{flex:1 1 100%}.exam-marks-toolbar .exam-find input{width:100%}}.exam-marks-toolbar .ui-picker,.exam-marks-toolbar .class-section-pair .ui-picker{flex:none;max-width:none}.exam-marks-toolbar .ui-picker-trigger{width:auto;min-width:max-content}.exam-marks-toolbar .ui-picker-value{overflow:visible;text-overflow:clip}.exam-marks-toolbar .exam-class-pick{flex:none}@media(max-width:700px){.exam-marks-toolbar .exam-cycle-select{min-width:0}.exam-marks-toolbar .ui-picker-trigger{padding:0 8px 0 10px;gap:6px}}@media(max-width:700px){.att-page .page-head-actions>.icon-btn:last-child{margin-left:0}.att-row-tail:not(.is-editing){display:contents}.att-row-tail:not(.is-editing) .att-row-actions{order:3;margin-left:0}}.ui-menu .ui-menu-head{padding:8px 10px 3px;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.ui-menu .ui-menu-head:first-child{padding-top:4px}.att-page .page-head-actions .att-more{margin-left:auto}.att-marked-row{display:flex;align-items:center;gap:8px;margin:0}.att-marked-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;background:#fbf3e4;color:#8a5a12;font-size:.78rem;font-weight:750}.att-marked-chip.is-done{background:#e7f3ec;color:var(--forest)}.att-marked-row .att-editing-tag{margin-left:0}@media(min-width:901px){.exam-marks-toolbar{flex-wrap:nowrap}.exam-marks-toolbar .exam-find{flex:1 1 140px;min-width:110px}.exam-marks-toolbar .exam-find input{width:100%;min-width:0}.exam-marks-toolbar .exam-incharge{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exam-marks-toolbar .exam-class-avg{flex:none}.exam-marks-toolbar .exam-marks-toolbar-actions{flex:none;margin-left:auto}}.exam-hidden-close{margin-left:auto}.exam-mic{width:36px;height:36px;display:inline-grid;place-items:center;border:1px solid #cfe3d6;border-radius:10px;background:#e7f3ec;color:var(--forest);cursor:pointer;flex:none}.exam-mic:disabled{opacity:.45;cursor:not-allowed}.exam-mic.on{background:var(--forest);border-color:var(--forest);color:#fff;animation:exam-mic-pulse 1.2s ease-in-out infinite}@keyframes exam-mic-pulse{0%,to{box-shadow:0 0 #2e7d5773}50%{box-shadow:0 0 0 7px #2e7d5700}}@media(prefers-reduced-motion:reduce){.exam-mic.on{animation:none}}.exam-voice-strip{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 10px;padding:8px 12px;border-radius:12px;background:#eef7f1;border:1px solid #cfe3d6;font-size:.86rem}.exam-voice-strip .btn{margin-left:auto}.exam-voice-dot{width:9px;height:9px;border-radius:999px;background:var(--leaf);animation:quick-pulse 1.2s ease-in-out infinite}.exam-voice-heard{color:var(--muted);font-style:italic}.exam-voice-ok{color:var(--forest);font-weight:700}.exam-voice-bad{color:#b4412f;font-weight:700}table.sheet td.voice-here{box-shadow:inset 0 0 0 3px var(--leaf);background:#eef7f1}table.sheet td.voice-bad{animation:voice-bad .7s ease}@keyframes voice-bad{0%,to{background:transparent}30%{background:#fbd5d0}}.exam-voice-dec{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.exam-voice-ask{width:min(460px,calc(100vw - 24px));display:grid;gap:8px}.exam-voice-ask h2,.exam-voice-ask p{margin:0}.exam-voice-dec .ui-picker{min-width:150px}table.sheet td.exam-ab{background:#fdecec}table.sheet td.exam-ab .exam-marks-cell{color:#b4412f;font-weight:800;background:#fdecec}table.sheet td.has-preview{position:relative}.voice-preview{position:absolute;top:4px;right:4px;bottom:4px;left:4px;display:grid;place-items:center;border-radius:8px;background:#eef7f1eb;color:var(--muted);font-style:italic;font-weight:700;pointer-events:none;z-index:1}.exam-absent-btn{color:#b4412f;border-color:#f2c7c2}.exam-absent-btn:hover{background:#fdecec}@media(max-width:700px){.exam-marks-toolbar{gap:6px}.exam-marks-toolbar>.exam-cycle-select{order:1}.exam-marks-toolbar>.exam-class-pick,.exam-marks-toolbar>.exam-class-one{order:2}.exam-marks-toolbar>.exam-enter-toggle{order:3}.exam-marks-toolbar>.exam-mic{order:4;width:32px;height:32px}.exam-marks-toolbar>.exam-marks-toolbar-actions{order:5;margin-left:0}.exam-marks-toolbar>.exam-absent-btn{order:6}.exam-marks-toolbar>.exam-find-icon,.exam-marks-toolbar>.exam-find{order:7}.exam-marks-toolbar>.exam-find{flex:1 1 100%}.exam-marks-toolbar>.exam-class-avg{order:8}.exam-marks-toolbar>.exam-incharge{order:9}.exam-enter-toggle button{width:26px}.exam-marks-toolbar .ui-picker-trigger{padding:0 6px 0 8px;gap:4px}.exam-marks-toolbar .class-section-pair{gap:6px}}@media(max-width:700px){.exam-marks-toolbar>.exam-marks-toolbar-actions{display:contents}.exam-marks-toolbar-actions>.ui-menu-wrap{order:5}.exam-marks-toolbar-actions>.btn,.exam-marks-toolbar-actions>button:not(.icon-btn){order:10}.exam-marks-toolbar>.exam-absent-btn{order:10}}@media(max-width:700px){.exam-marks-toolbar:has(.exam-marks-toolbar-actions>.btn):after{content:"";order:10;flex-basis:100%;height:0}.exam-marks-toolbar-actions>.btn,.exam-marks-toolbar-actions>button:not(.icon-btn),.exam-marks-toolbar>.exam-absent-btn{order:11}}@media(max-width:700px){.exam-marks-toolbar:before{content:"";order:6;flex-basis:100%;height:0;margin-top:-6px}}.att-subnav .sub-short{display:none}@media(max-width:700px){.att-subnav .hub-icon{display:inline-block;width:16px;height:16px}.att-subnav .sub-long{display:none}.att-subnav .sub-short{display:inline}.att-subnav .transport-subnav-btn{gap:5px}}.att-thumb{position:relative}.att-thumb.is-unread{outline:2px dashed #d98a00;outline-offset:1px}.att-thumb.is-unread img{opacity:.6}.att-thumb-badge{position:absolute;left:50%;bottom:2px;transform:translate(-50%);padding:0 4px;border-radius:6px;background:#d98a00;color:#fff;font-size:9px;font-weight:700;line-height:14px;white-space:nowrap}@media(max-width:900px){html.kb-open .app-dock{display:none!important}}.sheet-ex-head .ex-tickall{display:inline-block;margin-top:2px;padding:0 6px;border:0;border-radius:999px;background:transparent;color:var(--leaf, #1b6b4a);font:inherit;font-size:11px;font-weight:700;line-height:18px;cursor:pointer}.sheet-ex-head .ex-tickall:hover{background:#1b6b4a1a}.sheet-ex-head .ex-tickall.on{color:#8a5a00}@media(min-width:1100px){.daily-page .stack.daily-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.daily-page .stack.daily-grid>.log-card{margin:0}}.checked-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.checked-date{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:#1b6b4a1a;color:#1b6b4a;font-size:11px;font-weight:700;white-space:nowrap}.ended-tag{font-style:normal;font-size:11px;font-weight:600;color:#8a6d3b;background:#fbf3e2;border-radius:999px;padding:0 6px;margin:0 4px}.allot-chip.past{opacity:.6;background:transparent;border-style:dashed}.punch-group{display:flex;align-items:center;justify-content:center;gap:6px;margin:4px 0 2px}.punch-group-name{border:0;background:transparent;font:inherit;font-weight:700;min-width:110px;cursor:pointer}.punch-group-next svg{transform:scaleX(-1)}.marks-upload{margin-top:18px;display:grid;gap:10px}.marks-upload-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}.marks-upload-head h2{margin:0;font-size:1.05rem}.marks-upload-head p{margin:0}.marks-upload-toggle{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;margin-left:auto}.marks-upload-list{display:grid;gap:6px}.marks-upload-row{display:grid;grid-template-columns:170px 1fr;gap:6px 12px;align-items:start;padding:9px 12px;background:var(--card);border:1px solid var(--line);border-radius:12px}.marks-upload-class{display:grid;gap:2px}.marks-upload-chips{display:flex;flex-wrap:wrap;gap:5px}.marks-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:.8rem;font-weight:650}.marks-chip.missing{background:#fdecea;color:#9b2c22}.marks-chip.partly{background:#fff4dc;color:#7a5200}.marks-chip small{font-weight:600;opacity:.8}.marks-upload-key{margin:0}@media(max-width:640px){.marks-upload-row{grid-template-columns:1fr}.marks-upload-toggle{margin-left:0}}.exam-marks-page{min-width:0;max-width:100%;overflow-x:clip}@media(max-width:700px){.exam-marks-toolbar .exam-marks-toolbar-actions{flex-wrap:wrap;flex-shrink:1;min-width:0;max-width:100%}.exam-marks-toolbar .exam-marks-toolbar-actions .save-status{display:none}}.exam-kb-open{padding-bottom:60vh}.exam-kb-open>:not(.exam-kb-strip):not(.exam-marks-sheet){display:none!important}.exam-kb-open .exam-marks-sheet{margin-bottom:0}.exam-kb-open .exam-marks-head>.muted,.exam-kb-open .exam-marks-head>.exam-marks-mm,.exam-kb-open .exam-avg-row{display:none}.exam-kb-strip{display:flex;align-items:center;gap:8px;margin:0 0 6px;padding:5px 6px;background:var(--card);border:1px solid var(--line);border-radius:12px}.exam-kb-strip button{height:38px;min-width:46px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:#f4f7f5;color:var(--forest);font:inherit;font-size:1.15rem;font-weight:800;cursor:pointer}.exam-kb-strip .exam-kb-ab{font-size:.9rem}.exam-kb-strip .exam-kb-save{flex:1;display:flex;justify-content:center;min-width:0}.exam-kb-strip .exam-kb-save .save-status{min-height:0}.exam-kb-strip .exam-kb-done{background:var(--forest);color:#fff;border-color:var(--forest);font-size:.9rem}.tt-outside-note{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px;padding:10px 14px;margin:0 0 12px;font-size:.88rem}.tt-outside-links{display:flex;flex-wrap:wrap;gap:8px}.ctest-marks{display:grid;gap:8px}.ctest-voice-bar{display:flex;align-items:center;gap:10px}.ctest-voice-table td.voice-here{box-shadow:inset 0 0 0 3px var(--leaf);background:#eef7f1}.ctest-voice-table td.voice-bad{animation:voice-bad .7s ease}.ctest-voice-table td.has-preview{position:relative}.pill.ct-upcoming{margin-left:6px;background:#fff4dc;color:#7a5200}.ct-upcoming-card{margin-bottom:12px;border-color:#e8cf96;background:#fffaf0}.ct-upcoming-card h2{margin:0 0 8px;font-size:1rem}.van-logs{gap:10px}.van-logs-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;padding:12px 14px}.van-logs-bar .field{flex:1 1 200px;min-width:0;margin:0}.van-logs-bar .van-logs-download{flex:none;display:inline-flex;align-items:center;gap:6px}.van-logs-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 14px}.van-logs-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.van-pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.76rem;font-weight:750;line-height:1.5;white-space:nowrap}.van-pill.boarded{background:#e3f3e8;color:#1d6b3d}.van-pill.missed{background:#fcdcd7;color:#a3281a}.van-pill.absent{background:#eef0f2;color:#5d6670}.van-pill.none{background:transparent;color:#b9bdb7}.van-log-wrap{background:var(--card);border:1px solid var(--line);border-radius:12px;max-height:72vh}.van-log-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:.86rem}.van-log-table th,.van-log-table td{background:transparent;border:0;border-bottom:1px solid #efebe2;padding:7px 12px;text-align:left;vertical-align:middle}.van-log-table thead th{position:sticky;top:0;z-index:2;background:#f4f7f5;color:var(--forest);font-weight:800;font-size:.8rem;white-space:nowrap}.van-log-table thead th.van-log-day{text-align:center;min-width:104px}.van-log-table thead th.van-log-day.latest{background:#e6f2ea}.van-log-table tbody tr:nth-child(2n) td{background:#faf8f3}.van-log-table tbody tr:nth-child(odd) td{background:#fff}.van-log-table tbody tr:hover td{background:#eef6f1}.van-log-table td.van-log-cell{text-align:center;border-left:1px solid #f3efe7}.van-log-table td.van-log-cell small{display:block;margin-top:2px;color:var(--muted);font-size:.72rem;font-variant-numeric:tabular-nums}.van-log-table tbody tr td.van-log-cell.missed{background:#fdecea}.van-log-table .van-log-sticky{position:sticky;left:0;z-index:1}.van-log-table thead .van-log-sticky{z-index:3}.van-log-table td.van-log-name{min-width:170px;max-width:220px;border-right:1px solid var(--line)}.van-log-table td.van-log-name strong{display:block;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.van-log-table td.van-log-name small{color:var(--muted);font-size:.74rem}@media(max-width:700px){.van-log-list li.missed{background:#fdecea}.van-log-list li:nth-child(2n):not(.missed){background:#faf8f3}.van-logs-bar .field{flex-basis:130px}}.van-status-page{display:grid;gap:14px}.van-status-rounds{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.van-status-round{width:58px;height:58px;border-radius:50%;border:2px solid transparent;background:#e7ebef;color:#4a5560;font:inherit;font-weight:800;cursor:pointer}.van-status-round.ok{background:#d8efe0;color:#1d6b3d}.van-status-round.skip{opacity:.45}.van-status-round.on{border-color:var(--forest);box-shadow:0 4px 12px #1b4d3e2e}.van-status-vans{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.van-status-van{display:grid;gap:2px;text-align:left;padding:10px 12px;border-radius:12px;border:2px solid transparent;background:#eceff2;color:#44505b;font:inherit;cursor:pointer}.van-status-van strong{font-size:1.05rem}.van-status-van small{color:#6b7680;font-size:.76rem;min-height:1em}.van-status-van .van-status-count{font-size:.78rem;font-weight:700;color:#a3281a}.van-status-van.ok{background:#d8efe0;color:#1d6b3d}.van-status-van.ok .van-status-count{color:#1d6b3d}.van-status-van.on{border-color:var(--forest)}.van-status-detail{display:grid;gap:8px}.van-status-detail-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px}.van-status-detail-head h2{margin:0;font-size:1rem}.van-status-students{list-style:none;margin:0;padding:0}.van-status-students li{display:grid;grid-template-columns:minmax(0,1fr) auto 110px;align-items:center;gap:8px;padding:8px 10px;border-top:1px solid #f0ece3}.van-status-students li:first-child{border-top:0}.van-status-students li:nth-child(2n){background:#faf8f3}.van-status-students li.missed,.van-status-students li.waiting{background:#fdecea}.van-status-students .van-log-who{display:grid;min-width:0;line-height:1.25}.van-status-students .van-log-who small{color:var(--muted);font-size:.75rem}.van-status-students .van-log-time{text-align:right;font-size:.78rem;color:var(--muted)}.van-settings{width:min(640px,calc(100vw - 24px));max-height:calc(100dvh - 40px);overflow:auto;display:grid;gap:12px}.van-settings-head{display:flex;align-items:center;justify-content:space-between}.van-settings-head h2{margin:0}.van-settings-list{display:grid;gap:6px}.van-settings-row{display:grid;grid-template-columns:64px minmax(0,1fr) minmax(0,1.3fr) 70px;gap:8px;align-items:center}.van-settings-row.head span{font-size:.76rem;font-weight:800;color:var(--forest)}.van-settings-row input[type=text],.van-settings-row input:not([type]){width:100%;min-width:0;padding:7px 9px;border:1px solid var(--line);border-radius:9px;font:inherit}.van-settings-row.off input:not([type=checkbox]){opacity:.5}.van-settings-on{display:inline-flex;align-items:center;gap:6px}.van-settings-on small{color:var(--muted);font-size:.72rem}@media(max-width:520px){.van-settings-row{grid-template-columns:48px minmax(0,1fr) minmax(0,1fr) 54px;gap:6px}}.exam-marks-sheet{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}@media(pointer:coarse){.exam-marks-sheet .sheet thead th{box-shadow:none}}table.sheet td.exam-ab{position:relative}.exam-ab-why{position:absolute;top:2px;right:2px;z-index:2;min-width:18px;height:18px;padding:0 4px;border-radius:9px;border:1px solid #d9c9a8;background:#fffaf0;color:#8a6a1f;font:inherit;font-size:.68rem;font-weight:800;line-height:16px;cursor:pointer}.exam-ab-why.has{background:#fdf0d5;border-color:#e0b25c;color:#6b4a00}.absent-reason{width:min(440px,calc(100vw - 24px));display:grid;gap:10px}.absent-reason h2,.absent-reason p{margin:0}.absent-reason-chips{display:flex;flex-wrap:wrap;gap:6px}.absent-reason-photo{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.absent-reason-thumb img{display:block;width:72px;height:72px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.exam-dash-teachers tbody tr.exam-dash-row:nth-child(4n+1) td,.exam-dash-teachers tbody tr.exam-dash-row:nth-child(4n+2) td{background:#fff}.exam-dash-teachers tr.exam-dash-row.open td{background:#eef6f1}.exam-dash-chips{display:flex;flex-wrap:wrap;gap:5px}.marks-chip.paper-submitted{background:#e3f3e8;color:#1d6b3d}.marks-chip.paper-in_review,.marks-chip.paper-allotted,.marks-chip.paper-draft{background:#fff4dc;color:#7a5200}.marks-chip.paper-not-allotted{background:#eef0f2;color:#5d6670}.exam-marks-sheet .sheet{zoom:var(--exam-zoom, 1)}.exam-zoom{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--card);flex:none}.exam-zoom button{height:32px;min-width:32px;padding:0 8px;border:0;background:transparent;color:var(--forest);font:inherit;font-weight:800;font-size:1rem;cursor:pointer}.exam-zoom button:disabled{opacity:.35;cursor:default}.exam-zoom .exam-zoom-pct{font-size:.78rem;min-width:46px;border-left:1px solid var(--line);border-right:1px solid var(--line)}.exam-kb-strip .exam-zoom button{height:38px}.exam-kb-strip .exam-kb-mic{display:inline-grid;place-items:center}@media(max-width:420px){.exam-kb-strip{gap:5px;padding:5px 4px}.exam-kb-strip button{min-width:38px;padding:0 8px}.exam-kb-strip .exam-zoom .exam-zoom-pct{min-width:40px}}.exam-dash-teachers tbody tr.exam-dash-row td{background:#fff}.exam-dash-teachers tbody tr.exam-dash-row.zebra td{background:#f6f5f1}.exam-dash-teachers tr.exam-dash-row.open td{background:#eef3ef}.exam-dash-papers{list-style:none;margin:0;padding:0;display:grid;gap:2px;max-width:520px}.exam-dash-papers li{display:flex;justify-content:space-between;gap:12px;padding:4px 8px;border-bottom:1px solid #efebe2;font-size:.86rem}.marks-chip .marks-chip-menu{margin-left:2px}.marks-chip .marks-chip-menu .icon-btn{width:20px;height:20px;min-height:0}.marks-on-btn{margin-left:4px;font-size:.78rem}.marks-upload-row{grid-template-columns:170px 1fr auto}.marks-class-menu{align-self:start}.marks-off-all{margin:0;padding:8px 12px;border-radius:10px;background:#f3f1ec;font-size:.86rem}.marks-chip.hidden-subject{background:#eceeef;color:#59636c}.marks-off-panel{width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 40px);overflow:auto;display:grid;gap:10px}.marks-off-panel h2{margin:0;font-size:1.05rem}.marks-off-panel p{margin:0}.marks-off-list{list-style:none;margin:0;padding:0}.marks-off-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:7px 4px;border-bottom:1px solid #efebe2}.marks-off-list li:nth-child(2n){background:#faf9f6}@media(max-width:640px){.marks-upload-row{grid-template-columns:1fr auto}.marks-upload-row .marks-upload-chips{grid-column:1 / -1;grid-row:2}.marks-off-list li{grid-template-columns:1fr}}.uploader-ask{width:min(460px,calc(100vw - 24px));display:grid;gap:10px}.uploader-ask h2,.uploader-ask p{margin:0}.uploader-option{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.uploader-option span{display:grid;gap:2px}.uploader-option input{margin-top:3px}.exam-marks-sheet table.sheet tbody tr td.exam-ab{background:#fdecec}.exam-marks-sheet table.sheet td.exam-ab>span{color:#b4412f;font-weight:800}.marks-chip.complete{background:#e3f3e8;color:#1d6b3d}.syl-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.syl-view .syl-subject{display:grid;gap:8px;align-content:start;padding:14px 16px}.syl-view .syl-subject.editing{grid-column:1 / -1;border-color:var(--leaf)}.syl-view .syl-subject-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.syl-view .syl-subject-head h2{margin:0;font-size:1.02rem}.syl-view .syl-subject-head p{margin:2px 0 0}.syl-subject-tools{display:inline-flex;align-items:center;gap:6px}.syl-topics{margin:0;padding-left:18px;display:grid;gap:4px;line-height:1.45}.syl-topics li::marker{color:var(--leaf)}.syl-empty{margin:0}.syl-editor{width:100%;min-height:220px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;font:inherit;font-size:.95rem;line-height:1.55;resize:vertical;background:#fff}.syl-editor:focus{outline:none;border-color:var(--leaf);box-shadow:0 0 0 3px #2e7d5026}.syl-view .syl-subject.editing{grid-column:auto;border-color:var(--leaf)}.syl-view .syl-editor{min-height:0;height:auto;padding:8px 10px;font-size:.9rem;line-height:1.45;border-radius:10px}.syl-edit-tools{display:inline-flex;gap:6px;align-items:center;align-self:end}.syl-view .syl-off{opacity:.75;background:#f6f5f1}.exam-voice-open{padding-bottom:50vh}.exam-voice-open>:not(.exam-voice-strip):not(.exam-marks-sheet){display:none!important}.exam-voice-open .exam-voice-strip{margin:0 0 6px;padding:6px 10px;gap:4px 10px;font-size:.8rem}.exam-voice-open .exam-voice-strip:not(.show-dec) .exam-voice-dec{display:none}.exam-voice-open .exam-marks-head>.muted,.exam-voice-open .exam-marks-head>.exam-marks-mm,.exam-voice-open .exam-avg-row{display:none}@media(max-width:700px){.exam-marks-toolbar>.exam-mic{order:-1;width:36px;height:36px}}.comms-strip{margin:0 0 10px;padding:10px 14px;border-radius:12px;background:#fff4dc;border:1px solid #ecd39a;color:#5c4300;font-weight:650}.comms-new{display:block;margin:0 0 10px;padding:8px 14px;border-radius:12px;background:#e9f1fb;color:#1f4f8a;font-weight:700;text-decoration:none}.comms-popup-wrap{z-index:120}.comms-popup{position:relative;width:min(440px,calc(100vw - 24px));display:grid;gap:10px;padding-top:34px}.comms-popup img{width:100%;max-height:50vh;object-fit:contain;border-radius:10px}.comms-popup p{margin:0;font-size:1rem;white-space:pre-wrap}.comms-close,.comms-wait{position:absolute;top:8px;right:8px}.comms-wait{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#eef0f2;font-weight:800;color:var(--muted)}.comms-page{display:grid;gap:12px}.comms-list{display:grid;gap:10px}.comms-item{display:grid;gap:6px;padding:12px 14px}.comms-item.unread{border-color:#9cc0e8}.comms-item.ended{opacity:.7}.comms-item-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.comms-del{margin-left:auto}.comms-text{margin:0;white-space:pre-wrap}.comms-img{max-width:100%;max-height:320px;border-radius:10px;object-fit:contain;justify-self:start}.comms-form{display:grid;gap:12px;padding:14px}.comms-form textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit}.comms-pick{display:flex;flex-wrap:wrap;gap:6px 14px;max-height:220px;overflow:auto;padding:4px 0}.comms-people{display:grid;gap:6px}.comms-people input[type=search]{padding:8px 10px;border:1px solid var(--line);border-radius:10px;font:inherit}.comms-img-pick{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.comms-img-pick img{width:72px;height:72px;object-fit:cover;border-radius:8px}.pf-card{display:grid;gap:8px;padding:14px 16px;margin:12px 0}.pf-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.pf-head h2{margin:0;font-size:1.05rem}.pf-tools{display:inline-flex;gap:6px;flex-wrap:wrap}.pf-group{border-top:1px solid #efebe2;padding-top:6px}.pf-group-head{display:flex;gap:8px;align-items:baseline;width:100%;padding:4px 0;border:0;background:transparent;font:inherit;color:var(--forest);cursor:pointer;text-align:left}.pf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px 14px;padding:6px 0 4px}.pf-field.wide{grid-column:1 / -1}.pf-field input,.pf-field select,.pf-field textarea{width:100%;min-width:0;padding:7px 9px;border:1px solid var(--line);border-radius:9px;font:inherit}.pf-text{white-space:pre-wrap}.pf-thumb{width:64px;height:64px;object-fit:cover;border-radius:8px}.pf-file{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}.pf-checklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 14px}.pf-checklist>div{display:grid;gap:2px}.pf-settings{width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 40px);overflow:auto;display:grid;gap:10px}.pf-settings h2,.pf-settings p{margin:0}.pf-settings-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:5px 4px;border-bottom:1px solid #efebe2}.pf-settings-row:nth-child(2n){background:#faf9f6}.student-head-actions{display:flex;flex-wrap:wrap;gap:8px}.van-status-bar{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.van-status-bar .gate-day{flex:none}.comms-by{font-weight:500;opacity:.75}.hub-badge{display:inline-block;min-width:20px;margin-left:6px;padding:1px 6px;border-radius:999px;background:#c62828;color:#fff;font-size:.75rem;font-weight:800;text-align:center;vertical-align:middle}.exam-voice-gear{display:none;width:30px;height:30px;border:1px solid #cfe3d6;border-radius:50%;background:#fff;font-size:1rem;line-height:1;cursor:pointer}.exam-voice-gear[aria-pressed=true]{background:#d9eee1}@media(pointer:coarse){.exam-voice-gear{display:inline-block;margin-left:auto}.exam-voice-gear+.btn{margin-left:0}}.ctest-voice-phone{position:fixed;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:60;margin:0;padding:6px 10px;gap:4px 10px;font-size:.8rem;box-shadow:0 6px 24px #0000002e}.ctest-voice-phone:not(.show-dec) .exam-voice-dec{display:none}.ctest-marks:has(.ctest-voice-phone){padding-bottom:45vh}.quick-load{max-width:640px}.quick-load-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.log-card-tools{display:inline-flex;align-items:center;gap:2px}.lms-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.lms-bar .ui-picker{min-width:240px}.lms-parts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.lms-part{display:inline-flex;align-items:center;gap:2px;font-weight:700}.lms-group{margin-bottom:14px}.lms-group-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 0}.lms-group-head h2{margin:0;font-size:1.05rem}.lms-chapter{margin-bottom:10px;padding:12px 14px}.lms-chapter-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.lms-chapter-head h3{margin:0;font-size:1rem;display:flex;align-items:center;gap:8px}.lms-no{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#e6f1ea;color:var(--forest);font-size:.8rem;font-weight:800;flex:none}.lms-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:8px}@media(max-width:640px){.lms-cols{grid-template-columns:1fr}}.lms-label{margin:0 0 4px;font-size:.75rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted, #6b6b6b)}.lms-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.lms-list li{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:3px 4px 3px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}.lms-list-wrap{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.lms-add{margin-top:6px;border:1px dashed var(--line);background:transparent;border-radius:10px;padding:4px 10px;font:inherit;font-size:.85rem;font-weight:700;color:var(--forest);cursor:pointer}.lms-loose{padding:12px 14px}.lms-loose h2{margin:0;font-size:1rem}.ex-title{display:flex;align-items:center;justify-content:center;gap:2px}.ex-more .ui-menu-wrap{display:inline-flex}.lms-plan{display:grid;gap:10px}.lms-plan-top{padding:12px 14px;display:grid;gap:8px}.lms-plan-meta{display:flex;flex-wrap:wrap;gap:8px;font-weight:700}.lms-plan-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.lms-plan-tools .field{margin:0}.lms-follow .ui-picker{min-width:150px}.lms-over{color:#b3261e;font-weight:700}.lms-part-slots{display:grid;gap:6px}.lms-part-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}.lms-plan-rows{display:grid;gap:4px;margin-top:8px}.lms-plan-row{display:grid;grid-template-columns:26px 64px minmax(120px,1fr) 110px 32px;align-items:center;gap:8px;padding:4px 6px;border:1px solid var(--line);border-radius:10px;background:#fff}.lms-plan-row.kind-test{background:#fff6e6}.lms-plan-row.kind-revision{background:#eef4ff}.lms-kind{font-size:.72rem;font-weight:800;text-transform:uppercase;color:var(--muted, #6b6b6b)}.lms-row-name{font-weight:650}.lms-lect{width:64px;padding:4px 6px;text-align:center}.lms-lect-view{text-align:center;font-weight:700}.lms-when{font-size:.85rem}.lms-row-add{display:flex;gap:8px}.lms-dates{padding:8px 12px}.lms-date-row{display:grid;grid-template-columns:110px 34px 1fr;gap:8px;padding:5px 0;border-top:1px solid var(--line)}.lms-date-row.same{border-top:0}.lms-date-row.today{background:#eef7f1}.lms-date{font-weight:750}@media(max-width:640px){.lms-plan-row{grid-template-columns:24px 44px 1fr 28px}.lms-plan-row .lms-when{grid-column:3 / -1;grid-row:2}}.lms-plan-row.done .lms-row-name{color:var(--forest)}.lms-plan-row.done{background:#f1f8f3}.lms-tick{width:18px;height:18px;accent-color:var(--forest)}.lms-tick-view{text-align:center;font-weight:800;color:var(--forest)}.lms-bar-wrap{display:inline-flex;align-items:center;gap:6px}.lms-progress{display:inline-block;width:120px;height:8px;border-radius:999px;background:#e7e2d6;overflow:hidden}.lms-progress>span{display:block;height:100%;background:var(--forest)}.lms-chapter.all-done{border-color:#bcdcc6}.lms-tree{display:grid;gap:10px}.lms-t-part{margin:6px 0 4px;font-size:1.05rem}.lms-t-group{display:grid;gap:10px}.lms-t-chapter{padding:8px 12px 10px;display:grid;gap:2px}.lms-t-row{display:flex;align-items:center;gap:8px;min-height:34px;padding:2px 6px;border-radius:8px}.lms-t-name{flex:1;min-width:0}.lms-t-row.lvl-ch .lms-t-name{font-weight:800;font-size:1.02rem;color:#1f5a3d}.lms-t-row.lvl-ex{margin-left:22px}.lms-t-row.lvl-ex .lms-t-name{font-weight:700;color:#1d4f91}.lms-t-row.lvl-sub{margin-left:52px}.lms-t-row.lvl-sub .lms-t-name{color:#3a3a3a}.lms-t-row.lvl-test{margin-left:22px}.lms-t-row.lvl-test .lms-t-name{color:#b5590b}.lms-t-row.kind-revision .lms-t-name{color:#6b3fa0}.lms-t-row.done{background:#e9f6ee}.lms-t-row.done .lms-t-name{color:#1e7a45}.lms-t-chapter.done{border-color:#9fd3b2;background:#f3fbf6}.lms-t-date{font-size:.72rem;font-weight:700;color:#1e7a45;white-space:nowrap}.lms-t-tick{width:18px;height:18px;accent-color:#1e7a45;flex:none}.lms-t-box{width:18px;height:18px;flex:none;border:1.5px solid #b9b3a5;border-radius:4px;display:inline-grid;place-items:center;font-size:.75rem;font-weight:900;color:#fff}.lms-t-box.on{background:#1e7a45;border-color:#1e7a45}.lms-t-add{justify-self:start;border:1px dashed var(--line);background:transparent;border-radius:8px;padding:2px 10px;font:inherit;font-size:.8rem;font-weight:700;color:var(--forest);cursor:pointer}.lms-t-add.lvl-sub{margin:2px 0 4px 52px}.lms-t-adds{display:flex;gap:8px;margin:6px 0 0 22px}.lms-t-ex{display:grid;gap:2px}.lms-t-empty{margin:4px 0 0 22px}@media(max-width:640px){.lms-t-row.lvl-ex,.lms-t-row.lvl-test,.lms-t-adds,.lms-t-empty{margin-left:12px}.lms-t-row.lvl-sub,.lms-t-add.lvl-sub{margin-left:28px}}.lms-outline{display:grid;gap:8px}.lms-outline-tools{display:flex;justify-content:flex-end}.lms-tiles{position:relative;display:grid;gap:4px}.lms-tile-row{display:grid;grid-template-columns:18px 1fr;align-items:stretch}.lms-line{position:relative;display:block}.lms-line:before{content:"";position:absolute;left:9px;top:-4px;bottom:0;width:0;border-left:2px solid #ebe6db;transform:translate(-1px)}.lms-tile-row:first-child .lms-line:before{top:50%}.lms-tile-row.line-done .lms-line:before{border-left-color:#a9d9bb}.lms-tile-row.line-now .lms-line:before{border-left:2px dashed #8fcca6}.lms-dot{position:absolute;left:9px;top:50%;width:7px;height:7px;box-sizing:border-box;border-radius:50%;background:#e3ddd0;transform:translate(-50%,-50%)}.lms-tile-row.line-done .lms-dot{background:#8fcca6}.lms-tile-row.line-now .lms-dot{background:#fff;border:2px solid #3f9b66;width:10px;height:10px}.lms-tile{display:flex;align-items:center;gap:10px;min-height:40px;padding:3px 4px 3px 12px;border:1px solid #efeae0;border-radius:10px;background:#fff;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:background .15s,opacity .15s}.lms-tile.lvl-1{margin-left:24px}.lms-tile.lvl-2{margin-left:48px}.lms-tile-name{flex:1;min-width:0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:.95rem}.lms-tile.type-head{background:transparent;border-color:transparent;padding-left:4px}.lms-tile.type-head .lms-tile-name{font-weight:800;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:#8a8273}.lms-tile.type-ch{cursor:pointer;border-color:#e6efe8}.lms-tile.type-ch .lms-tile-name{font-weight:750;color:#24553b}.lms-caret{display:inline-block;width:12px;color:#8a8273;font-weight:800;transition:transform .15s}.lms-caret.open{transform:rotate(90deg)}.lms-ch-no{color:#6f8f7c;font-weight:700;font-size:.82rem}.lms-tile.type-ex .lms-tile-name{font-weight:650;color:#2b5d9b}.lms-tile.type-sub .lms-tile-name{color:#3d3d3d}.lms-tile.type-test .lms-tile-name{color:#b5652a}.lms-tile.kind-revision .lms-tile-name{color:#7650a6}.lms-test-tag{font-size:.68rem;letter-spacing:.05em}.lms-tile.done{background:#f1f9f4;border-color:#d3ebdc}.lms-tile.done .lms-tile-name,.lms-tile.done .lms-ch-no{color:#2f7d50}.lms-tile.current{border-color:#b7dcc4;box-shadow:0 0 0 1px #b7dcc4}.lms-tile.moving{opacity:.3}.lms-tiles.is-dragging .lms-tile{cursor:grabbing}.lms-count{font-size:.72rem;color:#8a8273;white-space:nowrap}.lms-date{font-size:.7rem;color:#3f9b66;white-space:nowrap}.lms-tick{width:18px;height:18px;accent-color:#3f9b66;flex:none;cursor:pointer}.lms-tick-view{width:18px;height:18px;flex:none;border:1.5px solid #cfc8b9;border-radius:5px;display:inline-grid;place-items:center;font-size:.75rem;font-weight:900;color:#fff}.lms-tick-view.on{background:#3f9b66;border-color:#3f9b66}.lms-drop-line{position:absolute;left:18px;right:0;height:3px;border-radius:3px;background:#3f9b66;pointer-events:none}.lms-ghost{position:fixed;z-index:90;margin:0!important;pointer-events:none;box-shadow:0 10px 28px #0000002e;transform:rotate(-1deg);opacity:.96;cursor:grabbing}.lms-drag-hint{margin:0}@media(max-width:640px){.lms-tile.lvl-1{margin-left:12px}.lms-tile.lvl-2{margin-left:24px}}.lms-loose{max-width:720px;width:100%}.lms-loose h2{margin:0}.syl-lms-pick{display:grid;gap:2px;max-height:55vh;overflow:auto;margin:8px 0}.syl-lms-pick label{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:8px}.syl-lms-pick label:hover{background:#f4f1ea}.syl-lms-pick .lv-1{margin-left:22px}.syl-lms-pick .lv-2{margin-left:44px}.syl-lms-pick .t-ch{font-weight:750;color:#24553b}.syl-lms-pick .t-ex{font-weight:650;color:#2b5d9b}.syl-lms-btn{margin-top:6px}.dl-box{display:grid;gap:8px}.dl-switch{margin-left:8px;font-size:.75rem;font-weight:700;color:var(--forest);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline}.dl-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.dl-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 6px 5px 12px;border-radius:999px;background:#eef6f0;color:#24553b;font-weight:700;font-size:.88rem}.dl-chip button,.dl-x{border:0;background:transparent;color:#8a8273;font-size:1rem;line-height:1;cursor:pointer;padding:2px 6px}.dl-chips .ui-picker,.dl-adds .ui-picker{min-width:140px}.dl-rows{display:grid;gap:4px}.dl-row{display:flex;align-items:center;gap:8px;padding:4px 6px 4px 10px;border:1px solid #efeae0;border-radius:10px;background:#fff}.dl-row.dl-ex .dl-name{font-weight:700;color:#2b5d9b}.dl-row.dl-sub,.dl-row.dl-own,.dl-row.dl-test{margin-left:20px}.dl-row.dl-own .dl-name{font-style:italic}.dl-row.dl-test .dl-name{color:#b5652a}.dl-name{flex:1;min-width:0}.dl-done{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:700;color:#8a8273;cursor:pointer;white-space:nowrap}.dl-done.on{color:#2f7d50}.dl-done input{accent-color:#3f9b66}.dl-adds{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.dl-test{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.dl-test input[type=text],.dl-test>input:not([type]){flex:1 1 200px}.dl-label{display:inline-flex;align-items:center;justify-content:center;gap:2px}.dl-marked{display:block;margin-top:4px;color:#2f7d50;font-weight:700;font-size:.78rem}.dl-pick{max-width:460px;width:100%}.dl-pick-list{display:grid;gap:4px;max-height:50vh;overflow:auto;margin:8px 0}.dl-pick-list button{text-align:left;padding:8px 10px;border:1px solid #efeae0;border-radius:10px;background:#fff;font:inherit;cursor:pointer}.dl-pick-list button:hover{background:#f1f9f4;border-color:#cfe3d6}.dl-bars{display:grid;gap:6px}.dl-bar{display:flex;align-items:center;gap:4px}.dl-bar .ui-picker,.dl-bar>input{flex:1;min-width:0}.dl-icon{flex:none;width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:#a39b8b;font-size:1.15rem;line-height:1;cursor:pointer}.dl-icon:hover{background:#f1ede4;color:#5f584b}.dl-plus{font-size:1.3rem;font-weight:700}.diary-page .page-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:10px}.diary-list{display:grid;gap:10px}.diary-card{padding:12px 14px;display:grid;gap:6px}.diary-card p{margin:0;line-height:1.45}.diary-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.diary-head h2{margin:0;font-size:1.05rem}.diary-k{display:inline-block;min-width:118px;font-size:.75rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#8a8273}.diary-sub{color:#555}.diary-hw{background:#fff7ec;border-radius:8px;padding:6px 8px}.diary-test{color:#b5652a;font-weight:700}@media(max-width:640px){.diary-k{display:block;min-width:0}}.lms-test-state{font-size:.7rem;font-weight:700;color:#b5652a;white-space:nowrap}.lms-test-state.ok{color:#2f7d50}.lmsp-search{flex:1 1 240px;max-width:360px}.lmsp-filters{display:flex;flex-wrap:wrap;gap:6px}.lmsp-filters .pill{border:1px solid var(--line);background:#fff;cursor:pointer;font:inherit;font-size:.82rem;padding:4px 10px}.lmsp-filters .pill.on{background:var(--forest);color:#fff;border-color:var(--forest)}.lmsp-table td{vertical-align:middle}.lmsp-table .lms-progress{width:90px}.lmsp-none td{background:#fff8f5}.lmsp-flag{color:#b3261e;font-weight:700;font-size:.85rem}.lmsp-stale{color:#b3261e;font-weight:700}.lmsp-warn{color:#b5652a;font-weight:700}.lms-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:4px;border-bottom:1px solid #e6e0d4;padding-bottom:0}.lms-tab{display:inline-flex;align-items:center;border-radius:10px 10px 0 0;border:1px solid transparent;border-bottom:0;margin-bottom:-1px}.lms-tab button[role=tab]{border:0;background:transparent;font:inherit;font-weight:700;color:#6f6758;padding:8px 14px;cursor:pointer}.lms-tab.on{background:#fff;border-color:#e6e0d4}.lms-tab.on button[role=tab]{color:#24553b}.lms-tab-add{border:1px dashed #d8d0bf;background:transparent;border-radius:999px;padding:4px 12px;font:inherit;font-size:.8rem;font-weight:700;color:#8a8273;cursor:pointer;margin-left:6px}.lms-add-chapter{justify-self:start;margin-left:18px;border:1px dashed #cfe3d6;background:transparent;border-radius:10px;padding:6px 14px;font:inherit;font-size:.85rem;font-weight:700;color:var(--forest);cursor:pointer}.syl-lms-pick .t-head{margin-top:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;color:#6f6758;background:#f4f1ea}.lms-subjects{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;margin-bottom:12px;padding:2px 2px 6px;scrollbar-width:thin;-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent);mask-image:linear-gradient(90deg,#000 92%,transparent)}.lms-subject{flex:none;display:inline-flex;align-items:baseline;gap:6px;padding:5px 12px;border:1px solid #ebe6db;border-radius:999px;background:#faf8f3;font:inherit;font-size:.85rem;color:#8a8273;cursor:pointer;opacity:.75}.lms-subject strong{font-weight:700;color:inherit}.lms-subject small{font-size:.7rem}.lms-subject:hover{opacity:1}.lms-subject.on{opacity:1;background:#eef6f0;border-color:#b9dcc6;color:#24553b}.lms-bar .class-section-pair{display:inline-flex;gap:6px;flex-wrap:wrap}@media(max-width:640px){.lms-bar{gap:6px}.lms-bar .class-section-pair{width:100%}.lms-bar .class-section-pair .ui-picker{flex:1 1 0;min-width:0}}.syl-selects{display:flex;flex-wrap:wrap;align-items:end;gap:10px 14px}.syl-selects .field{margin:0;min-width:0}.syl-selects .class-section-pair{display:flex;gap:6px}@media(max-width:640px){.syl-selects{display:grid;grid-template-columns:1fr}.syl-selects .syl-cycle .ui-picker,.syl-selects .syl-class .class-section-pair{width:100%}.syl-selects .class-section-pair .ui-picker{flex:1 1 0;min-width:0}.syl-edit-tools{justify-content:flex-start}}.tasks-page{display:grid;gap:12px}.tk-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:10px 14px}.tk-summary h2{margin:0;font-size:1.05rem;width:100%}.tk-list{display:grid;gap:10px}.tk-card{padding:12px 14px}.tk-item{display:grid;gap:6px}.tk-item.lvl-1{margin-left:18px;padding-left:10px;border-left:2px solid #ebe6db}.tk-item-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.tk-title{flex:1;min-width:0;display:flex;align-items:baseline;gap:8px;font-weight:700;text-align:left}.tk-kind{font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:#eef6f0;color:#24553b}.tk-kind.task{background:#eef3fb;color:#2b5d9b}.tk-hours{font-size:.8rem;font-weight:700;color:#6f6758}.tk-status{font-size:.78rem;font-weight:800;color:#b5652a}.tk-status.done{color:#2f7d50}.tk-status.late,.tk-late,.tk-due.late{color:#b3261e;font-weight:700}.tk-notes,.tk-due{margin:0}.tk-item.done>.tk-item-head .tk-title{color:#2f7d50}.tk-proofs{display:grid;gap:6px}.tk-proof{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.tk-proof.rejected .tk-files{opacity:.45}.tk-reject-note{color:#b3261e;font-weight:700}.tk-reject{color:#b3261e}.tk-files{display:inline-flex;flex-wrap:wrap;gap:6px}.tk-file img,.tk-pdf{width:56px;height:56px;object-fit:cover;border-radius:8px;border:1px solid #e6e0d4;display:grid;place-items:center;background:#fff}.tk-files.big .tk-file img{width:96px;height:96px}.tk-pdf{font-size:.75rem;font-weight:800;color:#b3261e}.tk-upload{justify-self:start;cursor:pointer}.tk-choose{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.tk-choice{display:grid;gap:6px;text-align:left;padding:16px;cursor:pointer;font:inherit}.tk-choice strong{font-size:1.05rem;color:#24553b}.tk-form{display:grid;gap:10px;padding:14px}.tk-form h2{margin:0;font-size:1.05rem}.tk-row{display:flex;flex-wrap:wrap;gap:12px}.tk-row .field{flex:1 1 160px}.tk-sub-row{display:flex;gap:6px;align-items:center;margin-bottom:6px}.tk-sub-row input:first-child{flex:1;min-width:0}.tk-sub-hours{width:90px}.tk-pick{display:grid;gap:6px}.tk-pick-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.tk-pick-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:2px 10px;max-height:280px;overflow:auto;padding:4px;border:1px solid #efeae0;border-radius:10px}.tk-dash{display:grid;gap:10px}.tk-dash-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.tk-dash-bar input[type=search]{flex:1 1 180px;max-width:280px}.tk-name{font-weight:700}.tk-people{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px 12px}.tk-people li{display:flex;justify-content:space-between;gap:6px;padding:4px 8px;border-radius:8px;background:#faf8f3}.tk-people li.done{background:#f1f9f4}.tk-people li.late small{color:#b3261e;font-weight:700}.tk-person{display:grid;gap:10px}.tasks-pending.late{color:#b3261e}@media(max-width:640px){.tk-item.lvl-1{margin-left:8px}.tk-table .lms-progress{width:60px}}.dl-test-block{display:grid;gap:6px}.dl-test-extra{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding-right:64px}.dl-test-extra input{flex:1 1 200px;min-width:0}@media(max-width:640px){.dl-test-extra{padding-right:0}}.lms-tile.marks-pending,.lms-tile.marks-pending.done{background:#fff4e5;border-color:#f3c98b}.lms-tile.marks-pending .lms-tile-name,.lms-tile.marks-pending.done .lms-tile-name{color:#b5652a}.tk-name-btn{border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}.tk-closed{margin:0;color:#b3261e;font-weight:700}.tk-ok{color:#2f7d50;font-weight:700}.tk-item-head>.ui-menu-wrap{flex:none;margin-left:6px;order:9}.tk-item-head .tk-title{margin-right:6px}.ui-menu{max-width:calc(100vw - 16px)}.ui-menu button{white-space:normal;text-align:left}.tasks-page,.tk-dash,.tk-list,.tk-card{min-width:0}.tk-card{overflow:hidden;overflow-wrap:anywhere}.tk-dash-head{display:flex;align-items:center;gap:8px}.tk-dash-title{flex:1;min-width:0;display:flex;align-items:center;gap:8px;font-weight:700}.tk-dash-title span{min-width:0;overflow-wrap:anywhere}.tk-dash-title .tk-kind{flex:none}.tk-dash-head>.ui-menu-wrap{flex:none}.tk-dash-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:6px}.tk-item-head .tk-title{min-width:0;overflow-wrap:anywhere}@media(max-width:640px){.tk-dash-bar input[type=search]{max-width:none}.tk-dash-meta .lms-progress{width:90px}}.yesno-row .dl-test-field,.log-card .yesno-row .dl-test-field{grid-column:1 / -1;min-width:0}.dl-bars,.dl-bar,.dl-test-block,.dl-bar .ui-picker{min-width:0}.tk-file{border:0;padding:0;background:none;cursor:zoom-in}.fv-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0f1412e0;display:grid;place-items:center}.fv-body{display:grid;justify-items:center;gap:8px;max-width:92vw;max-height:88vh;color:#fff}.fv-body img{max-width:92vw;max-height:82vh;object-fit:contain;border-radius:8px}.fv-body iframe{width:min(92vw,900px);height:82vh;border:0;border-radius:8px;background:#fff}.fv-close{position:fixed;top:12px;right:12px;width:42px;height:42px;border-radius:50%;border:0;background:#ffffff26;color:#fff;font-size:1.3rem;cursor:pointer}.fv-nav{position:fixed;top:50%;transform:translateY(-50%);width:44px;height:64px;border:0;border-radius:12px;background:#ffffff26;color:#fff;font-size:2rem;cursor:pointer}.fv-nav.prev{left:10px}.fv-nav.next{right:10px}.tk-form-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tk-form-head h2{margin:0}.tk-dates{margin:0;font-size:.8rem;font-weight:700;color:#24553b}.tk-derived{margin:-4px 0 0}.tk-part{display:grid;gap:6px;margin-bottom:10px}.tk-part-head,.tk-part-row{display:grid;grid-template-columns:minmax(140px,1fr) 80px 150px 150px 28px;gap:6px;align-items:center}.tk-part-head{font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.tk-part-head.plain,.tk-part-row.plain{grid-template-columns:minmax(140px,1fr) 150px 28px}.tk-part-row input{min-width:0;width:100%}.tk-part-row input:disabled{background:#f4f2ec;color:#6f6758}.tk-part-row.lvl-2{margin-left:22px;padding-left:10px;border-left:2px solid #ebe6db}.tk-add-sub{justify-self:start;margin-left:22px}.tk-add-part{justify-self:start}.tk-part-list{list-style:none;margin:0;padding:0;display:grid;gap:3px;font-size:.85rem}.tk-part-list ul{list-style:none;margin:3px 0 0 16px;padding-left:10px;border-left:2px solid #ebe6db;display:grid;gap:3px}.tk-dash-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}.tk-item.lvl-2{margin-left:18px;padding-left:10px;border-left:2px solid #ebe6db}.tk-picked{font-size:.85rem;color:#24553b}.tk-chip-group{display:grid;gap:6px}.tk-chip-group-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.tk-chip-group-acts{display:inline-flex;gap:4px;margin-left:auto}.tk-chips{columns:190px;column-gap:8px;padding:2px}.tk-chips>.tk-chip{display:flex;width:100%;margin-bottom:6px;break-inside:avoid}@media(max-width:700px){.tk-chips{columns:2}}.tk-chip{display:inline-flex;align-items:center;gap:7px;padding:3px 12px 3px 3px;border-radius:999px;border:1px solid var(--line);background:#fff;font:inherit;font-size:.85rem;color:var(--ink);cursor:pointer;max-width:100%}.tk-chip:hover{background:#f7f5ef}.tk-chip-av{width:28px;height:28px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:#e6efe9;color:var(--forest);font-weight:800;font-size:.7rem}.tk-chip-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tk-chip.on{background:#eef6f0;border-color:#9cc7ab;color:#24553b;font-weight:700}.tk-chip.on .tk-chip-av{background:var(--forest);color:#fff;font-size:.85rem}@media(max-width:700px){.tk-part-head{display:none}.tk-part-row{display:flex;flex-wrap:wrap}.tk-part-row .tk-part-name{flex:1 1 calc(100% - 104px)}.tk-part-row .tk-sub-hours{flex:0 0 64px;width:64px}.tk-part-row .tk-part-x{flex:0 0 28px}.tk-part-row .tk-part-date{flex:1 1 calc(50% - 3px);order:5}.tk-part-row.plain .tk-part-date{flex-basis:100%}.tk-part-row.lvl-2,.tk-add-sub{margin-left:6px}.tk-part-row.lvl-2{padding-left:8px}}.tk-part-date{display:grid;gap:2px;min-width:0}.tk-part-date small{display:none;font-size:.7rem;font-weight:700;color:var(--muted)}@media(max-width:700px){.tk-part-date small{display:block}}.tc-page{display:grid;gap:12px}.tc-form{display:grid;gap:12px;padding:16px}.tc-search{position:relative}.tc-picked{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}.tc-warn{margin:0;padding:8px 12px;border-radius:10px;background:#fff4e5;color:#8a4b0f}.tc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.tc-field.wide{grid-column:1 / -1}.tc-field>span{display:flex;align-items:baseline;gap:6px}.tc-n{color:var(--muted);font-weight:800;min-width:22px}.tc-subjects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.tc-subjects input{min-width:0}.tc-sub{display:block}.tc-table td{vertical-align:middle}.tc-table .person-tag{margin-left:6px}.tc-menu{width:40px;text-align:right}.tc-ask{width:min(460px,calc(100vw - 32px));display:grid;gap:10px}.tc-ask h2{margin:0}.tc-ask textarea{font:inherit}.student-off-note{border-left:4px solid #b42318}.student-off-note h2{color:#b42318;margin-bottom:4px}.student-off-note p{margin:2px 0}@media(max-width:700px){.tc-grid{grid-template-columns:minmax(0,1fr)}.tc-subjects{grid-template-columns:repeat(2,minmax(0,1fr))}}.accv-fields{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.accv-fields .ui-chip{font-size:.82rem}.acc-group-family{display:inline-flex;align-items:center;gap:4px;flex:none;padding:3px;border:1px solid var(--line);border-radius:999px;background:#f6f3ec}.acc-group-family .acc-group-chip{border-color:transparent}.acc-group-family .acc-group-chip.on{border-color:var(--forest)}.acc-sub-link{color:var(--muted);font-weight:800;font-size:.95rem;line-height:1}.acc-group-chip.is-sub{padding:5px 12px;font-size:.88rem}.acc-sub-tag{display:inline-block;margin-left:8px;padding:1px 9px;border-radius:999px;vertical-align:middle;background:#eef6f0;color:var(--forest);font-size:.72rem;font-weight:800;letter-spacing:.02em}.acc-person-group.is-auto{opacity:.85}.acc-person-group.is-auto small{margin-left:4px;color:var(--muted);font-weight:600}
