.teacher-shell{--t-bg:#151517;--t-surface:#1f1f22;--t-surface-2:#27272b;--t-line:rgba(255,255,255,.08);--t-line-strong:rgba(255,255,255,.14);--t-ink:#f5f5f7;--t-ink-2:#c7c7cc;--t-muted:#8e8e93;--t-faint:#636366;--t-accent:#FF4D35;--t-accent-soft:rgba(255,77,53,.14);--t-accent-ink:#FF7A5C;--t-good:#34c759;--t-warn:#ffd60a;--t-r-card:20px;--t-r-btn:14px;--t-r-chip:999px;--t-space-1:4px;--t-space-2:8px;--t-space-3:12px;--t-space-4:16px;--t-space-5:20px;--t-space-6:24px;--t-space-8:32px;--t-display:32px;--t-title:22px;--t-h:17px;--t-body:15px;--t-sub:13px;--t-cap:11.5px;--t-pad:20px}@media (min-width:768px){.teacher-shell{--t-pad:32px}}.t-page{min-height:100%;box-sizing:border-box;background:var(--t-bg);color:var(--t-ink);font-size:var(--t-body);letter-spacing:-.01em}.t-page-body{padding:0 var(--t-pad) 32px}#phone[data-wide="1"] #screen>.t-page--wide.t-page--wide{max-width:none;width:100%;margin:0}.t-page-inner{width:100%;max-width:1240px;margin:0 auto}.t-stack{display:flex;flex-direction:column;gap:12px}.t-stack--lg{gap:24px}.t-o1{order:1}.t-o2{order:2}.t-o3{order:3}.t-o4{order:4}.t-o5{order:5}.t-o6{order:6}.t-header-sentinel{height:1px;margin:0;padding:0}.t-header{position:-webkit-sticky;position:sticky;top:0;z-index:8;display:flex;align-items:flex-start;gap:12px;padding:14px var(--t-pad) 14px;background:var(--t-bg);border-bottom:1px solid transparent;transition:padding var(--motion-small,.18s) var(--ease-out,ease),background-color var(--motion-small,.18s) var(--ease-out,ease),border-color var(--motion-small,.18s) var(--ease-out,ease)}.t-header.is-compact{align-items:center;min-height:52px;padding-top:0;padding-bottom:0;background:rgba(21,21,23,.86);-webkit-backdrop-filter:blur(22px) saturate(140%);backdrop-filter:blur(22px) saturate(140%);border-bottom-color:var(--t-line)}.t-head-main{flex:1 1;min-width:0}.t-title{font-size:var(--t-title);font-weight:800;letter-spacing:-.5px;line-height:1.25;display:flex;align-items:center;flex-wrap:wrap;gap:8px;transition:font-size var(--motion-small,.18s) var(--ease-out,ease)}.t-header.is-compact .t-title{font-size:var(--t-h)}.t-sub{margin-top:4px;font-size:var(--t-sub);font-weight:500;color:var(--t-muted);line-height:1.45;transition:opacity var(--motion-small,.18s) var(--ease-out,ease)}.t-header.is-compact .t-sub{display:none}.t-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto}.t-back{flex-shrink:0;margin-top:2px}.t-header.is-compact .t-back{margin-top:0}.t-card{background:var(--t-surface);border:1px solid var(--t-line);border-radius:var(--t-r-card);padding:18px;color:var(--t-ink)}.t-card--raised{background:var(--t-surface-2);border-color:var(--t-line-strong)}.t-card--flush{padding:8px 18px}.t-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.t-card-title{font-size:var(--t-h);font-weight:700;line-height:1.25}.t-card-sub{margin-top:4px;font-size:var(--t-sub);color:var(--t-muted);line-height:1.45}.t-hr{height:1px;background:var(--t-line);border:0;margin:14px 0}.t-h-text{font-size:var(--t-h);font-weight:700;line-height:1.3}.t-body-text{font-size:var(--t-body);font-weight:500;line-height:1.5}.t-sub-text{font-size:var(--t-sub);color:var(--t-muted);line-height:1.5}.t-cap-text{font-size:var(--t-cap);font-weight:600;color:var(--t-muted)}.t-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.3px}.t-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:var(--t-r-btn);font-family:inherit;font-weight:800;letter-spacing:-.01em;cursor:pointer;white-space:nowrap;text-decoration:none;transition:transform var(--motion-press,.14s) var(--ease-out,ease),filter var(--motion-small,.18s) var(--ease-out,ease),background-color var(--motion-small,.18s) var(--ease-out,ease),border-color var(--motion-small,.18s) var(--ease-out,ease),opacity var(--motion-small,.18s) var(--ease-out,ease)}.t-btn:active:not(:disabled){transform:scale(.98)}.t-btn:disabled{opacity:.45;cursor:default}.t-btn:focus-visible{outline:2px solid var(--t-accent);outline-offset:2px}.t-btn--primary{min-height:52px;padding:0 20px;font-size:var(--t-body);background:var(--t-accent);color:#fff}.t-btn--secondary{min-height:48px;padding:0 18px;font-size:14px;background:transparent;border:1px solid var(--t-line-strong);color:var(--t-ink)}.t-btn--tertiary{padding:0 12px;font-size:13.5px;background:none}.t-btn--sm,.t-btn--tertiary{min-height:40px;font-weight:700;color:var(--t-ink-2)}.t-btn--sm{padding:0 14px;border-radius:999px;font-size:13px;background:transparent;border:1px solid var(--t-line-strong)}.t-btn--icon{width:40px;height:40px;padding:0;border-radius:50%;background:rgba(255,255,255,.07);color:var(--t-ink)}.t-btn--block{width:100%}.t-btn--grow{flex:1 1}@media (min-width:768px){.t-btn--primary{min-height:46px}.t-btn--secondary{min-height:44px}.t-header{padding-top:36px;padding-bottom:16px}.t-header.is-compact{padding-top:0;padding-bottom:0}}@media (hover:none){.t-btn--tertiary{min-height:44px}}@media (hover:hover) and (pointer:fine){.t-btn:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.t-btn--secondary:hover:not(:disabled),.t-btn--sm:hover:not(:disabled){background:rgba(255,255,255,.05)}.t-btn--tertiary:hover:not(:disabled){color:var(--t-ink)}.t-btn:active:not(:disabled){transform:scale(.98)}}.t-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border:0;border-radius:var(--t-r-chip);background:rgba(255,255,255,.06);color:var(--t-ink-2);font-family:inherit;font-size:12.5px;font-weight:700;white-space:nowrap;transition:background-color var(--motion-small,.18s) var(--ease-out,ease),color var(--motion-small,.18s) var(--ease-out,ease),transform var(--motion-press,.14s) var(--ease-out,ease)}button.t-chip{cursor:pointer}button.t-chip:active{transform:scale(.98)}button.t-chip:focus-visible{outline:2px solid var(--t-accent);outline-offset:2px}.t-chip.is-on{background:var(--t-accent-soft);color:var(--t-accent-ink)}.t-chip-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:.75}.t-chips{display:flex;flex-wrap:wrap;gap:6px}@media (hover:none){button.t-chip{min-height:32px}}.t-badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:999px;background:rgba(255,255,255,.08);color:var(--t-ink-2);font-size:var(--t-cap);font-weight:700;white-space:nowrap;flex-shrink:0}.t-badge--accent{background:var(--t-accent-soft);color:var(--t-accent-ink)}.t-badge--good{background:rgba(52,199,89,.15);color:#6fd483}.t-badge--offline{background:var(--t-ink);color:var(--t-bg)}.t-badge--dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.t-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.t-stat{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;padding:14px 12px;border:1px solid var(--t-line);border-radius:16px;background:var(--t-surface);color:var(--t-ink);font-family:inherit;text-align:left;transition:background-color var(--motion-small,.18s) var(--ease-out,ease),border-color var(--motion-small,.18s) var(--ease-out,ease),transform var(--motion-press,.14s) var(--ease-out,ease)}button.t-stat{cursor:pointer}button.t-stat:active{transform:scale(.98)}button.t-stat:focus-visible{outline:2px solid var(--t-accent);outline-offset:2px}.t-stat-num{font-size:22px;font-weight:800;line-height:1.15;letter-spacing:-.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t-stat--money{grid-column:1/-1;flex-direction:row;align-items:baseline;justify-content:space-between;gap:10px}.t-stat-label{font-size:var(--t-cap);font-weight:600;color:var(--t-muted)}.t-stat.is-alert{border-color:rgba(255,77,53,.32);background:var(--t-accent-soft)}.t-stat.is-alert .t-stat-label,.t-stat.is-alert .t-stat-num{color:var(--t-accent-ink)}@media (hover:hover) and (pointer:fine){button.t-stat:hover{background:var(--t-surface-2);border-color:var(--t-line-strong)}}.t-list{display:flex;flex-direction:column}.t-list-row{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 0;border:0;border-bottom:1px solid var(--t-line);background:none;color:var(--t-ink);font-family:inherit;text-align:left;transition:background-color var(--motion-small,.18s) var(--ease-out,ease),transform var(--motion-press,.14s) var(--ease-out,ease)}button.t-list-row{cursor:pointer}button.t-list-row:active{transform:scale(.99)}button.t-list-row:focus-visible{outline:2px solid var(--t-accent);outline-offset:-2px;border-radius:10px}.t-list-row:last-child{border-bottom:0}.t-list-row--lg{min-height:64px}.t-list-row-main{display:block;flex:1 1;min-width:0}.t-list-row-title{display:block;font-size:var(--t-body);font-weight:700;line-height:1.35}.t-list-row-sub{display:block;margin-top:2px;font-size:12.5px;color:var(--t-muted);line-height:1.4}.t-chev{flex-shrink:0;color:var(--t-faint);font-size:18px;font-weight:400;line-height:1}.t-timeblock{flex-shrink:0;width:54px;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.t-timeblock b{display:block;font-size:var(--t-body);font-weight:800;line-height:1.2}.t-timeblock small{display:block;margin-top:2px;font-size:var(--t-cap);font-weight:600;color:var(--t-muted)}.t-empty{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;min-height:120px;padding:20px;border:1px dashed var(--t-line-strong);border-radius:16px;background:rgba(255,255,255,.02)}.t-empty b{font-size:var(--t-body);font-weight:700}.t-empty p{font-size:var(--t-sub);color:var(--t-muted);line-height:1.5}.t-empty .t-btn{margin-top:6px}.t-skeleton{position:relative;overflow:hidden;border-radius:12px;background:var(--t-surface-2)}.t-skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);animation:t-shimmer 1.2s linear infinite}@keyframes t-shimmer{to{transform:translateX(100%)}}.t-skeleton--tile{height:78px;border-radius:16px}.t-skeleton--row{height:56px;border-radius:14px}.t-skeleton--num{height:30px;width:55%}.t-skeleton--line{height:12px}.t-skeleton--line.is-short{width:45%}[data-reveal="1"] .t-reveal{opacity:0;transform:translateY(12px);transition:opacity .22s var(--ease-out,ease),transform .22s var(--ease-out,ease);will-change:opacity,transform;animation:t-reveal-safety 1ms linear 1.2s forwards}@keyframes t-reveal-safety{to{opacity:1;transform:none}}[data-reveal="1"] .t-reveal.is-in{opacity:1;transform:none;will-change:auto;animation:none}.t-switch{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0;border:0;background:none;color:var(--t-ink-2);font-family:inherit;cursor:pointer}.t-switch:disabled{opacity:.55;cursor:default}.t-switch:focus-visible{outline:2px solid var(--t-accent);outline-offset:4px;border-radius:999px}.t-switch--stack{flex-direction:column;align-items:flex-end;gap:5px}.t-switch-label{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-cap);font-weight:700;color:var(--t-muted);white-space:nowrap;transition:color var(--motion-small,.18s) var(--ease-out,ease)}.t-switch.is-on .t-switch-label{color:var(--t-accent-ink)}.t-switch-dot{width:7px;height:7px;border-radius:50%;background:var(--t-faint);transition:background-color var(--motion-small,.18s) var(--ease-out,ease)}.t-switch.is-on .t-switch-dot{background:var(--t-accent);animation:t-pulse 1.9s var(--ease-in-out,ease-in-out) infinite}@keyframes t-pulse{0%,to{box-shadow:0 0 0 0 rgba(255,77,53,.38)}60%{box-shadow:0 0 0 5px rgba(255,77,53,0)}}.t-switch-track{position:relative;flex-shrink:0;width:52px;height:32px;border-radius:999px;background:rgba(255,255,255,.14);transition:background-color var(--motion-small,.18s) var(--ease-out,ease)}.t-switch-thumb{position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.45);transition:transform var(--motion-small,.18s) var(--ease-out,ease)}.t-switch.is-on .t-switch-track{background:var(--t-accent)}.t-switch.is-on .t-switch-thumb{transform:translateX(20px)}.t-switch-track--sm{width:44px;height:26px}.t-switch-track--sm .t-switch-thumb{width:20px;height:20px}.is-on .t-switch-track--sm .t-switch-thumb{transform:translateX(18px)}.teacher-shell .teacher-nav{background:rgba(21,21,23,.86);-webkit-backdrop-filter:blur(22px) saturate(140%);backdrop-filter:blur(22px) saturate(140%);border-top:1px solid var(--t-line);padding-bottom:env(safe-area-inset-bottom)}.teacher-shell .teacher-nav-item{position:relative;min-height:56px;padding:8px 0 10px;gap:4px;font-size:11px;font-weight:600;color:var(--t-muted);transition:color var(--motion-small,.18s) var(--ease-out,ease),background-color var(--motion-small,.18s) var(--ease-out,ease)}.teacher-shell .teacher-nav-item.is-on{color:var(--t-accent-ink);font-weight:700}.teacher-shell .teacher-nav-item.is-on:after{content:"";position:absolute;left:50%;bottom:0;width:26px;height:2px;border-radius:2px;background:var(--t-accent);transform:translateX(-50%)}.teacher-shell .teacher-nav-item:focus-visible{outline:2px solid var(--t-accent);outline-offset:-3px}.teacher-shell .teacher-nav-icon{width:24px;height:24px}.teacher-shell .teacher-nav-icon svg{width:100%;height:100%}@media (min-width:768px){.teacher-shell .teacher-nav{background:#18181a;padding-bottom:18px}.teacher-shell .teacher-nav-item{min-height:48px;padding:0 12px;gap:11px;border-radius:13px;font-size:12.5px;font-weight:700}.teacher-shell .teacher-nav-item.is-on{background:var(--t-accent-soft);font-weight:800}.teacher-shell .teacher-nav-item.is-on:after{content:none}.teacher-shell .teacher-nav-icon{width:20px;height:20px}.teacher-shell button.teacher-nav-status{display:flex;align-items:center;gap:10px;width:100%;margin-top:auto;padding:14px 8px 2px;border:0;border-top:1px solid var(--t-line);background:none;color:inherit;font-family:inherit;text-align:left;cursor:pointer}.teacher-shell button.teacher-nav-status:disabled{opacity:.55;cursor:default}.teacher-shell button.teacher-nav-status:focus-visible{outline:2px solid var(--t-accent);outline-offset:-2px}.teacher-shell .teacher-nav-status>div{flex:1 1;min-width:0}.teacher-shell .teacher-nav-status b{color:var(--t-ink-2);font-size:11.5px;font-weight:800}.teacher-shell .teacher-nav-status.is-on b{color:var(--t-accent-ink)}.teacher-shell .teacher-nav-status small{color:var(--t-faint);font-size:10px;line-height:1.45}.teacher-shell .teacher-nav-status>.t-switch-track{width:44px;height:26px;margin-top:0;border-radius:999px;background:rgba(255,255,255,.14);box-shadow:none}.teacher-shell .teacher-nav-status.is-on>.t-switch-track{background:var(--t-accent);box-shadow:none}}.teacher-shell .teacher-nav-collapse{display:none}@media (min-width:768px){.teacher-shell#phone[data-wide="1"]:has(>.teacher-nav){transition:grid-template-columns var(--motion-small,.18s) var(--ease-out,ease)}.teacher-shell#phone[data-wide="1"]:has(>.teacher-nav.is-slim){grid-template-columns:64px minmax(0,1fr)}.teacher-shell .teacher-nav.is-slim{padding-left:8px;padding-right:8px;overflow:hidden}.teacher-shell .teacher-nav.is-slim .teacher-nav-brand{justify-content:center;padding:0 0 25px}.teacher-shell .teacher-nav.is-slim .teacher-nav-brandtext{display:none}.teacher-shell .teacher-nav.is-slim .teacher-nav-item{justify-content:center;gap:0;padding:0}.teacher-shell .teacher-nav.is-slim .teacher-nav-label{display:none}.teacher-shell .teacher-nav.is-slim .teacher-nav-status{justify-content:center;padding-left:0;padding-right:0}.teacher-shell .teacher-nav.is-slim .teacher-nav-statustext{display:none}.teacher-shell .teacher-nav-collapse{display:inline-flex;align-items:center;justify-content:center;align-self:flex-end;flex-shrink:0;width:40px;height:40px;margin-top:10px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.06);color:var(--t-muted);cursor:pointer;transition:background-color var(--motion-small,.18s) var(--ease-out,ease),color var(--motion-small,.18s) var(--ease-out,ease)}.teacher-shell .teacher-nav-collapse:focus-visible{outline:2px solid var(--t-accent);outline-offset:2px}.teacher-shell .teacher-nav-collapse svg{transition:transform var(--motion-small,.18s) var(--ease-out,ease)}.teacher-shell .teacher-nav.is-slim .teacher-nav-collapse{align-self:center}.teacher-shell .teacher-nav.is-slim .teacher-nav-collapse svg{transform:rotate(180deg)}}@media (min-width:768px) and (hover:hover) and (pointer:fine){.teacher-shell .teacher-nav-collapse:hover{background:rgba(255,255,255,.1);color:var(--t-ink)}}.teacher-shell .tgrid{display:flex;flex-direction:column;gap:12px}.teacher-shell .tgrid>.tmain,.teacher-shell .tgrid>.tside{display:contents}@media (min-width:768px){.teacher-shell .tgrid{max-width:1240px;margin:0 auto}}@media (min-width:1100px){.teacher-shell .tgrid{display:grid;grid-template-columns:360px minmax(0,1fr);grid-gap:0 28px;gap:0 28px;align-items:start}.teacher-shell .tgrid>.tside{display:flex;flex-direction:column;gap:12px;grid-column:1;grid-row:1;position:-webkit-sticky;position:sticky;top:12px}.teacher-shell .tgrid>.tmain{display:flex;flex-direction:column;gap:12px;grid-column:2;grid-row:1}}@media (prefers-reduced-motion:reduce){.t-reveal,[data-reveal="1"] .t-reveal{opacity:1!important;transform:none!important;transition:none!important}.t-skeleton:after{animation:none}.t-switch.is-on .t-switch-dot{animation:none;box-shadow:none}.t-header,.t-switch-thumb,.t-switch-track,.t-title{transition:none!important}.t-btn:hover:not(:disabled){transform:none}.teacher-shell .teacher-nav-collapse,.teacher-shell .teacher-nav-collapse svg,.teacher-shell#phone[data-wide="1"]:has(>.teacher-nav){transition:none!important}}@media (prefers-reduced-transparency:reduce){.t-header.is-compact,.teacher-shell .teacher-nav{background:var(--t-bg);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-contrast:more){.t-card,.t-empty,.t-stat{border-color:var(--t-line-strong)}.t-stat-label,.t-sub,.t-sub-text{color:var(--t-ink-2)}}.t-page--gate{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:28px;text-align:center}.t-page--gate .t-btn{margin-top:14px}.t-now-req{justify-content:space-between;gap:8px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--t-line)}.t-now-body,.t-now-req{display:flex;align-items:center}.t-now-body{gap:14px;flex-wrap:wrap}.t-now-main{flex:1 1;min-width:0}.t-now-body>.t-btn{flex-shrink:0}.t-now-eyebrow{font-size:var(--t-h);font-weight:700;line-height:1.25;color:var(--t-accent-ink)}.t-now-eyebrow.is-quiet{color:var(--t-ink)}.t-now-title{margin-top:5px;font-size:var(--t-body);font-weight:800;line-height:1.35}.t-now-meta{margin-top:4px;font-size:var(--t-sub);color:var(--t-muted);line-height:1.45}@media (max-width:400px){.t-now-body>.t-btn{width:100%}}.t-resv{border:1px solid var(--t-line);border-radius:14px;background:rgba(255,255,255,.035);padding:10px 14px}.t-resv-head{display:flex;align-items:center;gap:12px;min-height:64px}.t-resv-main{flex:1 1;min-width:0}.t-resv-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:10px}.t-resv-actions.is-split{justify-content:stretch}.t-resv-note{display:flex;flex-direction:column;gap:10px;margin-top:10px;padding:12px;border-radius:12px;background:rgba(255,255,255,.05)}.t-resv-note.is-accent{background:var(--t-accent-soft)}.t-resv-note>.t-btn{align-self:flex-end}.t-resv-note .t-resv-actions{margin-top:0}.t-btn--compact{min-height:44px;padding:0 16px;font-size:14px}.t-assign-toggle{flex-shrink:0;font-size:13px;font-weight:700;color:var(--t-accent-ink)}.t-rate{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;margin-top:14px;font-size:var(--t-sub);color:var(--t-muted)}.t-rate b{font-size:19px;font-weight:800;color:var(--t-accent-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.t-divide-top{margin-top:12px;padding-top:12px;border-top:1px solid var(--t-line)}.t-textarea{width:100%;box-sizing:border-box;margin-top:10px;border:1px solid var(--t-line-strong);border-radius:12px;padding:11px 12px;font-family:inherit;font-size:14px;line-height:1.55;background:rgba(255,255,255,.06);color:var(--t-ink);resize:none;outline:none}.t-textarea::placeholder{color:var(--t-faint)}.t-textarea:focus-visible{outline:2px solid var(--t-accent);outline-offset:1px}@media (min-width:768px){.t-resv-actions.is-split{justify-content:flex-end}.t-resv-actions.is-split .t-btn--grow{flex:0 0 auto;min-width:148px}}.t-setup-nudge{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.t-setup-nudge>.t-btn{flex-shrink:0}@media (max-width:400px){.t-setup-nudge>.t-btn{width:100%}}.t-meter{height:10px;margin-top:12px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.t-meter-fill{height:100%;border-radius:999px;background:var(--t-good);transition:width 90ms linear}.t-setup-row{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.t-setup-select{width:100%;min-height:44px;margin-top:12px;padding:0 12px;border:1px solid var(--t-line-strong);border-radius:var(--t-r-btn);background:rgba(255,255,255,.06);color:var(--t-ink);font-family:inherit;font-size:13px;font-weight:600}.t-setup-select option{color:#1d1d1f}.t-setup-video{border-radius:14px;background:#000;aspect-ratio:16/9;object-fit:cover;transform:scaleX(-1)}.t-setup-audio,.t-setup-video{width:100%;margin-top:12px}.t-setup-midi{margin-top:12px}.t-setup-midi>div:first-child{margin-bottom:8px}@media (prefers-reduced-motion:reduce){.t-meter-fill{transition:none}}.t-help{margin-top:14px;border-top:1px solid var(--t-line);padding-top:12px}.t-help>summary{cursor:pointer;list-style:none;font-size:var(--t-sub);font-weight:700;color:var(--t-accent-ink)}.t-help>summary::-webkit-details-marker{display:none}.t-help>summary:after{content:" ›";display:inline-block;transition:transform var(--motion-small,.18s) var(--ease-out,ease)}.t-help[open]>summary:after{transform:rotate(90deg)}.t-help>summary:focus-visible{outline:2px solid var(--t-accent);outline-offset:2px;border-radius:6px}.t-help p{margin-top:10px;font-size:var(--t-sub);color:var(--t-muted);line-height:1.6}.t-help b{color:var(--t-ink-2);font-weight:700}@media (prefers-reduced-motion:reduce){.t-help>summary:after{transition:none}}.t-midi-row{border-bottom:1px solid var(--t-line);padding:10px 0}.t-midi-row:last-child{border-bottom:0}.t-midi-head{display:flex;align-items:center;gap:8px}.t-midi-title{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:3px;padding:6px 0;border:0;background:none;text-align:left;cursor:pointer;font-family:inherit}.t-midi-title:focus-visible{outline:2px solid var(--t-accent);outline-offset:2px;border-radius:8px}.t-midi-title .t-list-row-sub,.t-midi-title .t-list-row-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t-midi-actions{display:flex;gap:6px;flex-shrink:0}.t-midi-body{margin-top:6px;padding:12px;border-radius:14px;background:#fff}.t-midi-body .t-sub-text{color:#6e6e73}@media (max-width:400px){.t-midi-head{flex-wrap:wrap}.t-midi-actions{width:100%;justify-content:flex-end}}.teacher-shell .mcal{margin:0;border:1px solid var(--t-line);border-radius:var(--t-r-card);background:var(--t-surface);padding:12px 10px 10px}.teacher-shell .mcal-bar{display:flex;align-items:center;gap:4px;padding:0 2px 10px}.teacher-shell .mcal-nav{flex-shrink:0;width:36px;height:36px;border:0;border-radius:10px;background:rgba(255,255,255,.06);color:var(--t-ink);font-size:17px;line-height:1;cursor:pointer;transition:background-color var(--motion-small,.18s) var(--ease-out,ease),transform var(--motion-press,.14s) var(--ease-out,ease)}.teacher-shell .mcal-nav:active{transform:scale(.94)}.teacher-shell .mcal-nav:focus-visible{outline:2px solid var(--t-accent);outline-offset:2px}.teacher-shell .mcal-title{flex:1 1;padding:0 4px;font-size:var(--t-h);font-weight:800;letter-spacing:-.3px;color:var(--t-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.teacher-shell .mcal-week{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;padding-bottom:6px}.teacher-shell .mcal-week span{font-size:var(--t-cap);font-weight:700;color:var(--t-muted)}.teacher-shell .mcal-week span.is-sat,.teacher-shell .mcal-week span.is-sun{color:var(--t-faint)}.teacher-shell .mcal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px}.teacher-shell .mcal-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:44px;padding:4px 0;border:0;border-radius:12px;background:none;cursor:pointer;transition:background-color var(--motion-small,.18s) var(--ease-out,ease)}.teacher-shell .mcal-cell.is-out{opacity:.3}.teacher-shell .mcal-cell:focus-visible{outline:2px solid var(--t-accent);outline-offset:-2px}.teacher-shell .mcal-num{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;font-size:13.5px;font-weight:600;color:var(--t-ink-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:background-color var(--motion-small,.18s) var(--ease-out,ease),color var(--motion-small,.18s) var(--ease-out,ease)}.teacher-shell .mcal-cell.is-today .mcal-num{background:var(--t-accent);color:#fff;font-weight:800;box-shadow:none}.teacher-shell .mcal-cell.is-on{background:var(--t-accent-soft)}.teacher-shell .mcal-cell.is-on .mcal-num{color:var(--t-accent-ink);font-weight:800}.teacher-shell .mcal-cell.is-on.is-today .mcal-num{background:var(--t-accent);color:#fff}.teacher-shell .mcal-dots{display:flex;align-items:center;justify-content:center;min-height:4px}.teacher-shell .mcal-dots i{display:block;width:4px;height:4px;border-radius:50%;background:var(--t-accent)}.teacher-shell .mcal-dots i.is-req{background:none;box-shadow:inset 0 0 0 1.5px var(--t-muted)}.tw-dayhead{display:flex;align-items:baseline;gap:8px;margin:4px 2px 0}.tw-dayhead b{font-size:var(--t-h);font-weight:700}.tw-dayhead span{font-size:var(--t-sub);color:var(--t-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.teacher-shell .cal-add-row{gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--t-line)}.teacher-shell .cal-add-row .cal-add-btn{min-height:36px;border-color:var(--t-line-strong);color:var(--t-muted);padding:0 12px;font-size:12px;font-weight:700}@media (hover:none){.teacher-shell .cal-add-row .cal-add-btn{min-height:40px}}.teacher-shell .t-page.tsched-week{height:100%;display:flex;flex-direction:column}.teacher-shell .t-page.tsched-week>.t-page-body{display:flex;flex-direction:column;flex:1 1;min-height:0;padding-bottom:20px}.tw-weekbar{display:flex;align-items:center;gap:8px;padding-bottom:12px}.tw-weekbar-label{font-size:var(--t-h);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tw-weekbar-count{margin-left:auto;font-size:var(--t-sub);color:var(--t-muted)}.teacher-shell .tsched-scroll{flex:1 1;min-height:0;overflow:auto;border:1px solid var(--t-line);border-radius:var(--t-r-card);background:var(--t-surface)}.teacher-shell .tsched-grid{display:grid;grid-template-columns:58px repeat(7,minmax(112px,1fr));min-width:820px}.teacher-shell .tsched-corner{left:0;z-index:3}.teacher-shell .tsched-corner,.teacher-shell .tsched-dayhead{position:-webkit-sticky;position:sticky;top:0;background:var(--t-surface);border-bottom:1px solid var(--t-line)}.teacher-shell .tsched-dayhead{z-index:2;display:flex;flex-direction:column-reverse;align-items:center;gap:1px;border-left:1px solid var(--t-line);padding:10px 0 9px}.teacher-shell .tsched-dayhead span{font-size:11px;font-weight:600;color:var(--t-muted)}.teacher-shell .tsched-dayhead b{font-size:var(--t-body);font-weight:700;color:var(--t-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.teacher-shell .tsched-dayhead.is-today b,.teacher-shell .tsched-dayhead.is-today span{color:var(--t-accent-ink)}.teacher-shell .tsched-hours{position:relative}.teacher-shell .tsched-hour{position:absolute;right:9px;transform:translateY(-6px);font-size:var(--t-cap);font-weight:600;color:var(--t-faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.teacher-shell .tsched-hour:first-child{transform:translateY(2px)}.teacher-shell .tsched-daycol{position:relative;border-left:1px solid var(--t-line)}.teacher-shell .tsched-daycol.is-today{background:rgba(255,77,53,.04)}.teacher-shell .tsched-line{position:absolute;left:0;right:0;height:1px;background:var(--t-line)}.teacher-shell .tsched-line.is-half{background:rgba(255,255,255,.035)}.tw-nowline{right:0;height:1px;z-index:2;pointer-events:none}.tw-nowline,.tw-nowline:before{position:absolute;left:0;background:var(--t-accent)}.tw-nowline:before{content:"";top:-3px;width:7px;height:7px;border-radius:50%}.teacher-shell .tsched-block{position:absolute;left:3px;right:3px;display:flex;flex-direction:column;gap:1px;min-height:0;border:0;border-radius:10px;padding:4px 8px;text-align:left;overflow:hidden;cursor:pointer;font-family:inherit;transition:transform var(--motion-press,.14s) var(--ease-out,ease),filter var(--motion-small,.18s) var(--ease-out,ease)}.teacher-shell .tsched-block.is-conf{background:var(--t-accent-soft);box-shadow:inset 0 0 0 1px rgba(255,77,53,.45)}.teacher-shell .tsched-block.is-req{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px var(--t-line-strong)}.teacher-shell .tsched-block.is-pick{outline:2px solid var(--t-accent);outline-offset:1px}.teacher-shell .tsched-block:focus-visible{outline:2px solid var(--t-accent);outline-offset:1px}.teacher-shell .tsched-block:active{transform:scale(.99)}.teacher-shell .tsched-block-time{font-size:var(--t-cap);font-weight:700;color:var(--t-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.teacher-shell .tsched-block-name{font-size:12.5px;font-weight:700;color:var(--t-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-shell .tsched-block-flag{font-size:11px;font-weight:700;color:var(--t-accent-ink)}@media (hover:hover) and (pointer:fine){.teacher-shell .tsched-block:hover{filter:brightness(1.14)}}.teacher-shell .tsched-detail{flex-shrink:0;margin-top:12px;border:1px solid var(--t-line-strong);border-radius:var(--t-r-card);background:var(--t-surface-2);padding:16px 18px;max-height:42%;overflow:auto}.teacher-shell .tsched-detail-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.teacher-shell .tsched-detail-head b{font-size:var(--t-h);font-weight:700}.teacher-shell .tsched-detail-when{font-size:var(--t-sub);color:var(--t-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.teacher-shell .tsched-detail-note{margin-top:10px;font-size:var(--t-sub);color:var(--t-ink-2);line-height:1.5}.teacher-shell .tsched-detail-actions{max-width:460px}.teacher-shell .tsched-hint{flex-shrink:0;margin-top:12px;font-size:var(--t-sub);color:var(--t-muted);line-height:1.55}.teacher-shell .tsched-block.is-movable{cursor:-webkit-grab;cursor:grab}.teacher-shell .tsched-block.is-dragging{opacity:.34;cursor:-webkit-grabbing;cursor:grabbing}.teacher-shell .tsched-ghost{position:absolute;left:3px;right:3px;z-index:3;border-radius:10px;background:rgba(255,77,53,.12);box-shadow:inset 0 0 0 2px var(--t-accent);padding:4px 8px;pointer-events:none;transition:top var(--motion-press,.14s) var(--ease-out,ease);animation:tw-fade var(--motion-small,.18s) var(--ease-out,ease)}.teacher-shell .tsched-ghost span{font-size:var(--t-cap);font-weight:700;color:var(--t-accent-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tw-draglabel{position:fixed;z-index:60;pointer-events:none;border-radius:999px;background:var(--t-accent);color:#fff;padding:6px 12px;font-size:12.5px;font-weight:700;line-height:1;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;box-shadow:var(--shadow-float,0 20px 56px rgba(0,0,0,.28))}body.tw-dragging{cursor:-webkit-grabbing;cursor:grabbing}body.tw-dragging *{-moz-user-select:none;user-select:none;-webkit-user-select:none}.tw-dlg-bg{position:fixed;inset:0;z-index:58;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:tw-fade var(--motion-small,.18s) var(--ease-out,ease)}.tw-dlg{width:100%;max-width:380px;border:1px solid var(--t-line-strong);border-radius:var(--t-r-card);background:var(--t-surface-2);color:var(--t-ink);padding:20px 20px 18px;box-shadow:var(--shadow-float,0 20px 56px rgba(0,0,0,.28));animation:tw-dlg-in var(--motion-surface,.24s) var(--ease-out,ease)}.tw-dlg-title{font-size:var(--t-h);font-weight:800;line-height:1.35;letter-spacing:-.3px}.tw-dlg-text{margin-top:8px;font-size:var(--t-sub);color:var(--t-ink-2);line-height:1.55}.tw-dlg-text b{color:var(--t-ink);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tw-dlg .t-resv-actions{margin-top:18px}@keyframes tw-dlg-in{0%{transform:translateY(8px) scale(.98);opacity:0}to{transform:none;opacity:1}}@media (prefers-reduced-motion:reduce){.teacher-shell .tsched-ghost{transition:none;animation:none}.tw-dlg,.tw-dlg-bg{animation:none}}.tw-seg{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.tw-seg::-webkit-scrollbar{display:none}.tw-seg .t-chip{flex-shrink:0}.tw-assign-head{display:flex;align-items:baseline;gap:10px;margin:4px 2px 0}.tw-assign-head b{font-size:var(--t-h);font-weight:700}.tw-assign-head span{margin-left:auto;font-size:var(--t-sub);color:var(--t-muted)}.tw-assign-card{padding:14px 16px}.tw-assign-card.is-waiting{border-color:rgba(255,77,53,.32)}.tw-assign-btn{display:flex;align-items:flex-start;gap:10px;width:100%;border:0;background:none;padding:0;color:var(--t-ink);font-family:inherit;text-align:left;cursor:pointer}.tw-assign-btn:focus-visible{outline:2px solid var(--t-accent);outline-offset:4px;border-radius:10px}.tw-assign-body{flex:1 1;min-width:0}.tw-assign-line1{display:flex;align-items:center;gap:8px}.tw-assign-who{font-size:var(--t-sub);color:var(--t-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tw-assign-cycle{margin-left:auto;flex-shrink:0;font-size:var(--t-cap);font-weight:700;color:var(--t-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tw-assign-cycle.is-full{color:var(--t-accent-ink)}.tw-assign-title{display:block;margin-top:8px;font-size:var(--t-h);font-weight:700;line-height:1.35}.tw-assign-when{display:block;margin-top:4px;font-size:12px;color:var(--t-muted);line-height:1.45}.tw-assign-chev{align-self:center;padding-top:0;transition:transform var(--motion-small,.18s) var(--ease-out,ease)}.tw-assign-btn:hover .tw-assign-chev{transform:translateX(2px)}.tw-assign-card.is-on{border-color:var(--t-accent);background:var(--t-surface-2)}.tw-aworkspace{display:block}.tw-aworkspace>.tw-list-col{display:flex;flex-direction:column;gap:12px;min-width:0}@media (min-width:1024px){.tw-aworkspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:20px;gap:20px;align-items:start}.tw-aworkspace>.tw-apanel-col{position:-webkit-sticky;position:sticky;top:12px;min-width:0;max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain}}@media (min-width:1100px){.tw-aworkspace{grid-template-columns:minmax(0,1fr) 380px}}.teacher-shell .tw-apanel{padding:18px}.teacher-shell .tw-apanel.is-blank{font-size:var(--t-sub);color:var(--t-muted);line-height:1.55}.tw-apanel-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.tw-apanel-head .t-btn{margin-left:auto}.tw-apanel-title{display:block;font-size:var(--t-h);font-weight:700;line-height:1.35}.tw-apanel-who{margin-top:5px;font-size:var(--t-sub);color:var(--t-muted);line-height:1.45}.tw-sheet-handle{flex-shrink:0;width:36px;height:4px;margin:8px auto 0;border-radius:999px;background:var(--t-line-strong)}.tw-sheet-who{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px;font-size:var(--t-sub);color:var(--t-muted)}.tw-assign-panel{margin-top:12px;padding-top:12px;border-top:1px solid var(--t-line)}.tw-assign-panel.is-detached{margin-top:0;padding-top:0;border-top:0}.tw-assign-detail{font-size:var(--t-body);color:var(--t-ink-2);line-height:1.6;white-space:pre-line}.tw-assign-stamps{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:10px;font-size:var(--t-cap);color:var(--t-muted)}.tw-sub-box{margin-top:12px;border-radius:14px;background:rgba(255,255,255,.05);padding:13px 14px}.tw-sub-box.is-accent{background:var(--t-accent-soft)}.tw-sub-box .tw-box-label{font-size:var(--t-cap);font-weight:700;color:var(--t-muted)}.tw-sub-box.is-accent .tw-box-label{color:var(--t-accent-ink)}.tw-sub-box p{margin-top:6px;font-size:var(--t-body);color:var(--t-ink-2);line-height:1.6;white-space:pre-line}.tw-sub-box.is-accent p{color:var(--t-ink)}.tw-note{margin-top:10px;border-radius:14px;background:rgba(255,255,255,.05);padding:12px 13px;font-size:var(--t-sub);color:var(--t-muted);line-height:1.55}@media (prefers-reduced-motion:reduce){.tw-assign-chev{transition:none}.tw-assign-btn:hover .tw-assign-chev{transform:none}}.teacher-shell .student-attention-banner{display:flex;align-items:center;gap:10px;width:100%;margin:0;border:1px solid rgba(255,77,53,.3);border-radius:16px;background:var(--t-accent-soft);padding:13px 15px;color:var(--t-ink);text-align:left;font-family:inherit;cursor:pointer;transition:transform var(--motion-press,.14s) var(--ease-out,ease)}.teacher-shell .student-attention-banner:active{transform:scale(.99)}.teacher-shell .student-attention-banner:focus-visible{outline:2px solid var(--t-accent);outline-offset:2px}.teacher-shell .student-attention-dot{width:7px;height:7px;background:var(--t-accent);box-shadow:none}.teacher-shell .student-attention-text{font-size:var(--t-sub);font-weight:600}.teacher-shell .student-attention-text b{color:var(--t-accent-ink);font-weight:800}.teacher-shell .student-attention-go{font-size:var(--t-cap);font-weight:700;color:var(--t-accent-ink)}.teacher-shell .student-dashboard-tools{display:flex;flex-direction:column;gap:10px;margin:0}.teacher-shell .student-search{width:100%;min-height:44px;border:1px solid var(--t-line-strong);border-radius:var(--t-r-btn);background:rgba(255,255,255,.06);color:var(--t-ink);padding:0 14px;font-family:inherit;font-size:14px;outline:none}.teacher-shell .student-search::placeholder{color:var(--t-faint)}.teacher-shell .student-search:focus-visible{outline:2px solid var(--t-accent);outline-offset:1px}.teacher-shell .student-filters{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.teacher-shell .student-filters::-webkit-scrollbar{display:none}@media (min-width:768px){.teacher-shell .student-dashboard-tools{flex-direction:row;align-items:center;justify-content:space-between}.teacher-shell .student-search{max-width:320px}}.teacher-shell .student-table-wrap{margin:0;border:1px solid var(--t-line);border-radius:var(--t-r-card);background:var(--t-surface);overflow:hidden}.teacher-shell .student-table{font-size:var(--t-sub)}.teacher-shell .student-table th{padding:11px 16px;border-bottom:1px solid var(--t-line);color:var(--t-muted);font-size:var(--t-cap);font-weight:700;letter-spacing:0}.teacher-shell .student-table td{color:var(--t-ink-2)}.teacher-shell .student-name{font-size:var(--t-body);font-weight:700;color:var(--t-ink)}.teacher-shell .student-fan{height:19px;margin-left:6px;padding:0 7px;font-size:10.5px;font-weight:800;vertical-align:middle}.teacher-shell .student-id{display:none}.teacher-shell .student-focus{color:var(--t-muted)}.teacher-shell .student-signal{height:26px;padding:0 10px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--t-ink-2);font-size:12px;font-weight:700;white-space:nowrap}.teacher-shell .student-signal.is-attention{background:var(--t-accent-soft);color:var(--t-accent-ink)}.teacher-shell .student-table tbody tr.is-selected{background:var(--t-accent-soft)!important}.teacher-shell .student-table tbody tr{transition:background-color var(--motion-small,.18s) var(--ease-out,ease)}@media (min-width:768px){.teacher-shell .student-table td{height:56px;padding:8px 16px;border-bottom:1px solid var(--t-line)}.teacher-shell .student-table tbody tr:hover:not(.is-selected){background:rgba(255,255,255,.03)}}.teacher-shell .student-dashboard-note{margin:0;font-size:var(--t-cap);color:var(--t-faint);line-height:1.55}.tw-scard{display:flex;align-items:center;gap:12px;width:100%;border:1px solid var(--t-line);border-radius:16px;background:var(--t-surface);padding:14px 15px;color:var(--t-ink);font-family:inherit;text-align:left;cursor:pointer;transition:background-color var(--motion-small,.18s) var(--ease-out,ease),transform var(--motion-press,.14s) var(--ease-out,ease)}.tw-scard:active{transform:scale(.99)}.tw-scard:focus-visible{outline:2px solid var(--t-accent);outline-offset:2px}.tw-scard-main{flex:1 1;min-width:0}.tw-scard-name{display:block;font-size:var(--t-h);font-weight:700;line-height:1.3}.tw-scard-name .student-fan{margin-left:6px}.tw-scard-meta{display:block;margin-top:4px;font-size:var(--t-sub);color:var(--t-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tw-scard-sig{display:block;margin-top:8px}.tw-scard-sig .student-signal{margin-top:0}.tw-sheet-bg{position:fixed;inset:0;z-index:55;display:flex;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:tw-fade var(--motion-surface,.24s) var(--ease-out,ease)}.tw-sheet{width:100%;max-width:520px;max-height:88%;display:flex;flex-direction:column;border:1px solid var(--t-line-strong);border-bottom:0;border-radius:24px 24px 0 0;background:var(--t-surface);color:var(--t-ink);box-shadow:var(--shadow-float,0 20px 56px rgba(0,0,0,.28));animation:tw-sheet-up var(--motion-surface,.24s) var(--ease-drawer,ease)}.tw-sheet-bar{display:flex;align-items:center;gap:10px;flex-shrink:0;padding:10px 14px 10px 18px;border-bottom:1px solid var(--t-line)}.tw-sheet-bar b{flex:1 1;min-width:0;font-size:var(--t-h);font-weight:700}.tw-sheet-body{flex:1 1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:14px 16px calc(20px + env(safe-area-inset-bottom))}@keyframes tw-sheet-up{0%{transform:translateY(12%);opacity:.6}to{transform:none;opacity:1}}@keyframes tw-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.tw-sheet,.tw-sheet-bg{animation:none}.teacher-shell .student-table tbody tr,.tw-scard{transition:none}}.teacher-shell .student-detail{border:1px solid var(--t-line-strong);border-radius:var(--t-r-card);background:var(--t-surface-2);padding:18px;color:var(--t-ink)}.teacher-shell .student-detail-name{font-size:var(--t-h);font-weight:700}.teacher-shell .student-detail-meta{font-size:var(--t-sub);color:var(--t-muted);margin-top:3px}.teacher-shell .student-detail-back{color:var(--t-accent-ink);font-size:var(--t-sub);font-weight:700}.teacher-shell .student-prep{margin-top:16px;border:1px solid var(--t-line);border-radius:16px;background:rgba(255,255,255,.03);padding:15px}.teacher-shell .student-prep-title{font-size:var(--t-cap);font-weight:700;letter-spacing:0;text-transform:none;color:var(--t-accent-ink)}.teacher-shell .student-prep-row{grid-template-columns:92px 1fr;margin-top:11px;font-size:var(--t-sub)}.teacher-shell .student-prep-row>span{color:var(--t-muted);font-weight:600}.teacher-shell .student-prep-row>b{color:var(--t-ink-2);font-weight:600}.teacher-shell .student-prep-row>b.is-focus{color:var(--t-accent-ink)}.teacher-shell .student-detail.is-blank,.teacher-shell .student-prep.is-empty{font-size:var(--t-sub);color:var(--t-muted);line-height:1.55}.teacher-shell .stud2-block{margin-top:16px;border-top:1px solid var(--t-line);padding-top:14px}.teacher-shell .stud2-title{font-size:var(--t-sub);font-weight:700;color:var(--t-ink);margin-bottom:10px}.teacher-shell .stud2-hint{font-size:var(--t-cap);font-weight:600;color:var(--t-muted);background:rgba(255,255,255,.07);padding:2px 8px}.teacher-shell .stud2-note{min-height:62px;border:1px solid var(--t-line-strong);border-radius:12px;background:rgba(255,255,255,.06);color:var(--t-ink);padding:11px 12px;font-size:14px;line-height:1.55}.teacher-shell .stud2-note::placeholder{color:var(--t-faint)}.teacher-shell .stud2-note:focus-visible{outline:2px solid var(--t-accent);outline-offset:1px}.teacher-shell .stud2-note-save{min-height:40px;border:1px solid var(--t-line-strong);border-radius:999px;background:transparent;color:var(--t-ink-2);font-size:13px;font-weight:700;padding:0 14px}.teacher-shell .stud2-goal,.teacher-shell .stud2-rep{gap:10px;padding:9px 0;border-bottom:1px solid var(--t-line)}.teacher-shell .stud2-check{width:22px;height:22px;border-radius:7px;border:1.5px solid var(--t-line-strong)}.teacher-shell .stud2-goal.is-done .stud2-check{background:var(--t-accent);border-color:var(--t-accent)}.teacher-shell .stud2-goal.is-done .stud2-goal-text{color:var(--t-faint)}.teacher-shell .stud2-goal-text{font-size:var(--t-sub);color:var(--t-ink-2)}.teacher-shell .stud2-goal-text em,.teacher-shell .stud2-rep-title em{color:var(--t-muted)}.teacher-shell .stud2-del{color:var(--t-faint);font-size:13px;padding:4px 6px}.teacher-shell .stud2-rep-status{min-height:26px;min-width:48px;font-size:var(--t-cap);font-weight:700}.teacher-shell .stud2-rep-status.is-explore{background:rgba(255,255,255,.08);color:var(--t-muted)}.teacher-shell .stud2-rep-status.is-practice{background:var(--t-accent-soft);color:var(--t-accent-ink)}.teacher-shell .stud2-rep-status.is-done{background:var(--t-accent);color:#fff}.teacher-shell .stud2-rep-title{font-size:var(--t-sub);font-weight:600;color:var(--t-ink-2)}.teacher-shell .stud2-input{min-height:40px;border:1px solid var(--t-line-strong);border-radius:11px;background:rgba(255,255,255,.06);color:var(--t-ink);font-size:13px}.teacher-shell .stud2-input::placeholder{color:var(--t-faint)}.teacher-shell .stud2-input:focus-visible{outline:2px solid var(--t-accent);outline-offset:1px}.teacher-shell .stud2-add{min-height:40px;border-radius:11px;background:rgba(255,255,255,.1);color:var(--t-ink-2);font-size:13px;font-weight:700}.teacher-shell .student-detail-actions{gap:8px;margin-top:16px}.teacher-shell .student-detail-actions button{flex:1 1;min-height:44px;border:1px solid var(--t-line-strong);border-radius:var(--t-r-btn);background:transparent;color:var(--t-ink);font-family:inherit;font-size:14px;font-weight:700;cursor:pointer}.teacher-shell .student-timeline-title{font-size:var(--t-sub);font-weight:700;color:var(--t-ink);margin:18px 0 2px}.teacher-shell .student-tl-item{padding:12px 0;border-bottom:1px solid var(--t-line)}.teacher-shell .student-tl-dot{background:var(--t-faint);box-shadow:0 0 0 3px var(--t-surface-2)}.teacher-shell .student-tl-item.is-assign .student-tl-dot{background:var(--t-accent)}.teacher-shell .student-tl-head>b{font-size:var(--t-sub);font-weight:700;color:var(--t-ink)}.teacher-shell .student-tl-badge,.teacher-shell .student-tl-head>span{font-size:var(--t-cap);color:var(--t-muted)}.teacher-shell .student-tl-badge{font-weight:700;background:rgba(255,255,255,.07);padding:3px 9px}.teacher-shell .student-tl-badge.is-attention{background:var(--t-accent-soft);color:var(--t-accent-ink)}.teacher-shell .student-tl-text{line-height:1.55}.teacher-shell .student-tl-empty,.teacher-shell .student-tl-text{font-size:var(--t-sub);color:var(--t-muted)}.teacher-shell .tw-sheet-body .student-detail{border:0;border-radius:0;background:none;padding:0}.teacher-shell .tw-sheet-body .student-tl-dot{box-shadow:0 0 0 3px var(--t-surface)}@media (min-width:768px){.teacher-shell .tw-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.tw-workspace{display:block}@media (min-width:1100px){.tw-workspace{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.9fr);grid-gap:20px;gap:20px;align-items:start}.tw-workspace>.tw-list-col{min-width:0;display:flex;flex-direction:column;gap:12px}.tw-workspace>.student-detail-col{position:-webkit-sticky;position:sticky;top:12px;min-width:0}}.teacher-shell{--t-accent-deep:#C4321B}.t-payout{background:linear-gradient(165deg,var(--t-accent) 0,var(--t-accent-ink) 100%);border-color:rgba(255,255,255,.18);color:#fff}.t-payout-label{font-size:var(--t-sub);font-weight:700;color:rgba(255,255,255,.9)}.t-payout-num{margin-top:6px;font-size:var(--t-display);font-weight:800;line-height:1.12;letter-spacing:-.8px}.t-payout-note{margin-top:6px;font-size:var(--t-cap);font-weight:600;line-height:1.5;color:rgba(255,255,255,.88)}.teacher-shell .t-payout-cta{margin-top:16px;background:#fff;color:var(--t-accent-deep)}.teacher-shell .t-payout-cta:disabled{background:rgba(255,255,255,.24);color:#fff;opacity:1}.t-earn-stats .t-stat-num{font-size:19px}.t-earn-stats .t-stat--money .t-stat-num{font-size:22px}.t-earn-stats .t-cap-text{font-weight:500;line-height:1.35}.t-earn-strong{color:var(--t-ink);font-weight:800}.t-earn-body{padding-bottom:8px}.t-earn-sticky{position:-webkit-sticky;position:sticky;bottom:0;z-index:6;margin:14px calc(var(--t-pad) * -1) 0;padding:10px var(--t-pad) 12px;background:linear-gradient(180deg,rgba(21,21,23,0) 0,var(--t-bg) 34%)}@media (min-width:768px){.t-earn-sticky{display:none}.t-earn-body{padding-bottom:32px}}.t-chart-headmain{min-width:0}.t-chart .t-card-sub.is-picked{color:var(--t-ink);font-weight:700}.t-chart-track{position:relative;display:flex;align-items:flex-end;gap:4px;margin-top:20px;padding-top:22px}.t-chart-track.is-week{gap:8px}.t-chart-track:after{content:"";position:absolute;left:0;right:0;bottom:22px;height:1px;background:var(--t-line-strong)}.t-chart-bar{position:relative;flex:1 1;min-width:0;padding:0;border:0;background:none;font-family:inherit;cursor:pointer;transition:transform var(--motion-press,.14s) var(--ease-out,ease)}.t-chart-bar:active{transform:scale(.98)}.t-chart-bar:focus-visible{outline:2px solid var(--t-accent);outline-offset:2px;border-radius:8px}.t-chart-col{display:flex;align-items:flex-end;height:76px}.t-chart-fill{display:block;width:100%;border-radius:6px;background:var(--t-accent);opacity:.82;transition:background-color var(--motion-small,.18s) var(--ease-out,ease),opacity var(--motion-small,.18s) var(--ease-out,ease)}.t-chart-bar.is-on .t-chart-fill{opacity:1;background:var(--t-ink)}.t-chart-x{display:block;height:16px;margin-top:6px;font-size:9.5px;font-weight:600;line-height:16px;color:var(--t-faint);text-align:center;white-space:nowrap;overflow:visible}.t-chart-track.is-week .t-chart-x{font-size:10.5px}.t-chart-bar.is-on .t-chart-x{color:var(--t-ink);font-weight:800}.t-chart-tip{position:absolute;top:0;left:50%;z-index:2;transform:translateX(-50%);padding:3px 8px;border-radius:8px;background:var(--t-ink);color:var(--t-bg);font-size:10.5px;font-weight:800;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--motion-small,.18s) var(--ease-out,ease)}.t-chart-bar:first-child .t-chart-tip{left:0;transform:none}.t-chart-bar:last-child .t-chart-tip{left:auto;right:0;transform:none}.t-chart-bar.is-on .t-chart-tip{opacity:1}@media (hover:hover) and (pointer:fine){.t-chart-bar:hover .t-chart-fill,.t-chart-bar:hover .t-chart-tip{opacity:1}}.t-chart-empty{margin-top:14px;text-align:center}.teacher-shell .t-modal{max-width:340px;background:var(--t-surface-2);border:1px solid var(--t-line-strong);color:var(--t-ink)}.teacher-shell .t-modal.is-tall{max-height:100%;overflow-y:auto}.teacher-shell .t-modal .t-card-sub{margin-top:6px}.t-field{display:block;margin-top:14px}.t-field-label{display:block;margin-bottom:6px;font-size:var(--t-cap);font-weight:700;color:var(--t-muted)}.t-input{width:100%;box-sizing:border-box;min-height:48px;padding:12px 13px;border:1px solid var(--t-line-strong);border-radius:12px;background:rgba(255,255,255,.06);color:var(--t-ink);font-family:inherit;font-size:14px;font-weight:600;line-height:1.5;outline:none}.t-input::placeholder{color:var(--t-faint);font-weight:500}.t-input:focus-visible{outline:2px solid var(--t-accent);outline-offset:1px}.t-input--area{min-height:84px;resize:none;font-weight:500}.t-form-err{margin-top:10px;font-size:var(--t-sub);line-height:1.5;color:var(--t-accent-ink)}.t-modal-actions{display:flex;gap:10px;margin-top:18px}.teacher-shell .t-modal-actions .t-btn{min-height:52px;font-size:var(--t-body)}@media (min-width:768px){.teacher-shell .t-modal-actions .t-btn{min-height:46px}}.t-assign-fill{margin-top:6px;padding-left:0}#phone[data-wide="1"] #screen>.t-lessons-wide.t-lessons-wide.t-lessons-wide.t-lessons-wide.t-lessons-wide{max-width:none;width:100%;margin:0}.t-lessons-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.t-lessons-kpis .t-stat-num{font-size:20px}@media (min-width:768px){.t-lessons-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.t-lessons-kpis .t-stat{padding:16px}.t-lessons-kpis .t-stat-num{font-size:22px}}.t-lessons-tools{display:flex;flex-direction:column;gap:9px;margin-top:18px}@media (min-width:768px){.t-lessons-tools{flex-direction:row;align-items:center;justify-content:space-between}}.t-lessons-note{margin-top:14px;line-height:1.6}.t-lesson-main{flex:1 1;min-width:0}.t-lesson-earn{flex-shrink:0;text-align:right}.t-lesson-earn-num{font-size:var(--t-h);font-weight:800;line-height:1.2;color:var(--t-accent-ink)}.t-lesson-badges{margin-top:11px}.t-lesson-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.t-btn--sm.is-accent{border-color:rgba(255,77,53,.32);background:var(--t-accent-soft);color:var(--t-accent-ink)}.t-btn--sm.is-quiet{border-color:var(--t-line);color:var(--t-muted)}.t-lesson-sum{margin-top:12px;padding:14px;border:1px solid var(--t-line);border-radius:14px;background:rgba(255,255,255,.03)}.t-lesson-sum-tags{margin-top:10px}.t-lesson-sum-row{display:grid;grid-template-columns:76px minmax(0,1fr);grid-gap:8px;gap:8px;margin-top:10px;font-size:12.5px}.t-lesson-sum-row>span{color:var(--t-muted);font-weight:700}.t-lesson-sum-row>b{color:var(--t-ink-2);font-weight:700;line-height:1.5}.t-lesson-sum-row>b.is-focus{color:var(--t-accent-ink)}.t-lesson-detail .t-lesson-sum{margin-top:15px}.t-store-url{margin-top:10px;font-size:var(--t-body);font-weight:700;line-height:1.4;color:var(--t-ink);word-break:break-all;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.t-store-actions{display:flex;gap:8px;margin:12px 0}.t-store-cta{margin-top:12px}.t-store-stats{display:flex;gap:10px}.t-store-stat{flex:1 1;min-width:0;padding:12px;border:1px solid var(--t-line);border-radius:14px;background:rgba(255,255,255,.03)}.t-store-stat b{display:block;font-size:20px;font-weight:800;line-height:1.15;letter-spacing:-.4px}.t-store-stat .t-cap-text{display:block;margin-top:4px;font-weight:500}.t-store-flow{margin-top:12px}.t-store-flow-line{font-size:var(--t-body);font-weight:600;line-height:1.45;color:var(--t-ink-2)}.t-store-flow-line b{font-weight:800;color:var(--t-ink)}.t-store-flow .t-cap-text{display:block;margin-top:3px;font-weight:500}.t-preview-frame{position:relative;height:520px;margin-top:14px;border:1px solid var(--t-line-strong);border-radius:28px;box-shadow:inset 0 0 0 4px rgba(0,0,0,.35)}.t-preview-frame,.t-preview-scale{overflow:hidden;background:var(--bg)}.t-preview-scale{width:calc(100% / .86);height:calc(100% / .86);transform:scale(.86);transform-origin:top left;color:var(--ink);font-size:14px;pointer-events:none}.t-preview-loading{display:grid;place-content:center;height:100%;color:var(--sub);font-size:13px}@media (min-width:768px){.t-preview-frame{height:620px;max-width:460px}}.t-badge-wrap{margin-top:12px;gap:7px}.t-live-controls.t-live-controls{gap:14px;row-gap:10px;margin-bottom:14px}.t-callbtn.t-callbtn{width:68px;text-align:center}.t-callbtn>button{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;transition:transform var(--motion-press,.14s) var(--ease-out,ease),background-color var(--motion-small,.18s) var(--ease-out,ease),box-shadow var(--motion-small,.18s) var(--ease-out,ease)}.t-callbtn>button:active:not(:disabled){transform:scale(.98)}.t-callbtn>button:disabled{opacity:.45;cursor:default}.t-callbtn>button:focus-visible{outline:2px solid var(--t-accent,#FF4D35);outline-offset:2px}.t-callbtn.is-off>button{background:var(--t-accent,#FF4D35)}.t-callbtn.lk-on>button{background:var(--t-accent-soft,rgba(255,77,53,.14));color:var(--t-accent-ink,#FF7A5C);box-shadow:0 0 0 2px var(--t-accent,#FF4D35)}.t-callbtn-label{margin-top:6px;font-size:11px;font-weight:700;line-height:1.3;color:var(--t-muted,#8e8e93)}.t-callbtn.is-off .t-callbtn-label,.t-callbtn.lk-on .t-callbtn-label{color:var(--t-accent-ink,#FF7A5C)}@media (max-width:480px){.t-live-controls.t-live-controls{gap:8px}.t-callbtn.t-callbtn{width:60px}}@media (hover:hover) and (pointer:fine){.t-callbtn>button:hover:not(:disabled){filter:brightness(1.08)}}@media (min-width:768px){.teacher-shell .teach-live-panel{background:var(--t-surface);border:1px solid var(--t-line-strong);color:var(--t-ink);box-shadow:none}.teacher-shell .teach-live-timecard{background:var(--t-surface-2);border:1px solid var(--t-line);color:var(--t-ink)}.teacher-shell .teach-live-kicker{letter-spacing:2px;color:var(--t-accent-ink)}.teacher-shell .teach-live-time{color:var(--t-ink)}.teacher-shell .teach-live-remain{color:var(--t-muted)}.teacher-shell .teach-live-remain.is-low{color:var(--t-accent-ink)}.teacher-shell .teach-live-studentcard{background:rgba(255,255,255,.045);border:1px solid var(--t-line)}.teacher-shell .teach-live-studentava{background:var(--t-accent-soft);color:var(--t-accent-ink)}.teacher-shell .teach-live-studentcard b{color:var(--t-ink)}.teacher-shell .teach-live-studentcard small{color:var(--t-muted)}.teacher-shell .teach-live-history{border-top-color:var(--t-line)}.teacher-shell .teach-live-historyrow{border-bottom-color:var(--t-line)}.teacher-shell .teach-live-historyrow:last-child{border-bottom:0}.teacher-shell .teach-live-historyrow span{color:var(--t-faint)}.teacher-shell .teach-live-historyrow b{color:var(--t-ink-2)}.teacher-shell .t-live-controls.t-live-controls{gap:14px;padding:16px 0 4px;margin-bottom:14px}.teacher-shell .teach-live-end{margin-top:6px}}@media (prefers-reduced-motion:reduce){.t-callbtn>button,.t-chart-bar,.t-chart-fill,.t-chart-tip{transition:none!important}.t-callbtn>button:active:not(:disabled),.t-chart-bar:active{transform:none}}@media (prefers-contrast:more){.t-lesson-sum,.t-preview-frame,.t-store-stat{border-color:var(--t-line-strong)}.t-chart-x{color:var(--t-ink-2)}}