:root{--ink:#243932;--green:#315a48;--muted:#7d8981;--line:#e4e8e1;--paper:#f7f8f4;--warm:#fbf9f1;--accent:#dfe9de;--rose:#9d5452;font-family:-apple-system,BlinkMacSystemFont,"PingFang TC","Microsoft JhengHei",sans-serif;color:var(--ink);background:var(--paper);font-size:14px}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #8eaf94;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #8eaf94;outline-offset:1px}input,select,textarea{color:var(--ink)}[hidden]{display:none!important}.shell{display:flex;min-height:100vh}.sidebar{width:220px;background:#eef2ea;border-right:1px solid #dce3d8;padding:30px 20px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;font-size:10px;letter-spacing:1px;font-weight:700}.brand-mark{font-family:Georgia,serif;font-size:42px;background:var(--green);color:#fff;border-radius:12px;width:46px;height:49px;text-align:center;line-height:42px;letter-spacing:-2px}.brand small{display:block;font-size:12px;letter-spacing:1.5px;font-weight:400;margin-top:7px}.nav-label{font-size:10px;letter-spacing:2px;color:#829080;margin:50px 13px 15px}.nav-item{padding:13px;border-radius:8px;display:flex;align-items:center;gap:12px;font-weight:600}.nav-item.active{background:#dce6d6;color:#2d513e}.nav-item span{font-size:21px;font-weight:400}.sidebar-note{margin:30px 10px;font-size:11px;color:#71816f;line-height:1.8}.sidebar-note p{margin:9px 0;color:#929e8c}.small-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#698e6b;margin-right:5px}.small-dot.muted{background:#a6afa5}.sidebar-bottom{margin-top:auto;border-top:1px solid #dce3d8;padding-top:20px;display:flex;gap:10px;align-items:center;font-size:12px}.sidebar-bottom small{display:block;font-size:9px;color:#7f8b7b;line-height:1.6;margin-top:5px}.avatar{display:grid;place-items:center;border:1px solid #d2ddcb;background:#e2e9dd;width:33px;height:33px;border-radius:50%;flex-shrink:0}main{margin-left:220px;flex:1;min-width:0}.topbar{height:70px;border-bottom:1px solid var(--line);padding:0 38px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#79837b;background:#fcfcf9}.slash{margin:0 12px;color:#bdc5bc}.local-label{font-size:10px;border:1px solid var(--line);border-radius:5px;padding:5px 8px;color:#7b877a}.content{padding:26px 36px 20px;max-width:1660px;margin:auto}.demo-banner{display:flex;align-items:center;gap:12px;background:#f3eedf;border:1px solid #e8dfc8;border-radius:8px;padding:11px 15px;color:#786c4c}.banner-icon{font-family:Georgia,serif;font-size:13px;border:1px solid #b3a781;width:19px;height:19px;display:grid;place-items:center;border-radius:50%;flex-shrink:0}.demo-banner strong{font-size:12px;display:block;font-weight:600}.demo-banner div>span{font-size:11px;display:block;margin-top:4px;color:#8a8066}.page-heading{margin:32px 0 26px;display:flex;justify-content:space-between;gap:20px;align-items:center}.eyebrow{font-size:9px;letter-spacing:2.2px;color:#8b9a87;margin:0 0 12px;font-weight:600}h1{font-size:28px;letter-spacing:1px;line-height:1.4;font-weight:600;margin:0}h2{font-size:15px;margin:0;font-weight:600;letter-spacing:.3px}.subtitle{font-size:12px;color:#859080;margin:10px 0 0}.button{padding:10px 14px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;line-height:1.4;border:1px solid transparent}.button.primary{background:var(--green);color:#fff}.button.primary:hover{background:#244535}.button.secondary{background:white;border-color:#dce3d9;color:#52624f}.button.secondary:hover{background:#f0f4ec}.button.small{padding:8px 10px;font-size:11px;width:100%;display:flex;justify-content:space-between}.course-bar{padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;gap:22px}.course-bar label{display:block;font-size:10px;color:#8a9686;margin-bottom:7px}.course-bar select{border:0;background:#fff;font-size:13px;font-weight:600;max-width:100%;padding-right:15px}.lesson-time{font-size:11px;color:#7c8878;margin-top:19px}.source-status{margin-left:auto;white-space:nowrap;font-size:10px;color:#8a9585}.source-status>span:not(.small-dot){margin:0 7px;color:#c5ccc1}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:18px 0 24px}.stats article{background:#fff;border:1px solid var(--line);border-radius:8px;padding:19px 21px;position:relative}.stats article>span{display:block;font-size:11px;color:#7e8d79}.stats strong{font-family:Georgia,serif;font-size:36px;line-height:1.5;font-weight:400;display:block}.stats small{font-size:10px;color:#a0a999;display:block}.stats article:nth-child(3){background:#f1f4eb;border-color:#dfe7d5}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden}.panel-header{padding:22px 21px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-header p{font-size:10px;color:#919c8b;margin:7px 0 0;line-height:1.7}.roster-tools{display:flex;gap:10px;padding:0 21px 18px;align-items:center}.search-wrap{display:flex;align-items:center;background:#f8f9f5;border:1px solid #e6eae1;border-radius:5px;padding:0 10px;flex:1;min-width:0}.search-wrap>span{font-size:21px;color:#9da894}.search-wrap input{padding:9px 8px;background:transparent;border:0;width:100%;font-size:11px;min-width:0}.roster-tools>select{font-size:10px;background:#fff;border:1px solid var(--line);border-radius:5px;padding:9px 5px;max-width:110px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-weight:400;font-size:10px;color:#8b9886;background:#f7f9f4;padding:11px 14px;border-block:1px solid #edf0e8}th:first-child,td:first-child{padding-left:21px}td{padding:17px 14px;border-bottom:1px solid #f0f2ec;font-size:11px}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfdf9}.student-cell{display:flex;align-items:center;gap:9px}.student-avatar{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#e8eee4;color:#65745d;font-size:11px;flex-shrink:0}.color-1{background:#f0eade;color:#918365}.color-2{background:#e7edef;color:#6e8289}.student-cell strong{font-size:11px;font-weight:600}.student-cell small,.cell-sub{display:block;font-size:9px;color:#9aa393;margin-top:5px;line-height:1.6}.zoom-name{display:block;max-width:150px;overflow:hidden;text-overflow:ellipsis;font-size:10px;color:#72806c}.badge{padding:4px 7px;border-radius:4px;font-size:9px;display:inline-block}.badge.green{color:#52724e;background:#edf4e9}.badge.neutral{color:#8a9380;background:#f1f3ec}.badge.amber{color:#a38a4b;background:#f8f1df}.badge.rose{color:#a56c67;background:#f7eeec}.leave-text{font-size:10px;color:#9a8a67}.muted-text{color:#bac2b3}.text-button{background:none;border:0;color:#667e5e;padding:7px 0;font-size:10px}.text-button:hover{color:#284c32;text-decoration:underline}.table-note{background:#fcfdf9;border-top:1px solid var(--line);padding:13px 21px;font-size:9px;color:#9aa392;line-height:1.8}.count-pill{font-size:10px;border-radius:5px;background:#edf2e5;padding:3px 6px;margin-left:4px;color:#6a7f5b}.queue-panel .panel-header{padding-bottom:8px}.queue-card{margin:13px 16px 0;padding:14px;border:1px solid #e4e9dc;border-radius:7px;background:#fcfdf9}.queue-card>div{display:flex;align-items:center;gap:8px}.queue-card strong{font-size:12px;font-weight:500}.platform{display:inline-block;font-size:8px;letter-spacing:.5px;padding:3px 5px;border-radius:3px;font-weight:600}.platform.zoom{background:#e9eff5;color:#718aa4}.platform.line{background:#eaf1e5;color:#6b875a}.queue-card p{font-size:9px;color:#9aa38f;line-height:1.7;margin:10px 0 12px}.queue-note{font-size:9px;color:#9da68f;margin:17px 20px 20px;line-height:1.9}.history-panel{margin-top:22px}.history-panel .panel-header{border-bottom:1px solid #f0f2ea}.saved{font-size:9px;color:#7b9170;white-space:nowrap}.history-row{display:flex;align-items:start;gap:12px;padding:16px 22px;border-bottom:1px solid #f1f3ed}.history-dot{width:6px;height:6px;background:#a5b49c;border-radius:50%;margin-top:5px;flex-shrink:0}.history-row>div{flex:1}.history-row strong{font-size:11px;font-weight:500}.history-row p{font-size:10px;color:#829078;margin:6px 0}.history-row small{font-size:9px;color:#a8afa0}.history-empty{padding:24px 22px;color:#9ba591;font-size:11px}.empty-state{padding:35px 18px;text-align:center;color:#899c7c}.empty-state>span{display:block;font-size:25px;margin-bottom:12px}.empty-state strong{font-size:11px;font-weight:400}.empty-state p{font-size:9px;line-height:1.8;color:#a1ac97}.empty-row{text-align:center;color:#929e89;padding:35px!important}footer{font-size:9px;color:#a8afa0;display:flex;justify-content:space-between;gap:20px;padding:22px 0 5px}dialog{width:min(520px,calc(100vw - 28px));max-height:90vh;border:1px solid #dce5d5;padding:0;border-radius:12px;color:var(--ink);box-shadow:0 20px 80px #20332530}dialog::backdrop{background:#20332555;backdrop-filter:blur(3px)}.dialog-header{display:flex;justify-content:space-between;padding:25px 25px 17px;align-items:center}.dialog-header h2{font-size:20px}.icon-button{background:none;border:0;color:#9aa590;font-size:25px;padding:4px 8px}.dialog-context{font-size:12px;line-height:1.9;margin:0 25px 18px;padding:13px;background:#f4f6ef;border-radius:6px;color:#7a8a70}#fields{padding:0 25px}.field{font-size:12px;display:block;margin-bottom:17px}.field>span{font-size:9px;color:#a6ad9d;margin-left:5px}.field>input,.field>select,.field>textarea{display:block;width:100%;margin-top:9px;border:1px solid #dce4d5;border-radius:5px;background:white;padding:11px;font-size:12px;line-height:1.5}.field>textarea{resize:vertical}.dialog-footer{padding:18px 25px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:9px;background:#fbfcf8;margin-top:8px}.time-details{font-size:11px;color:#819275;margin-bottom:18px}.time-details summary{cursor:pointer}.time-details p{font-size:10px;line-height:1.8;color:#929e88}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.two-fields .field>input{font-size:10px;padding:8px}.error-box{background:#faeeeb;color:#9b514b;border:1px solid #eac8c0;border-radius:5px;padding:12px;line-height:1.7;font-size:12px;margin:14px 0}#form-error{margin:10px 25px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#2d4c3b;color:white;padding:14px 22px;border-radius:7px;font-size:12px;box-shadow:0 8px 30px #243c3022;z-index:100}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.panel{min-width:0}.workspace-grid>*{min-width:0}th,.roster-tools{position:relative}
@media(min-width:1600px){.workspace-grid{grid-template-columns:minmax(0,1fr) 300px}td{font-size:12px}.student-cell strong{font-size:12px}}
@media(max-width:1200px){.sidebar{width:185px;padding:25px 14px}.brand{font-size:8px}.brand small{font-size:10px}.brand-mark{width:40px;font-size:35px;height:43px}main{margin-left:185px}.content{padding:23px}.topbar{padding-inline:24px}.workspace-grid{grid-template-columns:minmax(0,1fr) 235px;gap:15px}.course-bar{gap:12px;flex-wrap:wrap}.source-status{margin-left:0}.lesson-time{margin-top:0}.panel-header{padding:18px 15px}.roster-tools{padding-inline:15px}td,th{padding-inline:10px}h1{font-size:25px}.stats article{padding:15px}}
@media(max-width:980px){.sidebar{width:72px;padding:22px 12px}.brand>span:not(.brand-mark),.nav-label,.sidebar-note,.sidebar-bottom{display:none}.nav-item{margin-top:35px;font-size:0;padding:10px;justify-content:center}.nav-item>span{font-size:22px}main{margin-left:72px}.workspace-grid{grid-template-columns:1fr}.queue-panel #queue{display:grid;grid-template-columns:1fr 1fr;padding:0 6px 12px}.queue-card{margin:10px 8px 0}.queue-panel .empty-state{grid-column:1/-1}.stats{gap:10px}.source-status{margin-left:auto}}
@media(max-width:600px){.sidebar{display:none}main{margin-left:0}.topbar{height:48px;padding-inline:17px}.local-label{font-size:8px}.content{padding:16px}.demo-banner{padding:10px;align-items:start}.demo-banner strong{font-size:10px}.demo-banner div>span{font-size:9px;line-height:1.6}.page-heading{margin-block:25px 20px;align-items:start}h1{font-size:22px}.eyebrow{font-size:8px}.subtitle{font-size:10px;max-width:220px;line-height:1.8}.page-heading>.button{font-size:0;padding:9px}.page-heading>.button:before{content:'↻';font-size:16px}.course-bar{padding:14px;gap:12px}.course-bar>div:first-child{width:100%}.course-bar select{font-size:12px;max-width:100%;width:100%}.lesson-time{font-size:10px}.source-status{margin-left:0;font-size:9px}.stats{grid-template-columns:1fr 1fr;margin-bottom:18px}.stats strong{font-size:30px}.stats small{font-size:9px}.stats article{padding:13px 15px}.panel-header{padding:18px 14px;align-items:start}h2{font-size:14px}.panel-header p{font-size:9px}.panel-header .button{padding:8px 9px;font-size:10px}.roster-tools{padding-inline:12px;gap:7px}.roster-tools input{font-size:10px}.roster-tools>select{font-size:9px}.queue-panel #queue{grid-template-columns:1fr}.queue-card{padding:13px}.saved{max-width:80px;white-space:normal;line-height:1.6;font-size:8px}.history-row{padding-inline:14px}.history-row .text-button{font-size:9px}footer{display:block;line-height:1.9}footer>span{display:block;font-size:8px}.two-fields{grid-template-columns:1fr}.toast{width:calc(100vw - 35px);text-align:center;bottom:16px}.dialog-header{padding:21px}.dialog-context{margin-inline:21px}#fields{padding-inline:21px}}
/* Course setup and roster import */
.brand{font-size:16px;letter-spacing:1px;padding-block:10px}.action-group{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.page-heading{margin-top:8px}.course-bar>div{min-width:0}.course-bar select{max-width:260px}.course-bar #demo-tag{margin-left:8px}.setup-note{padding:14px 18px;background:#edf2e8;border:1px solid #dde6d6;border-radius:7px;margin-top:14px;font-size:12px;line-height:1.8}.field-help{font-size:11px;color:#7d8977;line-height:1.8;margin:10px 0 18px}.paste-details{margin:16px 0;font-size:12px;color:#62765b}.paste-details summary{cursor:pointer;margin-bottom:12px}.import-dialog{width:min(880px,calc(100vw - 28px))}.import-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.import-summary{display:flex;flex-wrap:wrap;gap:20px;background:#f0f4eb;padding:14px;border-radius:6px;font-size:12px;margin-bottom:12px}.import-table{overflow:auto;max-height:270px;border:1px solid var(--line);border-radius:5px}.import-table th{position:sticky;top:0}.import-table td{padding:10px;font-size:11px}.error-text{color:#a34336}.field>input[type=file]{font-size:11px}.sidebar-bottom small{font-size:10px}button:disabled{cursor:not-allowed}.course-bar .source-status{margin-left:auto}
@media(max-width:980px){.brand{font-size:0}.brand:before{content:'課';font-size:20px;color:var(--green)}.brand>span{display:none}.page-heading{flex-wrap:wrap}.course-bar select{max-width:100%}}
@media(max-width:600px){.page-heading .action-group{width:100%;gap:7px}.page-heading .action-group .button{font-size:11px;padding:9px}.course-bar>div:nth-child(2){width:100%}.panel-header{flex-wrap:wrap}.import-columns{grid-template-columns:1fr;gap:0}.course-bar .source-status{margin-left:0}.import-summary{gap:10px}.import-table td{font-size:10px}.import-dialog .dialog-header h2{font-size:18px}}
/* v0.3: course accordion and source inbox */
.sidebar nav{display:grid;gap:8px}.sidebar .nav-item{border:0;background:transparent;width:100%;text-align:left;font-size:12px;gap:8px;line-height:1.6}.sidebar .nav-item.active{background:#dce6d6}.sidebar .nav-item .nav-name{font-size:12px}.sidebar .count-pill{margin-left:auto;font-size:10px}.course-card{border:1px solid var(--line);border-radius:10px;background:#fff;margin-bottom:16px;overflow:hidden}.course-summary,.lesson-summary{display:flex;gap:12px;align-items:center;padding:20px;flex-wrap:wrap}.disclosure{border:0;background:none;color:var(--ink);display:flex;gap:10px;align-items:center;text-align:left;padding:4px 0;min-width:0;max-width:100%}.disclosure strong{font-weight:600;font-size:15px;overflow-wrap:anywhere}.chevron{color:#85977c;font-size:18px}.course-date{font-size:11px;color:#85907d}.row-actions{margin-left:auto}.course-summary .button,.lesson-summary .button{padding:7px 10px;font-size:11px}.course-detail{background:#fafbf7;border-top:1px solid var(--line);padding:20px}.course-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:15px}.source-pills{display:flex;gap:6px;flex-wrap:wrap}.source-pills .button{font-size:10px;padding:7px 10px}.roster-starts{background:#fff;border:1px solid var(--line);border-radius:7px;padding:14px;margin-bottom:20px}.roster-starts summary{font-size:12px;color:#5c7455;cursor:pointer}.series-lessons-header{display:flex;justify-content:space-between;align-items:center;margin:17px 0;font-size:12px;color:#88937f}.lesson-card{border:1px solid var(--line);background:#fff;border-radius:8px;margin-top:12px;overflow:hidden}.lesson-summary .action-group{margin-left:auto}.lesson-summary .disclosure strong{font-size:13px}.lesson-summary{padding:15px}.lesson-detail{padding:18px;border-top:1px solid var(--line);background:#f8faf5}.course-detail>.lesson-detail{border:0;padding:0}.workspace-time{font-size:11px;color:#72836b;line-height:1.9;display:grid;gap:5px}.workspace-time .button{font-size:10px;padding:5px 9px;margin-left:9px}.history-toggle{display:flex;justify-content:space-between;padding:17px 20px;cursor:pointer;font-size:13px;color:#586e50;list-style:none}.history-toggle:before{content:'▸';margin-right:9px}details[open]>.history-toggle:before{content:'▾'}.history-toggle span{margin-left:auto;font-size:10px;color:#94a089}.connection-note{padding:18px 20px;background:#f0f4eb;border:1px solid #dce5d4;border-radius:8px;margin-bottom:24px;font-size:12px;line-height:1.9}.connection-note strong{display:block;color:#527246}.connection-note span{color:#849078}.section-title{display:flex;justify-content:space-between;align-items:center;margin:24px 0 15px;gap:10px}.section-title>span{font-size:11px;color:#8b9782}.source-card{border:1px solid var(--line);border-radius:9px;padding:21px;background:#fff;margin-bottom:15px;min-width:0}.source-card p{font-size:12px;color:#87937d;line-height:1.9;overflow-wrap:anywhere}.source-heading{display:flex;justify-content:space-between;align-items:start;gap:15px;flex-wrap:wrap}.source-card h2{line-height:1.9}.source-card details>summary,.source-card>summary{cursor:pointer;font-size:12px;color:#708466;padding-top:8px}.source-fields{display:grid;grid-template-columns:130px minmax(0,1fr);gap:9px;font-size:11px;padding:14px;background:#f8faf4;line-height:1.8}.source-fields dt{color:#819277}.source-fields dd{margin:0;overflow-wrap:anywhere}.message-row{border-top:1px solid var(--line);padding:16px 0;font-size:12px}.message-row>span{font-size:10px;color:#8d9982;margin-left:12px}.message-row small{color:#8b9b7e}.room-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.room-grid .source-card{margin:0}.draft-lesson{border:1px solid #dfe5d8;border-radius:8px;margin-bottom:14px;background:#fbfcf8}.draft-lesson>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;padding:14px;font-size:12px;color:#57704e}.draft-lesson>summary:before{content:'▸'}details.draft-lesson[open]>summary:before{content:'▾'}.draft-label{flex:1;overflow-wrap:anywhere}.lesson-edit-fields{padding:17px}.trash-button{background:none;border:0;color:#9b6c60;font-size:11px;cursor:pointer;white-space:nowrap}.wide-dialog{width:min(760px,calc(100vw - 28px))}#work-fields{padding:0 25px}#work-error{margin:10px 25px}.confirm-body{padding:24px}.confirm-body p{font-size:13px;line-height:1.9;color:#78886d}.binding-options fieldset{border:1px solid var(--line);border-radius:6px;margin:12px 0;padding:13px}.binding-options legend{font-size:12px;color:#65785b}.check-row{display:flex;align-items:center;gap:10px;padding:10px;font-size:12px}.check-row small{display:block;margin-top:6px;color:#8a977e;font-size:10px}.check-row input{accent-color:var(--green)}.queue-card details{font-size:10px;color:#8a987f;margin-bottom:10px}.queue-card summary{cursor:pointer}button[data-action]:disabled{opacity:.35}.setup-note>.button{margin-right:8px}#classroom .stats{margin-top:14px}#classroom .stats strong{font-size:30px}#course-tools{min-width:0}#work-editor{scrollbar-gutter:stable}.single-draft{background:white}.sidebar .brand{font-size:15px}
@media(max-width:1200px){.row-actions{width:100%;margin-left:25px}.course-summary{gap:10px}.course-detail{padding:15px}.lesson-detail{padding:13px}.workspace-grid{grid-template-columns:1fr}.queue-panel #queue{display:grid;grid-template-columns:1fr 1fr}.queue-panel .empty-state{grid-column:1/-1}}
@media(max-width:980px){.sidebar .nav-item{margin-top:0;font-size:19px;justify-content:center;padding:11px 5px}.sidebar .nav-item .nav-name,.sidebar .nav-item .count-pill{display:none}.sidebar nav{margin-top:25px}.sidebar .brand{font-size:0}.sidebar .brand:before{content:'課';font-size:20px}.course-summary .disclosure{flex:1 1 100%}.row-actions{margin-left:0}}
@media(max-width:600px){.sidebar{display:block;position:static;width:100%;padding:12px 15px;border-right:0;border-bottom:1px solid var(--line)}.shell{display:block}.sidebar .brand,.sidebar .nav-label,.sidebar .sidebar-note,.sidebar .sidebar-bottom{display:none}.sidebar nav{display:flex;gap:5px;flex-wrap:wrap;margin:0}.sidebar .nav-item{width:auto;font-size:12px;padding:8px}.sidebar .nav-item .nav-name{display:inline;font-size:10px}.sidebar .nav-item .count-pill{display:inline;font-size:9px}main{margin:0}.course-detail{padding:10px}.course-summary{padding:15px}.disclosure strong{font-size:14px}.row-actions{gap:6px}.row-actions .button,.lesson-summary .button{font-size:10px;padding:6px 8px}.lesson-summary .action-group{margin-left:0;gap:5px}.lesson-detail{padding:10px}.course-toolbar{gap:10px}.source-pills .button{max-width:100%;white-space:normal;text-align:left}.source-fields{grid-template-columns:1fr;gap:4px}.source-card{padding:15px}.source-card h2{font-size:13px}.section-title>span{font-size:9px}.queue-panel #queue{grid-template-columns:1fr}.connection-note{padding:14px;font-size:11px}.roster-tools{flex-wrap:wrap}.roster-tools>.search-wrap{min-width:160px}.panel-header{gap:8px}.history-toggle{padding:14px}.confirm-body{padding:20px}#work-fields{padding-inline:18px}.draft-lesson>summary{padding:12px}.lesson-edit-fields{padding:12px}.room-grid{grid-template-columns:1fr}.content{padding:15px}.workspace-time{font-size:10px}.page-heading .action-group .button{font-size:11px}}
.connection-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;border-top:1px solid #dfe7d6;padding-top:14px;margin-bottom:0;font-size:10px}.connection-fields dt{color:#8b987f}.connection-fields dd{margin:5px 0 0;color:#617356;overflow-wrap:anywhere}@media(max-width:600px){.connection-fields{grid-template-columns:1fr 1fr;font-size:9px}}
.auth-body{background:#eef2ea}.auth-main{margin:0;min-height:100vh;display:grid;place-content:center;padding:30px 16px}.auth-brand{font-size:15px;letter-spacing:1px;color:#52694d;text-align:center;margin-bottom:24px}.auth-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px;width:min(420px,calc(100vw - 32px));box-shadow:0 12px 50px #233a3010}.auth-card h1{font-size:25px;margin-bottom:15px}.auth-card .eyebrow{margin-bottom:12px}.auth-submit{width:100%;margin-top:8px}.auth-help{font-size:11px;line-height:1.9;color:#929d88;margin-top:22px}.profile-link{font:inherit;text-align:left;border:0;background:none;padding:0;color:var(--ink);cursor:pointer}.profile-link:hover{text-decoration:underline}.course-owner{font-size:10px;color:#7f8c74}.profile-card{max-width:650px;padding:24px}#account-fields{padding:0 25px}#account-error{margin:14px 25px}.team-picker{border:1px solid var(--line);border-radius:7px;padding:12px;max-height:350px;overflow:auto}.team-picker legend{font-size:12px;color:#7b8e6b}#activation-link{font-size:11px;overflow-wrap:anywhere}#link-expiry{font-size:12px;line-height:1.9;color:#7b8b70}#members-view td .action-group{flex-wrap:nowrap}#members-view .section-title{margin-top:5px}#members-view .table-wrap{margin-bottom:25px}@media(max-width:600px){.auth-card{padding:25px}.course-owner{font-size:9px}.sidebar-bottom{display:flex!important;margin:12px 0 0;padding-top:10px}.sidebar-bottom>span:last-child{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sidebar-bottom small{margin:0}.sidebar-bottom .text-button{margin-left:8px}.profile-card{padding:18px}.profile-card .source-fields{grid-template-columns:90px minmax(0,1fr)}#account-fields{padding-inline:18px}}
/* Personal homework shares the course workspace's controls and quiet palette. */
.hw-toolbar{display:flex;align-items:end;gap:18px;padding:22px;flex-wrap:wrap;margin-bottom:20px}.hw-toolbar>.field{flex:1;min-width:200px;margin:0}.hw-tools{padding:0;margin:20px 0;align-items:end}.hw-tools .search-wrap{flex:1}.hw-filter{margin:0;min-width:190px}.hw-board{margin-bottom:24px;overflow:hidden}.hw-task-list{padding:0 24px}.hw-task{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 0;border-top:1px solid var(--border,#dfe5db)}.hw-task h3{font-size:18px;margin:0 0 8px}.hw-task p{font-size:14px;line-height:1.7;margin:5px 0;color:var(--muted,#71806e)}.hw-description{white-space:pre-wrap;overflow-wrap:anywhere;max-width:650px}.hw-task small{color:var(--muted,#71806e)}.hw-matrix th:first-child{min-width:140px}.hw-matrix td{padding:12px;min-width:210px}.hw-matrix thead th{min-width:200px;max-width:300px;overflow-wrap:anywhere}.hw-cell{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;min-height:80px;border:1px solid #e1e8de;background:#fafbf8;border-radius:9px;padding:14px;cursor:pointer;text-align:left;font:inherit}.hw-cell:hover{border-color:#71907c;background:#f0f5ed}.hw-cell:focus-visible{outline:3px solid #73947d;outline-offset:2px}.hw-cell small{font-size:12px;line-height:1.5;color:#73816e}.hw-cell .hw-warning{color:#986735}.hw-history-text{max-width:280px;min-width:180px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}#hw-bottom details{margin:20px 0;padding:20px}#hw-bottom summary{cursor:pointer}#hw-editor textarea{resize:vertical;width:100%;font:inherit;border:1px solid #dce4d8;border-radius:8px;padding:12px}#hw-editor .check-row{margin:8px 0}.hw-toolbar select{max-width:100%}
@media(max-width:700px){.hw-toolbar{padding:16px;align-items:stretch}.hw-toolbar>.field{min-width:0;flex-basis:100%}.hw-toolbar .action-group{flex-wrap:wrap}.hw-task{align-items:flex-start;flex-wrap:wrap}.hw-task-list{padding:0 16px}.hw-tools{flex-wrap:wrap}.hw-tools .search-wrap{flex-basis:100%}.hw-filter{width:100%;min-width:0}.hw-matrix td{min-width:190px}}

#hw-fields{padding:0 25px}#hw-error{margin:14px 25px}#hw-editor .dialog-context{padding:0 25px}#homework-view .hw-history-text{white-space:pre-wrap}#homework-view .hw-task h3{overflow-wrap:anywhere}#homework-view .hw-task>div:first-child{min-width:0}#homework-view .hw-matrix th{white-space:normal}@media(max-width:600px){#hw-fields{padding-inline:18px}#hw-editor .dialog-context{padding-inline:18px}}

.hw-task-settings>summary{padding:14px 22px;cursor:pointer;border-top:1px solid var(--line);color:#6c7d65;font-size:12px}.hw-board .hw-matrix tbody th{font-size:12px;font-weight:500;color:var(--ink);background:#fcfdf9}.hw-board .hw-matrix thead th{font-size:12px}.hw-board .hw-cell .badge{font-size:11px}.hw-board .hw-matrix .cell-sub{font-size:10px}#homework-view .hw-cell .badge{white-space:normal}
.anno-inbox{margin:18px 0}.anno-inbox>summary{padding:18px;cursor:pointer;color:#6f8066}.anno-card{display:flex;gap:18px;justify-content:space-between;align-items:center;padding:18px 22px;border-top:1px solid var(--line)}.anno-card strong{font-size:13px;overflow-wrap:anywhere}.anno-card p{font-size:11px;color:var(--muted);line-height:1.8}.anno-card>div:first-child{min-width:0}.anno-card .action-group{flex-shrink:0}.anno-origin{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:7px}.anno-origin summary{cursor:pointer;color:#6b7e61}.anno-origin pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:12px}.anno-item{border:1px solid var(--line);border-radius:9px;padding:20px;margin:16px 0;background:#fcfdf9}.anno-item .source-heading{margin-bottom:18px}.anno-item textarea{width:100%;font:inherit;padding:12px;border:1px solid var(--line);border-radius:7px;resize:vertical}.anno-actions{margin:14px 0}#anno-fields{padding:0 25px}#anno-fields>label textarea{width:100%;resize:vertical;border:1px solid var(--line);padding:12px;border-radius:7px;font:inherit}#anno-fields [name=raw_text]{min-height:170px}#anno-error{margin:15px 25px}#anno-warnings{padding:14px;line-height:1.8;font-size:12px}#anno-editor .dialog-footer{flex-wrap:wrap}#anno-editor .section-title{gap:12px}.anno-inbox .action-group{flex-wrap:wrap}@media(max-width:600px){#anno-fields{padding:0 18px}.anno-item{padding:14px}.anno-card{align-items:flex-start;flex-wrap:wrap;padding:16px}.anno-item .source-heading{gap:10px}#anno-editor .dialog-footer .button{font-size:11px}.hw-toolbar .action-group{flex-wrap:wrap}}
.routing-inbox-filters{display:flex;gap:16px;padding:0 22px 16px;flex-wrap:wrap}.routing-inbox-filters .field{margin:0;min-width:170px;flex:1}.routing-evidence{padding:14px;background:#f5f8f1;border:1px solid var(--line);border-radius:8px;margin-bottom:18px}.routing-evidence p{font-size:11px;line-height:1.9;overflow-wrap:anywhere}.routing-group{padding-top:20px;border-top:1px solid var(--line);margin-top:20px}.routing-group p,.routing-group small{font-size:11px;color:var(--muted);line-height:1.8}.routing-group summary{font-size:12px;margin-top:14px;cursor:pointer}.routing-message{padding:12px 0;border-top:1px solid var(--line)}#routing-fields{padding:0 25px}#routing-fields textarea{font:inherit;width:100%;padding:12px;border:1px solid var(--line);border-radius:7px;resize:vertical}#routing-error{margin:15px 25px}.routing-impact{padding:16px;background:#f7f9f4;border:1px solid var(--line);border-radius:8px;line-height:1.8}.routing-impact article{border-top:1px solid var(--line);padding:12px 0}.routing-impact p{font-size:12px;white-space:normal;overflow-wrap:anywhere}.routing-hint{line-height:1.8;font-size:12px;margin:12px 0;color:#576b4f}#routing-editor .setup-note{font-size:12px;line-height:1.8;padding:14px}#routing-editor .dialog-footer{flex-wrap:wrap}.anno-card .action-group{flex-wrap:wrap;max-width:230px}.anno-card>div:first-child{flex:1}@media(max-width:600px){#routing-fields{padding:0 18px}.routing-inbox-filters{padding:0 16px 16px}.routing-inbox-filters .field{min-width:0;flex-basis:100%}.anno-card .action-group{max-width:100%}}

.routing-date-help{padding:0 22px 14px;font-size:10px;color:var(--muted);line-height:1.7}
.group-tabs{margin:18px 0;flex-wrap:wrap}.sg-panel{padding:22px;margin:20px 0}.sg-panel>summary{cursor:pointer}.sg-panel h3{font-size:15px}.sg-panel p{font-size:12px;line-height:1.8}.sg-task{padding:18px 0;border-top:1px solid var(--line)}.sg-target{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px;border:1px solid var(--line);border-radius:8px;margin:12px 0}.sg-target>div{min-width:0;overflow-wrap:anywhere}.sg-totals{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.sg-totals>div{border:1px solid var(--line);padding:14px;display:flex;flex-direction:column;gap:10px;border-radius:8px;font-size:12px}.sg-totals strong{font-size:24px}#sg-fields{padding:0 25px}#sg-fields textarea{font:inherit;width:100%;padding:12px;border:1px solid var(--line);border-radius:7px;resize:vertical}#sg-error{margin:15px 25px}.sg-panel .action-group{flex-wrap:wrap}.sg-panel td{overflow-wrap:anywhere}.sg-panel .table-wrap{margin-top:20px}.group-tabs [aria-pressed=true]{background:var(--green,#315d4a);color:white}@media(max-width:600px){#sg-fields{padding-inline:18px}.sg-panel{padding:16px}.sg-target{align-items:flex-start;flex-wrap:wrap}.sg-panel .section-title{flex-wrap:wrap}.group-tabs .button{padding:9px;font-size:11px}.sg-panel .hw-task{flex-wrap:wrap}}
.group-tabs .button[aria-pressed=true],.group-tabs .button[aria-pressed=true]:hover{background:var(--green);color:white}
.gr-inbox details{margin:18px 0}.gr-inbox summary{cursor:pointer}.gr-filter{max-width:280px;margin-top:20px}.gr-card{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:18px 0}.gr-card>div{min-width:0}.gr-card p{overflow-wrap:anywhere}.gr-card .action-group{flex-shrink:0;flex-wrap:wrap}.gr-row{padding:16px;border:1px solid var(--line);border-radius:8px;margin:14px 0;background:#fafbf8}.gr-row p{font-size:12px;line-height:1.8;overflow-wrap:anywhere}.gr-row .field{margin-top:12px}#gr-fields{padding:0 25px}#gr-fields textarea{font:inherit;width:100%;padding:12px;border:1px solid var(--line);border-radius:7px;resize:vertical}#gr-error{margin:16px 25px}#gr-impact{margin:18px 0}#gr-editor .dialog-footer{flex-wrap:wrap}#gr-editor .setup-note{padding:14px;font-size:12px;line-height:1.8}#gr-editor .anno-origin pre{max-height:250px;overflow:auto}@media(max-width:600px){#gr-fields{padding:0 18px}.gr-card{flex-wrap:wrap;align-items:flex-start}.gr-card .action-group{max-width:100%}.gr-row{padding:12px}#gr-editor .dialog-footer .button{font-size:11px}.gr-filter{max-width:100%}}
