:root{--green:#178a50;--green-strong:#0f6b3d;--green-soft:#e6f4ec;--green-mid:#bfe3cf;--g1:#0f6b3d;--g2:#1e9d63;--ink:#1d2b23;--ink-2:#48564d;--ink-3:#7d8b82;--bg:#f3f6f3;--card:#fff;--line:#e1e8e2;--line-2:#eef2ee;--surface-2:color-mix(in srgb,var(--green) 2%,white);--amber:#b45309;--amber-bg:#fdf3e3;--red:#b91c1c;--red-bg:#fdecec;--blue:var(--green);--blue-bg:var(--green-soft);--purple-accent:var(--green);--purple-accent-bg:var(--green-soft);--radius:14px;--shadow:0 1px 2px #173c280d, 0 4px 14px #173c280d;--teal:var(--green);--teal-dark:var(--green-strong);--teal-soft:var(--green-soft);--surface:var(--card);--surface-soft:var(--green-soft);--text:var(--ink);--muted:var(--ink-3);--orange:var(--amber);--orange-soft:var(--amber-bg);--rose:var(--red);--rose-soft:var(--red-bg)}*{box-sizing:border-box}body{color:var(--text);background:var(--bg);margin:0;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:14px}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb,var(--green) 20%,transparent);outline-offset:2px}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--card);border-right:1px solid var(--line);flex-direction:column;flex:0 0 232px;width:232px;height:100vh;padding:0;display:flex;position:sticky;top:0;overflow:auto}.brand{color:var(--ink);letter-spacing:-.02em;align-items:center;gap:10px;padding:0 9px;font-weight:800;display:flex}.brand-mark{width:28px;height:28px;color:var(--card);background:var(--teal);box-shadow:0 5px 12px color-mix(in srgb,var(--green) 25%,transparent);border-radius:9px;place-items:center;font-weight:800;display:grid}.workspace-switcher{background:var(--surface-soft);border-radius:12px;align-items:center;gap:9px;margin:28px 2px 19px;padding:11px 10px;display:flex}.workspace-switcher>div:nth-child(2){flex:1;min-width:0}.workspace-switcher strong,.workspace-switcher small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.workspace-switcher small{color:var(--muted);margin-top:3px;font-size:11px}.avatar{background:var(--green-soft);width:28px;height:28px;color:var(--teal-dark);border-radius:50%;place-items:center;font-weight:700;display:grid}.avatar.small{width:26px;height:26px;font-size:12px}.avatar.student{background:var(--blue-bg);color:var(--blue)}.nav-list{flex-direction:column;gap:4px;display:flex}.nav-item{width:100%;color:var(--ink-3);text-align:left;border-radius:10px;align-items:center;gap:12px;padding:11px 12px;transition:all .18s;display:flex}.nav-item.active{color:var(--teal-dark);background:var(--green-mid);font-weight:700}.nav-badge{background:var(--red-bg);color:var(--red);border-radius:8px;margin-left:auto;padding:2px 6px;font-size:10px}.sidebar-bottom{border-top:1px solid var(--line);margin-top:auto;padding-top:12px}.main-area{flex:1;min-width:0;padding-bottom:32px}.topbar{border-bottom:1px solid var(--line);z-index:5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffd6;align-items:center;gap:15px;height:70px;padding:0 38px;display:flex;position:sticky;top:0}.searchbox{background:var(--blue-bg);border:1px solid var(--blue-bg);width:min(360px,42vw);color:var(--blue);border-radius:10px;align-items:center;gap:9px;padding:9px 12px;display:flex}.searchbox input{background:0 0;border:0;outline:0;width:100%;font-size:13px}.searchbox input::placeholder{color:var(--blue)}.top-actions{align-items:center;gap:11px;margin-left:auto;display:flex}.icon-button{width:33px;height:33px;color:var(--ink-3);border-radius:9px;place-items:center;display:grid;position:relative}.icon-button:hover{background:var(--blue-bg);color:var(--teal-dark)}.dot{background:var(--rose);border:1px solid var(--card);border-radius:50%;width:6px;height:6px;position:absolute;top:5px;right:5px}.user-chip{color:var(--ink-2);align-items:center;gap:7px;margin-left:4px;font-weight:600;display:flex}.mobile-menu{display:none}.content-wrap{max-width:1440px;margin:0 auto;padding:38px 42px 20px}.page-title{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px;display:flex}.eyebrow{text-transform:uppercase;color:var(--teal);letter-spacing:.12em;font-size:10px;font-weight:800}h1,h2,h3,p{margin:0}.page-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.primary,.secondary,.ghost{border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:10px 15px;font-size:13px;font-weight:700;transition:all .18s;display:inline-flex}.primary{background:var(--teal);color:#fff;box-shadow:0 7px 14px color-mix(in srgb,var(--green) 17%,transparent)}.secondary{border:1px solid var(--line);color:var(--ink-2);background:#fff}.ghost{color:var(--ink-3)}.full{width:100%}.large{border-radius:11px;padding:13px 22px;font-size:14px}.hint{color:var(--blue);margin-top:11px;font-size:11px;display:block}.status-banner{background:linear-gradient(100deg, var(--green-soft), var(--blue-bg));border:1px solid var(--green-mid);border-radius:16px;align-items:center;gap:15px;margin-bottom:19px;padding:14px 19px;display:flex}.status-illustration{background:linear-gradient(#cfeef3,#eefafa);border-radius:11px;width:88px;height:48px;position:relative;overflow:hidden}.status-cloud{background:var(--card);width:32px;height:12px;box-shadow:18px 2px 0 -3px var(--card);opacity:.8;border-radius:15px;position:absolute;top:12px;left:15px}.status-tree{border-bottom:39px solid #8fd0c1;border-left:18px solid #0000;border-right:18px solid #0000;width:0;height:0;position:absolute;bottom:-6px}.status-tree.t1{border-bottom-color:#6ebcaf;border-left-width:14px;border-right-width:14px;left:49px}.status-tree.t2{border-bottom-color:#5eae9f;border-left-width:17px;border-right-width:17px;left:69px}.status-banner>div:nth-child(2){flex:1}.status-banner strong,.status-banner span{display:block}.status-banner span{color:var(--ink-3);margin-top:4px;font-size:12px}.status-banner>button{color:var(--teal-dark);align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.stats-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:26px;display:grid}.stat-card{text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;align-items:flex-start;gap:12px;min-height:110px;padding:16px;transition:all .2s;display:flex;position:relative;box-shadow:0 7px 20px #315c700a}.stat-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.stat-card>div:nth-child(2){flex-direction:column;gap:7px;display:flex}.stat-card span{color:var(--muted);font-size:12px}.stat-card strong{letter-spacing:-.04em;font-size:28px;line-height:1}.stat-card strong small{color:var(--ink-3);letter-spacing:0;margin-left:4px;font-size:12px;font-weight:600}.stat-icon{width:31px;height:31px;color:var(--teal);background:var(--teal-soft);border-radius:10px;place-items:center;display:grid}.orange .stat-icon{color:var(--orange);background:var(--orange-soft)}.rose .stat-icon{color:var(--rose);background:var(--rose-soft)}.green .stat-icon{color:var(--green);background:var(--green-soft)}.stat-arrow{color:var(--blue);margin-left:auto}.dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr);gap:20px;display:grid}.main-column,.right-column{flex-direction:column;gap:20px;display:flex}.section{background:0 0}.section-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-head h2{letter-spacing:-.015em;font-size:15px}.link-button{color:var(--teal);align-items:center;gap:3px;font-size:12px;font-weight:700;display:inline-flex}.schedule-list,.task-list,.class-grid,.assignment-list,.artifact-list,.exam-list,.record-panel,.follow-panel,.capability-list{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}.schedule-row{border-bottom:1px solid var(--line);grid-template-columns:112px 1fr auto;align-items:center;gap:17px;padding:14px 17px;display:grid}.schedule-row:last-child{border-bottom:0}.schedule-row time{color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px}.schedule-row strong,.schedule-row span{display:block}.schedule-row strong{font-size:12px}.schedule-row span{color:var(--muted);margin-top:3px;font-size:11px}.schedule-row em{color:var(--blue);font-size:11px;font-style:normal}.schedule-row.current{background:linear-gradient(90deg,var(--green-soft),var(--card))}.schedule-row.current em{color:var(--teal);font-weight:700}.class-grid{grid-template-columns:repeat(3,1fr);display:grid}.class-card{border-right:1px solid var(--line);padding:15px}.class-card:last-child{border-right:0}.class-dot{background:var(--teal);border-radius:50%;width:8px;height:8px;margin-bottom:11px}.class-dot.orange{background:var(--orange)}.class-dot.green{background:var(--green)}.class-card strong{font-size:12px}.class-metrics{color:var(--muted);gap:18px;margin:17px 0 11px;font-size:10px;display:flex}.class-metrics b{color:var(--text);margin-right:3px;font-size:18px}.progress{background:var(--blue-bg);border-radius:8px;height:5px;overflow:hidden}.progress i{border-radius:inherit;background:var(--teal);height:100%;display:block}.progress i.orange{background:var(--orange)}.progress i.green{background:var(--green)}.task-row{text-align:left;border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;width:100%;padding:13px 14px;display:flex}.task-row:last-child{border-bottom:0}.task-row:hover{background:var(--surface-2)}.task-row>span:nth-child(2){flex-direction:column;gap:4px;display:flex}.task-row strong{font-size:12px;font-weight:600}.task-row small{color:var(--blue);font-size:10px}.task-row.done strong{color:var(--ink-3);text-decoration:line-through}.checkbox{border:1.5px solid var(--blue);width:17px;height:17px;color:var(--card);border-radius:5px;flex:0 0 17px;place-items:center;display:grid}.task-row.done .checkbox{background:var(--teal);border-color:var(--teal)}.assistant-card{background:linear-gradient(145deg,var(--green-soft),var(--green-soft));border:1px solid var(--green-soft);border-radius:14px;padding:15px}.assistant-head{align-items:center;gap:9px;display:flex}.bot-avatar{width:30px;height:30px;color:var(--teal);background:var(--card);border-radius:10px;place-items:center;display:grid;box-shadow:0 4px 10px #1b656014}.assistant-head>div:nth-child(2){flex:1}.assistant-head strong,.assistant-head span{display:block}.assistant-head strong{font-size:12px}.assistant-head span{color:var(--blue);margin-top:3px;font-size:10px}.assistant-head>svg{color:var(--teal)}.assistant-chips{grid-template-columns:1fr 1fr;gap:7px;margin:14px 0;display:grid}.assistant-chips button{text-align:left;background:var(--card);border:1px solid var(--green-soft);color:var(--blue);border-radius:8px;padding:8px 9px;font-size:10px}.assistant-chips button:hover{border-color:var(--green-mid);color:var(--teal-dark)}.assistant-input{background:var(--card);border:1px solid var(--green-soft);color:var(--ink-3);border-radius:8px;justify-content:space-between;align-items:center;padding:9px;font-size:11px;display:flex}.toolbar{justify-content:space-between;align-items:center;margin:4px 0 17px;display:flex}.segmented{background:var(--blue-bg);border-radius:9px;align-items:center;gap:3px;padding:3px;display:flex}.segmented button{color:var(--ink-3);border-radius:7px;padding:7px 11px;font-size:11px}.segmented button.active{background:var(--card);color:var(--teal-dark);font-weight:700;box-shadow:0 2px 6px #1e555d14}.student-table{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:auto hidden}.table-head,.table-row{grid-template-columns:1.4fr 1fr .8fr .7fr .9fr 32px;align-items:center;gap:14px;padding:14px 16px;display:grid}.table-head{background:var(--line-2);color:var(--blue);font-size:10px}.table-row{border-top:1px solid var(--line);font-size:12px}.table-row:hover{background:var(--surface-2)}.student-name{text-align:left;align-items:center;gap:9px;display:flex}.student-profile-link{width:100%;color:inherit;font:inherit;cursor:pointer}.student-profile-link:hover strong{color:var(--teal-dark);text-underline-offset:3px;text-decoration:underline}.status{white-space:nowrap;border-radius:7px;align-items:center;padding:4px 7px;font-size:10px;font-weight:700;display:inline-flex}.status.warn{color:var(--amber);background:var(--orange-soft)}.status.ok{color:var(--green);background:var(--green-soft)}.negative{color:var(--red)}.positive{color:var(--green)}.row-more{width:26px;height:26px;color:var(--blue);border-radius:7px;place-items:center;display:grid}.row-more:hover{background:var(--green-soft);color:var(--teal-dark)}.info-callout{border:1px solid var(--line);background:var(--green-soft);color:var(--teal-dark);border-radius:12px;align-items:center;gap:11px;margin-top:17px;padding:13px 15px;display:flex}.info-callout>div{flex:1}.info-callout strong,.info-callout span{display:block}.info-callout strong{font-size:12px}.info-callout span{color:var(--ink-3);margin-top:3px;font-size:11px}.info-callout button{color:var(--teal-dark);font-size:11px;font-weight:700}.week-strip{gap:8px;margin-bottom:22px;display:flex}.week-strip button{text-align:left;border:1px solid var(--line);background:var(--card);color:var(--ink-3);border-radius:11px;flex:1;padding:12px 14px;font-size:11px}.week-strip button strong{color:var(--text);margin-top:5px;font-size:13px;display:block}.week-strip button.active{background:var(--teal);color:var(--green-soft);border-color:var(--teal)}.week-strip button.active strong{color:var(--card)}.course-timeline{flex-direction:column;gap:10px;display:flex}.course-block{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:12px;grid-template-columns:76px 1fr auto 28px;align-items:center;gap:10px;min-height:83px;padding:16px;display:grid}.course-block.blue{border-left-color:var(--blue)}.course-block.orange{border-left-color:var(--orange)}.course-block.rose{border-left-color:var(--rose)}.course-block time{color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.course-block strong,.course-block span{display:block}.course-block span{color:var(--muted);margin-top:5px;font-size:11px}.course-block button{color:var(--blue);border-radius:7px;place-items:center;width:28px;height:28px;display:grid}.course-block button:hover{color:var(--teal-dark);background:var(--green-soft)}.course-edit-button{color:var(--teal-dark)}.assignment-overview{background:var(--card);border:1px solid var(--line);border-radius:14px;grid-template-columns:145px 1fr 1.25fr;align-items:center;gap:20px;margin-bottom:24px;padding:18px;display:grid}.big-number span,.big-number strong,.big-number small{display:block}.big-number span{color:var(--blue);font-size:11px}.big-number strong{letter-spacing:-.07em;margin:7px 0 3px;font-size:38px;line-height:1}.big-number small{color:var(--blue);font-size:10px}.overview-line{color:var(--ink-3);flex-direction:column;gap:11px;font-size:11px;display:flex}.overview-line b{color:var(--text);margin-left:3px}.review-pill{background:var(--purple-accent-bg);color:var(--purple-accent);border-radius:10px;align-items:center;gap:10px;padding:11px 12px;display:flex}.review-pill>div{flex:1}.review-pill strong,.review-pill span{display:block}.review-pill strong{font-size:11px}.review-pill span{color:var(--purple-accent);margin-top:4px;font-size:10px}.assignment-row{text-align:left;border-bottom:1px solid var(--line);align-items:center;gap:13px;width:100%;padding:15px 16px;display:flex}.assignment-row:last-child{border-bottom:0}.assignment-row:hover{background:var(--surface-2)}.assignment-icon,.artifact-icon{background:var(--blue-bg);width:34px;height:34px;color:var(--blue);border-radius:10px;place-items:center;display:grid}.assignment-meta{flex:1}.assignment-meta strong,.assignment-meta span{display:block}.assignment-meta span{color:var(--blue);margin-top:4px;font-size:10px}.assignment-count{text-align:right;min-width:49px}.assignment-count strong,.assignment-count span{display:block}.assignment-count strong{font-size:18px}.assignment-count span{color:var(--ink-3);font-size:10px}.artifact-row{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:13px 15px;display:flex}.artifact-row:last-child{border-bottom:0}.artifact-row>div:nth-child(2){flex:1}.artifact-row strong,.artifact-row span{display:block}.artifact-row strong{font-size:12px}.artifact-row span{color:var(--blue);margin-top:4px;font-size:10px}.artifact-status{border-radius:6px;padding:4px 7px;font-weight:700}.artifact-status.draft{background:var(--amber-bg);color:var(--amber)!important}.artifact-status.confirmed{background:var(--green-soft);color:var(--green)!important}.assignment-row-with-actions{gap:0;padding:0}.assignment-row-main{text-align:left;flex:1;align-items:center;gap:13px;min-width:0;padding:15px 16px;display:flex}.assignment-row-main:hover{background:var(--surface-2)}.assignment-channel-action{border:1px solid var(--line);color:var(--teal-dark);background:var(--green-soft);border-radius:8px;flex:none;align-items:center;gap:5px;margin-right:12px;padding:7px 9px;font-size:10px;font-weight:700;display:inline-flex}.assignment-channel-action:hover{border-color:var(--green-mid);background:var(--green-soft)}.assignment-channel-action:disabled{opacity:.6;cursor:wait}.channel-panel{background:var(--card);border:1px solid var(--line);border-radius:14px;grid-template-columns:36px 1fr auto;align-items:center;gap:11px;padding:15px;display:grid}.channel-panel-icon{width:34px;height:34px;color:var(--teal);background:var(--teal-soft);border-radius:10px;place-items:center;display:grid}.channel-panel strong,.channel-panel span{display:block}.channel-panel strong{font-size:12px}.channel-panel span{color:var(--ink-3);margin-top:4px;font-size:10px;line-height:1.55}.channel-panel-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.channel-panel-actions button{padding:8px 10px;font-size:10px}.channel-notice{border:1px solid var(--line);background:var(--line-2);color:var(--ink-3);border-radius:9px;align-items:center;gap:7px;margin-top:10px;padding:9px 11px;font-size:10px;display:flex}.channel-notice svg{color:var(--teal);flex:none}.submission-preview-list{border:1px solid var(--line);background:var(--card);border-radius:10px;margin-top:11px;overflow:hidden}.submission-preview-row{border-top:1px solid var(--line);align-items:center;gap:8px;padding:9px 10px;display:flex}.submission-preview-row:first-child{border-top:0}.submission-preview-row>div:nth-child(2){flex:1;min-width:0}.submission-preview-row strong,.submission-preview-row span{display:block}.submission-preview-row strong{font-size:11px}.submission-preview-row span{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:9px;overflow:hidden}.score-hero{background:linear-gradient(115deg,var(--green-strong),var(--green));color:var(--card);border-radius:16px;justify-content:space-between;align-items:center;gap:30px;margin-bottom:25px;padding:24px 26px;display:flex;position:relative;overflow:hidden}.score-hero>div:first-child{min-width:180px}.score-hero span{color:color-mix(in srgb,var(--green-soft) 86%,white);font-size:11px}.score-hero strong{letter-spacing:-.07em;margin:9px 0;font-size:42px;display:block}.score-hero strong small{color:color-mix(in srgb,var(--green-soft) 76%,white);letter-spacing:0;font-size:12px}.score-delta{align-items:center;gap:5px;font-size:11px;display:flex}.score-chart{flex-direction:column;justify-content:flex-end;width:52%;height:125px;display:flex}.chart-bars{align-items:flex-end;gap:8px;height:100px;display:flex}.chart-bars i{background:color-mix(in srgb,var(--green-soft) 38%,transparent);border-radius:5px 5px 2px 2px;flex:1;display:block}.chart-bars i.recent{background:color-mix(in srgb,var(--green-soft) 90%,white)}.chart-bars .chart-empty{color:color-mix(in srgb,var(--green-soft) 86%,white);align-self:center;font-size:10px}.chart-labels{color:color-mix(in srgb,var(--green-soft) 72%,white);justify-content:space-between;padding-top:9px;font-size:10px;display:flex}.score-insights{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:25px;display:grid}.score-insight-card{background:var(--card);border:1px solid var(--line);border-radius:14px;min-width:0;padding:16px}.score-insight-wide{grid-column:1/-1}.insight-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.insight-head strong,.insight-head span{display:block}.insight-head strong{font-size:13px}.insight-head span{color:var(--ink-3);margin-top:4px;font-size:10px}.insight-head>svg{color:var(--teal);flex:none}.score-bar-chart{align-items:flex-end;gap:16px;height:145px;padding:17px 8px 0;display:flex}.score-bar-item{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:42px;height:100%;display:flex}.score-bar-value{color:var(--teal-dark);margin-bottom:5px;font-size:10px;font-weight:700}.score-bar-track{background:linear-gradient(to top, var(--green-soft) 1px, transparent 1px);background-size:100% 25%;border-radius:6px 6px 0 0;justify-content:center;align-items:flex-end;width:100%;height:100px;display:flex}.score-bar-track i{background:linear-gradient(180deg,var(--green),var(--green));border-radius:6px 6px 2px 2px;width:min(36px,70%);min-height:7px;display:block}.score-bar-item small{color:var(--ink-3);white-space:nowrap;margin-top:7px;font-size:9px}.score-line-chart{height:168px;padding:15px 6px 0}.score-line-chart svg{width:100%;height:130px;display:block;overflow:visible}.score-line-chart line{stroke:var(--line-2);stroke-width:.7px}.score-line-chart polyline{fill:none;stroke:var(--teal);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.score-line-chart circle{fill:var(--card);stroke:var(--teal);stroke-width:1.8px}.line-chart-labels{color:var(--ink-3);justify-content:space-between;margin-top:4px;font-size:9px;display:flex}.student-compare-controls{align-items:flex-end;gap:15px;margin:15px 0 12px;display:flex}.student-compare-controls label{color:var(--ink-3);align-items:center;gap:7px;font-size:10px;display:flex}.student-compare-controls select{border:1px solid var(--line);min-width:150px;color:var(--ink-2);background:var(--surface-2);border-radius:8px;padding:7px 9px;font-size:11px}.student-compare-controls>span{color:var(--ink-3);margin-bottom:8px;font-size:10px}.student-score-list{flex-direction:column;gap:10px;display:flex}.student-score-item{grid-template-columns:105px 1fr 45px;align-items:center;gap:12px;display:grid}.student-score-item>div:first-child strong,.student-score-item>div:first-child span{display:block}.student-score-item>div:first-child strong{font-size:11px}.student-score-item>div:first-child span{color:var(--ink-3);margin-top:3px;font-size:9px}.student-score-track{background:var(--line-2);border-radius:8px;height:8px;overflow:hidden}.student-score-track i{background:linear-gradient(90deg,var(--green-mid),var(--green));border-radius:inherit;height:100%;display:block}.student-score-item>b{color:var(--teal-dark);text-align:right;font-size:12px}.score-import-meta{grid-template-columns:1.4fr 1fr;gap:10px;margin-bottom:14px;display:grid}.score-target-note{border:1px solid var(--green-mid);background:var(--green-soft);color:var(--teal-dark);border-radius:9px;align-items:center;gap:8px;margin:13px 0;padding:10px 12px;font-size:11px;display:flex}.score-target-note svg{flex:none}.inline-success{color:var(--green);background:var(--green-soft);border-radius:7px;align-items:center;gap:4px;padding:5px 8px;font-size:10px;font-weight:700;display:inline-flex}.exam-row{border-bottom:1px solid var(--line);grid-template-columns:1.4fr 1fr 1fr 20px;align-items:center;gap:15px;padding:15px;display:grid}.exam-row:last-child{border-bottom:0}.exam-row strong,.exam-row span{display:block}.exam-row span{color:var(--blue);margin-top:4px;font-size:10px}.exam-row>span{margin:0}.exam-row b{color:var(--text);margin-left:4px;font-size:13px}.analysis-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.analysis-card{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:16px}.analysis-card span,.analysis-card small{color:var(--ink-3);font-size:10px;display:block}.analysis-card strong{margin:10px 0 3px;font-size:28px;display:block}.analysis-card button{color:var(--teal);align-items:center;gap:4px;margin-top:13px;font-size:11px;font-weight:700;display:inline-flex}.mini-line,.distribution{background:var(--blue-bg);border-radius:8px;height:5px;margin-top:14px;overflow:hidden}.mini-line i{background:var(--teal);width:68%;height:100%;display:block}.distribution i{background:var(--orange);border-radius:8px;height:100%;display:block}.lesson-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.lesson-card{background:var(--card);border:1px solid var(--line);border-radius:14px;flex-direction:column;min-height:195px;padding:17px;display:flex}.lesson-card.featured{background:linear-gradient(145deg,var(--green-soft),var(--card));border-color:var(--green-mid)}.lesson-card-top{color:var(--blue);justify-content:space-between;align-items:center;display:flex}.lesson-card h3{margin:18px 0 9px;font-size:15px}.lesson-card p{color:var(--ink-3);font-size:11px;line-height:1.6}.lesson-meta{color:var(--ink-3);gap:13px;margin-top:auto;margin-bottom:14px;font-size:10px;display:flex}.lesson-meta span{align-items:center;gap:4px;display:flex}.muted-label{color:var(--blue);font-size:10px}.classwork-grid{grid-template-columns:1.2fr .8fr;gap:18px;display:grid}.record-panel,.follow-panel{padding:16px}.panel-title{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.panel-title h3{font-size:14px}.panel-title>span{color:var(--ink-3);font-size:11px}.count-badge{background:var(--rose-soft);border-radius:6px;place-items:center;width:20px;height:20px;font-weight:700;display:grid;color:var(--rose)!important;font-size:10px!important}.record-row{border-top:1px solid var(--line);align-items:center;gap:11px;padding:12px 0;display:flex}.record-dot{background:var(--teal);border-radius:50%;flex:0 0 8px;width:8px;height:8px}.record-dot.orange{background:var(--orange)}.record-dot.green{background:var(--green)}.record-dot.blue{background:var(--blue)}.record-row-main{flex:1;min-width:0}.record-row strong,.record-row span{display:block}.record-row strong{font-size:12px}.record-row span,.record-row time{color:var(--blue);margin-top:4px;font-size:10px}.record-row-meta{flex-direction:column;align-items:flex-end;gap:1px;display:flex}.record-row time{white-space:nowrap;margin:0}.record-edit-button{width:26px;height:26px;color:var(--blue);border-radius:7px;flex:0 0 26px;place-items:center;display:grid}.record-edit-button:hover{background:var(--green-soft);color:var(--teal-dark)}.status.compact{padding:3px 6px;font-size:9px}.status.info{color:var(--blue);background:var(--blue-bg)}.status.muted{color:var(--ink-3);background:var(--blue-bg)}.follow-row{text-align:left;border-top:1px solid var(--line);align-items:center;gap:10px;width:100%;padding:10px 0;display:flex}.follow-row>div:nth-child(2){flex:1;min-width:0}.follow-row strong,.follow-row span{display:block}.follow-row strong{font-size:12px}.follow-row span{color:var(--blue);margin-top:4px;font-size:10px}.follow-row small.follow-plan-preview{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:9px;display:block;overflow:hidden}.follow-row-meta{flex:none;align-items:center;gap:6px;display:flex}.assistant-layout{grid-template-columns:1.4fr .7fr;gap:18px;display:grid}.chat-panel{background:var(--card);border:1px solid var(--line);border-radius:16px;flex-direction:column;min-height:620px;display:flex;overflow:hidden}.chat-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:16px 18px;display:flex}.chat-head>div:nth-child(2){flex:1}.chat-head strong,.chat-head span{display:block}.chat-head strong{font-size:12px}.chat-head span{color:var(--ink-3);margin-top:3px;font-size:10px}.online-dot{background:var(--g2);border-radius:50%;width:7px;height:7px}.messages{flex-direction:column;flex:1;gap:17px;padding:21px;display:flex;overflow:auto}.message{align-items:flex-start;gap:9px;max-width:83%;display:flex}.message.user{flex-direction:row-reverse;align-self:flex-end}.message-avatar{background:var(--green-soft);width:25px;height:25px;color:var(--teal-dark);border-radius:8px;flex:0 0 25px;place-items:center;font-size:10px;font-weight:700;display:grid}.message.user .message-avatar{background:var(--blue-bg);color:var(--blue)}.message>div:nth-child(2){background:var(--line-2);color:var(--ink-2);border-radius:11px;padding:10px 12px;font-size:12px;line-height:1.65}.message.user>div:nth-child(2){background:var(--green-soft);color:var(--green-strong)}.message-action{color:var(--teal);align-items:center;gap:4px;margin-top:9px;font-size:11px;font-weight:700;display:flex}.chat-suggestions{flex-wrap:wrap;gap:7px;padding:0 18px 11px;display:flex}.chat-suggestions button{color:var(--ink-3);background:var(--green-soft);border-radius:8px;padding:7px 10px;font-size:10px}.chat-input{border:1px solid var(--line);border-radius:11px;align-items:flex-end;gap:7px;margin:0 18px 17px;padding:8px;display:flex}.chat-input textarea{resize:none;border:0;outline:0;flex:1;height:33px;padding:5px;font-size:12px}.chat-input button{background:var(--teal);width:30px;height:30px;color:var(--card);border-radius:8px;place-items:center;display:grid}.agent-side{flex-direction:column;gap:17px;display:flex}.permission-card{background:var(--green-soft);border:1px solid var(--green-soft);color:var(--teal-dark);border-radius:14px;padding:16px}.permission-card>svg{margin-bottom:13px}.permission-card strong{font-size:13px;display:block}.permission-card p{color:var(--ink-3);margin:7px 0 13px;font-size:11px;line-height:1.6}.permission-card button{color:var(--teal-dark);font-size:11px;font-weight:700}.capability-list{padding:15px}.capability-list .panel-title{margin-bottom:6px}.capability-list>div:not(.panel-title){border-top:1px solid var(--line);color:var(--ink-3);align-items:center;gap:7px;padding:9px 0;font-size:11px;display:flex}.capability-list>div svg{color:var(--teal)}.sync-bar{border-top:1px solid var(--line);height:28px;color:var(--ink-3);z-index:4;background:#fffffff5;align-items:center;gap:12px;padding:0 22px;font-size:10px;display:flex;position:fixed;bottom:0;left:232px;right:0}.sync-bar>span,.sync-bar>button{align-items:center;gap:4px;display:flex}.sync-bar .online{color:var(--green)}.sync-bar .offline{color:var(--amber)}.sync-bar button{color:var(--teal);font-size:10px;font-weight:700}.sync-bar .sync-conflict{color:var(--amber)}.sync-spacer{flex:1}.onboarding{background:linear-gradient(135deg,#f8fcfd,var(--green-soft));min-height:100vh;padding:24px 5vw 50px}.onboard-header{justify-content:space-between;align-items:center;max-width:1140px;margin:0 auto 40px;display:flex}.onboard-links{color:var(--ink-3);gap:25px;font-size:12px;display:flex}.onboard-card{background:var(--card);border:1px solid var(--line-2);border-radius:22px;max-width:1120px;min-height:650px;margin:0 auto;padding:29px 42px 34px;position:relative;box-shadow:0 20px 50px #265d6414}.stepper{justify-content:space-between;max-width:650px;margin:0 auto 40px;display:flex;position:relative}.stepper:before{content:"";background:var(--blue-bg);z-index:0;height:1px;position:absolute;top:13px;left:26px;right:26px}.step{color:var(--blue);z-index:1;flex-direction:column;align-items:center;gap:8px;font-size:10px;display:flex;position:relative}.step-dot{border:1px solid var(--line);background:var(--card);width:27px;height:27px;color:var(--blue);border-radius:50%;place-items:center;display:grid}.step.done{color:var(--teal-dark);font-weight:700}.step.done .step-dot{background:var(--teal);border-color:var(--teal);color:var(--card)}.welcome-grid{grid-template-columns:1fr .85fr;align-items:center;gap:50px;min-height:440px;display:grid}.welcome-grid h1{letter-spacing:-.07em;margin:14px 0 17px;font-size:46px;line-height:1.23}.welcome-grid h1 em{color:var(--teal);font-style:normal}.welcome-grid p{color:var(--ink-3);max-width:440px;font-size:14px;line-height:1.75}.welcome-points{color:var(--ink-3);gap:15px;margin:25px 0 29px;font-size:11px;display:flex}.welcome-points span{align-items:center;gap:5px;display:flex}.welcome-points svg{color:var(--teal)}.hero-art{background:linear-gradient(#dff4f8 0%,#edfafa 48%,#c4e7df 49%,#91cdb9 100%);border-radius:18px;height:370px;position:relative;overflow:hidden}.hero-art:after{content:"";background:linear-gradient(145deg,var(--green-mid) 0 40%,var(--green-mid) 40% 65%,var(--green-mid) 65%);clip-path:polygon(0 30%,35% 8%,56% 27%,74% 3%,100% 24%,100% 100%,0 100%);opacity:.9;position:absolute;inset:47% 0 0}.sun{background:var(--green-mid);border-radius:50%;width:70px;height:70px;position:absolute;top:50px;right:68px;box-shadow:0 0 0 15px #ffdc9a29}.mountain{border-left:130px solid #0000;border-right:130px solid #0000;border-bottom:180px solid var(--green-mid);z-index:1;width:0;height:0;position:absolute;bottom:93px}.mountain.m1{left:-25px}.mountain.m2{border-bottom-color:var(--green);border-bottom-width:205px;border-left-width:175px;border-right-width:175px;right:-50px}.person{z-index:3;color:#173f4d;font-size:75px;position:absolute;bottom:74px;left:49%;transform:rotate(15deg)}.hero-label{z-index:4;color:var(--ink-2);font-size:13px;font-weight:700;line-height:1.6;position:absolute;bottom:21px;right:18px;transform:rotate(-4deg)}.onboard-title{text-align:center;margin-bottom:31px}.onboard-title h2{letter-spacing:-.04em;margin:8px 0;font-size:26px}.onboard-title p{color:var(--ink-3);font-size:12px}.role-layout{grid-template-columns:1.25fr .75fr;align-items:center;gap:30px;max-width:810px;margin:0 auto 28px;display:grid}.role-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.role-option{text-align:left;border:1px solid var(--line);background:var(--card);border-radius:11px;grid-template-rows:auto auto;grid-template-columns:38px 1fr;align-items:center;gap:3px 10px;padding:11px;display:grid}.role-option:hover,.role-option.selected{border-color:var(--green-mid);background:var(--green-soft)}.role-option.selected{box-shadow:inset 0 0 0 1px var(--green-mid)}.role-option>span:nth-child(2){font-size:12px;font-weight:700}.role-option small{color:var(--ink-3);grid-column:2;font-size:9px}.role-icon{background:var(--green-soft);width:35px;height:35px;color:var(--ink-3);border-radius:10px;grid-row:1/span 2;place-items:center;display:grid}.role-option.selected .role-icon{color:var(--teal);background:var(--green-soft)}.soft-panel{background:var(--green-soft);border:1px solid var(--green-soft);border-radius:15px;padding:17px}.soft-panel strong{font-size:13px}.soft-panel p{color:var(--ink-3);margin:7px 0 12px;font-size:11px;line-height:1.6}.inline-input{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:3px;display:flex}.inline-input input{border:0;outline:0;flex:1;min-width:0;padding:7px;font-size:10px}.inline-input button{background:var(--teal);width:28px;color:var(--card);border-radius:7px;place-items:center;display:grid}.mini-bot{color:var(--teal);justify-content:center;align-items:center;gap:6px;margin-top:23px;font-size:11px;display:flex}.mini-bot span{color:var(--ink-3)}.onboard-actions{justify-content:flex-end;gap:10px;margin-top:30px;display:flex}.onboard-actions .ghost{margin-right:auto}.profile-form{flex-direction:column;gap:17px;max-width:540px;margin:0 auto;display:flex}.profile-form label,.modal-field{color:var(--ink-3);flex-direction:column;gap:7px;font-size:12px;font-weight:700;display:flex}.profile-form input,.profile-form select,.profile-form textarea,.modal-field textarea{border:1px solid var(--line);background:var(--surface-2);resize:vertical;border-radius:9px;outline:0;padding:10px 11px;font-size:12px;font-weight:400}.profile-form textarea{min-height:80px}.form-row{grid-template-columns:1fr 1fr;gap:13px;display:grid}.check-line{align-items:center;flex-direction:row!important;gap:8px!important;font-weight:500!important;display:flex!important}.check-line input{accent-color:var(--teal)}.module-recommend{grid-template-columns:1fr 1fr;gap:10px;max-width:720px;margin:0 auto;display:grid}.module-toggle{text-align:left;border:1px solid var(--line);border-radius:11px;grid-template-rows:auto auto;grid-template-columns:25px 1fr;align-items:center;gap:3px 8px;padding:12px;display:grid}.module-toggle.selected{border-color:var(--green);background:var(--green-soft)}.module-check{background:var(--line-2);width:22px;height:22px;color:var(--blue);border-radius:7px;grid-row:1/span 2;place-items:center;display:grid}.module-toggle.selected .module-check{background:var(--teal);color:var(--card)}.module-toggle span:nth-child(2){font-size:12px;font-weight:700}.module-toggle small{color:var(--ink-3);font-size:10px}.generating{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:440px;display:flex}.loader-ring{width:65px;height:65px;color:var(--teal);background:var(--green-soft);box-shadow:0 0 0 11px var(--green-soft);border-radius:50%;place-items:center;animation:1.7s infinite pulse;display:grid}@keyframes pulse{50%{box-shadow:0 0 0 16px var(--green-soft);transform:scale(1.05)}}.generating h2{margin:24px 0 7px;font-size:20px}.generating p{color:var(--ink-3);font-size:12px}.gen-list{flex-wrap:wrap;justify-content:center;gap:22px;margin-top:30px;display:flex}.gen-list div{color:var(--blue);align-items:center;gap:5px;font-size:10px;display:flex}.gen-list div span{border:1px solid var(--blue-bg);border-radius:50%;place-items:center;width:19px;height:19px;display:grid}.gen-list div.finished{color:var(--teal-dark)}.gen-list div.finished span{background:var(--teal);border-color:var(--teal);color:var(--card)}.toast{color:var(--card);box-shadow:var(--shadow);z-index:20;background:#173f4d;border-radius:9px;align-items:center;gap:8px;padding:10px 14px;font-size:12px;animation:.2s ease-out toast-in;display:flex;position:fixed;bottom:42px;right:22px}.toast svg{color:#9af0d9}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0e2c3c52;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--card);border-radius:17px;width:min(500px,100%);max-height:calc(100vh - 40px);padding:22px;overflow:auto;box-shadow:0 24px 70px #13414d33}.modal.wide{width:min(630px,100%)}.modal-head{justify-content:space-between;gap:20px;margin-bottom:20px;display:flex}.modal-head h2{letter-spacing:-.04em;margin:7px 0 6px;font-size:22px}.modal-head p{color:var(--ink-3);font-size:11px;line-height:1.6}.modal-head>button{width:28px;height:28px;color:var(--blue);border-radius:7px}.modal-head>button:hover{background:var(--green-soft);color:var(--teal-dark)}.change-summary{background:var(--green-soft);border:1px solid var(--green-mid);border-radius:11px;align-items:center;gap:10px;padding:12px;display:flex}.change-icon{background:var(--green-mid);width:30px;height:30px;color:var(--teal);border-radius:9px;place-items:center;display:grid}.change-summary>div:nth-child(2){flex:1}.change-summary strong,.change-summary span{display:block}.change-summary strong{font-size:12px}.change-summary span{color:var(--ink-3);margin-top:3px;font-size:10px}.preview-tag{background:var(--amber-bg);border-radius:6px;padding:5px 7px;font-weight:700;color:var(--amber)!important}.change-list{flex-direction:column;gap:10px;margin:17px 0;display:flex}.change-list>div{grid-template-columns:20px 1fr;align-items:center;gap:2px 7px;display:grid}.change-list svg{color:var(--teal)}.change-list span{font-size:12px}.change-list small{color:var(--blue);grid-column:2;font-size:10px}.change-list b{color:var(--teal-dark)}.preview-chart{color:#d2f1e9;background:#133f56;border-radius:11px;height:100px;padding:11px 13px}.mini-chart-title{color:#a6d3cf;justify-content:space-between;font-size:10px;display:flex}.mini-bars{align-items:flex-end;gap:8px;height:55px;margin-top:10px;display:flex}.mini-bars i{background:var(--green-mid);opacity:.75;border-radius:4px 4px 1px 1px;flex:1}.modal-actions{justify-content:flex-end;gap:8px;margin-top:21px;display:flex}.review-preview{flex-direction:column;gap:13px;display:flex}.submission-header{align-items:center;gap:9px;display:flex}.submission-header>div:nth-child(2){flex:1}.submission-header strong,.submission-header span{display:block}.submission-header strong{font-size:12px}.submission-header span{color:var(--ink-3);margin-top:3px;font-size:10px}.answer-box{background:var(--blue-bg);border-radius:10px;padding:12px}.answer-box span{color:var(--ink-3);font-size:10px}.answer-box p{color:var(--ink-3);margin-top:8px;font-size:12px;line-height:1.6}.ai-note{background:var(--purple-accent-bg);color:var(--purple-accent);border-radius:10px;gap:9px;padding:12px;display:flex}.ai-note strong{font-size:11px;display:block}.ai-note p{color:var(--purple-accent);margin-top:4px;font-size:11px;line-height:1.6}.ai-note svg{flex:0 0 16px;margin-top:2px}.modal-field textarea{min-height:105px}.followup-context{background:var(--green-soft);border:1px solid var(--green-soft);border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px;display:flex}.followup-context>div:nth-child(2){flex:1}.followup-context strong,.followup-context span{display:block}.followup-context strong{font-size:11px}.followup-context span{color:var(--ink-3);margin-top:4px;font-size:10px;line-height:1.55}.record-tags{gap:7px;margin-top:11px;display:flex}.record-tags button{color:var(--ink-3);background:var(--blue-bg);border-radius:7px;padding:6px 9px;font-size:10px}.activity-list,.notification-list,.settings-list,.trend-list{flex-direction:column;display:flex}.activity-row,.notification-row,.settings-list>div,.trend-row{border-top:1px solid var(--line);align-items:center;gap:10px;padding:12px 0;display:flex}.activity-dot{background:var(--teal);border-radius:50%;width:7px;height:7px}.activity-row>div:nth-child(2),.notification-row>div:nth-child(2),.settings-list>div>span{flex:1}.activity-row strong,.activity-row span,.notification-row strong,.notification-row span,.notification-row small{display:block}.activity-row strong,.notification-row strong{font-size:11px}.activity-row span,.notification-row span,.notification-row small{color:var(--ink-3);margin-top:3px;font-size:10px}.notification-row{align-items:flex-start}.bot-avatar.orange{color:var(--orange);background:var(--orange-soft)}.settings-list>div{font-size:11px}.settings-list strong{color:var(--blue);font-size:11px}.settings-icon{background:var(--green-soft);width:28px;height:28px;color:var(--teal);border-radius:8px;place-items:center;display:grid}.empty-state{min-height:100px;color:var(--blue);place-items:center;gap:8px;font-size:11px;display:grid}.trend-row>div:nth-child(2){flex:1}.trend-row strong,.trend-row span{display:block}.trend-row strong{font-size:12px}.trend-row span{color:var(--blue);margin-top:3px;font-size:10px}.trend-spark{align-items:flex-end;gap:4px;width:65px;height:25px;display:flex}.trend-spark i{background:var(--red-bg);border-radius:3px 3px 0 0;flex:1}.mobile-tabbar{display:none}.upload-trigger{cursor:pointer;position:relative;overflow:hidden}.upload-trigger input{opacity:0;cursor:pointer;position:absolute;inset:0}.file-list{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}.file-list a{border-top:1px solid var(--line);color:var(--ink-2);align-items:center;gap:9px;padding:12px 15px;font-size:12px;text-decoration:none;display:flex}.file-list a:first-child{border-top:0}.week-strip button{min-width:0}.week-strip button>span{white-space:nowrap;display:block}.week-strip button>small{min-height:14px;color:var(--blue);margin-top:3px;font-size:10px;display:block}.week-strip button.today{border-color:var(--green-mid)}.week-strip button.active>small{color:var(--green-soft)}.file-list a svg{color:var(--teal)}.file-list a span{flex:1}.file-list a small{color:var(--ink-3)}.conflict-list{flex-direction:column;gap:10px;display:flex}.conflict-card{border:1px solid var(--amber-bg);background:var(--amber-bg);border-radius:11px;padding:12px}.conflict-card>strong{color:var(--amber);margin-bottom:8px;font-size:12px;display:block}.conflict-card>div:nth-child(2){color:var(--ink-3);word-break:break-word;flex-direction:column;gap:5px;font-size:10px;line-height:1.5;display:flex}.conflict-actions{justify-content:flex-end;gap:7px;margin-top:10px;display:flex}.connections-page{max-width:1080px}.connection-security{background:var(--green-soft);color:var(--teal-dark);border-radius:9px;align-items:center;gap:6px;padding:8px 11px;font-size:11px;font-weight:700;display:flex}.section-hint{color:var(--ink-3);font-size:10px;font-weight:500}.connection-notice{border-radius:10px;align-items:center;gap:7px;margin:-5px 0 18px;padding:10px 13px;font-size:11px;display:flex}.connection-notice.success{color:var(--green-strong);background:var(--green-soft);border:1px solid var(--green-mid)}.connection-notice.error{color:var(--red);background:var(--red-bg);border:1px solid var(--red-bg)}.connection-security-panel{border:1px solid var(--line);background:var(--line-2);color:var(--ink-3);border-radius:12px;align-items:flex-start;gap:10px;margin:-5px 0 21px;padding:12px 14px;display:flex}.security-panel-icon{background:var(--blue-bg);width:29px;height:29px;color:var(--green);border-radius:8px;flex:0 0 29px;place-items:center;display:grid}.connection-security-panel strong,.connection-security-panel span{display:block}.connection-security-panel strong{color:var(--ink-2);font-size:11px}.connection-security-panel span{margin-top:4px;font-size:10px;line-height:1.55}.loading-card{min-height:140px;color:var(--ink-3);background:var(--card);border:1px solid var(--line);border-radius:15px;justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex}.loading-card.connection-load-error{justify-content:space-between;gap:18px;padding:24px}.connection-load-error strong,.connection-load-error span{display:block}.connection-load-error strong{color:var(--ink-2);font-size:13px}.connection-load-error span{color:var(--ink-3);margin-top:6px;font-size:11px;line-height:1.5}@keyframes spin{to{transform:rotate(360deg)}}.connection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.integration-card{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:17px;box-shadow:0 8px 25px #1e535e0a}.integration-card.configured{border-color:var(--green-mid);box-shadow:0 8px 25px #1b917712}.model-builder-card{max-width:100%}.model-provider-picker{max-width:520px;margin-top:18px}.builder-meta{margin-top:16px}.configured-model-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.configured-model-card{padding:15px}.configured-model-card.active-model{border-color:var(--green-mid);box-shadow:0 8px 25px #1b917714}.configured-model-card .integration-meta{margin:13px 0 10px}.compact-meta{flex-direction:column;gap:7px}.compact-meta span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.configured-model-secret{color:var(--green);background:var(--green-soft);border:1px solid var(--green-mid);border-radius:8px;align-items:center;gap:6px;padding:8px 9px;font-size:10px;display:flex}.configured-model-card .connection-actions{flex-wrap:wrap;justify-content:flex-start}.integration-card-head{align-items:flex-start;gap:10px;display:flex}.integration-card-head>div:nth-child(2){flex:1;min-width:0}.integration-card-head h3{margin:1px 0 4px;font-size:14px}.integration-card-head p{color:var(--ink-3);margin:0;font-size:10px;line-height:1.5}.integration-logo{background:var(--green-soft);width:34px;height:34px;color:var(--teal);border-radius:10px;flex:0 0 34px;place-items:center;display:grid}.integration-logo.push{background:var(--amber-bg);color:var(--amber)}.integration-logo.channel{background:var(--blue-bg);color:var(--blue)}.connection-status{background:var(--blue-bg);color:var(--blue);border-radius:6px;flex:none;padding:5px 7px;font-size:9px;font-weight:700}.connection-status.ok{background:var(--green-soft);color:var(--green)}.integration-meta{color:var(--blue);flex-wrap:wrap;gap:7px 12px;margin:14px 0 12px;font-size:10px;display:flex}.integration-meta span{align-items:center;gap:5px;min-width:0;display:flex}.integration-meta span:last-child{word-break:break-all}.prefilled-callout{background:var(--green-soft);border:1px solid var(--green-mid);border-radius:10px;margin-bottom:13px;padding:10px 11px}.prefilled-callout strong,.prefilled-callout span{display:block}.prefilled-callout strong{color:var(--teal-dark);font-size:11px}.prefilled-callout span{color:var(--ink-3);margin-top:4px;font-size:10px;line-height:1.55}.prefilled-callout a{color:var(--teal);align-items:center;gap:4px;margin-top:7px;font-size:10px;font-weight:700;text-decoration:none;display:inline-flex}.dingtalk-quickstart{border:1px solid var(--green-mid);background:var(--green-soft);border-radius:11px;margin:14px 0 13px;padding:12px}.dingtalk-quickstart strong,.dingtalk-quickstart span{display:block}.dingtalk-quickstart strong{color:var(--teal-dark);font-size:11px}.dingtalk-quickstart span{color:var(--ink-3);margin-top:4px;font-size:10px;line-height:1.55}.dingtalk-links{flex-wrap:wrap;gap:7px 13px;margin-top:8px;display:flex}.dingtalk-links a{color:var(--teal);align-items:center;gap:4px;font-size:10px;font-weight:700;text-decoration:none;display:inline-flex}.dingtalk-steps{gap:8px;margin:13px 0;display:grid}.dingtalk-step{border:1px solid var(--line-2);background:var(--green-soft);border-radius:9px;align-items:flex-start;gap:9px;padding:9px 10px;display:flex}.dingtalk-step>b{width:20px;height:20px;color:var(--card);background:var(--teal);border-radius:50%;flex:0 0 20px;place-items:center;font-size:10px;display:grid}.dingtalk-step strong,.dingtalk-step span{display:block}.dingtalk-step strong{color:var(--ink-3);font-size:10px}.dingtalk-step span{color:var(--ink-3);margin-top:3px;font-size:9px;line-height:1.55}.dingtalk-field-section{border-top:1px solid var(--line-2);margin-top:13px;padding-top:12px}.dingtalk-field-section>strong,.dingtalk-field-section>span{display:block}.dingtalk-field-section>strong{color:var(--ink-2);font-size:11px}.dingtalk-field-section>span{color:var(--ink-3);margin:4px 0 10px;font-size:10px;line-height:1.5}.dingtalk-help-row{border:1px solid var(--green-mid);background:var(--green-soft);border-radius:11px;justify-content:space-between;align-items:center;gap:14px;margin:14px 0 13px;padding:11px 12px;display:flex}.dingtalk-help-row>div{min-width:0}.dingtalk-help-row strong,.dingtalk-help-row span{display:block}.dingtalk-help-row strong{color:var(--teal-dark);font-size:11px}.dingtalk-help-row span{color:var(--ink-3);margin-top:4px;font-size:10px;line-height:1.5}.dingtalk-help-row button{white-space:nowrap;flex:none}.dingtalk-config-summary{border:1px solid var(--green-mid);background:var(--green-soft);border-radius:11px;margin:14px 0 13px;padding:12px}.dingtalk-summary-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.dingtalk-summary-title>div:first-child{min-width:0}.dingtalk-summary-title strong,.dingtalk-summary-title span{display:block}.dingtalk-summary-title strong{color:var(--teal-dark);font-size:11px}.dingtalk-summary-title span{color:var(--ink-3);margin-top:3px;font-size:10px}.dingtalk-summary-actions{flex:none;align-items:center;gap:6px;display:flex}.dingtalk-summary-actions button{padding:7px 9px;font-size:10px}.dingtalk-summary-actions .icon-button.danger{width:31px;height:31px;color:var(--red);background:var(--red-bg);padding:0}.dingtalk-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px;margin-top:10px;display:grid}.dingtalk-summary-grid>div{min-width:0}.dingtalk-summary-grid span,.dingtalk-summary-grid b{display:block}.dingtalk-summary-grid span{color:var(--ink-3);font-size:9px}.dingtalk-summary-grid b{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:10px;overflow:hidden}.dingtalk-verify-status{color:var(--ink-3);background:var(--blue-bg);border-radius:8px;align-items:center;gap:6px;margin-top:10px;padding:8px 9px;font-size:10px;line-height:1.45;display:flex}.dingtalk-verify-status.success{color:var(--green-strong);background:var(--green-soft)}.dingtalk-verify-status.error{color:var(--red);background:var(--red-bg)}.dingtalk-verify-status.checking{color:var(--amber);background:var(--amber-bg)}.dingtalk-user-help{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 11px;display:grid}.dingtalk-user-help>div{border:1px solid var(--line-2);background:var(--surface-2);border-radius:8px;padding:8px 9px}.dingtalk-user-help b,.dingtalk-user-help span{display:block}.dingtalk-user-help b{color:var(--ink-3);font-size:10px}.dingtalk-user-help span{color:var(--ink-3);margin-top:3px;font-size:9px;line-height:1.5}.dingtalk-help-intro{border:1px solid var(--green-mid);background:var(--green-soft);color:var(--teal-dark);border-radius:10px;align-items:flex-start;gap:8px;margin-bottom:15px;padding:11px 12px;display:flex}.dingtalk-help-intro svg{flex:0 0 17px;margin-top:1px}.dingtalk-help-intro span{color:var(--ink-3);font-size:11px;line-height:1.6}.dingtalk-help-modal .dingtalk-steps{margin:0}.dingtalk-help-modal .dingtalk-step{padding:11px 12px}.dingtalk-help-modal .dingtalk-step strong{font-size:12px}.dingtalk-help-modal .dingtalk-step span{font-size:11px;line-height:1.6}.dingtalk-help-links{border-top:1px solid var(--line-2);margin-top:16px;padding-top:14px}.dingtalk-help-links>strong{color:var(--ink-2);font-size:12px}.dingtalk-help-modal .dingtalk-links{gap:9px 15px;margin-top:9px}.dingtalk-help-modal .dingtalk-links a{font-size:11px}.embedded-assistant{border:1px solid var(--green-soft);background:linear-gradient(112deg,var(--green-soft) 0%,var(--surface-2) 64%,var(--blue-bg) 100%);border-radius:15px;margin-top:24px;padding:16px 18px 17px;box-shadow:0 8px 22px #2364690d}.embedded-assistant-head{align-items:center;gap:10px;display:flex}.embedded-agent-icon{width:32px;height:32px;color:var(--teal);background:var(--card);border-radius:10px;flex:0 0 32px;place-items:center;display:grid;box-shadow:0 4px 10px #1b656014}.embedded-assistant-head>div:nth-child(2){flex:1;min-width:0}.embedded-assistant-head h2{letter-spacing:-.02em;margin-top:3px;font-size:14px}.embedded-assistant-head p{color:var(--blue);margin-top:4px;font-size:10px;line-height:1.5}.embedded-open-full{white-space:nowrap;flex:none;padding:8px 10px;font-size:11px}.embedded-agent-reply{border:1px solid var(--green-soft);color:var(--ink-3);background:var(--card);border-radius:9px;align-items:flex-start;gap:8px;margin:14px 0 10px;padding:10px 11px;font-size:11px;line-height:1.55;display:flex}.embedded-agent-reply svg{color:var(--teal);flex:none;margin-top:1px}.embedded-agent-suggestions{flex-wrap:wrap;gap:7px;margin:13px 0 10px;display:flex}.embedded-agent-suggestions button{border:1px solid var(--green-soft);color:var(--blue);text-align:left;background:#fffc;border-radius:8px;padding:7px 9px;font-size:10px;transition:all .18s}.embedded-agent-suggestions button:hover:not(:disabled){border-color:var(--green-mid);color:var(--teal-dark);background:var(--card)}.embedded-agent-suggestions button:disabled{cursor:wait;opacity:.55}.embedded-agent-input{border:1px solid var(--line);background:var(--card);border-radius:10px;align-items:center;gap:7px;padding:5px 6px 5px 10px;display:flex}.embedded-agent-input input{width:100%;min-width:0;color:var(--ink-2);background:0 0;border:0;outline:0;font-size:11px}.embedded-agent-input input::placeholder{color:var(--ink-3)}.embedded-agent-input button{width:29px;height:29px;color:var(--card);background:var(--teal);border-radius:8px;flex:0 0 29px;place-items:center;transition:all .18s;display:grid}.embedded-agent-input button:hover:not(:disabled){background:var(--teal-dark)}.embedded-agent-input button:disabled{cursor:not-allowed;opacity:.45}.assistant-action-preview{border:1px solid var(--green-soft);background:var(--green-soft);color:var(--blue);border-radius:9px;flex-direction:column;gap:4px;margin-top:9px;padding:9px 10px;font-size:10px;line-height:1.45;display:flex}.assistant-action-preview strong{color:var(--teal-dark);font-size:10px}.assistant-action-preview small{color:var(--ink-3)}.assistant-action-preview .message-action{margin-top:3px}.assistant-plan-target{color:var(--blue);flex-direction:column;gap:4px;margin-top:5px;font-size:10px;font-weight:700;display:flex}.assistant-plan-target select{border:1px solid var(--line);background:var(--card);width:100%;min-width:0;min-height:32px;color:var(--ink-2);border-radius:7px;padding:6px 8px;font-size:10px}.assistant-plan-candidate-actions{flex-wrap:wrap;gap:8px;display:flex}.assistant-plan-candidate-actions .message-action{margin-top:3px}.assistant-plan-history-confirm{color:var(--amber);flex:100%;align-items:flex-start;gap:6px;margin-top:5px;font-size:10px;font-weight:600;display:flex}.assistant-plan-history-confirm input{width:13px;height:13px;accent-color:var(--amber);flex:none;margin:1px 0 0}.assistant-pending-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.assistant-pending-actions .message-action{margin-top:3px}.assistant-pending-actions .assistant-cancel-action{color:var(--red)}.assistant-action-preview button:disabled{opacity:.55;cursor:wait}.assistant-candidate-list{border:1px solid var(--line);background:var(--card);border-radius:9px;flex-direction:column;gap:5px;margin-top:9px;padding:8px;display:flex}.assistant-candidate-list>strong{color:var(--ink-2);font-size:10px}.assistant-candidate-list button{border:1px solid var(--line-2);color:var(--ink-2);background:var(--blue-bg);text-align:left;border-radius:7px;flex-direction:column;gap:2px;padding:7px 8px;display:flex}.assistant-candidate-list button:hover:not(:disabled){border-color:var(--green-mid);background:var(--green-soft)}.assistant-candidate-list button:disabled{cursor:wait;opacity:.6}.assistant-candidate-list button span{font-size:10px;font-weight:700}.assistant-candidate-list button small{color:var(--ink-3);font-size:9px}.assistant-source-card{border:1px solid var(--line);background:var(--card);color:var(--ink-3);border-radius:9px;flex-direction:column;gap:5px;margin-top:9px;padding:8px;font-size:10px;display:flex}.assistant-source-card>strong{color:var(--ink-2);font-size:10px}.assistant-source-card>div{border-top:1px solid var(--blue-bg);justify-content:space-between;align-items:center;gap:8px;padding-top:4px;display:flex}.assistant-source-card .message-action{white-space:nowrap;flex:none;margin:0}.assistant-navigation-callout{z-index:4;border:1px solid var(--green-soft);background:var(--green-soft);color:var(--ink-3);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;padding:10px 13px;font-size:12px;display:flex;position:sticky;top:70px;box-shadow:0 5px 16px #18465414}.assistant-source-target{outline-offset:3px;transition:outline-color .2s,box-shadow .2s;outline:2px solid var(--green)!important;box-shadow:0 0 0 6px color-mix(in srgb,var(--green) 12%,transparent)!important}.assistant-fab{z-index:24;border:1px solid var(--green-mid);width:52px;height:52px;color:var(--card);background:var(--green);box-shadow:0 10px 24px color-mix(in srgb,var(--green-strong) 28%,transparent),0 0 0 5px color-mix(in srgb,var(--green-soft) 70%,transparent);border-radius:50%;place-items:center;transition:all .2s;display:grid;position:fixed;bottom:72px;right:24px}.assistant-fab:hover{background:var(--green-strong);box-shadow:0 13px 28px color-mix(in srgb,var(--green-strong) 32%,transparent),0 0 0 6px color-mix(in srgb,var(--green-soft) 85%,transparent);transform:translateY(-2px)}.assistant-fab.open{background:var(--green-strong)}.assistant-fab-dot{border:2px solid var(--card);background:var(--g2);border-radius:50%;width:10px;height:10px;position:absolute;top:2px;right:2px}.floating-assistant{z-index:23;border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffffa;border-radius:15px;width:min(360px,100vw - 36px);padding:13px;position:fixed;bottom:138px;right:24px;box-shadow:0 18px 45px #1846542e}.floating-assistant-head{border-bottom:1px solid var(--green-soft);align-items:center;gap:9px;padding-bottom:10px;display:flex}.floating-assistant-head>div:nth-child(2){flex:1;min-width:0}.floating-assistant-head strong,.floating-assistant-head span{display:block}.floating-assistant-head strong{font-size:12px}.floating-assistant-head span{color:var(--ink-3);margin-top:3px;font-size:10px;line-height:1.45}.floating-close{width:26px;height:26px;color:var(--ink-3);border-radius:7px;flex:0 0 26px;place-items:center;display:grid}.floating-close:hover{color:var(--teal-dark);background:var(--green-soft)}.floating-assistant-messages{flex-direction:column;gap:8px;max-height:228px;padding:11px 2px 4px;display:flex;overflow:auto}.floating-message{max-width:94%;color:var(--ink-3);align-items:flex-start;gap:7px;font-size:10px;line-height:1.55;display:flex}.floating-message.user{flex-direction:row-reverse;align-self:flex-end}.floating-message>div:nth-child(2){background:var(--green-soft);border-radius:9px;padding:7px 9px}.floating-message.user>div:nth-child(2){color:var(--green-strong);background:var(--green-soft)}.floating-message-avatar{width:22px;height:22px;color:var(--teal-dark);background:var(--green-soft);border-radius:7px;flex:0 0 22px;place-items:center;font-size:9px;font-weight:700;display:grid}.floating-message.user .floating-message-avatar{color:var(--blue);background:var(--blue-bg)}.floating-assistant-empty{color:var(--ink-3);background:var(--green-soft);border-radius:9px;align-items:flex-start;gap:7px;padding:10px 9px;font-size:10px;line-height:1.55;display:flex}.floating-assistant-empty svg{color:var(--teal);flex:none;margin-top:1px}.floating-assistant-suggestions{gap:6px;padding:8px 0 9px;display:flex;overflow:auto}.floating-assistant-suggestions button{border:1px solid var(--green-soft);color:var(--blue);background:var(--surface-2);border-radius:7px;flex:none;padding:6px 8px;font-size:9px}.floating-assistant-suggestions button:hover:not(:disabled){color:var(--teal-dark);border-color:var(--green-mid);background:var(--green-soft)}.floating-assistant-suggestions button:disabled{cursor:wait;opacity:.55}.floating-assistant-input{border:1px solid var(--line);background:var(--card);border-radius:9px;align-items:center;gap:6px;padding:4px 5px 4px 9px;display:flex}.floating-assistant-input input{width:100%;min-width:0;color:var(--ink-2);background:0 0;border:0;outline:0;font-size:10px}.floating-assistant-input input::placeholder{color:var(--ink-3)}.floating-assistant-input button{width:27px;height:27px;color:var(--card);background:var(--teal);border-radius:7px;flex:0 0 27px;place-items:center;display:grid}.floating-assistant-input button:hover:not(:disabled){background:var(--teal-dark)}.floating-assistant-input button:disabled{cursor:not-allowed;opacity:.45}.floating-open-full{border-top:1px solid var(--green-soft);width:100%;color:var(--teal-dark);justify-content:center;align-items:center;gap:5px;margin-top:9px;padding-top:9px;font-size:10px;font-weight:700;display:flex}.message-context{color:var(--ink-3);margin-bottom:4px;font-size:9px;display:block}.connection-fields{flex-direction:column;gap:10px;display:flex}.connection-field{color:var(--ink-3);flex-direction:column;gap:5px;font-size:10px;font-weight:700;display:flex}.connection-field span{align-items:center;gap:5px;display:flex}.connection-field b{color:var(--amber);font-size:8px;font-weight:700}.connection-field input,.connection-field select{border:1px solid var(--line);color:var(--ink-2);background:var(--surface-2);font:inherit;border-radius:8px;outline:0;min-width:0;padding:9px 10px;font-weight:400}.connection-field input:focus,.connection-field select:focus{border-color:var(--green-mid);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 11%,transparent)}.connection-field input::placeholder{color:var(--blue)}.connection-actions{justify-content:flex-end;align-items:center;gap:7px;margin-top:15px;display:flex}.connection-actions .icon-button.danger{width:31px;height:31px;color:var(--red);background:var(--red-bg)}.push-card{max-width:100%}.channel-config-grid{grid-template-columns:1fr;gap:15px;display:grid}.channel-config-card{max-width:100%}.channel-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 13px;display:grid}.channel-fields .connection-field:nth-child(3),.channel-fields .connection-field:nth-child(5),.channel-fields .connection-field:nth-child(7){grid-column:1/-1}.channel-security-note{background:var(--line-2);color:var(--blue);border-radius:8px;align-items:flex-start;gap:7px;margin-top:12px;padding:9px 10px;font-size:10px;line-height:1.5;display:flex}.channel-security-note svg{color:var(--teal);flex:none;margin-top:1px}.photo-drop{min-height:72px;margin-top:13px}.photo-preview{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;align-items:center;gap:11px;margin:12px 0;padding:9px;display:flex}.photo-preview img{object-fit:cover;background:var(--blue-bg);border-radius:8px;width:68px;height:68px}.photo-preview strong,.photo-preview span{display:block}.photo-preview strong{font-size:11px}.photo-preview span{color:var(--blue);margin-top:4px;font-size:10px;line-height:1.5}.push-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.push-fields .connection-field:last-child{grid-column:1/-1}.student-page-actions,.student-toolbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.student-cell{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.table-head .student-cell{align-items:center;gap:5px;display:flex}.field-source{color:var(--teal);font-size:8px;font-weight:700}.custom-value{color:var(--blue)}.custom-value-button{text-align:left;width:100%;color:var(--blue);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;padding:4px 6px;display:block;overflow:hidden}.custom-value-button:hover{background:var(--green-soft);color:var(--teal-dark)}.note-cell{text-align:left;border:1px solid #0000;border-radius:7px;align-items:center;gap:5px;width:100%;padding:4px 6px;font-size:11px;transition:border-color .16s,background .16s,color .16s;display:flex}.note-cell.note-cell-empty{border-style:dashed;border-color:var(--green-mid);background:var(--green-soft);color:var(--teal-dark);font-weight:600}.note-cell .note-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.note-cell .note-edit-hint{opacity:.4;transition:opacity .16s;display:inline-flex}.note-cell:hover{background:var(--green-soft);border-color:var(--green-mid);color:var(--teal-dark)}.note-cell:hover .note-edit-hint{opacity:1}.student-note-field{margin-top:13px}.student-note-field textarea{min-height:78px}.student-inline-edit{border:1px solid var(--green-mid);width:100%;min-width:0;color:var(--ink-2);background:var(--card);font:inherit;box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 11%,transparent);border-radius:6px;outline:0;padding:4px 6px}.student-source-note{color:var(--ink-3);align-items:center;gap:7px;margin-top:12px;font-size:10px;display:flex}.student-source-note svg{color:var(--teal);flex:none}.today-date{color:var(--teal);flex-wrap:wrap;align-items:baseline;gap:0 10px;display:flex}.today-date>span{font-size:12px;font-weight:800}.today-date>strong{letter-spacing:.01em;font-size:20px}.today-date>time{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.today-date>small{color:var(--blue);letter-spacing:0;flex-basis:100%;margin-top:3px;font-size:9px;font-weight:500}.greeting-title{font-size:26px}.status-copy strong{font-size:13px}.status-copy span{font-size:11px;line-height:1.45}.task-modal-summary{border:1px solid var(--green-mid);background:var(--green-soft);border-radius:10px;align-items:baseline;gap:7px;padding:11px 13px;display:flex}.task-modal-summary strong{color:var(--teal-dark);font-size:22px;line-height:1}.task-modal-summary span{color:var(--green);font-size:11px}.task-modal-summary small{color:var(--blue);margin-left:auto;font-size:10px}.task-filter-tabs{gap:5px;margin:14px 0 9px;display:flex}.task-filter-tabs button{color:var(--ink-3);border-radius:7px;padding:7px 10px;font-size:10px}.task-filter-tabs button.active{color:var(--teal-dark);background:var(--green-soft);font-weight:700}.task-modal-list{border:1px solid var(--line);border-radius:11px;overflow:hidden}.task-modal-row{text-align:left;border-bottom:1px solid var(--line);align-items:center;gap:10px;width:100%;padding:12px;display:flex}.task-modal-row:last-child{border-bottom:0}.task-modal-row:hover{background:var(--surface-2)}.task-modal-row>span:nth-child(2){flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.task-modal-icon{width:28px;height:28px;color:var(--teal);background:var(--teal-soft);border-radius:8px;flex:0 0 28px;place-items:center;display:grid}.category-row .task-modal-icon{color:var(--blue);background:var(--blue-bg)}.category-row em{white-space:nowrap}.category-row em.category-warn{color:var(--amber);background:var(--orange-soft)}.task-modal-row strong{font-size:12px}.task-modal-row small{color:var(--ink-3);font-size:10px}.task-modal-row.done strong{color:var(--ink-3);text-decoration:line-through}.task-modal-row em{color:var(--teal-dark);background:var(--green-soft);border-radius:6px;padding:4px 7px;font-size:9px;font-style:normal;font-weight:700}.task-modal-row.done em{color:var(--ink-3);background:var(--blue-bg)}.task-history{margin-top:16px}.task-history-head{align-items:baseline;gap:8px;margin-bottom:7px;display:flex}.task-history-head strong{font-size:12px}.task-history-head span{color:var(--ink-3);font-size:10px}.task-history-row{color:var(--ink-3);border-top:1px solid var(--line-2);align-items:center;gap:7px;padding:7px 0;font-size:10px;display:flex}.task-history-row svg{color:var(--teal);flex:none}.task-history-row span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.task-history-row time{color:var(--ink-3);white-space:nowrap;font-size:9px}.source-confirm{border:1px solid var(--green-mid);background:var(--green-soft);border-radius:11px;align-items:flex-start;gap:10px;margin-top:15px;padding:12px;display:flex}.source-confirm-icon{width:28px;height:28px;color:var(--teal);background:var(--green-soft);border-radius:8px;flex:none;place-items:center;display:grid}.source-confirm strong,.source-confirm span,.source-confirm small{display:block}.source-confirm strong{color:var(--teal-dark);font-size:11px}.source-confirm span{color:var(--green);margin-top:3px;font-size:11px;font-weight:700}.source-confirm small{color:var(--ink-3);margin-top:5px;font-size:10px;line-height:1.5}.source-select-label{margin-top:7px;display:block}.source-select-label select{border:1px solid var(--green-soft);width:100%;color:var(--ink-2);background:var(--card);border-radius:8px;padding:8px;font-size:10px}.course-block{cursor:pointer;transition:all .18s}.course-block:hover,.course-block.selected{border-color:var(--green-mid);box-shadow:0 5px 14px color-mix(in srgb,var(--green-strong) 8%,transparent);transform:translateY(-1px)}.course-block.selected{border-left-width:5px}.lesson-definition{margin:-8px 0 18px}.lesson-target{background:var(--blue-bg);border-radius:9px;margin:13px 0;padding:9px 10px}.lesson-target span,.lesson-target strong{display:block}.lesson-target span{color:var(--ink-3);font-size:9px}.lesson-target strong{color:var(--ink-3);margin-top:4px;font-size:10px;line-height:1.45}.form-error{background:var(--red-bg);color:var(--red);border-radius:8px;margin-top:12px;padding:9px 10px;font-size:11px}.file-drop{border:1px dashed var(--green-mid);background:var(--green-soft);color:var(--teal-dark);border-radius:12px;grid-template-rows:auto auto;grid-template-columns:28px 1fr;align-items:center;gap:3px 9px;padding:16px;display:grid}.file-drop>svg{grid-row:1/span 2}.file-drop span{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.file-drop small{color:var(--blue);font-size:10px}.import-source-box{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.import-mapping,.import-preview{margin-top:16px}.mapping-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:9px;display:flex}.mapping-head strong{font-size:12px}.mapping-head span{color:var(--ink-3);font-size:10px}.mapping-grid{grid-template-columns:1fr 1fr;gap:8px 10px;display:grid}.mapping-row{color:var(--ink-3);grid-template-columns:minmax(80px,.7fr) 1fr;align-items:center;gap:8px;font-size:10px;display:grid}.mapping-row>span{align-items:center;gap:4px;min-width:0;display:flex}.mapping-row b{color:var(--amber);font-size:8px}.mapping-row select{border:1px solid var(--line);min-width:0;color:var(--ink-2);background:var(--surface-2);border-radius:8px;padding:8px;font-size:10px}.preview-table{border:1px solid var(--line);border-radius:9px;overflow:auto}.preview-table-row{border-top:1px solid var(--line);grid-auto-columns:minmax(100px,1fr);grid-auto-flow:column;min-width:max-content;display:grid}.preview-table-row:first-child{border-top:0}.preview-table-row span{color:var(--ink-3);border-left:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;max-width:150px;padding:8px 9px;font-size:10px;overflow:hidden}.preview-table-row span:first-child{border-left:0}.preview-table-head{background:var(--line-2)}.preview-table-head span{color:var(--ink-3);font-weight:700}@media (width<=1020px){.connection-grid,.configured-model-grid{grid-template-columns:1fr}}@media (width<=760px){.section-hint{display:none}.connections-page .page-title{display:block}.connection-security{width:max-content;margin-top:12px}.integration-card{padding:14px}.push-fields{grid-template-columns:1fr}.push-fields .connection-field:last-child{grid-column:auto}.channel-fields{grid-template-columns:1fr}.channel-fields .connection-field:nth-child(3),.channel-fields .connection-field:nth-child(5),.channel-fields .connection-field:nth-child(7){grid-column:auto}.channel-panel{grid-template-columns:30px 1fr}.channel-panel-actions{grid-column:1/-1;justify-content:flex-start}.connection-actions{flex-wrap:wrap}}@media (width<=1020px){.sidebar{flex-basis:205px;width:205px}.sync-bar{left:205px}.content-wrap{padding:30px 25px 20px}.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.assistant-layout{grid-template-columns:1fr}.right-column{grid-template-columns:1fr 1fr;display:grid}.lesson-grid{grid-template-columns:repeat(2,1fr)}.assignment-overview{grid-template-columns:1fr 1.4fr}.review-pill{grid-column:1/-1}}@media (width<=760px){body{padding-bottom:54px;font-size:13px}.sidebar{z-index:15;flex-basis:238px;width:238px;transition:all .22s;position:fixed;top:0;bottom:0;left:-250px;box-shadow:14px 0 40px #0f37461f}.sidebar.open{left:0}.sync-bar{padding:0 12px;bottom:53px;left:0}.sync-bar .sync-spacer,.sync-bar>span:last-child{display:none}.topbar{gap:9px;height:58px;padding:0 14px}.mobile-menu{color:var(--ink-3);place-items:center;width:30px;height:30px;display:grid}.searchbox{flex:1;width:auto}.user-chip{display:none}.content-wrap{padding:22px 14px 18px}.page-title{margin-bottom:20px;display:block}.page-title h1{margin-top:5px;font-size:25px}.page-actions{justify-content:flex-start;margin-top:15px}.status-banner{padding:10px 12px}.status-illustration{width:58px;height:39px}.status-banner>button{display:none}.stats-grid{gap:8px;margin-bottom:21px}.stat-card{gap:8px;min-height:92px;padding:12px}.stat-icon{width:27px;height:27px}.stat-card strong{font-size:23px}.stat-card .stat-arrow{display:none}.dashboard-grid{gap:17px}.right-column{display:flex}.schedule-row{grid-template-columns:79px 1fr auto;gap:8px;padding:12px}.class-grid{grid-template-columns:1fr}.class-card{border-right:0;border-bottom:1px solid var(--line)}.class-card:last-child{border-bottom:0}.table-head{display:none}.table-row{grid-template-columns:1fr auto;gap:8px;padding:13px}.table-row>span:nth-child(2),.table-row>strong:nth-child(3),.table-row>span:nth-child(4){display:none}.student-table .status{justify-self:end}.info-callout{align-items:flex-start}.info-callout button{display:none}.week-strip{padding-bottom:3px;overflow:auto}.week-strip button{flex:0 0 120px}.classwork-grid,.assistant-layout{grid-template-columns:1fr}.assignment-overview{grid-template-columns:1fr 1.4fr;gap:10px;padding:14px}.overview-line{font-size:10px}.assignment-row{gap:9px;padding:12px 11px}.assignment-count,.assignment-row>.status{display:none}.score-hero{padding:18px}.score-chart{width:48%;height:100px}.chart-bars{gap:4px;height:78px}.analysis-grid,.lesson-grid{grid-template-columns:1fr}.exam-row{grid-template-columns:1fr auto 18px}.exam-row>span:nth-child(3){display:none}.chat-panel{min-height:560px}.agent-side{grid-template-columns:1fr 1fr;display:grid}.onboarding{padding:18px 12px 40px}.onboard-header{margin-bottom:20px;padding:0 7px}.onboard-links{gap:10px;font-size:11px}.onboard-card{border-radius:17px;min-height:calc(100vh - 100px);padding:20px 17px 25px}.stepper{margin-bottom:28px}.step span{font-size:8px}.welcome-grid{grid-template-columns:1fr;gap:18px;min-height:0}.welcome-grid h1{font-size:34px}.welcome-points{flex-direction:column;gap:8px;margin:19px 0 22px}.hero-art{height:210px}.person{font-size:55px;bottom:45px}.hero-label{font-size:10px}.role-layout{grid-template-columns:1fr;gap:16px}.role-side{display:none}.module-recommend{grid-template-columns:1fr}.onboard-actions{margin-top:24px}.modal{padding:18px}.modal-actions{flex-wrap:wrap}.modal-actions>*{flex:1}.mobile-tabbar{border-top:1px solid var(--line);z-index:16;height:53px;padding-bottom:env(safe-area-inset-bottom);background:#fffffff7;justify-content:space-around;align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-tabbar button{color:var(--blue);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:9px;display:flex;position:relative}.mobile-tabbar button.active{color:var(--teal-dark);font-weight:700}.mobile-tabbar button i{background:var(--rose);border-radius:50%;width:5px;height:5px;margin-left:17px;position:absolute;top:9px}.student-page-actions,.student-toolbar-actions{width:100%}.student-page-actions>*,.student-toolbar-actions>*{flex:1}.student-toolbar-actions{justify-content:flex-end;margin-top:9px}.toolbar{display:block}.mapping-grid,.import-source-box{grid-template-columns:1fr}.mapping-row{grid-template-columns:1fr 1.2fr}.modal.wide{width:100%}.score-insights{grid-template-columns:1fr}.score-insight-wide{grid-column:auto}.score-import-meta{grid-template-columns:1fr}.score-bar-chart{gap:8px}.student-compare-controls{flex-direction:column;align-items:flex-start;gap:8px}.student-compare-controls>span{margin-bottom:0}.student-score-item{grid-template-columns:82px 1fr 38px;gap:8px}.score-hero{gap:12px}.score-chart{width:48%}.today-date{gap:0 7px}.today-date>strong{font-size:18px}.today-date>time{font-size:14px}.greeting-title{font-size:25px}.status-copy strong{font-size:11px}.status-copy span{font-size:10px}.status-banner>button{white-space:nowrap;padding:7px 8px;font-size:10px;display:inline-flex}.task-modal-summary{flex-wrap:wrap;align-items:flex-start}.task-modal-summary small{flex-basis:100%;margin-left:0}.task-modal-row em,.task-history-row time{display:none}.dingtalk-help-row{flex-direction:column;align-items:flex-start}.dingtalk-help-row button{justify-content:center;width:100%}.dingtalk-help-modal .dingtalk-links,.dingtalk-summary-title{flex-direction:column;align-items:flex-start}.dingtalk-summary-actions{width:100%}.dingtalk-summary-actions button{flex:1}.dingtalk-user-help{grid-template-columns:1fr}.embedded-assistant{margin-top:18px;padding:14px}.embedded-assistant-head{flex-wrap:wrap;align-items:flex-start}.embedded-assistant-head>div:nth-child(2){flex:calc(100% - 44px)}.embedded-open-full{width:100%;margin-top:2px}.embedded-agent-suggestions{flex-wrap:nowrap;padding-bottom:2px;overflow:auto}.embedded-agent-suggestions button{flex:none}.assistant-navigation-callout{top:58px}.assistant-fab{width:48px;height:48px;bottom:72px;right:14px}.floating-assistant{width:calc(100vw - 24px);bottom:130px;right:12px}.floating-assistant-messages{max-height:220px}}.class-manager-modal{max-height:calc(100vh - 32px);overflow:auto}.class-manager-layout{grid-template-columns:minmax(0,1.15fr) minmax(270px,.85fr);gap:18px;display:grid}.class-manager-list,.class-manager-form{border:1px solid var(--line);background:var(--surface-2);border-radius:13px;min-width:0;padding:14px}.class-manager-list .panel-title,.class-manager-form .panel-title{margin-bottom:10px}.class-manager-row{border-top:1px solid var(--line);align-items:center;gap:10px;padding:10px 0;display:flex}.class-manager-row.active{color:var(--teal-dark)}.class-manager-icon{width:31px;height:31px;color:var(--teal-dark);background:var(--green-soft);border-radius:9px;flex:none;place-items:center;display:grid}.class-manager-copy{flex:1;min-width:0}.class-manager-copy strong,.class-manager-copy span{display:block}.class-manager-copy strong{color:var(--ink-2);font-size:12px}.class-manager-copy span{color:var(--ink-3);margin-top:3px;font-size:10px}.class-manager-row .secondary{align-items:center;gap:4px;padding:6px 8px;font-size:10px;display:inline-flex}.class-manager-form .modal-field{margin:12px 0}.class-manager-hint{align-items:flex-start;margin-top:13px;padding:10px;font-size:10px}.class-manager-hint svg{color:var(--teal);flex:none}.class-manager-footer{border-top:1px solid var(--line);padding-top:12px}.score-import-class-note{color:var(--ink-3);align-items:flex-start;margin:10px 0;font-size:11px;line-height:1.55}.score-import-class-note svg{color:var(--teal);flex:none;margin-top:1px}@media (width<=760px){.class-manager-layout{grid-template-columns:1fr}.class-manager-modal{max-height:calc(100vh - 18px)}}@media (width>=1021px){.sidebar{z-index:15;height:100vh;position:fixed;inset:0 auto 0 0;overflow-y:auto}.main-area{margin-left:232px}}@media (width>=761px) and (width<=1020px){.sidebar{z-index:15;height:100vh;position:fixed;inset:0 auto 0 0;overflow-y:auto}.main-area{margin-left:205px}}@media (width<=760px){.main-area{margin-left:0}}@media (width>=761px){.app-shell{height:100vh;overflow:hidden}.sidebar,.main-area{overscroll-behavior:contain}.main-area{height:100vh;overflow-y:auto}}.dingtalk-permission-guide{border:1px solid var(--green-mid);background:var(--green-soft);color:var(--green);border-radius:10px;margin-top:14px;padding:12px 14px;font-size:10px;line-height:1.55}.dingtalk-permission-guide strong{color:var(--teal-dark);margin-bottom:5px;font-size:11px;display:block}.dingtalk-permission-guide ul{margin:0;padding-left:18px}.dingtalk-permission-guide li+li{margin-top:3px}.dingtalk-permission-guide b{color:var(--ink-2)}.dingtalk-permission-guide small{color:var(--ink-3);margin-top:7px;font-size:9px;display:block}.objective-list{gap:10px;margin:0 0 24px;display:grid}.objective-row{border:1px solid var(--line,var(--green-soft));background:#ffffffb3;border-radius:14px;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 16px;display:flex}.objective-row>div{gap:5px;display:grid}.objective-row strong{color:var(--ink,var(--ink-2))}.objective-row span{color:var(--muted,var(--ink-2));font-size:13px}.student-record-grid{grid-template-columns:1.15fr .85fr;gap:16px;margin-top:14px;display:grid}.student-record-stack{flex-direction:column;gap:18px;margin-top:14px;display:flex}.student-record-stack>section{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:13px 14px}.student-record-stack .info-callout{margin-top:11px}.record-timeline{border:1px solid var(--line);background:var(--card);border-radius:10px;flex-direction:column;gap:0;display:flex;overflow:hidden}.record-timeline-row{border-top:1px solid var(--line);grid-template-columns:12px 1fr;gap:10px;padding:12px;display:grid}.record-timeline-row:first-child{border-top:0}.record-timeline-row .activity-dot{margin-top:5px}.record-timeline-row strong,.record-timeline-row span,.record-timeline-row small{display:block}.record-timeline-row span{color:var(--ink-2);margin-top:4px;font-size:10px}.record-timeline-row small{color:var(--blue);margin-top:5px;font-size:9px}.student-score-history{border:1px solid var(--line);background:var(--card);border-radius:10px;flex-direction:column;gap:0;display:flex;overflow:hidden}.student-score-history-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.student-score-history-row:first-child{border-top:0}.student-score-history-row strong,.student-score-history-row span{display:block}.student-score-history-row span{color:var(--ink-3);margin-top:4px;font-size:9px}.student-score-history-row b{color:var(--teal-dark);white-space:nowrap}.lesson-card-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:13px;display:grid}@media (width<=760px){.lesson-card-actions{grid-template-columns:1fr}}.assignment-draft-fields{border:1px solid var(--line);background:var(--green-soft);border-radius:10px;grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;margin:14px 0;padding:12px;display:grid}.ai-review-result{border:1px solid var(--green-soft);background:var(--green-soft);border-radius:14px;margin-top:16px;padding:16px}.ai-review-result p{margin:8px 0 4px;line-height:1.7}.assignment-draft-fields .modal-field{margin:0}@media (width<=760px){.assignment-draft-fields,.student-record-grid{grid-template-columns:1fr}}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:color-mix(in srgb,var(--green) 22%,transparent)}.sidebar{background:var(--card);flex-basis:232px;width:232px}.brand{color:var(--text)}.brand-mark{background:linear-gradient(135deg,var(--green-strong),var(--g2));box-shadow:0 4px 12px color-mix(in srgb,var(--green) 18%,transparent)}.workspace-switcher{background:var(--green-soft);border:1px solid var(--line)}.nav-item{color:var(--ink-2);border-radius:10px;gap:10px;padding:9px 10px}.nav-item:hover{color:var(--teal-dark);background:var(--green-soft)}.nav-item.active{color:var(--teal-dark);background:var(--teal-soft)}.sidebar-bottom{border-color:var(--line-2)}.main-area{background:var(--bg)}.topbar{border-color:var(--line);background:#fffffff0;height:62px;padding:0 30px}.searchbox{background:var(--green-soft);border-color:var(--line)}.content-wrap{padding:26px 30px 28px}.page-title{align-items:flex-end;gap:16px;margin-bottom:20px}.page-title h1{letter-spacing:-.025em;margin:3px 0 5px;font-size:24px;line-height:1.3}.page-title p{color:var(--muted);font-size:13px}.eyebrow{color:var(--teal);letter-spacing:.08em;font-size:11px}.primary,.secondary,.ghost{border-radius:10px;padding:8px 13px;font-size:13px}.primary{background:var(--teal);box-shadow:0 3px 9px color-mix(in srgb,var(--green) 14%,transparent)}.primary:hover{background:var(--teal-dark)}.secondary{border-color:var(--line);color:var(--ink-2)}.secondary:hover{border-color:var(--green-mid);color:var(--teal-dark)}.segmented{background:var(--line-2)}.segmented button.active{color:var(--teal-dark)}.status-banner{min-height:78px;color:var(--card);background:linear-gradient(100deg,var(--green-strong),var(--g2));box-shadow:0 6px 16px color-mix(in srgb,var(--green-strong) 12%,transparent);border:0;border-radius:14px;gap:14px;margin-bottom:18px;padding:15px 17px}.status-icon{width:42px;height:42px;color:var(--card);background:#ffffff29;border-radius:11px;flex:none;place-items:center;display:grid}.status-copy{flex:1;min-width:0}.status-copy strong{color:var(--card);font-size:14px;font-weight:650;display:block}.status-copy span{color:#ffffffd4;margin-top:3px;font-size:12px;line-height:1.45;display:block}.status-banner>button{color:var(--card);background:#ffffff24;border:1px solid #ffffff52;border-radius:9px;flex:none;align-items:center;gap:6px;margin-left:auto;padding:8px 11px;font-size:12px;font-weight:650;display:inline-flex}.status-banner>button:hover{background:#ffffff3b}.stats-grid{gap:14px;margin-bottom:18px}.stat-card{border-color:var(--line);min-height:100px;box-shadow:var(--shadow);border-radius:14px;padding:14px 16px}.stat-card:hover{box-shadow:0 5px 16px #173c2814}.stat-icon{border-radius:9px}.stat-card span{color:var(--muted)}.stat-card strong{color:var(--text);font-size:26px}.stat-card strong small{color:var(--muted)}.stat-arrow{color:var(--ink-3)}.dashboard-grid{grid-template-columns:minmax(0,2fr) minmax(290px,1fr);gap:14px}.main-column,.right-column{gap:14px}.dashboard .section{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:14px;overflow:hidden}.dashboard .section-head{border-bottom:1px solid var(--line-2);min-height:48px;margin:0;padding:13px 16px}.dashboard .section-head h2{color:var(--text);font-size:14px;font-weight:650}.dashboard .link-button{color:var(--teal);font-size:12px}.dashboard .schedule-list,.dashboard .task-list,.dashboard .class-grid{box-shadow:none;background:0 0;border:0;border-radius:0}.dashboard .schedule-row{border-color:var(--line-2);grid-template-columns:112px minmax(0,1fr) auto;gap:12px;padding:12px 16px}.dashboard .schedule-row time{color:var(--teal-dark);background:var(--teal-soft);border-radius:999px;justify-content:center;padding:4px 8px;font-size:11px;display:inline-flex}.dashboard .schedule-row strong{color:var(--text);font-size:13px}.dashboard .schedule-row span{color:var(--muted);font-size:12px}.dashboard .schedule-row em{color:var(--ink-3);font-size:11px}.dashboard .schedule-row.current{background:var(--green-soft)}.dashboard .schedule-row.current em{color:var(--teal-dark)}.dashboard .task-row{border-color:var(--line-2);gap:10px;padding:12px 15px}.dashboard .task-row strong{color:var(--text);font-size:12px}.dashboard .task-row small{color:var(--muted)}.dashboard .checkbox{border-color:var(--line);border-radius:5px}.dashboard .task-row.done .checkbox{background:var(--teal);border-color:var(--teal)}.dashboard .class-card{border-color:var(--line-2);padding:14px 15px}.dashboard .class-card strong{color:var(--text)}.dashboard .class-metrics{color:var(--muted)}.dashboard .class-metrics b{color:var(--text)}.dashboard .progress{background:var(--green-soft)}.dashboard .assistant-card{border-color:var(--green-soft);background:linear-gradient(120deg,var(--green-soft),var(--green-soft));box-shadow:none}.dashboard .assistant-card .section-head{border-color:var(--green-soft)}.dashboard .assistant-card .assistant-head strong{color:var(--text)}.dashboard .assistant-card .assistant-input{border-color:var(--green-soft)}.dashboard .section .empty-state{color:var(--muted);padding:24px 16px}@media (width>=1021px){.sidebar{flex-basis:232px;width:232px}.main-area{margin-left:232px}}@media (width>=761px) and (width<=1020px){.sidebar{flex-basis:205px;width:205px}.main-area{margin-left:205px}.topbar{padding:0 24px}.content-wrap{padding:25px 24px}}@media (width<=1020px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}.dashboard-grid>*{min-width:0}}@media (width<=760px){.topbar{height:58px;padding:0 14px}.content-wrap{padding:22px 14px 18px}.dashboard .page-title{gap:12px}.dashboard .page-title h1{font-size:24px}.status-banner{align-items:flex-start;gap:10px;padding:12px}.status-icon{border-radius:9px;width:34px;height:34px}.status-copy strong{font-size:11px}.status-copy span{font-size:10px}.status-banner>button{white-space:nowrap;padding:7px 8px;font-size:10px;display:inline-flex}.dashboard .schedule-row{grid-template-columns:86px minmax(0,1fr);gap:9px;padding:11px 12px}.dashboard .schedule-row em{grid-column:2}}.exam-row>div:first-child .link-button{text-align:left;color:var(--teal-dark);margin-top:7px;padding:0;font-size:10px;display:block}.modal.report-modal{width:min(1120px,100%);max-height:calc(100vh - 28px);padding:24px;overflow:auto}.report-backdrop{padding:14px}.report-child-backdrop{z-index:31;background:#0e2c3c6b}.report-modal-head{align-items:flex-start}.report-head-actions{align-items:center;gap:7px;display:flex}.report-head-actions>button{white-space:nowrap}.report-head-actions .report-close{width:30px;height:30px;color:var(--ink-3);border-radius:8px;place-items:center;display:grid}.report-head-actions .report-close:hover{background:var(--line-2);color:var(--teal-dark)}.report-history-strip{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 16px;padding:10px 12px;display:flex}.report-history-strip strong{color:var(--ink-3);margin-right:3px;font-size:10px}.report-history-strip button{border:1px solid var(--blue-bg);color:var(--ink-3);border-radius:7px;padding:5px 8px;font-size:10px}.report-history-strip button.selected{border-color:var(--green-mid);color:var(--green-strong);background:var(--green-soft)}.report-content{flex-direction:column;gap:14px;display:flex}.report-section{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:17px}.modal.score-report-builder{width:min(900px,100%)}.report-builder-section{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;margin:12px 0;padding:14px}.report-builder-section h3{margin:0 0 10px;font-size:13px}.report-scope-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;display:grid}.report-scope-option{border:1px solid var(--line);background:var(--card);text-align:left;border-radius:9px;flex-direction:column;align-items:flex-start;gap:5px;min-height:78px;padding:9px;display:flex}.report-scope-option strong{color:var(--ink-2);font-size:10px}.report-scope-option span{color:var(--ink-3);font-size:9px;line-height:1.5}.report-scope-option.selected{border-color:var(--green-mid);background:var(--green-soft);box-shadow:0 0 0 1px var(--green-mid) inset}.report-exam-picker{border:1px solid var(--line);background:var(--card);border-radius:9px;max-height:215px;margin-top:11px;overflow:auto}.report-exam-picker-head{z-index:1;border-bottom:1px solid var(--line);background:var(--line-2);color:var(--ink-3);justify-content:space-between;padding:9px 11px;font-size:10px;display:flex;position:sticky;top:0}.report-exam-option{border-bottom:1px solid var(--line-2);cursor:pointer;align-items:flex-start;gap:9px;padding:9px 11px;display:flex}.report-exam-option:last-child{border-bottom:0}.report-exam-option.selected{background:var(--green-soft)}.report-exam-option input{accent-color:var(--teal);margin:3px 0 0}.report-exam-option span{gap:3px;display:grid}.report-exam-option strong{color:var(--ink-2);font-size:10px}.report-exam-option small{color:var(--ink-3);font-size:9px}.report-benchmark-fields{border:1px solid var(--blue-bg);background:var(--blue-bg);border-radius:10px;margin-top:11px;padding:12px}.report-benchmark-fields>strong{color:var(--ink-2);font-size:11px}.report-benchmark-fields>p{color:var(--ink-3);margin:4px 0 9px;font-size:9px;line-height:1.55}.report-builder-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.report-builder-fields .modal-field{margin:0}.report-builder-fields .modal-field input{min-width:0}.report-builder-heading{justify-content:space-between;gap:10px;display:flex}.report-builder-heading p{color:var(--ink-3);margin:4px 0 10px;font-size:9px}.report-style-sources{align-items:flex-start;gap:12px;display:flex}.report-style-sources a{color:var(--teal-dark);white-space:nowrap;align-items:center;gap:4px;font-size:9px;display:inline-flex}.report-style-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.report-style-card{border:1px solid var(--line);background:var(--card);text-align:left;border-radius:10px;flex-direction:column;gap:5px;min-width:0;padding:8px;display:flex}.report-style-card.selected{border-color:var(--green);box-shadow:0 0 0 1px var(--green-mid) inset}.report-style-card>strong{color:var(--ink-2);font-size:10px}.report-style-card>small{color:var(--ink-3);font-size:9px;line-height:1.45}.report-style-preview{border:1px solid;border-radius:7px;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:4px;height:59px;padding:7px;display:grid;overflow:hidden}.report-style-preview i{border-radius:4px;grid-column:1/-1;height:6px}.report-style-preview b{border:1px solid;border-radius:4px;height:28px;display:block}.report-style-preview b:nth-of-type(2){height:20px}.report-style-preview--swiss,.report-style-preview--ikb-swiss,.report-style-preview--lemon-swiss{border-radius:2px}.report-style-preview--swiss b,.report-style-preview--ikb-swiss b,.report-style-preview--lemon-swiss b{border-radius:0}.report-style-preview--editorial,.report-style-preview--vintage-editorial{grid-template-columns:1fr 2fr}.report-style-preview--editorial i,.report-style-preview--vintage-editorial i{height:3px}.report-style-preview--notebook{background-image:repeating-linear-gradient(0deg,#0000 0 9px,#3c645a1a 10px)}.report-style-preview--bold-signal,.report-style-preview--terminal-green{border-radius:2px}.report-style-preview--bold-signal b,.report-style-preview--terminal-green b{border-radius:0}.report-style-preview--electric-studio{background-image:linear-gradient(90deg,#4361ee21 0 34%,#0000 34%)}.report-style-preview--pastel b{border-radius:12px}.report-style-current{border:1px solid;border-radius:8px;align-items:center;gap:7px;margin-top:9px;padding:8px 10px;font-size:9px;display:flex}.report-style-current i{border-radius:50%;width:10px;height:10px}.report-builder-notes{background:var(--line-2);color:var(--blue);border-radius:8px;align-items:flex-start;gap:8px;padding:10px;font-size:9px;line-height:1.55;display:flex}.report-builder-notes strong{color:var(--ink-2);white-space:nowrap}.report-benchmark-result{border-left:3px solid var(--teal);background:var(--green-soft);color:var(--ink-2);gap:5px;margin-top:12px;padding:11px;font-size:10px;display:grid}.report-benchmark-result small,.report-comparison-notes small{color:var(--ink-3);font-size:9px}.report-benchmark-deltas{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);border-radius:9px;gap:8px;margin-top:9px;padding:11px;font-size:10px;display:grid}.report-benchmark-deltas>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.report-benchmark-deltas article{background:var(--line-2);border-radius:7px;gap:4px;padding:8px;display:grid}.report-benchmark-deltas small{color:var(--ink-3);font-size:9px}.report-benchmark-deltas b{color:var(--teal-dark)}.report-comparison-notes{gap:4px;margin-top:10px;display:grid}.report-content[data-report-style] .report-section{color:var(--report-ink);border-color:var(--report-line);background:var(--report-surface)}.report-content[data-report-style] .report-section-head h3,.report-content[data-report-style] .report-metrics-grid strong{color:var(--report-ink)}.report-content[data-report-style] .report-section-head p,.report-content[data-report-style] .report-metrics-grid small{color:var(--report-muted)}.report-content[data-report-style] .report-table th{color:var(--report-accent);background:var(--report-bg)}.report-content[data-report-style] .report-table td{color:var(--report-ink);border-color:var(--report-line)}.report-content[data-report-style] .report-metrics-accent strong,.report-content[data-report-style] .report-benchmark-deltas b{color:var(--report-accent)}.report-content[data-report-style] .report-provisional-summary{border-left:3px solid var(--report-accent)}.report-provisional-distribution{border-top:1px solid var(--report-line);gap:10px;margin-top:14px;padding-top:12px;display:grid}.report-provisional-distribution>strong{color:var(--report-ink);font-size:11px}.report-content[data-report-style] .report-provisional-summary .report-metrics-grid article{background:var(--report-bg)}.report-content[data-report-style] .report-footnote,.report-content[data-report-style] .report-comparison-notes small,.report-content[data-report-style] .report-benchmark-result small{color:var(--report-muted)}.report-content[data-report-style=swiss] .report-section,.report-content[data-report-style=ikb-swiss] .report-section,.report-content[data-report-style=lemon-swiss] .report-section{border-left:3px solid var(--report-accent);border-radius:2px}.report-content[data-report-style=editorial] .report-section,.report-content[data-report-style=vintage-editorial] .report-section{border-radius:4px}.report-content[data-report-style=notebook] .report-section{border-left:4px solid var(--report-accent)}.report-content[data-report-style=bold-signal] .report-section,.report-content[data-report-style=terminal-green] .report-section{border-radius:4px}.report-content[data-report-style=bold-signal] .report-metrics-grid article,.report-content[data-report-style=terminal-green] .report-metrics-grid article{background:var(--report-bg)}.report-content[data-report-style=bold-signal] .report-benchmark-result,.report-content[data-report-style=terminal-green] .report-benchmark-result{color:var(--report-ink);border-color:var(--report-accent);background:var(--report-bg)}.report-content[data-report-style=bold-signal] .report-benchmark-deltas,.report-content[data-report-style=terminal-green] .report-benchmark-deltas{color:var(--report-ink);border-color:var(--report-line);background:var(--report-bg)}.report-content[data-report-style=bold-signal] .report-benchmark-deltas article,.report-content[data-report-style=terminal-green] .report-benchmark-deltas article{background:var(--report-surface)}.report-content[data-report-style=editorial] .report-section-head h3,.report-content[data-report-style=vintage-editorial] .report-section-head h3{border-bottom:1px solid var(--report-line);padding-bottom:6px}@media (width<=760px){.report-scope-grid,.report-style-grid,.report-builder-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.report-builder-heading{flex-direction:column}.report-style-sources{flex-wrap:wrap}.report-benchmark-deltas>div{grid-template-columns:1fr}}.report-section-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:13px;display:flex}.report-section-head h3,.report-method h3{margin:0;font-size:14px}.report-section-head p,.report-method p{color:var(--ink-3);margin:5px 0 0;font-size:10px;line-height:1.55}.report-section-head>span{color:var(--ink-3);white-space:nowrap;font-size:10px}.report-metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.report-metrics-grid article{background:var(--line-2);border-radius:9px;min-height:75px;padding:12px}.report-metrics-grid small,.report-metrics-grid strong{display:block}.report-metrics-grid small{color:var(--ink-3);font-size:10px}.report-metrics-grid strong{color:var(--ink-2);margin-top:8px;font-size:22px;line-height:1.15}.report-metrics-accent article{background:var(--green-soft)}.report-metrics-accent strong{color:var(--green-strong)}.report-warning{border:1px solid var(--amber-bg);background:var(--amber-bg);color:var(--amber);border-radius:10px;gap:10px;padding:12px;display:flex}.report-warning svg{flex:none}.report-warning strong,.report-warning span{display:block}.report-warning strong{font-size:11px}.report-warning span{margin-top:4px;font-size:10px;line-height:1.6}.report-history-warning{background:var(--amber-bg);color:var(--amber);border-radius:8px;padding:10px 12px;font-size:10px}.report-chart-list{flex-direction:column;gap:13px;max-width:760px;display:flex}.report-chart-row{color:var(--ink-3);grid-template-columns:85px 1fr 52px;align-items:center;gap:12px;font-size:10px;display:grid}.report-chart-row strong{color:var(--ink-2);text-align:right}.report-chart-track{background:var(--line-2);border-radius:8px;height:12px;overflow:hidden}.report-chart-track i{border-radius:inherit;background:linear-gradient(90deg,var(--green-mid),var(--green));height:100%;display:block}.report-footnote{color:var(--ink-3);margin-top:12px;font-size:10px;display:block}.report-history-comparison{grid-template-columns:1fr 1fr;gap:12px;display:grid}.report-history-comparison>strong{background:var(--line-2);color:var(--ink-2);border-radius:9px;padding:12px;font-size:21px}.report-history-comparison small{color:var(--ink-3);margin-top:5px;font-size:10px;font-weight:400;display:block}.report-history-comparison p{color:var(--ink-3);grid-column:1/-1;margin:0;font-size:10px;line-height:1.6}.report-table-wrap{width:100%;overflow:auto}.report-table{border-collapse:collapse;width:100%;font-size:10px}.report-table th,.report-table td{border-bottom:1px solid var(--blue-bg);text-align:left;white-space:nowrap;padding:9px 10px}.report-table th{color:var(--ink-3);background:var(--line-2);font-weight:700}.report-table td{color:var(--ink-2)}.report-filter-row{background:var(--line-2);color:var(--ink-3);border-radius:9px;flex-wrap:wrap;align-items:end;gap:10px;margin:0 0 12px;padding:10px;font-size:10px;display:flex}.report-filter-row label{color:var(--ink-2);align-items:center;gap:7px;font-weight:700;display:flex}.report-filter-row select{border:1px solid var(--blue-bg);background:var(--card);min-width:125px;color:var(--ink-2);border-radius:7px;padding:7px 9px}.report-filter-row>span{margin-left:auto}.report-scope-bar{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;gap:9px;margin:0 0 12px;padding:11px 12px;display:grid}.report-scope-label{color:var(--ink-3);align-items:center;gap:6px;font-size:10px;font-weight:700;display:inline-flex}.report-scope-chips{flex-wrap:wrap;gap:8px;display:flex}.report-scope-chip{border:1px solid var(--line);background:var(--card);color:var(--ink-2);border-radius:9px;align-items:baseline;gap:7px;padding:7px 11px;transition:all .16s;display:flex}.report-scope-chip strong{white-space:nowrap;font-size:11px;font-weight:700}.report-scope-chip span{color:var(--ink-3);white-space:nowrap;font-size:9.5px}.report-scope-chip:hover{border-color:var(--green-mid);background:var(--green-soft);color:var(--green-strong)}.report-scope-chip:hover span{color:var(--green-strong)}.report-scope-chip.is-active{border-color:var(--green);background:var(--green-soft);color:var(--green-strong);box-shadow:inset 0 0 0 1px var(--green)}.report-scope-chip.is-active span{color:var(--green-strong)}.report-scope-bar>small{color:var(--ink-3);font-size:9.5px;line-height:1.6}.report-scope-note{background:var(--green-soft);color:var(--green-strong);border-radius:9px;align-items:flex-start;gap:9px;padding:10px 12px;display:flex}.report-scope-note svg{flex:none;margin-top:1px}.report-scope-note strong{font-size:11px;display:block}.report-scope-note span{color:var(--ink-2);margin-top:3px;font-size:9.5px;line-height:1.6;display:block}.report-score-scope-metrics{margin:0 0 12px}.report-score-table th:nth-child(2){width:88px}.report-score-number{color:var(--ink-3);font-variant-numeric:tabular-nums}.report-score-value{font-variant-numeric:tabular-nums;font-weight:700}.report-content[data-report-style] .report-scope-chip{border-color:var(--report-line);background:var(--report-bg);color:var(--report-muted)}.report-content[data-report-style] .report-scope-chip span{color:var(--report-muted)}.report-content[data-report-style] .report-scope-chip.is-active{border-color:var(--report-accent);color:var(--report-accent);box-shadow:inset 0 0 0 1px var(--report-accent);background:0 0}.report-content[data-report-style] .report-scope-chip.is-active span{color:var(--report-accent)}.report-content[data-report-style] .report-scope-label,.report-content[data-report-style] .report-scope-bar>small{color:var(--report-muted)}.report-content[data-report-style] .report-scope-note{background:var(--report-bg);color:var(--report-accent)}.report-content[data-report-style] .report-scope-note span,.report-content[data-report-style] .report-score-number{color:var(--report-muted)}.report-finding{border-top:1px solid var(--line-2);justify-content:space-between;align-items:center;gap:14px;padding:10px 0;display:flex}.report-finding strong,.report-finding span{display:block}.report-finding strong{font-size:11px}.report-finding span{color:var(--blue);margin-top:4px;font-size:10px}.report-finding button{white-space:nowrap}.report-export-consent{background:var(--blue-bg);color:var(--blue);border-radius:10px;flex-flow:column wrap;align-items:flex-start;gap:10px;padding:14px;font-size:11px;display:flex}.report-export-consent>strong:first-child{color:var(--ink-2);font-size:12px}.report-export-sections{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.report-export-consent label{color:var(--ink-2);align-items:center;gap:7px;font-weight:600;display:flex}.report-export-consent .report-export-personal{background:var(--card);color:var(--red);border-radius:8px;padding:8px 10px}.report-export-consent input{accent-color:var(--green)}.report-export-consent span{color:var(--blue)}.report-export-consent>strong:not(:first-child){color:var(--green-strong)}.report-notice{background:var(--green-soft);color:var(--green-strong);border-radius:8px;padding:10px 12px;font-size:10px}.report-error{border:1px solid var(--red-bg);background:var(--red-bg);color:var(--red);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:13px;font-size:11px;display:flex}.report-error .secondary{flex:none}.report-state{min-height:220px;color:var(--ink-3);flex-direction:column;justify-content:center;align-items:center;gap:9px;display:flex}.report-state svg{color:var(--green)}.report-state strong{color:var(--ink-2);font-size:14px}.report-state span{font-size:10px}.report-method{background:var(--surface-2)}.score-import-backdrop{justify-content:center;align-items:flex-start;padding:16px;display:flex;overflow:hidden auto}.modal.score-import-modal{width:min(1120px,100vw - 32px);min-width:0;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:22px;overflow:hidden auto}.score-import-modal .modal-head>div{min-width:0}.score-import-modal .modal-head p{max-width:850px}.score-import-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 15px;display:grid}.score-import-meta>*{min-width:0}.score-import-drop{border:1.5px dashed var(--green-mid);background:linear-gradient(180deg,var(--green-soft),var(--card) 88%);min-height:170px;color:var(--teal-dark);text-align:center;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:22px 18px;transition:border-color .16s,background .16s;display:flex}.score-import-drop:hover,.score-import-drop.is-dragging{border-color:var(--green);background:var(--green-soft)}.score-import-drop.is-loaded{border-style:solid;min-height:112px;padding:14px 18px}.score-import-drop.is-loaded .score-import-drop-icon{border-radius:12px;width:38px;height:38px;margin-bottom:2px}.score-import-drop-icon{background:var(--card);width:46px;height:46px;color:var(--green);border-radius:14px;place-items:center;margin-bottom:6px;transition:background .16s,color .16s;display:grid;box-shadow:0 2px 8px #173c281a}.score-import-drop.is-dragging .score-import-drop-icon{color:#fff;background:var(--green)}.score-import-drop strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;font-weight:800;overflow:hidden}.score-import-drop-hint{color:var(--ink-2);font-size:11px}.score-import-drop small{color:var(--ink-3);font-size:10px}.score-import-meta-head{justify-content:space-between;align-items:baseline;gap:10px;margin:18px 0 10px;display:flex}.score-import-meta-head strong{color:var(--ink);font-size:13px;font-weight:800}.score-import-meta-head span{font-size:10px;font-weight:700}.score-import-meta-head .is-missing{color:var(--amber)}.score-import-meta-head .is-ready{color:var(--green-strong)}.score-import-meta-wide{grid-column:1/-1}.score-import-modal .modal-field.is-missing input,.score-import-modal .modal-field.is-missing select{border-color:var(--amber);background:#fffdf5}.score-import-modal .modal-field small.score-import-auto-tag{color:var(--green-strong)}.score-import-modal .modal-field small.score-import-auto-tag.is-manual{color:var(--ink-3)}.score-import-modal .modal-field input,.score-import-modal .modal-field select{border:1px solid var(--line);background:var(--surface-2);border-radius:9px;width:100%;min-width:0;max-width:100%;padding:10px 11px;font-size:12px;font-weight:400}.score-import-modal .modal-field small{color:var(--ink-3);font-size:10px;font-weight:400;line-height:1.45}.score-import-modal .check-line{min-height:38px}.score-header-row-control{background:var(--green-soft);border:1px solid var(--green-mid);border-radius:11px;grid-template-columns:minmax(220px,.85fr) 1.15fr;align-items:end;gap:12px;margin-top:14px;padding:12px;display:grid}.score-header-row-control>span,.score-review-selector>span{color:var(--ink-3);padding-bottom:9px;font-size:11px;line-height:1.6}.score-subjects-section{margin-top:18px}.score-subjects-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.score-subjects-head>div:first-child strong,.score-subjects-head>div:first-child span{display:block}.score-subjects-head>div:first-child strong{font-size:13px}.score-subjects-head>div:first-child span{color:var(--blue);margin-top:3px;font-size:10px}.score-subjects-head>div:last-child{flex-wrap:wrap;gap:7px;display:flex}.score-subjects-head button{padding:8px 10px;font-size:11px}.score-subject-card{border:1px solid var(--green-soft);background:var(--surface-2);border-radius:11px;margin:9px 0;padding:13px}.score-subject-card-head{align-items:center;gap:8px;margin-bottom:10px;display:flex}.score-subject-card-head strong{font-size:11px}.score-subject-card-head span{color:var(--ink-3);font-size:10px}.score-subject-card-head button{width:27px;height:27px;color:var(--red);background:var(--red-bg);border-radius:7px;place-items:center;margin-left:auto;display:grid}.score-subject-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.score-subject-fields .modal-field{min-width:0;margin:0}.score-subject-fields .modal-field input,.score-subject-fields .modal-field select{width:100%;min-width:0}.score-subject-optional{border-top:1px solid var(--line-2);grid-column:1/-1;min-width:0;padding-top:9px}.score-subject-optional summary,.import-source-box details summary{color:var(--green);cursor:pointer;font-size:11px;font-weight:700}.score-subject-optional>.score-subject-fields{margin-top:10px}.import-source-box{align-items:start}.import-source-box>span{color:var(--ink-3);align-self:center;font-size:11px}.import-source-box details{min-width:0}.import-source-box details .modal-field{margin-top:8px}.score-review-selector{background:var(--line-2);border-radius:10px;align-items:flex-end;gap:12px;margin:14px 0 8px;padding:10px 12px;display:flex}.score-review-selector .modal-field{width:min(360px,100%);min-width:0;margin:0}.score-review-selector>span{padding-bottom:10px}.score-import-modal .score-import-row-list{max-height:300px}.score-import-modal .modal-actions{z-index:2;background:linear-gradient(180deg,#ffffffdb,var(--card) 36%);padding:12px 0 2px;position:sticky;bottom:-22px}@media (width<=900px){.modal.score-import-modal{width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:16px}.score-subject-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.score-import-modal .modal-actions{bottom:-16px}}@media (width<=620px){.score-import-backdrop{padding:8px}.modal.score-import-modal{border-radius:14px;width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:14px}.score-import-modal .modal-head{gap:10px}.score-import-modal .modal-head h2{font-size:19px}.score-import-meta,.score-subject-fields,.score-header-row-control{grid-template-columns:minmax(0,1fr)}.score-subjects-head{flex-direction:column;align-items:flex-start}.score-review-selector{flex-direction:column;align-items:stretch;gap:5px}.score-review-selector .modal-field{width:100%}.score-header-row-control>span,.score-review-selector>span{padding:0}.score-import-modal .modal-actions{flex-wrap:wrap;bottom:-14px}.score-import-modal .modal-actions>*{flex:100%}.score-import-analysis-row{grid-template-columns:34px minmax(0,1fr) auto}.score-import-analysis-row .secondary,.score-import-analysis-row .link-button,.score-import-analysis-pending,.score-import-analysis-html{grid-column:2/-1;justify-self:start}}@media (width<=760px){.modal.report-modal{max-height:calc(100vh - 12px);padding:15px}.report-backdrop{padding:6px}.report-modal-head{flex-direction:column}.report-head-actions{flex-wrap:wrap;width:100%}.report-head-actions>button{flex:1}.report-head-actions .report-close{flex:0 0 32px}.report-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-history-comparison{grid-template-columns:1fr}.report-history-comparison p{grid-column:auto}.report-section-head{flex-direction:column}.report-finding{flex-direction:column;align-items:flex-start}}.score-import-summary{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.score-import-summary span{background:var(--blue-bg);color:var(--ink-2);border-radius:9px;padding:7px 10px;font-size:12px}.score-import-results-note{border:1px solid var(--green-soft);background:var(--green-soft);color:var(--green-strong);border-radius:10px;align-items:center;gap:10px;margin:4px 0 14px;padding:12px 14px;font-size:11px;line-height:1.6;display:flex}.score-import-results-note svg{color:var(--green);flex:none}.score-import-analysis-list{flex-direction:column;gap:8px;display:flex}.score-import-analysis-row{border:1px solid var(--green-soft);background:var(--card);border-radius:10px;grid-template-columns:38px minmax(160px,1fr) auto auto auto;align-items:center;gap:9px;min-width:0;padding:11px;display:grid}.score-import-analysis-icon{width:34px;height:34px;color:var(--green);background:var(--green-soft);border-radius:9px;place-items:center;display:grid}.score-import-analysis-copy{min-width:0}.score-import-analysis-copy strong,.score-import-analysis-copy span,.score-import-analysis-copy small{display:block}.score-import-analysis-copy strong{color:var(--ink-2);font-size:12px}.score-import-analysis-copy span,.score-import-analysis-copy small{color:var(--blue);margin-top:3px;font-size:10px;line-height:1.4}.score-import-analysis-row .secondary,.score-import-analysis-row .link-button{white-space:nowrap;justify-content:center;align-items:center;gap:5px;font-size:10px;display:inline-flex}.score-import-analysis-pending,.score-import-analysis-html{color:var(--ink-3);white-space:nowrap;align-items:center;gap:5px;font-size:10px;display:inline-flex}.score-import-analysis-pending svg{color:var(--green);animation:1.2s linear infinite score-analysis-spin}@keyframes score-analysis-spin{to{transform:rotate(360deg)}}.score-import-match-warning{border:1px solid var(--amber-bg);background:var(--amber-bg);color:var(--amber);border-radius:10px;margin:10px 0;padding:11px 13px;font-size:11px;line-height:1.6}.score-import-row-list{border:1px solid var(--line);border-radius:12px;max-height:320px;overflow:auto}.score-import-row-list table{border-collapse:collapse;width:100%;font-size:12px}.score-import-row-list th,.score-import-row-list td{border-bottom:1px solid var(--blue-bg);text-align:left;vertical-align:top;padding:9px 10px}.score-import-row-list th{background:var(--line-2);color:var(--ink-3);z-index:1;position:sticky;top:0}.score-import-row-list td small{color:var(--ink-3);margin-top:3px;display:block}.score-import-row-list tr.invalid{background:var(--red-bg)}.score-import-row-list tr.pending{background:var(--amber-bg)}.score-row-error{color:var(--red)}.score-row-success{color:var(--green-strong)}.score-row-pending{color:var(--amber);margin-bottom:5px;display:block}.score-import-row-list select{border:1px solid var(--line);min-width:170px;color:var(--ink-2);background:var(--card);border-radius:8px;padding:6px 8px}.report-student-link{color:var(--green-strong);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.report-student-link:hover{color:var(--green-strong)}.report-back-button{align-self:flex-start}.report-back-chevron{transform:rotate(180deg)}.report-student-drilldown .student-score-list{max-height:55vh;overflow:auto}.scores-workbench{flex-direction:column;gap:15px;min-width:0;display:flex}.scores-workbench .page-title{margin-bottom:2px}.scores-workbench .page-actions{max-width:650px}.scores-scope-pill{border:1px solid var(--green-mid);background:var(--green-soft);color:var(--green-strong);border-radius:999px;align-self:flex-start;align-items:center;gap:10px;padding:6px 8px 6px 12px;font-size:10.5px;font-weight:700;display:flex}.scores-scope-pill button{background:var(--card);color:var(--green-strong);cursor:pointer;border:0;border-radius:999px;padding:4px 9px;font-size:10px;font-weight:700}.scores-scope-pill button:hover{background:var(--green);color:#fff}.scores-metric-select select{outline-color:var(--green-mid);min-width:124px;height:36px;color:var(--ink);background:var(--card);border:1px solid #d7dfd8;border-radius:8px;padding:0 10px;font-size:11.5px;font-weight:600;transition:all .16s}.scores-alert-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.scores-alert-strip>article{border:1px solid var(--amber-bg);background:var(--amber-bg);border-radius:11px;flex-direction:column;align-items:stretch;min-width:0;padding:7px 10px 9px;display:flex}.scores-alert-main{text-align:left;min-width:0;color:var(--ink-2);background:0 0;border:0;align-items:center;gap:9px;padding:3px 2px;display:flex}.scores-alert-main:hover{color:var(--amber)}.scores-alert-main>span:nth-child(2){flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.scores-alert-roster{border:1px solid var(--green-soft);color:var(--green-strong);background:var(--green-soft);border-radius:7px;align-self:flex-start;margin:5px 0 0 40px;padding:5px 9px;font-size:10px;font-weight:700}.scores-alert-roster:hover{border-color:var(--green-mid);background:var(--green-soft)}.scores-alert-strip strong{color:var(--amber);font-size:11px}.scores-alert-strip small{color:var(--amber);font-size:10px;line-height:1.45}.scores-alert-icon{width:29px;height:29px;color:var(--amber);background:var(--amber-bg);border-radius:9px;flex:0 0 29px;place-items:center;display:grid}.scores-subject-report-grid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:9px;display:grid}.scores-subject-report-card{border:1px solid var(--line);background:linear-gradient(145deg,var(--surface-2),var(--card));border-radius:11px;min-width:0;padding:11px}.scores-subject-report-heading{align-items:center;gap:9px;min-width:0;display:flex}.scores-subject-report-heading>span{width:30px;height:30px;color:var(--green);background:var(--green-soft);border-radius:9px;flex:0 0 30px;place-items:center;display:grid}.scores-subject-report-heading>div{flex-direction:column;gap:3px;min-width:0;display:flex}.scores-subject-report-heading strong{color:var(--ink-2);font-size:11px}.scores-subject-report-heading small{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.scores-subject-report-status{color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;gap:5px;margin:10px 0;font-size:9px;display:flex}.scores-subject-report-status span:first-child{color:var(--green-strong);font-weight:700}.scores-subject-report-actions{align-items:center;gap:9px;display:flex}.scores-subject-report-actions .secondary{align-items:center;gap:4px;padding:6px 8px;font-size:9px;display:inline-flex}.scores-subject-report-actions .link-button,.scores-subject-report-wait{font-size:9px}.scores-subject-report-wait{color:var(--ink-3)}.scores-workbench-lead-grid,.scores-signal-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:14px;min-width:0;display:grid}.scores-workbench .section{min-width:0}.scores-workbench .section>.section-head{margin-bottom:9px}.scores-priority-list,.scores-important-list{flex-direction:column;gap:8px;display:flex}.scores-priority-card{border:1px solid var(--line);text-align:left;background:var(--card);width:100%;min-width:0;color:var(--ink-3);border-radius:11px;align-items:center;gap:10px;padding:11px 12px;display:flex}.scores-priority-card:hover,.scores-important-card:hover{border-color:var(--green-mid);box-shadow:0 5px 15px color-mix(in srgb,var(--green-strong) 6%,transparent)}.scores-priority-mark{width:32px;height:32px;color:var(--green-strong);background:var(--green-soft);border-radius:10px;flex:0 0 32px;place-items:center;display:grid}.scores-priority-card.priority-finding .scores-priority-mark{color:var(--amber);background:var(--amber-bg)}.scores-priority-copy{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.scores-priority-copy strong{color:var(--ink-2);font-size:11px}.scores-priority-copy small,.scores-priority-copy em{color:var(--ink-3);font-size:10px;font-style:normal;line-height:1.45}.scores-priority-copy em{color:var(--amber)}.scores-important-card{border:1px solid var(--line);background:var(--card);border-radius:11px;padding:12px}.scores-important-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.scores-important-head>div{flex-direction:column;gap:4px;min-width:0;display:flex}.scores-important-head strong{color:var(--ink-2);font-size:12px}.scores-important-head span:not(.importance-pill){color:var(--ink-3);font-size:10px}.importance-pill{width:max-content;color:var(--blue);background:var(--line-2);white-space:nowrap;border-radius:7px;padding:4px 7px;font-size:9px;font-weight:700;display:inline-flex}.importance-pill.important{color:var(--amber);background:var(--amber-bg)}.importance-pill.milestone{color:var(--green);background:var(--green-soft)}.importance-pill.unconfirmed{color:var(--amber);background:var(--amber-bg)}.scores-important-metrics{border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);color:var(--ink-3);flex-wrap:wrap;gap:8px 14px;margin:9px 0;padding:10px 0;font-size:10px;display:flex}.scores-important-metrics b{color:var(--ink-2);margin-left:3px;font-size:11px}.scores-card-actions{gap:7px;display:flex}.scores-card-actions .secondary{padding:7px 10px;font-size:10px}.scores-empty{border:1px dashed var(--green-soft);min-height:54px;color:var(--ink-3);background:var(--surface-2);border-radius:10px;align-items:center;gap:8px;padding:10px 12px;font-size:10px;line-height:1.5;display:flex}.scores-trend-section .section-head{align-items:center;min-height:34px}.scores-trend-section .section-head h2{align-items:center;gap:9px;font-size:16px;font-weight:800;display:flex}.scores-trend-section .section-head h2:before{content:"";background:var(--green);border-radius:2px;width:4px;height:16px}.scores-trend-duo{--chart-h:200px;--chart-legend-h:48px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.scores-trend-panel{border:1px solid var(--line);background:var(--card);min-width:0;box-shadow:var(--shadow);border-radius:14px;padding:16px 15px 12px;position:relative;overflow:hidden}.scores-trend-panel:before{content:"";background:var(--panel-accent,var(--green));height:3px;position:absolute;inset:0 0 auto}.scores-trend-panel header{border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;padding-bottom:9px;display:flex}.scores-trend-panel header>div{align-items:center;gap:7px;min-width:0;display:flex}.scores-trend-dot{background:var(--panel-accent,var(--green));border-radius:2px;flex:0 0 8px;width:8px;height:8px}.scores-trend-panel header strong{color:var(--ink);letter-spacing:-.01em;font-size:13px;font-weight:800}.scores-trend-panel header span{color:var(--ink-3);text-align:right;font-size:9.5px}.trend-chart{position:relative}.trend-chart svg{display:block}.trend-grid{stroke:#d9e1db;stroke-width:1px;stroke-dasharray:3 4}.trend-axis{fill:#8a958d;font-variant-numeric:tabular-nums;font-size:9.5px}.trend-line{fill:none;stroke-width:2.4px;stroke-linejoin:round;stroke-linecap:round}.trend-dot{fill:var(--card);stroke-width:2.4px;cursor:pointer}.trend-value{font-variant-numeric:tabular-nums;paint-order:stroke;stroke:var(--card);stroke-width:3px;stroke-linejoin:round;font-size:10px;font-weight:800}.trend-legend{min-height:var(--chart-legend-h);border-top:1px dashed var(--line-2);grid-template-columns:repeat(3,minmax(0,1fr));align-content:center;gap:8px;margin-top:12px;padding-top:11px;display:grid}.trend-legend-cell{border:1px solid var(--line);background:var(--card);min-width:0;color:var(--ink-3);border-radius:9px;align-items:center;gap:6px;padding:8px 8px 8px 12px;font-size:9.5px;display:flex;position:relative}.trend-legend-cell i{border-radius:0 2px 2px 0;width:3px;position:absolute;top:7px;bottom:7px;left:0}.trend-legend-cell span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trend-legend-cell b{color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-left:auto;font-size:14px;font-weight:800}.trend-legend-cell em{font-variant-numeric:tabular-nums;border-radius:5px;margin-left:5px;padding:1px 5px;font-size:9px;font-style:normal;font-weight:800}.trend-legend-cell em.up{color:#0c5c34;background:#d8efe1}.trend-legend-cell em.down{color:#a01c1c;background:#fbe0e0}.trend-legend-cell em.flat{color:var(--ink-3);background:var(--line-2)}.trend-legend-cell-wide{grid-column:1/-1}.trend-legend-cell-wide span{white-space:normal;line-height:1.5}.scores-trend-empty{min-height:var(--chart-h,200px);color:var(--ink-3);align-items:center;padding:0 4px;font-size:10px;line-height:1.6;display:flex}.scores-trend-chips{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.scores-trend-scope{gap:6px;display:flex}.scores-scope-chip{border:1px solid var(--line);background:var(--card);color:var(--ink-2);border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:10px;transition:all .16s;display:flex}.scores-scope-chip strong{letter-spacing:.01em;font-weight:800}.scores-scope-chip span{background:var(--line-2);color:var(--ink-3);font-variant-numeric:tabular-nums;border-radius:4px;padding:1px 5px;font-size:9px;font-weight:700}.scores-scope-chip:hover{border-color:var(--green-mid);background:var(--green-soft);color:var(--green-strong)}.scores-scope-chip.is-active span{background:var(--card);color:var(--green-strong)}.scores-trend-scope-note{border:1px dashed var(--line);color:var(--ink-3);border-radius:9px;margin:9px 0 0;padding:8px 11px;font-size:9.5px;line-height:1.6}.scores-trend-exams{flex-wrap:wrap;gap:6px;display:flex}.scores-trend-focus-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.scores-trend-focus-actions>span{max-width:320px;color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.scores-trend-focus-actions .secondary{padding:6px 10px;font-size:10px}.scores-trend-exams button{border:1px solid var(--line);background:var(--card);max-width:270px;color:var(--ink-2);border-radius:8px;align-items:center;gap:7px;padding:6px 10px;font-size:9.5px;transition:all .16s;display:flex}.scores-trend-exams button:hover{border-color:var(--green-mid);background:var(--green-soft);color:var(--green-strong)}.scores-scope-chip.is-active,.scores-trend-exams button.is-active{border-color:var(--green);background:var(--green-soft);color:var(--green-strong);box-shadow:inset 0 0 0 1px var(--green)}.scores-trend-exams strong{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.trend-legend-editable .threshold-cell{cursor:text;gap:6px}.trend-legend-editable .threshold-cell:hover{border-color:var(--green-mid);background:var(--green-soft)}.trend-legend-editable .threshold-cell input{border:1px solid var(--line);background:var(--card);width:5ch;min-width:0;color:var(--ink);font-variant-numeric:tabular-nums;text-align:center;border-radius:6px;flex:none;margin-left:auto;padding:1px 4px;font-size:12.5px;font-weight:800}.trend-legend-editable .threshold-cell input:hover{border-color:var(--green-mid);background:var(--green-soft)}.trend-legend-editable .threshold-cell input:focus{border-color:var(--green);background:var(--card);box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 16%,transparent);outline:none}.trend-legend-editable .threshold-cell input::placeholder{color:var(--ink-3);font-weight:600}.trend-legend-editable .threshold-cell input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.trend-legend-editable .threshold-cell input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.trend-legend-editable .threshold-cell input[type=number]{appearance:textfield}.trend-legend-editable .threshold-cell-unit{color:var(--ink-3);flex:none;font-size:9px;font-style:normal}.trend-legend-editable.is-editing .threshold-cell{border-color:var(--green-mid)}.threshold-inline-error{color:#a01c1c;margin:6px 0 0;font-size:9.5px;font-weight:700;line-height:1.6}.score-histogram{padding-top:0}.hist-bar{fill:#0f766e}.hist-count{fill:#1f2937;font-variant-numeric:tabular-nums;font-size:9.5px;font-weight:800}.hist-threshold{stroke-width:1.2px;stroke-dasharray:4 3;opacity:.9}.hist-threshold-label{font-variant-numeric:tabular-nums;paint-order:stroke;stroke:var(--card);stroke-width:2.6px;stroke-linejoin:round;font-size:8.5px;font-weight:800}.score-band-composition{min-height:calc(var(--chart-h) + var(--chart-legend-h) + 12px);flex-direction:column;gap:11px;padding-top:3px;display:flex}.score-band-bar{background:var(--line-2);border-radius:9px;height:38px;display:flex;overflow:hidden}.score-band-bar>span{color:#fff;white-space:nowrap;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;min-width:0;font-size:9px;font-weight:800;display:flex;overflow:hidden}.score-band-bar>span+span{box-shadow:inset 1px 0 #fff9}.score-band-bar>span.light{color:#1f2937}.score-band-rows{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.score-band-rows li{border-top:1px solid var(--line-2);grid-template-columns:8px minmax(38px,auto) minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:9px 0;display:grid}.score-band-rows li:first-child{border-top:0}.score-band-rows i{border-radius:2px;width:8px;height:8px}.score-band-rows span{color:var(--ink);font-size:10px;font-weight:700}.score-band-rows small{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:9px}.score-band-rows b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:13px;font-weight:800}.score-band-rows b em{color:var(--ink-3);margin-left:1px;font-size:9px;font-style:normal;font-weight:600}.score-band-rows .score-band-pct{min-width:44px;color:var(--ink-2);text-align:right;font-variant-numeric:tabular-nums;font-size:10px;font-weight:700}.score-band-note{border-top:1px dashed var(--line-2);color:var(--ink-3);margin:auto 0 0;padding-top:9px;font-size:9px;line-height:1.55}.scores-trend-footer{display:grid}.scores-trend-footer>*{grid-area:1/1;min-width:0}.scores-trend-footer>.is-standby{visibility:hidden;pointer-events:none}.scores-focus-summary{border:1px solid var(--line);border-left:3px solid var(--green);background:var(--card);border-radius:12px;margin-top:12px;padding:13px 15px}.scores-focus-figures{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.scores-focus-figures>div{flex-direction:column;gap:3px;min-width:0;display:flex}.scores-focus-figures small{color:var(--ink-3);font-size:9px}.scores-focus-figures b{color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:17px;font-weight:800}.scores-focus-note{border-top:1px dashed var(--line-2);color:var(--ink-3);margin:11px 0 0;padding-top:9px;font-size:9.5px;line-height:1.6}.scores-trend-caliber{border:1px solid var(--line);border-left:3px solid var(--green);background:var(--card);border-radius:12px;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:18px;margin-top:12px;padding:13px 15px;display:grid}.scores-trend-caliber strong{color:var(--ink);letter-spacing:.02em;font-size:11px}.scores-trend-caliber p{color:var(--ink-2);margin:6px 0 0;font-size:10.5px;line-height:1.65}.scores-caliber-status{align-content:start;gap:1px;display:grid}.scores-caliber-status .scores-comparison-note:first-child{border-top:0;padding-top:0}.scores-comparison-note{border-top:1px solid var(--line-2);align-items:flex-start;gap:6px;padding:6px 0;font-size:9px;line-height:1.45;display:flex}.comparison-dot{background:var(--ink-3);border-radius:50%;flex:0 0 7px;width:7px;height:7px;margin-top:2px}.comparison-dot.comparable{background:var(--green)}.comparison-dot.partially_comparable{background:var(--amber)}.scores-signal-summary{color:var(--ink-3);align-items:baseline;gap:8px;margin-bottom:9px;font-size:10px;display:flex}.scores-signal-summary strong{color:var(--green);font-size:25px}.scores-signal-list,.scores-content-signal-list{flex-direction:column;gap:6px;display:flex}.scores-signal-list>div,.scores-content-signal-list>div{background:var(--green-soft);color:var(--blue);border-radius:8px;align-items:center;gap:7px;padding:8px 9px;font-size:10px;display:flex}.scores-signal-list svg{color:var(--green);flex:none}.scores-student-observation-list{flex-direction:column;gap:6px;margin-top:10px;display:flex}.scores-student-observation-list button{text-align:left;border:1px solid var(--line);background:var(--card);border-radius:9px;gap:4px;padding:9px 10px;display:grid}.scores-student-observation-list button:hover{border-color:var(--teal);background:var(--green-soft)}.scores-student-observation-list strong{color:var(--text);font-size:11px}.scores-student-observation-list span,.scores-student-observation-list small{color:var(--muted);font-size:10px;line-height:1.45}.scores-signal-limitation{color:var(--ink-3);font-size:10px;line-height:1.55}.scores-content-signal-list>div{justify-content:space-between;align-items:flex-start;gap:12px}.scores-content-signal-list strong{color:var(--ink-2);font-size:10px}.scores-content-signal-list span{color:var(--ink-3);text-align:right;font-size:9px}.scores-list-actions{min-height:31px;color:var(--blue);align-items:center;gap:8px;font-size:10px;display:flex}.scores-list-actions .secondary{padding:7px 9px;font-size:10px}.scores-pick-group{border:1px solid var(--green-mid);background:var(--green-soft);max-width:210px;height:29px;color:var(--green-strong);border-radius:8px;padding:0 8px;font-size:10px;font-weight:700}.scores-pick-group:hover{border-color:var(--green)}.scores-pick-group:focus-visible{border-color:var(--green);box-shadow:0 0 0 2px var(--green-soft);outline:none}.scores-list-actions .primary{padding:7px 11px;font-size:10px}.scores-list-actions .ghost{padding:7px 9px;font-size:10px}.scores-table-wrap{border:1px solid var(--line-2);background:var(--card);border-radius:12px;overflow:auto}.scores-table{border-collapse:collapse;width:100%;min-width:920px;font-size:10px}.scores-table th,.scores-table td{border-bottom:1px solid var(--line-2);text-align:left;vertical-align:middle;white-space:nowrap;padding:10px 9px}.scores-table th{color:var(--ink-3);background:var(--green-soft);font-size:9px;font-weight:700}.scores-table td{color:var(--blue)}.scores-table td:first-child{white-space:normal;min-width:135px}.scores-table td strong,.scores-table td small{display:block}.scores-table td strong{color:var(--ink-2);font-size:10px}.scores-table td small{color:var(--ink-3);margin-top:3px;font-size:9px}.scores-table tr:last-child td{border-bottom:0}.scores-exam-report-cell{justify-items:start;gap:4px;display:grid}.scores-exam-report-cell>small{color:var(--blue)!important;margin:0!important;font-size:9px!important}.scores-report-status{color:var(--blue);font-size:9px}.scores-report-status.ready{color:var(--green-strong)}.scores-report-status.stale,.scores-report-status.failed{color:var(--amber)}.scores-report-status.running,.scores-report-status.queued{color:var(--blue)}.scores-exam-report-cell .link-button{padding:0;font-size:9px}.legacy-source-note{color:var(--amber)!important}.scores-row-actions{gap:3px;display:flex}.scores-row-actions .icon-button{width:26px;height:26px}.scores-pagination{color:var(--ink-3);justify-content:center;align-items:center;gap:12px;padding-top:10px;font-size:10px;display:flex}.scores-pagination .secondary{padding:6px 10px;font-size:10px}.scores-report-history{flex-direction:column;gap:7px;display:flex}.scores-report-history-row{border:1px solid var(--line-2);background:var(--card);border-radius:10px;align-items:center;gap:9px;min-width:0;padding:9px 10px;display:flex}.scores-report-format{width:28px;height:28px;color:var(--green);background:var(--green-soft);border-radius:8px;flex:0 0 28px;place-items:center;display:grid}.scores-report-open{text-align:left;flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.scores-report-open strong,.scores-report-history-row>span:nth-child(2) strong{color:var(--ink-2);font-size:10px}.scores-report-open small,.scores-report-history-row>span:nth-child(2) small{color:var(--ink-3);font-size:9px;line-height:1.4}.scores-report-history-row .secondary{padding:6px 8px;font-size:9px}.scores-report-job-state{color:var(--ink-3);white-space:nowrap;font-size:9px}.scores-report-job-state.failed{color:var(--red)}.scores-report-history-row.failed{border-color:var(--red-bg);background:var(--red-bg)}.scores-history-more{color:var(--green-strong);border-color:var(--green-soft);background:var(--green-soft);align-self:center;margin-top:5px;padding:7px 12px;font-size:10px}.scores-attention{border:1px solid var(--amber-bg);background:var(--amber-bg);border-radius:12px;padding:10px 12px}.scores-attention summary{cursor:pointer;color:var(--amber);align-items:center;gap:7px;font-size:11px;font-weight:700;list-style:none;display:flex}.scores-attention summary::-webkit-details-marker{display:none}.scores-attention summary b{color:var(--card);background:var(--amber);border-radius:8px;padding:1px 7px;font-size:10px}.scores-attention summary small{color:var(--ink-3);font-weight:400}.scores-attention-list{flex-direction:column;gap:7px;margin-top:9px;display:flex}.scores-attention-list .scores-priority-card{cursor:default;border-color:color-mix(in srgb,var(--amber) 22%,var(--card))}.scores-attention-main{text-align:left;min-width:0;color:inherit;background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:0;display:flex}.scores-attention-list .secondary{white-space:nowrap;padding:6px 9px;font-size:10px}.scores-exam-cards{flex-direction:column;gap:10px;display:flex}.scores-exam-card{border:1px solid var(--line);background:var(--card);border-radius:13px;gap:9px;padding:13px 14px;transition:border-color .15s,box-shadow .15s;display:grid;position:relative}.scores-exam-card:hover{border-color:var(--green-mid);box-shadow:0 6px 18px color-mix(in srgb,var(--green-strong) 7%,transparent)}.scores-exam-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.scores-exam-card.is-selecting:hover{border-color:var(--green-mid)}.scores-exam-card.is-picked{border-color:var(--green);background:color-mix(in srgb,var(--green-soft) 55%,var(--card))}.scores-exam-select{border:1.5px solid var(--green-mid);background:var(--card);color:#fff;cursor:pointer;width:18px;height:18px;box-shadow:0 1px 3px color-mix(in srgb,var(--green-strong) 12%,transparent);border-radius:5px;justify-content:center;align-items:center;padding:0;transition:border-color .12s,background .12s,box-shadow .12s;display:inline-flex;position:absolute;top:12px;left:-25px}.scores-exam-select:after{content:"";position:absolute;inset:-6px}.scores-exam-select:hover{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.scores-exam-select.is-checked{border-color:var(--green);background:var(--green)}.scores-exam-select:focus-visible{box-shadow:0 0 0 3px var(--green-soft);border-color:var(--green);outline:none}.scores-exam-card-head>.icon-button{width:26px;height:26px;color:var(--ink-3);margin:-3px -4px 0 0}.scores-exam-card-head>.icon-button.is-active{color:var(--teal-dark);background:var(--blue-bg)}.scores-rank-panel{border-top:1px dashed var(--line);gap:8px;padding-top:9px;display:grid}.scores-rank-tabs{flex-wrap:wrap;gap:6px;display:flex}.scores-rank-tabs button{border:1px solid var(--line);background:var(--card);color:var(--ink-2);border-radius:999px;padding:4px 10px;font-size:10.5px;font-weight:600}.scores-rank-tabs button:hover{border-color:var(--green-mid)}.scores-rank-tabs button.is-active{border-color:var(--green);color:var(--green-strong);background:var(--green-soft)}.scores-rank-scroll{border:1px solid var(--line);border-radius:10px;max-height:340px;overflow:auto}.scores-rank-table{border-collapse:collapse;width:100%;font-size:11.5px}.scores-rank-table thead th{background:color-mix(in srgb,var(--line-2) 55%,var(--card));color:var(--ink-3);text-align:left;border-bottom:1px solid var(--line);z-index:1;white-space:nowrap;padding:7px 12px;font-size:10px;font-weight:700;position:sticky;top:0}.scores-rank-table tbody td{border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent);color:var(--ink-2);padding:6px 12px}.scores-rank-table tbody tr:last-child td{border-bottom:0}.scores-rank-table tbody tr:hover{background:color-mix(in srgb,var(--blue-bg) 45%,transparent)}.scores-rank-table .col-rank{width:44px}.scores-rank-table .col-rank-alt{width:44px;color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:10.5px;font-weight:600}.scores-rank-table .col-number{width:76px;color:var(--ink-3);font-variant-numeric:tabular-nums}.scores-rank-table .col-name{color:var(--ink-2);font-weight:600}.scores-rank-table .col-class{width:72px;color:var(--ink-3)}.scores-rank-table .col-score{font-variant-numeric:tabular-nums;width:64px;font-weight:700}.scores-rank-table .col-grade{width:64px}.rank-medal{background:var(--line-2);min-width:20px;height:20px;color:var(--ink-3);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;padding:0 4px;font-size:10px;font-weight:700;display:inline-grid}.rank-medal.m1{color:#fff;background:#f59e0b}.rank-medal.m2{color:#fff;background:#94a3b8}.rank-medal.m3{color:#fff;background:#c2703d}.scores-rank-table .tone-excellence{color:#9a3412}.scores-rank-table .tone-good{color:#0e7490}.scores-rank-table .tone-pass{color:#64748b}.scores-rank-table .tone-fail{color:var(--red)}.scores-rank-table td.col-grade{font-size:10.5px;font-weight:600}.scores-rank-note{color:var(--ink-3);margin:0;font-size:10.5px}.scores-rank-empty{color:var(--ink-3);border-top:1px dashed var(--line);padding-top:9px;font-size:11px}.scores-exam-card-title{text-align:left;background:0 0;border:0;flex:1;gap:4px;min-width:0;padding:0;display:grid}.scores-exam-card-title strong{color:var(--ink-2);font-size:13px}.scores-exam-card-title small{color:var(--ink-3);font-size:10px;line-height:1.5}.scores-exam-card-meta{color:var(--ink-3);font-size:10px;line-height:1.75;display:block}.scores-exam-card-meta>span{white-space:nowrap}.scores-exam-card-meta>span+span:before{content:"·";color:var(--line);margin:0 6px}.scores-exam-card-meta b{color:var(--ink-2);font-variant-numeric:tabular-nums;margin-left:2px;font-size:11px;font-weight:800}.scores-exam-delta{border-radius:6px;margin-left:5px;padding:1px 5px;font-size:9px;font-style:normal;font-weight:700}.scores-exam-delta.positive{color:var(--green-strong);background:var(--green-soft)}.scores-exam-delta.negative{color:var(--red);background:var(--red-bg)}.scores-exam-card-flow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:9px;display:flex}.scores-exam-progress{flex:1;align-items:center;gap:5px;min-width:0;display:flex}.scores-exam-progress span{background:var(--line-2);border-radius:4px;flex:0 0 34px;height:7px}.scores-exam-progress span.done{background:var(--green-mid)}.scores-exam-progress span.done.current{background:var(--green);box-shadow:0 0 0 2.5px var(--green-soft)}.scores-exam-progress strong{color:var(--ink-2);white-space:nowrap;margin-left:7px;font-size:10.5px}.scores-exam-progress strong:last-child{color:var(--green-strong)}.scores-exam-card-flow .primary,.scores-exam-card-flow .secondary{white-space:nowrap;padding:8px 13px;font-size:10.5px}.scores-exam-waiting{color:var(--ink-3);align-items:center;gap:6px;font-size:10px;display:inline-flex}.exam-detail-page{min-height:100%;padding:2px}.exam-detail-shell{gap:10px;max-width:1080px;margin:0 auto;display:grid}.exam-detail-shell .report-modal-head{align-items:flex-start}.report-outline-embed{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:10px}.report-outline-embed .report-outline-page{gap:10px;display:grid}.report-outline-embed .report-outline-page .page-head{display:none}.report-content[data-active-tab=outline] [data-report-tab=outline]{display:block}@media (width<=760px){.scores-exam-card-meta{font-size:9.5px;line-height:1.65}.scores-exam-card-meta b{font-size:10.5px}.scores-exam-card-flow{flex-direction:column;align-items:stretch}.scores-exam-card-flow .primary,.scores-exam-card-flow .secondary{justify-content:center;width:100%}}.report-detail-tabs{z-index:3;border-bottom:1px solid var(--report-line,var(--line));background:var(--report-bg,var(--line-2));gap:5px;padding:8px 0;display:flex;position:sticky;top:-24px;overflow:auto}.report-detail-tabs button{color:var(--ink-3);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:8px;flex:none;padding:8px 11px;font-size:10px;font-weight:700}.report-detail-tabs button.selected{border-color:var(--green-mid);color:var(--green-strong);background:var(--green-soft)}.report-content[data-active-tab] [data-report-tab]{display:none}.report-content[data-active-tab=overview] [data-report-tab=overview],.report-content[data-active-tab=students] [data-report-tab=students],.report-content[data-active-tab=questions] [data-report-tab=questions],.report-content[data-active-tab=comparison] [data-report-tab=comparison],.report-content[data-active-tab=raw] [data-report-tab=raw],.report-content[data-active-tab=export] [data-report-tab=export],.report-content[data-active-tab=outline] [data-report-tab=outline]{display:block}.report-content[data-active-tab=overview] .report-warning[data-report-tab=overview],.report-content[data-active-tab=overview] .report-scope-note[data-report-tab=overview],.report-content[data-active-tab=export] .report-export-consent[data-report-tab=export]{display:flex}.report-tab-empty{margin:0}.report-import-source{background:var(--report-bg,var(--line-2));color:var(--report-muted,var(--ink-2));border-radius:9px;flex-wrap:wrap;justify-content:space-between;gap:8px;margin:0 0 12px;padding:10px 12px;font-size:10px;display:flex}.report-import-source strong{color:var(--report-ink,var(--ink-2))}.ppt-export-step{border:1px solid var(--blue-bg);background:var(--card);border-radius:9px;gap:7px;width:100%;padding:11px;display:grid}.ppt-export-step>strong{color:var(--ink-2);font-size:11px}.ppt-export-step>span,.ppt-export-step>small{color:var(--ink-3);font-size:9px;line-height:1.5}.ppt-export-step .modal-field{max-width:420px;margin:0}.ppt-export-modules{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.ppt-export-module{border:1px solid var(--line-2);background:var(--surface-2);border-radius:8px;justify-content:space-between;align-items:center;gap:7px;min-width:0;padding:8px;display:flex}.ppt-export-module.selected{border-color:var(--green-mid);background:var(--green-soft)}.ppt-export-module.unavailable{background:var(--green-soft);border-style:dashed}.ppt-export-module>label{cursor:pointer;align-items:flex-start;gap:7px;min-width:0;display:flex}.ppt-export-module.unavailable>label{cursor:not-allowed}.ppt-export-module>label input{accent-color:var(--green);margin:2px 0 0}.ppt-export-module>label input:disabled{cursor:not-allowed}.ppt-export-module>label span{gap:3px;min-width:0;display:grid}.ppt-export-module>label b{color:var(--ink-2);font-size:9px}.ppt-export-module>label small{color:var(--ink-3);font-size:8px;line-height:1.4}.ppt-export-module-unavailable{color:var(--amber);font-size:8px;font-style:normal;line-height:1.4}.ppt-export-module-actions{flex:none;align-items:center;gap:3px;display:flex}.ppt-export-module-actions button{width:23px;height:23px;color:var(--blue);background:var(--blue-bg);border-radius:5px;place-items:center;font-size:12px;display:grid}.ppt-export-module-actions button:disabled{opacity:.35;cursor:not-allowed}.ppt-export-module-actions select{border:1px solid var(--blue-bg);background:var(--card);max-width:62px;color:var(--blue);border-radius:5px;padding:4px 3px;font-size:8px}.ppt-export-preview,.ppt-export-generate{border-color:var(--green-mid);background:var(--green-soft)}.ppt-export-generate[data-export-gate=outline-required]{border-style:dashed;border-color:var(--blue-bg)}.ppt-export-generate .page-actions{border-top:1px solid var(--line-2);flex-wrap:wrap;justify-content:flex-start;margin-top:4px;padding-top:9px}.ppt-export-generate{margin-bottom:26px}.html-export-options{border:1px solid var(--line-2);background:var(--surface-2);border-radius:8px;width:100%;padding:9px 10px}.html-export-options summary{color:var(--ink-3);cursor:pointer;font-size:9px;font-weight:700}.html-export-options[open] summary{margin-bottom:10px}.html-export-options>span{color:var(--ink-3);margin-top:8px;font-size:9px;display:block}.report-export-consent .html-export-options label{font-size:9px}.report-selection-guidance{color:var(--ink-3);margin:8px 0 12px;font-size:9px;line-height:1.5}.report-exam-evidence{margin-top:5px;line-height:1.5;display:block;color:var(--ink-3)!important}.report-action-observations{gap:10px;display:grid}.report-action-observations article{border:1px solid var(--report-line,var(--line));background:var(--report-surface,var(--card));border-radius:10px;padding:12px}.report-action-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.report-action-head>span{color:var(--report-muted,var(--ink-2));font-size:9px}.report-action-observations p{color:var(--report-muted,var(--ink-2));margin:8px 0;font-size:10px}.report-action-before-after{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:9px 0;display:grid}.report-action-before-after span{background:var(--green-soft);color:var(--report-ink,var(--ink-2));border-radius:8px;padding:9px;font-size:9px}.report-action-observations article>small{color:var(--report-muted,var(--ink-2));font-size:9px;line-height:1.5}@media (width<=1080px){.scores-workbench-lead-grid,.scores-signal-grid,.scores-alert-strip,.scores-trend-duo,.scores-trend-caliber{grid-template-columns:1fr}.scores-focus-figures{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 10px}}@media (width<=760px){.scores-workbench{gap:12px}.scores-workbench .page-actions{justify-content:flex-start}.scores-subject-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scores-scope-pill{align-self:flex-start}.scores-important-head{flex-direction:column}.scores-trend-notes{display:block}.trend-legend{grid-template-columns:1fr}.trend-legend-cell{padding:5px 7px;font-size:10px}.trend-legend-cell b{font-size:12px}.trend-legend-editable .threshold-cell input{width:5ch;font-size:13px}.scores-trend-exams button{max-width:100%}.scores-trend-chips{gap:6px}.scores-trend-scope{width:100%}.scores-scope-chip{flex:1 1 0;justify-content:center}.scores-trend-exams{width:100%}.scores-trend-focus-actions{justify-content:flex-end}.scores-trend-focus-actions>span{display:none}.scores-trend-section .section-head{flex-direction:row;align-items:center;gap:8px}.scores-trend-section .section-head h2{white-space:nowrap}.scores-trend-duo{--chart-legend-h:109px}.scores-focus-figures{gap:12px 8px}.score-band-rows li{gap:6px}.score-band-rows .score-band-pct{min-width:40px}.scores-exam-section .section-head{flex-wrap:wrap}.scores-exam-section .section-head h2{white-space:nowrap}.scores-list-actions{flex-wrap:wrap;justify-content:flex-end}.scores-exam-section .scores-list-actions{justify-content:flex-start;gap:6px;width:100%}.scores-exam-section .scores-list-actions .primary,.scores-exam-section .scores-list-actions .ghost{padding:7px 8px}.scores-pick-group{flex:120px;max-width:none}.scores-exam-select{width:16px;height:16px;top:12px;left:-13px}.scores-table-wrap{background:0 0;border:0;overflow:visible}.scores-table{min-width:0;display:block}.scores-table thead{display:none}.scores-table tbody{gap:8px;display:grid}.scores-table tr{border:1px solid var(--line-2);background:var(--card);border-radius:11px;grid-template-columns:1fr 1fr;gap:0 10px;padding:9px 11px;display:grid}.scores-table td{white-space:normal;border:0;justify-content:space-between;align-items:center;min-width:0;padding:6px 0;font-size:9px;display:flex}.scores-table td:first-child{grid-column:1/-1}.scores-table td:nth-child(2):before{content:"日期 / 类型"}.scores-table td:nth-child(3):before{content:"重要程度"}.scores-table td:nth-child(4):before{content:"班级 / 课程"}.scores-table td:nth-child(5):before{content:"参考 / 有效"}.scores-table td:nth-child(6):before{content:"均分 / 及格率"}.scores-table td:nth-child(7):before{content:"完整度"}.scores-table td:nth-child(8):before{content:"发现 / 报告"}.scores-table td:nth-child(9):before{content:"操作"}.scores-table td:before{color:var(--ink-3);flex:none;margin-right:8px;font-size:8px}.scores-report-history-row{flex-wrap:wrap}.scores-report-open{flex-basis:calc(100% - 42px)}.scores-report-history-row .secondary,.scores-report-history-row>.link-button,.scores-report-job-state{margin-left:37px}.report-detail-tabs{margin:0 -2px;top:-15px}.ppt-export-modules{grid-template-columns:1fr}.ppt-export-module{align-items:flex-start}.ppt-export-module-actions{padding-top:1px}.report-section-head{flex-direction:column;gap:7px}.report-section-head>span{white-space:normal}.report-action-before-after{grid-template-columns:1fr}.report-action-head{flex-direction:column;align-items:flex-start}}.report-band-migrations{gap:12px;display:grid}.report-band-migrations>article{border:1px solid var(--report-line,var(--line));background:color-mix(in srgb, var(--report-surface,var(--card)) 82%, var(--report-bg,var(--line-2)));border-radius:14px;gap:8px;padding:14px;display:grid}.report-band-migrations>article>small{color:var(--report-muted,var(--ink-2));line-height:1.5}[data-theme=indigo]{--green:#4054b2;--green-strong:#2e3c86;--green-soft:#e9ecfa;--green-mid:#c6cdf0;--g1:#2e3c86;--g2:#5566c4;--bg:#f4f5f9;--line:#e1e3ee;--line-2:#eef0f6;--ink:#1e2340;--ink-2:#474d6b;--ink-3:#7d8299;--shadow:0 1px 2px #28326e0f,0 4px 14px #28326e0f}[data-theme=orange]{--green:#c2610c;--green-strong:#96490a;--green-soft:#fdeedd;--green-mid:#f3d3ab;--g1:#96490a;--g2:#d97a16;--bg:#faf7f3;--line:#ece3d8;--line-2:#f4eee6;--ink:#2e2115;--ink-2:#5c4c3b;--ink-3:#94836e;--shadow:0 1px 2px #78460a0f,0 4px 14px #78460a0f}[data-theme=purple]{--green:#7c3aed;--green-strong:#5b21b6;--green-soft:#f1e9fd;--green-mid:#d8c2f8;--g1:#5b21b6;--g2:#8b5cf6;--bg:#f7f5fa;--line:#e6e1ef;--line-2:#f0edf6;--ink:#251a3a;--ink-2:#4d4364;--ink-3:#857b99;--shadow:0 1px 2px #5028a00f,0 4px 14px #5028a00f}[data-theme=slate]{--green:#4a5f77;--green-strong:#33465a;--green-soft:#e8eef3;--green-mid:#c4d2de;--g1:#33465a;--g2:#5d7891;--bg:#f4f6f8;--line:#dfe5ea;--line-2:#edf1f4;--ink:#1f2933;--ink-2:#45525f;--ink-3:#7c8894;--shadow:0 1px 2px #2837460f,0 4px 14px #2837460f}[data-theme]{--blue:var(--green);--blue-bg:var(--green-soft)}.side-brand{border-bottom:1px solid var(--line-2);padding:18px 18px 14px}.side-brand .logo{align-items:center;gap:10px;display:flex}.side-brand .mark{background:linear-gradient(135deg, var(--g1), var(--g2));color:#fff;border-radius:10px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;font-weight:700;display:flex}.side-brand h1{font-size:15px;font-weight:700}.side-brand p{color:var(--ink-3);margin-top:1px;font-size:11px}.nav-list{flex:1;gap:2px;padding:10px 12px}.nav-group{color:var(--ink-3);letter-spacing:.06em;padding:12px 8px 6px;font-size:11px}.nav-item{color:var(--ink-2);border-radius:10px;gap:10px;margin-bottom:2px;padding:9px 10px;font-size:13.5px;transition:all .15s}.nav-item:hover{background:var(--line-2);color:var(--ink)}.nav-item.active{background:var(--green-soft);color:var(--green-strong)}.nav-item .ic{width:28px;height:28px;color:var(--ic,var(--green));background:color-mix(in srgb, var(--ic,var(--green)) 12%, #fff);border-radius:9px;flex:none;justify-content:center;align-items:center;display:flex}.nav-item.active .ic{background:var(--ic,var(--green));color:#fff}.nav-badge{background:var(--green);color:#fff;border-radius:8px;margin-left:auto;padding:1px 6px;font-size:10px;font-weight:500}.sidebar-bottom{border-top:1px solid var(--line-2);flex-direction:column;gap:2px;margin-top:0;padding:8px 12px;display:flex}.sidebar-bottom .nav-item{margin-bottom:0}.me{border-top:1px solid var(--line-2);align-items:center;gap:10px;padding:12px 16px;display:flex}.me .n{font-size:13px;font-weight:600}.me .r{color:var(--ink-3);margin-top:1px;font-size:11px}.avatar-s{background:var(--green-mid);width:28px;height:28px;color:var(--green-strong);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:11.5px;font-weight:700;display:flex}.nav-item{--ic:var(--green)}.themebox{border-top:1px solid var(--line-2);padding:12px 16px}.themebox .themebox-head{color:var(--ink-3);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px;display:flex}.themebox .themebox-head b{color:var(--ink-2);font-weight:600}.swatches{gap:8px;display:flex}.swatches button{cursor:pointer;background:var(--sw);border:2px solid #0000;border-radius:9px;width:26px;height:26px;padding:0;transition:transform .12s}.swatches button:hover{transform:scale(1.12)}.swatches button.on{border-color:var(--ink);box-shadow:inset 0 0 0 2px #fff}.page-title{margin-bottom:20px}.page-title h1{letter-spacing:-.02em;margin:2px 0 4px;font-size:24px}.eyebrow{letter-spacing:.08em;font-size:12px;font-weight:600}.page-title p{font-size:13px}.primary,.secondary,.ghost{border-radius:10px;gap:6px;padding:7px 13px;font-size:13px;font-weight:500}.primary{background:var(--green);color:#fff;border:1px solid var(--green);box-shadow:none}.primary:hover{background:var(--green-strong);transform:none}.secondary{background:var(--card);border:1px solid var(--line);color:var(--ink-2)}.secondary:hover{border-color:var(--green-mid);color:var(--green-strong);background:var(--card)}.ghost{color:var(--ink-2);border:1px solid #0000}.ghost:hover{color:var(--green-strong);background:var(--line-2)}.primary.sm,.secondary.sm,.ghost.sm{border-radius:8px;padding:4px 10px;font-size:12px}.grid{gap:14px;display:grid}.g4{grid-template-columns:repeat(4,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}.g21{grid-template-columns:2fr 1fr}.g12{grid-template-columns:1fr 2fr}@media (width<=1100px){.g4{grid-template-columns:repeat(2,1fr)}.g3,.g2,.g21,.g12{grid-template-columns:1fr}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card .hd{border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.card .hd h3{font-size:14.5px;font-weight:650}.card .hd .more{color:var(--ink-3);font-size:12px}.card .bd{padding:16px}.card .bd.tight{padding:8px 16px}.tag{background:var(--line-2);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;display:inline-flex}.tag.green{background:var(--green-soft);color:var(--green-strong)}.tag.amber{background:var(--amber-bg);color:var(--amber)}.tag.red{background:var(--red-bg);color:var(--red)}.tag.blue{background:var(--blue-bg);color:var(--blue)}.banner{background:linear-gradient(100deg, var(--g1), var(--g2));color:#fff;border-radius:16px;align-items:center;gap:14px;margin-bottom:18px;padding:18px 22px;display:flex}.banner .big{font-size:16px;font-weight:650}.banner .small{opacity:.85;margin-top:3px;font-size:12.5px}.banner-ic{color:#fff;background:#ffffff29;border-radius:12px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.banner .btn{color:#fff;background:#ffffff26;border-color:#ffffff4d;margin-left:auto}.banner button.secondary,.banner button.primary{color:#fff;box-shadow:none;background:#ffffff26;border-color:#ffffff4d}.list .row{border-bottom:1px solid var(--line-2);align-items:center;gap:12px;padding:11px 16px;display:flex}.list .row:last-child{border-bottom:none}.list .row .t{font-size:13.5px;font-weight:600}.list .row .s{color:var(--ink-3);margin-top:1px;font-size:12px}.list .row .sp{flex:1}table.tbl{border-collapse:collapse;width:100%;font-size:13px}table.tbl th{text-align:left;color:var(--ink-3);border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap;padding:9px 12px;font-size:12px;font-weight:600}table.tbl td{border-bottom:1px solid var(--line-2);vertical-align:middle;padding:10px 12px}table.tbl tr:last-child td{border-bottom:none}table.tbl tr:hover td{background:var(--surface-2)}.tabs{background:var(--line-2);border-radius:10px;flex-wrap:wrap;gap:4px;width:max-content;margin-bottom:16px;padding:3px;display:flex}.tabs span{color:var(--ink-2);cursor:pointer;border-radius:8px;padding:6px 14px;font-size:13px}.tabs span.on{background:var(--card);color:var(--ink);box-shadow:var(--shadow);font-weight:600}.field{margin-bottom:12px}.field label{color:var(--ink-3);margin-bottom:4px;font-size:12px;display:block}.field .inp{border:1px solid var(--line);background:var(--card);width:100%;color:var(--ink);border-radius:9px;padding:8px 11px;font-size:13px}.hint{color:var(--ink-3);font-size:12px}.divider{background:var(--line-2);height:1px;margin:14px 0}.note{background:var(--amber-bg);border:1px solid var(--green-mid);color:var(--ink-2);border-radius:10px;padding:10px 14px;font-size:12.5px;line-height:1.6}.check{border:1.5px solid var(--green-mid);color:#fff;border-radius:6px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;display:flex}.check.on{background:var(--green);border-color:var(--green)}.done .t{color:var(--ink-3);text-decoration:line-through}.footnote{color:var(--ink-3);margin-top:22px;font-size:12px;line-height:1.6}.thumb{background:color-mix(in srgb, var(--green) 10%, #fff);width:44px;height:32px;color:var(--green-strong);border-radius:6px;flex:none;justify-content:center;align-items:center;display:flex}.note{color:#8a6d1a;background:#fbf8ef;border-color:#eee3c2}table.tbl .hint{margin-top:0;display:inline}.card.stat{padding:14px 16px}.card .stat-k{color:var(--ink-3);justify-content:space-between;align-items:center;font-size:12px;display:flex}.card .stat-v{margin-top:4px;font-size:26px;font-weight:700}.card .stat-v em{color:var(--ink-3);font-size:13px;font-style:normal;font-weight:500}.card .stat-d{color:var(--ink-3);margin-top:2px;font-size:12px}.hl-sel{background:var(--green-soft)!important}.hl-warn{background:#fffaf5!important}.report-outline-page{max-width:1480px;color:var(--ink);margin:0 auto;padding:24px 28px 64px}.report-outline-page .page-head{justify-content:space-between;align-items:flex-start;gap:20px;margin:6px 0 22px;display:flex}.report-outline-page .page-head h1{margin:7px 0 6px;font-size:30px}.report-outline-page .page-head p,.report-outline-page .hd p{color:var(--ink-3);margin:0}.report-outline-source{margin-bottom:18px;padding:18px 20px}.report-outline-toolbar{grid-template-columns:minmax(220px,1.3fr) minmax(180px,1fr) auto auto;align-items:end;gap:12px;display:grid}.report-outline-page label{color:var(--ink-2);gap:7px;font-size:13px;font-weight:650;display:grid}.report-outline-page input,.report-outline-page select,.report-outline-page textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);font:inherit;border-radius:9px;min-height:40px;padding:10px 12px}.report-outline-page .report-outline-consent{align-items:center;gap:8px;display:flex}.report-outline-page input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:var(--green);flex:0 0 18px;margin:0;padding:0}.report-outline-page textarea{resize:vertical;min-height:78px}.report-outline-snapshot-note{color:var(--ink-3);margin:12px 0 0;font-size:13px}.report-outline-layout{grid-template-columns:270px minmax(0,1fr);align-items:start;gap:18px;display:grid}.report-outline-list{padding:16px;position:sticky;top:18px}.report-outline-list .hd,.report-outline-editor>.hd{justify-content:space-between;align-items:center;gap:14px;display:flex}.report-outline-list .hd h3,.report-outline-editor .hd h2{margin:0}.report-outline-list>button{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;gap:5px;margin-top:8px;padding:11px 10px;display:grid}.report-outline-list>button.selected{border-color:var(--green-mid);background:color-mix(in srgb,var(--green) 8%,white)}.report-outline-list small,.report-outline-list .hint{color:var(--ink-3)}.report-outline-editor{padding:20px}.report-outline-editor .hd p{margin-top:5px;font-size:13px}.report-outline-page .page-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.report-outline-fields{grid-template-columns:2fr 1.5fr 1fr;gap:12px;margin:18px 0;display:grid}.report-outline-add{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0;display:flex}.report-outline-add .secondary{padding:7px 10px;font-size:12px}.report-outline-section{border-bottom:1px solid var(--line);gap:12px;padding:16px 0;display:grid}.report-outline-section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.report-outline-section-head>div:first-child{gap:4px;display:grid}.report-outline-section-head span{color:var(--green);font-size:12px}.report-outline-section-head strong{font-size:16px}.report-outline-section-head>div:last-child{gap:6px;display:flex}.report-outline-section-head .secondary{padding:6px 9px;font-size:12px}.report-outline-rewrite{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;align-items:end;gap:10px;padding:12px;display:flex}.report-outline-rewrite label{color:var(--muted);flex:1;gap:6px;font-size:13px;display:grid}.report-outline-rewrite-candidate{border:1px solid var(--green);background:var(--surface-2);border-radius:12px;gap:8px;padding:14px;display:grid}.report-outline-rewrite-candidate p{margin:0;line-height:1.6}.report-outline-rewrite-candidate small{color:var(--muted)}@media (width<=700px){.report-outline-rewrite{flex-direction:column;align-items:stretch}}.report-outline-evidence,.report-outline-lock-note{color:var(--ink-3);background:var(--surface-2);border-radius:8px;padding:10px 12px;font-size:12px}.report-outline-blank{border:1px dashed var(--line);background:var(--surface-2);border-radius:12px;gap:12px;margin-top:16px;padding:18px;display:grid}.report-outline-blank p{color:var(--ink-2);margin:0;font-size:13px;line-height:1.6}.report-outline-blank small{color:var(--ink-3);font-size:12px;line-height:1.6}.report-outline-blank .page-actions{margin:0}.report-outline-status,.report-outline-success,.report-outline-error{border-radius:9px;margin:14px 0;padding:12px 14px}.report-outline-status{background:var(--surface-2);color:var(--ink-2)}.report-outline-success{background:color-mix(in srgb,var(--green) 10%,white);color:var(--green-strong)}.report-outline-error{color:#a13232;background:#fff0f0}@media (width<=900px){.report-outline-page{padding:16px}.report-outline-toolbar{grid-template-columns:1fr 1fr}.report-outline-layout{grid-template-columns:1fr}.report-outline-list{position:static}.report-outline-fields{grid-template-columns:1fr}}.outline-statusbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:8px;padding:14px 16px;display:flex}.outline-statusbar-main{align-items:center;gap:12px;min-width:0;display:flex}.outline-statusbar-main strong{font-size:15px;line-height:1.4;display:block}.outline-statusbar-main small{color:var(--ink-3);margin-top:3px;font-size:12px;display:block}.outline-state-chip{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-3);white-space:nowrap;border-radius:999px;flex:none;padding:5px 9px;font-size:11px;font-weight:800}.outline-state-chip.is-draft{background:var(--amber-bg);color:var(--amber);border-color:#e8c48d}.outline-state-chip.is-done{border-color:var(--green);background:var(--green-soft);color:var(--green-strong)}.outline-next-hint{color:var(--ink-3);margin:0 0 10px;padding:0 2px;font-size:12px;line-height:1.6}.outline-next-hint.is-warn{color:var(--amber)}.outline-settings{margin:12px 0;padding:0;overflow:hidden}.outline-settings>summary{cursor:pointer;color:var(--ink-2);padding:12px 16px;font-size:12.5px;font-weight:700}.outline-settings[open]>summary{border-bottom:1px solid var(--line-2)}.outline-settings-body{gap:12px;padding:14px 16px 16px;display:grid}.outline-settings-row{grid-template-columns:2fr 1fr;gap:12px;display:grid}.outline-settings-actions{justify-content:flex-start;align-items:center;gap:10px}.outline-student-pick{max-width:320px}.outline-saved-list{position:relative}.outline-saved-list>summary{border:1px solid var(--line);background:var(--card);color:var(--ink-2);cursor:pointer;border-radius:9px;padding:7px 10px;font-size:12px;font-weight:700;list-style:none}.outline-saved-list>button{text-align:left;background:var(--surface-2);border:1px solid #0000;border-radius:9px;gap:3px;width:100%;margin-top:6px;padding:9px 10px;display:grid}.outline-saved-list>button.selected{border-color:var(--green-mid);background:var(--green-soft)}.outline-saved-list strong{color:var(--ink);font-size:12px}.outline-saved-list small{color:var(--ink-3);font-size:10.5px}.outline-candidate{gap:12px;margin:12px 0;padding:14px 16px;display:grid}.outline-candidate-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.outline-candidate-head strong{font-size:15px;display:block}.outline-candidate-head small{color:var(--ink-3);margin-top:4px;font-size:12px;line-height:1.6;display:block}.outline-empty{text-align:center;justify-items:center;gap:9px;padding:28px 20px;display:grid}.outline-empty-icon{background:var(--green-soft);width:42px;height:42px;color:var(--green-strong);border-radius:13px;place-items:center;display:grid}.outline-empty strong{font-size:15px}.outline-empty p{max-width:540px;color:var(--ink-3);margin:0;font-size:12.5px;line-height:1.7}.outline-slides-wrap{gap:12px;margin-top:14px;display:grid}.outline-slides-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.outline-slides-head strong{font-size:15px;display:block}.outline-slides-head small{color:var(--ink-3);margin-top:3px;font-size:12px;display:block}.outline-add-type{border:1px solid var(--line);background:var(--card);height:32px;color:var(--ink-2);cursor:pointer;border-radius:9px;padding:0 10px;font-size:12px;font-weight:700}.outline-add-type:hover{border-color:var(--green-mid);color:var(--green-strong)}.outline-slides{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.outline-slide{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:14px;align-content:start;display:grid;overflow:hidden}.outline-slides.is-compact .outline-slide{box-shadow:none}.outline-slide.is-open{border-color:var(--green-mid);grid-column:1/-1}.outline-slide-bar{border-bottom:1px solid var(--line-2);background:var(--surface-2);color:var(--ink-3);align-items:center;gap:7px;padding:8px 10px;font-size:11px;display:flex}.outline-slide-bar span{color:var(--ink-2);font-variant-numeric:tabular-nums;font-weight:800}.outline-slide-bar em{background:var(--green-soft);color:var(--green-strong);border-radius:999px;padding:2px 7px;font-style:normal;font-weight:700}.outline-slide-tools{gap:1px;margin-left:auto;display:flex}.outline-slide-tools .ghost{color:var(--ink-3);border-radius:6px;padding:2px 6px;font-size:11px;line-height:1.4}.outline-slide-tools .ghost:hover:not(:disabled){background:var(--green-soft);color:var(--green-strong)}.outline-slide-tools .ghost:disabled{opacity:.28;cursor:not-allowed}.slide-canvas{aspect-ratio:16/9;background:var(--card);flex-direction:column;gap:7px;padding:15px 16px 13px 20px;display:flex;position:relative;overflow:hidden}.slide-canvas-accent{background:linear-gradient(var(--green),var(--green-mid));width:4px;position:absolute;top:0;bottom:0;left:0}.slide-canvas-title{color:var(--ink);letter-spacing:-.01em;flex:none;font-size:15px;line-height:1.35}.slide-canvas-claim{color:var(--ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:none;margin:0;font-size:11.5px;line-height:1.55;display:-webkit-box;overflow:hidden}.slide-canvas>.slide-mini-metrics,.slide-canvas>.slide-mini-bars,.slide-canvas>.slide-mini-table,.slide-canvas>.slide-mini-text{flex:auto;min-height:0;overflow:hidden}.slide-mini-metrics{grid-template-columns:repeat(auto-fit,minmax(66px,1fr));align-content:start;gap:6px;display:grid}.slide-mini-metrics>div{background:var(--green-soft);border-radius:8px;padding:7px 8px}.slide-mini-metrics small{color:var(--green-strong);font-size:9.5px;font-weight:800;display:block}.slide-mini-metrics strong{color:var(--ink);font-variant-numeric:tabular-nums;margin-top:2px;font-size:16px;line-height:1.1;display:block}.slide-mini-bars{grid-template-columns:repeat(4,1fr);align-items:end;gap:8px;display:grid}.slide-mini-bars>div{color:var(--ink-3);justify-items:center;gap:4px;font-size:9px;display:grid}.slide-mini-track{background:var(--line-2);border-radius:5px;align-items:flex-end;width:100%;height:50px;display:flex}.slide-mini-track i{background:linear-gradient(var(--green-mid),var(--green));border-radius:5px 5px 0 0;width:100%;display:block}.slide-mini-bars strong{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:10px}.slide-mini-table{color:var(--ink-3);align-content:start;gap:4px;font-size:10px;display:grid}.slide-mini-table-head,.slide-mini-table-row{grid-template-columns:1.5fr .9fr .7fr .7fr;align-items:center;gap:6px;display:grid}.slide-mini-table-head{color:var(--ink-3);font-weight:800}.slide-mini-table-row i{background:var(--line-2);border-radius:3px;height:8px;display:block}.slide-mini-table-row.as-text i{height:auto;color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;background:0 0;font-size:10px;font-style:normal;overflow:hidden}.slide-mini-text{align-content:start;gap:6px;display:grid}.slide-mini-text i{background:var(--line-2);border-radius:3px;height:7px;display:block}.slide-mini-text i:nth-child(2){width:86%}.slide-mini-text i:nth-child(3){width:62%}.outline-slide-foot{border-top:1px solid var(--line-2);align-items:flex-start;gap:10px;padding:9px 11px;display:flex}.outline-slide-note{min-width:0;color:var(--ink-3);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;margin:0;font-size:11.5px;line-height:1.6;display:-webkit-box;overflow:hidden}.outline-slide-edit{flex:none;align-items:center;gap:4px;padding:5px 9px;font-size:11px;display:inline-flex}.outline-slide-edit.is-open{background:var(--green-soft);color:var(--green-strong);border-color:var(--green-mid)}.outline-slide-editor{border-top:1px dashed var(--line);background:var(--surface-2);gap:10px;padding:12px 13px 15px;display:grid}.outline-slide-editor label{color:var(--ink-2);gap:5px;font-size:11.5px;font-weight:700;display:grid}.outline-slide-editor textarea{min-height:62px}.outline-slide-origin{color:var(--ink-3);font-size:10.5px;line-height:1.6}.outline-confirm-layer{z-index:90;background:#0f281c5c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.outline-confirm-dialog{background:var(--card);border-radius:18px;gap:10px;width:min(460px,100%);padding:22px;display:grid;box-shadow:0 24px 60px #0f281c42}.outline-confirm-badge{background:var(--green-soft);color:var(--green-strong);border-radius:999px;justify-self:start;align-items:center;gap:5px;padding:4px 9px;font-size:11px;font-weight:800;display:inline-flex}.outline-confirm-dialog h3{margin:2px 0 0;font-size:18px;line-height:1.4}.outline-confirm-dialog p{color:var(--ink-2);margin:0;font-size:13px;line-height:1.7}.outline-confirm-dialog small{color:var(--ink-3);font-size:11.5px}.outline-confirm-actions{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.outline-confirm-actions .primary{align-items:center;gap:4px;display:inline-flex}@media (width<=700px){.outline-slides,.outline-settings-row{grid-template-columns:1fr}.outline-statusbar{padding:12px}.slide-canvas{aspect-ratio:auto;min-height:180px}}.export-ready-banner{border:1px solid var(--green);background:var(--green-soft);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;display:flex}.export-ready-banner[data-state=blocked]{background:var(--amber-bg);border-color:#e8c48d}.export-ready-banner>div{flex:1;min-width:200px}.export-ready-banner>div strong{color:var(--ink);font-size:13px;display:block}.export-ready-banner>div span{color:var(--ink-2);margin-top:2px;font-size:11.5px;line-height:1.6;display:block}.export-ready-icon{background:var(--green);color:#fff;border-radius:9px;flex:none;place-items:center;width:28px;height:28px;display:grid}.export-ready-icon.is-blocked{background:var(--amber)}.export-result{border:1px solid var(--line);background:var(--card);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;display:flex}.export-result-icon{background:var(--surface-2);width:28px;height:28px;color:var(--green-strong);border-radius:9px;flex:none;place-items:center;display:grid}.export-result>div{flex:1;gap:2px;min-width:0;display:grid}.export-result>div strong{font-size:13px}.export-result>div span{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.export-result>div small{color:var(--ink-3);font-size:11px}.export-feedback{border:1px solid var(--line);background:var(--card);border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.export-feedback.is-error{background:#fdf3f3;border-color:#e2a1a1}.export-feedback.is-success{border-color:var(--green-mid);background:var(--green-soft)}.export-feedback.is-info{border-color:var(--blue-bg)}.export-feedback.is-warn{background:var(--amber-bg);border-color:#e8c48d}.export-feedback-icon{background:var(--surface-2);width:24px;height:24px;color:var(--ink-2);border-radius:8px;flex:none;place-items:center;display:grid}.export-feedback.is-error .export-feedback-icon{color:#fff;background:#d96a6a}.export-feedback.is-success .export-feedback-icon{background:var(--green);color:#fff}.export-feedback.is-warn .export-feedback-icon{background:var(--amber);color:#fff}.export-feedback>div{flex:1;gap:2px;min-width:0;display:grid}.export-feedback>div strong{color:var(--ink);font-size:12.5px}.export-feedback>div span{color:var(--ink-2);font-size:11.5px;line-height:1.6}.export-feedback>button{flex:none;align-self:center}.export-student-status{border:1px solid var(--line);background:var(--surface-2);border-radius:9px;align-items:center;gap:10px;padding:9px 11px;display:flex}.export-student-status[data-state=on]{border-color:var(--green-mid);background:var(--green-soft)}.export-student-status>div{flex:1;gap:2px;min-width:0;display:grid}.export-student-status>div strong{color:var(--ink);font-size:11.5px}.export-student-status>div span{color:var(--ink-2);font-size:10px;line-height:1.5}.export-student-status>button{flex:none;padding:6px 10px;font-size:10.5px}.score-capture-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px;padding:0;list-style:none;display:grid}.score-capture-steps>li{position:relative}.score-capture-steps>li>button{border:1px solid var(--line);background:var(--card);width:100%;color:var(--ink-3);text-align:left;cursor:pointer;border-radius:12px;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon title""icon hint";align-items:center;gap:0 10px;padding:11px 13px;transition:border-color .16s,background .16s,color .16s;display:grid}.score-capture-steps>li>button:disabled{cursor:default;opacity:.55}.score-capture-steps>li>button i{background:var(--surface-2);width:26px;height:26px;color:var(--ink-2);border-radius:50%;grid-area:icon;place-items:center;font-size:12px;font-style:normal;font-weight:800;display:grid}.score-capture-steps>li>button b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;grid-area:title;font-size:13px;font-weight:800;overflow:hidden}.score-capture-steps>li>button small{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;grid-area:hint;font-size:10.5px;line-height:1.4;overflow:hidden}.score-capture-steps>li.current>button{border-color:var(--green);background:var(--green-soft);box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 12%,transparent)}.score-capture-steps>li.current>button i{background:var(--green);color:#fff}.score-capture-steps>li.done>button{border-color:color-mix(in srgb,var(--green) 45%,var(--line))}.score-capture-steps>li.done>button i{background:color-mix(in srgb,var(--green) 16%,white);color:var(--green-strong)}.score-capture-steps>li:not(:last-child)>button:after{content:"";width:0;position:absolute;top:50%;right:-6px}.score-capture-drop{border:1.5px dashed var(--green-mid);background:linear-gradient(180deg,var(--green-soft),var(--card) 88%);min-height:190px;color:var(--teal-dark);text-align:center;cursor:pointer;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:24px 18px;transition:border-color .16s,background .16s;display:flex}.score-capture-drop:hover,.score-capture-drop.is-dragging{border-color:var(--green);background:var(--green-soft)}.score-capture-drop.is-loaded{border-style:solid;min-height:126px;padding:14px 18px}.score-capture-drop input[type=file]{display:none}.score-capture-drop-icon{background:var(--card);width:48px;height:48px;color:var(--green);border-radius:14px;place-items:center;margin-bottom:6px;display:grid;box-shadow:0 2px 8px #173c281a}.score-capture-drop.is-dragging .score-capture-drop-icon{background:var(--green);color:#fff}.score-capture-drop strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:14px;font-weight:800;overflow:hidden}.score-capture-drop-hint{color:var(--ink-2);font-size:11.5px}.score-capture-drop>small{color:var(--ink-3);font-size:10px}.score-capture-thumbs{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;margin-top:14px;display:grid}.score-capture-thumb{border:1px solid var(--line);background:var(--card);border-radius:10px;overflow:hidden}.score-capture-thumb img,.score-capture-thumb-pdf{object-fit:cover;background:var(--surface-2);width:100%;height:84px;display:block}.score-capture-thumb-pdf{color:var(--ink-3);place-items:center;gap:3px;font-size:11px;font-weight:700;display:grid}.score-capture-thumb small{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;padding:5px 7px;font-size:10px;display:block;overflow:hidden}.score-capture-step-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:18px;display:flex}.score-capture-step-actions .primary{margin-left:auto}.score-capture-meta-head{justify-content:space-between;align-items:baseline;gap:10px;margin:4px 0 12px;display:flex}.score-capture-meta-head strong{color:var(--ink);font-size:13px;font-weight:800}.score-capture-meta-head .is-missing{color:var(--amber);font-size:10.5px;font-weight:700}.score-capture-meta-head .is-ready{color:var(--green-strong);font-size:10.5px;font-weight:700}.score-capture-privacy{border:1px dashed var(--line);color:var(--ink-3);border-radius:9px;margin:10px 0 0;padding:9px 11px;font-size:11px;line-height:1.6}.score-capture-suggest{border:1px solid color-mix(in srgb,var(--amber) 45%,var(--line));border-left:3px solid var(--amber);background:color-mix(in srgb,var(--amber) 8%,var(--card));border-radius:12px;align-items:center;gap:13px;margin-bottom:14px;padding:13px 15px;display:flex}.score-capture-suggest>svg{color:var(--amber);flex:none}.score-capture-suggest>div{gap:3px;min-width:0;display:grid}.score-capture-suggest strong{color:var(--ink);font-size:13px;font-weight:800}.score-capture-suggest span{color:var(--ink-2);font-size:11.5px;line-height:1.55}.score-capture-suggest>button{flex:none;margin-left:auto}.score-capture-exam-select{margin-bottom:12px}.score-capture-batch{border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--card);border-radius:12px;align-items:center;gap:13px;margin-bottom:14px;padding:13px 15px;display:flex}.score-capture-batch>svg{color:var(--accent);flex:none}.score-capture-batch>div{gap:3px;min-width:0;display:grid}.score-capture-batch strong{color:var(--ink);font-size:13.5px;font-weight:800}.score-capture-batch span{color:var(--ink-2);font-size:11.5px;line-height:1.55}.score-capture-warn{border:1px solid color-mix(in srgb,var(--red) 40%,var(--line));border-left:3px solid var(--red);background:color-mix(in srgb,var(--red) 7%,var(--card));border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px 13px;margin-bottom:14px;padding:13px 15px;display:flex}.score-capture-warn strong{color:var(--ink);flex:100%;font-size:13px;font-weight:800}.score-capture-warn span{min-width:0;color:var(--ink-2);flex:260px;font-size:11.5px;line-height:1.55}.score-capture-warn>button{margin-left:auto}.score-capture-subjects{margin:0 0 16px}.score-capture-subjects>strong{color:var(--ink);margin-bottom:8px;font-size:12.5px;font-weight:800;display:block}.score-capture-subject-list{flex-wrap:wrap;gap:9px;display:flex}.score-capture-subject-list>button{border:1px solid var(--line);background:var(--card);text-align:left;border-radius:10px;gap:2px;padding:9px 13px;transition:border-color .16s,background .16s;display:grid}.score-capture-subject-list>button:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--card))}.score-capture-subject-list>button b{color:var(--ink);font-size:12.5px;font-weight:800}.score-capture-subject-list>button span{color:var(--ink-3);font-size:10.5px}.score-capture-subject-list>button.no-scores{border-color:color-mix(in srgb,var(--green-strong) 45%,var(--line))}.score-capture-subject-list>button.no-scores span{color:var(--green-strong);font-weight:700}.score-capture-subjects>small{color:var(--ink-3);margin-top:7px;font-size:10.5px;display:block}.score-capture-auto-name{border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--ink-2);border-radius:9px;margin:0 0 12px;padding:9px 12px;font-size:11.5px;line-height:1.6}.score-capture-exam-form input,.score-capture-exam-form select{min-height:42px}.score-capture-exam-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.score-capture-exam-form .modal-field{min-width:0;margin:0}.score-capture-exam-form .modal-field.is-missing input,.score-capture-exam-form .modal-field.is-missing select{border-color:var(--amber);background:#fffdf5}.score-capture-exam-form small.score-capture-auto-tag,.score-capture-exam-form .modal-field>small{color:var(--green-strong);font-size:10px;font-weight:600}.score-capture-exam-card .hd{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.score-capture-exam-card h3{margin:0;font-size:15px}.score-capture-exam-line{color:var(--ink-2)!important;margin:8px 0 0!important;font-size:12.5px!important}.score-capture-exam-actions{gap:14px;margin-top:10px;display:flex}.score-capture-head-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.score-capture-head-actions .modal-field{min-width:190px;margin:0}.score-capture-head-actions>button{padding:6px 11px;font-size:12px}.score-capture-auto-meta{margin-top:12px}.score-capture-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:14px;margin:12px 0;display:grid}.score-capture-toolbar .modal-field{margin:0}.score-capture-toolbar .modal-field span{color:var(--ink-2);margin-bottom:6px;font-size:13px;font-weight:650;display:block}.score-capture-add-row{grid-template-columns:minmax(240px,360px) auto minmax(0,1fr)}.score-capture-layout{grid-template-columns:minmax(0,1fr) minmax(260px,330px);align-items:start;gap:16px;display:grid}.score-capture-table-wrap{border:1px solid var(--line);background:var(--card);border-radius:14px;overflow:auto}.score-capture-table{min-width:720px;margin:0}.score-capture-table th small{color:var(--ink-3);margin-top:4px;font-size:11px;font-weight:500;display:block}.score-capture-score{border:1px solid var(--line);width:76px;min-height:38px;color:var(--ink);background:var(--card);text-align:center;border-radius:9px;padding:6px 8px}.score-capture-score:focus{outline:2px solid color-mix(in srgb,var(--green) 24%,transparent);border-color:var(--green)}.score-capture-source{position:sticky;top:18px}.score-capture-file{color:var(--green-strong);align-items:center;gap:10px;display:flex}.score-capture-file div{gap:4px;min-width:0;display:grid}.score-capture-file b{overflow-wrap:anywhere;color:var(--ink);font-size:13px}.score-capture-file span,.score-capture-source p{color:var(--ink-3);font-size:12px;line-height:1.55}.score-capture-file-list{border:1px solid var(--line);background:var(--surface-soft,#f4f8f7);border-radius:10px;gap:6px;margin:10px 0;padding:9px;display:grid}.score-capture-file-list strong{color:var(--ink-2);font-size:11px}.score-capture-file-list button{color:var(--ink-2);text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;padding:5px 7px;font-size:11px;overflow:hidden}.score-capture-file-list button.selected{border-color:var(--green);background:var(--card);color:var(--green-strong)}.score-capture-preview-controls{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.score-capture-preview-controls .score-capture-page{margin:0}.score-capture-preview-controls>label:not(.score-capture-page){color:var(--ink-3);align-items:center;gap:5px;font-size:11px;display:flex}.score-capture-preview-controls input[type=range]{width:86px}.score-capture-preview-viewport{border:1px solid var(--line);background:var(--line-2);border-radius:10px;place-items:center;min-height:160px;max-height:480px;margin-top:10px;display:grid;overflow:auto}.score-capture-preview-viewport.selecting{cursor:crosshair}.score-capture-image-frame{transform-origin:50%;max-width:100%;display:inline-block;position:relative}.score-capture-preview{object-fit:contain;border:1px solid var(--line);background:var(--surface-2);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:8px;width:auto;max-width:min(100%,560px);max-height:430px;margin:0;display:block}.score-capture-preview-viewport.selecting .score-capture-preview{pointer-events:none}.score-capture-region-box{z-index:1;border:2px solid var(--green);background:color-mix(in srgb,var(--green) 16%,transparent);pointer-events:none;display:block;position:absolute}.score-capture-region-box.draft{border-style:dashed;border-color:var(--green-strong);background:color-mix(in srgb,var(--green) 15%,transparent)}.score-capture-region-hint{background:var(--surface-soft,#f4f8f7);border-radius:8px;padding:8px 10px;color:var(--ink-2)!important}.score-capture-locate{margin:4px auto 0;padding:3px 6px;font-size:10px;display:block}.score-capture-pdf-preview{border:1px solid var(--line);background:var(--surface-2);box-sizing:border-box;border-radius:10px;place-items:start center;width:100%;height:430px;margin-top:12px;padding:12px;display:grid;overflow:auto}.score-capture-pdf-preview.selecting{cursor:crosshair}.score-capture-pdf-frame{touch-action:none;-webkit-user-select:none;user-select:none;background:#fff;max-width:100%;margin:auto;display:inline-block;position:relative;box-shadow:0 2px 10px #0f232d1f}.score-capture-pdf-canvas{pointer-events:none;background:#fff;max-width:100%;height:auto;display:block}.score-capture-pdf-error{color:var(--danger,#b94444);background:#fff1f0;border-radius:8px;padding:8px 10px;font-size:12px;position:sticky;bottom:0}.score-capture-queue{gap:10px;margin:14px 0;padding:14px;display:grid}.score-capture-queue-head{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;display:grid}.score-capture-queue-head>div:first-child{gap:4px;display:grid}.score-capture-queue-head b{color:var(--ink);font-size:14px}.score-capture-queue-head span,.score-capture-queue-counts{color:var(--ink-3);font-size:11px;line-height:1.45}.score-capture-queue-list{gap:6px;display:grid}.score-capture-queue-row{border:1px solid var(--line);background:var(--surface-soft,#f4f8f7);border-radius:9px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px 10px;font-size:12px;display:grid}.score-capture-queue-row>span{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.score-capture-queue-row>b{color:var(--green-strong,#087f6d);font-size:11px}.score-capture-queue-row.failed>b{color:var(--danger,#b94444)}.score-capture-queue-row.cancelled>b{color:var(--ink-3)}.score-capture-queue-row small{color:var(--danger,#b94444);overflow-wrap:anywhere;grid-column:1/-1}.score-capture-image-frame{touch-action:none;-webkit-user-select:none;user-select:none}.score-capture-student-cell{min-width:170px}.score-capture-student-cell b,.score-capture-student-cell select{width:100%;margin-bottom:6px;display:block}.score-capture-ai-actions{justify-items:start;gap:2px;margin:4px 0;display:grid}.score-capture-ai-candidate{background:var(--surface-soft,#f4f8f7);border-radius:8px;gap:3px;margin:6px 0;padding:7px 8px;font-size:11px;line-height:1.45;display:grid}.score-capture-ai-candidate .readable{color:var(--green-700,#087f6d)}.score-capture-ai-candidate .out-of-range,.score-capture-ai-stale{color:var(--danger,#c44)}.score-capture-ai-candidate .unreadable,.score-capture-ai-candidate small{color:var(--ink-3,#718796)}.score-capture-student-cell select{border:1px solid var(--line);max-width:190px;color:var(--ink-2);background:var(--card);border-radius:7px;padding:5px;font-size:11px}.score-capture-page{color:var(--ink-3);justify-content:center;align-items:center;gap:4px;margin-top:5px;font-size:10px;display:flex}.score-capture-page input{border:1px solid var(--line);width:48px;min-height:26px;color:var(--ink-2);background:var(--card);text-align:center;font:inherit;border-radius:6px;padding:3px 5px}.score-capture-preview-page{justify-content:flex-start;margin-top:10px}.score-capture-empty{border:1px dashed var(--line);color:var(--ink-3);text-align:center;border-radius:12px;justify-items:center;gap:10px;padding:32px 18px;font-size:13px;display:grid}.score-capture-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;display:flex}.score-capture-actions .form-error,.score-capture-actions .inline-success{flex:1 0 100%}@media (width<=900px){.score-capture-layout{grid-template-columns:1fr}.score-capture-source{position:static}}@media (width<=680px){.score-capture-preview-controls{align-items:flex-start}.score-capture-preview-viewport{min-height:120px}.score-capture-toolbar,.score-capture-add-row{grid-template-columns:1fr}.score-capture-actions{align-items:stretch}.score-capture-actions button{flex:100%}}@media (width<=860px){.score-capture-warn>button{width:100%;margin-left:0}.score-capture-subject-list>button{flex:100%}.score-capture-suggest{flex-wrap:wrap}.score-capture-suggest>button{width:100%;margin-left:0}.score-capture-steps{grid-template-columns:1fr}.score-capture-steps>li>button{gap:0 9px}.score-capture-exam-form{grid-template-columns:repeat(2,minmax(0,1fr))}.score-capture-step-actions{flex-direction:column-reverse;align-items:stretch}.score-capture-step-actions .primary{margin-left:0}}@media (width<=560px){.score-capture-exam-form{grid-template-columns:1fr}.score-capture-thumbs{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}}@media (width<=760px){.score-capture-queue-head{grid-template-columns:1fr}.score-capture-queue-head button{justify-self:start}.score-capture-queue-counts{white-space:normal}}.lesson-reminder-settings{border-color:color-mix(in srgb, var(--green) 22%, var(--line));margin:0 0 14px}.lesson-reminder-settings .hd h3{align-items:center;gap:8px;display:flex}.lesson-reminder-settings .hd h3 svg{color:var(--green-strong)}.lesson-reminder-settings .bd>p{color:var(--ink-3);margin:0 0 14px;font-size:13px;line-height:1.6}.lesson-reminder-controls{grid-template-columns:repeat(3,minmax(150px,1fr));align-items:end;gap:12px;display:grid}.lesson-reminder-controls>label:not(.lesson-reminder-toggle){color:var(--ink-2);gap:6px;font-size:12px;font-weight:700;display:grid}.lesson-reminder-controls select,.lesson-reminder-controls input[type=time]{border:1px solid var(--line);width:100%;min-width:0;height:38px;color:var(--ink);background:var(--surface);border-radius:9px;padding:0 10px}.lesson-reminder-toggle{min-height:38px;color:var(--ink-2);align-items:center;gap:8px;font-size:13px;display:flex}.lesson-reminder-toggle input{accent-color:var(--green-strong);width:16px;height:16px}.lesson-reminder-subjects{border:1px solid var(--line);background:color-mix(in srgb, var(--green) 4%, var(--surface));border-radius:10px;grid-template-columns:minmax(130px,190px) 1fr;gap:14px;margin-top:14px;padding:12px 14px;display:grid}.lesson-reminder-subjects>div:first-child{align-content:start;gap:4px;display:grid}.lesson-reminder-subjects strong{color:var(--ink-2);font-size:13px}.lesson-reminder-subjects small{color:var(--ink-3);font-size:11px;line-height:1.45}.lesson-reminder-subject-list{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.lesson-reminder-subject-list label{color:var(--ink-2);cursor:pointer;align-items:center;gap:6px;font-size:12px;display:inline-flex}.lesson-reminder-subject-list input{accent-color:var(--green-strong)}.lesson-reminder-subject-list>small{margin:0}.lesson-reminder-subject-list .link-button{padding:0;font-size:12px}.lesson-reminder-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.lesson-reminder-actions button{align-items:center;gap:7px;display:inline-flex}.lesson-reminder-settings .bd>small{color:var(--ink-3);margin-top:9px;display:block}.lesson-reminder-notice,.lesson-reminder-error{border-radius:9px;margin-top:10px;padding:9px 12px;font-size:12px}.lesson-reminder-notice{background:color-mix(in srgb, var(--green) 10%, white);color:var(--green-strong)}.lesson-reminder-error{color:#b64646;background:#fff1f0}@media (width<=900px){.lesson-reminder-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.lesson-reminder-controls,.lesson-reminder-subjects{grid-template-columns:1fr}.lesson-reminder-actions>button{flex:100%;justify-content:center}}.classroom-workbench{max-width:1480px;color:var(--ink);margin:0 auto;padding:24px 28px 60px}.classroom-workbench .page-title{justify-content:space-between;align-items:flex-start;gap:20px;margin:6px 0 22px;display:flex}.classroom-workbench .page-title h1{margin:7px 0 6px}.classroom-workbench .page-title p{color:var(--ink-3);margin:0}.classroom-workbench .page-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.classroom-receiver-link{align-items:center;gap:8px;text-decoration:none;display:inline-flex}.classroom-pair-layout{grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:12px;display:grid}.classroom-pair-layout label,.classroom-call-form label{color:var(--ink-2);gap:6px;font-size:12px;font-weight:700;display:grid}.classroom-pair-layout input,.classroom-pair-layout select,.classroom-call-form input,.classroom-call-form select,.classroom-receiver-pair input{border:1px solid var(--line);background:var(--surface);width:100%;min-height:40px;color:var(--ink);font:inherit;border-radius:9px;padding:8px 11px}.classroom-pair-layout .primary,.classroom-call-actions button{white-space:nowrap;justify-content:center;align-items:center;gap:7px;display:inline-flex}.classroom-pair-code{border:1px solid color-mix(in srgb, var(--green) 28%, var(--line));background:color-mix(in srgb, var(--green) 8%, white);color:var(--ink-2);border-radius:11px;grid-column:1/-1;grid-template-columns:auto auto 1fr;align-items:center;gap:12px;padding:12px 14px;display:grid}.classroom-pair-code strong{color:var(--green-strong);letter-spacing:.2em;font-size:27px}.classroom-pair-code small{color:var(--ink-3)}.classroom-call-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);align-items:start;gap:14px;margin-top:14px;display:grid}.classroom-call-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.classroom-call-form label:nth-child(3),.classroom-call-preview,.classroom-call-actions{grid-column:1/-1}.classroom-call-preview{background:var(--surface-2);color:var(--ink-2);border-radius:9px;padding:11px 13px;font-weight:650}.classroom-call-actions{flex-wrap:wrap;gap:8px;display:flex}.classroom-device-list,.classroom-call-list{padding:0 16px 14px}.classroom-device,.classroom-call-row{border-bottom:1px solid var(--line-2);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 14px;padding:12px 0;display:grid}.classroom-device:last-child,.classroom-call-row:last-child{border-bottom:0}.classroom-device>div,.classroom-call-person{gap:4px;min-width:0;display:grid}.classroom-device strong,.classroom-call-person strong{color:var(--ink)}.classroom-device span,.classroom-call-person span,.classroom-call-delivery{color:var(--ink-3);font-size:12px}.classroom-call-row{grid-template-columns:minmax(180px,1fr) auto minmax(120px,auto) auto}.classroom-call-row-actions{gap:6px;display:flex}.classroom-call-row-actions button{padding:6px 9px;font-size:12px}.classroom-call-history .hd{margin-bottom:0}.classroom-notice,.classroom-error{border-radius:9px;margin-top:12px;padding:10px 12px;font-size:13px}.classroom-notice{background:color-mix(in srgb, var(--green) 9%, white);color:var(--green-strong);align-items:center;gap:8px;display:flex}.classroom-error{color:#a13232;background:#fff1f0}.classroom-safety-note{color:var(--ink-3);margin:12px 0 0;font-size:12px;line-height:1.6}.classroom-receiver-shell{background:radial-gradient(circle at top right, color-mix(in srgb, var(--green) 12%, #fff), transparent 44%), var(--surface-2);min-height:100vh;color:var(--ink);grid-template-rows:auto 1fr auto;gap:18px;padding:clamp(18px,4vw,48px);display:grid}.classroom-receiver-top{justify-content:space-between;align-items:center;gap:16px;display:flex}.classroom-receiver-top h1{margin:5px 0 0;font-size:clamp(22px,3vw,32px)}.classroom-receiver-status{color:var(--ink-3);align-items:center;gap:8px;font-size:14px;display:inline-flex}.classroom-receiver-status i{background:#d69a37;border-radius:50%;width:10px;height:10px}.classroom-receiver-status i.online{background:var(--green);box-shadow:0 0 0 4px color-mix(in srgb, var(--green) 14%, transparent)}.classroom-receiver-display{border:1px solid var(--line);background:var(--card);text-align:center;border-radius:24px;align-content:center;justify-items:center;gap:18px;padding:clamp(24px,7vw,80px);display:grid;box-shadow:0 18px 55px #16324f14}.classroom-receiver-kicker{color:var(--green-strong);letter-spacing:.08em;font-weight:750}.classroom-receiver-name{color:var(--ink);font-size:clamp(42px,9vw,104px);font-weight:850;line-height:1.08}.classroom-receiver-location{color:var(--ink-2);font-size:clamp(24px,4vw,44px)}.classroom-receiver-location strong{color:var(--green-strong)}.classroom-receiver-meta{color:var(--ink-3);font-size:14px}.classroom-receiver-empty-icon{background:color-mix(in srgb, var(--green) 10%, white);width:80px;height:80px;color:var(--green-strong);border-radius:24px;place-items:center;display:grid}.classroom-receiver-display h2{margin:0;font-size:clamp(26px,4vw,44px)}.classroom-receiver-display p{color:var(--ink-3);margin:0;font-size:clamp(16px,2.2vw,22px)}.classroom-replay{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;font:inherit;border-radius:10px;padding:10px 16px}.classroom-receiver-footer{color:var(--ink-3);justify-content:space-between;align-items:center;gap:14px;font-size:13px;display:flex}.classroom-receiver-footer button{color:var(--ink-3);cursor:pointer;font:inherit;background:0 0;border:0;align-items:center;gap:6px;display:inline-flex}.classroom-receiver-error{color:#a13232;background:#fff1f0;border-radius:9px;padding:9px 12px}.classroom-receiver-pair{border:1px solid var(--line);background:var(--card);border-radius:20px;width:min(520px,100%);margin:auto;padding:clamp(24px,5vw,42px);box-shadow:0 18px 55px #16324f14}.classroom-receiver-pair h1{margin:8px 0}.classroom-receiver-pair p{color:var(--ink-3);line-height:1.7}.classroom-receiver-pair form{gap:14px;margin-top:20px;display:grid}.classroom-receiver-pair label{color:var(--ink-2);gap:6px;font-weight:700;display:grid}.classroom-receiver-pair form .primary{justify-content:center;align-items:center;gap:8px;min-height:44px;display:flex}.notification-link{cursor:pointer;border-radius:8px;padding-left:8px;padding-right:8px}.notification-link:hover,.notification-link:focus-visible{outline:2px solid color-mix(in srgb, var(--green) 22%, transparent);background:color-mix(in srgb, var(--green) 5%, white)}@media (width<=900px){.classroom-workbench{padding:16px}.classroom-call-layout{grid-template-columns:1fr}.classroom-call-row{grid-template-columns:1fr auto}.classroom-call-delivery,.classroom-call-row-actions{grid-column:1/-1}}@media (width<=620px){.classroom-workbench .page-title{flex-direction:column}.classroom-pair-layout,.classroom-call-form,.classroom-pair-code{grid-template-columns:1fr}.classroom-call-form label:nth-child(3),.classroom-call-preview,.classroom-call-actions{grid-column:auto}.classroom-call-row{grid-template-columns:1fr}.classroom-call-row-actions{flex-wrap:wrap}.classroom-receiver-footer{flex-direction:column;align-items:flex-start}}.sidebar-close,.sidebar-backdrop{display:none}@media (width<=760px){.side-brand{position:relative}.sidebar-close{width:30px;height:30px;color:var(--ink-3);background:var(--line-2);border-radius:8px;place-items:center;display:grid;position:absolute;top:18px;right:12px}.sidebar-close:hover{color:var(--ink);background:var(--line)}.sidebar-backdrop{z-index:14;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#14231c61;display:block;position:fixed;inset:0}.side-brand .logo{padding-right:36px}}.lesson-reminder-head,.lesson-reminder-settings .lesson-reminder-head{padding:0}.lesson-reminder-head-toggle{text-align:left;align-items:center;gap:10px;width:100%;padding:14px 16px;display:flex}.lesson-reminder-head-toggle h3{flex:none}.lesson-reminder-head-toggle .status{margin-left:auto}.lesson-reminder-chevron{color:var(--ink-3);flex:none;transition:transform .18s}.lesson-reminder-chevron.open{transform:rotate(90deg)}.lesson-reminder-settings.collapsed .lesson-reminder-head-toggle{gap:8px;padding:11px 14px}.lesson-reminder-settings.collapsed .lesson-reminder-head-toggle h3{font-size:13px}.lesson-reminder-settings.collapsed .lesson-reminder-head-toggle h3 svg{width:15px;height:15px}.lesson-reminder-settings.collapsed .lesson-reminder-head-toggle .status{margin-left:0;padding:2px 7px;font-size:10px}.lesson-reminder-summary{min-width:0;color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;align-items:baseline;gap:8px;margin-left:auto;font-size:11.5px;display:flex;overflow:hidden}.lesson-reminder-summary .next-reminder{color:var(--green-strong);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.lesson-reminder-settings>.lesson-reminder-notice,.lesson-reminder-settings>.lesson-reminder-error{margin:0 16px 14px}.course-import-manager{margin-bottom:18px}.course-import-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:12px;padding:12px 14px 14px;display:grid}.course-import-panel{border:1px solid var(--line);background:var(--card);border-radius:12px;overflow:hidden}.course-import-panel-head{background:var(--surface-2);border-bottom:1px solid var(--line-2);align-items:center;gap:10px;padding:9px 11px;display:flex}.course-import-panel-head .course-import-actions .ghost.sm{justify-content:center;width:28px;padding:0}.import-mini{padding:8px 10px 10px}.import-mini+.import-mini{border-top:1px dashed var(--line-2)}.import-mini-hint{padding:12px 14px}.import-mini-grid{border-collapse:collapse;table-layout:fixed;width:100%}.import-mini-grid th,.import-mini-grid td{border:1px solid var(--line-2);text-align:center;vertical-align:middle;padding:3px 4px;font-size:11px}.import-mini-grid thead th{background:var(--line-2);color:var(--ink-2);padding:2px 4px;font-size:10.5px;font-weight:700}.import-mini-grid tbody th{width:78px;color:var(--ink-3);white-space:nowrap;padding:2px 3px;font-size:10px;font-weight:600;line-height:1.3}.import-mini-grid tbody th small{color:var(--ink-3);font-variant-numeric:tabular-nums;margin-left:3px;font-size:9.5px;font-weight:500;display:inline}.import-mini-grid tbody td{padding:1px 2px}.import-mini-course{width:100%;color:var(--text);border-radius:6px;padding:2px;font-size:11px;font-weight:600;line-height:1.4;display:block}.import-mini-course:hover{background:var(--green-soft);color:var(--teal-dark)}.import-mini-course.mine{background:var(--green-soft);border:1px solid var(--green-mid);color:var(--teal-dark);font-weight:800}.import-mini-course.claimed{background:var(--amber-bg);border:1px solid color-mix(in srgb, var(--amber) 45%, transparent);color:var(--amber);font-weight:800}.import-mini-course.claimed em{font-size:9px;font-style:normal;font-weight:700;line-height:1.2;display:block}.import-mini-empty{color:var(--line);font-size:11px}@media (width<=760px){.course-import-grid{grid-template-columns:minmax(0,1fr);gap:10px;padding:10px}.course-import-panel-head{flex-wrap:wrap;gap:6px}.course-import-panel-head .course-import-main{flex:100%}.course-import-panel-head .course-import-actions{justify-content:flex-end;width:100%}.import-mini-grid tbody th{width:54px;font-size:9.5px}.import-mini-grid tbody th small{margin-left:2px;font-size:9px}.import-mini-course{font-size:10px}}.course-block .course-plan-button{border:1px solid var(--green-mid);background:var(--card);width:auto;height:28px;color:var(--teal-dark);white-space:nowrap;border-radius:8px;align-items:center;gap:5px;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.course-block .course-plan-button:hover{border-color:var(--teal);background:var(--green-soft);color:var(--teal-dark)}.course-block .course-plan-button.linked{color:var(--ink-3);border-color:var(--line-2);background:var(--surface-2)}.course-block .course-plan-button.linked svg{color:var(--teal)}.plan-attach-banner{border:1px solid var(--green-mid);background:var(--green-soft);border-radius:13px;align-items:center;gap:11px;margin-bottom:14px;padding:12px 15px;display:flex}.plan-attach-banner>svg{color:var(--teal);flex:none}.plan-attach-banner div{flex-direction:column;gap:2px;min-width:0;display:flex}.plan-attach-banner strong{font-size:12.5px}.plan-attach-banner span{color:var(--ink-3);font-size:11px}.plan-attach-banner button{flex:none;margin-left:auto}.lesson-card-actions>.plan-attach-action{grid-column:1/-1}@media (width<=760px){.plan-attach-banner{flex-wrap:wrap}.plan-attach-banner button{margin-left:0}}.course-import-row{align-items:center}.course-import-main{flex:1;min-width:0}.course-import-main .t{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.course-import-week{color:var(--green-strong);background:var(--green-soft);border:1px solid var(--green-mid);white-space:nowrap;border-radius:7px;margin-left:9px;padding:1px 8px;font-size:12px;font-weight:800}.course-import-actions{flex:none;gap:8px;display:flex}.course-import-actions .secondary,.course-import-actions .ghost{align-items:center;gap:5px;display:inline-flex}.course-import-modal{width:min(920px,100%)}.course-import-table-wrap{border:1px solid var(--line);border-radius:10px;max-height:min(56vh,520px);overflow:auto}.course-import-table{min-width:760px}.course-import-table th{z-index:1;position:sticky;top:0}.course-import-row-actions{white-space:nowrap;gap:10px;display:flex}.course-import-row-actions .link-button{align-items:center;gap:3px;display:inline-flex}button.danger,.link-button.danger{color:var(--red)}.secondary.danger{border-color:color-mix(in srgb, var(--red) 28%, var(--line))}.secondary.danger:hover{background:var(--red-bg);color:var(--red);border-color:var(--red)}.primary.danger{background:var(--red);border-color:var(--red);color:#fff}.primary.danger:hover{background:color-mix(in srgb, var(--red) 86%, #000)}@media (width<=760px){.course-import-row{flex-direction:column;align-items:flex-start;gap:8px}.course-import-actions{width:100%}.course-import-actions>*{flex:1;justify-content:center}.course-import-modal{width:100%}}.lesson-reminder-permission-state{color:var(--ink-3);margin-top:8px;font-size:12px}.lesson-reminder-push-hint{margin:0 0 14px}.lesson-reminder-push-hint b{color:var(--amber);margin-bottom:3px;display:block}.lesson-reminder-push-action{align-items:center;gap:6px;margin-top:9px;display:inline-flex}.mini-day-flag{white-space:nowrap;vertical-align:1px;border-radius:6px;margin-left:5px;padding:1px 6px;font-size:10px;font-style:normal;font-weight:800;display:inline-block}.mini-day-flag.holiday-flag{color:var(--ink-3);background:var(--line-2);border:1px solid var(--line)}.mini-day-flag.swap-flag{color:var(--green-strong);background:var(--green-soft);border:1px solid var(--green-mid)}.mini-day-flag.workday-flag{color:var(--amber);background:var(--amber-bg);border:1px solid color-mix(in srgb, var(--amber) 30%, transparent)}.calendar-source-panel{background:var(--green-soft);border:1px solid var(--green-mid);border-radius:11px;align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;display:flex}.calendar-source-copy{flex:1;min-width:0}.calendar-source-copy strong{color:var(--green-strong);font-size:12px;display:block}.calendar-source-copy span{color:var(--ink-3);margin-top:2px;font-size:10.5px;line-height:1.5;display:block}.calendar-source-copy a{color:var(--teal);margin:4px 10px 0 0;font-size:10.5px;font-weight:700;display:inline-block}.import-mini-grid th.holiday,.import-week-grid th.holiday{color:var(--ink-3);background:var(--line-2)}.import-mini-grid td.holiday,.import-week-grid td.holiday{background:repeating-linear-gradient(135deg, var(--line-2), var(--line-2) 7px, var(--card) 7px, var(--card) 12px)}.import-mini-holiday{color:var(--ink-3);letter-spacing:.1em;font-size:11px;font-weight:700;display:inline-block}.week-strip button.holiday{background:var(--line-2);color:var(--ink-3)}.week-strip button.holiday strong{color:var(--ink-3)}.week-strip button.holiday.active{background:var(--teal);color:var(--green-soft)}.week-strip button.holiday.active strong{color:var(--card)}.course-calendar-modal{width:min(640px,100%)}.calendar-week-nav{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.calendar-week-nav strong{letter-spacing:-.01em;align-items:center;font-size:13px;display:inline-flex}.calendar-week-nav .course-import-week{margin-left:8px}.calendar-day-list{border:1px solid var(--line);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.calendar-day-row{border-top:1px solid var(--line);grid-template-columns:92px 1fr auto;align-items:center;gap:12px;padding:10px 14px;display:grid}.calendar-day-row:first-child{border-top:0}.calendar-day-row.holiday{background:var(--line-2)}.calendar-day-name strong{font-size:12.5px;display:block}.calendar-day-name small{color:var(--ink-3);align-items:center;gap:5px;font-size:11px;display:flex}.calendar-today-tag{color:var(--green-strong);background:var(--green-soft);border:1px solid var(--green-mid);border-radius:6px;padding:0 5px;font-size:9.5px;font-style:normal;font-weight:800}.calendar-day-status{align-items:center;display:flex}.calendar-normal{color:var(--ink-3);font-size:11px}.calendar-day-actions{align-items:center;gap:8px;display:flex}.calendar-day-actions select{border:1px solid var(--line);background:var(--card);color:var(--ink-2);border-radius:8px;max-width:168px;padding:6px 8px;font-size:11.5px}.calendar-day-actions select:disabled{opacity:.55;cursor:not-allowed}.calendar-day-actions .active-holiday{border-color:var(--line);color:var(--ink-3);background:var(--card)}@media (width<=760px){.calendar-day-row{grid-template-columns:72px 1fr}.calendar-day-actions{grid-column:1/-1;justify-content:flex-end}}.class-hub-scopes{flex-wrap:wrap;margin:0}.class-hub-scopes button{align-items:center;gap:5px;display:inline-flex}.class-hub-scopes button small{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:10px;font-weight:600}.class-hub-scopes button.active small{color:var(--teal-dark)}.class-hub-toolbar{margin-top:0}.class-hub-subtabs{margin:0 0 12px}.class-hub-subtabs.subtabs-animated{transition:margin-left .32s cubic-bezier(.33,0,.2,1)}.class-hub-subtabs button{font-size:11px}.subtab-panel{animation:.26s cubic-bezier(.33,0,.2,1) subtab-panel-in}@keyframes subtab-panel-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.class-hub-subtabs.subtabs-animated{transition:none}.subtab-panel{animation:none}}.class-hub-toolbar-left,.class-hub-toolbar-right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.class-hub-count{color:var(--ink-3);white-space:nowrap;font-size:11px}.onboard-data-panel{background:var(--surface-2);border:1px solid var(--line);border-radius:15px;flex-direction:column;gap:14px;max-width:620px;margin:0 auto;padding:20px 22px;display:flex}.onboard-data-panel .data-count{color:var(--ink-3);align-items:center;gap:8px;font-size:12px;display:flex}.onboard-data-panel .data-count svg{color:var(--teal)}.onboard-data-panel .data-count b{color:var(--teal-dark);font-size:16px}.onboard-data-actions{flex-wrap:wrap;gap:10px;display:flex}.onboard-manual-row{grid-template-columns:1.2fr 1fr auto;gap:8px;display:grid}.onboard-manual-row input,.onboard-manual-row select{border:1px solid var(--line);background:var(--card);border-radius:9px;outline:0;min-width:0;padding:9px 10px;font-size:12px}.onboard-manual-row button{background:var(--teal);color:#fff;border-radius:9px;align-items:center;gap:5px;padding:0 14px;font-size:12px;font-weight:700;display:inline-flex}.onboard-data-panel>.hint{color:var(--ink-3);font-size:10px;line-height:1.6}@media (width<=760px){.onboard-manual-row{grid-template-columns:1fr}.onboard-data-actions button{flex:1;justify-content:center}}.setup-checklist{background:var(--card);border:1px solid var(--line-2);border-radius:15px;margin-bottom:19px;padding:15px 17px}.setup-checklist .setup-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.setup-checklist .setup-head strong{font-size:14px;display:block}.setup-checklist .setup-head span{color:var(--ink-3);font-size:11px}.setup-checklist .setup-items{grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:8px;display:grid}.setup-item{text-align:left;border:1px solid var(--line);background:var(--surface-2);border-radius:11px;align-items:center;gap:9px;min-width:0;padding:9px 11px;display:flex}.setup-item:not(:disabled):hover{border-color:var(--green-mid);background:var(--green-soft)}.setup-item:disabled{cursor:default}.setup-item.done{opacity:.72}.setup-check{border:1px solid var(--line-2);background:var(--card);width:20px;height:20px;color:var(--blue);border-radius:7px;flex:0 0 20px;place-items:center;display:grid}.setup-item.done .setup-check{background:var(--teal);border-color:var(--teal);color:#fff}.setup-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.setup-copy strong{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.setup-copy small{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.setup-item svg:last-child{color:var(--ink-3);flex:none;margin-left:auto}@media (width<=760px){.setup-checklist .setup-items{grid-template-columns:1fr 1fr;gap:7px}.setup-copy small{white-space:normal}}.setup-empty-banner{background:var(--green-soft);border:1px solid var(--green-mid);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:17px;padding:14px 17px;display:flex}.setup-empty-copy strong{margin-bottom:3px;font-size:13px;display:block}.setup-empty-copy span{color:var(--ink-3);font-size:11px}.empty-state.lesson-empty{color:var(--ink-3);text-align:center;flex-direction:column;align-items:center;gap:9px;padding:30px 16px;font-size:12px;display:flex}.ownership-list{flex-direction:column;gap:8px;max-height:46vh;padding:2px;display:flex;overflow-y:auto}.ownership-row{text-align:left;border:1px solid var(--line);background:var(--surface-2);border-radius:11px;align-items:center;gap:10px;padding:11px 13px;display:flex}.ownership-row:hover{border-color:var(--teal)}.ownership-row.selected{border-color:var(--teal);background:var(--green-soft)}.ownership-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.ownership-copy strong{font-size:13px}.ownership-copy small{color:var(--ink-3);font-size:10px}.ownership-mine{color:var(--teal-dark);flex:none;margin-left:auto;font-size:10px;font-weight:700}.ownership-summary{color:var(--ink-3);margin-right:auto;font-size:11px}.nav-item.locked{opacity:.62}.nav-item.locked:hover{opacity:.85;border-color:var(--line-2)}.nav-item.locked .ic{color:var(--ink-3)}.nav-item.is-new{font-weight:700}.nav-lock{color:var(--ink-3);margin-left:auto;display:inline-flex}.nav-new{letter-spacing:.04em;background:var(--teal);color:#fff;border-radius:999px;margin-left:auto;padding:1px 6px;font-size:9px;font-weight:800}.nav-count{color:var(--teal-dark);margin-left:auto;font-size:10px;font-weight:800}.nav-progress{color:var(--ink-3);padding:8px 4px 2px;font-size:10px;line-height:1.5}.nav-lock-body{color:var(--ink-2);flex-direction:column;gap:14px;padding:4px 0 8px;font-size:12px;line-height:1.7;display:flex}.nav-lock-actions{flex-wrap:wrap;gap:9px;display:flex}.nav-lock-actions button{align-items:center;gap:6px;display:inline-flex}.goal-grid{grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:10px;margin:6px 0 12px;display:grid}.goal-card{text-align:left;border:1px solid var(--line);background:var(--surface-2);border-radius:13px;flex-direction:column;gap:5px;padding:14px 15px 14px 44px;display:flex;position:relative}.goal-card:hover:not(:disabled),.goal-card.selected{border-color:var(--teal);background:var(--green-soft)}.goal-card:disabled{opacity:.5;cursor:not-allowed}.goal-card strong{font-size:13px}.goal-card>span:last-child{color:var(--ink-3);font-size:10px;line-height:1.6}.goal-check{border:1px solid var(--line-2);background:var(--card);width:20px;height:20px;color:var(--ink-3);border-radius:7px;place-items:center;display:grid;position:absolute;top:14px;left:14px}.goal-card.selected .goal-check{background:var(--teal);border-color:var(--teal);color:#fff}@media (width<=760px){.goal-grid{grid-template-columns:1fr}}.setup-head-actions{flex:none;align-items:center;gap:6px;display:flex}.setup-head-actions .ghost.small{border-radius:9px;align-items:center;gap:5px;padding:5px 10px;font-size:11px;display:inline-flex}.setup-goals{color:var(--teal-dark);margin-top:5px;font-size:11px;font-weight:600}[hidden]{display:none!important}.main-area{min-width:0}.workbench-search{flex:0 420px;min-width:0;position:relative}.workbench-search .searchbox{width:100%}.workbench-search-results{z-index:40;background:var(--card);border:1px solid var(--line);max-height:min(60vh,440px);box-shadow:var(--shadow);border-radius:12px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto}.workbench-search-results>button{text-align:left;border-radius:8px;gap:12px;width:100%;padding:10px;display:flex}.workbench-search-results>button[aria-selected=true]{background:var(--green-soft)}.workbench-search-results>button>span{color:var(--green-strong);flex:0 0 30px;font-size:12px}.workbench-search-results strong,.workbench-search-results small{display:block}.workbench-search-results small,.workbench-search-results p{color:var(--ink-2);font-size:12px;line-height:1.6}.exam-detail-page{width:100%;min-width:0;padding:0 0 30px}.exam-detail-shell{width:100%;max-width:1120px}.report-workflow-steps{grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:static}.report-workflow-steps button{padding:12px 8px;font-size:13px}.report-analysis-tabs{flex-wrap:wrap;gap:8px;display:flex}.report-analysis-tabs button{color:var(--ink-2);border-radius:8px;padding:8px 12px;font-size:13px}.report-analysis-tabs button.selected{color:var(--green-strong);background:var(--green-soft)}.report-history-strip summary{cursor:pointer;color:var(--ink-2);font-size:12px}.next-class-card{background:var(--card);border:1px solid var(--green-mid);border-left:5px solid var(--green);border-radius:14px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;padding:22px;display:flex}.next-class-card h2{margin:6px 0;font-size:22px}.next-class-card p{color:var(--ink-2);margin:0;font-size:14px}.resume-work,.class-quick-actions{flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0;display:flex}.setup-checklist details>summary{cursor:pointer;color:var(--ink-2);padding:9px 0;font-size:12px}.setup-checklist .setup-items{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.assistant-layout .chat-panel{height:calc(100dvh - 222px);min-height:360px;max-height:850px}.assistant-layout .messages{min-height:0}.assistant-layout .chat-input,.assistant-layout .chat-suggestions,.assistant-layout .chat-head{flex-shrink:0}.assistant-layout .chat-input textarea{min-width:0}.modal-field{flex-direction:column;gap:7px;margin:12px 0;font-size:13px;display:flex}.modal-field input,.modal-field select,.modal-field textarea{border:1px solid var(--line);background:var(--card);border-radius:9px;width:100%;min-width:0;padding:11px 12px;font-size:14px}.term-field-title{color:var(--ink-3);font-size:12px;font-weight:700}.term-picker{flex-wrap:wrap;gap:8px;display:flex}.term-chip{border:1px solid var(--line);background:var(--card);color:var(--ink-2);border-radius:9px;align-items:center;gap:5px;padding:8px 12px;font-size:12px;font-weight:600;transition:all .16s;display:inline-flex}.term-chip:hover{border-color:var(--green-mid);background:var(--green-soft);color:var(--teal-dark)}.term-chip.is-selected{border-color:var(--green);background:var(--green-soft);color:var(--teal-dark);box-shadow:inset 0 0 0 1px var(--green)}.term-chip small{color:var(--ink-3);font-size:9px;font-weight:700}.term-chip.is-selected small{color:var(--teal)}.term-chip.is-current{border-style:dashed}.term-chip.is-current.is-selected{border-style:solid}.term-field-hint{color:var(--ink-3);font-size:10.5px;font-weight:400;line-height:1.5}.preparation-context,.import-suggestion{background:var(--green-soft);color:var(--ink-2);border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.65}.lesson-start-options{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.preparation-library summary{cursor:pointer;color:var(--ink-2);padding:12px 0}@media (width<=760px){.next-class-card{flex-direction:column;align-items:stretch;padding:16px}.next-class-card h2{font-size:18px}.report-workflow-steps button{padding:10px 3px;font-size:11px}.assistant-layout .chat-panel{height:calc(100dvh - 330px);min-height:300px}.workbench-search{flex:1}.workbench-search-results{position:fixed;top:64px;left:10px;right:10px}}.scores-single-trend-note{background:var(--green-soft);color:var(--ink-2);border-radius:10px;align-items:center;gap:9px;margin:14px 0;padding:12px 14px;font-size:13px;display:flex}.next-reminder{color:var(--green-strong);margin-top:6px;font-size:12px;display:block}.report-outline-toolbar select{min-width:130px}.report-outline-toolbar,.report-outline-fields{align-items:end}.lesson-plan-create-modal .modal-actions{z-index:2;background:var(--card);border-top:1px solid var(--line);margin:18px -2px -2px;padding:14px 2px 4px;position:sticky;bottom:-22px}.assignment-channel-details{border:1px solid var(--line);background:var(--card);border-radius:12px;margin:18px 0;padding:14px 16px}.assignment-channel-details>summary{cursor:pointer;color:var(--ink-2);font-size:13px}.assignment-channel-details .section{margin:16px 0 0}.exam-class-check{color:var(--amber);background:var(--amber-bg);text-align:left;border-radius:8px;padding:9px 12px;font-size:12px}@media (width<=760px){.lesson-plan-create-modal .modal-actions{bottom:-18px}}.first-task-screen{background:var(--bg);align-content:center;min-height:100dvh;padding:clamp(20px,5vw,72px);display:grid}.journey-chooser{border:1px solid var(--line);background:var(--card,white);border-radius:20px;width:min(100%,960px);margin:0 auto 24px;padding:clamp(20px,3vw,36px)}.journey-chooser h2{margin:12px 0;font-size:clamp(24px,3vw,34px)}.journey-chooser p,.journey-guide p{margin:8px 0 16px;line-height:1.65}.journey-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.journey-choice{text-align:left;white-space:normal;flex-direction:column;align-items:flex-start;gap:10px;min-width:0;padding:20px;display:flex}.journey-choice span{font-weight:400;line-height:1.6}.journey-choice.selected{outline:2px solid var(--green)}.journey-guide{border:1px solid var(--line);background:var(--card,white);border-radius:16px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:20px;display:flex}.journey-guide-main{width:100%;min-width:0}.journey-guide strong{margin-top:6px;display:block}.journey-actions,.material-picker{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.material-picker{border:1px dashed var(--line);border-radius:12px;max-width:100%;padding:16px}.material-picker small{flex-basis:100%;line-height:1.6}.journey-records{gap:10px;max-height:240px;margin:14px 0;display:grid;overflow:auto}.journey-records label{align-items:center;gap:10px;display:flex}.journey-records input{width:auto}.journey-guide details{margin-top:16px}@media (width<=640px){.journey-choices{grid-template-columns:1fr}.journey-guide{flex-direction:column;align-items:stretch}.journey-actions>button{flex:auto}}.journey-steps{color:var(--muted);flex-wrap:wrap;gap:10px 24px;margin:12px 0 18px;padding-left:20px;display:flex}.journey-steps li{padding-right:8px}.journey-steps .current{color:var(--green-strong);font-weight:700}.score-capture-workbench .info-callout button{margin-top:10px;display:inline-flex}.course-import-modal{width:min(1120px,96vw);max-width:96vw}.import-week-tables{min-height:0;overflow:auto}.import-week-section{border:1px solid var(--line);border-radius:12px;margin-bottom:14px;overflow:hidden}.import-week-section>h3{text-align:center;background:var(--green-strong);color:#fff;margin:0;padding:14px;font-size:20px}.import-week-section>p{text-align:center;background:var(--green-soft);color:var(--ink-2);margin:0;padding:9px;font-size:12px}.import-week-section .course-import-table-wrap{border:0;border-radius:0;max-height:none;overflow:auto}.import-week-grid{border-collapse:collapse;table-layout:fixed;width:100%;min-width:720px}.import-week-grid th,.import-week-grid td{border:1px solid var(--line);text-align:center;vertical-align:middle;padding:10px 6px}.import-week-grid thead th{background:var(--green);color:#fff}.import-week-grid th:first-child{width:120px}.import-week-grid tbody th{background:var(--green-soft);color:var(--green-strong);z-index:1;position:sticky;left:0}.import-week-grid small{margin-top:5px;font-size:11px;font-weight:400;display:block}.import-week-course{overflow-wrap:anywhere;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:4px 2px;display:flex}.import-week-course.mine{background:var(--green-soft);box-shadow:inset 0 0 0 1px var(--green-mid)}.import-week-course+.import-week-course{border-top:1px dashed var(--line);margin-top:8px}.import-week-actions{flex-wrap:wrap;justify-content:center;gap:9px;font-size:11px;display:flex}.import-week-mine-tag{color:var(--green-strong);align-items:center;gap:3px;font-size:9.5px;font-weight:800;display:inline-flex}.import-week-actions .link-button.active{color:var(--teal-dark);font-weight:800}@media (width<=640px){.course-import-modal{width:100%;max-width:100%}.import-week-grid{min-width:690px}}.modal.wide.course-import-modal{width:min(1120px,100vw - 40px);min-width:0;max-width:calc(100vw - 40px)}.report-field-locked{cursor:not-allowed}.report-field-locked>select{opacity:.45;cursor:not-allowed}.report-field-locked:after{content:"待解锁";color:var(--ink-3);margin-left:6px;font-size:10px}.focus-star{width:26px;height:26px;color:var(--amber);opacity:.35;border-radius:7px;place-items:center;transition:all .18s;display:grid}.focus-star:hover{background:var(--orange-soft);opacity:1}.focus-star.active{opacity:1}.focus-star.active svg path{fill:currentColor}.table-row.focus-row,.submission-preview-row.focus-row{background:var(--orange-soft)}.table-row.focus-row:hover,.submission-preview-row.focus-row:hover{background:color-mix(in srgb, var(--amber) 14%, white)}tr.focus-row{background:var(--orange-soft)}tr.focus-row>td.score-capture-student-cell{box-shadow:inset 3px 0 0 var(--amber)}.focus-badge{background:var(--orange-soft);color:var(--amber);vertical-align:1px;white-space:nowrap;border-radius:6px;align-items:center;margin-left:7px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-flex}.modal-head h2 .focus-badge,.submission-preview-row .focus-badge{margin-left:8px}.student-table .table-head,.student-table .table-row{gap:5px}.row-actions{justify-content:flex-end;align-items:center;gap:2px;display:flex}.student-score-cell{text-align:left;cursor:pointer;font:inherit;color:inherit;background:0 0;border:0;flex-direction:column;gap:2px;padding:0;display:flex}.student-score-cell strong{font-size:13px}.student-score-cell small{color:var(--ink-3);font-size:10px}.student-score-cell:hover strong{color:var(--teal-dark);text-underline-offset:3px;text-decoration:underline}.student-trend-cell{text-align:left;flex-direction:column;gap:2px;display:flex}.student-trend-cell strong{font-size:13px}.student-trend-cell small{color:var(--ink-3);font-size:10px}.trend-positive strong{color:var(--green-strong)}.trend-negative strong{color:var(--red)}.trend-badge{background:var(--amber-bg);color:var(--amber);vertical-align:1px;white-space:nowrap;border-radius:6px;align-items:center;margin-left:5px;padding:1px 5px;font-size:10px;font-weight:700;display:inline-flex}.sort-head{font:inherit;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-weight:700;display:inline-flex}.sort-head:hover,.sort-head.active{color:var(--teal-dark)}.sort-head .sort-arrow{opacity:.4;font-size:10px;font-weight:400}.sort-head.active .sort-arrow{opacity:1}.affair-record-modal{max-height:calc(100vh - 32px);overflow:auto}.affair-form{flex-direction:column;gap:14px;display:flex}.affair-form .form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.affair-form em{color:var(--red);margin-left:2px;font-style:normal}.affair-field-label{color:var(--ink-2);margin-bottom:7px;font-size:11px;font-weight:700;display:block}.affair-field-hint{color:var(--ink-3);margin-top:5px;font-size:10px;display:block}.field-error{color:var(--red);margin-top:5px;font-size:10px;display:block}.modal.affair-record-modal{width:min(720px,100%)}.affair-template-groups{flex-direction:column;gap:16px;display:flex}.affair-template-group-head{align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.affair-template-group-head strong{color:var(--ink-2);font-size:12px;font-weight:700}.affair-template-group-head span{color:var(--ink-3);font-size:10.5px}.affair-template-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.affair-template-card{text-align:left;border:1px solid var(--line);background:var(--card);border-radius:11px;flex-direction:column;gap:4px;padding:11px 12px;transition:all .16s;display:flex}.affair-template-card:hover{border-color:var(--green-mid);background:var(--green-soft);transform:translateY(-1px)}.affair-template-name{color:var(--ink);justify-content:space-between;align-items:center;gap:6px;font-size:12.5px;font-weight:700;display:flex}.affair-template-card small{color:var(--ink-3);flex:1;font-size:10px;line-height:1.5}.affair-template-tag{background:var(--amber-bg);color:var(--amber);border-radius:5px;flex:none;padding:1px 5px;font-size:9px;font-style:normal;font-weight:700}.affair-template-foot{border-top:1px dashed var(--line-2);color:var(--teal-dark);justify-content:space-between;align-items:center;gap:6px;margin-top:2px;padding-top:6px;font-size:9.5px;display:flex}.affair-template-bar{border:1px solid var(--green-mid);background:var(--green-soft);border-radius:11px;align-items:center;gap:10px;margin:2px 0 14px;padding:9px 12px;display:flex}.affair-template-bar>div{flex-direction:column;gap:2px;min-width:0;display:flex}.affair-template-bar strong{color:var(--teal-dark);font-size:12px}.affair-template-bar small{color:var(--ink-3);font-size:10.5px;line-height:1.45}.affair-template-back{border:1px solid var(--green-mid);background:var(--card);color:var(--teal-dark);border-radius:8px;flex:none;align-items:center;gap:4px;padding:5px 9px;font-size:11px;font-weight:600;display:inline-flex}.affair-template-back:hover{border-color:var(--green)}.affair-chip-row{flex-wrap:wrap;gap:7px;display:flex}.affair-student-box{border:1px dashed var(--line);background:var(--surface-2);border-radius:10px;flex-wrap:wrap;gap:7px;max-height:132px;margin-top:9px;padding:10px;display:flex;overflow:auto}.affair-student-box .term-chip{padding:5px 9px;font-size:11px}.affair-inline-field{margin-top:10px}.affair-format-hint{align-items:flex-start}.affair-record{border-top:1px solid var(--line);padding:12px 0}.affair-record-head{align-items:center;gap:8px;display:flex}.affair-record-date{color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:10px}.affair-record-title{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12.5px;font-weight:700;overflow:hidden}.affair-type-tag{white-space:nowrap;flex:none}.affair-record-meta{color:var(--ink-3);flex-wrap:wrap;gap:4px 10px;margin-top:5px;font-size:10px;display:flex}.affair-record-next{color:var(--teal-dark)}.affair-record-fact{color:var(--ink-2);margin:7px 0 0;font-size:11px;line-height:1.65}.affair-record-judgment,.affair-record-pending{border-left:2px solid var(--green-mid);background:var(--surface-2);color:var(--ink-2);border-radius:0 7px 7px 0;margin:6px 0 0;padding:5px 9px;font-size:10.5px;line-height:1.6}.affair-record-judgment b,.affair-record-pending b{color:var(--teal-dark);margin-right:6px;font-size:10px;font-weight:700}.affair-record-pending{border-left-color:var(--amber);background:var(--amber-bg)}.affair-record-pending b{color:var(--amber)}.affair-panel-actions{align-items:center;gap:8px;display:flex}.affair-panel-actions .link-button{align-items:center;gap:4px;font-size:11px;display:inline-flex}.affair-export-modal{max-height:calc(100vh - 32px);overflow:auto}.affair-export-summary{color:var(--ink-3);margin:2px 0 8px;font-size:11px}.affair-export-preview{border:1px solid var(--line);background:var(--surface-2);max-height:300px;color:var(--ink-2);white-space:pre-wrap;word-break:break-word;border-radius:10px;margin:0;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.65;overflow:auto}.affair-export-copied{color:var(--teal-dark);margin-top:8px;font-size:11px;font-weight:700}@media (width<=760px){.affair-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.affair-form .form-row{grid-template-columns:1fr}.affair-template-bar{flex-direction:column;align-items:flex-start;gap:7px}}.class-hub-subtabs-row{justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;display:flex}.class-hub-subtabs-row .class-hub-subtabs{align-self:flex-start}.affair-tab-actions{justify-content:flex-end;gap:8px;margin:0 0 12px;display:flex}.affair-tab-actions.is-inline{margin:0}.affair-tab-actions .secondary,.affair-tab-actions .primary{align-items:center;gap:5px;display:inline-flex}.empty-state .secondary{align-items:center;gap:5px;margin-top:10px;display:inline-flex}.affair-dropzone{border:1.5px dashed color-mix(in srgb, var(--ink-3) 40%, transparent);background:var(--surface-2);text-align:center;cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;margin-top:4px;padding:22px 16px 18px;transition:border-color .15s,background .15s;display:flex}.affair-dropzone:hover,.affair-dropzone:focus-visible{border-color:var(--teal);background:color-mix(in srgb, var(--green) 4%, var(--surface-2));outline:none}.affair-dropzone.is-dragover{border-color:var(--teal);background:color-mix(in srgb, var(--green) 8%, var(--surface-2));border-style:solid}.affair-dropzone-icon{color:var(--teal);margin-bottom:3px}.affair-dropzone strong{color:var(--ink);font-size:12.5px;font-weight:600}.affair-dropzone small{color:var(--ink-3);font-size:11px;line-height:1.5}.affair-dropzone .affair-dropzone-hint{max-width:420px;color:var(--ink-3);opacity:.85}.affair-dropzone .affair-material-parsing{margin-top:6px}.affair-material-parsing{color:var(--ink-3);align-items:center;gap:6px;font-size:11px;display:inline-flex}.affair-material-card{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;margin-top:8px;padding:9px 11px}.affair-material-head{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.affair-material-head strong{text-overflow:ellipsis;white-space:nowrap;max-width:280px;overflow:hidden}.affair-material-head .link-button{align-items:center;gap:3px;margin-left:auto;font-size:11px;display:inline-flex}.affair-material-head .link-button+.link-button{margin-left:0}.affair-material-meta{color:var(--ink-3);font-size:10.5px}.affair-material-text{background:var(--card);max-height:180px;color:var(--ink-2);white-space:pre-wrap;word-break:break-word;border-radius:8px;margin:8px 0 0;padding:9px 11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;line-height:1.6;overflow:auto}.affair-record-materials{flex-wrap:wrap;gap:6px;margin-top:7px;display:flex}.affair-material-tag{border:1px solid var(--line);color:var(--ink-3);background:var(--surface-2);text-overflow:ellipsis;white-space:nowrap;border-radius:99px;align-items:center;max-width:320px;padding:2px 8px;font-size:10px;display:inline-flex;overflow:hidden}.affair-material-tag.kind-audio{border-color:color-mix(in srgb, var(--green) 30%, transparent);color:var(--teal-dark)}.fill-steps{gap:18px;margin:0 0 14px;padding:0;list-style:none;display:flex}.fill-steps li{color:var(--ink-3);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.fill-steps li.is-current{color:var(--teal-dark)}.fill-steps li.is-current .fill-step-no{background:var(--teal);border-color:var(--teal);color:#fff}.fill-steps li.is-done{color:var(--teal-dark)}.fill-step-no{border:1.5px solid;border-radius:99px;justify-content:center;align-items:center;width:18px;height:18px;font-size:10.5px;display:inline-flex}.fill-upload-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.fill-upload-hint{color:var(--ink-3);font-size:11px}.fill-hint-shared{color:#8a5a00}.fill-mapping-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px 12px;display:grid}.fill-mapping-item{color:var(--ink-2);flex-direction:column;gap:3px;font-size:11px;display:flex}.fill-col-head{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.fill-mapping-actions{align-items:center;gap:12px;display:flex}.fill-warn-note{color:#8a6d1a;font-size:11px}.fill-diff-group{margin-bottom:10px}.fill-diff-head{background:var(--surface-2);border-radius:8px;justify-content:space-between;align-items:center;padding:5px 9px;font-size:11.5px;font-weight:700;display:flex}.fill-diff-head.kind-added{color:var(--teal-dark)}.fill-diff-head.kind-changed{color:#8a6d1a}.fill-diff-head.kind-conflict,.fill-diff-head.kind-invalid{color:#a1494a}.fill-diff-head.kind-missing{color:var(--ink-3)}.fill-review-row{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding:6px 9px 6px 6px;font-size:12px;display:flex}.fill-review-row:last-child{border-bottom:none}.fill-check{border:1.5px solid var(--line);color:#0000;background:var(--card);cursor:pointer;border-radius:6px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.fill-check[aria-checked=true]{border-color:var(--teal);background:var(--teal);color:#fff}.fill-review-ref{color:var(--ink-3);min-width:44px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px}.fill-review-field{min-width:52px;font-weight:600}.fill-review-value{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fill-review-value s{color:var(--ink-3)}.fill-review-input{flex:1;min-width:120px;max-width:260px}.fill-delivery-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.fill-delivery-file{flex-direction:column;gap:2px;display:flex}.fill-delivery-file span{color:var(--ink-3);font-size:11px}.fill-notice{background:color-mix(in srgb, var(--green) 8%, var(--surface-2));color:var(--teal-dark);border-radius:9px;align-items:center;gap:6px;margin-top:10px;padding:7px 12px;font-size:12px;display:inline-flex}.fill-error{background:color-mix(in srgb, #a1494a 8%, var(--surface-2));color:#a1494a;border-radius:9px;align-items:center;gap:6px;margin-top:10px;padding:7px 12px;font-size:12px;display:inline-flex}@media (width<=760px){.fill-steps{flex-wrap:wrap;gap:10px}.fill-mapping-grid{grid-template-columns:1fr}}.fill-ai-text{border:1px dashed var(--line);background:var(--surface-2);max-width:640px;color:var(--ink-2);border-radius:9px;padding:9px 12px;font-size:12px;line-height:1.6}.journey-guide-flow{align-items:flex-start}.journey-flow-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.journey-progress{color:var(--green-strong);background:color-mix(in srgb, var(--green) 12%, transparent);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}.journey-checklist{gap:8px;margin:14px 0 16px;padding:0;list-style:none;display:grid}.journey-checklist li{min-width:0}.journey-step{text-align:left;white-space:normal;border:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;background:0 0;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.journey-step:disabled{cursor:default;opacity:.62}.journey-step-mark{border:1px solid var(--line);width:24px;height:24px;color:var(--muted);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.journey-step-text{flex-direction:column;gap:2px;min-width:0;display:flex}.journey-step-text em{font-style:normal;font-weight:700}.journey-step-text small{color:var(--muted);line-height:1.5}.journey-step-cta{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:12px}.journey-checklist li[data-state=done] .journey-step{border-color:color-mix(in srgb, var(--green) 30%, var(--line))}.journey-checklist li[data-state=done] .journey-step-mark{border-color:var(--green-strong);background:var(--green-strong);color:#fff}.journey-checklist li[data-state=done] .journey-step-cta{color:var(--green-strong)}.journey-checklist li[data-state=current] .journey-step{border-color:var(--green-strong);box-shadow:0 0 0 2px color-mix(in srgb, var(--green) 18%, transparent);background:color-mix(in srgb, var(--green) 6%, transparent)}.journey-checklist li[data-state=current] .journey-step-mark{border-color:var(--green-strong);color:var(--green-strong)}.journey-checklist li[data-state=current] .journey-step-cta{color:var(--green-strong);font-weight:700}.report-step-nav{border:1px solid var(--report-line,var(--line));background:var(--report-surface,#fff);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:14px 0 4px;padding:10px 14px;display:flex}.report-step-nav-top{margin:12px 0 18px}.report-step-nav-bottom{margin:20px 0 8px}.report-step-nav-index{color:var(--report-muted,var(--muted));font-size:12px}.report-step-nav-actions{align-items:center;gap:10px;display:flex}.report-step-nav-actions button{align-items:center;gap:4px;display:inline-flex}@media (width<=640px){.report-step-nav{flex-direction:column;align-items:stretch}.report-step-nav-actions button{flex:auto;justify-content:center}}.report-identity-warning{color:#5c4413;background:#fff8e9;border:1px solid #f0c26b;border-left:4px solid #e0a33c;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin:14px 0 4px;padding:14px 16px;display:flex}.report-identity-warning strong{margin-bottom:4px;font-size:13px;display:block}.report-identity-warning span{color:#6b5324;font-size:12px;line-height:1.65;display:block}.report-identity-warning button{flex:none}.report-provisional-note{margin-top:-6px;display:block}.report-metrics-grid article[data-provisional=true] small:after{content:" · 按导入行";color:var(--report-muted,var(--muted))}@media (width<=640px){.report-identity-warning{flex-direction:column;align-items:stretch}}.guide-modal{width:min(720px,100%)}.guide-panel{gap:14px;display:grid}.guide-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.guide-head h2{letter-spacing:-.03em;margin:6px 0;font-size:21px}.guide-head p{color:var(--ink-3);margin:0;font-size:12px;line-height:1.6}.guide-progress{color:var(--ink-3);align-items:center;gap:10px;font-size:11px;display:flex}.guide-progress-bar{background:var(--line-2);border-radius:99px;flex:1;height:6px;overflow:hidden}.guide-progress-bar i{background:var(--green);border-radius:99px;height:100%;transition:width .25s;display:block}.guide-tasks{gap:10px;margin:0;padding:0;list-style:none;display:grid}.guide-task{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);align-items:center;gap:12px;padding:14px 16px;display:flex}.guide-task-main{text-align:left;min-width:0;color:inherit;cursor:pointer;background:0 0;border:0;flex:1;gap:6px;padding:0;display:grid}.guide-task-main strong{font-size:14px;font-weight:500}.guide-task-main span{color:var(--ink-3);font-size:12px;line-height:1.55}.guide-task-main:hover strong{color:var(--green-strong)}.guide-task-actions{flex:none;align-items:center;gap:6px;display:flex}.guide-done{border-radius:var(--radius);background:var(--green-soft);color:var(--green-strong);align-items:center;gap:8px;padding:14px 16px;font-size:12px;display:flex}.guide-loading{color:var(--ink-3);align-items:center;gap:8px;font-size:12px;display:flex}.guide-current{border-top:1px dashed var(--line);padding-top:14px}.guide-section-title{color:var(--ink-3);margin-bottom:8px;font-size:11px}.guide-current .journey-guide{margin-bottom:0}.guide-foot{border-top:1px solid var(--line);justify-content:space-between;gap:10px;padding-top:12px;display:flex}@media (width<=720px){.guide-task{flex-direction:column;align-items:stretch}.guide-task-actions{justify-content:flex-end}}.guide-chip{border:1px solid var(--line);background:var(--card);height:32px;color:var(--ink-2);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;display:inline-flex}.guide-chip b{background:var(--green-soft);color:var(--green-strong);border-radius:999px;padding:1px 6px;font-size:11px;font-weight:500}.guide-chip:hover{border-color:var(--green-mid);color:var(--green-strong)}.guide-foot-hint{color:var(--ink-3);font-size:11px;line-height:1.5}.seating-panel{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:18px;padding:16px}.seating-panel.is-empty{background:var(--surface-2)}.seating-panel-meta{color:var(--ink-3);font-size:11px}.seating-empty{border:1px dashed color-mix(in srgb,var(--ink-3) 34%,transparent);border-radius:12px;align-items:center;gap:12px;padding:14px;display:flex}.seating-empty span{color:var(--ink-3);flex:1;font-size:12px;line-height:1.55}.seating-empty .secondary{flex:none;align-items:center;gap:6px;display:inline-flex}.seating-version-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.seating-version-now{color:var(--ink-3);align-items:baseline;gap:8px;font-size:11px;display:inline-flex}.seating-version-now b{color:var(--ink-2);font-size:12px;font-weight:700}.seating-version-now time{font-variant-numeric:tabular-nums}.seating-version-tag{background:color-mix(in srgb,var(--teal) 13%,transparent);color:var(--teal-dark);border-radius:6px;padding:1px 6px;font-size:10px;font-style:normal}.seating-version-chips{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.seating-version-chip{border:1px solid var(--line);background:var(--card);color:var(--ink-2);cursor:pointer;border-radius:8px;align-items:baseline;gap:5px;padding:4px 9px;font-size:11px;font-weight:600;transition:border-color .15s,background .15s;display:inline-flex}.seating-version-chip small{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:10px;font-weight:500}.seating-version-chip:hover{border-color:var(--green-mid);background:var(--green-soft)}.seating-version-chip.is-active{border-color:var(--green);background:var(--green-soft);color:var(--teal-dark);box-shadow:inset 0 0 0 1px var(--green)}.seating-old-hint{color:var(--ink-3);align-items:flex-start;gap:6px;margin-top:8px;font-size:11px;line-height:1.5;display:flex}.seating-pending-hint{background:color-mix(in srgb,var(--amber) 9%,transparent);color:color-mix(in srgb,var(--amber) 78%,var(--ink));border-radius:8px;align-items:flex-start;gap:6px;margin:2px 0 8px;padding:6px 9px;font-size:11px;line-height:1.5;display:flex}.seating-draft-bar{border:1px dashed color-mix(in srgb,var(--amber) 46%,var(--line));background:color-mix(in srgb,var(--amber) 7%,var(--card));border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;display:flex}.seating-draft-tag{background:var(--amber);color:#fff;border-radius:6px;padding:1px 7px;font-size:10px;font-weight:700}.seating-draft-text{min-width:160px;color:var(--ink-2);flex:1;font-size:11.5px;line-height:1.5}.seating-draft-bar .secondary{padding:4px 10px;font-size:11.5px}.seating-draft-note{color:var(--amber);margin-left:auto;font-size:11px;font-style:normal}.seating-period-panel{border:1px solid var(--green-mid);background:var(--green-soft);border-radius:12px;margin-top:12px;padding:12px;animation:1.4s ease-out seating-period-appear}@keyframes seating-period-appear{0%{box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 38%,transparent)}70%{box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 38%,transparent)}to{box-shadow:0 0 #0000}}.seating-period-head{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.seating-period-head strong{color:var(--teal-dark);font-size:12.5px}.seating-period-head span{color:var(--ink-3);font-size:11px}.seating-period-fields{flex-wrap:wrap;align-items:flex-end;gap:10px;margin:10px 0 6px;display:flex}.seating-period-fields label{color:var(--ink-3);flex-direction:column;gap:4px;font-size:11px;display:flex}.seating-period-fields input{border:1px solid var(--line);background:var(--card);color:var(--ink);font-variant-numeric:tabular-nums;border-radius:8px;padding:6px 8px;font-family:inherit;font-size:12px}.seating-period-sep{color:var(--ink-3);padding-bottom:7px;font-size:11px}.seating-period-hint{color:var(--ink-2);font-size:11px;line-height:1.55;display:block}.seating-period-badge{border-radius:6px;padding:1px 6px;font-size:10px;font-weight:600}.seating-period-badge.is-active{background:var(--green);color:#fff}.seating-period-badge.is-pending{background:color-mix(in srgb,var(--amber) 16%,transparent);color:var(--amber)}.seating-period-badge.is-expired{background:color-mix(in srgb,var(--ink-3) 14%,transparent);color:var(--ink-3)}.seating-from-version{margin-bottom:12px}.seating-mini{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;flex-direction:column;align-self:center;align-items:center;gap:3px;padding:10px 14px;display:flex}.seating-mini-row{align-items:center;gap:10px;display:flex}.seating-mini-block{gap:2px;display:flex}.seating-mini-dot{background:var(--card);border:1px solid color-mix(in srgb,var(--ink-3) 30%,var(--card));border-radius:2px;width:10px;height:10px}.seating-mini-dot.is-filled{background:var(--green-mid);border-color:var(--green)}.seating-mini-front{background:color-mix(in srgb,var(--line-2) 55%,var(--card));width:100%;color:var(--ink-3);text-align:center;letter-spacing:.1em;border-radius:4px;margin-top:4px;padding:2px 0;font-size:9px}.seating-version-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.seating-version-card{border:1px solid var(--line);background:var(--card);border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}.seating-version-card.is-current{border-color:var(--green-mid);background:color-mix(in srgb,var(--green-soft) 70%,var(--card))}.seating-version-card header{align-items:center;gap:8px;display:flex}.seating-version-card header strong{color:var(--ink-2);font-size:12.5px}.seating-version-card header time{color:var(--ink-3);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px}.seating-version-badge{background:var(--green);color:#fff;border-radius:6px;padding:1px 6px;font-size:10px}.seating-version-stats{color:var(--ink-3);justify-content:space-between;align-items:center;gap:10px;font-size:11px;display:flex}.seating-version-stats b{color:var(--ink-2)}.seating-version-diff{color:var(--ink-3);font-size:10.5px}.seating-version-actions{align-items:center;gap:12px;margin-top:2px;display:flex}.seating-version-actions .secondary{padding:4px 10px;font-size:11.5px}.seating-version-detail .seating-summary .seating-version-diff{margin-left:auto}.seating-version-card.is-draft{border-style:dashed;border-color:color-mix(in srgb,var(--amber) 40%,var(--line));background:color-mix(in srgb,var(--amber) 5%,var(--card))}.seating-period-badge.is-draft{background:color-mix(in srgb,var(--amber) 16%,transparent);color:var(--amber)}.link-button.is-danger{color:var(--red)}.link-button.is-danger:hover{background:var(--red-bg);color:var(--red)}.ghost.is-danger{color:var(--red)}.ghost.is-danger:hover{background:var(--red-bg);color:var(--red)}button.danger{background:var(--red);color:#fff;box-shadow:0 3px 10px color-mix(in srgb,var(--red) 22%,transparent);border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:8px 15px;font-size:13px;font-weight:700;transition:all .18s;display:inline-flex}button.danger:hover{background:color-mix(in srgb,var(--red) 84%,#000)}button.danger:disabled{background:color-mix(in srgb,var(--ink-3) 26%,var(--card));color:var(--ink-3);box-shadow:none;cursor:not-allowed}.modal.seating-delete-modal{width:min(520px,100%)}.seating-delete-target{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;align-items:center;gap:14px;padding:12px;display:flex}.seating-delete-mini{flex:none;justify-content:center;display:flex}.seating-delete-facts{flex-direction:column;gap:4px;min-width:0;display:flex}.seating-delete-facts strong{color:var(--ink);font-size:12.5px;line-height:1.4}.seating-delete-facts span{color:var(--ink-3);font-size:11px;line-height:1.5}.seating-delete-effect{margin-top:12px}.seating-confirm-check{border:1px solid var(--line);background:var(--card);width:100%;color:var(--ink-2);text-align:left;border-radius:10px;align-items:flex-start;gap:8px;margin-top:12px;padding:10px 11px;font-size:11.5px;line-height:1.5;display:flex}.seating-confirm-check:hover{border-color:color-mix(in srgb,var(--red) 30%,var(--line))}.seating-confirm-check.is-on{border-color:color-mix(in srgb,var(--red) 45%,var(--line));background:var(--red-bg);color:var(--ink)}.seating-confirm-box{border:1px solid var(--line);background:var(--card);color:#fff;border-radius:4px;flex:none;place-items:center;width:16px;height:16px;margin-top:1px;display:grid}.seating-confirm-check.is-on .seating-confirm-box{border-color:var(--red);background:var(--red)}.modal.seating-versions-modal .modal-actions{background:var(--card);margin-top:14px;padding:10px 0 0;position:sticky;bottom:-22px;box-shadow:0 -10px 14px -12px #13414d47}.seating-room{--seat-w:48px;--seat-h:30px;--seat-gap:4px;--row-gap:10px;--aisle-w:18px;border:1px solid var(--line);background:var(--surface-2);border-radius:12px;align-items:stretch;padding:14px;display:flex}.seating-canvas{flex-direction:column;flex:auto;gap:6px;min-width:0;display:flex;overflow:auto hidden}.seating-wall{flex:none;justify-content:center;align-items:center;gap:16px;display:flex}.seating-wall.is-left{border-right:1px dashed color-mix(in srgb,var(--ink-3) 26%,transparent);flex-direction:column;min-width:26px;margin-right:10px;padding-right:6px}.seating-wall.is-right{border-left:1px dashed color-mix(in srgb,var(--ink-3) 26%,transparent);flex-direction:column;min-width:26px;margin-left:10px;padding-left:6px}.seating-wall.is-back{border-bottom:1px dashed color-mix(in srgb,var(--ink-3) 26%,transparent);flex-direction:row;align-self:stretch;min-height:22px;margin-bottom:6px;padding-bottom:5px}.seating-wall-label{color:var(--ink-3);letter-spacing:.16em;white-space:nowrap;writing-mode:vertical-rl;font-size:10.5px;font-weight:600}.seating-wall.is-back .seating-wall-label{writing-mode:horizontal-tb;letter-spacing:.1em}.seating-row{justify-content:center;align-items:center;gap:var(--row-gap);width:100%;min-width:fit-content;display:flex}.seating-head{margin-bottom:2px}.seating-row-gutter,.seating-row-label{color:var(--ink-3);text-align:center;white-space:nowrap;flex:0 0 44px;font-size:10.5px}.seating-block{justify-content:center;gap:var(--seat-gap);flex:var(--seats,1) 1 0;min-width:calc(var(--seats,1) * var(--seat-w) + (var(--seats,1) - 1) * var(--seat-gap));display:flex}.seating-head .seating-block{justify-content:center}.seating-block-label{width:100%;color:var(--teal-dark);text-align:center;letter-spacing:.02em;padding:3px 0;font-size:10.5px;font-weight:700;display:block}.seating-aisle{width:var(--aisle-w,18px);border-left:1px dashed color-mix(in srgb,var(--teal) 32%,transparent);border-right:1px dashed color-mix(in srgb,var(--teal) 32%,transparent);background:color-mix(in srgb,var(--teal) 5%,transparent);border-radius:4px;flex:none;align-self:stretch;position:relative}.seating-aisle:after{content:"";background:repeating-linear-gradient(to bottom,color-mix(in srgb,var(--teal) 26%,transparent) 0 4px,transparent 4px 8px);width:1px;position:absolute;top:2px;bottom:2px;left:50%;transform:translate(-50%)}.seating-aisle.is-head{justify-content:center;align-items:center;min-height:34px;display:flex}.seating-aisle.is-head:after{display:none}.seating-aisle-label{color:var(--teal-dark);letter-spacing:.12em;writing-mode:vertical-rl;white-space:nowrap;font-size:9.5px;font-weight:700}.seating-aisle.is-draggable{cursor:col-resize;touch-action:none}.seating-aisle.is-draggable:hover{background:color-mix(in srgb,var(--teal) 13%,transparent)}.seating-aisle.is-dragging{background:color-mix(in srgb,var(--teal) 20%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--teal) 45%,transparent)}.seating-aisle.is-stuck{cursor:default}.seating-aisle.is-draggable:focus-visible{outline:2px solid var(--teal);outline-offset:1px}.seating-aisle-hint{border-top:1px dashed var(--line-2);color:var(--ink-3);grid-column:1/-1;align-items:flex-start;gap:6px;margin:6px 0 2px;padding-top:6px;font-size:10.5px;line-height:1.55;display:flex}.seating-aisle-hint svg{flex:none;margin-top:2px}.seating-aisle-hint b{color:var(--teal-dark);font-variant-numeric:tabular-nums;font-weight:700}@media (width<=760px){.seating-room{--aisle-w:14px}.seating-aisle-label{letter-spacing:.06em;font-size:9px}}.seating-seat{aspect-ratio:2.6;width:auto;min-width:0;min-height:var(--seat-h);border:1px solid var(--line);background:var(--card);max-height:36px;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:1px;padding:0 3px;font-size:11px;font-weight:600;display:inline-flex;overflow:hidden}.seating-seat-name{text-overflow:ellipsis;max-width:100%;overflow:hidden}.seating-gender-legend{flex-wrap:wrap;align-items:center;gap:7px;margin-top:7px;display:flex}.seating-gender-chip{border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-size:11px;font-weight:600;line-height:1.7;display:inline-flex}.seating-gender-chip b{font-variant-numeric:tabular-nums;font-size:12px;font-weight:800}.seating-gender-chip.is-boy{color:#1d4ed8;background:#e9f1fe;box-shadow:inset 0 0 0 .75px #cddffb}.seating-gender-chip.is-girl{color:#be2b6a;background:#fdeaf3;box-shadow:inset 0 0 0 .75px #f8d1e0}.seating-gender-chip.is-unknown{color:var(--ink-3);background:var(--line-2)}.seating-gender-legend .link-button.is-quiet{margin-left:2px}.seating-seat-badge{--tone:#b45309;--tone-bg:#fdf3e3;background:color-mix(in srgb,var(--card) 86%,var(--tone-bg));max-width:100%;color:var(--tone);text-overflow:ellipsis;box-shadow:inset 0 0 0 .75px color-mix(in srgb,var(--tone) 40%,transparent);border-radius:999px;padding:0 6px;font-size:8.5px;font-style:normal;font-weight:700;line-height:1.5;overflow:hidden}.seating-room.is-compact .seating-seat-badge{padding:0 5px;font-size:8px}.seating-seat-badge.is-long{letter-spacing:-.01em;padding:0 4px;font-size:7.5px}.seating-seat-badge.is-longer{letter-spacing:-.02em;white-space:normal;text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:0 3px;font-size:6.8px;line-height:1.12;display:-webkit-box;overflow:hidden}.seating-seat.is-empty{color:color-mix(in srgb,var(--ink-3) 70%,var(--card));background:color-mix(in srgb,var(--line-2) 70%,var(--card));font-variant-numeric:tabular-nums;font-weight:500}.seating-seat.is-filled{border-color:var(--green-mid);background:var(--green-soft);color:var(--teal-dark)}button.seating-seat{cursor:pointer;transition:border-color .15s,background .15s,transform .15s}button.seating-seat:hover{border-color:var(--teal);transform:translateY(-1px)}.seating-seat.is-boy{background:#e9f1fb}.seating-seat.is-girl{background:#fbeaf2}.seating-seat.is-selected{border-color:var(--teal);box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 24%,transparent);background:var(--green-mid)}.seating-front{align-items:center;gap:10px;margin-top:6px;display:flex}.seating-front-side{color:var(--ink-3);text-align:center;flex:0 0 46px;font-size:10.5px}.seating-front-podium{border:1px solid var(--line);background:var(--card);color:var(--teal-dark);text-align:center;letter-spacing:.14em;border-radius:8px;flex:1;padding:9px 0;font-size:11px;font-weight:700}.seating-room.is-compact{--seat-w:40px;--seat-h:25px;--seat-gap:3px;--row-gap:8px;padding:10px}.seating-room.is-compact .seating-seat{max-height:38px}.seating-room.is-compact .seating-row-gutter,.seating-room.is-compact .seating-row-label,.seating-room.is-compact .seating-front-side{flex-basis:36px;font-size:9.5px}.seating-room.is-compact .seating-seat{border-radius:5px;font-size:10px}.seating-room.is-compact .seating-front-podium{padding:6px 0;font-size:10px}.seating-room.is-compact .seating-wall-label{font-size:9.5px}.seating-room.is-compact .seating-wall.is-left{min-width:22px;margin-right:7px;padding-right:4px}.seating-room.is-compact{--aisle-w:12px}.seating-room.is-compact .seating-aisle.is-head{min-height:26px}.seating-room.is-compact .seating-aisle-label{letter-spacing:.08em;font-size:8.5px}.seating-room.is-compact .seating-wall.is-right{min-width:22px;margin-left:7px;padding-left:4px}.seating-chart-modal .modal-head p{max-width:640px}.modal.seating-chart-modal{width:min(720px,100%);overflow:hidden auto}.modal.seating-chart-modal .modal-actions{z-index:2;background:var(--card);border-top:1px solid var(--line);border-radius:0 0 17px 17px;margin:20px -22px -22px;padding:12px 22px;position:sticky;bottom:-22px}.modal.seating-chart-modal .modal-actions .seating-save-draft{box-shadow:0 6px 16px color-mix(in srgb,var(--teal) 26%,transparent);padding:9px 20px;font-size:13.5px}.modal.seating-chart-modal .modal-actions .seating-save-draft:hover{box-shadow:0 8px 20px color-mix(in srgb,var(--teal) 32%,transparent)}.modal.seating-chart-modal .modal-actions .secondary{color:var(--ink-2)}.seating-controls{flex-wrap:wrap;align-items:center;gap:10px;margin:2px 0 12px;display:flex}.seating-control{color:var(--ink-3);align-items:center;gap:7px;font-size:11.5px;display:inline-flex}.seating-control input{border:1px solid var(--line);background:var(--card);text-align:center;border-radius:8px;width:58px;padding:6px 8px;font-size:12px}.seating-control-group{border:1px solid var(--line);background:var(--surface-2);border-radius:9px;align-items:center;gap:5px;padding:5px 9px;display:inline-flex}.seating-control-group input{border:1px solid var(--line);background:var(--card);text-align:center;border-radius:7px;width:44px;padding:5px 6px;font-size:12px}.seating-control-group input.seating-block-name{width:62px;font-weight:600}.seating-control-unit{color:var(--ink-3);white-space:nowrap;font-size:10.5px}.seating-control-unit-mobile{display:none}.seating-orient{border-top:1px dashed var(--line-2);margin-top:-4px;padding-top:10px}.seating-orient-title{color:var(--ink-3);font-size:11.5px;font-weight:600}.seating-orient .seating-control-group select{border:1px solid var(--line);background:var(--card);color:var(--ink-2);border-radius:7px;padding:5px 6px;font-family:inherit;font-size:11.5px}.seating-orient .seating-control-group input.seating-wall-name{width:54px}.seating-orient-hint{color:var(--ink-3);font-size:10.5px}.seating-summary{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:10px;font-size:11.5px;display:flex}.seating-summary b{color:var(--ink);font-variant-numeric:tabular-nums;margin-left:2px;font-size:13px}.seating-warning{color:var(--amber);font-size:11px}.seating-rules{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;margin:0;padding:0}.seating-rules-toggle{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:8px 11px;display:flex}.seating-rules-toggle-label{color:var(--ink-3);letter-spacing:.06em;flex:none;font-size:10.5px;font-weight:700}.seating-rules-toggle-summary{min-width:0;color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:11.5px;overflow:hidden}.seating-rules-toggle-action{color:var(--teal-dark);flex:none;align-items:center;gap:2px;font-size:11px;font-weight:700;display:inline-flex}.seating-rules-toggle-action svg{transition:transform .16s}.seating-rules-toggle-action svg.is-open{transform:rotate(180deg)}.seating-rules-panel{padding:0 11px 10px}.seating-rules-section{grid-template-columns:38px 1fr;gap:4px 10px;padding:7px 0;display:grid}.seating-rules-section+.seating-rules-section{border-top:1px dashed var(--line)}.seating-rules-section-label{color:var(--ink-3);letter-spacing:.06em;text-align:right;padding-top:7px;font-size:10.5px;font-weight:700}.seating-rules-section-body{min-width:0}.seating-chip-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.seating-rules-top{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.seating-rule-chip{border:1px solid var(--line);background:var(--card);min-height:28px;color:var(--ink-2);border-radius:8px;align-items:center;gap:5px;padding:4px 10px;font-size:11.5px;font-weight:600;line-height:1.2;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.seating-rule-chip b{font-variant-numeric:tabular-nums;font-weight:800}.seating-rule-chip:hover:not(:disabled){border-color:var(--green-mid);color:var(--teal-dark)}.seating-rule-chip.is-on{border-color:var(--green);background:var(--green-soft);color:var(--teal-dark);box-shadow:inset 0 0 0 1px var(--green)}.seating-rule-chip:disabled{opacity:.5;cursor:not-allowed}.seating-rule-chip.is-legacy{color:var(--ink-3);border-style:dashed}.seating-rule-chip.is-legacy.is-on{color:var(--teal-dark);border-style:solid}.seating-rule-groupby{border:1px solid var(--green-mid);background:var(--card);height:28px;color:var(--teal-dark);border-radius:8px;padding:0 6px;font-size:11px;font-weight:600}.seating-rules-summary{color:var(--ink-3);flex:100%;font-size:10.5px;line-height:1.5}.seating-rule-picker{border-top:1px dashed var(--line);flex-direction:column;gap:7px;margin-top:9px;padding-top:9px;display:flex}.seating-rule-picker-head{color:var(--ink-2);align-items:center;gap:6px;font-size:11.5px;display:flex}.seating-rule-picker-head select{border:1px solid var(--green-mid);background:var(--card);border-radius:7px;height:26px;padding:0 6px;font-size:11.5px}.seating-rule-students{flex-wrap:wrap;gap:5px;max-height:169px;padding:2px;display:flex;overflow:auto}.seating-rule-student{border:1px solid var(--line);background:var(--card);color:var(--ink-2);border-radius:999px;padding:3px 9px;font-size:11px}.seating-rule-student:hover{border-color:var(--green-mid)}.seating-rule-student.is-on{border-color:var(--amber);background:var(--amber-bg);color:var(--amber);font-weight:700}.seating-rule-custom{border-top:1px dashed var(--line);flex-direction:column;gap:6px;margin-top:9px;padding-top:9px;display:flex}.seating-custom-rules{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.seating-custom-rules li{border:1px solid var(--line);border-left:3px solid var(--amber);background:var(--card);color:var(--ink-2);border-radius:8px;align-items:center;gap:8px;padding:5px 9px;font-size:11.5px;line-height:1.45;display:flex}.seating-custom-rules li span{flex:auto;min-width:0}.seating-rule-custom-form{align-items:center;gap:6px;display:flex}.seating-rule-custom-form input{border:1px solid var(--line);background:var(--card);min-width:0;height:30px;color:var(--ink);border-radius:8px;flex:auto;padding:0 9px;font-size:12px}.seating-rule-custom-form input:focus{border-color:var(--green-mid);outline:none}.seating-rule-custom-hint{color:var(--ink-3);font-size:10.5px;line-height:1.5}.link-button.is-quiet{color:var(--ink-3)}.seating-rule-warning{background:var(--amber-bg);color:var(--amber);border-radius:8px;align-items:flex-start;gap:6px;margin-top:8px;padding:6px 9px;font-size:11px;line-height:1.5;display:flex}.seating-seat.is-blank{border-style:dashed;border-color:color-mix(in srgb,var(--amber) 45%,var(--line));background:color-mix(in srgb,var(--amber-bg) 65%,var(--card));color:var(--amber);letter-spacing:.02em;font-size:10px;font-weight:700}.seating-seat.is-blank-target{cursor:crosshair}.seating-room.is-compact .seating-seat.is-blank{font-size:9px}.seating-hint{align-items:center;margin-top:12px}.seating-hint span{font-size:11px;line-height:1.55}@media (width<=760px){.seating-chart-modal .modal-actions button{white-space:nowrap}.seating-chart-modal .modal-actions .secondary{flex:1 0 100%;order:-1}.seating-controls{gap:8px}.seating-control-group{flex:calc(50% - 8px);justify-content:space-between}.seating-summary{gap:10px}.seating-version-bar{gap:8px}.seating-duty-row>*,.seating-panel{min-width:0}.seating-room{overflow-x:auto}.seating-version-chips{flex-wrap:nowrap;width:100%;margin-left:0;padding-bottom:2px;overflow-x:auto}.seating-version-chip{flex:none}.seating-row>.seating-row-label:last-child{display:none}.seating-room{padding:8px}.seating-room.is-compact .seating-wall.is-left{margin-right:5px}.seating-room.is-compact .seating-wall.is-right{margin-left:5px}.seating-version-grid{grid-template-columns:1fr}.seating-version-card{grid-template-columns:112px minmax(0,1fr);grid-template-areas:"mini head""mini stats""mini diff""mini actions";align-items:start;gap:5px 12px;display:grid}.seating-version-card header{grid-area:head}.seating-version-card .seating-mini{grid-area:mini;align-self:start;padding:8px 10px}.seating-version-stats{grid-area:stats}.seating-version-diff{grid-area:diff}.seating-version-actions{flex-wrap:wrap;grid-area:actions}.seating-version-detail .seating-summary .seating-version-diff{flex:1 0 100%;margin-left:0}}.tpl-lib .card .hd{gap:12px}.tpl-lib .card .hd .more{margin-left:auto}.tpl-intro{color:var(--ink-3);margin:0;font-size:12px;line-height:1.7}.tpl-name-field{max-width:380px;color:var(--ink-2);flex-direction:column;gap:5px;font-size:11px;display:flex}.tpl-name-field input{border:1px solid var(--line);background:var(--card);height:34px;color:var(--ink);border-radius:9px;padding:0 11px;font-size:13px}.tpl-name-field input:focus{border-color:var(--green-mid);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 10%,transparent);outline:none}.tpl-list{grid-template-columns:repeat(auto-fill,minmax(232px,1fr));align-items:stretch;gap:14px;display:grid}.tpl-card{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;flex-direction:column;align-items:stretch;gap:9px;padding:10px;display:flex}.tpl-new-card{border:1.5px dashed var(--line);background:color-mix(in srgb,var(--surface-2) 55%,transparent);min-height:250px;color:var(--ink-3);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:16px;display:flex}.tpl-new-card svg{color:var(--teal)}.tpl-new-card b{color:var(--ink-2);font-size:13.5px;font-weight:650}.tpl-new-card span{text-align:center;max-width:200px;font-size:10.5px;line-height:1.5}.tpl-new-card:hover{border-color:var(--teal);background:var(--green-soft)}.tpl-new-card:hover b{color:var(--teal-dark)}.tpl-new-card:disabled{opacity:.6;cursor:wait}.tpl-thumb{border:1px solid var(--line);background:var(--card);border-radius:9px;flex:none;width:100%;height:132px;position:relative;overflow:hidden}.tpl-thumb-empty{background:var(--line-2);height:100%;color:var(--ink-3);align-content:center;place-items:center;gap:5px;font-size:10px;display:grid}.tpl-thumb-page{flex-direction:column;gap:4px;height:100%;padding:9px 10px;display:flex;overflow:hidden}.tpl-sheet-grid{grid-template-columns:16px repeat(var(--cols,8), minmax(0, 1fr));background:var(--card);grid-auto-rows:15px;width:100%;display:grid}.tpl-sheet-corner,.tpl-sheet-colhead,.tpl-sheet-rowhead{background:var(--line-2);color:var(--ink-3);text-align:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap;font-size:7.5px;line-height:15px;overflow:hidden}.tpl-sheet-cell{color:var(--ink-2);border-right:1px solid color-mix(in srgb,var(--line) 55%,transparent);border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent);white-space:nowrap;text-overflow:ellipsis;min-width:0;padding:0 2px;font-size:8px;line-height:15px;overflow:hidden}.tpl-sheet-more{color:var(--ink-3);background:color-mix(in srgb,var(--card) 86%,transparent);border:1px solid var(--line);border-radius:6px;padding:1px 5px;font-size:8.5px;position:absolute;bottom:3px;right:5px}.tpl-docx-lines{flex-direction:column;gap:4px;display:flex;overflow:hidden}.tpl-docx-line{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;font-size:8.5px;line-height:1.35;overflow:hidden}.tpl-docx-line em{color:var(--teal-dark);background:var(--green-soft);border-radius:3px;padding:0 3px;font-style:normal;font-weight:600}.tpl-thumb-hover{background:color-mix(in srgb,var(--card) 55%,transparent);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);opacity:0;pointer-events:none;justify-content:center;align-items:center;gap:9px;transition:opacity .15s;display:flex;position:absolute;inset:0}.tpl-card:hover .tpl-thumb-hover,.tpl-thumb-hover:focus-within{opacity:1;pointer-events:auto}.docx-pick-wrap{background:var(--surface-2);border-radius:10px;max-height:620px;padding:14px;overflow:auto}.docx-page{color:#1c1c1c;border:1px solid var(--line);box-sizing:border-box;background:#fff;border-radius:4px;width:100%;max-width:820px;margin:0 auto;padding:26px 30px;font-family:Songti SC,SimSun,PingFang SC,serif;font-size:12.5px;line-height:1.9;box-shadow:0 2px 10px #0000000f}.docx-page .docx-p{white-space:pre-wrap;word-break:break-word;margin:0 0 4px}.docx-p.is-center{text-align:center}.docx-p.is-right{text-align:right}.docx-p.is-bold{font-weight:700}.docx-table{border-collapse:collapse;table-layout:fixed;width:100%;margin:6px 0 10px}.docx-table td{vertical-align:middle;word-break:break-word;white-space:pre-wrap;border:1px solid #b9b9b9;padding:3px 5px;font-size:11.5px;line-height:1.55}.docx-slot{background:#f7f8f9;border:1px dashed #c6ccd2}.docx-slot.is-pickable{cursor:pointer}.docx-slot.is-pickable:hover{background:var(--green-soft);border-color:var(--green-mid)}.docx-slot.is-mapped{background:var(--green-soft);border:1px solid var(--green-mid)}.docx-slot-hint{color:#b3b9c0;font-size:13px;line-height:1}.docx-ph{color:var(--teal-dark);background:var(--green-soft);border-radius:4px;padding:0 3px;font-size:.95em}.docx-ph.is-pickable{cursor:pointer;border-bottom:1px dashed var(--green-mid)}.docx-ph.is-pickable:hover{background:color-mix(in srgb,var(--green) 22%,transparent)}.docx-ph.is-mapped{background:0 0;padding:0}.docx-slot-tag{color:var(--teal-dark);border:1px solid var(--green-mid);background:#fff;border-radius:5px;padding:0 4px;font-size:10px;font-weight:650;display:inline-block}.docx-page.mode-compact{transform-origin:0 0;width:760px;max-width:none;box-shadow:none;border:none;border-radius:0;padding:18px 20px;font-size:12px;transform:scale(.29)}.docx-page.mode-compact .docx-table td{padding:2px 3px;font-size:11px}.docx-page.mode-large{max-width:860px}.tpl-preview-docx{background:var(--surface-2);padding:14px}@media (width<=760px){.docx-page{padding:16px 14px;font-size:12px}.docx-pick-wrap{padding:8px}}.sheet-picker-list{flex-direction:column;gap:8px;max-height:460px;display:flex;overflow:auto}.sheet-pick-row{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;grid-template-columns:24px 188px minmax(0,1fr);align-items:center;gap:12px;padding:9px 12px 9px 9px;display:grid}.sheet-pick-row.is-on{border-color:var(--green-mid);background:var(--green-soft)}.sheet-pick-check{border:1.5px solid var(--line);background:var(--card);color:#fff;cursor:pointer;border-radius:6px;place-items:center;width:22px;height:22px;padding:0;display:grid}.sheet-pick-check[aria-checked=true]{border-color:var(--green-mid);background:var(--teal)}.sheet-pick-thumb{border:1px solid var(--line);background:var(--card);border-radius:8px;height:96px;overflow:hidden}.sheet-pick-thumb .tpl-sheet-grid{grid-auto-rows:14px}.sheet-pick-empty{height:100%;color:var(--ink-3);background:var(--line-2);place-items:center;font-size:10.5px;display:grid}.sheet-pick-meta{flex-direction:column;gap:3px;min-width:0;display:flex}.sheet-pick-meta b{color:var(--ink-1);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:650;overflow:hidden}.sheet-pick-meta span{color:var(--ink-3);font-size:10.5px}.sheet-picker-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}@media (width<=760px){.sheet-pick-row{grid-template-columns:24px minmax(0,1fr)}.sheet-pick-thumb{display:none}}.tpl-hover-btn{background:var(--card);min-width:58px;color:var(--teal-dark);border:1.5px solid var(--teal);border-radius:9px;padding:8px 14px;font-size:12.5px;font-weight:700;box-shadow:0 6px 16px #173c2829}.tpl-hover-btn:hover{background:var(--green-soft)}.tpl-hover-btn.is-primary{background:var(--teal);color:#fff;border-color:var(--teal)}.tpl-hover-btn.is-primary:hover{background:var(--teal-dark)}.tpl-hover-btn:disabled{opacity:.45;cursor:not-allowed}.tpl-preview-modal{width:min(760px,100%)}.tpl-preview-body{border:1px solid var(--line);background:var(--card);border-radius:11px;min-height:180px;max-height:56vh;padding:2px;overflow:auto}.tpl-preview-body .empty-state{color:var(--ink-3)}.tpl-preview-body .tpl-sheet-more{float:right;margin:6px 6px 0 0;position:sticky}.tpl-preview-scroll{min-width:min-content;position:relative}.tpl-sheet-grid.is-large{grid-template-columns:34px repeat(var(--cols,8), minmax(64px, 1fr));grid-auto-rows:26px}.tpl-sheet-grid.is-large .tpl-sheet-corner,.tpl-sheet-grid.is-large .tpl-sheet-colhead,.tpl-sheet-grid.is-large .tpl-sheet-rowhead{font-size:10px;line-height:26px}.tpl-sheet-grid.is-large .tpl-sheet-cell{padding:0 7px;font-size:11.5px;line-height:26px}.tpl-docx-lines.is-large{gap:10px;padding:16px 18px}.tpl-docx-lines.is-large .tpl-docx-line{white-space:normal;font-size:13px;line-height:1.6}.tpl-docx-lines.is-large .tpl-docx-line:first-child{color:var(--ink);font-size:15px;font-weight:700}.fill-pick-hint{border:1px solid var(--green-mid);background:var(--green-soft);color:var(--teal-dark);border-radius:10px;align-items:center;gap:7px;margin-bottom:12px;padding:10px 13px;font-size:12px;line-height:1.6;display:flex}.fill-pick-hint svg{color:var(--teal);flex:none}.fill-pick-hint>span{flex:auto}.fill-pick-hint em{font-style:normal;font-weight:700}.fill-pick-grid{border:1px solid var(--line);background:var(--card);border-radius:11px;max-height:380px;padding:2px;overflow:auto}.fill-pick-grid .tpl-sheet-grid.is-large{grid-template-columns:34px repeat(var(--cols,8), minmax(56px, max-content));width:max-content;min-width:100%}.tpl-sheet-colhead.is-clickable,.tpl-sheet-cell.is-clickable{cursor:pointer}.tpl-sheet-colhead.is-clickable:hover,.tpl-sheet-cell.is-clickable:hover{outline:2px solid var(--teal);outline-offset:-2px}.tpl-sheet-cell.is-mapped-col{box-shadow:inset 0 0 0 2px var(--teal)}.tpl-sheet-colhead.is-mapped{color:var(--teal-dark);background:var(--green-mid);font-weight:700}.tpl-col-badge{text-overflow:ellipsis;font-size:7.5px;font-style:normal;font-weight:600;line-height:1.2;display:block;overflow:hidden}.tpl-sheet-grid.is-large .tpl-col-badge{font-size:9px}.tpl-sheet-rowhead.is-header-row{color:var(--teal-dark);background:var(--green-soft);font-weight:800}.tpl-sheet-cell.is-header-cell{color:var(--ink);font-weight:650}.fill-mapped-chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fill-mapped-chip{border:1px solid var(--green-mid);background:var(--green-soft);color:var(--teal-dark);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:11.5px;display:inline-flex}.fill-mapped-chip b{font-weight:700}.fill-mapped-chip button{width:18px;height:18px;color:var(--teal-dark);border-radius:50%;place-items:center;display:grid}.fill-mapped-chip button:hover{background:var(--green-mid);color:var(--ink)}.fill-mapped-empty{color:var(--ink-3);font-size:12px}.tpl-tag.is-blank{color:#8a5a00;background:#fff6e3;border-color:#f0d49a}.fill-cols-fallback{border:1px dashed var(--line);border-radius:10px;margin:2px 16px 10px}.fill-cols-fallback summary{color:var(--ink-3);cursor:pointer;-webkit-user-select:none;user-select:none;padding:9px 13px;font-size:11.5px}.fill-cols-fallback summary:hover{color:var(--teal-dark)}.fill-cols-fallback[open] summary{border-bottom:1px dashed var(--line)}.fill-pick-modal{width:min(430px,100%)}.fill-pick-select{border:1px solid var(--line);background:var(--card);width:100%;height:40px;color:var(--ink);border-radius:10px;padding:0 12px;font-size:13.5px}.fill-pick-select:focus{border-color:var(--green-mid);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 10%,transparent);outline:none}.tpl-touch-actions{display:none}@media (width<=760px){.tpl-card-actions{flex-wrap:wrap;justify-content:flex-end}.tpl-new-card{min-height:200px}}@media (hover:none){.tpl-thumb-hover{display:none}.tpl-touch-actions{align-items:center;gap:6px;margin-right:auto;display:inline-flex}.tpl-touch-actions .ghost{border:1px solid var(--teal);background:var(--card);color:var(--teal-dark)}.tpl-touch-actions .primary{background:var(--teal);color:#fff;border-color:var(--teal)}}.tpl-card-main{flex:1;align-content:start;gap:5px;min-width:0;display:grid}.tpl-card-main strong{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:650;overflow:hidden}.tpl-card-meta{color:var(--ink-3);font-size:11px;line-height:1.5}.tpl-card-tags{flex-wrap:wrap;gap:6px;display:flex}.tpl-tag{background:var(--line-2);color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;max-width:280px;padding:2px 8px;font-size:10px;font-style:normal;display:inline-flex;overflow:hidden}.tpl-tag.is-imported{background:var(--green-soft);color:var(--green-strong)}.tpl-tag.is-preset{color:#8a5a00;background:#fff3d6;border:1px solid #efd59a}.tpl-tag.is-word{background:color-mix(in srgb,#2f6fb3 10%,var(--card));color:#2f6fb3;border:1px solid #2f6fb3}.tpl-tag.is-file{border:1px solid var(--line);background:var(--card)}.tpl-card-actions{flex-wrap:wrap;flex:none;align-items:center;gap:6px;display:flex}.tpl-card-actions .ghost.is-reuse{color:var(--teal-dark);border:1px solid var(--teal);background:var(--green-soft)}.tpl-card-actions .ghost.is-reuse:hover{background:color-mix(in srgb, var(--teal) 16%, var(--card));border-color:var(--teal-dark);color:var(--teal-dark)}.tpl-card-actions .ghost,.tpl-card-actions .primary,.tpl-card-actions .secondary{border-radius:8px;padding:7px 11px;font-size:12px;font-weight:600}.tpl-card-actions .ghost{color:var(--ink-3)}.tpl-card-actions .ghost:hover{background:var(--line-2);color:var(--ink)}.tpl-name-input{border:1px solid var(--green-mid);height:30px;color:var(--ink);background:var(--card);border-radius:8px;padding:0 9px;font-size:13px}.tpl-name-input:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 12%,transparent);outline:none}.tpl-confirm-hint{color:var(--ink-3);max-width:190px;font-size:10.5px;line-height:1.45}.tpl-export-modal{width:min(720px,96vw)}.tpl-export-body{flex-direction:column;gap:12px;max-height:min(60vh,520px);padding:6px 18px 10px;display:flex;overflow:auto}.tpl-export-field{flex-direction:column;gap:6px;display:flex}.tpl-export-field>span{color:var(--ink-2);font-size:12px;font-weight:650}.tpl-export-field select{border:1px solid var(--line);background:var(--card);height:38px;color:var(--ink);border-radius:10px;padding:0 10px;font-size:13px}.tpl-export-list{flex-direction:column;gap:6px;display:flex}.tpl-export-item{border:1px solid var(--line);background:var(--card);text-align:left;color:var(--ink);border-radius:10px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 11px;font-size:13px;display:grid}.tpl-export-item:hover{border-color:var(--green-mid)}.tpl-export-item.is-on{border-color:var(--green-mid);background:var(--green-soft)}.tpl-export-item b{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.tpl-export-item small{color:var(--ink-3);font-size:11px}.tpl-export-check{border:1.5px solid var(--line);color:#fff;border-radius:5px;place-items:center;width:18px;height:18px;display:grid}.tpl-export-item.is-on .tpl-export-check{border-color:var(--green-mid);background:var(--teal)}.tpl-export-scope{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.tpl-export-scope select{border:1px solid var(--line);background:var(--card);height:32px;color:var(--ink);border-radius:8px;padding:0 8px;font-size:12.5px}.tpl-export-doc{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:12px;overflow:auto}.tpl-export-hint{color:var(--ink-3);font-size:11.5px}.tpl-export-result{border:1px solid var(--green-mid);background:var(--green-soft);color:var(--green-strong);border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.tpl-export-result>div{color:var(--ink-1);flex-direction:column;gap:3px;display:flex}.tpl-export-result strong{font-size:14px}.tpl-export-result span{color:var(--ink-3);font-size:12px}.tpl-export-archive{align-items:center;gap:5px;font-weight:600;display:inline-flex;color:var(--teal-dark)!important}.duty-panel{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:18px;padding:16px}.duty-panel.is-empty{background:var(--surface-2)}.duty-panel-meta{color:var(--ink-3);font-size:11px}.duty-table-wrap{flex-direction:column;gap:8px;display:flex}.duty-table{border:1px solid var(--line);background:var(--card);border-radius:11px;max-height:320px;overflow:auto}.duty-table.is-expanded{max-height:none}.duty-table-toggle{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-3);border-radius:8px;align-self:center;align-items:center;gap:5px;padding:5px 12px;font-size:11px;display:inline-flex}.duty-table-toggle:hover{border-color:var(--teal);color:var(--teal-dark);background:var(--green-soft)}.duty-table-head,.duty-row{grid-template-columns:124px 88px minmax(0,1fr);align-items:start;gap:10px;display:grid}.duty-table-head{z-index:1;background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--teal-dark);letter-spacing:.02em;padding:8px 12px;font-size:10.5px;font-weight:700;position:sticky;top:0}.duty-row{border-top:1px solid var(--line);padding:8px 12px}.duty-row:first-of-type{border-top:none}.duty-role{color:var(--ink);font-size:11.5px;font-weight:700}.duty-holder{color:var(--ink-2);font-size:11.5px}.duty-holder.is-pending{color:var(--ink-3);font-style:normal}.duty-text{color:var(--ink-2);white-space:pre-wrap;font-size:11.5px;line-height:1.6}.duty-subjects{border-top:1px solid var(--line);background:var(--surface-2);align-items:flex-start;gap:10px;padding:9px 12px;display:flex}.duty-subjects-label{color:var(--teal-dark);flex:none;padding-top:2px;font-size:11px;font-weight:700}.duty-subject-chips{flex-wrap:wrap;gap:6px;display:flex}.duty-subject-chip{border:1px solid var(--line);background:var(--card);border-radius:7px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;display:inline-flex}.duty-subject-chip b{color:var(--ink);font-weight:600}.duty-subject-chip b:after{content:"·";color:var(--ink-3);margin:0 3px;font-weight:400}.duty-subject-chip em{color:var(--ink-2);font-style:normal}.duty-subject-chip em.is-pending{color:var(--ink-3)}.duty-general{border-top:1px solid var(--line);color:var(--ink-3);margin:0;padding:10px 12px 10px 30px;font-size:11px;line-height:1.65}.seating-duty-row{display:block}.seating-duty-row .duty-panel{margin-bottom:18px}.seating-duty-row .duty-side-list{grid-template-columns:repeat(auto-fill,minmax(226px,1fr));gap:5px 8px;display:grid}.duty-panel.is-side{--tone:var(--green);--tone-bg:var(--green-soft);border-color:color-mix(in srgb,var(--green) 26%,var(--line));background:linear-gradient(168deg, color-mix(in srgb,var(--green-soft) 72%,var(--card)) 0%, var(--card) 46%);flex-direction:column;padding:15px 15px 13px;display:flex;box-shadow:0 6px 20px #173c280f}[data-tone=amber],.is-amber{--tone:#b45309;--tone-bg:#fdf3e3}[data-tone=cyan],.is-cyan{--tone:#0e7490;--tone-bg:#e3f4f8}[data-tone=violet],.is-violet{--tone:#6d4cc4;--tone-bg:#f1ecfc}[data-tone=rose],.is-rose{--tone:#c0275a;--tone-bg:#fdecf2}[data-tone=lime],.is-lime{--tone:#3f6212;--tone-bg:#e8f5d6}[data-tone=teal],.is-teal{--tone:var(--green);--tone-bg:var(--green-soft)}[data-tone=sky],.is-sky{--tone:#0369a1;--tone-bg:#e5f1fa}[data-tone=indigo],.is-indigo{--tone:#4f46e5;--tone-bg:#ecebfe}.duty-side-head{align-items:flex-start;gap:10px;margin-bottom:11px;display:flex}.duty-side-head-icon{background:var(--card);width:30px;height:30px;color:var(--teal-dark);border-radius:9px;flex:none;place-items:center;display:grid;box-shadow:0 3px 9px #173c2817}.duty-side-head-text{flex:1;min-width:0}.duty-side-head-text h3{letter-spacing:-.02em;color:var(--ink);font-size:14px}.duty-side-head-text small{color:var(--ink-3);font-variant-numeric:tabular-nums;margin-top:2px;font-size:10.5px;display:block}.duty-side-head .affair-panel-actions{flex:none;gap:8px}.duty-side-body{flex-direction:column;flex:auto;gap:9px;display:flex}.duty-side-coverage{align-items:center;gap:8px;display:flex}.duty-side-coverage-bar{background:color-mix(in srgb,var(--green) 12%,var(--card));border-radius:999px;flex:1;height:5px;overflow:hidden}.duty-side-coverage-bar i{border-radius:inherit;background:linear-gradient(90deg, var(--green), color-mix(in srgb,var(--green) 55%,var(--green-mid)));height:100%;display:block}.duty-side-coverage-text{color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10.5px}.duty-side-coverage-text b{color:var(--teal-dark)}.duty-side-list{cursor:pointer;text-align:left;background:0 0;border:none;flex-direction:column;align-items:stretch;gap:5px;padding:0;display:flex}.duty-side-row{border:1px solid var(--line);border-left:3px solid var(--tone);background:var(--card);border-radius:8px;align-items:center;gap:8px;padding:5px 8px;transition:border-color .15s,background .15s,transform .15s;display:flex}.duty-side-list:hover .duty-side-row{background:color-mix(in srgb,var(--tone-bg) 70%,var(--card));transform:translate(1px)}.duty-side-avatar{background:var(--tone-bg);width:22px;height:22px;color:var(--tone);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:700;display:grid}.duty-side-role{min-width:0;color:var(--tone);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11.5px;font-weight:700;overflow:hidden}.duty-side-name{color:var(--ink-2);flex:none;font-size:11.5px;font-weight:600}.duty-side-go{color:var(--ink-3);opacity:.55;flex:none}.duty-side-row.is-none{border-left-color:var(--line-2);color:var(--ink-3);justify-content:center;font-size:11.5px}.duty-side-subjects{align-items:flex-start;gap:8px;padding-top:2px;display:flex}.duty-side-label{color:var(--teal-dark);letter-spacing:.04em;flex:none;padding-top:3px;font-size:10px;font-weight:800}.duty-side-subject-list{flex-wrap:wrap;gap:5px;display:flex}.duty-side-subject-list .duty-subject-chip{border-color:color-mix(in srgb,var(--tone) 32%,var(--line));background:color-mix(in srgb,var(--tone-bg) 72%,var(--card))}.duty-side-subject-list .duty-subject-chip b{color:var(--tone)}.duty-side-subject-list .duty-subject-chip b:after{color:var(--ink-3)}.duty-side-subject-list .duty-subject-chip em{color:var(--ink-2)}.duty-side-subject-list .duty-subject-chip em.is-pending{color:var(--ink-3)}.duty-side-hint{color:var(--ink-3);font-size:10.5px;line-height:1.5}.duty-view-modal .duty-table{max-height:min(52vh,460px)}.duty-view-modal .duty-row .duty-role{color:var(--tone)}.duty-general li{margin:2px 0}.modal.duty-modal{width:min(900px,100%)}.duty-summary{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:14px;margin:0 0 6px;font-size:11.5px;display:flex}.duty-summary b{color:var(--ink);font-variant-numeric:tabular-nums;margin-left:2px;font-size:13px}.duty-warning{color:var(--amber);font-size:11px}.duty-section-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:10px;margin:16px 0 8px;padding-bottom:6px;display:flex}.duty-section-head h3{margin:0;font-size:12.5px}.duty-section-head span{color:var(--ink-3);font-size:10.5px}.duty-editor{border:1px solid var(--line);background:var(--card);border-radius:11px;overflow:hidden}.duty-editor-head,.duty-editor-row{grid-template-columns:132px 104px minmax(0,1fr) 66px;align-items:start;gap:8px;padding:8px 10px;display:grid}.duty-editor-head{background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--teal-dark);font-size:10.5px;font-weight:700}.duty-editor-row{border-top:1px solid var(--line)}.duty-editor-row:first-of-type{border-top:none}.duty-editor-row input,.duty-editor-row select,.duty-editor-row textarea,.duty-subject-row input,.duty-subject-row select,.duty-field textarea,.duty-general-row input{border:1px solid var(--line);background:var(--card);width:100%;color:var(--ink-2);border-radius:7px;padding:6px 8px;font-family:inherit;font-size:11.5px;line-height:1.55}.duty-editor-row textarea{resize:vertical;min-height:46px}.duty-editor-row textarea,.duty-field textarea{field-sizing:content;max-height:220px}.duty-editor-row input:focus,.duty-editor-row select:focus,.duty-editor-row textarea:focus,.duty-subject-row input:focus,.duty-subject-row select:focus,.duty-field textarea:focus,.duty-general-row input:focus{border-color:var(--teal);box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 20%,transparent);outline:none}.duty-title-input{color:var(--ink);font-weight:600}.duty-row-actions{align-items:center;gap:2px;display:flex}.duty-row-actions .link-button{border-radius:5px;place-items:center;width:20px;height:20px;display:grid}.duty-row-actions .link-button:hover:not(:disabled){background:var(--green-soft)}.duty-row-actions .link-button:disabled{opacity:.32;cursor:default}.duty-row-actions .is-flip{transform:rotate(180deg)}.duty-add{border:1px dashed color-mix(in srgb,var(--ink-3) 40%,transparent);color:var(--ink-3);background:0 0;border-radius:8px;align-items:center;gap:5px;margin-top:8px;padding:6px 10px;font-size:11px;display:inline-flex}.duty-add:hover{border-color:var(--teal);color:var(--teal-dark);background:var(--green-soft)}.duty-subject-editor{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-items:start;gap:8px;display:grid}.duty-subject-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 22px;align-items:center;gap:6px;display:grid}.duty-subject-row .link-button{border-radius:5px;place-items:center;width:20px;height:20px;display:grid}.duty-subject-editor .duty-add{grid-column:1/-1;justify-self:start;margin-top:0}.duty-field{flex-direction:column;gap:6px;margin-top:10px;display:flex}.duty-field>span{color:var(--ink-3);font-size:11px}.duty-field textarea{resize:vertical}.duty-general-editor{flex-direction:column;gap:7px;display:flex}.duty-general-row{grid-template-columns:20px minmax(0,1fr) 22px;align-items:center;gap:6px;display:grid}.duty-general-index{color:var(--ink-3);text-align:center;font-variant-numeric:tabular-nums;font-size:11px}.duty-general-row .link-button{border-radius:5px;place-items:center;width:20px;height:20px;display:grid}.duty-general-editor .duty-add{align-self:flex-start;margin-top:2px}.duty-hint{align-items:center;margin-top:14px}.duty-hint span{font-size:11px;line-height:1.55}@media (width<=760px){.duty-table-head,.duty-row{grid-template-columns:minmax(0,88px) minmax(0,66px) minmax(0,1fr);gap:6px}.duty-editor-head{display:none}.duty-editor-row{grid-template-columns:1fr 1fr}.duty-editor-row textarea,.duty-row-actions{grid-column:1/-1}.duty-row-actions{justify-content:flex-end}.modal.duty-modal .modal-actions{flex-wrap:wrap}.modal.duty-modal .modal-actions .primary{flex:1 0 100%;order:-1}}.family-panel{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:18px;padding:16px}.family-recent{border:1px solid var(--line);border-radius:11px;flex-direction:column;display:flex;overflow:hidden}.family-recent-row{border-top:1px solid var(--line);background:var(--card);text-align:left;grid-template-columns:auto minmax(0,1fr) auto 16px;align-items:center;gap:10px;padding:9px 12px;display:grid}.family-recent-row:first-child{border-top:none}.family-recent-row:hover{background:var(--surface-2)}.family-recent-kind{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:700}.kind-communication .family-recent-kind{background:var(--green-soft);color:var(--teal-dark)}.kind-visit .family-recent-kind{background:var(--line-2);color:var(--ink-2)}.family-recent-main{align-items:baseline;gap:8px;min-width:0;display:flex}.family-recent-main strong{white-space:nowrap;font-size:12px;font-weight:650}.family-recent-main small{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.5;overflow:hidden}.family-recent-meta{color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:10.5px}.family-more{color:var(--ink-3);margin-top:8px;font-size:10.5px}.modal.family-modal{width:min(880px,100%);overflow:hidden auto}.modal.family-modal .modal-actions{z-index:2;background:var(--card);border-top:1px solid var(--line);border-radius:0 0 17px 17px;margin:20px -22px -22px;padding:12px 22px;position:sticky;bottom:-22px}.family-sheet{border:1px solid var(--line);background:var(--card);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.family-sheet-meta{background:var(--surface-2);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px;display:grid}.family-sheet-meta label,.family-sheet-row label{min-width:0;color:var(--ink-3);flex-direction:column;gap:5px;font-size:11px;display:flex}.family-sheet-meta input,.family-sheet-meta select,.family-sheet-row input,.family-sheet-row select{border:1px solid var(--line);background:var(--card);width:100%;color:var(--ink-2);border-radius:8px;padding:7px 9px;font-family:inherit;font-size:12px}.family-sheet-meta input:focus,.family-sheet-meta select:focus,.family-sheet-row input:focus,.family-sheet-row select:focus,.family-field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 20%,transparent);outline:none}.family-sheet-row{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px;display:grid}.family-inline{grid-template-columns:88px minmax(0,1fr);gap:6px;display:grid}.family-subselect{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;margin-top:6px;display:grid}.family-subselect>span{color:var(--ink-3);font-size:10.5px}.family-row-errors{flex-wrap:wrap;gap:10px;padding:0 12px 10px;display:flex}.family-field{border-bottom:1px solid var(--line);grid-template-columns:96px minmax(0,1fr);align-items:start;gap:10px;padding:11px 12px;display:grid}.family-field:last-child{border-bottom:none}.family-field>span{color:var(--teal-dark);padding-top:7px;font-size:11.5px;font-weight:650;line-height:1.5}.family-field>span em{color:var(--red);margin-left:2px;font-style:normal}.family-field-body{flex-direction:column;gap:5px;min-width:0;display:flex}.family-field textarea{border:1px solid var(--line);background:var(--card);width:100%;color:var(--ink-2);resize:vertical;field-sizing:content;border-radius:8px;min-height:64px;max-height:280px;padding:7px 9px;font-family:inherit;font-size:12px;line-height:1.7}.family-field textarea.is-long{min-height:104px}.family-field-pair{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.family-field-pair .family-field{border-bottom:none;grid-template-columns:1fr;gap:5px;padding:11px 12px}.family-field-pair .family-field>span{padding-top:0}.family-field-pair .family-field+.family-field{border-left:1px solid var(--line)}.family-note textarea{background:var(--surface-2);font-size:11.5px}.family-copied{color:var(--teal-dark);margin-top:10px;font-size:11px;display:block}.family-chips{flex-wrap:wrap;gap:6px;display:flex}.family-chip{border:1px solid var(--line);background:var(--card);color:var(--ink-2);border-radius:999px;padding:5px 11px;font-size:11.5px}.family-chip:hover{border-color:var(--green-mid)}.family-chip.is-selected{border-color:var(--teal);background:var(--green-soft);color:var(--teal-dark);font-weight:650}@media (width<=760px){.family-sheet-meta,.family-sheet-row{grid-template-columns:1fr}.family-field{grid-template-columns:1fr;gap:5px;padding:11px 12px}.family-field>span{padding-top:0}.family-field-pair{grid-template-columns:1fr}.family-field-pair .family-field+.family-field{border-left:none;border-top:1px solid var(--line)}.family-recent-row{grid-template-columns:auto minmax(0,1fr) 16px}.family-recent-meta{display:none}.modal.family-modal .modal-actions{flex-wrap:wrap}.modal.family-modal .modal-actions .primary{flex:1 0 100%;order:-1}}.semester-calendar .sem-title{color:var(--ink-3);font-size:11px;font-weight:600}.sem-scroll{background:var(--card);border:1px solid var(--line);border-radius:14px}@media (width<=760px){.sem-scroll{overflow-x:auto}}.sem-table{border-collapse:separate;border-spacing:0;width:100%;min-width:660px;font-size:11px;line-height:1.25}.sem-table th,.sem-table td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:center;vertical-align:middle;color:var(--text);padding:4px}.sem-table th:last-child,.sem-table td:last-child{border-right:0}.sem-table tbody tr:last-child td{border-bottom:0}.sem-table thead th{background:#fef0c9;font-size:10.5px;font-weight:700}.sem-table .month-cell{width:52px;font-size:11.5px;font-weight:700}.sem-table .week-no{width:36px;color:var(--muted);font-variant-numeric:tabular-nums;background:var(--card)}.sem-table .day-cell{min-width:40px}.sem-table .day-cell b{font-variant-numeric:tabular-nums;font-weight:600}.sem-table .day-cell .festival{color:var(--muted);margin-top:1px;font-size:9px;font-style:normal;display:block}.sem-table .band-pink{background:#fbe6d5}.sem-table .band-green{background:#e3f1d9}.sem-table .off{background:#f3b6be}.sem-table .off .festival{color:#7c3a43}.sem-table .makeup{box-shadow:inset 0 0 0 1.5px var(--orange)}.sem-table .makeup .tag{color:var(--orange);margin-top:1px;font-size:8.5px;font-style:normal;font-weight:700;display:block}.sem-table .day-cell.blank{background:var(--surface-2)}.sem-table .day-cell.today{outline:2px solid var(--teal);outline-offset:-2px}.sem-table .day-cell.today b{color:var(--teal-dark);font-weight:800}.sem-table .current-week .week-no{background:var(--green-soft);color:var(--teal-dark);font-weight:800}.sem-table .sem-note-cell{text-align:left;color:#6f5b2e;vertical-align:middle;background:#fef0c9;width:200px;min-width:160px;padding:0;font-size:10px;line-height:1.45}.sem-note-edit,.sem-note-readonly{box-sizing:border-box;width:100%;min-height:28px;color:inherit;font:inherit;text-align:left;background:0 0;border:1px solid #0000;align-items:center;padding:4px 8px;font-size:10px;line-height:1.45;display:flex}.sem-note-edit{cursor:text;gap:6px}.sem-note-edit:hover{background:#fbe7b0;border-color:#e6c86c}.sem-note-edit:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}.sem-note-edit.is-empty{color:#a08b59}.sem-note-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sem-note-pencil{opacity:0;flex:none;transition:opacity .16s}.sem-note-edit:hover .sem-note-pencil{opacity:.7}.sem-note-editor{background:#fff7dc;align-items:center;gap:4px;padding:2px 4px;display:flex}.sem-note-input{box-sizing:border-box;background:var(--card);color:#5b4a22;min-width:0;font:inherit;border:1px solid #d9b75a;border-radius:5px;outline:none;flex:1;padding:3px 5px;font-size:10.5px}.sem-note-restore{color:#8a7132;cursor:pointer;background:#fff3cc;border:1px solid #e1c77e;border-radius:5px;flex:none;justify-content:center;align-items:center;width:21px;height:21px;padding:0;display:inline-flex}.sem-note-restore:hover{background:#fbe7b0}.sem-footnote{color:var(--ink-3);margin:8px 2px 0;font-size:10.5px;line-height:1.6}.semester-calendar.is-home .section-head{margin-bottom:12px}.semester-calendar.is-home .section-head h2{font-size:19px}.sem-greet{border:1px solid var(--green-mid);background:var(--green-soft);color:var(--teal-dark);border-radius:12px;flex-direction:column;gap:7px;margin:0 0 12px;padding:10px 13px 9px;font-size:12.5px;line-height:1.5;display:flex}.sem-greet-top{flex-wrap:wrap;align-items:center;gap:4px 8px;min-height:22px;display:flex}.sem-greet-icon{opacity:.85;flex:none}.sem-greet-title{letter-spacing:.01em;font-weight:800}.sem-greet-tip{min-width:0;color:var(--ink-2);font-weight:500}.sem-greet.is-sat,.sem-greet.is-sun{color:#8a6220;background:#fffcf4;border-color:#ebdcb6}.sem-greet.is-holiday{color:#9c3341;background:#fef7f8;border-color:#f0c9ce}.sem-greet.is-makeup{color:var(--orange);background:#fffbf4;border-color:#efd7b5}.sem-today{border:1px solid color-mix(in srgb, var(--ink) 9%, transparent);background:var(--card);color:var(--ink-2);border-radius:999px;flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.sem-today .lg-today{background:var(--teal);border-radius:50%;width:9px;height:9px}.sem-status-div{background:var(--line-2);flex:none;width:1px;height:11px}.sem-today-week{color:var(--teal-dark);font-weight:700}.sem-today-week.is-outside{color:var(--ink-3);font-weight:600}.sem-greet-legend{color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:5px 14px;font-size:10.5px;line-height:1.4;display:flex}.sem-legend-body{display:contents}.sem-legend-toggle{display:none}.sem-legend-group{flex-wrap:wrap;align-items:center;gap:4px 10px;display:inline-flex}.sem-legend-group.is-cat{border-left:1px solid color-mix(in srgb, var(--ink) 10%, transparent);padding-left:10px}.sem-legend-item{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.sem-greet-legend i{border-radius:3px;flex:none;width:11px;height:11px;display:inline-block}.sem-greet-legend .lg-week{border:1.5px solid var(--teal);background:var(--card)}.sem-greet-legend .lg-today{background:var(--teal);border-radius:50%;width:10px;height:10px}.sem-greet-legend .lg-off{background:#f3b6be}.sem-greet-legend .lg-makeup{border:1.5px solid var(--orange);background:var(--card)}.sem-greet-legend .lg-cat{background:var(--teal);border-radius:50%;width:9px;height:9px}.sem-greet-legend .lg-cat.cat-school{background:#d98b3a}.sem-greet-legend .lg-cat.cat-class{background:#6b7fd7}.sem-scroll.is-home .sem-table thead th{top:var(--sem-sticky-top,62px);z-index:2;position:sticky}.sem-table tbody tr.current-week>td{background-image:linear-gradient(color-mix(in srgb, var(--teal) 14%, transparent), color-mix(in srgb, var(--teal) 14%, transparent));border-top:2px solid var(--teal);border-bottom:2px solid var(--teal)}.sem-table tbody tr.current-week>td:first-child{border-left:2px solid var(--teal)}.sem-table tbody tr.current-week>td:last-child{border-right:2px solid var(--teal)}.sem-table .current-week .week-no{background:var(--teal);color:#fff}.sem-table .current-week .week-no b{color:#fff;font-weight:800}.sem-table .week-no b{font-variant-numeric:tabular-nums;font-weight:600}.sem-table .week-flag{color:var(--teal-dark);margin-top:1px;font-size:8.5px;font-style:normal;font-weight:800;line-height:1.15;display:block}.sem-table .current-week .week-flag{color:#fff}.sem-table .day-cell.today b{box-sizing:border-box;background:var(--teal);color:#fff;border-radius:999px;place-items:center;min-width:21px;height:21px;padding:0 3px;font-weight:800;display:inline-grid}@media (width<=760px){.focus-home-calendar{padding:2px 0 14px}.sem-greet{padding:10px 11px 9px;font-size:12.5px;display:block}.sem-greet-top{grid-template-columns:auto 1fr auto;align-items:center;gap:5px 6px;min-height:0;display:grid}.sem-greet-icon{grid-area:1/1;width:13px;height:13px}.sem-greet-title{grid-area:1/2;font-size:13px}.sem-greet-tip{color:var(--ink-2);grid-area:2/1/auto/-1;font-size:12px;line-height:1.45}.sem-today{grid-area:3/1/auto/-1;justify-self:start;margin:2px 0 0;padding:2px 9px;font-size:10.5px}.sem-legend-toggle{border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);background:var(--card);min-height:26px;color:var(--ink-3);cursor:pointer;border-radius:999px;grid-area:1/3;align-items:center;gap:2px;padding:3px 10px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.sem-legend-toggle svg{transition:transform .15s}.sem-legend-toggle svg.is-open{transform:rotate(180deg)}.sem-greet-legend{display:none}.sem-greet-legend.is-open{border-top:1px solid color-mix(in srgb, var(--ink) 8%, transparent);margin-top:8px;padding-top:7px;font-size:10px;line-height:1.35;display:block}.sem-greet-legend.is-open .sem-legend-body{flex-direction:column;gap:5px;display:flex}.sem-greet-legend i{width:10px;height:10px}.sem-legend-group.is-cat{border-left:0;padding-left:0}.sem-scroll{overflow-x:visible}.sem-table{table-layout:fixed;width:100%;min-width:0;font-size:10px}.sem-table thead th{padding:4px 1px;font-size:9.5px}.sem-table thead th:first-child{width:26px}.sem-table thead th:nth-child(2){width:22px}.sem-table thead .sem-note-head,.sem-table .sem-note-cell{display:none}.sem-table .month-cell{padding:3px 1px;font-size:10px}.sem-table .week-no{padding:3px 1px;font-size:9.5px}.sem-table .day-cell{min-width:0;padding:3px 1px}.sem-table .day-cell .festival,.sem-table .day-cell .tag{font-size:8px}.sem-table .week-flag{font-size:7.5px}.sem-table .day-cell.today b{min-width:18px;height:18px}.sem-event-chip{padding:1px 3px;font-size:8.5px}.sem-event-chip-time{display:none}.sem-day-add{width:13px;height:13px}}.sem-table .day-cell.has-events{cursor:pointer}.sem-table .day-cell.has-events:hover{box-shadow:inset 0 0 0 1.5px var(--teal)}.sem-day-body{flex-direction:column;align-items:stretch;gap:2px;display:flex}.sem-day-line{justify-content:center;align-items:center;gap:3px;min-height:18px;display:flex}.sem-day-add{border:1px solid var(--line);background:var(--card);width:15px;height:15px;color:var(--teal-dark);cursor:pointer;opacity:0;border-radius:5px;flex:none;justify-content:center;align-items:center;padding:0;transition:opacity .16s;display:inline-flex}.sem-table .day-cell.has-events:hover .sem-day-add,.sem-day-add:focus-visible{opacity:1}@media (hover:none){.sem-day-add{opacity:.65}}.sem-day-events{gap:2px;margin-top:2px;display:grid}.sem-event-chip{box-sizing:border-box;background:var(--teal);color:#fff;width:100%;min-width:0;font:inherit;text-align:left;cursor:pointer;border:0;border-radius:4px;align-items:center;gap:3px;padding:2px 4px;font-size:9px;line-height:1.25;display:flex}.sem-event-chip.cat-school{background:#d98b3a}.sem-event-chip.cat-class{background:#6b7fd7}.sem-event-chip:hover{filter:brightness(1.08)}.sem-event-chip-time{font-variant-numeric:tabular-nums;opacity:.88;flex:none}.sem-event-chip-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.sem-event-more{color:var(--ink-3);text-align:left;padding-left:2px;font-size:8.5px}.sem-event-pop{z-index:80;box-sizing:border-box;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:14px;padding:14px 14px 10px;font-size:12px;position:fixed;box-shadow:0 18px 46px #18262033}.sem-event-pop:before{content:"";background:var(--card);width:11px;height:11px;position:absolute;top:22px;transform:rotate(45deg)}.sem-event-pop.side-right:before{border-left:1px solid var(--line);border-bottom:1px solid var(--line);left:-6px}.sem-event-pop.side-left:before{border-right:1px solid var(--line);border-top:1px solid var(--line);right:-6px}.sem-event-pop.side-bottom:before{display:none}.sem-pop-head{align-items:center;gap:9px;padding:2px 2px 8px;display:flex}.sem-pop-accent{background:var(--teal);border-radius:4px;flex:none;width:4px;height:26px}.sem-pop-accent.cat-school{background:#d98b3a}.sem-pop-accent.cat-class{background:#6b7fd7}.sem-pop-title{background:var(--surface-2);min-width:0;color:var(--text);font:inherit;border:1px solid #0000;border-radius:7px;outline:none;flex:1;padding:4px 7px;font-size:16px;font-weight:700}.sem-pop-title:focus{border-color:var(--teal)}.sem-pop-close{width:24px;height:24px;color:var(--ink-3);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.sem-pop-close:hover{background:var(--surface-2);color:var(--text)}.sem-pop-date{background:var(--surface-2);color:var(--ink-2);border-radius:8px;align-items:center;gap:6px;margin-bottom:8px;padding:6px 9px;font-size:11.5px;font-weight:600;display:flex}.sem-pop-badge{background:var(--green-soft);color:var(--teal-dark);border-radius:999px;margin-left:auto;padding:2px 7px;font-size:10px}.sem-pop-times{align-items:flex-end;gap:8px;margin-bottom:8px;display:flex}.sem-pop-times label{min-width:0;color:var(--ink-3);flex-direction:column;flex:1;gap:3px;font-size:10px;display:flex}.sem-pop-times input{box-sizing:border-box;border:1px solid var(--line);background:var(--surface-2);width:100%;color:var(--text);font:inherit;border-radius:8px;padding:6px 7px;font-size:12px}.sem-pop-dash{color:var(--ink-3);padding-bottom:7px}.sem-pop-field{box-sizing:border-box;background:var(--surface-2);width:100%;color:var(--ink-3);border:1px solid #0000;border-radius:9px;align-items:flex-start;gap:8px;margin-bottom:7px;padding:7px 9px;display:flex}.sem-pop-field:focus-within{border-color:var(--teal)}.sem-pop-field>svg{flex:none;margin-top:2px}.sem-pop-field input,.sem-pop-field select,.sem-pop-field textarea{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1;padding:0;font-size:12px}.sem-pop-field textarea{resize:vertical;line-height:1.5}.sem-pop-field input::placeholder,.sem-pop-field textarea::placeholder{color:var(--ink-3);opacity:.8}.sem-cat-dot{background:var(--teal);border-radius:50%;flex:none;width:9px;height:9px;margin-top:4px}.sem-cat-dot.cat-school{background:#d98b3a}.sem-cat-dot.cat-class{background:#6b7fd7}.sem-pop-foot{justify-content:space-between;align-items:center;gap:8px;margin-top:10px;display:flex}.sem-pop-foot button{align-items:center;gap:5px;display:inline-flex}.sem-pop-hint{color:var(--ink-3);text-align:center;margin-top:8px;font-size:10px}.grade-sheet-toolbar{grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin-bottom:16px;display:grid}.grade-sheet-toolbar select{border:1px solid var(--line);background:var(--card);border-radius:999px;justify-self:center;padding:8px 16px;font-size:13px;font-weight:700;box-shadow:0 1px 3px #1018280f}.grade-sheet-toolbar>strong{background:linear-gradient(135deg, var(--green-soft), color-mix(in srgb, var(--green-mid) 14%, var(--card)));border:1px solid color-mix(in srgb, var(--green-mid) 35%, var(--line));color:var(--teal-dark);white-space:nowrap;border-radius:999px;justify-self:center;padding:7px 18px;font-size:14px;box-shadow:0 1px 3px #1018280f}.grade-sheet-legend{color:var(--ink-3);background:var(--card);border:1px solid var(--line);border-radius:999px;justify-self:end;align-items:center;gap:3px;padding:6px 14px;font-size:11.5px;display:flex;box-shadow:0 1px 3px #1018280f}.grade-sheet-legend b{margin:0 3px 0 1px;font-size:14px}.grade-sheet-legend b:first-of-type{color:var(--amber)}.grade-sheet-legend b.ok{color:var(--green-strong)}.grade-sheet-legend b.warn{color:var(--amber)}.grade-sheet-legend b.bad{color:var(--red)}.grade-sheet-legend .lg{white-space:nowrap;align-items:center;display:inline-flex}.sheet-body{align-items:flex-start;gap:16px;display:flex}.sheet-roster{background:var(--card);border:1px solid var(--line);border-radius:16px;flex:0 0 164px;max-height:calc(100vh - 190px);padding:12px 12px 14px;position:sticky;top:14px;overflow-y:auto;box-shadow:0 1px 3px #1018280d}.sheet-roster-toggle{background:linear-gradient(90deg, var(--green-soft), transparent);width:100%;color:var(--teal-dark);letter-spacing:.05em;text-align:left;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;margin:0 0 8px;padding:6px 9px;font-size:10.5px;font-weight:700;display:flex}.sheet-roster-toggle .roster-toggle-count{color:var(--ink-3);letter-spacing:0;margin-left:auto;font-size:9.5px;font-weight:600}.sheet-roster-toggle .roster-chev{flex:none;transition:transform .15s}.sheet-roster-toggle .roster-chev.is-flip{transform:rotate(-90deg)}.sheet-roster-rows{flex-direction:column;display:flex}.sheet-roster-row{border-radius:8px;align-items:center;gap:7px;min-width:0;margin:0 -6px;padding:3px 6px;font-size:11.5px;transition:background .12s;display:flex}.sheet-roster-row:hover{background:var(--surface-2)}.sheet-roster-row .no{background:var(--green-soft);min-width:22px;height:17px;color:var(--teal-dark);font-variant-numeric:tabular-nums;border-radius:5px;flex:none;place-items:center;padding:0 3px;font-size:9.5px;font-weight:700;display:grid}.sheet-roster-row .nm{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);flex:auto;font-weight:600;overflow:hidden}.sheet-roster-row .roster-missing{background:var(--red-bg);min-width:17px;height:17px;color:var(--red);border:1px solid color-mix(in srgb, var(--red) 32%, transparent);font-variant-numeric:tabular-nums;border-radius:9px;flex:none;place-items:center;padding:0 4px;font-size:9.5px;font-weight:700;display:grid}.sheet-main{flex:auto;min-width:0}.sheet-section{border:1px solid var(--line);background:linear-gradient(180deg, color-mix(in srgb, var(--green-soft) 30%, var(--card)) 0%, var(--card) 110px);border-radius:16px;margin-bottom:18px;padding:16px 18px 18px;position:relative;overflow:hidden;box-shadow:0 1px 3px #1018280d}.sheet-section:before{content:"";background:linear-gradient(90deg, var(--green-mid), color-mix(in srgb, var(--teal-dark) 55%, transparent) 55%, transparent);height:3px;position:absolute;inset:0 0 auto}.sheet-section-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:13px;display:flex}.sheet-section-head strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;max-width:52%;padding-left:13px;font-size:14.5px;position:relative;overflow:hidden}.sheet-section-head strong:before{content:"";background:linear-gradient(180deg, var(--green-mid), var(--teal-dark));border-radius:3px;width:5px;height:15px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.sheet-section-head .sheet-due{background:var(--surface-2);color:var(--ink-3);border-radius:999px;flex:none;padding:3px 11px;font-size:10.5px}.sheet-section-head .sheet-counts{font-variant-numeric:tabular-nums;gap:6px;margin-left:auto;font-size:11px;font-weight:700;display:flex}.sheet-section-head .sheet-counts span{border-radius:999px;padding:3px 11px}.sheet-section-head .sheet-counts .ok{background:var(--green-soft);color:var(--green-strong)}.sheet-section-head .sheet-counts .bad{background:var(--red-bg);color:var(--red)}.sheet-grid{grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:8px;display:grid}.sheet-cell{border:1px dashed color-mix(in srgb, var(--ink-3) 30%, var(--line));background:color-mix(in srgb, var(--surface-2) 45%, var(--card));cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:4px;min-width:0;padding:8px 9px;transition:transform .13s,box-shadow .13s,border-color .13s,background .13s;display:flex;position:relative}.sheet-cell .cell-tip{color:#fff;white-space:nowrap;opacity:0;pointer-events:none;z-index:40;background:#0f2a3af0;border-radius:7px;align-items:baseline;gap:5px;padding:4px 9px;font-size:11px;font-weight:600;line-height:1.2;transition:opacity .13s,transform .13s;display:inline-flex;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)translateY(3px);box-shadow:0 4px 12px #0f2a3a40}.sheet-cell .cell-tip:after{content:"";border:4px solid #0000;border-top-color:#0f2a3af0;position:absolute;top:100%;left:50%;transform:translate(-50%)}.sheet-cell .cell-tip i{color:#ffffffc7;font-size:10px;font-style:normal;font-weight:500}.sheet-cell:hover .cell-tip,.sheet-cell:focus-visible .cell-tip{opacity:1;transform:translate(-50%)translateY(0)}.sheet-cell:hover{border-color:var(--green-mid);background:var(--card);box-shadow:0 3px 9px color-mix(in srgb, var(--green-mid) 28%, transparent);transform:translateY(-1.5px)}.sheet-cell:active{transform:scale(.94)}.sheet-cell .no{text-align:left;min-width:0;color:var(--ink-3);font-variant-numeric:tabular-nums;letter-spacing:.02em;flex:auto;font-size:12px;font-weight:700;overflow:hidden}.sheet-cell .mark{text-align:center;color:#0000;flex:0 0 16px;font-size:15px;font-weight:700}.sheet-cell.is-done{border-style:solid;border-color:var(--green-mid);background:linear-gradient(135deg, var(--green-soft), color-mix(in srgb, var(--green-mid) 16%, var(--card)))}.sheet-cell.is-done .mark,.sheet-cell.is-done .no{color:var(--green-strong)}.sheet-cell.is-corrected{border-style:solid;border-color:color-mix(in srgb, var(--amber) 45%, var(--line));background:linear-gradient(135deg, var(--amber-bg), color-mix(in srgb, var(--amber) 12%, var(--card)))}.sheet-cell.is-corrected .mark,.sheet-cell.is-corrected .no{color:var(--amber)}.sheet-cell.is-missing{border-style:solid;border-color:color-mix(in srgb, var(--red) 38%, var(--line));background:linear-gradient(135deg, var(--red-bg), color-mix(in srgb, var(--red) 10%, var(--card)))}.sheet-cell.is-missing .mark,.sheet-cell.is-missing .no{color:var(--red)}.sheet-cell.is-star{border-style:solid;border-color:var(--amber);background:linear-gradient(135deg, var(--card), var(--amber-bg));box-shadow:0 0 0 1px color-mix(in srgb, var(--amber) 28%, transparent)}.sheet-cell.is-star .mark,.sheet-cell.is-star .no{color:var(--amber)}@media (width<=760px){.grade-sheet-toolbar{flex-wrap:wrap;justify-content:center;row-gap:8px;display:flex}.grade-sheet-toolbar button,.grade-sheet-toolbar select{flex:auto;justify-content:center}.grade-sheet-legend{border-radius:14px;flex-wrap:wrap;justify-content:center;row-gap:3px;margin-top:2px}.sheet-body{flex-direction:column}.sheet-roster{flex:none;width:100%;max-height:34vh;position:static}.sheet-roster-rows{grid-template-columns:1fr 1fr;align-content:start;column-gap:14px;display:grid}.sheet-grid{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px}.sheet-cell{padding:6px 7px}}.class-toggle{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.class-toggle button{border:1.5px solid var(--line);background:var(--card);color:var(--ink-3);cursor:pointer;border-radius:10px;padding:8px 18px;font-size:13px;font-weight:600;transition:all .13s}.class-toggle button:hover{border-color:var(--green-mid);color:var(--teal-dark)}.class-toggle button.active{border-color:var(--green-mid);background:var(--green-soft);color:var(--teal-dark);box-shadow:0 1px 3px #1018280f}.instruction-field .modal-field-label{display:block}.instruction-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.instruction-actions button{align-items:center;gap:6px;padding:7px 13px;font-size:12px;display:inline-flex}.instruction-uploading{color:var(--ink-3);align-items:center;gap:5px;font-size:11px;display:inline-flex}.instruction-thumbs{flex-wrap:wrap;gap:8px;display:flex}.instruction-thumb{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;width:74px;height:74px;position:relative;overflow:hidden}.instruction-thumb img{object-fit:cover;width:100%;height:100%;display:block}.instruction-thumb button{color:#fff;background:#0e2c3c9e;border-radius:50%;place-items:center;width:18px;height:18px;display:grid;position:absolute;top:3px;right:3px}.sheet-view-btn{border:1px solid var(--line);background:var(--card);color:var(--ink-3);border-radius:999px;align-items:center;gap:5px;padding:4px 11px;font-size:11px;font-weight:600;transition:all .14s;display:inline-flex}.sheet-view-btn:hover{border-color:var(--green-mid);color:var(--teal-dark);background:var(--green-soft)}.assignment-detail-text{background:var(--surface-2);color:var(--ink);white-space:pre-wrap;border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.7}.assignment-detail-text.muted{color:var(--ink-3);font-size:12px}.assignment-detail-images{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:14px;display:grid}.assignment-detail-images a{border:1px solid var(--line);aspect-ratio:4/3;background:var(--surface-2);border-radius:12px;display:block;overflow:hidden}.assignment-detail-images img{object-fit:cover;width:100%;height:100%;transition:all .2s;display:block}.assignment-detail-images a:hover img{transform:scale(1.04)}.sheet-batch{align-items:center;gap:4px;margin-left:2px;display:inline-flex}.sheet-batch button{border:1px solid var(--line);background:var(--card);color:var(--ink-3);border-radius:999px;padding:3px 9px;font-size:10.5px;font-weight:600;transition:all .13s}.sheet-batch button:hover{border-color:var(--green-mid);color:var(--teal-dark);background:var(--green-soft)}@media (width<=900px){.sheet-batch{display:none}}@media (width<=760px){html{-webkit-text-size-adjust:100%}html,body{overflow-x:clip}body{padding-bottom:calc(88px + env(safe-area-inset-bottom));font-size:15px}main p,main li,main dd,main dt,main td,main th,main label,main figcaption,main blockquote{font-size:14px;line-height:1.65}main h1{font-size:24px}main h2{font-size:20px}main h3,main h4{font-size:15.5px}main small,main time,main [class*=-hint],main [class*=-note],main [class*=-meta],main [class*=-label],main [class*=-status],main [class*=muted],main .overview-line,main .no,main .step span,main .fill-step-no,main .muted-label{font-size:12px;line-height:1.5}main input[type=text],main input[type=search],main input[type=number],main input[type=date],main input:not([type]),main textarea,main select{font-size:16px}.topbar{background:var(--card);-webkit-backdrop-filter:none;backdrop-filter:none;gap:7px;height:58px}.top-actions{gap:6px;min-width:0}.mobile-menu,.icon-button{width:38px;height:38px}.guide-chip{min-height:34px;padding:0 10px;font-size:12px}.searchbox{height:40px;padding:0 12px}.top-actions .icon-button.is-connection{display:none}.searchbox input{text-overflow:ellipsis;height:100%;min-height:0;font-size:15px}.class-hub-toolbar-left{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.class-hub-toolbar-left .segmented{flex:none;gap:2px;padding:2px}.class-hub-toolbar-left .segmented button{padding:6px 8px;font-size:12px}.mobile-tabbar{height:56px}.mobile-tabbar button{gap:2px;font-size:11px}.sync-bar{bottom:calc(56px + env(safe-area-inset-bottom))}main .primary,main .ghost,main .page-actions>button,main .modal-actions button,main .report-step-nav button{min-height:42px}.modal-backdrop{padding:10px}.modal{max-height:calc(100dvh - 20px)}}@media (width<=560px){.student-table{overflow-x:visible}.student-table .table-head{display:none}.student-table .table-row{flex-wrap:wrap;align-items:center;gap:6px 10px;padding:12px 14px;display:flex}.student-table .table-row .student-cell{flex:0 auto;max-width:100%;font-size:13px}.student-table .table-row .student-cell-name{flex:auto;font-size:15px}.student-table .table-row .note-cell{flex:none;width:auto}.student-table .table-row .note-cell-empty{padding:4px 9px}.student-table .table-row .row-actions{flex:none;margin-left:auto}}@media (width<=760px){.exam-detail-shell{grid-template-columns:minmax(0,1fr)}.exam-detail-shell>*,.report-content,.report-content>*{min-width:0}.report-modal-head{flex-direction:column;align-items:stretch;gap:10px}.report-modal-head>div:first-child{min-width:0}.report-head-actions{flex-wrap:wrap;gap:8px;width:100%;min-width:0}.report-head-actions>button{white-space:normal;flex:1 1 0;justify-content:center;min-width:0}.report-head-actions .report-close{flex:0 0 40px;height:40px}.report-detail-tabs.report-workflow-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.report-detail-tabs.report-workflow-steps button{white-space:normal;word-break:break-all;padding:9px 4px;font-size:11.5px;line-height:1.3}.report-analysis-tabs{flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.report-analysis-tabs>*{flex:none}.report-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.scores-exam-card-head,.scores-exam-card-head>*{min-width:0}.scores-exam-card-head>div{flex:auto}main .student-table small{font-size:12px}main .tpl-tag{font-size:11.5px}main .link-button{white-space:nowrap;flex:none}}@media (width<=430px){.week-strip button{flex:0 0 108px;padding:10px 11px}}.docx-subject-bar{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 16px 0;display:flex}.docx-subject-bar>svg{color:var(--teal-dark);flex:none}.docx-subject-label{color:var(--ink-3);font-size:12px;font-weight:650}.docx-subject-name{color:var(--ink-1);font-size:14px;font-weight:700}.docx-subject-empty{color:var(--amber);font-size:12.5px;font-style:normal}.docx-subject-bar .secondary{margin-left:auto}.docx-slot.is-filled{padding:2px 5px}.docx-fill-text{max-width:100%;color:var(--teal-dark);white-space:pre-wrap;word-break:break-word;font-weight:600;display:inline-block}.docx-slot.tone-manual .docx-fill-text{color:var(--ink-1);font-weight:650}.docx-slot.tone-option .docx-fill-text{color:var(--teal-dark);letter-spacing:.04em}.docx-slot.is-option:not(.is-filled){color:#8a8f96}.fill-slot-list{border-top:1px solid var(--line)}.fill-slot-list>summary{cursor:pointer;color:var(--teal-dark);padding:9px 16px;font-size:12px;font-weight:650}.slot-rows{flex-direction:column;gap:4px;padding:0 16px 14px;display:flex}.slot-row{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;grid-template-columns:minmax(96px,1.2fr) auto minmax(0,2fr) auto;align-items:center;gap:9px;padding:6px 9px;display:grid}.slot-row.is-filled{border-color:var(--green-mid);background:var(--green-soft)}.slot-row-name{color:var(--ink-1);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:650;overflow:hidden}.slot-row-value{min-width:0;color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.slot-row.is-filled .slot-row-value{color:var(--teal-dark);font-weight:600}.slot-kind-tag{background:var(--line-2);color:var(--ink-3);border-radius:999px;flex:none;padding:1px 7px;font-size:10.5px;font-weight:650;line-height:1.6;display:inline-block}.slot-kind-tag.is-student{background:var(--green-soft);color:var(--teal-dark)}.slot-kind-tag.is-studentNumber{color:#0369a1;background:#e5f1fa}.slot-kind-tag.is-date,.slot-kind-tag.is-month{color:#6d4cc4;background:#f1ecfc}.slot-kind-tag.is-option{background:var(--amber-bg);color:var(--amber)}.slot-kind-tag.is-gender,.slot-kind-tag.is-className,.slot-kind-tag.is-relation{color:#0e7490;background:#e3f4f8}.fill-slot-modal{width:min(440px,92vw)}.fill-slot-body{flex-direction:column;gap:9px;max-height:min(56vh,460px);padding:4px 18px 8px;display:flex;overflow:auto}.fill-slot-spacer{flex:auto}.fill-slot-modal .modal-head p{align-items:center;gap:7px;display:flex}.fill-slot-modal .modal-actions .link-button.is-quiet{color:var(--ink-3);margin-right:auto}.slot-roster-search{border:1px solid var(--line);background:var(--card);height:34px;color:var(--ink-3);border-radius:9px;align-items:center;gap:7px;padding:0 10px;display:flex}.slot-roster-search input{min-width:0;color:var(--ink-1);background:0 0;border:none;outline:none;flex:auto;font-size:13px}.slot-roster-list{flex-direction:column;gap:4px;max-height:280px;display:flex;overflow:auto}.slot-roster-row{border:1px solid var(--line);background:var(--card);color:var(--ink-1);text-align:left;border-radius:8px;grid-template-columns:20px minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:8px;padding:7px 9px;font-size:13px;display:grid}.slot-roster-row:hover{border-color:var(--green-mid)}.slot-roster-row.is-on{border-color:var(--green);background:var(--green-soft);font-weight:650}.slot-roster-check{border:1.5px solid var(--line);color:#fff;border-radius:5px;place-items:center;width:18px;height:18px;display:grid}.slot-roster-row.is-on .slot-roster-check{border-color:var(--green-mid);background:var(--teal)}.slot-roster-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.slot-roster-meta{min-width:0;color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.slot-tip{color:var(--ink-3);font-size:11.5px;line-height:1.55}.slot-choices{flex-wrap:wrap;gap:6px;display:flex}.slot-choice{border:1px solid var(--line);background:var(--card);color:var(--ink-2);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.slot-choice:hover{border-color:var(--green-mid)}.slot-choice.is-on{border-color:var(--green);background:var(--green-soft);color:var(--teal-dark)}.slot-choice.is-quiet{color:var(--ink-3);border-style:dashed;font-weight:500}.slot-choice-box{border:1.5px solid var(--line);color:#fff;border-radius:4px;place-items:center;width:15px;height:15px;display:grid}.slot-choice.is-on .slot-choice-box{border-color:var(--green-mid);background:var(--teal)}.slot-auto-row{display:flex}.slot-auto{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);text-align:left;border-radius:9px;flex:auto;align-items:center;gap:7px;padding:8px 11px;font-size:12.5px;font-weight:600;display:flex}.slot-auto.is-on{border-color:var(--green);background:var(--green-soft);color:var(--teal-dark)}.slot-auto em{color:var(--ink-3);margin-left:auto;font-size:11.5px;font-style:normal;font-weight:500}.slot-auto.is-on em{color:var(--teal-dark)}.slot-auto-check{border:1.5px solid var(--line);color:#fff;border-radius:5px;place-items:center;width:16px;height:16px;display:grid}.slot-auto.is-on .slot-auto-check{border-color:var(--green-mid);background:var(--teal)}.slot-date{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.slot-date input{border:1px solid var(--line);background:var(--card);height:34px;color:var(--ink-1);border-radius:9px;padding:0 10px;font-size:13px}.slot-text-row{flex-direction:column;gap:5px;display:flex}.slot-text-row>span{color:var(--ink-3);font-size:11.5px;font-weight:650}.slot-text-row input{border:1px solid var(--line);background:var(--card);height:36px;color:var(--ink-1);border-radius:9px;padding:0 11px;font-size:13.5px}.slot-text-row input:focus{border-color:var(--green-mid);box-shadow:0 0 0 3px color-mix(in srgb,var(--green-mid) 22%,transparent);outline:none}@media (width<=760px){.slot-row{grid-template-columns:minmax(0,1.2fr) auto minmax(0,1fr) auto}.fill-slot-body{max-height:60vh}.fill-slot-modal .modal-actions{flex-wrap:wrap}}.sheet-page-tabs{gap:8px;margin-bottom:14px;display:flex}.sheet-page-tabs button{border:1px solid var(--line);background:var(--card);cursor:pointer;text-align:left;border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 14px;display:flex}.sheet-page-tabs button strong{color:var(--ink-2);font-size:13px;font-weight:600}.sheet-page-tabs button i{color:var(--ink-3);font-size:10.5px;font-style:normal}.sheet-page-tabs button.is-active{border-color:var(--teal);background:color-mix(in srgb, var(--teal) 8%, var(--card))}.sheet-page-tabs button.is-active strong{color:var(--ink)}.reuse-workbench{flex-direction:column;gap:14px;display:flex}.reuse-intake{grid-template-columns:1fr 1fr;gap:12px;display:grid}.reuse-drop{border:1.5px dashed var(--line-strong,var(--line));background:var(--card);cursor:pointer;border-radius:14px;flex-direction:column;gap:5px;min-height:132px;padding:16px;transition:border-color .15s,background .15s;display:flex;position:relative}.reuse-drop:hover,.reuse-drop.is-over{border-color:var(--teal);background:color-mix(in srgb, var(--teal) 6%, var(--card))}.reuse-drop.is-done{border-style:solid;border-color:color-mix(in srgb, var(--green) 45%, var(--line))}.reuse-drop-kicker{color:var(--ink-3);font-size:11px}.reuse-drop strong{word-break:break-all;font-size:13.5px;line-height:1.45}.reuse-drop small{color:var(--ink-3);font-size:10.5px;line-height:1.5}.reuse-file-list{flex-direction:column;gap:4px;margin:6px 0 0;padding:0;list-style:none;display:flex}.reuse-file-list li{color:var(--ink-2);align-items:center;gap:6px;font-size:11px;display:flex}.reuse-file-list li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reuse-file-list li button{padding:1px 6px;font-size:10px}.reuse-intake-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.reuse-check,.reuse-shared{color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:7px;padding:0;font-size:11.5px;display:inline-flex}.reuse-check-box{border:1px solid var(--line-strong,var(--line));color:#fff;background:var(--card);border-radius:4px;flex:none;justify-content:center;align-items:center;width:15px;height:15px;font-size:10px;display:inline-flex}.reuse-check.is-on .reuse-check-box,.reuse-shared.is-on .reuse-check-box{background:var(--teal);border-color:var(--teal)}.reuse-hint{color:var(--ink-3);margin:0;font-size:10.5px;line-height:1.6}.reuse-error{background:var(--red-soft,#fdeceb);color:var(--red-strong,#b3261e);border-radius:10px;padding:9px 12px;font-size:11.5px;line-height:1.55}.reuse-notice{background:var(--green-soft);color:var(--green-strong);border-radius:10px;padding:9px 12px;font-size:11.5px}.reuse-summary{border:1px solid var(--line);background:var(--card);border-radius:12px;flex-wrap:wrap;align-items:center;gap:14px;padding:11px 14px;display:flex}.reuse-summary-main{flex-direction:column;gap:4px;min-width:0;display:flex}.reuse-summary-main strong{font-size:13px}.reuse-sources{flex-wrap:wrap;gap:6px;display:flex}.reuse-sources i{background:var(--bg-soft,#0000000a);color:var(--ink-3);border-radius:999px;padding:2px 7px;font-size:10px;font-style:normal}.reuse-sources i.is-bad{background:var(--red-soft,#fdeceb);color:var(--red-strong,#b3261e)}.reuse-stats{flex-wrap:wrap;align-items:baseline;gap:4px 6px;margin-left:auto;display:flex}.reuse-stats b{font-size:15px}.reuse-stats b.is-warn{color:var(--amber-strong,#b26a00)}.reuse-stats span{color:var(--ink-3);margin-right:8px;font-size:10.5px}.reuse-subject{flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;display:flex}.reuse-subject select{border:1px solid var(--line);background:var(--card);border-radius:9px;min-width:180px;padding:6px 9px;font-size:12px}.reuse-subject-note{color:var(--ink-3);font-size:10.5px}.reuse-paper{border:1px solid var(--line);background:var(--card);border-radius:14px;padding:16px;overflow:auto}.docx-page .docx-slot.tone-auto{background:color-mix(in srgb, var(--teal) 9%, transparent)}.docx-page .docx-slot.tone-manual{background:color-mix(in srgb, var(--green) 12%, transparent)}.docx-page .docx-slot.tone-conflict{background:color-mix(in srgb, var(--red,#d93f0b) 12%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--red,#d93f0b) 45%, transparent)}.docx-page .docx-slot.tone-duplicate{background:color-mix(in srgb, var(--amber,#d99b0b) 14%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--amber,#d99b0b) 45%, transparent)}.docx-page .docx-slot.tone-empty,.docx-page .docx-slot.tone-unmapped{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink-3) 30%, transparent);border-radius:3px}.docx-page .docx-slot.tone-skipped{opacity:.5}.docx-page .docx-slot.is-pickable{cursor:pointer}.docx-page .docx-slot.is-pickable:hover{outline:2px solid color-mix(in srgb, var(--teal) 55%, transparent);outline-offset:1px}.reuse-sheet{border:1px solid var(--line);background:var(--card);border-radius:14px;max-height:60vh;overflow:auto}.reuse-sheet table{border-collapse:collapse;width:100%;font-size:11.5px}.reuse-sheet th,.reuse-sheet td{border:1px solid var(--line);text-align:left;white-space:nowrap;text-overflow:ellipsis;max-width:180px;padding:5px 8px;overflow:hidden}.reuse-sheet th{background:var(--bg-soft,#fafafa);z-index:1;font-weight:600;position:sticky;top:0}.reuse-sheet th.is-mapped{background:color-mix(in srgb, var(--teal) 10%, var(--card))}.reuse-col-tag{color:var(--ink-3);font-size:9px;font-style:normal;font-weight:400;display:block}.reuse-sheet td{cursor:pointer}.reuse-sheet td.cell-auto{background:color-mix(in srgb, var(--teal) 8%, transparent)}.reuse-sheet td.cell-manual{background:color-mix(in srgb, var(--green) 12%, transparent)}.reuse-sheet td.cell-conflict{background:color-mix(in srgb, var(--red,#d93f0b) 12%, transparent)}.reuse-sheet td.cell-duplicate{background:color-mix(in srgb, var(--amber,#d99b0b) 14%, transparent)}.reuse-sheet td.cell-new{background:color-mix(in srgb, var(--ink-3) 8%, transparent)}.reuse-sheet td.cell-identity{color:var(--ink-3)}.reuse-sheet td.is-original{color:var(--ink-2)}.reuse-sheet-note{color:var(--ink-3);margin:8px 12px 12px;font-size:10.5px;line-height:1.6}.reuse-actions{flex-wrap:wrap;gap:8px;display:flex}.reuse-result{border:1px solid color-mix(in srgb, var(--green) 35%, var(--line));background:var(--green-soft);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;padding:11px 14px;display:flex}.reuse-result strong{font-size:12.5px}.reuse-result span{color:var(--ink-2);font-size:11px}.reuse-archive{font-family:var(--mono,ui-monospace, monospace);font-size:10.5px}.reuse-bubble{z-index:60;border:1px solid var(--line);background:var(--card);border-radius:13px;flex-direction:column;gap:9px;width:300px;padding:12px;display:flex;position:fixed;box-shadow:0 12px 32px #00000029}.reuse-bubble-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.reuse-bubble-head strong{font-size:12.5px}.reuse-bubble-head button{padding:0 4px;font-size:15px;line-height:1}.reuse-bubble-note{color:var(--ink-3);margin:0;font-size:10.5px;line-height:1.55}.reuse-candidates{flex-direction:column;gap:5px;display:flex}.reuse-candidates button{border:1px solid var(--line);background:var(--bg-soft,#fafafa);cursor:pointer;text-align:left;border-radius:9px;align-items:baseline;gap:7px;padding:6px 9px;display:flex}.reuse-candidates button.is-picked{border-color:var(--teal);background:color-mix(in srgb, var(--teal) 10%, var(--card))}.reuse-candidates b{font-size:12px}.reuse-candidates i{color:var(--ink-3);font-size:9.5px;font-style:normal}.reuse-choice-row{flex-wrap:wrap;gap:6px;display:flex}.reuse-choice-row button{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:999px;padding:5px 12px;font-size:11.5px}.reuse-choice-row button.is-picked{border-color:var(--teal);background:color-mix(in srgb, var(--teal) 12%, var(--card))}.reuse-date-row,.reuse-text-row{gap:6px;display:flex}.reuse-date-row input,.reuse-text-row input{border:1px solid var(--line);background:var(--card);border-radius:9px;flex:1;min-width:0;padding:6px 9px;font-size:12px}.reuse-bubble-foot{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}@media (width<=760px){.sheet-page-tabs{flex-direction:column}.reuse-intake{grid-template-columns:1fr}.reuse-drop{min-height:104px}.reuse-stats{margin-left:0}.reuse-bubble{width:min(300px,100vw - 16px)}.reuse-actions button{flex:auto}.reuse-sheet{max-height:none}}.seating-view-switch{border:1px solid var(--line);background:var(--card);border-radius:9px;align-items:center;gap:4px;padding:2px;display:inline-flex}.seating-view-switch .seating-orient-title{padding:0 4px}.seating-view-switch button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:4px 9px;font-size:11px;font-weight:600}.seating-view-switch button.is-on{background:var(--green-soft);color:var(--teal-dark);box-shadow:inset 0 0 0 1px var(--green-mid)}.seating-seat{touch-action:none;position:relative}.seating-seat-lock{background:var(--teal-dark);color:#fff;width:14px;height:14px;box-shadow:0 0 0 1.5px var(--card);border-radius:50%;place-items:center;display:grid;position:absolute;top:-5px;right:-5px}.seating-seat.is-locked{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--teal-dark) 45%,transparent)}.seating-seat.is-violation{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--red) 55%,transparent);border-color:var(--red)!important}.seating-seat.is-dragging{opacity:.35}.seating-seat.is-drop-target{outline:2px dashed var(--teal-dark);outline-offset:1px}.seating-drag-ghost{z-index:9999;background:var(--teal-dark);color:#fff;pointer-events:none;border-radius:8px;padding:4px 10px;font-size:12px;font-weight:700;position:fixed;transform:translate(-50%,-140%);box-shadow:0 8px 18px #13414d3d}.seating-room.is-teacher-view .seating-wall.is-left,.seating-room.is-teacher-view .seating-wall.is-right{min-height:40px}.seating-canvas-tip{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:4px 16px;margin:2px 0 6px;font-size:10.5px;line-height:1.5;display:flex}.seating-canvas-tip span{align-items:center;gap:5px;display:inline-flex}.seating-canvas-tip svg{flex:none}.seating-canvas-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;margin:8px 0 2px;display:flex}.seating-tools-left{align-items:center;gap:14px;min-width:0;display:flex}.seating-canvas-tools .seating-gender-legend{margin-top:0}.seating-canvas-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;margin-left:auto;display:flex}.seating-canvas-actions .secondary{align-items:center;gap:5px;min-height:28px;padding:4px 10px;font-size:11px;display:inline-flex}.seating-actions-sep{background:var(--line);align-self:stretch;width:1px;margin:2px 3px}.seating-export-notice{color:var(--teal-dark);margin-top:6px;font-size:11px;line-height:1.5;display:block}.seating-export-notice.is-error{color:var(--red)}.seating-canvas-actions .secondary:disabled{opacity:.55;cursor:wait}.seating-advanced{min-width:0}.seating-advanced-top{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.seating-advanced-scope{flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:6px;display:flex}.seating-adjacency{color:var(--ink-3);align-items:center;gap:5px;font-size:11px;display:inline-flex}.seating-adjacency select{border:1px solid var(--line);background:var(--card);border-radius:7px;height:26px;padding:0 6px;font-size:11px}.seating-adjacency-hint{color:var(--ink-3);font-size:10.5px}.seating-rule-level-group{border:1px solid var(--line);background:var(--card);border-radius:7px;display:inline-flex;overflow:hidden}.seating-rule-level{color:var(--ink-3);cursor:pointer;background:0 0;border:0;padding:3px 8px;font-size:10.5px;font-weight:700}.seating-rule-level.is-on.is-must{background:var(--red-bg);color:var(--red)}.seating-rule-level.is-on.is-prefer{background:var(--amber-bg);color:var(--amber)}.seating-rule-editor{border:1px solid var(--green-mid);background:color-mix(in srgb,var(--green-soft) 55%,var(--card));border-radius:10px;margin-top:10px;padding:10px}.seating-rule-editor-head{align-items:center;gap:8px;margin-bottom:8px;font-size:12px;display:flex}.seating-rule-editor-head span{color:var(--ink-3);font-size:11px}.seating-rule-editor-head .link-button{margin-left:auto}.seating-rule-editor .seating-rule-students{overflow-y:auto}.seating-rule-editor-foot{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.seating-rule-editor-foot .primary{padding:4px 12px;font-size:11.5px}.seating-rule-editor-hint{color:var(--ink-3);margin-top:6px;font-size:10.5px;line-height:1.5;display:block}.seating-rule-zone{align-items:center;gap:5px;display:inline-flex}.seating-rule-zone select,.seating-rule-zone input{border:1px solid var(--line);background:var(--card);border-radius:6px;padding:3px 6px;font-size:11px}.seating-rule-zone input{width:56px}.seating-rule-unit{color:var(--ink-3);font-size:11px}.seating-rule-list{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.seating-rule-item{border:1px solid var(--line);background:var(--card);border-radius:9px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 8px;font-size:11.5px;display:flex}.seating-rule-item.is-off{opacity:.55}.seating-rule-item.is-off .seating-rule-text{text-decoration:line-through}.seating-rule-switch{border:1px solid var(--line);background:var(--card);color:#fff;cursor:pointer;border-radius:4px;place-items:center;width:16px;height:16px;padding:0;display:grid}.seating-rule-item:not(.is-off) .seating-rule-switch{border-color:var(--teal-dark);background:var(--teal-dark)}.seating-rule-text{min-width:0;color:var(--ink);flex:160px;font-weight:600}.seating-rules-label{color:var(--ink-3);letter-spacing:.08em;font-size:10.5px;font-weight:700}.seating-rules-legacy{margin-top:8px}.seating-rules-note{color:var(--ink-3);margin-top:6px;font-size:10.5px;line-height:1.5;display:block}.seating-report{border:1px solid var(--line);background:var(--card);border-radius:10px;margin:10px 0;padding:10px 12px}.seating-report-head{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:12px;display:flex}.seating-report-head .is-ok{color:var(--teal-dark);font-size:11px}.seating-report-head .is-bad{color:var(--red);font-size:11px;font-weight:700}.seating-report-head .is-warn{color:var(--amber);font-size:11px}.seating-report-list{flex-direction:column;gap:5px;margin:8px 0 0;padding:0;list-style:none;display:flex}.seating-report-item{border-top:1px dashed var(--line);color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:6px;padding:4px 0;font-size:11.5px;display:flex}.seating-report-item:first-child{border-top:0}.seating-report-item.is-ok>svg{color:var(--teal-dark)}.seating-report-item.is-bad>svg{color:var(--red)}.seating-report-level{border-radius:5px;flex:none;padding:1px 6px;font-size:10px;font-weight:700}.seating-report-level.is-must{background:var(--red-bg);color:var(--red)}.seating-report-level.is-prefer{background:var(--amber-bg);color:var(--amber)}.seating-report-label{flex:140px;min-width:0}.seating-report-detail{color:var(--red);flex-wrap:wrap;flex-basis:100%;gap:8px;padding-left:2px;font-size:10.5px;line-height:1.5;display:flex}.seating-report-note{color:var(--ink-3);flex-basis:100%;font-size:10px}.seating-conflict{border:1px solid color-mix(in srgb,var(--red) 35%,var(--line));background:var(--red-bg);color:var(--ink);border-radius:8px;margin-top:10px;padding:8px 10px;font-size:11px}.seating-conflict ul{margin:6px 0 0;padding-left:16px}.seating-conflict li{margin-bottom:4px;line-height:1.5}.seating-conflict small{color:var(--ink-2);font-size:10.5px;display:block}.seating-save-hint{color:var(--ink-3);margin:0;font-size:10.5px;line-height:1.4}.seating-privacy{margin-top:0}.seating-projection{z-index:1200;color:#1d2b23;background:#fff;flex-direction:column;gap:14px;padding:22px 26px;display:flex;position:fixed;inset:0;overflow:auto}.seating-projection-head{align-items:center;gap:12px;display:flex}.seating-projection-head strong{font-size:18px}.seating-projection-head span{color:#7d8b82;font-size:12px}.seating-projection-head button{color:#48564d;cursor:pointer;background:#fff;border:1px solid #dfe7e3;border-radius:9px;place-items:center;width:34px;height:34px;margin-left:auto;display:grid}.seating-projection-body{flex-direction:column;gap:10px;display:flex}.seating-projection-row{gap:22px;display:flex}.seating-projection-block{grid-template-columns:repeat(var(--seats,1), 1fr);flex:var(--seats,1) 1 0;gap:10px;display:grid}.seating-projection-seat{background:#f6faf8;border:1px solid #d7e0dc;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-height:56px;padding:6px 4px;display:flex}.seating-projection-seat em{color:#6b7f78;font-size:11px;font-style:normal;font-weight:700}.seating-projection-seat b{white-space:nowrap;font-size:clamp(15px,2.1vw,26px);font-weight:700}.seating-projection-podium{letter-spacing:.08em;background:#f3f7f5;border:1.5px solid #b8c9c1;border-radius:10px;align-self:center;padding:10px 56px;font-size:14px;font-weight:700}.seating-projection-frame{flex:1;align-items:stretch;gap:14px;min-height:0;display:flex}.seating-projection-frame .seating-projection-body{flex:1;justify-content:center;min-width:0}.seating-projection-wall{color:#7d8b82;letter-spacing:.18em;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:18px;min-width:22px;font-size:12px;font-weight:600;display:flex}.seating-projection-wall span{writing-mode:vertical-rl;white-space:nowrap}.seating-projection-wall.is-left{border-right:1px dashed #c3d0ca;padding-right:8px}.seating-projection-wall.is-right{border-left:1px dashed #c3d0ca;padding-left:8px}.seating-projection-wall.is-empty{border:0;min-width:0}.seating-projection-wall.is-back{border-bottom:1px dashed #c3d0ca;flex-direction:row;justify-content:center;align-self:stretch;min-width:0;padding-bottom:6px}.seating-projection-wall.is-back span{writing-mode:horizontal-tb;letter-spacing:.1em}.seating-projection-row.is-head{margin-bottom:-2px}.seating-projection-block-label{color:#0f6b3d;text-align:center;grid-column:1/-1;padding:2px 0;font-size:13px;font-weight:700}.modal.wide.import-modal{flex-direction:column;width:min(720px,100vw - 40px);height:min(680px,100dvh - 40px);max-height:calc(100dvh - 40px);padding:22px;display:flex;overflow:hidden}.import-modal>.modal-head{flex:none;margin-bottom:14px}.import-modal-body{scrollbar-gutter:stable;flex-direction:column;flex:auto;min-height:0;padding-right:2px;display:flex;overflow:auto}.import-modal-body>*{flex:none}.import-modal-body>.empty-state{flex:auto;align-content:center}.import-modal>.modal-actions{border-top:1px solid var(--line);flex:none;margin-top:12px;padding-top:12px}@media (width<=760px){.modal.wide.import-modal{width:100%;height:calc(100dvh - 40px);max-height:calc(100dvh - 40px);padding:18px}.import-modal>.modal-actions{margin-top:10px;padding-top:10px}}.import-dropzone{border:1px dashed color-mix(in srgb, var(--teal) 30%, var(--line));background:color-mix(in srgb, var(--teal) 4%, var(--surface-2));border-radius:12px;flex-direction:column;gap:8px;margin-bottom:12px;padding:10px 12px 11px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.import-dropzone.has-content{border-style:solid;border-color:color-mix(in srgb, var(--teal) 42%, var(--line));background:var(--card)}.import-dropzone.is-dragging{border-style:solid;border-color:var(--teal);background:color-mix(in srgb, var(--teal) 11%, var(--card));box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--teal) 52%, transparent), 0 0 0 4px color-mix(in srgb, var(--teal) 13%, transparent)}.import-dropzone-bar{align-items:center;gap:8px;display:flex}.import-dropzone-state{min-width:0;color:var(--ink);flex-wrap:wrap;align-items:center;gap:2px 5px;font-size:13px;font-weight:600;line-height:1.7;display:flex}.import-dropzone-keys{white-space:nowrap}.import-dropzone:not(.has-content)>.import-dropzone-bar>.import-dropzone-state{border:1px solid color-mix(in srgb, var(--teal) 30%, var(--line));background:var(--card);box-shadow:0 1px 2px color-mix(in srgb, var(--teal) 14%, transparent);border-radius:999px;padding:4px 12px 4px 9px}.import-dropzone.is-dragging>.import-dropzone-bar>.import-dropzone-state{background:var(--card);border-radius:999px;padding:4px 12px 4px 9px}.import-dropzone-state>svg{color:var(--teal);flex:none}.import-dropzone-state.is-dragging{color:var(--teal);font-weight:600}.import-dropzone-state kbd{border:1px solid color-mix(in srgb, var(--teal) 38%, var(--line));background:color-mix(in srgb, var(--teal) 12%, var(--card));color:color-mix(in srgb, var(--teal) 74%, var(--ink));border-bottom-width:2px;border-radius:6px;margin:0 1px;padding:1px 6px;font-family:inherit;font-size:11.5px;font-weight:700;line-height:1.5}.import-dropzone-state b{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.import-dropzone-pick{flex:none;margin-left:auto;padding:4px 10px;font-size:11.5px}@media (width<=620px){.import-dropzone-bar{flex-wrap:wrap}.import-dropzone-pick{margin-left:auto}}.import-dropzone-field{flex-direction:column;flex:auto;display:flex;position:relative}.import-dropzone textarea{width:100%;min-height:92px;color:var(--ink);resize:vertical;background:0 0;border:0;padding:6px 2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;line-height:1.7}.import-dropzone textarea:focus{outline:none}.import-dropzone-ghost{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0 0 14px}.import-dropzone-ghost pre{color:var(--ink-3);tab-size:4;white-space:pre;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;line-height:1.9}.import-dropzone:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px color-mix(in srgb, var(--teal) 13%, transparent)}.import-modal-body:has(>.import-dropzone:only-child)>.import-dropzone{flex:auto}.import-modal-body:has(>.import-dropzone:only-child)>.import-dropzone textarea{flex:auto}.import-modal .modal-actions button:disabled{opacity:.45;box-shadow:none;cursor:not-allowed}.seating-import-backdrop{z-index:1150}.seating-import-mapping{margin-bottom:10px}.seating-import-mapping strong{font-size:12px}.seating-import-mapping small{color:var(--ink-3);margin-left:8px;font-size:10.5px}.seating-import-fields{flex-wrap:wrap;gap:8px;margin-top:7px;display:flex}.seating-import-fields label{color:var(--ink-3);flex-direction:column;gap:3px;font-size:10.5px;display:flex}.seating-import-fields label.is-required span{color:var(--ink-2);font-weight:700}.seating-import-fields select{border:1px solid var(--line);background:var(--card);border-radius:6px;padding:3px 6px;font-size:11px}.seating-import-summary{color:var(--ink-2);flex-wrap:wrap;gap:12px;margin-bottom:8px;font-size:11.5px;display:flex}.seating-import-summary .is-ok{color:var(--teal-dark)}.seating-import-summary .is-bad{color:var(--red);font-weight:700}.seating-import-summary .is-warn{color:var(--amber)}.seating-import-table-wrap{border:1px solid var(--line);border-radius:9px;max-height:280px;overflow:auto}.seating-import-table{border-collapse:collapse;width:100%;font-size:11px}.seating-import-table th{background:var(--surface-2);color:var(--ink-3);text-align:left;white-space:nowrap;padding:6px 8px;font-weight:700;position:sticky;top:0}.seating-import-table td{border-top:1px solid var(--line);vertical-align:top;padding:5px 8px}.seating-import-table tr.is-bad td{background:var(--red-bg)}.seating-import-table tr.is-warn td{background:color-mix(in srgb,var(--amber-bg) 60%,transparent)}.seating-import-table td em{color:var(--ink-3);font-style:normal}.seating-import-table td s{color:var(--ink-3)}.seating-import-issues{flex-direction:column;gap:2px;display:flex}.seating-import-issues .is-bad{color:var(--red);font-weight:700}.seating-import-issues .is-warn{color:var(--amber)}.seating-import-more{color:var(--ink-3);padding:6px 8px;font-size:10.5px;display:block}.seating-import-modal .empty-state{margin:8px 0}@media (width<=640px){.seating-room,.seating-room.is-compact{--seat-w:30px;--seat-h:26px;--seat-gap:2px;--row-gap:3px;--aisle-w:9px;padding:8px 3px}.seating-room .seating-wall.is-left,.seating-room.is-compact .seating-wall.is-left{width:12px;min-width:12px;margin-right:2px;padding-right:0}.seating-room .seating-wall.is-right,.seating-room.is-compact .seating-wall.is-right{width:12px;min-width:12px;margin-left:2px;padding-left:0}.seating-room .seating-wall-label{letter-spacing:0;font-size:9px}.seating-row-gutter,.seating-row-label,.seating-room.is-compact .seating-row-gutter,.seating-room.is-compact .seating-row-label{letter-spacing:0;white-space:nowrap;writing-mode:vertical-rl;text-orientation:upright;flex:0 0 15px;font-size:8.5px;line-height:1.05}.seating-seat{aspect-ratio:auto;width:100%;height:26px;min-height:26px;max-height:26px;padding:0 1px;font-size:9.5px}.seating-seat-name{font-size:9.5px}.seating-seat-badge{box-sizing:border-box;text-align:center;width:1.35em;padding:0;font-size:8px;overflow:hidden}.seating-seat-lock{width:12px;height:12px;top:-4px;right:-4px}.seating-canvas-tools{flex-direction:column;align-items:stretch}.seating-canvas-actions{justify-content:flex-end;width:100%}.seating-canvas-actions .secondary{flex:0 auto;justify-content:center}.seating-rules-section{grid-template-columns:1fr;gap:4px}.seating-rules-section-label{text-align:left;padding-top:0}.seating-adjacency{margin-left:0}.seating-rule-editor .seating-rule-students{max-height:140px}.seating-projection{padding:12px}.seating-projection-row{gap:8px}.seating-projection-seat{min-height:44px}.seating-projection-seat b{font-size:13px}.seating-import-table{font-size:10px}}.seating-embed{width:100%}.seating-chart-modal.is-embedded{border:1px solid var(--line);width:100%;max-width:none;max-height:none;box-shadow:none;border-radius:14px;padding:14px 16px 12px;overflow:visible}.seating-chart-modal.is-embedded .modal-head{margin-bottom:10px}.seating-head-class{color:var(--ink-3);font-size:12px;font-weight:600}.seating-class-switch{color:var(--ink-3);align-items:center;gap:6px;font-size:11px;display:inline-flex}.seating-class-switch select{border:1px solid var(--line);background:var(--card);color:var(--ink-2);cursor:pointer;border-radius:8px;padding:3px 8px;font-size:11.5px;font-weight:600}.seating-version-bar.seating-version-strip{border-bottom:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 0 4px;padding-bottom:7px;display:flex}.seating-version-strip .seating-version-chip{flex:none}.seating-version-strip .link-button{margin-left:auto}.seating-version-key{color:var(--ink-3);font-size:11px;font-weight:600}.seating-version-empty{color:var(--ink-3);font-size:11px}.seating-version-chip-state{background:color-mix(in srgb,var(--green-mid) 16%,transparent);color:var(--green-strong);border-radius:5px;padding:0 5px;font-size:9.5px;font-weight:700}.seating-version-draft{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:10.5px}@media (height<=880px){.seating-room{--seat-h:28px;--row-gap:7px;padding:10px}.seating-seat{max-height:34px}}@media (height<=800px){.seating-room{--seat-h:25px;--row-gap:5px;padding:8px}.seating-seat{max-height:31px;font-size:10.5px}.seating-chart-modal.is-embedded{padding:10px 14px 8px}.seating-chart-modal.is-embedded .modal-head{margin-bottom:6px}.seating-rules-toggle{padding:5px 2px}.seating-version-bar.seating-version-strip{margin-bottom:2px;padding-bottom:5px}}@media (height<=740px){.seating-room{--seat-h:23px;--row-gap:4px;padding:7px}.seating-seat{max-height:26px;font-size:10px}.seating-primary-cta{padding:4px 8px 4px 12px}.seating-randomize-main{padding:6px 18px}}@media (height<=720px){.seating-room{--seat-h:22px;--row-gap:3px;padding:6px}.seating-seat{max-height:22px;font-size:9.5px}.seating-chart-modal.is-embedded{padding:8px 12px 6px}.seating-primary-cta{margin-top:4px;padding:3px 8px 3px 10px}.seating-randomize-main{padding:5px 16px;font-size:13px}.seating-canvas-tools{margin:4px 0 0}.seating-front{min-height:26px}}.seating-version-preview{flex-direction:column;gap:10px;display:flex}.seating-version-preview-head{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:8px 12px;display:flex}.seating-version-preview-note{color:var(--ink-3);font-size:11px}.seating-version-preview-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}@media (width<=760px){.seating-version-preview-actions{width:100%;margin-left:0}.seating-version-preview-actions .secondary{flex:auto;justify-content:center}.seating-version-strip .link-button{margin-left:0}}.seating-body{flex-direction:column;gap:10px;display:flex}.seating-guide{background:var(--green-soft);border:1px solid var(--green-mid);border-radius:12px;flex-direction:column;gap:8px;margin-bottom:10px;padding:12px 14px;display:flex}.seating-guide-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.seating-guide-head strong{color:var(--green-strong);font-size:14px}.seating-guide-head .link-button{flex:none;font-size:12px}.seating-guide-steps{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.seating-guide-steps li{background:var(--card);border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;padding:7px 9px;display:flex}.seating-guide-no{background:var(--green);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;font-weight:700;display:inline-flex}.seating-guide-steps li.is-done .seating-guide-no{background:var(--green-mid);color:var(--green-strong)}.seating-guide-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.seating-guide-text b{color:var(--ink);font-size:13px}.seating-guide-optional{color:var(--amber);background:var(--amber-bg);vertical-align:1px;border-radius:8px;margin-left:6px;padding:1px 6px;font-size:10.5px;font-style:normal;font-weight:600}.seating-guide-text small{color:var(--ink-3);font-size:12px;line-height:1.5}.seating-guide-steps li .secondary,.seating-guide-steps li .primary{flex:none}.sample-roster-ask{background:var(--card);border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;margin-bottom:10px;padding:13px 14px;display:flex;box-shadow:0 1px 2px #13414d0a}.sample-roster-ask-icon{background:var(--green-mid);width:32px;height:32px;color:var(--teal-dark);border-radius:10px;flex:none;place-items:center;display:grid}.sample-roster-ask-copy{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.sample-roster-ask-copy strong{color:var(--ink);font-size:13.5px}.sample-roster-ask-copy span{color:var(--ink-3);font-size:11.5px;line-height:1.6}.sample-roster-ask-actions{flex:none;align-items:center;gap:6px;display:flex}.sample-roster-ask-actions .primary{padding:8px 13px;font-size:12.5px}.sample-roster-ask-actions .ghost{white-space:nowrap;font-size:12px}.sample-roster-banner{background:var(--amber-bg);border:1px solid color-mix(in srgb, var(--amber) 22%, transparent);border-radius:11px;align-items:center;gap:10px;margin-bottom:10px;padding:9px 12px;display:flex}.sample-roster-tag{background:var(--card);color:var(--amber);letter-spacing:.04em;border-radius:7px;flex:none;padding:2px 7px;font-size:10.5px;font-weight:800}.sample-roster-banner-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sample-roster-banner-copy strong{color:var(--ink);font-size:12.5px}.sample-roster-banner-copy span{color:var(--ink-3);font-size:11px;line-height:1.55}.sample-roster-banner .ghost.is-danger{flex:none;padding:6px 10px;font-size:12px}.student-empty{background:var(--card);border:1px dashed var(--line);color:var(--ink-2);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;padding:16px 18px;font-size:12.5px;display:flex}.student-empty>svg{color:var(--ink-3);flex:none}.student-empty>span{flex:1;min-width:0}.student-empty-actions{flex:none;align-items:center;gap:6px;display:flex}.student-empty-actions .secondary,.student-empty-actions .ghost{padding:7px 11px;font-size:12px}@media (width<=700px){.sample-roster-ask{flex-wrap:wrap;align-items:flex-start}.sample-roster-ask-icon{width:28px;height:28px}.sample-roster-ask-copy{flex-basis:calc(100% - 40px)}.sample-roster-ask-actions{width:100%;margin-top:2px}.sample-roster-ask-actions .primary{flex:1}.sample-roster-banner{flex-wrap:wrap}.sample-roster-banner .ghost.is-danger{margin-left:auto}}.seating-config,.seating-stage{flex-direction:column;gap:8px;min-width:0;display:flex}.seating-config .seating-controls{margin:0}.seating-config .seating-orient{margin-top:2px}.seating-config .seating-summary{margin:0}.seating-meta-row{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px 20px;padding:7px 11px;display:flex}.seating-meta-row .seating-summary{margin:0}.seating-meta-row .seating-room-toggle{margin-left:auto}.seating-room-toggle{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;min-width:0;padding:2px 0;display:flex}.seating-room-toggle-label{color:var(--ink-3);letter-spacing:.06em;flex:none;font-size:10.5px;font-weight:700}.seating-room-toggle-summary{min-width:0;color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;font-size:11.5px;overflow:hidden}@media (width<=640px){.seating-room-toggle{align-items:flex-start}.seating-room-toggle-summary{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box}}.seating-room-toggle-action{color:var(--teal-dark);flex:none;align-items:center;gap:2px;font-size:11px;font-weight:700;display:inline-flex}.seating-room-toggle-action svg{transition:transform .16s}.seating-room-toggle-action svg.is-open{transform:rotate(180deg)}.seating-room-panel{border:1px solid var(--line);background:var(--surface-2);border-top:0;border-radius:0 0 10px 10px;grid-template-columns:1.3fr 1fr;gap:0 20px;margin:-8px 0 2px;padding:10px 11px 11px;display:grid}.seating-config.is-room-open>.seating-meta-row{border-bottom-right-radius:0;border-bottom-left-radius:0}.seating-room-panel .seating-controls{gap:7px;margin:0}.seating-room-panel .seating-control{gap:4px}.seating-room-panel .seating-control input{width:46px}.seating-room-panel .seating-control-group{gap:3px;padding:4px 6px}.seating-room-panel .seating-control-group input{width:32px}.seating-room-panel .seating-control-group input.seating-block-name{width:42px}.seating-room-panel .seating-control input[type=number],.seating-room-panel .seating-control-group input[type=number]{appearance:textfield}.seating-room-panel .seating-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.seating-room-panel .seating-control input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.seating-room-panel .seating-control-group input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.seating-room-panel .seating-control-group input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.seating-room-panel .seating-control-unit{font-size:10px}.seating-room-panel .seating-orient{border-top:0;border-left:1px dashed var(--line-2);align-content:center;margin:0;padding:0 0 0 22px}.seating-chart-modal .modal-head>.seating-head{flex-wrap:wrap;align-items:baseline;gap:4px 16px;display:flex}.seating-chart-modal .modal-head>.seating-head h2{margin:0}.seating-chart-modal .modal-head>.seating-head p{color:var(--ink-3);margin:0;font-size:11.5px;line-height:1.5}.seating-advanced{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 18px;display:grid}.seating-advanced>.seating-chip-row{grid-area:1/1}.seating-advanced>.seating-advanced-scope{grid-area:1/2;justify-self:end;margin:0}.seating-advanced>.seating-rule-editor,.seating-advanced>.seating-rule-list{grid-column:1/-1}@media (width<=900px){.seating-advanced{grid-template-columns:1fr}.seating-advanced>.seating-advanced-scope{grid-area:2/1;justify-self:start}}.seating-primary-cta{border:1px solid var(--green-mid);background:var(--green-soft);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;margin:6px 0 0;padding:7px 10px 7px 14px;display:flex}.seating-randomize-main{align-items:center;gap:7px;padding:9px 20px;font-size:14px;font-weight:700;display:inline-flex}.seating-primary-cta-hint{color:var(--ink-3);font-size:11.5px;line-height:1.6}.seating-cta-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.seating-cta-actions .ghost{color:var(--ink-3)}@media (width<=760px){.seating-room-panel{grid-template-columns:1fr;gap:10px;padding:10px 12px}.seating-room-panel .seating-orient{border-left:0;border-top:1px dashed var(--line-2);padding:10px 0 0}.seating-room-panel .seating-control-group input.seating-block-name{width:52px}.seating-room-panel .seating-controls{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));align-items:stretch;gap:8px;display:grid}.seating-room-panel .seating-control,.seating-room-panel .seating-control-group{border:1px solid var(--line);background:var(--surface-2);border-radius:9px;justify-content:space-between;width:auto;min-width:0;padding:4px 8px}.seating-room-panel .seating-control input,.seating-room-panel .seating-control-group input[type=number]{width:40px}.seating-room-panel .seating-control-unit-mobile{display:inline}.seating-room-panel .seating-view-switch button:not(.is-on){box-shadow:inset 0 0 0 1px var(--line)}.seating-room-panel .seating-orient>.seating-orient-title,.seating-room-panel .seating-view-switch{grid-column:1/-1}.seating-room-panel .seating-view-switch{justify-content:space-between;gap:6px;display:flex}.seating-room-panel .seating-view-switch button{text-align:center;flex:1;padding:5px 8px}.seating-primary-cta{flex-direction:column;align-items:stretch;gap:8px}.seating-cta-actions{justify-content:flex-end;width:100%;margin-left:0}.seating-randomize-main{justify-content:center}}.seating-chart-modal.is-embedded .modal-actions{border-top:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;margin:14px 0 0;padding:12px 0 0;position:static}.focus-home{max-width:860px;margin:0 auto;padding:10px 0 26px}.focus-home-calendar{max-width:1180px;padding:4px 0 18px}.focus-home-tasks{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}.focus-home-task{border:1px solid var(--line);background:var(--card);min-height:38px;color:var(--ink-2);cursor:pointer;box-shadow:var(--shadow);border-radius:11px;align-items:center;gap:8px;padding:0 12px;font-size:12.5px;display:inline-flex}.focus-home-task:hover{border-color:var(--green-mid)}.focus-home-task>svg{color:var(--green);flex:none}.focus-home-task.is-comments>svg{color:var(--amber)}.focus-home-task b{color:var(--green-strong);white-space:nowrap;align-items:center;gap:2px;font-weight:600;display:inline-flex}@media (width<=760px){.focus-home-tasks{flex-direction:column;gap:6px;margin-bottom:10px}.focus-home-task{width:100%;min-height:44px}.focus-home-task span{text-align:left;flex:1}}.focus-home-head h1{letter-spacing:-.04em;color:var(--ink);margin:0 0 9px;font-size:26px}.focus-home-head p{max-width:580px;color:var(--ink-3);margin:0;font-size:13px;line-height:1.75}.focus-entry-grid{grid-template-columns:1fr 1fr;gap:14px;margin:24px 0 20px;display:grid}.focus-entry{border:1px solid var(--line);background:var(--card);text-align:left;cursor:pointer;border-radius:16px;flex-direction:column;align-items:flex-start;gap:6px;padding:20px;transition:border-color .16s,transform .16s,box-shadow .16s;display:flex}.focus-entry:hover{border-color:var(--green-mid);transform:translateY(-1px);box-shadow:0 10px 26px #13414d12}.focus-entry.is-primary{border-color:var(--green-mid);background:linear-gradient(180deg, var(--green-soft), var(--card) 70%)}.focus-entry-icon{background:var(--green-soft);width:44px;height:44px;color:var(--teal-dark);border-radius:12px;place-items:center;display:grid}.focus-entry.is-primary .focus-entry-icon{background:var(--teal-dark);color:#fff}.focus-entry strong{color:var(--ink);margin-top:4px;font-size:17px}.focus-entry>span:not(.focus-entry-icon){color:var(--ink-3);font-size:12px;line-height:1.65}.focus-entry em{color:var(--teal-dark);align-items:center;gap:4px;margin-top:12px;font-size:12px;font-style:normal;font-weight:700;display:flex}.focus-home-foot{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:11px;display:flex}.focus-home-foot .link-button{align-items:center;gap:4px;display:inline-flex}.standalone-shell{background:var(--bg);min-height:100vh;padding:0 0 34px}.standalone-top{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#fffffff0;justify-content:space-between;align-items:center;gap:12px;padding:11px 16px;display:flex;position:sticky;top:0}.standalone-brand{align-items:center;gap:10px;min-width:0;display:flex}.standalone-mark{background:var(--teal-dark);color:#fff;border-radius:9px;flex:0 0 32px;place-items:center;width:32px;height:32px;font-size:14px;font-weight:800;display:grid}.standalone-brand h1{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:15px}.standalone-brand p{color:var(--ink-3);margin:2px 0 0;font-size:11px}.standalone-top-actions{align-items:center;gap:8px;display:flex}.standalone-icon-btn{border:1px solid var(--line);background:var(--card);width:34px;height:34px;color:var(--ink-2);border-radius:9px;place-items:center;display:grid}.standalone-icon-btn:hover{border-color:var(--green-mid);color:var(--teal-dark)}.standalone-guide{border:1px solid var(--green-mid);background:var(--green-soft);border-radius:14px;margin:12px 16px 0;padding:14px}.standalone-guide-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.standalone-guide-head strong{color:var(--ink);font-size:14px}.standalone-guide-head button{color:var(--ink-3);background:0 0;border:0;padding:2px 0;font-size:11px}.standalone-steps{flex-direction:column;gap:9px;margin:12px 0;padding:0;list-style:none;display:flex}.standalone-steps li{align-items:flex-start;gap:9px;display:flex}.standalone-step-no{border:1px solid var(--green-mid);background:var(--card);width:20px;height:20px;color:var(--teal-dark);border-radius:50%;flex:0 0 20px;place-items:center;font-size:11px;font-weight:700;display:grid}.standalone-steps li.is-done .standalone-step-no{border-color:var(--teal-dark);background:var(--teal-dark);color:#fff}.standalone-steps b{color:var(--ink);font-size:12.5px;display:block}.standalone-steps small{color:var(--ink-3);font-size:11px;line-height:1.5}.standalone-guide-actions{flex-wrap:wrap;gap:8px;display:flex}.standalone-guide-note{color:var(--ink-3);margin:9px 0 0;font-size:10.5px}.standalone-stage{padding:14px 16px 0}.standalone-foot{color:var(--ink-3);flex-direction:column;gap:7px;margin:16px 16px 0;font-size:11px;display:flex}.standalone-privacy{color:var(--teal-dark);align-items:center;gap:6px;font-size:11.5px;display:flex}.standalone-foot .link-button{align-self:flex-start;align-items:center;gap:4px;display:inline-flex}.standalone-foot-warn{margin:0;font-size:10.5px;line-height:1.6}@media (width>=900px){.standalone-guide,.standalone-stage,.standalone-foot{width:min(1000px,100% - 32px);margin-left:auto;margin-right:auto}.standalone-stage{padding-left:0;padding-right:0}}.local-backup-summary{background:var(--surface-2);color:var(--ink-2);border-radius:10px;flex-wrap:wrap;gap:8px 16px;padding:10px 12px;font-size:12px;display:flex}.local-backup-summary b{color:var(--ink)}.local-backup-actions{flex-wrap:wrap;gap:8px;margin:14px 0 12px;display:flex}.local-backup-actions .upload-trigger{align-items:center;gap:6px;display:inline-flex}.local-backup-note{border-radius:9px;align-items:flex-start;gap:6px;margin-top:8px;padding:8px 10px;font-size:11.5px;line-height:1.6;display:flex}.local-backup-note.is-ok{color:var(--teal-dark);background:var(--green-soft)}.local-backup-note.is-error{color:var(--ink-2);background:var(--red-bg)}.local-backup-privacy{color:var(--ink-3);align-items:flex-start;gap:7px;margin-top:12px;font-size:11px;line-height:1.65;display:flex}.local-backup-usage{color:var(--ink-3);margin-top:12px;font-size:11px}.local-backup-usage summary{cursor:pointer}.local-backup-usage p{color:var(--ink-2);margin:8px 0 4px;line-height:1.7}.local-backup-usage small{line-height:1.6;display:block}.local-backup-status{grid-template-columns:auto 1fr;gap:6px 12px;margin:12px 0 0;font-size:12px;display:grid}.local-backup-status dt{color:var(--ink-3)}.local-backup-status dd{color:var(--ink-2);margin:0}.local-backup-status dd.is-offline,.local-backup-status dd.is-signed-out,.local-backup-status dd.is-pending{color:var(--amber)}.local-backup-status dd.is-error{color:var(--red)}.local-backup-history{color:var(--ink-2);margin-top:12px;font-size:12px}.local-backup-history summary{cursor:pointer;color:var(--ink-2)}.local-backup-history ul{border:1px solid var(--line-2);border-radius:10px;max-height:220px;margin:8px 0 0;padding:0;list-style:none;overflow:auto}.local-backup-history li{border-top:1px solid var(--line-2);justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.local-backup-history li:first-child{border-top:0}.local-backup-history li>div{gap:2px;min-width:0;display:grid}.local-backup-history li small{color:var(--ink-3);font-size:11px}.local-backup-history li button{flex:none;min-height:30px;padding:0 10px;font-size:12px}.local-backup-empty{color:var(--ink-3);margin:8px 0 0}.local-backup-consent{color:var(--ink-2);cursor:pointer;align-items:flex-start;gap:6px;margin-top:6px;line-height:1.6;display:flex}.local-backup-consent input{margin-top:3px}.local-backup-modal .modal-actions{flex-wrap:wrap}.nav-item .sync-chip{color:var(--ink-3);white-space:nowrap;margin-left:auto;font-size:10.5px}.nav-item .sync-chip.is-offline,.nav-item .sync-chip.is-signed-out,.nav-item .sync-chip.is-pending{color:var(--amber)}.nav-item .sync-chip.is-error{color:var(--red)}@media (width<=640px){.focus-home{padding:4px 0 20px}.focus-home-head h1{font-size:21px}.focus-home-head p{font-size:12px}.focus-entry-grid{grid-template-columns:1fr;gap:10px;margin:16px 0}.focus-entry{border-radius:14px;padding:15px}.focus-entry-icon{border-radius:10px;width:38px;height:38px}.focus-entry strong{font-size:15.5px}.standalone-top{padding:10px 12px}.standalone-brand h1{font-size:14px}.standalone-guide{margin:10px 12px 0;padding:12px}.standalone-stage{padding:10px 12px 0}.standalone-foot{margin:14px 12px 0}.seating-chart-modal.is-embedded{border-radius:12px;padding:12px}.seating-chart-modal.is-embedded .modal-head h2{font-size:18px}.seating-chart-modal.is-embedded .modal-head p{font-size:10.5px}}@media (width<=760px){.seating-chart-modal.is-embedded .modal-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.seating-chart-modal.is-embedded .modal-actions>*{flex:none}.seating-chart-modal.is-embedded .modal-actions .primary{order:-1;grid-column:1/-1}.seating-chart-modal.is-embedded .modal-actions .secondary{flex:none;order:0}}.comment-sheet{flex-direction:column;gap:14px;padding-bottom:8px;display:flex}.comment-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.comment-head h1{letter-spacing:-.02em;margin:2px 0 4px;font-size:22px}.comment-head p{color:var(--ink-3);max-width:640px;margin:0;font-size:13px;line-height:1.6}.comment-head-stats{color:var(--ink-3);background:var(--card);border:1px solid var(--line);border-radius:12px;gap:18px;padding:10px 14px;font-size:12px;display:flex}.comment-head-stats b{color:var(--ink);font-size:15px}.comment-tabs{border-bottom:1px solid var(--line);gap:4px;display:flex}.comment-tabs button{color:var(--ink-3);border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 16px;font-size:14px;font-weight:600;display:inline-flex;position:relative}.comment-tabs button.is-active{color:var(--green-strong);border-bottom-color:var(--green)}.comment-tabs em{background:var(--green-soft);color:var(--green-strong);border-radius:999px;padding:1px 7px;font-size:11px;font-style:normal;font-weight:600}.comment-notice{background:var(--green-soft);color:var(--green-strong);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;font-size:13px;display:flex}.comment-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.comment-toolbar-hint{color:var(--ink-3);font-size:12px}.comment-filter{background:var(--card);border:1px solid var(--line);border-radius:9px;gap:2px;padding:2px;display:inline-flex}.comment-filter button{color:var(--ink-3);border-radius:7px;padding:5px 10px;font-size:12px}.comment-filter button.is-active{background:var(--green-soft);color:var(--green-strong);font-weight:600}.comment-material-list{flex-direction:column;gap:10px;display:flex}.comment-material-card{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.comment-material-card.tone-empty{border-style:dashed}.comment-material-card.tone-thin{border-color:color-mix(in srgb, var(--amber) 32%, var(--line));background:color-mix(in srgb, var(--amber-bg) 30%, var(--card))}.comment-material-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.comment-material-head strong{font-size:14px}.comment-meta{color:var(--ink-3);font-size:12px}.comment-material-head-actions{margin-left:auto}.comment-badge{background:var(--surface-2);color:var(--ink-3);border:1px solid var(--line);border-radius:999px;align-items:center;gap:3px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.comment-badge.level-rich{background:var(--green-soft);color:var(--green-strong);border-color:var(--green-mid)}.comment-badge.level-ok{background:var(--green-soft);color:var(--green-strong);border-color:#0000}.comment-badge.level-thin{background:var(--amber-bg);color:var(--amber);border-color:#0000}.comment-badge.level-empty{background:var(--red-bg);color:var(--red);border-color:#0000}.comment-badge.is-confirmed{background:var(--green);color:#fff;border-color:#0000}.comment-badge.is-thin{background:var(--amber-bg);color:var(--amber);border-color:#0000}.comment-badge.is-mark{background:var(--red-bg);color:var(--red);text-overflow:ellipsis;white-space:nowrap;border-color:#0000;max-width:220px;overflow:hidden}.comment-badge.is-picked{background:var(--green-soft);color:var(--green-strong);border-color:var(--green-mid)}.comment-badge.is-template{background:var(--surface-2);color:var(--ink-2);white-space:nowrap}.comment-badge.is-boy{color:#1d4ed8;background:#e9f1fe;border-color:#cddffb}.comment-badge.is-girl{color:#be2b6a;background:#fdeaf3;border-color:#f8d1e0}.comment-badge.is-unknown{background:var(--line-2);color:var(--ink-3)}.comment-keywords,.comment-text{border:1px solid var(--line);resize:vertical;background:var(--card);border-radius:9px;width:100%;padding:8px 10px;font-size:13px;line-height:1.65}.comment-keywords:focus,.comment-text:focus{border-color:var(--green-mid)}.comment-warn{color:var(--amber);background:var(--amber-bg);border-radius:8px;padding:6px 9px;font-size:12px;line-height:1.5}.comment-hint{color:var(--ink-3);font-size:12px}.comment-tag-rows{flex-direction:column;gap:6px;display:flex}.comment-tag-row{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.comment-tag-row>span{color:var(--ink-3);flex:0 0 42px;font-size:11px}.comment-tag{border:1px solid var(--line);color:var(--ink-2);background:var(--card);border-radius:999px;padding:3px 8px;font-size:11.5px}.comment-tag:hover{border-color:var(--green-mid);color:var(--green-strong)}.comment-tag.is-on{background:var(--green-soft);border-color:var(--green-mid);color:var(--green-strong);font-weight:600}.comment-tag.is-on.warn{background:var(--amber-bg);border-color:color-mix(in srgb, var(--amber) 30%, transparent);color:var(--amber)}.comment-sticky-actions{background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0;display:flex;position:sticky;bottom:0}.comment-sticky-actions>span{color:var(--ink-3);margin-right:auto;font-size:12px}.comment-settings{background:var(--card);border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px 16px;padding:14px;display:grid}.comment-settings>label{color:var(--ink-3);flex-direction:column;gap:5px;font-size:12px;display:flex}.comment-settings select,.comment-settings input{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:6px 8px;font-size:13px}.comment-range{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.comment-settings>label:has(.comment-length){grid-column:span 2}.comment-range input{width:68px}.comment-length{border:1px solid var(--line);background:var(--card);color:var(--ink-2);cursor:pointer;white-space:nowrap;border-radius:8px;padding:5px 9px;font-size:12px}.comment-length.is-on{border-color:var(--green-mid);background:var(--green-soft);color:var(--green-strong);font-weight:600}.comment-privacy{background:var(--green-soft);border-radius:10px;grid-column:1/-1;padding:10px 12px}.comment-gender{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;grid-column:1/-1;padding:10px 12px}.comment-gender strong{margin-right:8px;font-size:12.5px}.comment-gender>span{color:var(--ink-2);font-size:12px}.comment-gender p{color:var(--ink-3);margin:5px 0 0;font-size:11.5px;line-height:1.7}.comment-report-hint{color:var(--amber);max-width:76ch;margin-top:4px;font-size:11.5px;line-height:1.65;display:block}.comment-atoms{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:12px;padding:14px;display:flex}.comment-atoms-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.comment-atoms-head>button{white-space:nowrap;flex:none}.comment-atoms-head strong{font-size:13px;display:block}.comment-atoms-head span{color:var(--ink-3);max-width:78ch;margin-top:3px;font-size:12px;line-height:1.7;display:block}.comment-atom-list{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;display:grid}.comment-atom-card{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.comment-atom-card-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.comment-atom-card-head strong{font-size:13px}.comment-atom-card-head em{color:var(--green-strong);background:var(--green-soft);border-radius:999px;padding:1px 7px;font-size:11px;font-style:normal}.comment-atom-card p{color:var(--ink-3);margin:0;font-size:11.5px;line-height:1.6}.comment-atom-card ul{flex-direction:column;gap:3px;margin:0;padding-left:15px;display:flex}.comment-atom-card li{color:var(--ink-2);font-size:12px;line-height:1.55}.comment-atoms-note{color:var(--ink-3);font-size:11.5px;line-height:1.7}.comment-atom-chips{flex-wrap:wrap;align-items:center;gap:3px;display:inline-flex}.comment-atom-chip{background:var(--surface-2);color:var(--ink-3);border:1px solid var(--line);border-radius:5px;padding:0 5px;font-size:10.5px;font-style:normal;font-weight:700;line-height:1.6}.comment-atom-chip.is-open{color:#1d4ed8;background:#e8f0fd;border-color:#cfdff9}.comment-atom-chip.is-evidence{color:#0f766e;background:#e4f4f1;border-color:#c8e8e2}.comment-atom-chip.is-empathy{color:#9a3412;background:#fdeee5;border-color:#f6d5c4}.comment-atom-chip.is-gap{color:#a16207;background:#fdf3dc;border-color:#f4e0b6}.comment-atom-chip.is-wish{color:#7c3aed;background:#f1ebfe;border-color:#dfd2fb}.comment-atom-chip.is-flourish{color:#be2b6a;background:#fdeaf3;border-color:#f8d1e0}.comment-atom-chip.is-expect{color:#0e7490;background:#e5f5f9;border-color:#c9e8f0}.comment-atom-chip.is-sloganOpen,.comment-atom-chip.is-headline{color:#1d4ed8;background:#e8f0fd;border-color:#cfdff9}.comment-atom-chip.is-fact,.comment-atom-chip.is-factSecond{color:#0f766e;background:#e4f4f1;border-color:#c8e8e2}.comment-atom-chip.is-praise,.comment-atom-chip.is-persona,.comment-atom-chip.is-seeEffort{color:#be2b6a;background:#fdeaf3;border-color:#f8d1e0}.comment-atom-chip.is-turn,.comment-atom-chip.is-academic{color:#a16207;background:#fdf3dc;border-color:#f4e0b6}.comment-atom-chip.is-sloganClose,.comment-atom-chip.is-blessing,.comment-atom-chip.is-wishTail,.comment-atom-chip.is-shine{color:#7c3aed;background:#f1ebfe;border-color:#dfd2fb}.comment-atom-chip.is-cheer,.comment-atom-chip.is-pad{color:var(--ink-3);background:var(--surface-2);border-color:var(--line)}.comment-privacy strong{color:var(--green-strong);font-size:12px}.comment-privacy p{color:var(--ink-2);margin:4px 0 0;font-size:12px;line-height:1.65}.comment-report{border:1px solid var(--line);background:var(--card);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;display:flex}.comment-report.has-marks{border-color:color-mix(in srgb, var(--amber) 30%, var(--line));background:color-mix(in srgb, var(--amber-bg) 34%, var(--card))}.comment-report strong{font-size:13px;display:block}.comment-report span{color:var(--ink-3);font-size:12px}.comment-list{flex-direction:column;gap:10px;display:flex}.comment-card{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.comment-card.is-confirmed{border-color:var(--green-mid)}.comment-card.is-marked{border-left:3px solid var(--amber)}.comment-card-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.comment-card-head strong{font-size:14px}.comment-chars{color:var(--ink-3);background:var(--surface-2);border-radius:999px;padding:1px 7px;font-size:11px}.comment-card-actions{flex-wrap:wrap;gap:6px;display:flex}.comment-card-actions .ghost.small.is-ok{color:var(--green-strong)}.comment-export{position:relative}.comment-export-menu{z-index:30;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:11px;flex-direction:column;min-width:230px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.comment-export-menu button{text-align:left;border-radius:7px;padding:8px 10px;font-size:13px}.comment-export-menu button:hover{background:var(--green-soft);color:var(--green-strong)}.comment-export-menu span{color:var(--ink-3);border-top:1px solid var(--line-2);margin-top:4px;padding:6px 10px;font-size:11px}.comment-cost{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.comment-cost-body{background:var(--card);border:1px solid var(--line);color:var(--ink-2);border-radius:12px;width:100%;padding:12px 14px;font-size:12.5px;line-height:1.7}.comment-cost-body p{margin:0 0 8px}.comment-cost-body table{border-collapse:collapse;width:100%;margin-bottom:6px}.comment-cost-body th,.comment-cost-body td{text-align:left;border-bottom:1px solid var(--line-2);padding:5px 8px;font-size:12px}.comment-cost-body th{color:var(--ink-3);font-weight:600}.comment-cost-body small{color:var(--ink-3)}.comment-empty{color:var(--ink-3);background:var(--card);border:1px dashed var(--line);border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:26px;font-size:13px;display:flex}.paste-preview{color:var(--ink-3);background:var(--surface-2);border-radius:9px;flex-wrap:wrap;gap:14px;padding:8px 10px;font-size:12px;display:flex}.paste-preview b{color:var(--ink)}.paste-preview .is-warn{color:var(--amber)}.spin{animation:.9s linear infinite comment-spin}@keyframes comment-spin{to{transform:rotate(360deg)}}@media (width<=760px){.comment-head-stats{justify-content:space-between;width:100%}.comment-toolbar{gap:8px}.comment-toolbar-hint{display:none}.comment-sticky-actions{bottom:calc(56px + env(safe-area-inset-bottom));flex-wrap:wrap}.comment-sticky-actions>span{flex:auto;width:auto;margin:0}.comment-sticky-actions .primary{flex:100%;justify-content:center}.comment-tag-row>span{flex:0 0 100%}.comment-settings{grid-template-columns:1fr 1fr}.comment-cost-body{overflow-x:auto}}.lazy-fallback{min-height:160px;color:var(--ink-3);justify-content:center;align-items:center;gap:8px;font-size:12.5px;display:flex}.lazy-fallback.is-overlay{z-index:80;background:color-mix(in srgb, var(--bg) 60%, transparent);min-height:0;position:fixed;inset:0}
