.request-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.request-overview{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem}.request-overview h2{margin:.5rem 0}.request-detail-grid,.request-editor-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:1.5rem;align-items:start}.request-detail-grid>section,.request-editor-grid>section{min-width:0}.request-route{position:sticky;top:88px;max-height:calc(100vh - 110px);overflow-y:auto}.request-route-group{padding:1rem 0;border-bottom:1px solid #dbe4ef;overflow-wrap:anywhere}.request-route-group small{display:block;margin-top:.35rem;color:#526782}.request-route h3{margin-top:1.5rem}.request-diff{border:1px solid #dbe4ef;border-radius:10px;overflow:hidden;margin:1rem 0}.request-diff header{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:1rem;background:#edf3fa}.request-diff header small{color:#526782}.request-diff-values{display:grid;grid-template-columns:1fr 1fr}.request-diff-values>div{padding:1rem;overflow-wrap:anywhere}.request-diff-values>div+div{border-left:1px solid #dbe4ef;background:#f4faf7}.request-diff-values p{line-height:1.7}.request-actions{position:sticky;bottom:0;z-index:12;background:#fff;box-shadow:0 -5px 22px #062d5b0d;margin-top:1.5rem}.request-actions .actions{justify-content:flex-end;flex-wrap:wrap}.request-actions textarea{min-height:76px}.request-actions .notice{margin-bottom:1rem}.request-actions label{max-width:760px}.request-actions label+label{margin-top:.75rem}.request-conflicts h2{font-size:1rem}.request-conflicts li{margin:.65rem 0}.request-proposed-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.request-period-editor .card-head{padding:0 0 1rem;margin-bottom:1.25rem;gap:1rem}.request-period-editor .card-head h3{margin:0}.request-period-editor .form-grid label{min-width:0}.request-status.applied{background:#e7f6ef;color:#126548}.request-status.pendingapproval,.request-status.approved{background:#fff5d9;color:#896000}.request-status.rejected,.request-status.conflictreview,.request-status.applicationfailed{background:#fff0f1;color:#a32034}.decision-history{list-style:none;padding:0}.decision-history li{border-left:3px solid #dbe4ef;padding:.25rem 0 1.25rem 1rem;margin:1rem 0}.decision-history small{display:block;color:#526782;margin-top:.4rem}.approval-policy{padding:1rem;border:1px solid #dbe4ef;background:#f4f7fc;border-radius:10px;margin-bottom:1.5rem}.approval-policy summary{font-weight:600;cursor:pointer}.approval-policy[open] summary{margin-bottom:1rem}.teacher-slot.proposed{border-style:dashed;background:#fff9e8}.teacher-slot.proposed small{color:#896000}@media(max-width:1100px){.request-detail-grid,.request-editor-grid{grid-template-columns:1fr}.request-route{position:static;max-height:none}}@media(max-width:760px){.request-overview{flex-direction:column}.request-diff-values{grid-template-columns:1fr}.request-diff-values>div+div{border-left:0;border-top:1px solid #dbe4ef}.request-actions{padding:1rem}.request-actions .actions{justify-content:stretch}.request-actions .actions>*{flex:1;text-align:center}.request-proposed-heading{align-items:flex-start}.request-period-editor .card-head{flex-direction:column;align-items:flex-start}}

@media(max-width:760px){.request-table,.request-table tbody,.request-table tr,.request-table td{display:block;width:100%;min-width:0}.request-table thead{display:none}.request-table tr{padding:1rem;border-bottom:1px solid #dbe4ef}.request-table td{border:0;padding:.35rem 0;white-space:normal;overflow-wrap:anywhere}.request-table td:last-child{text-align:left;padding-top:.75rem}.request-table td:last-child a{display:block;text-align:center}.request-table tr:last-child{border-bottom:0}}

.teacher-timetable-card .card-head{align-items:center;gap:1rem}.teacher-timetable-card .card-head h2{margin:0}.teacher-timetable-card .card-head small{color:var(--muted)}.teacher-edit-matrix{table-layout:fixed;min-width:780px}.teacher-edit-matrix th:first-child{width:85px}.teacher-edit-matrix th small{font-weight:400;display:block;font-size:11px;color:var(--muted);margin-top:5px}.teacher-edit-matrix td{padding:7px;vertical-align:top}.teacher-cell{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;width:100%;min-height:82px;text-align:left;border-color:#dbe4ef;background:#edf3fa;font-weight:400;padding:12px;overflow-wrap:anywhere}.teacher-cell strong{font-size:13px}.teacher-cell small{display:block;font-size:11px;color:#526782}.teacher-cell.empty{background:#fff;border-style:dashed;color:#64748b;font-size:12px}.teacher-cell.proposed{border:1px solid #e6b52f;border-left:4px solid var(--gold);background:#fff9e8}.teacher-cell .teacher-cell-label{font-size:10px;font-weight:600;color:#886100}.teacher-cell-undo{display:block;margin-top:4px;font-size:11px;min-height:28px;padding:3px 6px}.teacher-pending-link{display:block;font-size:11px;padding:5px;color:#886100}.teacher-day-picker{display:none}.teacher-change-summary{padding:0;list-style:none;margin:1rem 0 1.5rem}.teacher-change-summary li{display:flex;align-items:center;gap:1rem;border-bottom:1px solid var(--line);padding:.6rem 0}.teacher-change-summary li>span{flex:1;overflow-wrap:anywhere}.teacher-change-summary li>strong{min-width:130px;font-size:13px}.teacher-approval-details{margin:1rem 0}.teacher-approval-details summary{cursor:pointer;color:var(--navy);font-weight:600}.teacher-proposal-actions{position:sticky;bottom:0;background:#fff;padding:1rem 0 0;border-top:1px solid var(--line);z-index:12}.teacher-proposal-actions .actions{flex-wrap:wrap}.teacher-swap-prompt{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.teacher-activity-dialog{border:1px solid var(--line);border-radius:16px;padding:26px;width:min(600px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow-y:auto;color:var(--ink);box-shadow:0 20px 80px #062d5b40}.teacher-activity-dialog::backdrop{background:#062d5b75}.teacher-activity-dialog .drawer-head{position:static;padding:0 0 1rem;margin-bottom:1.25rem}.teacher-activity-dialog h2{margin:.35rem 0 0}.teacher-popup-secondary{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:1rem;margin-top:1rem}.teacher-activity-dialog .actions{flex-wrap:wrap;margin-top:1.5rem}.teacher-activity-dialog .notice{margin-top:1rem}@media(max-width:760px){.teacher-day-picker{display:flex;gap:5px;padding:12px;border-bottom:1px solid var(--line)}.teacher-day-picker button{flex:1;min-width:0;padding:8px 4px;font-size:12px}.teacher-day-picker button.selected{background:var(--navy);color:white}.teacher-edit-matrix{min-width:0;table-layout:fixed}.teacher-edit-matrix tr>th:not(:first-child):not(.chosen-day),.teacher-edit-matrix td:not(.chosen-day){display:none}.teacher-edit-matrix th:first-child{width:78px}.teacher-edit-matrix td{padding:10px}.teacher-cell{min-height:88px}.teacher-change-summary li{flex-wrap:wrap;gap:.4rem}.teacher-change-summary li>strong{flex-basis:100%}.teacher-activity-dialog{padding:18px}.teacher-activity-dialog .form-grid{grid-template-columns:1fr 1fr}.teacher-activity-dialog .actions>*{flex:1}.teacher-timetable-card .card-head{align-items:flex-start;flex-direction:column}.teacher-proposal-actions .actions>*{flex:1}.teacher-timetable-toolbar label{flex:1;min-width:130px}}

.teacher-effective-from{display:flex;flex-direction:column;gap:6px;font-size:13px}.teacher-effective-from small{color:var(--muted)}

.teacher-proposal-actions{position:static}.teacher-proposal-review,.teacher-timetable-card{scroll-margin-top:88px}.teacher-review-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.teacher-review-heading h2{margin:0}.teacher-optional-notes summary{cursor:pointer;font-weight:600;color:var(--navy)}.teacher-optional-notes[open] summary{margin-bottom:1rem}@media(max-width:760px){.teacher-activity-dialog .form-grid>*{grid-column:auto;min-width:0}.teacher-activity-dialog .form-grid>.span-all{grid-column:1/-1}.teacher-review-heading{align-items:flex-start;flex-direction:column}.teacher-review-heading button{width:100%}}

.automatic-approval-settings{border:1px solid var(--line);border-radius:8px;padding:1rem;margin:1rem 0;background:white}.automatic-approval-settings summary{font-weight:600;cursor:pointer}.automatic-approval-settings label{margin-top:1rem}.automatic-approval-preview p{margin-bottom:0}

.request-actions.complete{position:static;box-shadow:none}
