:root{--blue:#3d5ae8;--ink:#252b37;--muted:#717887;--border:#e7e9ef;--urgent:#d64545;--warning:#b67a13;--normal:#287b63;--sidebar:214px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink);background:#fff;font-size:16px;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;line-height:1.55}button,input,textarea,select{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{cursor:pointer;border:0;background:none;color:inherit}button:disabled{cursor:default;opacity:.48}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}svg{width:20px;height:20px;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:25px;letter-spacing:-.7px;font-weight:650}h2{font-size:16px;font-weight:650}h3{font-size:16px;font-weight:600}[hidden]{display:none!important}.muted,.hint{color:var(--muted)}.hint{font-size:15px;line-height:1.8}.primary,.secondary,.quiet,.text-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:6px;white-space:nowrap;font-size:16px;font-weight:500;min-height:35px;padding:8px 13px}.primary{background:var(--blue);color:white;box-shadow:0 1px 2px #0001}.primary:hover{background:#304bce}.secondary{background:#fff;border:1px solid #d9dde6}.secondary:hover{background:#f6f7fa}.quiet{color:#737a88;padding:7px 9px}.quiet:hover{background:#eff1f6;color:#323b4e}.text-link{padding:0;min-height:26px;color:var(--blue);font-size:15px}.full{width:100%}.brand{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:650;color:#232b3c;letter-spacing:-.3px}.brand:hover{text-decoration:none}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#3d5ae8;color:#fff;font-size:20px;font-weight:500}.brand-mark.small{width:30px;height:30px;border-radius:8px;font-size:17px}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);padding:27px 16px 19px;background:#f7f8fa;border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:10}.sidebar>.brand{padding:0 8px 32px}nav{display:flex;flex-direction:column;gap:5px}.nav{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:7px;color:#606877;font-size:16px;text-align:left;white-space:nowrap}.nav:hover{background:#edf0f5}.nav.active{color:#3a53cd;background:#e9edf9;font-weight:600}.sidebar-bottom{margin-top:auto;padding:17px 5px 0;border-top:1px solid var(--border)}.help-button{justify-content:flex-start;padding:8px 0}.sidebar-user{display:flex;gap:3px;align-items:center;justify-content:space-between;margin:14px 0 10px}.user-chip{font-size:15px;text-align:left;padding:0;color:#333c50;max-width:135px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user>#logout{font-size:14px;padding:4px}.sidebar-bottom>small{font-size:14px;color:#8a91a0}.topbar{margin-left:var(--sidebar);height:66px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 30px;gap:15px;background:#fff}.topbar>#term{color:#858c9b;font-size:15px}.sync-actions{display:flex;align-items:center;gap:16px}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:5px;padding:4px 8px;background:#f0f6f3;color:#408167;font-size:14px;font-weight:500;white-space:nowrap}.pill:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.pill.bad{color:#bd5d37;background:#fff3ed}main{margin-left:var(--sidebar);padding:29px 30px 42px;max-width:1600px}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px;gap:15px}.intro .muted{font-size:15px;margin-top:6px}.page-count{font-size:15px;color:#677387}.alert{border:1px solid #f0dcc6;background:#fff9f1;border-radius:7px;padding:11px 14px;font-size:15px;color:#a0713f;line-height:1.8;margin-bottom:18px;overflow-wrap:anywhere}.announcement{display:flex;align-items:baseline;gap:13px;padding:11px 14px;background:#f3f6fc;border:1px solid #e3e9f5;border-radius:7px;font-size:15px;color:#586a8f;margin-bottom:12px;overflow-wrap:anywhere}.announcement>span{white-space:pre-wrap}.announcement>strong{flex-shrink:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:25px}.stat{display:flex;flex-direction:column;justify-content:center;gap:3px;padding:15px 18px;border:1px solid var(--border);border-radius:8px;background:#fff;min-height:101px}.stat>span{font-size:15px;color:#7b8290}.stat strong{font-size:28px;letter-spacing:-1px;font-weight:600;line-height:1.4}.stat small{font-size:13px;color:#69758a}.stat.warning strong{color:#be8428}.status-stat strong{font-size:21px;letter-spacing:-.4px}.board-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:24px;align-items:start}.task-column{min-width:0}.work-panel{border:1px solid var(--border);border-radius:9px;overflow:hidden;background:#fff}.source-tabs{display:flex;gap:22px;padding:0 18px;border-bottom:1px solid var(--border)}.source-tab{padding:14px 0 12px;color:#858b98;border-bottom:2px solid transparent;font-size:15px}.source-tab.active{color:#354ed0;border-color:#4960df;font-weight:600}.source-tab span{font-size:13px;padding:1px 5px;background:#f0f2f6;border-radius:4px;margin-left:4px;color:#737f91}.panel-toolbar{display:flex;gap:12px;align-items:center;padding:14px 16px;flex-wrap:wrap;border-bottom:1px solid var(--border)}.filters{display:flex;padding:3px;background:#f3f4f7;border-radius:6px;gap:2px;flex-shrink:0}.filter{font-size:14px;color:#7a8191;padding:5px 9px;border-radius:4px}.filter.active{background:#fff;color:#29374e;box-shadow:0 1px 3px #17223c12}.toolbar-right{display:flex;align-items:center;gap:7px;flex-wrap:wrap;flex:1}.toolbar-right input[type=search]{flex:1;min-width:150px;order:-1}.toolbar-right select{width:125px;padding:7px 9px;font-size:14px}.toolbar-right .text-link{font-size:13px;margin-left:auto}.list-columns{display:grid;grid-template-columns:minmax(0,1fr) 135px 112px;gap:15px;padding:11px 17px 11px 53px;background:#fafbfc;color:#69758a;font-size:13px;border-bottom:1px solid var(--border)}.list-columns>span:last-child{text-align:right}.task-group-title{padding:11px 17px;background:#fcfcfd;font-size:14px;font-weight:600;color:#788293;border-bottom:1px solid #eff1f5;display:flex;gap:8px}.task-group-title span{font-weight:400;color:#9aa2b0}.task-row{display:grid;grid-template-columns:22px minmax(0,1fr) 135px 112px;gap:14px;align-items:center;padding:16px 17px;border-bottom:1px solid #eff1f5;min-height:91px}.task-row:last-child{border-bottom:0}.task-row:hover{background:#fbfcff}.task-check{width:19px;height:19px;min-width:19px;min-height:19px;border-radius:50%;border:1.5px solid #cbd1dc;display:grid;place-items:center;padding:0;font-size:14px;color:var(--blue)}.task-check.checked{background:#edf1ff;border-color:#9faee8}.task-main{min-width:0}.task-title{display:block;padding:0;text-align:left;font-size:16px;font-weight:550;color:#303a4e;line-height:1.6;overflow-wrap:anywhere}.task-title:hover{color:var(--blue)}.task-main .meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:6px;color:#677387;font-size:13px}.task-main .course-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:205px}.source-label{font-size:12px;border:1px solid #dfe5f5;background:#f5f7fd;color:#586eab;padding:0 5px;border-radius:4px;line-height:18px}.source-label.mooc{color:#488a73;background:#f0f7f4;border-color:#daebe3}.kind-label{font-size:13px;color:#69758a}.task-due{font-size:15px;font-weight:500;line-height:1.6}.task-due small{display:block;font-size:13px;font-weight:400;color:#637185;margin-top:3px}.task-status{display:flex;align-items:flex-end;flex-direction:column;gap:6px;font-size:14px}.task-status>a{color:#66758b;font-size:13px}.badge{display:inline-flex;align-items:center;justify-content:center;font-size:13px;line-height:1.7;padding:2px 6px;border-radius:4px;color:#788496;background:#f0f3f7;white-space:nowrap}.level-urgent{color:var(--urgent)!important}.level-warning{color:var(--warning)!important}.level-normal{color:var(--normal)!important}.level-overdue{color:#ac6c6c!important}.level-done{color:#80958d!important}.badge.level-urgent{background:#fdf0f0}.badge.level-warning{background:#fff7e9}.badge.level-normal{background:#f0f6f3}.badge.level-overdue{background:#f8f1f1}.badge.level-done,.badge.done{background:#eff5f1;color:#6a8b78}.panel-footer{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--border);font-size:13px;color:#929baa;flex-wrap:wrap}.board-aside{display:grid;gap:16px}.side-card{border:1px solid var(--border);border-radius:8px;padding:17px}.side-card h2{font-size:15px;margin-bottom:15px}.side-card .hint{font-size:14px}.side-card .text-link{margin-top:13px;font-size:14px}.week-strip{display:grid;gap:1px}.week-day{display:grid;grid-template-columns:1fr auto;gap:4px;align-items:center;padding:8px 3px;border-radius:4px;text-align:left}.week-day>span{font-size:13px;color:#7d899b}.week-day>strong{font-size:15px;font-weight:550;color:#617594}.week-day>small{display:none}.week-day:hover,.week-day.selected{background:#eef2fc}.health-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;padding:8px 0;border-bottom:1px solid #eff1f5}.health-row:last-child{border:0}.health-row small{font-size:13px;color:#8e98a8}.health-row .warn{color:#ba6a3d}.empty{padding:55px 22px;text-align:center;color:#919aa8;font-size:15px;line-height:1.9}.empty strong{display:block;font-size:17px;color:#6b778b;font-weight:500;margin-bottom:8px}.empty .primary{margin-top:18px}#active-filters{padding:9px 16px;border-bottom:1px solid var(--border);font-size:14px;color:#6077ac}#active-filters button{font-size:14px;margin-left:10px;color:#9b6e67}.home-guide{border:1px solid var(--border);border-radius:7px;padding:12px 16px;margin-top:22px;font-size:15px;color:#7d899b}.home-guide summary{cursor:pointer}.guide-steps{padding-left:21px;display:grid;gap:14px;font-size:15px}.guide-steps strong{font-weight:550;color:#53647b}.guide-steps p{margin-top:3px;color:#8591a0;font-size:14px;line-height:1.9}.guide-note{font-size:14px;line-height:1.9;padding:12px 14px;background:#f5f7fb;border-radius:6px;margin-top:18px;color:#8390a3}.home-guide[open] summary{margin-bottom:18px}
.section-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:19px}.section-top .muted{font-size:15px;margin-top:5px}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.account-card-heading{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.account-card-heading .muted{font-size:15px;margin-top:6px}.account-card dl{margin:20px 0;font-size:15px}.account-card dl>div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #eff1f5;gap:15px}.account-card dt{color:#929aa8}.account-card dd{margin:0;color:#66748b;text-align:right}.account-error{font-size:15px;line-height:1.9;background:#fff6f1;color:#ad764a;padding:11px 13px;border-radius:6px;margin-bottom:12px;overflow-wrap:anywhere}.account-card .settings-actions{flex-wrap:wrap;gap:8px}.account-card .settings-actions button{font-size:14px}.subnav{display:flex;gap:18px;border-bottom:1px solid var(--border);margin-bottom:22px;overflow:auto}.subnav>button{white-space:nowrap;padding:11px 4px;color:#8b93a0;font-size:15px;border-bottom:2px solid transparent}.subnav>button.active{color:#415bcd;border-color:#4960df;font-weight:600}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.settings-card{border:1px solid var(--border);border-radius:8px;padding:23px;background:#fff;min-width:0}.settings-card>.muted{font-size:15px;line-height:1.8;margin:7px 0 20px}.settings-card>h3{margin:18px 0 12px}.settings-card .hint{font-size:14px}.full-card{grid-column:1/-1}label{display:block;font-size:15px;color:#707c8d;margin:17px 0}label>input,label>textarea,label>select{margin-top:7px}input:not([type=checkbox]):not([type=color]),textarea,select{display:block;width:100%;border:1px solid #dfe3eb;background:#fff;color:#3d485b;border-radius:5px;padding:10px 11px;font-size:15px;min-height:37px}input:focus,textarea:focus,select:focus{outline:2px solid #cfd8fc;border-color:#9caee7}input[type=checkbox]{width:15px;height:15px;margin:0;accent-color:#4861d9;flex-shrink:0}input[type=color]{width:100%;height:38px;padding:3px;border:1px solid var(--border);border-radius:5px;background:white}.check{display:flex;align-items:center;gap:8px;font-size:15px;line-height:1.8}.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.checkbox-grid .check{margin:6px 0}.special-permission{color:#8d632c;background:#fff8e9;padding:9px;border-radius:6px}textarea{resize:vertical;line-height:1.8}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.form-row label{min-width:0}.settings-actions{display:flex;align-items:center;gap:12px;margin-top:19px}.form-state{font-size:14px;color:#819987;margin-left:8px}.color-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.color-grid label{font-size:14px;text-align:center}.design-grid{display:grid;grid-template-columns:minmax(290px,.85fr) minmax(0,1.3fr);gap:20px;align-items:start}.preview-card{border:1px solid var(--border);border-radius:8px;overflow:hidden}.preview-heading{padding:14px 17px;font-size:15px;border-bottom:1px solid var(--border)}.preview-heading span{font-size:13px;color:#9ca3ad;float:right}.preview-card iframe{display:block;width:100%;height:820px;border:0}.preview-card>.hint{padding:12px}.recipient-row{display:flex;align-items:center;gap:9px;font-size:14px;padding:8px 0;border-bottom:1px solid #eff1f5;flex-wrap:wrap;overflow-wrap:anywhere}.recipient-row small{color:#9aa2b0}.recipient-row button{font-size:13px;margin-left:auto}.history-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 21px;border-bottom:1px solid var(--border)}.history-heading .muted{font-size:15px;margin-top:5px}.history-heading>select{max-width:170px}.event{display:grid;grid-template-columns:minmax(0,1fr) 135px 110px;gap:18px;padding:20px 21px;border-bottom:1px solid #eef0f4}.event h3{font-size:16px;margin-bottom:5px}.event small,.event-time{font-size:14px;color:#69758a;line-height:1.8}.event small{display:block}.event-error{color:#ba7350!important}.event-status{font-size:14px;color:#648576;display:flex;flex-direction:column;gap:8px;align-items:flex-end}.event-status.pending{color:#ac853e}.event-status.failed{color:#be6862}.event-status button{font-size:13px;padding:0;min-height:24px}.receipt{font-size:13px;color:#8e98aa;margin-top:10px;line-height:1.9;overflow-wrap:anywhere}.receipt summary{cursor:pointer}.receipt>div{padding:9px;background:#f7f8fb;border-radius:5px;margin-top:8px}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.mini-stat{border:1px solid var(--border);border-radius:7px;padding:16px}.mini-stat span{display:block;font-size:14px;color:#99a0ab;margin-bottom:8px}.mini-stat strong{font-size:18px;font-weight:550}.user-row{display:grid;grid-template-columns:1fr 1.1fr 1fr auto;align-items:center;gap:18px;padding:17px 20px;border-bottom:1px solid #eff1f5;font-size:15px}.user-row small{display:block;color:#69758a;font-size:14px;margin-top:5px}.user-tags{display:flex;gap:6px;flex-wrap:wrap}.user-row .hint{font-size:14px}.user-row button{font-size:14px}.registration-review{margin-bottom:22px}.registration-review .section-top{align-items:flex-start}.registration-review .pill{margin-left:6px}.registration-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;padding:16px 0;border-top:1px solid #eff1f5;font-size:15px}.registration-row small{display:block;font-size:14px;color:#69758a;margin-top:4px}.registration-row .settings-actions{margin:0}.registration-row button{font-size:14px}.audit-row{display:grid;grid-template-columns:140px 100px 100px minmax(0,1fr);gap:15px;padding:13px 18px;font-size:14px;border-bottom:1px solid #eff1f5;color:#8b96a8}.audit-row strong{color:#61728c;font-weight:500}.audit-row small{font-size:14px;overflow-wrap:anywhere}.scheduler-status{padding:13px;background:#f7f9fc;border-radius:6px;font-size:14px;color:#77869a;line-height:1.9;margin-top:15px}.notice-list{margin-top:18px}hr{border:0;border-top:1px solid var(--border);margin:22px 0}
dialog{width:min(480px,calc(100vw - 32px));max-height:90vh;border:1px solid #dde2ec;border-radius:12px;padding:25px;box-shadow:0 20px 100px #101e3b26;overflow:auto;color:var(--ink)}dialog::backdrop{background:#17243855;backdrop-filter:blur(2px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:17px}.dialog-top h2{font-size:18px}.wide-dialog{width:min(740px,calc(100vw - 32px))}.assist-dialog{width:min(1150px,calc(100vw - 32px))}#assist-image{width:100%;margin-top:15px;border:1px solid var(--border);border-radius:5px}#assist-text{flex:1;min-width:150px}.assist-dialog .settings-actions{flex-wrap:wrap}.qr-dialog{text-align:center;width:min(420px,calc(100vw - 32px))}.qr-dialog .muted{font-size:15px}.qr-area{height:270px;display:grid;place-items:center;margin:16px 0;background:#fafbfc;border:1px solid var(--border);border-radius:8px}.qr-area img{width:240px;height:240px;max-width:100%;object-fit:contain}.qr-area span{color:#97a1b2;font-size:16px}#mooc-qr-status{font-size:16px;min-height:24px;color:#526c9b}.qr-dialog .settings-actions{justify-content:center}.task-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(540px,100vw);height:100dvh;max-height:100dvh;border-radius:0;padding:29px;border-right:0}.task-detail-meta{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.task-detail-title{font-size:22px;line-height:1.5;margin:18px 0}.task-detail-fields{display:grid;grid-template-columns:80px 1fr;gap:12px;font-size:15px;margin:25px 0;padding:20px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.task-detail-fields dt{color:#939dac}.task-detail-fields dd{margin:0;color:#627088}.assignment-content{font-size:16px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;color:#5e6f85}.attachments{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.attachment{font-size:14px;padding:6px 9px;background:#f2f5fa;border-radius:5px;color:#7789a4}.local-note{white-space:pre-wrap;overflow-wrap:anywhere;padding:13px;background:#f7f8fc;border-radius:5px;font-size:15px;color:#71809b;margin:18px 0}.snooze-label{font-size:13px;color:#69758a}.task-detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.login-wrap{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px 22px;background:#f7f8fb}.login-card{width:min(100%,400px);padding:32px;background:#fff;border:1px solid #e3e7ef;border-radius:12px;box-shadow:0 10px 40px #28355505}.login-card h1{font-size:24px;margin-top:20px}.login-card .muted{font-size:15px;margin:8px 0 27px;line-height:1.8}.login-card label{margin:18px 0}.login-card .secondary{margin-top:11px}.login-card small{display:block;margin-top:17px;font-size:13px;line-height:1.9}.login-guide{width:min(100%,400px);margin-top:19px;color:#8994a6;font-size:15px}.login-guide summary{text-align:center;cursor:pointer}.login-guide[open]{padding:17px 21px;border:1px solid var(--border);border-radius:8px;background:#fff}.login-guide[open] summary{text-align:left;margin-bottom:18px}.error{color:#c16c64;font-size:15px;line-height:1.8;margin-top:13px}footer{margin-left:calc(var(--sidebar) + 30px);margin-right:30px;padding:17px 0;border-top:1px solid var(--border);display:flex;gap:15px;color:#a2a9b4;font-size:13px}footer>span:last-child{margin-left:auto}#toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);max-width:calc(100vw - 30px);padding:12px 18px;border:1px solid #364359;background:#2d384d;color:#fff;border-radius:7px;box-shadow:0 8px 30px #15274022;font-size:15px;z-index:50}
@media(min-width:1650px){main{padding-left:44px;padding-right:44px}.board-layout{grid-template-columns:minmax(0,1fr) 250px}.task-row{min-height:98px}}
@media(max-width:1200px){:root{--sidebar:190px}main{padding:25px 23px}.topbar{padding:0 23px}.board-layout{grid-template-columns:minmax(0,1fr)}.board-aside{grid-template-columns:repeat(3,minmax(0,1fr))}.week-strip{grid-template-columns:repeat(2,1fr);gap:1px 8px}.week-day{padding:4px}.board-aside .side-card{padding:14px}.board-aside h2{margin-bottom:9px}.sidebar{padding-left:12px;padding-right:12px}.sidebar>.brand{font-size:16px}.design-grid{grid-template-columns:minmax(0,1fr)}.preview-card iframe{height:780px}.user-row{grid-template-columns:1fr 1fr auto}.user-row>.hint{grid-column:1/3;grid-row:2}.user-row>.secondary{grid-column:3;grid-row:1/3}.account-grid{grid-template-columns:1fr}}
@media(max-width:760px){:root{--sidebar:0px}.sidebar{position:sticky;inset:0 0 auto;width:100%;padding:13px 16px 0;border-right:0;border-bottom:1px solid var(--border);background:#fafbfc;display:grid;grid-template-columns:1fr auto;gap:12px;z-index:10}.sidebar>.brand{padding:0;font-size:16px}.brand-mark.small{width:27px;height:27px;font-size:17px}.sidebar nav{grid-column:1/-1;grid-row:2;flex-direction:row;gap:0;justify-content:space-between;overflow:auto}.nav{flex-direction:column;gap:4px;padding:8px 8px 10px;font-size:13px;border-radius:0;min-width:57px;flex:1;border-bottom:2px solid transparent}.nav svg{width:18px;height:18px}.nav.active{background:none;color:#4860d0;border-color:#4860d0}.sidebar-bottom{margin:0;border:0;padding:0;grid-column:2;grid-row:1;display:flex;align-items:center;gap:5px}.sidebar-bottom>small,.help-button{display:none}.sidebar-user{margin:0;gap:7px}.user-chip{max-width:102px;font-size:13px}.sidebar-user>#logout{font-size:13px}.topbar{height:auto;min-height:56px;padding:10px 16px;gap:8px}.topbar>#term{font-size:13px;max-width:120px;line-height:1.6}.sync-actions{gap:8px}.sync-actions .primary{font-size:14px;min-height:31px;padding:6px 9px}.pill{font-size:13px;padding:3px 5px}main{padding:23px 16px 30px}.intro{margin-bottom:18px}h1{font-size:23px}.intro .muted{font-size:14px}.page-count{font-size:13px}.stats{gap:8px;margin-bottom:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:11px 14px;min-height:85px}.stat strong{font-size:24px}.stat span{font-size:14px}.status-stat strong{font-size:19px}.stat small{font-size:12px}.board-aside{grid-template-columns:1fr 1fr;gap:12px}.board-aside>.side-card:first-child{grid-column:1/-1}.week-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:0}.week-day{display:flex;flex-direction:column;align-items:center;padding:6px 0}.week-day>span{font-size:12px;white-space:nowrap}.week-day>strong{font-size:15px}.board-layout{gap:17px}.source-tabs{gap:18px;padding:0 13px}.source-tab{font-size:14px;padding:12px 0}.panel-toolbar{padding:12px;gap:10px}.filters{width:100%}.filter{flex:1;padding:6px 7px;font-size:13px}.toolbar-right{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.toolbar-right input[type=search]{grid-column:1/-1;min-width:0;width:100%}.toolbar-right select{width:100%;font-size:13px}.toolbar-right .text-link{grid-column:1/-1;justify-self:end}.toolbar-right #course-filter{grid-column:2;grid-row:2}.list-columns{display:none}.task-row{grid-template-columns:19px minmax(0,1fr) 77px;gap:10px;padding:15px 12px;align-items:start}.task-check{width:17px;height:17px;min-height:17px;min-width:17px;margin-top:3px}.task-title{font-size:16px}.task-main{grid-column:2;grid-row:1}.task-main .meta{font-size:12px;gap:4px}.task-main .course-label{max-width:145px}.task-due{grid-column:2;grid-row:2;font-size:13px;margin-top:-3px}.task-due small{display:inline;margin-left:7px;font-size:12px}.task-status{grid-column:3;grid-row:1/3;padding-top:1px;font-size:13px}.task-status .badge{font-size:12px}.task-status>a{font-size:12px}.task-group-title{font-size:13px;padding:10px 13px}.panel-footer{font-size:12px;padding:11px 12px;gap:5px}.empty{padding:40px 15px;font-size:14px}.empty strong{font-size:16px}.settings-grid{grid-template-columns:1fr}.settings-card{padding:19px}.settings-card>.muted{font-size:14px}.section-top h2{font-size:17px}.section-top .muted{font-size:14px}.section-top .primary{font-size:14px;padding:7px 9px}.subnav{gap:15px}.subnav>button{font-size:14px}.form-row{gap:0 12px}.checkbox-grid{grid-template-columns:1fr}.settings-actions{flex-wrap:wrap;gap:9px}.event{grid-template-columns:minmax(0,1fr) 85px;gap:10px;padding:16px}.event-time{grid-column:1;grid-row:2;font-size:13px}.event-status{grid-column:2;grid-row:1/3;font-size:13px}.event h3{font-size:15px}.event small{font-size:13px}.history-heading{padding:16px;align-items:flex-start;flex-direction:column;gap:12px}.history-heading h2{font-size:17px}.history-heading .muted{font-size:14px}.history-heading select{max-width:100%}.admin-stats{grid-template-columns:1fr 1fr;gap:9px}.mini-stat{padding:13px}.mini-stat strong{font-size:16px}.user-row{padding:15px;gap:10px;grid-template-columns:1fr auto}.user-row>.hint{grid-column:1;grid-row:3}.user-tags{grid-column:1;grid-row:2}.user-row>.secondary{grid-column:2;grid-row:1/4}.user-row .badge{font-size:12px}.user-row .pill{grid-column:2;grid-row:1/4}.registration-row{grid-template-columns:1fr auto;gap:10px}.registration-row .settings-actions{grid-column:1/-1}.registration-review .section-top{flex-wrap:wrap}.registration-review .pill{font-size:12px}.audit-row{grid-template-columns:1fr 1fr;gap:7px;font-size:13px}.audit-row small{grid-column:1/-1}.announcement{font-size:14px;gap:5px;flex-direction:column}.task-drawer{padding:22px}.task-detail-title{font-size:20px}.login-card{padding:28px}.login-wrap{padding:25px 20px}.login-card h1{font-size:23px}footer{margin:0 16px;font-size:12px;gap:8px}footer>span:nth-child(2){display:none}dialog{padding:21px}.color-grid{gap:7px}.color-grid label{font-size:13px}}

/* Readable task metadata and comfortable controls at every viewport. */
.task-title{font-size:17px}.task-due{font-size:16px}.task-due small{font-size:15px;color:#637185;line-height:1.65}.task-main .meta,.kind-label{font-size:14px}.source-label,.badge{font-size:13px}.task-status>a{font-size:14px}.task-row{grid-template-columns:22px minmax(0,1fr) 166px 132px;min-height:105px}.list-columns{grid-template-columns:minmax(0,1fr) 166px 132px}.task-main .course-label{max-width:260px}.task-group-title{font-size:14px}.task-status{gap:9px}.health-row{flex-wrap:wrap}.announcement{flex-wrap:wrap}.announcement>strong{flex-shrink:1}.announcement .notice-summary{flex-basis:100%;color:#66758b;font-size:14px}.announcement .quiet{margin-left:auto}.notice-summary{line-height:1.8}.notice-option{align-items:flex-start}.notice-option input{margin-top:5px}.notice-email-hint{font-size:14px;color:#66758b;line-height:1.8}.receipt{font-size:13px}.user-chip{max-width:140px}.toolbar-right select{width:155px}.toolbar-right input[type=search]{min-width:180px}.task-detail-fields{line-height:1.85}.account-card-heading{flex-wrap:wrap}
@media(max-width:760px){
 .nav{font-size:12px;padding-left:5px;padding-right:5px}.user-chip{font-size:13px;max-width:145px}.sidebar-user>#logout{font-size:13px}.topbar{flex-wrap:wrap}.topbar>#term{font-size:13px;max-width:132px}.sync-actions .primary{font-size:14px}.pill{font-size:13px}.task-row{grid-template-columns:22px minmax(0,1fr) 94px;gap:10px;padding:17px 13px}.task-main{grid-column:2/-1;grid-row:1}.task-check{width:20px;height:20px;min-width:20px;min-height:20px}.task-title{font-size:17px}.task-main .meta,.kind-label{font-size:13px;gap:6px}.task-main .course-label{max-width:210px}.task-due{grid-column:2;grid-row:2;font-size:16px;line-height:1.75;margin:0}.task-due small{display:block;font-size:14px;margin:2px 0 0;line-height:1.75}.task-status{grid-column:3;grid-row:2;align-self:center;gap:9px}.task-status .badge{font-size:13px}.task-status>a{font-size:13px}.filter{font-size:14px;padding:7px 6px}.source-tab{font-size:15px}.toolbar-right select{width:100%;font-size:15px}.toolbar-right input[type=search]{min-width:0;font-size:16px}.panel-footer{font-size:13px;line-height:1.8}.task-group-title{font-size:14px}.week-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 4px}.week-day>span{font-size:13px}.week-day>strong{font-size:16px}.week-day{gap:5px}.board-aside{grid-template-columns:1fr}.board-aside>.side-card:first-child{grid-column:auto}.side-card .hint,.side-card .text-link{font-size:15px}.form-row{grid-template-columns:1fr}.user-row .badge{font-size:13px}.registration-review .pill{font-size:13px}.announcement{font-size:15px}.stat small{font-size:13px}.section-top{flex-wrap:wrap}.audit-row{font-size:14px}.event-status{font-size:14px}.event small,.event-time{font-size:14px}
}

#setup-dialog{width:min(640px,calc(100vw - 32px));max-height:88vh;overflow:auto;padding:24px}#setup-dialog p{font-size:16px;line-height:1.8}#setup-body{margin:20px 0}#setup-error{color:var(--urgent)}#setup-banner{margin:12px 18px;display:flex;gap:16px;align-items:center;justify-content:space-between}#setup-banner[hidden]{display:none}@media(max-width:600px){#setup-dialog{padding:18px}#setup-banner{flex-wrap:wrap}}

.admin-user-identity{font-size:15px;line-height:1.8;overflow-wrap:anywhere;margin-top:8px}.admin-user-identity span{color:var(--muted,#65717e)}.user-row>div:first-child{min-width:0}

.mail-recipients-only{grid-template-columns:minmax(0,1fr)}.account-delete{color:#b02f36}

/* The first-use reminder belongs to the main content, clear of the sidebar. */
#setup-banner{margin:0 0 18px;align-items:center;flex-direction:row;flex-wrap:wrap;gap:12px 18px;min-width:0}
#setup-banner>strong{flex:1 1 220px;min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.7}
#setup-banner>button{flex:0 0 auto;max-width:100%;white-space:normal}
