*, *::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-date-navigation { display:flex; flex-wrap:wrap; align-items:end; gap:.55rem; margin-bottom:.7rem; }
.control-date-navigation .control-date-picker { width:min(100%,15rem); }
.control-date-navigation .button { min-height:2.7rem; }
.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 .35rem; border-top:1px solid #e5ebf2; border-radius:.4rem; cursor:pointer; }
.assignment-control-students li:hover { background:#f7fafc; }
.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-filter .field { flex:1 1 10rem; }
.control-history-filter .control-history-student-filter { flex-basis:14rem; }
.control-history-filter-actions { display:flex; flex-wrap:wrap; gap:.55rem; }
.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; }
.assignment-control-workspace-header { align-items:center; }
.assignment-control-workspace-actions { max-width:48rem; }
.assignment-control-completion-summary { display:grid; gap:.45rem; margin-bottom:1rem; padding:1rem 1.15rem; }
.assignment-control-completion-summary>div { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.65rem; }
.assignment-control-completion-summary p { margin:0; color:#617087; }
.assignment-control-review-plans { display:grid; gap:1rem; }
.assignment-control-review-plan { padding:0; overflow:hidden; border-color:#d8e1eb; }
.assignment-control-review-plan.is-expanded { box-shadow:0 6px 18px rgb(29 56 88 / 8%); }
.assignment-control-review-plan-header { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:1rem; padding:1.05rem 1.15rem; background:#f7fafc; }
.assignment-control-review-plan-heading { min-width:0; }
.assignment-control-review-plan-header h2 { margin:0; color:#203b5d; font-size:1.05rem; }
.assignment-control-plan-metadata { display:flex; flex-wrap:wrap; gap:.3rem .8rem; margin-top:.45rem; color:#68778c; font-size:.86rem; }
.assignment-control-plan-metadata span { position:relative; }
.assignment-control-plan-metadata span+span::before { margin-right:.8rem; color:#a7b2c0; content:"•"; }
.assignment-control-review-plan-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:.6rem; }
.assignment-control-review-plan-body { border-top:1px solid #dce4ed; }
.assignment-control-review-item { display:grid; grid-template-columns:minmax(0,1fr) minmax(18rem,auto); align-items:center; gap:1rem 1.35rem; padding:1.25rem 1.15rem; background:#fff; }
.assignment-control-review-item+.assignment-control-review-item { border-top:1px solid #e5ebf2; }
.assignment-control-review-item.is-pending { background:#fbfdfd; }
.assignment-control-item-content { display:grid; min-width:0; gap:.75rem; }
.assignment-control-item-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; }
.assignment-control-item-heading h3,.assignment-control-item-heading p { margin:0; }
.assignment-control-item-heading h3 { color:#203b5d; font-size:1rem; }
.assignment-control-item-heading p { margin-top:.25rem; color:#65758a; font-size:.9rem; }
.assignment-control-item-metadata { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.55rem; margin:0; }
.assignment-control-item-metadata>div { min-width:0; padding:.55rem .65rem; border:1px solid #e2e8f0; border-radius:.5rem; background:#f9fbfd; }
.assignment-control-item-metadata dt { color:#718096; font-size:.72rem; font-weight:750; letter-spacing:.03em; text-transform:uppercase; }
.assignment-control-item-metadata dd { margin:.16rem 0 0; overflow-wrap:anywhere; color:#334b68; font-size:.87rem; }
.assignment-control-item-supplementary { display:flex; flex-wrap:wrap; gap:.35rem .7rem; color:#66768b; font-size:.82rem; }
.assignment-control-item-supplementary span+span::before { margin-right:.7rem; color:#b0bac6; content:"•"; }
.assignment-control-item-action-panel { display:grid; justify-items:end; gap:.45rem; }
.assignment-control-item-actions { align-self:center; justify-content:flex-end; }
.assignment-control-item-actions .button { min-height:2.25rem; padding:.45rem .65rem; font-size:.87rem; }
.assignment-control-item-loading { color:#176f67; font-size:.82rem; font-weight:700; }
.assignment-control-item-loading::before { display:inline-block; width:.7rem; height:.7rem; margin-right:.35rem; border:.12rem solid #b9d7d3; border-top-color:#176f67; border-radius:50%; content:""; animation:loading-state-spin .8s linear infinite; }
.assignment-control-disposition-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; margin-bottom:1rem; }
.assignment-control-disposition-options label { display:flex; gap:.65rem; padding:.8rem; border:1px solid #ccd7e4; border-radius:.6rem; cursor:pointer; }
.assignment-control-disposition-options input { flex:0 0 auto; margin-top:.25rem; }
.assignment-control-disposition-options span { display:grid; gap:.2rem; }
.assignment-control-disposition-options small { color:#68778c; }
.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 { 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; }
.student-guidance-note-editor { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1rem; align-items:end; margin-bottom:1rem; }
.student-guidance-note-editor-context { display:flex; grid-column:1 / -1; min-width:0; align-items:center; justify-content:space-between; gap:.75rem; padding:.75rem; border:1px solid #d6e1ed; border-radius:.65rem; background:#f7f9fc; }
.student-guidance-note-editor-context>div { display:flex; min-width:0; flex-wrap:wrap; align-items:center; gap:.45rem .65rem; color:#68778c; font-size:.82rem; }
.student-guidance-note-editor-context strong { color:#31445d; }
.student-guidance-note-list,.student-exam-insight-list { display:grid; gap:.75rem; margin:0; padding:0; list-style:none; }
.student-guidance-note-list>li,.student-exam-insight-list>li { min-width:0; padding:1rem; border:1px solid #dce4ef; border-radius:.7rem; background:#fff; }
.student-guidance-note-context { display:flex; min-width:0; flex-wrap:wrap; align-items:center; gap:.45rem; margin-bottom:.65rem; color:#68778c; font-size:.8rem; }
.student-guidance-note-context .status { white-space:normal; }
.student-guidance-note-content { margin:0; color:#31445d; white-space:pre-wrap; overflow-wrap:anywhere; }
.student-guidance-note-meta,.student-guidance-note-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.55rem; margin-top:.7rem; color:#68778c; font-size:.82rem; }
.student-guidance-note-actions { justify-content:flex-end; }
.student-exam-insight-list>li { display:flex; justify-content:space-between; gap:1rem; align-items:center; }
.student-exam-insight-context,.student-exam-insight-signal { display:grid; min-width:0; gap:.3rem; }
.student-exam-insight-context span { color:#68778c; font-size:.82rem; }
.student-exam-insight-signal { justify-items:end; text-align:right; }
@media (max-width: 640px) {
  .student-guidance-note-editor { grid-template-columns:1fr; }
  .student-guidance-note-editor-context { align-items:flex-start; flex-direction:column; }
  .student-exam-insight-list>li { align-items:flex-start; flex-direction:column; }
  .student-exam-insight-signal { justify-items:start; text-align:left; }
}
.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-info { margin-bottom:1rem; padding:0; overflow:hidden; }
.assignment-plan-info>summary { display:flex; min-height:3.5rem; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem 1rem; color:#253b58; background:#f8fafc; cursor:pointer; list-style:none; }
.assignment-plan-info>summary::-webkit-details-marker { display:none; }
.assignment-plan-info>summary span:first-child { display:grid; min-width:0; gap:.12rem; }
.assignment-plan-info>summary small { overflow:hidden; color:#6c7b90; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
.assignment-plan-info-counts { display:flex; flex:0 0 auto; align-items:center; gap:.55rem; color:#466078; font-size:.82rem; font-weight:750; white-space:nowrap; }
.assignment-plan-info-chevron { color:#23766d; font-size:1.15rem; line-height:1; transition:transform .12s ease; }
.assignment-plan-info[open] .assignment-plan-info-chevron { transform:rotate(180deg); }
.assignment-plan-info[open]>summary { border-bottom:1px solid #dce4ef; background:#f3f8f7; }
.assignment-plan-info>.detail-list { padding:1rem; }
.assignment-plan-editor-panel { margin:0 0 1rem; }
.assignment-plan-editor-heading { align-items:flex-start; }
.assignment-plan-editor-heading h2 { margin:0; }
.assignment-edit-topic-select:not([size="1"]) { max-height:min(14rem,42vh); padding:.25rem; overflow-y:auto; }
.assignment-edit-topic-select option { padding:.32rem .45rem; }
.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; outline-offset:-3px; transition:background-color .12s ease,box-shadow .12s ease; }
.assignment-version-card>summary:hover { background:#eef6f4; }
.assignment-version-card>summary:focus-visible { outline:3px solid rgb(44 126 219 / 35%); }
.assignment-version-card[open]>summary { background:#e8f4f1; box-shadow:inset .25rem 0 #3d8a7e; }
.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; }
.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 { 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 { display:flex; flex-wrap:wrap; gap:.25rem 1rem; 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-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 auto; 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-exam-trend-note-action { white-space:nowrap; }
.student-assignment-plan-list { display:grid; gap:.65rem; margin:0; padding:0; list-style:none; }
.student-assignment-plan-list>li { min-width:0; border:1px solid #dfe6ee; border-radius:.65rem; background:#fff; transition:border-color .12s ease,box-shadow .12s ease; }
.student-assignment-plan-list>li:hover { border-color:#a8b9cc; box-shadow:0 2px 8px rgb(31 52 77 / 9%); }
.student-assignment-plan-link { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem; color:inherit; text-decoration:none; }
.student-assignment-plan-link:focus-visible { outline:2px solid #42867c; outline-offset:2px; border-radius:.65rem; }
.student-assignment-plan-main { display:grid; min-width:0; gap:.22rem; }
.student-assignment-plan-main strong { color:#29435f; overflow-wrap:anywhere; }
.student-assignment-plan-main>span { color:#66758b; font-size:.78rem; }
.student-assignment-plan-meta { display:flex; flex:0 0 auto; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:.4rem; }
.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; }
.selection-row-disabled { cursor:not-allowed; opacity:.7; }
.dialog-backdrop { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:1rem; background:rgb(16 28 45 / 58%); backdrop-filter:blur(2px); }
.dialog-backdrop>.dialog { width:min(54rem,100%); max-height:calc(100vh - 2rem); overflow:auto; margin:0; box-shadow:0 1.5rem 4rem rgb(15 29 49 / 28%); }
.dialog-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.7rem; margin-top:1.25rem; }
.field-group { display:grid; gap:.65rem; margin:0 0 1rem; padding:0; border:0; }
.field-group legend { margin-bottom:.5rem; font-weight:700; }
.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-mapping-summary { grid-template-columns:minmax(0,1fr) auto; align-items:center; }
.exam-excel-mapping-summary p { margin:.25rem 0 0; color:#66758b; overflow-wrap:anywhere; }
.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-date-navigation { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; }
    .control-date-navigation .control-date-picker { grid-column:1 / -1; width:100%; }
    .control-date-navigation .button { width:100%; min-width:0; }
    .control-week-days { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .assignment-control-students { gap:.7rem; }
    .assignment-control-students li { grid-template-columns:minmax(0,1fr) auto; gap:.55rem .75rem; padding:.85rem; border:1px solid #dce4ed; border-radius:.65rem; background:#fff; }
    .assignment-control-students li>div { grid-column:1 / -1; }
    .assignment-control-students li>.status { grid-column:2; }
    .assignment-control-students li>.button { grid-column:1 / -1; width:100%; }
    .assignment-control-plan { grid-template-columns:minmax(0,1fr) auto; }
    .assignment-control-plan>.button { grid-column:1 / -1; }
    .assignment-control-workspace-actions { width:100%; justify-content:stretch; }
    .assignment-control-workspace-actions>* { flex:1 1 12rem; }
    .assignment-control-review-plan-header { grid-template-columns:minmax(0,1fr); align-items:stretch; padding:1rem; }
    .assignment-control-review-plan-actions { justify-content:space-between; }
    .assignment-control-review-item { grid-template-columns:minmax(0,1fr); }
    .assignment-control-item-action-panel { justify-items:stretch; }
    .assignment-control-item-actions { justify-content:flex-start; }
    .assignment-control-item-loading { text-align:left; }
    .assignment-control-disposition-options { grid-template-columns:minmax(0,1fr); }
    .student-target-options { 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-plan-info>summary { align-items:flex-start; flex-direction:column; gap:.35rem; }
    .assignment-plan-info>summary small,.assignment-plan-info-counts { white-space:normal; }
    .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; }
    .student-exam-trend-note-action { grid-column:1 / -1; justify-self:start; }
    .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%; }
    .dialog-backdrop { align-items:end; padding:.5rem; }
    .dialog-backdrop>.dialog { max-height:calc(100vh - 1rem); }
    .dialog-actions { align-items:stretch; flex-direction:column-reverse; }
    .dialog-actions .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-mapping-summary { grid-template-columns:minmax(0,1fr); }
    .exam-excel-mapping-summary .button { width:100%; }
    .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:520px) {
    .control-week-days { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .assignment-control-workspace-actions>* { flex-basis:100%; width:100%; }
    .assignment-control-plan-metadata { display:grid; grid-template-columns:minmax(0,1fr); gap:.25rem; }
    .assignment-control-plan-metadata span+span::before { display:none; }
    .assignment-control-review-plan-actions { display:grid; grid-template-columns:minmax(0,1fr); }
    .assignment-control-review-plan-actions .status,.assignment-control-review-plan-actions .button { width:100%; text-align:center; }
    .assignment-control-review-item { gap:1rem; padding:1.1rem 1rem; }
    .assignment-control-item-heading { align-items:stretch; flex-direction:column; }
    .assignment-control-item-heading .status { align-self:flex-start; }
    .assignment-control-item-metadata { grid-template-columns:minmax(0,1fr); }
    .assignment-control-item-supplementary { display:grid; gap:.3rem; }
    .assignment-control-item-supplementary span+span::before { display:none; }
    .assignment-control-item-actions { display:grid; grid-template-columns:minmax(0,1fr); width:100%; }
    .assignment-control-item-actions .button { width:100%; }
}
@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); }
    .student-assignment-plan-link { align-items:stretch; flex-direction:column; }
    .student-assignment-plan-meta { justify-content:flex-start; }
    .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); }
    .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%; }
}
/* Staff-only guardian/student portal previews. */
.student-portal-preview-action { border-color:#9ac9c1; color:#176f67; background:#f0faf8; }
.portal-dashboard { --portal-ink:#17324d; --portal-muted:#687a8e; --portal-teal:#19786d; display:grid; min-width:0; gap:1.15rem; color:var(--portal-ink); }
.portal-dashboard>* { min-width:0; }
.portal-hero { position:relative; display:flex; min-width:0; align-items:stretch; justify-content:space-between; gap:2rem; padding:clamp(1.35rem,3vw,2.15rem); overflow:hidden; border:1px solid #d5e4e2; border-radius:1.15rem; background:linear-gradient(125deg,#f4fbfa 0%,#fff 58%,#f5f8fc 100%); box-shadow:0 12px 32px rgb(26 55 78 / 8%); }
.portal-hero::after { position:absolute; right:-4rem; bottom:-6rem; width:14rem; height:14rem; border:2.5rem solid rgb(25 120 109 / 6%); border-radius:50%; content:""; pointer-events:none; }
.portal-hero>div { position:relative; z-index:1; min-width:0; }
.portal-hero-kicker { display:flex; flex-wrap:wrap; align-items:center; gap:.55rem; color:#52697f; font-size:.76rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.portal-preview-badge { display:inline-flex; min-height:1.8rem; align-items:center; padding:.3rem .65rem; border-radius:999px; color:#17665d; background:#dff3ef; letter-spacing:0; text-transform:none; }
.portal-hero h1 { margin:.7rem 0 .3rem; color:#152f48; font-size:clamp(1.8rem,5vw,2.7rem); line-height:1.06; overflow-wrap:anywhere; }
.portal-hero p { margin:0; color:#49647c; font-size:clamp(.95rem,2vw,1.08rem); }
.portal-period { display:block; margin-top:.35rem; color:#718296; font-size:.86rem; }
.portal-hero-summary { display:grid; flex:0 1 19rem; align-content:center; gap:.25rem; padding:1rem 1.15rem; border:1px solid rgb(113 145 157 / 20%); border-radius:.85rem; background:rgb(255 255 255 / 78%); backdrop-filter:blur(6px); }
.portal-hero-summary>span { color:#6a7c8e; font-size:.76rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.portal-hero-summary strong { font-size:1.45rem; }
.portal-hero-summary small { color:#687a8e; line-height:1.4; }
.portal-trend-rising { color:#16705d; }
.portal-trend-falling { color:#a04b43; }
.portal-trend-stable { color:#3d6389; }
.portal-trend-unknown { color:#687a8e; }
.portal-kpi-grid { display:grid; min-width:0; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.85rem; }
.portal-kpi-grid:has(> :nth-child(3):last-child) { grid-template-columns:repeat(3,minmax(0,1fr)); }
.portal-kpi-card { display:grid; min-width:0; min-height:8.7rem; align-content:space-between; gap:.35rem; padding:1rem 1.05rem; border:1px solid #dce5ed; border-radius:.9rem; background:#fff; box-shadow:0 7px 20px rgb(28 53 77 / 6%); }
.portal-kpi-card>span { color:#66798c; font-size:.78rem; font-weight:800; letter-spacing:.025em; text-transform:uppercase; }
.portal-kpi-card>strong { color:#193a57; font-size:clamp(1.65rem,4vw,2.2rem); line-height:1; overflow-wrap:anywhere; }
.portal-kpi-card>strong em { color:#718296; font-size:.55em; font-style:normal; font-weight:750; }
.portal-kpi-card>small { color:#748397; font-size:.78rem; line-height:1.35; overflow-wrap:anywhere; }
.portal-kpi-primary { border-color:#abd4cc; background:linear-gradient(145deg,#fff,#eef9f6); }
.portal-kpi-primary>strong { color:#146f64; }
.portal-kpi-card>.portal-kpi-empty { color:#9aa8b6; }
.portal-kpi-card>.portal-kpi-trend { font-size:clamp(1.25rem,3vw,1.65rem); }
.portal-chart-grid { display:grid; min-width:0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.portal-card { min-width:0; padding:1.15rem; border:1px solid #dce5ed; border-radius:.95rem; background:#fff; box-shadow:0 7px 22px rgb(28 53 77 / 5%); }
.portal-trend-card { grid-column:span 2; }
.portal-section-heading { display:flex; min-width:0; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.portal-section-heading>div { min-width:0; }
.portal-section-heading .eyebrow { font-size:.68rem; }
.portal-section-heading h2 { margin:.2rem 0 0; color:#203b55; font-size:clamp(1.05rem,2.5vw,1.25rem); }
.portal-chip { flex:0 0 auto; padding:.32rem .58rem; border-radius:999px; color:#28665f; background:#e5f4f1; font-size:.75rem; font-weight:800; }
.portal-line-chart { min-width:0; padding:.25rem 0 0; }
.portal-line-chart svg { display:block; width:100%; height:clamp(11rem,27vw,15rem); overflow:visible; }
.portal-chart-gridline { stroke:#e1e8ee; stroke-width:1; vector-effect:non-scaling-stroke; }
.portal-chart-line { fill:none; stroke:#1b8174; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.portal-chart-point { fill:#fff; stroke:#1b8174; stroke-width:3; vector-effect:non-scaling-stroke; }
.portal-chart-labels { display:grid; min-width:0; grid-template-columns:repeat(var(--portal-points),minmax(0,1fr)); gap:.25rem; padding:0 .15rem; }
.portal-chart-labels span { display:grid; min-width:0; justify-items:center; gap:.15rem; color:#718296; font-size:.68rem; text-align:center; }
.portal-chart-labels strong { color:#294b65; font-size:.76rem; white-space:nowrap; }
.portal-chart-labels time { white-space:nowrap; }
.portal-chart-note { margin:.9rem 0 0; color:#748397; font-size:.75rem; line-height:1.45; }
.portal-empty-state { display:grid; min-height:8rem; place-items:center; padding:1rem; border:1px dashed #cad6e1; border-radius:.75rem; color:#718296; background:#f8fafc; text-align:center; }
.portal-empty-success { border-color:#b8d8cf; color:#397066; background:#f4faf8; }
.portal-subject-bars { display:grid; gap:.9rem; margin:0; padding:0; list-style:none; }
.portal-subject-bars li { display:grid; min-width:0; gap:.34rem; }
.portal-subject-bars li>div { display:flex; min-width:0; align-items:baseline; justify-content:space-between; gap:.75rem; }
.portal-subject-bars li>div span { min-width:0; color:#3e566e; font-size:.85rem; font-weight:700; overflow-wrap:anywhere; }
.portal-subject-bars li>div strong { flex:0 0 auto; color:#1c4f62; font-size:.9rem; }
.portal-subject-bars small { color:#8090a0; font-size:.68rem; }
.portal-subject-track { display:block; height:.55rem; overflow:hidden; border-radius:999px; background:#edf1f5; }
.portal-subject-track>span { display:block; width:max(3px,var(--subject-width)); height:100%; border-radius:inherit; background:linear-gradient(90deg,#3a9487,#63aa9f); }
.portal-ring-layout { display:flex; min-width:0; align-items:center; justify-content:center; gap:clamp(1rem,4vw,2.5rem); padding:.5rem 0; }
.portal-ring { display:grid; flex:0 0 auto; width:8.6rem; aspect-ratio:1; place-items:center; border-radius:50%; background:conic-gradient(#228174 var(--completion),#e6ecef 0); }
.portal-ring::before { grid-area:1/1; width:6.15rem; aspect-ratio:1; border-radius:50%; background:#fff; content:""; }
.portal-ring>span { z-index:1; display:grid; grid-area:1/1; justify-items:center; color:#6c7e91; }
.portal-ring strong { color:#184f5d; font-size:1.75rem; }
.portal-ring small { font-size:.7rem; }
.portal-ring-legend { display:grid; min-width:0; gap:.75rem; margin:0; }
.portal-ring-legend>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1rem; }
.portal-ring-legend dt { display:flex; min-width:0; align-items:center; gap:.45rem; color:#52687d; font-size:.8rem; }
.portal-ring-legend dd { margin:0; color:#29465f; font-weight:800; }
.portal-ring-legend i { width:.65rem; height:.65rem; flex:0 0 auto; border-radius:50%; }
.portal-ring-legend .is-complete { background:#228174; }
.portal-ring-legend .is-incomplete { background:#d8a15e; }
.portal-lower-grid { display:grid; min-width:0; grid-template-columns:minmax(0,1.45fr) minmax(17rem,.75fr); gap:1rem; }
.portal-recent-list,.portal-action-list { display:grid; min-width:0; gap:0; margin:0; padding:0; list-style:none; }
.portal-recent-list li { display:grid; min-width:0; grid-template-columns:3rem minmax(0,1fr) auto auto; align-items:center; gap:.8rem; padding:.75rem 0; border-top:1px solid #e7ecf1; }
.portal-recent-list li:first-child { padding-top:0; border-top:0; }
.portal-date-tile { display:grid; width:2.8rem; min-height:2.8rem; place-content:center; border-radius:.65rem; color:#226b63; background:#eaf6f3; text-align:center; }
.portal-date-tile strong { font-size:1rem; line-height:1; }
.portal-date-tile small { margin-top:.15rem; font-size:.58rem; font-weight:800; }
.portal-list-main,.portal-list-score,.portal-list-rank { display:grid; min-width:0; gap:.12rem; }
.portal-list-main strong { color:#304b63; font-size:.86rem; overflow-wrap:anywhere; }
.portal-list-main small,.portal-list-score small,.portal-list-rank small { color:#82909e; font-size:.65rem; }
.portal-list-score,.portal-list-rank { justify-items:end; text-align:right; white-space:nowrap; }
.portal-list-score strong,.portal-list-rank strong { color:#274960; font-size:.86rem; }
.portal-action-list li { display:flex; min-width:0; align-items:flex-start; gap:.7rem; padding:.8rem 0; border-top:1px solid #e7ecf1; }
.portal-action-list li:first-child { padding-top:0; border-top:0; }
.portal-action-list li>span:first-child { display:grid; width:1.55rem; height:1.55rem; flex:0 0 auto; place-items:center; border-radius:.45rem; color:#28796f; background:#e8f5f2; font-size:.75rem; font-weight:900; }
.portal-action-list li>span:last-child { display:grid; min-width:0; gap:.2rem; }
.portal-action-list strong { color:#354e65; font-size:.84rem; overflow-wrap:anywhere; }
.portal-action-list small { color:#7b8998; font-size:.72rem; }
.portal-family-copy { margin:.25rem 0 1rem; color:#52687d; line-height:1.65; }
.portal-family-copy strong { color:#1e5664; }
.portal-family-callout { margin:0; padding:.8rem; border-radius:.65rem; color:#825531; background:#fff5e7; font-size:.84rem; line-height:1.45; }
.portal-family-callout.is-positive { color:#286b5e; background:#eaf7f3; }
.portal-privacy-note { display:block; margin-top:.85rem; color:#83909d; font-size:.7rem; line-height:1.45; }

.guardian-access-card { display:grid; gap:1rem; }
.guardian-access-form { display:grid; grid-template-columns:minmax(0,1fr) minmax(12rem,.45fr); gap:1rem; padding:1rem; border:1px solid #dce5ed; border-radius:.8rem; background:#f8fafc; }
.guardian-access-form .page-actions { grid-column:1/-1; }
.guardian-phone-suggestions { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.45rem; }
.guardian-phone-suggestions button { padding:.25rem .5rem; border:1px solid #cbd9e3; border-radius:999px; color:#365a70; background:#fff; font-size:.75rem; cursor:pointer; }
.guardian-activation-receipt { display:grid; gap:.5rem; padding:1rem; overflow-wrap:anywhere; border:1px solid #9ac9c1; border-radius:.75rem; color:#285b55; background:#eef9f6; }
.guardian-activation-receipt a { color:#176f67; font-size:.82rem; }
.guardian-link-list { display:grid; gap:.65rem; }
.guardian-link-row { display:grid; grid-template-columns:minmax(10rem,.7fr) minmax(13rem,1fr) auto; align-items:center; gap:1rem; padding:.9rem; border:1px solid #e0e7ed; border-radius:.75rem; background:#fff; }
.guardian-link-row>div,.guardian-link-statuses { display:grid; gap:.3rem; }
.guardian-link-row span,.guardian-link-row small { color:#687a8e; }

.guardian-shell { min-height:100vh; color:#17324d; background:#f4f7f9; }
.guardian-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:4.5rem; padding:.8rem max(1rem,calc((100vw - 1180px)/2)); border-bottom:1px solid #dce5e9; background:#fff; }
.guardian-brand { color:#17324d; font-size:1.05rem; font-weight:850; text-decoration:none; }
.guardian-brand span { margin-left:.35rem; padding:.2rem .45rem; border-radius:999px; color:#176f67; background:#e3f3ef; font-size:.7rem; }
.guardian-header nav { display:flex; align-items:center; gap:.8rem; }
.guardian-header nav a,.guardian-header nav button { border:0; color:#49647c; background:transparent; font:inherit; font-size:.86rem; text-decoration:none; cursor:pointer; }
.guardian-header form { margin:0; }
.guardian-content { width:min(1180px,calc(100% - 2rem)); margin:0 auto; padding:clamp(1rem,3vw,2rem) 0 3rem; }
.guardian-page-heading { margin-bottom:1.25rem; }
.guardian-page-heading p,.guardian-account-card header p { margin:0 0 .35rem; color:#19786d; font-size:.75rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.guardian-page-heading h1,.guardian-account-card h1 { margin:0 0 .35rem; font-size:clamp(1.65rem,5vw,2.3rem); }
.guardian-page-heading span { color:#687a8e; }
.guardian-child-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr)); gap:1rem; }
.guardian-child-card { display:flex; min-width:0; min-height:13rem; flex-direction:column; justify-content:space-between; gap:1rem; padding:1.2rem; border:1px solid #d6e3e5; border-radius:1rem; background:#fff; box-shadow:0 8px 24px rgb(25 52 75 / 6%); }
.guardian-child-card>div>span { color:#19786d; font-size:.75rem; font-weight:800; }
.guardian-child-card h2 { margin:.5rem 0 .35rem; overflow-wrap:anywhere; }
.guardian-child-card p { margin:0; color:#687a8e; }
.guardian-child-card.is-blocked { border-color:#e3e5e8; background:#f8f9fa; }
.guardian-empty,.guardian-account-card { width:min(100%,38rem); margin:2rem auto; padding:clamp(1rem,4vw,1.5rem); border:1px solid #dce5e9; border-radius:1rem; background:#fff; text-align:center; }
.guardian-account-card { display:grid; gap:1.2rem; text-align:left; }
.guardian-account-card header span { color:#687a8e; }
.guardian-auth-shell { min-height:100vh; place-items:center; background:linear-gradient(145deg,#edf8f5,#f6f8fb); }

@media (max-width: 720px) {
  .guardian-header { align-items:flex-start; flex-direction:column; }
  .guardian-header nav { width:100%; justify-content:space-between; gap:.35rem; }
  .guardian-content { width:min(100% - 1rem,1180px); padding-top:.75rem; }
  .guardian-access-form,.guardian-link-row { grid-template-columns:1fr; }
  .guardian-access-form .page-actions { grid-column:auto; }
  .guardian-link-row .page-actions { justify-content:flex-start; }
}
@media (max-width:900px) {
  .portal-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .portal-kpi-grid:has(> :nth-child(3):last-child) { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .portal-lower-grid { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  .portal-dashboard { gap:.8rem; }
  .portal-hero { align-items:stretch; flex-direction:column; gap:1rem; padding:1.1rem; border-radius:.9rem; }
  .portal-hero-summary { flex-basis:auto; }
  .portal-kpi-grid,.portal-kpi-grid:has(> :nth-child(3):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
  .portal-kpi-card { min-height:7.7rem; padding:.85rem; }
  .portal-kpi-card>strong { font-size:clamp(1.4rem,8vw,1.8rem); }
  .portal-kpi-card>.portal-kpi-trend { font-size:1.08rem; }
  .portal-chart-grid { grid-template-columns:1fr; gap:.8rem; }
  .portal-trend-card { grid-column:auto; }
  .portal-card { padding:.95rem; }
  .portal-line-chart svg { height:10rem; }
  .portal-chart-labels { overflow-x:auto; justify-content:start; grid-template-columns:repeat(var(--portal-points),minmax(3rem,1fr)); scrollbar-width:thin; }
  .portal-ring-layout { align-items:flex-start; }
  .portal-recent-list li { grid-template-columns:2.8rem minmax(0,1fr) auto; gap:.6rem; }
  .portal-list-rank { grid-column:2 / -1; grid-row:2; justify-items:start; text-align:left; }
}
@media (max-width:380px) {
  .portal-kpi-grid,.portal-kpi-grid:has(> :nth-child(3):last-child) { grid-template-columns:1fr; }
  .portal-kpi-card { min-height:7rem; }
  .portal-ring-layout { align-items:center; flex-direction:column; }
  .portal-ring-legend { width:100%; }
}
