.workspace-frame{min-width:0}.workspace-primary{min-width:0;container-type:inline-size;container-name:workspace-list}.workspace-frame.is-split{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(380px,1.1fr);align-items:start;gap:24px}.workspace-frame.has-wide-detail{grid-template-columns:minmax(280px,.8fr) minmax(400px,1.2fr)}.workspace-detail{min-width:0;position:sticky;top:20px;max-height:calc(100dvh - 128px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.workspace-detail[hidden],.detail-pane[hidden]{display:none}.detail-pane{min-width:0;color:var(--ink)}.detail-pane-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px 16px;background:var(--surface);border-bottom:1px solid var(--line)}.detail-pane-head>div{min-width:0}.detail-pane-head h2{font-size:18px;line-height:1.5;overflow-wrap:anywhere;outline:none}.detail-pane-back{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;min-height:32px;margin-bottom:3px}.detail-pane-back:hover{color:var(--accent)}.detail-pane-body{padding:20px;min-width:0;overflow-wrap:anywhere}.detail-pane-body>p{font-size:13px;color:var(--muted)}.detail-pane-body video{width:100%;border-radius:6px;background:#000}.detail-pane-body .form-actions{position:sticky;bottom:0;padding:14px 0;margin-bottom:-20px;background:var(--surface);border-top:1px solid var(--line);z-index:1}.detail-pane-body .button-row,.detail-pane-body .ops-line{flex-wrap:wrap}.detail-pane-body .ops-summary-grid,.detail-pane-body .ops-two-column{grid-template-columns:minmax(0,1fr)}.detail-pane-body .button.small,.detail-pane-head .icon-button{min-height:40px}.detail-pane-body .table-scroll,.detail-pane-body .ops-table-wrap{max-width:100%;overflow-x:auto}.workspace-primary>.panel+.panel{margin-top:24px}@container workspace-list (max-width: 680px){.page-heading,.dashboard-intro,.course-work-heading,.student-heading,.parent-heading{align-items:flex-start;flex-wrap:wrap}.page-heading h1{font-size:23px}.page-heading p{font-size:13px}.course-grid,.problem-grid,.video-grid,.community-grid,.settings-grid,.ops-card-grid,.ops-two-column,.ops-record-layout,.home-work-grid,.home-bottom-grid,.student-overview-grid,.student-profile-body,.parent-overview-grid,.course-work-layout{grid-template-columns:minmax(0,1fr)}.student-metrics,.parent-metrics,.home-stats,.course-work-tabs,.stats-grid,.stats-grid.three,.ops-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.home-shortcut-grid{grid-template-columns:minmax(0,1fr)}.filter-bar,.ops-toolbar{flex-wrap:wrap}.filter-bar .feature-search,.filter-bar select{min-width:0;max-width:100%}.filter-bar .search-local,.filter-bar .feature-search{flex:1 0 100%;max-width:none}.feature-row{flex-wrap:wrap}.student-heading,.parent-heading{gap:14px}.student-metrics strong,.parent-metrics strong{font-size:18px}.course-work-aside{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1050px){.workspace-frame.is-split{display:block}.workspace-frame.is-split>.workspace-primary{display:none}.workspace-detail{position:static;max-height:none;overflow:visible;scrollbar-gutter:auto}.detail-pane-head{top:0;padding:10px 16px 14px}.detail-pane-body{padding:16px}.detail-pane-body .form-actions{bottom:0;margin-bottom:-16px}.detail-pane-back,.detail-pane-head .icon-button,.detail-pane-body .button,.detail-pane-body .button.small{min-height:44px}}@media(max-width:760px){.app-shell:has(.bottom-nav) .detail-pane-body .form-actions{bottom:67px}}@media print{.workspace-frame.is-split{display:block}.workspace-frame.is-split>.workspace-primary{display:none}.workspace-detail{position:static;max-height:none;overflow:visible;border:0}.detail-pane-back,.detail-pane-head>.icon-button{display:none}}.ops-page{min-width:0}.ops-stack{display:grid;gap:18px}.ops-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.ops-card{display:flex;flex-direction:column;gap:12px;min-width:0}.ops-card h3,.ops-lesson h3{font-size:18px;line-height:1.5;overflow-wrap:anywhere}.ops-card-head,.ops-line,.ops-section-heading,.ops-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.ops-card-head{flex-wrap:wrap}.ops-section-heading{margin-bottom:18px}.ops-section-heading h2{font-size:20px}.ops-section-heading h3{font-size:16px}.ops-toolbar{margin:18px 0;flex-wrap:wrap}.ops-toolbar .field{flex:1;min-width:180px}.ops-caption,.ops-page small,.ops-summary-row small{color:var(--muted);font-size:12px}.ops-caption{line-height:1.7}.ops-pad{padding:16px 0}.ops-preline{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.ops-card-actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:14px;margin-top:auto;border-top:1px solid var(--line);align-items:center}.ops-feedback{padding:14px;background:var(--accent-soft);border-radius:7px;line-height:1.8;overflow-wrap:anywhere}.ops-feedback p{margin-top:7px}.ops-tabs{display:flex;gap:4px;background:var(--surface-alt);border:1px solid var(--line);border-radius:8px;padding:4px;width:fit-content;max-width:100%;overflow-x:auto;margin-bottom:20px}.ops-tabs button{background:transparent;border:0;padding:8px 14px;border-radius:5px;color:var(--muted);white-space:nowrap;font-weight:600}.ops-tabs button.active{color:var(--accent);background:var(--surface);box-shadow:0 1px 3px #00000012}.ops-toolbar .ops-tabs{margin:0}.ops-lesson{display:flex;align-items:flex-start;gap:22px}.ops-lesson .grow{min-width:0}.ops-lesson p{margin-top:7px}.ops-date-tile{flex-shrink:0;width:72px;text-align:center;border:1px solid var(--accent-line);border-radius:8px;padding:11px 5px;background:var(--accent-soft);color:var(--accent)}.ops-date-tile strong{font-size:28px;display:block}.ops-date-tile span{font-size:11px}.ops-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.ops-chips>span{display:flex;gap:6px;align-items:center}.ops-attendance-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}.ops-attendance-row select{width:140px;padding:10px;border:1px solid var(--line);color:var(--ink);background:var(--input-bg);border-radius:6px}.ops-icon-line{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;flex-wrap:wrap}.ops-bookings{display:grid;gap:10px}.ops-booking{border:1px solid var(--line);background:var(--surface-alt);border-radius:7px;padding:12px}.ops-booking p{margin:8px 0}.ops-record-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:22px;align-items:start}.ops-student-list{padding:8px;display:grid;gap:3px}.ops-student-list button{display:flex;gap:10px;align-items:center;width:100%;padding:12px;background:transparent;border:0;text-align:left;border-radius:6px}.ops-student-list button.selected{background:var(--accent-soft);color:var(--accent)}.ops-student-list button>span:nth-child(2){flex:1;min-width:0}.ops-student-list strong,.ops-student-list small{display:block}.ops-timeline{display:grid;gap:0}.ops-timeline article{padding:18px 0 18px 18px;border-left:2px solid var(--accent-line);border-bottom:1px solid var(--line)}.ops-timeline p{margin:10px 0}.ops-history-row{padding:15px 0;border-bottom:1px solid var(--line)}.ops-history-row small{display:block;margin:8px 0}.ops-response{padding:18px;border:1px solid var(--line);border-radius:8px;display:grid;gap:14px}.ops-response p{overflow-wrap:anywhere}.ops-question-builder{display:grid;gap:14px}.ops-question{padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface-alt);display:grid;gap:14px}.ops-table-wrap{overflow-x:auto;max-width:100%}.ops-table{border-collapse:collapse;width:100%;margin-top:14px;text-align:left;font-size:13px}.ops-table th{color:var(--muted);font-size:12px;font-weight:500;white-space:nowrap}.ops-table th,.ops-table td{padding:14px 12px;border-bottom:1px solid var(--line)}.ops-table td{min-width:85px}.ops-table td:first-child{min-width:160px}.ops-table strong{font-weight:600}.ops-table small{display:block;margin-top:5px}.ops-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:22px}.ops-metrics .panel{display:grid;gap:12px}.ops-metrics>.panel+.panel,.ops-two-column>.panel+.panel,.ops-card-grid>.panel+.panel{margin-top:0}.ops-metrics span{color:var(--muted);font-size:13px}.ops-metrics strong{font-size:26px;letter-spacing:-.8px}.ops-metrics small{font-size:14px;margin-left:4px}.ops-amount{font-size:30px}.ops-two-column{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:22px}.ops-two-column h3{margin-bottom:12px}.ops-two-column .progress{margin-top:7px}.ops-two-column .ops-stack{margin-top:20px}.grade-print-area>.panel{margin-bottom:22px}.grade-bars{display:flex;gap:14px;height:190px;padding-top:14px}.grade-bar-column{display:flex;flex-direction:column;align-items:center;flex:1;gap:6px;font-size:12px}.grade-bar-track{flex:1;width:100%;max-width:48px;display:flex;align-items:end;background:var(--surface-alt);border-radius:5px;overflow:hidden}.grade-bar-track i{display:block;width:100%;background:var(--accent);min-height:0;border-radius:5px 5px 0 0}.ops-loading{padding:40px;text-align:center}.ops-home-summary{margin-bottom:28px}.ops-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.ops-summary-row{display:flex;width:100%;align-items:center;gap:12px;background:transparent;text-align:left;border:0;border-top:1px solid var(--line);padding:15px 0}.ops-summary-row>svg{color:var(--accent);flex-shrink:0}.ops-summary-row>span:nth-child(2){flex:1;min-width:0}.ops-summary-row strong,.ops-summary-row small{display:block;overflow-wrap:anywhere}.ops-summary-row small{margin-top:5px}.ops-summary-links{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ops-summary-links button{display:grid;gap:6px;text-align:left;background:var(--surface-alt);border:1px solid var(--line);border-radius:7px;padding:16px}.ops-summary-links svg{color:var(--accent)}.ops-summary-links span{color:var(--muted);font-size:12px}@media(max-width:1000px){.ops-record-layout{grid-template-columns:190px minmax(0,1fr)}.ops-lesson{flex-wrap:wrap}.ops-lesson .button-row{margin-left:auto}}@media(max-width:700px){.ops-card-grid,.ops-record-layout,.ops-summary-grid,.ops-two-column{grid-template-columns:minmax(0,1fr)}.ops-summary-grid{gap:14px}.ops-student-list{max-height:230px;overflow-y:auto}.ops-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ops-metrics strong{font-size:23px}.ops-lesson{gap:12px}.ops-lesson .grow{flex-basis:calc(100% - 90px)}.ops-line,.ops-section-heading{flex-wrap:wrap;gap:10px}.ops-card-grid,.ops-page .page-heading{gap:14px}.ops-page .page-heading>button{width:100%;justify-content:center}.ops-tabs button{padding:8px 11px}.ops-table th,.ops-table td{padding:12px 8px}}@media print{:root,:root[data-theme=dark]{--ink: #111;--muted: #555;--line: #ccc;--surface: #fff;--surface-alt: #eee;--bg: #fff;--accent: #2456b6;color-scheme:light}.sidebar,.topbar,.bottom-nav,.page-footer,.no-print,.toast,dialog{display:none!important}.app-body,.main-content{margin:0!important;padding:0!important;width:100%!important;max-width:none!important}.grade-print-area .panel{break-inside:avoid;box-shadow:none}.ops-table-wrap{overflow:visible}.grade-bars,.progress{print-color-adjust:exact;-webkit-print-color-adjust:exact}@page{size:A4;margin:15mm}}.home-dashboard{display:flex;flex-direction:column;gap:24px;min-width:0}.home-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.home-heading h1{margin:4px 0 6px}.home-heading p{font-size:13px;color:var(--muted)}.home-heading .home-date{font-size:12px;color:var(--secondary)}.home-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.home-metric{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:16px 18px;min-width:0}.home-metric:hover{border-color:var(--accent)}.home-metric-label,.home-metric-note{display:flex;align-items:center;justify-content:space-between;gap:8px}.home-metric-label{font-size:13px;color:var(--secondary)}.home-metric-label svg{color:var(--muted)}.home-metric>strong{font-size:28px;font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums}.home-metric strong small{margin-left:5px;color:var(--muted);font-size:12px;font-weight:400}.home-metric-note{font-size:11px;color:var(--muted)}.home-metric-note svg{color:var(--accent)}.home-work-grid,.home-bottom-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px;align-items:start}.home-work-grid{align-items:start}.home-panel{border:1px solid var(--line);border-radius:8px;background:var(--surface);min-width:0;overflow:hidden}.home-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 20px 16px;border-bottom:1px solid var(--line)}.home-panel-heading p{color:var(--muted);font-size:11px;margin-bottom:2px}.home-panel-heading h2{font-size:16px}.home-more{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;color:var(--accent);font-size:12px;min-height:32px}.home-more:hover{text-decoration:underline}.home-list{padding:0 20px}.home-lesson,.home-task,.home-course,.home-notice{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:15px 0;border-bottom:1px solid var(--line)}.home-list>:last-child{border-bottom:0}.home-list>a:hover,.home-list>button:hover{background:var(--row-hover)}.home-list>a>svg:last-child,.home-notice>svg:last-child{color:var(--muted)}.home-row-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.home-row-text>strong{font-size:13px;line-height:1.5;overflow-wrap:anywhere}.home-row-text>small{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.home-lesson{min-height:101px}.home-lesson-time{width:56px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--surface-alt);border:1px solid var(--line);border-radius:6px;min-height:59px;font-variant-numeric:tabular-nums}.home-lesson-time small{font-size:11px;color:var(--muted)}.home-lesson-time strong{font-size:16px}.home-lesson-time.is-today{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.home-lesson-time.is-today small{color:var(--accent)}.home-task{padding:13px 0}.home-task-type{color:var(--accent);font-size:10px;font-weight:500}.home-list-note{font-size:11px;color:var(--muted);padding:10px 20px 14px}.home-empty{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:9px;min-height:180px;padding:24px 20px}.home-empty>svg{color:var(--muted)}.home-empty strong{font-size:13px}.home-empty p{font-size:12px;color:var(--muted);max-width:270px}.home-section-heading{display:flex;align-items:center;gap:12px;margin-bottom:12px}.home-section-heading h2{font-size:16px}.home-section-heading>span{color:var(--muted);font-size:11px}.home-shortcut-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden}.home-shortcut-group{padding:16px 18px 11px;min-width:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.home-shortcut-group:nth-child(3n){border-right:0}.home-shortcut-group:nth-last-child(-n+3){border-bottom:0}.home-shortcut-group h3{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:7px}.home-shortcut-group h3 svg{color:var(--accent)}.home-shortcut-group a{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;min-height:34px;color:var(--secondary);border-radius:4px;padding:4px 6px;margin:0 -6px}.home-shortcut-group a:hover{color:var(--accent);background:var(--accent-soft)}.home-shortcut-group a svg{color:var(--muted)}.home-course-icon{display:grid;place-items:center;width:35px;height:35px;background:var(--surface-alt);color:var(--secondary);border-radius:6px;flex-shrink:0}.home-notice strong .badge{margin-right:6px;vertical-align:middle}.home-checkin{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;border:1px solid var(--line);border-radius:8px}.home-checkin>div{display:flex;align-items:center;gap:14px}.home-checkin strong{display:flex;align-items:center;gap:6px;font-size:13px}.home-checkin span{font-size:12px;color:var(--muted)}@media(max-width:1100px){.home-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.home-work-grid{grid-template-columns:1fr}}@media(max-width:760px){.home-dashboard{gap:20px}.home-heading{align-items:flex-start;flex-direction:column;gap:12px}.home-heading h1{font-size:23px}.home-heading>.button{width:100%;min-height:44px}.home-heading p{font-size:12px}.home-metrics{gap:10px}.home-metric{padding:14px;gap:9px}.home-metric>strong{font-size:26px}.home-metric-note{font-size:10px}.home-panel-heading{padding:15px 16px 12px}.home-panel-heading h2{font-size:15px}.home-list{padding:0 16px}.home-more{min-height:44px}.home-shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-shortcut-group{padding:14px 15px 8px}.home-shortcut-group:nth-child(n){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.home-shortcut-group:nth-child(2n){border-right:0}.home-shortcut-group:last-child,.home-shortcut-group:nth-last-child(2):nth-child(odd){border-bottom:0}.home-shortcut-group a{min-height:44px}.home-checkin{padding:14px}.home-checkin>div{flex-direction:column;align-items:flex-start;gap:3px}.home-checkin .button{min-height:44px;font-size:12px;padding:10px}}.course-workspace{display:flex;flex-direction:column;gap:22px;min-width:0}.course-back{display:inline-flex;align-items:center;align-self:flex-start;gap:7px;min-height:32px;color:var(--muted);font-size:12px}.course-back:hover{color:var(--accent)}.course-work-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.course-work-heading>div{min-width:0}.course-heading-tags{display:flex;align-items:center;gap:6px;margin-bottom:6px}.course-work-heading h1{overflow-wrap:anywhere}.course-work-heading p{color:var(--muted);font-size:13px;margin-top:6px}.course-heading-meta{display:flex;flex-direction:column;gap:7px;flex-shrink:0;font-size:12px;color:var(--secondary)}.course-heading-meta span{display:flex;align-items:center;gap:7px}.course-heading-meta svg{color:var(--muted)}.course-work-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.course-work-tabs a{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:11px;min-width:0}.course-work-tabs a>span{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.course-work-tabs a>small{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px;gap:8px}.course-work-tabs a:hover{border-color:var(--accent)}.course-work-tabs a.is-active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.course-work-tabs a.is-active>small{color:var(--accent)}.course-work-layout{display:grid;grid-template-columns:minmax(0,1fr) 232px;gap:22px;align-items:start}.course-work-panel,.course-work-aside,.course-settings{border:1px solid var(--line);border-radius:8px;background:var(--surface);min-width:0}.course-work-panel{overflow:hidden}.course-work-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px;border-bottom:1px solid var(--line)}.course-work-panel-head h2{font-size:17px}.course-work-panel-head p{color:var(--muted);font-size:12px;margin-top:4px}.course-work-panel-head>div{min-width:0}.course-work-panel-head .button{flex-shrink:0}.course-work-list{padding:0 20px}.course-work-row{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:20px 0;border-bottom:1px solid var(--line)}.course-work-row:last-child{border-bottom:0}.course-work-row:hover{background:var(--row-hover)}.course-row-copy{display:flex;flex-direction:column;align-items:flex-start;gap:5px;flex:1;min-width:0}.course-row-copy>strong{font-size:14px;overflow-wrap:anywhere}.course-row-copy>small,.course-row-meta{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.course-row-copy strong .badge{margin-right:6px;vertical-align:middle}.course-row-action{display:flex;align-items:center;gap:4px;color:var(--accent);font-size:11px;flex-shrink:0}.course-row-icon{width:36px;height:36px;border-radius:6px;background:var(--surface-alt);color:var(--muted);display:grid;place-items:center;flex-shrink:0}.course-lesson-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:52px;min-height:60px;flex-shrink:0;border:1px solid var(--accent-line);border-radius:6px;background:var(--accent-soft);color:var(--accent)}.course-lesson-date small{font-size:11px}.course-lesson-date strong{font-size:23px;line-height:1.3;font-variant-numeric:tabular-nums}.course-work-empty{min-height:205px;padding:28px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px}.course-work-empty svg{color:var(--muted)}.course-work-empty strong{font-size:14px}.course-work-empty p{color:var(--muted);font-size:12px;max-width:310px}.course-panel-footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:center;min-height:49px;padding:12px;gap:7px;color:var(--accent);font-size:12px}.course-panel-footer:hover{background:var(--row-hover)}.course-past{border-top:1px solid var(--line)}.course-past>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);min-height:48px;padding:12px 20px}.course-past[open]>summary svg{transform:rotate(180deg)}.course-work-aside{padding:18px 14px 10px}.course-work-aside h2{font-size:13px;padding:0 6px 10px}.course-work-aside a{display:flex;align-items:center;gap:10px;padding:10px 6px;min-height:44px;border-radius:5px;font-size:12px;color:var(--secondary)}.course-work-aside a>span{flex:1}.course-work-aside a>svg{color:var(--muted)}.course-work-aside a:hover{background:var(--accent-soft);color:var(--accent)}.course-settings>summary{display:flex;align-items:center;gap:9px;padding:16px 20px;cursor:pointer;color:var(--secondary);font-size:13px;min-height:54px}.course-settings>summary span{flex:1}.course-settings[open]>summary{border-bottom:1px solid var(--line)}.course-settings[open]>summary>svg:last-child{transform:rotate(180deg)}.course-settings summary::-webkit-details-marker,.course-past summary::-webkit-details-marker{display:none}.course-settings summary:focus-visible,.course-past summary:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}.course-settings-body{padding:20px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.course-settings-body h2{font-size:14px;margin-bottom:8px}.course-settings-body p{color:var(--muted);font-size:12px}.course-settings-actions{display:flex;gap:8px;flex-wrap:wrap}.course-code{margin-top:14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px}.course-code code{font-size:14px}.course-code>small{color:var(--success);font-size:11px}@media(max-width:1100px){.course-work-layout{grid-template-columns:minmax(0,1fr)}.course-work-aside{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px}.course-work-aside h2{grid-column:1 / -1}.course-work-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.course-workspace{gap:18px}.course-back{min-height:44px}.course-work-heading{flex-direction:column;align-items:flex-start;gap:13px}.course-work-heading h1{font-size:23px}.course-heading-meta{gap:5px;font-size:11px}.course-work-tabs a{padding:14px 12px;gap:8px}.course-work-tabs a>span{gap:6px;font-size:12px}.course-work-tabs a>span svg{width:16px}.course-work-tabs a>small{font-size:11px}.course-work-panel-head{align-items:flex-start;padding:16px;flex-wrap:wrap}.course-work-panel-head h2{font-size:15px}.course-workspace .course-work-panel-head .button{min-height:44px}.course-work-list{padding:0 16px}.course-work-row{gap:10px;flex-wrap:wrap;padding:16px 0}.course-row-copy>strong{font-size:13px}.course-row-copy>small,.course-row-meta{font-size:11px}.course-row-action{width:100%;justify-content:flex-end;margin-top:2px}.course-work-aside{grid-template-columns:repeat(2,minmax(0,1fr))}.course-settings-body{flex-direction:column;padding:16px}.course-workspace .course-settings-actions .button,.course-workspace .course-code .button{min-height:44px}}.student-workspace{display:flex;flex-direction:column;gap:18px;min-width:0}.student-back{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;min-height:32px;color:var(--muted);font-size:12px}.student-back:hover{color:var(--accent)}.student-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.student-identity{display:flex;align-items:center;gap:14px;min-width:0}.student-avatar{width:54px;height:54px;flex-shrink:0;display:grid;place-items:center;border-radius:8px;color:var(--accent);background:var(--accent-soft);font-size:18px;font-weight:600}.student-kicker{font-size:11px;color:var(--muted);margin-bottom:3px}.student-identity h1{font-size:25px;overflow-wrap:anywhere}.student-identity h1+p{color:var(--muted);font-size:12px;margin-top:5px}.student-course-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.student-course-links>a,.student-course-links>span:not(.badge){display:inline-flex;align-items:center;gap:8px;color:var(--secondary);border:1px solid var(--line);background:var(--surface);border-radius:6px;min-height:32px;padding:6px 10px;font-size:12px}.student-course-links>a:hover{color:var(--accent);border-color:var(--accent)}.student-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.student-metrics>a{display:flex;flex-direction:column;gap:9px;padding:17px;border:1px solid var(--line);border-radius:8px;background:var(--surface);min-width:0}.student-metrics>a:hover{border-color:var(--accent);background:var(--accent-soft)}.student-metrics>a>span{display:flex;align-items:center;gap:7px;color:var(--secondary);font-size:12px}.student-metrics>a>span>svg:last-child{margin-left:auto;color:var(--muted)}.student-metrics strong{font-size:21px;font-variant-numeric:tabular-nums;letter-spacing:-.5px}.student-metrics small{font-size:11px;line-height:1.6;color:var(--muted)}.student-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.student-panel{border:1px solid var(--line);border-radius:8px;background:var(--surface);min-width:0;scroll-margin-top:90px;overflow:hidden}.student-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px;border-bottom:1px solid var(--line)}.student-panel-head h2{display:flex;align-items:center;gap:8px;font-size:16px}.student-panel-head h2 svg{color:var(--muted)}.student-panel-head p{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.6}.student-panel-head .button{flex-shrink:0}.student-panel-body{padding:0 18px 14px}.student-counts{display:flex;align-items:center;flex-wrap:wrap;gap:9px 18px;padding:14px 0;font-size:12px;color:var(--muted)}.student-counts strong{color:var(--ink);margin-left:3px}.student-next{display:flex;flex-direction:column;gap:7px;background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:6px;padding:12px;margin:14px 0 4px;font-size:13px}.student-counts+.student-next{margin-top:0}.student-next>small{font-size:11px;color:var(--muted)}.student-next>strong{overflow-wrap:anywhere}.student-record-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.student-record-row:last-child{border-bottom:0}.student-record-row:hover{color:var(--accent)}.student-record-row>div{display:flex;flex-direction:column;gap:5px;min-width:0}.student-record-row strong{font-size:13px;overflow-wrap:anywhere}.student-record-row small{font-size:11px;color:var(--muted);line-height:1.6;overflow-wrap:anywhere}.student-record-row>.badge{flex-shrink:0}.student-record-row .student-attention{color:var(--warning)}.student-record-row .student-score{color:var(--accent);font-size:23px;white-space:nowrap;font-variant-numeric:tabular-nums}.student-score>small{font-size:12px;margin-left:3px}.student-caption{font-size:11px;color:var(--muted);line-height:1.7;margin-top:10px}.student-blank{color:var(--muted);font-size:12px;line-height:1.8;padding:26px 6px;text-align:center}.student-blank .button{margin-top:12px}.student-more{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;padding:10px;color:var(--accent);font-size:12px}.student-more:hover{background:var(--row-hover)}.student-more .expanded,.student-profile[open]>summary>svg:last-child,.student-bookings[open]>summary>svg{transform:rotate(180deg)}.student-row-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.student-row-top small{font-size:11px;color:var(--muted)}.student-note{display:flex;flex-direction:column;gap:10px;text-align:left;width:100%;border-bottom:1px solid var(--line);padding:15px 0}.student-note:hover{background:var(--row-hover)}.student-note-preview{font-size:13px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.student-read-more{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--accent)}.student-subsection{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.student-subsection h3,.student-profile h3{font-size:13px}.student-subsection h3 span{color:var(--muted);font-weight:400;margin-left:5px}.student-bookings{margin-top:10px}.student-bookings>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;cursor:pointer;font-size:12px;color:var(--secondary)}.student-booking{padding:12px 0;border-top:1px solid var(--line)}.student-booking strong{font-size:13px;overflow-wrap:anywhere}.student-booking>small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.student-booking p,.student-profile-memo,.student-full-note{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:13px;margin-top:10px}.student-profile{border:1px solid var(--line);border-radius:8px;background:var(--surface);min-width:0}.student-profile>summary{display:flex;align-items:center;gap:9px;padding:17px 18px;cursor:pointer;font-size:13px;color:var(--secondary);min-height:54px}.student-profile>summary>span{flex:1}.student-profile summary::-webkit-details-marker,.student-bookings summary::-webkit-details-marker{display:none}.student-profile summary:focus-visible,.student-bookings summary:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}.student-profile-body{border-top:1px solid var(--line);padding:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.student-profile-body>section{min-width:0}.student-profile-body h2{font-size:15px}.student-info{display:grid;grid-template-columns:80px minmax(0,1fr);gap:10px;font-size:12px;margin:20px 0}.student-info dt{color:var(--muted)}.student-info dd{margin:0;overflow-wrap:anywhere}.student-profile-memo{color:var(--secondary);margin-bottom:22px}.student-enrollment{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.student-enrollment>span:first-child{overflow-wrap:anywhere}.student-enrollment .action-wrap{flex-shrink:0}.student-record-link{display:flex;align-items:center;gap:8px;min-height:44px;color:var(--accent);font-size:12px;margin-top:10px}@media(max-width:1100px){.student-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.student-heading{align-items:flex-start;flex-direction:column;gap:16px}.student-identity h1{font-size:23px}.student-avatar{width:48px;height:48px}.student-workspace .student-back,.student-workspace .button,.student-workspace .button.small,.student-workspace .student-course-links>a{min-height:44px}.student-metrics{gap:10px}.student-metrics>a{padding:14px 12px}.student-metrics strong{font-size:18px}.student-overview-grid,.student-profile-body{grid-template-columns:minmax(0,1fr)}.student-panel-head{padding:16px;flex-wrap:wrap}.student-panel-body{padding:0 16px 14px}.student-record-row{gap:10px}.student-record-row .badge{font-size:10px}.student-course-links{gap:6px}}@font-face{font-family:Pretendard Variable;src:url(/fonts/PretendardVariable.woff2) format("woff2");font-weight:45 920;font-style:normal;font-display:swap}:root{font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;font-weight:400;font-size:14px;color:var(--ink);background:var(--bg);color-scheme:light;--bg: #f7f8fa;--surface: #ffffff;--surface-alt: #f3f4f6;--input-bg: #ffffff;--line: #e5e7eb;--ink: #202124;--secondary: #4b5563;--muted: #6b7280;--accent: #2563eb;--primary: #2563eb;--primary-hover: #1d4ed8;--on-primary: #ffffff;--accent-soft: #eff6ff;--accent-line: #dbeafe;--focus: #60a5fa;--success: #15803d;--success-soft: #f0fdf4;--warning: #a16207;--warning-soft: #fffbeb;--danger: #b91c1c;--danger-soft: #fef2f2;--violet: #6d28d9;--violet-soft: #f5f3ff;--row-hover: #f8faff;--scrim: rgb(0 0 0 / .45);--toast-bg: #202124;--toast-fg: #ffffff;--shadow: 0 16px 56px rgb(0 0 0 / .18)}:root[data-theme=dark]{color-scheme:dark;--bg: #111111;--surface: #1a1a1a;--surface-alt: #232323;--input-bg: #242424;--line: #2a2a2a;--ink: #f1f1f1;--secondary: #d1d1d6;--muted: #a1a1aa;--accent: #60a5fa;--accent-soft: #16263e;--accent-line: #274368;--success: #6ee7b7;--success-soft: #112e24;--warning: #fcd34d;--warning-soft: #33260f;--danger: #fca5a5;--danger-soft: #361c1c;--violet: #c4b5fd;--violet-soft: #272052;--row-hover: #20242a;--toast-bg: #eeeeee;--toast-fg: #181818;--shadow: 0 16px 56px rgb(0 0 0 / .4)}*{box-sizing:border-box}body{margin:0;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:26px;letter-spacing:-.8px;font-weight:700;line-height:1.45}h2{font-size:17px;letter-spacing:-.45px;font-weight:600}h3{font-size:15px;line-height:1.55;font-weight:600;letter-spacing:-.35px}p{line-height:1.8}small{font-size:13px}button svg,a svg{flex-shrink:0}button{border:0;background:transparent}input,textarea,select{color:var(--ink);background:var(--input-bg);border:1px solid var(--line);border-radius:6px;min-height:42px;padding:10px 12px;max-width:100%}input::placeholder,textarea::placeholder{color:var(--muted)}textarea{resize:vertical;line-height:1.7}select{padding-right:30px}strong{font-weight:600}code{font-family:ui-monospace,SFMono-Regular,monospace;letter-spacing:1px}::selection{background:var(--accent-soft);color:var(--accent)}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:224px;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:30}.sidebar-brand{padding:21px 24px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.brand{display:flex;align-items:center;gap:9px;font-size:23px;font-weight:800;letter-spacing:-1px;white-space:nowrap;color:var(--accent)}.brand-mark{background:transparent;color:var(--accent);border-radius:0;width:27px;height:32px;display:grid;place-items:center;box-shadow:none}.workspace-picker{position:relative;display:flex;align-items:center;gap:9px;margin:0 16px 14px;padding:12px 10px;background:var(--surface-alt);border:1px solid var(--line);border-radius:8px;flex-shrink:0}.workspace-picker strong{display:block;font-size:12px;max-width:136px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.workspace-picker small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.workspace-picker>svg{margin-left:auto;color:var(--muted)}.workspace-picker select{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.workspace-avatar{flex-shrink:0;display:grid;place-items:center;width:29px;height:31px;border-radius:7px;background:var(--accent-soft);color:var(--accent);font-size:13px;font-weight:700}.side-nav{padding:0 13px 12px;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex:1}.side-nav a{display:flex;align-items:center;gap:11px;color:var(--muted);padding:9px 11px;border-radius:6px;font-size:14px;margin:1px 0;line-height:1.6}.side-nav a svg{stroke-width:1.6;flex-shrink:0}.side-nav a:hover{background:var(--surface-alt)}.side-nav a.active{color:var(--accent);font-weight:600;background:var(--accent-soft)}.side-nav a.active svg{stroke-width:2}.side-nav-overview{padding-bottom:10px;margin-bottom:9px;border-bottom:1px solid var(--line)}.side-nav-groups{display:grid;gap:4px}.side-nav-group h2{margin:0;font-size:inherit}.side-nav-group-toggle{display:flex;align-items:center;gap:10px;width:100%;min-height:39px;padding:9px 11px;border-radius:6px;color:var(--secondary);font-size:13px;font-weight:600;text-align:left}.side-nav-group-toggle>svg{flex-shrink:0;color:var(--muted)}.side-nav-group-toggle:hover,.side-nav-group-toggle[aria-expanded=true]{background:var(--surface-alt)}.side-nav-group-toggle.is-current,.side-nav-group-toggle.is-current>svg{color:var(--accent)}.side-nav-group-toggle .side-nav-chevron{margin-left:auto;transform:rotate(-90deg);transition:transform .16s ease}.side-nav-group-toggle[aria-expanded=true] .side-nav-chevron{transform:rotate(0)}.side-nav-group-links{position:relative;padding:4px 0 5px 12px}.side-nav-group-links:before{content:"";position:absolute;inset:9px auto 10px 18px;width:1px;background:var(--line)}.side-nav-group-links .side-nav-item{position:relative;gap:8px;padding:8px 9px 8px 16px;font-size:13px;line-height:1.5}.side-nav-group-links .side-nav-item>svg{width:15px;height:15px}.nav-count{font-size:11px;margin-left:auto;border-radius:5px;background:var(--accent-line);padding:1px 6px;font-weight:500}.sidebar-footer{padding:9px 17px 14px;border-top:1px solid var(--line);flex-shrink:0}.sidebar-settings{display:flex;align-items:center;gap:9px;padding:10px 8px;border-radius:6px;font-size:13px;color:var(--muted)}.sidebar-settings:hover{background:var(--surface-alt)}.sidebar-settings.active{color:var(--accent);background:var(--accent-soft)}.sidebar-user{display:flex;align-items:center;gap:9px;padding-top:12px;margin-top:8px;border-top:1px solid var(--line)}.sidebar-user strong{font-size:13px}.sidebar-user small{display:block;font-size:11px;margin-top:3px;color:var(--muted)}.sidebar-user .icon-button{margin-left:auto}.app-body{margin-left:224px;width:calc(100% - 224px)}.topbar{height:64px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;gap:12px}.breadcrumbs{display:flex;align-items:center;gap:13px;font-size:13px;color:var(--muted)}.breadcrumbs strong{color:var(--ink);font-weight:500}.breadcrumbs>svg{color:var(--muted)}.topbar-right{display:flex;align-items:center;gap:14px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--muted);border-radius:7px}.icon-button:hover{background:var(--surface-alt)}.top-avatar{width:32px!important;height:32px!important;font-size:11px!important}.demo-switch{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);padding:7px 10px;background:var(--surface-alt);border:1px solid var(--line);border-radius:6px;min-height:32px}.demo-switch>span{width:5px;height:5px;border-radius:50%;background:var(--accent)}.notification-button{position:relative}.notification-button i{position:absolute;right:7px;top:4px;width:5px;height:5px;background:var(--danger);border-radius:50%;border:1px solid var(--line);border-color:var(--surface)}.main-content{max-width:1320px;margin:auto;padding:32px 32px 0}.page-heading,.dashboard-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{font-size:11px;letter-spacing:.6px;color:var(--muted);font-weight:600;margin-bottom:9px}.dashboard-intro .eyebrow{letter-spacing:.2px}.page-heading p,.dashboard-intro p{font-size:14px;color:var(--muted);margin-top:7px}.dashboard-intro h1{display:flex;align-items:center;gap:11px}.button{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:6px;min-height:40px;padding:10px 16px;font-size:13px;font-weight:500;white-space:nowrap;transition:background .15s,border-color .15s}.button.primary{background:var(--primary);color:var(--on-primary);box-shadow:none}.button.primary:hover{background:var(--primary-hover)}.button.secondary{border-color:var(--line);background:var(--surface);color:var(--ink)}.button.secondary:hover{background:var(--surface-alt)}.button.small{padding:6px 11px;min-height:32px;font-size:12px}.button.full{width:100%}.button-row{display:flex;gap:7px}.text-button{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);padding:3px 0}.text-button:hover{color:var(--accent)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.stats-grid.three{grid-template-columns:repeat(3,1fr)}.stat-card{text-align:left;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:20px;transition:border-color .15s}.stat-card:hover{transform:none;box-shadow:none;border-color:var(--accent)}.stat-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px}.stat-top svg{color:var(--accent);stroke-width:1.7}.stat-card>strong{display:block;font-size:30px;letter-spacing:-.7px;font-weight:600;line-height:1.5;margin:8px 0 10px;font-variant-numeric:tabular-nums}.stat-card strong small{font-size:13px;letter-spacing:0;color:var(--muted);font-weight:400;margin-left:5px}.stat-bottom{display:flex;align-items:center;justify-content:space-between;gap:3px;color:var(--muted);font-size:11px}.stat-bottom svg{color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px}.dashboard-main{min-width:0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.dashboard-aside{display:flex;flex-direction:column;gap:21px}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.course-card{display:block;text-align:left;min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden;padding:0;transition:border-color .15s,background .15s}.course-card:hover{transform:none;border-color:var(--accent)}.course-art{position:relative;height:58px;padding:16px;background:var(--surface-alt);overflow:hidden;display:flex;justify-content:flex-start;align-items:center;gap:8px;border-bottom:1px solid var(--line)}.course-art>svg{color:var(--accent);width:20px}.course-tag{font-size:12px;z-index:2;background:none;color:var(--accent);border-radius:4px;padding:0;font-weight:600}.course-body{padding:18px 16px 14px}.course-body h3{font-size:14px;font-weight:600;margin-bottom:7px}.course-body>p{font-size:12px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.course-body>div{font-size:12px;color:var(--muted);margin-top:18px;min-height:26px}.course-body span{display:flex;align-items:center;gap:5px}.course-body footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:11px;color:var(--muted);font-size:12px;margin-top:9px}.course-body footer>svg{color:var(--muted)}.panel{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:24px}.tasks-panel{margin-top:28px}.tasks-panel .section-title{margin-bottom:5px}.task-row{width:100%;padding:17px 0;display:flex;gap:11px;align-items:center;text-align:left;border-bottom:1px solid var(--line)}.task-row:last-child{border-bottom:0;padding-bottom:0}.task-row>svg:last-child{color:var(--muted)}.avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:37px;height:37px;border-radius:50%;font-size:13px;font-weight:500}.mint{background:var(--accent-soft);color:var(--accent)}.lavender{background:var(--violet-soft);color:var(--violet)}.peach{background:var(--warning-soft);color:var(--warning)}.grow{flex:1;min-width:0}.task-row .grow>strong{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink);font-weight:500}.task-row .grow>small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.badge{display:inline-flex;align-items:center;white-space:nowrap;border-radius:4px;padding:2px 7px;font-size:11px;background:var(--surface-alt);color:var(--muted);line-height:1.7;font-weight:500}.badge.green{background:var(--success-soft);color:var(--success)}.badge.orange{background:var(--warning-soft);color:var(--warning)}.badge.blue{background:var(--accent-soft);color:var(--accent)}.focus-card{padding:24px;background:var(--surface);border-radius:8px;position:relative;overflow:hidden;min-height:unset;border:1px solid var(--line)}.focus-icon{display:block;color:var(--accent);margin-bottom:17px}.focus-card .eyebrow{font-size:10px;letter-spacing:.5px;color:var(--muted)}.focus-card h2{font-size:20px;line-height:1.5;letter-spacing:-.8px;color:var(--ink);font-weight:600}.focus-card p{font-size:13px;line-height:1.8;color:var(--muted);margin-top:10px;max-width:none}.focus-link{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:500;color:var(--accent);margin-top:20px;position:relative;z-index:2}.quick-panel{padding:21px 19px}.quick-panel h2{font-size:16px}.quick-panel .section-title{margin-bottom:10px}.quick-panel>button{display:flex;align-items:center;width:100%;gap:10px;padding:12px 0;font-size:13px;color:var(--muted);border-bottom:1px solid var(--line);min-height:44px}.quick-panel>button:last-child{border-bottom:none;padding-bottom:1px}.quick-panel>button>span{color:var(--ink);flex:1;text-align:left}.quick-panel svg{stroke-width:1.5}.help-note{display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-size:11px;padding:0 8px;line-height:1.8}.help-note svg{color:var(--muted);flex-shrink:0}.page-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:38px;padding:21px 0 22px;font-size:11px;color:var(--muted)}.filter-bar{display:flex;align-items:center;gap:12px;margin-bottom:20px}.search-local{display:flex;align-items:center;gap:8px;background:var(--input-bg);border:1px solid var(--line);padding:0 12px;border-radius:6px;max-width:310px;flex:1}.search-local svg{color:var(--muted)}.search-local input{border:none;min-width:0;flex:1;width:100%;padding:10px 0;font-size:13px;background:none;min-height:39px}.filter-bar select{font-size:13px;max-width:200px;min-height:41px;border-color:var(--line)}.table-panel{padding:0;overflow:hidden}.table-summary{padding:20px 23px;font-size:13px;color:var(--muted);border-bottom:1px solid var(--line)}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{font-weight:500;color:var(--muted);background:var(--surface-alt);padding:13px 23px;white-space:nowrap}td{padding:18px 23px;border-top:1px solid var(--line);color:var(--secondary);line-height:1.8}td strong{color:var(--ink)}.person-cell{display:flex;align-items:center;gap:11px;white-space:nowrap}.person-cell .avatar{width:33px;height:33px;font-size:11px}.content-list{padding:0 24px}.content-row{width:100%;display:flex;align-items:center;text-align:left;padding:23px 0;gap:17px;border-bottom:1px solid var(--line)}.content-row:last-child{border-bottom:0}.file-symbol{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:49px;height:56px;border-radius:8px}.inline-labels{display:flex;align-items:center;gap:9px;margin-bottom:7px}.inline-labels small{font-size:11px;color:var(--muted)}.content-row h3{font-size:15px;margin-bottom:5px}.content-row p{font-size:13px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.content-row>svg{color:var(--muted)}.row-date{font-size:11px;color:var(--muted);white-space:nowrap}.empty{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:45px 18px;gap:9px;min-height:180px}.empty-icon{background:var(--surface-alt);color:var(--muted);width:52px;height:52px;display:grid;place-items:center;border-radius:50%;margin-bottom:4px}.empty h3{font-size:15px;color:var(--ink)}.empty p{font-size:13px;color:var(--muted);max-width:380px;word-break:keep-all}.empty .button{margin-top:9px}.page-tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin-bottom:20px}.page-tabs button{padding:0 0 13px;font-size:13px;color:var(--muted);border-bottom:2px solid transparent;display:flex;gap:7px;align-items:center}.page-tabs button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.page-tabs button span{font-size:11px;border-radius:4px;background:var(--surface-alt);padding:2px 6px}.question-row{display:block;width:100%;text-align:left;padding:17px 0 20px;border-bottom:1px solid var(--line)}.question-row:first-child{padding-top:0}.question-row:last-child{border-bottom:0;padding-bottom:0}.question-top{display:flex;align-items:center;gap:9px;margin-bottom:11px}.question-top small{font-size:11px;color:var(--muted)}.push-right{margin-left:auto}.question-row h3{font-size:14px;margin-bottom:6px}.question-row>p{color:var(--muted);font-size:13px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.question-footer{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:12px}.problem-grid,.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}.problem-card{padding:24px}.problem-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.problem-card>small{color:var(--muted);font-size:11px}.problem-card h3{margin-top:6px}.problem-card>p{font-size:13px;color:var(--muted);margin-top:7px}.problem-card .button{margin-top:25px;justify-content:space-between}.results-panel{margin-top:26px}.score{font-size:22px;color:var(--accent)}.score small{margin-left:4px;font-size:13px;color:var(--muted)}.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.video-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden;padding:0;text-align:left}.video-cover{height:170px;background:var(--surface-alt);display:grid;place-items:center;position:relative;color:var(--accent)}.video-cover span{position:absolute;bottom:10px;right:10px;font-size:11px;background:var(--scrim);color:var(--on-primary);padding:3px 6px;border-radius:5px}.video-card>div:last-child{padding:18px}.video-card h3{margin:10px 0}.video-card small{font-size:11px;color:var(--muted)}.community-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.post-card{text-align:left;display:flex;flex-direction:column;align-items:flex-start}.post-card h3{margin:15px 0 9px}.post-card>p{color:var(--muted);font-size:13px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:23px}.post-card footer{margin-top:auto;border-top:1px solid var(--line);padding-top:17px;width:100%;display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.post-card footer>span:last-child{display:flex;gap:5px;align-items:center}.post-card footer>span svg:nth-child(2){margin-left:7px}.connection-card{display:flex;align-items:center;gap:20px;padding:27px;background:var(--accent-soft);border:1px solid var(--line);border-radius:8px;margin-bottom:22px;color:var(--accent);border-color:var(--accent-line)}.connection-card p{font-size:13px;color:var(--muted);margin-top:5px}.connection-card code{margin-left:auto;background:var(--surface);padding:12px 16px;border-radius:8px;font-size:17px;color:var(--accent)}.family-row{display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding:18px 0}.family-row:first-child{padding-top:0}.family-row:last-child{padding-bottom:0;border-bottom:0}.family-row p{font-size:13px;color:var(--muted)}.notification-row{display:flex;align-items:center;gap:14px;text-align:left;width:100%;padding:20px 0;border-bottom:1px solid var(--line)}.notification-row:last-child{border:0}.notification-row strong{font-size:13px;color:var(--ink)}.notification-row.unread strong{color:var(--ink)}.notification-row p{font-size:13px;color:var(--muted);margin-top:5px}.notification-row small{display:block;font-size:11px;color:var(--muted);margin-top:8px}.notification-row>svg{color:var(--muted)}.unread-dot{width:6px;height:6px;border-radius:50%;background:var(--primary)}.attendance .section-title h2{font-size:14px}.attendance-days{display:flex;justify-content:space-between;gap:3px}.attendance-days>span{width:23px;height:23px;border:1px dashed var(--line);border-radius:50%;font-size:11px;display:grid;place-items:center;color:var(--muted)}.attendance-days>span.checked{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.attendance>p{font-size:13px;color:var(--muted);margin:18px 0 13px}.attendance>small{display:block;text-align:center;font-size:11px;color:var(--muted);margin-top:10px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start}.guide-step{display:flex;align-items:flex-start;gap:14px;margin:26px 0}.guide-step>b{border-radius:50%;background:var(--accent-soft);color:var(--accent);width:25px;height:25px;display:grid;place-items:center;flex-shrink:0;font-size:13px}.guide-step h3{font-size:13px}.guide-step p{font-size:13px;color:var(--muted);margin-top:5px}.soft-note{padding:18px;background:var(--surface-alt);border-radius:8px;color:var(--muted);font-size:13px;line-height:1.8;display:flex;gap:10px;align-items:center;margin:16px 0}.soft-note svg{flex-shrink:0}.fine-print{font-size:11px;color:var(--muted);margin-top:20px}.billing-notice{display:flex;align-items:center;gap:14px;background:var(--accent-soft);border-radius:8px;padding:18px 22px;margin-bottom:24px;color:var(--secondary)}.billing-notice strong{font-size:13px;color:var(--ink)}.billing-notice p{font-size:13px;margin-top:4px}.plan-card{padding:27px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.plan-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.plan-card .section-title{margin-bottom:9px}.plan-card>p{font-size:13px;color:var(--muted)}.plan-price{display:block;font-size:29px;letter-spacing:-1px;font-weight:700;margin:24px 0}.plan-price small{font-size:11px;color:var(--muted);letter-spacing:0;font-weight:400;margin-left:6px}.plan-card ul{list-style:none;padding:20px 0;margin:0 0 15px;border-top:1px solid var(--line)}.plan-card li{display:flex;gap:9px;align-items:center;font-size:13px;color:var(--muted);padding:8px 0}.plan-card li svg{color:var(--accent)}.usage-panel{margin-top:27px}.usage-label{display:flex;justify-content:space-between;font-size:13px;margin:23px 0 13px}.usage-label span{color:var(--muted)}.progress{height:7px;border-radius:7px;background:var(--surface-alt);overflow:hidden}.progress i{display:block;height:100%;background:var(--primary)}.usage-panel>p{font-size:11px;color:var(--muted);margin-top:15px}.code-panel{margin-top:27px}.code-row{display:flex;align-items:center;gap:17px;padding:15px 0;border-top:1px solid var(--line)}.code-row>div{flex:1}.code-row strong{font-size:13px}.code-row small{display:block;font-size:11px;color:var(--muted);margin-top:6px}.code-row code{font-size:13px;color:var(--accent);background:var(--accent-soft);border-radius:5px;padding:7px 10px}.refreshing{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:5px;margin-bottom:10px}.loading-screen{height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:28px}.loading-screen p{color:var(--muted);font-size:13px}.loading-line{width:110px;height:3px;background:var(--primary);border-radius:8px;animation:pulse 1.5s infinite}.spin{animation:spin 1s linear infinite}.error{color:var(--danger)!important;font-size:13px;padding:13px;background:var(--danger-soft);border-radius:7px;line-height:1.8;margin:12px 0}.toast{position:fixed;bottom:26px;left:calc(50% + 112px);transform:translate(-50%);display:flex;align-items:center;gap:9px;padding:15px 22px;border-radius:8px;background:var(--toast-bg);color:var(--toast-fg);z-index:100;box-shadow:var(--shadow);font-size:13px;max-width:90vw}.toast svg{flex-shrink:0}.mobile-only,.bottom-nav,.drawer-overlay{display:none}.modal{border:1px solid var(--line);border-radius:12px;padding:0;width:520px;max-width:calc(100vw - 30px);max-height:90vh;color:var(--ink);box-shadow:var(--shadow);background:var(--surface)}.modal.wide{width:700px}.modal::backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 27px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface);z-index:2}.modal-head h2{font-size:17px}.modal-body{padding:25px 27px 28px}.modal-body>p{font-size:13px;color:var(--muted)}.form{display:flex;flex-direction:column;gap:18px}.field{display:flex;flex-direction:column;gap:8px;font-size:13px;min-width:0}.field>span{font-weight:500;color:var(--ink)}.field b{font-weight:500;color:var(--accent)}.field input,.field select,.field textarea{width:100%;font-size:13px}.field input[type=file]{padding:12px;background:var(--surface-alt);font-size:13px}.field>small{font-size:11px;color:var(--muted);line-height:1.75}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:9px}.form .error{margin:0}.detail-meta{display:flex;align-items:center;gap:10px;margin-bottom:21px}.detail-meta>span:not(.badge){font-size:11px;color:var(--muted)}.prose{white-space:pre-wrap;word-break:break-word;line-height:1.95!important;font-size:14px!important;color:var(--secondary)!important;margin-bottom:24px}.answer-box{background:var(--surface-alt);border-radius:8px;padding:20px;margin:20px 0;color:var(--muted);font-size:13px;line-height:1.8}.answer-box h3{display:flex;gap:7px;align-items:center;font-size:13px;margin-bottom:10px}.answer-box .prose{margin:0}.download-box{border:1px solid var(--line);padding:18px;border-radius:8px;display:flex;align-items:center;gap:13px;color:var(--accent);font-size:13px}.download-box span{flex:1;overflow-wrap:anywhere}.modal video{width:100%;max-height:450px;background:#111;border-radius:8px}.role-options{display:flex;flex-direction:column;margin-top:20px;gap:12px}.role-options button{padding:17px;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;gap:15px}.role-options button strong{flex:1;text-align:left;font-size:14px}.role-options button:hover{background:var(--surface-alt)}.modal-description{line-height:1.8}.quiz-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;margin-bottom:27px}.quiz-question{border:0;padding:0;margin:0 0 30px}.quiz-question legend{font-size:15px;font-weight:600;line-height:1.8;margin-bottom:18px}.quiz-option{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;padding:13px 16px;margin:9px 0;font-size:13px;cursor:pointer}.quiz-option input{min-height:unset;accent-color:var(--primary)}.quiz-option>span{width:20px;height:20px;border:1px solid var(--line);color:var(--muted);border-radius:50%;display:grid;place-items:center;font-size:11px;flex-shrink:0}.quiz-option.chosen{border-color:var(--accent);background:var(--accent-soft)}.result-score{text-align:center;padding:20px 0 30px;border-bottom:1px solid var(--line)}.result-score>span{font-size:14px;color:var(--muted)}.result-score>strong{display:block;font-size:56px;color:var(--accent);margin:9px 0;line-height:1.5}.result-score strong small{font-size:16px;margin-left:6px;color:var(--muted)}.result-score p{font-size:13px;color:var(--muted)}.quiz-review{padding-top:24px}.quiz-review h3{margin-top:13px}.quiz-review>p{font-size:13px;color:var(--muted);margin:10px 0}.quiz-review .answer-box{margin:12px 0}.comments{margin-top:25px;padding-top:22px;border-top:1px solid var(--line)}.comments h3{font-size:13px}.comment{padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:10px}.comment strong{font-size:13px;color:var(--muted)}.comment p{font-size:13px;color:var(--ink);margin-top:5px;white-space:pre-wrap}.liked{color:var(--danger)!important}.auth-page{display:grid;grid-template-columns:minmax(0,1fr);min-height:100svh;background:var(--bg);place-items:center;padding:48px 24px 32px}.auth-form-side{padding:0;display:flex;align-items:stretch;flex-direction:column;width:400px;max-width:100%}.auth-form{width:100%;max-width:100%;margin:0}.auth-form>h1{font-size:25px;letter-spacing:-.7px;color:var(--ink)}.auth-form>p{font-size:14px;color:var(--muted);margin-top:9px;margin-bottom:26px}.role-tabs{display:flex;background:var(--surface-alt);border-radius:8px;padding:4px;margin-bottom:24px}.role-tabs button{flex:1;font-size:13px;padding:9px 5px;color:var(--muted);border-radius:6px}.role-tabs button.active{background:var(--surface);color:var(--accent);box-shadow:0 1px 3px #0000000f;font-weight:600}.auth-form .form-actions{display:block;margin-top:5px}.auth-form .form-actions button{width:100%;min-height:46px;font-size:14px}.auth-toggle{display:flex;justify-content:center;gap:9px;font-size:13px;color:var(--muted);margin-top:23px}.auth-toggle button{font-size:13px;color:var(--accent);font-weight:600}.divider{display:flex;align-items:center;gap:12px;margin:28px 0 20px;color:var(--muted);font-size:11px}.divider:before,.divider:after{content:"";height:1px;background:var(--line);flex:1}.demo-login{background:var(--surface)!important;min-height:44px!important;gap:12px}.auth-demo-note{display:block;text-align:center;margin-top:13px;color:var(--muted);font-size:12px}.auth-form-side>footer{font-size:12px;color:var(--muted);margin-top:32px;text-align:center}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.4}}.theme-toggle{border:1px solid var(--line)}.course-art>svg:last-child{margin-left:auto;width:16px;color:var(--muted)}.quick-panel>button:hover{color:var(--accent)}.quick-panel>button:hover>span{color:var(--accent)}tbody tr:hover,.content-row:hover,.question-row:hover{background:var(--row-hover)}.soft-note,.answer-box{color:var(--secondary)}.auth-toolbar{position:absolute;top:24px;right:24px}.auth-brand{display:flex;justify-content:center;margin-bottom:28px}.auth-brand .brand{font-size:28px}.auth-form .field input{font-size:15px;min-height:46px}@media(min-width:1500px){.main-content{padding:42px 48px 0}.topbar{padding:0 48px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 290px}.course-art{height:58px}.focus-card{min-height:unset}.course-body h3{font-size:14px}.course-body>p{font-size:13px}.course-body>div,.course-body footer{font-size:11px}.stat-bottom{font-size:11px}.task-row .grow>strong{font-size:13px}.task-row .grow>small{font-size:11px}.focus-card h2{font-size:23px}}@media(max-width:1190px){.sidebar{width:215px}.app-body{margin-left:215px;width:calc(100% - 215px)}.main-content{padding:28px 24px 0}.topbar{padding:0 24px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 225px;gap:20px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{gap:12px}.stat-card{padding:17px}.stat-bottom{font-size:11px}.stat-card>strong{font-size:29px}.dashboard-intro h1{font-size:24px}.problem-grid,.plan-grid{gap:14px}.plan-card{padding:20px}.plan-price{font-size:25px}.toast{left:calc(50% + 107px)}}@media(max-width:1000px){.dashboard-grid{grid-template-columns:1fr}.dashboard-aside{display:grid;grid-template-columns:1fr 1fr;align-items:start}.focus-card{min-height:unset}.help-note{display:none}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.course-card:last-child:nth-child(3){display:block}.stat-bottom{display:none}.stat-card>strong{margin-bottom:0}.stats-grid{margin-bottom:26px}.settings-grid{grid-template-columns:1fr}.video-grid,.problem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-grid{grid-template-columns:1fr}.plan-card ul{padding:10px 0;display:grid;grid-template-columns:1fr 1fr;gap:5px}.plan-price{margin:15px 0}.connection-card{gap:12px}.connection-card code{font-size:14px}.task-row .grow>strong{font-size:13px}.community-grid{grid-template-columns:1fr}}@media(max-width:760px){.mobile-only{display:inline-flex}.sidebar{transform:translate(-100%);transition:transform .2s;width:260px;z-index:60}.sidebar.is-open{transform:translate(0)}.drawer-overlay{display:block;position:fixed;inset:0;background:var(--scrim);z-index:55}.sidebar-brand{padding-top:24px}.sidebar-brand .mobile-only{display:flex}.workspace-picker strong{max-width:160px;font-size:13px}.side-nav a{font-size:14px;padding:12px 14px}.side-nav-group-toggle{min-height:44px}.side-nav-group-links .side-nav-item{min-height:44px;padding:10px 9px 10px 16px;font-size:14px}.app-body{margin:0;width:100%}.topbar{height:63px;padding:0 18px}.breadcrumbs{gap:9px}.breadcrumbs>span{display:none}.breadcrumbs>svg{display:none}.breadcrumbs strong{font-size:13px}.topbar-right{gap:10px}.top-avatar{display:none!important}.demo-switch{font-size:11px;padding:6px 8px}.main-content{padding:25px 19px 70px}.page-heading,.dashboard-intro{gap:12px;align-items:flex-start;margin-bottom:22px}.dashboard-intro h1,h1{font-size:22px;letter-spacing:-.9px}.dashboard-intro p,.page-heading p{font-size:13px;margin-top:8px}.eyebrow{font-size:11px}.dashboard-intro>.button{font-size:11px;padding:8px 10px;min-height:35px;margin-top:15px}.dashboard-intro>.button svg{width:13px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:11px}.stats-grid.three{grid-template-columns:repeat(3,1fr);gap:8px}.stat-card{padding:15px 16px}.stat-top{font-size:11px}.stat-top svg{width:16px}.stat-card>strong{font-size:29px;margin-top:6px}.stats-grid.three .stat-card{padding:13px 12px}.stats-grid.three .stat-top{font-size:11px}.stats-grid.three .stat-top svg{display:none}.stats-grid.three .stat-card>strong{font-size:25px}.stats-grid.three .stat-card strong small{font-size:11px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.course-art{height:52px}.course-body{padding:14px 12px 11px}.course-body h3{font-size:14px}.course-body>p{font-size:12px}.course-body>div{font-size:11px;margin-top:10px}.course-body footer{font-size:11px}.dashboard-aside{gap:14px;grid-template-columns:1fr 1fr}.dashboard-aside .focus-card{padding:20px;min-height:unset}.focus-card h2{font-size:19px}.focus-card p{font-size:13px;max-width:none}.focus-card .eyebrow{font-size:11px;letter-spacing:.5px;display:none}.focus-icon{margin-bottom:13px}.focus-link{font-size:12px;margin-top:16px}.quick-panel{padding:20px 16px;min-height:235px}.quick-panel>button{font-size:11px;gap:8px;padding:15px 0}.quick-panel>button>svg:first-child{width:16px}.quick-panel>button>svg:last-child{width:12px}.dashboard-aside .attendance{padding:20px 14px;min-height:235px}.dashboard-aside .attendance+.quick-panel{grid-column:span 2;min-height:unset}.panel{padding:20px}.tasks-panel{margin-top:23px}.section-title h2{font-size:15px}.task-row{gap:9px;padding:15px 0}.task-row .grow>strong{font-size:13px}.task-row .grow>small{font-size:11px}.task-row .badge{font-size:11px;padding:3px 5px}.task-row>.avatar{width:30px;height:30px;font-size:11px}.task-row>svg:last-child{display:none}.page-footer{font-size:11px;margin-top:27px;flex-wrap:wrap;gap:6px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;height:67px;padding:8px 0 max(8px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:40}.bottom-nav a{display:flex;flex-direction:column;gap:4px;align-items:center;color:var(--muted);font-size:11px;min-width:52px;min-height:44px;justify-content:center}.bottom-nav a.active{color:var(--accent);font-weight:600}.bottom-nav a.active svg{stroke-width:2.3}.toast{left:50%;bottom:79px;font-size:13px;width:max-content;max-width:90vw;padding:13px 17px}.filter-bar{flex-wrap:wrap;gap:9px}.search-local{max-width:none}.filter-bar select{max-width:145px;font-size:11px;min-height:40px}.content-list{padding:0 16px}.content-row{padding:19px 0;gap:11px}.file-symbol{width:37px;height:46px}.file-symbol svg{width:20px}.content-row h3{font-size:13px}.content-row p,.inline-labels small{font-size:11px}.inline-labels{gap:6px;flex-wrap:wrap}.row-date{display:none}.content-row>svg{width:14px}.page-heading>.button{min-height:35px;font-size:11px;padding:8px 10px;margin-top:13px}.page-heading>.button svg{width:14px}.table-panel{padding:0}.table-summary{padding:17px}.table-scroll table{min-width:620px}th,td{padding:14px 17px}.question-top small{font-size:11px}.question-row h3{font-size:14px}.question-row>p{font-size:11px}.video-grid,.problem-grid{gap:12px}.problem-card{padding:18px 15px}.problem-card h3{font-size:14px}.problem-card>small{font-size:11px}.problem-card .button{font-size:11px;padding:9px 10px;margin-top:20px}.problem-top{margin-bottom:18px}.problem-top .avatar{width:32px;height:32px}.problem-top .badge{font-size:11px}.video-cover{height:120px}.video-card>div:last-child{padding:14px}.video-card h3{font-size:13px}.connection-card{flex-wrap:wrap;padding:21px}.connection-card>svg{width:24px}.connection-card h3{font-size:14px}.connection-card p{font-size:11px}.connection-card code{margin:8px 0 0 36px}.family-row{gap:10px;flex-wrap:wrap}.family-row .avatar{width:31px;height:31px}.family-row h3{font-size:13px}.family-row .text-button{font-size:11px}.family-row .button-row{width:100%;padding-left:40px}.page-tabs{gap:20px}.page-tabs button{font-size:13px}.community-grid{gap:14px}.post-card p{font-size:13px}.settings-grid{gap:18px}.usage-panel p{font-size:11px}.billing-notice{padding:17px}.billing-notice p{font-size:11px}.plan-card{padding:23px}.plan-card li{font-size:11px}.code-row{flex-wrap:wrap;gap:12px}.code-row>div{min-width:160px}.code-row strong{font-size:13px}.code-row small{font-size:11px}.code-row code{font-size:13px}.notification-row .avatar{width:32px;height:32px}.notification-row strong{font-size:13px}.notification-row p{font-size:11px}.notification-row{gap:11px}.modal{max-height:88vh;max-width:calc(100vw - 24px);border-radius:12px}.modal-head{padding:19px 20px}.modal-head h2{font-size:15px}.modal-body{padding:22px 20px}.field input,.field select,.field textarea{font-size:16px}.field>span{font-size:13px}.quiz-question legend{font-size:14px}.quiz-option{font-size:13px;padding:14px 12px}.download-box{font-size:13px}.detail-meta{flex-wrap:wrap}.auth-form .field input{font-size:16px}.auth-form .button{min-height:45px;font-size:13px}.auth-toggle{font-size:13px}.demo-login{min-height:45px!important}}@media(max-width:360px){.main-content{padding:22px 14px 70px}.dashboard-intro{flex-wrap:wrap}.dashboard-intro>.button{margin-top:0}.dashboard-intro h1{font-size:21px}.dashboard-aside{grid-template-columns:1fr}.dashboard-aside .attendance+.quick-panel{grid-column:span 1}.dashboard-aside .focus-card,.quick-panel{min-height:unset}.focus-card p{max-width:none}.course-grid,.problem-grid,.video-grid{grid-template-columns:1fr}.course-card:last-child:nth-child(3){display:block}.stats-grid.three .stat-card{padding:12px 9px}.section-title h2{font-size:14px}.code-row code{margin-left:0}.page-heading{flex-wrap:wrap}.page-heading>.button{margin-top:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:760px){.sidebar{visibility:hidden}.sidebar.is-open{visibility:visible}.page-heading p,.dashboard-intro p,.content-row p{font-size:13px}}@media(max-width:760px){.dashboard-intro,.page-heading{flex-wrap:wrap}.dashboard-intro>.button,.page-heading>.button{margin-top:0;min-height:40px;font-size:13px}.topbar-right{gap:8px}.theme-toggle{width:32px;height:32px}.auth-page{padding:80px 24px 32px}.auth-form .field input{font-size:16px}.auth-form .button{min-height:46px;font-size:14px}}.action-wrap{display:inline-flex;flex-direction:column;align-items:flex-start;gap:5px;max-width:100%}.action-wrap .error{font-size:12px;max-width:360px;margin:0}.feature-row{display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}.feature-row:last-child{border-bottom:0}.feature-row p{margin:5px 0;color:var(--muted);font-size:13px}.feature-row small{display:block;color:var(--muted)}.feature-row strong,.feature-row h3{font-size:15px;margin:0}.feature-row .grow{min-width:0}.feature-search{min-height:40px;padding:10px 13px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);min-width:220px}.choice-field{border:1px solid var(--line);border-radius:12px;padding:15px;display:flex;flex-wrap:wrap;gap:12px 20px}.choice-field legend{font-size:13px;font-weight:600;padding:0 5px}.choice-field label,.check-line{display:flex;align-items:center;gap:8px;font-size:13px;line-height:1.6}.check-line input,.choice-field input{width:16px;height:16px;accent-color:var(--accent);flex-shrink:0}.pagination{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:18px 0;color:var(--muted);font-size:13px}.pagination select{padding:7px;background:var(--surface);border:1px solid var(--line);border-radius:7px;color:var(--ink)}.pagination>span:first-child{margin-right:auto}.inline-badges{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:12px}.inline-badges .badge{white-space:nowrap}.course-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}.course-detail-grid .panel{margin:0 0 24px}.metric-line{display:flex;gap:24px;margin:24px 0;color:var(--muted);font-size:14px}.metric-line b{color:var(--ink);margin-left:8px}.join-code{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:16px;background:var(--surface-alt);border-radius:10px;margin:20px 0}.join-code code{font-size:18px;font-weight:650;letter-spacing:.08em}.link-row{width:100%;text-align:left;color:var(--ink);background:transparent}.link-row strong{flex:1}.detail-list{display:grid;grid-template-columns:100px 1fr;gap:14px;margin:12px 0 28px;font-size:14px}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;overflow-wrap:anywhere}.detail-list small{display:block;color:var(--muted)}.table-scroll{overflow:auto}.table-panel table{width:100%;border-collapse:collapse;min-width:650px}.table-panel th,.table-panel td{padding:16px 12px;text-align:left;border-bottom:1px solid var(--line);font-size:13px}.table-panel th{color:var(--muted);font-weight:500}.content-entry{border-bottom:1px solid var(--line)}.content-entry-main{display:flex;gap:18px;align-items:center;width:100%;padding:22px 0;background:none;text-align:left;color:var(--ink)}.content-entry-main strong{display:block;font-size:17px;font-weight:650;line-height:1.5;margin:7px 0}.content-entry-main p{color:var(--muted);margin:8px 0;line-height:1.6;font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.content-entry-main small{color:var(--muted);font-size:12px}.content-entry-actions{display:flex;justify-content:flex-end;align-items:center;gap:16px;padding-bottom:16px}.attachments{display:flex;gap:14px;flex-wrap:wrap;margin:20px 0}.attachments>a{display:flex;flex-direction:column;gap:10px;max-width:220px;border:1px solid var(--line);border-radius:12px;padding:12px;color:var(--ink);text-decoration:none;font-size:13px;overflow-wrap:anywhere}.attachments img{width:180px;max-height:180px;object-fit:contain;border-radius:6px}.lesson-video{width:100%;max-height:65vh;background:#111;border-radius:14px;margin:20px 0}.storage-bar{padding:18px 22px;border:1px solid var(--line);border-radius:12px;margin-bottom:20px;display:flex;align-items:center;gap:20px;font-size:13px;background:var(--surface)}.storage-bar small{color:var(--muted)}progress{accent-color:var(--accent);height:7px;max-width:100%;border-radius:10px}.storage-bar progress{flex:1;min-width:60px}.prose-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.9;margin:24px 0}.upload-progress{display:flex;align-items:center;gap:12px;font-size:13px}.upload-progress progress{flex:1}.preview-scroll{max-height:360px;overflow:auto}.preview-scroll strong{display:block;margin-top:8px}.reply-thread{margin:24px 0;display:grid;gap:16px}.reply{background:var(--surface-alt);border:1px solid var(--line);border-radius:14px;padding:18px}.reply.staff{border-left:3px solid var(--accent)}.reply strong{font-size:14px}.reply small{font-size:11px;font-weight:400;color:var(--muted)}.reply p{font-size:14px;white-space:pre-wrap;line-height:1.8;margin:12px 0 0;overflow-wrap:anywhere}.question-list-row,.post-list-row{display:flex;align-items:center;gap:18px;width:100%;text-align:left;padding:22px 0;background:none;color:var(--ink);border-bottom:1px solid var(--line)}.question-list-row strong,.post-list-row strong{display:block;font-size:16px;line-height:1.6;margin:6px 0}.question-list-row small,.post-list-row small{font-size:12px;color:var(--muted)}.post-list-row p{color:var(--muted);font-size:13px;margin:8px 0 0}.result-question{padding:18px 0;border-bottom:1px solid var(--line)}.result-question>.badge{margin-left:12px}.result-question p{font-size:14px;line-height:1.8}.result-score{font-size:18px;color:var(--muted);text-align:center;margin:25px 0}.result-score strong{font-size:56px;font-weight:700;color:var(--accent);margin-right:4px}.segmented{display:flex;flex-wrap:wrap;gap:4px;background:var(--surface-alt);border:1px solid var(--line);padding:4px;border-radius:10px}.segmented button{font-size:13px;color:var(--muted);border-radius:7px;padding:8px 13px;background:transparent}.segmented button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 4px #00000009}.inbox-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px}.inbox-contact{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:15px 10px;border-radius:8px;background:transparent;color:var(--ink)}.inbox-contact strong{flex:1;font-size:14px}.inbox-contact small{color:var(--muted);font-size:12px}.inbox-contact.selected{background:var(--surface-alt)}.chat-stream{display:flex;flex-direction:column;gap:16px;max-height:55vh;overflow:auto;padding:20px 0;margin-bottom:20px}.chat-message{align-self:flex-start;max-width:85%;padding:14px 18px;background:var(--surface-alt);border-radius:13px;overflow-wrap:anywhere}.chat-message.mine{align-self:flex-end;border:1px solid var(--accent);background:var(--surface)}.chat-message p{white-space:pre-wrap;font-size:14px;line-height:1.7;margin:0 0 8px}.chat-message small{font-size:10px;color:var(--muted)}.exam-timer{background:var(--bg);color:var(--ink);min-height:70vh}.exam-timer:fullscreen,.exam-timer.projector{position:fixed;inset:0;z-index:999;background:var(--bg);padding:40px;overflow:auto}.timer-stage{display:flex;align-items:center;flex-direction:column;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:55px 24px;min-height:580px}.timer-stage h2{font-size:20px;font-weight:500;margin:20px 0 0}.timer-stage p{color:var(--muted);margin:0 0 28px}.timer-digits{font-size:clamp(84px,13vw,180px);font-weight:650;letter-spacing:-.06em;font-variant-numeric:tabular-nums;line-height:1.5}.timer-digits span{opacity:.35;margin:0 .03em}.timer-digits.finished{color:#d1634e}.timer-presets{display:flex;gap:8px;flex-wrap:wrap;margin:30px 0 20px;justify-content:center}.timer-presets button{padding:10px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted)}.timer-presets button.active{border-color:var(--accent);color:var(--accent)}.timer-custom{display:flex;gap:14px;align-items:center;justify-content:center;margin-bottom:25px;font-size:13px}.timer-custom input{width:75px;padding:8px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);margin:0 8px}.timer-stage>small{color:var(--muted);font-size:12px}.timer-stage>.text-button{margin-top:18px}.panel>h2{font-size:18px;margin:0 0 22px}.main-content>.panel+.panel{margin-top:22px}.form .answer-box p{margin:7px 0}.action-wrap button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:800px){.course-detail-grid,.inbox-layout{grid-template-columns:1fr}.storage-bar{align-items:flex-start;flex-direction:column;gap:12px}.storage-bar progress{width:100%}.feature-row{flex-wrap:wrap}.feature-row>.grow{flex-basis:55%}.content-entry-main{gap:12px}.content-entry-main>.avatar{display:none}.content-entry-main strong{font-size:15px}.filter-bar .feature-search{min-width:0;width:100%}.filter-bar .segmented{width:100%;overflow:auto;flex-wrap:nowrap}.segmented button{white-space:nowrap;flex:1}.question-list-row{gap:10px;align-items:flex-start}.question-list-row>.avatar{display:none}.question-list-row>.badge{font-size:10px}.inbox-contacts{max-height:250px;overflow:auto}.exam-timer.projector,.exam-timer:fullscreen{padding:14px}.timer-stage{padding:45px 14px;min-height:80vh}.timer-custom{flex-wrap:wrap}.detail-list{grid-template-columns:85px 1fr}.pagination{gap:7px}.attachments>a{max-width:100%}.post-list-row{align-items:flex-start}.post-list-row>.inline-badges{flex-shrink:0;font-size:11px;gap:5px}}.profile-image-forms{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}.profile-image-forms>.panel{margin:0}.profile-preview{display:block;object-fit:cover;margin:16px 0;border:1px solid var(--line)}.profile-preview.avatar{width:90px;height:90px;border-radius:50%}.profile-preview.banner{width:100%;max-height:180px;border-radius:12px}@media(max-width:700px){.profile-image-forms{grid-template-columns:1fr}}@media(max-width:800px){.filter-bar .search-local{flex:1 0 100%;width:100%;min-width:0}.filter-bar select{flex:1;min-width:125px}.main-content>.soft-note{flex-wrap:wrap}.main-content>.soft-note>small{flex-basis:100%}}
