:root{--blue:#1764ff;--ink:#25364f;--muted:#78879d;--line:#e0e7f2;--bg:#f3f6fb}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:14px/1.6 'Microsoft YaHei','PingFang SC',sans-serif;color:var(--ink)}button,input,select{font:inherit}button,a,input,select{outline-offset:3px}button{cursor:pointer;background:white;border:1px solid #d7e1f0;border-radius:8px;padding:8px 14px;color:var(--ink)}button:hover{border-color:#1764ff;color:var(--blue)}button:disabled{cursor:not-allowed;opacity:.45}a{color:var(--blue);text-decoration:none}input,select{padding:8px 10px;border:1px solid #d7e1f0;border-radius:8px;background:#fff;color:var(--ink)}input[type=checkbox]{accent-color:var(--blue);width:16px;height:16px;vertical-align:middle}header{height:72px;display:flex;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid var(--line);padding:0 26px;position:sticky;top:0;z-index:10}header strong{font-size:19px;display:flex;align-items:center;gap:10px}.brand{background:var(--blue);color:white;border-radius:10px;padding:3px 9px}.header-actions,.row,.toolbar,.titlebar,.tabs,.stats,.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.header-actions{font-size:12px}header select{font-size:12px}body > nav{position:fixed;top:72px;bottom:0;width:206px;background:#fafcff;border-right:1px solid var(--line);padding:24px 12px;overflow:auto}body > nav a{display:block;padding:12px 16px;color:#65758c;border-radius:8px;margin-bottom:5px}body > nav a.active{background:#eaf1ff;color:var(--blue);font-weight:600}body > nav small{display:block;margin:24px 16px 10px;color:#97a3b5}main{margin-left:206px;padding:28px 32px;max-width:1920px}.titlebar{justify-content:space-between;margin-bottom:24px}h1{font-size:24px;font-weight:500;margin:4px 0}h2{font-size:18px;font-weight:500;margin:0 0 16px}h3{font-size:15px;margin:0 0 10px}p{margin:8px 0}.subtle,small{color:var(--muted);font-size:12px}.eyebrow{font-size:12px;color:var(--blue);letter-spacing:1px}.primary{background:var(--blue);color:white;border-color:var(--blue)}.primary:hover{background:#1057e5;color:white}.danger{color:#dc4c4c}.text{border:0;padding:3px 6px;color:var(--blue);background:transparent}.card{background:white;border:1px solid var(--line);border-radius:16px;padding:24px;margin-bottom:20px;box-shadow:0 5px 18px #25364f03}.stats{display:grid;grid-template-columns:repeat(4,1fr);margin:20px 0}.stat{background:white;border:1px solid var(--line);border-radius:12px;padding:16px 20px}.stat b{display:block;font-size:28px;font-weight:500;color:var(--blue)}.toolbar{justify-content:space-between;margin-bottom:18px}.tag{display:inline-block;padding:3px 9px;background:#eef3ff;color:#1764ff;border-radius:6px;font-size:12px}.green{background:#ebf8ef;color:#25834a}.orange{background:#fff3e5;color:#b86b08}.gray{background:#f0f3f7;color:#758297}.red{background:#fff0ef;color:#c44d47}.scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{background:#f7f9fd;color:#708098;font-size:12px;font-weight:400;white-space:nowrap}td,th{padding:14px 12px;border-bottom:1px solid #edf0f6}td .subtle{display:block}tr:last-child td{border-bottom:0}.notice{background:#f0f5ff;color:#557195;padding:12px 16px;border-radius:8px;margin:14px 0;font-size:13px}.warning{background:#fff6e8;color:#9a6a2c}.tabs{border-bottom:1px solid var(--line);margin-bottom:20px;gap:4px}.tabs a{padding:12px 18px;color:#718199}.tabs a.active{color:var(--blue);border-bottom:3px solid var(--blue)}.split{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px}.pool{background:#f8faff;border:1px solid var(--line);border-radius:12px;padding:16px}.pool button{display:block;width:100%;text-align:left;margin-top:10px;padding:12px;background:white}.pool button.selected{border:1px solid var(--blue);background:#edf3ff}.grid{min-width:650px;table-layout:fixed}.grid th:first-child{width:65px}.grid td{height:92px;padding:5px;vertical-align:top;border:1px solid var(--line);cursor:pointer}.grid .lesson{border:0;border-left:3px solid var(--blue);border-radius:5px;padding:7px;background:#edf3ff;width:100%;text-align:left;font-size:12px}.lesson span{display:block}.grid td:hover{background:#f8faff}.empty{color:#a7b3c5;font-size:12px}.check{display:inline-flex;align-items:center;gap:8px;margin:6px 14px 6px 0}dialog{border:1px solid var(--line);border-radius:20px;padding:0;max-width:1000px;width:90vw;max-height:90vh;color:var(--ink);box-shadow:0 18px 40px #1664ff29}dialog::backdrop{background:#20344b66}.dialog-head{padding:22px 28px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.dialog-head h2{margin:0}.dialog-body{padding:24px 28px;overflow:auto;max-height:65vh}.dialog-foot{padding:16px 28px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field>span{display:block;color:#718199;font-size:12px;margin-bottom:6px}.field input:not([type=checkbox]),.field select{width:100%}.full{grid-column:1/-1}.error{color:#cf4949;margin-top:10px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#25364f;color:white;padding:12px 22px;border-radius:10px;z-index:100;display:none}.progress{height:5px;background:#eaf0fa;min-width:90px;border-radius:6px;margin:6px 0}.progress i{display:block;background:#1764ff;height:100%;border-radius:6px}.scope{display:flex;gap:8px;flex-wrap:wrap;padding:12px 0}.scope label{background:#f6f9ff;border:1px solid var(--line);padding:8px 12px;border-radius:8px}.date-list{display:flex;gap:10px;flex-wrap:wrap}.date-list input{width:175px}.empty-panel{text-align:center;padding:60px 20px}.empty-symbol{font-size:40px;color:#b4c9f7}.log{font-size:12px;border-bottom:1px solid var(--line);padding:12px 0;color:#78879d}.selected-row{background:#f7faff}.nowrap{white-space:nowrap}@media(max-width:1100px){main{padding:20px;margin-left:170px}body > nav{width:170px}.header-actions .subtle{display:none}.stats{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:210px minmax(0,1fr)}}@media(max-width:760px){header{height:auto;min-height:72px;padding:12px;gap:12px;flex-wrap:wrap}body > nav{position:static;width:auto;display:flex;padding:8px;overflow:auto}body > nav a{white-space:nowrap}body > nav small,body > nav .legacy{display:none}main{margin:0;padding:16px}.split{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.header-actions label{font-size:0}.header-actions select{font-size:12px}}

.pool button .subtle{display:block;margin:4px 0}.pool button .tag{margin-top:4px}dialog a{overflow-wrap:anywhere}

.v3-pagebar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px;border-bottom:1px solid #e0e8f5;padding:0 0 8px;margin:0 0 24px;font-size:13px}.v3-page-tab{display:inline-block;padding:12px 20px;border-top:2px solid #1764ff;background:#fff;color:#1764ff;white-space:nowrap}.v3-task-context{margin:-8px 0 16px;color:#78879d;font-size:12px}.v3-demo-settings{margin:24px 0;padding-top:16px;border-top:1px solid #e0e7f2}.v3-demo-settings summary{cursor:pointer;color:#64748b}.v3-demo-settings .row{padding:16px 0}

.v3-account{display:inline-flex;align-items:center;gap:8px;color:#78879d;font-size:12px;white-space:nowrap}.v3-account select{padding:5px 8px;border-radius:4px;border:1px solid #d7e3f7;background:white;color:#25364f;font:inherit;max-width:190px}

.task-range-dialog{border-radius:4px;max-width:940px;box-shadow:0 12px 36px #25364f26}.task-range-dialog .dialog-head{background:white;padding:18px 24px}.task-range-dialog .dialog-body{padding:24px;max-height:68vh}.task-range-dialog .dialog-foot{background:white;padding:16px 24px}.task-range-dialog h2{font-size:18px}.task-range-dialog input,.task-range-dialog select,.task-range-dialog button{border-radius:3px}.range-form{display:grid;gap:22px}.range-field{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;align-items:start}.range-field>label{padding-top:8px;color:#25364f;font-size:14px}.range-field>div:not(.range-inline):first-of-type{min-height:38px}.range-field>input{width:100%}.range-field em{font-style:normal;color:#f53f3f}.range-inline{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.range-inline select{min-width:190px}.range-selected{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.range-class-tag{display:inline-block;padding:4px 10px;border:1px solid #dce5f4;background:#f5f8ff;color:#42638c;border-radius:3px}.range-week-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.range-week-tools button{border:0;color:#1764ff;background:transparent;padding:4px 8px}.range-weeks{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:14px;border:1px solid #e0e7f2}.range-weeks label{display:flex;gap:8px;align-items:center;padding:6px;white-space:nowrap}.range-picker-actions{display:flex;align-items:center;gap:12px;margin:20px 0 12px}.range-impact{padding:12px 16px;margin-top:20px;background:#fff6e8;color:#9a6a2c;font-size:13px}@media(max-width:760px){.range-field{grid-template-columns:1fr;gap:6px}.range-weeks{grid-template-columns:repeat(3,1fr)}}

.range-form [hidden]{display:none!important}.range-inline:has(#taskGroupMode){row-gap:12px}

#classPicker{width:min(1180px,calc(100vw - 40px));max-width:1180px}#classPicker [hidden]{display:none!important}.task-class-filters{display:flex;gap:18px;align-items:flex-start;border-bottom:1px solid #e0e7f2;padding-bottom:20px}.task-class-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;flex:1}.task-class-fields label{display:flex;align-items:center;gap:8px;font-size:13px}.task-class-fields label span{white-space:nowrap;min-width:78px;text-align:right}.task-class-fields input{min-width:0;width:100%}.task-class-query{display:flex;gap:8px;flex-wrap:wrap}.task-class-table{overflow:auto;max-height:45vh}.task-class-table th,.task-class-table td{white-space:nowrap;padding:12px}.task-class-table tr.selected{background:#edf3ff}#classPicker .dialog-foot>span{margin-right:auto}@media(max-width:900px){.task-class-filters{flex-direction:column}.task-class-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}

#taskOwnerPicker{width:min(980px,calc(100vw - 40px));max-width:980px}.task-owner-layout{display:grid;grid-template-columns:200px minmax(0,1fr);min-height:360px;gap:24px}.task-owner-departments{border-right:1px solid #e0e7f2;padding-right:16px}.task-owner-departments strong{display:block;margin-bottom:16px}.task-owner-departments button{display:block;width:100%;border:0;text-align:left;margin:4px 0;padding:10px 12px}.task-owner-departments button.active{background:#edf3ff;color:#1764ff}.task-owner-results{min-width:0}.task-owner-results table th,.task-owner-results table td{padding:12px}.task-owner-results input#taskOwnerQuery{max-width:220px}@media(max-width:760px){.task-owner-layout{grid-template-columns:135px minmax(0,1fr);gap:12px}.task-owner-results{overflow:auto}}

/* 紧凑任务操作菜单 */
.task-action-menu{position:fixed;inset:auto;margin:0;padding:6px;width:188px;box-sizing:border-box;border:1px solid #dce5f4;border-radius:8px;background:#fff;box-shadow:0 8px 24px rgba(37,54,79,.14);color:#25364f;overflow:visible}
.task-action-menu::backdrop{background:transparent}
.task-action-menu button{display:block;width:100%;margin:0;padding:10px 12px;border:0;border-radius:4px;background:transparent;text-align:left;font:inherit;font-size:14px;line-height:20px;color:inherit;cursor:pointer;white-space:nowrap}
.task-action-menu button:hover,.task-action-menu button:focus-visible{background:#eef4ff;color:#1764ff;outline:none}
.task-action-menu button.task-menu-danger{margin-top:6px;padding-top:12px;border-top:1px solid #edf0f5;border-radius:0 0 4px 4px;color:#f53f3f}
.task-action-menu button.task-menu-danger:hover,.task-action-menu button.task-menu-danger:focus-visible{background:#fff1f0;color:#d92d20}

.task-submit-details h3{margin:0 0 8px;font-size:14px}
.task-submit-info{display:flex;flex-wrap:wrap;gap:8px 22px;margin:0 0 14px;padding:10px 12px;background:#f5f8fd;border-radius:6px}
.task-submit-info dt{font-size:12px;color:#596c85}
.task-submit-info dd{margin:4px 0 0;overflow-wrap:anywhere}

.overall-controls{display:grid;gap:12px}
.overall-controls-row,.overall-controls-fields{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap}
.overall-controls-row{justify-content:space-between}
.overall-controls-fields .v3-semester-filter{margin:0;padding:0;border:0}
.overall-controls-fields select{max-width:min(42vw,300px)}
.overall-tabs{display:inline-flex;gap:2px;padding:3px;background:#eef3fa;border-radius:6px}
.overall-tabs button{padding:5px 12px;border:1px solid transparent;background:transparent;color:#556b87}
.overall-tabs button[aria-pressed="true"]{background:#fff;border-color:#dce5f4;color:#1764ff}
.merge-top{flex-wrap:wrap;gap:12px;margin:0 0 12px;padding:0 0 12px;border-bottom:1px solid #e4eaf4}
.merge-top .v3-semester-filter{margin:0;padding:0;border:0}
.merge-top + .card{margin-top:0}
.v3-pagebar>.merge-reset-tool{margin-left:auto;border:0;background:transparent;color:#5277be;font-size:13px;padding:8px 12px;white-space:nowrap}
.v3-pagebar>.merge-reset-tool+.v3-design-button{margin-left:0}
.task-release-demo-tool{flex:none}
.task-release-demo-scenes{position:fixed;inset:auto;margin:0;padding:8px;border:1px solid #dce5f5;border-radius:8px;background:#fff;color:inherit;box-shadow:0 6px 18px #162c5220}
.task-release-demo-scenes p{margin:4px 8px 6px;color:#526783;font-size:12px}
.task-release-demo-scenes button{display:flex;align-items:baseline;gap:10px;width:100%;padding:8px;border:0;text-align:left;white-space:normal}
.task-release-demo-scenes button:hover,.task-release-demo-scenes button:focus-visible{background:#edf3ff}
.task-release-demo-scenes button strong{color:#1764ff;white-space:nowrap}
.task-release-demo-scenes button span{font-size:12px}
.overview-demo-scenes{max-height:min(420px,65vh);overflow:auto;padding:12px}
.overview-demo-scenes section+section{margin-top:12px;padding-top:10px;border-top:1px solid #dce5f5}
.overview-demo-scenes h3{margin:0 0 6px;font-size:13px;color:#253d60}
.overview-demo-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.overview-demo-options button{color:#1251c4}
.group-release-title{display:inline-block;padding:3px 10px;border-radius:4px;background:#e7efff;color:#1251c4;font-weight:700}
.group-release-title.formal{background:#ffeed6;color:#8b4000}
.group-release-warning{margin-bottom:16px;padding:12px 16px;border-left:3px solid #cf790e;border-radius:4px;background:#fff5e5;color:#754009}
.group-release-warning p{margin:2px 0 0}
#dialog:has(.group-release-title.formal) [data-action="group-release"]:enabled{background:#934b08;border-color:#934b08;color:#fff}
dialog.merge-result-dialog{width:min(440px,92vw)}
dialog.merge-result-dialog .notice{margin-top:0}
.merge-demo-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #e4eaf4}
.merge-demo-option p{margin:0}
.merge-demo-option button{white-space:nowrap}
#mergeResults{scroll-margin-top:85px}
.merge-conflict-side > .tag{min-width:6em;text-align:center;white-space:nowrap}
.overall-tabs a{white-space:nowrap;padding:5px 12px;border:1px solid transparent;border-radius:5px;color:#556b87;text-decoration:none}
.overall-tabs a[aria-current="page"]{background:#fff;border-color:#dce5f4;color:#1764ff}
.merge-lesson.is-replaced{background:#fff6ed;border-color:#ffd6ab}
.merge-lesson.has-conflict{border:1px solid #f53f3f}
.merge-record{margin:8px 0}
.merge-reminders .toolbar{flex-wrap:wrap}
.overall-week{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.overall-week input{width:56px;text-align:center}
.overall-week .subtle{display:inline;margin:0}
.overall-range summary{cursor:pointer;color:#496587;font-size:12px}
.overall-range[open]{flex-basis:100%}
.overall-range-body{margin-top:8px;padding:12px;background:#f5f8fd;border-radius:6px}
.overall-range-body p{margin:8px 0 0}

.overall-guide{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#f1f6ff;border-left:3px solid #1764ff}
.overall-guide strong{font-size:13px}
.overall-guide p{margin:3px 0 0;font-size:12px;color:#506783}
.overall-guide button{white-space:nowrap}
.overall-grid-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.overall-grid-heading h2{margin:0}
.overall-grid-heading p{margin:4px 0 0}
.overall-week-grid{table-layout:fixed;min-width:580px}
.overall-week-grid th:first-child{width:72px}
.overall-week-grid td{vertical-align:top}
.overall-lesson{padding:6px 8px;background:#f3f7fd;border-left:2px solid #9dbbff}
.overall-lesson+.overall-lesson{margin-top:4px}
.overall-lesson strong,.overall-lesson small{display:block;overflow-wrap:anywhere}
.overall-lesson small{color:#596c85;font-size:11px}
.overall-empty{padding:18px;background:#f6f8fc;color:#596c85}
.overall-published{margin-top:16px}
.overall-published summary{margin-bottom:10px;cursor:pointer;color:#496587}

.main-timetable-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:16px;align-items:start}
.main-timetable-picker{display:grid;gap:8px;padding:10px;border:1px solid #e3ebf6;border-radius:6px;background:#f8faff}
.main-timetable-picker .overall-tabs button{flex:1;padding-inline:6px}
.main-timetable-picker input{min-width:0;width:100%;box-sizing:border-box}
.main-timetable-picker ul{list-style:none;margin:0;padding:0;max-height:420px;overflow:auto}
.main-timetable-picker li button{width:100%;text-align:left;margin-bottom:4px;white-space:normal;overflow-wrap:anywhere}
.main-timetable-picker li button[aria-pressed="true"]{background:#e9f1ff;border-color:#b6cdfa;color:#1764ff}
.main-timetable-content{min-width:0}
@media(max-width:900px){.main-timetable-layout{grid-template-columns:minmax(0,1fr)}.main-timetable-picker ul{max-height:160px}}

.merge-history>.toolbar{margin-bottom:16px}
.merge-history .merge-record{margin-bottom:12px;border:1px solid #dae5f5;border-radius:16px;background:#fff;overflow:hidden}
.merge-record-summary{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;align-items:start;gap:16px;padding:16px;cursor:pointer;list-style:none;background:#f8faff}
.merge-record-summary::-webkit-details-marker{display:none}
.merge-record-summary:hover{background:#eef4ff}
.merge-record-summary:focus-visible{outline:2px solid #1764ff;outline-offset:-2px}
.merge-record-summary strong{display:block;font-size:16px;margin:6px 0;overflow-wrap:anywhere}
.merge-record-batch{display:inline-block;padding:3px 8px;border-radius:999px;background:rgba(23,100,255,.08);color:#1764ff}
.merge-record-impact{display:grid;gap:8px;margin:0}
.merge-record-impact dt{font-weight:600;color:#274361}
.merge-record-impact dd{margin:2px 0 0;overflow-wrap:anywhere}
.merge-record-toggle{color:#1764ff;white-space:nowrap}
.merge-record .hide-detail,.merge-record[open] .show-detail{display:none}
.merge-record[open] .hide-detail{display:inline}
.merge-record-details{padding:16px;border-top:1px solid #dae5f5}
.merge-record-details ul{padding-left:20px}
@media(max-width:900px){.merge-record-summary{grid-template-columns:minmax(0,1fr)}}

.merge-history-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin-bottom:12px}
.merge-history-tools h2{margin:0 auto 0 0}
.merge-history-tools input{width:min(260px,55vw)}
.merge-history-tools p{order:1;flex-basis:100%;margin:0}
.merge-history-head,.merge-history-row{display:grid;grid-template-columns:minmax(130px,2fr) minmax(130px,1.4fr) minmax(80px,1fr) minmax(145px,2fr) 48px;gap:12px;align-items:center;padding:8px 12px}
.merge-history-head{background:#eef3fa;color:#45617f;font-weight:600;border-radius:6px 6px 0 0}
.merge-history-head>:last-child,.merge-history-row>:last-child{text-align:right}
.merge-history .merge-record:has(.merge-history-row){margin:0;border:0;border-bottom:1px solid #e3ebf6;border-radius:0}
.merge-history-row{background:#fff;min-height:36px}
.merge-history-row strong{margin:0;font-size:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.merge-history-row time{font-variant-numeric:tabular-nums}
@media(max-width:1050px){
 .merge-history-head{display:none}
 .merge-history-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:6px 12px}
 .merge-history-row>.merge-task-cell{grid-column:1 / 3}
 .merge-history-row>time{grid-column:1}


 .merge-history-row>.merge-record-toggle{grid-column:3;grid-row:1}
}

.merge-task-cell{display:flex;align-items:center;gap:8px;min-width:0}.merge-task-cell .tag{flex:none}.merge-result-cell{overflow-wrap:anywhere}

.merge-history-head,.merge-history-row{grid-template-columns:minmax(130px,2fr) minmax(130px,1.4fr) minmax(80px,1fr) minmax(145px,2fr) 64px}
.merge-change-list{list-style:none;margin:0 0 12px;padding:0}
.merge-change-list li{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;padding:8px 0;border-bottom:1px solid #e3ebf6}
.merge-history-timetable,.merge-history-scope{margin-top:12px}
.merge-history-timetable>summary,.merge-history-scope>summary{cursor:pointer;color:#1764ff}
.merge-history-timetable>.actions{margin-top:8px}
.merge-history-changed{outline:1px solid #4a8bff;background:#e9f2ff}
.merge-history-removed{border:1px dashed #8396ad;background:#f5f7fa;color:#52647a}
@media(max-width:1050px){.merge-history-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}}
.import-flow{max-width:980px;margin-inline:auto}
.import-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;list-style:none;padding:0;margin:0 0 16px}
.import-steps li{display:flex;align-items:center;gap:8px;padding:12px;color:#526582;background:#f4f7fc;border-radius:10px;font-weight:600}
.import-steps li span{display:grid;place-items:center;min-width:26px;height:26px;background:white;border-radius:50%}
.import-steps li[aria-current]{background:#eaf1ff;color:#1764ff}
.import-steps li[aria-current] span{background:#1764ff;color:white}
.import-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:12px;margin:16px 0}
.import-options button{text-align:left;white-space:normal;padding:16px;border-radius:12px}
.import-options strong,.import-options span{display:block}
.import-options span{margin-top:4px;color:#526582;font-size:13px}
.import-options button[aria-pressed=true]{border-color:#1764ff;background:#f0f5ff;color:#1764ff}
.import-upload{padding:20px;border:1px dashed #aabfe1;border-radius:12px;background:#f8fbff}
.import-upload h3{margin-top:0}
.import-upload a{display:inline-block;margin-bottom:12px;color:#1764ff}
.import-upload label{display:block;font-weight:600;margin-bottom:6px}
.import-upload input{max-width:100%}
.import-upload [role=status]{margin-bottom:0;color:#526582}
.import-table{max-height:320px;margin:12px 0 20px}
.import-cycle input{width:72px;margin-left:8px}
.import-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:16px}
@media(max-width:650px){.import-steps{grid-template-columns:1fr}}

.import-context{margin:0 0 12px}.import-context a{color:#1764ff}
.task-list-filters{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:16px}
.task-list-filters label{display:flex;align-items:center;gap:8px;max-width:100%;white-space:nowrap}
.task-list-filters input{width:150px;min-width:0}
.task-list-filters select{width:112px;min-width:0}
.task-list-filters select[name="status"]{width:164px}
.task-list-filters .actions{flex-shrink:0}

.publication-form{display:grid;gap:16px}
.publication-fields{display:grid;gap:10px}
.publication-fields label{display:grid;gap:4px;font-weight:600}
.publication-fields input,.publication-fields textarea{box-sizing:border-box;width:100%}
.publication-form fieldset{min-width:0;margin:0;padding:12px;border:1px solid #dbe6f6;border-radius:6px}
.publication-form legend{padding:0 6px;font-weight:600}
.publication-form fieldset>.toolbar{margin:10px 0 6px}
.publication-form input[type=number]{width:72px}
.publication-classes{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:6px;max-height:160px;overflow:auto}
.publication-classes .check{margin:0;padding:5px 8px;background:#f6f8fc;border-radius:4px}
.publication-scope-summary{display:grid;gap:4px;background:#edf4ff;color:#284e80;padding:10px 12px;border-radius:6px}
.publication-scope-summary span{font-size:12px}

.task-submit-result{padding:14px 16px;border-radius:6px;background:#edf7f1;color:#225c40;border-left:3px solid #4a9b71}
.task-submit-result.has-issues{background:#fff6e9;color:#794713;border-color:#dc922d}
.task-submit-result strong{font-size:15px}
.task-submit-result p{margin:4px 0 0;font-size:13px;line-height:1.5}
.task-submit-meta summary{cursor:pointer;color:#4c6586;font-size:13px}
.task-submit-info>div{display:flex;align-items:baseline;gap:6px;min-width:0}
.task-submit-info dt{flex-shrink:0}
.task-submit-info dd{margin:0}
.task-submit-group li{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;padding:8px 0;border-top:1px solid #e8eef6}
.task-submit-issues{margin-top:12px;max-height:36vh}
.task-submit-issues table{min-width:0}

.task-review-guide{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-bottom:14px}
.task-review-guide span{color:#516781;font-size:13px}
.task-return-reason{display:grid;gap:8px}
.task-return-reason textarea{box-sizing:border-box;width:100%;resize:vertical}
.task-review-heading{display:flex;flex-wrap:wrap;gap:12px 32px;margin-bottom:12px}
.task-review-heading>div{display:grid;gap:4px;min-width:0}
.task-review-heading span{font-size:12px;color:#596c85}
.task-review-heading strong{font-size:16px;color:#253f60;overflow-wrap:anywhere}
.task-progress-badges{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 6px}
.task-returned-badge,.task-published-mark{display:inline-block;padding:3px 7px;border-radius:2px;font-size:12px;font-weight:600;line-height:1.4;white-space:nowrap}
.task-returned-badge{color:#9b202b;background:#fce6e8}
.task-published-mark{color:#236342;background:#e6f4ec}
.task-review-decision{margin-top:16px;padding:14px 16px;background:#f5f8fd;border-top:1px solid #dfe7f2;border-radius:4px}
.task-review-decision .task-return-reason{max-width:640px}
.merge-result-heading,.merge-result-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}
.merge-result-heading{margin-bottom:12px}
.merge-result-heading h2{margin:0;font-size:17px}
.merge-result-heading .subtle{margin-left:auto}
.merge-result-toolbar{gap:8px 16px;margin-bottom:10px}
.merge-result-toolbar .actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.merge-source{display:inline-block;align-self:start;padding:3px 7px;border-radius:2px;font-size:12px;font-weight:600;white-space:nowrap}
.merge-source.selected-source{background:#e9f1ff;color:#244f92}
.merge-source.main-source{background:#e5f3ec;color:#215f43}
.merge-source.other-source{background:#fff0dc;color:#824710}
.merge-result-footer{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;margin-top:12px;background:#f5f8fd;border:1px solid #dce5f2;color:#294b73}
.merge-result-footer.is-blocked{background:#fff5e7;border-color:#eed8b8;color:#804b14}
.merge-result-footer button{flex-shrink:0;white-space:nowrap}
.merge-conflict-table th:first-child{width:22%}
.merge-conflict-table th:nth-child(2){width:16%}
.merge-conflict-side>.merge-source{box-sizing:border-box;text-align:left;white-space:normal;overflow-wrap:anywhere}

.merge-course-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-left:auto}
.merge-conflict-value{background:#fce6e8;color:#9b202b;padding:2px 4px;border-radius:2px;font-weight:600}

.merge-conflict-table{min-width:1140px}
.merge-conflict-pair{border:1px solid #dce5f2;border-radius:4px;background:#f8faff}
.merge-conflict-side{display:grid;grid-template-columns:108px minmax(0,1fr) 210px;align-items:center;gap:12px;min-height:48px;padding:8px 12px;box-sizing:border-box}
.merge-conflict-side+.merge-conflict-side{border-top:1px solid #dce5f2}

.merge-course-info{min-width:0;overflow-wrap:anywhere}
.merge-course-meta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr) minmax(0,1.2fr);gap:10px;font-size:14px;color:#294460}
.merge-pair-layout{display:grid;grid-template-columns:minmax(210px,270px) minmax(0,1fr);gap:16px;align-items:start}
.merge-pair-picker,.merge-pair-detail{border:1px solid #dce5f4;border-radius:12px;background:#fff;min-width:0}
.merge-pair-tools,.merge-pair-detail>.toolbar{padding:12px 16px;margin:0}
.merge-pair-tools{display:grid;gap:8px;background:#f5f8fd;border-radius:12px 12px 0 0}
.merge-pair-picker ul{list-style:none;margin:0;padding:8px;max-height:440px;overflow:auto;display:grid;gap:6px}
.merge-pair-picker li button{width:100%;text-align:left;display:grid;justify-items:start;gap:3px;padding:8px 12px;border-radius:8px;white-space:normal}
.merge-pair-picker button[aria-pressed="true"]{border-color:#1764ff;background:#eef4ff}
.merge-pair-picker small,.merge-pair-table small{display:block;color:#556b87;font-weight:400}
.merge-pair-detail h3{margin:4px 0 0}
.merge-pair-table{table-layout:fixed;min-width:390px}
.merge-pair-table th:first-child{width:112px}
.merge-pair-table th,.merge-pair-table td{white-space:normal;overflow-wrap:anywhere}
.merge-pair-table thead strong{display:block;margin-top:4px}
.merge-pair-hit>th,.merge-pair-hit>td{background:#fff2ef}
.merge-pair-hit th small{color:#aa3428}
.merge-pair-hit .overall-lesson{background:#fff;border:1px solid #f0aba2;border-radius:8px}
@media(max-width:850px){.merge-pair-layout{grid-template-columns:minmax(0,1fr)}.merge-pair-picker ul{max-height:190px}}

.merge-check-passed{border:1px solid #d8e7df;border-radius:6px;overflow:hidden}
.merge-pass-banner{display:flex;align-items:center;gap:14px;padding:16px;background:#edf7f1;color:#225c40}
.merge-pass-banner>span{font-size:24px;font-weight:600}
.merge-pass-banner h3{margin:0;font-size:18px}
.merge-pass-banner p{margin:4px 0 0}
#taskOwnersField[hidden] { display: none; }

.task-group-caption { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.task-group-help { display: inline-block; position: relative; }
.task-group-help summary { list-style: none; cursor: pointer; display: grid; place-items: center; width: 20px; height: 20px; border: 1px solid #b6c5dc; border-radius: 50%; color: #3465ab; }
.task-group-help summary::-webkit-details-marker { display: none; }
.task-group-help-text { position: absolute; z-index: 2; top: 26px; left: 0; width: min(310px, 54vw); padding: 10px 12px; border: 1px solid #dbe4f2; border-radius: 4px; background: white; color: #334968; box-shadow: 0 4px 12px #24364f20; font-weight: 400; line-height: 1.6; }
.task-list-filters select[name="group"] { width: 150px; }
#taskFilters .v3-semester-filter{margin:0;padding:0;border:0}
#taskFilters #taskSemester{width:240px;min-width:0;max-width:100%}
.task-list-actions [data-action="new"]{margin-inline-end:8px}

.task-range-dialog .range-form { gap: 14px; }
.task-range-dialog .range-field { column-gap: 12px; }
.task-range-dialog #taskGroupLabel { width: min(100%, 320px); }
.task-range-dialog .range-selected { gap: 5px; margin-top: 6px; }
.task-range-dialog .range-selected[hidden] { display: none; }
.task-class-extra { color: #365d96; font-size: 13px; }
.task-class-extra summary, .task-overlap summary { cursor: pointer; }
.task-class-extra > div { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 5px; }
.task-overlap { margin-top: 8px; padding: 9px 11px; border: 1px solid #dce6f5; border-radius: 4px; font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.task-overlap-blocked { background: #fff6ed; border-color: #f4d8ba; color: #8d4b18; }
.task-overlap-published { background: #f6f9ff; color: #425b7b; }
.task-overlap-list { display: grid; gap: 3px; margin: 4px 0 0; padding: 0; list-style: none; }
.task-overlap-list li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.task-overlap-list a { white-space: nowrap; }

/* Task creation groups business information, scope and workflow settings. */
.task-range-dialog .task-setup { gap: 18px; }
.task-setup-section { display: grid; gap: 12px; min-width: 0; }
.task-setup-section + .task-setup-section { border-top: 1px solid #e4eaf3; padding-top: 16px; }
.task-setup-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.task-setup-heading h3 { margin: 0; font-size: 15px; color: #253d60; font-weight: 600; }
.task-setup-heading > span { color: #7a8ba4; font-size: 12px; }
.task-setup-pair { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 20px; }
.task-plan-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:12px}
.task-plan-modes label{display:flex;align-items:flex-start;gap:8px;padding:12px;border:1px solid #dce5f5;border-radius:8px;background:#fff;cursor:pointer}
.task-plan-modes label:has(:checked){border-color:#1764ff;background:#edf3ff}
.task-setup .task-plan-modes input{width:auto;margin:4px 0 0;accent-color:#1764ff}
.task-plan-modes strong,.task-plan-modes small{display:block}
.task-plan-modes small{margin-top:4px;color:#526783}
.task-division-policy{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px 16px;padding:8px 12px;border:1px solid #e0e7f2;border-radius:8px;background:#f7f9fd}
.task-division-policy[hidden]{display:none}
.task-division-policy .task-setup-pair>label{display:grid;gap:6px}
.task-plan-rules summary{padding:8px 0;cursor:pointer;color:#1251c4}
.task-division-policy:has(.task-plan-rules[open]){grid-template-columns:1fr}
.task-plan-rules .task-setup-pair{padding:4px 0 8px}
@media(max-width:700px){.task-division-policy{grid-template-columns:1fr}}
.task-range-dialog .task-setup .range-field { grid-template-columns: 98px minmax(0,1fr); gap: 10px; align-items: start; }
.task-range-dialog .task-setup-pair .range-field { grid-template-columns: 82px minmax(0,1fr); }
.task-setup .task-group-caption { padding-top: 8px; min-height: 0 !important; }
.task-range-dialog .task-setup #taskGroupLabel { width: 100%; box-sizing: border-box; }
.task-setup input, .task-setup select { min-width: 0; width: 100%; box-sizing: border-box; }
.task-setup .range-weeks input { width: auto; }
.task-setup .range-week-tools { margin-bottom: 6px; }
.task-range-dialog .task-setup .range-weeks { gap: 8px 10px; padding: 12px; }
.task-setup #taskRangeConflicts:empty { display: none; }
.task-setup .task-overlap { margin-top: 0; }
.task-setup .task-overlap + .task-overlap { margin-top: 8px; }
.task-setup .task-group-help-text { left: auto; right: 0; }
@media(max-width:760px) {
 .task-setup-pair { grid-template-columns: minmax(0,1fr); gap: 12px; }
 .task-range-dialog .task-setup .range-field,
 .task-range-dialog .task-setup-pair .range-field { grid-template-columns: 90px minmax(0,1fr); }
 .task-setup-heading { flex-wrap: wrap; }
}

.task-group-table { min-width: 1120px; }
.task-group-row > td { background: #f1f5fc; border-top: 1px solid #d8e2f2; padding-top: 12px; padding-bottom: 12px; }
.task-group-toggle { display: inline-flex; align-items: center; gap: 8px; border: 0; background: none; padding: 0 10px 0 0; color: #244a7d; font: inherit; }
.task-group-actions { min-width: 250px; }
.task-group-actions > a,.task-group-actions > button { margin-right: 8px; white-space: nowrap; }
.task-group-actions > a { color: #1764ff; text-decoration: none; }
.task-child-row .task-name-cell { padding-left: 30px; }
.task-child-row .task-name-cell > button { white-space: normal; text-align: left; }
.task-created-time { white-space: nowrap; }
.office-owner-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin-bottom:16px}
.office-owner-heading a{white-space:nowrap}
.office-owner-heading h2{margin:0;font-size:18px}
.office-owner-page>.actions{margin-bottom:12px}
.office-owner-table{min-width:520px;border-collapse:collapse}
.office-owner-table th,.office-owner-table td{border:1px solid #dce5f5}
.office-owner-table th{background:#eaf1fc}
.office-owner-picker{display:grid;grid-template-columns:minmax(155px,200px) minmax(0,1fr);gap:20px}
.office-owner-picker nav{display:flex;flex-direction:column;align-self:start;gap:4px;padding:12px;background:#f4f7fc;border:1px solid #e0e7f2;border-radius:6px}
.office-owner-picker nav strong{padding:4px 8px}
.office-owner-picker nav button{text-align:left;border:0;background:transparent}
.office-owner-picker nav button[aria-pressed=true]{background:#e7efff;color:#1251c4}
.office-owner-count{padding:8px 12px;background:#f0f5ff;color:#25364f}
@media(max-width:700px){.office-owner-picker{grid-template-columns:1fr}.office-owner-picker nav{flex-direction:row;flex-wrap:wrap}}

.task-group-table { min-width: 1000px; }
.task-group-table .task-group-row > td { background: #f2f6fc; padding: 13px 16px; }
.task-group-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.task-group-summary { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; min-width: 0; }
.task-group-heading .task-group-toggle { padding: 0; }
.task-group-controls { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 16px; margin-left: auto; }
.task-group-heading .task-group-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; min-width: 0; }
.task-group-heading .task-group-actions > a,
.task-group-heading .task-group-actions > button { margin-right: 0; }

.hour-goal-table input[type=number]{width:100%;min-width:76px;max-width:112px}

.hour-goal-filters{font-size:13px}
.hour-goal-bulk{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin-bottom:12px;padding:10px 12px;background:#f4f7fc;font-size:13px}
.hour-goal-bulk[hidden]{display:none}
.hour-goal-bulk label{display:flex;align-items:center;gap:6px}
.hour-goal-bulk input{width:100px}
.hour-goal-table{border:1px solid #dce5f5;border-collapse:collapse}
.hour-goal-table th,.hour-goal-table td{border:1px solid #dce5f5}
.hour-goal-tools{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin:16px 0 10px;font-size:13px}
.hour-goal-table th:first-child{width:44px}
.hour-goal-table [hidden]{display:none}
