*, *::before, *::after { box-sizing: border-box; }
button, input, select, textarea { max-width:100%; min-width:0; font:inherit; }
.page-header { display:flex; align-items:flex-start; justify-content:space-between; gap:1.5rem; margin-bottom:1.5rem; }
.page-header-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.7rem; }
.page-header h1 { margin:.15rem 0 .35rem; color:#15233a; font-size:clamp(1.65rem,3vw,2.25rem); }
.compact-header { margin-bottom:1.15rem; }
.eyebrow { margin:0; color:#187a70; font-size:.78rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.page-description { margin:0; color:#66758b; }
.page-description,.source-details dd,.cell-ellipsis { overflow-wrap:anywhere; }
.back-link { color:#3267a8; font-size:.92rem; text-decoration:none; }
.page-back-link { display:inline-flex; max-width:100%; align-items:center; gap:.4rem; margin-bottom:.75rem; overflow-wrap:anywhere; font-weight:700; }
.page-back-link-icon { flex:0 0 auto; }
.button { display:inline-flex; min-height:2.55rem; align-items:center; justify-content:center; padding:.62rem 1rem; border:1px solid transparent; border-radius:.55rem; cursor:pointer; font-weight:700; line-height:1.2; text-decoration:none; }
.button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible { outline:3px solid rgb(44 126 219 / 35%); outline-offset:2px; }
.button:disabled { cursor:not-allowed; opacity:.58; }
.button-primary { color:#fff; background:#176f67; }
.button-primary:hover:not(:disabled) { background:#105c56; }
.button-secondary { border-color:#c6d1df; color:#2c425f; background:#fff; }
.button-warning { border-color:#c9962d; color:#5f4308; background:#fff4d6; }
.button-danger { border-color:#d99c9c; color:#982f2f; background:#fff7f7; }
.panel { min-width:0; padding:1.25rem; border:1px solid #dce4ef; border-radius:.85rem; background:#fff; box-shadow:0 2px 8px rgb(30 51 79 / 4%); }
.panel h2 { margin-top:0; color:#1b2d47; font-size:1.15rem; }
.metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-bottom:1rem; }
.metric-card { display:flex; min-height:9.5rem; flex-direction:column; padding:1.2rem; border:1px solid #dce4ef; border-radius:.85rem; background:#fff; }
.metric-card span,.metric-card small { color:#6c7b90; }
.metric-card strong { margin:auto 0 .35rem; color:#172944; font-size:2.25rem; }
.metric-card .metric-text { font-size:1.15rem; }
.empty-guidance { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.empty-guidance p,.empty-state p { margin-bottom:0; color:#68778c; }
.dashboard-today-assignments { margin-bottom:1rem; padding:1rem 1.15rem; }
.dashboard-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.dashboard-card-heading h2 { margin:0; }
.dashboard-card-heading p,.dashboard-card-state { margin:.25rem 0 0; color:#68778c; }
.dashboard-today-list { display:grid; gap:0; margin:.8rem 0 0; padding:0; list-style:none; }
.dashboard-today-list li { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:.8rem; padding:.65rem 0; border-top:1px solid #e5ebf2; }
.dashboard-student-name { min-width:0; overflow:hidden; color:#203b5d; font-weight:750; text-overflow:ellipsis; text-decoration:none; white-space:nowrap; }
.dashboard-today-list span { color:#64748a; font-size:.9rem; white-space:nowrap; }
.dashboard-review-link { min-height:2.15rem; padding:.42rem .7rem; font-size:.88rem; }
.dashboard-control-summary { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem 1.1rem; margin-top:.8rem; padding-top:.8rem; border-top:1px solid #e5ebf2; }
.dashboard-control-summary strong { color:#1d3858; font-size:1.15rem; }
.dashboard-control-summary span { color:#8b4a1b; }
.dashboard-control-summary .button { margin-left:auto; }
.control-week-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:.55rem; margin-bottom:1rem; }
.control-day-card { display:grid; min-width:0; gap:.15rem; padding:.65rem .45rem; border:1px solid #ccd7e4; border-radius:.65rem; color:#334b68; background:#fff; text-align:center; text-decoration:none; }
.control-day-card small { color:#738197; }
.control-day-card.is-selected { border-color:#176f67; color:#fff; background:#176f67; box-shadow:0 3px 10px rgb(23 111 103 / 18%); }
.control-day-card.is-selected small { color:#e1f4f1; }
.control-overdue-warning { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem; }
.assignment-control-list { margin-bottom:1rem; }
.assignment-control-students,.control-history-list { display:grid; gap:0; margin:.8rem 0 0; padding:0; list-style:none; }
.assignment-control-students li { display:grid; grid-template-columns:minmax(0,1fr) auto auto auto; align-items:center; gap:.8rem; padding:.75rem 0; border-top:1px solid #e5ebf2; }
.assignment-control-students li>div,.assignment-control-plan>div { display:grid; min-width:0; gap:.18rem; }
.assignment-control-students small,.assignment-control-plan small { color:#6a788c; }
.assignment-control-history { margin-top:1rem; }
.assignment-control-history>summary { color:#263e5c; cursor:pointer; font-weight:750; }
.control-history-filter { display:flex; flex-wrap:wrap; align-items:end; gap:.75rem; margin-top:1rem; }
.control-history-filter label { display:grid; gap:.3rem; color:#40536d; font-size:.9rem; font-weight:700; }
.control-history-filter input { min-height:2.55rem; padding:.45rem .6rem; border:1px solid #bfcbd9; border-radius:.48rem; }
.control-history-list li { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.2rem .75rem; padding:.65rem 0; border-top:1px solid #e5ebf2; }
.control-history-list small { grid-column:1 / -1; color:#6a788c; }
.assignment-control-plans { display:grid; gap:.7rem; }
.assignment-control-plan { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:.8rem; padding:.9rem 1rem; }
.assignment-control-actions { display:grid; gap:1rem; margin-top:1rem; }
.assignment-control-actions h2,.assignment-control-actions p { margin:0; }
.assignment-control-actions p,.assignment-control-actions .form-hint { color:#6b788b; }
.control-action-buttons { display:flex; flex-wrap:wrap; gap:.65rem; }
.loading-state { display:flex; width:min(100%,32rem); min-height:3.25rem; align-items:center; justify-content:center; gap:.7rem; margin:1rem auto; padding:.85rem 1rem; border:1px solid #dce4ef; border-radius:.7rem; color:#607087; background:#fff; box-shadow:0 2px 8px rgb(30 51 79 / 4%); text-align:center; }
.loading-state::before { width:1rem; height:1rem; flex:0 0 auto; border:.15rem solid #cbd8e3; border-top-color:#176f67; border-radius:50%; content:""; animation:loading-state-spin .8s linear infinite; }
@keyframes loading-state-spin { to { transform:rotate(360deg); } }
.alert { margin:1rem 0; padding:.85rem 1rem; border:1px solid; border-radius:.6rem; }
.alert-error { border-color:#edb4b4; color:#8d2929; background:#fff5f5; }
.alert-success { border-color:#a8d9c6; color:#176049; background:#f0fbf6; }
.alert-info { border-color:#a9c8e8; color:#254f79; background:#f2f8ff; }
.form-grid { display:grid; gap:1rem; }
.two-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
.filter-grid { grid-template-columns:minmax(12rem,2fr) repeat(4,minmax(7rem,1fr)) minmax(10rem,auto); align-items:end; }
.filter-grid>.field,.staff-filter-grid>.field,.assignment-filter-grid>.field,.exam-filter-grid>.form-field { min-width:0; }
.filter-grid>.field-wide,.staff-filter-grid>.field-wide,.assignment-filter-grid>.field-wide { grid-column:auto; }
.filter-actions { display:flex; min-width:0; flex-wrap:wrap; align-items:end; justify-content:flex-end; gap:.65rem; }
.field { display:grid; align-content:start; gap:.38rem; }
.field label { color:#344963; font-size:.9rem; font-weight:700; }
.field label small { color:#7c899a; font-weight:400; }
.field input,.field select,.field textarea,.table-summary select { width:100%; min-height:2.7rem; padding:.55rem .7rem; border:1px solid #bfcbd9; border-radius:.48rem; color:#1e304a; background:#fff; }
.turkish-date-control { position:relative; display:grid; width:100%; min-width:0; max-width:100%; grid-template-columns:minmax(0,1fr) 2.75rem; }
.turkish-date-control .turkish-date-text { min-width:0; border-radius:.48rem 0 0 .48rem; }
.turkish-date-picker-button { display:inline-grid; min-width:2.75rem; min-height:2.7rem; padding:0; place-items:center; border:1px solid #9fb0c3; border-left:0; border-radius:0 .48rem .48rem 0; color:#244b70; background:#f5f8fb; cursor:pointer; }
.turkish-date-picker-button:hover:not(:disabled) { color:#176f67; background:#edf7f5; }
.turkish-date-picker-button:focus-visible { position:relative; z-index:1; outline:3px solid rgb(44 126 219 / 35%); outline-offset:2px; }
.turkish-date-picker-button:disabled { cursor:not-allowed; opacity:.58; }
.turkish-date-picker-button svg { width:1.25rem; height:1.25rem; fill:none; stroke:currentcolor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.turkish-date-control input.turkish-date-native { position:absolute; width:1px; min-width:1px; height:1px; min-height:1px; padding:0; border:0; opacity:0; pointer-events:none; }
.turkish-date-text.invalid+.turkish-date-picker-button { border-color:#e50000; }
.field textarea { resize:vertical; }
.field-wide { grid-column:span 2; }
.field-error { min-height:1rem; color:#a33131; font-size:.8rem; }
.form-panel { max-width:64rem; }
.form-section+.form-section { margin-top:1.8rem; padding-top:1.5rem; border-top:1px solid #e2e8f0; }
.form-section>p { color:#68778c; }
.form-actions,.status-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.7rem; margin-top:1.3rem; }
.table-panel { padding:0; overflow:hidden; }
.table-panel-heading { margin:0; padding:1rem 1.2rem; }
.table-summary { display:flex; align-items:center; gap:.7rem; justify-content:flex-end; padding:1rem 1.2rem; color:#58697f; }
.table-summary span { margin-right:auto; font-weight:700; }
.table-summary select { width:auto; min-height:2.2rem; }
.responsive-table { overflow-x:auto; }
.summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-bottom:1rem; }
.summary-grid .stat-card { min-width:0; }
.summary-grid dt { color:#66758b; font-size:.85rem; font-weight:700; }
.summary-grid dd { margin:0; color:#1f3551; font-size:1.35rem; font-weight:800; }
.inline-form { display:grid; grid-template-columns:minmax(12rem,2fr) repeat(3,minmax(8rem,1fr)) auto; gap:1rem; align-items:end; margin-top:1rem; }
.exam-result-table input { width:100%; min-width:0; max-width:7rem; }
table { width:100%; border-collapse:collapse; }
th,td { padding:.85rem 1rem; border-top:1px solid #e3e9f1; text-align:left; vertical-align:middle; }
th { color:#52637a; background:#f7f9fc; font-size:.8rem; }
td { color:#31445d; font-size:.9rem; }
.table-action { white-space:nowrap; }
.table-action a,.row-primary-link { color:#2768aa; font-weight:700; text-decoration:none; }
.table-action .button { min-height:2.1rem; padding:.42rem .65rem; font-size:.8rem; }
.row-primary-link { overflow-wrap:anywhere; }
.cell-ellipsis { display:block; max-width:18rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.status { display:inline-flex; flex:0 0 auto; align-self:flex-start; width:max-content; max-width:100%; min-width:0; min-height:0; height:auto; align-items:center; justify-content:center; padding:.25rem .52rem; border-radius:999px; font-size:.78rem; font-weight:800; line-height:1.2; text-align:center; white-space:nowrap; }
.status-active { color:#176049; background:#e4f6ed; }
.status-completed { color:#176049; background:#e4f6ed; }
.status-left,.status-closed { color:#785b13; background:#fff3ce; }
.status-cancelled { color:#8c3434; background:#fde8e8; }
.status-pending { color:#785b13; background:#fff3ce; }
.status-neutral { color:#52637a; background:#eef2f7; }
.status-suspended { color:#8b5517; background:#fff0d8; }
.status-revoked { color:#8c3434; background:#fde8e8; }
.staff-filter-grid { grid-template-columns:minmax(12rem,2fr) repeat(3,minmax(8rem,1fr)) minmax(10rem,auto); align-items:end; }
.assignment-filter-grid { grid-template-columns:minmax(12rem,2fr) repeat(5,minmax(7rem,1fr)) minmax(10rem,auto); align-items:end; }
.cell-secondary { display:block; margin-top:.2rem; color:#718097; }
.student-selection { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; max-height:24rem; overflow-y:auto; }
.selection-count { align-self:center; padding:.35rem .65rem; border-radius:999px; color:#176049; background:#e4f6ed; font-size:.82rem; font-weight:800; }
.assignment-item-builder { display:grid; min-width:0; gap:1rem; }
.assignment-item-source { display:grid; min-width:0; gap:1rem; padding:1rem; border:1px solid #dce4ef; border-radius:.7rem; background:#f9fbfd; }
.assignment-item-source h3 { margin:0; color:#253b58; font-size:1.05rem; }
.assignment-item-source .muted-note { margin:.3rem 0 0; }
.topic-picker-controls { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; }
.topic-picker-controls>* { min-width:0; }
.topic-selection-toolbar { align-items:center; }
.topic-checkboxes { display:grid; min-width:0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; max-height:20rem; margin:0; padding:.75rem; overflow-y:auto; border:1px solid #d1dbe7; border-radius:.55rem; background:#fff; }
.topic-checkboxes legend { padding:0 .35rem; color:#344963; font-weight:700; }
.topic-checkboxes label { display:flex; min-width:0; align-items:flex-start; gap:.6rem; padding:.65rem; border-radius:.45rem; background:#f6f8fb; cursor:pointer; overflow-wrap:anywhere; }
.topic-checkboxes input { flex:0 0 auto; width:1.1rem; height:1.1rem; margin-top:.15rem; }
.topic-checkboxes label span { min-width:0; }
.topic-checkboxes label small { margin-left:auto; color:#6d7b8e; white-space:nowrap; }
.topic-checkboxes label.is-disabled { color:#6d7b8e; background:#eef1f5; cursor:not-allowed; }
.assignment-item-list { display:grid; min-width:0; gap:.8rem; }
.assignment-item-card { min-width:0; padding:0; overflow:hidden; border:1px solid #dce4ef; border-radius:.7rem; background:#fff; }
.assignment-item-details { min-width:0; }
.assignment-item-summary { display:flex; min-width:0; align-items:center; gap:.75rem; padding:.85rem 1rem; color:#253b58; background:#f9fbfd; cursor:pointer; list-style:none; }
.assignment-item-summary::-webkit-details-marker { display:none; }
.assignment-item-summary-marker { flex:0 0 auto; width:.55rem; height:.55rem; border-right:2px solid #52637a; border-bottom:2px solid #52637a; transform:rotate(-45deg); transition:transform .12s ease; }
.assignment-item-details[open]>.assignment-item-summary .assignment-item-summary-marker { transform:rotate(45deg); }
.assignment-item-summary-content { display:grid; min-width:0; flex:1 1 auto; gap:.2rem; }
.assignment-item-summary-content strong,.assignment-item-summary-content small { overflow-wrap:anywhere; }
.assignment-item-summary-content small { color:#66758b; }
.assignment-item-editor { display:grid; gap:1rem; padding:1rem; border-top:1px solid #dce4ef; }
.assignment-item-actions { display:flex; justify-content:flex-end; }
.assignment-planning-toolbar { display:grid; min-width:0; gap:.7rem; padding:.85rem; border:1px solid #cbd7e5; border-radius:.65rem; background:#f7f9fc; }
.assignment-planning-toolbar-heading { display:flex; min-width:0; align-items:end; justify-content:space-between; gap:1rem; }
.assignment-planning-toolbar-heading>div:first-child { min-width:0; }
.assignment-include-today { flex:0 0 auto; margin:0; }
.assignment-planning-toolbar h3 { margin:0; color:#253b58; font-size:1rem; }
.assignment-planning-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); min-width:0; gap:.4rem; }
.assignment-planning-day { display:grid; min-width:0; gap:.12rem; padding:.5rem .3rem; border:1px solid #c7d2df; border-radius:.48rem; color:#52637a; background:#fff; font:inherit; font-size:.78rem; font-weight:750; cursor:pointer; }
.assignment-planning-day small { color:#748196; font-size:.67rem; font-weight:600; }
.assignment-planning-day:hover:not(:disabled) { border-color:#7f9bb8; background:#f5f8fb; }
.assignment-planning-day.is-selected { border-color:#42867c; color:#235e56; background:#eaf5f2; box-shadow:0 0 0 1px #42867c; }
.assignment-planning-day.is-selected small { color:#3f716b; }
.assignment-planning-day:disabled { opacity:.5; cursor:not-allowed; }
.assignment-resource-card-picker { min-width:0; margin:.8rem 0; padding:0; border:0; }
.assignment-resource-card-picker>legend { margin-bottom:.45rem; padding:0; color:#344963; font-size:.88rem; font-weight:800; }
.assignment-resource-card-picker>legend small { color:#748196; font-weight:600; }
.assignment-resource-cards { display:flex; min-width:0; flex-wrap:wrap; align-items:flex-start; gap:.5rem; }
.assignment-resource-card-group { display:grid; flex:0 1 12rem; min-width:8rem; gap:.35rem; }
.assignment-resource-card { display:grid; min-height:3rem; min-width:7rem; max-width:14rem; align-content:center; gap:.08rem; padding:.48rem .65rem; border:1px solid #c7d2df; border-radius:.48rem; color:#52637a; background:#fff; font:inherit; font-size:.78rem; text-align:left; cursor:pointer; }
.assignment-resource-card strong,.assignment-resource-card small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.assignment-resource-card small { color:#748196; font-size:.67rem; font-weight:600; }
.assignment-resource-card:hover:not(:disabled) { border-color:#7f9bb8; background:#f5f8fb; }
.assignment-resource-card.is-selected { border-color:#42867c; color:#235e56; background:#eaf5f2; box-shadow:0 0 0 1px #42867c; }
.assignment-resource-card.is-selected small { color:#3f716b; }
.assignment-resource-card:disabled { opacity:.5; cursor:not-allowed; }
.assignment-resource-question-count { width:100%; min-width:0; padding:.4rem .5rem; font-size:.75rem; }
.assignment-resource-quick-add { min-width:4.4rem; max-width:7rem; place-items:center; color:#315f59; text-align:center; }
.assignment-resource-quick-add>span { font-size:1.25rem; line-height:1; }
.quick-resource-editor-grid { grid-template-columns:minmax(0,1fr); }
.assignment-planning-toolbar-status { display:flex; min-width:0; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem; color:#52637a; font-size:.82rem; }
.assignment-scheduling-notice { margin:0; }
.assignment-item-quick-schedule { display:grid; grid-template-columns:auto auto minmax(10rem,16rem); min-width:0; align-items:center; gap:.5rem .75rem; padding:.55rem .8rem; border-top:1px solid #e3e9f0; background:#fff; }
.assignment-item-quick-schedule label { color:#66758b; font-size:.75rem; font-weight:700; }
.assignment-item-quick-schedule select { width:100%; min-width:0; padding:.38rem .5rem; border:1px solid #c7d2df; border-radius:.42rem; color:#344963; background:#fff; font:inherit; font-size:.78rem; }
.assignment-item-quick-schedule > .field-error { grid-column:1 / -1; margin:0; }
.assignment-item-planned-date { color:#315f59; font-size:.78rem; font-weight:800; white-space:nowrap; }
.assignment-item-source-label { display:inline-flex; margin-left:.45rem; padding:.18rem .45rem; border-radius:999px; color:#52637a; background:#eef3f8; font-size:.72rem; font-weight:800; }
.personal-assignment-context,.personal-student-selection { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem; padding:.85rem 1rem; border:1px solid #a9d2ca; border-radius:.65rem; color:#21493f; background:#effaf7; }
.personal-assignment-context { margin:.75rem 0 1rem; }
.personal-assignment-context span,.personal-student-selection>span:first-child { display:grid; gap:.15rem; }
.personal-student-selection { margin-top:1rem; }
.readonly-field { display:flex; min-height:2.6rem; align-items:center; padding:.65rem .75rem; border:1px solid #d5dee9; border-radius:.48rem; color:#344963; background:#f5f7fa; }
.field-label { display:block; margin-bottom:.35rem; color:#344963; font-size:.88rem; font-weight:700; }
.assignment-students-panel { margin-top:1rem; }
.review-actions { display:flex; flex-wrap:wrap; gap:.4rem; min-width:24rem; }
.review-actions .button { min-height:2.1rem; padding:.42rem .65rem; font-size:.8rem; }
.assignment-plan-editor-panel { margin-top:1rem; }
.assignment-plan-editor>summary { display:inline-flex; list-style:none; cursor:pointer; }
.assignment-plan-editor>summary::-webkit-details-marker { display:none; }
.assignment-plan-edit-form { display:grid; gap:1rem; margin-top:1rem; padding-top:1rem; border-top:1px solid #dce4ef; }
.assignment-edit-items { display:grid; gap:.8rem; }
.assignment-edit-item-card { border-color:#cbd7e5; box-shadow:0 1px 2px rgb(31 52 77 / 5%); transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease; }
.assignment-edit-item-card:nth-child(even) { background:#fbfcfe; }
.assignment-edit-item-card:hover { border-color:#9fb1c8; box-shadow:0 3px 10px rgb(31 52 77 / 9%); }
.assignment-edit-item-summary { background:transparent; }
.assignment-edit-item-card .assignment-edit-item-body { padding:0; }
.assignment-edit-item-heading { margin:0; padding:.7rem .85rem; border-bottom:1px solid #d8e1ec; background:#f3f6fa; }
.assignment-edit-item-heading h3 { margin:0; color:#253b58; font-size:1rem; font-weight:800; }
.assignment-edit-item-body>.form-grid { padding:.9rem; }
.assignment-versions { display:grid; gap:.8rem; margin-top:1rem; }
.assignment-version-card { overflow:hidden; border:1px solid #dce4ef; border-radius:.65rem; background:#fff; }
.assignment-version-card>summary { display:flex; justify-content:space-between; gap:1rem; padding:.85rem 1rem; color:#253b58; background:#f7fafb; cursor:pointer; }
.assignment-version-card>summary span { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.assignment-version-card>summary small { color:#718097; }
.assignment-version-snapshot { display:grid; gap:.8rem; padding:1rem; border-top:1px solid #dce4ef; }
.assignment-version-snapshot h3 { margin:0; color:#253b58; font-size:1rem; }
.assignment-version-items { display:grid; gap:.7rem; margin:0; padding-left:1.25rem; }
.assignment-version-items>li { padding:.75rem; border-radius:.45rem; background:#f7fafb; }
.compact-detail-list { margin-top:.5rem; }
.assignment-history { margin-top:1rem; }
.assignment-history ol { display:grid; gap:.7rem; margin:0; padding:0; list-style:none; }
.assignment-history li { display:grid; grid-template-columns:9rem 1fr auto; gap:1rem; align-items:center; padding:.75rem; border-left:.25rem solid #91bdb7; border-radius:.35rem; background:#f7fafb; }
.assignment-history li span,.assignment-history li small { color:#718097; font-size:.82rem; }
.clickable-row { cursor:pointer; transition:background-color .12s ease; }
.clickable-row:hover { background:#f2f8f7; }
.clickable-row:focus-visible { outline:3px solid rgb(44 126 219 / 35%); outline-offset:-3px; }
.workspace-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
.staff-course-options { display:grid; gap:1rem; }
.staff-course-group { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; }
.staff-course-group h3,.staff-course-group>.muted-note { grid-column:1/-1; margin:0; }
.workspace-option { display:flex; align-items:flex-start; gap:.7rem; padding:.8rem; border:1px solid #dce4ef; border-radius:.55rem; background:#f9fbfd; cursor:pointer; }
.workspace-option input { width:1.1rem; height:1.1rem; margin-top:.15rem; }
.workspace-option span { display:grid; gap:.15rem; color:#253b58; }
.workspace-option small { color:#6c7b90; }
.activation-panel { max-width:64rem; margin:1rem 0; }
.activation-copy { display:grid; grid-template-columns:1fr auto; gap:.7rem; }
.activation-copy input { min-width:0; padding:.65rem .75rem; border:1px solid #bfcbd9; border-radius:.48rem; color:#253b58; background:#f7f9fc; }
.danger-note { color:#8c3434; font-weight:650; }
.danger-zone { max-width:64rem; margin-top:1rem; border-color:#ecc6c6; }
.confirmation-dialog { width:min(36rem,calc(100vw - 2rem)); max-width:none; padding:0; border:0; border-radius:.9rem; color:#253b58; background:transparent; box-shadow:0 1.5rem 4rem rgb(15 29 49 / 28%); }
.confirmation-dialog::backdrop { background:rgb(16 28 45 / 58%); backdrop-filter:blur(2px); }
.confirmation-dialog-card { display:grid; grid-template-columns:.42rem 1fr; overflow:hidden; border-radius:.9rem; background:#fff; }
.confirmation-dialog-accent { background:#d9a52d; }
.confirmation-destructive .confirmation-dialog-accent,.confirmation-terminal .confirmation-dialog-accent { background:#b43b3b; }
.confirmation-dialog-content { padding:1.35rem; }
.confirmation-dialog-content h2 { margin:0 0 .65rem; color:#1b2d47; font-size:1.3rem; }
.confirmation-dialog-content>p { margin:0; color:#5f6f84; line-height:1.55; }
.confirmation-phrase-field { margin-top:1.1rem; }
.confirmation-dialog-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.7rem; margin-top:1.35rem; }
.confirmation-terminal .confirmation-dialog-content { border:1px solid #ecc6c6; border-left:0; border-radius:0 .9rem .9rem 0; }
.pagination { display:flex; align-items:center; justify-content:center; gap:1rem; padding:1rem; border-top:1px solid #e3e9f1; }
.detail-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:1rem; margin-bottom:1rem; }
.section-heading { display:flex; justify-content:space-between; gap:1rem; }
.detail-list { display:grid; grid-template-columns:minmax(9rem,.7fr) 1fr; gap:.65rem 1rem; margin:0; }
.detail-list dt { color:#6c7b90; }
.detail-list dd { margin:0; color:#253b58; font-weight:650; }
.muted-note { margin:1rem 0 0; color:#748196; font-size:.85rem; }
.status-date-field { max-width:16rem; }
.setup-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; align-items:start; }
.setup-card form { display:grid; gap:.7rem; }
.setup-card>p { min-height:3rem; color:#6c7b90; font-size:.9rem; }
.period-date-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr)); }
.period-date-grid>.field,.period-date-grid input { width:100%; min-width:0; }
.period-date-grid input { max-width:100%; box-sizing:border-box; }
.setup-list { display:grid; gap:.55rem; max-height:20rem; margin:1.2rem 0 0; padding:1rem 0 0; overflow-y:auto; border-top:1px solid #e3e9f1; list-style:none; }
.setup-list li { display:grid; min-width:0; gap:.12rem; padding:.6rem .7rem; border-radius:.45rem; background:#f6f8fb; overflow-wrap:anywhere; }
.setup-list span { color:#6d7b8e; font-size:.8rem; }
.checkbox-field { display:flex; align-items:center; gap:.5rem; color:#344963; font-size:.9rem; font-weight:700; }
.field label.assignment-my-courses-filter { width:fit-content; max-width:100%; min-height:0; align-items:center; justify-self:start; gap:.45rem; margin:.05rem 0 .1rem; padding:.32rem .55rem; border:1px solid #cbd7e5; border-radius:.48rem; color:#344963; background:#f7f9fc; font-size:.8rem; line-height:1.25; cursor:pointer; }
.field label.assignment-my-courses-filter:hover { border-color:#9eb2c7; background:#f1f5f9; }
.field label.assignment-my-courses-filter input[type="checkbox"] { width:1rem; min-width:1rem; height:1rem; min-height:1rem; flex:0 0 1rem; margin:0; padding:0; border:0; accent-color:#176f67; }
.assignment-my-courses-filter span { min-width:0; overflow-wrap:anywhere; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.card-grid,.review-course-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr)); gap:1rem; }
.settings-card,.review-course-card { min-width:0; padding:1.2rem; border:1px solid #dce4ef; border-radius:.85rem; background:#fff; box-shadow:0 2px 8px rgb(30 51 79 / 4%); }
.settings-card h2,.review-course-card h3 { margin-top:0; }
.settings-navigation-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),20rem)); }
.settings-navigation-card { display:flex; flex-direction:column; gap:.55rem; }
.settings-navigation-card>p { margin:0; color:#66758b; }
.settings-navigation-card>.eyebrow { color:#176f67; }
.settings-navigation-card>.button { align-self:flex-start; margin-top:auto; }
.review-heading-meta { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; color:#66758b; }
.review-progress>progress,.review-course-card progress,.settings-card progress { width:100%; height:.65rem; accent-color:#187a70; }
.review-course-grid { margin-top:1rem; }
.review-course-card { box-shadow:none; }
.review-course-card .section-heading { align-items:baseline; }
.review-course-card h3 { font-size:1rem; }
.review-course-navigator { display:grid; gap:.75rem; margin-top:1rem; }
.review-course-section { border:1px solid #dce4ef; border-radius:.75rem; background:#fff; overflow:hidden; }
.review-course-section>summary { display:flex; justify-content:space-between; gap:1rem; padding:.85rem 1rem; color:#253b58; background:#f7f9fc; cursor:pointer; }
.review-course-section>summary span { color:#66758b; font-size:.82rem; }
.review-course-subject { display:grid; gap:.35rem; padding:.75rem; border-top:1px solid #e3e9f1; }
.review-course-subject h3 { margin:.15rem .35rem .35rem; color:#52637a; font-size:.86rem; }
.review-course-row { display:grid; grid-template-columns:minmax(11rem,2fr) repeat(5,minmax(5.2rem,auto)) minmax(5.5rem,auto); align-items:center; gap:.6rem; width:100%; padding:.65rem .75rem; border:1px solid transparent; border-radius:.55rem; color:#31445d; background:#fff; text-align:left; cursor:pointer; }
.review-course-row:hover:not(:disabled),.review-course-row:focus-visible,.review-course-row.is-selected { border-color:#9fc8c1; background:#edf9f6; }
.review-course-row:disabled { cursor:default; }
.review-course-row>span { display:grid; gap:.12rem; }
.review-course-row small { color:#718097; font-size:.72rem; }
.review-course-name small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.review-course-percentage { text-align:right; }
.topic-progress-summary { display:grid; max-width:100%; min-width:0; grid-template-columns:repeat(4,minmax(6.4rem,1fr)); gap:.35rem; }
.topic-progress-stat { position:relative; display:flex; align-items:center; justify-content:space-between; gap:.5rem; min-width:0; padding:.38rem .55rem .38rem 1rem; border:1px solid #e1e6ed; border-radius:.45rem; color:#52637a; background:#fafbfd; }
.topic-progress-stat::before { position:absolute; left:.45rem; width:.32rem; height:.32rem; border-radius:50%; background:#93a1b2; content:""; }
.topic-progress-stat.topic-progress-in-progress::before { background:#ad9350; }
.topic-progress-stat.topic-progress-completed::before { background:#4f8f7a; }
.topic-progress-stat.topic-progress-needs-review::before { background:#ad6a6a; }
.topic-progress-stat small { color:inherit; font-size:.69rem; font-weight:700; }
.topic-progress-stat strong { color:#31445d; font-size:.82rem; }
.topic-progress-note-help { margin:1rem 0 0; }
.topic-progress-navigator .review-course-section { border-color:#d8e1e8; }
.topic-progress-navigator .review-course-section>summary { align-items:center; border-left:3px solid #6caaa1; background:#f3f8f7; }
.topic-progress-navigator .review-course-section>summary>.topic-progress-summary { flex:1 1 34rem; max-width:46rem; }
.topic-progress-heading { display:grid; min-width:0; flex:0 1 14rem; gap:.15rem; }
.topic-progress-heading small { color:#66758b; font-size:.75rem; }
.topic-progress-subject { background:#fff; }
.topic-progress-subject+.topic-progress-subject { border-top:1px solid #edf0f4; }
.topic-progress-subject-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem; margin:.15rem .25rem .65rem; padding:.55rem .65rem; border:1px solid #e3e8ed; border-left:3px solid #9ab8b3; border-radius:.45rem; background:#f7f9fa; }
.topic-progress-subject-heading h3 { margin:0; color:#40536a; font-size:.9rem; }
.topic-progress-subject-heading .topic-progress-summary { flex:1 1 34rem; max-width:46rem; }
.topic-progress-course-row { display:grid; grid-template-columns:minmax(11rem,1.4fr) minmax(31rem,3fr) auto; align-items:center; gap:.75rem; width:100%; padding:.58rem .7rem; border:1px solid #edf0f4; border-radius:.5rem; color:#31445d; background:#fff; text-align:left; cursor:pointer; }
.topic-progress-course-row+.topic-progress-course-row { margin-top:.3rem; }
.topic-progress-course-row:hover:not(:disabled),.topic-progress-course-row:focus-visible { border-color:#b7c8d2; background:#f8fafb; }
.topic-progress-course-row.is-selected { border-color:#81afa8; background:#f2f8f7; box-shadow:inset 3px 0 #42867c; }
.topic-progress-course-row:disabled { cursor:wait; opacity:.72; }
.topic-progress-course-row>* { min-width:0; }
.topic-progress-course-row .review-course-name { display:grid; gap:.15rem; }
.topic-progress-open-label { color:#176b63; font-size:.78rem; font-weight:800; white-space:nowrap; }
.topic-progress-topic-list { margin-top:1rem; scrollbar-color:#96a7b6 #eef2f5; scrollbar-width:thin; scrollbar-gutter:stable; }
.topic-progress-topic-list::-webkit-scrollbar { width:.45rem; height:.45rem; }
.topic-progress-topic-list::-webkit-scrollbar-track { background:#eef2f5; }
.topic-progress-topic-list::-webkit-scrollbar-thumb { border-radius:999px; background:#96a7b6; }
.topic-progress-topic-list thead { position:sticky; top:0; z-index:1; background:#f7f9fc; }
.topic-progress-topic-list table { min-width:65rem; }
.topic-progress-topic-list th:nth-child(1) { width:18%; }
.topic-progress-topic-list th:nth-child(2) { width:32%; }
.topic-progress-topic-list th:nth-child(3) { width:30%; }
.topic-progress-topic-list th:nth-child(4) { width:20%; }
.topic-status-actions { display:flex; flex-wrap:wrap; gap:.35rem; }
.topic-status-button { padding:.34rem .5rem; border:1px solid #cfd8e2; border-radius:999px; color:#52637a; background:#fff; cursor:pointer; font:inherit; font-size:.72rem; font-weight:700; white-space:nowrap; }
.topic-status-button:hover:not(:disabled),.topic-status-button:focus-visible { border-color:#8fa0b3; background:#f5f7fa; }
.topic-status-button.status-pending.is-selected { border-color:#748397; color:#fff; background:#748397; }
.topic-status-button.status-left.is-selected { border-color:#957724; color:#fff; background:#957724; }
.topic-status-button.status-active.is-selected { border-color:#2f7864; color:#fff; background:#2f7864; }
.topic-status-button.status-cancelled.is-selected { border-color:#9a5050; color:#fff; background:#9a5050; }
.topic-status-button:disabled { cursor:default; opacity:.62; }
.topic-note-editor { display:grid; grid-template-columns:minmax(10rem,1fr) auto; align-items:end; gap:.45rem; }
.topic-note-editor textarea { width:100%; height:3.4rem; min-height:3.4rem; max-height:3.4rem; overflow-y:auto; resize:none; }
.topic-note-editor .button { min-height:2.25rem; padding:.45rem .65rem; white-space:nowrap; }
.topic-progress-actor { display:block; margin-top:.2rem; color:#6c7b90; font-size:.72rem; }
.student-profile-summary,.student-academic-profile,.student-attention-topics,.student-exam-trends,.student-additional-details,[data-enrollment-history] { margin-bottom:1rem; }
.student-profile-summary { padding:1rem 1.15rem; }
.student-profile-summary .section-heading { margin-bottom:.65rem; }
.student-profile-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.55rem; margin:0; }
.student-profile-facts .stat-card { min-width:0; padding:.58rem .68rem; border-radius:.5rem; background:#f7f9fc; }
.student-profile-facts dt { color:#66758b; font-size:.76rem; font-weight:700; }
.student-profile-facts dd { min-width:0; margin:.14rem 0 0; color:#253b58; font-size:.92rem; font-weight:750; overflow-wrap:anywhere; }
.student-enrollment-dates { margin:.65rem 0 0; }
.student-academic-profile .section-heading { margin-bottom:.75rem; }
.student-academic-actions { display:grid; min-width:0; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.6rem; }
.student-academic-action { display:flex; min-width:0; min-height:3.5rem; align-items:center; padding:.7rem .8rem; border:1px solid #cbd8e4; border-radius:.58rem; color:#244b70; background:#f8fafc; font-weight:750; text-decoration:none; transition:border-color .12s ease,background .12s ease,box-shadow .12s ease; }
.student-academic-action:hover,.student-academic-action:focus-visible { border-color:#7faea7; color:#17675f; background:#eef8f6; box-shadow:0 2px 8px rgb(30 84 77 / 8%); }
.student-academic-action:focus-visible { outline:3px solid rgb(44 126 219 / 30%); outline-offset:2px; }
.student-academic-action { overflow-wrap:anywhere; }
.student-additional-details { padding:0; overflow:hidden; }
.student-additional-details>summary { padding:.9rem 1.15rem; color:#344963; font-weight:750; background:#f8fafc; cursor:pointer; }
.student-additional-details[open]>summary { border-bottom:1px solid #e3e9f1; }
.student-contact-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; margin:0; padding:1rem 1.15rem; }
.student-contact-list>div { min-width:0; }
.student-contact-list dt { color:#66758b; font-size:.78rem; font-weight:700; }
.student-contact-list dd { margin:.15rem 0 0; color:#253b58; font-weight:700; overflow-wrap:anywhere; }
.student-attention-topics .section-heading { margin-bottom:.75rem; }
.student-attention-topic-list { margin:0; list-style:none; }
.student-attention-topic-list li { display:grid; min-width:0; grid-template-columns:minmax(8rem,12rem) minmax(10rem,1fr) minmax(12rem,auto); align-items:center; gap:.75rem; padding:.65rem .7rem; border-bottom:1px solid #e3e9f1; }
.student-attention-topic-list li:last-child { border-bottom:0; }
.student-attention-topic-context { display:grid; min-width:0; gap:.12rem; color:#66758b; font-size:.76rem; }
.student-attention-topic-context strong { color:#40536a; }
.student-attention-topic-name { min-width:0; color:#253b58; overflow-wrap:anywhere; }
.student-attention-topic-signals { display:flex; min-width:0; flex-wrap:wrap; justify-content:flex-end; gap:.35rem; }
.student-academic-target-editor { display:grid; gap:1rem; }
.student-academic-target-editor h2 { margin-bottom:.2rem; }
.student-academic-target-editor>.alert { margin:0; }
.student-target-choice-group { display:grid; min-width:0; gap:.55rem; padding:.85rem; border:1px solid #dce4ef; border-radius:.65rem; background:#f9fbfd; }
.student-target-choice-group h3 { margin:0; color:#344963; font-size:.95rem; }
.student-target-choice-group p { margin:.18rem 0 0; color:#6d7b8e; font-size:.82rem; }
.student-target-choice-list { display:flex; min-width:0; flex-wrap:wrap; gap:.5rem; }
.student-target-choice { min-width:4.5rem; min-height:2.35rem; padding:.42rem .7rem; border:1px solid #c5d1de; border-radius:999px; color:#40536a; background:#fff; font-weight:750; cursor:pointer; }
.student-target-choice:hover:not(:disabled),.student-target-choice:focus-visible { border-color:#78a9a1; color:#17675f; background:#eef8f6; }
.student-target-choice:focus-visible { outline:3px solid rgb(44 126 219 / 30%); outline-offset:2px; }
.student-target-choice.is-selected { border-color:#4f9187; color:#155f57; background:#dff3ee; box-shadow:inset 0 0 0 1px #4f9187; }
.student-target-choice:disabled { cursor:not-allowed; opacity:.55; }
.student-target-choice.is-selected:disabled { opacity:.78; }
.student-target-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; margin:0; padding:0; border:0; }
.student-target-options legend { grid-column:1/-1; margin-bottom:.1rem; color:#344963; font-size:.9rem; font-weight:700; }
.student-target-option { min-width:0; padding:.55rem .65rem; border:1px solid #d1dbe7; border-radius:.48rem; background:#f8fafc; cursor:pointer; }
.student-target-option:has(input:disabled) { color:#7c899a; background:#eef2f6; cursor:not-allowed; }
.student-target-option input { width:1rem; min-width:1rem; height:1rem; min-height:1rem; margin:0; accent-color:#176f67; }
.student-exam-trends-heading { align-items:flex-end; margin-bottom:.65rem; }
.student-exam-trends-actions { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:.45rem; }
.student-exam-trends-actions .button { min-height:2.25rem; padding:.45rem .65rem; }
.student-exam-trend-list { margin:0; padding:0; list-style:none; }
.student-exam-trend-list li { display:grid; min-width:0; grid-template-columns:minmax(10rem,1fr) auto 5.25rem; align-items:center; gap:.75rem; padding:.62rem .7rem; border-bottom:1px solid #e3e9f1; }
.student-exam-trend-list li:last-child { border-bottom:0; }
.student-exam-trend-context { display:grid; min-width:0; gap:.12rem; }
.student-exam-trend-context strong { color:#253b58; overflow-wrap:anywhere; }
.student-exam-trend-context span,.student-exam-trend-net small { color:#66758b; font-size:.76rem; }
.student-exam-trend-net { display:grid; justify-items:end; gap:.08rem; white-space:nowrap; }
.student-exam-trend-change { justify-self:end; min-width:4.8rem; padding:.24rem .42rem; border-radius:999px; background:#eef2f6; color:#526176; font-size:.78rem; font-weight:750; text-align:center; }
.student-exam-trend-change.is-increase { background:#e5f5ee; color:#176b52; }
.student-exam-trend-change.is-decrease { background:#fdeceb; color:#a43d38; }
.student-weekly-plan-heading { align-items:flex-end; }
.student-week-navigation { display:flex; flex-wrap:wrap; gap:.45rem; }
.student-week-navigation .button { min-height:2.25rem; padding:.45rem .65rem; }
.student-weekly-plan-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); align-items:start; gap:.5rem; }
.student-weekly-plan-day { min-width:0; padding:.55rem; border:1px solid #dfe6ee; border-radius:.55rem; background:#fff; }
.student-weekly-plan-day.is-past { background:#f8fafc; }
.student-weekly-plan-day.is-today { border-color:#81afa8; box-shadow:inset 0 3px #42867c; }
.student-weekly-plan-day.is-future { background:#fcfdfe; }
.student-weekly-plan-day>header { display:flex; min-width:0; align-items:flex-start; justify-content:space-between; gap:.35rem; padding-bottom:.45rem; border-bottom:1px solid #edf1f5; }
.student-weekly-plan-day>header>div { display:grid; min-width:0; gap:.12rem; }
.student-weekly-plan-day>header strong { color:#31445d; font-size:.8rem; }
.student-weekly-plan-day>header span:not(.status) { color:#748196; font-size:.68rem; }
.student-weekly-plan-empty { margin:.65rem 0 .1rem; color:#8490a0; font-size:.75rem; }
.student-weekly-plan-items,.student-weekly-plan-undated-list { display:grid; min-width:0; gap:.45rem; margin:.5rem 0 0; padding:0; list-style:none; }
.student-weekly-plan-items.long-list-scroll { padding:.35rem; border:0; }
.student-weekly-plan-item { position:relative; display:grid; min-width:0; gap:.28rem; padding:.5rem; border:1px solid #e3e9f0; border-radius:.45rem; background:#fff; transition:border-color .12s ease,box-shadow .12s ease; }
.student-weekly-plan-item:hover { border-color:#a8b9cc; box-shadow:0 2px 7px rgb(31 52 77 / 9%); }
.student-weekly-plan-card-link::after { content:""; position:absolute; inset:0; border-radius:inherit; }
.student-weekly-plan-item:focus-within { outline:2px solid #42867c; outline-offset:2px; }
.student-weekly-plan-item .row-primary-link { min-width:0; color:#29435f; font-size:.76rem; line-height:1.3; overflow-wrap:anywhere; }
.student-weekly-plan-item-title,.student-weekly-plan-curriculum { color:#66758b; font-size:.68rem; line-height:1.3; overflow-wrap:anywhere; }
.student-weekly-plan-meta { display:flex; min-width:0; flex-wrap:wrap; align-items:center; gap:.28rem; }
.student-weekly-plan-meta .status { padding:.18rem .35rem; font-size:.64rem; }
.student-weekly-plan-question { color:#52637a; font-size:.68rem; font-weight:700; }
.student-weekly-plan-deadline { color:#6d7b8e; font-size:.66rem; }
.student-weekly-plan-undated .section-heading { margin-bottom:.65rem; }
.student-weekly-plan-undated-list { grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; }
.reviewer-label { color:#52637a; }
.reviewer-label span { font-weight:700; }
.count-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem; margin:1rem 0 0; }
.count-list div { padding:.55rem; border-radius:.5rem; background:#f6f8fb; }
.count-list dt { color:#6c7b90; font-size:.75rem; }
.count-list dd { margin:.15rem 0 0; color:#253b58; font-weight:800; }
.technical-details { margin-top:.8rem; color:#617188; font-size:.82rem; }
.technical-details summary { cursor:pointer; }
.technical-details code { display:block; margin-top:.45rem; overflow-wrap:anywhere; }
.review-workspace-heading { margin-bottom:1rem; }
.review-workspace-heading h3 { margin:.2rem 0; }
.review-entry-list { display:grid; gap:.55rem; margin:0; padding:0; list-style:none; }
.review-entry-row { padding:.8rem; border:1px solid #dce4ef; border-radius:.65rem; background:#fff; }
.review-entry-row.needs-taxonomy-review { border-left:4px solid #d4a72c; }
.review-entry-summary { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.review-entry-summary>div { display:grid; min-width:0; gap:.45rem; }
.review-entry-badges { display:flex; flex-wrap:wrap; gap:.35rem; }
.review-entry-row .technical-details { padding-top:.2rem; border-top:0; }
.bulk-review-panel { display:grid; gap:.8rem; margin-top:1rem; padding:1rem; border:1px solid #9fc8c1; border-radius:.75rem; background:#f2faf8; }
.bulk-review-panel h3,.bulk-review-panel p { margin:0; }
.review-filter { display:grid; grid-template-columns:minmax(12rem,2fr) minmax(10rem,1fr) auto; gap:.75rem; align-items:end; }
.review-entry { display:grid; gap:1rem; margin-top:1.25rem; }
.review-entry header h3 { margin:.25rem 0; color:#1b2d47; }
.source-card { padding:1rem; border:1px solid #dce4ef; border-radius:.75rem; background:#f9fbfd; }
.source-card h4 { margin:0; }
.source-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem 1.25rem; margin:1rem 0 0; }
.source-details div { min-width:0; }
.source-details dt { color:#66758b; font-size:.8rem; font-weight:700; }
.source-details dd { margin:.2rem 0 0; color:#253b58; }
.decision-form { display:grid; gap:1rem; padding:1rem; border:1px solid #dce4ef; border-radius:.75rem; }
.decision-form legend { padding:0 .35rem; color:#1b2d47; font-weight:800; }
.decision-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; }
.decision-options label { display:flex; min-width:0; gap:.65rem; padding:.8rem; border:1px solid #cbd6e3; border-radius:.65rem; cursor:pointer; }
.decision-options label.is-selected { border-color:#187a70; background:#edf9f6; box-shadow:0 0 0 1px #187a70; }
.decision-options input { flex:0 0 auto; margin-top:.2rem; }
.decision-options span { display:grid; gap:.2rem; }
.decision-options small { color:#68778c; line-height:1.35; }
.source-check { min-height:2.75rem; padding:.55rem; border-radius:.5rem; background:#f7f9fc; cursor:pointer; }
.source-check input,.checkbox-field input { min-width:1.15rem; min-height:1.15rem; }
.entry-navigation { display:flex; flex-wrap:wrap; gap:.65rem; }
.completion-section { margin-top:1rem; }
.completion-section h2 { margin-bottom:.35rem; }
.disabled-reason { margin:.65rem 0 0; color:#66758b; font-size:.85rem; }
.campaign-form-card { max-width:42rem; }
.campaign-form-card .form-actions { margin-bottom:0; }
.campaign-list .status { white-space:normal; }
.assignment-table .assignment-owner { max-width:13rem; }
.setup-list .record-meta { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem; }
.button-ghost { border-color:transparent; color:#3267a8; background:transparent; }
.form-field { display:grid; min-width:0; align-content:start; gap:.38rem; }
.form-field label { color:#344963; font-size:.9rem; font-weight:700; }
.form-field input,.form-field select,.form-field textarea { width:100%; min-width:0; min-height:2.7rem; padding:.55rem .7rem; border:1px solid #bfcbd9; border-radius:.48rem; color:#1e304a; background:#fff; }
.form-field textarea { min-height:6rem; resize:vertical; }
.exam-create-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(18rem,.85fr); gap:1.25rem; align-items:start; }
.exam-create-layout>.form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.template-preview { min-width:0; padding:1.1rem; border:1px solid #b9d8d2; border-radius:.75rem; background:#f4fbf9; }
.template-preview header { display:flex; min-width:0; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:.75rem; }
.template-preview h2 { margin:.2rem 0 0; overflow-wrap:anywhere; color:#173e3a; font-size:1.15rem; }
.template-preview p { color:#526d69; line-height:1.45; }
.template-description { margin:.45rem 0; font-size:.9rem; }
.template-section-list,.template-component-sections,.exam-mobile-component-sections { display:grid; min-width:0; gap:.85rem; }
.template-section { min-width:0; padding:.75rem; border:1px solid #cfe2de; border-radius:.55rem; background:#f9fdfc; }
.template-section header { align-items:baseline; }
.template-section h3 { min-width:0; margin:0; overflow-wrap:anywhere; color:#24433f; font-size:.95rem; }
.template-section .template-component-list { margin:.65rem 0 0; }
.template-component-list { display:grid; gap:.35rem; margin:1rem 0; padding:0; list-style:none; }
.template-component-list li { display:flex; min-width:0; justify-content:space-between; gap:.75rem; padding:.55rem .65rem; border-radius:.45rem; background:#fff; }
.template-component-list span { min-width:0; overflow-wrap:anywhere; }
.template-component-list strong { flex:0 0 auto; }
.template-reference { padding-top:.75rem; border-top:1px solid #cfe2de; font-size:.85rem; overflow-wrap:anywhere; }
.template-disclaimer { margin-bottom:0; padding:.65rem; border-radius:.45rem; color:#5d4a17 !important; background:#fff7dc; font-size:.85rem; }
.template-source-summary { display:grid; min-width:0; gap:.25rem; margin:0 0 1rem; padding:.85rem 1rem; border-left:.3rem solid #187a70; border-radius:.45rem; background:#f2f9f7; }
.template-source-summary p { margin:0; overflow-wrap:anywhere; color:#526d69; }
.template-source-summary p:first-child { color:#24433f; }
.template-structure-notice { padding:.7rem .8rem; border-left:.25rem solid #187a70; border-radius:.4rem; color:#405e5a; background:#f2f9f7; }
.template-component-section { min-width:0; padding:.8rem; border:1px solid #dce7e4; border-radius:.6rem; }
.template-component-section .section-heading { margin-bottom:.55rem; }
.template-component-section h3 { margin:0; overflow-wrap:anywhere; color:#24433f; font-size:1rem; }
.exam-filter-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); min-width:0; gap:1rem; align-items:end; margin-bottom:1rem; }
.exam-filter-grid>* { min-width:0; }
.exam-filter-grid .turkish-date-control { width:100%; min-width:0; }
.exam-filter-grid .filter-actions { display:flex; min-width:0; grid-column:1 / -1; flex-wrap:nowrap; gap:.65rem; }
.exam-filter-grid .filter-actions .button { width:auto; flex:0 0 auto; white-space:nowrap; }
@media (min-width:1024px) and (max-width:1439px) {
    .exam-filter-grid { grid-template-columns:minmax(0,1.4fr) minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr); }
    .exam-filter-grid .filter-actions { grid-column:3 / -1; }
}
@media (min-width:1440px) {
    .exam-filter-grid { grid-template-columns:minmax(0,1.55fr) minmax(0,1.3fr) minmax(0,.85fr) minmax(0,.8fr) minmax(0,1.05fr) minmax(0,1.05fr) max-content; }
    .exam-filter-grid .filter-actions { grid-column:auto; }
}
.metric-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(12rem,1fr)); gap:.65rem; }
.metric-list>div { display:flex; justify-content:space-between; gap:.75rem; padding:.7rem; border-radius:.5rem; background:#f6f8fb; }
.participant-picker { display:grid; gap:.8rem; margin-bottom:1.25rem; padding:1rem; border:1px solid #dce4ef; border-radius:.7rem; background:#f9fbfd; }
.participant-picker>p { margin:0; color:#66758b; }
.selection-toolbar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.75rem; align-items:end; }
.selection-search { min-width:0; }
.selection-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; max-height:22rem; overflow-y:auto; }
.long-list-scroll { min-height:0; overflow:auto; overscroll-behavior:contain; border:1px solid #d1dbe7; border-radius:.6rem; scrollbar-color:#8ea3b7 #edf2f6; scrollbar-width:thin; }
.long-list-scroll-compact { max-height:min(28rem,55vh); padding:.65rem; }
.long-list-scroll-table { max-height:min(42rem,68vh); }
.long-list-scroll::-webkit-scrollbar { width:.55rem; height:.55rem; }
.long-list-scroll::-webkit-scrollbar-track { background:#edf2f6; }
.long-list-scroll::-webkit-scrollbar-thumb { border-radius:999px; background:#8ea3b7; }
.assignment-student-summary-scroll thead th,
.exam-analysis-ranking-scroll thead th { position:sticky; top:0; z-index:2; background:#f7f9fb; box-shadow:0 1px 0 #d1dbe7; }
.assignment-personal-student-number { display:block; margin-top:.15rem; color:#66758b; }
.segmented-tabs { display:flex; flex-wrap:wrap; gap:.55rem; margin:0 0 1rem; }
.page-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:.65rem; }
.my-courses-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.my-course-card { display:flex; min-width:0; flex-direction:column; gap:1rem; }
.my-course-card .button { margin-top:auto; align-self:flex-start; }
.my-course-topic-list { margin:.75rem 0 0; padding-left:2.2rem; }
.selection-row { display:flex; min-width:0; align-items:flex-start; gap:.7rem; padding:.75rem; border:1px solid #d1dbe7; border-radius:.55rem; background:#fff; cursor:pointer; }
.selection-row input { width:1.15rem; height:1.15rem; flex:0 0 auto; margin-top:.15rem; }
.selection-row span { display:grid; min-width:0; gap:.15rem; overflow-wrap:anywhere; }
.selection-row small { color:#6c7b90; }
.activity-list { display:grid; gap:.65rem; margin:0; padding:0; list-style:none; }
.activity-list li { padding:.8rem; border-left:.25rem solid #91bdb7; border-radius:.4rem; background:#f7fafb; }
.activity-list li>div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.75rem; }
.activity-list li span,.activity-list li p { color:#66758b; }
.activity-list li p { margin:.35rem 0 0; }
.exam-result-controls { display:grid; grid-template-columns:2fr minmax(9rem,1fr) minmax(16rem,1.4fr) auto; gap:.75rem; align-items:end; margin:0 0 1rem; padding:.9rem; border:1px solid #dce4ef; border-radius:.7rem; background:#f9fbfd; }
.exam-result-controls .exam-result-count { grid-column:1 / -1; margin:0; color:#66758b; }
.exam-matrix-scroll { width:100%; max-width:100%; min-width:0; overflow-x:auto; scrollbar-color:#8ea3b7 #edf2f6; scrollbar-width:thin; }
.exam-matrix-scroll::-webkit-scrollbar { height:.45rem; }
.exam-matrix-scroll::-webkit-scrollbar-track { background:#edf2f6; border-radius:999px; }
.exam-matrix-scroll::-webkit-scrollbar-thumb { background:#8ea3b7; border-radius:999px; }
.exam-result-matrix { width:100%; min-width:62rem; table-layout:fixed; }
.exam-result-matrix-ayt { min-width:112rem; }
.exam-result-matrix th,.exam-result-matrix td { padding:.55rem .6rem; text-align:center; vertical-align:middle; }
.exam-result-matrix thead th { position:sticky; top:0; z-index:4; background:#eef3f8; }
.exam-result-matrix thead th>span { display:block; min-width:0; overflow-wrap:anywhere; }
.exam-component-group-label { margin-bottom:.2rem; color:#526d69; font-size:.7rem; font-weight:700; }
.exam-result-matrix th:first-child,.exam-result-matrix td:first-child { position:sticky; left:0; z-index:2; width:11rem; text-align:left; background:#fff; }
.exam-result-matrix th:nth-child(2),.exam-result-matrix td:nth-child(2) { position:sticky; left:11rem; z-index:2; width:5rem; text-align:left; background:#fff; box-shadow:.35rem 0 .45rem -.45rem #617086; }
.exam-result-matrix thead th:first-child,.exam-result-matrix thead th:nth-child(2) { top:0; z-index:5; background:#eef3f8; }
.exam-component-score-cell { min-width:7rem; font-variant-numeric:tabular-nums; }
.exam-total-column { width:6rem; }
.exam-rank-column { width:3.5rem; }
.exam-status-column { width:7.5rem; white-space:nowrap; }
.exam-component-score { display:grid; gap:.35rem; min-width:0; }
.exam-score-counts { display:grid; grid-template-columns:repeat(3,1fr); gap:.3rem; }
.exam-score-counts span { display:flex; align-items:baseline; justify-content:flex-end; gap:.25rem; }
.exam-score-counts abbr,.exam-component-results abbr { color:#627187; font-size:.72rem; font-weight:800; text-decoration:none; }
.exam-score-counts strong,.exam-score-net strong { text-align:right; font-variant-numeric:tabular-nums; }
.exam-score-net { display:flex; justify-content:flex-end; gap:.4rem; padding-top:.25rem; border-top:1px solid #dce4ef; color:#1f615c; }
.exam-component-absent { color:#6c7480; font-weight:700; }
.exam-result-validation-row td { text-align:left; background:#fff7f7; }
.exam-result-validation-row .field-validation-error { margin:0; color:#a02626; font-weight:700; }
.ayt-result-helpers { min-width:0; margin:0 0 1rem; padding:.85rem; border:1px solid #cfe2de; border-radius:.65rem; background:#f4fbf9; }
.ayt-result-helpers legend { padding:0 .35rem; color:#24433f; font-weight:800; }
.ayt-result-helper-actions { display:flex; min-width:0; flex-wrap:wrap; gap:.6rem; }
.ayt-result-helper-actions .button { flex:1 1 11rem; }
.exam-result-section-row th { padding:.65rem .8rem; color:#24433f; background:#eaf5f2; text-align:left; }
.exam-result-section-row th { display:flex; min-width:0; flex-wrap:wrap; justify-content:space-between; gap:.5rem; overflow-wrap:anywhere; }
.exam-result-row[role="link"] { cursor:pointer; }
.exam-result-row[role="link"]:focus-visible { outline:3px solid #2c746e; outline-offset:-3px; }
.exam-student-column { overflow-wrap:anywhere; }
.exam-student-column>strong { display:block; }
.exam-result-guidance { margin:.25rem 0 1rem; color:#52627a; font-size:.92rem; }
.exam-result-link { display:inline-block; margin-top:.2rem; border-radius:.25rem; color:#17645d; font-size:.82rem; font-weight:800; text-decoration:none; }
.exam-result-link:visited { color:#17645d; }
.exam-result-link:hover { color:#0d4e48; text-decoration:underline; text-underline-offset:.16em; }
.exam-result-link:focus-visible { outline:3px solid #5ca79e; outline-offset:2px; text-decoration:underline; }
.exam-result-unavailable { display:block; margin-top:.2rem; color:#66758b; font-size:.78rem; line-height:1.35; }
.exam-participant-remove { width:100%; margin-top:.55rem; padding:.35rem .45rem; font-size:.72rem; }
.exam-result-row.status-draft { background:#fffaf0; }
.exam-result-row.status-absent { background:#f7f8fa; }
.exam-result-row.status-draft td:first-child,.exam-result-row.status-draft td:nth-child(2) { background:#fffaf0; }
.exam-result-row.status-absent td:first-child,.exam-result-row.status-absent td:nth-child(2) { background:#f7f8fa; }
.exam-matrix-mobile { display:none; gap:.8rem; }
.exam-result-card { display:grid; gap:.8rem; margin:0; }
.exam-result-card>header,.exam-result-card>footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.6rem; }
.exam-result-card>header>div { display:grid; min-width:0; gap:.2rem; }
.exam-result-card>header span,.exam-result-card>footer { color:#66758b; }
.exam-component-results { display:grid; gap:.55rem; margin:0; }
.exam-component-results>div { display:grid; grid-template-columns:minmax(8rem,1fr) repeat(4,auto); gap:.55rem; padding:.65rem; border-radius:.5rem; background:#f6f8fb; }
.exam-component-results dt { font-weight:800; }
.exam-component-results dd { margin:0; }
.exam-mobile-component-sections>section { min-width:0; }
.exam-mobile-component-sections h3 { margin:0 0 .45rem; overflow-wrap:anywhere; color:#24433f; font-size:.95rem; }
.absent-result-card { border-left:.3rem solid #c59427; }
.exam-excel-import { display:grid; min-width:0; gap:1rem; }
.exam-excel-import-heading { margin:0; }
.exam-excel-import-heading>div { min-width:0; }
.exam-excel-import-heading p { margin:.3rem 0 0; color:#66758b; overflow-wrap:anywhere; }
.exam-excel-import-controls { display:grid; min-width:0; grid-template-columns:minmax(0,1.4fr) auto; gap:1rem; align-items:end; }
.exam-excel-file-field { min-width:0; }
.exam-excel-file-field input[type="file"] { width:100%; padding:.55rem; border:1px solid #bfcbd9; border-radius:.48rem; background:#fff; }
.exam-excel-file-field small { color:#66758b; }
.exam-excel-file-name { max-width:100%; overflow-wrap:anywhere; color:#24433f; font-size:.86rem; font-weight:700; }
.exam-excel-import-actions { display:flex; min-width:0; flex-wrap:wrap; justify-content:flex-end; gap:.65rem; }
.exam-excel-status { margin:0; color:#52627a; }
.exam-excel-mapping { display:grid; min-width:0; gap:.9rem; padding:1rem; border:1px solid #d8e1ea; border-radius:.65rem; background:#f8fafc; }
.exam-excel-mapping .section-heading { margin:0; }
.exam-excel-mapping h3 { margin:0; color:#24433f; }
.exam-excel-mapping table select { width:100%; min-width:12rem; }
.exam-excel-preview { display:grid; min-width:0; gap:.85rem; padding-top:.25rem; }
.exam-excel-preview .section-heading { margin:0; }
.exam-excel-preview h3 { margin:0; color:#24433f; }
.exam-excel-summary { display:grid; min-width:0; grid-template-columns:repeat(6,minmax(0,1fr)); gap:.65rem; margin:0; }
.exam-excel-summary>div { min-width:0; padding:.7rem; border-radius:.5rem; background:#f4f7fa; }
.exam-excel-summary dt { color:#66758b; font-size:.78rem; font-weight:700; }
.exam-excel-summary dd { margin:.2rem 0 0; color:#20344f; font-size:1.15rem; font-weight:800; }
.exam-excel-preview-table { min-width:0; max-height:32rem; overflow:auto; }
.exam-excel-preview-table td { overflow-wrap:anywhere; }
.exam-excel-preview-table .excel-row-invalid { background:#fff5f5; }
.analysis-access-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.75rem; }
.academic-analysis-summary { align-items:stretch; }
.academic-analysis-table { min-width:0; }
.academic-performance-filters { margin-bottom:1rem; }
.academic-net-chart { display:grid; min-width:0; grid-template-columns:auto 3.25rem minmax(0,1fr); gap:.65rem; margin-top:.9rem; }
.academic-net-chart-axis-title { align-self:center; color:#52627a; font-size:.78rem; font-weight:800; letter-spacing:.02em; writing-mode:vertical-rl; transform:rotate(180deg); }
.academic-net-chart-scale { position:relative; display:flex; height:13rem; flex-direction:column; justify-content:space-between; align-items:flex-end; color:#66758b; font-size:.72rem; font-variant-numeric:tabular-nums; }
.academic-net-chart-scale>strong { font-weight:700; }
.academic-net-chart-scale>span { position:absolute; right:0; transform:translateY(50%); }
.academic-net-chart-body { min-width:0; }
.academic-net-chart-plot,.academic-net-chart-values,.academic-net-chart-labels { display:grid; min-width:0; grid-template-columns:repeat(var(--chart-columns),minmax(0,1fr)); gap:clamp(.35rem,2vw,1rem); }
.academic-net-chart-plot { position:relative; height:13rem; border-radius:.55rem .55rem 0 0; background:repeating-linear-gradient(to top,#e4ebf2 0 1px,transparent 1px 25%); }
.academic-net-chart-zero { position:absolute; z-index:2; right:0; bottom:var(--chart-zero); left:0; border-top:2px solid #9babbc; }
.academic-net-chart-bar-cell { position:relative; z-index:1; min-width:0; height:100%; }
.academic-net-chart-bar { position:absolute; left:50%; width:min(72%,4.5rem); min-height:3px; bottom:var(--bar-bottom); height:var(--bar-height); border-radius:.4rem .4rem .12rem .12rem; background:linear-gradient(180deg,#399487,#286c65); box-shadow:0 1px 3px rgb(30 64 73 / 18%); transform:translateX(-50%); }
.academic-net-chart-bar.is-negative { border-radius:.12rem .12rem .4rem .4rem; background:linear-gradient(180deg,#526b88,#304761); }
.academic-net-chart-bar.is-zero { background:#718397; }
.academic-net-chart-values { margin-top:.45rem; color:#20344f; font-size:.86rem; font-variant-numeric:tabular-nums; text-align:center; }
.academic-net-chart-values>strong { min-width:0; overflow-wrap:anywhere; }
.academic-net-chart-labels { margin-top:.25rem; color:#66758b; text-align:center; }
.academic-net-chart-labels>span { display:grid; min-width:0; gap:.08rem; }
.academic-net-chart-labels small { overflow:hidden; font-size:.7rem; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.academic-net-chart-labels time { font-size:.72rem; font-variant-numeric:tabular-nums; }
.academic-net-chart-note { margin:.8rem 0 0; }
.academic-component-grid { display:grid; min-width:0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.academic-component-card { min-width:0; padding:1rem; border:1px solid #dce5ed; border-radius:.65rem; background:#fbfcfd; }
.academic-component-card h3 { margin:0; color:#24433f; font-size:1rem; overflow-wrap:anywhere; }
.academic-component-points { display:flex; min-width:0; overflow-x:auto; gap:.55rem; padding-bottom:.3rem; }
.academic-component-points>span { display:grid; flex:0 0 6.5rem; gap:.2rem; padding:.55rem; border-radius:.45rem; background:#eef4f3; }
.academic-component-points small { color:#66758b; }
.academic-component-points strong { color:#24433f; }
.trend-positive { color:#16704e !important; }
.trend-negative { color:#a23b3b !important; }
.trend-neutral { color:#66758b !important; }
@media (max-width:1199px) {
    .metric-grid,.setup-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .student-profile-facts,.student-academic-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .exam-create-layout { grid-template-columns:minmax(0,1fr); }
    .filter-grid,.staff-filter-grid,.assignment-filter-grid,.summary-grid,.inline-form,.exam-result-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .filter-actions { grid-column:1 / -1; }
    .assignment-table .low-priority { display:none; }
    .assignment-table .assignment-owner { max-width:10rem; }
    .exam-excel-import-controls { grid-template-columns:minmax(0,1fr); }
    .exam-excel-import-actions { justify-content:flex-start; }
    .exam-excel-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .topic-progress-navigator .review-course-section>summary { display:grid; grid-template-columns:minmax(8rem,14rem) minmax(0,1fr); }
    .topic-progress-navigator .topic-progress-summary { width:100%; max-width:none; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .topic-progress-navigator .review-course-section>summary>.topic-progress-summary { flex:none; }
    .topic-progress-subject-heading { display:grid; grid-template-columns:minmax(8rem,14rem) minmax(0,1fr); }
    .topic-progress-subject-heading .topic-progress-summary { max-width:none; flex:none; }
    .topic-progress-course-row { grid-template-columns:minmax(0,1fr) auto; }
    .topic-progress-course-row .topic-progress-summary { grid-row:2; grid-column:1 / -1; }
    .topic-progress-open-label { grid-row:1; grid-column:2; }
}
@media (max-width:768px) {
    .summary-grid,.inline-form { grid-template-columns:minmax(0,1fr); }
    .page-header,.empty-guidance { align-items:stretch; flex-direction:column; }
    .dashboard-today-list li { grid-template-columns:minmax(0,1fr) auto; }
    .dashboard-today-list span { grid-column:1; grid-row:2; }
    .dashboard-review-link { grid-column:2; grid-row:1 / span 2; }
    .dashboard-control-summary .button { width:100%; margin-left:0; }
    .control-week-days { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .assignment-control-students li { grid-template-columns:minmax(0,1fr) auto; }
    .assignment-control-students li>.status,.assignment-control-students li>.button { grid-column:2; }
    .assignment-control-plan { grid-template-columns:minmax(0,1fr) auto; }
    .assignment-control-plan>.button { grid-column:1 / -1; }
    .student-target-options { grid-template-columns:minmax(0,1fr); }
    .student-contact-list { grid-template-columns:minmax(0,1fr); }
    .metric-grid,.setup-grid,.detail-grid,.my-courses-grid,.two-columns,.topic-picker-controls,.filter-grid,.staff-filter-grid,.assignment-filter-grid,.workspace-options,.staff-course-group,.activation-copy,.student-selection,.selection-list,.selection-toolbar,.topic-checkboxes,.exam-result-controls { grid-template-columns:1fr; }
    .exam-create-layout>.form-grid { grid-template-columns:minmax(0,1fr); }
    .exam-create-layout .field-wide { grid-column:auto; }
    .period-date-grid { grid-template-columns:1fr; }
    .field-wide { grid-column:auto; }
    .responsive-table { overflow:visible; }
    .responsive-table.long-list-scroll { overflow:auto; }
    .exam-matrix-desktop { display:none; }
    .exam-matrix-mobile { display:grid; }
    .exam-component-results>div { grid-template-columns:1fr 1fr; }
    .exam-component-results dt { grid-column:1 / -1; }
    table,thead,tbody,tr,th,td { display:block; }
    thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
    tr { padding:.7rem 1rem; border-top:1px solid #e3e9f1; }
    td { display:grid; grid-template-columns:8rem 1fr; gap:.7rem; padding:.35rem 0; border:0; }
    td::before { content:attr(data-label); color:#6d7b8e; font-size:.8rem; font-weight:700; }
    .exam-result-section-row { padding:.65rem .8rem; border-top:.15rem solid #91bdb7; }
    .exam-result-section-row th { padding:0; }
    .table-action { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem; padding-top:.65rem; }
    .detail-list { grid-template-columns:1fr; }
    .detail-list dd { margin-bottom:.45rem; }
    .review-actions { min-width:0; }
    .review-actions .button { width:100%; }
    .assignment-review-row-actions .button { width:auto; flex:1 1 8rem; }
    .assignment-version-card>summary { align-items:flex-start; flex-direction:column; }
    .assignment-version-snapshot>.button { width:100%; }
    .assignment-history li { grid-template-columns:1fr; gap:.25rem; }
    .confirmation-dialog { width:calc(100vw - 1rem); }
    .confirmation-dialog-content { padding:1.1rem; }
    .confirmation-dialog-actions { align-items:stretch; flex-direction:column-reverse; }
    .confirmation-dialog-actions .button { width:100%; }
    .review-filter,.source-details,.decision-options,.count-list { grid-template-columns:1fr; }
    .review-course-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .review-course-name { grid-column:1/-1; }
    .review-course-percentage { text-align:left; }
    .topic-progress-summary { width:100%; min-height:0; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:max-content; align-content:start; align-items:start; }
    .topic-progress-stat { height:auto; min-height:0; align-self:start; }
    .topic-progress-navigator .review-course-section>summary { align-items:start; grid-template-columns:minmax(0,1fr); }
    .topic-progress-navigator .review-course-section>summary>.topic-progress-summary { width:100%; max-width:none; min-height:0; flex:none; }
    .topic-progress-heading { flex-basis:auto; }
    .topic-progress-subject-heading { grid-template-columns:minmax(0,1fr); }
    .topic-progress-course-row { grid-template-columns:minmax(0,1fr); }
    .topic-progress-course-row .review-course-name { grid-column:1; }
    .topic-progress-course-row .topic-progress-summary { width:100%; grid-row:auto; grid-column:1; }
    .topic-progress-open-label { grid-row:auto; grid-column:1; justify-self:start; }
    .topic-note-editor { grid-template-columns:1fr; }
    .student-attention-topic-list li { grid-template-columns:minmax(0,1fr); align-items:start; }
    .student-attention-topic-signals { justify-content:flex-start; }
    .student-exam-trends-heading { align-items:stretch; flex-direction:column; }
    .student-exam-trends-actions { justify-content:flex-start; }
    .student-exam-trend-list li { grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:.45rem .65rem; }
    .student-exam-trend-net { justify-items:start; }
    .student-exam-trend-change { grid-column:2; grid-row:1 / span 2; align-self:center; }
    .review-entry-summary { align-items:stretch; flex-direction:column; }
    .source-card .section-heading { align-items:stretch; flex-direction:column; }
    .source-card .button { width:100%; }
    .form-actions .button,.page-header>.button,.page-header>a.button { width:100%; }
    .page-actions { align-items:stretch; flex-direction:column; }
    .page-actions .button { width:100%; }
    .filter-actions { grid-column:auto; align-items:stretch; flex-direction:column; }
    .filter-actions .button,.selection-toolbar .button { width:100%; }
    .assignment-item-source>.button,.assignment-item-card .button { width:100%; }
    .cell-ellipsis { max-width:none; white-space:normal; }
    .entry-navigation .button { flex:1 1 10rem; }
    .exam-excel-import-heading { align-items:stretch; flex-direction:column; }
    .exam-excel-import-heading .button,.exam-excel-import-actions .button { width:100%; }
    .exam-excel-import-actions { align-items:stretch; flex-direction:column; }
    .exam-excel-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .exam-excel-preview-table { max-height:none; overflow:visible; }
    .analysis-access-actions { align-items:stretch; flex-direction:column; }
    .analysis-access-actions .button { width:100%; }
    .academic-component-grid { grid-template-columns:minmax(0,1fr); }
    .academic-net-chart { grid-template-columns:auto 2.7rem minmax(0,1fr); gap:.4rem; }
    .academic-net-chart-scale,.academic-net-chart-plot { height:11rem; }
    .academic-net-chart-plot,.academic-net-chart-values,.academic-net-chart-labels { gap:.3rem; }
    .academic-net-chart-bar { width:min(76%,3.25rem); }
    .academic-net-chart-labels small { font-size:.65rem; }
    .academic-net-chart-labels time { font-size:.67rem; }
}
@media (max-width:900px) {
    .topic-picker-controls { grid-template-columns:1fr; }
    .assignment-planning-toolbar-heading { align-items:stretch; flex-direction:column; }
    .assignment-planning-days { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .student-weekly-plan-heading { align-items:stretch; flex-direction:column; }
    .student-week-navigation .button { flex:1 1 8rem; }
    .student-weekly-plan-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .student-weekly-plan-undated-list { grid-template-columns:minmax(0,1fr); }
    .responsive-table.long-list-scroll.topic-progress-topic-list { overflow-x:hidden; overflow-y:auto; }
    .topic-progress-topic-list table,.topic-progress-topic-list tbody { display:block; width:100%; min-width:0; }
    .topic-progress-topic-list thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
    .topic-progress-topic-list tr { display:grid; gap:.7rem; padding:.85rem; border-top:1px solid #e3e9f1; }
    .topic-progress-topic-list tbody tr:first-child { border-top:0; }
    .topic-progress-topic-list td { display:grid; grid-template-columns:minmax(0,1fr); gap:.3rem; min-width:0; padding:0; border:0; overflow-wrap:anywhere; }
    .topic-progress-topic-list td::before { content:attr(data-label); color:#6d7b8e; font-size:.75rem; font-weight:700; }
    .topic-progress-topic-list .topic-progress-topic-name { padding-bottom:.1rem; }
    .topic-progress-topic-list .topic-status-actions { min-width:0; }
    .topic-progress-topic-list .topic-note-editor { grid-template-columns:minmax(0,1fr); min-width:0; }
    .topic-progress-topic-list .topic-note-editor .button { justify-self:start; }
}
@media (max-width:767px) {
    .assignment-planning-days { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .assignment-resource-cards { flex-wrap:nowrap; padding-bottom:.25rem; overflow-x:auto; }
    .assignment-resource-card-group { flex:0 0 10rem; }
    .assignment-resource-quick-add { flex:0 0 5rem; }
    .assignment-item-quick-schedule { grid-template-columns:minmax(0,1fr); align-items:stretch; }
    .assignment-item-planned-date { white-space:normal; }
    .student-weekly-plan-grid { grid-template-columns:minmax(0,1fr); }
    .exam-filter-grid { grid-template-columns:minmax(0,1fr); }
    .exam-filter-grid .filter-actions { grid-column:auto; align-items:stretch; flex-direction:column; }
    .exam-filter-grid .filter-actions .button { width:100%; }
}
@media (max-width:390px) {
    .panel { padding:1rem; }
    .student-profile-facts,.student-academic-actions { grid-template-columns:minmax(0,1fr); }
    .student-additional-details { padding:0; }
    .table-panel { padding:0; }
    .template-preview { padding:.85rem; }
    .template-section,.template-component-section { padding:.65rem; }
    .template-component-list li { align-items:flex-start; }
    .page-header,.section-heading,.table-summary { min-width:0; }
    .pagination { flex-wrap:wrap; gap:.6rem; }
    .pagination .button { flex:1 1 8rem; }
    .exam-excel-summary { grid-template-columns:minmax(0,1fr); }
}

@media (prefers-reduced-motion: reduce) {
    .clickable-row { transition:none; }
    .loading-state::before { animation:none; }
}
/* Student bulk import reuses the bounded internal-list convention. */
.student-bulk-import { display:grid; gap:1rem; }
.student-bulk-import-controls { display:grid; gap:1rem; }
.student-bulk-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.65rem; margin:0 0 1rem; }
.student-bulk-summary>div { padding:.7rem; border:1px solid #dce4ef; border-radius:.65rem; background:#f7f9fc; }
.student-bulk-summary dt { color:#66758b; font-size:.8rem; }
.student-bulk-summary dd { margin:.2rem 0 0; font-size:1.15rem; font-weight:700; }
.student-bulk-preview-scroll { max-height:32rem; overflow-x:hidden; overflow-y:auto; }
.student-bulk-import .form-grid.three-columns { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:700px) {
    .student-bulk-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .student-bulk-import .form-grid.three-columns { grid-template-columns:minmax(0,1fr); }
    .page-header-actions { width:100%; }
    .page-header-actions .button { width:100%; }
}
