[data-role=owner]{--brand:#f07a3a;--brand-ink:#5a2a10;--brand-soft:#fff0e6;--brand-line:#ffd2b5;--side:#fffaf6;--side-hover:#fff0e6;--side-line:#f8e3d4}[data-role=manager]{--brand:#18a983;--brand-ink:#0b4636;--brand-soft:#ddf6ee;--brand-line:#aee6d3;--side:#f6fcfa;--side-hover:#e6f7f1;--side-line:#d6efe6}[data-role=qa]{--brand:#5d7290;--brand-ink:#243044;--brand-soft:#e9eef5;--brand-line:#cbd6e4;--side:#f8fafc;--side-hover:#edf1f6;--side-line:#dfe5ee}[data-role=teacher]{--brand:#5b4cf0;--brand-ink:#2e2593;--brand-soft:#efedff;--brand-line:#d5cfff;--side:#faf9ff;--side-hover:#f1efff;--side-line:#e5e1fb}:root{--canvas:#fbfaff;--surface:#fff;--ink:#1d1b4b;--muted:#7c7a9c;--line:#e7e5f4;--fresh:#3d9df3;--warm:#d48806;--hot:#ec5545;--done:#a3a1bb;--good:#18a983;--r-s:10px;--r-m:12px;--r-l:16px;--r-xl:22px;--shadow:0 1px 2px #1d1b4b0a, 0 12px 28px -18px #2e259340;--shadow-pop:0 24px 48px -16px #2e259347, 0 0 0 1px #1d1b4b12;color:var(--ink);font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent;font-family:Golos Text,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.45}*{box-sizing:border-box}html,body{background:var(--canvas);height:100%;margin:0}body{height:100dvh;overflow:hidden}#root{height:100%}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--brand)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}[hidden]{display:none!important}.i{flex:none;display:block}input[type=checkbox]{accent-color:var(--brand);cursor:pointer;width:18px;height:18px;margin:0}.app{grid-template-columns:76px 1fr;height:100%;min-height:0;display:grid}.view{min-width:0;min-height:0;overflow:hidden}.rail{background:var(--surface);border-right:1px solid var(--line);color:var(--ink);flex-direction:column;align-items:center;gap:4px;padding:14px 0 12px;display:flex}.logo{background:linear-gradient(135deg,#5b4cf0,#8b7cff);border-radius:12px;place-items:center;width:40px;height:40px;margin-bottom:14px;display:grid;box-shadow:0 8px 18px -10px #5b4cf0}.logo svg{width:26px;height:26px}.empty .mark{width:56px;height:56px;margin:0 auto 10px}.nav{width:64px;color:var(--muted);border-radius:14px;flex-direction:column;align-items:center;gap:3px;padding:8px 0 6px;text-decoration:none;transition:background .15s,color .15s;display:flex;position:relative}.nav small{text-align:center;font-size:10.5px;font-weight:500;line-height:1.15}.nav:hover{color:var(--ink);background:var(--side-hover)}.nav[aria-current]{background:var(--brand-soft);color:var(--brand-ink)}.count{background:var(--hot);color:#fff;min-width:18px;height:18px;box-shadow:0 0 0 2px var(--surface);border-radius:9px;place-items:center;padding:0 5px;font-size:11px;font-weight:600;display:grid;position:absolute;top:2px;right:8px}.rail .spacer{flex:1}.acc-btn{background:0 0;border:0;border-radius:14px;padding:0}.acc-btn .ava{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--brand);border-radius:12px}.ava{--c:#8a9094;color:#fff;background:var(--c);letter-spacing:-.02em;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-size:14px;font-weight:600;display:grid}.ava.s{width:30px;height:30px;font-size:12px}.ava.xs{width:22px;height:22px;font-size:10px}.ava.sq{border-radius:12px}.btn{border:1px solid var(--line);background:var(--surface);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:8px;height:36px;padding:0 16px;font-size:14px;font-weight:500;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s;display:inline-flex}.btn:hover{border-color:#cfcce4}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 8px 18px -10px var(--brand)}.btn.primary:hover:not(:disabled){transform:translateY(-1px)}.btn.primary:hover{filter:brightness(.94)}.btn.soft{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand-ink)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:#1d1b4b08}.btn.icon{width:36px;padding:0}.btn:disabled{opacity:.5;cursor:not-allowed}.field{border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);width:100%;height:38px;padding:0 12px;transition:border-color .15s,box-shadow .15s}textarea.field{resize:vertical;height:auto;min-height:72px;padding:9px 12px}.field:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.field:disabled{background:var(--canvas);color:var(--muted)}.dd{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-m);text-align:left;align-items:center;gap:8px;max-width:100%;height:36px;padding:0 10px 0 12px;font-size:14px;transition:border-color .15s,box-shadow .15s;display:inline-flex}.dd:hover{border-color:#cfcce4}.dd[aria-expanded=true]{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.dd .dd-pre{color:var(--muted);white-space:nowrap}.dd .dd-val{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-weight:500;overflow:hidden}.dd.ph .dd-val{color:var(--muted);font-weight:400}.dd>.i:last-child{color:var(--muted);margin-left:auto}.dd.block{width:100%;height:38px}.dd:disabled{background:var(--canvas);color:var(--muted);cursor:not-allowed}input.sw{appearance:none;cursor:pointer;background:#dcdaea;border-radius:12px;flex:none;width:40px;height:24px;margin:0;transition:background .15s;position:relative}.sw:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.sw:checked{background:var(--brand)}.sw:checked:after{transform:translate(16px)}.pop{z-index:40;background:var(--surface);border-radius:var(--r-l);box-shadow:var(--shadow-pop);min-width:220px;max-width:min(360px,100vw - 16px);max-height:min(360px,70vh);padding:6px;animation:.12s ease-out pop-in;position:fixed;overflow-y:auto}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)}}.pop hr{border:0;border-top:1px solid var(--line);margin:6px 4px}.pop-title{color:var(--muted);padding:6px 10px 8px;font-size:13px;font-weight:500}.opt{border-radius:var(--r-m);text-align:left;background:0 0;border:0;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;min-height:40px;padding:8px 10px;font-size:14px;display:grid}.opt:not(:has(.ava,.opt-i)){grid-template-columns:1fr auto}.opt:hover,.opt:focus-visible{background:var(--canvas);outline:none}.opt[aria-selected=true]{color:var(--brand);font-weight:600}.opt small{color:var(--muted);font-size:12.5px;font-weight:400;display:block}.opt .opt-i{background:var(--canvas);width:30px;height:30px;color:var(--muted);border-radius:50%;place-items:center;display:grid}.opt.danger{color:var(--hot)}.opt:disabled{opacity:.45;cursor:not-allowed}.backdrop{z-index:35;background:#1d1b4b66;animation:.15s fade;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.pop.sheet{border-radius:var(--r-xl) var(--r-xl) 0 0;max-width:none;padding:8px 8px calc(12px + env(safe-area-inset-bottom));max-height:80dvh;animation:.2s ease-out sheet-in;bottom:0;right:0;min-width:0!important;top:auto!important;left:0!important}.pop.sheet:before{content:"";background:#dcdaea;border-radius:2px;width:40px;height:4px;margin:2px auto 6px;display:block}.pop.sheet .opt{min-height:48px;font-size:15px}@keyframes sheet-in{0%{transform:translateY(100%)}}.side{background:var(--side);border-right:1px solid var(--side-line);flex-direction:column;min-width:0;min-height:0;display:flex}.side-head{padding:14px 16px 10px}.where{color:var(--muted);align-items:center;gap:8px;min-height:22px;margin-bottom:6px;font-size:12.5px;display:flex}.where .acc-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.role-tag{background:var(--brand);color:#fff;white-space:nowrap;border-radius:999px;padding:1px 9px;font-size:12px;font-weight:600}.m-acc{background:0 0;border:0;border-radius:50%;margin-left:auto;padding:0;display:none}.m-acc .ava{box-shadow:0 0 0 2px var(--surface), 0 0 0 3.5px var(--brand)}h1{letter-spacing:-.025em;margin:0;font-family:Manrope,Golos Text,sans-serif;font-size:23px;font-weight:800}.summary{color:var(--muted);min-height:19px;margin-top:2px;font-size:13px}.summary b{color:var(--hot);font-weight:600}.scope{color:var(--brand-ink);background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:var(--r-m);align-items:center;gap:8px;margin-top:8px;padding:6px 10px;font-size:12.5px;display:flex}.search{margin-top:10px;position:relative}.search .i{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.search .field{border-color:var(--side-line);padding-left:36px}.tabs{scrollbar-width:none;gap:4px;padding:0 12px 10px;display:flex;overflow-x:auto}.tab{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-size:13px;font-weight:500;display:flex}.tab .n{opacity:.8;font-size:12px}.tab:hover{background:var(--side-hover)}.tab[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow), 0 0 0 1px var(--side-line)}.tab.urgent .n{color:var(--hot);opacity:1;font-weight:700}.list{border-top:1px solid var(--side-line);flex:1;padding:4px 0 12px;overflow-y:auto}.group{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:12px 18px 4px;font-size:12px;font-weight:500}.row{text-align:left;border-radius:var(--r-l);background:0 0;border:0;grid-template-columns:4px 40px 1fr auto;align-items:center;gap:0 12px;width:calc(100% - 16px);margin:1px 8px;padding:10px 12px 10px 0;display:grid;overflow:hidden}.row:hover{background:var(--side-hover)}.row[aria-selected=true]{background:var(--surface);box-shadow:var(--shadow), 0 0 0 1px var(--side-line)}.heat{border-radius:0 4px 4px 0;align-self:stretch;width:4px;margin:-2px 0}.heat.fresh{background:var(--fresh)}.heat.warm{background:var(--warm)}.heat.hot{background:var(--hot)}.row-main{min-width:0}.name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;display:block;overflow:hidden}.row.pending .name{font-weight:700}.preview{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;display:block;overflow:hidden}.row.pending .preview{color:var(--ink)}.row-side{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.wait{white-space:nowrap;font-size:12px;font-weight:600}.wait.fresh{color:var(--fresh)}.wait.warm{color:var(--warm)}.wait.hot{color:var(--hot)}.time{color:var(--muted);white-space:nowrap;font-size:12px}.badge{background:var(--ink);color:#fff;border-radius:10px;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:12px;font-weight:600;display:grid}.badge.fresh{background:var(--fresh)}.badge.warm{background:var(--warm)}.badge.hot{background:var(--hot)}.row.closed{opacity:.6}.stars{color:#f5a524;letter-spacing:1px;white-space:nowrap;font-size:13px}.stars .off{color:#dedcec}.empty{text-align:center;color:var(--muted);padding:48px 24px}.empty strong{color:var(--ink);margin-bottom:4px;font-size:16px;display:block}.inbox{grid-template-columns:360px 1fr 320px;height:100%;display:grid;position:relative}.inbox:not(.panel-on){grid-template-columns:360px 1fr 0}.chat{background:var(--canvas);flex-direction:column;min-width:0;min-height:0;display:flex}.chat-head{background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 12px;min-height:64px;padding:10px 16px;display:flex}.chat-head .who{min-width:180px}.back,.more{display:none}.who{flex:1;min-width:0}.who .name{white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:600;display:block;overflow:hidden}.who-sub{color:var(--muted);white-space:nowrap;align-items:center;gap:10px;min-width:0;font-size:13px;display:flex;overflow:hidden}.who-sub:has(.chip.warn){flex-wrap:wrap;row-gap:4px}.who-sub>*{flex:none}.who-sub>.chip.warn,.who-sub>span:not(.chip){text-overflow:ellipsis;flex:0 auto;min-width:0;max-width:100%;display:block;overflow:hidden}.who-sub>.chip.warn:before{vertical-align:1px;margin-right:6px;display:inline-block}.chip{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.chip:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.chip.unanswered,.chip.err{color:var(--hot);background:#ffe9e5}.chip.answered,.chip.ok{color:var(--good);background:#ddf6ee}.chip.no_reply_needed,.chip.off{color:var(--done);background:#efeef6}.chip.warn{color:#94700a;background:#fff3dc}.head-actions{align-items:center;gap:8px;min-width:0;max-width:100%;margin-left:auto;display:flex}.head-actions .dd{min-width:0;max-width:240px}.panel-on .head-actions .dd-pre{display:none}@media (width<=1180px){.head-actions .dd-pre{display:none}}.lead-by{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:13.5px;display:flex}.lead-by b{color:var(--ink);font-weight:500}.msgs{flex-direction:column;flex:1;gap:6px;padding:20px 24px;display:flex;overflow-y:auto}.day{color:var(--muted);background:var(--surface);box-shadow:var(--shadow);border-radius:999px;align-self:center;margin:10px 0;padding:2px 12px;font-size:12px}.bubble{border-radius:var(--r-xl);background:var(--surface);max-width:min(560px,80%);box-shadow:var(--shadow);border-bottom-left-radius:6px;align-self:flex-start;padding:8px 12px 6px}.bubble.out{background:var(--brand-soft);border-bottom-left-radius:var(--r-xl);box-shadow:0 0 0 1px var(--brand-line);border-bottom-right-radius:6px;align-self:flex-end}.bubble .meta{color:var(--muted);justify-content:flex-end;gap:8px;margin-top:2px;font-size:11.5px;display:flex}.bubble .author{color:var(--brand);margin-bottom:2px;font-size:12px;font-weight:600}.bubble.failed{box-shadow:0 0 0 1.5px var(--hot)}.bubble .fail{color:var(--hot);font-weight:500}.bubble .fail button{color:var(--hot);background:0 0;border:0;padding:0;font-size:11.5px;text-decoration:underline}.unans{color:var(--hot);align-items:center;gap:10px;margin:8px 0 2px;font-size:12.5px;font-weight:600;display:flex}.unans:before,.unans:after{content:"";background:#ffc4bc;flex:1;height:1px}.sys{color:var(--muted);text-align:center;align-self:center;margin:6px 0;font-size:12.5px}.sys.hot{color:var(--hot);font-weight:500}.bubble.hold{background:repeating-linear-gradient(-45deg, var(--brand-soft) 0 10px, var(--surface) 10px 20px);box-shadow:0 0 0 1.5px var(--brand)}.hold-bar{border-top:1px dashed var(--brand-line);color:var(--brand-ink);flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;padding-top:8px;font-size:12.5px;display:flex}.hold-bar .cd{font-variant-numeric:tabular-nums;align-items:center;gap:5px;margin-right:auto;font-weight:600;display:inline-flex}.hold-bar button{border:1px solid var(--brand-line);background:var(--surface);height:26px;color:var(--ink);border-radius:8px;padding:0 9px;font-size:12.5px;font-weight:500}.hold-bar button.go{background:var(--brand);border-color:var(--brand);color:#fff}.hold-bar button.del{color:var(--hot)}.hold-prog{background:var(--brand-line);border-radius:2px;height:3px;margin-top:6px;overflow:hidden}.hold-prog i{background:var(--brand);height:100%;transition:width 1s linear;display:block}.cover-tag{color:#94700a;vertical-align:1px;align-items:center;gap:3px;margin-left:6px;font-size:11px;font-weight:500;display:inline-flex}.esc-mark{color:var(--hot);display:inline-flex}.hot-text{color:var(--hot)}.btn.danger{background:var(--hot);border-color:var(--hot);color:#fff}.choices{gap:8px;display:grid}.choice{text-align:left;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);grid-template-columns:20px 1fr;gap:2px 10px;padding:12px 14px;font-size:14px;display:grid}.choice:before{content:"";border:2px solid var(--line);box-sizing:border-box;border-radius:50%;grid-row:span 2;width:16px;height:16px;margin-top:2px}.choice small{color:var(--muted);font-size:12.5px}.choice[aria-pressed=true]{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand);background:var(--brand-soft)}.choice[aria-pressed=true]:before{border:5px solid var(--brand)}.map-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;font-size:14px;display:flex}.map-row:last-child{border-bottom:0}.row2{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.row2>label{flex:1;min-width:150px}.inline-dd{vertical-align:middle;margin:0 4px;display:inline-flex}.sec-note{color:var(--muted);margin:4px 0 14px;font-size:13px}.composer{background:var(--surface);border-top:1px solid var(--line);padding:10px 16px 12px}.quick{scrollbar-width:none;gap:6px;margin-bottom:8px;display:flex;overflow-x:auto}.quick button{border:1px solid var(--line);background:var(--surface);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:4px 12px;font-size:13px;display:flex}.quick button:hover{border-color:var(--brand);color:var(--brand)}.composer{position:relative}.quick .all-tpl{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand-ink);gap:6px;font-weight:500}.quick .all-tpl .n{opacity:.7;font-size:12px}.quick .all-tpl kbd{background:var(--surface)}.next-bar.thanks{box-shadow:0 0 0 1px var(--line);color:var(--muted);background:#f4f3fa}.pal{background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-pop);z-index:6;flex-direction:column;max-height:min(460px,65dvh);animation:.12s ease-out pop-in;display:flex;position:absolute;bottom:calc(100% - 8px);left:12px;right:12px;overflow:hidden}.pal-head{border-bottom:1px solid var(--line);color:var(--muted);flex:none;align-items:center;gap:10px;padding:8px 8px 8px 16px;display:flex}.pal-head input{height:36px;color:var(--ink);background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:15px}.pal-cats{scrollbar-width:none;border-bottom:1px solid var(--line);flex:none;gap:6px;padding:8px 12px;display:flex;overflow-x:auto}.pal-cats button{background:var(--canvas);white-space:nowrap;border:0;border-radius:999px;padding:4px 11px;font-size:13px}.pal-cats button[aria-pressed=true]{background:var(--brand);color:#fff}.pal-list{flex:1;padding:6px;overflow-y:auto}.pal-item{text-align:left;border-radius:var(--r-m);background:0 0;border:0;grid-template-columns:1fr auto;gap:2px 10px;width:100%;padding:8px 10px;display:grid}.pal-item b{font-size:14px;font-weight:600}.pal-item .pi-meta{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.pal-item .pi-text{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;grid-column:1/-1;font-size:13px;overflow:hidden}.pal-item[aria-selected=true]{background:var(--brand-soft)}.pal-item mark{color:inherit;background:#ffe1a3;border-radius:2px}.pal-foot{border-top:1px solid var(--line);color:var(--muted);gap:16px;padding:8px 14px;font-size:12px;display:flex}.pal-empty{text-align:center;color:var(--muted);padding:24px;font-size:14px}.compose-row{align-items:flex-end;gap:8px;display:flex}.compose-row textarea{resize:none;border:1px solid var(--line);border-radius:var(--r-l);background:var(--canvas);flex:1;min-height:42px;max-height:160px;padding:9px 14px}.compose-row textarea:focus{background:var(--surface)}.send{border-radius:var(--r-l);height:42px}.attach{border-radius:var(--r-l);width:42px;height:42px;color:var(--muted);background:0 0;border:0;flex:none;place-items:center;display:grid}.attach:hover{background:var(--canvas);color:var(--ink)}.hint{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;font-size:12px;display:flex}.hint label{cursor:pointer;align-items:center;gap:8px;display:flex}.hint .sw{width:32px;height:20px}.hint .sw:after{width:14px;height:14px}.hint .sw:checked:after{transform:translate(12px)}.next-bar{border-radius:var(--r-l);background:var(--brand-soft);box-shadow:0 0 0 1px var(--brand-line);color:var(--brand-ink);align-items:center;gap:10px;margin:-2px 0 10px;padding:6px 6px 6px 12px;font-size:13.5px;display:flex}.next-bar .nb-text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.next-bar .btn{background:var(--surface);height:30px;padding:0 10px}.readonly{background:var(--surface);border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:10px;padding:12px 16px;font-size:13.5px;display:flex}kbd{font:inherit;border:1px solid var(--line);background:var(--canvas);border-bottom-width:2px;border-radius:4px;padding:0 4px;font-size:11px}.panel{background:var(--surface);border-left:1px solid var(--line);min-width:0;overflow-y:auto}.inbox:not(.panel-on) .panel,.panel-head{display:none}.card{border-bottom:1px solid var(--line);padding:16px}.card h2,h2.sec{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px;font-size:12px;font-weight:600}.kv{grid-template-columns:auto 1fr;gap:8px 12px;margin:0;font-size:14px;display:grid}.kv dt{color:var(--muted)}.kv dd{text-align:right;overflow-wrap:anywhere;min-width:0;margin:0}.sub{border-radius:var(--r-l);background:#f0f6fd;border:1px solid #cfe0f5;padding:10px 12px;font-size:14px}.sub b{display:block}.bar{background:#dde7f3;border-radius:3px;height:6px;margin-top:8px;overflow:hidden}.bar i{background:var(--fresh);border-radius:3px;height:100%;display:block}.bar.low i{background:var(--warm)}.mk{color:var(--muted);margin-top:8px;font-size:12.5px}.note{border-left:3px solid var(--brand-line);margin-top:8px;padding:2px 0 2px 10px;font-size:14px}.checks{gap:10px;margin:12px 0;font-size:14px;display:grid}.checks label{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.star-pick{gap:4px;display:flex}.star-pick button{color:#dedcec;background:0 0;border:0;padding:0 2px;font-size:28px;line-height:1}.star-pick button.on{color:#f5a524}.auto{justify-content:space-between;gap:8px;padding:6px 0;font-size:14px;display:flex}.auto .bad{color:var(--hot);font-weight:600}.auto .ok{color:var(--good);font-weight:600}.page{grid-template-columns:260px 1fr;height:100%;display:grid}.page.wide{grid-template-columns:1fr}.subnav{align-content:start;gap:2px;padding:0 8px;display:grid}.subnav button{text-align:left;border-radius:var(--r-m);background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:9px 12px;font-weight:500;display:flex}.subnav button .i{color:var(--muted)}.subnav button>span{align-items:center;gap:10px;display:flex}.subnav button:hover{background:var(--side-hover)}.subnav button[aria-current]{background:var(--surface);box-shadow:var(--shadow), 0 0 0 1px var(--side-line)}.subnav button[aria-current] .i{color:var(--brand)}.subnav small{color:var(--muted);font-weight:400}.subnav .group{padding-left:12px}.tpl-nav{flex:1;padding-bottom:12px;overflow-y:auto}.subnav button small{white-space:nowrap}.tpl-nav button small{display:none}.lock{color:var(--muted);gap:8px;margin:8px 0;padding:12px;font-size:12.5px;display:flex}.content{min-width:0;padding:22px 28px 48px;overflow-y:auto}.content-head{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:18px;display:flex}.content-head .lead{color:var(--muted);max-width:64ch;margin-top:2px;font-size:14px}.content-head .grow{flex:1;min-width:240px}.box{background:var(--surface);border-radius:var(--r-l);box-shadow:var(--shadow);overflow:hidden}.box+.box,.box+.locked,.locked+.box{margin-top:16px}.box-pad{padding:18px 20px}.form{gap:16px;max-width:640px;display:grid}.form label>span{color:var(--muted);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.actions{flex-wrap:wrap;gap:8px;display:flex}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;background:#fcfbff;padding:12px 14px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 14px}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfbff}.who-cell{align-items:center;gap:10px;min-width:0;display:flex}.who-cell>div{overflow-wrap:anywhere;min-width:0}td.nw{white-space:nowrap}td small,.who-cell small{color:var(--muted);font-size:12.5px;display:block}.num{text-align:right}.m-only{display:none!important}.bulk{background:var(--brand-soft);border-bottom:1px solid var(--brand-line);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;font-size:14px;display:flex}.filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filters .search{width:240px;margin:0}.filters .search .field{border-color:var(--line)}.locked{background:var(--surface);box-shadow:var(--shadow);border-radius:var(--r-l);color:var(--muted);align-items:center;gap:10px;padding:12px 14px;font-size:13.5px;display:flex}.locked .i{color:var(--brand)}.tpl-grid{gap:16px;max-width:760px;display:grid}.vars{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.vars button{background:var(--canvas);border-radius:var(--r-s);border:1px dashed #cfcce4;padding:3px 9px;font-size:12.5px}.vars button:hover{border-color:var(--brand);color:var(--brand)}.preview-msg{background:var(--brand-soft);box-shadow:0 0 0 1px var(--brand-line);border-radius:var(--r-xl) var(--r-xl) 6px var(--r-xl);white-space:pre-wrap;max-width:420px;margin-left:auto;padding:10px 14px;font-size:14px}.metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.metric{box-shadow:1px 0 0 var(--line);padding:18px 20px}.metric .v{letter-spacing:-.02em;font-family:Manrope,Golos Text,sans-serif;font-size:28px;font-weight:800;line-height:1.1}.metric .l{color:var(--muted);margin-top:2px;font-size:13px}.metric .d{margin-top:6px;font-size:12.5px}.metric .d.good{color:var(--good)}.metric .d.bad{color:var(--hot)}.hours{grid-template-columns:repeat(24,1fr);align-items:end;gap:3px;height:120px;display:grid}.hours i{background:var(--fresh);opacity:.85;border-radius:3px 3px 0 0;display:block}.hours i.late{background:var(--hot)}.hours-axis{color:var(--muted);grid-template-columns:repeat(4,1fr);margin-top:4px;font-size:11.5px;display:grid}.legend{color:var(--muted);flex-wrap:wrap;gap:14px;margin-top:10px;font-size:12.5px;display:flex}.legend span:before{content:"";vertical-align:-1px;background:var(--fresh);border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.legend span.late:before{background:var(--hot)}.meter{background:var(--canvas);vertical-align:middle;border-radius:3px;width:70px;height:6px;margin-left:8px;display:inline-block;overflow:hidden}.meter i{background:var(--brand);height:100%;display:block}.bot{grid-template-columns:44px 1fr auto;align-items:center;gap:14px;padding:14px 18px;display:grid}.bot+.bot{border-top:1px solid var(--line)}.bot small{color:var(--muted);font-size:13px;display:block}.bot .err-text{color:var(--hot)}.bot-actions{align-items:center;gap:8px;display:flex}.steps{gap:8px;margin:0;padding-left:20px;font-size:14px;display:grid}.inline-form{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.inline-form .field{flex:1;min-width:200px}.perm td:not(:first-child),.perm th:not(:first-child){text-align:center}.yes{color:var(--good);font-weight:700}.no{color:#cfcce4}.toggle{border-bottom:1px solid var(--line);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;font-size:14px;display:flex}.toggle:first-child{padding-top:0}.toggle:last-child{border-bottom:0;padding-bottom:0}.toggle small{color:var(--muted);display:block}.student{grid-template-columns:40px 1fr minmax(160px,220px) auto;align-items:center;gap:14px;padding:12px 18px;display:grid}.student+.student{border-top:1px solid var(--line)}.student .bar{margin-top:4px}.box-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.box-title b{font-size:15px}.toast{opacity:0;background:var(--ink);color:#fff;border-radius:var(--r-l);pointer-events:none;z-index:50;max-width:calc(100vw - 32px);box-shadow:var(--shadow-pop);padding:10px 16px;font-size:14px;transition:all .2s;position:fixed;bottom:150px;left:50%;transform:translate(-50%,12px)}.toast.show{opacity:1;transform:translate(-50%)}@media (width<=1180px){.inbox,.inbox:not(.panel-on){grid-template-columns:320px 1fr}.panel{width:min(360px,100%);box-shadow:var(--shadow-pop);z-index:5;position:absolute;top:0;bottom:0;right:0}.hint>span:first-child{display:none}.panel-head{border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;padding:12px 16px;font-weight:600;display:flex;position:sticky;top:0}}@media (width<=960px){.page{grid-template-rows:auto 1fr;grid-template-columns:1fr}.page>.side{border-right:0;border-bottom:1px solid var(--side-line)}.subnav{scrollbar-width:none;gap:6px;padding:0 12px 10px;display:flex;overflow-x:auto}.subnav button{white-space:nowrap;border-radius:999px;width:auto;padding:6px 12px;font-size:14px}.subnav .group,.subnav .lock,.subnav .sub-extra{display:none}.subnav button small{margin-left:2px}.content{padding:16px 16px 40px}}@media (width<=760px){.app{grid-template-rows:1fr auto;grid-template-columns:1fr}.rail{padding:4px 4px calc(4px + env(safe-area-inset-bottom));background:var(--surface);color:var(--muted);border-top:1px solid var(--line);flex-direction:row;grid-row:2;justify-content:space-around;gap:0}.rail .logo,.rail .spacer,.rail .acc-btn{display:none}.nav{width:auto;color:var(--muted);flex:1;gap:2px;padding:4px 0}.nav svg{border-radius:15px;width:52px;height:30px;padding:4px 15px;transition:background .15s}.nav:hover{color:var(--ink);background:0 0}.nav[aria-current]{color:var(--brand);background:0 0}.nav[aria-current] svg{background:var(--brand-soft)}.nav small{font-size:11px}.count{box-shadow:0 0 0 2px var(--surface);top:0;right:calc(50% - 26px)}.app.no-nav .rail{display:none}.view{grid-row:1}.m-acc{display:block}.m-only{display:revert!important}.m-hide{display:none!important}h1{font-size:24px}.inbox,.inbox:not(.panel-on){grid-template-columns:1fr}.inbox.in-chat>.side,.inbox:not(.in-chat)>.chat{display:none}.row{padding:12px 12px 12px 0}.chat-head{flex-wrap:nowrap;gap:8px;min-height:60px;padding:8px 8px 8px 4px}.chat-head .who{min-width:0}.back,.more{width:40px;height:40px;color:var(--ink);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.head-actions{display:none}.msgs{padding:14px 12px}.bubble{max-width:86%}.hold-bar button{height:32px;padding:0 11px}.composer{padding:8px 8px calc(8px + env(safe-area-inset-bottom))}.hint,.send span{display:none}.send{border-radius:50%;width:42px;padding:0}.attach{width:38px}.panel{z-index:30;width:100%;position:fixed;inset:0}.next-bar{border-radius:var(--r-l);background:var(--brand-soft);box-shadow:0 0 0 1px var(--brand-line);color:var(--brand-ink);align-items:center;gap:10px;margin:-2px 0 10px;padding:6px 6px 6px 12px;font-size:13.5px;display:flex}.next-bar .nb-text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.next-bar .btn{background:var(--surface);height:30px;padding:0 10px}.readonly{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.content-head{flex-direction:column;align-items:stretch}.content-head .grow{min-width:0}.filters .search{width:100%}.filters .dd{flex:1}.box{border-radius:var(--r-l)}.cards thead{display:none}.cards tr{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 14px;display:flex}.cards tr:last-child{border-bottom:0}.cards td{border:0;padding:0}.cards td.grow{flex:150px;min-width:0}.cards td.line{flex-basis:100%;padding-left:40px}.metric{box-shadow:0 1px 0 var(--line)}.metrics{grid-template-columns:1fr 1fr}.metric .v{font-size:24px}.bot{grid-template-columns:40px 1fr;padding:14px 16px}.bot .mk{display:block}.toast{bottom:120px}.bot-actions{grid-column:1/-1;justify-content:flex-end}.student{grid-template-columns:40px 1fr auto;padding:12px 14px}.student .st-sub{grid-area:2/2/auto/-1}}a.row,a.nav,.subnav a{color:inherit;text-decoration:none}.subnav a{border-radius:var(--r-m);justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;font-weight:500;display:flex}.subnav a>span{align-items:center;gap:10px;display:flex}.subnav a .i{color:var(--muted)}.subnav a:hover{background:var(--side-hover)}.subnav a[aria-current]{background:var(--surface);box-shadow:var(--shadow), 0 0 0 1px var(--side-line)}.subnav a[aria-current] .i{color:var(--brand)}.subnav a small{color:var(--muted);white-space:nowrap;font-weight:400}.err{color:var(--hot);margin:6px 0 0;font-size:13.5px}.loading{height:100%;color:var(--muted);place-items:center;display:grid}.more-btn{width:calc(100% - 16px);color:var(--brand);border-radius:var(--r-m);background:0 0;border:0;margin:6px 8px;padding:10px;font-weight:500;display:block}.more-btn:hover{background:var(--side-hover)}.notify-ask{color:#7a5a00;border-radius:var(--r-m);text-align:left;background:#fff8e8;border:1px solid #f5dca3;align-items:center;gap:8px;width:100%;margin-top:8px;padding:6px 10px;font-size:12.5px;display:flex}.files{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.file-chip{background:var(--canvas);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:3px 6px 3px 10px;font-size:12.5px;display:inline-flex}.file-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-chip button{color:var(--muted);background:0 0;border:0;padding:0 2px;display:grid}.att{margin:2px 0 4px;display:block}.att img,.att video{border-radius:var(--r-m);max-width:100%;max-height:280px;display:block}.att audio{max-width:100%}a.att-file{border-radius:var(--r-m);color:inherit;background:#1d1b4b0a;align-items:center;gap:8px;padding:6px 10px;font-size:14px;text-decoration:none;display:flex}a.att-file span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}a.att-file small{color:var(--muted);flex:none}.bubble .txt{white-space:pre-wrap;overflow-wrap:anywhere}.load-older{background:var(--surface);color:var(--brand);box-shadow:var(--shadow);border:0;border-radius:999px;align-self:center;padding:4px 14px;font-size:13px}.auth{background:radial-gradient(1200px 600px at 20% -10%, #efedff, transparent), var(--canvas);place-items:center;min-height:100%;padding:24px 16px;display:grid;overflow-y:auto}.auth-card{background:var(--surface);border-radius:var(--r-xl);width:100%;max-width:400px;box-shadow:var(--shadow-pop);gap:16px;padding:28px 24px;display:grid}.auth-card .form{gap:12px}.auth-card .btn{height:42px}.auth-card p{color:var(--muted);margin:0;font-size:14px}.brand-logo{letter-spacing:-.035em;color:var(--ink);align-items:center;gap:10px;font:800 22px/1 Manrope,Golos Text,sans-serif;display:flex}.brand-logo svg{width:36px;height:36px}.brand-logo b{color:#5b4cf0}.yi{display:inline-block;position:relative}.yi:after{content:"";border:.075em solid #ff6b5b;border-top:0;border-radius:0 0 1em 1em;height:.16em;position:absolute;top:.09em;left:14%;right:14%}.code-field{letter-spacing:.3em;text-align:center;height:48px;font-size:20px}
