:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--paper:#faf9f6;--panel:#fff;--ink:#20211e;--dim:#63655e;--faint:#878a80;--line:#e9e7e0;--line2:#dad7cd;--accent:#2f7d5b;--accent-bg:#e6f1eb;--accent-text:#1e5a40;--accent-ink:#fff;--good:#2f7d5b;--good-bg:#e6f1eb;--warn:#9a6811;--warn-bg:#f6eeda;--bad:#bc4a3c;--bad-bg:#f6e6e3;--bg:var(--paper);--ok:var(--good);--danger:var(--bad);--toast:var(--bad);--in-bubble:var(--panel);--out-bubble:#dceee5;--draft-bg:#fff8e6;--draft-line:#e8d9a8;--sans:"Assistant", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--radius-sm:8px;--radius-card:12px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#14150f;--panel:#1b1c15;--ink:#e9eae0;--dim:#9da093;--faint:#777a6e;--line:#282a20;--line2:#373a2d;--accent:#54c48c;--accent-bg:#16311f;--accent-text:#8fe0b4;--accent-ink:#102118;--good:#54c48c;--good-bg:#16311f;--warn:#d6a63f;--warn-bg:#31280f;--bad:#e0796b;--bad-bg:#331e18;--out-bubble:#214532;--draft-bg:#2a2617;--draft-line:#57502e}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#faf9f6;--panel:#fff;--ink:#20211e;--dim:#63655e;--faint:#878a80;--line:#e9e7e0;--line2:#dad7cd;--accent:#2f7d5b;--accent-bg:#e6f1eb;--accent-text:#1e5a40;--accent-ink:#fff;--good:#2f7d5b;--good-bg:#e6f1eb;--warn:#9a6811;--warn-bg:#f6eeda;--bad:#bc4a3c;--bad-bg:#f6e6e3;--out-bubble:#dceee5;--draft-bg:#fff8e6;--draft-line:#e8d9a8}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#14150f;--panel:#1b1c15;--ink:#e9eae0;--dim:#9da093;--faint:#777a6e;--line:#282a20;--line2:#373a2d;--accent:#54c48c;--accent-bg:#16311f;--accent-text:#8fe0b4;--accent-ink:#102118;--good:#54c48c;--good-bg:#16311f;--warn:#d6a63f;--warn-bg:#31280f;--bad:#e0796b;--bad-bg:#331e18;--out-bubble:#214532;--draft-bg:#2a2617;--draft-line:#57502e}.shell{flex-direction:column;height:100%;display:flex}.topnav{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:6px;padding:8px 16px;display:flex;overflow-x:auto}.topnav .brand{flex-shrink:0;margin-right:14px;font-size:17px;font-weight:700}.tab{color:var(--dim);white-space:nowrap;background:0 0;border:0;border-radius:8px;flex-shrink:0;padding:7px 14px;font-weight:600}.tab:hover{color:var(--ink);background:color-mix(in srgb, var(--accent) 8%, transparent)}.tab.active{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent)}.content{flex-direction:column;flex:1;min-height:0;display:flex}.inbox-layout{flex:1;grid-template-columns:320px 1fr;min-height:0;display:grid}.inbox-layout .av{background:color-mix(in srgb, var(--accent) 15%, transparent);width:30px;height:30px;color:var(--accent);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12.5px;font-weight:700;display:flex}.inbox-layout .av.role-student{background:color-mix(in srgb, var(--accent) 16%, transparent);color:color-mix(in srgb, var(--accent), var(--ink) 10%)}.inbox-layout .av.role-parent{background:color-mix(in srgb, var(--ok) 18%, transparent);color:color-mix(in srgb, var(--ok), var(--ink) 26%)}.inbox-layout .av.role-lead{background:color-mix(in srgb, var(--warn) 20%, transparent);color:color-mix(in srgb, var(--warn), var(--ink) 26%)}.inbox-layout .dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.inbox-layout .dot.blue{background:var(--accent)}.sidebar{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;min-width:0;display:flex}.import-history{text-align:center;width:100%;color:var(--dim);border:0;border-bottom:1px solid var(--line);cursor:pointer;background:0 0;padding:10px 12px;font-family:inherit;font-size:13px;display:block}.import-history:hover{color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent)}.import-history.drag{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);outline:1px dashed var(--accent);outline-offset:-4px}.import-foot{border-top:1px solid var(--line);border-bottom:0}.pass-del{color:var(--dim);margin-left:6px;padding:0 7px}.pass-del:hover{color:var(--toast);border-color:var(--toast)}.chatlist{flex:1;overflow-y:auto}.empty{color:var(--dim);padding:16px;font-size:14px}.chatitem{text-align:left;width:100%;color:inherit;border:0;border-bottom:1px solid var(--line);background:0 0;align-items:center;gap:11px;padding:11px 14px;display:flex}.chatitem:hover{background:color-mix(in srgb, var(--accent) 8%, transparent)}.chatitem.active{background:color-mix(in srgb, var(--accent) 14%, transparent)}.chatitem .av{width:40px;height:40px;font-size:15px}.chatmeta{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.chattop{align-items:center;gap:7px;display:flex}.chat-nm{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.chatitem.unanswered .chat-nm{color:var(--ink);font-weight:750}.chattop time{color:var(--dim);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.chatitem.unanswered .chattop time{color:var(--accent);font-weight:650}.chatsub{align-items:center;gap:8px;display:flex}.preview{min-width:0;color:var(--dim);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.chatitem.unanswered .preview{color:var(--ink)}.main{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex}.placeholder{color:var(--dim);text-align:center;margin:auto;padding:24px;font-size:14px}.chathead{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:10px 16px;display:flex}.chathead-id{flex-direction:column;gap:1px;min-width:0;display:flex}.chathead-nm{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.dim{color:var(--dim);font-size:13px}.chathead .dim{font-size:12.5px}.exportlink{color:var(--accent);flex:none;margin-left:auto;font-size:13px;text-decoration:none}.exportlink:hover{text-decoration:underline}.messages{flex-direction:column;flex:1;gap:6px;padding:18px;display:flex;position:relative;overflow-y:auto}.messages.dragover{outline:2px dashed var(--accent);outline-offset:-8px;background:color-mix(in srgb, var(--accent) 6%, transparent)}.drop-hint{background:var(--accent);color:var(--accent-ink);pointer-events:none;border-radius:999px;align-self:center;padding:6px 14px;font-size:13px;font-weight:600;position:sticky;bottom:8px}.daysep{align-self:center;margin:8px 0 4px}.daysep span{color:var(--dim);background:color-mix(in srgb, var(--line) 55%, transparent);font-variant-numeric:tabular-nums;border-radius:999px;padding:3px 12px;font-size:11.5px;font-weight:650}.bubble{background:var(--in-bubble);white-space:pre-wrap;word-break:break-word;border-radius:14px 14px 14px 4px;align-self:flex-start;max-width:68%;padding:8px 12px;box-shadow:0 1px 1px #0000000f}.bubble.out{background:var(--out-bubble);border-bottom-right-radius:4px;border-bottom-left-radius:14px;align-self:flex-end}.bubble.deleted{opacity:.45;text-decoration:line-through}.stamp{text-align:right;color:var(--dim);font-variant-numeric:tabular-nums;margin-top:2px;font-size:11px;display:block}.stamp .via{font-variant-numeric:normal}.stamp .via:after{content:" · "}.media-photo{border-radius:8px;max-width:min(240px,100%);max-height:240px;display:block}.media-doc{color:inherit;gap:6px;text-decoration:underline;display:inline-flex}.bubble a{color:inherit;text-underline-offset:2px;text-decoration:underline}.bubble:has(.media-photo){padding:3px;overflow:hidden}.bubble:has(.media-photo)>a{line-height:0;display:block}.bubble:has(.media-photo) .media-photo{border-radius:11px;max-width:min(320px,100%)}.bubble:has(.media-caption){padding:3px 3px 5px}.media-caption{margin:4px 6px 0;display:block}.bubble:has(.media-photo) .stamp{margin:3px 5px 1px}.attach-pending{border:1px solid var(--line);background:color-mix(in srgb, var(--accent) 5%, transparent);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.attach-thumb{object-fit:cover;border-radius:6px;flex-shrink:0;width:40px;height:40px}.attach-file{background:var(--line);width:40px;height:40px;color:var(--dim);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;display:flex}.attach-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.send-attach{padding:7px 14px}.draftzone{flex-direction:column;gap:10px;padding:0 18px 8px;display:flex}.draftcard{background:var(--draft-bg);border:1px solid var(--draft-line);border-radius:12px;padding:10px 12px}.drafthead{color:var(--dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:12px}.draftmeta{color:var(--dim);margin:0 0 6px;font-size:13.5px}.draftmeta b{color:var(--ink);font-weight:600}.draftcard textarea{border:1px solid var(--line);background:var(--panel);resize:vertical;border-radius:8px;width:100%;padding:8px}.draftbtns{gap:8px;margin-top:8px;display:flex}.composer{background:var(--panel);border-top:1px solid var(--line);padding:10px 16px calc(14px + env(safe-area-inset-bottom));flex-direction:column;gap:8px;display:flex}.ai-panel{flex-direction:column;gap:8px;display:flex}.ai-toggle{color:var(--dim);border:1px solid var(--line);background:0 0;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.ai-toggle:hover,.ai-panel.open .ai-toggle{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:color-mix(in srgb, var(--accent) 6%, transparent)}.ai-chev{color:var(--dim);font-size:10px}.ai-row{gap:8px;display:flex}.ai-row select{border:1px solid var(--line);background:var(--panel);border-radius:8px;max-width:220px;padding:6px 8px}.ai-row input{border:1px solid var(--line);background:var(--panel);border-radius:8px;flex:1;padding:6px 10px}.send-row{align-items:flex-end;gap:8px;display:flex}.send-row textarea{border:1px solid var(--line);background:var(--panel);resize:vertical;border-radius:10px;flex:1;padding:8px 10px}.attach-btn{padding:8px 12px}@media (width<=700px){.ai-toggle{min-height:44px}}button{background:var(--accent);color:var(--accent-ink);border:0;border-radius:8px;padding:8px 16px;font-weight:600}button:disabled{opacity:.5;cursor:default}button.ghost,a.ghost{color:var(--accent);border:1px solid var(--accent);background:0 0}a.ghost{border-radius:8px;align-self:flex-start;padding:8px 16px;font-weight:600;text-decoration:none;display:inline-block}a.ghost.small{padding:4px 10px;font-size:13px}.toast{z-index:50;background:var(--toast);color:#fff;white-space:pre-line;z-index:70;border-radius:10px;max-width:420px;padding:10px 16px;position:fixed;bottom:16px;right:16px;box-shadow:0 4px 16px #00000040}.toast.ok{background:var(--ok)}.board-fallback{height:100vh;color:var(--dim);justify-content:center;align-items:center;font-size:15px;display:flex}.page{flex-direction:column;flex:1;gap:14px;padding:16px 18px;display:flex;overflow-y:auto}.pagebar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.weeknav{align-items:center;gap:8px;display:flex}.addlesson,.addstudent,.filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.addlesson select,.addlesson input,.addstudent select,.addstudent input,.filters select,.filters input{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:6px 8px}label.inline{color:var(--dim);align-items:center;gap:6px;font-size:14px;display:flex}.problemlist{flex-direction:column;gap:10px;display:flex}.problemcard{background:var(--panel);border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:break-word;border-radius:10px;padding:10px 14px}.problemanswer{border-top:1px solid var(--line);white-space:pre-wrap;overflow-wrap:break-word;flex-direction:column;gap:4px;margin-top:8px;padding-top:8px;font-size:14px;display:flex}.problemform{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:8px;padding:10px 14px;display:flex}.problemform textarea{border:1px solid var(--line);background:var(--panel);resize:vertical;width:100%;font:inherit;border-radius:8px;padding:8px 10px}.page-issuebar-pad{padding-bottom:76px}.issuebar{z-index:40;padding:10px 18px calc(10px + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #00000014}.issuebar select,.issuebar input{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:6px 8px}.weekgrid{grid-template-columns:repeat(7,1fr);align-items:start;gap:8px;display:grid}.daycol{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:6px;min-height:140px;padding:8px;display:flex}.daycol.today{border-color:var(--accent)}.dayhead{justify-content:space-between;align-items:center;margin-bottom:2px;font-size:13px;font-weight:700;display:flex}.dayadd{color:var(--dim);border:1px dashed var(--line);background:0 0;border-radius:6px;width:22px;height:22px;padding:0;font-size:15px;line-height:1}.dayadd:hover{color:var(--accent);border-color:var(--accent)}.dayempty{color:var(--dim);text-align:center;padding:8px 0}.ltop{justify-content:space-between;align-items:center;gap:4px;display:flex}.quickdone{color:var(--dim);border:1px solid var(--line);background:0 0;border-radius:6px;flex-shrink:0;width:22px;height:22px;padding:0;font-size:13px;line-height:1}.quickdone:hover{color:var(--ok);border-color:var(--ok);background:color-mix(in srgb, var(--ok) 12%, transparent)}.ltop-actions{flex-shrink:0;gap:4px;display:flex}.quickdel{color:var(--dim);border:1px solid var(--line);background:0 0;border-radius:6px;flex-shrink:0;width:22px;height:22px;padding:0;font-size:15px;line-height:1}.quickdel:hover{color:var(--danger);border-color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}@media (width<=900px){.weekgrid{grid-template-columns:1fr}.daycol{min-height:0}.daycol:not(.today) .dayempty{display:none}.pagebar{flex-direction:column;align-items:stretch}}.lessoncard{text-align:left;background:color-mix(in srgb, var(--accent) 10%, transparent);color:inherit;border:1px solid #0000;border-radius:8px;padding:6px 8px;font-size:13px;font-weight:400}.lessoncard:hover{border-color:var(--accent)}.lessoncard.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.lessoncard.st-done{background:color-mix(in srgb, var(--ok) 16%, transparent)}.lessoncard.st-no_show{background:color-mix(in srgb, var(--warn) 18%, transparent)}.lessoncard.st-cancelled{opacity:.55;text-decoration:line-through}.lname{font-weight:600}.lbadges{flex-wrap:wrap;gap:4px;margin-top:3px;display:flex}.badge{background:color-mix(in srgb, var(--dim) 16%, transparent);color:color-mix(in srgb, var(--dim), var(--ink) 35%);border-radius:99px;padding:1px 7px;font-size:11px}.badge.trial{background:color-mix(in srgb, var(--accent) 18%, transparent);color:color-mix(in srgb, var(--accent), var(--ink) 40%)}.badge.warn{background:color-mix(in srgb, var(--danger) 20%, transparent);color:color-mix(in srgb, var(--danger), var(--ink) 40%);font-weight:700}.badge.ok{background:color-mix(in srgb, var(--ok) 16%, transparent);color:color-mix(in srgb, var(--ok), var(--ink) 40%);font-weight:700}.badge.notice{background:color-mix(in srgb, var(--warn) 18%, transparent);color:color-mix(in srgb, var(--warn), var(--ink) 40%);font-weight:700}.profile-head{flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0;display:flex}.profile-head h2{margin:0 6px 0 0}.lessonactions{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:8px;padding:10px 14px;display:flex}.la-btns{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.la-move{align-items:center;gap:6px;margin-left:auto;display:flex}.la-move input{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:5px 8px}.debtbanner{background:color-mix(in srgb, var(--danger) 12%, transparent);border:1px solid color-mix(in srgb, var(--danger) 40%, transparent);border-radius:10px;padding:10px 14px}.schedule-onboard{background:color-mix(in srgb, var(--accent) 10%, transparent);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);color:var(--ink);border-radius:10px;padding:10px 14px}.table{border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:10px;width:100%;overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);padding:9px 12px}.table th{color:var(--dim);text-transform:uppercase;letter-spacing:.05em;font-size:12px}.strow{cursor:pointer}.strow:hover{background:color-mix(in srgb, var(--accent) 6%, transparent)}.strow-detail td{background:color-mix(in srgb, var(--accent) 4%, transparent)}.passbuy{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.passbuy.dropover{outline:2px dashed var(--accent);outline-offset:4px;border-radius:8px}.passbuy input{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:5px 8px}.passlist{margin:0;padding-left:20px}.passlist li{margin:3px 0}.hw-review{border-top:1px solid var(--line);padding:12px 15px}.hw-review:first-child{border-top:0}.hw-review-head{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.hw-comment{box-sizing:border-box;border:1px solid var(--line);background:var(--panel);width:100%;min-height:54px;color:var(--ink);font:inherit;resize:vertical;border-radius:8px;padding:7px 9px}.hw-review-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.btn-pass,.btn-rework{min-height:40px;font:inherit;border:1px solid var(--line);cursor:pointer;border-radius:8px;padding:7px 14px;font-weight:650}.btn-pass{background:color-mix(in srgb, var(--ok) 15%, transparent);color:color-mix(in srgb, var(--ok), var(--ink) 25%);border-color:color-mix(in srgb, var(--ok) 45%, var(--line))}.btn-rework{background:color-mix(in srgb, var(--warn) 15%, transparent);color:color-mix(in srgb, var(--warn), var(--ink) 25%);border-color:color-mix(in srgb, var(--warn) 45%, var(--line))}.btn-pass:disabled,.btn-rework:disabled{opacity:.5;cursor:default}.hw-done>summary{cursor:pointer;padding:11px 15px;font-size:13.5px;font-weight:650;list-style:none}.hw-done>summary::-webkit-details-marker{display:none}.hw-done[open]>summary{border-bottom:1px solid var(--line)}.hw-done .passlist{margin:0;padding:12px 15px 12px 32px}.hw-work{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.hw-work-thumbs{flex-wrap:wrap;gap:6px;display:flex}.hw-thumb{border:1px solid var(--line);border-radius:8px;line-height:0;display:block;overflow:hidden}.hw-thumb img{object-fit:cover;width:84px;height:84px;display:block}.hw-file{color:var(--accent)}.hw-solution{margin-bottom:8px;font-size:13.5px}.hw-solution>summary{cursor:pointer;color:var(--dim);font-weight:600}.hw-solution-answer{margin-top:6px}.hw-solution-body{white-space:pre-wrap;font:inherit;background:color-mix(in srgb, var(--warn) 8%, var(--panel));border:1px solid var(--line);border-radius:8px;margin:6px 0 0;padding:8px 10px}.hw-verdict-comment{margin:6px 0}.hw-thread{margin-top:8px}.hw-thread>summary{cursor:pointer;color:var(--dim);font-size:13px;font-weight:600}.hw-thread-body{margin-top:8px}.hw-thread-msgs{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.hw-msg{border-radius:10px;max-width:82%;padding:6px 10px;font-size:13.5px}.hw-msg-text{white-space:pre-wrap}.hw-msg-meta{color:var(--dim);margin-top:2px;font-size:11px}.hw-msg-me{background:color-mix(in srgb, var(--accent) 14%, transparent);align-self:flex-end}.hw-msg-them{background:color-mix(in srgb, var(--ink) 6%, transparent);align-self:flex-start}.hw-thread-reply{gap:6px;display:flex}.hw-thread-reply input{border:1px solid var(--line);background:var(--panel);min-width:0;color:var(--ink);font:inherit;border-radius:8px;flex:1;padding:6px 9px}.prog{flex-direction:column;gap:12px;display:flex}.prog-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.prog-tracks{gap:6px;display:flex}.prog-track{color:var(--dim);border:1px solid var(--line);background:0 0;border-radius:8px;padding:5px 12px;font-weight:600}.prog-track.active{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:color-mix(in srgb, var(--accent) 10%, transparent)}.prog-section>header h3{margin:0}.prog-topic{text-align:left;width:100%;color:inherit;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.prog-topic:hover{background:color-mix(in srgb, var(--accent) 7%, transparent)}.prog-topic:disabled{opacity:.5}.prog-topic-nm{flex:1;min-width:0;font-size:14px}.prog-topic-st{flex:none}.prog-dot{background:var(--line);border-radius:50%;flex:none;width:11px;height:11px;display:inline-block}.prog-dot.weak{background:var(--danger)}.prog-dot.progress{background:var(--warn)}.prog-dot.mastered{background:var(--ok)}.prog-legend{gap:14px;display:flex}.prog-legend span{align-items:center;gap:5px;display:inline-flex}.prog-gen-open{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 40%, var(--line));border-radius:8px;align-self:flex-start;padding:7px 14px;font-weight:600}.prog-gen{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));background:color-mix(in srgb, var(--accent) 4%, transparent);border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex}.prog-gen-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.prog-gen-form select{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;max-width:260px;padding:6px 8px}.prog-gen-result{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:10px;display:flex}.prog-gen-statement{white-space:pre-wrap;font-size:15px;line-height:1.4}.prog-gen-solution{white-space:pre-wrap;color:var(--dim);margin-top:4px;line-height:1.4}.prog-gen-result details summary{cursor:pointer;font-size:13.5px;font-weight:600}.prog-gen-result>button{align-self:flex-start}.prog-ai .panel-body{flex-direction:column;gap:12px;padding:12px 15px;display:flex}.prog-ai-log{flex-direction:column;gap:10px;max-height:340px;display:flex;overflow-y:auto}.prog-ai-msg{white-space:pre-wrap;overflow-wrap:break-word;border-radius:10px;padding:8px 11px;font-size:14px;line-height:1.4}.prog-ai-msg.user{background:color-mix(in srgb, var(--accent) 8%, transparent);align-self:flex-end;max-width:88%}.prog-ai-msg.ai{background:var(--bg);border:1px solid var(--line);align-self:flex-start;max-width:92%}.prog-ai-actions{flex-direction:column;gap:6px;margin-top:8px;display:flex}.prog-ai-action{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding-top:6px;display:flex}.prog-ai-action-label{flex:1;min-width:0;font-size:13.5px}.prog-ai-form{align-items:flex-end;gap:8px;display:flex}.prog-ai-form textarea{border:1px solid var(--line);background:var(--panel);color:inherit;resize:vertical;font:inherit;border-radius:10px;flex:1;padding:8px 10px}.prog-ctx{border:1px solid var(--line);background:var(--bg);border-radius:10px}.prog-ctx-toggle{text-align:left;justify-content:flex-start;width:100%;padding:8px 11px}.prog-ctx-body{flex-direction:column;gap:10px;padding:0 12px 12px;display:flex}.prog-ctx-sec h4{text-transform:uppercase;letter-spacing:.03em;color:var(--dim);margin:0 0 4px;font-size:12px}.prog-ctx-list{flex-direction:column;gap:3px;margin:0;padding:0;font-size:13.5px;list-style:none;display:flex}.prog-ctx-list li{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.prog-ctx-list .prog-dot{align-self:center}.prog-viewtabs{gap:4px;display:inline-flex}.prog-graph-wrap{flex-direction:column;gap:8px;display:flex}.prog-graph-sum{font-size:13.5px;line-height:1.35}.prog-graph-sum b{font-weight:650}.prog-graph .react-flow__node{cursor:pointer;pointer-events:all!important}.prog-graph{border:1px solid var(--line);background:var(--bg);border-radius:13px;height:min(64vh,600px);min-height:340px;position:relative;overflow:hidden}.prog-graph.is-empty{justify-content:center;align-items:center;height:200px;min-height:0;display:flex}.prog-graph-loading{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.prog-graph-legend{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.prog-graph-legend>span{align-items:center;gap:5px;display:inline-flex}.prog-graph-legend .prog-dot{width:11px;height:11px}.prog-graph-front-key:before{content:"";border:2px solid var(--accent);width:12px;height:12px;box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 25%, transparent);border-radius:4px;display:inline-block}.prog-graph-hint{margin-left:auto}.prog-node{box-sizing:border-box;border:1.5px solid var(--line);color:var(--ink);cursor:pointer;border-radius:11px;flex-direction:column;justify-content:center;gap:3px;padding:8px 11px;font-size:13px;line-height:1.25;transition:box-shadow .15s,transform .12s,border-color .15s;display:flex;overflow:hidden;box-shadow:0 1px 2px #0000000d}.prog-node:hover{transform:translateY(-1px);box-shadow:0 4px 13px #00000021}.prog-node:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.prog-node-nm{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;display:-webkit-box;overflow:hidden}.prog-node-meta{align-items:center;gap:6px;min-width:0;font-size:11px;display:flex}.prog-node-st{color:var(--dim);white-space:nowrap}.prog-node-ai{color:var(--dim);opacity:.85;text-overflow:ellipsis;white-space:nowrap;margin-left:auto;overflow:hidden}.prog-node-flag{color:var(--accent);text-transform:uppercase;letter-spacing:.03em;margin-left:auto;font-size:10px;font-weight:700}.prog-node.is-front{border-width:2px;animation:2.4s ease-in-out infinite prog-front-pulse}@keyframes prog-front-pulse{0%,to{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent), 0 4px 14px color-mix(in srgb, var(--accent) 24%, transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 26%, transparent), 0 6px 20px color-mix(in srgb, var(--accent) 40%, transparent)}}.prog-node.is-busy{opacity:.55;cursor:progress}.prog-node .react-flow__handle{opacity:0;pointer-events:none;background:0 0;border:0;width:1px;min-width:0;height:1px;min-height:0}@media (prefers-reduced-motion:reduce){.prog-node.is-front{animation:none}}.rowbtns{gap:6px;display:flex}.filesblock{margin-bottom:8px}.filedrop{border:1px dashed var(--line);border-radius:8px;align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;display:flex}.filedrop.over{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent)}.filedrop select{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:5px 8px}.filedrop-label{color:var(--dim);cursor:pointer;font-size:13px}button.small{padding:4px 10px;font-size:13px}@media (pointer:coarse){button.small,a.small,.ghost.small{align-items:center;min-height:44px;display:inline-flex}}.board-wrap{flex-direction:column;height:100dvh;display:flex}.board-topbar{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:8px 14px;font-size:14px;display:flex}.board-status{color:var(--dim);font-size:12px}.board-status.offline{color:var(--danger)}.board-voice{flex-shrink:0;align-items:center;gap:6px;margin-left:auto;display:flex}.voice-btn,.rec-btn{border:1px solid var(--line);background:var(--panel);min-width:76px;height:34px;color:var(--ink);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:13px;line-height:1;display:inline-flex;position:relative}.rec-btn{min-width:88px}.board-voice button:is(:hover,:focus-visible):after{content:attr(data-tip);z-index:20;color:#fff;white-space:nowrap;pointer-events:none;background:#1e2430;border-radius:6px;padding:5px 9px;font-size:12px;font-weight:400;line-height:1.3;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 2px 8px #00000040}.voice-btn.connecting{opacity:.6;cursor:wait}.voice-btn.connected{background:var(--ok);border-color:var(--ok);color:#fff;box-shadow:0 0 0 calc(var(--mic-level,0) * 7px) color-mix(in srgb, var(--ok) 45%, transparent);transition:box-shadow 60ms linear}.voice-btn.muted{background:var(--danger);border-color:var(--danger);color:#fff}.voice-btn.failed{border-color:var(--danger);color:var(--danger)}.rec-btn.active{background:var(--danger);border-color:var(--danger);color:#fff}.rec-banner{text-align:center;background:var(--danger);color:#fff;padding:4px 10px;font-size:12px;font-weight:600}.board-canvas{flex:1;min-height:0;position:relative}.board-fallback{text-align:center;color:var(--dim);margin:auto;padding-top:40vh}.board-canvas>.board-fallback{height:auto;padding:0 24px;position:absolute;inset:0}.board-canvas>.board-fallback span{max-width:440px}button.ghost.active{background:var(--accent);color:var(--accent-ink)}select.ghost.small{border:1px solid var(--line);color:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:3px 6px;font-size:12px}.onboardcheck{background:color-mix(in srgb, var(--accent) 6%, transparent);border-radius:8px;flex-wrap:wrap;align-items:center;gap:4px 14px;margin-bottom:10px;padding:6px 10px;font-size:13px;display:flex}.onboardcheck .ok{color:var(--ok)}.onboardcheck .pending{color:var(--danger);cursor:pointer;font-weight:600;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.cardedit{border-bottom:1px dashed var(--line);flex-wrap:wrap;align-items:end;gap:8px 14px;margin-bottom:10px;padding:8px 0 12px;display:flex}.cardedit label{color:var(--dim);flex-direction:column;gap:3px;font-size:12px;display:flex}.cardedit label.grow{flex:1;min-width:220px}.cardedit label.grow input{width:100%}.cardedit a.small{align-self:center;font-size:13px}.lessoncard{cursor:grab}.lessoncard:active{cursor:grabbing}.daycol.dropover{outline:2px dashed var(--accent);outline-offset:-4px;border-radius:8px}.dropask-backdrop{z-index:60;position:fixed;inset:0}.dropask{background:var(--panel,#1c2433);border:1px solid var(--line,#2a3342);border-radius:10px;flex-direction:column;gap:8px;width:220px;padding:10px;display:flex;position:absolute;box-shadow:0 8px 24px #00000059}.dropask b{font-size:13px}.dropask .keep{width:100%}.dropask .hours{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.dropask .hours button{padding:5px 0;font-size:12px}.dropask-time{gap:6px;display:flex}.dropask-time input{border:1px solid var(--line);background:var(--panel);min-width:0;color:inherit;border-radius:6px;flex:1;padding:4px 6px}.dropask-time button{padding:4px 10px;font-size:12px}.board-canvas .excalidraw .App-toolbar,.board-canvas .excalidraw .App-toolbar-container,:is(.board-canvas .excalidraw [data-testid=main-menu-trigger],.board-canvas .excalidraw .Island:has(>[data-testid=main-menu-trigger]),.board-canvas .excalidraw .Stack:has(>.Island>[data-testid=main-menu-trigger]),.board-canvas .excalidraw .dropdown-menu){display:none!important}.side-tools{z-index:5;background:var(--island-bg-color,#fff);border-radius:var(--border-radius-lg,8px);flex-direction:column;gap:2px;padding:4px;display:flex;position:fixed;top:58px;left:10px;box-shadow:0 0 0 1px #0000000f,0 2px 6px #0000001f}.side-tools>button,.side-tools>.formula-tool>button{cursor:pointer;color:#1e1e1e;background:0 0;border:none;border-radius:8px;width:36px;height:34px;padding:0;font-size:15px;line-height:1}.side-tools>button:hover,.side-tools>.formula-tool>button:hover{background:#f1f0ff}.side-tools>button.active,.side-tools>.formula-tool>button.active{color:var(--accent);background:#e0dfff}.side-tools button.mode-on{color:#b08800}.side-tools button.mode-on:before{content:"";background:#f5b301;border-radius:50%;width:6px;height:6px;position:absolute;top:4px;right:4px}.side-tools>button,.side-tools>.formula-tool>button{position:relative}.side-tools>button svg,.side-tools>.formula-tool>button svg{margin:0 auto;display:block}.side-tools .sep{background:#e5e5e5;height:1px;margin:2px 4px}.formula-tool{position:relative}.formula-popover{z-index:21;cursor:default;background:#fff;border-radius:10px;flex-direction:column;gap:8px;width:240px;padding:10px;display:flex;position:absolute;top:0;left:42px;box-shadow:0 4px 16px #0000002e,0 0 0 1px #0000000f}.formula-popover textarea{resize:vertical;box-sizing:border-box;border:1px solid #d8d8e0;border-radius:6px;width:100%;min-height:52px;padding:6px 8px;font-family:SFMono-Regular,Consolas,Courier New,monospace;font-size:13px}.formula-preview{color:#8a8a94;background:#f7f7fb;border-radius:6px;justify-content:center;align-items:center;min-height:36px;max-height:120px;padding:6px;font-size:12px;display:flex;overflow:auto}.formula-preview img{max-width:100%;display:block}.formula-preview.err{color:#d33}.formula-actions{justify-content:flex-end;gap:6px;display:flex}.formula-actions button{cursor:pointer;color:#1e1e1e;background:#f1f0ff;border:none;border-radius:6px;padding:5px 12px;font-size:13px}.formula-actions .insert{background:var(--accent);color:#fff}.formula-actions .insert:disabled{cursor:default;background:#c9d0f5}.side-tools>button:hover:after,.side-tools>button:focus-visible:after,.side-tools>.formula-tool>button:focus-visible:after,.side-tools>.formula-tool>button:hover:after{content:attr(data-tip);color:#fff;white-space:nowrap;z-index:20;pointer-events:none;background:#1e2430;border-radius:6px;padding:5px 9px;font-size:12px;line-height:1.3;position:absolute;top:50%;left:42px;transform:translateY(-50%);box-shadow:0 2px 8px #00000040}.remote-cursor{z-index:5;pointer-events:none;align-items:flex-start;gap:2px;display:flex;position:absolute;transform:translate(-1px,-1px)}.remote-cursor.tutor{color:#6a4cff}.remote-cursor.student{color:#1971c2}.remote-cursor span{background:currentColor;border-radius:4px;margin-top:12px;padding:3px 6px;font-size:11px;line-height:1}.remote-cursor.tutor span,.remote-cursor.student span{color:#fff;background:0 0}.remote-cursor.tutor span{background:#6a4cff}.remote-cursor.student span{background:#1971c2}.presence{z-index:5;gap:6px;display:flex;position:fixed;top:56px;right:12px}.presence button{color:#fff;cursor:pointer;border:2px solid #fff;border-radius:50%;width:34px;height:34px;font-size:14px;font-weight:700;position:relative;box-shadow:0 1px 4px #00000040}.presence .tutor-av{background:#6a4cff}.presence .student-av{background:#1971c2}.presence button:is(:hover,:focus-visible):after{content:attr(data-tip);color:#fff;white-space:nowrap;background:#1e2430;border-radius:6px;padding:4px 8px;font-size:12px;position:absolute;top:40px;right:0}.sel-preview{pointer-events:none;z-index:3;border:1.5px solid #4f6ef7bf;border-radius:3px;position:absolute}.board-minimap{z-index:4;cursor:pointer;background:#ffffffeb;border-radius:8px;width:180px;height:112px;position:fixed;bottom:12px;right:12px;box-shadow:0 0 0 1px #00000014,0 2px 6px #0000001f}@media (width<=820px),(pointer:coarse){.board-topbar{gap:8px;padding:6px 10px;font-size:13px}.board-topbar b{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.side-tools{max-height:calc(100dvh - 72px);top:62px;overflow:hidden auto}.side-tools>button,.side-tools>.formula-tool>button{width:44px;height:44px;font-size:17px}.presence{top:62px}.presence button{width:44px;height:44px}.voice-btn,.rec-btn{min-width:72px;height:44px;padding:0 8px;font-size:12px}.rec-btn{min-width:82px}.board-minimap{width:120px;height:76px}.side-tools>button:after,.side-tools>.formula-tool>button:after{display:none}.formula-popover{width:auto;max-width:260px;position:fixed;inset:auto 12px 12px 58px}}@media (width<=480px){.formula-popover{width:200px}}.board-canvas .excalidraw .App-toolbar__extra-tools-trigger{display:none!important}.board-canvas .excalidraw label:has(input[data-testid=toolbar-frame]){display:none!important}.board-canvas .excalidraw label:has(input[data-testid=toolbar-embeddable]){display:none!important}.board-canvas .excalidraw .layer-ui__wrapper__top-right,.board-canvas .excalidraw label[title=Библиотека],:is(.board-canvas .excalidraw .App-menu__left .panelColumn>fieldset,.board-canvas .excalidraw .App-menu__left .panelColumn>div:has([data-testid=color-top-pick-transparent]),.board-canvas .excalidraw .App-menu__left .panelColumn>label:has([data-testid=opacity])){display:none!important}:is(.board-canvas .excalidraw .App-menu__left .panelColumn>fieldset:has([data-testid^=strokeWidth]),.board-canvas .excalidraw .App-menu__left .panelColumn>fieldset:has([data-testid^=fontSize]),.board-canvas .excalidraw .App-menu__left .panelColumn>fieldset:has([title=Малый]),.board-canvas .excalidraw .App-menu__left .panelColumn>fieldset:has([aria-label=Малый]),.board-canvas .excalidraw .App-menu__left .panelColumn>fieldset:has([title^=Дублировать]),.board-canvas .excalidraw .App-menu__left .panelColumn>fieldset:has([aria-label^=Дублировать]),.board-canvas .excalidraw .App-menu__left .panelColumn>fieldset:has([title^=Удалить]),.board-canvas .excalidraw .App-menu__left .panelColumn>fieldset:has([aria-label^=Удалить]),.board-canvas .excalidraw .App-menu__left .panelColumn>fieldset:has([title^=Duplicate]),.board-canvas .excalidraw .App-menu__left .panelColumn>fieldset:has([aria-label^=Delete])){display:block!important}.board-canvas .excalidraw .App-menu__left .panelColumn button[title^=Ссылка],.board-canvas .excalidraw .App-menu__left .panelColumn button[aria-label^=Создать\ ссылку],.board-canvas .excalidraw .App-menu__left .panelColumn button[title=Crop\ image],.board-canvas .excalidraw .App-menu__left .panelColumn button[aria-label=Crop\ image],.board-canvas .excalidraw .HintViewer,.board-canvas .excalidraw .ToolIcon__keybinding,.board-canvas .excalidraw label[title^=Сохранять\ выбранный]{display:none!important}.board-canvas .excalidraw .App-toolbar__divider{width:auto!important;height:1px!important;margin:3px 6px!important}.board-canvas .excalidraw .App-toolbar .Stack_horizontal{grid-template-rows:auto!important;grid-template-columns:none!important;grid-auto-flow:row!important}.board-canvas .excalidraw .App-toolbar footer.App-toolbar-content{width:auto;position:fixed!important;top:auto!important;bottom:12px!important;left:10px!important}:is(.board-canvas .excalidraw label:has(input[data-testid=toolbar-rectangle]),.board-canvas .excalidraw label:has(input[data-testid=toolbar-diamond]),.board-canvas .excalidraw label:has(input[data-testid=toolbar-ellipse]),.board-canvas .excalidraw label:has(input[data-testid=toolbar-arrow])){display:none!important}.board-canvas .excalidraw .App-menu__left{max-height:calc(100vh - 80px);overflow-y:auto;position:fixed!important;top:60px!important;left:64px!important}.board-canvas .excalidraw .layer-ui__wrapper__footer-left{gap:8px;position:fixed!important;bottom:12px!important;left:10px!important}.board-canvas .excalidraw .layer-ui__wrapper__footer-right{display:none!important}.cabpage{background:repeating-linear-gradient(0deg, transparent, transparent 27px, color-mix(in srgb, var(--line) 60%, transparent) 27px, color-mix(in srgb, var(--line) 60%, transparent) 28px), repeating-linear-gradient(90deg, transparent, transparent 27px, color-mix(in srgb, var(--line) 60%, transparent) 27px, color-mix(in srgb, var(--line) 60%, transparent) 28px), var(--bg);justify-content:center;align-items:center;min-height:100%;padding:16px;display:flex;position:relative;overflow:hidden}.cabpage-deco{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.cab-deco{color:var(--accent);opacity:.08;white-space:nowrap;-webkit-user-select:none;user-select:none;font-weight:700;position:absolute}.cab-deco-1{font-size:110px;top:8%;left:6%;transform:rotate(-8deg)}.cab-deco-2{font-size:30px;bottom:10%;left:4%;transform:rotate(-4deg)}.cab-deco-3{font-size:130px;top:12%;right:7%;transform:rotate(6deg)}.cab-deco-4{font-size:90px;bottom:6%;right:10%;transform:rotate(10deg)}.cab-page-inner{z-index:1;flex-direction:column;align-items:center;width:100%;max-width:340px;display:flex;position:relative}.cab-header{text-align:center;margin-bottom:18px}.cab-brand{color:var(--accent);letter-spacing:.01em;font-size:28px;font-weight:800}.cab-sub{color:var(--dim);margin-top:2px;font-size:14px}.cabbox{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:14px;width:100%;max-width:340px;padding:28px 26px;box-shadow:0 10px 30px #0000000f}.cabbox h1{margin:0 0 6px;font-size:18px}.cabbox input{border:1px solid var(--line);background:var(--panel);text-align:center;letter-spacing:.15em;border-radius:8px;width:100%;margin:14px 0;padding:10px 12px;font-size:18px;display:block}.cabbox button{width:100%}.cab-boardbtn{background:var(--accent);width:100%;color:var(--accent-ink);border-radius:8px;margin-top:14px;padding:10px 16px;font-weight:600;text-decoration:none;display:block}.board-fallback .cab-boardbtn{width:auto;padding:10px 22px}.cabbox .cab-label{text-align:left;margin:18px 0 4px}.cabbox .cab-label+p.dim,.cabbox .passlist{text-align:left}.cab-hw-body{white-space:pre-wrap;text-align:left;color:var(--ink);margin:4px 0;font-size:14px}.cab-hw-files{flex-flow:wrap;align-items:center;gap:6px;margin:4px 0 6px;display:flex}.cab-hw-file{color:var(--accent);font-size:14px}.cab-hw-thumb{border:1px solid var(--line);border-radius:8px;line-height:0;display:inline-block;overflow:hidden}.cab-hw-thumb img{object-fit:cover;width:90px;height:90px;display:block}.cab-hw-filewrap{align-items:center;gap:5px;display:inline-flex}.cab-hw-detach{border:1px solid var(--line);background:var(--panel);width:20px;height:20px;color:var(--dim);cursor:pointer;border-radius:50%;flex:none;place-content:center;padding:0;font-size:14px;line-height:1;display:grid}.cab-hw-detach:hover{color:var(--panel);background:var(--warn);border-color:var(--warn)}.cab-hw-detach:disabled{opacity:.4;cursor:default}.cab-hw-mywork{text-align:left;margin:6px 0}.cab-hw-note{text-align:left;color:color-mix(in srgb, var(--warn), var(--ink) 20%);margin:4px 0;font-size:14px}.cab-hw-verdict{text-align:left;color:var(--ink);margin:4px 0;font-size:14px}.cab-thread{text-align:left;margin-top:8px}.cab-thread>summary{cursor:pointer;color:var(--dim);font-size:13px;font-weight:600}.cab-thread-body{margin-top:8px}.cab-thread-msgs{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.cab-msg{border-radius:10px;max-width:82%;padding:6px 10px;font-size:14px}.cab-msg-text{white-space:pre-wrap}.cab-msg-meta{color:var(--dim);margin-top:2px;font-size:11px}.cab-msg-me{background:color-mix(in srgb, var(--accent) 14%, transparent);align-self:flex-end}.cab-msg-them{background:color-mix(in srgb, var(--ink) 6%, transparent);align-self:flex-start}.cab-thread-reply{gap:6px;display:flex}.cab-thread-reply input{border:1px solid var(--line);background:var(--panel);min-width:0;color:var(--ink);font:inherit;text-align:left;letter-spacing:normal;border-radius:8px;flex:1;margin:0;padding:7px 10px;font-size:14px}.cab-hw-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.cab-hw-action{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:4px 10px;font-size:13px;font-weight:600;line-height:1.4;text-decoration:none;display:inline-flex}.cab-hw-action:disabled{opacity:.5;cursor:default}@media (pointer:coarse){.cab-hw-action{min-height:44px;padding:8px 14px;font-size:14px}}.badge.cab-badge-sent{background:color-mix(in srgb, var(--accent) 16%, transparent);color:color-mix(in srgb, var(--accent), var(--ink) 40%);font-weight:700}.cabbox .passlist li{margin:8px 0}.cabbox .passlist button{width:auto}.cabbox .cab-logout{width:auto;margin-top:18px}.cabbox input[hidden]{display:none}.cab-legal-link{margin-top:16px;text-decoration:none;display:block}.cab-legal-link:hover{color:var(--ink)}.cab-card{text-align:left;border:1px solid var(--line);border-radius:10px;margin-top:16px;padding:12px 14px}.cab-page-inner.cab-wide,.cabbox.cab-wide{max-width:600px}.cabbox.cab-wide .cab-boardbtn{max-width:340px;margin-inline:auto}.cab-hw-count{margin-left:6px}.cab-card .cab-label:first-child{margin-top:0}.staff-input{border:1px solid var(--line);background:var(--panel);width:100%;color:var(--ink);border-radius:10px;margin:8px 0;padding:10px 12px;font-size:15px;display:block}.staff-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.tab.staff-badge{color:var(--warn);flex-shrink:0;margin-left:auto}.tab.staff-badge:hover{background:color-mix(in srgb, var(--warn) 12%, transparent);color:var(--warn)}.dash{width:100%;max-width:1080px;margin:0 auto}.dash-hi{letter-spacing:-.01em;margin:2px 0;font-size:20px;font-weight:700}.dash .kpis{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.dash .kpi{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:14px 16px}.dash .kpi-lbl{letter-spacing:.03em;text-transform:uppercase;color:var(--dim);font-size:11.5px;font-weight:600}.dash .kpi-num{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:7px 0 6px;font-size:27px;font-weight:750}.dash .kpi-delta{border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:12px;font-weight:650;display:inline-flex}.dash .kpi-delta.up{color:var(--ok);background:color-mix(in srgb, var(--ok) 14%, transparent)}.dash .kpi-delta.down{color:var(--danger);background:color-mix(in srgb, var(--danger) 14%, transparent)}.dash .kpi-delta.flat{color:var(--dim);background:color-mix(in srgb, var(--dim) 12%, transparent)}.dash .kpi-per{color:var(--dim);font-size:11.5px;font-weight:500}.dash .kpi-delta .kpi-per{margin-left:2px}.dash .dash-cols{grid-template-columns:1.45fr 1fr;align-items:start;gap:14px;display:grid}.dash .dash-stack{align-content:start;gap:14px;display:grid}.dash .panel{background:var(--panel);border:1px solid var(--line);border-radius:13px;overflow:hidden}.dash .panel>header{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding:12px 15px;display:flex}.dash .panel>header h3{margin:0;font-size:13.5px;font-weight:650}.dash .p-count{color:var(--danger);background:color-mix(in srgb, var(--danger) 13%, transparent);font-variant-numeric:tabular-nums;border-radius:999px;margin-left:auto;padding:1px 9px;font-size:12px;font-weight:700}.dash .panel-empty{color:var(--dim);margin:0;padding:16px;font-size:13px}.dash .dot{border-radius:50%;flex:none;width:8px;height:8px}.dash .dot.red{background:var(--danger)}.dash .dot.amber{background:var(--warn)}.dash .dot.blue{background:var(--accent)}.dash .dot.green{background:var(--ok)}.dash .attn-group{border-top:1px solid var(--line)}.dash .attn-group:first-child{border-top:0}.dash .attn{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:0;align-items:center;gap:11px;padding:11px 15px;display:flex}.dash .attn:hover{background:color-mix(in srgb, var(--accent) 6%, transparent)}.dash .attn-txt{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13.5px;font-weight:600;overflow:hidden}.dash .attn-who{color:var(--dim);font-weight:400}.dash .attn-c{font-variant-numeric:tabular-nums;flex:none;font-size:15px;font-weight:750}.dash .attn-c.red{color:var(--danger)}.dash .attn-c.amber{color:var(--warn)}.dash .attn-c.blue{color:var(--accent)}.dash .attn-chev{color:var(--dim);text-align:center;flex:none;width:12px;font-size:11px}.dash .attn-list{background:color-mix(in srgb, var(--line) 30%, transparent)}.dash .attn-item{border-top:1px solid var(--line);color:inherit;align-items:center;gap:10px;padding:9px 15px 9px 34px;font-size:13px;text-decoration:none;display:flex}.dash a.attn-item:hover{background:color-mix(in srgb, var(--accent) 7%, transparent)}.dash .attn-inm{flex:none;font-weight:600}.dash .attn-idet{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dash .attn-igo{color:var(--accent);white-space:nowrap;flex:none;margin-left:auto;font-weight:600}.dash .p-row{border-top:1px solid var(--line);color:inherit;align-items:center;gap:10px;padding:10px 15px;text-decoration:none;display:flex}.dash .p-row:first-of-type{border-top:0}.dash a.p-row:hover{background:color-mix(in srgb, var(--accent) 6%, transparent)}.dash .p-when{font-variant-numeric:tabular-nums;color:var(--dim);flex:none;min-width:88px;font-size:12.5px}.dash .p-when b{color:var(--accent);font-weight:650}.dash .p-nm{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.dash .p-meta{color:var(--dim);flex:none;margin-left:auto;font-size:12px}.dash .av{background:color-mix(in srgb, var(--accent) 15%, transparent);width:30px;height:30px;color:var(--accent);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12.5px;font-weight:700;display:flex}@media (width<=760px){.dash .kpis{grid-template-columns:repeat(2,1fr)}.dash .dash-cols{grid-template-columns:1fr}}.staff-admin{max-width:620px}.staff-h{margin:0 0 6px;font-size:15px;font-weight:700}.staff-own{border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:18px}.staff-remember{color:var(--dim);cursor:pointer;align-items:center;gap:8px;margin:2px 0;font-size:13px;display:flex}.staff-remember input{width:16px;height:16px;accent-color:var(--accent)}.staff-intro{margin:0 0 16px;line-height:1.5}.staff-form{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.staff-form input{border:1px solid var(--line);background:var(--panel);border-radius:8px;flex:1;min-width:140px;padding:8px 10px}.staff-list{border:1px solid var(--line);border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.staff-list li{border-top:1px solid var(--line);align-items:center;gap:12px;padding:11px 14px;display:flex}.staff-list li:first-child{border-top:0}.staff-list li.off{opacity:.55}.staff-who{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.staff-who .dim{font-size:12px}.staff-state{color:var(--dim);flex-shrink:0;font-size:12px}.parent-balance{color:var(--ink);margin:2px 0 8px;font-size:34px;font-weight:800;line-height:1}.parent-balance.low{color:var(--warn)}.parent-balance.out{color:var(--danger)}.parent-balance-hint{margin:-4px 0 8px;font-weight:600}.parent-balance-hint.low{color:var(--warn)}.parent-balance-hint.out{color:var(--danger)}.att-strip{flex-wrap:wrap;gap:5px;margin:6px 0;display:flex}.att-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.att-dot.att-done{background:var(--ok)}.att-dot.att-resc{background:var(--warn)}.att-dot.att-miss{background:var(--danger)}.att-legend{margin:6px 0 0}.small{font-size:12px}.parent-progress{margin:0;padding:0;list-style:none}.parent-progress li{border-top:1px solid var(--line);padding:8px 0}.parent-progress li:first-child{border-top:0;padding-top:0}.parent-progress li>div{color:var(--ink);white-space:pre-wrap;margin-top:2px;font-size:14px}.otp-row{gap:8px;margin:16px 0;display:flex}.cabbox .otp-cell{aspect-ratio:3/4;border:1px solid var(--line);background:var(--panel);min-width:0;color:var(--ink);text-align:center;letter-spacing:normal;border-radius:10px;flex:1;margin:0;padding:0;font-size:clamp(18px,6vw,22px);font-weight:700}.cabbox .otp-cell:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}@keyframes cab-card-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.cab-enter{animation:.35s ease-out cab-card-in}@keyframes cab-shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.otp-row.shake{animation:.4s cab-shake}@media (prefers-reduced-motion:reduce){.cab-enter,.otp-row.shake{animation:none}}@media (width<=480px){.cabpage{align-items:flex-start;padding:24px 10px}.cab-page-inner{max-width:100%}.cabbox{max-width:100%;padding:22px 16px}.cabbox h1{font-size:19px}.cabbox input{min-height:46px;padding:13px 12px;font-size:20px}.otp-row{gap:6px}.cabbox button,.cab-boardbtn{min-height:46px;font-size:16px}.cabbox .cab-label,.cabbox .passlist{font-size:15px}.cabbox .passlist>li>div{gap:10px!important}.cabbox .passlist a.small,.cabbox .passlist button.small,.cabbox .filedrop-label.small{border-radius:8px;align-items:center;min-height:44px;padding:10px 12px;font-size:14px;display:inline-flex}.cabbox .passlist button.ghost.small{border:1px solid var(--accent)}}.cab-error{color:var(--toast);margin:8px 0 0;font-size:13px}.profile{width:100%;max-width:720px;margin:0 auto}.profile-head{flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0 4px;display:flex}.profile-head h2{flex-basis:100%;margin:0;font-size:20px}.profile-head p.dim{flex-basis:100%;margin:4px 0 0}.profile-section{border-top:1px solid var(--line);padding-top:12px}.profile-section h3{color:var(--dim);text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;font-size:14px}.card-section-head{color:var(--dim);text-transform:uppercase;letter-spacing:.04em;margin:12px 0 4px;font-size:13px;font-weight:700}.profile-section .passlist li p{margin:2px 0}.profile-section .passlist a{color:var(--accent)}.attn-grid{flex-wrap:wrap;gap:10px;display:flex}.attn-week{flex-direction:column;align-items:center;gap:4px;min-width:40px;display:flex}.attn-dots{flex-direction:column;justify-content:flex-end;align-items:center;gap:3px;min-height:12px;display:flex}.attn-dot{background:var(--line);border-radius:50%;width:9px;height:9px}.attn-dot.done{background:var(--ok)}.attn-dot.rescheduled{background:var(--warn)}.attn-dot.no_show{background:var(--danger)}.attn-dot.empty{background:var(--line)}.attn-legend{color:var(--dim);flex-wrap:wrap;gap:12px;margin:4px 0 10px;font-size:12px;display:flex}.attn-legend span{align-items:center;gap:5px;display:inline-flex}.attn-legend .attn-dot{display:inline-block}.attn-week-label{color:var(--dim);font-size:11px}.docspage{justify-content:center;min-height:100%;padding:24px 16px 60px;display:flex}.docsbox{width:100%;max-width:640px}.docs-draft{background:var(--draft-bg);border:1px solid var(--draft-line);color:var(--ink);border-radius:10px;margin-bottom:16px;padding:10px 14px;font-size:14px;font-weight:600}.docs-nav{flex-wrap:wrap;gap:6px 16px;margin-bottom:20px;display:flex}.docs-nav a{color:var(--dim);font-size:13px;text-decoration:none}.docs-nav a:hover,.docs-nav a.active{color:var(--accent)}.docs-article h1{margin:0 0 6px;font-size:22px}.docs-article h2{margin:24px 0 6px;font-size:16px}.docs-article p,.docs-article li{line-height:1.6}.docs-article ul{padding-left:20px}.docs-article a{color:var(--accent)}html,body{overflow-x:hidden}.inbox-back{display:none}@media (width<=700px){.tab{min-height:44px;padding:0 12px}.page input,.page select,.page textarea,.composer input,.composer select,.composer textarea{font-size:16px}.inbox-layout{grid-template-columns:1fr}.inbox-layout .main,.inbox-layout.chat-open .sidebar{display:none}.inbox-layout.chat-open .main{display:flex}.inbox-back{flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;padding:0;font-size:18px;display:inline-flex}.chathead{flex-wrap:wrap;padding:8px 10px}.chatitem{min-height:44px}.table{background:0 0;border:none}.table thead{display:none}.table tbody{flex-direction:column;gap:10px;display:flex}.table tr:not(.strow-detail){background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px 12px;min-height:44px;padding:10px 12px;display:flex}.table tr:not(.strow-detail) td{border:0;padding:0}.table tr:not(.strow-detail) td:first-child{flex:100%;font-weight:600}.table tr:not(.strow-detail) td:last-child{margin-left:auto}.table td[data-label]:before{content:attr(data-label) ": ";color:var(--dim);font-size:12px;font-weight:400}.table tr.strow-detail td{padding:10px 0 0;display:block}.weeknav button,.send-row button,.attach-btn,.addlesson button,.addstudent button,.filters>button,.la-btns button,.la-btns select,.rowbtns button,.issuebar button{min-height:44px}.profile>a.ghost{align-items:center;min-height:44px;display:inline-flex}.ai-row{flex-wrap:wrap}.ai-row button,.ai-row select,.page select,.import-history,.debtbanner button{min-height:44px}.page button.small,.page button.ghost.small{align-items:center;min-height:44px;display:inline-flex}.chathead{align-items:center}.dayadd,.quickdone,.quickdel{width:32px;height:32px;font-size:15px}.page{gap:12px;padding:12px 10px}.page-issuebar-pad{padding-bottom:210px}}.dash .kpi-lbl .dot{vertical-align:middle;margin-right:6px;display:inline-block}.dash .pb-toolbar{flex-direction:column;gap:10px;padding:12px 14px;display:flex}.dash .pb-search{border:1px solid var(--line);background:var(--bg);width:100%;color:inherit;border-radius:9px;padding:9px 12px}.dash .pb-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dash .pb-filters{min-width:0}.dash .pb-count{color:var(--dim);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:13px;font-weight:650}.dash .pb-chips{flex-wrap:wrap;gap:6px;display:flex}.dash .pb-chip{background:color-mix(in srgb, var(--accent) 12%, transparent);color:color-mix(in srgb, var(--accent), var(--ink) 30%);border-radius:999px;align-items:center;gap:5px;padding:3px 5px 3px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.dash .pb-chip button{background:color-mix(in srgb, var(--accent) 22%, transparent);width:17px;height:17px;color:inherit;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:inline-flex}.dash .pb-chip button:hover{background:var(--accent);color:var(--accent-ink)}.dash .pb-row{border-top:1px solid var(--line)}.dash .pb-row:first-of-type{border-top:0}.dash .pb-row:hover{background:color-mix(in srgb, var(--accent) 5%, transparent)}.dash .pb-row.pb-sel{background:color-mix(in srgb, var(--accent) 10%, transparent)}.dash .pb-head{align-items:flex-start;gap:11px;padding:11px 15px;display:flex}.dash .pb-check{width:16px;height:16px;accent-color:var(--accent);flex:none;margin-top:3px}.dash .pb-main{cursor:pointer;text-align:left;flex:1;align-items:flex-start;gap:11px;min-width:0;display:flex}.dash .pb-main .dot{margin-top:6px}.dash .pb-body{flex:1;min-width:0}.dash .pb-stmt{overflow-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.4;display:-webkit-box;overflow:hidden}.dash .pb-row.pb-open .pb-stmt{-webkit-line-clamp:unset;white-space:pre-wrap;overflow:visible}.dash .pb-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px;display:flex}.dash .pb-path{color:var(--dim);margin-right:2px;font-size:12.5px}.dash .pb-tag{background:color-mix(in srgb, var(--dim) 14%, transparent);color:var(--dim);border-radius:999px;padding:1px 8px;font-size:11.5px;font-weight:600}.dash .pb-chev{text-align:center;width:12px;color:var(--dim);flex:none;align-self:center;font-size:11px}.dash .pb-detail{border-top:1px solid var(--line);background:color-mix(in srgb, var(--line) 28%, transparent);overflow-wrap:break-word;white-space:pre-wrap;flex-direction:column;gap:5px;padding:10px 15px 12px 51px;font-size:13.5px;display:flex}.dash .pb-detail b{font-weight:650}.dash .pb-src{color:var(--dim);font-size:12.5px}.dash .pb-actions{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.dash .pb-form{border-radius:13px}.dash .pb-form-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.dash .pb-form-head b{font-size:14px;font-weight:650}.dash .pb-taginput{border:1px solid var(--line);background:var(--panel);border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;display:flex}.dash .pb-taginput-field{min-width:120px;color:inherit;background:0 0;border:0;outline:none;flex:1;padding:3px 2px}.dash .pb-form-actions{justify-content:flex-end;display:flex}.issuebar .pb-issue-lead{font-weight:600}@media (width<=760px){.dash .pb-count{margin-left:0}.dash .pb-detail{padding-left:15px}}.fin .fin-head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.fin .fin-sub{color:var(--dim);text-transform:capitalize;font-size:14px;font-weight:600}.dash.fin .kpis{grid-template-columns:repeat(3,1fr);margin-top:4px}.fin .fin-cols{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start;gap:14px;margin-top:14px;display:grid}.fin .fin-seg{background:color-mix(in srgb, var(--line) 45%, transparent);border-radius:9px;gap:2px;margin-left:auto;padding:2px;display:inline-flex}.fin .fin-seg button{color:var(--dim);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:7px;padding:4px 11px;font-size:12px;font-weight:650}.fin .fin-seg button:hover{color:var(--ink)}.fin .fin-seg button.active{background:var(--panel);color:var(--accent);box-shadow:0 1px 2px color-mix(in srgb, var(--ink) 14%, transparent)}.fin .fin-chart-wrap{padding:12px 14px 8px;position:relative}.fin .fin-chart{width:100%;height:auto;display:block}.fin .fin-grid{stroke:var(--line);stroke-width:1px}.fin .fin-ylab{fill:var(--dim);font-variant-numeric:tabular-nums;font-size:11px}.fin .fin-xlab{fill:var(--dim);font-size:11px}.fin .fin-xlab.sel{fill:var(--ink);font-weight:700}.fin .fin-bar{fill:color-mix(in srgb, var(--accent) 22%, transparent);transition:fill .12s}.fin .fin-bar.hot{fill:color-mix(in srgb, var(--accent) 42%, transparent)}.fin .fin-bar.sel,.fin .fin-bar.sel.hot{fill:var(--accent)}.fin .fin-slot{cursor:pointer;outline:none}.fin .fin-hit{fill:#0000}.fin .fin-slot:focus-visible .fin-hit{fill:color-mix(in srgb, var(--accent) 9%, transparent)}.fin .fin-tip{z-index:3;pointer-events:none;white-space:nowrap;background:var(--panel);border:1px solid var(--line);box-shadow:0 6px 20px color-mix(in srgb, var(--ink) 20%, transparent);border-radius:9px;gap:1px;padding:6px 10px;display:grid;position:absolute;top:8px;transform:translate(-50%)}.fin .fin-tip b{text-transform:capitalize;font-size:12.5px;font-weight:700}.fin .fin-tip span{color:var(--dim);font-variant-numeric:tabular-nums;font-size:12px}.fin .fin-empty{justify-content:center;align-items:center;margin:0;display:flex;position:absolute;inset:0}.fin .fin-hint{color:var(--dim);border-top:1px solid var(--line);margin:0;padding:11px 15px;font-size:12px;line-height:1.45}.fin .fin-students{margin-top:14px}.fin .fin-when{color:var(--dim);text-transform:capitalize;margin-left:auto;font-size:12.5px;font-weight:600}.fin .fin-table-wrap{overflow-x:auto}.fin .fin-tbl{border:0;border-radius:0}.fin .fin-tbl th.num,.fin .fin-tbl td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.fin .fin-tbl tbody tr:last-child td{border-bottom:0}.fin .fin-lnk{color:inherit;font-weight:600;text-decoration:none}.fin .strow:hover .fin-lnk{color:var(--accent)}.fin .fin-share{background:color-mix(in srgb, var(--line) 60%, transparent);border-radius:2px;height:3px;margin-top:5px;display:block;overflow:hidden}.fin .fin-share i{background:var(--accent);border-radius:2px;height:100%;display:block}.fin .fin-total td{border-top:2px solid var(--line);background:color-mix(in srgb, var(--line) 22%, transparent);font-weight:700}.fin .fin-total .fin-share{display:none}.fin .fin-foot{border-top:1px solid var(--line)}.fin .fin-ops{color:var(--dim);margin:0;padding:11px 15px 0;font-size:12.5px}.fin .fin-note{color:var(--dim);margin:0;padding:11px 15px 13px;font-size:12px;line-height:1.5}@media (width<=760px){.dash.fin .kpis,.fin .fin-cols{grid-template-columns:1fr}.fin .fin-tbl td.num .fin-share{width:140px}}.dash.sch{max-width:1200px}.dash .st-scheduled{--st:var(--accent)}.dash .st-done{--st:var(--ok)}.dash .st-rescheduled{--st:var(--warn)}.dash .st-no_show{--st:var(--danger)}.dash .st-cancelled{--st:var(--dim)}.sch-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}.sch-views{border:1px solid var(--line);background:color-mix(in srgb, var(--dim) 8%, transparent);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.sch-view{color:var(--dim);background:0 0;border:0;border-radius:8px;padding:6px 14px;font-weight:600}.sch-view:hover{color:var(--ink)}.sch-view.active{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent)}.sch-nav{align-items:center;gap:8px;display:flex}.sch-navbtn{padding:6px 12px}.sch-period{text-align:center;font-variant-numeric:tabular-nums;min-width:190px;font-size:14.5px}.sch-week{grid-template-columns:repeat(7,1fr);align-items:start;gap:8px;display:grid}.sch-day{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:6px;min-height:150px;padding:8px;display:flex}.sch-day.dropover{outline:2px dashed var(--accent);outline-offset:-4px}.sch-day.today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 6px 18px color-mix(in srgb, var(--accent) 18%, transparent);background:color-mix(in srgb, var(--accent) 5%, var(--panel))}.sch-dayhead{border-radius:8px;justify-content:space-between;align-items:center;gap:6px;padding:2px;font-size:13px;font-weight:700;display:flex}.sch-day.today .sch-dayhead{background:var(--accent);color:var(--accent-ink);padding:5px 8px}.sch-date{color:var(--dim);font-weight:500}.sch-day.today .sch-date{color:color-mix(in srgb, var(--accent-ink) 82%, transparent)}.sch-add{width:22px;height:22px;color:var(--dim);border:1px dashed var(--line);background:0 0;border-radius:6px;flex:none;padding:0;font-size:15px;line-height:1}.sch-add:hover{color:var(--accent);border-color:var(--accent)}.sch-day.today .sch-add{color:var(--accent-ink);border-color:color-mix(in srgb, var(--accent-ink) 45%, transparent)}.sch-day-body{flex-direction:column;gap:6px;display:flex}.sch-empty{color:var(--dim);text-align:center;padding:6px 0}.sch-card{background:color-mix(in srgb, var(--st) 7%, var(--panel));border:1px solid var(--line);border-left:3px solid var(--st,var(--accent));cursor:pointer;border-radius:10px;padding:7px 9px;position:relative}.sch-card:hover{border-color:color-mix(in srgb, var(--st) 55%, var(--line));border-left-color:var(--st)}.sch-card.sel{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.sch-card.st-cancelled{opacity:.6}.sch-card.st-cancelled .sch-nm{text-decoration:line-through}.sch-card.wide{cursor:default;padding:12px 14px}.sch-card[draggable=true]{cursor:grab}.sch-card[draggable=true]:active{cursor:grabbing}.sch-card-top{align-items:center;gap:6px;display:flex}.sch-time{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:13.5px}.sch-chip{color:var(--dim);background:color-mix(in srgb, var(--dim) 14%, transparent);font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:600}.sch-status-lbl{color:color-mix(in srgb, var(--st), var(--ink) 30%);margin-left:auto;font-size:12px;font-weight:600}.sch-inline-actions{gap:4px;margin-left:auto;display:flex}.sch-quick{width:24px;height:24px;color:var(--dim);border:1px solid var(--line);background:0 0;border-radius:6px;flex:none;padding:0;font-size:13px;line-height:1}.sch-quick:hover{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.sch-quick.done:hover{color:var(--ok);border-color:var(--ok);background:color-mix(in srgb, var(--ok) 12%, transparent)}.sch-who{align-items:center;gap:8px;margin-top:7px;display:flex}.sch-nm{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.sch-tz{white-space:nowrap;margin-left:auto;font-size:12px}.sch-badges{flex-wrap:wrap;align-items:center;gap:5px;margin-top:7px;display:flex}.sch-badges:empty{display:none}.sch-room{color:var(--accent);font-size:12px;font-weight:600;text-decoration:none}.sch-room:hover{text-decoration:underline}.sch-status-dot{background:var(--st,var(--accent));vertical-align:middle;border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.sch-note{color:var(--ink);background:color-mix(in srgb, var(--dim) 8%, transparent);white-space:pre-wrap;overflow-wrap:break-word;border-radius:8px;margin-top:8px;padding:7px 9px;font-size:13px}.sch-card-actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.dash .sch-btn{background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent);border-radius:8px;padding:7px 14px;font-weight:600}.dash .sch-btn:disabled{opacity:.5;cursor:default}.sch-day-single{flex-direction:column;gap:10px;display:flex}.sch-day-title{text-transform:capitalize;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.sch-daybtn{text-transform:none;font-weight:600}.sch-hint{color:var(--dim);margin:0;padding:8px 2px}.sch-list-day{border-top:1px solid var(--line)}.sch-list-day:first-child{border-top:0}.sch-list-head{align-items:baseline;gap:8px;padding:10px 15px 4px;display:flex}.sch-list-lead{text-transform:capitalize;font-size:13px;font-weight:700}.sch-list-date{color:var(--dim);font-size:12.5px}.dash .sch-list-row{width:100%;color:inherit;border:0;border-top:1px solid var(--line);text-align:left;cursor:pointer;background:0 0}.dash .sch-list-row:first-of-type{border-top:0}.dash .sch-list-row:hover{background:color-mix(in srgb, var(--accent) 6%, transparent)}.dash .sch-list-row.sel{background:color-mix(in srgb, var(--accent) 10%, transparent);box-shadow:inset 3px 0 0 var(--accent)}.dash .sch-list-row.st-cancelled .p-nm{color:var(--dim);text-decoration:line-through}.dash .sch-list-row .p-nm{flex:1}.dash .sch-list-row .p-meta{align-items:center;gap:6px;display:inline-flex}.sch-month{padding:12px}.sch-month-dow{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px;display:grid}.sch-month-dow span{letter-spacing:.03em;text-transform:uppercase;color:var(--dim);text-align:center;font-size:11px;font-weight:700}.sch-month-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.sch-mcell{background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:9px;flex-direction:column;gap:4px;min-height:98px;padding:5px 5px 6px;display:flex;overflow:hidden}.sch-mcell:hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--line))}.sch-mcell.outside{opacity:.5}.sch-mcell.today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.sch-mcell.dropover{outline:2px dashed var(--accent);outline-offset:-3px;background:color-mix(in srgb, var(--accent) 8%, transparent)}.sch-mchip[draggable=true]{cursor:grab}.sch-mday{color:var(--dim);font-variant-numeric:tabular-nums;align-self:flex-start;padding:0 3px;font-size:12px;font-weight:600}.sch-mcell.today .sch-mday{color:var(--accent-ink);background:var(--accent);border-radius:6px;justify-content:center;align-items:center;min-width:20px;height:19px;display:inline-flex}.sch-mchips{flex-direction:column;gap:3px;min-width:0;display:flex}.dash .sch-mchip{border:0;border-left:3px solid var(--st,var(--accent));background:color-mix(in srgb, var(--st) 14%, var(--panel));width:100%;min-width:0;color:inherit;cursor:pointer;text-align:left;border-radius:4px;align-items:center;gap:4px;padding:2px 5px 2px 4px;font-size:11px;line-height:1.35;display:flex}.dash .sch-mchip:hover{background:color-mix(in srgb, var(--st) 26%, var(--panel))}.dash .sch-mchip.sel{box-shadow:0 0 0 1.5px var(--accent)}.dash .sch-mchip.st-cancelled{opacity:.65;text-decoration:line-through}.sch-mchip-t{font-variant-numeric:tabular-nums;flex:none;font-weight:700}.sch-mchip-n{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sch-mmore{color:var(--dim);padding:0 4px;font-size:10.5px;font-weight:600}.sch-body{align-items:flex-start;gap:14px;display:flex}.sch-main{flex:1;min-width:0}.sch-detail-backdrop{display:none}.sch-detail{background:var(--panel);border:1px solid var(--line);border-radius:13px;flex-direction:column;flex:none;align-self:flex-start;gap:16px;width:340px;max-height:calc(100vh - 92px);padding:14px 16px;display:flex;position:sticky;top:4px;overflow-y:auto;box-shadow:0 6px 22px #00000014}.sch-detail-head{align-items:center;gap:10px;display:flex}.sch-detail-id{flex:1;min-width:0}.sch-detail-nm{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.sch-detail-sub{color:var(--dim);font-variant-numeric:tabular-nums;margin-top:1px;font-size:12.5px}.dash .sch-x{width:30px;height:30px;color:var(--dim);background:0 0;border:0;border-radius:8px;flex:none;padding:0;font-size:20px;line-height:1}.dash .sch-x:hover{background:color-mix(in srgb, var(--dim) 14%, transparent);color:var(--ink)}.sch-detail-badges{flex-wrap:wrap;gap:6px;margin-top:-6px;display:flex}.sch-group{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:14px;display:flex}.sch-group-h{letter-spacing:.05em;text-transform:uppercase;color:var(--dim);margin:0;font-size:11px;font-weight:700}.sch-actions{flex-wrap:wrap;gap:8px;display:flex}.sch-wide{width:100%}.sch-move{gap:6px;display:flex}.sch-move input{border:1px solid var(--line);background:var(--panel);border-radius:8px;flex:1;min-width:0;padding:6px 8px}.sch-field{justify-content:space-between;align-items:center;gap:10px;display:flex}.sch-field>span:first-child{color:var(--dim);flex:none;font-size:13px}.dash .sch-select{border:1px solid var(--line);background:var(--panel);color:inherit;border-radius:8px;padding:6px 8px}.sch-note-field{flex-direction:column;gap:6px;display:flex}.sch-note-field>span{color:var(--dim);font-size:13px}.sch-note-field textarea{border:1px solid var(--line);background:var(--panel);width:100%;min-height:66px;color:inherit;resize:vertical;font:inherit;border-radius:8px;padding:8px 10px}.sch-savenote{align-self:flex-start;padding:5px 12px;font-size:13px}.sch-danger{border-top-color:color-mix(in srgb, var(--danger) 35%, var(--line))}.dash .sch-del{width:100%;color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 55%, transparent);background:0 0;border-radius:8px;padding:8px 14px;font-weight:600}.dash .sch-del:hover{background:color-mix(in srgb, var(--danger) 12%, transparent);border-color:var(--danger)}.dash .sch-del:disabled{opacity:.5;cursor:default}.sch-moveask-date{gap:4px;display:flex}.sch-moveask-date input{border:1px solid var(--line);background:var(--panel);min-width:0;color:inherit;border-radius:6px;flex:1;padding:4px 6px;font-size:12px}.sch-moveask-date button{padding:4px 8px;font-size:12px}@media (width<=900px){.sch-week{grid-template-columns:1fr}.sch-day{min-height:0}.sch-day:not(.today) .sch-empty{display:none}.sch-bar{flex-direction:column;align-items:stretch}.sch-views{justify-content:space-between;width:100%}.sch-view{text-align:center;flex:1}.sch-nav{justify-content:space-between}.sch-period{flex:1}.sch-body{display:block}.sch-detail-backdrop{z-index:60;background:#0006;display:block;position:fixed;inset:0}.sch-detail{z-index:61;width:auto;max-height:85vh;padding:12px 16px calc(16px + env(safe-area-inset-bottom));border:0;border-top-left-radius:18px;border-top-right-radius:18px;position:fixed;inset:auto 0 0;box-shadow:0 -8px 26px #00000047}.sch-detail:before{content:"";background:var(--line);border-radius:999px;width:40px;height:4px;margin:2px auto 8px;display:block}}@media (width<=700px){.sch-view,.sch-navbtn,.sch-nav>button,.sch-quick,.sch-add,.sch-actions button,.sch-move button,.sch-move input,.sch-select,.sch-del,.sch-btn,.sch-daybtn{min-height:44px}.sch-quick{width:34px}.sch-mcell{min-height:70px;padding:3px}.sch-mchip{border-left-width:2px;gap:3px;padding:2px 3px;font-size:10px}.page input,.page select,.page textarea{font-size:16px}}.students-top{flex-wrap:wrap;align-items:center;gap:10px;margin:2px 0 10px;display:flex}.students-search{border:1px solid var(--line);background:var(--panel);min-width:180px;color:var(--ink);font:inherit;border-radius:10px;flex:1;padding:9px 12px}.students-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.students-page .addstudent{margin-bottom:10px}.seg-row{flex-wrap:wrap;gap:6px;margin:0 0 12px;display:flex}.seg{border:1px solid var(--line);background:var(--panel);color:var(--dim);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:6px 13px;font-size:13px;font-weight:600;display:inline-flex}.seg:hover{color:var(--ink);border-color:color-mix(in srgb, var(--accent) 40%, var(--line))}.seg.active{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.seg-c{font-variant-numeric:tabular-nums;opacity:.75;font-size:12px;font-weight:700}.seg.active .seg-c{opacity:1}.st-list{flex-direction:column;gap:8px;display:flex}.st-card{background:var(--panel);border:1px solid var(--line);color:inherit;border-radius:13px;align-items:center;gap:12px;padding:11px 14px;text-decoration:none;display:flex}.st-card:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:color-mix(in srgb, var(--accent) 4%, transparent)}.st-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.st-line1{align-items:center;gap:8px;min-width:0;display:flex}.st-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:650;overflow:hidden}.st-line2{color:var(--dim);flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;display:flex}.st-right{flex:none;align-items:center;gap:14px;display:flex}.st-next{font-variant-numeric:tabular-nums;min-width:76px;color:var(--ink);flex-direction:column;align-items:flex-end;font-size:13px;display:flex}.st-next b{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px;font-weight:650}.st-next .dim{font-size:12px}.page.dash.stpage{max-width:920px}.stpage .kpis{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:6px 0 14px}.stpage>a.ghost{align-self:flex-start;margin-bottom:4px}.subtabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;margin:6px 0 14px;display:flex}.subtab{appearance:none;font:inherit;color:var(--dim);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 12px;font-size:13.5px;font-weight:600}.subtab:hover{color:var(--ink)}.subtab.active{color:var(--accent);border-bottom-color:var(--accent)}.stpage .panel-body{padding:12px 15px}.stpage .panel-body .passlist{margin:0}.stpage .panel-body .passlist a,.stpage .prof-analyses a{color:var(--accent)}.stpage .prof-analyses li p{margin:2px 0}.qa-row{flex-wrap:wrap;align-items:center;gap:8px;padding:12px 15px;display:flex}.st-ov{grid-template-columns:1.35fr 1fr;align-items:start;gap:14px;display:grid}.st-ov-stack{align-content:start;gap:14px;display:grid}.att-legend .att-dot{width:10px;height:10px;display:inline-block}.stpage .att-strip{margin:8px 0 0}@media (width<=760px){.st-ov{grid-template-columns:1fr}}@media (width<=700px){.st-card,.st-right{gap:10px}.subtab{min-height:44px}.seg{min-height:40px}}.fwd-head{color:var(--dim);white-space:normal;margin-bottom:3px;font-size:12.5px}.fwd-head .fwd-name{color:var(--ink);font-weight:600}.reply-quote{border-left:3px solid color-mix(in srgb, var(--accent) 55%, var(--line));background:color-mix(in srgb, var(--accent) 6%, transparent);color:var(--dim);white-space:normal;border-radius:4px;margin-bottom:4px;padding:3px 8px;font-size:13px}.stamp .edited{font-variant-numeric:normal}.stamp .edited:after{content:" · "}.media-doc{align-items:center}.media-doc .doc-ico{flex:none}:is(.bubble:has(.media-photo) .fwd-head,.bubble:has(.media-photo) .reply-quote){margin-left:5px;margin-right:5px}:is(.bubble:has(.media-photo)>.fwd-head:first-child,.bubble:has(.media-photo)>.reply-quote:first-child){margin-top:5px}.hwstudio{background:var(--bg);min-height:100%;color:var(--ink);flex-direction:column;display:flex}.hwstudio-topbar{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--panel) 94%, transparent);z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);align-items:center;gap:14px;min-height:56px;padding:8px 18px;display:flex;position:sticky;top:0}.hwstudio-brand{color:var(--ink);font-size:17px;font-weight:800;text-decoration:none}.hwstudio-crumb{color:var(--dim);font-size:13.5px;text-decoration:none}.hwstudio-crumb:hover{color:var(--ink)}.hwstudio-ai-mode{color:var(--dim);background:var(--muted);white-space:nowrap;border-radius:7px;padding:4px 7px;font-size:11px;font-weight:650}.hwstudio-ai-mode.subscription{color:var(--ok);background:color-mix(in srgb, var(--ok) 11%, transparent)}.hwstudio-source-pill{border:1px solid var(--line);color:var(--dim);background:var(--panel);box-shadow:none;border-radius:999px;align-items:center;gap:7px;margin-left:auto;padding:6px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.hwstudio-source-pill:hover{background:var(--muted);color:var(--ink);transform:none}.hwstudio-source-pill i,.hwstudio-ready i{background:var(--ok);border-radius:50%;width:7px;height:7px;display:inline-block}.hwstudio-shell{flex-direction:column;width:min(820px,100%);min-height:calc(100vh - 56px);margin:0 auto;display:flex}.hwstudio-pinned{z-index:20;background:color-mix(in srgb, var(--panel) 96%, transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;font-size:12.5px;display:flex;position:sticky;top:56px}.hwstudio-pinned span{color:var(--dim);white-space:nowrap}.hwstudio-thread{flex-direction:column;gap:14px;padding:22px 18px 150px;display:flex}.hwstudio-date{color:var(--dim);align-self:center;margin:4px 0 8px;font-size:12px}.hwstudio-message{align-items:flex-start;gap:10px;max-width:720px;display:flex}.hwstudio-message>div{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow-sm,0 1px 2px #1018280a);border-radius:5px 15px 15px;padding:10px 13px}.hwstudio-message p{white-space:pre-wrap;margin:0;line-height:1.5}.hwstudio-message.user{align-self:flex-end}.hwstudio-message.user>div{background:color-mix(in srgb, var(--accent) 15%, var(--panel));border:0;border-radius:15px 5px 15px 15px}.hwstudio-message.context{color:var(--dim);align-self:center;max-width:none}.hwstudio-message.context>div{text-align:center;border-style:dashed;padding:8px 13px}.hwstudio-message.context b{color:var(--ink);font-size:12px}.hwstudio-message.context p{font-size:12px}.hwstudio-avatar{background:var(--accent);width:28px;height:28px;color:var(--accent-ink);border-radius:9px;flex:none;place-items:center;font-size:10px;font-weight:800;display:grid}.rich-message{min-width:0;line-height:1.58}.hwstudio-message .rich-message p{white-space:normal;margin:0 0 12px}.hwstudio-message .rich-message p:last-child{margin-bottom:0}.rich-message h2,.rich-message h3,.rich-message h4{margin:18px 0 8px;line-height:1.25}.rich-message h2:first-child,.rich-message h3:first-child,.rich-message h4:first-child{margin-top:0}.rich-message h2{font-size:18px}.rich-message h3{font-size:15.5px}.rich-message h4{font-size:14px}.rich-message ul,.rich-message ol{margin:8px 0 14px;padding-left:22px}.rich-message li{margin:5px 0;padding-left:2px}.rich-message blockquote{border-left:3px solid var(--accent);color:var(--dim);background:color-mix(in srgb, var(--accent) 6%, transparent);margin:12px 0 0;padding:9px 12px}.rich-message code{background:var(--muted);border-radius:5px;padding:1px 5px;font-size:.92em}.rich-message .rich-code{background:var(--muted);border-radius:10px;padding:11px 13px;overflow:auto}.rich-message a{color:var(--accent);text-underline-offset:2px}.rich-message hr{border:0;border-top:1px solid var(--line);margin:16px 0}.rich-math{color:var(--ink)}.rich-math.inline{vertical-align:-.2em;align-items:center;min-height:1.4em;display:inline-flex}.rich-math.display{text-align:center;max-width:100%;margin:12px 0;display:block;overflow-x:auto}.rich-math svg{color:currentColor;fill:currentColor;max-width:100%;height:auto}.rich-math-fallback{white-space:pre-wrap;color:var(--warn)}.hwstudio-plan-actions{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;width:min(690px,100% - 38px);margin-left:38px;padding:10px 0;display:flex}.hwstudio-plan-actions.current{border-bottom-color:color-mix(in srgb, var(--accent) 55%, var(--line))}.hwstudio-plan-version{flex-direction:column;gap:1px;margin-right:auto;display:flex}.hwstudio-plan-version span,.hwstudio-plan-summary{color:var(--dim);font-size:11.5px}.hwstudio-plan-buttons{flex-wrap:wrap;gap:7px;display:flex}.hwstudio-plan-buttons button{padding:7px 10px;font-size:12px}.hwstudio-plan-summary{text-overflow:ellipsis;white-space:nowrap;flex-basis:100%;overflow:hidden}.hwstudio-plan-details{border-left:2px solid var(--accent);background:var(--muted);flex-basis:100%;padding:9px 11px}.hwstudio-plan-details p{margin:0 0 5px}.hwstudio-plan-details ul{margin:0;padding-left:18px}.hwstudio-card{border:1px solid var(--line);background:var(--panel);border-radius:17px;width:min(690px,100% - 38px);margin-left:38px;overflow:hidden;box-shadow:0 12px 34px #10182812}.hwstudio-card.current{border-color:color-mix(in srgb, var(--accent) 48%, var(--line))}.hwstudio-card>header{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--accent) 5%, var(--panel));justify-content:space-between;align-items:center;gap:12px;padding:11px 15px;display:flex}.hwstudio-card>header>div{flex-direction:column;gap:2px;display:flex}.hwstudio-card>header span{color:var(--dim);font-size:11.5px}.hwstudio-plan-count{font-variant-numeric:tabular-nums}.hwstudio-card-body{padding:16px}.hwstudio-card-body h2{margin:0 0 4px;font-size:19px}.hwstudio-objective{color:var(--dim);margin:0;line-height:1.45}.hwstudio-plan-meta{color:var(--dim);margin:8px 0 12px;font-size:12px;font-weight:650}.hwstudio-plan-sections{gap:7px;display:grid}.hwstudio-plan-section{border:1px solid var(--line);border-radius:12px;grid-template-columns:30px minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px;display:grid}.hwstudio-plan-section>span{background:color-mix(in srgb, var(--accent) 12%, transparent);width:26px;height:26px;color:var(--accent);border-radius:8px;place-items:center;font-weight:750;display:grid}.hwstudio-plan-section div{flex-direction:column;gap:2px;min-width:0;display:flex}.hwstudio-plan-section small{color:var(--dim);line-height:1.35}.hwstudio-plan-section em{color:var(--dim);white-space:nowrap;font-size:12px;font-style:normal}.hwstudio-diff{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.hwstudio-diff span{background:color-mix(in srgb, var(--ok) 12%, transparent);color:var(--ok);border-radius:999px;padding:4px 8px;font-size:11.5px}.hwstudio-compare{border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 7%, transparent);flex-wrap:wrap;gap:14px;margin-top:10px;padding:10px 12px;font-size:12px;display:flex}.hwstudio-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.hwstudio-pdf-preview{background:color-mix(in srgb, var(--accent) 7%, var(--bg));border-bottom:1px solid var(--line);place-items:center;height:150px;display:grid}.hwstudio-pdf-preview>div{color:#101828;background:#fff;border-radius:3px;flex-direction:column;gap:9px;width:115px;height:135px;padding:12px;display:flex;box-shadow:0 8px 24px #10182829}.hwstudio-pdf-preview i{background:#e4e7ec;border-radius:9px;height:4px}.hwstudio-ready{align-items:center;gap:6px;font-weight:650;display:inline-flex;color:var(--ok)!important}.hwstudio-file-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.hwstudio-file-row>div{flex-direction:column;gap:2px;min-width:0;display:flex}.hwstudio-file-row b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hwstudio-file-row span{color:var(--dim);font-size:11.5px}.hwstudio-private{text-transform:uppercase;letter-spacing:.04em;font-weight:700;color:var(--accent)!important}.hwstudio-issued{color:var(--ok);text-align:right;margin:12px 0 0;font-weight:650}.hwstudio-composer{z-index:25;background:linear-gradient(to bottom, transparent, var(--bg) 26%, var(--bg));align-items:flex-end;gap:8px;width:min(820px,100%);padding:12px 18px 18px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.hwstudio-composer textarea{resize:vertical;border:1px solid var(--line);background:var(--panel);min-height:56px;max-height:150px;color:var(--ink);font:inherit;border-radius:16px;flex:1;padding:14px 48px 14px 15px;line-height:1.4;box-shadow:0 12px 32px #1018281c}.hwstudio-composer button{border-radius:13px;width:42px;height:42px;margin-bottom:7px;margin-left:-53px;padding:0;font-size:20px}.hwstudio-composer-closed{color:var(--dim);background:linear-gradient(to bottom, transparent, var(--bg) 42%, var(--bg));justify-content:center;font-size:13px}.hwstudio-error{z-index:40;background:var(--toast);color:#fff;border-radius:10px;padding:9px 13px;position:fixed;bottom:92px;left:50%;transform:translate(-50%)}.hwstudio-sources{z-index:50;background:var(--panel);border:1px solid var(--line);border-radius:16px;width:min(360px,100vw - 36px);max-height:calc(100vh - 90px);padding:15px;position:fixed;top:70px;right:max(18px,50vw - 540px);overflow:auto;box-shadow:0 24px 70px #10182833}.hwstudio-sources header{justify-content:space-between;align-items:center;display:flex}.hwstudio-sources header button{padding:2px 8px;font-size:22px}.hwstudio-sources>p{color:var(--dim);font-size:12px}.hwstudio-sources ul{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.hwstudio-sources li{align-items:flex-start;gap:9px;display:flex}.hwstudio-sources li>i{background:var(--dim);border-radius:50%;flex:none;width:8px;height:8px;margin-top:5px}.hwstudio-sources li>i.ready{background:var(--ok)}.hwstudio-sources li>i.processing{background:var(--warn)}.hwstudio-sources li div{flex-direction:column;gap:2px;display:flex}.hwstudio-sources li span{color:var(--dim);font-size:11.5px;line-height:1.35}.hwstudio-loading{text-align:center;min-height:100vh;color:var(--dim);place-content:center;gap:12px;display:grid}@media (width<=620px){.hwstudio-topbar{gap:8px;padding:7px 10px}.hwstudio-brand{display:none}.hwstudio-crumb{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.hwstudio-ai-mode{display:none}.hwstudio-source-pill{flex:none;margin-left:0;padding:6px 8px;font-size:11px}.hwstudio-pinned{padding:9px 12px;font-size:11.5px;top:56px}.hwstudio-pinned b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hwstudio-thread{padding:16px 10px 140px}.hwstudio-card{border-radius:14px;width:100%;margin-left:0}.hwstudio-plan-actions{width:100%;margin-left:0}.hwstudio-plan-buttons{width:100%}.hwstudio-plan-buttons button{flex:1}.hwstudio-plan-section{grid-template-columns:28px minmax(0,1fr)}.hwstudio-plan-section em{grid-column:2}.hwstudio-card-body{padding:13px}.hwstudio-actions{justify-content:stretch}.hwstudio-actions button{flex:1}.hwstudio-composer{padding:10px 10px 13px}.hwstudio-sources{width:calc(100vw - 16px);max-height:calc(100vh - 72px);top:62px;right:8px}}*{box-sizing:border-box}html,body,#root{min-width:0;height:100%;margin:0}body{background:var(--paper);color:var(--ink);font:15px/1.45 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{border-color:var(--line);background:var(--panel);min-width:0;color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--dim);opacity:1}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.page{scrollbar-gutter:stable}.page>.pagebar:first-child h1,.page>.pagebar:first-child h2{letter-spacing:-.015em;margin-block:0;font-size:clamp(22px,2.2vw,24px);line-height:1.15}.panel,.card,.problemcard,.problemform,.lessonactions{border-color:var(--line);border-radius:var(--radius-card);box-shadow:none}@media (width<=700px){body{font-size:14px}input,select,textarea{font-size:16px}button,[role=button]{min-height:44px}.page{padding:var(--space-3)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.screen-state{width:min(100%,680px);padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);text-align:center;margin:auto}.screen-state h2,.screen-state p{margin:0}.screen-state p{margin-top:var(--space-2);color:var(--dim)}.screen-state button{margin-top:var(--space-4)}.screen-state[role=alert]{border-color:color-mix(in srgb, var(--bad) 40%, var(--line))}.skeleton{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--line2) 58%, var(--panel));min-height:14px;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--panel) 70%, transparent), transparent);animation:1.4s ease-in-out infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.skeleton:after{display:none}}.dash-loading{gap:var(--space-4)}.dash-title-skeleton{width:112px;height:28px}.dash-loading-kpis{gap:var(--space-3);grid-template-columns:repeat(4,1fr);display:grid}.dash-loading-kpis .skeleton{height:112px}.dash-body-skeleton{height:290px}.dash-refresh-error{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid color-mix(in srgb, var(--warn) 42%, var(--line));border-radius:var(--radius-card);background:var(--warn-bg);color:var(--warn);font-size:13px;display:flex}.dash-refresh-error button{flex:none}@media (width<=760px){.dash-loading-kpis{grid-template-columns:repeat(2,1fr)}.dash-refresh-error{flex-direction:column;align-items:flex-start}}.inbox-layout{background:var(--paper);min-width:0;overflow:hidden}.inbox-layout .sidebar,.inbox-layout .main{min-height:0}.inbox-layout .chatlist{scrollbar-gutter:stable}.inbox-layout .chatitem{cursor:pointer;min-height:62px}.inbox-layout .chatitem:focus-visible{z-index:1;position:relative}.inbox-layout .chat-skeleton-row{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--line);min-height:62px;padding:11px 14px;display:flex}.inbox-layout .chat-skeleton-avatar{border-radius:50%;flex:none;width:40px;height:40px}.inbox-layout .chat-skeleton-copy{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.inbox-layout .chat-skeleton-name{width:min(60%,150px)}.inbox-layout .chat-skeleton-preview{opacity:.75;width:min(88%,220px)}.inbox-layout .inbox-empty,.inbox-layout .conversation-empty{gap:var(--space-1);max-width:360px;padding:var(--space-6);color:var(--dim);text-align:center;flex-direction:column;display:flex}.inbox-layout .inbox-empty{margin:var(--space-6) auto}.inbox-layout .conversation-empty{margin:auto}.inbox-layout .inbox-empty b,.inbox-layout .conversation-empty b{color:var(--ink);font-size:15px}.inbox-layout .inbox-load-state{align-items:center;gap:var(--space-2);max-width:420px;padding:var(--space-6);color:var(--dim);text-align:center;flex-direction:column;margin:auto;display:flex}.inbox-layout .chatlist>.inbox-load-state{margin-top:var(--space-6)}.inbox-layout .inbox-load-state b{color:var(--ink)}.inbox-layout .inbox-load-state button{margin-top:var(--space-2)}.inbox-layout .inbox-inline-error{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid color-mix(in srgb, var(--bad) 34%, var(--line));background:var(--bad-bg);color:var(--bad);font-size:13px;display:flex}.inbox-layout .messages>.inbox-inline-error{z-index:2;border:1px solid color-mix(in srgb, var(--bad) 34%, var(--line));border-radius:var(--radius-sm);align-self:center;max-width:min(100%,620px);position:sticky;top:0}.inbox-layout .inbox-inline-error .ghost{min-height:32px;color:inherit;border-color:currentColor;flex:none}.inbox-layout .chathead{flex:none;min-height:58px}.inbox-layout .chathead-id{flex:0 auto}.inbox-layout .messages{scrollbar-gutter:stable;min-height:0}.inbox-layout .conversation-skeleton{justify-content:flex-end;gap:var(--space-3);padding-block:var(--space-6);flex-direction:column;flex:1;display:flex}.inbox-layout .skeleton-bubble{border-radius:var(--radius-card);width:min(62%,420px);height:54px}.inbox-layout .skeleton-bubble.short{width:min(38%,260px);height:42px}.inbox-layout .skeleton-bubble.out{align-self:flex-end;width:min(52%,350px)}.inbox-layout .bubble{border:1px solid var(--line);min-width:0;box-shadow:none}.inbox-layout .bubble.out{border-color:color-mix(in srgb, var(--accent) 18%, var(--line))}.inbox-layout .media-photo-link{max-width:100%;line-height:0;display:block}.inbox-layout .media-photo{object-fit:contain;background:color-mix(in srgb, var(--line2) 48%, var(--panel));width:auto;min-width:120px;max-width:min(320px,100%);min-height:96px;max-height:320px}.inbox-layout .media-photo-meta{min-width:0;margin:var(--space-1) 6px 0;flex-direction:column;gap:1px;line-height:1.3;display:flex}.inbox-layout .media-photo-meta b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.inbox-layout .media-photo-meta span{color:var(--dim);font-size:11.5px}.inbox-layout .media-doc,.inbox-layout .media-placeholder{align-items:center;gap:var(--space-3);width:min(100%,320px);min-width:min(220px,100%);min-height:58px;padding:var(--space-2) var(--space-3);border:1px solid color-mix(in srgb, var(--line2) 72%, var(--line));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--panel) 72%, transparent);color:inherit;text-decoration:none;display:flex}.inbox-layout .media-doc:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}.inbox-layout .doc-ico,.inbox-layout .media-placeholder-icon{border-radius:var(--radius-sm);background:var(--accent-bg);width:34px;height:34px;color:var(--accent-text);flex:none;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:inline-flex}.inbox-layout .media-doc-copy,.inbox-layout .media-placeholder-copy{flex-direction:column;flex:1;gap:1px;min-width:0;text-decoration:none;display:flex}.inbox-layout .media-doc-copy b,.inbox-layout .media-placeholder-copy b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;overflow:hidden}.inbox-layout .media-doc-copy span,.inbox-layout .media-placeholder-copy span{color:var(--dim);font-size:12px}.inbox-layout .media-placeholder.error{border-color:color-mix(in srgb, var(--bad) 32%, var(--line));background:var(--bad-bg)}.inbox-layout .media-placeholder.error .media-placeholder-icon,.inbox-layout .media-placeholder.error .media-placeholder-state{color:var(--bad)}.inbox-layout .draftzone{max-height:min(40%,330px);padding:var(--space-2) var(--space-4);border-top:1px solid var(--line);background:var(--paper);flex:none;overflow-y:auto}.inbox-layout .draftcard{padding:var(--space-3);border-color:var(--draft-line);box-shadow:none}.inbox-layout .drafthead{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-2);color:var(--ink);letter-spacing:0;text-transform:none;font-size:13px;display:flex}.inbox-layout .drafthead span{color:var(--dim);font-size:12px;font-weight:400}.inbox-layout .draft-context{margin-bottom:var(--space-2);color:var(--dim);font-size:12.5px}.inbox-layout .draft-context summary{cursor:pointer;width:fit-content;color:var(--dim)}.inbox-layout .draft-context p{margin:var(--space-2) 0 0}.inbox-layout .draft-context b{color:var(--ink);font-weight:600}.inbox-layout .draftcard textarea{min-height:62px;max-height:144px;line-height:1.4}.inbox-layout .draftbtns{justify-content:flex-end}.inbox-layout .composer{gap:var(--space-2);flex:none}.inbox-layout .ai-panel.open{padding-bottom:var(--space-2);border-bottom:1px solid var(--line)}.inbox-layout .ai-toggle{min-height:34px;padding-block:5px}.inbox-layout .ai-row input,.inbox-layout .ai-row select{min-height:38px}.inbox-layout .attach-pending{min-width:0;padding:var(--space-2);background:var(--accent-bg)}.inbox-layout .attach-copy{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.inbox-layout .attach-meta{color:var(--dim);font-size:12px}.inbox-layout .attach-file{background:color-mix(in srgb, var(--accent) 13%, var(--panel));color:var(--accent-text);font-weight:650}.inbox-layout .send-row textarea{min-height:42px;max-height:128px;line-height:1.4}.inbox-layout .send-row>button{flex:none;min-height:40px}@media (width<=700px){.inbox-layout .chathead{flex-wrap:nowrap;min-height:60px}.inbox-layout .chathead-id{flex:1;min-width:0}.inbox-layout .chathead>.badge{display:none}.inbox-layout .exportlink{padding:var(--space-2)}.inbox-layout .messages{padding:var(--space-3);gap:var(--space-2)}.inbox-layout .bubble{max-width:88%}.inbox-layout .draftzone{max-height:38vh;padding:var(--space-2) var(--space-3)}.inbox-layout .draftcard textarea{font-size:16px}.inbox-layout .draftbtns button,.inbox-layout .ai-toggle,.inbox-layout .ai-row button,.inbox-layout .ai-row select{min-height:44px}.inbox-layout .ai-row>*{flex:100%;width:100%;max-width:none}.inbox-layout .attach-pending{grid-template-columns:40px minmax(0,1fr);display:grid}.inbox-layout .attach-pending .send-attach,.inbox-layout .attach-pending .attach-remove{grid-column:1/-1;min-height:44px}.inbox-layout .send-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;display:grid}.inbox-layout .send-row textarea{grid-area:1/1/auto/-1;min-height:72px}.inbox-layout .send-row .attach-btn{grid-area:2/1;width:fit-content}.inbox-layout .send-row>button:last-child{grid-area:2/2}.inbox-layout .media-doc,.inbox-layout .media-placeholder{min-width:min(190px,100%)}.inbox-layout .inbox-inline-error{align-items:flex-start}}.dash.sch{gap:var(--space-3);max-width:1200px}.sch .sch-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;display:flex}.sch .sch-views{padding:var(--space-1);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);flex:none}.sch .sch-view{min-height:36px;padding:6px var(--space-3);color:var(--dim);background:0 0}.sch .sch-view.active{color:var(--accent-text);background:var(--accent-bg)}.sch .sch-nav{min-width:0}.sch .sch-navbtn{width:38px;min-width:38px;min-height:36px;padding:6px}.sch .sch-period{min-width:210px;color:var(--ink);line-height:1.25}.sch .sch-create{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);align-items:stretch;display:grid}.sch .sch-create-heading h2,.sch .sch-create-heading p{margin:0}.sch .sch-create-heading h2{font-size:15px;line-height:1.3}.sch .sch-create-heading p{margin-top:var(--space-1);color:var(--dim);font-size:13px}.sch .sch-create-fields{gap:var(--space-3);grid-template-columns:minmax(180px,1.5fr) minmax(190px,1.2fr) minmax(120px,.7fr);align-items:start;display:grid}.sch .sch-create-field{gap:var(--space-1);min-width:0;color:var(--dim);font-size:12px;font-weight:600;display:grid}.sch .sch-create-field select,.sch .sch-create-field input{border:1px solid var(--line2);border-radius:var(--radius-sm);background:var(--paper);width:100%;min-height:38px;color:var(--ink);padding:7px 10px;font-size:14px;font-weight:400}.sch .sch-create-field select:hover,.sch .sch-create-field input:hover{border-color:var(--faint)}.sch .sch-create-field [aria-invalid=true]{border-color:var(--bad)}.sch .sch-field-error{color:var(--bad);font-size:12px;font-weight:500}.sch .sch-create-secondary{justify-content:space-between;align-items:center;gap:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--line);display:flex}.sch .sch-create-options{gap:var(--space-4);flex-wrap:wrap;display:flex}.sch .sch-create-options .inline{min-height:36px;color:var(--ink);font-size:13px}.sch .sch-create-options input{width:16px;height:16px;accent-color:var(--accent);margin:0}.sch .sch-create-submit{flex:none;min-width:166px;min-height:38px}.sch .sch-debtors{gap:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid color-mix(in srgb, var(--warn) 42%, var(--line));border-radius:var(--radius-card);background:var(--warn-bg);grid-template-columns:minmax(210px,.9fr) minmax(0,1.4fr);align-items:start;display:grid}.sch .sch-debtors-copy{gap:2px;display:grid}.sch .sch-debtors-copy strong{color:var(--warn);font-size:14px}.sch .sch-debtors-copy span{color:var(--dim);font-size:12px}.sch .sch-debtor-list{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.sch .sch-debtor{align-items:center;gap:var(--space-2);min-height:36px;padding-left:var(--space-3);border:1px solid color-mix(in srgb, var(--warn) 34%, var(--line));border-radius:var(--radius-sm);background:var(--panel);display:inline-flex}.sch .sch-debtor>span{font-size:13px;font-weight:650}.sch .sch-debtor button,.sch .sch-debtor button.ghost.small{border:0;border-left:1px solid var(--line);border-radius:0 var(--radius-sm) var(--radius-sm) 0;min-height:34px;color:var(--accent-text);background:var(--accent-bg);padding:5px 10px;font-size:12px}.sch .sch-load-state{margin-block:var(--space-8)}.sch .sch-stale,.sch .sch-period-empty{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);display:flex}.sch .sch-stale{border-color:color-mix(in srgb, var(--warn) 42%, var(--line));background:var(--warn-bg);color:var(--warn);font-size:13px}.sch .sch-stale button,.sch .sch-period-empty button{flex:none}.sch .sch-period-empty>div,.sch .sch-onboard{gap:2px;display:grid}.sch .sch-period-empty strong,.sch .sch-onboard strong{font-size:14px}.sch .sch-period-empty span,.sch .sch-onboard{color:var(--dim);font-size:13px}.sch .sch-onboard{padding:var(--space-4);border:1px solid color-mix(in srgb, var(--accent) 34%, var(--line));border-radius:var(--radius-card);background:var(--accent-bg)}.sch .sch-onboard strong{color:var(--accent-text)}.sch .sch-skeleton{gap:var(--space-3);display:grid}.sch .sch-skeleton-create{border-radius:var(--radius-card);height:174px}.sch .sch-skeleton-week{gap:var(--space-2);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.sch .sch-skeleton-day{gap:var(--space-2);min-height:170px;padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);display:grid}.sch .sch-skeleton-head{width:70%;height:18px}.sch .sch-skeleton-card{height:58px}.sch .sch-skeleton-card.short{width:82%;height:42px}.sch .sch-body{gap:var(--space-3)}.sch .sch-week{gap:var(--space-2);grid-template-columns:repeat(7,minmax(0,1fr))}.sch .sch-day{min-width:0;min-height:172px;padding:var(--space-2);border-color:var(--line);border-radius:var(--radius-card);box-shadow:none}.sch .sch-day.today{border-color:var(--accent);background:color-mix(in srgb, var(--accent-bg) 58%, var(--panel));box-shadow:none}.sch .sch-day.today .sch-dayhead{color:var(--accent-text);background:var(--accent-bg);padding:4px 6px}.sch .sch-day.today .sch-date{color:var(--accent-text)}.sch .sch-day.today .sch-add{color:var(--accent-text);border-color:color-mix(in srgb, var(--accent) 46%, var(--line))}.sch .sch-add{border-style:solid;width:28px;height:28px}.sch .sch-card{border-color:var(--line);border-left-color:var(--st,var(--accent));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--st) 6%, var(--panel));min-width:0}.sch .sch-card:not(.wide){padding:var(--space-2)}.sch .sch-card:not(.wide) .sch-card-top{gap:var(--space-1)}.sch .sch-card:not(.wide) .sch-time{white-space:nowrap;min-width:0;font-size:12.5px}.sch .sch-card:not(.wide) .sch-chip{display:none}.sch .sch-card:not(.wide) .sch-inline-actions{gap:2px}.sch .sch-card:not(.wide) .sch-quick{width:20px;height:20px;font-size:12px}.sch .sch-card:not(.wide) .sch-who{gap:var(--space-2)}.sch .sch-card.sel{border-color:var(--accent);border-left-color:var(--st,var(--accent));box-shadow:0 0 0 1px var(--accent)}.sch .sch-card.wide{padding:var(--space-3) var(--space-4);border-radius:var(--radius-card)}.sch .sch-day-single{gap:var(--space-3)}.sch .sch-day-title{padding:0 var(--space-1);font-size:16px}.sch .sch-hint,.sch .panel-empty{padding:var(--space-4);border:1px dashed var(--line2);border-radius:var(--radius-card);background:var(--panel)}.sch .sch-month{padding:var(--space-3);border-radius:var(--radius-card)}.sch .sch-month-dow,.sch .sch-month-grid{gap:var(--space-1)}.sch .sch-mcell{border-color:var(--line);border-radius:var(--radius-sm);min-width:0;min-height:104px;padding:5px}.sch .sch-mcell.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.sch .sch-mchip{min-width:0}.sch .sch-list{border-radius:var(--radius-card)}.sch .sch-list-head{padding:var(--space-3) var(--space-4) var(--space-1)}.sch .sch-list-row{min-height:48px}.sch .sch-detail{gap:var(--space-4);width:320px;max-height:calc(100dvh - 92px);padding:var(--space-4);border-radius:var(--radius-card);box-shadow:none}.sch .sch-detail-nm,.sch .sch-room{color:var(--accent-text);text-decoration:none}.sch .sch-room:hover,.sch .sch-detail-nm:hover{text-decoration:underline}.sch .sch-group{padding-top:var(--space-3)}.sch .sch-group-h{color:var(--dim)}.sch .sch-move input,.sch .sch-select,.sch .sch-note-field textarea{border-color:var(--line2);background:var(--paper)}@media (width<=1000px){.sch .sch-week,.sch .sch-skeleton-week{grid-template-columns:repeat(2,minmax(0,1fr))}.sch .sch-day{min-height:124px}.sch .sch-toolbar{flex-direction:column;align-items:stretch}.sch .sch-nav{justify-content:space-between}}@media (width<=760px){.dash.sch{gap:var(--space-3)}.sch .sch-views{width:100%}.sch .sch-view{flex:1;min-height:44px}.sch .sch-nav{gap:var(--space-2);grid-template-columns:44px minmax(0,1fr) 44px;display:grid}.sch .sch-nav>button:last-child{grid-column:1/-1}.sch .sch-period{min-width:0}.sch .sch-create{padding:var(--space-3)}.sch .sch-create-fields{grid-template-columns:1fr}.sch .sch-create-field select,.sch .sch-create-field input{min-height:44px;font-size:16px}.sch .sch-create-secondary{flex-direction:column;align-items:stretch}.sch .sch-create-options{gap:var(--space-1);grid-template-columns:1fr;display:grid}.sch .sch-create-options .inline{min-height:44px}.sch .sch-create-submit{width:100%;min-height:44px}.sch .sch-debtors{grid-template-columns:1fr}.sch .sch-debtor-list{justify-content:stretch;display:grid}.sch .sch-debtor{padding-left:var(--space-3);justify-content:space-between}.sch .sch-debtor button,.sch .sch-debtor button.ghost.small{min-height:44px}.sch .sch-stale,.sch .sch-period-empty{flex-direction:column;align-items:stretch}.sch .sch-stale button,.sch .sch-period-empty button{width:100%;min-height:44px}.sch .sch-skeleton-create{height:330px}.sch .sch-week,.sch .sch-skeleton-week{grid-template-columns:1fr}.sch .sch-day{min-height:0}.sch .sch-add,.sch .sch-quick{width:44px;min-width:44px;height:44px}.sch .sch-list-row{min-height:56px}.sch .sch-detail{width:auto;max-height:88dvh;padding:var(--space-3) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0}}.students-page,.stpage{--student-card-gap:var(--space-3)}.students-top{margin-bottom:var(--space-3)}.students-search{min-height:42px}.seg-row{padding-bottom:var(--space-1);scrollbar-width:thin;flex-wrap:nowrap;overflow-x:auto}.seg{min-height:36px;padding-inline:var(--space-3);flex:none}.st-list{gap:var(--space-2)}.st-card{min-height:70px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-card);transition:border-color .12s,background-color .12s,transform .12s}.st-card:hover{transform:translateY(-1px)}.st-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.st-card>.dot{align-self:flex-start;margin-top:11px}.st-card .av{flex:none;width:38px;height:38px}.st-name{font-size:15px}.st-line2{min-height:20px}.st-right{justify-content:flex-end;min-width:150px}.st-next{min-width:90px}.st-next b{color:var(--dim);letter-spacing:.035em;font-size:10px}.st-list-loading{gap:var(--space-2)}.st-list-loading .skeleton{border-radius:var(--radius-card);height:72px}.st-list-error,.prog-error,.recordings-error,.hw-error{min-height:180px}.profile-head{gap:var(--space-2) var(--space-4);margin:var(--space-3) 0 var(--space-4);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.profile-title{align-items:center;gap:var(--space-3);min-width:0;display:flex}.profile-title .av{flex:none;width:46px;height:46px}.profile-title h2{margin:0;font-size:clamp(20px,3vw,25px);line-height:1.15}.profile-meta{margin:var(--space-1) 0 0;color:var(--dim);overflow-wrap:anywhere;font-size:13px}.profile-statuses{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.profile-head>p.dim{padding-top:var(--space-2);border-top:1px solid var(--line);grid-column:1/-1;margin:0}.subtabs{margin-bottom:var(--space-4);scrollbar-width:thin;flex-wrap:nowrap;overflow-x:auto}.subtab{white-space:nowrap;flex:none;min-height:42px}.subtab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.st-inline-error{justify-content:space-between;align-items:center;gap:var(--space-3);margin:calc(-1 * var(--space-2)) 0 var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid color-mix(in srgb, var(--bad) 40%, var(--line));border-radius:var(--radius-sm);background:var(--bad-bg);color:var(--bad);font-size:13px;display:flex}.st-next-step{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);padding:var(--space-4);border-color:color-mix(in srgb, var(--accent) 32%, var(--line));background:color-mix(in srgb, var(--accent-bg) 55%, var(--panel));display:flex}.st-next-step h3{margin:var(--space-1) 0;font-size:17px}.st-next-step p{color:var(--dim);margin:0;font-size:13px}.st-next-step>button,.st-primary-action{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);flex:none}.st-eyebrow{color:var(--accent-text);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.st-quick-actions{align-items:stretch}.st-quick-actions>*{min-height:36px}.onboardcheck{gap:0;margin:0;padding:0;list-style:none;display:grid}.onboardcheck li{align-items:center;gap:var(--space-2);border-bottom:1px solid var(--line);min-height:38px;color:var(--ink);grid-template-columns:22px minmax(0,1fr);display:grid}.onboardcheck li:last-child{border-bottom:0}.onboardcheck .ok,.onboardcheck .pending{color:var(--ink);font-weight:400;text-decoration:none}.onboard-icon{border:1px solid var(--line2);width:20px;height:20px;color:var(--dim);border-radius:50%;place-items:center;font-size:12px;display:grid}.onboardcheck .ok .onboard-icon{border-color:color-mix(in srgb, var(--good) 45%, var(--line));background:var(--good-bg);color:var(--good)}.onboardcheck button{width:fit-content;padding:var(--space-2) 0;color:var(--accent-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.st-ready-done{color:var(--good);margin:0;font-weight:650}.st-lesson-list{margin:0;padding:0;list-style:none;display:grid}.st-lesson-row{gap:var(--space-2) var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--line);grid-template-columns:minmax(170px,1.35fr) minmax(120px,.8fr) auto;align-items:center;display:grid}.st-lesson-row:last-child{border-bottom:0}.st-lesson-main{gap:var(--space-2);flex-wrap:wrap;align-items:baseline;display:flex}.st-lesson-meta{gap:var(--space-1);flex-wrap:wrap;display:flex}.st-lesson-board{justify-self:end}.st-lesson-note{grid-column:1/-1}.hw-compose{margin-bottom:var(--space-4);padding:var(--space-4);transition:border-color .12s,background-color .12s}.hw-compose.dropover{border-color:var(--accent);background:var(--accent-bg)}.hw-compose>header{padding:0 0 var(--space-3);align-items:flex-start}.hw-compose>header h3,.hw-compose>header p{margin:0}.hw-compose>header p{margin-top:var(--space-1);font-size:13px}.hw-compose-fields{gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(150px,.28fr);display:grid}.hw-compose-fields label{gap:var(--space-1);color:var(--dim);font-size:12px;font-weight:650;display:grid}.hw-compose-fields input{border:1px solid var(--line2);border-radius:var(--radius-sm);background:var(--panel);min-width:0;min-height:42px;color:var(--ink);padding:0 var(--space-3);font:inherit}.hw-compose-fields input:focus{outline:2px solid color-mix(in srgb, var(--accent) 30%, transparent);border-color:var(--accent)}.hw-compose-actions{align-items:center;gap:var(--space-2);margin-top:var(--space-3);display:flex}.hw-file-selection{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.hw-issue-primary{background:var(--accent);min-width:92px;min-height:38px;color:var(--accent-ink);border-color:var(--accent)}.hw-loading,.recordings-loading,.prog-loading{gap:var(--space-2);display:grid}.hw-loading .skeleton,.recordings-loading .skeleton{border-radius:var(--radius-card);height:92px}.prog-loading .skeleton{border-radius:var(--radius-card);height:84px}.hw-empty,.prog-empty{gap:var(--space-1);text-align:center;display:grid}.hw-section{margin-bottom:var(--space-4)}.hw-review-list,.hw-issued-list{padding:0!important}.hw-review{padding:var(--space-4)}.hw-review-head{margin-bottom:var(--space-3)}.hw-comment{min-height:72px;margin-top:var(--space-2)}.hw-review-actions{margin-top:var(--space-3)}.hw-issued-card{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);display:flex}.hw-issued-card:last-child{border-bottom:0}.hw-issued-copy,.hw-issued-files{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.hw-issued-files a{width:fit-content;color:var(--accent-text);overflow-wrap:anywhere}.hw-done{margin-top:var(--space-2)}.hw-done>summary{align-items:center;min-height:44px;display:flex}.hw-done>summary:after{content:"⌄";color:var(--dim);margin-left:auto}.hw-done[open]>summary:after{transform:rotate(180deg)}.filedrop{border-color:var(--line2);border-radius:var(--radius-card);background:color-mix(in srgb, var(--paper) 72%, var(--panel));justify-content:center;min-height:60px}.filedrop-label{padding:var(--space-2);text-align:center}.filesblock>.passlist{padding:0;list-style:none}.filesblock>.passlist>li{padding:var(--space-3) 44px var(--space-3) 0;border-bottom:1px solid var(--line);margin:0;line-height:1.5;position:relative}.filesblock>.passlist>li:last-child{border-bottom:0}.prog-head{padding:var(--space-2) 0;justify-content:flex-start}.prog-head>span{margin-right:auto}.prog-viewtabs{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);padding:3px}.prog-viewtabs .active{border-color:var(--line2);background:var(--panel);color:var(--ink)}.prog-section .panel-body{padding:var(--space-2)}.prog-topic{min-height:44px}.prog-legend,.prog-graph-legend{row-gap:var(--space-2)}.prog-graph{border-radius:var(--radius-card);background:color-mix(in srgb, var(--paper) 78%, var(--panel));height:min(68vh,660px);min-height:400px}.prog-graph-skeleton{border-radius:var(--radius-card);height:min(68vh,660px);min-height:400px}.prog-graph-error{background:0 0;border:0;height:100%}.prog-node{padding:var(--space-3);border-radius:var(--radius-card);font-size:13.5px}.prog-node-nm{font-weight:650}.prog-graph .react-flow__controls{border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:none;overflow:hidden}.prog-graph .react-flow__controls-button{border-bottom-color:var(--line);background:var(--panel);fill:var(--ink)}.stpage-loading{gap:var(--space-3);display:grid}.st-skeleton-back{width:130px;height:34px}.st-skeleton-title{border-radius:var(--radius-card);height:80px}.st-skeleton-tabs{height:44px}.st-skeleton-body{border-radius:var(--radius-card);height:360px}@media (width<=700px){.st-card{gap:var(--space-2);grid-template-columns:auto auto minmax(0,1fr);display:grid}.st-card>.dot{margin-top:15px}.st-right{grid-column:2/-1;justify-content:space-between;min-width:0;padding-left:46px}.st-next{align-items:flex-end}.profile-head{padding:var(--space-3);grid-template-columns:1fr}.profile-statuses{justify-content:flex-start;padding-left:58px}.st-next-step{flex-direction:column;align-items:stretch}.st-next-step>button{width:100%;min-height:44px}.st-lesson-row{grid-template-columns:minmax(0,1fr) auto}.st-lesson-meta{justify-self:end}.st-lesson-board{grid-column:1/-1;justify-self:start}.hw-compose-fields{grid-template-columns:1fr}.hw-compose-actions{flex-wrap:wrap}.hw-file-selection{flex-basis:100%;order:4}.hw-issue-primary{margin-left:auto}.hw-issued-card{flex-direction:column;align-items:stretch}.hw-issued-card>a{align-self:flex-start}.prog-head>span{flex-basis:100%}.prog-graph{height:520px;min-height:0}.prog-graph-hint{flex-basis:100%;margin-left:0}}@media (width<=430px){.st-card{padding:var(--space-3)}.st-right,.profile-statuses{padding-left:0}.st-inline-error{flex-direction:column;align-items:flex-start}.st-lesson-row{grid-template-columns:1fr}.st-lesson-meta{justify-self:start}.hw-compose{padding:var(--space-3)}.hw-compose>header{flex-direction:column;align-items:stretch}.hw-compose>header>a{align-self:flex-start}.hw-issue-primary{width:100%;margin-left:0}.hw-review{padding:var(--space-3)}.hw-review-actions>button{flex:1}.prog-ai-form{flex-direction:column;align-items:stretch}}.recordings-list{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);margin:0;padding:0;list-style:none}.recording-row{gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;transition:background-color .12s;display:grid}.recording-row:last-child{border-bottom:0}.recording-row:hover{background:color-mix(in srgb, var(--paper) 55%, var(--panel))}.recording-main{gap:2px;min-width:0;display:grid}.recording-title{overflow-wrap:anywhere;margin:0;font-size:15px;font-weight:650;line-height:1.3}.recording-title a{color:inherit;text-decoration:none}.recording-title a:hover{color:var(--accent-text)}.recording-meta{color:var(--dim);overflow-wrap:anywhere;font-size:13px}.recording-analysis{align-items:center;gap:var(--space-2);display:flex}.recording-analysis-state{min-height:26px;padding:0 var(--space-3);border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 60%, var(--panel));color:var(--dim);white-space:nowrap;border-radius:20px;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.recording-actions{align-items:center;gap:var(--space-2);display:flex}.v1-review{min-width:0}.v1-review-head{gap:var(--space-2) var(--space-3);margin-bottom:var(--space-3);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.v1-back{align-items:center;gap:var(--space-1);min-height:44px;padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--accent-text);cursor:pointer;background:0 0;border:0;font-size:14px;font-weight:650;text-decoration:none;display:inline-flex}.v1-back:hover{color:var(--accent);text-decoration:underline}.v1-review-title{letter-spacing:-.015em;overflow-wrap:anywhere;min-width:0;margin:0;font-size:clamp(18px,2.4vw,22px);line-height:1.15}.v1-state{min-height:28px;padding:0 var(--space-3);border:1px solid var(--line);background:var(--panel);color:var(--dim);white-space:nowrap;border-radius:20px;align-items:center;font-size:12.5px;font-weight:700;display:inline-flex}.v1-state-panel{justify-items:start;gap:var(--space-3);padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);color:var(--ink);display:grid}.v1-state-panel p{margin:0}.v1-pipeline{gap:var(--space-1) var(--space-4);margin:0 0 var(--space-4);color:var(--dim);flex-wrap:wrap;padding:0;font-size:13px;list-style:none;display:flex}.v1-pipeline>li,.v1-pipeline>span{align-items:center;gap:var(--space-1);display:inline-flex}.v1-pipeline b{color:var(--ink)}.v1-workspace{gap:var(--space-4);grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start;display:grid}.v1-transcript{top:var(--space-4);max-height:calc(100vh - var(--space-8));scrollbar-width:thin;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);align-self:start;position:sticky;overflow-y:auto}.v1-transcript>summary{min-height:36px;color:var(--dim);letter-spacing:.06em;text-transform:uppercase;cursor:default;align-items:center;font-size:11px;font-weight:700;list-style:none;display:flex}.v1-transcript>summary::-webkit-details-marker{display:none}.v1-transcript>summary:after{content:"⌄";color:var(--dim);margin-left:auto;transition:transform .12s;display:none}.v1-transcript[open]>summary:after{transform:rotate(180deg)}.v1-transcript-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.v1-segment{padding:var(--space-2);border-radius:var(--radius-sm);color:var(--ink);scroll-margin-top:var(--space-4);font-size:13.5px;line-height:1.55;transition:background-color .5s}.v1-segment:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.v1-segment-hit{background:color-mix(in srgb, var(--accent-bg) 70%, var(--panel))}.v1-segment-time{margin-right:var(--space-2);color:var(--accent-text);font-family:var(--mono);white-space:nowrap;font-size:12px;font-weight:700}.v1-claims{gap:var(--space-3);min-width:0;display:grid}.v1-claim{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);transition:border-color .12s,opacity .12s;display:grid}.v1-claim-decided{border-color:color-mix(in srgb, var(--accent) 32%, var(--line))}.v1-claim-saving,.v1-claim[aria-busy=true]{opacity:.6}.v1-claim-meta{gap:var(--space-1) var(--space-2);color:var(--dim);letter-spacing:.05em;text-transform:uppercase;flex-wrap:wrap;font-size:11px;font-weight:700;display:flex}.v1-claim-text{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:15.5px;line-height:1.45}.v1-citations{align-items:center;gap:var(--space-2);color:var(--dim);flex-wrap:wrap;font-size:12.5px;display:flex}.v1-citations button,.v1-citations a{align-items:center;gap:var(--space-1);min-height:30px;padding:0 var(--space-3);border:1px solid var(--line);background:var(--panel);color:var(--accent-text);font-family:var(--mono);cursor:pointer;border-radius:20px;font-size:12px;font-weight:700;text-decoration:none;transition:border-color .12s,background-color .12s;display:inline-flex}.v1-citations button:hover,.v1-citations a:hover{border-color:var(--accent);background:var(--accent-bg)}.v1-claim-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.v1-claim-actions button{min-height:38px;padding:0 var(--space-3);border:1px solid var(--line2);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink);cursor:pointer;font-size:13px;font-weight:600;transition:border-color .12s,background-color .12s,color .12s}.v1-claim-actions button:hover{border-color:var(--accent);color:var(--accent-text)}.v1-claim-actions button[aria-pressed=true]{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:var(--accent-bg);color:var(--accent-text)}.v1-claim-actions button:disabled{opacity:.5;cursor:not-allowed}.v1-edit{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--line2);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--paper) 60%, var(--panel));display:grid}.v1-edit label{gap:var(--space-1);color:var(--dim);font-size:12px;font-weight:650;display:grid}.v1-edit input,.v1-edit select{min-height:42px;padding:0 var(--space-3);border:1px solid var(--line2);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink)}.v1-edit textarea{min-height:88px;padding:var(--space-2) var(--space-3);border:1px solid var(--line2);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink);resize:vertical}.v1-edit input:focus,.v1-edit select:focus,.v1-edit textarea:focus{outline:2px solid color-mix(in srgb, var(--accent) 30%, transparent);border-color:var(--accent)}.v1-inline-error{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid color-mix(in srgb, var(--bad) 40%, var(--line));border-radius:var(--radius-sm);background:var(--bad-bg);color:var(--bad);font-size:13px;display:flex}.v1-approved-prior{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid color-mix(in srgb, var(--good) 35%, var(--line));border-radius:var(--radius-card);background:var(--good-bg);color:var(--ink);font-size:13.5px}.v1-approved-prior>summary{cursor:pointer;min-height:44px;font-weight:700}.v1-approved-prior>.v1-summary{margin-top:var(--space-3)}.v1-review-footer{bottom:var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);display:flex;position:sticky}.v1-summary{margin:0 0 var(--space-4);color:var(--dim);font-size:13.5px}.v1-summary p{margin:0}.v1-summary ul{margin:var(--space-2) 0 0;padding-left:var(--space-6)}.v1-summary b{color:var(--ink)}.v1-primary{min-height:44px;padding:0 var(--space-6);border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-ink);cursor:pointer;flex:none;font-weight:650}.v1-primary:disabled{opacity:.5;cursor:not-allowed}.v1-review-footer>button:not(.v1-primary){min-height:44px;padding:0 var(--space-4);border:1px solid color-mix(in srgb, var(--bad) 35%, var(--line));border-radius:var(--radius-sm);background:var(--panel);color:var(--bad);font-weight:650}.v1-review-footer>button:not(.v1-primary):hover{background:var(--bad-bg)}.v1-review-footer>button:not(.v1-primary):disabled{opacity:.5;cursor:not-allowed}.v1-state-ok{border-color:color-mix(in srgb, var(--good) 35%, var(--line));background:var(--good-bg);color:var(--good)}.v1-state-warn{border-color:color-mix(in srgb, var(--warn) 35%, var(--line));background:var(--warn-bg);color:var(--warn)}.v1-state-bad{border-color:color-mix(in srgb, var(--bad) 35%, var(--line));background:var(--bad-bg);color:var(--bad)}@media (width<=700px){.v1-review-head{grid-template-columns:auto minmax(0,1fr)}.v1-review-head>.v1-state{grid-column:1/-1;justify-self:start}.v1-workspace{gap:var(--space-3);flex-direction:column;display:flex}.v1-claims{order:-1}.v1-transcript{max-height:none;position:static;overflow:visible}.v1-transcript>summary{cursor:pointer;min-height:44px}.v1-transcript>summary:after{display:inline-block}.v1-claim{padding:var(--space-3)}.v1-claim-actions{grid-template-columns:1fr 1fr;display:grid}.v1-claim-actions button,.v1-citations button,.v1-citations a{min-height:44px}.v1-review-footer{flex-direction:column;align-items:stretch}.v1-primary{width:100%}.v1-inline-error{flex-direction:column;align-items:flex-start}}.fin-loading{gap:var(--space-4)}.fin-title-skeleton{width:180px;height:28px}.fin-loading-kpis{gap:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.fin-loading-kpis .skeleton{height:112px}.fin-chart-skeleton{height:340px}.fin-refresh-error,.fin-panel-error{justify-content:space-between;align-items:center;gap:var(--space-3);color:var(--warn);font-size:13px;display:flex}.fin-refresh-error{padding:var(--space-2) var(--space-3);border:1px solid color-mix(in srgb, var(--warn) 42%, var(--line));border-radius:var(--radius-card);background:var(--warn-bg)}.fin-panel-error{padding:var(--space-4)}.fin-refresh-error button,.fin-panel-error button{flex:none}@media (width<=760px){.fin-loading-kpis{grid-template-columns:1fr}.fin-refresh-error{flex-direction:column;align-items:flex-start}}.cabpage{min-height:100dvh;padding:var(--space-8) var(--space-4) calc(var(--space-8) + env(safe-area-inset-bottom));background:repeating-linear-gradient(0deg, transparent, transparent 27px, color-mix(in srgb, var(--line) 48%, transparent) 27px, color-mix(in srgb, var(--line) 48%, transparent) 28px), repeating-linear-gradient(90deg, transparent, transparent 27px, color-mix(in srgb, var(--line) 48%, transparent) 27px, color-mix(in srgb, var(--line) 48%, transparent) 28px), var(--paper);align-items:flex-start;overflow:hidden auto}.cab-page-inner{margin:auto}.cab-page-inner.cab-wide{width:min(100%,680px);max-width:680px;margin-block:0 auto}.cab-header{margin-bottom:var(--space-4)}.cab-brand{letter-spacing:-.02em;font-size:26px}.cab-sub{margin-top:var(--space-1);font-size:13px}.cabbox{border-radius:var(--radius-card);padding:var(--space-6);box-shadow:none}.cabbox.cab-wide{text-align:left;width:100%;max-width:none}.cabbox.cab-wide>h1{letter-spacing:-.02em;margin:0;font-size:clamp(22px,4vw,26px)}.cab-section-heading{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.cab-section-heading h2{margin:0;font-size:15px;line-height:1.25}.cab-card{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-card);background:var(--panel)}.cab-next-step{margin-top:var(--space-4);padding:var(--space-4);border:1px solid color-mix(in srgb, var(--accent) 38%, var(--line));border-radius:var(--radius-card);background:color-mix(in srgb, var(--accent-bg) 68%, var(--panel))}.cab-next-eyebrow,.cab-parent-kicker,.cab-parent-summary-label{color:var(--accent-text);font-size:12px;font-weight:750;display:block}.cab-next-step h2{margin:var(--space-1) 0 0;font-size:clamp(18px,3.6vw,21px);line-height:1.25}.cab-next-step p{margin:var(--space-2) 0 0;color:var(--dim)}.cabbox.cab-wide .cab-next-step .cab-boardbtn{width:auto;max-width:100%;min-height:40px;margin:var(--space-4) 0 0;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);text-align:center;justify-content:center;align-items:center;display:inline-flex}.cab-homework-loading,.cab-parent-loading,.cab-auth-loading{gap:var(--space-3);display:grid}.cab-skeleton-title{width:min(58%,220px);height:22px}.cab-skeleton-line{width:min(82%,380px);height:14px}.cab-skeleton-card{width:100%;height:112px}.cab-auth-loading .cab-skeleton-title,.cab-auth-loading .cab-skeleton-line{margin-inline:auto}.cab-state,.cab-empty{padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--paper) 62%, var(--panel));text-align:left}.cab-state p,.cab-empty p{margin:var(--space-1) 0 0;color:var(--dim)}.cab-state-error{border-color:color-mix(in srgb, var(--bad) 40%, var(--line))}.cab-state-compact{padding:var(--space-3)}.cabbox .cab-secondary,.cabbox .cab-file-remove,.cabbox .cab-file-submit,.cab-stale button{width:auto}.cab-secondary{min-height:36px;margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--line2);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink);font-weight:650}.cab-stale{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid color-mix(in srgb, var(--warn) 42%, var(--line));border-radius:var(--radius-sm);background:var(--warn-bg);color:var(--ink);flex-wrap:wrap;font-size:13px;display:flex}.cab-stale button{min-height:32px;padding:var(--space-1) var(--space-2);border:1px solid color-mix(in srgb, var(--warn) 50%, var(--line));color:var(--ink);background:0 0;border-radius:6px;margin-left:auto;font-weight:650}.cab-empty-compact{padding:var(--space-3)}.cab-homework-list,.cab-lessons-list,.cab-archive-list,.cab-parent-homework{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.cab-homework-list>li,.cab-parent-homework>li{min-width:0;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);margin:0}.cab-homework-list>li.cab-homework-returned{border-color:color-mix(in srgb, var(--warn) 52%, var(--line));background:color-mix(in srgb, var(--warn-bg) 58%, var(--panel))}.cab-homework-title{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.cab-homework-title strong{overflow-wrap:anywhere;min-width:0;font-size:15px}.cab-homework-title .badge{margin-left:auto}.cab-hw-body,.cab-hw-note,.cab-hw-verdict,.cab-hw-mywork{margin-top:var(--space-2)}.cab-hw-files{gap:var(--space-2);margin-block:var(--space-2)}.cab-hw-thumb{border-radius:var(--radius-sm)}.cab-hw-thumb img{width:96px;height:96px}.cab-hw-file{overflow-wrap:anywhere;text-underline-offset:3px;min-width:0;font-weight:600}.cab-hw-actions{gap:var(--space-2);margin-top:var(--space-3)}.cabbox .cab-hw-action{width:auto;min-height:38px;padding:7px var(--space-3);border-color:var(--line2);background:var(--panel);color:var(--ink)}.cabbox .cab-hw-action:first-child{border-color:color-mix(in srgb, var(--accent) 48%, var(--line));color:var(--accent-text)}.cabbox .cab-hw-action:hover{border-color:var(--accent)}.cab-file-selected{align-items:center;gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-2);border:1px solid color-mix(in srgb, var(--accent) 36%, var(--line));border-radius:var(--radius-sm);background:var(--accent-bg);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.cab-file-selected>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:650;overflow:hidden}.cabbox .cab-file-remove,.cabbox .cab-file-submit{border-radius:7px;min-height:34px;padding:6px 10px;font-size:13px;font-weight:650}.cabbox .cab-file-remove{border:1px solid var(--line2);color:var(--dim);background:0 0}.cabbox .cab-file-submit{border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink)}.cabbox .cab-hw-detach{width:28px;min-width:28px;height:28px}.cab-thread{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--line)}.cab-thread>summary{min-height:36px;color:var(--ink);align-items:center;display:flex}.cab-thread-reply{align-items:stretch;gap:var(--space-2)}.cab-thread-error{align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);background:var(--bad-bg);color:var(--bad);flex-wrap:wrap;font-size:13px;display:flex}.cabbox .cab-thread-error .cab-secondary{min-height:32px;margin:0 0 0 auto}.cabbox .cab-thread-reply input{text-align:left;letter-spacing:normal;min-height:40px;margin:0;padding:8px 10px}.cabbox .cab-thread-reply .cab-hw-action{flex:none}.cab-lessons-list li{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--line);margin:0;display:flex}.cab-lessons-list li:first-child{border-top:0;padding-top:0}.cab-lessons-list .dim{flex:none;font-size:13px}.cab-archive-loading{min-height:96px}.cab-archive-list li{margin:0}.cabbox .cab-logout{min-height:36px;margin:var(--space-6) 0 0;padding:var(--space-2) var(--space-3)}.cab-error{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--bad-bg);color:var(--bad);text-align:left;font-size:13px}.cab-parent-page .cabpage-deco{opacity:.62}.cab-parent-shell{padding:var(--space-6)}.cab-parent-heading{margin-bottom:var(--space-4)}.cab-parent-kicker{margin-bottom:var(--space-1)}.cab-parent-heading h1{letter-spacing:-.025em;margin:0;font-size:clamp(24px,5vw,30px)}.cab-parent-summary{gap:var(--space-3);grid-template-columns:minmax(0,1.4fr) minmax(180px,.8fr);display:grid}.cab-parent-summary>div{min-width:0;padding:var(--space-4);border:1px solid color-mix(in srgb, var(--accent) 34%, var(--line));border-radius:var(--radius-card);background:color-mix(in srgb, var(--accent-bg) 56%, var(--panel))}.cab-parent-summary p{margin:var(--space-2) 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.cab-parent-summary-date{margin-top:var(--space-1);color:var(--dim);font-size:12px;display:block}.cab-parent-next-lesson{font-weight:700}.cab-parent-homework>li{border-width:1px 0 0;border-radius:0;padding-inline:0}.cab-parent-homework>li:first-child{border-top:0;padding-top:0}.cab-parent-shell .parent-progress li{padding-block:var(--space-3)}.cab-parent-shell .att-strip{gap:6px}.cab-parent-shell .att-dot{width:20px;height:20px;color:var(--accent-ink);place-items:center;font-size:12px;font-weight:800;display:inline-grid}.cab-parent-shell .att-dot.att-resc{color:var(--paper)}.cab-parent-shell .parent-balance{margin-block:var(--space-2);font-size:32px}.cab-parent-empty{margin-bottom:var(--space-4)}@media (width<=560px){.cabpage{padding:var(--space-6) 10px calc(var(--space-6) + env(safe-area-inset-bottom))}.cabbox,.cab-parent-shell{padding:var(--space-4)}.cabbox.cab-wide>h1{font-size:22px}.cab-next-step,.cab-card{padding:var(--space-3)}.cabbox.cab-wide .cab-next-step .cab-boardbtn,.cabbox .cab-hw-action,.cabbox .cab-file-remove,.cabbox .cab-file-submit,.cabbox .cab-secondary,.cabbox .cab-logout{min-height:44px;font-size:14px}.cab-hw-actions{grid-template-columns:1fr;display:grid}.cabbox .cab-hw-action{width:100%}.cab-file-selected{grid-template-columns:minmax(0,1fr) auto}.cab-file-selected>span{grid-column:1/-1}.cab-file-submit{justify-self:stretch}.cab-thread-reply{flex-direction:column}.cabbox .cab-thread-reply .cab-hw-action{width:100%}.cab-lessons-list li{align-items:flex-start;gap:var(--space-1);flex-direction:column}.cab-parent-summary{grid-template-columns:1fr}.cabbox .small,.cab-sub,.cab-next-eyebrow,.cab-parent-kicker,.cab-parent-summary-label,.cab-parent-summary-date{font-size:13px}.cab-homework-title .badge{margin-left:0}.cab-stale button{min-height:36px;margin-left:0}}.board-wrap{background:var(--paper);min-width:0;overflow:hidden}.board-topbar{z-index:10;min-height:52px;padding:var(--space-2) var(--space-4);gap:var(--space-3);background:color-mix(in srgb, var(--panel) 96%, transparent);border-color:var(--line);position:relative}.board-identity{align-items:center;gap:var(--space-3);min-width:0;display:flex}.board-title{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.2;overflow:hidden}.board-meta{align-items:center;gap:var(--space-2);flex:none;display:inline-flex}.board-meta .badge{border:1px solid var(--line2);background:var(--paper);color:var(--dim)}.board-status{min-width:max-content;color:var(--dim);align-items:center;gap:6px;line-height:1;display:inline-flex}.board-status:before{background:var(--faint);content:"";border-radius:50%;width:7px;height:7px}.board-status.online{color:var(--good)}.board-status.online:before{background:var(--good)}.board-status.connecting:before{background:var(--warn)}.board-status.offline:before{background:var(--bad)}.board-voice{gap:var(--space-2)}.board-voice .voice-btn,.board-voice .rec-btn{border-color:var(--line2);background:var(--panel);min-height:36px;color:var(--ink);box-shadow:none;font-weight:600}.board-voice .voice-btn:hover,.board-voice .rec-btn:hover{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text)}.board-voice .voice-btn.connected{border-color:var(--good);background:var(--good);color:var(--accent-ink)}.board-voice .voice-btn.muted,.board-voice .rec-btn.active{border-color:var(--bad);background:var(--bad);color:#fff}.board-voice .voice-btn.failed{border-color:var(--bad);background:var(--bad-bg);color:var(--bad)}.rec-banner{justify-content:center;align-items:center;gap:var(--space-2);background:var(--bad-bg);min-height:28px;color:var(--bad);font-weight:600;display:flex}.rec-banner>span{font-size:9px}.board-canvas{width:100%;min-width:0;overflow:hidden}.board-canvas>.board-fallback{z-index:8;background:var(--paper);color:var(--dim);line-height:1.5}.side-tools{border-radius:var(--radius-card);border:1px solid #00000014;box-shadow:0 4px 16px #00000024}.side-tools>button,.side-tools>.formula-tool>button{transition:background-color .12s,color .12s}.side-tools>button:focus-visible,.side-tools>.formula-tool>button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.presence{border:1px solid #00000014;border-radius:999px;box-shadow:0 3px 12px #0000001f}.board-minimap{border:1px solid #0000001a;box-shadow:0 4px 14px #00000024}.formula-popover textarea:focus-visible{border-color:var(--accent);outline:2px solid color-mix(in srgb, var(--accent) 32%, transparent);outline-offset:1px}@media (width<=820px),(pointer:coarse){.board-topbar{min-height:56px;padding:6px var(--space-2);gap:var(--space-2)}.board-identity{flex-direction:column;flex:auto;align-items:flex-start;gap:2px}.board-title{width:100%;font-size:13px}.board-meta{min-height:14px}.board-meta .badge{padding:1px 6px;font-size:10px}.board-status{font-size:11px}.board-status:before{width:6px;height:6px}.board-voice .voice-btn,.board-voice .rec-btn{width:44px;min-width:44px;height:44px;padding:0}.board-voice button>span{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.side-tools{overscroll-behavior:contain;scrollbar-width:none;max-height:calc(100dvh - 72px);top:64px;left:8px}.side-tools::-webkit-scrollbar{display:none}.presence{top:64px}.board-minimap{display:none}}@media (width<=374px){.board-topbar{gap:var(--space-1)}.board-meta .badge{display:none}}.pb-toolbar,.pb-list,.pb-form{min-width:0}.pb-kpis-loading .skeleton{border-radius:var(--radius-card);min-height:92px}.pb-inline-error{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-2) var(--space-3);border:1px solid color-mix(in srgb, var(--bad) 40%, var(--line));border-radius:var(--radius-sm);background:var(--bad-bg);color:var(--bad);font-size:13px;display:flex}.pb-inline-error>span{overflow-wrap:anywhere;min-width:0}.pb-inline-error>button{flex:none}.dash .pb-toolbar{gap:var(--space-3);padding:var(--space-4)}.dash .pb-search{border-color:var(--line2);border-radius:var(--radius-sm);background:var(--panel);min-height:42px}.dash .pb-search:focus,.dash .pb-filters select:focus,.dash .pb-filters input:focus,.dash .pb-form input:focus,.dash .pb-form select:focus,.dash .pb-form textarea:focus,.dash .pb-taginput:focus-within{border-color:var(--accent);outline:2px solid color-mix(in srgb, var(--accent) 28%, transparent);outline-offset:0}.dash .pb-bar{gap:var(--space-2);min-width:0}.dash .pb-filters{gap:var(--space-2);flex-wrap:wrap;flex:620px;min-width:0;display:flex}.dash .pb-filters>select{flex:135px;min-width:120px;min-height:38px}.dash .pb-filter-topic,.dash .pb-filter-subtopic{max-width:210px}.dash .pb-difficulty{align-items:center;gap:var(--space-1);grid-template-columns:auto 54px 54px;min-width:0;display:grid}.dash .pb-difficulty>span{padding-inline:var(--space-1);font-size:12px}.dash .pb-difficulty input,.dash .pb-filter-grade{width:100%;min-height:38px}.dash .pb-filter-grade{max-width:78px}.dash .pb-count{align-items:center;min-height:36px;display:inline-flex}.dash .pb-bar>button{flex:none;min-height:36px}.dash .pb-chips{min-width:0}.dash .pb-chip{overflow-wrap:anywhere;max-width:100%}.dash .pb-chip button{flex:none}.dash .pb-chip button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pb-list-loading{gap:0;display:grid}.pb-list-loading .skeleton{border-top:1px solid var(--line);border-radius:0;min-height:72px}.pb-list-loading .skeleton:first-child{border-top:0}.pb-load-error{border:0;border-radius:0;min-height:240px}.dash .pb-empty{justify-items:center;gap:var(--space-1);padding:var(--space-8) var(--space-4);text-align:center;display:grid}.dash .pb-empty b{color:var(--ink);font-size:15px}.dash .pb-empty>button{min-height:38px;margin-top:var(--space-3)}.dash .pb-row{min-width:0}.dash .pb-head{min-width:0;padding:var(--space-3) var(--space-4)}.dash .pb-check{width:18px;height:18px}.dash .pb-main{border-radius:var(--radius-sm)}.dash .pb-main:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.dash .pb-stmt,.dash .pb-path,.dash .pb-detail{overflow-wrap:anywhere}.dash .pb-detail{padding:var(--space-3) var(--space-4) var(--space-4) 55px}.dash .pb-actions .pb-delete{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 55%, var(--line))}.dash .pb-form{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-card)}.dash .pb-form-head{min-height:38px}.dash .pb-form .filters{min-width:0}.dash .pb-form .filters>select{flex:140px;min-width:120px;min-height:38px}.dash .pb-form .filters>input{min-height:38px}.dash .pb-form textarea{border-color:var(--line2);min-height:80px}.dash .pb-taginput{border-color:var(--line2);min-height:42px}.dash .pb-taginput-field{min-height:28px}.dash .pb-form-actions>button{min-width:112px;min-height:38px}.issuebar .pb-issue-lead{flex:none}@media (width<=760px){.dash .pb-toolbar{padding:var(--space-3)}.dash .pb-filters{flex-basis:100%;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.dash .pb-filters>select{width:100%;max-width:none}.dash .pb-difficulty{grid-column:1/-1;grid-template-columns:minmax(86px,1fr) minmax(0,.55fr) minmax(0,.55fr)}.dash .pb-filter-grade{width:100%;max-width:none}.dash .pb-count{margin-right:auto}.dash .pb-detail{padding-left:var(--space-4)}.dash .pb-form .filters{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dash .pb-form .filters>select{width:100%;min-width:0}.dash .pb-form .filters>span{align-self:center}.dash .pb-form .filters>input{min-width:0;width:100%!important}.issuebar{min-width:0}.issuebar .pb-issue-lead{flex-basis:100%}.issuebar select,.issuebar input{flex:140px!important;min-width:0!important}}@media (width<=430px){.pb-inline-error{flex-direction:column;align-items:flex-start}.dash .pb-bar{grid-template-columns:minmax(0,1fr) auto;display:grid}.dash .pb-filters{grid-column:1/-1}.dash .pb-count{margin:0}.dash .pb-bar>button:last-child{grid-column:1/-1;width:100%}.dash .pb-head{gap:var(--space-2);padding:var(--space-3)}.dash .pb-main{gap:var(--space-2)}.dash .pb-main .dot{display:none}.dash .pb-meta{row-gap:var(--space-1)}.dash .pb-detail{padding:var(--space-3)}.dash .pb-actions{display:grid}.dash .pb-actions>button{width:100%}.dash .pb-form{padding:var(--space-3)}.dash .pb-form .filters{grid-template-columns:1fr}.dash .pb-form .filters>span{margin-top:var(--space-1)}.dash .pb-form-actions>button{width:100%}}.staff-admin{gap:var(--space-4);width:min(100%,900px);max-width:900px;margin-inline:auto}.staff-page-head{justify-content:space-between;align-items:flex-end;gap:var(--space-4);padding-block:var(--space-1);display:flex}.staff-page-head h1,.staff-page-head p{margin:0}.staff-page-head h1{letter-spacing:-.015em;font-size:clamp(22px,2.2vw,24px);line-height:1.2}.staff-page-head p{margin-top:var(--space-1);color:var(--dim);font-size:14px}.staff-explainer,.staff-form-card,.staff-team-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel)}.staff-explainer{gap:var(--space-6);padding:var(--space-4);grid-template-columns:minmax(0,1.35fr) minmax(230px,.8fr);align-items:start;display:grid}.staff-explainer h2,.staff-explainer p,.staff-form-card h2,.staff-form-card p,.staff-team-card h2,.staff-team-card p{margin:0}.staff-explainer h2,.staff-form-card h2,.staff-team-card h2{font-size:15px;line-height:1.3}.staff-explainer p,.staff-form-card p,.staff-team-card p{margin-top:var(--space-1);color:var(--dim);font-size:13px;line-height:1.5}.staff-session-note{padding-left:var(--space-4);border-left:2px solid var(--accent);gap:2px;display:grid}.staff-session-note strong{color:var(--accent-text);font-size:13px}.staff-session-note span{color:var(--dim);font-size:12px}.staff-form-card>header,.staff-team-card>header{padding:var(--space-4);border-bottom:1px solid var(--line)}.staff-form{gap:var(--space-3);padding:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.staff-field{align-content:start;gap:var(--space-1);min-width:0;color:var(--dim);font-size:12px;font-weight:600;display:grid}.staff-form .staff-field input{border:1px solid var(--line2);border-radius:var(--radius-sm);background:var(--paper);width:100%;min-width:0;min-height:40px;color:var(--ink);padding:8px 10px;font-size:14px;font-weight:400}.staff-form .staff-field input:hover{border-color:var(--faint)}.staff-form .staff-field input[aria-invalid=true]{border-color:var(--bad)}.staff-field-hint,.staff-field-error{min-height:18px;font-size:12px;font-weight:500}.staff-field-hint{color:var(--dim)}.staff-field-error{color:var(--bad)}.staff-form-action{padding-top:var(--space-3);border-top:1px solid var(--line);grid-column:1/-1;justify-content:flex-end;display:flex}.staff-form-action button{min-width:176px;min-height:40px}.staff-list{border-radius:0 0 var(--radius-card) var(--radius-card);border:0;margin:0}.staff-list li{min-height:64px;padding:var(--space-3) var(--space-4)}.staff-list li.off{opacity:1;background:color-mix(in srgb, var(--line) 26%, transparent)}.staff-who{gap:2px}.staff-who b{font-size:14px}.staff-who span{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.staff-state{border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:12px;font-weight:650;display:inline-flex}.staff-state:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.staff-state.on{color:var(--good);background:var(--good-bg)}.staff-state.off{color:var(--dim);background:color-mix(in srgb, var(--dim) 12%, transparent)}.staff-list li>button{flex:none;min-width:104px}.staff-loading{gap:var(--space-2);padding:var(--space-4);display:grid}.staff-loading .skeleton{height:46px}.staff-list-state{justify-items:start;gap:var(--space-1);padding:var(--space-6) var(--space-4);display:grid}.staff-list-state strong{font-size:14px}.staff-list-state span{color:var(--dim);font-size:13px}.staff-list-state button{margin-top:var(--space-3)}.staff-login-page{min-height:100dvh;padding:var(--space-6) var(--space-4);background:var(--paper)}.staff-login-shell{width:min(100%,430px);margin-inline:auto}.staff-login-brand{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-6);display:flex}.staff-login-brand a{color:var(--ink);font-size:20px;font-weight:750;text-decoration:none}.staff-login-brand span{color:var(--dim);font-size:13px}.staff-login-card{gap:var(--space-4);padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);display:grid}.staff-login-card header{margin-bottom:var(--space-1)}.staff-login-card h1,.staff-login-card p{margin:0}.staff-login-card h1{letter-spacing:-.015em;font-size:23px;line-height:1.2}.staff-login-card header p{margin-top:var(--space-2);color:var(--dim);font-size:14px}.staff-login-field{gap:var(--space-1);color:var(--dim);font-size:13px;font-weight:600;display:grid}.staff-login-card .staff-input{border:1px solid var(--line2);border-radius:var(--radius-sm);background:var(--paper);width:100%;min-height:46px;color:var(--ink);letter-spacing:normal;margin:0;padding:10px 12px;font-size:16px;font-weight:400}.staff-login-card .staff-input:hover{border-color:var(--faint)}.staff-login-card .staff-input[aria-invalid=true]{border-color:var(--bad)}.staff-login-field-error{color:var(--bad);font-size:12px;font-weight:500}.staff-login-card .staff-remember{align-items:flex-start;gap:var(--space-2);min-height:44px;padding-block:var(--space-2);color:var(--ink);margin:0;font-size:13px;display:flex}.staff-login-card .staff-remember input{flex:none;width:18px;height:18px;margin:2px 0 0}.staff-login-card .staff-remember span{gap:1px;display:grid}.staff-login-card .staff-remember small{color:var(--dim);font-size:12px}.staff-login-error{padding:var(--space-3);border:1px solid color-mix(in srgb, var(--bad) 42%, var(--line));border-radius:var(--radius-sm);background:var(--bad-bg);color:var(--bad);margin:0;font-size:13px}.staff-login-card>button{min-height:46px}@media (width<=700px){.staff-admin{gap:var(--space-3)}.staff-explainer{gap:var(--space-4);grid-template-columns:1fr}.staff-session-note{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--accent-bg);border:0}.staff-form{padding:var(--space-3);grid-template-columns:1fr}.staff-form .staff-field input{min-height:44px;font-size:16px}.staff-form-action button{width:100%;min-height:44px}.staff-list li{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);flex-wrap:wrap}.staff-who{flex-basis:calc(100% - 100px)}.staff-state{margin-left:auto}.staff-list li>button{width:100%;min-height:44px}.staff-login-page{padding:var(--space-4) var(--space-3);align-items:center;display:flex}.staff-login-brand{margin-bottom:var(--space-4)}.staff-login-card{gap:var(--space-3);padding:var(--space-4)}}.docspage{min-height:100dvh;padding:var(--space-6) var(--space-4) var(--space-12);background:var(--paper);display:block}.docs-header{justify-content:space-between;align-items:baseline;gap:var(--space-4);width:min(100%,920px);margin:0 auto var(--space-6);display:flex}.docs-header a{color:var(--ink);font-size:20px;font-weight:750;text-decoration:none}.docs-header span{color:var(--dim);font-size:13px}.docsbox{gap:var(--space-4) var(--space-6);grid-template-columns:210px minmax(0,1fr);grid-template-areas:"draft draft""nav article";width:min(100%,920px);max-width:920px;margin-inline:auto;display:grid}.docs-draft{padding:var(--space-3) var(--space-4);border:1px solid color-mix(in srgb, var(--warn) 42%, var(--line));border-radius:var(--radius-card);background:var(--warn-bg);color:var(--warn);grid-area:draft;margin:0;font-size:13px;font-weight:650}.docs-nav{top:var(--space-4);align-content:start;gap:var(--space-1);grid-area:nav;margin:0;display:grid;position:sticky}.docs-nav a{border-radius:var(--radius-sm);color:var(--dim);padding:9px 10px;font-size:13px;line-height:1.35;text-decoration:none;display:block}.docs-nav a:hover{color:var(--ink);background:color-mix(in srgb, var(--line) 40%, transparent)}.docs-nav a.active{color:var(--accent-text);background:var(--accent-bg);font-weight:650}.docs-article{min-width:0;padding:var(--space-8);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);grid-area:article}.docs-article>*{max-width:68ch}.docs-article h1{margin:0 0 var(--space-2);color:var(--ink);letter-spacing:-.018em;font-size:clamp(22px,3vw,28px);line-height:1.2}.docs-article h2{margin:var(--space-8) 0 var(--space-2);color:var(--ink);font-size:17px;line-height:1.35}.docs-article p,.docs-article li{color:var(--ink);font-size:15px;line-height:1.7}.docs-article p{margin:0 0 var(--space-4)}.docs-article p.dim{color:var(--dim)}.docs-article ul{margin:0 0 var(--space-4);padding-left:1.35rem}.docs-article li+li{margin-top:var(--space-2)}.docs-article a{color:var(--accent-text);text-underline-offset:3px;text-decoration-thickness:1px}@media (width<=760px){.docspage{padding:var(--space-4) var(--space-3) var(--space-8)}.docs-header{margin-bottom:var(--space-4)}.docsbox{gap:var(--space-3);grid-template-columns:minmax(0,1fr);grid-template-areas:"draft""nav""article"}.docs-nav{gap:var(--space-2);padding-bottom:var(--space-1);overscroll-behavior-inline:contain;scrollbar-width:thin;display:flex;position:static;overflow-x:auto}.docs-nav a{white-space:nowrap;flex:none;align-items:center;min-height:44px;display:inline-flex}.docs-article{padding:var(--space-6) var(--space-4)}.docs-article p,.docs-article li{font-size:15px;line-height:1.65}}@media print{.docspage{background:0 0;padding:0}.docs-header,.docs-draft,.docs-nav{display:none}.docsbox{width:100%;max-width:none;display:block}.docs-article{border:0;padding:0}}
