.work-mode-bar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 40px;font-size:12px;display:flex}.work-mode-switch{background:0 0;border:0;gap:9px;min-height:36px;padding:7px 0}.work-mode-track{background:var(--muted);border-radius:20px;align-items:center;width:36px;height:22px;padding:3px;display:inline-flex}.work-mode-track>span{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;display:block}.work-mode-switch[aria-checked=true] .work-mode-track{background:var(--blue)}.work-mode-switch[aria-checked=true] .work-mode-track>span{transform:translate(14px)}@media (max-width:760px){.work-mode-bar{flex-wrap:wrap;padding:8px 16px;font-size:11px}.work-mode-switch{min-height:40px}.work-mode-bar>b{display:block}}@media (prefers-reduced-motion:reduce){.work-mode-track>span{transition:none}}
.enrollment-repair{min-width:0}dialog:has(.enrollment-repair){width:min(900px,100vw - 32px)}.dialog-body:has(.enrollment-repair)>.section-heading{z-index:2;background:var(--surface);padding:8px 0;position:sticky;top:0}.dialog-body:has(.enrollment-repair) h2{overflow-wrap:anywhere;min-width:0}.enrollment-repair form>fieldset{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;display:grid}.repair-selection,.repair-students,.enrollment-repair form>fieldset>button{grid-column:1/-1}.enrollment-repair form>fieldset>button{justify-self:start}.enrollment-repair p,.enrollment-repair li{overflow-wrap:anywhere}.repair-selection{flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0;display:flex}.repair-students{border:1px solid var(--border);border-radius:10px;max-height:300px;margin-bottom:16px;overflow:auto}.repair-student{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;margin:0;padding:12px;display:flex}.repair-student:last-child{border-bottom:0}.repair-student input{flex:none;width:18px;margin-top:3px}.repair-student span{min-width:0}.repair-student small{margin-top:4px;display:block}.repair-preview{border-top:1px solid var(--border);margin-top:24px;padding-top:12px}.repair-preview ul{padding-left:22px}.repair-preview li{margin:8px 0}.repair-preview details{margin-bottom:16px}.repair-lessons{max-height:300px;margin-top:12px}.repair-success{border:1px solid #4d9970;border-radius:8px;padding:12px}.repair-warning{border:1px solid #b58a38;border-radius:8px;padding:12px}@media (max-width:540px){.enrollment-repair form>fieldset{grid-template-columns:minmax(0,1fr)}.enrollment-repair button{white-space:normal;max-width:100%}.repair-student{padding:10px}.repair-selection{align-items:flex-start}.repair-preview>fieldset>.primary{width:100%}}
.curriculum-heading{margin:20px 0}.curriculum-heading h2{margin:14px 0 8px}.curriculum-rows{gap:18px;display:grid}.curriculum-row h3{overflow-wrap:anywhere;margin:0}.curriculum-row h4{margin:20px 0 10px}.curriculum-notice{background:var(--notice-bg);color:var(--notice-text);border-radius:8px;padding:12px}.curriculum-hours{flex-wrap:wrap;gap:18px 30px;display:flex}.curriculum-hours dt{color:var(--muted);font-size:13px}.curriculum-hours dd{margin:6px 0 0;font-weight:600}.curriculum-binding{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin:12px 0;padding-bottom:12px;display:flex}.curriculum-form-hours{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}@media (max-width:650px){.curriculum-row .section-heading,.curriculum-binding{flex-direction:column;align-items:flex-start}.curriculum-form-hours{grid-template-columns:1fr}}
.document-templates>section{margin-top:28px}.document-templates>section>h2{margin-bottom:16px}.document-template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.document-template-card{flex-direction:column;min-width:0;display:flex}.document-template-card h3{margin:16px 0 8px}.document-template-card p{color:var(--muted);margin:0 0 22px;line-height:1.6}.document-template-card a{color:var(--blue);border:1px solid var(--border);border-radius:8px;align-self:flex-start;align-items:center;gap:8px;margin-top:auto;padding:11px 15px;font-weight:600;text-decoration:none;display:inline-flex}.document-template-card a:hover{background:var(--hover)}.document-template-card a:focus-visible{outline:2px solid var(--focus);outline-offset:3px}@media (max-width:700px){.document-template-grid{grid-template-columns:1fr}}
.retake-view{gap:20px;display:grid}.retake-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.retake-summary .stat{min-height:130px}.retake-list,.retake-card{gap:18px;display:grid}.retake-card-head{grid-template-columns:1fr 1fr;gap:20px;display:grid}.retake-card-head h2{margin:12px 0 5px}.retake-card-head p{margin:0}.retake-card-head>div:last-child{align-content:center;gap:6px;display:grid}.retake-chain{background:var(--hover);border-radius:10px;align-items:center;gap:14px;padding:14px;display:flex;overflow-x:auto}.retake-chain span{min-width:150px}.retake-attempts{gap:10px;display:grid}.retake-attempts>div{border:1px solid var(--border);border-radius:9px;grid-template-columns:auto minmax(210px,1fr) minmax(220px,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.retake-create{justify-self:start}.debt-open{background:var(--error-bg);color:var(--danger)}.debt-scheduled{background:var(--notice-bg);color:var(--notice-text)}.debt-resolved,.debt-completed{background:var(--success-bg);color:var(--green)}.debt-cancelled{color:var(--muted)}.retake-dialog{gap:14px;display:grid}.retake-dialog label{margin:0}.retake-dialog textarea{min-height:90px}@media (max-width:760px){.retake-summary,.retake-card-head,.retake-attempts>div{grid-template-columns:1fr}.retake-chain svg{flex:none}.retake-create{width:100%}}
.reports-view{gap:20px;display:grid}.report-filter{gap:18px;display:grid}.report-filter .section-heading p,.report-table .section-heading p{margin:5px 0 0}.report-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.report-filter-grid label{margin:0}.report-filter-grid select,.report-filter-grid input{margin-top:6px}.report-filter-actions{grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:12px;display:grid}.report-filter-actions input{margin:0}.report-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.report-summary .stat{min-height:125px}.report-summary .stat strong{font-size:28px}.report-summary .report-alert strong{color:var(--danger)}.report-tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.report-tabs button{text-align:left;gap:5px;padding:14px;display:grid}.report-tabs button small{color:var(--muted);line-height:1.35}.report-tabs button.active{background:var(--accent-soft);border-color:var(--blue);color:var(--blue)}.report-chart{gap:15px;display:grid}.chart-row{grid-template-columns:minmax(130px,220px) 1fr 1fr;align-items:center;gap:20px;display:grid}.chart-row>div{grid-template-columns:95px 1fr 45px;align-items:center;gap:9px;display:grid}.chart-row span,.chart-row strong{font-size:12px}.chart-row i{background:var(--hover);border-radius:10px;height:9px;display:block;overflow:hidden}.chart-row em{background:var(--blue);border-radius:inherit;height:100%;display:block}.chart-row i.attendance em{background:var(--green)}.report-table{gap:16px;display:grid}.report-table td,.report-table th{white-space:nowrap}.report-table td.bad{color:var(--danger);font-weight:700}@media (max-width:1100px){.report-filter-grid,.report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.report-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.chart-row{grid-template-columns:1fr}.chart-row>div{grid-template-columns:95px 1fr 45px}}@media (max-width:700px){.report-filter-grid,.report-summary,.report-filter-actions,.report-tabs{grid-template-columns:1fr}.report-filter-actions>*{width:100%}.report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.report-summary .stat{min-height:110px}.chart-row>div{grid-template-columns:82px 1fr 40px}.report-table .section-heading{align-items:flex-start}.report-table .section-heading>small{display:none}}.report-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.report-presets{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.report-presets small{color:var(--muted)}.report-filter-actions{flex-wrap:wrap;gap:12px;display:flex}.report-draft-status{color:var(--notice-text);align-self:center;font-size:12px}.report-advanced summary{cursor:pointer;color:var(--accent-text);font-size:13px}.report-advanced[open] .report-filter-grid{margin-top:15px}.report-search{margin:0}.report-search input{margin-top:8px}.report-export-actions{flex-shrink:0;gap:10px;display:flex}.report-export-actions>a,.report-export-actions>button{gap:6px;font-size:12px}.report-summary-note{color:var(--muted);margin:-8px 0 0;font-size:12px;line-height:1.5}.report-export-note{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.report-table .section-heading{flex-wrap:wrap;align-items:flex-start;gap:16px}.report-table .section-heading>div:first-child{flex:1;min-width:0}.report-table .section-heading p{overflow-wrap:anywhere}.report-table td{white-space:normal;overflow-wrap:anywhere;min-width:110px;max-width:340px}.report-table th{white-space:normal;min-width:110px}.report-table .table-scroll{max-height:65vh}.report-table thead{z-index:1;position:sticky;top:0}.report-table .pagination{flex-wrap:wrap}.report-table>small{color:var(--muted)}@media (max-width:700px){.report-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.report-tabs button{padding:12px}.report-tabs button small{font-size:10px}.report-filter-actions{grid-template-columns:1fr;display:grid}.report-export-actions{width:100%}.report-export-actions .primary{flex:1}.report-table .section-heading>div:first-child{flex-basis:100%}.report-filter-grid{grid-template-columns:1fr}.report-summary .stat{padding:15px}.report-summary .stat span{overflow-wrap:anywhere}.report-table .pagination{gap:9px;font-size:12px}}
.exchange-view{gap:20px;display:grid}.exchange-intro{background:var(--accent-soft);justify-content:space-between;align-items:center;display:flex}.exchange-intro h2{margin:7px 0}.exchange-intro p{max-width:720px;margin:0}.exchange-intro>svg{color:var(--blue);flex-shrink:0}.exchange-success{border:1px solid var(--success-border);background:var(--surface);color:var(--green);border-radius:10px;align-items:center;gap:9px;padding:14px 18px;font-size:13px;display:flex}.exchange-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.exchange-import,.exchange-export{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.exchange-import .section-heading,.exchange-export .section-heading{width:100%}.exchange-import label,.exchange-export label{width:100%;margin:0}.exchange-import input,.exchange-export input,.exchange-export select{margin-top:6px}.exchange-steps{color:var(--muted);flex-wrap:wrap;gap:9px;font-size:11px;display:flex}.exchange-steps span{align-items:center;gap:6px;display:flex}.exchange-steps b{background:var(--accent-soft);width:23px;height:23px;color:var(--blue);border-radius:50%;place-items:center;display:grid}.exchange-filter-grid{grid-template-columns:1fr 1fr;gap:12px;width:100%;display:grid}.exchange-summary{grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0;display:grid}.exchange-summary article{border:1px solid var(--border);background:var(--surface-subtle);border-radius:9px;padding:15px}.exchange-summary span{color:var(--muted);font-size:11px;display:block}.exchange-summary strong{margin-top:5px;font-size:25px;display:block}.good,.exchange-valid{color:var(--green)}.bad,.exchange-error{color:var(--danger)}.warn,.exchange-duplicate{color:#b26b00}.exchange-preview td small{white-space:normal;max-width:300px;margin-top:4px;font-weight:400}.exchange-commit{grid-template-columns:1fr auto;align-items:end;gap:14px;margin-top:18px;display:grid}.exchange-commit label{margin:0}.exchange-commit input{margin-top:6px}.exchange-blocked{background:var(--danger-soft);color:var(--danger);border-radius:8px;align-items:center;gap:8px;margin:18px 0 0;padding:14px;display:flex}.exchange-existing>div{grid-template-columns:repeat(3,1fr);gap:15px;margin-top:16px;display:grid}.exchange-existing article{border:1px solid var(--border);border-radius:9px;padding:16px}.exchange-existing p{margin-bottom:0;font-size:12px;line-height:1.6}@media (max-width:980px){.exchange-grid,.exchange-existing>div{grid-template-columns:1fr}.exchange-summary{grid-template-columns:repeat(2,1fr)}}@media (max-width:620px){.exchange-intro>svg{display:none}.exchange-filter-grid,.exchange-commit{grid-template-columns:1fr}.exchange-summary{grid-template-columns:1fr 1fr}.exchange-commit button{width:100%}}
