/* Shared operational presentation; legacy business widgets retain their handlers. */
:root {
  --blue:#315fbd; --blue-dark:#244b99; --page:#edf1f6; --ink:#182b46;
  --muted:#4d6079; --border:#bbc9dc; --success:#247752;
  --shadow:0 3px 10px rgb(22 43 72 / 6%); --radius:18px;
}
body { font-size:14px; line-height:1.5; }
.main-content { max-width:1480px; margin:auto; padding:18px 24px 28px; }
.page-heading { margin-bottom:14px; gap:12px; }
.page-heading h1 { font-size:28px; letter-spacing:-.6px; font-weight:750; }
.page-heading p { font-size:13px; line-height:1.6; margin-top:5px; }
.panel,.supplier-card,.mobile-card,.kpi-card { border:2px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); }
.panel-header { padding:12px 16px; border-bottom:1px solid var(--border); min-height:52px; background:#f3f6fa; border-radius:16px 16px 0 0; }
.panel-header h2 { font-size:16px; font-weight:700; letter-spacing:-.15px; }
.dist-body { padding:14px 16px; }
.button { min-height:40px; font-size:13px; font-weight:650; padding:9px 14px; border-width:1.5px; border-radius:12px; line-height:1.3; }
.button-small { min-height:32px; font-size:12px; padding:6px 10px; }
.button-primary { background:var(--blue); border-color:#284f9e; box-shadow:0 2px 3px rgb(30 65 125 / 14%); }
.button-primary:hover { background:var(--blue-dark); }
.button-secondary { color:#294568; background:#e8eef7; border-color:#b5c6df; }
.button-secondary:hover { background:#dce7f6; border-color:#92aaca; }
.button:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible { outline:3px solid #7899d9; outline-offset:3px; }
.button-danger { color:#a13740; background:#fff5f5; border-color:#edc8cc; }
.field { font-size:13px; font-weight:600; gap:6px; }
.field input,.field select,.field-readonly { min-height:40px; font-size:14px; padding:8px 11px; border:1.5px solid #b6c6dc; border-radius:11px; }
.search-field { min-height:40px; }.search-field input { font-size:14px; }
.dist-filters { gap:10px; padding:12px; margin-bottom:12px; border-color:var(--border); background:#fff; }
.filter-chip { font-size:12px; font-weight:600; min-height:36px; border-radius:11px; }
.portal-tabs { gap:6px; padding-bottom:8px; margin-bottom:10px; }
.portal-tabs .filter-chip { background:transparent; border-color:transparent; color:#52647c; }
.portal-tabs .filter-chip.active { color:var(--blue-dark); background:#e8effb; border-color:#d8e4f8; }
.data-table { font-size:13px; line-height:1.5; }
.data-table th { font-size:12px; font-weight:650; text-transform:none; letter-spacing:0; padding:12px; height:auto; white-space:normal; background:#eef3f9; }
.data-table td { padding:9px 12px; border-color:#e8edf3; }
.data-table td small { color:var(--muted); font-size:11px; margin-top:4px; }
.badge { font-size:11px; font-weight:600; min-height:23px; }
.section-icon { display:grid; place-items:center; width:30px; height:30px; border-radius:9px; color:#3e5b82; background:#e3ebf6; }
.component-note { font-size:12px; line-height:1.6; color:var(--muted); margin-top:10px; }
.panel-note { padding:0 18px 15px; }
.severity-critical { --severity-ink:#a12f3c; --severity-bg:#fce9eb; --severity-line:#df9ba7; --severity-accent:#bc4351; }
.severity-attention { --severity-ink:#895b13; --severity-bg:#fff2d5; --severity-line:#dfbd72; --severity-accent:#bd8629; }
.severity-info { --severity-ink:#526071; --severity-bg:#eef0f3; --severity-line:#cbd0d8; --severity-accent:#7c8797; }
.severity-healthy { --severity-ink:#247752; --severity-bg:#edf7f1; --severity-line:#bddbc9; --severity-accent:#39966a; }
.severity-badge { display:inline-flex; align-items:center; gap:6px; color:var(--severity-ink); background:var(--severity-bg); border:1px solid var(--severity-line); font-size:11px; font-weight:600; line-height:1.35; padding:4px 8px; border-radius:6px; white-space:normal; }
.severity-badge svg { flex-shrink:0; }
.overview-signal-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.signal-summary { display:flex; align-items:center; gap:12px; min-width:0; padding:12px 16px; border:2px solid var(--severity-line); background:var(--severity-bg); border-radius:14px; text-align:left; color:var(--ink); cursor:pointer; }
.signal-summary:hover { background:var(--severity-bg); }
.signal-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:10px; background:var(--severity-bg); color:var(--severity-ink); flex-shrink:0; }
.signal-summary>span:nth-child(2) { display:flex; align-items:baseline; gap:10px; flex:1; }
.signal-summary strong { font-size:28px; font-weight:750; line-height:1.1; color:var(--severity-ink); font-variant-numeric:tabular-nums; }
.signal-summary>svg { color:#8190a4; flex-shrink:0; }
.signal-summary span span { font-size:13px; font-weight:650; }
.overview-work-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:14px; margin:14px 0; align-items:stretch; }
.overview-data-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-bottom:14px; }
.overview-work-grid>.panel,.overview-data-grid>.panel { margin:0; min-width:0; }
.operational-notices { margin:0; padding:0; list-style:none; }
.notice-card { display:grid; grid-template-columns:32px minmax(0,1fr) auto; gap:10px; padding:14px; border:2px solid var(--severity-line); border-left:4px solid var(--severity-accent); border-radius:13px; background:var(--severity-bg); margin:10px; }
.notice-card:last-child { margin-bottom:10px; }
.notice-symbol { color:var(--severity-ink); padding-top:3px; }
.notice-heading { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:7px; }
.notice-heading h3 { font-size:15px; line-height:1.45; font-weight:700; margin:0; }
.notice-content p { margin:5px 0; font-size:13px; color:#4c5f76; }
.notice-content p.notice-impact { font-size:12px; color:var(--severity-ink); }
.notice-action { display:flex; align-items:center; }
.notice-action .button { max-width:155px; white-space:normal; text-align:left; }
.fact-group { display:grid; grid-template-columns:repeat(auto-fit,minmax(100px,1fr)); gap:12px; margin:10px 0; }
.fact-group dt { color:var(--muted); font-size:12px; line-height:1.45; }
.fact-group dd { color:var(--ink); font-size:22px; line-height:1.3; font-weight:600; margin:5px 0 0; font-variant-numeric:tabular-nums; }
.notice-facts { gap:14px; margin:10px 0 0; }.notice-facts dd { font-size:18px; }
.notice-facts dt { font-size:11px; }
.healthy-message { padding:24px 18px; }.healthy-message p { margin-top:12px; color:var(--muted); }
.work-queue { padding:0 16px; flex:1; display:flex; flex-direction:column; }
.overview-work-grid>.panel { display:flex; flex-direction:column; }
.work-queue-item { display:flex; align-items:center; gap:12px; width:100%; padding:12px 0; flex:1; border:0; border-bottom:1px solid #dce4ef; background:transparent; text-align:left; cursor:pointer; color:var(--ink); }
.work-queue-item:last-child { border:0; }.work-queue-item:hover strong { color:var(--blue); }
.work-queue-item>span:nth-child(2) { flex:1; }.work-queue-item strong { display:block; font-size:14px; font-weight:650; }
.work-queue-item small { display:block; font-size:12px; color:var(--muted); margin-top:3px; }
.work-queue-item>svg { flex-shrink:0; color:#8794a6; }
.queue-count { display:grid; place-items:center; background:#e8eef6; color:#566c8b; border-radius:12px; min-width:42px; height:42px; font-size:20px; font-weight:700; }
.queue-count.has-work { color:var(--blue-dark); background:#eaf0fb; }
.section-stat { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; }
.section-stat span { display:block; color:var(--muted); font-size:12px; }.section-stat strong { font-size:34px; font-weight:750; letter-spacing:-1px; }
.progress-meter { margin:14px 0; }.progress-meter>div { display:flex; justify-content:space-between; align-items:baseline; gap:12px; font-size:12px; }
.progress-meter strong { font-size:12px; white-space:nowrap; }.progress-meter span { color:var(--muted); }
.progress-meter progress { display:block; width:100%; height:7px; margin-top:9px; border:0; border-radius:6px; appearance:none; background:#eaf0f5; overflow:hidden; }
.progress-meter progress::-webkit-progress-bar { background:#eaf0f5; border-radius:6px; }
.progress-meter progress::-webkit-progress-value { background:#389069; border-radius:6px; }
.progress-meter progress::-moz-progress-bar { background:#389069; }
.overview-metrics { padding:0; }.overview-metric { font-size:13px; min-height:42px; }
.source-summary { padding:15px; margin-top:20px; background:#f6f8fb; border-radius:9px; }
.source-summary strong { font-size:13px; }.source-summary p { font-size:12px; color:var(--muted); margin-top:4px; }
.source-summary .fact-group { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }.source-summary .fact-group dd { font-size:21px; }
.source-summary .button { font-size:12px; min-height:34px; }
.stock-composition-heading { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.stock-composition-heading>span { color:var(--muted); font-size:12px; }.stock-composition-heading strong { font-size:30px; font-weight:750; }
.stock-composition-heading small { font-size:12px; font-weight:400; color:var(--muted); }
.stock-segments { display:flex; gap:2px; height:12px; border-radius:5px; overflow:hidden; margin:14px 0 18px; background:#e9edf3; }
.stock-segments span { min-width:2px; flex-basis:0; }.stock-central { background:#315f93; }.stock-schools { background:#83a4cd; }.stock-transit { background:#d4ad5c; }.stock-issued { background:#4b9874; }.stock-pending { background:#b4bfce; }.stock-quarantine { background:#af7980; }.stock-consumed { background:#d7dfe8; }.stock-discrepancy { background:#bd4354; }
.stock-legend { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 24px; }
.stock-legend>div { display:flex; align-items:baseline; justify-content:space-between; gap:8px; min-width:0; }
.stock-legend dt { font-size:12px; color:#52647a; display:flex; align-items:baseline; gap:7px; }.stock-legend i { display:inline-block; width:8px; height:8px; flex-shrink:0; border-radius:2px; }
.stock-legend dd { font-size:14px; font-weight:600; margin:0; font-variant-numeric:tabular-nums; }
.stock-composition>.button { margin-top:10px; }.stock-status-metrics { margin-top:18px; border-top:1px solid var(--border); padding-top:8px; }
.active-context { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:12px 0 18px; font-size:12px; color:var(--muted); }
.context-chip { display:inline-flex; align-items:center; gap:8px; padding:6px 9px; border:1px solid #cbd9ee; background:#edf3fc; color:#315887; border-radius:6px; cursor:pointer; font-size:12px; }
.severity-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }.severity-filters .filter-chip { display:flex; gap:8px; }
.receiving-stages { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }.receiving-stages .filter-chip { display:flex; gap:8px; }
.source-footnote { color:var(--muted); font-size:12px; margin-top:18px; }.source-footnote summary { cursor:pointer; padding:8px 0; }.source-footnote p { padding:8px 0; }
.operational-empty { display:grid; justify-items:center; text-align:center; gap:10px; padding:32px 20px; color:var(--muted); }
.operational-empty strong { color:var(--ink); font-size:15px; }.operational-empty p { max-width:440px; font-size:13px; }.empty-icon { color:#8293ab; }
.quick-student-access { padding:16px 18px; gap:16px; background:#1c3455; border:2px solid #29496f; box-shadow:var(--shadow); }
.quick-student-title { flex:1; min-width:0; }.quick-student-title h2 { font-size:16px; font-weight:700; color:#fff; }.quick-student-title p { font-size:12px; color:#d1ddee; }
.quick-student-title .overview-icon { width:40px; height:40px; border-radius:12px; color:#d8e5ff; background:#324e74; }
.quick-student-form { display:grid; grid-template-columns:minmax(0,1fr); align-items:end; width:360px; max-width:100%; flex:none; gap:7px; }
.quick-student-form .field { font-size:12px; color:#e0e8f4; }.quick-student-form .button { font-size:13px; }
.quick-student-form input { background:#fff; }
.quick-student-access .quick-student-form>[type=submit] { background:#426dce; border-color:#7899df; }
.quick-student-access .quick-student-form>[type=submit]:hover { background:#355fbd; }
[data-student-lookup]>.button { width:auto; min-height:42px; padding:10px 12px; border-radius:12px; box-shadow:none; }
[data-student-lookup]>.scan-button { color:#244b83; background:#e1ebfa; border:1.5px solid #9fb8df; border-radius:12px; min-height:46px; font-weight:650; box-shadow:none; }
[data-student-lookup]>.scan-button:hover { background:#e9f0fa; border-color:#b6cae4; }
[data-student-lookup]>[type=submit] { background:var(--blue); border-color:var(--blue); }
[data-student-lookup]>[type=submit]:hover { background:var(--blue-dark); border-color:var(--blue-dark); }
[data-student-lookup]>.scan-button svg { width:18px; height:18px; }
.student-lookup { grid-template-columns:minmax(0,1fr); align-items:end; margin:12px; gap:7px; }
.student-lookup>.dist-help,.student-lookup>.form-error { grid-column:1/-1; padding:0; font-size:12px; }
.lookup-panel { border:2px solid var(--border); border-left:3px solid var(--blue); border-radius:var(--radius); margin-bottom:12px; max-width:480px; }
.dialog { border:2px solid var(--border); border-radius:18px; }.dialog-header { padding:14px 20px; min-height:60px; }.dialog-header h2 { font-size:17px; }
.dialog form { padding:18px 20px; }.dialog-actions { gap:10px; }.dialog .form-error { font-size:13px; }
.student-workspace { width:min(100%,980px); }
.student-identity { display:flex; justify-content:space-between; align-items:center; gap:18px; padding-bottom:16px; border-bottom:1px solid var(--border); }
.eyebrow { color:var(--muted); font-size:11px; letter-spacing:.5px; text-transform:uppercase; }
.student-identity h3 { font-size:21px; margin:4px 0; font-weight:650; }.student-identity p { color:var(--muted); font-size:13px; }
.student-identifier { background:#f0f4fa; padding:10px 14px; border-radius:8px; }.student-identifier>span { display:block; color:var(--muted); font-size:11px; }.student-identifier code { margin-top:4px; font-size:15px; color:#2c507b; }
.student-totals { padding:16px; background:#f6f8fb; border-radius:10px; grid-template-columns:repeat(3,minmax(0,1fr)); margin:18px 0; }
.student-totals dd { font-size:25px; }.historical-status { display:flex; flex-direction:column; align-items:flex-start; gap:9px; padding:16px 0; color:var(--muted); font-size:13px; }
.student-source-details,.student-admin,.detail-section,.report-full { margin-top:16px; padding:12px 0; border-top:1px solid var(--border); }
.student-source-details>summary,.student-admin>summary,.detail-section>summary,.report-full>summary { font-size:13px; font-weight:600; color:#47617f; cursor:pointer; padding:4px 0; }
.student-source-details .fact-group dd { font-size:14px; }.student-admin .dist-actions { margin-top:14px; }
.allocation-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; }.allocation-heading h3 { font-size:16px; }.allocation-heading h3>span { display:block; color:var(--muted); font-size:11px; font-weight:400; margin-top:4px; }
.dist-allocation { padding:18px 0; }.dist-allocation .progress-meter { max-width:440px; }.allocation-tools { color:var(--muted); font-size:12px; padding-top:10px; }.allocation-tools summary { cursor:pointer; margin-bottom:8px; }
.workspace-confirmation { display:flex; gap:10px; padding:12px 14px; margin:16px 0; color:#286849; background:#eff8f2; border:1px solid #c8e0d1; border-radius:8px; font-size:13px; }
.workspace-confirmation svg { flex-shrink:0; }.workspace-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:20px; }.workspace-footer>span { color:var(--muted); font-size:12px; }
.issue-context { display:grid; gap:4px; padding:14px; background:#f2f6fc; border-radius:9px; margin-bottom:18px; }.issue-context span { font-size:13px; color:#52677f; }.issue-context strong { font-size:18px; }.issue-context small { color:var(--muted); }
[data-issue-availability] { background:#f5f8fc; border-radius:8px; padding:4px 14px; margin-top:14px; }.material-availability { margin-top:10px; }
.inline-facts { grid-template-columns:repeat(3,minmax(48px,1fr)); gap:10px; margin:4px 0 8px; }.inline-facts dd { font-size:16px; margin-top:3px; }.inline-facts dt { font-size:11px; }
.stock-location-summary { min-width:180px; }.stock-location-summary details { margin-top:6px; }.stock-location-summary summary { font-size:11px; color:#486d9b; cursor:pointer; }.stock-location-summary details p { padding-top:7px; font-size:12px; max-width:320px; }
.proc-catalogue-filters { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:12px; }
.operational-cards { padding:14px; gap:14px; }.operational-cards article { box-shadow:none; }.operational-cards header { display:flex; gap:10px; align-items:center; justify-content:space-between; flex-wrap:wrap; }.operational-cards h3 { font-size:15px; }.operational-cards .fact-group { grid-template-columns:repeat(2,minmax(0,1fr)); }.operational-cards .card-actions { margin-top:12px; }.operational-cards .component-note { margin:8px 0; }
.delivery-destination { margin-top:12px; font-weight:600; }.delivery-lines { margin-top:16px; }.delivery-lines>div { display:flex; align-items:baseline; justify-content:space-between; gap:10px; padding:7px 0; border-bottom:1px solid var(--border); }.delivery-lines dt { font-size:13px; }.delivery-lines dd { white-space:nowrap; margin:0; font-size:13px; font-weight:600; }
.order-totals { background:#f4f7fb; padding:16px; border-radius:10px; }.proc-steps { position:relative; grid-template-columns:repeat(7,minmax(0,1fr)); gap:0; background:#f7f9fc; border:1px solid var(--border); border-radius:10px; padding:4px; }
.proc-steps li { position:relative; border:0; border-radius:0; background:transparent; padding:14px; border-top:3px solid #d6dfeb; margin-top:4px; }.proc-steps li.has-event { border-color:#678dbf; background:#edf3fc; }.proc-steps strong { font-size:12px; }.proc-steps span { font-size:11px; }
.location-tree,.location-tree ul { list-style:none; margin:0; padding:0; }.location-tree { padding:8px 16px; }.location-tree ul { margin-left:16px; padding-left:14px; border-left:1px solid #d4dfed; }
.location-tree li { padding:8px 0; }.location-tree summary { display:flex; align-items:center; gap:12px; cursor:pointer; padding:10px 0; }.location-tree summary:before { content:'›'; color:#677c98; font-size:20px; }.location-tree details[open]>summary:before { transform:rotate(90deg); }
.location-name { display:flex; align-items:center; gap:8px; flex-wrap:wrap; flex:1; }.location-name svg { color:#7189a8; flex-shrink:0; }.location-name strong { font-size:13px; }.location-name small { font-size:11px; color:var(--muted); }
.location-count { font-size:17px; font-weight:600; white-space:nowrap; }.location-count small { font-size:11px; font-weight:400; color:var(--muted); }
.location-leaf { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:10px 0; }.location-node-actions { display:flex; align-items:center; gap:12px; padding:0 0 8px 22px; }.location-node-actions>span { font-size:11px; color:var(--muted); }
.report-questions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:22px; }
.report-questions button { display:flex; align-items:flex-start; gap:10px; text-align:left; padding:14px; border:1px solid var(--border); background:#fff; color:var(--ink); border-radius:10px; cursor:pointer; }.report-questions button.active { background:#eef4fc; border-color:#b8cce7; }.report-questions button>svg { color:#627fa4; flex-shrink:0; margin-top:2px; }.report-questions strong { display:block; font-size:13px; }.report-questions small { display:block; font-size:11px; color:var(--muted); margin-top:5px; }
.reconciliation-summary>.fact-group { max-width:860px; grid-template-columns:repeat(4,minmax(0,1fr)); }.reconciliation-summary summary { cursor:pointer; font-size:12px; color:var(--muted); }.table-scroll-hint { display:none; }.report-full { padding:12px 16px; }
.integrity-errors { list-style:none; padding:0; }.integrity-errors li { margin:8px 0; }
@media(max-width:1100px) {
  .overview-work-grid { grid-template-columns:1fr 1fr; }.notice-card { grid-template-columns:26px minmax(0,1fr); }
  .notice-action { grid-column:2; }.notice-action .button { max-width:none; }.quick-student-access { flex-direction:column; align-items:stretch; gap:12px; }
  .quick-student-form { width:100%; }.signal-summary>span:nth-child(2) { flex-direction:column; gap:2px; }
  .report-questions { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .main-content { padding:16px 12px calc(var(--bottom-bar) + env(safe-area-inset-bottom) + 24px); }
  .page-heading h1 { font-size:24px; }.page-heading { margin-bottom:16px; }.page-heading>.button { min-height:40px; }
  .overview-signal-strip { gap:7px; }.signal-summary { padding:10px; gap:6px; flex-direction:column; align-items:flex-start; }
  .signal-icon { width:26px; height:26px; border-radius:6px; }.signal-icon svg { width:17px; }.signal-summary>svg { display:none; }
  .signal-summary strong { font-size:23px; }.signal-summary span span { font-size:11px; }
  .overview-work-grid,.overview-data-grid { grid-template-columns:1fr; gap:14px; margin:14px 0; }
  .quick-student-form,.student-lookup { grid-template-columns:minmax(0,1fr); }.quick-student-form>.field,.student-lookup>.field { grid-column:1/-1; }
  .quick-student-title p { font-size:12px; }.quick-student-access { padding:14px; gap:10px; }
  [data-student-lookup]>.button { font-size:12px; min-height:44px; width:100%; padding:9px; white-space:normal; }
  .quick-student-form input,.field input,.field select,.search-field input { font-size:16px; min-height:44px; }
  .button,.button-small,.button-quiet { min-height:44px; }.context-chip { min-height:40px; }
  .notice-card { padding:14px; gap:8px; }.notice-heading { gap:6px; }.notice-facts { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
  .notice-facts dd { font-size:18px; }.notice-facts dt { font-size:11px; }.notice-action { margin-top:4px; }
  .source-summary { padding:12px; }.source-summary .fact-group dt { font-size:11px; }.source-summary .button { min-height:42px; }
  .stock-legend { column-gap:16px; }.stock-legend dt { font-size:12px; }.panel-header,.dist-body { padding:14px; }
  .section-stat { flex-wrap:wrap; }.progress-meter>div { flex-wrap:wrap; gap:5px; }
  .data-table th { font-size:12px; }.dist-table .data-table { font-size:13px; }
  .dialog { border-radius:16px 16px 0 0; }.dialog form { padding:16px; padding-bottom:calc(16px + env(safe-area-inset-bottom)); }
  .dialog-header { padding:12px 16px; }.dialog-header h2 { font-size:16px; }
  .student-identity { flex-direction:column; align-items:stretch; gap:10px; }.student-identity h3 { font-size:20px; }.student-identifier { padding:8px 12px; }
  .student-totals { padding:12px; }.student-totals dd { font-size:23px; }.student-material-cards .fact-group { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }.student-material-cards .fact-group dd { font-size:21px; }
  .student-material-cards .mobile-card { padding:14px; }.student-workspace { width:100%; }.allocation-heading { align-items:flex-start; }
  .student-source-details .fact-group { grid-template-columns:1fr; gap:12px; }.student-admin .button { flex:1; }
  .workspace-footer .button { width:100%; }.workspace-footer>span { font-size:11px; }.dialog-actions { flex-wrap:wrap; }
  .operational-desktop { display:none; }.mobile-only.operational-cards { display:grid; }
  .proc-catalogue-filters { grid-template-columns:1fr; }.stock-location-summary { min-width:0; }.stock-location-summary .inline-facts { grid-template-columns:repeat(3,minmax(0,1fr)); }.card-details:has(.stock-location-summary)>div { grid-template-columns:1fr; }
  .location-tree { padding:8px 12px; }.location-tree ul { margin-left:4px; padding-left:10px; }.location-tree summary { flex-wrap:wrap; gap:8px; }.location-name { min-width:150px; }.location-count { font-size:15px; }.location-node-actions { flex-wrap:wrap; padding-left:8px; }.location-leaf>.button { min-height:38px; }
  .report-questions { grid-template-columns:1fr; gap:8px; }.report-questions button { padding:12px; }.report-questions small { margin-top:3px; }
  .table-scroll-hint { display:block; padding:0 14px 12px; font-size:11px; color:var(--muted); }
  .reconciliation-summary .fact-group { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }.reconciliation-summary .fact-group dd { font-size:22px; }.reconciliation-summary .fact-group dt { font-size:12px; }
  .order-totals { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .proc-steps { grid-template-columns:1fr; padding:8px 12px; }
  .proc-steps li { display:grid; grid-template-columns:100px minmax(0,1fr); align-items:baseline; border-top:0; border-left:3px solid #d6dfeb; margin:0; padding:10px 12px; }
  .proc-steps li small { grid-column:2; }
}

/* Document-backed records, named sets and compact session context. */
.session-notice { display:flex; justify-content:center; align-items:center; gap:12px; padding:7px 16px; font-size:12px; color:#56657a; background:#edf0f5; border-bottom:1px solid var(--border); }
.session-notice button { padding:2px 8px; color:var(--blue-dark); border:0; background:transparent; text-decoration:underline; cursor:pointer; }
.field-readonly { display:block; background:#f0f3f7; border:1px solid var(--border); border-radius:10px; }
.source-materials { padding-top:16px; border-top:1px solid var(--border); margin-top:14px; }
.source-materials .component-note { margin:8px 0 12px; }.source-materials .data-table { min-width:720px; }
.source-item-cards { gap:10px; padding:10px 0; }.source-item-cards header,.source-item-cards footer { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:8px; }
.source-item-cards header strong { font-size:14px; }.source-item-cards .fact-group { grid-template-columns:1fr 1fr; }.source-item-cards .fact-group dd { font-size:15px; }
.source-item-cards small { font-size:11px; color:var(--muted); }.source-item-cards footer { margin-top:10px; }
.source-audit-summary { padding:14px; }.current-assignment-prompt { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:12px; background:#eff3fa; border-radius:12px; font-size:13px; }
.record-pagination { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; padding:12px 14px; color:var(--muted); font-size:12px; }.record-pagination>div { display:flex; gap:12px; align-items:center; }
.set-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:14px; margin-top:14px; }.set-card { padding:16px; margin:0; }.set-card header { display:flex; align-items:center; justify-content:space-between; gap:10px; }.set-card h2 { font-size:18px; }.set-card footer { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:14px; }.set-card footer small { font-size:11px; color:var(--muted); }
.set-lines>div { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:8px 0; border-bottom:1px solid var(--border); }.set-lines dd { font-size:18px; font-weight:650; }.set-lines dt small { display:block; color:var(--muted); font-size:11px; }
.overview-priority-column { display:grid; gap:14px; min-width:0; }.overview-priority-column>.panel { margin:0; }.overview-priority-column .quick-student-access { gap:14px; }.overview-priority-column .quick-student-form { width:320px; }
.signal-summary.is-empty { background:#e8edf3; border-color:#c2cdda; }.signal-summary.is-empty strong,.signal-summary.is-empty .signal-icon { color:#637085; }.signal-summary.is-empty .signal-icon { background:transparent; }
.identity-notice { background:var(--severity-bg); border:1.5px solid var(--severity-line); color:var(--severity-ink); border-radius:12px; padding:10px 12px; margin-bottom:12px; font-size:12px; }
.advanced-filters { margin-top:8px; }.advanced-filters summary { cursor:pointer; color:var(--blue-dark); font-size:13px; padding:8px; width:fit-content; border-radius:10px; background:#edf2f8; }
.directory-history { list-style:none; padding:0; margin:12px 0; }
.directory-history>li { padding:12px 0; border-bottom:1px solid var(--border); font-size:13px; overflow-wrap:anywhere; }
.directory-history>li:last-child { border-bottom:0; }
.directory-history header { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 16px; margin-bottom:8px; }
.directory-history time { color:var(--muted); font-size:12px; }
.directory-history .fact-group { grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:12px 20px; }
.directory-history .fact-group dd { font-size:14px; font-weight:500; margin-top:3px; }
.directory-history .data-table { min-width:0; width:100%; table-layout:fixed; }
.directory-history .data-table th,.directory-history .data-table td { white-space:normal; overflow-wrap:anywhere; }
.student-register-search { display:flex; align-items:end; flex-wrap:wrap; gap:8px 16px; padding:12px 16px; border-bottom:1px solid var(--border); background:#f7f9fd; }
.student-register-search>.field { flex:1 1 260px; max-width:640px; font-size:13px; }
.student-search-input { display:block; position:relative; }
.student-search-input>svg { position:absolute; left:12px; top:50%; transform:translateY(-50%); color:var(--muted); pointer-events:none; }
.student-search-input input { padding-left:38px; min-height:44px; font-size:16px; }
.student-register-search>.component-note { margin:0 0 10px; }
.multi-picker { border:1px solid var(--border); border-radius:12px; padding:12px; min-width:0; }.multi-picker legend { padding:0 6px; font-size:13px; font-weight:600; }.multi-picker>input { width:100%; border:1px solid var(--border); border-radius:10px; padding:10px; font-size:14px; }.choice-list { max-height:190px; overflow:auto; margin-top:8px; }.choice-list label { display:flex; gap:10px; align-items:center; padding:8px; font-size:13px; cursor:pointer; }.choice-list input { width:18px; height:18px; flex-shrink:0; }.choice-list label[hidden] { display:none; }
@media(max-width:760px) {
 .session-notice { justify-content:space-between; align-items:flex-start; gap:6px; padding:6px 12px; font-size:11px; }.session-notice button { min-height:36px; }
 .lookup-panel { max-width:none; }.quick-student-form { width:100%; }.mobile-only.source-item-cards { display:grid; }
 .current-assignment-prompt { flex-direction:column; align-items:stretch; }.current-assignment-prompt .button { width:100%; }
 .set-grid { grid-template-columns:minmax(0,1fr); }.record-pagination { padding:12px; }.source-audit-summary .fact-group { grid-template-columns:1fr 1fr; }
 .overview-priority-column .quick-student-form { width:100%; }.multi-picker>input { font-size:16px; }
}
