:root {
  color-scheme: light;
  --navy-950: #071127;
  --navy-900: #0b1739;
  --navy-800: #10234d;
  --navy-700: #18376a;
  --teal-700: #087f72;
  --teal-600: #0d9488;
  --teal-500: #14b8a6;
  --teal-100: #ccfbf1;
  --sky-100: #e7f4ff;
  --ink: #14213d;
  --muted: #5b667c;
  --line: #d9e1ec;
  --line-strong: #c3cfdf;
  --surface: #ffffff;
  --surface-soft: #f5f8fc;
  --surface-warm: #fbfcfe;
  --danger: #b42318;
  --danger-soft: #fef3f2;
  --warning: #a15c07;
  --warning-soft: #fff7e8;
  --success: #067647;
  --success-soft: #ecfdf3;
  --shadow-sm: 0 1px 2px rgb(7 17 39 / 6%), 0 4px 16px rgb(7 17 39 / 4%);
  --shadow-lg: 0 24px 80px rgb(7 17 39 / 22%);
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --topbar-height: 72px;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  color: var(--ink);
  background: var(--surface-soft);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  text-rendering: optimizeLegibility;
}

button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .52; }
a { color: inherit; }

:focus-visible {
  outline: 3px solid #38bdf8;
  outline-offset: 3px;
}

.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;
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 12px;
  left: 12px;
  transform: translateY(-150%);
  padding: 10px 14px;
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--navy-900);
  font-weight: 750;
  box-shadow: var(--shadow-lg);
}

.skip-link:focus { transform: translateY(0); }

.topbar {
  position: sticky;
  z-index: 30;
  top: 0;
  display: flex;
  min-height: var(--topbar-height);
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 12px 28px;
  background: var(--navy-900);
  color: #fff;
  border-bottom: 1px solid rgb(255 255 255 / 11%);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  white-space: nowrap;
}

.brand-mark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(145deg, #2dd4bf, #0d9488);
  color: var(--navy-950);
  font-weight: 900;
  letter-spacing: -.03em;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 45%);
}

.brand strong,
.brand small { display: block; }
.brand strong { font-size: 1rem; letter-spacing: .12em; }
.brand small { color: #c6d4ed; font-size: .76rem; }

.topbar-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
}

.safety-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  border: 1px solid rgb(45 212 191 / 35%);
  border-radius: 999px;
  background: rgb(13 148 136 / 12%);
  color: #bffaf0;
  font-size: .78rem;
  font-weight: 700;
  white-space: nowrap;
}

.safety-badge > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #2dd4bf;
  box-shadow: 0 0 0 4px rgb(45 212 191 / 12%);
}

.role-control {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .82rem;
  font-weight: 700;
  color: #c6d4ed;
}

.role-control select {
  min-width: 112px;
  border: 1px solid rgb(255 255 255 / 22%);
  border-radius: var(--radius-sm);
  padding: 9px 30px 9px 11px;
  color: #fff;
  background: var(--navy-800);
}

.demo-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 40px;
  padding: 8px 24px;
  background: #e9fbf7;
  color: #155e55;
  border-bottom: 1px solid #b9eee4;
  font-size: .84rem;
}

.app-shell {
  display: grid;
  grid-template-columns: 248px minmax(0, 1fr);
  min-height: calc(100vh - var(--topbar-height) - 40px);
}

.sidebar {
  position: sticky;
  top: calc(var(--topbar-height) + 40px);
  display: flex;
  height: calc(100vh - var(--topbar-height) - 40px);
  flex-direction: column;
  padding: 24px 16px 18px;
  background: var(--navy-950);
  color: #fff;
  overflow-y: auto;
}

.sidebar-label {
  padding: 0 10px 10px;
  color: #8fa3c5;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.module-nav {
  display: grid;
  gap: 6px;
}

.module-button {
  display: grid;
  width: 100%;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 11px 10px;
  border: 1px solid transparent;
  border-radius: 11px;
  background: transparent;
  color: #c8d4ea;
  text-align: left;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}

.module-button:hover { background: rgb(255 255 255 / 6%); color: #fff; }
.module-button[aria-current="page"] {
  background: linear-gradient(100deg, rgb(20 184 166 / 18%), rgb(45 212 191 / 7%));
  border-color: rgb(45 212 191 / 27%);
  color: #fff;
}

.module-icon {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 9px;
  background: rgb(255 255 255 / 7%);
  color: #c9f9f2;
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .03em;
}

.module-button[aria-current="page"] .module-icon {
  background: var(--teal-500);
  color: var(--navy-950);
}

.module-copy { min-width: 0; }
.module-copy strong,
.module-copy small { display: block; }
.module-copy strong {
  overflow: hidden;
  font-size: .86rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.module-copy small { color: #8fa3c5; font-size: .71rem; }
.module-count { color: #8fa3c5; font-size: .74rem; font-variant-numeric: tabular-nums; }

.sidebar-card {
  display: grid;
  gap: 5px;
  margin-top: 28px;
  padding: 15px;
  border: 1px solid rgb(255 255 255 / 9%);
  border-radius: 14px;
  background: rgb(255 255 255 / 4%);
}

.sidebar-card strong { font-size: .92rem; }
.sidebar-card span { color: #9db0cf; font-size: .76rem; line-height: 1.5; }

.sidebar-footer {
  display: grid;
  gap: 7px;
  margin-top: auto;
  padding: 22px 10px 0;
  color: #8196b8;
  font-size: .7rem;
}

.workspace {
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
  padding: 34px clamp(22px, 3vw, 46px) 56px;
}

.site-credit {
  display: grid;
  gap: 3px;
  padding: 18px clamp(22px, 3vw, 46px) 20px calc(248px + clamp(22px, 3vw, 46px));
  border-top: 1px solid rgb(255 255 255 / 10%);
  background: var(--navy-950);
  color: #c6d4ed;
  font-size: .76rem;
  line-height: 1.55;
}

.site-credit p { margin: 0; }
.site-credit strong { color: #fff; font-size: .8rem; }
.site-credit p:last-child { color: #8fa3c5; }

.workspace-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 26px;
}

.workspace-head h1 {
  margin: 3px 0 7px;
  color: var(--navy-900);
  font-size: clamp(1.8rem, 3vw, 2.55rem);
  line-height: 1.12;
  letter-spacing: -.035em;
}

.workspace-head p:not(.eyebrow) { max-width: 650px; margin: 0; color: var(--muted); }
.eyebrow {
  margin: 0;
  color: var(--teal-700);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.workspace-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.button-manager {
  color: #fff;
  border-color: #5b4bd9;
  background: linear-gradient(135deg, #3d2f9d, #6350de);
  box-shadow: 0 7px 18px rgb(67 48 173 / 22%);
}
.button-manager:hover { background: linear-gradient(135deg, #30247f, #5340c8); }

.button {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 10px;
  padding: 9px 15px;
  font-weight: 750;
  line-height: 1.2;
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
}

.button:active:not(:disabled) { transform: translateY(1px); }
.button-primary { background: var(--teal-600); color: #fff; box-shadow: 0 5px 14px rgb(13 148 136 / 20%); }
.button-primary:hover { background: var(--teal-700); }
.button-secondary { border-color: var(--line-strong); background: #fff; color: var(--navy-800); }
.button-secondary:hover { background: var(--surface-soft); border-color: #9fb0c8; }
.button-danger { background: var(--danger); color: #fff; }
.button-danger:hover { background: #912018; }
.button-quiet { min-height: 36px; border-color: rgb(255 255 255 / 17%); background: rgb(255 255 255 / 5%); color: #eef5ff; font-size: .8rem; }
.button-quiet:hover { background: rgb(255 255 255 / 10%); }

.text-button {
  width: fit-content;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-weight: 750;
  text-decoration: underline;
  text-decoration-color: currentColor;
  text-underline-offset: 3px;
}

.metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 22px;
}

.metric-card {
  position: relative;
  display: grid;
  min-height: 138px;
  align-content: space-between;
  gap: 8px;
  overflow: hidden;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}

.metric-card-accent {
  border-color: #b6ebe3;
  background: linear-gradient(145deg, #ffffff, #eefcf9);
}

.metric-card-accent::after {
  content: "";
  position: absolute;
  right: -32px;
  bottom: -45px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: rgb(20 184 166 / 10%);
}

.metric-card > span { color: var(--muted); font-size: .8rem; font-weight: 760; }
.metric-card strong { color: var(--navy-900); font-size: 2.15rem; line-height: 1; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.metric-card small { color: var(--muted); font-size: .72rem; }

.data-panel,
.activity-panel {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}

.activity-panel { margin-top: 22px; }
.panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px;
  border-bottom: 1px solid var(--line);
}
.panel-head h2 { margin: 0 0 2px; color: var(--navy-900); font-size: 1.08rem; }
.panel-head p { margin: 0; color: var(--muted); font-size: .79rem; }

.filters { display: flex; align-items: center; gap: 9px; }
.filters input,
.filters select,
.field input,
.field select,
.field textarea {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--line-strong);
  border-radius: 9px;
  padding: 9px 11px;
  background: #fff;
  color: var(--ink);
}

.filters input { width: min(250px, 34vw); }
.filters select { min-width: 145px; }
.filters input::placeholder { color: #758198; }
.filters input:focus,
.filters select:focus,
.field input:focus,
.field select:focus,
.field textarea:focus { border-color: var(--teal-600); box-shadow: 0 0 0 3px rgb(20 184 166 / 12%); outline: 0; }

.table-wrap { position: relative; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 14px 18px; text-align: left; vertical-align: middle; }
th {
  color: #5d6980;
  background: var(--surface-warm);
  border-bottom: 1px solid var(--line);
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}

td { border-bottom: 1px solid #e8edf4; color: #344158; font-size: .83rem; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: #f9fbfd; }
.record-title { display: grid; gap: 2px; min-width: 190px; }
.record-title button { width: fit-content; padding: 0; border: 0; background: transparent; color: var(--navy-800); font-weight: 780; text-align: left; }
.record-title button:hover { color: var(--teal-700); text-decoration: underline; text-underline-offset: 3px; }
.record-title small { color: var(--muted); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .68rem; }
.row-actions { display: flex; justify-content: flex-end; gap: 5px; }
.row-button {
  min-height: 34px;
  padding: 6px 9px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--navy-800);
  font-size: .74rem;
  font-weight: 750;
}
.row-button:hover { border-color: #99a9c0; background: var(--surface-soft); }

.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: .7rem;
  font-weight: 800;
  white-space: nowrap;
}
.badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.badge-open { background: var(--sky-100); color: #175cd3; }
.badge-progress { background: var(--warning-soft); color: var(--warning); }
.badge-complete { background: var(--success-soft); color: var(--success); }
.badge-neutral { background: #eef1f6; color: #475467; }
.priority-high { color: var(--danger); font-weight: 800; }
.priority-medium { color: var(--warning); font-weight: 750; }
.priority-low { color: var(--success); font-weight: 750; }
.priority-neutral { color: var(--muted); font-weight: 750; }

.empty-state {
  display: grid;
  min-height: 280px;
  place-items: center;
  align-content: center;
  gap: 5px;
  padding: 40px;
  color: var(--muted);
  text-align: center;
}
.empty-state[hidden] { display: none; }
.empty-state > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; background: var(--surface-soft); color: var(--navy-700); font-size: 1.7rem; }
.empty-state h3 { margin: 8px 0 0; color: var(--navy-800); }
.empty-state p { margin: 0 0 12px; }

.activity-list { display: grid; gap: 0; margin: 0; padding: 4px 20px 12px; list-style: none; }
.activity-item {
  position: relative;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  gap: 11px;
  align-items: start;
  padding: 14px 0;
  border-bottom: 1px solid #e8edf4;
}
.activity-item:last-child { border-bottom: 0; }
.activity-icon { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 9px; background: var(--teal-100); color: #0f766e; font-size: .7rem; font-weight: 900; }
.activity-copy { min-width: 0; }
.activity-copy strong { display: block; color: var(--navy-800); font-size: .82rem; }
.activity-copy span { color: var(--muted); font-size: .75rem; }
.activity-time { color: #69758b; font-size: .7rem; white-space: nowrap; }
.activity-empty { padding: 28px 0; color: var(--muted); text-align: center; font-size: .8rem; }

.dialog {
  width: min(690px, calc(100vw - 28px));
  max-height: min(86vh, 850px);
  overflow-y: auto;
  padding: 0;
  border: 0;
  border-radius: var(--radius-lg);
  background: #fff;
  color: var(--ink);
  box-shadow: var(--shadow-lg);
}
.dialog::backdrop { background: rgb(5 14 34 / 66%); backdrop-filter: blur(3px); }
.dialog[open] { animation: dialog-in .16s ease-out; }
@keyframes dialog-in { from { opacity: 0; transform: translateY(8px) scale(.985); } }
.dialog > form,
.dialog > .dialog-head,
.dialog > .dialog-actions,
.dialog > .detail-content,
.dialog > .guide-list,
.dialog > .info-callout,
.dialog > .prose,
.dialog > p { margin-left: 24px; margin-right: 24px; }
.dialog form { margin: 0; padding: 0 24px 24px; }
.dialog form > .dialog-head,
.dialog form > .dialog-actions,
.dialog form > p { margin-left: 0; margin-right: 0; }
.dialog-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 23px 0 18px;
  border-bottom: 1px solid var(--line);
}
.dialog-head h2 { margin: 3px 0 0; color: var(--navy-900); font-size: 1.35rem; letter-spacing: -.02em; }
.icon-button { display: grid; width: 36px; height: 36px; flex: 0 0 auto; place-items: center; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: #536077; font-size: 1.45rem; line-height: 1; }
.icon-button:hover { background: var(--surface-soft); }

.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: 20px 0 5px; }
.field { display: grid; gap: 6px; color: #344158; font-size: .8rem; font-weight: 750; }
.field-wide { grid-column: 1 / -1; }
.choice-field > label:first-child { color: #344158; }
.choice-custom { display: grid; gap: 6px; margin-top: 3px; }
.choice-custom > span { color: var(--muted); font-size: .74rem; }
#record-dialog .field select,
#record-dialog .field input { min-height: 46px; }
.field textarea { resize: vertical; min-height: 100px; }
.field small { color: var(--muted); font-weight: 500; }
.file-field { padding: 13px; border: 1px dashed var(--line-strong); border-radius: 10px; background: var(--surface-soft); }
.file-field input { min-height: auto; padding: 7px; background: #fff; }
.form-error { margin-top: 16px; padding: 10px 12px; border: 1px solid #fecdca; border-radius: 9px; background: var(--danger-soft); color: var(--danger); font-size: .82rem; }

.dialog-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; padding: 18px 0 24px; }
.dialog-detail { width: min(730px, calc(100vw - 28px)); }
.detail-content { padding: 20px 0 4px; }
.detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.detail-item { padding: 12px 13px; border-radius: 10px; background: var(--surface-soft); }
.detail-item-wide { grid-column: 1 / -1; }
.detail-item dt { color: var(--muted); font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.detail-item dd { margin: 5px 0 0; color: var(--navy-800); font-size: .86rem; overflow-wrap: anywhere; }
.detail-actions { justify-content: flex-start; border-top: 1px solid var(--line); }
.dialog-small { width: min(470px, calc(100vw - 28px)); }
.dialog-small > p { color: var(--muted); }
.dialog-info { width: min(650px, calc(100vw - 28px)); }
.dialog-manager { width: min(1040px, calc(100vw - 28px)); max-height: min(92vh, 920px); }
.manager-scope-bar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin: 0 24px 12px;
  padding: 13px 15px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}
.manager-scope-control { display: grid; gap: 6px; width: min(100%, 540px); color: var(--navy-800); font-size: .875rem; font-weight: 800; }
.manager-scope-control select { width: 100%; min-height: 44px; }
.manager-scope-bar p { margin: 0; color: var(--muted); font-size: .875rem; line-height: 1.45; }
.manager-runtime {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 24px;
  padding: 16px;
  border: 1px solid #d9d4fa;
  border-radius: 14px;
  background: #f7f5ff;
}
.manager-runtime strong, .manager-runtime span { display: block; }
.manager-runtime strong { color: #322383; font-size: .92rem; }
.manager-runtime span { margin-top: 4px; color: var(--muted); font-size: .8rem; line-height: 1.45; }
.manager-controls { display: flex; flex: 0 0 auto; gap: 9px; }
.manager-message { min-height: 22px; margin-top: 12px !important; color: var(--muted); font-size: .84rem; }
.manager-ai-last-success { margin: -7px 24px 0; color: #5c6980; font-size: .76rem; }
.manager-overview {
  margin: 18px 24px 0;
  padding: 19px 20px;
  border-radius: 15px;
  color: #fff;
  background: linear-gradient(135deg, #172a53, #243f76 62%, #3b3194);
}
.manager-overview .eyebrow { color: #b9caff; }
.manager-overview h3 { margin: 4px 0 7px; color: #fff; font-size: 1.15rem; }
.manager-overview p:not(.eyebrow) { margin: 0; line-height: 1.55; }
.manager-overview small { display: block; margin-top: 9px; color: #c9d5ef; font-size: .75rem; }
.manager-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 12px 24px 0; }
.manager-metrics article { min-height: 86px; padding: 14px 15px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.manager-metrics span, .manager-metrics strong { display: block; }
.manager-metrics span { color: var(--muted); font-size: .78rem; font-weight: 760; }
.manager-metrics strong { margin-top: 8px; color: var(--navy-900); font-size: 1.75rem; line-height: 1; font-variant-numeric: tabular-nums; }
.manager-section { margin: 20px 24px 0; }
.manager-section h3 { margin: 0 0 9px; color: var(--navy-900); font-size: 1.03rem; }
.manager-section-head { display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.manager-section-head p, .manager-section-copy { margin: -4px 0 10px; color: var(--muted); font-size: .875rem; line-height: 1.45; }
.manager-themes { display: grid; gap: 8px; margin: 0; padding-left: 24px; color: var(--navy-800); }
.manager-themes li { padding-left: 4px; line-height: 1.5; }
.manager-recommendations { display: grid; gap: 10px; }
.manager-recommendation { padding: 17px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.manager-recommendation h4 { margin: 8px 0 5px; color: var(--navy-900); font-size: 1rem; }
.manager-recommendation h5 { margin: 12px 0 4px; color: var(--navy-800); font-size: .875rem; }
.manager-recommendation p { margin: 4px 0; color: var(--muted); font-size: .875rem; line-height: 1.5; }
.manager-recommendation .manager-next-action { color: var(--navy-800); font-weight: 700; }
.manager-recommendation-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; color: var(--muted); font-size: .75rem; font-weight: 760; letter-spacing: .02em; text-transform: uppercase; }
.manager-severity { padding: 3px 7px; border-radius: 999px; background: #eef1f7; color: #3b4961; }
.manager-severity[data-severity="CLINICAL RULE"] { background: #e7edff; color: #233d91; }
.manager-severity[data-severity="SAFEGUARDING RULE"] { background: #fee7e9; color: #a41420; }
.manager-severity[data-severity="OWNER GAP"] { background: #fff0dc; color: #984b00; }
.manager-severity[data-severity="ACTION"] { background: #fff7cf; color: #725b00; }
.manager-card-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.manager-evidence { margin-top: 13px; padding: 13px 14px; border: 1px solid #dce4f1; border-radius: 11px; background: #f8fafc; }
.manager-evidence-list { display: grid; gap: 0; margin: 6px 0 0; }
.manager-evidence-list > div { display: grid; grid-template-columns: minmax(130px, .4fr) minmax(0, 1fr); gap: 12px; padding: 7px 0; border-bottom: 1px solid #e4e9f2; }
.manager-evidence-list > div:last-child { border-bottom: 0; }
.manager-evidence-list dt { color: #52617a; font-size: .8125rem; font-weight: 760; }
.manager-evidence-list dd { margin: 0; color: var(--navy-800); font-size: .875rem; line-height: 1.45; overflow-wrap: anywhere; }
.manager-coverage { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.manager-coverage-card { display: grid; gap: 5px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.manager-coverage-card strong { color: var(--navy-800); font-size: .875rem; }
.manager-coverage-card span, .manager-coverage-card small { color: var(--muted); font-size: .8125rem; line-height: 1.45; }
.manager-coverage-card small { color: #32705f; font-weight: 700; }
.manager-empty { padding: 22px; border: 1px dashed var(--line); border-radius: 13px; color: var(--muted); text-align: center; }
.manager-table-wrap { max-height: 290px; }
.manager-table-wrap th, .manager-table-wrap td { padding: 10px 12px; font-size: .78rem; }
.manager-boundary { display: flex; gap: 8px; margin: 20px 24px 0; padding: 13px 15px; border-left: 4px solid #5b4bd9; border-radius: 8px; background: #f4f2ff; color: #403770; font-size: .8rem; line-height: 1.5; }
.manager-boundary strong { flex: 0 0 auto; }

.guide-list { display: grid; gap: 0; padding: 12px 0 0; list-style: none; counter-reset: guide; }
.guide-list li { position: relative; display: grid; gap: 2px; padding: 13px 0 13px 46px; border-bottom: 1px solid #e8edf4; counter-increment: guide; }
.guide-list li::before { content: counter(guide); position: absolute; top: 12px; left: 0; display: grid; width: 31px; height: 31px; place-items: center; border-radius: 9px; background: var(--navy-900); color: #fff; font-size: .78rem; font-weight: 850; }
.guide-list strong { color: var(--navy-800); }
.guide-list span { color: var(--muted); font-size: .82rem; }
.info-callout { display: grid; gap: 4px; padding: 14px 15px; border: 1px solid #b6ebe3; border-radius: 11px; background: #eefcf9; }
.info-callout strong { color: #125d55; }
.info-callout span { color: #436b67; font-size: .8rem; }
.prose { padding-top: 12px; }
.prose p { color: #445168; line-height: 1.65; }

.volunteer-suite {
  margin-bottom: 22px;
  overflow: hidden;
  border: 1px solid #b8dce1;
  border-radius: var(--radius-md);
  background: #fff;
  box-shadow: var(--shadow-sm);
}

.volunteer-suite-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 21px 22px 18px;
  background: linear-gradient(120deg, #f5fffd 0%, #eef7ff 100%);
  border-bottom: 1px solid #cfe3e7;
}

.volunteer-suite-head h2 { margin: 4px 0 4px; color: var(--navy-900); font-size: 1.25rem; letter-spacing: -.02em; }
.volunteer-suite-head p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: .82rem; }
.volunteer-suite-tools { display: flex; flex: 0 0 auto; align-items: center; gap: 9px; }
.ops-search input { width: min(230px, 30vw); min-height: 38px; border: 1px solid #b8d4d7; border-radius: 9px; padding: 8px 10px; background: #fff; color: var(--ink); font-size: .75rem; }
.ops-search input:focus { border-color: var(--teal-600); box-shadow: 0 0 0 3px rgb(20 184 166 / 12%); outline: 0; }
.working-badge { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 7px; padding: 7px 11px; border: 1px solid #8ee0d4; border-radius: 999px; background: #e8fff9; color: #096d62; font-size: .72rem; font-weight: 850; }
.working-badge::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #0d9488; }

.volunteer-tabs {
  display: flex;
  gap: 5px;
  padding: 10px 12px;
  overflow-x: auto;
  border-bottom: 1px solid var(--line);
  background: #fff;
  scrollbar-width: thin;
}

.volunteer-tabs button {
  flex: 0 0 auto;
  min-height: 36px;
  padding: 7px 11px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: #526078;
  font-size: .75rem;
  font-weight: 780;
}

.volunteer-tabs button:hover { background: var(--surface-soft); color: var(--navy-800); }
.volunteer-tabs button[aria-current="page"] { border-color: #a8ddd6; background: #eafbf7; color: #0b6f65; }
.volunteer-view { min-height: 250px; padding: 20px; }

.ops-view-head,
.ops-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
}

.ops-view-head h3,
.ops-section-head h3 { margin: 0 0 3px; color: var(--navy-900); font-size: 1.06rem; }
.ops-view-head p,
.ops-section-head p { margin: 0; color: var(--muted); font-size: .8rem; }
.ops-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }

.ops-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 11px;
  margin-bottom: 21px;
}

.ops-kpi-grid article {
  display: grid;
  gap: 7px;
  min-height: 112px;
  align-content: space-between;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--surface-soft);
}

.ops-kpi-grid span { color: var(--muted); font-size: .74rem; font-weight: 760; }
.ops-kpi-grid strong { color: var(--navy-900); font-size: 1.75rem; line-height: 1; font-variant-numeric: tabular-nums; }
.ops-kpi-grid small { color: var(--muted); font-size: .68rem; }

.clinical-shift-strip {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  padding: 11px 13px;
  border: 1px solid #b8dce1;
  border-radius: 10px;
  background: #f3fbfc;
}
.clinical-shift-strip span { color: var(--teal-700); font-size: .68rem; font-weight: 850; text-transform: uppercase; }
.clinical-shift-strip strong { color: var(--navy-900); font-size: .82rem; }
.clinical-shift-strip small { color: var(--muted); font-size: .68rem; text-align: right; }
.clinical-kpi-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.clinical-attention-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.clinical-attention-list button { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 3px 10px; padding: 12px 13px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--ink); text-align: left; }
.clinical-attention-list button:hover { border-color: #7dcfc4; background: #f6fffd; }
.clinical-attention-list span { grid-row: 1 / 3; align-self: center; padding: 5px 7px; border-radius: 7px; background: #eafbf7; color: var(--teal-700); font-size: .63rem; font-weight: 850; text-transform: uppercase; }
.clinical-attention-list strong { min-width: 0; color: var(--navy-800); font-size: .76rem; }
.clinical-attention-list small { min-width: 0; color: var(--muted); font-size: .66rem; }
.clinical-boundary { display: grid; gap: 3px; margin-bottom: 16px; padding: 12px 14px; border: 1px solid #f2c990; border-radius: 10px; background: #fff9ed; }
.clinical-boundary strong { color: #8a4c0b; font-size: .75rem; }
.clinical-boundary span { color: #7a5a32; font-size: .72rem; line-height: 1.45; }

.active-ageing-suite { border-color: #edcf9e; }
.active-ageing-head { background: linear-gradient(120deg, #fffaf0 0%, #f7fbff 100%); border-bottom-color: #ead9bb; }
.active-ageing-tabs button[aria-current="page"] { border-color: #e7be78; background: #fff6e5; color: #8a4c0b; }
.active-working-badge { border-color: #edc87e; background: #fff8e8; color: #7a4a08; }
.active-working-badge::before { background: #d97706; }
.active-ageing-strip { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 12px; padding: 13px 15px; border: 1px solid #edcf9e; border-radius: 10px; background: linear-gradient(100deg, #fff8e8, #fffdf8); }
.active-ageing-strip div { display: grid; gap: 3px; }
.active-ageing-strip span { color: #9a5b07; font-size: .68rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.active-ageing-strip strong { color: var(--navy-900); font-size: .82rem; }
.active-ageing-strip small { color: var(--muted); font-size: .68rem; text-align: right; }
.active-kpi-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.active-attention-list span { background: #fff3d9; color: #9a5b07; }
.active-coverage button:hover { border-color: #e7be78; background: #fffaf0; }
.active-coverage button > span { color: #9a5b07; }

.outreach-suite { border-color: #a9d6cc; }
.outreach-head { background: linear-gradient(120deg, #f1fbf8 0%, #f5f8ff 100%); border-bottom-color: #bcded6; }
.outreach-tabs button[aria-current="page"] { border-color: #70b8a8; background: #eaf8f4; color: #075e54; }
.outreach-working-badge { border-color: #8bcabb; background: #ecfaf6; color: #075e54; }
.outreach-working-badge::before { background: #0f8a78; }
.outreach-strip { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 12px; padding: 13px 15px; border: 1px solid #a9d6cc; border-radius: 10px; background: linear-gradient(100deg, #edf9f6, #f8fffd); }
.outreach-strip div { display: grid; gap: 3px; }
.outreach-strip span { color: #087365; font-size: .68rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.outreach-strip strong { color: var(--navy-900); font-size: .82rem; }
.outreach-strip small { color: var(--muted); font-size: .68rem; text-align: right; }
.outreach-kpi-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.outreach-attention-list span { background: #e4f6f1; color: #087365; }
.outreach-coverage button:hover { border-color: #70b8a8; background: #f1fbf8; }
.outreach-coverage button > span { color: #087365; }
.outreach-boundary { display: grid; gap: 4px; margin-bottom: 14px; padding: 12px 14px; border: 1px solid #7ebcaf; border-left: 4px solid #0f8a78; border-radius: 9px; background: #edf9f6; color: #20433e; }
.outreach-boundary strong { color: #075e54; font-size: .78rem; }
.outreach-boundary span { font-size: .72rem; line-height: 1.45; }
.information-referral-suite { border-color: #c8b8e8; }
.information-referral-head { background: linear-gradient(120deg, #f8f5ff 0%, #f4f8ff 100%); border-bottom-color: #d7cdec; }
.information-referral-tabs button[aria-current="page"] { border-color: #9a82cf; background: #f2edff; color: #52368d; }
.information-working-badge { border-color: #baa7df; background: #f5f1ff; color: #52368d; }
.information-working-badge::before { background: #7451b7; }
.information-strip { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 12px; padding: 13px 15px; border: 1px solid #c8b8e8; border-radius: 10px; background: linear-gradient(100deg, #f5f1ff, #fbfaff); }
.information-strip div { display: grid; gap: 3px; }
.information-strip span { color: #6542a4; font-size: .68rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.information-strip strong { color: var(--navy-900); font-size: .82rem; }
.information-strip small { color: var(--muted); font-size: .68rem; text-align: right; }
.information-kpi-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.information-coverage button:hover { border-color: #9a82cf; background: #f8f5ff; }
.information-coverage button > span { color: #6542a4; }
.official-boundary { display: grid; gap: 4px; margin-bottom: 16px; padding: 12px 14px; border: 1px solid #b7a2df; border-left: 4px solid #7451b7; border-radius: 9px; background: #f5f1ff; color: #41345e; }
.official-boundary strong { color: #52368d; font-size: .78rem; }
.official-boundary span { font-size: .72rem; line-height: 1.45; }
.information-card-grid .ops-card dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.day-care-rehab-suite { border-color: #a8cce2; }
.day-care-rehab-head { background: linear-gradient(120deg, #f0f8fc 0%, #f5fbff 100%); border-bottom-color: #bfd9e8; }
.day-care-rehab-tabs button[aria-current="page"] { border-color: #6ea9ca; background: #eaf6fc; color: #175d80; }
.day-care-working-badge { border-color: #82bad7; background: #eaf7fd; color: #175d80; }
.day-care-working-badge::before { background: #237ba7; }
.day-care-strip { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 12px; padding: 13px 15px; border: 1px solid #a8cce2; border-radius: 10px; background: linear-gradient(100deg, #edf8fd, #f9fdff); }
.day-care-strip div { display: grid; gap: 3px; }
.day-care-strip span { color: #176486; font-size: .68rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.day-care-strip strong { color: var(--navy-900); font-size: .82rem; }
.day-care-strip small { color: var(--muted); font-size: .68rem; text-align: right; }
.day-care-kpi-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.day-care-coverage button:hover { border-color: #6ea9ca; background: #f0f8fc; }
.day-care-coverage button > span { color: #176486; }
.day-care-boundary { display: grid; gap: 4px; margin-bottom: 16px; padding: 12px 14px; border: 1px solid #8abbd4; border-left: 4px solid #237ba7; border-radius: 9px; background: #edf8fd; color: #294957; }
.day-care-boundary strong { color: #175d80; font-size: .78rem; }
.day-care-boundary span { font-size: .72rem; line-height: 1.45; }
.day-care-card-grid .ops-card dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.physical-wellness-suite { border-color: #e4b7c2; }
.physical-wellness-head { background: linear-gradient(120deg, #fff4f6 0%, #f8f7ff 100%); border-bottom-color: #ebccd3; }
.physical-wellness-tabs button[aria-current="page"] { border-color: #ce7f91; background: #fff0f3; color: #8d3248; }
.physical-working-badge { border-color: #d995a5; background: #fff1f4; color: #8d3248; }
.physical-working-badge::before { background: #b94f68; }
.physical-strip { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 12px; padding: 13px 15px; border: 1px solid #e4b7c2; border-radius: 10px; background: linear-gradient(100deg, #fff1f4, #fffbfc); }
.physical-strip div { display: grid; gap: 3px; }
.physical-strip span { color: #9b3f55; font-size: .68rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.physical-strip strong { color: var(--navy-900); font-size: .82rem; }
.physical-strip small { color: var(--muted); font-size: .68rem; text-align: right; }
.physical-kpi-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.physical-coverage button:hover { border-color: #ce7f91; background: #fff5f7; }
.physical-coverage button > span { color: #9b3f55; }
.physical-boundary { display: grid; gap: 4px; margin-bottom: 16px; padding: 12px 14px; border: 1px solid #d28a9a; border-left: 4px solid #b94f68; border-radius: 9px; background: #fff1f4; color: #5b3740; }
.physical-boundary strong { color: #8d3248; font-size: .78rem; }
.physical-boundary span { font-size: .72rem; line-height: 1.45; }
.physical-card-grid .ops-card dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.active-boundary { display: grid; gap: 3px; margin-bottom: 16px; padding: 12px 14px; border: 1px solid #edcf9e; border-radius: 10px; background: #fffaf0; }
.active-boundary strong { color: #8a4c0b; font-size: .75rem; }
.active-boundary span { color: #6d593b; font-size: .72rem; line-height: 1.45; }

.coverage-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.coverage-grid button {
  position: relative;
  display: grid;
  min-height: 155px;
  align-content: start;
  gap: 6px;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fff;
  color: var(--ink);
  text-align: left;
}

.coverage-grid button:hover { border-color: #7dcfc4; background: #f6fffd; transform: translateY(-1px); box-shadow: var(--shadow-sm); }
.coverage-grid button > span { color: var(--teal-700); font-size: .68rem; font-weight: 900; letter-spacing: .1em; }
.coverage-grid button strong { color: var(--navy-800); font-size: .88rem; }
.coverage-grid button small { color: var(--muted); font-size: .73rem; line-height: 1.45; }
.coverage-grid button em { margin-top: auto; color: var(--success); font-size: .67rem; font-style: normal; font-weight: 850; text-transform: uppercase; }

.ops-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 11px; }
.ops-table { min-width: 860px; }
.ops-table th { padding: 11px 12px; font-size: .64rem; }
.ops-table td { padding: 12px; font-size: .76rem; vertical-align: top; }
.ops-table td > strong,
.ops-table td > small { display: block; }
.ops-table td > small { margin-top: 3px; color: var(--muted); font-size: .67rem; }
.ops-table .row-actions { flex-wrap: wrap; justify-content: flex-start; }

.ops-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.ops-tags > span { padding: 3px 6px; border: 1px solid #d6dfec; border-radius: 999px; background: #f7f9fc; color: #526078; font-size: .64rem; white-space: nowrap; }
.muted-copy { color: var(--muted); }

.ops-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 4px 7px;
  border-radius: 999px;
  background: #eef1f6;
  color: #475467;
  font-size: .65rem;
  font-weight: 820;
  white-space: nowrap;
}

.ops-badge-success { background: var(--success-soft); color: var(--success); }
.ops-badge-warning { background: var(--warning-soft); color: var(--warning); }
.ops-badge-danger { background: var(--danger-soft); color: var(--danger); }
.ops-badge-open { background: var(--sky-100); color: #175cd3; }
.ops-progress { display: block; width: 90px; height: 6px; margin-bottom: 5px; overflow: hidden; appearance: none; border: 0; border-radius: 999px; background: #e3e9f1; }
.ops-progress::-webkit-progress-bar { background: #e3e9f1; border-radius: 999px; }
.ops-progress::-webkit-progress-value { background: var(--teal-600); border-radius: 999px; }
.ops-progress::-moz-progress-bar { background: var(--teal-600); border-radius: 999px; }
.ops-complete-note { color: var(--success); font-size: .7rem; font-weight: 800; }

.onboarding-list,
.training-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.onboarding-list > article,
.training-grid > article {
  display: grid;
  gap: 13px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fff;
}

.onboarding-head,
.ops-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.onboarding-head strong,
.onboarding-head small,
.ops-card-head strong,
.ops-card-head small { display: block; }
.onboarding-head small,
.ops-card-head small { color: var(--muted); font-size: .67rem; }
.checklist { display: grid; gap: 5px; }
.checklist span { display: flex; align-items: center; gap: 7px; color: #6b768c; font-size: .73rem; }
.checklist span b { display: grid; width: 18px; height: 18px; place-items: center; border-radius: 50%; background: #eef1f6; color: #647087; font-size: .65rem; }
.checklist span.is-complete { color: #2f5f58; }
.checklist span.is-complete b { background: #d9f8ef; color: var(--success); }

.ops-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.ops-card { display: grid; align-content: start; gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.ops-card h4 { margin: 2px 0 0; color: var(--navy-800); font-size: .92rem; }
.ops-card > p { margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.55; }
.ops-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0; }
.ops-card dl div { padding: 8px; border-radius: 8px; background: var(--surface-soft); }
.ops-card dt { color: var(--muted); font-size: .6rem; font-weight: 800; text-transform: uppercase; }
.ops-card dd { margin: 2px 0 0; color: var(--navy-800); font-size: .73rem; }
.ops-card .button { width: 100%; margin-top: auto; }
.ops-boundary { padding-top: 8px; border-top: 1px solid var(--line); color: var(--success); font-size: .67rem; font-weight: 800; }

.training-list { display: grid; gap: 0; }
.training-list > div { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 8px; padding: 10px 0; border-bottom: 1px solid #e8edf4; }
.training-list > div:last-child { border-bottom: 0; }
.training-list span strong,
.training-list span small { display: block; }
.training-list span strong { color: var(--navy-800); font-size: .74rem; }
.training-list span small { color: var(--muted); font-size: .65rem; }

.ops-inline-summary { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 12px; }
.ops-inline-summary span { padding: 8px 11px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-soft); color: var(--muted); font-size: .72rem; }
.ops-inline-summary strong { margin-left: 4px; color: var(--navy-800); }
.ops-subsection { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }

.report-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.report-grid button { display: grid; gap: 4px; padding: 15px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--navy-800); text-align: left; }
.report-grid button:hover { border-color: #7dcfc4; background: #f6fffd; }
.report-grid button strong { font-size: .82rem; }
.report-grid button span { color: var(--muted); font-size: .7rem; }

.control-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.control-grid article { padding: 16px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-soft); }
.control-grid h4 { margin: 0 0 12px; color: var(--navy-800); font-size: .86rem; }
.control-grid article > div { display: grid; gap: 2px; padding: 9px 0; border-bottom: 1px solid #dfe6ef; }
.control-grid article > div:last-child { border-bottom: 0; }
.control-grid article > div strong { color: #344158; font-size: .7rem; }
.control-grid article > div span { color: var(--muted); font-size: .68rem; line-height: 1.45; }

.toast-region {
  position: fixed;
  z-index: 100;
  right: 20px;
  bottom: 20px;
  display: grid;
  width: min(360px, calc(100vw - 40px));
  gap: 9px;
  pointer-events: none;
}
.toast { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: start; padding: 13px 14px; border: 1px solid #c8d5e4; border-radius: 12px; background: #fff; color: var(--navy-800); box-shadow: 0 14px 40px rgb(7 17 39 / 18%); pointer-events: auto; animation: toast-in .2s ease-out; }
.toast::before { content: "✓"; display: grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; background: var(--success-soft); color: var(--success); font-size: .72rem; font-weight: 900; }
.toast-error::before { content: "!"; background: var(--danger-soft); color: var(--danger); }
.toast span { font-size: .8rem; }
.toast button { padding: 0; border: 0; background: transparent; color: var(--muted); font-weight: 900; }
@keyframes toast-in { from { opacity: 0; transform: translateY(8px); } }

.noscript { position: fixed; inset: 0; z-index: 999; display: grid; place-items: center; padding: 30px; background: #fff; color: var(--navy-900); font-weight: 800; text-align: center; }

@media (max-width: 1050px) {
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ops-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .clinical-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .active-kpi-grid, .outreach-kpi-grid, .information-kpi-grid, .day-care-kpi-grid, .physical-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .coverage-grid, .ops-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .control-grid { grid-template-columns: 1fr 1fr; }
  .workspace-head { align-items: stretch; flex-direction: column; }
  .workspace-actions { justify-content: flex-start; }
}

@media (max-width: 820px) {
  :root { --topbar-height: auto; }
  .topbar { position: relative; align-items: flex-start; padding: 14px 18px; }
  .brand small, .safety-badge { display: none; }
  .topbar-actions { flex-wrap: wrap; gap: 8px; }
  .role-control > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .demo-banner { justify-content: flex-start; padding: 9px 18px; }
  .app-shell { display: block; }
  .sidebar { position: relative; top: auto; display: block; height: auto; padding: 12px 14px; overflow-x: auto; }
  .sidebar-label, .sidebar-card, .sidebar-footer { display: none; }
  .module-nav { display: flex; width: max-content; gap: 6px; }
  .module-button { width: 170px; grid-template-columns: 31px minmax(0,1fr); padding: 9px; }
  .module-icon { width: 31px; height: 31px; }
  .module-count { display: none; }
  .workspace { padding: 26px 18px 44px; }
  .site-credit { padding: 18px; }
  .panel-head { align-items: stretch; flex-direction: column; }
  .volunteer-view { padding: 16px; }
  .filters { width: 100%; }
  .filters label { flex: 1; }
  .filters input, .filters select { width: 100%; }
}

@media (max-width: 620px) {
  .topbar { gap: 12px; }
  .brand > span:last-child { display: none; }
  .topbar-actions { width: 100%; justify-content: flex-end; }
  .button-quiet { margin-right: auto; }
  .demo-banner { display: block; font-size: .78rem; }
  .demo-banner strong { display: block; }
  .workspace-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workspace-actions .button-primary { grid-column: 1 / -1; grid-row: 1; }
  .workspace-actions .button-manager { grid-column: 1 / -1; }
  .metric-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .volunteer-suite-head, .ops-view-head, .ops-section-head { align-items: stretch; flex-direction: column; }
  .volunteer-suite-tools { width: 100%; align-items: stretch; flex-direction: column; }
  .ops-search input { width: 100%; }
  .working-badge { align-self: flex-start; }
  .ops-actions { justify-content: flex-start; }
  .ops-kpi-grid, .coverage-grid, .ops-card-grid, .onboarding-list, .training-grid, .report-grid, .control-grid { grid-template-columns: 1fr; }
  .clinical-shift-strip { grid-template-columns: 1fr; }
  .clinical-shift-strip small { text-align: left; }
  .active-ageing-strip { align-items: flex-start; flex-direction: column; }
  .active-ageing-strip small { text-align: left; }
  .outreach-strip { align-items: flex-start; flex-direction: column; }
  .outreach-strip small { text-align: left; }
  .information-strip { align-items: flex-start; flex-direction: column; }
  .information-strip small { text-align: left; }
  .day-care-strip { align-items: flex-start; flex-direction: column; }
  .day-care-strip small { text-align: left; }
  .physical-strip { align-items: flex-start; flex-direction: column; }
  .physical-strip small { text-align: left; }
  .clinical-kpi-grid, .clinical-attention-list, .active-kpi-grid, .outreach-kpi-grid, .information-kpi-grid, .day-care-kpi-grid, .physical-kpi-grid { grid-template-columns: 1fr; }
  .information-card-grid .ops-card dl { grid-template-columns: 1fr; }
  .day-care-card-grid .ops-card dl { grid-template-columns: 1fr; }
  .physical-card-grid .ops-card dl { grid-template-columns: 1fr; }
  .coverage-grid button { min-height: 135px; }
  .ops-table { min-width: 0; }
  .ops-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .ops-table, .ops-table tbody, .ops-table tr, .ops-table td { display: block; width: 100%; }
  .ops-table tbody { padding: 5px 12px; }
  .ops-table tbody tr { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 15px; padding: 14px 0; }
  .ops-table td { padding: 0; }
  .ops-table td::before { content: attr(data-label); display: block; margin-bottom: 3px; color: var(--muted); font-size: .59rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
  .ops-table td:first-child, .ops-table td:last-child { grid-column: 1 / -1; }
  .training-list > div { grid-template-columns: minmax(0, 1fr) auto; }
  .training-list .row-button { grid-column: 1 / -1; width: 100%; }
  .metric-card { min-height: 122px; padding: 16px; }
  .metric-card strong { font-size: 1.75rem; }
  .manager-runtime { align-items: stretch; flex-direction: column; margin-inline: 16px; }
  .manager-scope-bar { align-items: stretch; flex-direction: column; margin-inline: 16px; }
  .manager-controls { display: grid; grid-template-columns: 1fr; }
  .manager-overview, .manager-metrics, .manager-section, .manager-boundary, .manager-ai-last-success { margin-left: 16px; margin-right: 16px; }
  .manager-metrics { grid-template-columns: 1fr 1fr; }
  .manager-recommendation { padding: 15px; }
  .manager-section-head { align-items: stretch; flex-direction: column; }
  .manager-section-head > .button { width: 100%; }
  .manager-card-actions { display: grid; grid-template-columns: 1fr; }
  .manager-card-actions .button { width: 100%; }
  .manager-evidence-list > div { grid-template-columns: 1fr; gap: 2px; }
  .manager-coverage { grid-template-columns: 1fr; }
  .manager-boundary { display: block; }
  .manager-boundary strong { display: block; margin-bottom: 4px; }
  .manager-table-wrap table { display: table; min-width: 620px; }
  .manager-table-wrap thead { position: static; display: table-header-group; width: auto; height: auto; overflow: visible; clip: auto; }
  .manager-table-wrap tbody { display: table-row-group; width: auto; padding: 0; }
  .manager-table-wrap tr { display: table-row; width: auto; }
  .manager-table-wrap th, .manager-table-wrap td { display: table-cell; width: auto; padding: 9px 10px; border-bottom: 1px solid var(--line); }
  .manager-table-wrap td::before { display: none; content: none; }
  .filters { flex-direction: column; }
  .filters label { width: 100%; }
  thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  table, tbody, tr, td { display: block; width: 100%; }
  tbody { padding: 8px 14px; }
  tbody tr { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 16px; padding: 15px 2px; border-bottom: 1px solid var(--line); }
  tbody tr:last-child { border-bottom: 0; }
  td { padding: 0; border: 0; }
  td:first-child, td:last-child { grid-column: 1 / -1; }
  td::before { display: block; margin-bottom: 2px; color: var(--muted); font-size: .64rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
  td:nth-child(2)::before { content: "Owner"; }
  td:nth-child(3)::before { content: "Date"; }
  td:nth-child(4)::before { content: "Priority"; }
  td:nth-child(5)::before { content: "Status"; }
  .row-actions { justify-content: flex-start; padding-top: 3px; }
  .form-grid, .detail-grid { grid-template-columns: 1fr; }
  .field-wide, .detail-item-wide { grid-column: auto; }
  .activity-item { grid-template-columns: 32px minmax(0, 1fr); }
  .activity-time { grid-column: 2; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media print {
  body { background: #fff; color: #000; }
  .topbar, .demo-banner, .sidebar, .workspace-actions, .filters, .activity-panel, .row-actions, .toast-region, .volunteer-tabs, .ops-view-head .button, .report-grid { display: none !important; }
  .app-shell { display: block; }
  .workspace { max-width: none; padding: 0; }
  .workspace-head { margin: 0 0 18px; }
  .metric-card, .data-panel { break-inside: avoid; box-shadow: none; }
  .metric-grid { grid-template-columns: repeat(4, 1fr); }
  table { font-size: 10pt; }
}
