:root {
  --ink: #17333a;
  --muted: #677c80;
  --line: #dce7e5;
  --paper: #ffffff;
  --canvas: #f3f7f6;
  --teal-900: #183f43;
  --teal-800: #1e5257;
  --teal-700: #23656a;
  --teal-600: #2f7a77;
  --teal-500: #3a8d88;
  --mint: #dff1eb;
  --green: #2f8a62;
  --amber: #bc7d21;
  --red: #b94f4a;
  --shadow: 0 12px 32px rgba(25, 65, 67, 0.08);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--ink);
  background: var(--canvas);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

button, input, select, textarea { font: inherit; }

.app-shell { min-height: 100vh; }

.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: 245px;
  padding: 30px 20px;
  color: #f6fbfa;
  background: linear-gradient(180deg, #173f43 0%, #123438 100%);
  display: flex;
  flex-direction: column;
  z-index: 10;
}

.sidebar .brand, .sidebar .environment-badge { flex-shrink: 0; }

.sidebar nav {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-color: rgba(204, 232, 223, .45) transparent;
  scrollbar-width: thin;
}

.sidebar nav::-webkit-scrollbar { width: 6px; }
.sidebar nav::-webkit-scrollbar-thumb { background: rgba(204, 232, 223, .38); border-radius: 999px; }

.nav-group { display: grid; gap: 6px; }
.nav-group + .nav-group { margin-top: 18px; }
.nav-group-label {
  margin: 0 11px 2px;
  color: #82aaa8;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 1.25px;
  text-transform: uppercase;
}

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  color: inherit;
  text-decoration: none;
  margin: 0 8px 42px;
}

.brand-mark {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  color: var(--teal-900);
  background: #cce8df;
  border-radius: 13px;
  font-family: Georgia, serif;
  font-size: 26px;
  font-weight: 700;
}

.brand strong, .brand small { display: block; }
.brand strong { font-family: Georgia, serif; font-size: 21px; letter-spacing: .2px; }
.brand small { color: #a8cac8; margin-top: 1px; letter-spacing: 1.3px; text-transform: uppercase; font-size: 9px; }

nav { display: grid; gap: 8px; }

.nav-item {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 12px 14px;
  border-radius: 10px;
  color: #bdd3d2;
  text-decoration: none;
  font-size: 14px;
  font-weight: 650;
}

.nav-item span { width: 20px; text-align: center; font-size: 19px; }
.nav-item:hover, .nav-item.active { color: #fff; background: rgba(213, 241, 232, .13); }

.environment-badge {
  margin-top: auto;
  padding: 13px 14px;
  border: 1px solid rgba(215, 239, 234, .16);
  border-radius: 10px;
  color: #b9cfce;
  font-size: 11px;
  letter-spacing: .3px;
}

.environment-badge span {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 7px;
  border-radius: 50%;
  background: #7fd0aa;
}

main { margin-left: 245px; padding: 42px clamp(24px, 4vw, 58px) 30px; }

.topbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 30px; }
.eyebrow { margin: 0 0 6px; color: var(--teal-500); font-size: 10px; font-weight: 800; letter-spacing: 1.6px; text-transform: uppercase; }
h1, h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-weight: 600; }
h1 { font-size: clamp(30px, 4vw, 42px); letter-spacing: -.5px; }
h2 { font-size: 24px; }
.subtitle { margin: 7px 0 0; color: var(--muted); font-size: 14px; }
.topbar-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 13px; }
.organization-switcher { display: grid; gap: 3px; }
.organization-switcher span { color: var(--muted); font-size: 7px; font-weight: 800; letter-spacing: .55px; text-transform: uppercase; }
.organization-switcher select { max-width: 210px; padding: 7px 28px 7px 9px; color: var(--teal-900); background: #f6f9f8; border: 1px solid var(--line); border-radius: 8px; font-size: 9px; font-weight: 700; }
.organization-switcher select:disabled { cursor: wait; opacity: .6; }
.session-copy { display: grid; justify-items: end; }
.session-copy strong { font-size: 11px; }
.session-copy small { margin-top: 2px; color: var(--muted); font-size: 9px; text-transform: capitalize; }
.icon-button, .avatar { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; }
.icon-button { border: 1px solid var(--line); color: var(--teal-700); background: var(--paper); cursor: pointer; font-size: 21px; }
.icon-button:hover { border-color: var(--teal-500); }
.avatar { color: white; background: var(--teal-700); font-size: 12px; font-weight: 800; }
.account-button, .signout-button { padding: 8px 7px; color: var(--teal-700); background: transparent; border: 0; cursor: pointer; font-size: 9px; font-weight: 800; }
.account-button:hover, .signout-button:hover { color: var(--teal-900); text-decoration: underline; }

.action-bar { display: flex; flex-wrap: wrap; gap: 10px; margin: -10px 0 24px; }
.action-button { min-height: 40px; padding: 0 15px; color: var(--teal-700); background: var(--paper); border: 1px solid #c8d9d7; border-radius: 10px; cursor: pointer; font-size: 12px; font-weight: 750; }
.action-button:hover { border-color: var(--teal-500); background: #f8fbfa; }
.action-button.primary { color: #fff; background: var(--teal-700); border-color: var(--teal-700); }
.action-button.primary:hover { background: var(--teal-900); }
.action-button:disabled { cursor: wait; opacity: .58; }

.error-banner { margin-bottom: 20px; padding: 13px 16px; color: #7d2925; background: #fbe7e5; border: 1px solid #efc5c1; border-radius: 10px; }

.summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 22px; }
.summary-card { position: relative; overflow: hidden; min-height: 142px; padding: 22px; background: var(--paper); border: 1px solid var(--line); border-radius: 15px; box-shadow: var(--shadow); }
.summary-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--teal-500); }
.summary-card strong { display: block; margin: 11px 0 6px; font-family: Georgia, serif; font-size: 35px; }
.summary-card small, .summary-label { color: var(--muted); font-size: 11px; }
.summary-label { font-weight: 750; letter-spacing: .65px; text-transform: uppercase; }
.summary-card.accent-green::before { background: var(--green); }
.summary-card.accent-amber::before { background: var(--amber); }
.summary-card.accent-red::before { background: var(--red); }

.panel { padding: 25px; background: var(--paper); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); }
.panel-heading { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 22px; }
.legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 13px; color: var(--muted); font-size: 10px; }
.legend span { display: flex; align-items: center; gap: 5px; }
.dot { width: 7px; height: 7px; border-radius: 50%; background: #a5b5b4; }
.dot.occupied { background: var(--teal-500); }
.dot.available { background: var(--green); }
.dot.reserved { background: var(--amber); }
.dot.maintenance { background: var(--red); }

.bed-board-toolbar { display: grid; grid-template-columns: repeat(3, minmax(130px, 190px)) 1fr; align-items: end; gap: 9px; margin: 0 0 15px; padding: 11px 12px; background: #f4f8f7; border: 1px solid var(--line); border-radius: 10px; }
.bed-board-toolbar label { display: grid; gap: 4px; color: var(--muted); font-size: 7px; font-weight: 800; letter-spacing: .55px; text-transform: uppercase; }
.bed-board-toolbar select { width: 100%; padding: 8px 28px 8px 9px; color: var(--teal-900); background: #fff; border: 1px solid #c9d9d6; border-radius: 8px; font-size: 9px; font-weight: 700; text-transform: none; }
.bed-board-toolbar p { justify-self: end; margin: 0 2px 8px; color: var(--muted); font-size: 8px; font-weight: 750; }

.bed-grid { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 12px; }
.bed-card { min-height: 118px; padding: 15px; border: 1px solid var(--line); border-radius: 12px; background: #fbfdfc; }
.bed-card.occupied { border-color: #b5d9d4; background: #eef8f5; }
.bed-card.reserved { border-color: #ead6ad; background: #fcf8ed; }
.bed-card.maintenance { border-color: #ebc4c0; background: #fdf3f2; }
.bed-card .bed-location { display: flex; justify-content: space-between; color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .5px; text-transform: uppercase; }
.bed-card h3 { margin: 17px 0 3px; font-family: Georgia, serif; font-size: 17px; }
.bed-card p { margin: 0; color: var(--muted); font-size: 11px; }
.resident-profile-link { width: 100%; display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 10px; margin: 13px 0 3px; padding: 0; color: inherit; background: transparent; border: 0; cursor: pointer; text-align: left; }
.resident-profile-link:hover strong, .resident-profile-link:focus-visible strong { color: var(--teal-700); text-decoration: underline; }
.resident-profile-link:focus-visible { outline: 2px solid var(--teal-500); outline-offset: 3px; border-radius: 8px; }
.resident-profile-link strong { display: block; margin: 0 0 3px; font-family: Georgia, serif; font-size: 17px; }
.resident-profile-link small { display: block; color: var(--muted); font-size: 8px; text-transform: capitalize; }
.resident-photo { position: relative; width: 38px; height: 38px; display: grid; place-items: center; overflow: hidden; color: #fff; background: var(--teal-700); border-radius: 50%; font-size: 10px; font-weight: 850; }
.resident-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.action-button.danger, .action-button.danger-outline { color: #8d3f3a; border-color: #dfb7b3; }
.action-button.danger { color: #fff; background: #954842; border-color: #954842; }
.action-button.danger-outline { background: #fff; }
.status-pill { display: inline-block; margin-top: 12px; padding: 4px 8px; border-radius: 999px; color: var(--teal-700); background: #d8ece7; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.status-pill.available { color: #286a4e; background: #e0f1e8; }
.status-pill.reserved { color: #8c611f; background: #f4e7c9; }
.status-pill.maintenance { color: #90413c; background: #f5dedc; }

.activity-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 22px; }
.compact-panel { min-height: 290px; }
.activity-list { display: grid; }
.activity-row { display: grid; grid-template-columns: 38px 1fr auto; gap: 11px; align-items: center; padding: 13px 0; border-top: 1px solid var(--line); }
.activity-row:first-child { border-top: 0; }
.activity-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; color: var(--teal-700); background: var(--mint); font-weight: 800; }
.activity-copy strong, .activity-copy small { display: block; }
.activity-copy strong { font-size: 13px; }
.activity-copy small, .activity-time { color: var(--muted); font-size: 10px; }
.activity-end { display: grid; justify-items: end; gap: 7px; }
.activity-action { min-height: 28px; padding: 0 9px; color: var(--teal-700); background: #fff; border: 1px solid #bad4d1; border-radius: 8px; cursor: pointer; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.empty-state { padding: 30px 0; color: var(--muted); text-align: center; font-size: 12px; }

.shift-panel { margin-top: 22px; }
.shift-report-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.shift-report-card { padding: 18px; background: #fbfdfc; border: 1px solid var(--line); border-radius: 13px; }
.shift-report-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.shift-report-heading h3 { margin: 10px 0 3px; font-family: Georgia, serif; font-size: 18px; }
.shift-report-heading small { color: var(--muted); font-size: 10px; }
.status-pill.signed { color: #286a4e; background: #e0f1e8; }
.shift-signature { display: grid; min-width: 60px; justify-items: center; padding: 9px; color: var(--teal-700); background: var(--mint); border-radius: 11px; }
.shift-signature strong { font-family: Georgia, serif; font-size: 24px; }
.shift-signature small { color: var(--muted); font-size: 9px; text-transform: uppercase; }
.shift-summary { margin: 15px 0; color: #334e52; font-size: 12px; line-height: 1.55; white-space: pre-wrap; }
.handoff-details { display: grid; gap: 8px; margin: 0; }
.handoff-details div { padding: 10px; background: #f3f7f6; border-radius: 9px; }
.handoff-details dt { color: var(--teal-700); font-size: 9px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; }
.handoff-details dd { margin: 4px 0 0; color: var(--muted); font-size: 10px; line-height: 1.45; white-space: pre-wrap; }
.report-footer { display: flex; justify-content: space-between; padding: 13px 0 0; color: #82918f; font-size: 9px; }

.incident-panel { margin-top: 22px; }
.incident-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.incident-card { position: relative; padding: 18px; overflow: hidden; background: #fbfdfc; border: 1px solid var(--line); border-radius: 13px; }
.incident-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--amber); }
.incident-card.severity-minor::before { background: var(--green); }
.incident-card.severity-serious::before, .incident-card.severity-critical::before { background: var(--red); }
.incident-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.incident-heading h3 { margin: 10px 0 3px; font-family: Georgia, serif; font-size: 18px; }
.incident-heading small { color: var(--muted); font-size: 10px; }
.severity-badge { padding: 6px 9px; color: #8c611f; background: #f4e7c9; border-radius: 999px; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.severity-badge.minor { color: #286a4e; background: #e0f1e8; }
.severity-badge.serious, .severity-badge.critical { color: #90413c; background: #f5dedc; }
.incident-card > p { margin: 15px 0; color: #334e52; font-size: 12px; line-height: 1.55; white-space: pre-wrap; }
.incident-details { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0; }
.incident-details div { padding: 9px; background: #f3f7f6; border-radius: 9px; }
.incident-details dt { color: var(--teal-700); font-size: 8px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; }
.incident-details dd { margin: 4px 0 0; color: var(--muted); font-size: 10px; line-height: 1.4; white-space: pre-wrap; }
.incident-resolution { margin-top: 10px; padding: 11px; color: #35575b; background: var(--mint); border-radius: 9px; }
.incident-resolution strong { font-size: 9px; letter-spacing: .5px; text-transform: uppercase; }
.incident-resolution p { margin: 5px 0 0; font-size: 10px; line-height: 1.45; }
.incident-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; }
.status-pill.under_review { color: #8c611f; background: #f4e7c9; }
.status-pill.closed { color: #586d70; background: #e5eceb; }
.checkbox-label { align-content: center; grid-template-columns: auto 1fr !important; align-items: center; }
.workflow-dialog .checkbox-label input { width: 18px; height: 18px; margin: 0; }

.task-panel { margin-top: 0; }
.task-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.task-card { position: relative; padding: 16px; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 11px; }
.task-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: #9aacaa; }
.task-card.priority-high::before { background: var(--amber); }
.task-card.priority-urgent::before, .task-card.overdue::before { background: var(--red); }
.task-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.task-heading h3 { margin: 9px 0 3px; font-size: 14px; font-weight: 730; letter-spacing: -.15px; }
.task-heading small { color: var(--muted); font-size: 9px; }
.priority-badge { padding: 5px 8px; color: #51676a; background: #edf2f1; border-radius: 999px; font-size: 8px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; }
.priority-badge.high { color: #8c611f; background: #f4e7c9; }
.priority-badge.urgent { color: #90413c; background: #f5dedc; }
.task-card > p { margin: 13px 0; color: #415a5e; font-size: 10px; line-height: 1.5; white-space: pre-wrap; }
.task-details { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin: 0; }
.task-details div { padding: 9px; background: #f4f7f6; border-radius: 8px; }
.task-details dt { color: var(--teal-700); font-size: 8px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; }
.task-details dd { margin: 4px 0 0; color: var(--muted); font-size: 9px; line-height: 1.35; }
.task-resolution { margin-top: 9px; padding: 10px; color: #6e3e3b; background: #f8e8e6; border-radius: 8px; }
.task-resolution strong { font-size: 8px; letter-spacing: .5px; text-transform: uppercase; }
.task-resolution p { margin: 4px 0 0; font-size: 9px; line-height: 1.4; }
.task-actions { display: flex; justify-content: flex-end; gap: 7px; margin-top: 12px; }
.status-pill.in_progress { color: #285f77; background: #e1eef3; }
.status-pill.completed { color: #286a4e; background: #e0f1e8; }
.status-pill.cancelled { color: #586d70; background: #e5eceb; }
.status-pill.overdue { margin-left: 4px; color: #90413c; background: #f5dedc; }

.attendance-workspace { display: grid; gap: 14px; }
.attendance-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.attendance-summary article { position: relative; padding: 16px 18px; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 11px; box-shadow: 0 4px 16px rgba(22, 50, 54, .04); }
.attendance-summary article::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--teal-500); }
.attendance-summary span { display: block; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .7px; text-transform: uppercase; }
.attendance-summary strong { display: block; margin-top: 7px; color: var(--teal-900); font-size: 25px; }
.attendance-panel { margin-top: 0; }
.attendance-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.attendance-card { padding: 16px; background: #fff; border: 1px solid var(--line); border-radius: 11px; }
.attendance-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.attendance-card-heading h3 { margin: 7px 0 3px; color: var(--ink); font-size: 15px; }
.attendance-card-heading small { color: var(--muted); font-size: 9px; }
.activity-type { color: var(--teal-700); font-size: 8px; font-weight: 800; letter-spacing: .7px; text-transform: uppercase; }
.attendance-rate { display: grid; min-width: 70px; justify-items: center; padding: 8px 10px; color: var(--teal-700); background: var(--mint); border-radius: 9px; }
.attendance-rate strong { font-size: 19px; }
.attendance-rate span { margin-top: 1px; color: var(--muted); font-size: 7px; text-transform: uppercase; }
.attendance-meta { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; margin-top: 13px; }
.attendance-meta span { padding: 8px; color: var(--muted); background: #f4f7f6; border-radius: 7px; font-size: 8px; }
.attendance-meta strong { display: block; margin-top: 3px; color: var(--ink); font-size: 10px; }
.attendance-card > p { margin: 12px 0 0; color: #415a5e; font-size: 10px; line-height: 1.45; white-space: pre-wrap; }
.attendance-card details { margin-top: 12px; border-top: 1px solid var(--line); }
.attendance-card summary { padding-top: 11px; color: var(--teal-700); cursor: pointer; font-size: 9px; font-weight: 750; }
.attendance-card-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
.attendance-card-actions small { color: var(--muted); font-size: 8px; line-height: 1.35; }
.attendance-group-note-action { flex: none; }
.attendance-participants { display: grid; gap: 5px; margin: 10px 0 0; padding: 0; list-style: none; }
.attendance-participants li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 8px; background: #f6f9f8; border-radius: 7px; }
.attendance-participants strong, .attendance-participants small { display: block; font-size: 9px; }
.attendance-participants small { margin-top: 2px; color: var(--muted); }
.attendance-status { padding: 4px 7px; color: #51676a; background: #e9efee; border-radius: 999px; font-size: 7px; font-weight: 800; text-transform: uppercase; }
.attendance-status.present, .attendance-status.late { color: #286a4e; background: #e0f1e8; }
.attendance-status.absent { color: #90413c; background: #f5dedc; }
.attendance-status.excused { color: #8c611f; background: #f4e7c9; }
.roster-heading { display: flex; justify-content: space-between; gap: 15px; margin-top: 20px; }
.roster-heading strong { color: var(--teal-900); font-size: 11px; }
.roster-heading small { color: var(--muted); font-size: 9px; }
.attendance-roster { display: grid; gap: 8px; margin-top: 9px; }
.attendance-row { display: grid; grid-template-columns: minmax(160px, 1fr) 145px minmax(150px, 1fr); gap: 9px; align-items: end; padding: 10px; background: #f6f9f8; border: 1px solid var(--line); border-radius: 9px; }
.attendance-row > div strong, .attendance-row > div small { display: block; }
.attendance-row > div strong { color: var(--ink); font-size: 10px; }
.attendance-row > div small { margin-top: 3px; color: var(--muted); font-size: 8px; }

.executive-workspace { display: grid; gap: 14px; }
.executive-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 15px; background: #fff; border: 1px solid var(--line); border-radius: 11px; box-shadow: 0 3px 14px rgba(22, 50, 54, .035); }
.executive-toolbar > div { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 8px; }
.executive-toolbar strong { color: var(--teal-900); font-size: 10px; }
.executive-toolbar small { grid-column: 2; margin-top: 2px; color: var(--muted); font-size: 8px; }
.executive-live-dot { grid-row: 1 / span 2; width: 8px; height: 8px; background: #4caa7e; border: 2px solid #daf0e5; border-radius: 50%; }
.executive-toolbar label { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 9px; font-weight: 750; }
.executive-toolbar select { min-width: 130px; padding: 8px 28px 8px 10px; color: var(--teal-900); background: #f6f9f8; border: 1px solid var(--line); border-radius: 8px; font-size: 9px; font-weight: 700; }
.executive-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.executive-kpi { position: relative; min-height: 116px; padding: 17px; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 5px 18px rgba(22, 50, 54, .045); }
.executive-kpi::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--teal-500); }
.executive-kpi:nth-child(2)::before { background: var(--green); }
.executive-kpi:nth-child(3)::before { background: var(--amber); }
.executive-kpi:nth-child(4)::before { background: var(--red); }
.executive-kpi > span { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .8px; text-transform: uppercase; }
.executive-kpi > strong { display: block; margin: 10px 0 4px; color: var(--teal-900); font-size: 29px; letter-spacing: -.7px; }
.executive-kpi > small { display: block; color: var(--muted); font-size: 8px; line-height: 1.35; }
.executive-grid { display: grid; gap: 14px; }
.executive-grid-primary { grid-template-columns: minmax(0, 1.65fr) minmax(280px, .85fr); }
.executive-grid-secondary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.executive-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; color: var(--muted); font-size: 8px; }
.executive-legend span { display: flex; align-items: center; gap: 4px; }
.trend-dot { width: 7px; height: 7px; border-radius: 2px; }
.trend-dot.attendance, .trend-bars .attendance { background: #4e9e94; }
.trend-dot.tasks, .trend-bars .tasks { background: #7aae86; }
.trend-dot.incidents, .trend-bars .incidents { background: #c66b61; }
.trend-scroll { overflow-x: auto; padding: 4px 0 1px; }
.executive-trend { display: grid; grid-auto-columns: minmax(15px, 1fr); grid-auto-flow: column; align-items: end; gap: 4px; height: 205px; padding: 8px 0 0; border-bottom: 1px solid var(--line); background: repeating-linear-gradient(to top, transparent 0, transparent 48px, #edf2f1 49px); }
.trend-day { display: grid; grid-template-rows: 170px 25px; align-items: end; min-width: 15px; }
.trend-bars { display: flex; align-items: end; justify-content: center; gap: 1px; height: 166px; }
.trend-bars i { width: 28%; min-width: 2px; max-width: 5px; border-radius: 2px 2px 0 0; opacity: .88; }
.trend-day > span { align-self: center; color: #849390; font-size: 6px; text-align: center; white-space: nowrap; transform: rotate(-42deg); }
.executive-health-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.health-signal { position: relative; min-height: 91px; padding: 12px; overflow: hidden; background: #f6f9f8; border: 1px solid var(--line); border-radius: 9px; }
.health-signal::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: #b6c4c2; }
.health-signal.good::before { background: var(--green); }
.health-signal.watch::before { background: var(--amber); }
.health-signal.action::before { background: var(--red); }
.health-signal span { display: block; color: var(--muted); font-size: 7px; font-weight: 800; letter-spacing: .55px; text-transform: uppercase; }
.health-signal strong { display: block; margin: 7px 0 2px; color: var(--teal-900); font-size: 20px; }
.health-signal small { display: block; color: var(--muted); font-size: 7px; line-height: 1.3; }
.executive-breakdown { display: grid; gap: 9px; }
.breakdown-row { display: grid; grid-template-columns: minmax(120px, 1.1fr) minmax(100px, 1fr) 38px; align-items: center; gap: 10px; }
.breakdown-row > div:first-child strong, .breakdown-row > div:first-child small { display: block; }
.breakdown-row > div:first-child strong { color: var(--ink); font-size: 9px; }
.breakdown-row > div:first-child small { margin-top: 2px; color: var(--muted); font-size: 7px; }
.breakdown-row > b { color: var(--teal-700); font-size: 9px; text-align: right; }
.breakdown-meter { height: 7px; overflow: hidden; background: #eaf0ef; border-radius: 999px; }
.breakdown-meter i { display: block; height: 100%; background: var(--teal-500); border-radius: inherit; }
.severity-critical .breakdown-meter i { background: #98453f; }
.severity-serious .breakdown-meter i { background: #c55f56; }
.severity-moderate .breakdown-meter i { background: #c79548; }
.severity-minor .breakdown-meter i { background: var(--green); }
.executive-unit-table { display: grid; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; }
.unit-row { display: grid; grid-template-columns: minmax(160px, 1.4fr) repeat(4, minmax(90px, 1fr)); align-items: center; min-width: 680px; border-top: 1px solid var(--line); }
.unit-row:first-child { border-top: 0; }
.unit-row > span { min-height: 50px; display: grid; align-content: center; padding: 9px 11px; border-left: 1px solid var(--line); }
.unit-row > span:first-child { border-left: 0; }
.unit-row strong, .unit-row small { display: block; }
.unit-row strong { color: var(--ink); font-size: 9px; }
.unit-row small { margin-top: 2px; color: var(--muted); font-size: 7px; }
.unit-header { color: var(--teal-700); background: #f0f5f4; font-size: 7px; font-weight: 800; letter-spacing: .55px; text-transform: uppercase; }
.unit-header > span { min-height: 33px; }
.metric-alert { background: #fcf2f1; }
.metric-alert strong { color: #98453f; }

footer { display: flex; justify-content: space-between; padding: 22px 2px 0; color: #82918f; font-size: 10px; }

.workflow-dialog { width: min(590px, calc(100vw - 30px)); padding: 0; color: var(--ink); background: var(--paper); border: 0; border-radius: 18px; box-shadow: 0 30px 80px rgba(15, 47, 50, .28); }
.workflow-dialog.wide-dialog { width: min(760px, calc(100vw - 30px)); }
.workflow-dialog::backdrop { background: rgba(13, 41, 44, .55); backdrop-filter: blur(3px); }
.workflow-dialog form { padding: 26px; }
.dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.dialog-close { width: 34px; height: 34px; color: var(--muted); background: #f1f5f4; border: 0; border-radius: 50%; cursor: pointer; font-size: 22px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.form-grid .span-2 { grid-column: span 2; }
.workflow-dialog label { display: grid; gap: 7px; color: #486064; font-size: 11px; font-weight: 750; }
.workflow-dialog input, .workflow-dialog select, .workflow-dialog textarea { width: 100%; padding: 11px 12px; color: var(--ink); background: #fbfdfc; border: 1px solid #cadbd8; border-radius: 9px; outline: none; }
.workflow-dialog input:focus, .workflow-dialog select:focus, .workflow-dialog textarea:focus { border-color: var(--teal-500); box-shadow: 0 0 0 3px rgba(58, 141, 136, .12); }
.form-note { margin: 14px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 24px; }
.attendance-dialog-actions { flex-wrap: wrap; }
.attendance-dialog-actions button:disabled { opacity: .55; cursor: wait; }
.account-dialog { width: min(510px, calc(100vw - 30px)); }
.account-dialog form { display: grid; gap: 16px; }
.account-dialog .dialog-heading { margin-bottom: 1px; }
.account-identifier { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.account-error { padding: 11px 12px; color: #873733; background: #fae8e6; border: 1px solid #edc7c3; border-radius: 9px; font-size: 10px; line-height: 1.45; }
.account-session-status { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 11px; padding: 13px; background: #eef7f3; border: 1px solid #cfe4da; border-radius: 10px; }
.account-session-icon { width: 32px; height: 32px; display: grid; place-items: center; color: #286a4e; background: #d8eee4; border-radius: 50%; font-size: 12px; font-weight: 900; }
.account-session-status strong, .account-session-status small, .account-session-status div > span { display: block; }
.account-session-status strong { color: var(--teal-900); font-size: 10px; }
.account-session-status small { margin-top: 3px; color: #286a4e; font-size: 8px; font-weight: 800; }
.account-session-status div > span { margin-top: 3px; color: var(--muted); font-size: 7px; }
.account-session-status button { padding: 7px 9px; color: var(--teal-700); background: #fff; border: 1px solid #bcd8cf; border-radius: 8px; cursor: pointer; font-size: 8px; font-weight: 800; white-space: nowrap; }
.account-session-status button:hover { color: var(--teal-900); border-color: var(--teal-500); }
.account-session-status button:disabled { cursor: wait; opacity: .65; }
.password-guidance { padding: 13px 14px; background: #f3f7f6; border: 1px solid var(--line); border-radius: 10px; }
.password-guidance strong { color: var(--teal-900); font-size: 10px; }
.password-guidance ul { display: grid; grid-template-columns: 1fr 1fr; gap: 7px 14px; margin: 9px 0 0; padding: 0; list-style: none; }
.password-guidance li { color: var(--muted); font-size: 9px; }
.password-guidance li::before { content: "○"; display: inline-block; width: 15px; color: #8fa19f; font-weight: 900; }
.password-guidance li.met { color: #286a4e; }
.password-guidance li.met::before { content: "✓"; color: var(--green); }
.security-note { display: flex; align-items: center; gap: 7px; margin: 0; }
.security-note span { width: 19px; height: 19px; display: grid; flex: 0 0 auto; place-items: center; color: #286a4e; background: #e0f1e8; border-radius: 50%; font-size: 9px; font-weight: 900; }
.account-dialog .dialog-actions { margin-top: 2px; }
.active-sessions { margin-top: 5px; padding-top: 17px; border-top: 1px solid var(--line); }
.active-sessions-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.active-sessions-heading .eyebrow { margin-bottom: 3px; }
.active-sessions-heading h3 { margin: 0; color: var(--teal-900); font-size: 14px; }
.active-sessions-heading button { width: 30px; height: 30px; color: var(--teal-700); background: #f1f5f4; border: 0; border-radius: 50%; cursor: pointer; }
.active-sessions > p { margin: 7px 0 11px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.active-session-list { display: grid; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; }
.active-session-row { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; min-height: 60px; padding: 10px 11px; border-top: 1px solid var(--line); }
.active-session-row:first-child { border-top: 0; }
.session-device-icon { width: 31px; height: 31px; display: grid; place-items: center; color: var(--teal-700); background: #e7f1ef; border-radius: 9px; font-size: 13px; }
.active-session-row strong, .active-session-row small { display: block; }
.active-session-row strong { color: var(--ink); font-size: 9px; }
.active-session-row small { margin-top: 3px; color: var(--muted); font-size: 7px; }
.current-session-badge { margin-left: 5px; padding: 3px 5px; color: #286a4e; background: #e0f1e8; border-radius: 999px; font-size: 6px; font-weight: 850; letter-spacing: .4px; text-transform: uppercase; }
.revoke-session-button { padding: 6px 8px; color: #8d4540; background: #fff; border: 1px solid #e3c3c0; border-radius: 7px; cursor: pointer; font-size: 7px; font-weight: 800; }
.mfa-account-section { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px; background: #f3f7f6; border: 1px solid var(--line); border-radius: 9px; }
.mfa-account-section > div { display: flex; align-items: center; gap: 10px; }
.mfa-account-icon { width: 31px; height: 31px; display: grid; place-items: center; color: var(--teal-700); background: #dcece8; border-radius: 9px; font-size: 10px; }
.mfa-account-section p, .mfa-account-section strong, .mfa-account-section small { display: block; margin: 0; }
.site-access-fieldset { display: grid; gap: 10px; padding: 13px; border: 1px solid var(--line); border-radius: 10px; }
.site-access-fieldset legend { padding: 0 5px; color: var(--teal-900); font-size: 10px; font-weight: 800; }
.site-access-fieldset > p { margin: 0; color: var(--muted); font-size: 8px; }
.site-access-all { display: flex !important; grid-template-columns: auto 1fr !important; align-items: center; gap: 8px !important; }
.site-access-all input { width: 17px !important; height: 17px; margin: 0; }
.site-access-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.site-access-options label { display: flex; grid-template-columns: auto 1fr; align-items: center; gap: 7px; padding: 8px; background: #f4f8f7; border-radius: 8px; font-size: 9px; }
.site-access-options input { width: 16px !important; height: 16px; margin: 0; }
.site-access-options.disabled { opacity: .48; pointer-events: none; }
.team-site-summary { display: block; margin-top: 5px; color: var(--teal-700); font-size: 7px; font-weight: 800; }
.team-access-action.sites { color: var(--teal-700); border-color: #b9d5d1; }
.resident-profile-dialog { width: min(1180px, calc(100vw - 30px)); max-height: calc(100vh - 30px); }
.resident-profile-dialog form { display: grid; gap: 13px; max-height: calc(100vh - 30px); overflow-y: auto; }
.resident-profile-heading { position: sticky; z-index: 5; top: -26px; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 13px; margin: -1px -1px 0; padding: 10px 1px 13px; background: rgba(248, 250, 249, .97); border-bottom: 1px solid var(--line); backdrop-filter: blur(8px); }
.resident-profile-heading h2 { margin: 3px 0 0; color: var(--teal-900); font-size: 20px; }
.resident-profile-source { padding: 6px 9px; color: var(--teal-700); background: #e5f1ef; border-radius: 999px; font-size: 7px; font-weight: 850; letter-spacing: .4px; text-transform: uppercase; white-space: nowrap; }
.resident-profile-print-header { display: none; }
.resident-facesheet-grid { margin-top: 0; }
.resident-profile-photo.has-photo span { visibility: hidden; }
.resident-facesheet-loading { min-height: 260px; display: grid; place-items: center; }
.resident-facesheet-loading p { margin: 0; color: var(--muted); font-size: 10px; }
.resident-facesheet-grid .coverage-status { padding: 5px 7px; color: #45625d; background: #edf3f2; border-radius: 999px; font-size: 7px; font-weight: 800; letter-spacing: .35px; text-transform: uppercase; }
.resident-facesheet-grid .coverage-status.recorded { color: #27674e; background: #e1f2e8; }
.resident-facesheet-grid .coverage-status.upcoming { color: #6f5726; background: #f8edcf; }
.resident-facesheet-grid .coverage-status.expired { color: #8d433f; background: #fae8e6; }
.resident-operations-snapshot { align-self: stretch; }
.resident-operation-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin-top: 12px; }
.resident-operation-metrics > div { min-width: 0; padding: 10px; background: #f3f8f7; border-radius: 8px; }
.resident-operation-metrics span, .resident-operation-metrics strong { display: block; }
.resident-operation-metrics span { color: var(--muted); font-size: 6px; font-weight: 850; letter-spacing: .4px; text-transform: uppercase; }
.resident-operation-metrics strong { margin-top: 4px; color: var(--teal-800); font-size: 14px; }
.resident-profile-activity { display: grid; gap: 11px; }
.resident-profile-activity-list { display: grid; gap: 6px; max-height: 220px; overflow-y: auto; padding-right: 3px; }
.resident-activity-item { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 9px; padding: 9px 10px; background: #f7faf9; border: 1px solid #e4edeb; border-radius: 9px; }
.resident-activity-icon { width: 26px; height: 26px; display: grid; place-items: center; color: #fff; background: var(--teal-700); border-radius: 8px; font-size: 10px; font-weight: 850; }
.resident-activity-icon.incident { background: #b86555; }
.resident-activity-icon.task { background: #6f8d54; }
.resident-activity-icon.pass { background: #b98235; }
.resident-activity-item strong, .resident-activity-item small { display: block; }
.resident-activity-item strong { color: var(--ink); font-size: 9px; }
.resident-activity-item small { margin-top: 3px; overflow: hidden; color: var(--muted); font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.resident-activity-end { display: grid; justify-items: end; gap: 4px; }
.resident-activity-end time { color: var(--muted); font-size: 6px; white-space: nowrap; }
.resident-photo-editor { padding: 11px 13px; background: #f3f7f6; border: 1px solid var(--line); border-radius: 10px; }
.resident-photo-editor summary { color: var(--teal-700); cursor: pointer; font-size: 9px; font-weight: 850; }
.resident-photo-editor > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px 14px; margin-top: 12px; }
.resident-photo-editor .form-note { grid-column: 1 / -1; grid-row: 2; margin: 0; }
.resident-photo-editor .action-button { min-height: 39px; }
.resident-profile-actions { position: sticky; z-index: 4; bottom: -26px; flex-wrap: wrap; margin: 0 -1px -1px; padding: 13px 1px 10px; background: rgba(248, 250, 249, .97); border-top: 1px solid var(--line); backdrop-filter: blur(8px); }
.resident-profile-actions button:disabled { cursor: wait; opacity: .6; }
.mfa-account-section strong { color: var(--teal-900); font-size: 9px; }
.mfa-account-section small { margin-top: 3px; color: var(--muted); font-size: 7px; }
.mfa-account-section > button { padding: 7px 9px; color: var(--teal-700); background: #fff; border: 1px solid #c9d9d6; border-radius: 7px; cursor: pointer; font-size: 8px; font-weight: 800; }
.mfa-dialog { width: min(525px, calc(100vw - 30px)); }
.mfa-dialog form { display: grid; gap: 15px; }
.mfa-dialog .dialog-heading { margin-bottom: 0; }
.mfa-setup-key { padding: 13px; background: #f3f7f6; border: 1px solid var(--line); border-radius: 9px; }
.mfa-setup-key p, .mfa-setup-key small { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.45; }
.mfa-setup-key > span { display: flex; align-items: center; justify-content: space-between; gap: 9px; margin: 9px 0; padding: 9px; background: #fff; border-radius: 7px; }
.mfa-setup-key code { overflow-wrap: anywhere; color: var(--teal-900); font-size: 11px; font-weight: 850; letter-spacing: 1px; }
.mfa-setup-key button, .mfa-recovery-codes button { padding: 6px 8px; color: #fff; background: var(--teal-700); border: 0; border-radius: 6px; cursor: pointer; font-size: 7px; font-weight: 800; }
.mfa-recovery-codes { padding: 14px; color: #286a4e; background: #e6f3ed; border: 1px solid #c5e2d4; border-radius: 10px; }
.mfa-recovery-codes > strong { font-size: 11px; }
.mfa-recovery-codes > p { margin: 4px 0 10px; font-size: 8px; line-height: 1.45; }
.mfa-recovery-codes > div { display: grid; grid-template-columns: repeat(2, 1fr); gap: 5px; margin-bottom: 10px; }
.mfa-recovery-codes code { padding: 7px; color: var(--teal-900); background: #fff; border-radius: 6px; font-size: 9px; font-weight: 800; text-align: center; }
.team-workspace { display: grid; gap: 14px; }
.team-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.team-summary article { padding: 17px 18px; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 5px 18px rgba(22, 50, 54, .045); }
.team-summary span, .team-summary strong { display: block; }
.team-summary span { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .75px; text-transform: uppercase; }
.team-summary strong { margin-top: 7px; color: var(--teal-900); font-size: 25px; }
.team-intro { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.role-key { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: -3px 0 17px; }
.role-key span { padding: 9px 10px; color: var(--muted); background: #f3f7f6; border: 1px solid #e1ebe8; border-radius: 8px; font-size: 8px; line-height: 1.45; }
.role-key strong { display: block; margin-bottom: 2px; color: var(--teal-700); }
.team-toolbar { display: grid; grid-template-columns: minmax(220px, 1fr) 190px 190px auto; align-items: end; gap: 10px; margin-bottom: 12px; }
.team-toolbar label { display: grid; gap: 5px; color: var(--muted); font-size: 7px; font-weight: 800; letter-spacing: .55px; text-transform: uppercase; }
.team-toolbar input, .team-toolbar select { width: 100%; min-height: 37px; padding: 0 10px; color: var(--ink); background: #f8faf9; border: 1px solid var(--line); border-radius: 8px; outline: 0; font-size: 9px; }
.team-toolbar select { padding-right: 28px; }
.team-toolbar input:focus, .team-toolbar select:focus { border-color: var(--teal-500); box-shadow: 0 0 0 3px rgba(50, 122, 115, .1); }
.team-toolbar p { margin: 0 0 10px; color: var(--muted); font-size: 8px; white-space: nowrap; }
.team-user-list { overflow: hidden; border: 1px solid var(--line); border-radius: 10px; }
.team-user-row { display: grid; grid-template-columns: minmax(190px, 1.35fr) minmax(140px, .8fr) 130px minmax(150px, .8fr); align-items: center; min-width: 710px; border-top: 1px solid var(--line); }
.team-user-row:first-child { border-top: 0; }
.team-user-row > div { min-height: 66px; display: grid; align-content: center; padding: 11px 13px; border-left: 1px solid var(--line); }
.team-user-row > div:first-child { border-left: 0; }
.team-user-row strong, .team-user-row small { display: block; }
.team-user-row strong { color: var(--ink); font-size: 10px; }
.team-user-row small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.facility-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.facility-summary article { padding: 17px 18px; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 5px 18px rgba(22, 50, 54, .045); }
.facility-summary span, .facility-summary strong { display: block; }
.facility-summary span { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .75px; text-transform: uppercase; }
.facility-summary strong { margin-top: 7px; color: var(--teal-900); font-size: 25px; }
.facility-toolbar { display: grid; grid-template-columns: minmax(220px, 1fr) 180px auto; align-items: end; gap: 10px; margin: 16px 0; padding: 12px; background: #f5f8f7; border: 1px solid var(--line); border-radius: 11px; }
.facility-toolbar label { display: grid; gap: 5px; color: var(--muted); font-size: 7px; font-weight: 800; letter-spacing: .55px; text-transform: uppercase; }
.facility-toolbar input, .facility-toolbar select { width: 100%; min-height: 36px; padding: 8px 10px; color: var(--ink); background: #fff; border: 1px solid #c5d6d3; border-radius: 8px; font: inherit; font-size: 9px; }
.facility-toolbar input:focus, .facility-toolbar select:focus { border-color: var(--teal-500); box-shadow: 0 0 0 3px rgba(50, 122, 115, .12); outline: none; }
.facility-toolbar > span { align-self: center; color: var(--muted); font-size: 8px; white-space: nowrap; }
.facility-site-list { display: grid; grid-template-columns: 1fr; gap: 16px; }
.facility-site-card { padding: 22px; background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 7px 22px rgba(22, 50, 54, .05); }
.facility-site-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.facility-site-heading h3 { margin: 7px 0 4px; color: var(--ink); font-size: 16px; }
.facility-site-heading p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.5; }
.site-code { color: var(--teal-700); font-size: 7px; font-weight: 850; letter-spacing: .7px; text-transform: uppercase; }
.facility-capacity { min-width: 86px; padding: 10px; color: var(--teal-900); background: var(--mint); border-radius: 9px; text-align: center; }
.facility-capacity strong, .facility-capacity small, .facility-capacity span { display: block; }
.facility-capacity strong { font-size: 22px; }
.facility-capacity small { color: var(--muted); font-size: 7px; text-transform: uppercase; }
.facility-capacity span { margin-top: 5px; color: #286a4e; font-size: 7px; font-weight: 800; }
.facility-site-card dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin: 15px 0 0; }
.facility-site-card dl div { padding: 8px 9px; background: #f5f8f7; border-radius: 7px; }
.facility-site-card dt { color: var(--muted); font-size: 7px; font-weight: 800; text-transform: uppercase; }
.facility-site-card dd { margin: 4px 0 0; color: var(--ink); font-size: 10px; font-weight: 750; }
.facility-unit-list { display: grid; gap: 12px; margin: 16px 0 0; padding: 16px 0 0; border-top: 1px solid var(--line); list-style: none; }
.facility-unit-item { padding: 14px; background: #fafcfb; border: 1px solid #e4ecea; border-radius: 11px; }
.facility-unit-heading { display: grid; grid-template-columns: minmax(180px, 1fr) auto 120px; align-items: end; gap: 14px; }
.facility-unit-list strong, .facility-unit-list small { display: block; }
.facility-unit-list strong { font-size: 11px; }
.facility-unit-list small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.facility-unit-heading label { display: grid; gap: 4px; }
.facility-unit-heading label > span { color: var(--muted); font-size: 7px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; }
.facility-unit-metrics { display: flex; gap: 6px; }
.facility-unit-metrics span { min-width: 66px; padding: 7px 9px; color: var(--muted); background: #f0f5f4; border-radius: 7px; font-size: 8px; text-align: center; }
.facility-unit-list b { color: var(--teal-700); font-size: 10px; }
.facility-unit-actions { display: flex; gap: 7px; margin-top: 11px; padding-top: 10px; border-top: 1px solid #e7efed; }
.facility-filtered-unit { display: inline-flex; align-items: center; min-height: 31px; padding: 7px 10px; color: var(--teal-700); background: #e7f1ef; border-radius: 8px; font-size: 8px; font-weight: 800; }
.facility-unit-actions .danger-action { margin-left: auto; }
.facility-site-actions { display: flex; justify-content: flex-start; gap: 8px; margin-top: 15px; }
.facility-site-actions button, .facility-unit-item button, .facility-room-list button { min-height: 31px; padding: 7px 10px; color: var(--teal-700); background: #fff; border: 1px solid #cbdad7; border-radius: 8px; cursor: pointer; font-size: 8px; font-weight: 800; }
.facility-unit-item button.facility-unit-toggle { color: #fff; background: var(--teal-700); border-color: var(--teal-700); }
.facility-site-actions button:nth-child(2) { color: #fff; background: var(--teal-700); border-color: var(--teal-700); }
.facility-site-actions .danger-action { margin-left: auto; }
.facility-site-actions button.danger-action, .facility-unit-actions button.danger-action, .facility-room-list button.danger-action { color: #98453f; background: #fff7f6; border-color: #e2bbb7; }
.facility-room-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 10px; margin: 12px 0 0; padding: 12px 0 0; border-top: 1px solid var(--line); list-style: none; }
.facility-room-list[hidden] { display: none; }
.facility-room-list li { padding: 12px; background: #fff; border: 1px solid #e0eae8; border-radius: 10px; box-shadow: 0 3px 10px rgba(22, 50, 54, .025); }
.facility-room-heading { display: grid; grid-template-columns: minmax(0, 1fr) 120px; align-items: end; gap: 12px; }
.facility-room-heading > div span, .facility-room-heading > div strong, .facility-room-heading > div small { display: block; }
.facility-room-heading > div span, .facility-room-heading label > span { color: var(--muted); font-size: 7px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; }
.facility-room-heading > div strong { margin-top: 2px; color: var(--ink); font-size: 16px; }
.facility-room-heading > div small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.facility-room-heading label { display: grid; gap: 4px; }
.facility-unit-item select, .facility-room-heading select, .facility-bed select { width: 100%; padding: 7px 22px 7px 8px; color: var(--teal-900); background: #f7faf9; border: 1px solid var(--line); border-radius: 7px; font-size: 8px; font-weight: 700; }
.facility-bed-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 6px; margin-top: 11px; padding-top: 10px; border-top: 1px solid #edf2f1; }
.facility-bed { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 6px; min-height: 38px; padding: 6px 7px; background: #f5f8f7; border-left: 3px solid #6eaaa0; border-radius: 7px; }
.facility-bed.reserved { border-left-color: var(--amber); }
.facility-bed.maintenance, .facility-bed.inactive { border-left-color: var(--red); }
.facility-bed.occupied { border-left-color: var(--teal-700); background: #edf6f4; }
.facility-bed > span { color: var(--ink); font-size: 8px; font-weight: 800; }
.facility-bed select { grid-column: 1 / -1; }
.facility-bed-occupancy { grid-column: 1 / -1; display: grid; gap: 5px; }
.facility-bed-status { padding: 7px 8px; border-radius: 7px; font-size: 8px; font-weight: 800; text-align: center; }
.facility-bed-status.occupied { color: #fff; background: var(--teal-700); }
.facility-unit-item button.facility-bed-resident { min-height: 38px; display: grid; grid-template-columns: 27px minmax(0, 1fr); align-items: center; gap: 7px; overflow: hidden; padding: 5px 7px; color: var(--teal-700); background: #fff; border-color: #bfd5d1; text-align: left; }
.facility-bed-resident > span:last-child { min-width: 0; }
.facility-bed-resident strong, .facility-bed-resident small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.facility-bed-resident strong { font-size: 8px; }
.facility-bed-resident small { margin-top: 2px; color: var(--muted); font-size: 6px; }
.facility-bed-resident-photo { position: relative; width: 27px; height: 27px; display: grid; place-items: center; overflow: hidden; color: #fff; background: var(--teal-700); border-radius: 8px; font-size: 7px; font-weight: 850; }
.facility-bed-resident-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.facility-unit-item button.facility-bed-resident:hover, .facility-unit-item button.facility-bed-resident:focus-visible { color: #fff; background: var(--teal-700); border-color: var(--teal-700); outline: none; }
.facility-unit-item button.facility-bed-resident:hover small, .facility-unit-item button.facility-bed-resident:focus-visible small { color: #d9ece9; }
.facility-unit-item button.facility-bed-edit { min-height: 24px; padding: 4px 7px; color: var(--teal-700); background: transparent; border-color: transparent; font-size: 7px; }
.facility-unit-item button.facility-bed-edit:hover, .facility-unit-item button.facility-bed-edit:focus-visible { background: #e7f1ef; border-color: #c5dad6; outline: none; }
.facility-room-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; padding-top: 10px; border-top: 1px solid #edf2f1; }
.facility-room-actions .danger-action { margin-left: auto; }
.facility-room-list button:disabled { cursor: default; opacity: .45; }
.site-form-section { margin: 0 0 18px; padding: 15px; border: 1px solid var(--line); border-radius: 11px; }
.site-form-section legend { padding: 0 7px; color: var(--teal-700); font-size: 9px; font-weight: 850; letter-spacing: .6px; text-transform: uppercase; }
.site-form-section .three-column { grid-template-columns: repeat(3, 1fr); }
.site-form-section .form-grid.span-2 { grid-column: span 2; }
.site-capacity-preview { margin: 12px 0 0; padding: 9px 11px; color: #286a4e; background: #e8f3ee; border-radius: 8px; font-size: 9px; font-weight: 800; text-align: center; }
.destructive-dialog { width: min(520px, calc(100vw - 30px)); }
.destructive-warning { margin-bottom: 16px; padding: 14px; color: #7d3834; background: #fff3f2; border: 1px solid #edc7c3; border-radius: 10px; }
.destructive-warning strong { display: block; font-size: 11px; }
.destructive-warning p { margin: 5px 0 0; font-size: 9px; line-height: 1.5; }
.team-user-row select { width: 100%; padding: 7px 25px 7px 8px; color: var(--teal-900); background: #f7faf9; border: 1px solid var(--line); border-radius: 7px; font-size: 9px; font-weight: 700; }
.access-status { width: max-content; padding: 4px 7px; border-radius: 999px; font-size: 7px; font-weight: 850; letter-spacing: .45px; text-transform: uppercase; }
.access-status.active { color: #286a4e; background: #e0f1e8; }
.access-status.disabled { color: #8d4540; background: #f5dedc; }
.duty-access-badge { display: block; width: max-content; margin-top: 5px; padding: 4px 7px; color: #526b68; background: #edf3f1; border-radius: 999px; font-size: 7px; font-weight: 800; }
.duty-access-badge.customized { color: #76531e; background: #f6ead2; }
.duty-access-badge.administrator { color: #285f47; background: #e3f1e9; }
.first-login-badge { margin-top: 5px; color: #8c611f; font-size: 7px; font-weight: 750; }
.recovery-request-badge { display: block; width: max-content; margin-top: 5px; color: #8c611f; font-size: 7px; font-weight: 800; }
.team-access-action { width: max-content; padding: 7px 9px; color: var(--teal-700); background: #fff; border: 1px solid #cbdad7; border-radius: 7px; cursor: pointer; font-size: 8px; font-weight: 800; }
.team-access-action.danger { color: #8d4540; border-color: #e3c3c0; }
.team-user-dialog { width: min(640px, calc(100vw - 30px)); }
.field-guidance { display: block; margin-top: 2px; color: var(--muted); font-size: 8px; font-weight: 500; letter-spacing: 0; line-height: 1.4; text-transform: none; }
.temporary-password-field { position: relative; display: block; }
.temporary-password-field input { padding-right: 84px; }
.temporary-password-field button { position: absolute; inset: 5px 5px 5px auto; padding: 0 10px; color: var(--teal-700); background: #eaf3f0; border: 0; border-radius: 6px; cursor: pointer; font-size: 8px; font-weight: 850; }
.team-user-success { padding: 13px 14px; color: #286a4e; background: #e6f3ed; border: 1px solid #c5e2d4; border-radius: 10px; }
.team-user-success strong, .team-user-success p { display: block; }
.team-user-success strong { font-size: 11px; }
.team-user-success p { margin: 3px 0 9px; font-size: 9px; }
.team-user-success > span { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 9px; background: #fff; border-radius: 7px; }
.team-user-success code { overflow: hidden; color: var(--teal-900); font-size: 10px; font-weight: 800; text-overflow: ellipsis; }
.team-user-success button { padding: 5px 8px; color: #fff; background: var(--teal-700); border: 0; border-radius: 6px; cursor: pointer; font-size: 8px; font-weight: 800; }
.team-user-actions { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
.team-access-action.recovery { color: var(--teal-700); border-color: #bad5d1; }
.team-access-action.duties { color: #76531e; background: #fffaf0; border-color: #dac49d; }
.permission-access-dialog { width: min(940px, calc(100vw - 30px)); }
.permission-access-dialog form { display: grid; gap: 14px; }
.permission-access-intro { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 14px; color: var(--teal-900); background: #eef6f3; border: 1px solid #d2e3df; border-radius: 10px; }
.permission-access-intro strong, .permission-access-intro p { display: block; }
.permission-access-intro strong { font-size: 11px; }
.permission-access-intro p { margin: 4px 0 0; color: var(--muted); font-size: 9px; }
.permission-access-intro button { flex: none; min-height: 34px; padding: 7px 10px; color: var(--teal-700); background: #fff; border: 1px solid #bfd5d1; border-radius: 7px; cursor: pointer; font-size: 8px; font-weight: 850; }
.permission-access-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 10px; max-height: min(54vh, 580px); padding: 2px; overflow-y: auto; }
.permission-duty-group { display: grid; gap: 6px; margin: 0; padding: 11px; background: #f8faf9; border: 1px solid var(--line); border-radius: 10px; }
.permission-duty-group legend { padding: 0 6px; color: var(--teal-700); font-size: 8px; font-weight: 900; letter-spacing: .55px; text-transform: uppercase; }
.permission-duty-option { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: start; gap: 8px; padding: 8px; background: #fff; border: 1px solid #e1eae8; border-radius: 8px; cursor: pointer; }
.permission-duty-option:has(input:checked) { background: #edf7f3; border-color: #add0c7; box-shadow: inset 3px 0 var(--teal-500); }
.permission-duty-option input { width: 16px; height: 16px; margin: 1px 0 0; accent-color: var(--teal-700); }
.permission-duty-option strong, .permission-duty-option small { display: block; }
.permission-duty-option strong { color: var(--ink); font-size: 9px; line-height: 1.3; }
.permission-duty-option small { margin-top: 3px; color: var(--muted); font-size: 7px; font-weight: 500; line-height: 1.4; }
.team-access-action.dismiss { color: #805c24; border-color: #dfcda9; }
.lockout-badge { margin-top: 5px; color: #98453f; font-size: 7px; font-weight: 800; }
.password-reset-dialog { width: min(525px, calc(100vw - 30px)); }
.password-reset-dialog form { display: grid; gap: 16px; }
.password-reset-dialog .dialog-heading { margin-bottom: 1px; }
.recovery-effects { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.recovery-effects > span { min-height: 87px; padding: 11px; background: #f3f7f6; border: 1px solid var(--line); border-radius: 9px; }
.recovery-effects i { width: 19px; height: 19px; display: grid; place-items: center; color: #286a4e; background: #dcefe6; border-radius: 50%; font-size: 8px; font-style: normal; font-weight: 900; }
.recovery-effects strong, .recovery-effects small { display: block; }
.recovery-effects strong { margin-top: 8px; color: var(--teal-900); font-size: 9px; }
.recovery-effects small { margin-top: 3px; color: var(--muted); font-size: 7px; line-height: 1.35; }
.security-activity-panel { margin-top: 2px; }
.security-activity-heading { align-items: flex-end; }
.security-filters { display: flex; align-items: flex-end; gap: 8px; }
.security-filters label { display: grid; gap: 4px; color: var(--muted); font-size: 7px; font-weight: 800; letter-spacing: .55px; text-transform: uppercase; }
.security-filters select { min-width: 125px; padding: 8px 27px 8px 9px; color: var(--teal-900); background: #f6f9f8; border: 1px solid var(--line); border-radius: 8px; font-size: 9px; font-weight: 700; text-transform: none; }
.security-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 15px; }
.security-summary article { padding: 13px; background: #f5f8f7; border: 1px solid var(--line); border-radius: 9px; }
.security-summary span, .security-summary strong { display: block; }
.security-summary span { color: var(--muted); font-size: 7px; font-weight: 800; letter-spacing: .55px; text-transform: uppercase; }
.security-summary strong { margin-top: 6px; color: var(--teal-900); font-size: 20px; }
.security-summary article:nth-child(2) strong, .security-summary article:nth-child(3) strong { color: #98453f; }
.security-activity-list { display: grid; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; }
.security-event { display: grid; grid-template-columns: auto minmax(190px, 1.2fr) minmax(180px, 1fr) 120px; align-items: center; gap: 12px; min-height: 61px; padding: 10px 12px; border-top: 1px solid var(--line); }
.security-event:first-child { border-top: 0; }
.security-event-icon { width: 31px; height: 31px; display: grid; place-items: center; color: var(--teal-700); background: #e7f1ef; border-radius: 9px; font-size: 12px; font-weight: 900; }
.security-event.risk .security-event-icon { color: #98453f; background: #f6e4e2; }
.security-event.admin .security-event-icon { color: #805c24; background: #f4ead7; }
.security-event strong, .security-event small { display: block; }
.security-event strong { color: var(--ink); font-size: 9px; }
.security-event small { margin-top: 3px; color: var(--muted); font-size: 7px; line-height: 1.4; }
.security-event time { color: var(--muted); font-size: 8px; text-align: right; }
.security-generated { margin: 10px 1px 0; color: var(--muted); font-size: 7px; text-align: right; }
.round-roster { display: grid; gap: 10px; margin-top: 17px; }
.round-row { display: grid; grid-template-columns: minmax(150px, 1fr) 170px minmax(130px, 1fr); gap: 10px; align-items: end; padding: 12px; background: #f6f9f8; border: 1px solid var(--line); border-radius: 11px; }
.round-resident strong, .round-resident small { display: block; }
.round-resident small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.toast { position: fixed; right: 24px; bottom: 24px; z-index: 100; max-width: 380px; padding: 13px 16px; color: #fff; background: var(--teal-900); border-radius: 11px; box-shadow: var(--shadow); font-size: 12px; }
.toast.error { background: #8f3834; }
.session-expiry-warning { position: fixed; right: 24px; bottom: 24px; z-index: 99; display: flex; align-items: center; justify-content: space-between; gap: 24px; width: min(620px, calc(100vw - 48px)); padding: 17px 18px; color: var(--ink); background: #fffdf8; border: 1px solid #e7d2aa; border-radius: 13px; box-shadow: 0 16px 46px rgba(21, 58, 56, .2); }
.session-expiry-warning .eyebrow { margin-bottom: 4px; color: #805c24; }
.session-expiry-warning strong { color: var(--teal-900); font-size: 13px; }
.session-expiry-warning p:last-child { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.session-expiry-time { color: #805c24; font-variant-numeric: tabular-nums; font-weight: 900; }
.session-expiry-actions { display: flex; flex: 0 0 auto; gap: 8px; }
.session-expiry-warning:not([hidden]) + .toast { bottom: 130px; }

@media (max-width: 1050px) {
  .summary-grid { grid-template-columns: repeat(2, 1fr); }
  .bed-grid { grid-template-columns: repeat(2, 1fr); }
  .shift-report-list { grid-template-columns: 1fr; }
  .incident-list { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .sidebar { position: static; width: auto; padding: 18px; }
  .sidebar nav { overflow: visible; }
  .sidebar .nav-group { display: contents; }
  .sidebar .nav-group-label { grid-column: 1 / -1; margin: 6px 2px 0; }
  .sidebar .nav-group + .nav-group { margin-top: 0; }
  .brand { margin: 0 0 18px; }
  nav { grid-template-columns: repeat(6, 1fr); }
  .nav-item { justify-content: center; padding: 10px 4px; font-size: 0; }
  .nav-item span { font-size: 20px; }
  .environment-badge { display: none; }
  main { margin-left: 0; padding: 25px 16px; }
  .activity-grid { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .summary-grid, .bed-grid { grid-template-columns: 1fr; }
  .legend { display: none; }
  .topbar { align-items: flex-start; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .span-2 { grid-column: span 1; }
  .round-row { grid-template-columns: 1fr; }
  .dialog-actions { flex-direction: column-reverse; }
  .dialog-actions .action-button { width: 100%; }
}

/* Commercial application visual system */
:root {
  --ink: #163236;
  --muted: #66797c;
  --line: #dce5e4;
  --paper: #ffffff;
  --canvas: #f4f7f6;
  --teal-900: #123b3e;
  --teal-700: #22666a;
  --teal-500: #3b8d88;
  --mint: #e5f2ee;
  --green: #33845f;
  --amber: #b57a25;
  --red: #b6534e;
  --shadow: 0 8px 24px rgba(22, 50, 54, .06);
}

body {
  background:
    radial-gradient(circle at 90% 0%, rgba(70, 148, 141, .07), transparent 28rem),
    var(--canvas);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}

[hidden], [data-access-denied] { display: none !important; }

.sidebar {
  width: 220px;
  padding: 24px 16px 18px;
  background: linear-gradient(180deg, #153f42 0%, #103639 100%);
  box-shadow: 10px 0 30px rgba(15, 48, 51, .07);
}

.brand { margin: 0 8px 34px; gap: 11px; }
.brand-mark {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  font-family: inherit;
  font-size: 18px;
  font-weight: 850;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .34);
}
.brand strong { font-family: inherit; font-size: 18px; font-weight: 760; letter-spacing: -.25px; }
.brand small { margin-top: 2px; font-size: 8px; letter-spacing: 1.7px; }

nav { gap: 6px; }
.nav-item {
  min-height: 46px;
  gap: 11px;
  padding: 9px 11px;
  color: #b9cecd;
  border: 1px solid transparent;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 650;
  transition: color .16s ease, background .16s ease, border-color .16s ease;
}
.nav-item span {
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  color: #b9d7d3;
  background: rgba(226, 244, 239, .07);
  border-radius: 8px;
  font-size: 14px;
}
.nav-item:hover { background: rgba(213, 241, 232, .08); }
.nav-item.active {
  color: #fff;
  background: rgba(218, 242, 236, .13);
  border-color: rgba(218, 242, 236, .08);
}
.nav-item.active span { color: #153f42; background: #d7ece6; }
.nav-item .nav-count { min-width: 20px; height: 20px; display: inline-grid; place-items: center; margin-left: auto; padding: 0 5px; color: #fff; background: #b57a25; border-radius: 999px; font-size: 8px; font-style: normal; font-weight: 850; }
.nav-family { display: grid; gap: 4px; }
.nav-submenu { display: grid; gap: 2px; margin: -1px 0 4px 39px; padding-left: 10px; border-left: 1px solid rgba(215, 239, 234, .16); }
.nav-subitem { padding: 6px 8px; color: #a9c3c1; border-radius: 7px; font-size: 10px; font-weight: 700; }
.nav-subitem:hover { color: #fff; background: rgba(213, 241, 232, .07); }
.nav-subitem.active { color: #fff; background: rgba(218, 242, 236, .11); }

.environment-badge {
  padding: 11px 12px;
  border-color: rgba(215, 239, 234, .13);
  border-radius: 10px;
  font-size: 10px;
}

main { margin-left: 220px; padding: 30px clamp(22px, 3.2vw, 48px) 24px; }
.topbar {
  position: sticky;
  top: 0;
  z-index: 8;
  margin: -30px calc(clamp(22px, 3.2vw, 48px) * -1) 22px;
  padding: 24px clamp(22px, 3.2vw, 48px) 18px;
  background: rgba(244, 247, 246, .91);
  border-bottom: 1px solid rgba(208, 222, 220, .72);
  backdrop-filter: blur(14px);
}
.eyebrow { margin-bottom: 5px; font-size: 9px; letter-spacing: 1.7px; }
h1, h2 { font-family: inherit; font-weight: 735; letter-spacing: -.55px; }
h1 { font-size: clamp(25px, 3vw, 34px); }
h2 { font-size: 20px; }
.subtitle { margin-top: 5px; font-size: 12px; }
.topbar-actions { gap: 10px; }
.icon-button, .avatar { width: 38px; height: 38px; }
.icon-button { font-size: 18px; box-shadow: 0 2px 8px rgba(22, 50, 54, .04); }
.session-copy strong { font-size: 11px; }
.session-copy small { font-size: 8px; letter-spacing: .4px; }
.avatar { font-size: 11px; }

.action-bar {
  gap: 8px;
  margin: 0 0 18px;
  padding: 11px;
  background: rgba(255, 255, 255, .72);
  border: 1px solid var(--line);
  border-radius: 13px;
  box-shadow: 0 3px 12px rgba(22, 50, 54, .035);
}
.action-button {
  min-height: 36px;
  padding: 0 13px;
  border-color: #cedbd9;
  border-radius: 8px;
  font-size: 10px;
  font-weight: 720;
  box-shadow: 0 1px 2px rgba(22, 50, 54, .025);
}
.action-button.primary { box-shadow: 0 5px 14px rgba(35, 101, 106, .14); }

.summary-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.summary-card {
  min-height: 118px;
  padding: 18px;
  border-radius: 12px;
  box-shadow: 0 5px 18px rgba(22, 50, 54, .045);
}
.summary-card::before { width: 3px; }
.summary-card strong {
  margin: 8px 0 3px;
  font-family: inherit;
  font-size: 30px;
  font-weight: 745;
  letter-spacing: -1px;
}
.summary-card small, .summary-label { font-size: 9px; }
.summary-label { letter-spacing: .9px; }

.panel {
  padding: 21px;
  border-radius: 14px;
  box-shadow: var(--shadow);
}
.workspace-panel { min-height: 280px; }
.panel-heading { margin-bottom: 17px; }
.panel-heading-actions { display: flex; align-items: center; justify-content: flex-end; gap: 13px; }
.legend { gap: 10px; font-size: 9px; }

.bed-grid { grid-template-columns: repeat(4, minmax(145px, 1fr)); gap: 10px; }
.bed-card {
  position: relative;
  min-height: 106px;
  padding: 14px;
  overflow: hidden;
  border-radius: 10px;
  background: #fff;
}
.bed-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: #9eb0ae; }
.bed-card.occupied { border-color: #c6deda; background: #f7fbfa; }
.bed-card.occupied::before { background: var(--teal-500); }
.bed-card.available::before { background: var(--green); }
.bed-card.reserved { background: #fdfbf6; }
.bed-card.reserved::before { background: var(--amber); }
.bed-card.maintenance { background: #fdf8f7; }
.bed-card.maintenance::before { background: var(--red); }
.bed-card .bed-location { font-size: 8px; letter-spacing: .75px; }
.bed-card h3 { margin: 14px 0 2px; font-family: inherit; font-size: 14px; font-weight: 720; }
.bed-card p { font-size: 9px; line-height: 1.3; }
.status-pill { margin-top: 9px; padding: 3px 7px; font-size: 7px; letter-spacing: .45px; }

.activity-grid { gap: 16px; margin-top: 16px; }
.activity-grid.single-column { grid-template-columns: 1fr; }
.compact-panel { min-height: 240px; }
.activity-row { grid-template-columns: 34px minmax(0, 1fr) auto; gap: 10px; padding: 11px 0; }
.activity-icon { width: 32px; height: 32px; border-radius: 9px; font-size: 13px; }
.activity-copy strong { font-size: 11px; }
.activity-copy small, .activity-time { font-size: 9px; }

.shift-panel, .incident-panel { margin-top: 0; }
.shift-report-list, .incident-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.shift-report-card, .incident-card { padding: 16px; border-radius: 11px; }
.shift-report-heading h3, .incident-heading h3 { font-family: inherit; font-size: 15px; font-weight: 720; }
.shift-signature strong { font-family: inherit; font-size: 20px; }
.shift-summary, .incident-card > p { font-size: 11px; }
.handoff-details, .incident-details { gap: 6px; }

footer { padding-top: 16px; font-size: 9px; }
.workflow-dialog { border-radius: 14px; }
.workflow-dialog form { padding: 22px; }

@media (max-width: 1180px) {
  .summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bed-grid { grid-template-columns: repeat(2, minmax(145px, 1fr)); }
  .shift-report-list, .incident-list { grid-template-columns: 1fr; }
  .task-list { grid-template-columns: 1fr; }
  .attendance-list { grid-template-columns: 1fr; }
  .executive-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .executive-grid-primary, .executive-grid-secondary { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .sidebar { position: static; width: auto; padding: 14px; }
  .sidebar nav { overflow: visible; }
  .sidebar .nav-group { display: contents; }
  .sidebar .nav-group-label { grid-column: 1 / -1; margin: 6px 2px 0; }
  .sidebar .nav-group + .nav-group { margin-top: 0; }
  .brand { margin: 0 0 13px; }
  nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .nav-item { justify-content: flex-start; min-height: 42px; padding: 7px 9px; font-size: 10px; }
  .nav-item span { width: 24px; height: 24px; font-size: 12px; }
  .nav-item .nav-count { width: auto; min-width: 18px; height: 18px; font-size: 7px; }
  .nav-family { min-width: 0; }
  .nav-family .nav-item { width: 100%; }
  .nav-submenu { margin: 0; padding: 2px 0 0 33px; border-left: 0; }
  .nav-subitem { padding: 4px 6px; font-size: 8px; }
  .environment-badge { display: none; }
  main { margin-left: 0; padding: 20px 14px; }
  .topbar { position: static; margin: -20px -14px 16px; padding: 18px 14px 14px; }
  .panel-heading-actions { align-items: flex-end; flex-direction: column; gap: 8px; }
  .activity-grid { grid-template-columns: 1fr; }
  .resident-profile-heading { top: -22px; }
  .resident-profile-actions { bottom: -22px; }
}

@media (max-width: 560px) {
  nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .topbar { align-items: flex-start; gap: 14px; }
  .session-copy { display: none; }
  .organization-switcher select { max-width: 150px; }
  .account-button, .signout-button { padding-inline: 3px; }
  .summary-grid, .bed-grid { grid-template-columns: 1fr; }
  .action-bar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .action-button { width: 100%; }
  .legend { display: none; }
  .panel { padding: 16px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .span-2 { grid-column: span 1; }
  .incident-details { grid-template-columns: 1fr; }
  .attendance-summary { grid-template-columns: 1fr; }
  .attendance-row { grid-template-columns: 1fr; }
  .executive-kpis { grid-template-columns: 1fr; }
  .team-summary { grid-template-columns: 1fr; }
  .team-toolbar { grid-template-columns: 1fr; align-items: stretch; }
  .team-toolbar p { margin-bottom: 0; }
  .role-key { grid-template-columns: 1fr; }
  .permission-access-options { grid-template-columns: 1fr; max-height: none; }
  .permission-access-intro { align-items: stretch; flex-direction: column; }
  .facility-summary, .facility-site-list { grid-template-columns: 1fr; }
  .facility-toolbar { grid-template-columns: 1fr; }
  .facility-toolbar > span { white-space: normal; }
  .facility-room-list { grid-template-columns: 1fr; }
  .facility-unit-heading { grid-template-columns: 1fr; align-items: stretch; }
  .facility-unit-metrics { display: grid; grid-template-columns: 1fr 1fr; }
  .facility-unit-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .facility-unit-actions .danger-action { margin-left: 0; }
  .facility-room-heading { grid-template-columns: 1fr 88px; }
  .facility-room-heading button { width: 100%; }
  .facility-room-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .facility-room-actions .danger-action { grid-column: 1 / -1; margin-left: 0; }
  .facility-site-actions { flex-wrap: wrap; }
  .facility-bed-list { grid-template-columns: 1fr; }
  .bed-board-toolbar { grid-template-columns: 1fr; }
  .bed-board-toolbar p { justify-self: start; margin: 0; }
  .resident-profile-heading { grid-template-columns: minmax(0, 1fr) auto; }
  .resident-profile-heading .resident-profile-source { grid-row: 2; justify-self: start; }
  .resident-profile-heading .dialog-close { grid-column: 2; grid-row: 1; }
  .resident-photo-editor > div { grid-template-columns: 1fr; }
  .resident-photo-editor .form-note { grid-column: auto; grid-row: auto; }
  .resident-activity-item { grid-template-columns: 28px minmax(0, 1fr); }
  .resident-activity-end { grid-column: 2; grid-template-columns: auto 1fr; justify-items: start; align-items: center; }
  .resident-profile-actions .action-button { width: 100%; }
  .site-access-options { grid-template-columns: 1fr; }
  .team-panel { overflow-x: auto; }
  .recovery-effects { grid-template-columns: 1fr; }
  .site-form-section .three-column { grid-template-columns: 1fr; }
  .security-activity-heading, .security-filters { align-items: stretch; flex-direction: column; }
  .security-summary { grid-template-columns: repeat(2, 1fr); }
  .security-event { grid-template-columns: auto 1fr; }
  .security-event > div:nth-child(3), .security-event time { grid-column: 2; text-align: left; }
  .executive-toolbar { align-items: flex-start; flex-direction: column; }
  .executive-toolbar label { width: 100%; justify-content: space-between; }
  .executive-health-list { grid-template-columns: 1fr; }
  .executive-unit-panel { overflow-x: auto; }
  .account-session-status { grid-template-columns: auto 1fr; }
  .account-session-status button { grid-column: 1 / -1; width: 100%; }
  .session-expiry-warning { right: 14px; bottom: 14px; align-items: stretch; flex-direction: column; gap: 13px; width: calc(100vw - 28px); }
  .session-expiry-actions .action-button { flex: 1; }
  .session-expiry-warning:not([hidden]) + .toast { right: 14px; bottom: 190px; }
}

/* ReineCare clinical workspace */
.clinical-workspace { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(520px, 1.7fr); gap: 16px; min-height: 660px; }
.clinical-directory, .clinical-chart { background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 7px 24px rgba(22, 50, 54, .045); }
.clinical-directory { padding: 18px; }
.clinical-directory-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.clinical-directory-heading h2 { margin: 3px 0 0; font-size: 19px; }
.clinical-directory-actions { display: grid; justify-items: end; gap: 8px; }
.action-button.compact { padding: 7px 9px; font-size: 8px; white-space: nowrap; }
.secure-badge { padding: 5px 8px; color: #286a4e; background: #e0f1e8; border-radius: 999px; font-size: 7px; font-weight: 850; letter-spacing: .55px; text-transform: uppercase; white-space: nowrap; }
.clinical-search-form { margin-top: 18px; }
.clinical-search-form label { display: block; margin-bottom: 6px; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase; }
.clinical-search-form > div { display: grid; grid-template-columns: 1fr auto; overflow: hidden; border: 1px solid #b9cecb; border-radius: 10px; background: #fbfdfc; }
.clinical-search-form input { min-width: 0; padding: 11px 12px; color: var(--ink); background: transparent; border: 0; outline: 0; font: inherit; font-size: 11px; }
.clinical-search-form > div:focus-within { border-color: var(--teal-500); box-shadow: 0 0 0 3px rgba(50, 122, 115, .12); }
.clinical-search-form button { padding: 0 13px; color: #fff; background: var(--teal-700); border: 0; cursor: pointer; font-size: 9px; font-weight: 800; }
.clinical-search-status { min-height: 34px; padding: 10px 1px 5px; color: var(--muted); font-size: 8px; line-height: 1.45; }
.clinical-connection-status { margin: 1px 0 10px; padding: 8px 9px; color: #315e5a; background: #edf6f4; border-radius: 8px; font-size: 8px; line-height: 1.45; }
.clinical-list-heading { display: flex; justify-content: space-between; margin: 12px 0 7px; color: var(--teal-900); font-size: 9px; }
.clinical-list-heading span { min-width: 20px; padding: 2px 6px; color: var(--teal-700); background: var(--mint); border-radius: 999px; text-align: center; }
.clinical-patient-list { display: grid; gap: 6px; max-height: 486px; overflow-y: auto; padding-right: 2px; }
.clinical-patient-row { width: 100%; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 9px; padding: 10px; color: inherit; background: #f8fbfa; border: 1px solid transparent; border-radius: 10px; cursor: pointer; text-align: left; }
.clinical-patient-row:hover, .clinical-patient-row:focus-visible { background: #f0f7f5; border-color: #bdd8d4; outline: none; }
.clinical-patient-row.active { background: #eaf5f2; border-color: #94c6bf; }
.clinical-row-avatar { width: 32px; height: 32px; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg, var(--teal-700), var(--teal-500)); border-radius: 10px; font-size: 9px; font-weight: 850; }
.clinical-row-copy { min-width: 0; }
.clinical-row-copy strong, .clinical-row-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.clinical-row-copy strong { color: var(--ink); font-size: 10px; }
.clinical-row-copy small { margin-top: 3px; color: var(--muted); font-size: 7px; }
.clinical-link-state { padding: 4px 6px; color: #2d6d51; background: #e1f1e8; border-radius: 999px; font-size: 6px; font-weight: 850; letter-spacing: .35px; text-transform: uppercase; white-space: nowrap; }
.clinical-link-state.pending { color: #8c611f; background: #f4e7c9; }
.clinical-list-empty { padding: 24px 10px; color: var(--muted); background: #f8fbfa; border-radius: 10px; font-size: 9px; line-height: 1.5; text-align: center; }
.clinical-chart { min-width: 0; overflow: hidden; }
.clinical-chart-empty { min-height: 620px; display: grid; align-content: center; justify-items: center; padding: 60px; text-align: center; }
.chart-empty-mark { width: 62px; height: 62px; display: grid; place-items: center; margin-bottom: 22px; color: #fff; background: linear-gradient(145deg, var(--teal-700), var(--teal-500)); border-radius: 20px; box-shadow: 0 13px 30px rgba(27, 87, 82, .22); font-size: 25px; font-weight: 850; }
.clinical-chart-empty h2 { max-width: 500px; margin: 7px 0 10px; color: var(--teal-900); font-size: 26px; letter-spacing: -.5px; }
.clinical-chart-empty > p:last-child { max-width: 560px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.65; }
.patient-banner { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 15px; padding: 22px; background: linear-gradient(115deg, #f7fbfa, #edf6f3); border-bottom: 1px solid var(--line); }
.patient-avatar { position: relative; width: 54px; height: 54px; display: grid; place-items: center; overflow: hidden; color: #fff; background: var(--teal-700); border-radius: 16px; font-size: 16px; font-weight: 850; }
.patient-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.patient-avatar.has-photo span { visibility: hidden; }
.patient-identity h2 { margin: 3px 0; color: var(--teal-900); font-size: 22px; letter-spacing: -.35px; }
.patient-identity > p:last-child { margin: 0; color: var(--muted); font-size: 8px; }
.patient-banner-status { display: grid; justify-items: end; gap: 5px; }
.patient-banner-status span { padding: 5px 8px; color: #286a4e; background: #dcefe5; border-radius: 999px; font-size: 7px; font-weight: 850; text-transform: uppercase; }
.patient-banner-status span.inactive { color: #744c49; background: #f2dfdd; }
.patient-banner-status small { color: var(--muted); font-size: 7px; }
.patient-banner-status .resident-admitted { display: none; }
.chart-tabs { display: flex; gap: 4px; overflow-x: auto; padding: 10px 18px 0; background: #fff; border-bottom: 1px solid var(--line); }
.chart-tabs button { min-height: 35px; padding: 0 10px 9px; color: var(--muted); background: transparent; border: 0; border-bottom: 2px solid transparent; cursor: pointer; font-size: 8px; font-weight: 800; white-space: nowrap; }
.chart-tabs button.active { color: var(--teal-700); border-bottom-color: var(--teal-500); }
.chart-panel { padding: 22px; }
.clinical-face-review { display: flex; align-items: center; gap: 10px; padding: 11px 13px; color: #285f47; background: #e9f4ee; border: 1px solid #bddbc9; border-radius: 12px; }
.clinical-face-review.needs-review { color: #80581f; background: #fbf3e3; border-color: #e9d4ac; }
.clinical-face-review-mark { width: 26px; height: 26px; flex: 0 0 auto; display: grid; place-items: center; color: #fff; background: #35785b; border-radius: 8px; font-size: 10px; font-weight: 900; }
.clinical-face-review.needs-review .clinical-face-review-mark { background: #a27431; }
.clinical-face-review strong, .clinical-face-review p { display: block; margin: 0; }
.clinical-face-review strong { font-size: 9px; }
.clinical-face-review p { margin-top: 2px; font-size: 7px; line-height: 1.45; }
.clinical-facesheet-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(230px, .75fr); gap: 10px; margin-top: 12px; }
.clinical-profile-card, .clinical-placement-card, .clinical-contacts-card, .clinical-coordination-card, .clinical-summary-card, .clinical-safety-card, .clinical-care-snapshot { min-width: 0; padding: 15px; background: #fff; border: 1px solid #dce8e6; border-radius: 12px; box-shadow: 0 5px 16px rgba(22, 50, 54, .035); }
.clinical-profile-card { grid-column: 1 / -1; background: linear-gradient(140deg, #fff 0%, #fff 68%, #f2f8f6 100%); border-top: 3px solid var(--teal-600); }
.clinical-overview-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.clinical-overview-heading h3 { margin: 4px 0 0; color: var(--teal-900); font-size: 12px; }
.clinical-overview-heading > span:not(.status-pill) { color: var(--muted); font-size: 7px; font-weight: 800; }
.clinical-overview-heading .status-pill { margin-top: 0; }
.clinical-profile-actions { display: flex; align-items: center; gap: 8px; }
.clinical-profile-actions > span { color: var(--muted); font-size: 7px; font-weight: 800; }
.clinical-profile-actions button { min-height: 28px; padding: 5px 9px; color: #fff; background: var(--teal-700); border: 1px solid var(--teal-700); border-radius: 7px; cursor: pointer; font-size: 7px; font-weight: 850; }
.clinical-profile-actions button:hover, .clinical-profile-actions button:focus-visible { background: var(--teal-900); outline: 2px solid rgba(58, 141, 136, .2); outline-offset: 2px; }
.clinical-profile-actions > .coverage-status { padding: 5px 7px; color: #45625d; background: #edf3f2; border-radius: 999px; letter-spacing: .35px; text-transform: uppercase; }
.clinical-profile-actions > .coverage-status.recorded { color: #27674e; background: #e1f2e8; }
.clinical-profile-actions > .coverage-status.upcoming { color: #6f5726; background: #f8edcf; }
.clinical-profile-actions > .coverage-status.expired { color: #8d433f; background: #fae8e6; }
.clinical-profile-body { display: grid; grid-template-columns: 104px minmax(0, 1fr); align-items: start; gap: 17px; margin-top: 14px; }
.clinical-face-photo { position: relative; width: 104px; height: 124px; display: grid; place-items: center; overflow: hidden; color: #fff; background: linear-gradient(145deg, var(--teal-800), var(--teal-500)); border: 4px solid #fff; border-radius: 14px; box-shadow: 0 8px 22px rgba(26, 78, 74, .18); font-size: 24px; font-weight: 850; }
.clinical-face-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.clinical-face-photo.has-photo span { visibility: hidden; }
.clinical-demographic-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; border: 1px solid #e1ebe9; border-radius: 10px; }
.clinical-demographic-grid > div { min-width: 0; padding: 10px; background: rgba(249, 252, 251, .84); border-right: 1px solid #e4ecea; border-bottom: 1px solid #e4ecea; }
.clinical-demographic-grid > div:nth-child(4n) { border-right: 0; }
.clinical-demographic-grid > div:nth-last-child(-n + 4) { border-bottom: 0; }
.clinical-demographic-grid .clinical-demographic-primary, .clinical-demographic-grid .clinical-demographic-wide { grid-column: span 2; }
.clinical-demographic-grid span, .clinical-demographic-grid strong, .clinical-demographic-grid small { display: block; overflow-wrap: anywhere; }
.clinical-demographic-grid span, .clinical-placement-facts span, .clinical-safety-grid span { color: var(--muted); font-size: 6px; font-weight: 850; letter-spacing: .42px; text-transform: uppercase; }
.clinical-demographic-grid strong { margin-top: 4px; color: var(--ink); font-size: 8px; line-height: 1.35; }
.clinical-demographic-grid .clinical-demographic-primary strong { color: var(--teal-900); font-size: 11px; }
.clinical-demographic-grid small { margin-top: 2px; color: var(--muted); font-size: 6px; }
.clinical-placement-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin-top: 12px; }
.clinical-placement-facts > div, .clinical-safety-grid > div { padding: 9px; background: #f3f8f7; border-radius: 8px; }
.clinical-placement-facts span, .clinical-placement-facts strong, .clinical-safety-grid span, .clinical-safety-grid strong, .clinical-safety-grid small { display: block; }
.clinical-placement-facts strong, .clinical-safety-grid strong { margin-top: 4px; color: var(--ink); font-size: 8px; line-height: 1.35; }
.clinical-contact-list { display: grid; gap: 7px; margin-top: 12px; }
.clinical-contact-list > p { margin: 0; padding: 18px 12px; color: var(--muted); background: #f7faf9; border: 1px dashed #cdddda; border-radius: 9px; font-size: 8px; line-height: 1.5; text-align: center; }
.clinical-contact-item { padding: 10px; background: #f6faf9; border: 1px solid #e1ebe9; border-radius: 9px; }
.clinical-contact-item strong, .clinical-contact-item span, .clinical-contact-item small { display: block; overflow-wrap: anywhere; }
.clinical-contact-item strong { color: var(--teal-900); font-size: 9px; }
.clinical-contact-item span { margin-top: 2px; color: var(--teal-700); font-size: 7px; font-weight: 750; }
.clinical-contact-item small { margin-top: 5px; color: var(--muted); font-size: 7px; line-height: 1.4; }
.clinical-coordination-wide { grid-column: 1 / -1; }
.clinical-coordination-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.clinical-coordination-group { min-width: 0; padding: 12px; background: #f7faf9; border: 1px solid #e0eae8; border-radius: 10px; }
.clinical-coordination-group > header { display: flex; align-items: center; gap: 9px; padding-bottom: 10px; border-bottom: 1px solid #e1ebe9; }
.clinical-coordination-group > header > span { width: 26px; height: 26px; flex: 0 0 auto; display: grid; place-items: center; color: var(--teal-700); background: #e4f1ef; border-radius: 8px; font-size: 7px; font-weight: 900; }
.clinical-coordination-group > header strong, .clinical-coordination-group > header small { display: block; }
.clinical-coordination-group > header strong { color: var(--teal-900); font-size: 9px; }
.clinical-coordination-group > header small { margin-top: 2px; color: var(--muted); font-size: 6px; line-height: 1.35; }
.clinical-coordination-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin-top: 10px; }
.clinical-coordination-facts > div { min-width: 0; padding: 8px; background: #fff; border-radius: 7px; }
.clinical-coordination-facts > .wide { grid-column: 1 / -1; }
.clinical-coordination-facts span, .clinical-coordination-facts strong { display: block; overflow-wrap: anywhere; }
.clinical-coordination-facts span { color: var(--muted); font-size: 6px; font-weight: 850; letter-spacing: .4px; text-transform: uppercase; }
.clinical-coordination-facts strong { margin-top: 4px; color: var(--ink); font-size: 8px; line-height: 1.35; }
.clinical-summary-wide { grid-column: 1 / -1; }
.clinical-summary-guidance { margin: 7px 0 0; color: var(--muted); font-size: 7px; line-height: 1.5; }
.clinical-summary-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) minmax(0, 1.15fr); gap: 10px; margin-top: 12px; }
.clinical-summary-group { min-width: 0; padding: 12px; background: #f7faf9; border: 1px solid #e0eae8; border-radius: 10px; }
.clinical-summary-group > header { display: flex; align-items: center; gap: 9px; padding-bottom: 10px; border-bottom: 1px solid #e1ebe9; }
.clinical-summary-group > header > span { width: 28px; height: 28px; flex: 0 0 auto; display: grid; place-items: center; color: #fff; background: var(--teal-700); border-radius: 9px; font-size: 7px; font-weight: 900; letter-spacing: .2px; }
.clinical-summary-group > header strong, .clinical-summary-group > header small { display: block; }
.clinical-summary-group > header strong { color: var(--teal-900); font-size: 9px; }
.clinical-summary-group > header small { margin-top: 2px; color: var(--muted); font-size: 6px; line-height: 1.35; }
.clinical-summary-list { display: grid; gap: 6px; margin-top: 10px; }
.clinical-summary-list > p { margin: 0; padding: 11px; color: var(--muted); background: #fff; border: 1px dashed #cbdad7; border-radius: 8px; font-size: 7px; line-height: 1.5; text-align: center; }
.clinical-summary-list article { min-width: 0; padding: 8px; background: #fff; border-radius: 7px; }
.clinical-summary-list article strong, .clinical-summary-list article span, .clinical-summary-list article small { display: block; overflow-wrap: anywhere; }
.clinical-summary-list article strong { color: var(--ink); font-size: 8px; line-height: 1.35; }
.clinical-summary-list article span { margin-top: 2px; color: var(--teal-700); font-size: 7px; font-weight: 750; }
.clinical-summary-list article small { margin-top: 4px; color: var(--muted); font-size: 6px; line-height: 1.4; }
.clinical-summary-list .clinical-summary-more { padding: 3px 5px; color: var(--teal-700); background: transparent; font-size: 6px; font-weight: 850; text-align: left; }
.clinical-summary-narratives { display: grid; gap: 6px; margin-top: 10px; }
.clinical-summary-narratives > div { min-width: 0; padding: 8px; background: #fff; border-radius: 7px; }
.clinical-summary-narratives span { color: var(--muted); font-size: 6px; font-weight: 850; letter-spacing: .4px; text-transform: uppercase; }
.clinical-summary-narratives p { display: -webkit-box; margin: 4px 0 0; overflow: hidden; color: var(--ink); font-size: 7px; line-height: 1.45; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.clinical-safety-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-top: 12px; }
.clinical-safety-grid .clinical-safety-wide { grid-column: 1 / -1; color: #80581f; background: #fbf3e3; border: 1px solid #ead8b9; }
.clinical-safety-grid .clinical-safety-wide strong { color: #704a18; }
.clinical-safety-grid small { margin-top: 3px; color: inherit; font-size: 6px; line-height: 1.4; }
.clinical-allergy-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.clinical-allergy-heading > strong { margin: 0; padding: 4px 7px; color: #704a18; background: #f2dfbc; border-radius: 999px; font-size: 6px; white-space: nowrap; }
.clinical-allergy-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin-top: 8px; }
.clinical-allergy-list > p { grid-column: 1 / -1; margin: 0; padding: 10px; color: #704a18; background: rgba(255, 255, 255, .64); border: 1px dashed #dfc99f; border-radius: 7px; font-size: 7px; line-height: 1.5; text-align: center; }
.clinical-allergy-item { min-width: 0; padding: 8px; color: var(--ink); background: #fff; border: 1px solid #ead8b9; border-left: 3px solid #b47a2e; border-radius: 7px; }
.clinical-allergy-item.high { border-left-color: #ad3f39; }
.clinical-allergy-item.inactive { opacity: .72; border-left-color: #8a9a97; }
.clinical-allergy-item strong, .clinical-allergy-item span, .clinical-allergy-item small { display: block; overflow-wrap: anywhere; }
.clinical-allergy-item strong { margin: 0; color: #633f13; font-size: 8px; line-height: 1.35; }
.clinical-allergy-item.high strong { color: #8e322d; }
.clinical-allergy-item span { margin-top: 3px; color: var(--ink); font-size: 7px; line-height: 1.4; }
.clinical-allergy-item small { margin-top: 4px; color: var(--muted); font-size: 6px; line-height: 1.4; }
.clinical-allergy-summary > small { display: block; margin-top: 7px; }
.clinical-safety-note { margin: 8px 1px 0; color: var(--muted); font-size: 6px; line-height: 1.5; }
.clinical-care-snapshot-wide { grid-column: 1 / -1; }
.clinical-overview-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; margin-top: 12px; }
.clinical-overview-metrics button { min-width: 0; padding: 10px; color: inherit; background: #f3f8f7; border: 1px solid transparent; border-radius: 8px; cursor: pointer; text-align: left; }
.clinical-overview-metrics button:hover, .clinical-overview-metrics button:focus-visible { background: #eaf5f2; border-color: #a9cec8; outline: none; }
.clinical-overview-metrics span, .clinical-overview-metrics strong, .clinical-overview-metrics small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.clinical-overview-metrics span { color: var(--muted); font-size: 6px; font-weight: 850; letter-spacing: .4px; text-transform: uppercase; }
.clinical-overview-metrics strong { margin-top: 5px; color: var(--teal-800); font-size: 11px; }
.clinical-overview-metrics small { margin-top: 3px; color: var(--muted); font-size: 6px; }
.clinical-demographics-dialog form, .clinical-coordination-dialog form { max-height: min(88vh, 900px); overflow-y: auto; }
.clinical-demographics-dialog .form-grid.three-column { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.clinical-demographics-section { margin-top: 16px; padding: 15px; background: #f8fbfa; border: 1px solid #dce8e6; border-radius: 11px; }
.clinical-demographics-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 13px; }
.clinical-demographics-section-heading h3, .clinical-demographics-section-heading p { margin: 0; }
.clinical-demographics-section-heading h3 { color: var(--teal-900); font-size: 13px; }
.clinical-demographics-section-heading p { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.clinical-demographics-section-heading > button { min-height: 31px; flex: 0 0 auto; padding: 6px 10px; color: var(--teal-700); background: #fff; border: 1px solid #bcd3cf; border-radius: 8px; cursor: pointer; font-size: 9px; font-weight: 850; }
.clinical-demographics-contacts { display: grid; gap: 9px; }
.clinical-demographics-empty { margin: 0; padding: 13px; color: var(--muted); background: #fff; border: 1px dashed #c8d9d6; border-radius: 9px; font-size: 9px; text-align: center; }
.clinical-demographics-contact { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px; padding: 12px; background: #fff; border: 1px solid #dce8e6; border-radius: 9px; }
.clinical-demographics-contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.clinical-demographics-contact button { min-height: 39px; padding: 8px 10px; color: #93433d; background: #fff7f6; border: 1px solid #e8c8c4; border-radius: 8px; cursor: pointer; font-size: 9px; font-weight: 800; }
.clinical-next-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 15px; }
.clinical-next-grid article { min-height: 188px; padding: 19px; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 5px 16px rgba(22, 50, 54, .035); }
.clinical-next-grid h3, .chart-placeholder h3 { margin: 6px 0 8px; color: var(--teal-900); font-size: 16px; }
.clinical-next-grid article > p:last-child, .chart-placeholder > p:last-child { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.6; }
.chart-placeholder { min-height: 360px; align-content: center; padding: 54px; text-align: center; }
.chart-placeholder:not([hidden]) { display: grid; }
.clinical-timeline-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.clinical-timeline-heading h3 { margin: 3px 0 0; color: var(--teal-900); font-size: 18px; }
.clinical-timeline-heading > span { padding: 5px 8px; color: var(--teal-700); background: var(--mint); border-radius: 999px; font-size: 7px; font-weight: 850; white-space: nowrap; }
.clinical-timeline-filters { display: grid; grid-template-columns: minmax(140px, 1fr) minmax(160px, 1fr) auto; align-items: end; gap: 8px; margin-top: 14px; padding: 10px; background: #f4f8f7; border: 1px solid var(--line); border-radius: 10px; }
.clinical-timeline-filters label { display: grid; gap: 4px; color: var(--muted); font-size: 6px; font-weight: 850; letter-spacing: .45px; text-transform: uppercase; }
.clinical-timeline-filters select { width: 100%; min-height: 34px; padding: 7px 25px 7px 8px; color: var(--ink); background: #fff; border: 1px solid #c7d8d5; border-radius: 7px; font: inherit; font-size: 8px; }
.clinical-timeline-filters button { min-height: 34px; padding: 7px 10px; color: var(--teal-700); background: #fff; border: 1px solid #c7d8d5; border-radius: 7px; cursor: pointer; font-size: 8px; font-weight: 800; }
.clinical-timeline-filters select:focus, .clinical-timeline-filters button:focus-visible { border-color: var(--teal-500); box-shadow: 0 0 0 3px rgba(50, 122, 115, .12); outline: none; }
.clinical-timeline-status { margin: 9px 0 14px; color: var(--muted); font-size: 8px; }
.clinical-timeline-list { display: grid; gap: 8px; }
.clinical-timeline-item { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: start; gap: 10px; padding: 12px; background: #f8fbfa; border: 1px solid #e1ebe9; border-radius: 10px; }
.clinical-timeline-icon { width: 32px; height: 32px; display: grid; place-items: center; color: #fff; background: var(--teal-700); border-radius: 9px; font-size: 11px; font-weight: 850; }
.clinical-timeline-icon.pass { background: #32795b; }
.clinical-timeline-icon.incident { background: #a45b54; }
.clinical-timeline-icon.task { background: #8c672f; }
.clinical-timeline-icon.attendance { background: #5b6f9e; }
.clinical-timeline-end .status-pill.present { color: #286a4e; background: #e0f1e8; }
.clinical-timeline-end .status-pill.late { color: #8c611f; background: #f4e7c9; }
.clinical-timeline-end .status-pill.absent { color: #90413c; background: #f5dedc; }
.clinical-timeline-end .status-pill.excused,
.clinical-timeline-end .status-pill.not_required { color: #586d70; background: #e5eceb; }
.clinical-timeline-copy { min-width: 0; }
.clinical-timeline-source { display: block; color: var(--teal-600); font-size: 6px; font-weight: 850; letter-spacing: .45px; text-transform: uppercase; }
.clinical-timeline-copy strong { display: block; margin-top: 4px; color: var(--ink); font-size: 10px; }
.clinical-timeline-copy p { margin: 4px 0 0; color: var(--muted); font-size: 8px; line-height: 1.45; }
.clinical-timeline-end { display: grid; justify-items: end; gap: 5px; }
.clinical-timeline-end time { color: var(--muted); font-size: 7px; white-space: nowrap; }
.clinical-timeline-empty { padding: 34px 18px; color: var(--muted); background: #f8fbfa; border: 1px dashed #cadbd8; border-radius: 10px; font-size: 9px; line-height: 1.55; text-align: center; }
.clinical-group-panel { padding: 18px; }
.group-notes-workspace { padding: 20px; background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 7px 24px rgba(22, 50, 54, .045); }
.group-notes-hero { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 4px 2px 18px; border-bottom: 1px solid #e4ecea; }
.group-notes-hero h2 { color: var(--teal-900); font-size: 24px; }
.group-notes-hero > div:first-child > p:last-child { max-width: 670px; margin: 7px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.group-notes-context { display: grid; grid-template-columns: minmax(300px, 1fr) minmax(260px, auto); align-items: center; gap: 16px; margin: 14px 0; padding: 12px 14px; background: #f2f8f6; border: 1px solid #cfe1de; border-radius: 10px; }
.group-notes-context > div { display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: center; gap: 10px; }
.group-notes-context > div > span { width: 28px; height: 28px; display: grid; place-items: center; color: #fff; background: var(--teal-600); border-radius: 50%; font-weight: 900; }
.group-notes-context p { margin: 0; }
.group-notes-context strong, .group-notes-context small { display: block; }
.group-notes-context strong { color: var(--teal-900); font-size: 11px; }
.group-notes-context small { margin-top: 3px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.group-notes-context .clinical-group-status { margin: 0; text-align: right; }
.group-note-source-panel { margin-bottom: 14px; padding: 14px; background: #f8fbfa; border: 1px solid #d5e3e0; border-radius: 11px; }
.group-note-source-panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 11px; }
.group-note-source-panel > header h3 { margin: 2px 0 0; color: var(--teal-900); font-size: 16px; }
.group-note-source-panel > header p:last-child { margin: 5px 0 0; color: var(--muted); font-size: 9px; }
.group-note-source-panel > header > span { flex: none; padding: 6px 9px; color: #76531e; background: #f5ead3; border-radius: 999px; font-size: 10px; font-weight: 850; }
.group-note-source-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.group-note-source-card { min-width: 0; padding: 11px; background: #fff; border: 1px solid #dce6e4; border-radius: 9px; }
.group-note-source-card.ready { border-color: #d9c395; box-shadow: inset 3px 0 #b78536; }
.group-note-source-card.linked { border-color: #bcd7d1; box-shadow: inset 3px 0 var(--teal-500); }
.group-note-source-card.documented { background: #f5fbf8; border-color: #9fcbb9; box-shadow: inset 3px 0 #39785a; }
.group-note-source-card > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.group-note-source-card > header > span { overflow: hidden; color: var(--teal-700); font-size: 8px; font-weight: 850; letter-spacing: .55px; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.group-note-source-card > header .status-pill { flex: none; margin-top: 0; }
.group-note-source-card h4 { margin: 9px 0 4px; overflow: hidden; color: var(--ink); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.group-note-source-card > p { margin: 0; color: var(--muted); font-size: 9px; }
.group-note-source-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin: 10px 0; }
.group-note-source-card dl div { min-width: 0; padding: 7px; background: #f4f7f6; border-radius: 7px; }
.group-note-source-card dt { color: var(--muted); font-size: 7px; font-weight: 800; letter-spacing: .35px; text-transform: uppercase; }
.group-note-source-card dd { margin: 3px 0 0; overflow: hidden; color: var(--ink); font-size: 9px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.group-note-source-card footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-top: 9px; border-top: 1px solid #e5ecea; }
.group-note-source-card footer > span { color: var(--muted); font-size: 8px; }
.group-note-source-card footer > span strong { color: var(--ink); }
.group-note-source-card footer button { min-height: 30px; padding: 6px 9px; color: #fff; background: var(--teal-700); border: 0; border-radius: 7px; cursor: pointer; font-size: 9px; font-weight: 850; white-space: nowrap; }
.group-note-source-card.ready footer button { background: #9a6a24; }
.group-note-source-card footer button:disabled { opacity: .55; cursor: wait; }
.group-note-source-permission { color: var(--muted); font-size: 8px; text-align: right; }
.group-note-source-empty { grid-column: 1 / -1; padding: 20px; color: var(--muted); background: #fff; border: 1px dashed #cbdad7; border-radius: 9px; text-align: center; font-size: 9px; }
.group-note-source-empty strong { display: block; margin-bottom: 4px; color: var(--ink); font-size: 11px; }
.group-note-source-empty p { margin: 0; }
.clinical-group-worklist { display: grid; gap: 11px; }
.clinical-group-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.clinical-group-metrics article { position: relative; min-width: 0; padding: 12px 13px; overflow: hidden; background: #fff; border: 1px solid #dce6e4; border-radius: 9px; }
.clinical-group-metrics article::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--teal-500); }
.clinical-group-metrics article:nth-child(1)::before { background: #b78536; }
.clinical-group-metrics article:nth-child(3)::before { background: #39785a; }
.clinical-group-metrics span, .clinical-group-metrics small { display: block; color: var(--muted); }
.clinical-group-metrics span { font-size: 7px; font-weight: 850; letter-spacing: .55px; text-transform: uppercase; }
.clinical-group-metrics strong { display: block; margin-top: 5px; color: var(--teal-900); font-size: 22px; }
.clinical-group-metrics small { margin-top: 2px; overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.clinical-group-worklist-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin-top: 3px; }
.clinical-group-worklist-heading h3 { margin: 2px 0 0; color: var(--teal-900); font-size: 16px; }
.clinical-group-worklist-heading > span { color: var(--muted); font-size: 9px; }
.clinical-group-filters { display: grid; grid-template-columns: minmax(220px, 1fr) 160px 160px auto; align-items: end; gap: 8px; padding: 10px; background: #f4f8f7; border: 1px solid #d8e5e2; border-radius: 9px; }
.clinical-group-filters label { display: grid; gap: 4px; color: var(--muted); font-size: 7px; font-weight: 850; letter-spacing: .5px; text-transform: uppercase; }
.clinical-group-filters input, .clinical-group-filters select { width: 100%; min-height: 35px; padding: 7px 9px; color: var(--ink); background: #fff; border: 1px solid #cadbd8; border-radius: 7px; font: inherit; font-size: 9px; text-transform: none; }
.clinical-group-filters input:focus, .clinical-group-filters select:focus { border-color: var(--teal-500); box-shadow: 0 0 0 3px rgba(46, 132, 128, .1); outline: none; }
.clinical-group-filters button { min-height: 35px; padding: 7px 10px; color: var(--teal-700); background: #fff; border: 1px solid #bad4d1; border-radius: 7px; cursor: pointer; font-size: 9px; font-weight: 850; }
.clinical-group-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.clinical-group-heading h3 { margin: 3px 0 0; color: #74521e; font-size: 18px; }
.clinical-group-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px; }
.clinical-group-actions > span { padding: 6px 9px; color: #76531e; background: #f5ead3; border-radius: 999px; font-size: 11px; font-weight: 850; white-space: nowrap; }
.clinical-group-actions > button { min-height: 36px; padding: 8px 12px; color: #fff; background: #9a6a24; border: 0; border-radius: 7px; cursor: pointer; font-size: 12px; font-weight: 850; }
.clinical-group-actions > button.sign { background: #2f7b59; }
.clinical-group-actions > button.amend { color: #76531e; background: #fff; border: 1px solid #d6bd91; }
.clinical-group-status { margin: 9px 0 14px; color: var(--muted); font-size: 12px; }
.clinical-group-list { display: grid; gap: 10px; }
.clinical-group-empty { padding: 30px 18px; color: var(--muted); background: #fcfaf6; border: 1px dashed #ddcfb4; border-radius: 10px; font-size: 10px; text-align: center; }
.clinical-group-empty strong { display: block; margin-bottom: 5px; color: var(--ink); font-size: 13px; }
.clinical-group-empty p { margin: 0; }
.clinical-group-history { padding: 10px; background: #faf6ed; border: 1px solid #e5dac2; border-radius: 10px; }
.clinical-group-history > div { display: flex; gap: 6px; margin-top: 7px; overflow-x: auto; }
.clinical-group-history button { display: grid; gap: 2px; min-width: 180px; padding: 9px 10px; color: var(--muted); background: #fff; border: 1px solid #dfd2b9; border-radius: 8px; cursor: pointer; text-align: left; }
.clinical-group-history button.active { color: #76531e; background: #fbf2df; border-color: #c8a86d; box-shadow: 0 0 0 2px rgba(154, 106, 36, .08); }
.clinical-group-history button > span { font-size: 9px; font-weight: 850; letter-spacing: .25px; text-transform: uppercase; }
.clinical-group-history button > strong { color: var(--ink); font-size: 11px; }
.clinical-group-history button > small { font-size: 9px; }
.clinical-group-card { padding: 14px; background: #fff; border: 1px solid #dbcaa8; border-radius: 12px; box-shadow: 0 8px 20px rgba(86, 59, 19, .06); }
.clinical-group-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.clinical-group-card > header h4 { margin: 3px 0 0; color: #74521e; font-size: 15px; }
.clinical-group-card > header p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.clinical-group-card .status-pill.draft { color: #8c611f; background: #f4e7c9; }
.clinical-group-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; margin-top: 12px; }
.clinical-group-facts > div { padding: 10px; background: #faf6ed; border-radius: 8px; }
.clinical-group-facts span, .clinical-group-shared-copy span, .clinical-group-participant-copy span, .clinical-group-participant-facts span { display: block; color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .3px; text-transform: uppercase; }
.clinical-group-facts strong, .clinical-group-participant-facts strong { display: block; margin-top: 4px; color: var(--ink); font-size: 11px; }
.clinical-group-shared-copy { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.clinical-group-shared-copy > div { padding: 10px; background: #fbfaf7; border: 1px solid #ece4d5; border-radius: 8px; }
.clinical-group-shared-copy p, .clinical-group-participant-copy p { margin: 5px 0 0; color: var(--ink); font-size: 10px; line-height: 1.5; }
.clinical-group-roster-heading { display: flex; align-items: end; justify-content: space-between; gap: 10px; margin: 14px 0 8px; }
.clinical-group-roster-heading h5 { margin: 4px 0 0; color: #74521e; font-size: 13px; }
.clinical-group-roster-heading > small { color: var(--muted); font-size: 9px; }
.clinical-group-participant-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.clinical-group-participant-card { padding: 11px; background: #fcfaf6; border: 1px solid #e5dac2; border-radius: 9px; }
.clinical-group-participant-card.selected { background: #f0f8f5; border-color: #9bc7be; box-shadow: inset 3px 0 var(--teal-500); }
.clinical-group-participant-card.elevated { background: #fff5f3; border-color: #e4b8b2; }
.clinical-group-participant-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.clinical-group-participant-card > header span:first-child { display: block; color: #9a6a24; font-size: 8px; font-weight: 850; text-transform: uppercase; }
.clinical-group-participant-card > header strong, .clinical-group-participant-card > header small { display: block; }
.clinical-group-participant-card > header strong { margin-top: 3px; color: var(--ink); font-size: 12px; }
.clinical-group-participant-card > header small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.clinical-group-participant-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin-top: 9px; }
.clinical-group-participant-facts > div { padding: 8px; background: rgba(255, 255, 255, .72); border-radius: 7px; }
.clinical-group-participant-copy { display: grid; gap: 6px; margin-top: 8px; }
.clinical-group-participant-copy > div { padding: 8px; background: #fff; border-radius: 7px; }
.clinical-group-amendment-reason { display: grid; gap: 3px; margin: 10px 0 0; padding: 10px; color: #6a5739; background: #faf5e9; border-radius: 8px; font-size: 10px; }
.clinical-group-restricted { padding: 11px 12px; color: #7d473f; background: #fff2ef; border: 1px solid #e7c1bb; border-radius: 9px; }
.clinical-group-restricted strong { font-size: 11px; }
.clinical-group-restricted p { margin: 4px 0 0; font-size: 9px; line-height: 1.45; }
.clinical-group-attendance-source { display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: center; gap: 9px; margin-bottom: 12px; padding: 10px 12px; color: #285f47; background: #e9f4ee; border: 1px solid #b8d9c6; border-radius: 9px; }
.clinical-group-attendance-source > span { width: 26px; height: 26px; display: grid; place-items: center; color: #fff; background: #39785a; border-radius: 50%; font-size: 11px; font-weight: 900; }
.clinical-group-attendance-source strong, .clinical-group-attendance-source small { display: block; }
.clinical-group-attendance-source strong { font-size: 11px; }
.clinical-group-attendance-source small { margin-top: 3px; color: #557169; font-size: 9px; line-height: 1.4; }
.clinical-group-signature { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: start; gap: 10px; margin-top: 12px; padding: 12px; color: #285f47; background: #e9f4ee; border: 1px solid #b8d9c6; border-radius: 9px; }
.clinical-group-signature > span { width: 28px; height: 28px; display: grid; place-items: center; color: #fff; background: #39785a; border-radius: 50%; font-weight: 900; }
.clinical-group-signature small, .clinical-group-signature strong { display: block; }
.clinical-group-signature small { font-size: 8px; text-transform: uppercase; }
.clinical-group-signature strong { margin-top: 2px; font-size: 11px; }
.clinical-group-signature p { margin: 4px 0 0; font-size: 9px; line-height: 1.4; }
.clinical-group-signature time { font-size: 9px; white-space: nowrap; }
.clinical-group-input { margin-bottom: 12px; }
.clinical-group-input[hidden] { display: none; }
.clinical-group-input form { overflow: hidden; background: #fff; border: 1px solid #d0b985; border-radius: 12px; box-shadow: 0 10px 28px rgba(86, 59, 19, .08); }
.clinical-group-input form > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 14px; background: linear-gradient(120deg, #faf2df, #fdfcf9); border-bottom: 1px solid #e8dcc3; }
.clinical-group-input form > header h4 { margin: 4px 0 0; color: #74521e; font-size: 18px; }
.clinical-group-input form > header p:last-child { margin: 5px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.clinical-group-input form > header > button { width: 28px; height: 28px; color: var(--muted); background: #fff; border: 1px solid #dfd2b9; border-radius: 7px; cursor: pointer; font-size: 17px; line-height: 1; }
.clinical-group-shared { padding: 14px; background: #fdfcf9; border-bottom: 1px solid #ece4d5; }
.clinical-group-meta-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.clinical-group-narrative-grid, .clinical-group-participant-narratives { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 10px; }
.clinical-group-input label { display: grid; align-content: start; gap: 5px; color: var(--muted); font-size: 10px; font-weight: 850; letter-spacing: .3px; text-transform: uppercase; }
.clinical-group-input label.span-2 { grid-column: span 2; }
.clinical-group-input label small { color: #8b6750; font-size: 9px; letter-spacing: 0; text-transform: none; }
.clinical-group-input input, .clinical-group-input select, .clinical-group-input textarea { width: 100%; color: var(--ink); background: #fff; border: 1px solid #d8c9aa; border-radius: 7px; font: inherit; font-size: 13px; text-transform: none; }
.clinical-group-input input, .clinical-group-input select { min-height: 40px; padding: 8px 9px; }
.clinical-group-input textarea { padding: 9px; resize: vertical; line-height: 1.5; }
.clinical-group-input input:focus, .clinical-group-input select:focus, .clinical-group-input textarea:focus { border-color: #b48235; box-shadow: 0 0 0 3px rgba(180, 130, 53, .12); outline: none; }
.clinical-group-roster-builder { padding: 14px; background: #faf6ed; }
.clinical-group-builder-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.clinical-group-builder-heading h5 { margin: 4px 0 0; color: #74521e; font-size: 14px; }
.clinical-group-builder-heading p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.clinical-group-builder-heading > button { min-height: 36px; padding: 8px 12px; color: #fff; background: #9a6a24; border: 0; border-radius: 7px; cursor: pointer; font-size: 11px; font-weight: 850; white-space: nowrap; }
.clinical-group-builder-heading > button:disabled { opacity: .5; cursor: not-allowed; }
#clinical-group-participants { display: grid; gap: 10px; }
.clinical-group-participant-editor { padding: 11px; background: #fff; border: 1px solid #ddcfb4; border-radius: 9px; }
.clinical-group-participant-editor.selected-patient { border-color: #9bc7be; box-shadow: inset 3px 0 var(--teal-500); }
.clinical-group-participant-editor.not-attended { background: #f5f5f3; }
.clinical-group-participant-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 9px; padding-bottom: 9px; border-bottom: 1px solid #ece4d5; }
.clinical-group-participant-heading strong { display: block; margin-top: 3px; color: var(--ink); font-size: 12px; }
.clinical-group-participant-heading small { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }
.clinical-group-participant-heading button { padding: 5px 7px; color: #8e4742; background: #fff5f3; border: 1px solid #eccbc7; border-radius: 6px; cursor: pointer; font-size: 9px; font-weight: 800; }
.clinical-group-participant-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.clinical-group-input form > footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; background: #f4ecdc; border-top: 1px solid #e3d6bb; }
.clinical-group-input form > footer > p { margin: 0; color: var(--muted); font-size: 11px; }
.clinical-group-input form > footer > div { display: flex; gap: 7px; }
.clinical-group-input form > footer button { min-height: 40px; padding: 9px 13px; border-radius: 7px; cursor: pointer; font-size: 12px; font-weight: 850; }
.clinical-group-input form > footer button:not(.primary) { color: #76531e; background: #fff; border: 1px solid #d6bd91; }
.group-sign-dialog .dialog-actions button:disabled, .group-amend-dialog .dialog-actions button:disabled { opacity: .55; cursor: not-allowed; }
.clinical-treatment-panel { padding: 18px; }
.clinical-treatment-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.clinical-treatment-heading h3 { margin: 3px 0 0; color: var(--teal-900); font-size: 18px; }
.clinical-treatment-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px; }
.clinical-treatment-actions > span { padding: 6px 9px; color: var(--teal-700); background: var(--mint); border-radius: 999px; font-size: 11px; font-weight: 850; white-space: nowrap; }
.clinical-treatment-actions > button { min-height: 36px; padding: 8px 12px; color: #fff; background: var(--teal-700); border: 0; border-radius: 7px; cursor: pointer; font-size: 12px; font-weight: 850; }
.clinical-treatment-actions > button.sign { background: #2f7b59; }
.clinical-treatment-actions > button.amend { color: var(--teal-700); background: #fff; border: 1px solid #a8c9c3; }
.clinical-treatment-status { margin: 9px 0 14px; color: var(--muted); font-size: 12px; }
.clinical-treatment-list { display: grid; gap: 12px; }
.clinical-treatment-empty { padding: 26px 18px; color: var(--muted); background: #f8fbfa; border: 1px dashed #c9d8d6; border-radius: 10px; text-align: center; font-size: 8px; }
.clinical-treatment-empty strong { display: block; margin-bottom: 5px; color: var(--ink); font-size: 10px; }
.clinical-treatment-empty p { margin: 0; }
.clinical-plan-card { padding: 14px; background: #f8fbfa; border: 1px solid #dce8e6; border-radius: 12px; }
.clinical-plan-card.current { background: #fff; border-color: #b9d5d0; box-shadow: 0 8px 20px rgba(29, 73, 68, .06); }
.clinical-plan-card > header, .clinical-plan-row, .clinical-plan-goals-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.clinical-plan-card > header h4 { margin: 3px 0 0; color: var(--teal-900); font-size: 13px; }
.clinical-plan-kicker { display: block; color: var(--teal-600); font-size: 6px; font-weight: 850; letter-spacing: .45px; text-transform: uppercase; }
.clinical-plan-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin-top: 12px; }
.clinical-plan-facts > div { padding: 9px; background: #eef5f3; border-radius: 8px; }
.clinical-plan-facts span, .clinical-plan-narrative > span { display: block; color: var(--muted); font-size: 6px; font-weight: 850; letter-spacing: .35px; text-transform: uppercase; }
.clinical-plan-facts strong { display: block; margin-top: 4px; color: var(--ink); font-size: 8px; }
.clinical-plan-narrative { margin-top: 9px; padding: 10px; background: #fff; border: 1px solid #e2ecea; border-radius: 8px; }
.clinical-plan-narrative p { margin: 5px 0 0; color: var(--ink); font-size: 8px; line-height: 1.5; }
.clinical-plan-narrative.discharge { background: #f5f2e9; border-color: #e5dcc4; }
.clinical-plan-goals-heading { align-items: end; margin: 14px 0 7px; }
.clinical-plan-goals-heading h5 { margin: 3px 0 0; color: var(--ink); font-size: 10px; }
.clinical-plan-goals-heading > strong { color: var(--teal-700); font-size: 7px; }
.clinical-goals { display: grid; gap: 8px; }
.clinical-goal { padding: 11px; background: #eef5f3; border-radius: 9px; }
.clinical-plan-row > div > strong { display: block; margin-top: 4px; color: var(--ink); font-size: 9px; line-height: 1.4; }
.clinical-plan-date { display: block; margin-top: 5px; color: var(--muted); font-size: 7px; }
.clinical-objectives { display: grid; gap: 6px; margin-top: 9px; }
.clinical-objective { padding: 9px; background: #fff; border: 1px solid #dfeae8; border-radius: 8px; }
.clinical-objective > p { margin: 5px 0 0; color: var(--ink); font-size: 8px; line-height: 1.45; }
.clinical-objective .clinical-plan-row > strong { color: var(--teal-800); font-size: 7px; }
.clinical-interventions { display: grid; gap: 5px; margin: 8px 0 0; padding: 0; list-style: none; }
.clinical-interventions li { padding: 7px 8px; background: #f6f9f8; border-left: 3px solid var(--teal-500); border-radius: 0 6px 6px 0; }
.clinical-interventions span, .clinical-interventions small { display: block; }
.clinical-interventions span { color: var(--ink); font-size: 7px; line-height: 1.4; }
.clinical-interventions small { margin-top: 3px; color: var(--muted); font-size: 6px; }
.clinical-goal-evidence { margin-top: 9px; padding: 9px 10px; color: #285f47; background: #e5f2eb; border: 1px solid #b8d9c6; border-radius: 8px; }
.clinical-goal-evidence > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.clinical-goal-evidence > header strong { display: block; margin-top: 3px; color: #285f47; font-size: 9px; }
.clinical-goal-evidence > header button { min-height: 30px; padding: 6px 9px; color: #fff; background: #39785a; border: 0; border-radius: 6px; cursor: pointer; font-size: 7px; font-weight: 850; white-space: nowrap; }
.clinical-goal-evidence > p { margin: 7px 0 0; color: var(--ink); font-size: 8px; line-height: 1.5; }
.clinical-goal-evidence > small { display: block; margin-top: 6px; color: #557169; font-size: 6px; line-height: 1.4; }
.clinical-goal-evidence.empty { color: var(--muted); background: rgba(255, 255, 255, .65); border-style: dashed; }
.clinical-goal-evidence.empty > p { margin-top: 4px; color: var(--muted); }
.clinical-plan-muted { margin: 0; color: var(--muted); font-size: 8px; }
.clinical-plan-card .status-pill.draft,
.clinical-plan-card .status-pill.planned { color: #8c611f; background: #f4e7c9; }
.clinical-plan-card .status-pill.active,
.clinical-plan-card .status-pill.achieved { color: #286a4e; background: #e0f1e8; }
.clinical-plan-card .status-pill.in_progress { color: #286a4e; background: #e0f1e8; }
.clinical-plan-card .status-pill.paused { color: #8c611f; background: #f4e7c9; }
.clinical-plan-card .status-pill.discontinued { color: #90413c; background: #f5dedc; }
.clinical-treatment-history { padding: 10px; background: #f4f8f7; border: 1px solid #dce8e6; border-radius: 10px; }
.clinical-treatment-history > div { display: flex; gap: 6px; margin-top: 7px; overflow-x: auto; }
.clinical-treatment-history button { display: grid; gap: 2px; min-width: 180px; padding: 9px 10px; color: var(--muted); background: #fff; border: 1px solid #d1e0dd; border-radius: 8px; cursor: pointer; text-align: left; }
.clinical-treatment-history button.active { color: var(--teal-800); background: #e8f3f0; border-color: #8dbab2; box-shadow: 0 0 0 2px rgba(50, 122, 115, .08); }
.clinical-treatment-history button > span { font-size: 9px; font-weight: 850; letter-spacing: .25px; text-transform: uppercase; }
.clinical-treatment-history button > strong { color: var(--ink); font-size: 11px; }
.clinical-treatment-history button > small { font-size: 9px; }
.clinical-treatment-narratives { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.clinical-treatment-amendment-reason { display: grid; gap: 3px; margin: 10px 0 0; padding: 10px; color: #6a5739; background: #faf5e9; border-radius: 8px; font-size: 10px; }
.clinical-treatment-signature { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: start; gap: 10px; margin-top: 12px; padding: 12px; color: #285f47; background: #e9f4ee; border: 1px solid #b8d9c6; border-radius: 9px; }
.clinical-treatment-signature > span { width: 28px; height: 28px; display: grid; place-items: center; color: #fff; background: #39785a; border-radius: 50%; font-weight: 900; }
.clinical-treatment-signature small, .clinical-treatment-signature strong { display: block; }
.clinical-treatment-signature small { font-size: 8px; text-transform: uppercase; }
.clinical-treatment-signature strong { margin-top: 2px; font-size: 11px; }
.clinical-treatment-signature p { margin: 4px 0 0; font-size: 9px; line-height: 1.4; }
.clinical-treatment-signature time { font-size: 9px; white-space: nowrap; }
.clinical-treatment-input { margin-bottom: 12px; }
.clinical-treatment-input[hidden] { display: none; }
.clinical-treatment-input form { overflow: hidden; background: #fff; border: 1px solid #9fc8c0; border-radius: 12px; box-shadow: 0 10px 28px rgba(29, 73, 68, .08); }
.clinical-treatment-input form > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 14px; background: linear-gradient(120deg, #eaf5f2, #fafcfb); border-bottom: 1px solid #d6e8e4; }
.clinical-treatment-input form > header h4 { margin: 4px 0 0; color: var(--teal-900); font-size: 18px; }
.clinical-treatment-input form > header p:last-child { margin: 5px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.clinical-treatment-input form > header > button { width: 28px; height: 28px; color: var(--muted); background: #fff; border: 1px solid #c9dbd7; border-radius: 7px; cursor: pointer; font-size: 17px; line-height: 1; }
.clinical-treatment-foundation { padding: 14px; background: #fafcfb; border-bottom: 1px solid #dfeae8; }
.clinical-treatment-field-grid, .clinical-treatment-narrative-grid, .clinical-treatment-editor-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.clinical-treatment-narrative-grid { margin-top: 10px; }
.clinical-treatment-input label { display: grid; align-content: start; gap: 5px; color: var(--muted); font-size: 10px; font-weight: 850; letter-spacing: .3px; text-transform: uppercase; }
.clinical-treatment-input label.span-2 { grid-column: 1 / -1; }
.clinical-treatment-input label small { color: #8b6750; font-size: 9px; letter-spacing: 0; text-transform: none; }
.clinical-treatment-input input, .clinical-treatment-input select, .clinical-treatment-input textarea { width: 100%; color: var(--ink); background: #fff; border: 1px solid #c4d9d5; border-radius: 7px; font: inherit; font-size: 13px; text-transform: none; }
.clinical-treatment-input input, .clinical-treatment-input select { min-height: 40px; padding: 8px 9px; }
.clinical-treatment-input textarea { padding: 9px; resize: vertical; line-height: 1.5; }
.clinical-treatment-input input:focus, .clinical-treatment-input select:focus, .clinical-treatment-input textarea:focus { border-color: var(--teal-500); box-shadow: 0 0 0 3px rgba(50, 122, 115, .12); outline: none; }
.clinical-treatment-goal-builder { padding: 14px; background: #f3f8f6; }
.clinical-treatment-builder-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.clinical-treatment-builder-heading h5 { margin: 4px 0 0; color: var(--teal-900); font-size: 14px; }
.clinical-treatment-builder-heading p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.clinical-treatment-builder-heading > button, .clinical-treatment-add-child { min-height: 36px; padding: 8px 12px; color: #fff; background: var(--teal-700); border: 0; border-radius: 7px; cursor: pointer; font-size: 11px; font-weight: 850; white-space: nowrap; }
#clinical-treatment-goals { display: grid; gap: 12px; }
.clinical-treatment-goal-editor { padding: 12px; background: #fff; border: 1px solid #b8d7d1; border-radius: 10px; box-shadow: 0 4px 14px rgba(29, 73, 68, .04); }
.clinical-treatment-editor-row-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 9px; }
.clinical-treatment-editor-row-heading.goal { align-items: flex-start; padding-bottom: 9px; border-bottom: 1px solid #dce9e6; }
.clinical-treatment-editor-row-heading strong { color: var(--teal-900); font-size: 11px; }
.clinical-treatment-editor-row-heading.goal strong { display: block; margin-top: 4px; font-size: 13px; }
.clinical-treatment-editor-row-heading button { padding: 5px 7px; color: #8e4742; background: #fff5f3; border: 1px solid #eccbc7; border-radius: 6px; cursor: pointer; font-size: 9px; font-weight: 800; }
.clinical-treatment-objectives-editor { display: grid; gap: 9px; margin: 10px 0; padding: 10px; background: #eef5f3; border-radius: 9px; }
.clinical-treatment-objective-editor { padding: 10px; background: #fff; border: 1px solid #d2e3e0; border-radius: 8px; }
.clinical-treatment-interventions { display: grid; gap: 7px; margin-top: 9px; }
.clinical-treatment-intervention { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 9px; background: #f7faf9; border-left: 3px solid var(--teal-500); border-radius: 0 7px 7px 0; }
.clinical-treatment-intervention .clinical-treatment-editor-row-heading { grid-column: 1 / -1; margin: 0; }
.clinical-treatment-add-child { min-height: 32px; padding: 6px 9px; color: var(--teal-700); background: #fff; border: 1px solid #a8c9c3; }
.clinical-treatment-discharge { padding: 14px; background: #faf7ef; border-top: 1px solid #e6ddc7; }
.clinical-treatment-input form > footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; background: #edf4f2; border-top: 1px solid #d5e4e1; }
.clinical-treatment-input form > footer > p { margin: 0; color: var(--muted); font-size: 11px; }
.clinical-treatment-input form > footer > div { display: flex; gap: 7px; }
.clinical-treatment-input form > footer button { min-height: 40px; padding: 9px 13px; border-radius: 7px; cursor: pointer; font-size: 12px; font-weight: 850; }
.clinical-treatment-input form > footer button:not(.primary) { color: var(--teal-700); background: #fff; border: 1px solid #a8c9c3; }
.treatment-sign-dialog .dialog-actions button:disabled, .treatment-amend-dialog .dialog-actions button:disabled { opacity: .55; cursor: not-allowed; }
.clinical-documents-panel { padding: 18px; }
.clinical-documents-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.clinical-documents-heading h3 { margin: 3px 0 0; color: var(--teal-900); font-size: 18px; }
.clinical-documents-heading > span { padding: 5px 8px; color: var(--teal-700); background: var(--mint); border-radius: 999px; font-size: 7px; font-weight: 850; white-space: nowrap; }
.clinical-documents-status { margin: 9px 0 14px; color: var(--muted); font-size: 8px; }
.clinical-documents-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.clinical-document-card { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: start; gap: 10px; padding: 12px; background: #fff; border: 1px solid #dce8e6; border-radius: 10px; }
.clinical-document-card.missing { color: var(--muted); background: #f8fbfa; border-style: dashed; }
.clinical-document-icon { width: 34px; height: 34px; display: grid; place-items: center; color: #fff; background: var(--teal-700); border-radius: 9px; font-size: 9px; font-weight: 900; }
.clinical-document-icon.progress_note { background: #5b6f9e; }
.clinical-document-icon.treatment_plan { background: #32795b; }
.clinical-document-icon.group_session { background: #8c672f; }
.clinical-document-icon.discharge_plan { background: #6f607f; }
.clinical-document-icon.discharge_completion { background: #586d70; }
.clinical-document-card.missing .clinical-document-icon { color: #718481; background: #e3ecea; }
.clinical-document-category { display: block; color: var(--teal-600); font-size: 6px; font-weight: 850; letter-spacing: .4px; text-transform: uppercase; }
.clinical-document-card h4 { margin: 4px 0 0; color: var(--ink); font-size: 9px; }
.clinical-document-card p { margin: 4px 0 0; color: var(--muted); font-size: 7px; line-height: 1.4; }
.clinical-document-copy small { display: block; margin-top: 6px; color: var(--muted); font-size: 6px; }
.clinical-document-end { display: grid; justify-items: end; gap: 6px; }
.clinical-document-end time { color: var(--muted); font-size: 7px; white-space: nowrap; }
.clinical-document-state { align-self: center; color: var(--muted); font-size: 7px; font-weight: 800; white-space: nowrap; }
.clinical-documents-empty { grid-column: 1 / -1; padding: 34px 18px; color: var(--muted); background: #f8fbfa; border: 1px dashed #cadbd8; border-radius: 10px; font-size: 9px; text-align: center; }
.clinical-progress-panel { padding: 18px; }
.clinical-progress-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.clinical-progress-heading h3 { margin: 3px 0 0; color: var(--teal-900); font-size: 18px; }
.clinical-progress-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px; }
.clinical-progress-actions > span { padding: 6px 9px; color: #4f628d; background: #edf0f8; border-radius: 999px; font-size: 11px; font-weight: 850; white-space: nowrap; }
.clinical-progress-actions > button { min-height: 36px; padding: 8px 12px; color: #fff; background: #5b6f9e; border: 0; border-radius: 7px; cursor: pointer; font-size: 12px; font-weight: 850; }
.clinical-progress-actions > button.sign { background: #2f7b59; }
.clinical-progress-actions > button.amend { color: #4f628d; background: #fff; border: 1px solid #b8c2dc; }
.clinical-progress-status { margin: 9px 0 14px; color: var(--muted); font-size: 12px; }
.clinical-progress-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin: -3px 0 12px; padding: 10px 11px; background: #f4f6fa; border: 1px solid #dce1ee; border-radius: 9px; }
.clinical-progress-toolbar label { display: grid; gap: 4px; min-width: 230px; color: #607092; font-size: 8px; font-weight: 850; letter-spacing: .35px; text-transform: uppercase; }
.clinical-progress-toolbar select { min-height: 36px; padding: 7px 28px 7px 9px; color: var(--ink); background: #fff; border: 1px solid #cbd3e2; border-radius: 7px; font: inherit; font-size: 10px; font-weight: 750; text-transform: none; }
.clinical-progress-toolbar p { margin: 0 0 7px; color: var(--muted); font-size: 9px; line-height: 1.45; text-align: right; }
.clinical-progress-list { display: grid; gap: 10px; }
.clinical-progress-empty { padding: 30px 18px; color: var(--muted); background: #f8fbfa; border: 1px dashed #cadbd8; border-radius: 10px; font-size: 10px; text-align: center; }
.clinical-progress-empty strong { display: block; margin-bottom: 5px; color: var(--ink); font-size: 13px; }
.clinical-progress-empty p { margin: 0; }
.clinical-progress-history { padding: 10px; background: #f4f6fa; border: 1px solid #dce1ee; border-radius: 10px; }
.clinical-progress-history > div { display: flex; gap: 6px; margin-top: 7px; overflow-x: auto; }
.clinical-progress-history button { display: grid; gap: 2px; min-width: 180px; padding: 9px 10px; color: var(--muted); background: #fff; border: 1px solid #d5dbe9; border-radius: 8px; cursor: pointer; text-align: left; }
.clinical-progress-history button.active { color: #40547f; background: #eef1f8; border-color: #99a8c9; box-shadow: 0 0 0 2px rgba(91, 111, 158, .08); }
.clinical-progress-history button > span { font-size: 9px; font-weight: 850; letter-spacing: .25px; text-transform: uppercase; }
.clinical-progress-history button > strong { color: var(--ink); font-size: 11px; }
.clinical-progress-history button > small { font-size: 9px; }
.clinical-progress-card { padding: 14px; background: #fff; border: 1px solid #c8d0e2; border-radius: 12px; box-shadow: 0 8px 20px rgba(49, 64, 102, .06); }
.clinical-progress-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.clinical-progress-card > header h4 { margin: 3px 0 0; color: #35496f; font-size: 15px; }
.clinical-progress-card > header p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.clinical-progress-record-actions { display: grid; justify-items: end; gap: 7px; }
.clinical-progress-record-actions button { min-height: 32px; padding: 6px 9px; color: #fff; background: var(--teal-700); border: 0; border-radius: 7px; cursor: pointer; font-size: 9px; font-weight: 850; white-space: nowrap; }
.clinical-progress-source { display: grid; grid-template-columns: 30px minmax(0, 1fr); align-items: center; gap: 10px; margin-top: 12px; padding: 10px 11px; color: #285f47; background: #e9f4ee; border: 1px solid #b8d9c6; border-radius: 9px; }
.clinical-progress-source > span { width: 28px; height: 28px; display: grid; place-items: center; color: #fff; background: #39785a; border-radius: 8px; font-size: 11px; font-weight: 900; }
.clinical-progress-source strong, .clinical-progress-source small { display: block; }
.clinical-progress-source strong { font-size: 10px; }
.clinical-progress-source small { margin-top: 3px; color: #557169; font-size: 8px; line-height: 1.4; }
.group-participation-record { border-color: #b8d9c6; box-shadow: 0 8px 20px rgba(40, 95, 71, .07); }
.group-participation-record .clinical-progress-section summary strong { color: var(--teal-700); }
.group-participation-facts { margin-top: 7px; }
.clinical-progress-card .status-pill.draft { color: #8c611f; background: #f4e7c9; }
.clinical-progress-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin-top: 12px; }
.clinical-progress-facts > div { padding: 10px; background: #f2f4f9; border-radius: 8px; }
.clinical-progress-facts span { display: block; color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .3px; text-transform: uppercase; }
.clinical-progress-facts strong { display: block; margin-top: 4px; color: var(--ink); font-size: 11px; }
.clinical-progress-risk { display: grid; grid-template-columns: minmax(150px, .6fr) 1.4fr; gap: 12px; margin-top: 10px; padding: 11px; background: #f7faf9; border: 1px solid #dfeae8; border-left: 4px solid #9ba8a5; border-radius: 9px; }
.clinical-progress-risk.low { border-left-color: #4e8b69; }
.clinical-progress-risk.moderate { border-left-color: #c28a34; }
.clinical-progress-risk.high, .clinical-progress-risk.imminent { background: #fbefed; border-left-color: #a34d46; }
.clinical-progress-risk span { display: block; color: var(--muted); font-size: 9px; font-weight: 800; }
.clinical-progress-risk strong { display: block; margin-top: 3px; color: var(--ink); font-size: 12px; }
.clinical-progress-risk p { margin: 0; color: var(--ink); font-size: 10px; line-height: 1.5; }
.clinical-progress-amendment-reason { display: grid; gap: 3px; margin: 10px 0 0; padding: 10px; color: #6a5739; background: #faf5e9; border-radius: 8px; font-size: 10px; }
.clinical-progress-sections { display: grid; gap: 7px; margin-top: 10px; }
.clinical-progress-section { background: #f9fafc; border: 1px solid #e0e4ee; border-radius: 9px; overflow: hidden; }
.clinical-progress-section summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 11px; cursor: pointer; list-style: none; }
.clinical-progress-section summary::-webkit-details-marker { display: none; }
.clinical-progress-section summary strong { color: #40547f; font-size: 11px; }
.clinical-progress-section summary span { color: var(--muted); font-size: 9px; font-weight: 800; }
.clinical-progress-section[open] summary { background: #f0f2f8; border-bottom: 1px solid #e0e4ee; }
.clinical-progress-section > div > div { padding: 10px 11px; border-bottom: 1px solid #e6e9f0; }
.clinical-progress-section > div > div:last-child { border-bottom: 0; }
.clinical-progress-section > div span { color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .3px; text-transform: uppercase; }
.clinical-progress-section > div p { margin: 4px 0 0; color: var(--ink); font-size: 11px; line-height: 1.5; }
.clinical-progress-signature { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: start; gap: 10px; margin-top: 12px; padding: 12px; color: #285f47; background: #e9f4ee; border: 1px solid #b8d9c6; border-radius: 9px; }
.clinical-progress-signature > span { width: 28px; height: 28px; display: grid; place-items: center; color: #fff; background: #39785a; border-radius: 50%; font-weight: 900; }
.clinical-progress-signature small, .clinical-progress-signature strong { display: block; }
.clinical-progress-signature small { font-size: 8px; text-transform: uppercase; }
.clinical-progress-signature strong { margin-top: 2px; font-size: 11px; }
.clinical-progress-signature p { margin: 4px 0 0; font-size: 9px; line-height: 1.4; }
.clinical-progress-signature time { font-size: 9px; white-space: nowrap; }
.clinical-progress-input { margin-bottom: 12px; }
.clinical-progress-input[hidden] { display: none; }
.clinical-progress-input form { overflow: hidden; background: #fff; border: 1px solid #aebbd6; border-radius: 12px; box-shadow: 0 10px 28px rgba(49, 64, 102, .08); }
.clinical-progress-input form > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 14px; background: linear-gradient(120deg, #eef1f8, #fafbfc); border-bottom: 1px solid #dce1ec; }
.clinical-progress-input form > header h4 { margin: 4px 0 0; color: #35496f; font-size: 18px; }
.clinical-progress-input form > header p:last-child { margin: 5px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.clinical-progress-input form > header > button { width: 28px; height: 28px; color: var(--muted); background: #fff; border: 1px solid #d3d9e6; border-radius: 7px; cursor: pointer; font-size: 17px; line-height: 1; }
.clinical-progress-service-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; padding: 13px 14px; background: #fafbfc; border-bottom: 1px solid #e2e5ed; }
.clinical-progress-service-grid label, .clinical-progress-form-sections label { display: grid; align-content: start; gap: 5px; color: var(--muted); font-size: 10px; font-weight: 850; letter-spacing: .3px; text-transform: uppercase; }
.clinical-progress-service-grid label.span-2 { grid-column: span 2; }
.clinical-progress-service-grid input, .clinical-progress-service-grid select, .clinical-progress-form-sections textarea, .clinical-progress-form-sections select { width: 100%; color: var(--ink); background: #fff; border: 1px solid #cbd3e2; border-radius: 7px; font: inherit; font-size: 13px; text-transform: none; }
.clinical-progress-service-grid input, .clinical-progress-service-grid select, .clinical-progress-form-sections select { min-height: 40px; padding: 8px 9px; }
.clinical-progress-form-sections textarea { min-height: 96px; padding: 9px; resize: vertical; line-height: 1.5; }
.clinical-progress-form-sections label small { color: #8b6750; font-size: 9px; letter-spacing: 0; text-transform: none; }
.clinical-progress-template-guide { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; padding: 10px 14px; background: #4d608e; }
.clinical-progress-template-guide span { padding: 7px 8px; color: #eef1f8; background: rgba(255, 255, 255, .08); border-radius: 7px; font-size: 9px; line-height: 1.4; }
.clinical-progress-template-guide strong { display: block; margin-bottom: 2px; color: #fff; font-size: 10px; }
.clinical-progress-goal-picker { margin: 12px 14px 0; overflow: hidden; background: #f5faf8; border: 1px solid #bfd8d2; border-radius: 10px; }
.clinical-progress-goal-picker > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 11px 12px; border-bottom: 1px solid #d7e6e2; }
.clinical-progress-goal-picker > header h5 { margin: 3px 0 0; color: var(--teal-900); font-size: 13px; }
.clinical-progress-goal-picker > header p { margin: 4px 0 0; color: var(--muted); font-size: 9px; }
.clinical-progress-goal-picker button { min-height: 34px; padding: 7px 10px; color: var(--teal-700); background: #fff; border: 1px solid #b9d2cd; border-radius: 7px; cursor: pointer; font-size: 9px; font-weight: 850; white-space: nowrap; }
.clinical-progress-goal-picker button:disabled { cursor: not-allowed; opacity: .5; }
.clinical-progress-goal-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; padding: 10px 12px; }
.clinical-progress-goal-option { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: start; gap: 8px; padding: 9px; color: var(--ink); background: #fff; border: 1px solid #d7e4e1; border-radius: 8px; cursor: pointer; text-transform: none; }
.clinical-progress-goal-option:has(input:checked) { background: #eaf5f1; border-color: #87bbb0; box-shadow: inset 3px 0 var(--teal-500); }
.clinical-progress-goal-option input { width: 16px; height: 16px; margin: 1px 0 0; accent-color: var(--teal-700); }
.clinical-progress-goal-option span, .clinical-progress-goal-option small, .clinical-progress-goal-option strong, .clinical-progress-goal-option em { display: block; }
.clinical-progress-goal-option small { color: var(--teal-600); font-size: 7px; font-style: normal; font-weight: 850; letter-spacing: .3px; text-transform: uppercase; }
.clinical-progress-goal-option strong { margin-top: 4px; color: var(--ink); font-size: 10px; line-height: 1.4; }
.clinical-progress-goal-option em { margin-top: 4px; color: var(--muted); font-size: 8px; font-style: normal; line-height: 1.4; }
.clinical-progress-goal-empty { grid-column: 1 / -1; padding: 15px; color: var(--muted); background: #fff; border: 1px dashed #cbdad7; border-radius: 8px; text-align: center; }
.clinical-progress-goal-empty strong { display: block; color: var(--ink); font-size: 10px; }
.clinical-progress-goal-empty p { margin: 4px 0 0; font-size: 8px; }
.clinical-progress-goal-picker > footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 12px; background: #edf5f2; border-top: 1px solid #d7e6e2; }
.clinical-progress-goal-picker > footer p { margin: 0; color: #557169; font-size: 8px; line-height: 1.4; }
.clinical-progress-goal-picker > footer button { color: #fff; background: var(--teal-700); border-color: var(--teal-700); }
.clinical-progress-form-sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 12px 14px; }
.clinical-progress-form-sections section { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; gap: 9px; padding: 11px; background: #f9fafc; border: 1px solid #e0e4ee; border-radius: 9px; }
.clinical-progress-form-sections section > div { grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; padding-bottom: 8px; border-bottom: 1px solid #e2e6ef; }
.clinical-progress-form-sections section > div span { width: 28px; height: 28px; display: grid; place-items: center; color: #fff; background: #5b6f9e; border-radius: 7px; font-size: 10px; font-weight: 900; }
.clinical-progress-form-sections h5 { margin: 0; color: #35496f; font-size: 12px; }
.clinical-progress-form-sections section.risk { background: #f7faf9; border-color: #d8e5e2; }
.clinical-progress-input form > footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; background: #f4f6fa; border-top: 1px solid #dfe3ec; }
.clinical-progress-input form > footer > p { margin: 0; color: var(--muted); font-size: 11px; }
.clinical-progress-input form > footer > div { display: flex; gap: 7px; }
.clinical-progress-input form > footer button { min-height: 40px; padding: 9px 13px; border-radius: 7px; cursor: pointer; font-size: 12px; font-weight: 850; }
.clinical-progress-input form > footer button:not(.primary) { color: #4f628d; background: #fff; border: 1px solid #bdc7dc; }
.progress-sign-dialog .dialog-actions button:disabled, .progress-amend-dialog .dialog-actions button:disabled { opacity: .55; cursor: not-allowed; }
.clinical-assessment-panel { padding: 18px; }
.clinical-assessment-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.clinical-assessment-heading h3 { margin: 3px 0 0; color: var(--teal-900); font-size: 18px; }
.clinical-assessment-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px; }
.clinical-assessment-actions > span { padding: 6px 9px; color: var(--teal-700); background: var(--mint); border-radius: 999px; font-size: 11px; font-weight: 850; white-space: nowrap; }
.clinical-assessment-actions > button { min-height: 36px; padding: 8px 12px; color: #fff; background: var(--teal-700); border: 0; border-radius: 7px; cursor: pointer; font-size: 12px; font-weight: 850; }
.clinical-assessment-actions > button.sign { background: #2f7b59; }
.clinical-assessment-actions > button.amend { color: var(--teal-700); background: #fff; border: 1px solid #a8c9c3; }
.clinical-assessment-actions > button:disabled { color: var(--muted); background: #e2e9e7; cursor: not-allowed; }
.clinical-assessment-status { margin: 9px 0 14px; color: var(--muted); font-size: 12px; }
.clinical-assessment-list { display: grid; gap: 10px; }
.clinical-assessment-empty { padding: 28px 18px; color: var(--muted); background: #f8fbfa; border: 1px dashed #cadbd8; border-radius: 10px; font-size: 8px; text-align: center; }
.clinical-assessment-empty strong { display: block; margin-bottom: 5px; color: var(--ink); font-size: 10px; }
.clinical-assessment-empty p { margin: 0; }
.clinical-assessment-history { padding: 10px; background: #f4f8f7; border: 1px solid #dce8e6; border-radius: 10px; }
.clinical-assessment-history > div { display: flex; gap: 6px; margin-top: 7px; overflow-x: auto; }
.clinical-assessment-history button { display: grid; gap: 2px; min-width: 112px; padding: 8px 9px; color: var(--muted); background: #fff; border: 1px solid #d1e0dd; border-radius: 8px; cursor: pointer; text-align: left; }
.clinical-assessment-history button.active { color: var(--teal-800); background: #e8f3f0; border-color: #8dbab2; box-shadow: 0 0 0 2px rgba(50, 122, 115, .08); }
.clinical-assessment-history button:focus-visible { outline: 3px solid rgba(50, 122, 115, .18); outline-offset: 1px; }
.clinical-assessment-history button span { font-size: 6px; font-weight: 850; letter-spacing: .35px; text-transform: uppercase; }
.clinical-assessment-history button strong { font-size: 8px; }
.clinical-assessment-history button small { font-size: 6px; }
.clinical-assessment-card { padding: 14px; background: #fff; border: 1px solid #b9d5d0; border-radius: 12px; box-shadow: 0 8px 20px rgba(29, 73, 68, .06); }
.clinical-assessment-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.clinical-assessment-card > header h4 { margin: 3px 0 0; color: var(--teal-900); font-size: 13px; }
.clinical-assessment-card .status-pill.draft { color: #8c611f; background: #f4e7c9; }
.clinical-assessment-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin-top: 12px; }
.clinical-assessment-facts > div { padding: 9px; background: #eef5f3; border-radius: 8px; }
.clinical-assessment-facts span { display: block; color: var(--muted); font-size: 6px; font-weight: 850; letter-spacing: .35px; text-transform: uppercase; }
.clinical-assessment-facts strong { display: block; margin-top: 4px; color: var(--ink); font-size: 8px; }
.clinical-risk-overview { margin-top: 10px; padding: 11px; background: #f7faf9; border: 1px solid #dfeae8; border-radius: 9px; }
.clinical-risk-overview h5 { margin: 3px 0 0; color: var(--ink); font-size: 10px; }
.clinical-risk-overview > p { margin: 8px 0 0; color: var(--muted); font-size: 6px; line-height: 1.45; }
.clinical-risk-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-top: 9px; }
.clinical-risk-card { padding: 8px; background: #e5eceb; border-left: 3px solid #879996; border-radius: 7px; }
.clinical-risk-card.low { background: #e0f1e8; border-left-color: #4d8b6d; }
.clinical-risk-card.moderate { background: #f4e7c9; border-left-color: #a77a36; }
.clinical-risk-card.high,
.clinical-risk-card.imminent { background: #f5dedc; border-left-color: #a34d46; }
.clinical-risk-card span { display: block; color: var(--muted); font-size: 6px; font-weight: 800; }
.clinical-risk-card strong { display: block; margin-top: 4px; color: var(--ink); font-size: 8px; }
.clinical-assessment-sections { display: grid; gap: 7px; margin-top: 10px; }
.clinical-assessment-section { background: #f8fbfa; border: 1px solid #dfeae8; border-radius: 9px; overflow: hidden; }
.clinical-assessment-section summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 11px; cursor: pointer; list-style: none; }
.clinical-assessment-section summary::-webkit-details-marker { display: none; }
.clinical-assessment-section summary strong { color: var(--teal-800); font-size: 8px; }
.clinical-assessment-section summary span { color: var(--muted); font-size: 6px; font-weight: 800; }
.clinical-assessment-section[open] summary { background: #eef5f3; border-bottom: 1px solid #dfeae8; }
.clinical-assessment-section > div { display: grid; gap: 0; }
.clinical-assessment-section > div > div { padding: 10px 11px; border-bottom: 1px solid #e4edeb; }
.clinical-assessment-section > div > div:last-child { border-bottom: 0; }
.clinical-assessment-section > div span { color: var(--muted); font-size: 6px; font-weight: 850; letter-spacing: .35px; text-transform: uppercase; }
.clinical-assessment-section > div p { margin: 4px 0 0; color: var(--ink); font-size: 8px; line-height: 1.5; }
.clinical-assessment-input { margin-bottom: 12px; }
.clinical-assessment-input[hidden] { display: none; }
.clinical-assessment-input form { overflow: hidden; background: #fff; border: 1px solid #9fc8c1; border-radius: 12px; box-shadow: 0 10px 28px rgba(29, 73, 68, .08); }
.clinical-assessment-input form > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 14px; background: linear-gradient(120deg, #edf6f3, #f8fbfa); border-bottom: 1px solid #d9e7e4; }
.clinical-assessment-input form > header h4 { margin: 4px 0 0; color: var(--teal-900); font-size: 18px; }
.clinical-assessment-input form > header p:last-child { margin: 5px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.clinical-assessment-input form > header > button { width: 28px; height: 28px; color: var(--muted); background: #fff; border: 1px solid #cfdfdc; border-radius: 7px; cursor: pointer; font-size: 17px; line-height: 1; }
.clinical-assessment-form-foundation { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 12px 14px; background: #f8fbfa; border-bottom: 1px solid #e0ebe9; }
.clinical-assessment-form-foundation label, .clinical-assessment-form-fields label { display: grid; gap: 5px; }
.clinical-assessment-form-foundation label > span, .clinical-assessment-form-fields label > span { color: var(--muted); font-size: 11px; font-weight: 850; letter-spacing: .38px; text-transform: uppercase; }
.clinical-assessment-form-fields label > span small { display: block; margin-top: 3px; color: #8b6750; font-size: 10px; font-weight: 700; letter-spacing: 0; text-transform: none; }
.clinical-assessment-form-foundation input, .clinical-assessment-form-foundation select, .clinical-assessment-form-fields input, .clinical-assessment-form-fields select, .clinical-assessment-form-fields textarea { width: 100%; color: var(--ink); background: #fff; border: 1px solid #c7d8d5; border-radius: 7px; font: inherit; font-size: 14px; }
.clinical-assessment-form-foundation input, .clinical-assessment-form-foundation select, .clinical-assessment-form-fields input, .clinical-assessment-form-fields select { min-height: 42px; padding: 9px 10px; }
.clinical-assessment-form-fields textarea { min-height: 104px; padding: 10px; resize: vertical; line-height: 1.5; }
.clinical-assessment-form-foundation input:focus, .clinical-assessment-form-foundation select:focus, .clinical-assessment-form-fields input:focus, .clinical-assessment-form-fields select:focus, .clinical-assessment-form-fields textarea:focus { border-color: var(--teal-500); box-shadow: 0 0 0 3px rgba(50, 122, 115, .1); outline: none; }
.bps-section-nav { position: sticky; top: 0; z-index: 3; display: flex; gap: 6px; padding: 9px 14px; overflow-x: auto; background: rgba(24, 63, 67, .96); scrollbar-width: thin; }
.bps-section-nav button { flex: 0 0 auto; min-height: 30px; padding: 6px 9px; color: #e9f5f2; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14); border-radius: 999px; cursor: pointer; font-size: 10px; font-weight: 800; }
.bps-section-nav button:hover, .bps-section-nav button:focus-visible { color: var(--teal-900); background: #dff1eb; outline: none; }
.clinical-assessment-form-sections { display: grid; gap: 7px; padding: 12px 14px; background: #fff; }
.clinical-assessment-form-sections details { overflow: hidden; border: 1px solid #dce8e6; border-radius: 9px; }
.clinical-assessment-form-sections summary { display: flex; align-items: center; gap: 9px; padding: 10px 11px; cursor: pointer; list-style: none; background: #f8fbfa; }
.clinical-assessment-form-sections summary::-webkit-details-marker { display: none; }
.clinical-assessment-form-sections summary > span { width: 30px; height: 30px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; background: var(--teal-700); border-radius: 7px; font-size: 11px; font-weight: 900; }
.clinical-assessment-form-sections summary strong, .clinical-assessment-form-sections summary small { display: block; }
.clinical-assessment-form-sections summary strong { color: var(--teal-900); font-size: 13px; }
.clinical-assessment-form-sections summary small { margin-top: 2px; color: var(--muted); font-size: 11px; }
.clinical-assessment-form-sections details[open] summary { background: #eef5f3; border-bottom: 1px solid #dce8e6; }
.clinical-assessment-form-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 11px; }
.clinical-assessment-form-fields > .span-2 { grid-column: 1 / -1; }
.clinical-assessment-form-fields > label:last-child:nth-child(odd) { grid-column: 1 / -1; }
.bps-inline-grid, .bps-snap-grid, .bps-mse-grid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.bps-mse-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bps-choice-field, .bps-suicide-screen { min-width: 0; margin: 0; padding: 12px; background: #f8fbfa; border: 1px solid #d5e4e1; border-radius: 9px; }
.bps-choice-field legend, .bps-suicide-screen legend { padding: 0 5px; color: var(--teal-800); font-size: 12px; font-weight: 850; }
.bps-choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.bps-choice-grid label { display: flex; align-items: center; gap: 7px; min-height: 34px; padding: 7px 8px; color: var(--ink); background: #fff; border: 1px solid #dce8e6; border-radius: 7px; font-size: 12px; line-height: 1.3; }
.bps-choice-grid input { width: 16px; min-height: 16px; margin: 0; padding: 0; accent-color: var(--teal-700); }
.bps-trauma-note { padding: 11px 12px; color: #704f1d; background: #fff8e9; border: 1px solid #ead5aa; border-radius: 9px; }
.bps-trauma-note strong { font-size: 12px; }
.bps-trauma-note p { margin: 4px 0 0; font-size: 11px; line-height: 1.45; }
.bps-repeater { min-width: 0; padding: 12px; background: #f6faf9; border: 1px solid #d5e4e1; border-radius: 10px; }
.bps-repeater-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 9px; }
.bps-repeater-heading strong, .bps-repeater-heading small { display: block; }
.bps-repeater-heading strong { color: var(--teal-900); font-size: 13px; }
.bps-repeater-heading small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.bps-repeater-heading button, .bps-repeater-row > button { min-height: 34px; padding: 7px 10px; color: var(--teal-700); background: #fff; border: 1px solid #aecdc7; border-radius: 7px; cursor: pointer; font-size: 11px; font-weight: 850; }
.bps-repeater [data-bps-rows] { display: grid; gap: 8px; }
.bps-repeater-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(125px, 1fr)); align-items: end; gap: 8px; padding: 10px; background: #fff; border: 1px solid #dce8e6; border-radius: 8px; }
.bps-repeater-row label > span { font-size: 9px; }
.bps-repeater-row > button { color: #9a423c; border-color: #e1bbb7; }
.bps-suicide-screen > p { margin: 0 0 10px; color: #8a4b43; font-size: 11px; line-height: 1.45; }
.bps-screen-grid { display: grid; grid-template-columns: minmax(170px, 1fr) repeat(2, minmax(115px, .55fr)); gap: 7px; align-items: center; }
.bps-screen-grid > strong { color: var(--muted); font-size: 10px; letter-spacing: .4px; text-transform: uppercase; }
.bps-screen-grid > span { color: var(--ink); font-size: 12px; font-weight: 750; }
.bps-review-highlights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin-top: 8px; }
.bps-review-highlights > div { padding: 9px; background: #f8f3e9; border-radius: 8px; }
.bps-review-highlights span { display: block; color: #806a49; font-size: 9px; font-weight: 850; letter-spacing: .35px; text-transform: uppercase; }
.bps-review-highlights strong { display: block; margin-top: 4px; color: var(--ink); font-size: 12px; }
.clinical-assessment-input form > footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; background: #f3f8f7; border-top: 1px solid #dce8e6; }
.clinical-assessment-input form > footer > p { margin: 0; color: var(--muted); font-size: 12px; }
.clinical-assessment-input form > footer > div { display: flex; gap: 7px; }
.clinical-assessment-input form > footer button { min-height: 40px; padding: 9px 13px; border-radius: 7px; cursor: pointer; font-size: 12px; font-weight: 850; }
.clinical-assessment-input form > footer button:not(.primary) { color: var(--teal-700); background: #fff; border: 1px solid #bcd2ce; }
.bps-sign-readiness { padding: 14px; color: #825a21; background: #faf3e5; border: 1px solid #ead5ad; border-radius: 10px; }
.bps-sign-readiness.ready { color: #285f47; background: #e9f4ee; border-color: #b8d9c6; }
.bps-sign-readiness strong { display: block; font-size: 13px; }
.bps-sign-readiness p { margin: 5px 0 0; font-size: 11px; line-height: 1.5; }
.bps-sign-readiness ul { margin: 9px 0 0; padding-left: 18px; font-size: 11px; line-height: 1.55; }
.bps-sign-attestation { grid-template-columns: 20px 1fr !important; align-items: flex-start; gap: 10px !important; margin-top: 15px; padding: 13px; background: #f7faf9; border: 1px solid #d4e3e0; border-radius: 10px; }
.workflow-dialog .bps-sign-attestation input { width: 18px; height: 18px; margin: 1px 0 0; padding: 0; accent-color: var(--teal-700); }
.bps-sign-attestation span { color: var(--ink); font-size: 11px; font-weight: 650; line-height: 1.5; }
.bps-sign-dialog .dialog-actions button:disabled, .bps-amend-dialog .dialog-actions button:disabled { opacity: .55; cursor: not-allowed; }

@media (max-width: 1120px) {
  .clinical-workspace { grid-template-columns: minmax(250px, .8fr) minmax(420px, 1.4fr); }
  .clinical-link-state { display: none; }
  .group-note-source-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .clinical-group-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .clinical-group-filters { grid-template-columns: minmax(220px, 1fr) 150px 150px; }
  .clinical-group-filters button { grid-column: 3; }
}

@media (max-width: 820px) {
  .clinical-workspace { grid-template-columns: 1fr; }
  .clinical-patient-list { max-height: 320px; }
  .clinical-chart-empty { min-height: 420px; padding: 38px 24px; }
  .clinical-facesheet-grid { grid-template-columns: 1fr; }
  .clinical-profile-card, .clinical-coordination-wide, .clinical-summary-wide, .clinical-care-snapshot-wide { grid-column: auto; }
  .clinical-coordination-layout { grid-template-columns: 1fr; }
  .clinical-summary-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .clinical-summary-context { grid-column: 1 / -1; }
  .clinical-demographic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .clinical-demographic-grid > div:nth-child(4n) { border-right: 1px solid #e4ecea; }
  .clinical-demographic-grid > div:nth-child(2n) { border-right: 0; }
  .clinical-demographic-grid > div:nth-last-child(-n + 4) { border-bottom: 1px solid #e4ecea; }
  .clinical-demographic-grid > div:nth-last-child(-n + 2) { border-bottom: 0; }
  .clinical-overview-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .clinical-demographics-dialog .form-grid.three-column { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .clinical-demographics-contact { grid-template-columns: 1fr; }
  .clinical-demographics-contact button { justify-self: start; }
  .group-notes-hero { flex-direction: column; }
  .group-notes-hero .clinical-group-actions { justify-content: flex-start; }
  .group-notes-context { grid-template-columns: 1fr; }
  .group-notes-context .clinical-group-status { text-align: left; }
  .group-note-source-list { grid-template-columns: 1fr; }
  .clinical-group-filters { grid-template-columns: 1fr 1fr; }
  .clinical-group-filters label:first-child { grid-column: 1 / -1; }
  .clinical-group-filters button { grid-column: auto; }
}

@media (max-width: 560px) {
  .patient-banner { grid-template-columns: auto 1fr; }
  .patient-banner-status { grid-column: 1 / -1; justify-items: start; }
  .clinical-next-grid { grid-template-columns: 1fr; }
  .clinical-profile-body { grid-template-columns: 1fr; }
  .clinical-overview-heading { flex-direction: column; }
  .clinical-profile-actions { width: 100%; justify-content: space-between; }
  .clinical-face-photo { width: 90px; height: 106px; }
  .clinical-demographic-grid, .clinical-placement-facts, .clinical-coordination-facts, .clinical-safety-grid, .clinical-overview-metrics { grid-template-columns: 1fr; }
  .clinical-coordination-facts > .wide { grid-column: auto; }
  .clinical-summary-layout { grid-template-columns: 1fr; }
  .clinical-summary-context { grid-column: auto; }
  .clinical-allergy-list { grid-template-columns: 1fr; }
  .clinical-allergy-heading { align-items: flex-start; flex-direction: column; }
  .clinical-demographic-grid .clinical-demographic-primary, .clinical-demographic-grid .clinical-demographic-wide, .clinical-safety-grid .clinical-safety-wide { grid-column: auto; }
  .clinical-demographic-grid > div, .clinical-demographic-grid > div:nth-child(2n), .clinical-demographic-grid > div:nth-child(4n), .clinical-demographic-grid > div:nth-last-child(-n + 2), .clinical-demographic-grid > div:nth-last-child(-n + 4) { border-right: 0; border-bottom: 1px solid #e4ecea; }
  .clinical-demographic-grid > div:last-child { border-bottom: 0; }
  .clinical-demographics-dialog .form-grid.three-column, .clinical-demographics-contact, .clinical-demographics-contact-fields { grid-template-columns: 1fr; }
  .clinical-demographics-section-heading { flex-direction: column; }
  .chart-panel { padding: 16px; }
  .clinical-timeline-item { grid-template-columns: 30px minmax(0, 1fr); }
  .clinical-timeline-end { grid-column: 2; justify-items: start; }
  .clinical-timeline-filters { grid-template-columns: 1fr; }
  .clinical-plan-facts { grid-template-columns: 1fr; }
  .clinical-plan-card > header, .clinical-plan-row { gap: 8px; }
  .clinical-treatment-heading, .clinical-treatment-input form > footer, .clinical-treatment-builder-heading { align-items: stretch; flex-direction: column; }
  .clinical-treatment-actions { justify-content: space-between; }
  .clinical-treatment-field-grid, .clinical-treatment-narrative-grid, .clinical-treatment-editor-fields, .clinical-treatment-intervention, .clinical-treatment-narratives { grid-template-columns: 1fr; }
  .clinical-treatment-input label.span-2, .clinical-treatment-intervention .clinical-treatment-editor-row-heading { grid-column: auto; }
  .clinical-treatment-signature { grid-template-columns: 30px minmax(0, 1fr); }
  .clinical-treatment-signature time { grid-column: 2; }
  .clinical-documents-list { grid-template-columns: 1fr; }
  .clinical-assessment-facts, .clinical-risk-grid { grid-template-columns: 1fr; }
  .clinical-progress-facts, .clinical-progress-risk { grid-template-columns: 1fr; }
  .clinical-progress-heading, .clinical-progress-input form > footer { align-items: stretch; flex-direction: column; }
  .clinical-progress-actions { justify-content: space-between; }
  .clinical-progress-toolbar { align-items: stretch; flex-direction: column; }
  .clinical-progress-toolbar label { min-width: 0; }
  .clinical-progress-toolbar p { margin: 0; text-align: left; }
  .clinical-progress-service-grid, .clinical-progress-form-sections { grid-template-columns: 1fr; }
  .clinical-progress-service-grid label.span-2 { grid-column: auto; }
  .clinical-progress-template-guide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .clinical-progress-goal-options { grid-template-columns: 1fr; }
  .clinical-progress-goal-picker > header, .clinical-progress-goal-picker > footer { align-items: stretch; flex-direction: column; }
  .clinical-progress-form-sections section { grid-template-columns: 1fr; }
  .clinical-group-heading, .clinical-group-input form > footer, .clinical-group-builder-heading { align-items: stretch; flex-direction: column; }
  .group-note-source-panel > header, .group-note-source-card footer { align-items: flex-start; flex-direction: column; }
  .clinical-group-worklist-heading { align-items: flex-start; flex-direction: column; }
  .clinical-group-metrics, .clinical-group-filters { grid-template-columns: 1fr; }
  .clinical-group-filters label:first-child, .clinical-group-filters button { grid-column: auto; }
  .clinical-group-actions { justify-content: space-between; }
  .clinical-group-meta-grid, .clinical-group-narrative-grid, .clinical-group-participant-fields, .clinical-group-participant-narratives, .clinical-group-facts, .clinical-group-shared-copy, .clinical-group-participant-list { grid-template-columns: 1fr; }
  .clinical-group-input label.span-2 { grid-column: auto; }
  .clinical-group-signature { grid-template-columns: 30px minmax(0, 1fr); }
  .clinical-group-signature time { grid-column: 2; }
  .clinical-assessment-heading, .clinical-assessment-input form > footer { align-items: stretch; flex-direction: column; }
  .clinical-assessment-actions { justify-content: space-between; }
  .clinical-assessment-form-foundation, .clinical-assessment-form-fields { grid-template-columns: 1fr; }
  .clinical-assessment-form-fields > .span-2, .bps-inline-grid, .bps-snap-grid, .bps-mse-grid { grid-column: auto; grid-template-columns: 1fr; }
  .bps-choice-grid { grid-template-columns: 1fr; }
  .bps-screen-grid { grid-template-columns: minmax(120px, 1fr) repeat(2, minmax(78px, .7fr)); }
  .bps-review-highlights { grid-template-columns: 1fr; }
  .bps-repeater-heading { align-items: stretch; flex-direction: column; }
  .clinical-assessment-form-fields > label:last-child:nth-child(odd) { grid-column: auto; }
}

@media print {
  @page { size: landscape; margin: 9mm; }
  html, body { min-width: 0; color: #122f33; background: #fff; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  body > .app-shell, body > .session-expiry-warning, body > .toast, body > dialog:not(#resident-profile-dialog) { display: none !important; }
  #resident-profile-dialog { position: static; inset: auto; display: block; width: 100%; max-width: none; max-height: none; margin: 0; padding: 0; overflow: visible; color: #122f33; background: #fff; border-radius: 0; box-shadow: none; }
  #resident-profile-dialog::backdrop { display: none; }
  #resident-profile-dialog form { display: grid; gap: 6px; max-height: none; padding: 0; overflow: visible; }
  .resident-profile-heading { position: static; display: grid; grid-template-columns: 1fr; gap: 2px; margin: 0; padding: 0 0 7px; background: #fff; border-bottom: 2px solid #267b76; backdrop-filter: none; }
  .resident-profile-heading h2 { margin-top: 2px; font-size: 17px; }
  .resident-profile-heading .account-identifier { margin-top: 2px; font-size: 8px; }
  .resident-profile-heading .resident-profile-source, .resident-profile-heading .dialog-close, .resident-profile-actions, .resident-photo-editor, #resident-profile-review { display: none !important; }
  .resident-profile-print-header { display: grid; grid-template-columns: 1fr auto; gap: 2px 14px; padding: 5px 7px; color: #294b4e; background: #f2f7f6; border: 1px solid #cbdedb; }
  .resident-profile-print-header strong { font-size: 8px; text-transform: uppercase; letter-spacing: .55px; }
  .resident-profile-print-header span { font-size: 7px; text-align: right; }
  .resident-profile-print-header small { grid-column: 1 / -1; color: #6b4b1e; font-size: 6px; }
  .clinical-facesheet-grid.resident-facesheet-grid { grid-template-columns: minmax(0, 1.25fr) minmax(210px, .75fr); gap: 5px; margin-top: 0; }
  .resident-facesheet-grid .clinical-profile-card, .resident-facesheet-grid .clinical-placement-card, .resident-facesheet-grid .clinical-contacts-card, .resident-facesheet-grid .clinical-coordination-card, .resident-facesheet-grid .clinical-summary-card, .resident-facesheet-grid .clinical-safety-card, .resident-facesheet-grid .clinical-care-snapshot { padding: 8px; border-color: #cbdedb; border-radius: 6px; box-shadow: none; break-inside: avoid; }
  .resident-facesheet-grid .clinical-profile-card { border-top-width: 2px; }
  .resident-facesheet-grid .clinical-overview-heading h3 { margin-top: 2px; font-size: 9px; }
  .resident-facesheet-grid .clinical-profile-actions button { display: none; }
  .resident-facesheet-grid .clinical-profile-body { grid-template-columns: 68px minmax(0, 1fr); gap: 9px; margin-top: 7px; }
  .resident-facesheet-grid .clinical-face-photo { width: 68px; height: 82px; border-width: 2px; border-radius: 8px; box-shadow: none; }
  .resident-facesheet-grid .clinical-demographic-grid > div { padding: 5px 6px; }
  .resident-facesheet-grid .clinical-demographic-grid strong, .resident-facesheet-grid .clinical-placement-facts strong, .resident-facesheet-grid .clinical-safety-grid strong, .resident-facesheet-grid .clinical-coordination-facts strong { margin-top: 2px; font-size: 6.5px; }
  .resident-facesheet-grid .clinical-demographic-grid .clinical-demographic-primary strong { font-size: 8px; }
  .resident-facesheet-grid .clinical-placement-facts, .resident-facesheet-grid .clinical-contact-list, .resident-facesheet-grid .clinical-coordination-layout, .resident-facesheet-grid .clinical-summary-layout, .resident-facesheet-grid .clinical-safety-grid, .resident-facesheet-grid .resident-operation-metrics { gap: 4px; margin-top: 6px; }
  .resident-facesheet-grid .clinical-placement-facts > div, .resident-facesheet-grid .clinical-safety-grid > div, .resident-facesheet-grid .resident-operation-metrics > div, .resident-facesheet-grid .clinical-contact-item, .resident-facesheet-grid .clinical-coordination-group, .resident-facesheet-grid .clinical-summary-group { padding: 6px; border-radius: 5px; }
  .resident-facesheet-grid .clinical-coordination-group > header, .resident-facesheet-grid .clinical-summary-group > header { padding-bottom: 5px; }
  .resident-facesheet-grid .clinical-coordination-facts, .resident-facesheet-grid .clinical-summary-list, .resident-facesheet-grid .clinical-summary-narratives, .resident-facesheet-grid .clinical-allergy-list { gap: 3px; margin-top: 5px; }
  .resident-facesheet-grid .clinical-coordination-facts > div, .resident-facesheet-grid .clinical-summary-list article, .resident-facesheet-grid .clinical-summary-narratives > div, .resident-facesheet-grid .clinical-allergy-item { padding: 5px; }
  .resident-facesheet-grid .clinical-summary-guidance, .resident-facesheet-grid .clinical-safety-note { margin-top: 3px; font-size: 5.5px; }
  .resident-profile-activity-list { max-height: none; overflow: visible; }
  .resident-activity-item { padding: 5px 6px; border-radius: 5px; break-inside: avoid; }
  .resident-activity-icon { width: 20px; height: 20px; border-radius: 5px; font-size: 7px; }
}
