@import"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap";:root{font-family:Noto Sans SC,Microsoft YaHei,sans-serif;color:#172033;background:#f5f7fb;font-synthesis:none;text-rendering:optimizeLegibility;--primary: #2864dc;--primary-dark: #1e4fb7;--muted: #667085;--border: #e5e9f1;--shadow: 0 16px 45px rgba(34, 51, 84, .08)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f5f7fb}button,input{font:inherit}button{cursor:pointer}h1,h2,p{margin-top:0}.fullscreen-center{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--muted)}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.brand{display:inline-flex;align-items:center;gap:10px}.brand>span:last-child{display:flex;flex-direction:column}.brand strong{font-size:17px;letter-spacing:.02em}.brand small{color:#8a94a7;font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin-top:2px}.brand-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;color:#fff;background:linear-gradient(145deg,#3877ec,#1f55c5);box-shadow:0 8px 18px #2864dc40}.brand-large .brand-icon{width:52px;height:52px;border-radius:16px}.brand-large strong{font-size:21px}.role-page{position:relative;min-height:100vh;overflow:hidden;display:grid;place-items:center;padding:40px 20px;background:radial-gradient(circle at 50% 0%,#edf4ff 0,#f8f9fc 45%,#f5f7fb)}.role-content{position:relative;z-index:1;width:min(970px,100%);text-align:center}.role-content>.brand{margin-bottom:48px}.hero-copy{margin-bottom:36px}.hero-copy h1{font-size:clamp(34px,5vw,52px);line-height:1.18;margin:18px 0 12px;letter-spacing:-.04em}.hero-copy p{color:var(--muted);font-size:16px}.status-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid #d6e4ff;background:#ffffffc7;color:#5270a2;padding:6px 12px;border-radius:999px;font-size:12px;box-shadow:0 5px 16px #234e950f}.live-dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:#22b573;box-shadow:0 0 0 4px #22b5731f}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.role-card{border:1px solid rgba(224,229,239,.9);padding:24px;border-radius:20px;background:#ffffffe6;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;text-align:left;color:inherit;box-shadow:var(--shadow);transition:.22s ease}.role-card:hover{transform:translateY(-4px);border-color:#c9d6ee;box-shadow:0 22px 55px #22335421}.role-icon{width:50px;height:50px;border-radius:15px;display:grid;place-items:center}.role-card.blue .role-icon{color:#2864dc;background:#eaf1ff}.role-card.violet .role-icon{color:#7c51d8;background:#f0eafd}.role-card.amber .role-icon{color:#ca7414;background:#fff0de}.role-text{display:flex;flex-direction:column;gap:5px}.role-text strong{font-size:16px}.role-text small{font-size:12px;color:var(--muted);line-height:1.5}.role-arrow{color:#aeb6c4}.demo-note{margin:28px 0 0;color:#8a94a7;font-size:12px}.ambient{position:absolute;border-radius:50%;filter:blur(5px);opacity:.55}.ambient-one{width:380px;height:380px;right:-150px;top:-120px;background:radial-gradient(circle,#dbeaff,transparent 70%)}.ambient-two{width:320px;height:320px;left:-130px;bottom:-100px;background:radial-gradient(circle,#e9e3ff,transparent 70%)}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(420px,.85fr) 1.15fr;background:#fff}.login-panel{padding:clamp(35px,6vw,90px);display:flex;flex-direction:column;justify-content:center;max-width:620px;width:100%;margin:auto}.login-panel>.brand{position:absolute;top:38px}.login-copy{margin-bottom:32px}.eyebrow{display:block;color:var(--primary);font-size:12px;font-weight:700;letter-spacing:.12em;margin-bottom:9px}.login-copy h1{margin:0 0 10px;font-size:34px;letter-spacing:-.03em}.login-copy p{color:var(--muted)}.login-form{display:flex;flex-direction:column;gap:18px}.login-form label{display:flex;flex-direction:column;gap:8px;color:#39445a;font-size:13px;font-weight:600}.login-form input{border:1px solid #dfe4ec;border-radius:11px;padding:12px 14px;outline:none;transition:.2s}.login-form input:focus{border-color:#6b94ea;box-shadow:0 0 0 3px #eaf1ff}.form-error{padding:10px 12px;background:#fff1f1;color:#c33b3b;border-radius:9px;font-size:13px}.login-visual{margin:16px;border-radius:28px;position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;padding:70px;background:linear-gradient(145deg,#0c296059,#1e4fb740),url(https://images.unsplash.com/photo-1523240795612-9a054b0db644?auto=format&fit=crop&w=1500&q=85) center/cover}.quote-card{color:#fff;background:#112750ad;border:1px solid rgba(255,255,255,.24);border-radius:20px;padding:25px;max-width:520px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.quote-card blockquote{margin:16px 0;font-size:21px;line-height:1.7;font-weight:600}.quote-card span{font-size:12px;opacity:.7}.app-shell{min-height:100vh}.topbar{height:68px;background:#fffffff0;border-bottom:1px solid #e9ecf2;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar-inner{width:min(1180px,calc(100% - 40px));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between}.topbar-actions{display:flex;align-items:center;gap:14px}.class-switcher{border:1px solid #dfe4ec;border-radius:9px;padding:7px 10px;background:#fff;color:#536177;font-size:12px;max-width:170px}.connection-state{display:flex;align-items:center;gap:8px;color:#6f7b8f;font-size:12px}.user-chip{display:flex;align-items:center;gap:9px;padding-left:14px;border-left:1px solid var(--border)}.user-chip>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#eaf1ff;color:var(--primary);font-weight:700}.user-chip>div{display:flex;flex-direction:column}.user-chip strong{font-size:12px}.user-chip small{color:#8a94a7;font-size:10px;margin-top:2px}.icon-button{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--border);background:#fff;color:#647087}.icon-button:hover{background:#f3f6fb;color:var(--primary)}.workspace{width:min(1180px,calc(100% - 40px));margin:auto;padding:42px 0 70px}.page-stack{display:flex;flex-direction:column;gap:22px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:3px}.page-heading h1{margin:0 0 8px;font-size:clamp(27px,4vw,36px);letter-spacing:-.04em}.page-heading p{color:var(--muted);margin:0;font-size:14px}.date-picker{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:9px 12px;color:#637087;box-shadow:0 8px 20px #2233540d}.date-picker input{border:0;outline:0;color:#39445a;background:transparent}.card{background:#fff;border:1px solid rgba(226,230,238,.9);border-radius:17px;box-shadow:0 10px 32px #2233540e}.selection-panel{padding:25px}.step-block{display:flex;gap:13px;align-items:flex-start;margin-bottom:18px}.step-block.compact{margin-bottom:14px}.step-number{flex:0 0 auto;width:25px;height:25px;display:inline-grid;place-items:center;background:#eaf1ff;color:var(--primary);border-radius:8px;font-size:12px;font-weight:800}.step-block h2{margin:0 0 3px;font-size:15px}.step-block p{margin:0;color:#8a94a7;font-size:12px}.subject-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:9px}.subject-button{position:relative;min-height:70px;border:1px solid #e5e9f1;background:#fafbfc;border-radius:12px;color:#596579;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:12px;transition:.18s}.subject-button>span{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;color:var(--subject-color);background:color-mix(in srgb,var(--subject-color) 10%,white);font-weight:800}.subject-button>small{position:absolute;right:5px;top:5px;color:#8a94a7;background:#eef1f6;font-size:8px;padding:2px 4px;border-radius:4px}.subject-button:hover{border-color:#cdd7e7;background:#fff}.subject-button.active{color:var(--subject-color);border-color:color-mix(in srgb,var(--subject-color) 45%,white);background:color-mix(in srgb,var(--subject-color) 6%,white);box-shadow:0 0 0 2px color-mix(in srgb,var(--subject-color) 9%,transparent);font-weight:700}.section-divider{height:1px;background:#edf0f5;margin:23px 0}.segmented-control{display:inline-flex;padding:4px;border-radius:11px;background:#f0f3f8;gap:2px}.segmented-control button{min-width:75px;padding:8px 15px;border:0;border-radius:8px;background:transparent;color:#667085;font-size:12px}.segmented-control button.active{color:var(--primary);background:#fff;box-shadow:0 3px 10px #2c3d5f1a;font-weight:700}.records-card{overflow:hidden}.records-header{padding:22px 25px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf0f5}.records-header>div{display:flex;gap:13px}.records-header h2{margin:0 0 3px;font-size:15px}.records-header p{margin:0;color:#8a94a7;font-size:12px}.task-date-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;padding:1px 25px 15px;background:#edf0f5;border-bottom:1px solid #edf0f5}.task-date-summary>div{display:grid;gap:5px;padding:12px 14px;background:#f8faff}.task-date-summary>div:first-child{border-radius:9px 0 0 9px}.task-date-summary>div:last-child{border-radius:0 9px 9px 0}.task-date-summary small{color:#8a94a7;font-size:10px}.task-date-summary strong{color:#48566c;font-size:12px}.selection-count{font-size:11px;color:#758095;background:#f2f4f7;padding:6px 10px;border-radius:999px}.selection-count.has-value{color:#bd6216;background:#fff2e5}.record-table-wrap{overflow-x:auto}.record-table{width:100%;border-collapse:collapse;min-width:620px}.record-table th{color:#8490a3;font-size:11px;font-weight:600;background:#fafbfc;height:42px}.record-table th:first-child,.record-table td:first-child{text-align:left;padding-left:27px;width:34%}.record-table td{text-align:center;height:57px;border-top:1px solid #f0f2f6;font-size:13px}.record-table tr.marked{background:#fffdf9}.student-number{display:inline-block;width:28px;color:#a4acb8;font-size:10px}.check-cell{width:27px;height:27px;border:1.5px solid #58ba91;border-radius:7px;background:#20a875;color:#fff;display:inline-grid;place-items:center;transition:.15s}.check-cell:hover{border-color:#7da1e7}.check-cell.checked{border-color:#df8b5c;background:#ef965f;box-shadow:0 4px 10px #d26e3833}.check-cell.not-required{border-color:#9aa5b5;background:#eef1f5;color:#667085;box-shadow:none}.check-cell.pending-save{border-style:dashed;box-shadow:none;opacity:.72}.record-time{display:block;min-width:78px;margin-top:4px;color:#8390a2;font-size:9px;line-height:1.25}.record-time.pending-save{color:#a17a3f}.submit-bar{display:flex;align-items:center;justify-content:space-between;padding:18px 25px;border-top:1px solid #edf0f5;background:#fafbfc}.submit-bar p{margin:0;color:#7d8798;font-size:12px}.primary-button,.secondary-button{border-radius:10px;min-height:41px;padding:0 17px;display:inline-flex;gap:8px;align-items:center;justify-content:center;border:1px solid transparent;font-size:13px;font-weight:600;transition:.18s}.primary-button{color:#fff;background:var(--primary);box-shadow:0 7px 16px #2864dc33}.primary-button:hover{background:var(--primary-dark)}.primary-button.success{background:#16a36a;box-shadow:0 7px 16px #16a36a33}.primary-button:disabled{opacity:.7;cursor:default}.primary-button.full{width:100%}.secondary-button{color:#4d5b70;background:#fff;border-color:#dfe4ec}.secondary-button:hover{background:#f5f7fa}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric-card{padding:19px;display:flex;align-items:flex-start;gap:13px}.metric-icon{width:39px;height:39px;border-radius:11px;display:grid;place-items:center;flex:0 0 auto}.metric-card.blue .metric-icon{color:#2864dc;background:#eaf1ff}.metric-card.violet .metric-icon{color:#7c51d8;background:#f1ebfe}.metric-card.amber .metric-icon{color:#c46b11;background:#fff0df}.metric-card.green .metric-icon{color:#16856e;background:#e2f6f1}.metric-card>div{display:flex;flex-direction:column}.metric-card div>span{color:#7c8799;font-size:11px}.metric-card strong{font-size:24px;line-height:1.3;margin:2px 0;letter-spacing:-.04em}.metric-card small{color:#9ba3b1;font-size:9px}.subject-overview,.field-summary,.quick-report{padding:23px}.card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:18px}.card-title-row h2{font-size:15px;margin:0 0 4px}.card-title-row p{color:#8a94a7;font-size:11px;margin:0}.legend{font-size:9px;color:#8993a4;display:flex;gap:5px;align-items:center}.legend i{width:6px;height:6px;border-radius:50%;background:#21b477;margin-left:7px}.legend i:nth-child(2){background:#c8cfda}.overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.overview-card{position:relative;min-width:0;display:flex;align-items:center;gap:10px;padding:14px;border:1px solid #e7eaf0;border-radius:12px;background:#fcfcfd;color:inherit;text-align:left;transition:.17s}.overview-card:hover{transform:translateY(-2px);background:#fff;box-shadow:0 9px 20px #22335412}.overview-icon{flex:0 0 auto;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:13px;font-weight:800}.overview-info{display:flex;flex-direction:column;min-width:0}.overview-info strong{font-size:12px;white-space:nowrap}.overview-info strong small{color:#8b70c5;background:#f0ebfb;padding:1px 3px;border-radius:3px;font-size:7px;margin-left:3px}.overview-info>small{color:#8a94a7;font-size:9px;margin-top:3px}.overview-numbers{display:flex;flex-direction:column;margin-left:auto;align-items:flex-end}.overview-numbers strong{font-size:16px}.overview-numbers small{color:#9ba3b1;font-size:8px;white-space:nowrap}.status-dot{position:absolute;right:7px;top:7px;width:6px;height:6px;border-radius:50%;background:#c8cfda}.status-dot.complete{background:#21b477}.dashboard-split{display:grid;grid-template-columns:.78fr 1.22fr;gap:14px}.progress-row{display:grid;grid-template-columns:90px 1fr 24px;gap:12px;align-items:center;margin:18px 0}.progress-row>span{color:#596579;font-size:11px}.progress-row>div{height:7px;border-radius:99px;overflow:hidden;background:#edf0f5}.progress-row i{display:block;height:100%;border-radius:inherit;background:#3975e8;min-width:2px}.progress-row i[style*="--bar-index: 1"]{background:#8b5cf6}.progress-row i[style*="--bar-index: 2"]{background:#e4913f}.progress-row strong{font-size:12px;text-align:right}.quick-report pre{margin:0;height:190px;overflow:auto;white-space:pre-wrap;background:#f7f9fc;border:1px solid #edf0f5;padding:15px;border-radius:10px;color:#526075;font:11px/1.75 Noto Sans SC,sans-serif}.report-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:14px}.text-button{border:0;background:transparent;color:var(--primary);font-size:11px}.app-body{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 68px)}.password-notice{background:#fff8e8;border-bottom:1px solid #f1d9a4;padding:10px 20px}.password-notice form{width:min(1180px,100%);margin:auto;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.password-notice strong{color:#8a5c19;font-size:12px;margin-right:auto}.password-notice input{border:1px solid #e9d7af;border-radius:8px;padding:8px 10px;width:170px;background:#fff}.password-notice .primary-button{min-height:34px;font-size:11px}.password-notice form>span{color:#b14c4c;font-size:11px}.sidebar{border-right:1px solid #e9ecf2;background:#fbfcfe;padding:25px 14px;display:flex;flex-direction:column;gap:6px}.nav-item{border:0;background:transparent;color:#6b7689;border-radius:10px;padding:12px 14px;display:flex;align-items:center;gap:11px;font-size:13px;text-align:left}.nav-item:hover,.nav-item.active{color:var(--primary);background:#eaf1ff;font-weight:700}.sidebar-footer{margin-top:auto;color:#a1a9b7;font-size:10px;display:flex;gap:7px;align-items:center;padding:12px 7px}.student-board-nav{display:grid;gap:4px;margin-top:8px;padding-top:10px;border-top:1px solid #e9ecf2}.student-board-nav .nav-item{text-decoration:none}.student-board-copy{display:flex;align-items:center;justify-content:center;gap:6px;min-height:30px;border:0;border-radius:8px;color:#557096;background:#edf3fb;font:inherit;font-size:11px;cursor:pointer}.student-board-copy:hover{color:#285fa9;background:#e2ecfa}.dashboard-next-step{border-color:#dce7f6;background:linear-gradient(135deg,#fbfdff,#f4f8ff)}.import-section-label{display:grid;gap:2px;min-width:190px;padding:8px 11px;border:1px solid #dce5f2;border-radius:10px;background:#f7faff}.import-section-label small{color:#8793a6;font-size:10px}.import-section-label strong{color:#314d74;font-size:13px}.advanced-database-section{border:1px dashed #ced9e8;border-radius:12px;background:#f9fbfe}.advanced-database-section>summary{padding:13px 15px;color:#64748b;font-size:13px;font-weight:700;cursor:pointer}.advanced-database-section[open]>summary{border-bottom:1px solid #e5ebf3}.advanced-database-section>.card{border:0;box-shadow:none}.heading-actions{display:flex;gap:10px;align-items:center}.task-list{overflow:hidden}.task-row{width:100%;border:0;border-bottom:1px solid #edf0f5;background:#fff;padding:17px 22px;display:flex;gap:13px;align-items:center;text-align:left;color:inherit}.task-row:last-child{border-bottom:0}.task-row:hover,.task-row.active{background:#f8faff}.task-row>span:nth-child(2){display:flex;flex-direction:column;gap:5px;flex:1}.task-row small{color:#8993a4;font-size:11px}.task-row .task-dates{color:#64748b}.task-row .task-progress{color:#2764cf;font-weight:700}.task-status{width:9px;height:9px;border-radius:50%;background:#f1a34b}.task-status[data-status=published]{background:#21b477}.task-status[data-status=cancelled]{background:#bd6161}.task-state{color:#7e899a;font-size:11px}.task-detail-section{overflow:hidden}.task-detail-section>summary{padding:15px 21px;color:#617087;font-size:12px;font-weight:700;cursor:pointer;list-style-position:inside}.task-detail-section[open]>summary{border-bottom:1px solid #edf0f5}.daily-record-matrix{overflow:hidden}.matrix-title{padding:20px 22px 13px}.matrix-title>span{color:#6e7c91;background:#f0f4fa;border-radius:999px;padding:6px 10px;font-size:11px;white-space:nowrap}.matrix-batch-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:11px 22px;border-top:1px solid #edf0f5;border-bottom:1px solid #e5eaf2;background:#f8faff}.matrix-batch-toolbar>strong{margin-right:auto;color:#526075;font-size:12px}.matrix-status-button{min-height:33px;border:1px solid transparent;border-radius:9px;padding:0 11px;font-size:11px;font-weight:700;cursor:pointer}.matrix-status-button.completed{color:#147b59;border-color:#bee7d7;background:#eaf9f3}.matrix-status-button.pending{color:#b15c2d;border-color:#f3cfb8;background:#fff2e9}.matrix-status-button.not-required{color:#657287;border-color:#dbe1e9;background:#f1f3f6}.matrix-status-button:disabled{opacity:.55;cursor:default}.matrix-message{margin:0;padding:8px 22px;color:#45658f;background:#eef5ff;font-size:11px}.daily-matrix-wrap{max-height:570px;overflow:auto}.daily-matrix-wrap table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;background:#fff}.daily-matrix-wrap th,.daily-matrix-wrap td{min-width:104px;height:54px;padding:6px 9px;text-align:center;border-right:1px solid #edf0f5;border-bottom:1px solid #edf0f5}.daily-matrix-wrap thead th{position:sticky;top:0;z-index:3;height:84px;color:#59677c;background:#f8faff;vertical-align:middle}.daily-matrix-wrap thead th>label{display:grid;justify-items:center;gap:3px;cursor:pointer}.daily-matrix-wrap thead th input{width:14px;height:14px;accent-color:var(--primary)}.daily-matrix-wrap thead th b{font-size:12px}.daily-matrix-wrap thead th span{max-width:110px;overflow:hidden;color:#748198;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.daily-matrix-wrap thead th small{color:var(--primary);font-size:10px}.daily-matrix-wrap tbody tr.selected td{background:#f7faff}.daily-matrix-wrap .matrix-student-column{position:sticky;left:0;z-index:2;min-width:145px;max-width:145px;text-align:left;background:#fff;box-shadow:1px 0 #e7ebf1}.daily-matrix-wrap thead .matrix-student-column{z-index:5;background:#f3f6fb}.daily-matrix-wrap .matrix-student-column label{display:flex;align-items:center;gap:7px;cursor:pointer}.daily-matrix-wrap .matrix-student-column input{width:15px;height:15px;accent-color:var(--primary)}.daily-matrix-wrap .matrix-student-column b{min-width:22px;color:#7d899a;font-size:10px}.daily-matrix-wrap .matrix-student-column span{overflow:hidden;color:#38465a;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.daily-matrix-wrap td.not-applicable{color:#c2c8d1;background:#fafbfc}.matrix-cell{width:62px;min-height:39px;border:1px solid transparent;border-radius:9px;display:inline-grid;grid-template-columns:15px auto;align-items:center;justify-content:center;gap:3px;font-size:13px;font-weight:800;cursor:pointer}.matrix-cell small{font-size:9px;font-weight:600}.matrix-cell.completed{color:#157b59;border-color:#bce7d6;background:#eaf9f3}.matrix-cell.pending{color:#b55e2f;border-color:#f1c8af;background:#fff1e7}.matrix-cell.not_required{color:#68758a;border-color:#dce2ea;background:#f1f3f6}.matrix-cell.unrecorded{border-style:dashed;opacity:.72}.matrix-cell.changed{outline:2px solid #8eb2f3;outline-offset:1px;opacity:1}.matrix-save-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 22px;background:#fafbfc}.matrix-save-bar p{flex:1;margin:0;color:#79869a;font-size:11px}.matrix-save-bar label{display:flex;align-items:center;gap:6px;color:#617087;font-size:11px;white-space:nowrap}.matrix-save-bar input{accent-color:var(--primary)}.ranking-row,.ledger-row,.pending-row,.rule-row{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid #f0f2f6;font-size:13px}.ranking-row:last-child,.ledger-row:last-child,.pending-row:last-child,.rule-row:last-child{border-bottom:0}.ranking-row b{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;color:#5e6d82;background:#f0f3f8;font-size:11px}.ranking-row span{flex:1}.ranking-row strong{color:var(--primary)}.ranking-member-count{margin-left:8px;color:var(--muted);font-size:10px;font-weight:400}.ledger-row>span:nth-child(2){min-width:90px}.ledger-row small{color:#8791a1;flex:1}.ledger-row time{color:#a0a8b5;font-size:10px}.positive{color:#169c69;font-weight:800;min-width:35px}.negative{color:#c65858;font-weight:800;min-width:35px}.report-editor{width:100%;height:190px;resize:vertical;border:1px solid #edf0f5;border-radius:10px;padding:14px;color:#526075;background:#f7f9fc;font:12px/1.75 Noto Sans SC,sans-serif;outline:none}.report-editor:focus{border-color:#9cb7ee;background:#fff}.empty-state{padding:35px 10px;color:#a4adba;display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px}.pending-list{padding:6px 24px}.pending-row>div{flex:1}.pending-row p{color:#8a94a7;font-size:11px;margin:5px 0 0}.pending-row small{color:#9ca5b4;font-weight:400;margin-left:4px}.pending-stage{color:#c56b23;background:#fff1e2;padding:5px 8px;border-radius:999px;font-size:10px}.pending-task-groups{display:grid;gap:10px}.pending-task-card{padding:0;overflow:hidden}.pending-task-card.expanded{border-color:#cddcf4;box-shadow:0 10px 25px #2c4d7e14}.pending-task-summary{width:100%;display:grid;grid-template-columns:22px minmax(0,1fr) auto 52px;gap:10px;align-items:center;border:0;padding:14px 16px;color:inherit;background:#fff;text-align:left;cursor:pointer}.pending-task-summary:hover{background:#f8faff}.pending-task-chevron{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;color:#3975e8;background:#edf3ff;font-size:14px}.pending-task-title{min-width:0;display:grid;gap:4px}.pending-task-title strong{color:#172b49;font-size:14px}.pending-task-title small{overflow:hidden;color:#8792a4;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.pending-task-summary>b{min-width:46px;color:#b7651f;font-size:12px;text-align:right}.pending-task-body{display:grid;gap:12px;padding:13px 16px 15px 48px;border-top:1px solid #e9edf4;background:#fbfcfe}.pending-student-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:7px}.pending-student-chips button{min-height:40px;display:grid;grid-template-columns:auto 1fr 18px;gap:6px;align-items:center;border:1px solid #dce4ef;border-radius:9px;padding:7px 8px;color:#32445f;background:#fff;font:inherit;font-size:12px;text-align:left;cursor:pointer}.pending-student-chips button:hover{border-color:#9bb8eb;background:#f6f9ff}.pending-student-chips button.selected{border-color:#6f9cea;color:#245dbd;background:#eaf2ff;box-shadow:inset 0 0 0 1px #3975e814}.pending-student-chips button>span{color:#7f8b9e;font-size:10px}.pending-student-chips button.selected>span{color:#4772bb}.pending-student-chips button>i{width:17px;height:17px;display:grid;place-items:center;border:1px solid #cfd8e5;border-radius:4px;color:#fff;background:#fff;font-size:11px;font-style:normal}.pending-student-chips button.selected>i{border-color:#3975e8;background:#3975e8}.pending-paste-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}.pending-paste-row textarea{min-height:58px;resize:vertical;border:1px solid #dfe5ee;border-radius:9px;padding:9px 10px;color:#34445c;background:#fff;font:inherit;font-size:12px;line-height:1.5;outline:none}.pending-paste-row textarea:focus{border-color:#8fb0ea;box-shadow:0 0 0 3px #3975e814}.pending-group-message{padding:8px 10px;border-radius:7px;color:#8b681f;background:#fff6dd;font-size:11px}.pending-task-actions{position:sticky;bottom:0;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:10px;border-top:1px solid #e4e9f1;background:#fbfcfe}.pending-task-actions>span{margin-right:auto;color:#7d899b;font-size:11px}.pending-task-actions>span strong{color:#3975e8}.pending-session-bar{position:sticky;z-index:20;bottom:12px;display:flex;align-items:center;gap:16px;padding:12px 14px;border:1px solid #bad9c9;border-radius:12px;background:#f4fdf8f5;box-shadow:0 12px 35px #1f5b3d29;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.pending-session-bar>div:first-child{min-width:0;display:grid;gap:3px;flex:1}.pending-session-bar strong{color:#176a48;font-size:13px}.pending-session-bar span{color:#708277;font-size:11px}.pending-session-actions{display:flex;gap:8px}.pending-undo-button{color:#a25e16;border-color:#efcf9e;background:#fffaf1}.rule-list{padding:8px 24px}.rule-row>div{flex:1;display:flex;flex-direction:column;gap:5px}.rule-row small{color:#929cab;font-size:11px}.toggle{border:1px solid #dce2eb;background:#fff;color:#8993a4;padding:7px 11px;border-radius:999px;font-size:11px}.toggle.on{border-color:#a8dec9;color:#168b62;background:#edfbf5}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#151f3347;display:grid;place-items:center;padding:20px}.modal-card{width:min(510px,100%);background:#fff;border-radius:18px;padding:25px;box-shadow:0 25px 80px #16274833;display:flex;flex-direction:column;gap:16px}.modal-card label{display:flex;flex-direction:column;gap:7px;color:#4c5970;font-size:12px;font-weight:600}.modal-card input,.modal-card select{border:1px solid #dfe4ec;border-radius:10px;padding:11px 12px;outline:none;background:#fff}.check-options{display:flex;gap:16px;flex-wrap:wrap}.check-options label{flex-direction:row;align-items:center;font-weight:500}.modal-hint{margin:-3px 0 0;color:#8993a4;font-size:11px}@media (max-width: 820px){.app-body{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid #e9ecf2;flex-direction:row;overflow-x:auto;padding:8px 12px}.nav-item{white-space:nowrap}.sidebar-footer{display:none}.workspace{width:min(100% - 24px,1180px);padding-top:25px}.page-heading{align-items:flex-start;flex-direction:column}.heading-actions{width:100%;flex-wrap:wrap}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-split{grid-template-columns:1fr}.login-visual{display:none}.auth-page{grid-template-columns:1fr}.login-panel{padding:35px 25px}.topbar-inner{width:calc(100% - 24px)}.connection-state{display:none}}@media (max-width: 620px){.pending-task-summary{grid-template-columns:22px minmax(0,1fr) auto;padding:12px 10px}.pending-task-summary .pending-stage{display:none}.pending-task-summary>b{min-width:42px}.pending-task-body{padding:11px 10px 13px}.pending-student-chips{grid-template-columns:repeat(2,minmax(0,1fr))}.pending-paste-row{grid-template-columns:1fr}.pending-task-actions{align-items:stretch;flex-direction:column}.pending-task-actions>span{width:100%;margin:0}.pending-task-actions button{width:100%}.pending-session-bar{bottom:7px;align-items:stretch;flex-direction:column;gap:9px}.pending-session-actions{display:grid;grid-template-columns:1fr 1.4fr}.pending-session-actions button{width:100%}}@media (max-width: 960px){.role-grid{grid-template-columns:1fr;max-width:540px;margin:auto}.role-content>.brand{margin-bottom:32px}.auth-page{grid-template-columns:1fr}.login-visual{display:none}.subject-grid{grid-template-columns:repeat(4,1fr)}.metric-grid,.overview-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 680px){.topbar{height:61px}.topbar-inner,.workspace{width:min(100% - 24px,1180px)}.workspace{padding:26px 0 50px}.connection-state,.user-chip>div{display:none}.user-chip{border-left:0;padding-left:0}.page-heading{align-items:flex-start;flex-direction:column;gap:14px}.date-picker{width:100%}.date-picker input{flex:1}.subject-grid{grid-template-columns:repeat(4,1fr)}.subject-button{min-height:64px}.records-header,.submit-bar{padding:17px}.submit-bar{align-items:stretch;flex-direction:column;gap:12px}.submit-bar .primary-button{width:100%}.metric-grid{grid-template-columns:1fr 1fr;gap:9px}.metric-card{padding:14px}.metric-icon{width:34px;height:34px}.metric-card strong{font-size:20px}.overview-grid,.dashboard-split{grid-template-columns:1fr}.role-page{padding:25px 14px}.role-card{padding:18px}.hero-copy h1{font-size:34px}.login-panel{padding:80px 25px 40px}}@media (max-width: 410px){.subject-grid{grid-template-columns:repeat(3,1fr)}.metric-grid{grid-template-columns:1fr}.brand strong{font-size:15px}}.permission-hint{padding:18px 22px;color:#6c7789;font-size:13px}.task-matrix-modal{width:min(980px,100%);max-height:calc(100vh - 36px);overflow:auto}.task-matrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.subject-task-card{border:1px solid #e6eaf1;border-radius:13px;overflow:hidden;background:#fbfcfe}.subject-task-card header{display:flex;align-items:center;gap:9px;padding:12px 14px;border-bottom:1px solid #edf0f5;background:color-mix(in srgb,var(--subject-color) 5%,white)}.subject-task-card header>span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;color:var(--subject-color);background:color-mix(in srgb,var(--subject-color) 13%,white);font-weight:800}.subject-task-card header strong{flex:1;font-size:13px}.subject-task-card header small{color:#8b95a5;font-size:10px}.subject-task-card>div{padding:8px;display:flex;flex-direction:column;gap:5px}.task-type-choice{position:relative;display:grid;grid-template-columns:1fr auto;border:1px solid transparent;border-radius:9px;background:#fff}.task-type-choice.selected{border-color:color-mix(in srgb,var(--subject-color) 35%,#dfe4ec);background:color-mix(in srgb,var(--subject-color) 4%,white)}.task-type-choice>button:first-child{border:0;background:transparent;padding:9px;display:flex;align-items:center;gap:9px;text-align:left;color:#566277}.task-type-choice i{width:20px;height:20px;display:grid;place-items:center;border:1.5px solid #d4dbe6;border-radius:6px;color:#fff;font-style:normal}.task-type-choice.selected i{border-color:var(--subject-color);background:var(--subject-color)}.detail-button{border:0;background:transparent;color:#78859a;padding:8px 10px}.task-detail-fields{grid-column:1 / -1;display:grid;gap:7px;padding:0 9px 10px 38px}.task-detail-fields input,.task-detail-fields textarea{border:1px solid #dfe4ec;border-radius:8px;padding:8px 9px;font:inherit;resize:vertical}.task-detail-fields textarea{min-height:55px}.inline-checks{display:flex;gap:12px;flex-wrap:wrap}.inline-checks label,.inline-check{display:flex!important;flex-direction:row!important;align-items:center;gap:5px!important;font-weight:500!important}.matrix-submit{position:sticky;bottom:-25px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin:2px -25px -25px;padding:15px 25px;border-top:1px solid #e8ecf2;background:#fffffff5}.matrix-submit p{margin:0;color:#788397;font-size:12px}.task-window-options{display:grid;grid-template-columns:180px 180px 1fr;align-items:end;gap:12px;padding:12px;border:1px solid #e5eaf2;border-radius:11px;background:#f8faff}.task-window-options label{display:flex;flex-direction:column;gap:6px;color:#566277;font-size:11px;font-weight:600}.task-window-options select,.task-window-options input{border:1px solid #dfe4ec;border-radius:8px;padding:9px;background:#fff}.task-window-options p{grid-column:1 / -1;margin:0;color:#778398;font-size:11px;line-height:1.6}.date-quick-buttons{grid-column:1 / -1;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.date-quick-buttons:before{content:"快捷设置";color:#7b8799;font-size:10px;font-weight:700;margin-right:2px}.date-quick-buttons button{border:1px solid #d8e0ec;border-radius:999px;padding:6px 11px;color:#52647c;background:#fff;font-size:11px;cursor:pointer}.date-quick-buttons button:hover{border-color:#9ab5e9;color:var(--primary);background:#f3f7ff}.settings-tabs{display:flex;gap:7px;padding:5px;border-radius:12px;background:#eaf0f8;width:fit-content}.settings-tabs button{display:flex;align-items:center;gap:7px;border:0;border-radius:9px;padding:9px 14px;color:#68758a;background:transparent}.settings-tabs button.active{color:var(--primary);background:#fff;box-shadow:0 3px 10px #2c3d5f1a;font-weight:700}.database-page>.page-heading{margin-bottom:18px}.database-page .management-card{margin-top:0}.management-card{padding:23px}.management-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:15px}.file-button{cursor:pointer}.file-button input{display:none}.import-paste{width:100%;min-height:120px;border:1px solid #dfe4ec;border-radius:10px;padding:12px;resize:vertical;outline:none;font:12px/1.7 monospace}.import-paste:focus{border-color:#91afe9}.loading-state{min-height:120px;display:grid;place-items:center;gap:10px;color:var(--muted);text-align:center;padding:28px}.workbench-stack{display:grid;gap:16px}.workbench-panel-tabs{position:sticky;top:76px;z-index:12;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:7px;border:1px solid #dfe6f2;border-radius:14px;background:#f7fafff5;box-shadow:0 8px 24px #27407014;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.workbench-panel-tabs button{display:flex;min-height:43px;align-items:center;justify-content:center;gap:7px;border:0;border-radius:10px;color:#64748b;background:transparent;font-weight:650;cursor:pointer}.workbench-panel-tabs button>span{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;color:#52709f;background:#e8eef8;font-size:11px}.workbench-panel-tabs button>b{display:grid;min-width:21px;height:21px;place-items:center;border-radius:999px;padding:0 5px;color:#825300;background:#ffedc2;font-size:10px}.workbench-panel-tabs button.active{color:#fff;background:var(--primary);box-shadow:0 5px 14px #3975e83d}.workbench-panel-tabs button.active>span{color:var(--primary);background:#fff}.result-workbench-card .report-editor{min-height:320px}.result-modal-backdrop{z-index:80}.workbench-result-modal{width:min(720px,100%);max-height:calc(100vh - 40px)}.workbench-result-modal .card-title-row{align-items:flex-start}.workbench-result-modal h2{margin:3px 0 4px}.workbench-result-modal p{margin:0;color:var(--muted)}.workbench-result-modal .report-editor{min-height:320px;resize:vertical;font-size:14px;line-height:1.75}.modal-result-actions{display:flex;justify-content:flex-end;gap:9px}.workbench-card{display:grid;gap:14px}.workbench-card .card-title-row{align-items:flex-start}.workbench-card .card-title-row h2{margin:4px 0 2px}.workbench-card .card-title-row p{margin:0;color:var(--muted)}.workbench-status-message{display:flex;align-items:center;gap:9px;margin-top:-6px;padding:10px 13px;border:1px solid #cde5d8;border-radius:10px;color:#176a48;background:#f1fbf6;font-size:12px}.workbench-status-message span{flex:1}.workbench-status-message button{border:0;color:#6e8a7a;background:transparent;font-size:18px;cursor:pointer}.workbench-save-hint{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:-3px;padding:9px 11px;border:1px solid #dce6f3;border-radius:9px;color:#60738f;background:#f7faff;font-size:12px}.workbench-save-hint small{color:#8795a9;font-size:11px}.workbench-save-hint.is-dirty{border-color:#f0d7a5;color:#8a5a08;background:#fffaf0}.workbench-save-hint.is-dirty small{color:#a47a35}.unsaved-pill{display:inline-flex;align-items:center;width:max-content;padding:4px 8px;border-radius:999px;color:#9a5b00;background:#fff1d6;font-size:10px;font-style:normal;font-weight:700;white-space:nowrap}.workbench-task-picker{overflow:hidden;border:1px solid #e5eaf2;border-radius:11px;background:#fff}.workbench-task-picker.expanded{border-color:#cbdaf2;box-shadow:0 8px 22px #2c4d7e12}.workbench-task-picker-summary{width:100%;display:grid;grid-template-columns:24px minmax(0,1fr) auto auto;gap:9px;align-items:center;border:0;padding:12px 13px;color:inherit;background:#fff;text-align:left;cursor:pointer}.workbench-task-picker-summary:hover{background:#f8faff}.workbench-task-picker-summary>span:nth-child(2){min-width:0;display:grid;gap:3px}.workbench-task-picker-summary strong{overflow:hidden;color:#172b49;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.workbench-task-picker-summary small{color:#8792a4;font-size:10px}.workbench-task-picker-summary>b{color:#9a5b00;font-size:11px;white-space:nowrap}.submission-check-picker.state-unreviewed .workbench-task-picker-summary>b{color:#8a5a08}.submission-check-picker.state-all_submitted .workbench-task-picker-summary>b{color:#19704c}.submission-check-picker.state-has_missing .workbench-task-picker-summary>b{color:#a44235}.workbench-task-picker-body{display:grid;gap:10px;padding:11px 13px 13px 46px;border-top:1px solid #e9edf4;background:#fbfcfe}.submission-state-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.submission-state-options button{display:grid;gap:3px;min-width:0;padding:10px 11px;border:1px solid #dfe5ee;border-radius:9px;color:#53657f;background:#fff;text-align:left;cursor:pointer}.submission-state-options button:hover{border-color:#b9c9e1;background:#f8faff}.submission-state-options button.selected{border-color:#79a0df;color:#245ba9;background:#edf4ff;box-shadow:0 0 0 2px #3975e814}.submission-state-options strong{font-size:12px}.submission-state-options small{color:#8795a9;font-size:10px;line-height:1.4}.submission-state-options button.selected small{color:#5d78a2}.workbench-picker-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}.workbench-picker-input-row textarea{min-height:58px;resize:vertical;border:1px solid #dfe5ee;border-radius:9px;padding:9px 10px;color:#34445c;background:#fff;font:inherit;font-size:12px;line-height:1.5;outline:none}.workbench-picker-input-row textarea:focus{border-color:#8fb0ea;box-shadow:0 0 0 3px #3975e814}.submission-preview{position:sticky;z-index:8;bottom:82px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;border:1px solid #bcd8c9;border-radius:11px;background:#f3fcf7f7;box-shadow:0 8px 24px #1f5b3d1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.submission-preview>div{display:flex;flex-wrap:wrap;gap:7px 13px;align-items:center}.submission-preview span{color:#60766a;font-size:11px}.submission-preview.has-error{display:grid;border-color:#efc2b9;background:#fff7f5}.submission-preview.has-error p{margin:0;color:#a33b2e;font-size:12px}.workbench-section-divider{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,auto) auto;gap:10px;align-items:center;margin-top:8px;padding-top:15px;border-top:1px solid #e7ebf2}.workbench-section-divider>div{display:grid;gap:3px}.workbench-section-divider small{color:var(--muted);font-size:11px}.workbench-pending-groups{display:grid;gap:8px}.workbench-flow-section{display:grid;gap:9px;padding:13px;border:1px solid #e3e9f2;border-radius:12px;background:#fbfcfe}.workbench-flow-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.workbench-flow-heading>div{display:grid;gap:3px}.workbench-flow-heading strong{color:#263a58;font-size:13px}.workbench-flow-heading small{color:#7f8ba0;font-size:11px}.workbench-flow-heading>b{min-width:max-content;padding:4px 8px;border-radius:999px;color:#9a5b00;background:#fff0d2;font-size:10px}.submission-flow-section{border-color:#f0dfbf;background:#fffdf8}.grading-flow-section{border-color:#dbe4f2;background:#f8faff}.grading-flow-section .workbench-flow-heading>b{color:#486b9e;background:#e9f0fb}.correction-entry-section{border-style:dashed;border-color:#cfdcf1;background:#fbfdff}.correction-flow-section{border-color:#dfd3f0;background:#fcfaff}.correction-flow-section .workbench-flow-heading>b{color:#7653a9;background:#eee5fa}.compact-empty-state{margin:0;padding:11px 12px;border-radius:8px;background:#ffffffb8;font-size:11px}.workbench-advanced-closure{border:1px solid #e2e7ef;border-radius:11px;background:#fafbfc}.workbench-advanced-closure>summary{padding:11px 13px;color:#68778e;font-size:12px;font-weight:700;cursor:pointer}.workbench-advanced-closure[open]{padding-bottom:10px}.workbench-advanced-closure[open]>summary{border-bottom:1px solid #e8ecf2}.workbench-advanced-closure .workbench-flow-section{margin:10px 10px 0}.workbench-session-bar{position:sticky;z-index:20;bottom:10px;display:flex;align-items:center;gap:16px;padding:11px 13px;border:1px solid #bad9c9;border-radius:12px;background:#f4fdf8f7;box-shadow:0 12px 35px #1f5b3d29;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.workbench-session-bar>div:first-child{min-width:0;display:grid;gap:2px;flex:1}.workbench-session-bar strong{color:#176a48;font-size:13px}.workbench-session-bar span{color:#708277;font-size:10px}.daily-tasks-page{padding-bottom:8px}.closure-view-switch{display:inline-flex;align-self:flex-start;gap:4px;padding:4px;border:1px solid #dfe6f0;border-radius:10px;background:#f7f9fc}.closure-view-switch button{border:0;border-radius:7px;padding:8px 14px;color:#6d7b90;background:transparent;font-size:12px;font-weight:700;cursor:pointer}.closure-view-switch button.active{color:#245bc0;background:#eaf2ff;box-shadow:0 1px 3px #245bc01f}.closure-view-switch button:focus-visible{outline:2px solid #3975e8;outline-offset:1px}.advanced-task-management>.form-message{margin:0}.workbench-homework-grid{display:grid;gap:8px}.workbench-grid-head{display:grid;grid-template-columns:minmax(92px,.7fr) minmax(120px,1fr) minmax(120px,.85fr) minmax(240px,2fr);gap:10px;align-items:center}.workbench-grid-head{padding:0 12px;color:var(--muted);font-size:12px}.workbench-grid-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(120px,.85fr) minmax(220px,2fr) auto;gap:10px;align-items:center;padding:8px 12px;border:1px solid #edf1f7;border-radius:9px;background:#fbfcfe}.workbench-grid-row input,.workbench-check-row textarea{width:100%;min-height:42px}.workbench-check-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,2fr);gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.workbench-check-row span{display:grid;gap:4px}.workbench-check-row small{color:var(--muted)}.step-number{display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;border-radius:50%;background:var(--primary, #3975e8);color:#fff;font-weight:700;font-size:13px}.pending-bulk-bar{display:flex;gap:10px;align-items:center;padding-top:8px}.pending-action-help{margin:-2px 0 3px;color:var(--muted);font-size:12px}.pending-select-row{display:grid;grid-template-columns:22px 1fr auto;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.pending-select-row small{color:var(--muted)}.advanced-task-management{margin-top:4px}.schedule-strip{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 12px;border-radius:10px;background:#f5f8ff;color:var(--muted);font-size:12px}.schedule-chip{padding:5px 9px;border-radius:999px;background:#e7efff;color:#2d5eb5}.next-schedule-strip{background:#fbf7ff}.schedule-chip.next{background:#eee4ff;color:#7653a9}.schedule-chip.override{background:#fff1d6;color:#9a5b00}.subject-tabs{display:flex;flex-wrap:wrap;gap:8px}.subject-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 12px;color:var(--muted);cursor:pointer}.subject-tabs button.active{border-color:#3975e8;background:#edf4ff;color:#245bc0}.subject-homework-group{display:grid;grid-template-columns:minmax(92px,.7fr) minmax(0,3fr);gap:0;border:1px solid var(--line);border-radius:12px;overflow:visible;background:#fff}.subject-homework-subject-cell{display:flex;flex-direction:column;gap:5px;justify-content:flex-start;padding:17px 12px;color:#23314d;background:#f5f8ff;border-radius:12px 0 0 12px}.subject-homework-subject-cell strong{font-size:15px}.subject-homework-subject-cell span{color:var(--muted);font-size:11px;line-height:1.4}.subject-status-switch{display:grid;gap:5px;margin-top:7px}.subject-status-switch button{width:100%;border:1px solid #d7e0ec;border-radius:7px;padding:6px 7px;color:#66758c;background:#fffc;font-size:11px;text-align:left;cursor:pointer}.subject-status-switch button:hover{border-color:#99b6e8;color:#285eb3}.subject-status-switch button.active{border-color:#3975e8;color:#245bc0;background:#eaf2ff;font-weight:700;box-shadow:inset 3px 0 #3975e8}.subject-status-switch button:disabled{cursor:wait;opacity:.65}.subject-status-note{display:flex;min-height:70px;align-items:center;justify-content:center;padding:14px;border:1px dashed #d9e1ec;border-radius:9px;color:#7a8799;background:#fafbfd;font-size:13px}.subject-confirmation-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:12px 0;padding:13px 15px;border:1px solid #b9dfcc;border-radius:12px;background:#f0fbf5}.subject-confirmation-summary.needs-attention{border-color:#f1d19c;background:#fff9ed}.subject-confirmation-summary>div:first-child{display:grid;gap:3px}.subject-confirmation-summary strong{color:#176b43}.subject-confirmation-summary.needs-attention strong{color:#9a5b08}.subject-confirmation-summary>div:first-child span{color:var(--muted);font-size:12px}.subject-confirmation-counts{display:flex;flex-wrap:wrap;gap:7px}.subject-confirmation-counts span{padding:5px 8px;border-radius:999px;background:#fffc;color:#526176;font-size:11px;white-space:nowrap}.subject-confirmation-counts span.pending{color:#a24c00;background:#fff0d5}.subject-state-heading{display:flex;align-items:center;justify-content:space-between;gap:6px}.subject-state-pill{padding:3px 7px;border-radius:999px;font-size:10px;color:#8b5a0a;background:#fff0cf}.subject-state-pill.published{color:#176b43;background:#dff6e9}.subject-state-pill.no_homework{color:#56657a;background:#e9eef5}.subject-last-update{display:block;margin-top:5px;color:#738196;font-size:10px}.subject-status-actions{display:grid;gap:5px;margin-top:8px}.subject-status-actions button{width:100%}.add-today-subject{display:flex;align-items:end;gap:10px;margin:12px 0;padding:12px;border:1px dashed #cbd7e7;border-radius:10px;background:#fbfcfe}.add-today-subject label{flex:1;display:grid;gap:5px;color:#526176;font-size:12px}.long-term-mode-panel{display:grid;align-content:start;gap:8px;padding:13px;border:1px solid #d8e3f2;border-radius:12px;background:#f8fbff}.long-term-mode-panel>strong{color:#29476f;font-size:13px}.long-term-mode-panel .radio-option{display:flex;align-items:flex-start;gap:9px;margin:0;padding:10px 11px;border:1px solid #dce5f1;border-radius:10px;color:#52647c;background:#fff;font-weight:500;cursor:pointer}.long-term-mode-panel .radio-option:has(input:checked){border-color:#8eb0e9;background:#f1f6ff;box-shadow:inset 3px 0 #3975e8}.long-term-mode-panel .radio-option input[type=radio]{flex:0 0 auto;width:16px;min-width:16px;height:16px;min-height:16px;margin:2px 0 0;accent-color:var(--primary)}.long-term-mode-option>span{display:grid;gap:2px}.long-term-mode-option b{color:#314d76;font-size:12px}.long-term-mode-option small{color:#7b8ba2;font-size:11px;font-weight:400}.long-term-preview{display:grid;gap:7px;padding:14px;border:1px solid #9fc1f1;border-radius:12px;background:linear-gradient(135deg,#f0f6ff,#f9fbff);color:#40516a;font-size:12px}.published-task-editor{display:grid;gap:7px;margin:3px 5px 7px;padding:10px;border:1px solid #cfe0fa;border-radius:9px;background:#f4f8ff}.published-task-editor>strong{color:#31598f;font-size:12px}.published-task-edit-row{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(220px,2fr) auto auto;gap:8px;align-items:center}.published-task-edit-row>span{color:#60718a;font-size:12px}.published-task-edit-row input{min-height:38px}.danger-action-button{min-height:36px;padding:0 11px;border:1px solid #efb4b0;border-radius:8px;color:#b42318;background:#fff5f4;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}.danger-action-button:hover{border-color:#d96b63;color:#8f1d15;background:#ffeae8}.danger-action-button:disabled{opacity:.55;cursor:wait}.public-long-term-list{display:grid;gap:9px}.public-long-term-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #d8e4f4;border-radius:11px;background:#f7faff}.public-long-term-item.overdue{border-color:#efc2bd;background:#fff6f5}.public-long-term-item>div:first-child{display:grid;gap:3px}.public-long-term-item>div:first-child span{color:#44536a}.public-long-term-item>div:first-child small{color:var(--muted)}.subject-homework-rows{display:grid;gap:6px;padding:7px}.subject-homework-rows .workbench-grid-row{border:0;background:transparent}.workbench-project-name{color:#334155;font-weight:600}.project-select{width:100%;min-height:38px;border:1px solid #dfe5ef;border-radius:8px;padding:8px 10px;background:#fff;color:#334155}.scope-select{width:100%;min-height:38px;border:1px solid #d8e2f1;border-radius:8px;padding:8px 9px;color:#31598f;background:#f7faff}.scope-select:disabled{opacity:1;color:#7653a9;border-color:#dfd0fa;background:#faf7ff;cursor:default}.scope-fixed{min-height:38px;display:flex;align-items:center;padding:8px 10px;border-radius:8px;color:#8290a5;background:#f6f8fb;font-size:12px}.project-custom-editor{display:grid;gap:5px}.project-name-input{min-height:36px!important}.project-save-option{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px;white-space:nowrap}.project-save-option input{width:auto;min-height:0!important}.project-back-button{width:fit-content;padding:0;font-size:11px}.remove-draft-row{display:grid;width:28px;height:28px;place-items:center;border:0;border-radius:50%;color:#94a3b8;background:transparent;font-size:20px;line-height:1;cursor:pointer}.remove-draft-row:hover,.remove-draft-row:focus-visible{color:#b42318;background:#fff0ef;outline:none}.subject-add-row{position:relative;padding:2px 12px 5px}.long-term-homework-entry{display:flex;align-items:center;gap:12px;margin-top:6px;padding:12px 14px;border:1px dashed #b9c9df;border-radius:11px;background:#f8fbff}.long-term-homework-entry span{color:var(--muted);font-size:13px}.long-term-homework-form{display:grid;min-width:0;gap:14px;padding:16px;border:1px solid #dce6f4;border-radius:14px;background:linear-gradient(135deg,#fbfdff,#f4f8ff)}.long-term-form-section{display:grid;min-width:0;gap:11px;padding:14px;border:1px solid #e0e8f3;border-radius:12px;background:#ffffffad}.long-term-section-heading{display:grid;gap:3px}.long-term-section-heading strong{color:#29476f;font-size:13px}.long-term-section-heading span{color:#7a899d;font-size:11px;font-weight:400;line-height:1.5}.long-term-fields-grid{display:grid;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.long-term-field{display:grid;align-content:start;gap:6px;min-width:0;color:#334155;font-size:13px;font-weight:650}.long-term-homework-form .long-term-field>input:not([type=checkbox]):not([type=radio]),.long-term-homework-form .long-term-field>select,.long-term-homework-form .long-term-field>textarea{width:100%;min-height:40px;border:1px solid #d7e0ec;border-radius:9px;padding:9px 10px;background:#fff;color:#334155}.long-term-homework-form .long-term-field>input:focus,.long-term-homework-form .long-term-field>select:focus,.long-term-homework-form .long-term-field>textarea:focus{border-color:#83a9e8;outline:0;box-shadow:0 0 0 3px #3975e817}.long-term-homework-form textarea{min-height:88px;resize:vertical}.long-term-form-heading{grid-column:1 / -1;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.long-term-form-heading p,.long-term-form-actions p{margin:4px 0 0;color:var(--muted);font-size:13px;font-weight:400}.long-term-once-pill{flex:none;padding:5px 9px;border-radius:999px;color:#166534;background:#dcfce7;font-size:12px;font-weight:700}.long-term-content-field,.long-term-project-field{grid-column:span 2}.long-term-scope-field{grid-column:span 1}.long-term-scope-section{grid-template-columns:minmax(0,1fr)}.long-term-students-field{grid-column:1 / -1}.long-term-students-field small{color:var(--muted);font-weight:400}.long-term-form-actions{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:2px}.project-picker{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px;padding:8px;border:1px solid #d9e5fa;border-radius:9px;background:#f7faff}.project-picker button{border:1px solid #c8d8f2;border-radius:999px;padding:5px 10px;color:#285cae;background:#fff;cursor:pointer}.project-picker button:hover{background:#edf4ff}.small-icon{width:30px;height:30px;padding:0;font-size:17px}.schedule-edit-bar{display:flex;flex-wrap:wrap;align-items:end;gap:10px;padding:10px 12px;border:1px dashed #b8c8e6;border-radius:10px;background:#fbfdff}.schedule-edit-bar label{display:grid;gap:4px;color:var(--muted);font-size:12px}@media (max-width: 720px){.workbench-panel-tabs{top:68px;display:flex;overflow-x:auto}.workbench-panel-tabs button{min-width:112px;white-space:nowrap}.workbench-grid-head{display:none}.workbench-grid-row,.workbench-check-row{grid-template-columns:1fr;gap:6px}.long-term-homework-entry,.long-term-form-actions{align-items:stretch;flex-direction:column}.long-term-fields-grid{grid-template-columns:1fr}.long-term-form-heading,.long-term-content-field,.long-term-project-field,.long-term-students-field,.long-term-form-actions{grid-column:1}.subject-homework-group{grid-template-columns:1fr}.subject-homework-subject-cell{border-radius:12px 12px 0 0;padding:11px 13px}.subject-status-switch{grid-template-columns:repeat(3,minmax(0,1fr))}.subject-status-switch button{text-align:center}.published-task-edit-row{grid-template-columns:1fr}.pending-select-row{grid-template-columns:22px 1fr}.pending-select-row small{grid-column:2}.workbench-task-picker-summary{grid-template-columns:23px minmax(0,1fr) auto;padding:11px 9px}.workbench-task-picker-summary .unsaved-pill{grid-column:2 / -1}.workbench-task-picker-summary>b{font-size:10px}.workbench-task-picker-body{padding:10px 9px 12px}.submission-state-options,.workbench-picker-input-row{grid-template-columns:1fr}.submission-preview{position:static;align-items:stretch;flex-direction:column}.submission-preview .primary-button{width:100%}.workbench-save-hint{align-items:stretch;flex-direction:column;gap:3px}.workbench-section-divider{grid-template-columns:1fr}.workbench-section-divider .primary-button,.workbench-section-divider select{width:100%}.workbench-flow-heading{align-items:stretch;flex-direction:column}.workbench-flow-heading .primary-button{width:100%}.workbench-flow-heading>b{width:max-content}.workbench-session-bar{bottom:7px;align-items:stretch;flex-direction:column;gap:8px}.workbench-session-bar .pending-session-actions{grid-template-columns:1fr 1fr}.workbench-session-bar .pending-session-actions button:last-child{grid-column:1 / -1}}.permission-student-hint{display:flex;justify-content:space-between;gap:12px;margin-top:14px;padding:11px 13px;border:1px solid #dbe6f8;border-radius:10px;background:#f7faff;color:var(--muted);font-size:12px}.permission-student-hint strong{color:var(--ink)}.assignment-list>.assignment-admin-row{margin-top:6px;padding:9px 10px;border:1px dashed #f1c8c8;border-radius:9px;background:snow;grid-template-columns:1fr auto}.assignment-list>.assignment-admin-row span{color:#6f7787}.assignment-list>.assignment-merged-row{display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:14px}.assignment-person{display:flex;flex-direction:column;gap:4px}.assignment-person small{color:#8a95a5}.assignment-roles{display:flex;flex-wrap:wrap;gap:6px}.assignment-role-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid #dbe6f8;border-radius:999px;background:#f7faff;color:#53647d}.assignment-role-chip button{width:18px;height:18px;padding:0;border:0;border-radius:50%;background:transparent;color:#2c65cb;cursor:pointer}.assignment-role-chip button:hover{background:#e5efff}.summary-switcher{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 10px;padding:5px;width:fit-content;border:1px solid #e2e9f4;border-radius:12px;background:#f4f7fc}.summary-switcher button{min-width:58px;border:0;border-radius:9px;padding:8px 15px;color:#68778f;background:transparent;font-size:12px;cursor:pointer;transition:.18s ease}.summary-switcher button:hover{color:var(--primary);background:#eaf1ff}.summary-switcher button.active{color:var(--primary);background:#fff;font-weight:700;box-shadow:0 3px 10px #2c5baa1f}.summary-current-label{display:flex;align-items:center;gap:7px;margin-bottom:9px;color:#7a879a;font-size:11px}.summary-current-label strong{color:#2c5db4}.summary-current-label span{color:#9aa5b5}.management-card:has(.import-mode-bar){padding:0;overflow:hidden;background:#f7f9fd;border-color:#dfe7f3;box-shadow:0 18px 48px #223f6f14}.management-card:has(.import-mode-bar)>.card-title-row{margin:0;padding:28px 30px 24px;align-items:flex-start;background:linear-gradient(135deg,#f0f6ff,#fff 72%);border-bottom:1px solid #e2eaf6}.management-card:has(.import-mode-bar)>.card-title-row h2{margin-bottom:8px;font-size:22px;letter-spacing:-.02em}.management-card:has(.import-mode-bar)>.card-title-row p{max-width:650px;margin:0;color:#71809a;line-height:1.7}.management-card:has(.import-mode-bar)>.card-title-row .heading-actions{padding-top:2px}.management-card:has(.import-mode-bar) .heading-actions .secondary-button{min-height:40px;border-color:#d5e0f1;background:#ffffffe0}.management-card:has(.import-mode-bar) .heading-actions .file-button{color:#2864dc;border-color:#bcd0f2;background:#edf4ff}.management-card:has(.import-mode-bar) .import-mode-bar{margin:0;padding:20px 30px 18px;background:#fff;border-bottom:1px solid #e9eef6;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(220px,1fr) minmax(170px,.65fr);align-items:end;gap:14px}.management-card:has(.import-mode-bar) .import-mode-bar label{gap:7px;font-size:12px;font-weight:700;color:#495a75}.management-card:has(.import-mode-bar) .import-mode-bar select{min-height:40px;border-color:#d7e0ed;border-radius:10px;padding:9px 11px;color:#263752;background:#fbfcfe}.management-card:has(.import-mode-bar) .import-mode-bar p{grid-column:1 / -1;min-width:0;padding:10px 12px;border-radius:9px;background:#f6f8fc;color:#71809a;font-size:12px;line-height:1.7}.management-card:has(.import-mode-bar)>.import-paste{display:block;width:calc(100% - 60px);min-height:150px;margin:22px 30px 0;padding:15px 17px;border-color:#d6e0ed;border-radius:12px;background:#fff;color:#263752;line-height:1.8;box-shadow:inset 0 1px 2px #1b325a06}.management-card:has(.import-mode-bar)>.import-paste::placeholder{color:#9aa7ba}.management-card:has(.import-mode-bar)>.import-summary{margin:0 30px;padding:16px 2px;align-items:center;gap:9px;border-bottom:1px solid #e8edf5}.management-card:has(.import-mode-bar)>.import-summary span{padding:6px 10px;border-radius:999px;background:#f1f4f9;color:#71809a}.management-card:has(.import-mode-bar)>.import-summary span:first-child{padding-left:0;background:transparent;color:#52647c}.management-card:has(.import-mode-bar)>.import-summary strong{margin:0 3px;color:#2864dc;font-size:16px}.management-card:has(.import-mode-bar)>.preview-table{width:calc(100% - 60px);max-height:320px;margin:0 30px 16px;background:#fff;border-color:#dbe4f1;border-radius:12px}.management-card:has(.import-mode-bar)>.preview-table th{background:#f3f6fb;color:#53647d;font-weight:700}.management-card:has(.import-mode-bar)>.preview-table td{color:#52647c}.management-card:has(.import-mode-bar)>.management-actions{margin:0;padding:18px 30px 22px;align-items:center;border-top:1px solid #e6ebf3;background:#fff}.management-card:has(.import-mode-bar)>.management-actions .primary-button,.management-card:has(.import-mode-bar)>.management-actions .secondary-button{min-height:42px}.management-card:has(.import-mode-bar)>.import-history-card{margin:0;border:0;border-top:1px solid #e0e7f2;border-radius:0;box-shadow:none;background:#fbfcfe}.management-card:has(.import-mode-bar)>.import-history-card .card-title-row{padding:22px 30px 10px}.management-card:has(.import-mode-bar)>.import-history-card .import-history-list{padding:0 30px 22px}.management-card:has(.import-mode-bar)>.roster-summary{margin:0;padding:22px 30px 30px;background:#fff;border-top:1px solid #e0e7f2}.management-card:has(.import-mode-bar)>.roster-summary .roster-filter-bar{background:#f7f9fd}@media (max-width: 820px){.management-card:has(.import-mode-bar)>.card-title-row{padding:22px 20px 20px}.management-card:has(.import-mode-bar) .import-mode-bar{grid-template-columns:1fr;padding:17px 20px}.management-card:has(.import-mode-bar)>.import-paste,.management-card:has(.import-mode-bar)>.preview-table{width:calc(100% - 40px);margin-left:20px;margin-right:20px}.management-card:has(.import-mode-bar)>.import-summary{margin:0 20px}.management-card:has(.import-mode-bar)>.management-actions{padding:16px 20px 20px;flex-wrap:wrap;justify-content:flex-start}.management-card:has(.import-mode-bar)>.import-history-card .card-title-row,.management-card:has(.import-mode-bar)>.import-history-card .import-history-list,.management-card:has(.import-mode-bar)>.roster-summary{padding-left:20px;padding-right:20px}}.task-type-help{color:#7f8a9c;font-size:12px;align-self:end;padding-bottom:10px}.task-type-status{border:0;background:transparent;cursor:pointer;color:#168b75;font-size:12px}.task-type-status.disabled{color:#9aa3b1}.import-history-list{display:grid;gap:8px}.import-history-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}.import-history-row span{display:grid;gap:4px}.import-history-row small{color:var(--muted)}.import-summary{display:flex;gap:16px;flex-wrap:wrap;padding:12px 2px;color:#778398;font-size:12px}.success-text{color:#168b62!important}.error-text{color:#c24b4b!important}.form-message{color:#526075;background:#f2f6fb;border-radius:8px;padding:9px 11px;font-size:12px}.preview-table{max-height:260px;overflow:auto;border:1px solid #e6eaf1;border-radius:10px}.preview-table table{width:100%;border-collapse:collapse}.preview-table th,.preview-table td{padding:9px 11px;text-align:left;border-bottom:1px solid #edf0f5;font-size:11px}.preview-table th{position:sticky;top:0;background:#f7f9fc;color:#7e899a}.status-pill{font-size:10px;color:#8a94a5;background:#f1f3f6;border-radius:999px;padding:5px 8px}.status-pill.enabled{color:#168b62;background:#eaf9f3}.secondary-button.compact{min-height:33px;padding:0 10px;font-size:11px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-card textarea{border:1px solid #dfe4ec;border-radius:10px;padding:10px 12px;min-height:80px;outline:none}.task-type-toolbar{margin-bottom:14px}.task-type-toolbar label{display:flex;align-items:center;gap:9px;color:#566277;font-size:12px;font-weight:600}.task-type-toolbar select{border:1px solid #dfe4ec;border-radius:9px;padding:9px 12px;background:#fff}.task-type-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:13px;border-radius:10px;background:#f8faff;border:1px solid #e5eaf2}.task-type-form>input{flex:1 1 230px;border:1px solid #dfe4ec;border-radius:8px;padding:10px}.task-type-form label{display:flex;align-items:center;gap:5px;color:#667389;font-size:11px}.task-type-list{margin-top:16px;border-top:1px solid #edf0f5}.task-type-list>div{display:flex;align-items:center;gap:12px;padding:12px 2px;border-bottom:1px solid #edf0f5}.task-type-list>div>div{flex:1;display:flex;flex-direction:column;gap:4px}.task-type-list small{color:#8b95a5;font-size:10px}.task-type-list span{color:#168b62;font-size:10px}.task-type-list .inactive-row{opacity:.55}.permission-form,.account-form{display:grid;grid-template-columns:1.2fr .8fr 1fr auto;align-items:end;gap:10px}.permission-form label,.account-form label{display:flex;flex-direction:column;gap:6px;color:#566277;font-size:11px;font-weight:600}.permission-form select,.account-form input{border:1px solid #dfe4ec;border-radius:9px;padding:10px;background:#fff}.assignment-list{margin-top:20px;border-top:1px solid #edf0f5}.assignment-list>div{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;padding:12px 2px;border-bottom:1px solid #edf0f5;font-size:12px}.assignment-list span,.assignment-list small{color:#7f8a9c}@media (max-width: 700px){.task-matrix,.task-window-options,.permission-form,.account-form{grid-template-columns:1fr}.assignment-list>div{grid-template-columns:1fr;gap:4px}.matrix-submit{align-items:stretch;flex-direction:column}.settings-tabs{width:100%;overflow-x:auto}.settings-tabs button{white-space:nowrap}.matrix-batch-toolbar>strong{flex-basis:100%}.matrix-save-bar{align-items:stretch;flex-direction:column}.matrix-save-bar .primary-button{width:100%}.daily-matrix-wrap{max-height:62vh}}@media (max-width: 700px){.task-date-summary{grid-template-columns:1fr 1fr;padding:1px 17px 13px}.task-date-summary>div:first-child,.task-date-summary>div:last-child{border-radius:0}.records-header{align-items:flex-start;gap:10px}.records-header .selection-count{white-space:nowrap}.task-row{align-items:flex-start}.task-state{white-space:nowrap}}.team-create-form{display:flex;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.team-create-form input{flex:1}.team-member-picker{display:flex;flex-wrap:wrap;gap:8px;padding:14px 0}.team-member-picker button{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:8px 10px;color:var(--ink);cursor:pointer}.team-member-picker button.selected{border-color:var(--blue);background:#edf4ff;color:var(--blue)}.team-member-picker button:disabled{opacity:.55;cursor:not-allowed}.team-member-picker small{display:block;color:var(--muted);font-size:11px}.team-list{display:grid;gap:10px}.team-row{display:flex;gap:12px;align-items:center;border-top:1px solid var(--line);padding:13px 0}.team-row>div:first-child{min-width:180px;display:grid;gap:4px}.team-row small{color:var(--muted)}.team-row .record-actions{margin-left:auto;display:flex;gap:6px;align-items:center}.import-mode-bar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--line)}.import-mode-bar label{display:grid;gap:6px;font-size:13px;color:var(--muted)}.import-mode-bar select{min-width:190px}.import-mode-bar p{flex:1;min-width:260px;margin:0;color:var(--muted);font-size:13px}.roster-summary{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.roster-summary h3{margin:0;font-size:16px}.roster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.roster-chip{display:flex;gap:8px;align-items:center;padding:9px 10px;background:var(--surface);border:1px solid var(--line);border-radius:9px}.roster-chip b{color:var(--blue);min-width:24px}.roster-chip span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roster-delete-button{margin-left:auto;border:0;background:transparent;color:var(--danger,#d9534f);cursor:pointer;padding:2px;display:flex;align-items:center}.roster-delete-button:hover{background:color-mix(in srgb,var(--danger,#d9534f) 12%,transparent);border-radius:5px}.roster-delete-button:disabled{opacity:.45;cursor:not-allowed}.roster-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px}.roster-table{width:100%;min-width:1050px;border-collapse:collapse;background:var(--surface)}.roster-table th,.roster-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);font-size:12px;white-space:nowrap}.roster-table th{background:#f7f9fc;color:var(--muted);font-weight:700}.roster-table tbody tr:last-child td{border-bottom:0}.roster-table tbody tr:hover{background:#f8faff}.roster-table td:nth-child(3),.roster-table td:nth-child(4),.roster-table td:nth-child(5),.roster-table td:nth-child(6){color:var(--ink)}.roster-table .roster-delete-button{margin:0}.position-cell{display:grid;gap:5px;min-width:165px}.position-cell>div{display:flex;gap:4px;flex-wrap:wrap}.position-cell small{color:var(--muted);font-size:10px}.position-cell .text-button{width:max-content;padding:0}.position-tag{padding:3px 7px;border-radius:999px;color:#2864b9;background:#eaf2ff;font-size:10px}.no-position{color:#8b95a5;font-size:10px}.position-modal{max-width:520px}.account-summary{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid #dce6f5;border-radius:10px;background:#f4f8ff}.account-summary span,.account-summary small{color:#718099;font-size:10px}.account-summary strong{color:#315b9b;font-size:13px}.position-modal label>small{color:var(--muted);font-size:10px;font-weight:400}.credential-box{display:grid;gap:7px;padding:13px;border:1px solid #f0d39d;border-radius:11px;color:#725021;background:#fff9e9;font-size:12px}.credential-box .secondary-button{width:max-content}.position-list{display:grid;gap:7px;padding-top:12px;border-top:1px solid var(--line)}.position-list>strong{font-size:12px}.position-list>div{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:8px;background:#f7f9fc;font-size:11px}.position-list>small{color:var(--muted);font-size:11px}.roster-row-actions{display:flex;gap:6px;align-items:center}.roster-edit-button{border:0;background:transparent;color:var(--primary);cursor:pointer;padding:2px;display:flex;align-items:center}.roster-edit-button:hover{background:#eaf1ff;border-radius:5px}.roster-edit-button:disabled{opacity:.45;cursor:not-allowed}.student-edit-modal{max-width:440px}.roster-filter-bar,.batch-group-bar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8faff}.roster-filter-bar label,.batch-group-bar label{display:grid;gap:5px;color:var(--muted);font-size:11px}.roster-filter-bar select,.batch-group-bar select{min-width:140px;border:1px solid #dfe4ec;border-radius:8px;padding:8px 9px;background:#fff}.roster-filter-bar>span{margin-left:auto;color:var(--muted);font-size:12px}.batch-group-bar{background:#f6f8fc;border-color:#dfe5ef}.batch-group-bar.has-selection{background:#eef4ff;border-color:#d6e2fa}.batch-selection-summary{display:grid;gap:4px;min-width:260px;flex:1}.batch-selection-summary strong{color:var(--primary);font-size:13px}.batch-selection-summary span{color:var(--muted);font-size:11px;line-height:1.5}.roster-table input[type=checkbox]{width:15px;height:15px;accent-color:var(--primary)}.roster-tabs{display:flex;gap:7px;width:max-content;margin:0 0 15px;padding:5px;border-radius:12px;background:#eaf0f8}.roster-tabs button{border:0;border-radius:9px;padding:9px 15px;color:#68758a;background:transparent;cursor:pointer}.roster-tabs button.active{color:var(--primary);background:#fff;box-shadow:0 3px 10px #2c3d5f1a;font-weight:700}.learning-record-panel{margin-top:4px}.learning-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8faff}.learning-toolbar label{display:grid;gap:5px;color:var(--muted);font-size:11px}.learning-toolbar input{border:1px solid #dfe4ec;border-radius:8px;padding:8px 9px;background:#fff}.learning-toolbar>span{margin-left:auto;color:var(--muted);font-size:12px;align-self:center}.learning-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px}.learning-table{width:100%;min-width:900px;border-collapse:collapse;background:var(--surface)}.learning-table th,.learning-table td{padding:11px 12px;text-align:left;border-bottom:1px solid var(--line);font-size:12px;white-space:nowrap}.learning-table th{background:#f7f9fc;color:var(--muted);font-weight:700}.learning-table th small{display:block;margin-top:4px;font-size:10px;font-weight:400;color:#9aa4b3}.learning-table tbody tr:hover{background:#f8faff}.learning-table td:nth-child(n+3):nth-child(-n+5){min-width:125px}.learning-cell-meta{display:block;margin-top:4px;color:var(--muted);font-size:10px}.learning-state{display:block;margin-top:4px;color:#168b62;font-size:10px}.learning-state.attention{color:#c56b23}.learning-detail{margin-top:15px;padding:16px;border:1px solid #dfe6f1;border-radius:12px;background:#fbfcfe}.learning-detail h4{margin:0;font-size:15px}.learning-detail h5{margin:16px 0 8px;font-size:12px;color:var(--ink)}.learning-detail-list{display:grid;gap:6px}.learning-detail-row{display:grid;grid-template-columns:95px minmax(130px,1fr) 150px 95px;gap:10px;align-items:center;padding:9px 10px;border:1px solid #edf0f5;border-radius:8px;background:#fff;font-size:11px}.learning-detail-row small{color:var(--muted)}.learning-empty{margin:0;color:var(--muted);font-size:11px}.select-all-label,.student-select-label{display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:inherit;font-size:11px}.student-select-label{color:var(--muted)}.inline-edit-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:14px 0;padding:14px;border:1px solid #d8e4f7;border-radius:12px;background:#f7faff}.inline-edit-form>strong{min-width:130px;align-self:center}.inline-edit-form label{display:grid;gap:5px;color:var(--muted);font-size:11px;flex:1;min-width:180px}.inline-edit-form input{width:100%;border:1px solid #dfe4ec;border-radius:8px;padding:9px 10px;background:#fff}.muted{color:var(--muted)}.points-toolbar{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.points-toolbar .segmented-control{display:flex;align-items:center;gap:4px}.points-toolbar .toolbar-label{color:var(--muted);font-size:11px;margin-right:3px}.points-system-select{display:grid;gap:5px;color:var(--muted);font-size:11px;min-width:170px}.points-system-select select{border:1px solid #dfe4ec;border-radius:8px;padding:8px 9px;background:#fff}.auto-refresh-toggle{display:inline-flex;align-items:center;gap:5px}.auto-refresh-toggle.active{color:var(--primary);background:#eef4ff;border-radius:8px;padding:6px 8px}.create-mode-tabs{display:flex;gap:8px;padding:5px;border-radius:12px;background:#eaf0f8;width:max-content}.create-mode-tabs button{display:flex;align-items:center;gap:7px;border:0;border-radius:9px;padding:10px 16px;color:#68758a;background:transparent;cursor:pointer}.create-mode-tabs button.active{color:var(--primary);background:#fff;box-shadow:0 3px 10px #2c3d5f1a;font-weight:700}.paste-task-panel{display:grid;gap:12px}.paste-task-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:14px;border:1px solid #dae5f5;border-radius:12px;background:#f8faff}.paste-task-input label{display:grid;gap:7px;color:#4e5b70;font-size:12px;font-weight:700}.paste-task-input textarea{min-height:190px;border:1px solid #d8e0ec;border-radius:10px;padding:12px;font:inherit;line-height:1.7;resize:vertical;background:#fff}.paste-task-input small{grid-column:1/-1;color:var(--muted);font-size:11px}.parse-message{margin:0;padding:10px 12px;border-radius:9px;color:#245f9c;background:#edf5ff;font-size:12px}.paste-preview{display:grid;gap:7px}.paste-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 2px}.paste-preview-heading span{color:var(--muted);font-size:11px}.paste-preview-row{display:grid;grid-template-columns:28px 72px minmax(240px,1fr) 145px auto 34px;align-items:center;gap:8px;padding:8px 9px;border:1px solid #e3e8f0;border-radius:10px;background:#fff}.paste-preview-row>b{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;color:#47658f;background:#edf3fb;font-size:11px}.paste-subject{padding:5px 8px;border-left:3px solid var(--subject-color,#6c8bc3);border-radius:6px;background:#f5f8fc;font-size:12px;font-weight:700}.paste-preview-row>input,.paste-preview-row>select{min-width:0;border:1px solid #dfe4ec;border-radius:8px;padding:8px 9px;background:#fff;font:inherit}.compact-check{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:11px;white-space:nowrap}.plan-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid #d6e5fa;border-radius:12px;background:linear-gradient(120deg,#f4f8ff,#fbfdff)}.plan-summary div{display:grid;gap:5px}.plan-summary strong{color:#245a9f;font-size:14px}.plan-summary span{color:var(--muted);font-size:11px}.weekly-plan-editor{display:grid;gap:12px;padding:14px;border:1px dashed #b9cde9;border-radius:12px;background:#fbfdff}.weekly-plan-editor>p{margin:0;color:var(--muted);font-size:11px;line-height:1.7}.weekly-plan-subject{display:grid;grid-template-columns:82px 1fr;gap:10px;align-items:start;padding:8px 0;border-top:1px solid #edf1f7}.weekly-plan-subject strong{color:#40526e;font-size:12px}.weekly-plan-subject>div{display:flex;gap:8px;flex-wrap:wrap}.weekly-plan-subject label,.weekday-picker label{display:inline-flex;align-items:center;gap:4px;color:#62718a;font-size:11px;white-space:nowrap}.weekday-picker{display:flex;gap:6px;flex-wrap:wrap;padding:5px 0}.weekday-picker label{padding:5px 7px;border:1px solid #dbe3ef;border-radius:7px;background:#f8faff}@media (max-width: 700px){.create-mode-tabs{width:100%;overflow-x:auto}.create-mode-tabs button{white-space:nowrap}.paste-task-input{grid-template-columns:1fr}.paste-task-input small{grid-column:auto}.paste-preview-row{grid-template-columns:28px 64px minmax(180px,1fr) 34px}.paste-preview-row>select,.paste-preview-row>.compact-check{grid-column:3/4}.paste-preview-heading{align-items:flex-start;flex-direction:column}}.public-homework-page{min-height:100vh;padding:10px 10px 24px;color:#1f2a3d;background:linear-gradient(180deg,#f3f7ff 0,#f8fafc 45%,#f4f7fb)}.public-homework-header,.public-filter-card,.public-student-list,.public-homework-footer{width:min(680px,100%);margin-inline:auto}.public-homework-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.public-brand{display:flex;align-items:center;gap:8px;min-width:0}.public-brand-icon{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:10px;color:#fff;background:linear-gradient(145deg,#3979ed,#2453ba);box-shadow:0 5px 12px #2e5bbc2e}.public-brand strong,.public-brand span{display:block}.public-brand strong{font-size:16px;letter-spacing:-.02em}.public-brand div>span{margin-top:1px;color:#73809a;font-size:10px}.public-refresh-button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:31px;padding:0 8px;border:1px solid #dbe4f3;border-radius:8px;color:#4f6c9b;background:#ffffffdb;font-size:11px;white-space:nowrap}.public-refresh-button:hover{border-color:#abc3ed;color:#2864dc}.public-filter-card{padding:9px 10px;border:1px solid #e1e8f4;border-radius:11px;background:#ffffffe6;box-shadow:0 5px 14px #2a45700d}.public-filter-card label{display:block;margin-bottom:4px;color:#5f6e87;font-size:11px;font-weight:700}.public-filter-card select{width:100%;min-height:36px;padding:0 9px;border:1px solid #d7e0ef;border-radius:8px;outline:0;color:#25334b;background:#fff;font-size:13px}.public-filter-card select:focus{border-color:#6e9bea;box-shadow:0 0 0 3px #3975e81f}.public-filter-card p{margin:5px 0 0;color:#8591a5;font-size:10px}.public-timetable-card{width:min(680px,100%);margin:7px auto 0;padding:10px;border:1px solid #e1e8f4;border-radius:11px;background:#ffffffe6;box-shadow:0 5px 14px #2a45700a}.public-timetable-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.public-timetable-heading h2{margin:0;color:#293a58;font-size:14px}.public-timetable-heading p{margin:2px 0 0;color:#8591a5;font-size:10px}.public-timetable-heading>span{padding:4px 8px;border-radius:999px;color:#4c6b9d;background:#edf3ff;font-size:10px;white-space:nowrap}.public-timetable-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:7px}.public-timetable-day{padding:7px;border:1px solid #e7edf7;border-radius:8px;background:#f8faff}.public-timetable-day.today{border-color:#b9d4ff;background:#f2f7ff}.public-timetable-day.next{border-color:#dbc9ff;background:#faf6ff}.public-timetable-day-heading{display:flex;align-items:baseline;justify-content:space-between;gap:5px}.public-timetable-day-heading strong{color:#315f9e;font-size:12px}.public-timetable-day.next .public-timetable-day-heading strong{color:#7653a9}.public-timetable-day-heading span{color:#8995a9;font-size:10px}.public-timetable-list{display:grid;grid-template-columns:1fr;gap:2px;margin-top:5px}.public-timetable-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:4px;min-height:0;align-items:center;padding:4px 5px;border:0;border-radius:5px;background:#ffffffad}.public-timetable-item b{color:#8793a8;font-size:10px;font-weight:500}.public-timetable-item strong{overflow:hidden;color:#36598d;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.public-timetable-item em{width:max-content;padding:1px 4px;border-radius:4px;color:#a66a1d;background:#fff0d3;font-size:9px;font-style:normal}.public-timetable-empty{margin-top:10px;padding:10px;border-radius:9px;color:#8591a5;background:#f7f9fc;font-size:12px;text-align:center}.public-today-homework-card{width:min(680px,100%);margin:7px auto 0;padding:10px;border:1px solid #e1e8f4;border-radius:11px;background:#ffffffe6;box-shadow:0 5px 14px #2a45700a}.public-subject-homework-list{display:grid;gap:4px;margin-top:7px}.public-subject-homework{padding:0;border:1px solid #e1e8f2;border-radius:8px;background:#fbfcfe;overflow:hidden}.public-subject-homework.has-tasks{display:grid;grid-template-columns:58px minmax(0,1fr)}.public-subject-homework.editing{border-color:#d7e4f8;background:#f8fbff}.public-subject-homework.no_homework{border-color:#d8eadf;background:#f7fcf8}.public-subject-homework.not_recorded{border-style:dashed;background:#fafbfc}.public-subject-homework-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px}.public-subject-homework.has-tasks .public-subject-homework-heading{justify-content:flex-start;align-items:flex-start;border-right:1px solid #e1e8f2;background:#eef4fcb8}.public-subject-homework-heading>strong{color:#33445e;font-size:12px}.public-subject-homework-heading>span{padding:2px 6px;border-radius:999px;color:#7d899a;background:#eef1f5;font-size:10px}.public-subject-homework.no_homework .public-subject-homework-heading>span{color:#28724a;background:#e5f5eb}.public-subject-homework.editing .public-subject-homework-heading>span{color:#2f63b7;background:#e9f1ff}.public-subject-homework-groups{min-width:0}.public-today-homework-table{display:grid;min-width:0}.public-today-homework-table-head,.public-today-homework-row{display:grid;grid-template-columns:minmax(76px,.72fr) minmax(0,1.8fr)}.public-today-homework-table-head{color:#8490a3;background:#f6f8fb;font-size:9px}.public-today-homework-table-head span{padding:3px 6px}.public-today-homework-table-head span+span,.public-today-homework-row>span{border-left:1px solid #e4e9f1}.public-homework-scope-group+.public-homework-scope-group{border-top:1px solid #d9e1ed}.public-homework-scope-heading{padding:3px 6px;color:#6f50a0;background:#f1eaff;font-size:10px;font-weight:700}.public-today-homework-row{border-top:1px solid #e7ebf2;background:#ffffffb8}.public-today-homework-row.layer{background:#fcfaff}.public-today-homework-row.scoped{background:#fffdf7}.public-today-homework-row>strong,.public-today-homework-row>span{padding:5px 6px;line-height:1.35;word-break:break-word}.public-today-homework-row>strong{color:#31598f;font-size:11px}.public-today-homework-row.layer>strong{color:#7653a9}.public-today-homework-row.scoped>strong{color:#8b681f}.public-today-homework-row>span{color:#35445c;font-size:11px}.public-today-homework-row small{display:inline-block;margin-left:6px;padding:1px 4px;border-radius:4px;color:#8b681f;background:#fff0c9;font-size:9px;white-space:nowrap}.public-student-list{display:grid;gap:5px;margin-top:8px}.public-student-card{padding:8px 9px;border:1px solid #e2e8f2;border-radius:9px;background:#ffffffeb;box-shadow:0 3px 10px #2a457009}.public-student-card.has-unfinished{border-left:4px solid #ef9b45}.public-student-heading{display:flex;align-items:center;gap:7px}.public-student-number{width:31px;height:31px;flex:0 0 auto;display:grid;place-items:center;border-radius:8px;color:#2864dc;background:#eaf1ff;font-size:12px;font-weight:800}.public-student-heading h2{margin:0;font-size:14px}.public-student-heading p{margin:1px 0 0;color:#8994a7;font-size:10px}.public-homework-list{display:grid;gap:4px;margin-top:6px}.public-homework-item{padding:7px 8px;border-radius:7px;background:#fff8ee}.public-homework-main{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 6px}.public-homework-main strong{color:#7b4d1a;font-size:12px}.public-homework-main span{color:#36455c;font-size:12px;line-height:1.4;word-break:break-word}.public-homework-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;margin-top:3px}.public-homework-meta small{color:#9a856a;font-size:10px}.public-stage-pill{padding:2px 6px;border-radius:999px;color:#a25e16;background:#ffe5bf;font-size:10px}.public-complete-note{margin-top:10px;padding:9px 10px;border-radius:9px;color:#6e8b78;background:#f1f8f2;font-size:12px}.public-homework-footer{margin-top:10px;color:#9aa5b5;text-align:center;font-size:9px}.public-loading{display:grid;place-items:center;align-content:center;gap:12px;padding-top:25vh;color:#71809a;font-size:14px}.public-error,.public-inline-error{padding:10px 12px;border:1px solid #f5c8c8;border-radius:10px;color:#b34c4c;background:#fff2f2;font-size:13px}.public-inline-error{width:min(680px,100%);margin:12px auto 0}@media (max-width: 430px){.public-homework-page{padding-inline:7px}.public-timetable-card,.public-today-homework-card{padding-inline:8px}.public-timetable-day{padding-inline:5px}.public-refresh-button{padding-inline:7px}}.assignment-merged-row{min-width:0}.quick-exception-card{border:1px solid #d6e5fa;background:linear-gradient(120deg,#fbfdff,#f6faff)}.quick-badge{color:#2864b9;background:#eaf2ff;border-radius:999px;padding:5px 9px;font-size:11px;white-space:nowrap}.quick-exception-form{display:grid;grid-template-columns:1.1fr .8fr 1.5fr 1fr auto;gap:10px;align-items:end}.quick-exception-form label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:600}.quick-exception-form select,.quick-exception-form input,.quick-exception-form textarea{border:1px solid #dfe4ec;border-radius:9px;padding:9px 10px;background:#fff;font:inherit}.quick-exception-form textarea{min-height:42px;resize:vertical}.quick-result{display:flex;gap:12px;flex-wrap:wrap;margin-top:11px;padding:9px 11px;border-radius:9px;background:#f2f7ff;color:#526075;font-size:11px}.quick-result .warning{color:#b86b1d}.generated-task-notice{border:1px solid #cfe0f7;background:linear-gradient(120deg,#fbfdff,#f5f9ff)}.generated-task-editor{min-height:230px;margin-top:10px}.all-complete-card{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#fbfdfb;border:1px solid #d9eee4}.all-complete-card>div{display:grid;gap:4px;flex:1}.all-complete-card strong{color:#216a4d;font-size:13px}.all-complete-card span,.all-complete-card small{color:var(--muted);font-size:11px}.all-complete-card small{color:#168b62}.today-task-manager{border:1px solid #e5eaf2}.today-task-manager-list{display:grid;gap:0}.today-task-manager-row{display:flex;align-items:center;gap:10px;padding:10px 2px;border-top:1px solid #edf0f5}.today-task-manager-row>div{display:grid;gap:4px;flex:1}.today-task-manager-row small{color:var(--muted);font-size:11px}.today-task-manager-row .task-status{flex:0 0 auto}.bulk-task-action{display:flex;align-items:center;gap:14px;padding:14px 16px;background:snow;border:1px solid #f1d8d8}.bulk-task-action>div{display:grid;gap:4px;flex:1}.bulk-task-action strong{color:#8b3030;font-size:13px}.bulk-task-action span,.bulk-task-action small{color:var(--muted);font-size:11px}.danger-outline{color:#a73535;border-color:#e5bcbc;background:#fff}.danger-outline:hover{background:#fff3f3;border-color:#d99797}.rule-status-button{cursor:pointer;border:1px solid transparent;font:inherit}.rule-status-button.enabled{border-color:#bfe5d0}.rule-status-button:not(.enabled){border-color:#e0e5ed;background:#f7f8fa}.rule-status-button:hover{filter:brightness(.97)}@media (max-width: 900px){.quick-exception-form{grid-template-columns:1fr 1fr}.quick-token-field,.quick-note-field{grid-column:1/-1}.quick-exception-form .primary-button{width:max-content}}@media (max-width: 700px){.assignment-list>.assignment-merged-row{grid-template-columns:1fr;align-items:start}.bulk-task-action,.today-task-manager-row{align-items:stretch;flex-direction:column}.bulk-task-action button,.today-task-manager-row button{width:100%;justify-content:center}}.public-homework-page{width:100%;min-width:0;max-width:100%;padding:18px 14px 42px;overflow-x:clip;color:#1e2d46;background:radial-gradient(circle at 50% -10%,#e5efff 0,#f8fbff 34%,#f3f6fb)}.public-homework-header,.public-filter-card,.public-timetable-card,.public-today-homework-card,.public-student-section,.public-homework-footer{width:min(760px,100%)}.public-homework-header{min-height:66px;margin-bottom:12px;padding:13px 15px;border:1px solid #dce6f5;border-radius:18px;background:#ffffffe6;box-shadow:0 12px 30px #2a457014}.public-brand{gap:11px}.public-brand-icon{width:42px;height:42px;border-radius:13px;box-shadow:0 8px 18px #2e5bbc33}.public-brand-copy{display:grid;gap:2px;min-width:0}.public-brand-copy .public-eyebrow{display:block;margin:0;color:#4b76bd;font-size:10px;font-weight:800;letter-spacing:.08em}.public-brand-copy strong{color:#1f3455;font-size:18px}.public-brand-copy>span:last-child{margin-top:1px;color:#7a8aa2;font-size:10px}.public-refresh-button{min-height:34px;padding:0 11px;border-color:#d4e1f4;border-radius:10px;background:#f7faff;font-weight:700}.public-filter-card{padding:14px 15px;border-color:#dce6f5;border-radius:16px;background:#ffffffeb;box-shadow:0 8px 22px #2a45700d}.public-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.public-filter-heading>div{display:grid;gap:2px}.public-filter-heading strong{color:#2a4266;font-size:13px}.public-filter-heading span{color:#8492a8;font-size:10px}.public-filter-heading em{padding:4px 8px;border-radius:999px;color:#2f65b9;background:#eaf2ff;font-size:10px;font-style:normal;white-space:nowrap}.public-filter-card select{min-height:40px;border-color:#cad9ed;border-radius:10px;background:#fbfdff;font-size:13px}.public-filter-card p{margin-top:7px;font-size:10px}.public-timetable-card,.public-today-homework-card,.public-student-section{margin-top:12px;padding:15px;border-color:#dce6f5;border-radius:18px;background:#ffffffeb;box-shadow:0 9px 24px #2a45700e}.public-timetable-heading{align-items:flex-start}.public-section-kicker{display:block;margin-bottom:2px;color:#5b83c2;font-size:10px;font-weight:800;letter-spacing:.08em}.public-timetable-heading h2{color:#243b60;font-size:16px;letter-spacing:-.02em}.public-timetable-heading p{color:#8190a6;font-size:10px}.public-timetable-heading>span{padding:5px 9px;color:#3866a2;background:#edf4ff;font-weight:700}.public-timetable-days{gap:9px;margin-top:10px}.public-timetable-day{padding:10px;border-radius:12px}.public-timetable-item{min-height:31px;padding:5px 7px;border-radius:7px}.public-timetable-item strong{font-size:12px}.public-subject-homework-list{gap:9px;margin-top:10px}.public-subject-homework{border-color:#dce6f3;border-radius:12px}.public-subject-homework.has-tasks{grid-template-columns:78px minmax(0,1fr)}.public-subject-homework.has-tasks .public-subject-homework-heading{padding:10px 9px;background:#f2f6fc}.public-subject-homework-heading>strong{color:#2e466b;font-size:13px}.public-today-homework-table-head{color:#7c8ba1;background:#f7f9fd}.public-today-homework-table-head span{padding:5px 8px}.public-today-homework-row>strong,.public-today-homework-row>span{padding:8px;font-size:12px}.public-homework-scope-heading{padding:5px 8px;color:#685294;background:#f4efff;font-size:10px}.public-long-term-card{border-color:#d9e3f4;background:linear-gradient(145deg,#fffffff5,#f7fafff5)}.public-long-term-card .public-section-kicker{color:#8062ba}.public-long-term-list{gap:9px;margin-top:10px}.public-long-term-item{align-items:flex-start;padding:13px 14px;border-color:#d5e2f4;border-radius:13px;background:#f7faff;box-shadow:0 4px 12px #3555840a}.public-long-term-item>div:first-child{gap:5px;min-width:0}.public-long-term-item>div:first-child strong{color:#263f66;font-size:14px}.public-long-term-item>div:first-child span{color:#405b83;font-size:13px;line-height:1.5}.public-long-term-item>div:first-child small{color:#7b8ca4;font-size:10px}.public-long-term-item .public-homework-meta{flex:0 0 auto;justify-content:flex-end;margin-top:1px}.public-long-term-item .public-homework-meta small{color:#8a7890}.public-student-section{margin-inline:auto;padding:15px;border:1px solid #dce6f5}.public-student-section .public-student-list{width:100%}.public-task-summary{line-height:1.6;overflow-wrap:anywhere}.public-followup-group{border-top:1px solid #e2e9f3}.public-followup-group>summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:6px 2px;list-style:none;cursor:pointer;color:#425c81;font-size:13px;font-weight:700}.public-followup-group>summary::-webkit-details-marker{display:none}.public-followup-group>summary:before{content:"";width:6px;height:6px;flex:0 0 auto;border-right:2px solid #8193ad;border-bottom:2px solid #8193ad;transform:rotate(-45deg);margin-right:4px}.public-followup-group[open]>summary:before{transform:rotate(45deg)}.public-followup-group>summary:focus-visible{outline:2px solid #3979ed;outline-offset:2px;border-radius:5px}.public-followup-group>summary small{margin-left:auto;white-space:nowrap;color:#8291a6;font-size:11px;font-weight:400}.public-followup-subject{display:grid;min-width:0;grid-template-columns:54px minmax(0,1fr);gap:8px;padding:4px 0}.public-followup-subject+.public-followup-subject{border-top:1px solid #edf1f7}.public-followup-subject h3{margin:0;padding:7px 0;color:#526887;font-size:13px;line-height:1.6}.public-followup-subject ul{min-width:0;list-style:none;margin:0;padding:0}.public-followup-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:7px 0;font-size:13px;line-height:1.6}.public-followup-row+.public-followup-row{border-top:1px dashed #e7edf5}.public-followup-content{min-width:0;overflow-wrap:anywhere;color:#405575}.public-followup-content strong{color:#2f4667;font-weight:600}.public-followup-content small{display:block;color:#8391a5;font-size:11px}.public-followup-meta{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:5px}.public-followup-state{padding:2px 6px;border-radius:999px;color:#536982;background:#edf2f8;font-size:10px;line-height:1.4;white-space:nowrap}.public-followup-state.missing{color:#9c5415;background:#fff0d5}.public-followup-state.submitted{color:#24704c;background:#e7f6ed}.public-followup-state.excluded{color:#675b7b;background:#f0edf5}.public-followup-deadline{flex-shrink:0;color:#8391a5;font-size:11px;white-space:nowrap}.public-followup-deadline.is-overdue{color:#a96b42}.public-followup-empty{margin:0;padding:10px;color:#8291a6;font-size:12px;background:#f5f8fc;border-radius:9px}.public-registration-notice{margin:10px 0 0;padding:9px 11px;border-radius:8px;color:#64748b;background:#f1f5fa;font-size:12px;line-height:1.6}.public-stage-pill.unrecorded{color:#536982;background:#edf2f8}.public-student-list-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:1px 1px 10px;border-bottom:1px solid #e8eef6}.public-student-list-heading h2{margin:0;color:#243b60;font-size:16px}.public-student-list-heading p{margin:3px 0 0;color:#8190a6;font-size:10px}.public-student-list-heading>span{padding:5px 9px;border-radius:999px;color:#526d98;background:#edf3fb;font-size:10px;font-weight:700;white-space:nowrap}.public-student-list{gap:8px;margin-top:10px}.public-student-card{padding:11px 12px;border-color:#dfe7f2;border-radius:12px;box-shadow:0 4px 12px #2a457009}.public-student-card.has-unfinished{border-left-width:4px;border-left-color:#e59a4a;background:#fffdfa}.public-student-number{width:34px;height:34px;border-radius:10px}.public-student-heading h2{color:#29436a;font-size:14px}.public-homework-item{padding:9px 10px;border:1px solid #f3dfbf;border-radius:9px;background:#fffaf1}.public-homework-main strong{color:#805321;font-size:12px}.public-homework-main span{font-size:12px}.public-homework-footer{margin-top:14px;color:#92a0b2;font-size:10px}.task-exception-editor{margin-top:14px;padding-top:12px;border-top:1px solid #e3eaf4}.task-exception-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.task-exception-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;color:#536987;background:#eef4fb;font-size:12px}.task-exception-pill button{border:0;padding:0;color:#8a9ab0;background:transparent;cursor:pointer;font-size:15px;line-height:1}.task-exception-form{display:grid;grid-template-columns:minmax(110px,1fr) minmax(80px,.75fr) minmax(130px,1fr) minmax(120px,1fr) auto;gap:7px;align-items:center}.task-exception-form input,.task-exception-form select{min-width:0}@media (max-width: 760px){.task-exception-form{grid-template-columns:1fr 1fr}.task-exception-form button{grid-column:1 / -1}}@media (max-width: 560px){.public-homework-page{padding:10px 9px 28px}.public-homework-header,.public-filter-card,.public-timetable-card,.public-today-homework-card,.public-student-section{border-radius:14px}.public-homework-header{padding:11px 12px}.public-brand-copy strong{font-size:16px}.public-filter-heading{align-items:flex-start;flex-direction:column}.public-filter-heading em{align-self:flex-start}.public-timetable-days{grid-template-columns:1fr}.public-subject-homework.has-tasks{grid-template-columns:64px minmax(0,1fr)}.public-long-term-item{display:grid;gap:8px}.public-long-term-item .public-homework-meta{justify-content:flex-start}}@media (max-width: 768px){.public-homework-page>*{min-width:0;max-width:100%}.public-followup-row{align-items:flex-start}.public-followup-content{flex:1 1 auto}}@media (max-width: 390px){.public-homework-page{padding-inline:7px}.public-homework-header{align-items:flex-start;gap:8px}.public-brand-copy strong{overflow-wrap:anywhere}.public-timetable-card,.public-today-homework-card,.public-student-section{padding-inline:9px}.public-followup-subject{grid-template-columns:42px minmax(0,1fr);gap:6px}.public-followup-row{flex-wrap:wrap;gap:3px 8px}.public-followup-meta{width:100%;justify-content:flex-start}.public-student-list-heading{flex-wrap:wrap}}@media (min-width: 1280px){.public-homework-header,.public-filter-card,.public-timetable-card,.public-today-homework-card,.public-student-section,.public-homework-footer{width:min(800px,100%)}}
