.school-toolbar{margin-bottom:22px}.school-org{margin:0 0 22px}.school-branches{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;padding:0 24px 24px}.school-branch{border:1px solid #dce4dc;border-radius:12px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;gap:16px}.school-branch h3{margin:0 0 10px;font-size:18px}.school-branch p,.school-meta{font-size:13px;color:#657165;line-height:1.7;margin:4px 0}.school-branch small{font-size:12px;color:#8c641f}.school-nav-branch{padding:4px 16px 12px;color:#d7e4f3;font-size:14px}.school-dialog{width:min(620px,calc(100vw - 32px));max-height:calc(100vh - 40px);border:0;border-radius:16px;padding:24px;color:#243329;box-shadow:0 24px 80px #13272044;overflow:auto}.school-dialog::backdrop{background:#162b3e88}.school-dialog h2{font-size:23px;margin:0 0 20px}.school-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.school-field{display:flex;flex-direction:column;gap:7px;font-size:13px;line-height:1.7}.school-field input,.school-field select{width:100%;min-width:0;box-sizing:border-box}.school-field input[type=checkbox]{width:auto}.school-form fieldset{grid-column:1/-1;border:1px solid #dce4dc;border-radius:8px;padding:14px;display:grid;grid-template-columns:repeat(2,1fr)}.school-form-error{color:#ab3829;font-size:13px;min-height:20px;line-height:1.7}.school-dialog button:disabled{opacity:.5}.school-dialog :focus-visible{outline:3px solid #719a45;outline-offset:2px}@media(max-width:640px){.school-form{grid-template-columns:1fr}.school-dialog{padding:20px}.school-branches{padding:0 16px 16px;grid-template-columns:1fr}.school-form fieldset{grid-template-columns:1fr}.school-org .ops-panel-heading{align-items:flex-start}.school-org .ops-panel-heading>.ops-actions{width:100%}}

.ops-metrics-finance{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Teaching workspace: agenda on desktop, stacked lessons on narrow screens. */
.teaching-tabs{display:flex;gap:6px;border-bottom:1px solid #dce4dc;margin-bottom:24px;overflow-x:auto}.teaching-tabs button{border:0;background:transparent;color:#526254;padding:14px 20px;font:inherit;font-weight:600;white-space:nowrap;border-bottom:3px solid transparent;cursor:pointer}.teaching-tabs button[aria-current=page]{color:#23432c;border-bottom-color:#577c3d}.teaching-shell :focus-visible{outline:3px solid #719a45;outline-offset:3px}.teaching-filters{display:flex;align-items:end;flex-wrap:wrap;gap:14px;padding:0 24px 24px}.teaching-filters .school-field{flex:1;min-width:145px}.teaching-sessions{list-style:none;margin:0;padding:0}.teaching-session{display:grid;grid-template-columns:135px minmax(0,1fr) auto;gap:20px;padding:22px 24px;border-top:1px solid #e2e8df;align-items:center}.teaching-time{display:grid;gap:6px;font-size:13px;font-variant-numeric:tabular-nums}.teaching-time strong{font-size:15px;color:#263e2e}.teaching-subject>strong{font-size:16px}.teaching-subject p{margin:5px 0 0;font-size:13px;color:#657165;line-height:1.65;overflow-wrap:anywhere}.teaching-session-actions{display:flex;flex-direction:column;align-items:end;gap:12px}.teaching-status{display:inline-block;background:#edf3e7;color:#425b32;border-radius:20px;padding:3px 10px;font-size:12px;line-height:1.8;white-space:nowrap}.teaching-session.cancelled .teaching-status{background:#f3ece9;color:#885846}.teaching-session.completed .teaching-status{background:#e8eef4;color:#47647d}.teaching-class-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;padding:0 24px 24px}.teaching-class-grid h3{margin-top:10px}.teaching-settings{display:grid;gap:24px}.teaching-settings .ops-task{grid-template-columns:minmax(0,1fr) auto}.teaching-dialog{width:min(800px,calc(100vw - 32px))}.teaching-wide{grid-column:1/-1}.school-field textarea{width:100%;min-width:0;box-sizing:border-box;resize:vertical;font:inherit;line-height:1.65}.teaching-preview:empty{display:none}.teaching-preview{margin-top:22px;border-top:1px solid #dce4dc;padding-top:8px}.teaching-preview .teaching-session{grid-template-columns:125px minmax(0,1fr) auto;padding:14px 0;gap:12px}.teaching-preview summary{cursor:pointer;padding:10px 0}.teaching-conflicts{padding:14px 14px 14px 32px;color:#9a342b;background:#fcf0eb;border-radius:8px;font-size:14px;line-height:1.8}.teaching-dialog .ops-notice{margin:12px 0}.teaching-dialog input[type=checkbox]{width:auto;accent-color:#55753c}.teaching-dialog input[readonly]{background:#f1f2ee}
@media(max-width:700px){.teaching-session{grid-template-columns:1fr;gap:12px;padding:18px}.teaching-time{display:flex;flex-wrap:wrap;gap:12px}.teaching-session-actions{align-items:start;flex-direction:row;flex-wrap:wrap}.teaching-session-actions .ops-actions{flex-wrap:wrap}.teaching-preview .teaching-session{grid-template-columns:1fr}.teaching-filters{padding:0 18px 18px}.teaching-class-grid{grid-template-columns:1fr;padding:0 18px 18px}.teaching-tabs button{padding:12px 15px}.teaching-settings .ops-task{grid-template-columns:1fr}.teaching-shell .ops-header{gap:18px;flex-wrap:wrap}.teaching-shell .ops-panel-heading{flex-wrap:wrap;gap:16px}}
.sidebar button.nav-item[data-school-action=exit]{background:transparent;color:#e1eaf3;border:0;text-align:left;font:inherit;cursor:pointer}.sidebar button.nav-item[data-school-action=exit]:hover{background:#ffffff12}
.teaching-time-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end;padding:16px;border:1px solid #dce4dc;border-radius:10px;margin:0 0 12px}.teaching-time-row>[data-remove-time]{grid-column:1/-1;justify-self:end}.teaching-block-row{grid-template-columns:repeat(2,minmax(0,1fr))}.teaching-block-row>.school-field:nth-child(3){grid-column:1/-1}.teaching-block-row input{max-width:100%}@media(max-width:640px){.teaching-time-row{grid-template-columns:1fr}.teaching-time-row .school-field{grid-column:auto}}
.enrollment-counts{display:flex;gap:22px;flex-wrap:wrap;padding:0 24px 24px;color:#566650;font-size:14px}.enrollment-counts strong{font-size:22px;margin-left:8px;color:#293e30}.enrollment-list,.enrollment-roster{list-style:none;margin:0;padding:0}.enrollment-list>li{display:grid;grid-template-columns:minmax(180px,1fr) 120px auto;gap:20px;align-items:center;border-top:1px solid #dce4dc;padding:22px 24px}.enrollment-list p,.enrollment-roster p{font-size:13px;color:#657165;margin:7px 0 0;line-height:1.6;overflow-wrap:anywhere}.enrollment-list .ops-actions{max-width:280px;flex-wrap:wrap}.enrollment-roster>li{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #dce4dc}.enrollment-preview-sessions{font-size:14px;line-height:1.8;padding-left:22px;max-height:240px;overflow:auto}.school-field[hidden]{display:none}.enrollment-shell .ops-notice{margin:0 0 24px}.enrollment-shell :focus-visible{outline:3px solid #719a45;outline-offset:3px}@media(max-width:700px){.enrollment-list>li{grid-template-columns:1fr;gap:14px;padding:18px}.enrollment-list .ops-actions{max-width:none}.enrollment-counts{padding:0 18px 22px;gap:14px}.enrollment-shell .ops-header{flex-wrap:wrap;gap:14px}.enrollment-shell .ops-panel-heading{flex-wrap:wrap;gap:14px}.enrollment-list .teaching-status{justify-self:start}}

.school-dialog{margin:auto}
.school-h5p-player{margin-top:1rem;min-width:0}.school-h5p-frame{display:block;width:100%;min-height:32rem;height:min(75vh,64rem);border:1px solid var(--border-color,#d9dfe8);border-radius:.65rem;background:#fff}.school-h5p-player iframe:focus-visible{outline:3px solid currentColor;outline-offset:3px}

.student-import-panel{margin:0 0 22px}.student-import-upload{display:grid;grid-template-columns:minmax(180px,1fr) minmax(240px,2fr);gap:14px;padding:0 24px 20px;align-items:end}.student-import-upload>.school-meta,.student-import-upload>.ops-actions{grid-column:1/-1}.student-import-upload .ops-actions{padding:0}.student-import-feedback{padding:0 24px;color:#475e38;min-height:1em}.student-import-feedback.is-error{color:#a23629}.student-import-detail{margin-top:18px;border:1px solid #cfdbca}.student-import-detail>.school-meta,.student-import-detail>.ops-notice{margin:0 24px 16px}.student-import-table-wrap{overflow:auto;margin:0 24px 18px;border:1px solid #dce4dc;border-radius:8px}.student-import-table{width:100%;min-width:920px;border-collapse:collapse;font-size:13px}.student-import-table th,.student-import-table td{padding:12px;text-align:left;vertical-align:top;border-bottom:1px solid #e2e8df}.student-import-table th{background:#f2f5ef;color:#354735;white-space:nowrap}.student-import-table td p{margin:5px 0 0;color:#687468;line-height:1.55}.student-import-table textarea{min-width:190px}.student-import-table select{min-width:145px;margin-bottom:7px}.student-import-controls{padding:0 24px 22px;flex-wrap:wrap}.student-import-jobs-heading{padding:18px 24px 0}.student-import-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;padding:0 24px 24px}.student-import-result{padding:14px;border:1px solid #dce4dc;border-radius:8px;overflow-wrap:anywhere}.student-import-result span{display:block;margin-top:6px;font-size:12px;color:#657165}.student-import-result p{margin:8px 0 0;font-size:13px;color:#657165;line-height:1.6}.ops-status-pill{display:inline-flex;align-items:center;background:#edf3e7;color:#425b32;border-radius:20px;padding:5px 12px;font-size:12px;white-space:nowrap}.student-import-detail .ops-panel-heading{gap:12px}@media(max-width:680px){.student-import-upload{grid-template-columns:1fr;padding:0 18px 18px}.student-import-upload>.school-meta,.student-import-upload>.ops-actions{grid-column:auto}.student-import-feedback{padding:0 18px}.student-import-table-wrap{margin:0 14px 16px}.student-import-controls{padding:0 18px 18px}.student-import-detail>.school-meta,.student-import-detail>.ops-notice{margin:0 18px 14px}.student-import-detail .ops-panel-heading{align-items:flex-start;flex-wrap:wrap}}

.price-calculation{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin:18px 0}.price-calculation dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.price-fee-row{display:grid;grid-template-columns:1fr 100px 1fr auto;gap:8px;align-items:end;margin:12px 0}.price-fee-row .school-field{min-width:0}@media(max-width:700px){.price-fee-row{grid-template-columns:minmax(0,1fr) 100px}.price-calculation{font-size:14px;gap:10px}}

.contract-content{padding:24px;overflow-wrap:anywhere}.contract-content h3{margin:22px 0 10px}.contract-text{white-space:pre-wrap;line-height:1.85}.contract-content .price-calculation dd{text-align:left}.contract-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.contract-timeline>div{padding:14px;background:#f1f5ed;border-radius:10px;font-size:13px}.contract-installments{list-style:none;padding:0;margin:12px 0}.contract-installments>li{border-bottom:1px solid #dce4dc;padding:14px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.contract-payment-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px 0;border-bottom:1px solid #dce4dc}.contract-check input{width:auto!important}.contract-content details>summary{cursor:pointer;padding:12px 0}@media(max-width:650px){.contract-content{padding:18px}.contract-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-content .price-calculation{grid-template-columns:1fr;gap:5px}.contract-content .price-calculation dt{font-weight:600;margin-top:10px}.contract-payment-row{grid-template-columns:1fr}}
.entitlement-shell .ops-panel{margin-top:22px}.entitlement-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:14px}.entitlement-metrics>div{padding:20px;background:white;border:1px solid #dce4dc;border-radius:12px}.entitlement-metrics span{font-size:13px;color:#657165}.entitlement-metrics strong{display:block;font-size:24px;margin-top:8px}.entitlement-lots,.entitlement-entries{list-style:none;margin:0;padding:0}.entitlement-lots>li{padding:22px 24px;border-top:1px solid #dce4dc;display:flex;align-items:center;justify-content:space-between;gap:18px}.entitlement-lots p,.entitlement-entries p{font-size:13px;line-height:1.7;color:#657165;margin:7px 0 0;overflow-wrap:anywhere}.entitlement-entries>li{padding:20px 24px;border-top:1px solid #dce4dc}.entitlement-shell .contract-content .ops-actions{margin-top:18px;flex-wrap:wrap}.entitlement-shell .ops-panel-heading{flex-wrap:wrap}.entitlement-shell .teaching-filters{padding-left:0}@media(max-width:650px){.entitlement-metrics{gap:8px}.entitlement-metrics>div{padding:14px 10px}.entitlement-metrics strong{font-size:18px}.entitlement-lots>li{padding:18px;align-items:stretch;flex-direction:column}.entitlement-entries>li{padding:18px}}

.attendance-students { list-style: none; padding: 0; margin: 0; }
.attendance-students > li { padding: 20px 24px; border-bottom: 1px solid var(--ops-border, #dce2dd); display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.attendance-students p { margin: 6px 0; }
.attendance-exception { color: #89561e; }
@media (max-width: 640px) { .attendance-students > li { flex-direction: column; align-items: stretch; padding: 18px; } .attendance-students .ops-actions { flex-wrap: wrap; } }

#attendanceBody { display: grid; gap: 18px; }

#sessionLeaveBody { display: grid; gap: 18px; }

/* Internal cases keep long notes readable on narrow screens. */
.case-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.case-shell .ops-task-person, .case-shell .ops-task-detail { min-width: 0; overflow-wrap: anywhere; }
.case-shell .ops-actions { flex-wrap: wrap; }

#casesBody { display: grid; gap: 20px; }
.case-shell .contract-content p { margin-bottom: 10px; }

/* Personal notifications and delivery history */
.notice-shell #noticeBody { display: grid; gap: 20px; }
.notice-shell .notice-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 20px; }
.notice-shell .notice-row > div { min-width: 0; overflow-wrap: anywhere; }
.notice-shell .notice-row p { margin: 7px 0; line-height: 1.65; }
.notice-shell .notice-unread { border-left: 4px solid var(--primary, #087f8c); background: #f3fafb; }
.notice-shell .notice-meta { color: #526578; font-size: .86rem; }
.notice-shell .ops-notice { line-height: 1.7; }
@media (max-width: 650px) {
  .notice-shell .notice-row { flex-direction: column; gap: 12px; padding: 16px; }
  .notice-shell .notice-row .ops-actions { width: 100%; flex-wrap: wrap; }
  .notice-shell .notice-row button { min-height: 44px; }
}

.notice-shell .school-toolbar { display: flex; align-items: end; gap: 12px; margin: 0; }
.notice-shell .school-toolbar .school-field { flex: 1; max-width: 320px; }
.notice-shell #noticeBody > .ops-notice { margin: 0; }
.notice-shell .notice-row { border-bottom: 1px solid #e1e7e2; }
.notice-shell .notice-row:last-child { border-bottom: 0; }
@media (max-width: 650px) {
  .notice-shell .ops-header { margin-bottom: 20px; }
  .notice-shell .ops-panel-heading { padding: 16px; gap: 8px; }
}

/* Campus registration and pickup confirmation */
.campus-shell #campusBody { display: grid; gap: 20px; }
.campus-shell .ops-notice { margin: 0; line-height: 1.7; }
.campus-filter { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; }
.campus-filter .school-field { flex: 1; min-width: 140px; }
.employee-profile-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 20px 0; }
.employee-profile-grid > div { min-width: 0; padding: 14px; border: 1px solid #e1e7e2; border-radius: 10px; overflow-wrap: anywhere; }
.employee-profile-grid dt { color: var(--ops-muted); font-size: 13px; }
.employee-profile-grid dd { margin: 6px 0 0; font-weight: 600; }
.campus-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 24px; border-bottom: 1px solid #e1e7e2; }
.campus-row:last-child { border-bottom: 0; }
.campus-row > div { min-width: 0; overflow-wrap: anywhere; }
.campus-shell p { line-height: 1.7; }
.campus-row p { margin: 6px 0 0; }
.campus-state { display: inline-block; font-size: .9rem; color: #526578; }
.campus-state.campus-present { color: #196140; background: #eaf5ee; padding: 3px 9px; border-radius: 5px; }
.campus-confirm { display: flex; align-items: flex-start; gap: 10px; line-height: 1.7; }
.campus-confirm input { width: 18px; height: 18px; margin-top: 4px; flex-shrink: 0; }
@media (max-width: 650px) {
  .employee-profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .campus-row { flex-direction: column; align-items: flex-start; padding: 16px; }
  .campus-row button, .campus-shell .ops-actions button { min-height: 44px; }
  .campus-filter .school-field { min-width: 120px; }
}

/* Arrival follow-up counts remain readable as pairs on narrow screens. */
.campus-shell .followup-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 700px) {
  .campus-shell .followup-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Receipts: original money and bill allocations share one readable workspace. */
.receipt-shell .receipt-list { list-style: none; margin: 0; padding: 0; }
.receipt-list > li { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 22px; border-bottom: 1px solid #e4e9ef; }
.receipt-list p { margin: 6px 0 0; color: #516174; line-height: 1.55; overflow-wrap: anywhere; }
.receipt-list strong { overflow-wrap: anywhere; }
.receipt-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; padding: 20px 22px; background: #f5f8fb; }
.receipt-metrics span { display: block; color: #516174; margin-bottom: 8px; }
.receipt-metrics strong { font-size: 23px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.receipt-allocation-form { border: 1px solid #dce4ec; border-radius: 10px; padding: 14px; min-width: 0; }
.receipt-allocation-form > p { color: #516174; line-height: 1.6; }
.receipt-allocation-row { display: grid; grid-template-columns: minmax(0,2fr) minmax(110px,1fr); gap: 10px; padding: 8px 0; }
.receipt-allocation-row select { min-width: 0; max-width: 100%; }
@media (max-width: 600px) {
  .receipt-list > li { align-items: stretch; flex-direction: column; padding: 16px; }
  .receipt-metrics { grid-template-columns: 1fr; padding: 16px; }
  .receipt-metrics > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
  .receipt-metrics strong { font-size: 20px; }
  .receipt-allocation-row { grid-template-columns: 1fr; border-top: 1px solid #e4e9ef; }
}
.voucher-fee-group { border: 1px solid #cfdcd3; border-radius: 10px; padding: 14px; min-width: 0; }
.voucher-fee-group legend { font-weight: 600; }
.voucher-fee-row { display: grid; grid-template-columns: minmax(0,2fr) minmax(90px,1fr) auto; align-items: end; gap: 10px; margin: 10px 0; }
.voucher-terms { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; line-height: 1.65; }
.voucher-review section { border-top: 1px solid #d5ddd8; margin: 18px 0; padding-top: 12px; }
.voucher-document-dialog { width: min(1000px,94vw); max-width: 94vw; }
.voucher-document-dialog iframe { width: 100%; height: 65vh; border: 1px solid #d5ddd8; background: white; }
@media(max-width:600px) { .voucher-fee-row { grid-template-columns: 1fr; border-top: 1px solid #d5ddd8; padding-top: 12px; } .voucher-document-dialog { padding: 14px; } }
.school-dialog .school-form[hidden] { display: none !important; }

.opening-totals { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin: 16px 0; }
.opening-totals > div { padding: 12px; border: 1px solid var(--border-color, #e5e7eb); border-radius: 10px; }
.opening-totals dt { color: var(--text-secondary, #526171); font-size: 13px; }
.opening-totals dd { margin: 6px 0 0; font-size: 18px; font-weight: 700; overflow-wrap: anywhere; }
.opening-shell .receipt-list p, .opening-shell .entitlement-entries p { overflow-wrap: anywhere; }
@media (max-width: 560px) { .opening-totals { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Batch billing keeps installment review usable on a narrow cashier screen. */
.batch-items { list-style:none; margin:0; padding:0; }
.batch-items > li { padding:20px; border-bottom:1px solid var(--border-color,#e5e7eb); overflow-wrap:anywhere; }
.batch-items details { margin:12px 0; }
.batch-items summary { cursor:pointer; padding:8px 0; font-weight:600; }
.batch-choice { display:flex; align-items:center; gap:10px; padding:12px 0; font-weight:600; }
.batch-choice input { width:20px; height:20px; flex-shrink:0; }
.refund-shell, .refund-proposal { overflow-wrap:anywhere; }
.refund-impact { list-style:none; margin:12px 0 20px; padding:0; }
.refund-impact > li { padding:14px 0; border-bottom:1px solid var(--border-color,#e5e7eb); }
.refund-impact p { margin:6px 0; line-height:1.7; }
.refund-text { white-space:pre-wrap; line-height:1.8; overflow-wrap:anywhere; }
.refund-policy { margin:20px 0; padding:16px; border:1px solid var(--border-color,#e5e7eb); border-radius:10px; }
.refund-policy summary { cursor:pointer; font-weight:600; }
.refund-policy section + section { border-top:1px solid var(--border-color,#e5e7eb); padding-top:12px; }
.refund-inset { margin:0 24px 18px; }
.refund-result { padding:16px; border-left:4px solid #608442; background:#f1f6ec; margin:20px 0; }
.refund-result.refund-failed { border-left-color:#b97426; background:#fff7e9; }
.refund-allocation { display:grid; grid-template-columns:minmax(0,2fr) minmax(140px,1fr); gap:16px; padding:16px 0; border-bottom:1px solid var(--border-color,#e5e7eb); align-items:start; }
.refund-allocation p { margin:6px 0; }
[data-refund-dialog] .refund-proposal h3 { margin-top:22px; }
[data-refund-dialog] input, [data-refund-dialog] select { min-width:0; max-width:100%; }
@media(max-width:560px) { .refund-allocation { grid-template-columns:1fr; gap:6px; } .refund-inset { margin:0 16px 16px; } .refund-shell .contract-content { padding:16px; } }
.batch-installments { list-style:none; margin:12px 0; padding:0; display:grid; gap:8px; }
.batch-installments li { display:flex; justify-content:space-between; gap:12px; padding:12px; background:var(--bg-secondary,#f5f7fa); border-radius:8px; flex-wrap:wrap; }
.batch-installments span { color:var(--text-secondary,#536072); }
.batch-progress progress { width:100%; height:14px; accent-color:var(--primary,#315cd5); }
.batch-shell .ops-actions { flex-wrap:wrap; }
@media(max-width:600px) {
  .batch-items > li { padding:16px 12px; }
  .batch-installments li { flex-direction:column; gap:4px; }
  .batch-items .ops-panel-heading { flex-wrap:wrap; }
}
/* Bill changes keep the before/after amounts aligned on narrow screens. */
.bill-change-totals { margin: 16px 0; border: 1px solid var(--border-color,#e5e7eb); border-radius: 10px; overflow: hidden; }
.bill-change-total { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr); gap: 10px; padding: 10px 12px; border-bottom: 1px solid var(--border-color,#e5e7eb); align-items: start; }
.bill-change-total:last-child { border-bottom: 0; }
.bill-change-total > :not(:first-child) { text-align: right; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.bill-change-total.heading { background: var(--bg-secondary,#f5f7fa); font-size: .9rem; }
@media (max-width: 480px) { .bill-change-total { gap: 6px; padding: 9px 8px; font-size: .85rem; } }

/* Scoped course pages keep rich text inside the content panel. */
.learning-course-content { max-width: 100%; overflow: auto; overflow-wrap: anywhere; line-height: 1.8; padding: 12px 0; }
.learning-course-content table { border-collapse: collapse; }
.learning-course-content td, .learning-course-content th { border: 1px solid #d4ded8; padding: 8px; }
.learning-course-activity { padding: 16px 0; border-bottom: 1px solid #d4ded8; }
.learning-course-activity summary { cursor: pointer; font-weight: 600; padding: 8px 0; }
.assessment-options { display: grid; gap: 0.65rem; margin: 1rem 0; }
.assessment-options label { display: flex; align-items: start; gap: 0.75rem; padding: 0.8rem; border: 1px solid var(--border-color, #cbd5e1); border-radius: 0.5rem; cursor: pointer; }
.assessment-options input { margin-top: 0.3rem; flex-shrink: 0; }
.assessment-options .learning-course-content > :first-child { margin-top: 0; }
.assessment-text { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; padding: 1rem; background: var(--bg-secondary, #f1f5f9); border-radius: 0.5rem; }
.assessment-grade { border-left: 3px solid #0f766e; padding: 0.5rem 1rem; margin: 1rem 0; }
.assessment-grade strong { font-size: 1.3rem; margin-right: 1rem; }
#assessmentWorkForm textarea, #assessmentReviewForm textarea { width: 100%; resize: vertical; box-sizing: border-box; }
#assessmentFeedback:not(:empty) { padding: 1rem; margin: 1rem 0; border: 1px solid #0f766e; border-radius: 0.5rem; }
.learning-file-panel { padding: 1rem; margin: 1rem 0; border: 1px solid #cbd5e1; border-radius: 0.75rem; }
.learning-file-list { list-style: none; margin: 1rem 0; padding: 0; }
.learning-file-list li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.8rem 0; border-bottom: 1px solid #e2e8f0; }
.learning-file-list li > div, .learning-file-list li > label, .learning-file-list li > span { min-width: 0; overflow-wrap: anywhere; }
.learning-file-panel input[type=file] { width: 100%; max-width: 100%; box-sizing: border-box; }

/* Published inline resources are loaded through current branch authorization. */
.learning-inline-resource[data-resource-kind="image"] { display: block; max-width: 100%; min-height: 2rem; margin: 0.75rem 0; overflow-wrap: anywhere; }
.learning-inline-resource img { display: block; max-width: 100%; height: auto; border-radius: 8px; }
button.learning-inline-resource { max-width: 100%; padding: 0.5rem 0.75rem; border: 1px solid var(--border-color, #cbd5e1); border-radius: 8px; font: inherit; color: inherit; background: var(--surface-color, #f8fafc); cursor: pointer; text-align: start; overflow-wrap: anywhere; }
button.learning-inline-resource:disabled { cursor: default; opacity: 0.65; }
.learning-inline-resource .btn-secondary { display: block; margin-top: 0.5rem; }

/* Scoped interactive video: the provider requires a visible area of at least 200 px. */
.school-video-player{position:relative;width:100%;aspect-ratio:16/9;min-height:220px;background:#101b2d;color:#fff;border-radius:12px;overflow:hidden;display:grid;place-items:center;margin:20px 0}
.school-video-player>div,.school-video-player>iframe{width:100%;height:100%;min-height:220px;border:0}
.school-video-player>p{padding:24px;text-align:center}
.school-video-prompt{padding:20px 0;border-top:1px solid var(--border-color,#e1e6ef)}
.school-video-prompt fieldset{border:0;margin:0;padding:0;min-width:0}
.school-video-choice{display:block;margin:10px 0;padding:12px;border:1px solid var(--border-color,#dfe5ee);border-radius:8px;cursor:pointer}
.school-video-choice:focus-within{outline:2px solid #3168ce;outline-offset:2px}
.school-video-choice input{margin-right:8px;accent-color:#3168ce}
.school-video-text{white-space:pre-wrap;overflow-wrap:anywhere}
#schoolVideoProgress progress{width:100%;max-width:540px;height:16px;accent-color:#317460}

.school-video-prompt .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.school-video-prompt p,.school-video-prompt h4{overflow-wrap:anywhere;white-space:pre-wrap}

.learning-availability-rules{border-left:3px solid #6886ac;background:var(--bg-secondary,#f3f6fa);padding:10px 16px;margin:12px 0;overflow-wrap:anywhere}
.learning-availability-rules p{margin:6px 0}
.school-dialog .school-form>*{min-width:0;overflow-wrap:anywhere}
.learning-availability-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,1fr) auto;align-items:end;gap:12px;border-bottom:1px solid var(--border-color,#e1e6ef);padding:14px 0;min-width:0}
.learning-availability-editor .school-field{min-width:0}
.learning-availability-editor>[hidden]{display:none}
@media(max-width:640px){.school-dialog .school-form,.learning-availability-editor{grid-template-columns:minmax(0,1fr)}.learning-availability-dialog input[type=datetime-local]{font-size:14px;padding-inline:8px}.learning-availability-editor .btn-secondary{justify-self:start}}

.school-gradebook-table { overflow-x: auto; margin-top: 1rem; }
.school-gradebook-table table { width: 100%; border-collapse: collapse; text-align: left; }
.school-gradebook-table th, .school-gradebook-table td { padding: .8rem; border-bottom: 1px solid var(--border-color, #d9dfe8); vertical-align: top; }
.school-gradebook-table th { min-width: 10rem; }
.school-gradebook-table small { display: block; font-weight: normal; margin-top: .3rem; }
.school-gradebook-feedback { white-space: pre-wrap; overflow-wrap: anywhere; max-width: 40rem; }
.school-gradebook-policy { padding: 1rem; margin: 1rem 0; border: 1px solid var(--border-color, #d9dfe8); border-radius: .6rem; }
.school-gradebook-policy summary { cursor: pointer; font-weight: 600; }

/* Personal learning history: read-only records and saved versions. */
.school-history-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.message-attachment{display:inline-flex;flex-direction:column;align-items:flex-start;gap:3px;margin:10px 8px 0 0;padding:9px 12px;border:1px solid #cbd8cd;border-radius:9px;background:#f7fbf7;color:#1e4a2b;cursor:pointer;text-align:left}.message-attachment:hover,.message-attachment:focus-visible{background:#edf7ee;border-color:#6f9b79}.message-attachment span{font-weight:600;overflow-wrap:anywhere}.message-attachment small{font-size:12px;color:#657165}
.school-history-events { display: grid; gap: 1rem; padding-inline-start: 1.5rem; }
.school-history-events li { overflow-wrap: anywhere; }
.school-history-events li > span { display: block; margin-top: .35rem; }
#schoolLearningHistoryContent .ops-actions { flex-wrap: wrap; }
#schoolLearningHistoryContent [aria-current="page"] { outline: 2px solid currentColor; outline-offset: 2px; }
#schoolLearningHistoryContent .learning-file-list li { flex-wrap: wrap; gap: .75rem; overflow-wrap: anywhere; }

.school-migration-source { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 24rem; overflow: auto; padding: .75rem; }
#schoolLearningMigrationContent .ops-actions { flex-wrap: wrap; }
#schoolLearningMigrationContent .learning-course-activity { overflow-wrap: anywhere; }

/* Student profile navigation and private note history. */
.student-profile-shell .ops-tabs { flex-wrap: wrap; padding: 16px 0; overflow: visible; }
.student-profile-shell .ops-tabs a { text-decoration: none; border: 1px solid transparent; }
.student-profile-shell .ops-tabs a[aria-current="page"] { background: #e4eddf; color: #294522; border-color: #aabc9e; }
.student-profile-shell .ops-header p { overflow-wrap: anywhere; }
.student-profile-shell .ops-task-list { display: grid; gap: 12px; }
.school-dialog:is(:has([data-note-history]), :has([data-case-history]), :has([data-file-history])) button[type="submit"] { display: none; }

.prepayment-review-rows{grid-column:1/-1;display:grid;gap:12px;max-height:55vh;overflow:auto;padding:2px}.prepayment-review-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,190px);gap:8px 18px;margin:0;padding:16px;border:1px solid #dce4dc;border-radius:10px}.prepayment-review-row p{margin:5px 0 0;color:#657165;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.prepayment-review-row .school-field:last-child{grid-column:2}.prepayment-review-row input[type=checkbox]{width:auto}.prepayment-review-row .ops-form-error{color:#a23629}.prepayment-review-rows+.school-field textarea{min-height:76px}@media(max-width:640px){.prepayment-review-row{grid-template-columns:1fr}.prepayment-review-row .school-field:last-child{grid-column:auto}}
.migration-total-json{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;max-height:24rem;overflow:auto;background:#f5f7f4;border:1px solid #dce4dc;border-radius:8px;padding:12px;color:#26352b}

.privacy-request-shell{display:grid;gap:18px;min-width:0}.privacy-request-shell>.ops-header{align-items:flex-start;padding:0 8px}.privacy-request-shell>.ops-header>div:first-child{min-width:0}.privacy-request-shell>.ops-header p,.privacy-request-shell .ops-panel p{line-height:1.65;overflow-wrap:anywhere}.privacy-request-shell>.ops-header .ops-actions{flex-wrap:wrap;justify-content:flex-end}.privacy-request-shell>.ops-panel{min-width:0;overflow:hidden;padding:20px 24px}.privacy-request-shell>.ops-panel h2{margin:0 0 8px}.privacy-request-shell .ops-panel form{border-top:1px solid #e1e7e2;margin-top:22px;padding-top:18px}.privacy-request-shell .ops-panel form h3{margin:0 0 12px}.privacy-request-shell .ops-panel[aria-live=polite]>.ops-header{align-items:flex-start;gap:16px;padding-bottom:8px}.privacy-request-shell .ops-panel[aria-live=polite]>.ops-header>div:first-child{min-width:0}.privacy-request-shell .ops-panel[aria-live=polite]>.ops-header button{flex:0 0 auto}.privacy-request-shell .ops-panel :focus-visible{outline:3px solid #719a45;outline-offset:3px}@media(max-width:700px){.privacy-request-shell>.ops-header{padding:0;flex-wrap:wrap}.privacy-request-shell>.ops-header .ops-actions{justify-content:flex-start}.privacy-request-shell>.ops-panel{padding:16px}.privacy-request-shell .ops-panel[aria-live=polite]>.ops-header{flex-wrap:wrap}.privacy-request-shell .ops-panel[aria-live=polite]>.ops-header button{order:-1}}
.school-global-search{width:100%;border:0;background:transparent;text-align:left;cursor:pointer}.school-search-shortcut{float:right;margin-left:auto;padding:1px 6px;border:1px solid #ffffff55;border-radius:5px;font-size:11px}.school-global-search-dialog{width:min(680px,calc(100vw - 32px))}.school-global-search-dialog .school-field{margin-bottom:8px}.school-global-search-results{max-height:min(55vh,520px);overflow:auto;margin:12px 0}.school-global-search-group{margin:12px 0}.school-global-search-group h3{margin:12px 0 6px;font-size:14px;color:#516456}.school-global-search-group ul{list-style:none;padding:0;margin:0}.school-global-search-group li a{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:8px;color:#243329;text-decoration:none}.school-global-search-group li a:hover,.school-global-search-group li a:focus-visible{background:#edf4eb;outline:2px solid #719a45}.school-global-search-group li span{font-size:12px;color:#657165}
.school-global-search-group li button{display:flex;width:100%;flex-direction:column;gap:3px;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:#243329;text-align:left;cursor:pointer}.school-global-search-group li button:hover,.school-global-search-group li button:focus-visible{background:#edf4eb;outline:2px solid #719a45}.school-global-search-actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.school-global-search-more{display:inline-flex;padding:6px 10px;border:1px solid #dce4dc;border-radius:7px;background:#fff;color:#365b3c;font-size:12px;text-decoration:none;cursor:pointer}.school-global-search-contact-detail h3{margin:18px 0 4px}.school-global-search-contact-detail ul{list-style:none;padding:0}.school-global-search-contact-detail li a{display:flex;flex-direction:column;padding:10px 12px;border-radius:8px;color:#243329;text-decoration:none}.school-global-search-contact-detail li a:hover,.school-global-search-contact-detail li a:focus-visible{background:#edf4eb;outline:2px solid #719a45}
