:root {
  --bg-base: #030305;
  --bg-surface: #07070a;
  --card-bg: #101014;
  --card-elevated: #17171d;
  --input-bg: #09090d;
  --border-subtle: rgba(255,255,255,.055);
  --border-base: rgba(255,255,255,.105);
  --border-active: rgba(255,255,255,.20);
  --text-main: #f7f7f8;
  --text-sec: #b4b4bd;
  --text-mut: #7d7d88;
  --text-placeholder: #5f5f69;
  --primary: #ee747f;
  --primary-hover: #f18b94;
  --primary-glow: rgba(217,75,89,.12);
  --primary-glow-strong: rgba(217,75,89,.22);
  --success: #d87480;
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-xl: 26px;
  --shadow-float: 0 24px 70px rgba(0,0,0,.72);
}

/* Keep the document locked to the viewport. Horizontal movement belongs only
   to the explicit chip/bed rails below, never to the page itself. */
*, *::before, *::after { box-sizing: border-box; }
html {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip;
  background: var(--bg-base);
  scroll-behavior: smooth;
}
body {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: hidden;
  overflow-x: clip;
  padding: 0 24px calc(126px + env(safe-area-inset-bottom));
  background:
    radial-gradient(circle at 12% -12%, rgba(217,75,89,.10), transparent 28rem),
    radial-gradient(circle at 92% 4%, rgba(124,111,113,.06), transparent 28rem),
    linear-gradient(180deg, #060608 0, #030305 26rem, #030305 100%);
  font-feature-settings: "cv02", "cv03", "cv04", "cv11";
}
body{--primary:#ee747f;--primary-hover:#f18b94;--primary-glow:rgba(217,75,89,.12);--primary-glow-strong:rgba(217,75,89,.22)}
body.modal-open { overflow: hidden; }
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .26;
  background-image: linear-gradient(rgba(255,255,255,.012) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.012) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: linear-gradient(to bottom, #000, transparent 54%);
}

button, input, select, textarea { font: inherit; }
button { position: relative; }
.brand-mark svg, .session-input-wrap svg, .main-tab-btn > svg, .btn-new-evolution > svg, .bed-icon svg, button.btn-action > svg, .reset-modal-icon svg { display: block; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

.app-header {
  max-width: 1160px;
  margin: 0 auto;
  padding: 28px 0 24px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  border-bottom: 1px solid var(--border-subtle);
}
.brand-block { display: flex; align-items: center; gap: 15px; min-width: 0; }
.brand-mark {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(217,75,89,.28);
  border-radius: 15px;
  color: #f18b94;
  background: linear-gradient(145deg, rgba(217,75,89,.16), rgba(217,75,89,.07));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 12px 32px rgba(0,0,0,.34);
}
.brand-mark svg { width: 26px; height: 26px; }
.brand-eyebrow {
  display: block;
  color: var(--primary);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: 5px;
}
.app-version {
  display: inline-block;
  margin-left: 5px;
  padding: 1px 5px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 999px;
  color: var(--text-mut);
  font-size: 8px;
  letter-spacing: .04em;
  vertical-align: 1px;
}
.app-header h1 {
  display: block;
  font-size: clamp(22px, 3vw, 30px);
  font-weight: 760;
  letter-spacing: -.045em;
  line-height: 1.05;
  background: linear-gradient(110deg, #fff 24%, #d6d3e0 75%, #d68a92);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.app-header h1::before { display: none; }
.app-header p { margin: 7px 0 0; color: var(--text-mut); font-size: 12px; letter-spacing: -.01em; }

.session-panel {
  display: flex;
  align-items: stretch;
  gap: 8px;
  padding: 6px;
  border-radius: 18px;
  border: 1px solid var(--border-base);
  background: rgba(16,16,20,.86);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 12px 32px rgba(0,0,0,.22);
}
.sync-state { display: flex; align-items: center; gap: 9px; padding: 7px 12px; min-width: 120px; }
.sync-state span, .session-field > label { display: block; margin: 0 0 3px; color: var(--text-mut); font-size: 9px; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.sync-state strong { display: block; color: var(--text-sec); font-size: 11px; font-weight: 650; }
.status-dot { width: 8px; height: 8px; box-shadow: 0 0 0 4px rgba(239,68,68,.09); }
.status-dot.saving { background: var(--primary); box-shadow: 0 0 0 4px rgba(217,75,89,.10), 0 0 10px rgba(217,75,89,.28); }
.status-dot.online { position: relative; box-shadow: 0 0 0 4px rgba(214,61,81,.10), 0 0 12px rgba(214,61,81,.36); }
.status-dot.online::after { content: ""; position: absolute; inset: -5px; border: 1px solid rgba(214,61,81,.38); border-radius: 50%; opacity: .72; }
.session-field { min-width: 174px; padding: 6px 8px 6px 12px; border-left: 1px solid var(--border-subtle); }
.session-input-wrap { display: flex; align-items: center; gap: 7px; }
.session-input-wrap svg { width: 15px; height: 15px; color: var(--primary); }
.session-sync-hint { display: block; margin: 3px 0 0 22px; color: var(--text-mut); font-size: 8px; line-height: 1.2; }
.session-input-wrap input {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--text-main);
  font-size: 12px;
  font-weight: 650;
  box-shadow: none;
}
.session-input-wrap input:focus { border: 0; background: transparent; box-shadow: none; }

.app-shell { position: relative; width: 100%; max-width: 1160px; min-width: 0; margin: 0 auto; }
.patient-nav {
  margin: 22px auto 12px;
  padding: 17px 18px 10px;
  border: 1px solid var(--border-base);
  border-radius: var(--radius-lg);
  background: linear-gradient(145deg, rgba(20,20,25,.96), rgba(12,12,16,.96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 12px 36px rgba(0,0,0,.24);
}
.patient-nav-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 2px 13px; }
.patient-nav-heading > div:first-child span { display: block; color: var(--primary); font-size: 10px; font-weight: 760; letter-spacing: .12em; text-transform: uppercase; }
.patient-nav-heading > div:first-child strong { display: block; margin-top: 4px; font-size: 14px; font-weight: 660; letter-spacing: -.015em; }
.current-bed-pill { display: flex; align-items: center; gap: 7px; padding: 7px 10px; border-radius: 99px; border: 1px solid rgba(217,75,89,.18); background: rgba(217,75,89,.07); }
.current-bed-pill span { color: var(--text-mut); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.current-bed-pill b { color: #ee747f; font-size: 11px; font-weight: 700; }
.patient-nav-actions { display: flex; align-items: center; gap: 8px; }
.btn-visit-mode { min-height: 34px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 8px 11px; border: 1px solid rgba(217,75,89,.24); border-radius: 10px; background: rgba(217,75,89,.08); color: #ee747f; font-size: 10px; font-weight: 700; white-space: nowrap; }
.btn-visit-mode svg { width: 14px; height: 14px; }
.btn-visit-mode:hover { border-color: rgba(217,75,89,.42); background: rgba(217,75,89,.14); color: #f5b4ba; transform: translateY(-1px); }
.btn-day-tasks { min-height: 34px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 8px 11px; border: 1px solid rgba(217,75,89,.20); border-radius: 10px; background: rgba(217,75,89,.07); color: #d9a1a7; font-size: 10px; font-weight: 680; white-space: nowrap; }
.btn-day-tasks svg { width: 14px; height: 14px; }
.btn-day-tasks:hover { border-color: rgba(217,75,89,.38); background: rgba(217,75,89,.12); color: #f0d8db; transform: translateY(-1px); }
.btn-day-tasks b { display: inline-grid; min-width: 18px; height: 18px; place-items: center; padding: 0 4px; border-radius: 99px; background: var(--primary); color: #190003; font-size: 9px; }
.btn-new-evolution { min-height: 34px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 8px 11px; border: 1px solid rgba(239,68,68,.16); border-radius: 10px; background: rgba(239,68,68,.055); color: #bf8f92; font-size: 10px; font-weight: 680; white-space: nowrap; }
.btn-new-evolution svg { display: block; width: 14px; height: 14px; }
.btn-new-evolution:hover { border-color: rgba(239,68,68,.35); background: rgba(239,68,68,.10); color: #ffaaaa; transform: translateY(-1px); }
.bed-selector { display: flex; width: 100%; max-width: 100%; min-width: 0; margin: 0; gap: 7px; padding: 1px 0 8px; overscroll-behavior-x: contain; }
.bed-btn {
  min-width: 78px;
  min-height: 54px;
  display: grid;
  grid-template-columns: 20px minmax(0,1fr);
  align-items: center;
  gap: 8px;
  padding: 9px 11px;
  border-radius: 11px;
  background: #0a0a0e;
  color: #9696a0;
  border-color: rgba(255,255,255,.09);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}
.bed-icon { width: 20px; height: 20px; display: grid; place-items: center; color: #686873; }
.bed-icon svg { width: 19px; height: 19px; }
.bed-copy { min-width: 0; display: grid; justify-items: start; line-height: 1; }
.bed-copy small { color: #686873; font-size: 7px; font-weight: 760; letter-spacing: .09em; text-transform: uppercase; }
.bed-copy b { margin-top: 4px; color: #b1b1ba; font-size: 12px; font-weight: 720; }
.bed-btn:hover { transform: translateY(-1px); background: #141419; }
.bed-btn.active { background: linear-gradient(135deg, #ee747f, #d94b59); color: #170003; border-color: #f18b94; box-shadow: 0 8px 22px rgba(217,75,89,.22), inset 0 1px 0 rgba(255,255,255,.30); }
.bed-btn.active .bed-icon, .bed-btn.active .bed-copy small, .bed-btn.active .bed-copy b { color: #27060a; }
.bed-btn.bed-selected .bed-icon { animation: bedSelect .2s cubic-bezier(.16,1,.3,1); }
.bed-task-badge { position: absolute; top: 5px; right: 5px; min-width: 17px; height: 17px; display: grid; place-items: center; padding: 0 4px; border: 1px solid rgba(255,255,255,.18); border-radius: 99px; background: #e85f71; color: #fff; font-size: 8px; font-weight: 800; box-shadow: 0 4px 12px rgba(0,0,0,.28); }
.bed-task-badge[hidden] { display: none; }
.bed-btn.active .bed-task-badge { border-color: rgba(17,17,17,.16); background: #2b050a; color: #ee747f; }

.tasks-card { grid-column: 1 / -1; }
.task-card-subtitle { margin: 4px 0 0; color: var(--text-mut); font-size: 11px; }
.task-count { flex: 0 0 auto; padding: 6px 9px; border: 1px solid rgba(217,75,89,.20); border-radius: 99px; background: rgba(217,75,89,.08); color: #d9a1a7; font-size: 10px; font-weight: 700; }
.task-form { display: grid; grid-template-columns: minmax(220px,1fr) minmax(140px,.34fr) auto auto auto; align-items: end; gap: 10px; padding: 13px; border: 1px solid var(--border-base); border-radius: 14px; background: rgba(6,6,9,.56); }
.task-form > *, .visit-task-composer > * { min-width: 0; }
.task-form label:not(.task-priority-toggle) { display: block; margin: 0 0 7px; color: var(--text-mut); font-size: 9px; font-weight: 720; letter-spacing: .07em; text-transform: uppercase; }
.task-form input, .task-form select { min-height: 42px; }
.task-priority-toggle { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 0 11px; border: 1px solid var(--border-base); border-radius: 11px; color: var(--text-sec); font-size: 10px; font-weight: 670; cursor: pointer; }
.task-priority-toggle input { width: 15px; min-height: 0; height: 15px; accent-color: var(--primary); }
.btn-task-add, .btn-task-cancel { min-height: 42px; padding: 0 15px; border-radius: 11px; font-size: 11px; font-weight: 720; }
.btn-task-add { border-color: rgba(217,75,89,.30); background: linear-gradient(135deg,#ee747f,#d94b59); color: #1e0004; }
.btn-task-cancel { border-color: var(--border-base); background: #131318; color: var(--text-sec); }
.task-toolbar { display: flex; gap: 6px; margin: 13px 0 10px; overflow-x: auto; scrollbar-width: none; }
.task-toolbar::-webkit-scrollbar { display: none; }
.task-filter { min-height: 32px; flex: 0 0 auto; padding: 6px 10px; border: 1px solid var(--border-base); border-radius: 99px; background: #0d0d11; color: var(--text-mut); font-size: 9px; font-weight: 700; }
.task-filter.active { border-color: rgba(217,75,89,.35); background: rgba(217,75,89,.12); color: #e5c4c8; }
.task-list { display: grid; gap: 8px; }
.task-empty { padding: 24px 14px; border: 1px dashed rgba(255,255,255,.09); border-radius: 13px; color: var(--text-mut); font-size: 11px; text-align: center; }
.task-item { display: grid; grid-template-columns: 30px minmax(0,1fr) auto; align-items: center; gap: 11px; padding: 12px; border: 1px solid var(--border-base); border-radius: 13px; background: #0b0b0f; transition: border-color .18s ease, opacity .18s ease, transform .18s ease; }
.task-item:hover { border-color: rgba(255,255,255,.15); transform: translateY(-1px); }
.task-item.is-priority { border-color: rgba(217,75,89,.24); background: linear-gradient(90deg,rgba(217,75,89,.055),#0b0b0f 32%); }
.task-item.is-done { opacity: .58; }
.task-item.is-done .task-item-body p { text-decoration: line-through; }
.task-check { width: 29px; height: 29px; display: grid; place-items: center; padding: 0; border: 1px solid rgba(217,75,89,.32); border-radius: 9px; background: rgba(217,75,89,.07); color: #fff; font-size: 15px; }
.task-item.is-done .task-check { border-color: rgba(214,61,81,.30); background: rgba(214,61,81,.16); color: #e57483; }
.task-item-body { min-width: 0; }
.task-item-body p { margin: 6px 0 0; color: var(--text-main); font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
.task-item-meta { display: flex; align-items: center; gap: 6px; }
.task-category, .task-priority-label { display: inline-flex; align-items: center; min-height: 19px; padding: 3px 6px; border-radius: 6px; font-size: 8px; font-weight: 760; letter-spacing: .04em; text-transform: uppercase; }
.task-category { border: 1px solid rgba(217,75,89,.18); background: rgba(217,75,89,.07); color: #d09aa1; }
.task-category-prescricao { border-color: rgba(214,61,81,.18); background: rgba(214,61,81,.07); color: #dc7b88; }
.task-category-parecer { border-color: rgba(255,86,109,.18); background: rgba(255,86,109,.07); color: #ff8f9e; }
.task-category-procedimento { border-color: rgba(255,92,114,.18); background: rgba(255,92,114,.07); color: #f27888; }
.task-category-familiar { border-color: rgba(236,116,132,.18); background: rgba(236,116,132,.07); color: #e5a1aa; }
.task-category-alta { border-color: rgba(220,94,111,.18); background: rgba(220,94,111,.07); color: #e0919c; }
.task-priority-label { background: rgba(217,75,89,.10); color: #ee747f; }
.task-item-actions { display: flex; gap: 5px; }
.task-item-actions button { min-height: 30px; padding: 5px 8px; border: 1px solid var(--border-base); border-radius: 8px; background: #121217; color: var(--text-mut); font-size: 9px; font-weight: 680; }
.task-item-actions .task-delete { color: #c28589; }

.day-tasks-modal-content { width: min(680px, calc(100vw - 28px)); max-height: min(780px, calc(100dvh - 36px)); overflow: auto; }
.modal-eyebrow { display: block; margin-bottom: 5px; color: var(--primary); font-size: 9px; font-weight: 760; letter-spacing: .11em; text-transform: uppercase; }
.day-tasks-modal-content h2 { margin: 0; font-size: 22px; }
.day-tasks-summary { margin: 8px 0 18px; color: var(--text-mut); font-size: 11px; }
.day-tasks-list { display: grid; gap: 10px; }
.day-bed-group { overflow: hidden; border: 1px solid var(--border-base); border-radius: 13px; background: #09090d; }
.day-bed-heading { width: 100%; min-height: 42px; display: flex; align-items: center; justify-content: space-between; padding: 9px 12px; border: 0; border-bottom: 1px solid var(--border-subtle); border-radius: 0; background: #111116; color: var(--text-main); font-size: 11px; font-weight: 720; }
.day-bed-heading b { min-width: 22px; height: 22px; display: grid; place-items: center; border-radius: 99px; background: rgba(217,75,89,.14); color: #d9a1a7; font-size: 9px; }
.day-bed-items { display: grid; }
.day-task-row { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: start; gap: 9px; padding: 10px 12px; border-top: 1px solid var(--border-subtle); }
.day-task-row:first-child { border-top: 0; }
.day-task-row.is-priority { background: rgba(217,75,89,.035); }
.day-task-row p { margin: 1px 0 0; color: var(--text-sec); font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }
.day-tasks-empty { padding: 30px 16px; border: 1px dashed var(--border-base); border-radius: 13px; color: var(--text-mut); font-size: 11px; text-align: center; }

body.visit-mode-open { overflow: hidden; }
.visit-mode[hidden] { display: none; }
.visit-mode {
  position: fixed;
  inset: 0;
  z-index: 300;
  display: grid;
  grid-template-rows: auto auto minmax(0,1fr) auto;
  min-width: 0;
  color: var(--text-main);
  background:
    radial-gradient(circle at 15% -12%, var(--primary-glow), transparent 30rem),
    radial-gradient(circle at 92% 0, rgba(145,132,134,.07), transparent 31rem),
    #050507;
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity .18s ease, transform .18s ease;
}
.visit-mode.show { opacity: 1; pointer-events: auto; transform: none; }
.visit-header { display: grid; grid-template-columns: minmax(120px,.3fr) minmax(220px,.55fr) 42px; align-items: center; gap: 24px; padding: 17px max(24px,calc((100vw - 1160px)/2)); border-bottom: 1px solid var(--border-base); background: rgba(9,9,12,.88); backdrop-filter: blur(10px); }
.visit-brand span { display: block; color: var(--primary); font-size: 9px; font-weight: 780; letter-spacing: .12em; text-transform: uppercase; }
.visit-brand strong { display: block; margin-top: 4px; font-size: 16px; letter-spacing: -.02em; }
.visit-progress-wrap { width: 100%; }
.visit-progress-copy { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; color: var(--text-mut); font-size: 9px; font-weight: 690; }
.visit-progress-copy b { color: var(--primary); }
.visit-progress-track { height: 5px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.07); }
.visit-progress-track span { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--primary); box-shadow: none; transition: width .24s ease; }
.visit-close { width: 38px; height: 38px; display: grid; place-items: center; padding: 0; border: 1px solid var(--border-base); border-radius: 11px; background: #121217; color: var(--text-sec); }
.visit-step-nav { display: flex; gap: 6px; max-width: 1160px; width: calc(100% - 48px); margin: 12px auto 0; padding: 6px; overflow-x: auto; overscroll-behavior-x: contain; border: 1px solid var(--border-base); border-radius: 14px; background: rgba(12,12,16,.84); scrollbar-width: none; }
.visit-step-nav::-webkit-scrollbar { display: none; }
.visit-step-nav button { min-height: 39px; flex: 1 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 7px 10px; border: 1px solid transparent; border-radius: 9px; background: transparent; color: var(--text-mut); font-size: 9px; font-weight: 700; white-space: nowrap; }
.visit-step-nav button span { display: grid; width: 19px; height: 19px; place-items: center; border: 1px solid rgba(255,255,255,.10); border-radius: 6px; font-size: 8px; }
.visit-step-nav button.complete span { border-color: var(--border-base); background: var(--input-bg); color: var(--text-sec); }
.visit-step-nav button.active { border-color: var(--border-active); background: var(--primary-glow); color: var(--primary); }
.visit-step-nav button.active span { border-color: var(--border-active); background: var(--primary-glow-strong); color: var(--primary); }
.visit-stage { width: min(900px,calc(100% - 48px)); min-height: 0; margin: 0 auto; padding: 22px 0 28px; overflow-y: auto; overscroll-behavior-y: contain; scrollbar-gutter: stable; }
.visit-stage-heading { display: flex; align-items: center; gap: 13px; margin-bottom: 18px; }
.visit-stage-heading > span { width: 38px; height: 38px; display: grid; flex: 0 0 auto; place-items: center; border: 1px solid var(--border-active); border-radius: 10px; background: var(--primary-glow); color: var(--primary); font-size: 10px; font-weight: 800; }
.visit-stage-heading h2 { margin: 0; font-size: 21px; letter-spacing: -.035em; }
.visit-stage-heading p { margin: 5px 0 0; color: var(--text-mut); font-size: 11px; }
.visit-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 17px; border: 1px solid var(--border-base); border-radius: 14px; background: var(--card-bg); box-shadow: none; }
.visit-field { min-width: 0; }
.visit-field-wide { grid-column: 1 / -1; }
.visit-field > label { display: block; margin: 0 0 7px; color: var(--text-mut); font-size: 9px; font-weight: 740; letter-spacing: .07em; text-transform: uppercase; }
.visit-control { width: 100%; max-width: 100%; min-width: 0; min-height: 45px; margin: 0; }
textarea.visit-control { min-height: 90px; resize: vertical; }
.visit-field-conditional[hidden] { display:none; }
.visit-field-conditional.is-visible { animation:visitConditionalIn .18s ease-out; }
@keyframes visitConditionalIn { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:none; } }
.visit-field-check { display: flex; align-items: stretch; }
.visit-field-check > label { width: 100%; min-height: 45px; display: flex; align-items: center; gap: 9px; margin: 0; padding: 11px 12px; border: 1px solid var(--border-base); border-radius: 9px; background: var(--input-bg); color: var(--text-sec); text-transform: none; cursor: pointer; }
.visit-field-check .visit-control { width: 17px; min-height: 0; height: 17px; flex: 0 0 auto; accent-color: var(--primary); }
.visit-task-composer { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(220px,1fr) 150px auto auto; gap: 9px; align-items: center; }
.visit-task-composer input, .visit-task-composer select, .visit-task-composer button { min-height: 43px; }
.visit-task-composer button { padding: 0 15px; border-color: var(--primary); background: var(--primary); color: var(--on-accent); font-size: 10px; font-weight: 740; }
.visit-task-priority { min-height: 43px; display: flex; align-items: center; gap: 5px; padding: 0 10px; border: 1px solid var(--border-base); border-radius: 11px; color: var(--text-sec); font-size: 9px; font-weight: 680; }
.visit-task-priority input { width: 15px; min-height: 0; height: 15px; accent-color: var(--primary); }
.visit-task-list { grid-column: 1 / -1; display: grid; gap: 8px; margin-top: 3px; }
.visit-task-item { display: grid; grid-template-columns: 30px minmax(0,1fr); align-items: center; gap: 10px; padding: 11px; border: 1px solid var(--border-base); border-radius: 12px; background: #09090d; }
.visit-task-item.is-priority { border-color: var(--border-active); background: var(--primary-glow); }
.visit-task-item p { margin: 6px 0 0; color: var(--text-main); font-size: 11px; line-height: 1.45; }
.visit-task-empty { padding: 26px 14px; border: 1px dashed var(--border-base); border-radius: 12px; color: var(--text-mut); font-size: 11px; text-align: center; }
.visit-fr-timer-panel { grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px; border:1px solid var(--border-active); border-radius:10px; background:var(--primary-glow); }
.visit-fr-timer-panel strong { display:block; color:#e4e4e9; font-size:10px; }
.visit-fr-timer-panel span { display:block; margin-top:4px; color:#73737e; font-size:8px; line-height:1.4; }
.visit-fr-timer { min-height:40px; display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; gap:7px; padding:8px 11px; border:1px solid var(--border-active); border-radius:8px; background:var(--primary-glow); color:var(--primary); font-size:9px; font-weight:720; white-space:nowrap; }
.visit-fr-timer svg { width:14px; height:14px; }
.visit-footer[hidden] { display:none; }
.visit-fields.visit-fields-completion { display:block; padding:0; border:0; background:transparent; box-shadow:none; }
.visit-completion-panel { overflow:hidden; border:1px solid var(--border-base); border-radius:14px; background:var(--card-bg); box-shadow:none; animation:visitCompletionIn .26s ease-out; }
.visit-completion-head { display:flex; align-items:center; gap:12px; padding:16px 17px; border-bottom:1px solid rgba(255,255,255,.06); }
.visit-completion-head > span { flex:0 0 auto; padding:6px 9px; border:1px solid var(--border-active); border-radius:99px; background:var(--primary-glow); color:var(--primary); font-size:8px; font-weight:760; letter-spacing:.05em; text-transform:uppercase; }
.visit-completion-head strong { display:block; color:#f1f2f3; font-size:13px; }
.visit-completion-head small { display:block; margin-top:4px; color:#747780; font-size:9px; }
.visit-completion-text { max-height:none; margin:0; padding:20px; overflow:visible; border:0; background:rgba(4,5,7,.46); color:#d8d9dc; font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace; font-size:11px; line-height:1.62; white-space:pre-wrap; overflow-wrap:anywhere; outline:none; }
.visit-completion-text:focus-visible { box-shadow:inset 0 0 0 2px var(--border-active); }
.visit-completion-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:13px; border-top:1px solid rgba(255,255,255,.06); background:rgba(7,8,10,.56); }
.visit-completion-actions button { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:9px 12px; border-radius:11px; font-size:9px; font-weight:740; }
.visit-completion-copy { border:1px solid var(--primary); background:var(--primary); color:var(--on-accent); box-shadow:none; }
.visit-completion-back { border:1px solid rgba(255,255,255,.10); background:#15161b; color:#c0c1c7; }
.visit-completion-next { border:1px solid var(--border-active); background:var(--primary-glow); color:var(--primary); }
.visit-completion-actions button:hover { transform:translateY(-1px); }
@keyframes visitCompletionIn { from { opacity:0; transform:translateY(8px) scale(.99); } to { opacity:1; transform:none; } }
.visit-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 13px max(24px,calc((100vw - 1160px)/2)) calc(13px + env(safe-area-inset-bottom)); border-top: 1px solid var(--border-base); background: rgba(9,9,12,.92); backdrop-filter: blur(10px); }
.visit-bed-navigation, .visit-step-actions { display: flex; align-items: center; gap: 8px; }
.visit-bed-navigation button { width: 38px; height: 38px; display: grid; place-items: center; padding: 0; border: 1px solid var(--border-base); border-radius: 10px; background: #121217; color: var(--text-sec); }
.visit-bed-navigation span { min-width: 88px; color: var(--text-mut); font-size: 9px; font-weight: 700; text-align: center; }
.visit-footer button:disabled { opacity: .34; cursor: default; }
.visit-back, .visit-next { min-height: 40px; padding: 0 17px; border-radius: 11px; font-size: 10px; font-weight: 730; }
.visit-back { border-color: var(--border-base); background: #121217; color: var(--text-sec); }
.visit-next { min-width: 130px; border-color: var(--primary); background: var(--primary); color: var(--on-accent); }

.main-tabs {
  position: sticky;
  top: 10px;
  z-index: 40;
  max-width: none;
  margin: 12px auto 20px;
  padding: 5px;
  gap: 5px;
  border-radius: 16px;
  border-color: rgba(255,255,255,.10);
  background: rgba(12,12,16,.84);
  backdrop-filter: blur(10px) saturate(110%);
  -webkit-backdrop-filter: blur(10px) saturate(110%);
  box-shadow: 0 14px 34px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.04);
}
.app-header, .patient-nav, .main-tabs, .tab-content, .col-layout, .card,
.so-grid, .detail-grid, .vitals-more-grid, .score-categories,
.score-category-section, .score-library-grid, .score-card {
  min-width: 0;
  max-width: 100%;
}
.tab-content.active { grid-template-columns: minmax(0,1fr); }
.main-tab-btn { min-height: 42px; align-items: center; border: 1px solid transparent; border-radius: 11px; font-size: 12px; color: #8d8d98; }
.main-tab-btn svg { width: 16px; height: 16px; transform-origin: center; }
.main-tab-btn:hover { background: rgba(255,255,255,.035); }
.main-tab-btn.active { border-color: rgba(255,255,255,.08); background: linear-gradient(180deg, #202027, #18181e); color: #fff; box-shadow: 0 5px 14px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.055); }
.main-tab-btn.active svg { animation: tabIconIn .3s cubic-bezier(.2,.8,.2,1); }
.main-tab-btn.active::after { content: ""; width: 5px; height: 5px; margin-left: 2px; border-radius: 50%; background: var(--primary); box-shadow: 0 0 10px rgba(217,75,89,.52); }

.tab-content { max-width: none; gap: 18px; }
.tab-content.active { animation: premiumTabIn .18s ease-out; }
@keyframes premiumTabIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.col-layout { gap: 18px; }
.card {
  overflow: hidden;
  padding: 22px;
  border-color: rgba(255,255,255,.095);
  border-radius: var(--radius-lg);
  background: linear-gradient(145deg, rgba(19,19,24,.98), rgba(13,13,17,.98));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.028), 0 12px 34px rgba(0,0,0,.18);
  transition: border-color .16s ease, transform .16s ease, box-shadow .16s ease;
}
.card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(217,75,89,.48), rgba(217,75,89,.18), transparent 72%);
  opacity: .75;
}
.card:hover { transform: translateY(-1px); border-color: rgba(255,255,255,.145); box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 18px 38px rgba(0,0,0,.22); }
.card.reveal-ready, .score-category-section.reveal-ready { opacity: 0; transform: translateY(14px); }
.card.reveal-ready.is-visible, .score-category-section.reveal-ready.is-visible { opacity: 1; transform: none; transition: opacity .42s ease var(--reveal-delay,0ms), transform .42s cubic-bezier(.2,.8,.2,1) var(--reveal-delay,0ms), border-color .16s ease, box-shadow .16s ease; }
.card.reveal-ready.is-visible:hover { transform: translateY(-1px); }
.card-header-flex { margin: -2px -2px 20px; padding: 0 2px 16px; border-color: rgba(255,255,255,.065); }
h2 { display: flex; align-items: center; text-transform: none; font-size: 14px; font-weight: 680; letter-spacing: -.015em; }
.indicator { width: 8px; height: 8px; background: var(--primary); box-shadow: 0 0 0 4px rgba(217,75,89,.075); }
#tab_pront .indicator, #tab_history .indicator, #tab_scores .indicator { background: var(--primary); box-shadow: 0 0 0 4px rgba(217,75,89,.08); }
label { margin-top: 17px; margin-bottom: 7px; color: #a8a8b2; font-size: 11px; font-weight: 620; letter-spacing: .015em; text-transform: none; }

input, select, textarea {
  min-height: 48px;
  padding: 13px 14px;
  border-color: rgba(255,255,255,.10);
  border-radius: 12px;
  background: #09090d;
  color: #f4f4f6;
  font-size: 14px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
}
textarea { min-height: 88px; line-height: 1.55; }
input:hover, select:hover, textarea:hover { border-color: rgba(255,255,255,.18); background: #0c0c11; }
input:focus, select:focus, textarea:focus { border-color: rgba(217,75,89,.88); background: #0d0d12; box-shadow: 0 0 0 3px rgba(217,75,89,.10), inset 0 1px 0 rgba(255,255,255,.035); }
input.field-filled, select.field-filled, textarea.field-filled { border-color: rgba(255,255,255,.145); background: #0d0d12; }
input::placeholder, textarea::placeholder { color: #5c5c65; opacity: .72; }
select { color-scheme: dark; }
.row { gap: 12px; }
.so-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 0 14px; }
.so-field { min-width: 0; }
.so-field-wide { grid-column: 1 / -1; }
.detail-grid, .vitals-more-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 0 14px; }
.vitals-more-grid { width: 100%; min-width: 0; align-items: end; }
.vitals-more-grid > .input-wrapper { min-width: 0; }
#consciencia { width: 100%; min-width: 0; padding-right: 42px; }
.detail-field { min-width: 0; }
.detail-field-wide { grid-column: 1 / -1; }
.block-subheading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--border-subtle); }
.block-subheading span { color: #c3c3cb; font-size: 11px; font-weight: 680; }
.block-subheading small { color: #666671; font-size: 9px; }
.device-options { display: flex; gap: 7px; width: 100%; max-width: 100%; min-width: 0; margin-top: 10px; padding: 1px 14px 7px 1px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; mask-image: linear-gradient(90deg,#000 0,#000 calc(100% - 22px),transparent 100%); -webkit-mask-image: linear-gradient(90deg,#000 0,#000 calc(100% - 22px),transparent 100%); }
.device-options::-webkit-scrollbar { display: none; }
.device-chip { position: relative; flex: 0 0 auto; margin: 0; cursor: pointer; }
.device-chip input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.device-chip span { display: block; min-height: 34px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.10); border-radius: 99px; background: #0a0a0e; color: #9b9ba5; font-size: 10px; font-weight: 650; white-space: nowrap; transition: color .16s ease, border-color .16s ease, background .16s ease, transform .16s ease; }
.device-chip:hover span { border-color: rgba(217,75,89,.28); color: #d9aeb3; transform: translateY(-1px); }
.device-chip input:focus-visible + span { outline: 2px solid var(--primary); outline-offset: 2px; }
.device-chip input:checked + span { border-color: rgba(217,75,89,.48); background: rgba(217,75,89,.14); color: #e7c9cd; box-shadow: inset 0 1px 0 rgba(255,255,255,.05); }
.device-chip input:checked + span { animation: chipSelect .28s cubic-bezier(.2,.8,.2,1); }
.exam-detail-grid textarea { min-height: 76px; }

.btn-clear-card { padding: 7px 10px; border-radius: 8px; text-transform: none; letter-spacing: 0; color: #8c8c97; background: #0b0b0f; }
.btn-clear-card:hover { transform: translateY(-1px); }
#btn_timer { display: flex; align-items: center; justify-content: center; gap: 5px; }
#btn_timer svg { margin-right: 0 !important; }
.fr-timer-control{position:relative;overflow:hidden;font-variant-numeric:tabular-nums slashed-zero}
.fr-timer-dial{position:relative;display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px}
.fr-timer-dial svg{width:22px!important;height:22px!important;transform:rotate(-90deg)}
.fr-timer-track,.fr-timer-progress{fill:none;stroke-width:1.8}
.fr-timer-track{stroke:color-mix(in srgb,currentColor 20%,transparent)}
.fr-timer-progress{stroke:currentColor;stroke-linecap:round;stroke-dasharray:56.55;stroke-dashoffset:56.55}
.fr-timer-hand{position:absolute;width:1.5px;height:6px;top:5px;border-radius:2px;background:currentColor;transform-origin:50% 6px}
.fr-timer-label{min-width:0;white-space:nowrap}
.fr-timer-control.is-running{border-color:var(--border-active)!important;background:var(--primary-glow)!important;color:var(--primary)!important}
.fr-timer-control.is-complete{border-color:var(--success)!important;background:color-mix(in srgb,var(--success) 12%,transparent)!important;color:var(--success)!important}
.motion-enhanced .fr-timer-control.is-running .fr-timer-hand{animation:frTimerHand 1s steps(12,end) infinite}
@keyframes frTimerHand{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.motion-enhanced .fr-timer-control.is-running .fr-timer-hand{animation:none}.fr-timer-hand{display:none}}

/* V49 · correções de legibilidade, layout e operação clínica */
html[data-theme="light"]{--text-main:#282223!important;--text-sec:#51494a!important;--text-mut:#726869!important;--card-bg:#fffdfa!important;--input-bg:#f6f2ee!important}
html[data-theme="light"] body{color:#282223;text-shadow:none!important;-webkit-font-smoothing:auto;text-rendering:optimizeLegibility}
html[data-theme="light"] :is(.app-header,.patient-nav,.workspace-navigation,.card,.history-workspace,.archive-workspace,.trends-hero,.quick-fill-card,.archived-bed-card,.modal-content,.add-bed-card,.visit-fields){-webkit-backdrop-filter:none!important;backdrop-filter:none!important;filter:none!important}
html[data-theme="light"] :is(.workspace-navigation,.main-tabs,.bed-btn.active,.main-tab-btn.active,.workspace-primary-btn.active,.btn-preview,.history-action,.quick-fill-actions button,.clinical-chip,.archive-detail summary,.archive-copy,.archive-delete,.task-item-actions button){background:#f3efeb!important;color:#3f3738!important;border-color:#d8d0ca!important}
html[data-theme="light"] :is(.bed-btn.active,.main-tab-btn.active,.workspace-primary-btn.active){background:#eee6e2!important;color:#7f1827!important;border-color:#d8a7ae!important}
html[data-theme="light"] :is(.bed-btn.active .bed-copy small,.bed-btn.active .bed-copy b,.bed-btn.active .bed-copy em,.bed-btn.active .bed-patient-name){color:#4a3033!important}
html[data-theme="light"] :is(.history-workspace h2,.history-workspace h3,.history-workspace p,.history-empty,.history-compare-head h3,.history-compare-head p,.history-compare-sentence,.history-compare-stat span,.history-compare-stat strong){color:#51494a!important}
html[data-theme="light"] :is(.quick-findings-header span,.quick-fill-card h2,.quick-fill-card h3,.quick-fill-card p,.quick-fill-card label,.productivity-models h3,.productivity-models p){color:#51494a!important}
html[data-theme="light"] :is(.quick-findings-header span:first-child,.productivity-kicker,.history-eyebrow){color:#6f5e60!important}
html[data-theme="light"] button:focus-visible{outline-color:#bd3544!important}
html[data-theme="light"] .trend-polyline{stroke:#9f2737!important}html[data-theme="light"] .trend-point{fill:#bd3544!important}

@media(min-width:721px){.add-bed-hospital{grid-column:span 4!important}.add-bed-sex{grid-column:span 5!important}.add-bed-age{grid-column:span 3!important}.add-bed-age input{min-width:110px}}
.add-bed-sex-options{min-width:0}.add-bed-sex-option{min-width:0;padding-inline:12px!important}.add-bed-age input{width:100%!important}

#tab_trends.trends-tab.active{display:grid!important;width:100%!important;grid-template-columns:minmax(340px,.42fr) minmax(0,1fr)!important;align-items:start!important}
#tab_trends .trends-hero{width:100%!important;max-width:none!important;grid-column:1/-1!important}
#tab_trends .measurement-composer-card{grid-column:1!important;min-width:0}
#tab_trends .measurement-library-card{grid-column:2!important;min-width:0}
@media(max-width:900px){#tab_trends.trends-tab.active{grid-template-columns:minmax(0,1fr)!important}#tab_trends .measurement-composer-card,#tab_trends .measurement-library-card{grid-column:1!important}}

.bed-btn{grid-template-columns:minmax(0,1fr)!important;padding:11px 13px!important}
.bed-icon{display:none!important}.bed-copy{gap:1px;line-height:1.15!important}.bed-copy small{justify-content:flex-start!important;gap:10px!important;font-size:10px!important;letter-spacing:0!important;text-transform:none!important}.bed-copy small::before{content:"";width:7px;height:7px;border:1.5px solid currentColor;border-radius:2px;box-shadow:5px 4px 0 -2px var(--bg-base)}.bed-copy b.bed-patient-name{margin-top:4px!important;font-size:13px!important}.bed-copy em{margin-top:4px!important;font-size:10px!important}.bed-task-badge{top:8px!important;right:8px!important}

.archive-workspace{padding:24px!important}.archive-toolbar{padding:14px!important;border:1px solid var(--border-base);border-radius:12px;background:var(--glass-embedded)}
.archive-hospital-group{margin-top:26px}.archive-group-heading{position:sticky;top:118px;z-index:2;padding:10px 12px;border:1px solid var(--border-base);border-radius:10px;background:var(--card-elevated)}
.archive-date-heading{margin:18px 0 10px!important;color:var(--text-sec)!important;font-size:13px!important}.archive-date-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}
.archived-bed-card{padding:18px!important;border-radius:14px!important}.archived-bed-head{padding-bottom:13px;border-bottom:1px solid var(--border-subtle)}.archived-bed-identity h5{font-size:17px!important}.archived-bed-identity p{font-size:12px!important;line-height:1.5!important}.archive-detail{margin-top:10px!important;background:var(--glass-embedded)!important}.archive-detail summary{min-height:44px;display:flex;align-items:center;font-size:12px!important}.archive-detail pre{font-family:var(--font-body)!important;font-size:12px!important;line-height:1.62!important}.archive-copy{min-height:40px;margin:0 12px 12px;padding:0 12px}
@media(max-width:720px){.archive-workspace{padding:16px!important}.archive-group-heading{position:static}.archive-date-cards{grid-template-columns:1fr}}

.fr-timer-dial{width:30px;height:30px;flex-basis:30px}.fr-timer-dial svg{width:30px!important;height:30px!important}.fr-timer-hand{height:8px;top:7px;transform-origin:50% 8px}.fr-timer-dial::after{content:"";position:absolute;top:-1px;left:13px;width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 15%,transparent);transform-origin:2px 16px}
.fr-timer-control.is-running{min-height:50px!important;box-shadow:0 8px 22px color-mix(in srgb,var(--primary) 18%,transparent)!important}.fr-timer-control.is-paused{border-color:var(--warning)!important;background:color-mix(in srgb,var(--warning) 12%,transparent)!important;color:var(--warning)!important}.fr-timer-control.is-paused .fr-timer-hand{animation:none!important}.motion-enhanced .fr-timer-control.is-running .fr-timer-dial::after{animation:frTimerOrbit 2s linear infinite}.motion-enhanced .fr-timer-control.is-running{animation:frTimerBreathe 2s ease-in-out infinite}
@keyframes frTimerOrbit{to{transform:rotate(360deg)}}@keyframes frTimerBreathe{50%{box-shadow:0 10px 30px color-mix(in srgb,var(--primary) 28%,transparent)}}
@media(prefers-reduced-motion:reduce){.motion-enhanced .fr-timer-control.is-running,.motion-enhanced .fr-timer-control.is-running .fr-timer-dial::after{animation:none!important}.fr-timer-dial::after{display:none}}
.checkbox-container { background: #0b0b10; border-color: rgba(255,255,255,.10); border-radius: 13px; }
.checkbox-container:has(input:checked) { border-color: rgba(217,75,89,.40); background: rgba(217,75,89,.065); }
.chips-container { gap: 7px; }
.chip { border-radius: 99px; padding: 8px 11px; background: #0a0a0e; font-size: 11px; }
.chip:hover { border-color: rgba(217,75,89,.38); color: #ee747f; background: rgba(217,75,89,.055); }
.quick-findings-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 9px;
  padding: 0 2px;
}
.quick-findings-header span:first-child { color: #858590; font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.quick-findings-header span:last-child { color: #666671; font-size: 9px; font-weight: 600; }
.quick-findings-header span:last-child::after { content: " →"; color: var(--primary); }
.quick-findings-scroll {
  display: flex;
  gap: 7px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-top: 7px;
  padding: 1px 14px 7px 1px;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 22px), transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 22px), transparent 100%);
}
.quick-findings-scroll::-webkit-scrollbar { display: none; }
.clinical-chip {
  flex: 0 0 auto;
  min-height: 34px;
  white-space: nowrap;
  scroll-snap-align: start;
  color: #b0b0ba;
  border-color: rgba(255,255,255,.11);
  transition: color .14s ease, border-color .14s ease, background .14s ease, transform .14s ease;
}
.clinical-chip.normal-chip { color: #d16b77; border-color: rgba(217,75,89,.22); background: rgba(217,75,89,.055); }
.clinical-chip.applied { color: #1b0004; border-color: #ee747f; background: #d94b59; animation: findingApplied .18s cubic-bezier(.16,1,.3,1); }
@keyframes findingApplied { 0% { transform: scale(.95); } 55% { transform: scale(1.04); } 100% { transform: scale(1); } }
.switch { width: 39px; height: 22px; }
.slider:before { width: 16px; height: 16px; }
input:checked + .slider:before { transform: translateX(17px); }

.info-box { border-radius: 13px; background: rgba(217,75,89,.055); border-color: rgba(217,75,89,.18); }
.info-box span { font-size: 21px; }
.magic-box { padding: 18px; border-style: solid; border-color: rgba(217,75,89,.25); background: linear-gradient(145deg, rgba(217,75,89,.075), rgba(11,11,15,.96)); }
.magic-box label { color: #ff9ca9; text-transform: none; }
.magic-box label > svg { align-self: center; }
.exam-extraction-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:10px; }
.exam-extraction-label { min-width:0; display:flex; align-items:center; gap:3px; }
.exam-extraction-label label { min-width:0; margin:0; gap:7px; }
.exam-ai-controls { min-width:0; display:flex; align-items:center; justify-content:flex-end; gap:8px; }
.exam-ai-toggle { min-height:44px; display:inline-flex; align-items:center; gap:8px; padding:0 11px; border:1px solid var(--border-base); border-radius:8px; background:var(--input-bg); color:var(--text-secondary); font-family:'Schibsted Grotesk','Noto Sans',sans-serif; font-size:12px; font-weight:700; cursor:pointer; transition:border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease; }
.exam-ai-toggle svg { width:17px; height:17px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.exam-ai-toggle small { color:var(--text-muted); font-size:11px; font-weight:600; }
.exam-ai-toggle:hover:not(:disabled) { border-color:rgba(238,116,127,.42); color:var(--text-main); }
.exam-ai-toggle.active { border-color:rgba(238,116,127,.56); background:var(--primary-glow); color:var(--primary); box-shadow:0 8px 22px rgba(126,25,37,.12); }
.exam-ai-toggle.active small { color:currentColor; }
.exam-ai-toggle:disabled { cursor:not-allowed; opacity:.55; }
.exam-ai-toggle:focus-visible,.exam-pdf-select:focus-visible { outline:2px solid var(--primary); outline-offset:3px; box-shadow:0 0 0 5px var(--primary-glow); }
.exam-ai-usage { flex:0 0 auto; min-height:28px; display:inline-flex; align-items:center; padding:4px 9px; border:1px solid var(--border-base); border-radius:999px; background:rgba(255,255,255,.035); color:var(--text-secondary); font-size:12px; font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; }
.exam-pdf-picker { min-width:0; margin-top:10px; }
.exam-pdf-picker[hidden] { display:none!important; }
.exam-pdf-row { display:flex; align-items:stretch; gap:8px; }
.exam-pdf-select { min-width:0; min-height:56px; display:flex!important; align-items:center; gap:11px; margin:0!important; padding:10px 12px; border:1px dashed var(--border-active); border-radius:10px; background:rgba(255,255,255,.025); color:var(--text-secondary)!important; cursor:pointer; transition:border-color .16s ease,background .16s ease,color .16s ease; }
.exam-pdf-row .exam-pdf-select { flex:1 1 auto; }
.exam-pdf-select:hover { border-style:solid; border-color:rgba(238,116,127,.45); background:var(--primary-glow); color:var(--text-main)!important; }
.exam-pdf-select > svg { width:22px; height:22px; flex:0 0 auto; fill:none; stroke:var(--primary); stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.exam-pdf-select > span { min-width:0; display:grid; gap:2px; }
.exam-pdf-select strong { color:inherit; font-size:12px; line-height:1.25; }
.exam-pdf-select small { max-width:100%; overflow:hidden; color:var(--text-muted); font-size:11px; font-weight:500; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.exam-pdf-remove { flex:0 0 auto; min-height:56px; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:10px 12px; border:1px solid rgba(239,114,127,.24); border-radius:10px; background:var(--danger-glow); color:var(--danger); font:700 11px/1.2 'Schibsted Grotesk','Noto Sans',sans-serif; cursor:pointer; transition:border-color .16s ease,background .16s ease,transform .16s ease; }
.exam-pdf-remove[hidden] { display:none!important; }
.exam-pdf-remove svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
.exam-pdf-remove:hover { border-color:rgba(239,114,127,.5); background:rgba(239,114,127,.14); }
.exam-pdf-remove:active { transform:scale(.98); }
.exam-pdf-remove:focus-visible { outline:2px solid var(--danger); outline-offset:3px; }
.visually-hidden-file { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
html[data-theme="light"] .exam-ai-toggle,html[data-theme="light"] .exam-ai-usage { background:rgba(255,255,255,.58); }
html[data-theme="light"] .exam-ai-toggle.active { border-color:rgba(189,53,68,.35); background:rgba(189,53,68,.07); }
html[data-theme="light"] .exam-pdf-select { background:rgba(255,255,255,.42); }
.magic-box .btn-magic[aria-busy="true"] { cursor:wait; }
.exam-extraction-progress { min-height:34px; display:flex; align-items:center; gap:9px; margin-top:9px; padding:7px 10px; border:1px solid var(--border-base); border-radius:9px; background:rgba(255,255,255,.025); color:var(--text-secondary); font-size:11px; font-weight:650; }
.exam-extraction-progress[hidden] { display:none!important; }
.exam-extraction-progress time { margin-left:auto; color:var(--text-main); font-variant-numeric:tabular-nums; font-weight:800; }
.exam-progress-spinner { width:14px; height:14px; flex:0 0 auto; border:2px solid rgba(238,116,127,.22); border-top-color:var(--primary); border-radius:50%; }
.exam-extraction-progress[data-state="running"] .exam-progress-spinner { animation:exam-progress-spin .8s linear infinite; }
.exam-extraction-progress[data-state="done"] .exam-progress-spinner { border-color:var(--primary); opacity:.72; }
@keyframes exam-progress-spin { to { transform:rotate(360deg); } }
.detected-exam-type { display:inline-flex; align-items:center; min-height:20px; margin-left:7px; padding:3px 8px; border:1px solid rgba(117,204,166,.28); border-radius:99px; background:rgba(72,160,122,.09); color:#80d0aa; font-size:9px; font-weight:800; letter-spacing:.035em; line-height:1; vertical-align:middle; }
.detected-exam-type[hidden] { display:none!important; }
.lab-compiled-shadow { display:none!important; }
.lab-report-section { margin-top:22px; }
.lab-report-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:12px; }
.tab-content .lab-report-section-heading h3 { margin:0; color:var(--text-main); font-family:'Newsreader',Georgia,serif; font-size:clamp(20px,3vw,22px); font-weight:600; letter-spacing:-.02em; line-height:1.08; }
.lab-report-section-heading p { max-width:66ch; margin:5px 0 0; color:var(--text-muted); font-size:12px; line-height:1.45; }
.lab-report-count { flex:0 0 auto; padding:5px 9px; border-radius:99px; background:rgba(255,255,255,.045); color:var(--text-secondary); font-size:12px; font-weight:700; font-variant-numeric:tabular-nums; }
.lab-report-list { display:grid; gap:12px; }
.lab-report-empty { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:72px; padding:16px 18px; border:1px dashed rgba(255,255,255,.11); border-radius:14px; color:var(--text-muted); }
.lab-report-empty strong { color:var(--text-secondary); font-size:13px; }
.lab-report-empty span { font-size:12px; text-align:right; }
.lab-report-card { min-width:0; overflow:hidden; border:1px solid rgba(255,255,255,.09); border-radius:14px; background:linear-gradient(145deg,rgba(24,23,27,.86),rgba(12,12,15,.78)); box-shadow:0 14px 34px rgba(0,0,0,.17); }
.lab-report-card > header { display:flex; align-items:center; justify-content:space-between; min-height:66px; padding:14px 16px; border-bottom:1px solid rgba(255,255,255,.065); background:linear-gradient(90deg,rgba(217,75,89,.075),transparent 42%); }
.lab-report-card > header > div { min-width:0; display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 12px; }
.lab-report-card > header strong { color:#f6e9eb; font-size:15px; font-weight:800; letter-spacing:-.012em; }
.lab-report-card > header time { color:#bba8aa; font-size:12px; font-weight:650; font-variant-numeric:tabular-nums; }
.lab-report-values { display:flex; flex-wrap:wrap; gap:7px; padding:16px; }
.lab-report-values span { max-width:100%; padding:7px 9px; border:1px solid rgba(255,255,255,.07); border-radius:8px; background:rgba(255,255,255,.028); color:#d9d4d5; font-size:12px; font-weight:560; line-height:1.35; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.lab-report-card > footer { display:flex; flex-wrap:wrap; gap:8px; padding:12px 16px 15px; border-top:1px solid rgba(255,255,255,.055); }
.lab-report-action { min-height:40px; padding:8px 12px; border:1px solid rgba(255,255,255,.09); border-radius:8px; background:rgba(255,255,255,.035); color:#c9c1c2; font-size:12px; font-weight:700; }
.lab-report-action:hover { border-color:rgba(217,75,89,.3); background:rgba(217,75,89,.08); color:#f0d7da; }
.lab-report-action.trend { border-color:rgba(217,75,89,.24); background:rgba(217,75,89,.085); color:#e9b8be; }
.lab-report-action.delete { margin-left:auto; color:#d88c94; }
.lab-report-action:disabled { cursor:wait; opacity:.58; }
.exam-more { margin-top:18px; border-top:1px solid rgba(255,255,255,.075); }
.exam-more > summary { min-height:52px; display:grid; grid-template-columns:auto minmax(0,1fr) 20px; align-items:center; gap:10px; cursor:pointer; list-style:none; color:var(--text-secondary); }
.exam-more > summary::-webkit-details-marker { display:none; }
.exam-more > summary span { font-size:13px; font-weight:780; }
.exam-more > summary small { color:var(--text-muted); font-size:12px; }
.exam-more > summary svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s cubic-bezier(.16,1,.3,1); }
.exam-more[open] > summary svg { transform:rotate(180deg); }
.exam-more-content { margin-top:2px; padding-top:14px; border-top:1px solid rgba(255,255,255,.055); transform-origin:top center; }
html[data-theme="light"] .lab-report-card { border-color:rgba(67,52,55,.12); background:rgba(255,253,250,.76); box-shadow:0 14px 34px rgba(72,55,52,.08); }
html[data-theme="light"] .lab-report-card > header { border-color:rgba(67,52,55,.09); background:linear-gradient(90deg,rgba(189,53,68,.07),transparent 42%); }
html[data-theme="light"] .lab-report-card > header strong { color:#392d2f; }
html[data-theme="light"] .lab-report-card > header time { color:#786668; }
html[data-theme="light"] .lab-report-values span { border-color:rgba(67,52,55,.1); background:rgba(255,255,255,.58); color:#4d4243; }
html[data-theme="light"] .lab-report-action { border-color:rgba(67,52,55,.13); background:rgba(255,255,255,.62); color:#5e5052; }
html[data-theme="light"] .lab-report-action.trend { border-color:rgba(189,53,68,.2); background:rgba(189,53,68,.065); color:#8f2f3b; }
html[data-theme="light"] .lab-report-empty { border-color:rgba(67,52,55,.17); }
@media (max-width:640px) {
  .exam-extraction-heading { align-items:stretch; flex-direction:column; gap:10px; }
  .exam-ai-controls { width:100%; display:grid; grid-template-columns:minmax(0,1fr) auto; justify-content:stretch; }
  .exam-ai-toggle { min-width:0; justify-content:flex-start; }
  .exam-ai-toggle small { margin-left:auto; }
  .exam-ai-usage { max-width:100%; }
  .exam-pdf-select small { white-space:normal; overflow-wrap:anywhere; }
  .exam-pdf-row { flex-direction:column; }
  .exam-pdf-remove { width:100%; min-height:44px; }
  .lab-report-section-heading { align-items:flex-start; }
  .lab-report-section-heading p { max-width:34ch; }
  .lab-report-card > header { min-height:60px; }
  .lab-report-values { padding:13px; gap:6px; }
  .lab-report-values span { flex:1 1 calc(50% - 6px); }
  .lab-report-card > footer { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:12px 13px 13px; }
  .lab-report-action { min-height:44px; }
  .lab-report-action.trend { grid-column:1/-1; }
  .lab-report-action.delete { margin-left:0; }
  .lab-report-empty { display:grid; gap:5px; }
  .lab-report-empty span { text-align:left; }
}
@media (prefers-reduced-motion:reduce) { .exam-more > summary svg { transition:none; } }
@media (prefers-reduced-motion:reduce) { .exam-ai-toggle,.exam-pdf-select { transition:none!important; } .exam-progress-spinner{animation:none;border-color:var(--primary);} }
.btn-magic { min-height: 44px; border-radius: 11px; background: linear-gradient(135deg, #fa7889, #e34e62); box-shadow: 0 9px 24px rgba(227,78,98,.18); }
.btn-magic:hover { transform: translateY(-1px); box-shadow: 0 12px 28px rgba(227,78,98,.24); }
.magic-box,.score-context-panel { position:relative; overflow:hidden; isolation:isolate; }
.magic-box > :not(.clinical-motion-layer),.score-context-panel > :not(.clinical-motion-layer) { position:relative; z-index:2; }
.clinical-motion-layer { position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden; border-radius:inherit; opacity:0; }
.clinical-motion-scan { position:absolute; left:-8%; top:0; width:116%; height:2px; border-radius:999px; background:linear-gradient(90deg,transparent,rgba(255,164,176,.32) 22%,rgba(255,218,223,.96) 50%,rgba(255,164,176,.32) 78%,transparent); box-shadow:0 0 12px rgba(238,116,127,.8),0 0 34px rgba(189,53,68,.42); }
.clinical-motion-ring { position:absolute; left:50%; top:48%; width:82px; height:82px; margin:-41px 0 0 -41px; border:1px solid rgba(255,174,184,.48); border-radius:50%; box-shadow:inset 0 0 18px rgba(238,116,127,.12),0 0 20px rgba(189,53,68,.14); }
.clinical-motion-ring.ring-b { width:118px; height:118px; margin:-59px 0 0 -59px; border-style:dashed; border-color:rgba(255,218,223,.28); }
.clinical-motion-core { position:absolute; left:50%; top:48%; width:12px; height:12px; margin:-6px 0 0 -6px; border-radius:50%; background:#ffdadd; box-shadow:0 0 8px #ffdadd,0 0 28px rgba(238,116,127,.82); }
.clinical-motion-layer b { position:absolute; left:calc(8% + var(--particle) * 7%); top:54%; width:4px; height:4px; border-radius:50%; background:rgba(255,218,223,.95); box-shadow:0 0 9px rgba(238,116,127,.9); }
.magic-box.is-extracting .clinical-motion-layer,.magic-box.extraction-success .clinical-motion-layer,.score-context-panel.scores-suggested .clinical-motion-layer { opacity:1; }
.magic-box.is-extracting { border-style:solid; border-color:rgba(238,116,127,.72)!important; box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px rgba(238,116,127,.12),0 18px 46px rgba(126,25,37,.16)!important; }
.magic-box.extraction-success { border-style:solid; border-color:rgba(117,204,166,.62)!important; box-shadow:0 0 0 1px rgba(117,204,166,.1),0 18px 44px rgba(41,117,82,.14)!important; }
.magic-box.extraction-error { border-style:solid; border-color:rgba(238,116,127,.58)!important; }
.score-context-panel.scores-suggested { border-color:rgba(238,116,127,.62)!important; box-shadow:0 16px 42px rgba(126,25,37,.14),inset 0 1px 0 rgba(255,255,255,.06); }
.score-context-panel .clinical-motion-layer[data-variant="scores"] .clinical-motion-scan { left:0; top:50%; width:2px; height:112%; margin-top:-56%; background:linear-gradient(180deg,transparent,rgba(255,218,223,.92),transparent); box-shadow:0 0 18px rgba(238,116,127,.72); }
@media (prefers-reduced-motion:reduce) {
  .clinical-motion-layer { display:none!important; }
  .magic-box.is-extracting,.magic-box.extraction-success,.score-context-panel.scores-suggested { box-shadow:none!important; }
}
.score-search-wrap { position: relative; width: 100%; }
.score-search-wrap > svg { position: absolute; left: 16px; top: 50%; z-index: 1; width: 19px; height: 19px; color: #777783; transform: translateY(-50%); pointer-events: none; }
.search-scores { height: 50px; border-radius: 13px; padding-left: 48px; line-height: 1.2; background-image: none !important; }
.score-category-tabs { display: flex; gap: 8px; width: 100%; max-width: 100%; min-width: 0; margin: 12px 0 4px; padding: 2px 16px 5px 1px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; }
.score-category-tabs::-webkit-scrollbar { display: none; }
.score-category-tab { flex: 0 0 auto; min-height: 38px; padding: 9px 13px; border: 1px solid rgba(255,255,255,.09); border-radius: 99px; background: #0a0a0e; color: #92929d; font-size: 11px; font-weight: 650; white-space: nowrap; }
.score-category-tab:hover { border-color: rgba(217,75,89,.35); color: #d9aeb3; }
.score-category-tab.active { border-color: rgba(217,75,89,.48); background: rgba(217,75,89,.14); color: #e7c9cd; box-shadow: inset 0 1px 0 rgba(255,255,255,.05); }
.score-source-column { display: none !important; }
.score-categories { display: grid; gap: 24px; }
.score-category-section { min-width: 0; }
.score-category-section[hidden], .score-card[hidden] { display: none !important; }
.score-category-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 11px; padding: 0 3px; }
.score-category-heading span { color: #f8edee; font-size: 15px; font-weight: 720; letter-spacing: -.02em; }
.score-category-heading p { margin: 4px 0 0; color: #72727d; font-size: 10px; }
.score-category-heading b { color: #cb8a93; font-size: 10px; font-weight: 650; white-space: nowrap; }
.score-library-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; align-items: start; }
.score-card { border-radius: 14px; background: linear-gradient(145deg, #121217, #0e0e12); }
.score-header { padding: 17px 18px; }
.score-header h3 { font-size: 14px; }
.score-body { background: rgba(9,9,13,.72); }
.score-body > label:not(.score-chk) { margin-top: 14px; }
.score-body > label:first-child { margin-top: 0; }
.score-badge { min-width: 48px; text-align: center; }
.score-field-note { display: block; margin: 6px 1px 0; color: #777783; font-size: 9px; line-height: 1.45; }
.score-result { display: none; margin-top: 17px; padding: 11px 12px; border: 1px solid rgba(214,61,81,.18); border-radius: 10px; background: rgba(214,61,81,.07); color: #e7919c; font-size: 11px; font-weight: 650; line-height: 1.45; }
.score-result.show { display: block; }
.score-result.danger { border-color: rgba(239,68,68,.25); background: rgba(239,68,68,.08); color: #ff9b9b; }
.score-source { display: block; margin-top: 11px; color: #60606a; font-size: 9px; line-height: 1.4; }
.score-disclaimer { margin: -4px 2px 0; color: #696974; font-size: 10px; line-height: 1.55; }

/* Stage 4 · immutable daily history */
.history-tab.active { grid-template-columns: minmax(0,1fr); }
.history-workspace { grid-column: 1 / -1; overflow: hidden; background: radial-gradient(circle at 90% 0, rgba(217,75,89,.11), transparent 32%), linear-gradient(145deg,#131318,#0d0d12); }
.history-workspace-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; }
.history-workspace-head h2 { margin-top: 5px; }
.history-workspace-head p { max-width: 650px; margin: 8px 0 0; color: #858590; font-size: 10px; line-height: 1.55; }
.history-eyebrow { color: #d16b77; font-size: 8px; font-weight: 780; letter-spacing: .10em; text-transform: uppercase; }
.history-head-actions { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.history-sync-status { padding: 7px 10px; border: 1px solid rgba(255,255,255,.08); border-radius: 99px; background: rgba(255,255,255,.035); color: #7d7d88; font-size: 8px; font-weight: 680; white-space: nowrap; }
.history-sync-status[data-state="synced"] { border-color: rgba(214,61,81,.18); background: rgba(214,61,81,.06); color: #d9818d; }
.history-sync-status[data-state="saving"] { border-color: rgba(217,75,89,.20); color: #ee747f; }
.history-sync-status[data-state="error"] { border-color: rgba(239,68,68,.20); color: #ff9b9b; }
.history-save-primary { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 10px 14px; border: 1px solid rgba(217,75,89,.38); border-radius: 12px; background: linear-gradient(135deg,#d94b59,#a92e3d); color: #fff; font-size: 10px; font-weight: 760; box-shadow: 0 9px 24px rgba(227,78,98,.20), inset 0 1px 0 rgba(255,255,255,.17); cursor: pointer; }
.history-save-primary span { display: grid; place-items: center; width: 19px; height: 19px; border-radius: 6px; background: rgba(255,255,255,.13); font-size: 14px; line-height: 1; }
.history-save-primary:hover { transform: translateY(-1px); }
.history-save-primary:disabled { opacity: .55; cursor: wait; transform: none; }
.history-capture-row { display: grid; grid-template-columns: minmax(160px,.28fr) minmax(0,1fr); gap: 10px; margin-top: 18px; padding: 13px; border: 1px solid rgba(255,255,255,.07); border-radius: 13px; background: rgba(5,5,8,.42); }
.history-capture-row label { margin-top: 0; }
.history-capture-row input { min-height: 42px; }
.history-overview { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-top: 10px; }
.history-stat { min-width: 0; padding: 11px 12px; border: 1px solid rgba(255,255,255,.065); border-radius: 12px; background: rgba(255,255,255,.022); }
.history-stat span { display: block; color: #666671; font-size: 8px; font-weight: 650; text-transform: uppercase; letter-spacing: .05em; }
.history-stat strong { display: block; margin-top: 5px; color: #e9e9ed; font-size: 12px; overflow-wrap: anywhere; }
.history-toolbar { display: grid; grid-template-columns: minmax(0,1fr) 152px auto; gap: 8px; margin-top: 17px; }
.history-search { position: relative; min-width: 0; }
.history-search svg { position: absolute; left: 13px; top: 50%; width: 16px; height: 16px; color: #666671; transform: translateY(-50%); pointer-events: none; }
.history-search input { padding-left: 39px; }
.history-toolbar input, .history-filter-clear { min-height: 40px; }
.history-filter-clear { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.09); border-radius: 10px; background: #0b0b10; color: #92929d; font-size: 9px; font-weight: 680; white-space: nowrap; }
.history-filter-clear span { color: #b0b0ba; font-size: 14px; line-height: .8; }
.history-timeline { position: relative; display: grid; gap: 9px; margin-top: 11px; }
.history-timeline::before { content:""; position: absolute; top: 10px; bottom: 10px; left: 18px; width: 1px; background: linear-gradient(#d94b59,rgba(217,75,89,.04)); }
.history-record { position: relative; display: grid; grid-template-columns: 36px minmax(0,1fr) auto; gap: 11px; align-items: start; padding: 12px; border: 1px solid rgba(255,255,255,.07); border-radius: 13px; background: rgba(7,7,10,.62); }
.history-record::before { content:""; z-index: 1; width: 10px; height: 10px; margin: 7px auto 0; border: 2px solid #d16b77; border-radius: 50%; background: #121218; box-shadow: 0 0 0 4px rgba(217,75,89,.09); }
.history-record-copy { min-width: 0; }
.history-record-copy strong { display: block; color: #eeeeF2; font-size: 11px; }
.history-record-copy p { margin: 5px 0 0; color: #82828d; font-size: 9px; line-height: 1.5; overflow-wrap: anywhere; }
.history-record-copy small { display: block; margin-top: 6px; color: #5f5f69; font-size: 8px; }
.history-record-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.history-action { min-height: 38px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 8px 10px; border: 1px solid rgba(255,255,255,.09); border-radius: 10px; background: #111116; color: #aaaab4; font-size: 9px; font-weight: 700; cursor: pointer; transition: transform .14s ease,border-color .14s ease,background .14s ease,color .14s ease; }
.history-action:hover { transform: translateY(-1px); }
.history-action-icon { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 6px; background: rgba(255,255,255,.05); font-size: 11px; line-height: 1; }
.history-action-open { border-color: rgba(217,75,89,.28); background: rgba(217,75,89,.11); color: #dcc3c6; }
.history-action-open:hover { border-color: rgba(217,75,89,.46); background: rgba(217,75,89,.17); color: #f5f1f0; }
.history-action-base { border-color: rgba(217,75,89,.22); background: rgba(217,75,89,.075); color: #e97988; }
.history-action-base:hover { border-color: rgba(217,75,89,.38); background: rgba(217,75,89,.13); color: #ff9fac; }
.history-action-restore:hover { border-color: rgba(255,100,121,.27); background: rgba(255,100,121,.08); color: #ffa7b3; }
.history-action-delete { color: #a8787b; }
.history-action-delete:hover { border-color: rgba(239,68,68,.27); background: rgba(239,68,68,.08); color: #ff9b9b; }
.history-empty { padding: 25px 14px; border: 1px dashed rgba(255,255,255,.09); border-radius: 13px; color: #6f6f79; font-size: 10px; line-height: 1.55; text-align: center; }
.history-record-modal-content { position: relative; width: min(94%,760px); }
.history-record-modal-content h2 { margin: 6px 0 0; font-size: 17px; }
.history-record-meta { margin: 8px 0 14px; color: #7d7d88; font-size: 9px; }
.history-record-text { min-height: 180px; max-height: 55dvh; margin: 0; white-space: pre-wrap; overflow: auto; }
.history-record-modal-content > .history-record-actions { margin-top: 13px; }
.history-record-modal-content > .history-record-actions button:first-child { border-color: rgba(217,75,89,.28); background: rgba(217,75,89,.11); color: #d9aeb3; }
.history-compare-panel { margin-top: 18px; padding: 15px; border: 1px solid rgba(217,75,89,.16); border-radius: 15px; background: linear-gradient(145deg,rgba(217,75,89,.055),rgba(7,7,10,.62)); }
.history-compare-head { display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,.45fr); gap: 18px; align-items: end; }
.history-compare-head h3 { margin: 5px 0 0; color: #eeeeF2; font-size: 14px; }
.history-compare-head p { margin: 5px 0 0; color: #777782; font-size: 9px; line-height: 1.5; }
.history-compare-select label { margin-top: 0; }
.history-compare-select select { min-height: 42px; font-size: 11px; }
.history-compare-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; margin-top: 13px; }
.history-compare-stat { padding: 10px; border: 1px solid rgba(255,255,255,.065); border-radius: 11px; background: rgba(5,5,8,.44); }
.history-compare-stat span { display: block; color: #676772; font-size: 7px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.history-compare-stat strong { display: block; margin-top: 4px; color: #dedee4; font-size: 14px; }
.history-compare-stat.added strong { color: #dc828e; }
.history-compare-stat.changed strong { color: #ff7a8c; }
.history-compare-stat.removed strong { color: #ff9b9b; }
.history-compare-sentence { margin: 10px 2px 0; color: #9898a3; font-size: 9px; line-height: 1.55; }
.history-changes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 10px; }
.history-change-group { min-width: 0; padding: 11px; border: 1px solid rgba(255,255,255,.06); border-radius: 12px; background: rgba(5,5,8,.40); }
.history-change-group h4 { margin: 0 0 8px; color: #aaa0c4; font-size: 8px; font-weight: 740; letter-spacing: .06em; text-transform: uppercase; }
.history-change-item { display: grid; grid-template-columns: minmax(90px,.32fr) minmax(0,1fr); gap: 8px; padding: 7px 0; border-top: 1px solid rgba(255,255,255,.045); }
.history-change-item:first-of-type { border-top: none; padding-top: 0; }
.history-change-label { color: #aaaab4; font-size: 8px; font-weight: 680; }
.history-change-values { min-width: 0; color: #777783; font-size: 8px; line-height: 1.45; overflow-wrap: anywhere; }
.history-change-values del { color: #b97575; text-decoration-thickness: 1px; }
.history-change-values ins { color: #c77883; text-decoration: none; }
.history-change-badge { display: inline-block; margin-left: 5px; padding: 2px 5px; border-radius: 99px; background: rgba(255,255,255,.05); color: #777783; font-size: 6px; font-weight: 740; text-transform: uppercase; }
.history-no-changes { grid-column: 1 / -1; padding: 20px 12px; border: 1px dashed rgba(214,61,81,.15); border-radius: 12px; color: #cd828c; font-size: 9px; text-align: center; }
.history-apply-undo { position: sticky; z-index: 42; bottom: calc(82px + env(safe-area-inset-bottom)); display: flex; align-items: center; justify-content: space-between; gap: 12px; width: min(100%,620px); margin: 15px auto 0; padding: 11px 12px 11px 15px; border: 1px solid rgba(217,75,89,.28); border-radius: 14px; background: rgba(24,24,24,.95); color: #e6cbce; font-size: 9px; box-shadow: 0 18px 45px rgba(0,0,0,.45); backdrop-filter: blur(10px); }
.history-apply-undo[hidden] { display: none; }
.history-apply-undo button { min-height: 34px; padding: 7px 11px; border: 1px solid rgba(217,75,89,.32); border-radius: 9px; background: rgba(217,75,89,.13); color: #d9aeb3; font-size: 8px; font-weight: 760; }

.floating-buttons {
  bottom: calc(18px + env(safe-area-inset-bottom));
  width: calc(100% - 28px);
  max-width: 540px;
  gap: 7px;
  padding: 7px;
  border-color: rgba(255,255,255,.13);
  background: rgba(11,11,15,.88);
  backdrop-filter: blur(12px) saturate(110%);
  -webkit-backdrop-filter: blur(12px) saturate(110%);
  box-shadow: 0 22px 56px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.05);
}
button.btn-action { min-height: 48px; padding: 13px 16px; border-radius: 18px; font-weight: 680; }
button.btn-preview { background: linear-gradient(180deg, #202027, #17171d); }
button.btn-copy { background: linear-gradient(135deg, #ee747f, #d94b59); box-shadow: 0 8px 22px rgba(217,75,89,.18), inset 0 1px 0 rgba(255,255,255,.26); }
button.btn-copy:hover { transform: translateY(-1px); }

.modal-overlay { padding: 18px; background: rgba(0,0,0,.82); }
.modal-content { position: relative; width: min(100%, 680px); padding: 26px; border-radius: 22px; background: linear-gradient(145deg, #17171d, #0f0f14); }
.modal-overlay.show .modal-content { animation: modalIn .28s cubic-bezier(.2,.8,.2,1); }
.reset-modal-content { width: min(100%, 440px); text-align: center; align-items: center; }
.reset-modal-icon { width: 54px; height: 54px; display: grid; place-items: center; margin-bottom: 17px; border: 1px solid rgba(239,68,68,.20); border-radius: 17px; color: #ff9a9a; background: rgba(239,68,68,.08); }
.reset-modal-icon svg { width: 25px; height: 25px; }
.reset-modal-content h2 { margin: 0; font-size: 18px; }
.reset-modal-content p { margin: 11px 0 0; color: #9696a0; font-size: 12px; line-height: 1.6; }
.reset-modal-content p strong { color: #fff; }
.reset-modal-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; width: 100%; margin-top: 22px; }
.btn-reset-cancel, .btn-reset-confirm { min-height: 45px; border-radius: 12px; font-size: 12px; font-weight: 680; }
.btn-reset-cancel { border: 1px solid var(--border-base); background: #0a0a0e; color: #aaaab4; }
.btn-reset-confirm { border: 1px solid rgba(239,68,68,.25); background: #dc4d4d; color: #fff; }
.btn-reset-cancel:hover, .btn-reset-confirm:hover { transform: translateY(-1px); }
.preview-text { background: #08080c; border-radius: 14px; font-size: 13px; line-height: 1.7; }
#toast { width: max-content; max-width: calc(100% - 28px); justify-content: center; bottom: calc(92px + env(safe-area-inset-bottom)); background: #ffdfe3; color: #2c080d; box-shadow: 0 12px 36px rgba(214,61,81,.23); }
#toast_text { min-width: 0; overflow-wrap: anywhere; }
.ripple-host { overflow: hidden; isolation: isolate; }
.button-ripple { position: absolute; z-index: 0; border-radius: 50%; background: rgba(255,255,255,.18); pointer-events: none; transform: scale(0); animation: buttonRipple .18s cubic-bezier(.16,1,.3,1); }

@keyframes shellIn { from { opacity: .82; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@keyframes navIn { from { opacity: .82; transform: translateY(7px); } to { opacity: 1; transform: none; } }
@keyframes bedSelect { from { transform: scale(.94); } to { transform: none; } }
@keyframes tabIconIn { from { opacity: .3; transform: translateY(2px) scale(.88); } to { opacity: 1; transform: none; } }
@keyframes chipSelect { 0% { transform: scale(.94); } 65% { transform: scale(1.035); } 100% { transform: none; } }
@keyframes modalIn { from { opacity: 0; transform: translateY(12px) scale(.975); } to { opacity: 1; transform: none; } }
@keyframes buttonRipple { to { transform: scale(1); opacity: 0; } }
@keyframes fadeInSoft { from { opacity: 0; } to { opacity: 1; } }

.app-header { animation: shellIn .48s ease-out both; }
.patient-nav { animation: navIn .48s .06s ease-out both; }
.main-tabs { animation: navIn .44s .11s ease-out both; }
.floating-buttons { animation: fadeInSoft .5s .18s ease-out both; }

.motion-enhanced :is(.app-header,.patient-nav,.workspace-navigation,.main-tabs,.floating-buttons,.tab-content.active,.modal-overlay.show,.modal-overlay.show .modal-content,.command-palette:not([hidden]),.command-palette-panel,.visit-mode.show,.tab-content.bed-transition > *) { animation: none !important; }
.motion-enhanced .visit-mode { transition: none; }

.motion-confirmation {
  position: fixed;
  z-index: 2400;
  left: 12px;
  right: 12px;
  bottom: calc(96px + env(safe-area-inset-bottom));
  width: auto;
  max-width: 430px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 12px 14px;
  border: 1px solid var(--border-active);
  border-radius: 12px;
  background: var(--glass-elevated,var(--card-elevated));
  color: var(--text-main);
  box-shadow: 0 18px 46px rgba(0,0,0,.34), inset 0 1px 0 var(--glass-specular,rgba(255,255,255,.08));
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}
.motion-confirmation[hidden] { display: none; }
.motion-confirmation-mark { width: 32px; height: 32px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid var(--border-active); border-radius: 9px; background: var(--primary-glow); color: var(--primary); }
.motion-confirmation-mark svg { width: 18px; height: 18px; }
.motion-confirmation strong,.motion-confirmation small { display: block; }
.motion-confirmation strong { color: var(--text-main); font-size: 13px; font-weight: 700; }
.motion-confirmation small { margin-top: 3px; color: var(--text-sec); font-size: 12px; line-height: 1.35; }

.layout-desktop .detail-grid, .layout-desktop .vitals-more-grid { column-gap: 16px; }
.layout-desktop .quick-findings-header span:last-child { color: #777783; }
.layout-phone .patient-nav { border-radius: 17px; }
.input-touch .bed-btn, .input-touch .score-category-tab { min-height: 44px; }
.input-touch .device-chip span { min-height: 40px; padding-top: 11px; padding-bottom: 11px; }

.bedside-mobile-nav { display: none; }

#tab_leito .col-layout:first-child > .card:first-child { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 12px; }
#tab_leito .col-layout:first-child > .card:first-child .card-header-flex,
#tab_leito .col-layout:first-child > .card:first-child .expandable,
#tab_leito .col-layout:first-child > .card:first-child .vitals-more-grid { grid-column: 1 / -1; }
#tab_leito .col-layout:first-child > .card:first-child > .row { display: contents; }

@media (min-width: 800px) {
  body { padding: 0 32px 126px; }
  .tab-content.active { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  #tab_leito .col-layout:first-child > .card:first-child { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .so-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .detail-grid, .vitals-more-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .bed-selector { display: grid; grid-template-columns: repeat(10, minmax(62px,1fr)); overflow: visible; }
  .bed-btn { min-width: 0; }
  .device-options { flex-wrap: wrap; overflow: visible; padding-right: 1px; mask-image: none; -webkit-mask-image: none; }
  .score-library-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (min-width: 1180px) {
  body { padding: 0 42px 90px; }
  .app-header, .app-shell { max-width: 1380px; }
  .app-header { padding-top: 34px; }
  .patient-nav { display: block; padding: 16px 18px; }
  .patient-nav-heading { padding: 0 2px 14px; }
  .current-bed-pill { display: none; }
  .patient-nav-actions { margin-left: auto; }
  .bed-selector { padding: 2px 0; }
  #tab_leito.tab-content.active { grid-template-columns: minmax(420px,.92fr) minmax(560px,1.28fr); align-items: start; }
  #tab_pront.tab-content.active { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .main-tabs { width: fit-content; min-width: 820px; margin-left: 0; }
  .main-tab-btn { min-width: 154px; }
  .floating-buttons { left: auto; right: 30px; bottom: 28px; transform: none; width: 420px; }
  #toast { left: auto; right: 40px; transform: none; bottom: 100px; }
  .score-library-grid { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
  .score-categories { gap: 30px; }
}

/* Stage 3 · productivity workspace */
.productivity-tab { position: relative; }
.productivity-tab.active { grid-template-columns: minmax(0,1fr); }
.productivity-hero { grid-column: 1 / -1; overflow: hidden; background: radial-gradient(circle at 92% 8%, rgba(217,75,89,.12), transparent 34%), linear-gradient(145deg,#141419,#0d0d12); }
.productivity-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.productivity-heading.compact { align-items: center; margin-bottom: 18px; padding-bottom: 15px; border-bottom: 1px solid rgba(255,255,255,.06); }
.productivity-heading h2 { margin-top: 5px; }
.productivity-heading p { max-width: 640px; margin: 9px 0 0; color: #858590; font-size: 11px; line-height: 1.55; }
.productivity-kicker { color: #d16b77; font-size: 9px; font-weight: 760; letter-spacing: .09em; text-transform: uppercase; }
.profile-sync-status, .review-note, .productivity-count { flex: 0 0 auto; border: 1px solid rgba(255,255,255,.08); border-radius: 99px; background: rgba(255,255,255,.035); color: #7f7f8a; font-size: 9px; font-weight: 680; padding: 7px 10px; }
.profile-sync-status[data-state="synced"] { border-color: rgba(214,61,81,.20); background: rgba(214,61,81,.06); color: #dc828e; }
.profile-sync-status[data-state="saving"] { border-color: rgba(217,75,89,.20); color: #ee747f; }
.profile-sync-status[data-state="error"] { border-color: rgba(239,68,68,.20); color: #ff9b9b; }
.specialty-chips { display: flex; gap: 8px; max-width: 100%; margin-top: 20px; padding: 1px 18px 5px 1px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; }
.specialty-chips::-webkit-scrollbar { display: none; }
.specialty-chip { flex: 0 0 auto; min-height: 40px; padding: 9px 13px; border: 1px solid rgba(255,255,255,.09); border-radius: 12px; background: #0b0b10; color: #91919c; font-size: 11px; font-weight: 680; cursor: pointer; }
.specialty-chip:hover { border-color: rgba(217,75,89,.32); color: #d9aeb3; }
.specialty-chip.active { border-color: rgba(217,75,89,.50); background: rgba(217,75,89,.14); color: #e5c8cc; box-shadow: inset 0 1px 0 rgba(255,255,255,.06); }
.productivity-list { display: grid; gap: 10px; }
.productivity-item { min-width: 0; padding: 13px; border: 1px solid rgba(255,255,255,.07); border-radius: 13px; background: rgba(7,7,10,.58); }
.productivity-item-main { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.productivity-item-copy { min-width: 0; }
.productivity-item-copy strong { display: block; color: #ededf2; font-size: 12px; line-height: 1.35; }
.productivity-item-copy p { margin: 5px 0 0; color: #7d7d88; font-size: 10px; line-height: 1.5; overflow-wrap: anywhere; }
.productivity-item-meta { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; }
.productivity-item-meta span { padding: 4px 7px; border-radius: 99px; background: rgba(217,75,89,.08); color: #c78a92; font-size: 8px; font-weight: 680; }
.productivity-item-actions { display: flex; flex: 0 0 auto; gap: 5px; }
.productivity-item-actions button, .productivity-secondary { min-height: 34px; padding: 7px 9px; border: 1px solid rgba(255,255,255,.09); border-radius: 9px; background: #111116; color: #a1a1ac; font-size: 9px; font-weight: 680; cursor: pointer; }
.productivity-item-actions button:hover, .productivity-secondary:hover { border-color: rgba(217,75,89,.25); color: #ee747f; }
.productivity-item-actions .apply { border-color: rgba(217,75,89,.24); background: rgba(217,75,89,.10); color: #ee747f; }
.productivity-empty { padding: 20px 12px; border: 1px dashed rgba(255,255,255,.09); border-radius: 13px; color: #6e6e78; font-size: 10px; line-height: 1.5; text-align: center; }
.productivity-form { padding: 14px; border: 1px solid rgba(255,255,255,.07); border-radius: 13px; background: rgba(5,5,8,.42); }
.productivity-form label { margin-top: 0; }
.productivity-form textarea { min-height: 72px; }
.productivity-form-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.72fr); gap: 9px; margin-top: 10px; }
.productivity-form-row label { margin-top: 0; }
.productivity-primary { width: 100%; min-height: 42px; margin-top: 11px; border: 1px solid rgba(217,75,89,.30); border-radius: 11px; background: linear-gradient(135deg,#ee747f,#c83e4d); color: #160003; font-size: 11px; font-weight: 780; cursor: pointer; box-shadow: 0 8px 22px rgba(217,75,89,.13); }
.productivity-primary:hover { transform: translateY(-1px); }
.productivity-search { position: relative; margin: 12px 0 10px; }
.productivity-search svg { position: absolute; left: 13px; top: 50%; width: 16px; height: 16px; color: #666671; transform: translateY(-50%); pointer-events: none; }
.productivity-search input { min-height: 42px; padding-left: 39px; }
.productivity-undo { position: sticky; z-index: 42; bottom: calc(82px + env(safe-area-inset-bottom)); grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 12px; width: min(100%,580px); margin: 0 auto; padding: 11px 12px 11px 15px; border: 1px solid rgba(217,75,89,.25); border-radius: 14px; background: rgba(19,19,19,.94); color: #f2bcc3; font-size: 10px; box-shadow: 0 18px 45px rgba(0,0,0,.45); backdrop-filter: blur(10px); }
.productivity-undo[hidden] { display: none; }
.productivity-undo button { min-height: 34px; padding: 7px 11px; border: 1px solid rgba(217,75,89,.32); border-radius: 9px; background: rgba(217,75,89,.13); color: #ff7d8e; font-size: 9px; font-weight: 760; }
.quick-fill-section + .quick-fill-section { margin-top: 18px; padding-top: 17px; border-top: 1px solid rgba(255,255,255,.06); }
.quick-fill-section > strong, .dictation-panel strong { color: #ededf2; font-size: 11px; }
.quick-fill-section > p, .dictation-panel p { margin: 5px 0 11px; color: #757580; font-size: 9px; line-height: 1.5; }
.quick-fill-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.quick-fill-actions button { min-height: 36px; padding: 8px 10px; border: 1px solid rgba(255,255,255,.09); border-radius: 10px; background: #0c0c11; color: #a1a1ac; font-size: 9px; font-weight: 680; cursor: pointer; }
.quick-fill-actions button:hover { border-color: rgba(217,75,89,.30); background: rgba(217,75,89,.08); color: #dec0c4; transform: translateY(-1px); }
.dictation-panel { display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,.86fr); gap: 14px; align-items: end; margin-top: 18px; padding: 14px; border: 1px solid rgba(217,75,89,.17); border-radius: 13px; background: rgba(217,75,89,.045); }
.dictation-controls { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px; }
.dictation-controls select { min-width: 0; min-height: 40px; padding: 9px 11px; font-size: 11px; }
.dictation-controls button { min-height: 40px; padding: 9px 11px; border: 1px solid rgba(217,75,89,.30); border-radius: 10px; background: rgba(217,75,89,.12); color: #d9aeb3; font-size: 9px; font-weight: 720; white-space: nowrap; }
.dictation-controls button.listening { border-color: rgba(239,68,68,.36); background: rgba(239,68,68,.12); color: #ff9b9b; animation: dictationPulse 1.2s ease-in-out infinite; }
.dictation-controls button:disabled { opacity: .5; cursor: not-allowed; }
.shortcut-hints { display: flex; flex-wrap: wrap; gap: 7px 13px; margin-top: 14px; color: #696974; font-size: 8px; }
.shortcut-hints span { display: inline-flex; align-items: center; gap: 5px; }
kbd { padding: 3px 5px; border: 1px solid rgba(255,255,255,.10); border-bottom-color: rgba(255,255,255,.18); border-radius: 5px; background: #0b0b0f; color: #9d9da8; font-family: inherit; font-size: 8px; font-weight: 700; box-shadow: 0 2px 0 rgba(0,0,0,.32); }
@keyframes dictationPulse { 50% { box-shadow: 0 0 0 4px rgba(239,68,68,.08); } }

.command-palette { position: fixed; inset: 0; z-index: 180; display: grid; place-items: start center; padding: min(12vh,100px) 16px 16px; background: rgba(0,0,0,.72); backdrop-filter: blur(9px); -webkit-backdrop-filter: blur(9px); }
.command-palette[hidden] { display: none; }
.command-palette-panel { width: min(100%,620px); max-height: min(72dvh,680px); display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 19px; background: linear-gradient(145deg,#17171d,#0d0d12); box-shadow: 0 32px 80px rgba(0,0,0,.68), inset 0 1px 0 rgba(255,255,255,.055); animation: modalIn .22s ease-out; }
.command-palette-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 17px 18px 13px; }
.command-palette-head span { display: block; color: #ef8291; font-size: 8px; font-weight: 760; letter-spacing: .09em; text-transform: uppercase; }
.command-palette-head strong { display: block; margin-top: 4px; color: #f0f0f4; font-size: 13px; }
.command-palette-head button { min-width: 36px; min-height: 30px; border: 1px solid rgba(255,255,255,.10); border-radius: 8px; background: #0b0b0f; color: #777783; font-size: 8px; font-weight: 720; }
.command-palette-search { position: relative; margin: 0 12px 9px; }
.command-palette-search svg { position: absolute; left: 14px; top: 50%; width: 18px; height: 18px; color: #777783; transform: translateY(-50%); pointer-events: none; }
.command-palette-search input { min-height: 48px; padding-left: 43px; border-color: rgba(217,75,89,.22); background: #09090d; }
.command-list { min-height: 80px; overflow-y: auto; padding: 3px 10px 10px; }
.command-item { width: 100%; min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 12px; border: 1px solid transparent; border-radius: 10px; background: transparent; color: #b4b4be; text-align: left; cursor: pointer; }
.command-item:hover, .command-item.active { border-color: rgba(217,75,89,.20); background: rgba(217,75,89,.09); color: #f5f1f0; }
.command-item span { min-width: 0; font-size: 10px; font-weight: 680; }
.command-item small { flex: 0 0 auto; color: #666671; font-size: 8px; }
.command-empty { padding: 24px; color: #70707a; font-size: 10px; text-align: center; }
.command-palette-help { margin: 0; padding: 10px 18px 13px; border-top: 1px solid rgba(255,255,255,.055); color: #5f5f69; font-size: 8px; }

@media (min-width: 800px) {
  .productivity-tab.active { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .productivity-hero { grid-column: 1 / -1; }
}

@media (min-width: 1500px) {
  .app-header, .app-shell { max-width: 1460px; }
  #tab_leito.tab-content.active { grid-template-columns: minmax(460px,.9fr) minmax(650px,1.3fr); gap: 22px; }
}

@media (max-width: 720px) {
  body { padding: 0 14px calc(118px + env(safe-area-inset-bottom)); background: linear-gradient(180deg,#070709 0,#030305 20rem); }
  body::before { display: none; }
  .app-header { padding: 20px 2px 17px; display: block; }
  .brand-mark { width: 42px; height: 42px; border-radius: 13px; }
  .brand-mark svg { width: 23px; height: 23px; }
  .app-header h1 { font-size: 22px; }
  .app-header p { display: none; }
  .session-panel { margin-top: 17px; width: 100%; max-width: 100%; min-width: 0; }
  .sync-state { min-width: 112px; }
  .session-field { flex: 1; min-width: 0; }
  .session-input-wrap, .session-input-wrap input { min-width: 0; }
  .session-sync-hint { margin-left: 22px; }
  .patient-nav { margin-top: 14px; padding: 15px 14px 8px; }
  .patient-nav-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; padding-bottom:12px; }
  .patient-nav-heading > div:first-child { min-width:0; }
  .current-bed-pill { display: none; }
  .bed-btn { min-width: 76px; padding: 9px 10px; }
  .main-tabs { top: 7px; margin-top: 10px; margin-bottom: 14px; }
  .main-tab-btn { font-size: 11px; }
  .main-tab-btn { gap: 4px; padding-left: 2px; padding-right: 2px; }
  .main-tab-btn svg { width: 13px; height: 13px; }
  .card { padding: 18px 16px; border-radius: 17px; }
  .card:hover { transform: none; }
  .card-header-flex { margin-bottom: 17px; padding-bottom: 14px; }
  h2 { font-size: 13px; }
  input, select, textarea { font-size: 16px; }
  .modal-content { padding: 22px 18px; }
  .floating-buttons { max-width: none; }
  .score-category-heading { align-items: center; }
  .score-category-heading p { display: none; }
  .score-library-grid { grid-template-columns: minmax(0,1fr); }
  .history-workspace-head { display: block; }
  .history-head-actions { display: grid; grid-template-columns: minmax(0,1fr); margin-top: 13px; }
  .history-sync-status { width: fit-content; }
  .history-save-primary { width: 100%; min-height: 44px; }
  .history-capture-row { grid-template-columns: minmax(0,1fr); }
  .history-overview { grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); }
  .history-stat:last-child { grid-column: 1 / -1; }
  .history-toolbar { grid-template-columns: minmax(0,1fr) minmax(126px,.48fr); }
  .history-filter-clear { grid-column: 1 / -1; }
  .history-record { grid-template-columns: 30px minmax(0,1fr); }
  .history-record-actions { grid-column: 2; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); justify-content: stretch; width: 100%; }
  .history-action { width: 100%; min-height: 42px; padding: 8px; }
  .history-compare-head { grid-template-columns: minmax(0,1fr); }
  .history-compare-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .history-changes { grid-template-columns: minmax(0,1fr); }
  .history-change-item { grid-template-columns: minmax(82px,.34fr) minmax(0,1fr); }
  .so-pain-row { display: block; }
  .patient-nav-actions { gap: 6px; }
  .btn-visit-mode { min-width: 36px; width: 36px; padding: 8px; }
  .btn-visit-mode > span { display: none; }
  .btn-day-tasks { min-width: 36px; width: 36px; padding: 8px; }
  .btn-day-tasks > span { display: none; }
  .btn-day-tasks b { position: absolute; top: -6px; right: -6px; }
  .btn-new-evolution { min-width: 36px; width: 36px; padding: 8px; }
  .btn-new-evolution span { display: none; }
  .tasks-card { padding-bottom: 16px; }
  .task-form { grid-template-columns: minmax(0,1fr) minmax(108px,.42fr); gap: 8px; padding: 10px; }
  .task-text-field { grid-column: 1 / -1; }
  .task-priority-toggle { min-height: 40px; }
  .btn-task-add, .btn-task-cancel { min-height: 40px; }
  .task-item { grid-template-columns: 30px minmax(0,1fr); align-items: start; }
  .task-item-actions { grid-column: 2; }
  .day-tasks-modal-content { width: calc(100vw - 20px); max-height: calc(100dvh - 20px); padding: 22px 16px; }

  .visit-header { grid-template-columns: minmax(84px,.34fr) minmax(120px,.66fr) 36px; gap: 10px; padding: calc(11px + env(safe-area-inset-top)) 12px 11px; }
  .visit-brand strong { font-size: 13px; }
  .visit-progress-copy { margin-bottom: 5px; font-size: 8px; }
  .visit-close { width: 34px; height: 34px; border-radius: 10px; }
  .visit-step-nav { width: calc(100% - 20px); margin-top: 8px; padding: 5px; }
  .visit-step-nav button { min-height: 35px; flex: 0 0 auto; padding: 6px 8px; }
  .visit-stage { width: calc(100% - 20px); padding: 14px 0 18px; scrollbar-gutter: auto; }
  .visit-stage-heading { margin: 0 4px 12px; }
  .visit-stage-heading > span { width: 34px; height: 34px; border-radius: 10px; }
  .visit-stage-heading h2 { font-size: 17px; }
  .visit-stage-heading p { font-size: 10px; }
  .visit-fields { grid-template-columns: minmax(0,1fr); gap: 10px; padding: 12px; border-radius: 15px; }
  .visit-field-wide { grid-column: auto; }
  .visit-field > label { font-size: 8px; }
  textarea.visit-control { min-height: 84px; }
  .visit-task-composer { grid-template-columns: minmax(0,1fr) minmax(108px,.42fr); }
  .visit-task-composer > input:first-child { grid-column: 1 / -1; }
  .visit-task-composer button { min-height: 40px; }
  .visit-task-priority { min-height: 40px; }
  .visit-fr-timer-panel { display:grid; grid-template-columns:minmax(0,1fr); }
  .visit-fr-timer { width:100%; min-height:44px; }
  .visit-fields.visit-fields-completion { padding:0; }
  .visit-completion-head { align-items:flex-start; padding:14px; }
  .visit-completion-text { padding:16px 14px; font-size:10px; line-height:1.58; }
  .visit-completion-actions { grid-template-columns:minmax(0,1fr); padding:10px; }
  .visit-completion-actions button { min-height:46px; }
  .visit-footer { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 8px; padding: 9px 10px calc(9px + env(safe-area-inset-bottom)); }
  .visit-bed-navigation { gap: 4px; }
  .visit-bed-navigation button { width: 34px; height: 38px; }
  .visit-bed-navigation span { display: none; }
  .visit-step-actions { min-width: 0; display: grid; grid-template-columns: minmax(72px,.36fr) minmax(0,1fr); gap: 6px; }
  .visit-back, .visit-next { min-width: 0; width: 100%; padding: 0 9px; }

  #tab_leito.tab-content.active { gap: 12px; }
  #tab_leito .col-layout { gap: 12px; }
  .bedside-mobile-nav {
    position: sticky;
    top: 62px;
    z-index: 35;
    grid-column: 1 / -1;
    display: flex;
    gap: 6px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: -2px 0 2px;
    padding: 6px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 14px;
    background: rgba(10,10,14,.90);
    box-shadow: 0 12px 28px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.035);
    backdrop-filter: blur(10px) saturate(110%);
    -webkit-backdrop-filter: blur(10px) saturate(110%);
    scrollbar-width: none;
  }
  .bedside-mobile-nav::-webkit-scrollbar { display: none; }
  .bedside-step { flex: 1 0 auto; min-width: 70px; min-height: 37px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 8px 9px; border: 1px solid transparent; border-radius: 9px; background: transparent; color: #858590; font-size: 10px; font-weight: 680; white-space: nowrap; }
  .bedside-step span { display: grid; place-items: center; width: 18px; height: 18px; border: 1px solid rgba(255,255,255,.10); border-radius: 6px; color: #777783; font-size: 8px; }
  .bedside-step.active { border-color: rgba(217,75,89,.20); background: rgba(217,75,89,.10); color: #ee747f; }
  .bedside-step.active span { border-color: rgba(217,75,89,.38); background: rgba(217,75,89,.14); color: #ff9aa7; }

  #tab_leito .card[data-mobile-section] { scroll-margin-top: 116px; }
  #tab_leito .card.mobile-collapsible > .card-header-flex { cursor: pointer; user-select: none; }
  #tab_leito .card.mobile-collapsible > .card-header-flex h2 { flex: 1; min-width: 0; }
  #tab_leito .card.mobile-collapsible > .card-header-flex h2::after { content: ""; width: 7px; height: 7px; flex: 0 0 auto; margin-left: 8px; border-right: 1.5px solid #70707b; border-bottom: 1.5px solid #70707b; transform: rotate(45deg) translateY(-2px); transition: transform .22s ease; }
  #tab_leito .card.mobile-collapsible.mobile-collapsed > .card-header-flex h2::after { transform: rotate(-45deg); }
  #tab_leito .card.mobile-collapsible.mobile-collapsed > *:not(.card-header-flex) { display: none !important; }
  #tab_leito .card.mobile-collapsible.mobile-collapsed { padding-top: 16px; padding-bottom: 16px; }
  #tab_leito .card.mobile-collapsible.mobile-collapsed > .card-header-flex { margin-bottom: 0; padding-bottom: 0; border-bottom-color: transparent; }
  #tab_leito .card.mobile-collapsible:not(.mobile-collapsed) { border-color: rgba(217,75,89,.17); box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 14px 34px rgba(0,0,0,.22); }

  #card_vitals .vitals-more-grid { grid-template-columns: minmax(0,1fr); margin-top: 2px; }
  #card_vitals .vitals-more-grid > .input-wrapper:first-child { margin-top: 2px; }
  #card_vitals #consciencia { display: block; max-width: 100%; }
  .productivity-heading { display: block; }
  .profile-sync-status { display: inline-flex; margin-top: 12px; }
  .productivity-heading.compact { display: flex; align-items: flex-start; }
  .review-note { max-width: 115px; white-space: normal; line-height: 1.35; text-align: right; }
  .productivity-form-row { grid-template-columns: minmax(0,1fr); }
  .productivity-item-main { display: block; }
  .productivity-item-actions { margin-top: 11px; }
  .productivity-item-actions button { flex: 1; min-height: 40px; }
  .dictation-panel { grid-template-columns: minmax(0,1fr); }
  .dictation-controls { grid-template-columns: minmax(0,1fr); }
  .dictation-controls button { min-height: 44px; }
  .quick-fill-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .quick-fill-actions button { min-height: 42px; }
  .command-palette { padding: calc(12px + env(safe-area-inset-top)) 10px 10px; place-items: start center; }
  .command-palette-panel { max-height: calc(100dvh - 22px - env(safe-area-inset-top)); border-radius: 16px; }
}

@media (max-width: 420px) {
  .brand-eyebrow { font-size: 9px; }
  .sync-state span { display: none; }
  .sync-state { min-width: 100px; }
  .patient-nav-heading > div:first-child strong { font-size: 13px; }
  .current-bed-pill span { display: none; }
  .main-tab-btn svg { width: 15px; height: 15px; }
  .main-tab-btn { font-size: 10px; }
  button.btn-action { font-size: 12px; }
}

/* Stage 5 · structured serial measurements */
#tab_trends .indicator { background: #c96572; box-shadow: 0 0 0 4px rgba(214,61,81,.08); }
.trends-tab.active { grid-template-columns: minmax(0,1fr); }
.trends-hero { grid-column: 1 / -1; overflow: hidden; background: radial-gradient(circle at 92% 0,rgba(214,61,81,.10),transparent 34%),radial-gradient(circle at 68% -20%,rgba(217,75,89,.08),transparent 30%),linear-gradient(145deg,#131419,#0d0e12); }
.trends-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.trends-heading h2, .measurement-section-heading h2 { margin-top:5px; }
.trends-heading p { max-width:720px; margin:9px 0 0; color:#858590; font-size:11px; line-height:1.55; }
.trends-kicker { color:#d67582; font-size:9px; font-weight:760; letter-spacing:.10em; text-transform:uppercase; }
.measurement-sync-status { flex:0 0 auto; padding:7px 10px; border:1px solid rgba(255,255,255,.08); border-radius:99px; background:rgba(255,255,255,.035); color:#7f7f8a; font-size:9px; font-weight:680; }
.measurement-sync-status[data-state="synced"] { border-color:rgba(214,61,81,.22); background:rgba(214,61,81,.07); color:#dd8591; }
.measurement-sync-status[data-state="saving"] { border-color:rgba(217,75,89,.22); color:#ee747f; }
.measurement-sync-status[data-state="error"] { border-color:rgba(239,68,68,.22); color:#ff9b9b; }
.measurement-overview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:18px; }
.measurement-overview > div { min-width:0; padding:12px; border:1px solid rgba(255,255,255,.07); border-radius:12px; background:rgba(5,6,8,.46); }
.measurement-overview span { display:block; color:#666672; font-size:8px; font-weight:720; letter-spacing:.06em; text-transform:uppercase; }
.measurement-overview strong { display:block; margin-top:6px; color:#eeeff2; font-size:15px; font-weight:720; overflow-wrap:anywhere; }
.trend-controls { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:14px; padding-top:14px; border-top:1px solid rgba(255,255,255,.06); }
.trend-category-chips { min-width:0; display:flex; gap:6px; padding:1px 12px 3px 1px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; }
.trend-category-chips::-webkit-scrollbar { display:none; }
.trend-category { flex:0 0 auto; min-height:34px; padding:7px 10px; border:1px solid rgba(255,255,255,.08); border-radius:9px; background:#0a0b0f; color:#858590; font-size:9px; font-weight:690; white-space:nowrap; }
.trend-category:hover { border-color:rgba(214,61,81,.25); color:#e7a7b0; }
.trend-category.active { border-color:rgba(214,61,81,.32); background:rgba(214,61,81,.10); color:#eaa9b2; box-shadow:inset 0 1px 0 rgba(255,255,255,.04); }
.trend-view-options { flex:0 0 auto; display:flex; align-items:center; gap:7px; }
.trend-view-options > label:not(.trend-hide-toggle) { margin:0; color:#6f6f79; font-size:8px; font-weight:720; text-transform:uppercase; }
.trend-view-options select { width:auto; min-width:106px; min-height:34px; padding:6px 30px 6px 9px; border-radius:9px; font-size:9px; }
.trend-hide-toggle { min-height:34px; display:inline-flex; align-items:center; gap:6px; margin:0; padding:7px 9px; border:1px solid rgba(255,255,255,.08); border-radius:9px; background:#0a0b0f; color:#878792; font-size:8px; font-weight:680; text-transform:none; cursor:pointer; }
.trend-hide-toggle input { width:14px; height:14px; min-height:0; padding:0; accent-color:#c95564; }
.measurement-section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin:-2px -2px 18px; padding:0 2px 15px; border-bottom:1px solid rgba(255,255,255,.06); }
.measurement-unit-badge, .measurement-neutral-note { flex:0 0 auto; padding:6px 9px; border:1px solid rgba(214,61,81,.17); border-radius:99px; background:rgba(214,61,81,.055); color:#cb7c87; font-size:8px; font-weight:700; }
.measurement-form { display:grid; grid-template-columns:minmax(0,1fr); gap:9px; min-width:0; }
.measurement-form > div { min-width:0; }
.measurement-form label { margin:0 0 7px; color:#777782; font-size:8px; font-weight:730; letter-spacing:.07em; text-transform:uppercase; }
.measurement-form input, .measurement-form select { min-height:42px; padding:10px 11px; font-size:12px; }
.measurement-save-button { grid-column:1 / -1; min-height:43px; display:inline-flex; align-items:center; justify-content:center; gap:7px; margin-top:2px; border:1px solid rgba(214,61,81,.34); border-radius:11px; background:linear-gradient(135deg,#d26271,#ad3948); color:#1b0306; font-size:10px; font-weight:790; box-shadow:0 9px 22px rgba(166,35,52,.14),inset 0 1px 0 rgba(255,255,255,.24); cursor:pointer; }
.measurement-save-button span { display:grid; place-items:center; width:18px; height:18px; border-radius:6px; background:rgba(23,23,23,.10); font-size:14px; }
.measurement-save-button:hover { transform:translateY(-1px); }
.measurement-save-button:disabled { opacity:.55; cursor:wait; transform:none; }
.measurement-import-panel { margin-top:14px; padding:13px; border:1px solid rgba(217,75,89,.13); border-radius:13px; background:rgba(217,75,89,.035); }
.measurement-import-panel strong { color:#d8d4e1; font-size:10px; }
.measurement-import-panel p { margin:5px 0 0; color:#73737e; font-size:9px; line-height:1.5; }
.measurement-import-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-top:11px; }
.measurement-import-actions button { min-height:38px; padding:8px; border:1px solid rgba(217,75,89,.18); border-radius:10px; background:#101016; color:#bfa6a9; font-size:8px; font-weight:700; }
.measurement-import-actions button:hover { border-color:rgba(217,75,89,.34); background:rgba(217,75,89,.08); color:#dfc8cb; }
.measurement-import-feedback:empty { display:none; }
.measurement-import-feedback:not(:empty) { margin-top:10px; padding-top:9px; border-top:1px solid rgba(255,255,255,.05); color:#cd8b94; }
.measurement-library-card { min-width:0; }
.measurement-trend-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.measurement-trend-card { min-width:0; min-height:190px; display:flex; flex-direction:column; padding:12px; overflow:hidden; border:1px solid rgba(255,255,255,.075); border-radius:13px; background:linear-gradient(145deg,rgba(10,11,15,.96),rgba(7,8,11,.96)); color:inherit; text-align:left; cursor:pointer; transition:transform .14s ease,border-color .14s ease,background .14s ease; }
.measurement-trend-card:hover { transform:translateY(-1px); border-color:rgba(214,61,81,.24); background:linear-gradient(145deg,rgba(15,19,20,.98),rgba(8,10,12,.98)); }
.measurement-trend-card.is-empty { min-height:150px; opacity:.58; }
.measurement-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:9px; }
.measurement-card-head > span { min-width:0; }
.measurement-card-head b { display:block; color:#f0f1f3; font-size:11px; }
.measurement-card-head small { display:block; margin-top:3px; color:#6f6f7a; font-size:8px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.measurement-card-head em { flex:0 0 auto; padding:4px 6px; border-radius:99px; background:rgba(214,61,81,.06); color:#608f83; font-size:7px; font-style:normal; font-weight:690; }
.measurement-latest { display:flex; align-items:baseline; gap:5px; margin-top:12px; }
.measurement-latest strong { color:#f5f6f6; font-size:22px; font-weight:750; letter-spacing:-.035em; }
.measurement-trend-card:has(.measurement-categorical-list) .measurement-latest strong { max-width:100%; font-size:15px; line-height:1.25; overflow-wrap:anywhere; }
.measurement-latest span { color:#6f7476; font-size:8px; font-weight:650; }
.measurement-mini-chart { min-height:66px; display:grid; align-items:end; margin:3px -3px 0; }
.measurement-categorical-list { display:grid; gap:5px; align-content:end; width:100%; }
.measurement-categorical-item { min-width:0; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:6px 7px; border:1px solid rgba(255,255,255,.055); border-radius:8px; background:rgba(255,255,255,.025); }
.measurement-categorical-item strong { min-width:0; color:#b9d8d0; font-size:8px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.measurement-categorical-item span { flex:0 0 auto; color:#696974; font-size:7px; }
.measurement-categorical-list.expanded { align-content:start; gap:7px; }
.measurement-categorical-list.expanded .measurement-categorical-item { padding:10px 11px; }
.measurement-categorical-list.expanded .measurement-categorical-item strong { color:#e6efed; font-size:11px; white-space:normal; }
.measurement-categorical-list.expanded .measurement-categorical-item span { font-size:9px; }
.trend-svg-mini, .trend-svg-expanded { display:block; width:100%; height:auto; overflow:visible; }
.trend-baseline { stroke:rgba(255,255,255,.055); stroke-width:1; }
.trend-polyline { fill:none; stroke:#c75463; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 0 5px rgba(214,61,81,.20)); }
.trend-point { fill:#232d2c; stroke:#d46675; stroke-width:1.5; }
.trend-point.latest { fill:#e58f9a; stroke:#f5c3ca; }
.measurement-card-foot { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:auto; padding-top:8px; border-top:1px solid rgba(255,255,255,.05); }
.measurement-card-foot > span:first-child { min-width:0; color:#666671; font-size:8px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.measurement-delta { flex:0 0 auto; font-size:8px; font-weight:730; }
.measurement-delta.up { color:#d36876; }
.measurement-delta.down { color:#d6838e; }
.measurement-delta.stable { color:#888893; }
.measurement-delta.single { color:#777782; }
.measurement-empty { grid-column:1 / -1; margin:0; padding:26px 14px; border:1px dashed rgba(255,255,255,.09); border-radius:13px; color:#70707a; font-size:10px; line-height:1.55; text-align:center; }
.trend-modal-content { width:min(94%,780px); max-height:min(88dvh,820px); overflow:auto; }
.trend-modal-content h2 { margin:6px 0 0; font-size:19px; }
.trend-modal-meta { margin:8px 0 15px; color:#80808b; font-size:10px; line-height:1.5; }
.trend-reference-callout { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 14px; margin:0 0 12px; padding:11px 12px; border:1px solid var(--border-base); border-radius:11px; background:var(--input-bg); }
.trend-reference-callout span { color:var(--text-mut); font-size:9px; font-weight:760; letter-spacing:.035em; text-transform:uppercase; }
.trend-reference-callout strong { color:var(--text-main); font-size:13px; font-variant-numeric:tabular-nums; }
.trend-reference-callout small { grid-column:1 / -1; color:var(--text-mut); font-size:9px; line-height:1.4; }
.trend-reference-callout:is(.reference-high,.reference-low,.reference-altered) { border-color:color-mix(in srgb,var(--danger) 54%,var(--border-base)); background:color-mix(in srgb,var(--danger) 12%,var(--input-bg)); }
.trend-modal-chart { min-height:220px; display:grid; align-items:center; padding:12px; border:1px solid rgba(214,61,81,.12); border-radius:14px; background:radial-gradient(circle at 100% 0,rgba(214,61,81,.08),transparent 38%),#08090c; }
.trend-modal-table { display:grid; gap:6px; margin-top:12px; }
.trend-table-row { display:grid; grid-template-columns:minmax(80px,.65fr) minmax(105px,.9fr) minmax(115px,1fr) minmax(72px,.6fr) auto; align-items:center; gap:9px; padding:9px 10px; border:1px solid rgba(255,255,255,.065); border-radius:10px; background:#0b0b10; }
.trend-table-row span { color:#8a8a95; font-size:9px; }
.trend-table-row strong { color:#e8e9ec; font-size:10px; }
.trend-table-row small { color:#656570; font-size:8px; }
.trend-table-row .trend-row-reference { color:var(--text-sec); font-size:9px; font-weight:650; }
.trend-table-row button { min-height:30px; padding:6px 8px; border:1px solid rgba(239,68,68,.13); border-radius:8px; background:rgba(239,68,68,.04); color:#a9787b; font-size:8px; font-weight:690; }
.trend-table-row button:hover { border-color:rgba(239,68,68,.28); color:#ff9b9b; }

@media (min-width:800px) {
  .trends-tab.active { grid-template-columns:minmax(300px,.38fr) minmax(0,1fr); align-items:start; }
  .trends-hero { grid-column:1 / -1; }
  .measurement-composer-card { grid-column:1; }
  .measurement-library-card { grid-column:2; }
}

@media (min-width:1280px) {
  .measurement-trend-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:720px) {
  .main-tabs { max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; scrollbar-width:none; }
  .main-tabs::-webkit-scrollbar { display:none; }
  .main-tab-btn { flex:0 0 108px; min-width:0; scroll-snap-align:start; }
  .trends-heading { display:block; }
  .measurement-sync-status { display:inline-flex; margin-top:12px; }
  .measurement-overview { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .trend-controls { display:block; }
  .trend-category-chips { margin-right:-8px; }
  .trend-view-options { display:grid; grid-template-columns:auto minmax(0,1fr); margin-top:10px; }
  .trend-view-options select { width:100%; }
  .trend-hide-toggle { grid-column:1 / -1; justify-content:center; min-height:40px; }
  .measurement-form { grid-template-columns:minmax(0,1fr); }
  .measurement-save-button { grid-column:auto; min-height:44px; }
  .measurement-trend-grid { grid-template-columns:minmax(0,1fr); }
  .measurement-trend-card { min-height:186px; }
  .measurement-neutral-note { max-width:116px; line-height:1.35; text-align:right; }
  .trend-modal-content { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); padding:22px 14px; }
  .trend-modal-chart { min-height:170px; padding:8px; }
  .trend-reference-callout { grid-template-columns:1fr; }
  .trend-reference-callout small { grid-column:1; }
  .trend-table-row { grid-template-columns:minmax(0,1fr) auto auto; }
  .trend-table-row .trend-row-reference { grid-column:1 / span 2; grid-row:2; }
  .trend-table-row small { grid-column:1; grid-row:3; }
  .trend-table-row button { grid-column:3; grid-row:1 / span 3; min-height:38px; }
}

@media (max-width:420px) {
  .main-tab-btn { flex-basis:102px; }
  .measurement-overview > div { padding:10px; }
  .measurement-import-actions { grid-template-columns:minmax(0,1fr); }
}

/* Stage 6 · contextual scores and clinical calculators */
.score-context-panel { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:15px 22px; overflow:hidden; background:radial-gradient(circle at 100% 0,rgba(217,75,89,.12),transparent 38%),linear-gradient(145deg,#13131a,#0d0d12); }
.score-context-copy { min-width:0; }
.score-context-kicker { color:#ed9aa5; font-size:9px; font-weight:760; letter-spacing:.1em; text-transform:uppercase; }
.score-context-copy h2,.calculator-library-heading h2 { margin:6px 0 0; }
.score-context-copy p,.calculator-library-heading p { max-width:760px; margin:8px 0 0; color:#80808b; font-size:10px; line-height:1.55; }
.score-context-action { min-height:42px; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:10px 14px; border:1px solid rgba(217,75,89,.34); border-radius:11px; background:linear-gradient(135deg,rgba(217,75,89,.21),rgba(190,78,93,.14)); color:#e4c7cb; font-size:9px; font-weight:750; white-space:nowrap; }
.score-context-action:hover { transform:translateY(-1px); border-color:rgba(237,154,165,.52); }
.score-context-feedback { grid-column:1/-1; padding-top:11px; border-top:1px solid rgba(255,255,255,.06); color:#817990; font-size:9px; line-height:1.5; }
.score-context-toolbar { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 0 13px; padding:8px 9px; border:1px solid rgba(217,75,89,.10); border-radius:9px; background:rgba(217,75,89,.035); }
.score-context-toolbar span { color:#74717d; font-size:8px; }
.score-context-toolbar button { min-height:28px; padding:5px 8px; border:1px solid rgba(255,255,255,.08); border-radius:7px; background:#0c0c11; color:#8d8799; font-size:8px; font-weight:680; }
.score-context-source { min-height:12px; display:block; margin:5px 1px 0; color:#b96873; font-size:8px; line-height:1.35; }
.score-context-source:empty { min-height:0; margin:0; }
#tab_scores .context-missing { border-color:rgba(217,75,89,.34); box-shadow:0 0 0 2px rgba(217,75,89,.06); }
.score-card.context-suggested,.calculator-card.context-suggested { border-color:rgba(102,205,175,.34); box-shadow:inset 0 1px 0 rgba(173,255,231,.055),0 0 0 1px rgba(102,205,175,.045),0 12px 28px rgba(21,117,91,.08); animation:context-card-arrival .72s cubic-bezier(.22,.78,.26,1); }
.score-header,.calculator-header { position:relative; }
.context-suggestion-cue { position:absolute; right:11px; bottom:6px; z-index:3; display:inline-flex; align-items:center; gap:4px; min-height:17px; padding:2px 6px; border:1px solid rgba(112,211,182,.22); border-radius:99px; background:rgba(60,157,130,.095); color:#78cdb5; font-size:7px; font-weight:760; letter-spacing:.045em; line-height:1; text-transform:uppercase; pointer-events:none; }
.context-suggestion-cue::before { content:""; width:4px; height:4px; border-radius:50%; background:#7bd8bd; box-shadow:0 0 8px rgba(123,216,189,.72); }
.calculator-header .context-suggestion-cue { right:46px; bottom:8px; }
@keyframes context-card-arrival { 0% { border-color:rgba(112,211,182,.08); box-shadow:0 0 0 rgba(21,117,91,0); } 48% { border-color:rgba(137,231,203,.54); box-shadow:0 0 0 4px rgba(73,180,148,.075),0 16px 34px rgba(21,117,91,.13); } 100% { border-color:rgba(102,205,175,.34); box-shadow:inset 0 1px 0 rgba(173,255,231,.055),0 0 0 1px rgba(102,205,175,.045),0 12px 28px rgba(21,117,91,.08); } }
.calculator-library { min-width:0; overflow:hidden; background:radial-gradient(circle at 2% 0,rgba(214,61,81,.08),transparent 34%),linear-gradient(145deg,#121419,#0d0e12); }
.calculator-library-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding-bottom:16px; border-bottom:1px solid rgba(255,255,255,.06); }
.calculator-review-badge { flex:0 0 auto; padding:6px 9px; border:1px solid rgba(214,61,81,.16); border-radius:99px; background:rgba(214,61,81,.05); color:#c97984; font-size:8px; font-weight:720; }
.calculator-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:14px; }
.calculator-card { min-width:0; overflow:hidden; border:1px solid rgba(255,255,255,.075); border-radius:13px; background:rgba(8,9,12,.72); transition:border-color .15s ease,background .15s ease; }
.calculator-card.open { grid-column:1/-1; border-color:rgba(214,61,81,.20); background:rgba(9,12,14,.94); }
.calculator-header { width:100%; min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 13px; border:0; background:transparent; color:inherit; text-align:left; }
.calculator-header span { min-width:0; }
.calculator-header b { display:block; color:#e9eaed; font-size:10px; }
.calculator-header small { display:block; margin-top:4px; color:#686974; font-size:8px; line-height:1.35; }
.calculator-header em { flex:0 0 auto; display:grid; place-items:center; width:25px; height:25px; border:1px solid rgba(255,255,255,.07); border-radius:8px; color:#6d807c; font-size:12px; font-style:normal; transition:transform .15s ease; }
.calculator-card.open .calculator-header em { transform:rotate(180deg); color:#d4838e; }
.calculator-body { padding:13px; border-top:1px solid rgba(255,255,255,.06); }
.calculator-body[hidden] { display:none!important; }
.calculator-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.calculator-field { min-width:0; }
.calculator-field label { display:flex; align-items:center; justify-content:space-between; gap:7px; margin:0 0 6px; color:#858590; font-size:8px; font-weight:710; text-transform:none; }
.calculator-field label span { color:#5f606a; font-size:7px; font-weight:620; }
.calculator-field input,.calculator-field select { min-height:40px; padding:9px 10px; font-size:11px; }
.calculator-field-source { min-height:11px; display:block; margin:4px 1px 0; color:#63ac97; font-size:7px; line-height:1.35; }
.calculator-field-source:empty { min-height:0; margin:0; }
.calculator-actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:13px; padding-top:12px; border-top:1px solid rgba(255,255,255,.05); }
.calculator-actions button { min-height:35px; padding:8px 10px; border-radius:9px; font-size:8px; font-weight:720; }
.calculator-prefill { border:1px solid rgba(217,75,89,.22); background:rgba(217,75,89,.07); color:#c9a9ae; }
.calculator-run { border:1px solid rgba(214,61,81,.28); background:linear-gradient(135deg,rgba(214,61,81,.19),rgba(153,39,54,.12)); color:#df939d; }
.calculator-clear { margin-left:auto; border:1px solid rgba(255,255,255,.07); background:#0a0b0e; color:#777882; }
.calculator-result { display:none; margin-top:11px; padding:11px; border:1px solid rgba(214,61,81,.16); border-radius:10px; background:rgba(214,61,81,.045); color:#d98f99; font-size:9px; line-height:1.5; }
.calculator-result.show { display:block; }
.calculator-result.error { border-color:rgba(239,68,68,.22); background:rgba(239,68,68,.05); color:#f09696; }
.calculator-result.neutral { border-color:rgba(217,75,89,.17); background:rgba(217,75,89,.045); color:#bda3a6; }
.calculator-result-rows { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:7px; }
.calculator-result-rows > span { min-width:0; padding:8px; border:1px solid rgba(255,255,255,.055); border-radius:8px; background:rgba(0,0,0,.16); }
.calculator-result-rows small { display:block; color:#6e8f86; font-size:7px; }
.calculator-result-rows strong { display:block; margin-top:4px; color:#f5e7e9; font-size:14px; overflow-wrap:anywhere; }
.calculator-result-rows em { color:#79968f; font-size:8px; font-style:normal; }
.calculator-result p { margin:9px 0 0; padding-top:8px; border-top:1px solid rgba(255,255,255,.05); color:#78827f; font-size:8px; }
.calculator-source { display:block; margin-top:9px; color:#5d5e67; font-size:7px; }
.calculator-disclaimer { margin:13px 1px 0; color:#686974; font-size:8px; line-height:1.5; }
@media (min-width:900px) { .calculator-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:640px) {
  .score-context-panel { grid-template-columns:minmax(0,1fr); }
  .score-context-action { width:100%; }
  .calculator-library-heading { display:block; }
  .calculator-review-badge { display:inline-flex; margin-top:10px; }
  .calculator-grid { grid-template-columns:minmax(0,1fr); }
  .calculator-card.open { grid-column:auto; }
  .calculator-fields { grid-template-columns:minmax(0,1fr); }
  .calculator-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .calculator-actions button { width:100%; }
  .calculator-clear { grid-column:1/-1; margin-left:0; }
}
@media (prefers-reduced-motion:reduce) { .score-card.context-suggested,.calculator-card.context-suggested { animation:none; } }

/* Stage 7 · reviewed clinical documents */
body[data-active-tab="tab_documents"] .floating-buttons { display:none; }
.documents-tab.active { grid-template-columns:minmax(0,1fr); align-items:start; }
.documents-tab .indicator { background:#c66975; box-shadow:0 0 12px rgba(198,105,117,.18); }
.documents-hero { min-width:0; display:flex; align-items:center; justify-content:space-between; gap:22px; overflow:hidden; background:radial-gradient(circle at 100% 0,rgba(198,105,117,.12),transparent 40%),linear-gradient(145deg,#111719,#0d0f12); }
.documents-hero p { max-width:680px; margin:9px 0 0; color:#7f888a; font-size:10px; line-height:1.55; }
.documents-kicker { display:block; color:#cd7b86; font-size:8px; font-weight:760; letter-spacing:.11em; text-transform:uppercase; }
.document-review-state { flex:0 0 auto; display:inline-flex; align-items:center; min-height:28px; padding:6px 10px; border:1px solid rgba(198,105,117,.18); border-radius:99px; background:rgba(198,105,117,.055); color:#cd808a; font-size:8px; font-weight:720; white-space:nowrap; }
.document-review-state[data-state="edited"] { border-color:rgba(217,75,89,.24); background:rgba(217,75,89,.07); color:#cbaab0; }
.document-review-state[data-state="error"] { border-color:rgba(239,68,68,.24); background:rgba(239,68,68,.07); color:#e8a0a0; }
.document-builder-card,.document-preview-card { min-width:0; overflow:hidden; }
.document-section-heading,.document-preview-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.document-section-heading h2,.document-preview-heading h2 { margin-top:6px; }
.document-section-heading-secondary { align-items:center; margin-top:18px; padding-top:16px; border-top:1px solid rgba(255,255,255,.06); }
.document-type-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:9px; margin-top:15px; }
.document-type { min-width:0; display:grid; grid-template-columns:30px minmax(0,1fr); grid-template-rows:auto auto; column-gap:10px; align-items:center; padding:12px; border:1px solid rgba(255,255,255,.075); border-radius:12px; background:#0b0d10; color:#85868f; text-align:left; transition:border-color .15s ease,background .15s ease,transform .15s ease; }
.document-type > span { grid-row:1/3; display:grid; place-items:center; width:30px; height:30px; border:1px solid rgba(255,255,255,.08); border-radius:9px; color:#737a7c; font-size:8px; font-weight:780; }
.document-type b { color:#dfe2e3; font-size:10px; }
.document-type small { margin-top:3px; overflow:hidden; color:#666b6d; font-size:7px; line-height:1.35; text-overflow:ellipsis; }
.document-type:hover { transform:translateY(-1px); border-color:rgba(198,105,117,.24); }
.document-type.active { border-color:rgba(198,105,117,.34); background:linear-gradient(135deg,rgba(198,105,117,.105),rgba(198,105,117,.025)); }
.document-type.active > span { border-color:rgba(198,105,117,.24); background:rgba(198,105,117,.08); color:#d1838d; }
.document-density-label { margin-top:16px; }
.document-builder-card select { min-height:42px; }
.document-discharge-fields[hidden] { display:none!important; }
.document-discharge-fields { margin-top:15px; padding:13px; border:1px solid rgba(198,105,117,.14); border-radius:12px; background:rgba(198,105,117,.035); }
.document-discharge-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding-bottom:11px; border-bottom:1px solid rgba(255,255,255,.055); }
.document-discharge-heading b { color:#d7dfdd; font-size:9px; }
.document-discharge-heading small { max-width:180px; color:#687171; font-size:7px; line-height:1.4; text-align:right; }
.document-discharge-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:12px; }
.document-discharge-grid label { min-width:0; margin:0; color:#7f8787; font-size:8px; text-transform:none; }
.document-discharge-grid label > span { display:block; margin-bottom:5px; }
.document-discharge-grid input,.document-discharge-grid textarea { min-height:39px; padding:9px 10px; font-size:10px; }
.document-discharge-grid textarea { min-height:72px; resize:vertical; }
.document-discharge-grid .document-field-wide { grid-column:1/-1; }
.document-select-all { flex:0 0 auto; min-height:30px; padding:6px 9px; border:1px solid rgba(255,255,255,.08); border-radius:8px; background:#0b0d10; color:#85898b; font-size:8px; font-weight:700; }
.document-sections { display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; }
.document-section-chip { position:relative; margin:0; cursor:pointer; text-transform:none; }
.document-section-chip input { position:absolute; inline-size:1px; block-size:1px; opacity:0; pointer-events:none; }
.document-section-chip span { display:inline-flex; align-items:center; min-height:32px; padding:7px 10px; border:1px solid rgba(255,255,255,.075); border-radius:9px; background:#0b0d10; color:#777b7d; font-size:8px; font-weight:690; transition:border-color .15s ease,background .15s ease,color .15s ease; }
.document-section-chip input:checked + span { border-color:rgba(198,105,117,.26); background:rgba(198,105,117,.08); color:#d4919a; }
.document-section-chip input:focus-visible + span { outline:2px solid rgba(198,105,117,.42); outline-offset:2px; }
.document-generate { width:100%; min-height:42px; display:flex; align-items:center; justify-content:center; gap:7px; margin-top:16px; border:1px solid rgba(198,105,117,.28); border-radius:10px; background:linear-gradient(135deg,rgba(198,105,117,.18),rgba(130,48,59,.10)); color:#dd9ba4; font-size:9px; font-weight:750; }
.document-preview-card { background:linear-gradient(150deg,#121418,#0c0d10); }
.document-preview-heading { padding-bottom:14px; border-bottom:1px solid rgba(255,255,255,.06); }
.document-preview-heading > span { flex:0 0 auto; color:#6c7174; font-size:8px; font-weight:680; }
.document-preview-text { width:100%; min-height:420px; margin-top:14px; padding:16px; resize:vertical; overflow-x:hidden; border-color:rgba(198,105,117,.13); border-radius:12px; background:#080a0c; color:#d8dedc; font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace; font-size:10px; line-height:1.65; white-space:pre-wrap; overflow-wrap:anywhere; }
.document-preview-text:focus { border-color:rgba(198,105,117,.38); box-shadow:0 0 0 3px rgba(198,105,117,.065); }
.document-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:12px; }
.document-actions button { min-width:0; min-height:40px; display:flex; align-items:center; justify-content:center; gap:7px; padding:9px 11px; border:1px solid rgba(255,255,255,.08); border-radius:10px; background:#0b0d10; color:#8c9192; font-size:8px; font-weight:720; }
.document-actions .document-action-copy { border-color:rgba(198,105,117,.26); background:rgba(198,105,117,.085); color:#d99ba3; }
.document-action-note { margin:10px 1px 0; color:#626769; font-size:7px; line-height:1.45; }
.document-print-sheet { display:none; }
@media (min-width:900px) {
  .documents-tab.active { grid-template-columns:minmax(300px,.4fr) minmax(0,.6fr); }
  .documents-hero { grid-column:1/-1; }
  .document-preview-card { position:sticky; top:16px; }
  .document-preview-text { min-height:520px; }
}
@media (max-width:640px) {
  .documents-hero { display:block; }
  .document-review-state { margin-top:12px; white-space:normal; }
  .document-type-grid { grid-template-columns:minmax(0,1fr); }
  .document-discharge-heading { display:block; }
  .document-discharge-heading small { display:block; max-width:none; margin-top:5px; text-align:left; }
  .document-discharge-grid { grid-template-columns:minmax(0,1fr); }
  .document-discharge-grid .document-field-wide { grid-column:auto; }
  .document-section-heading-secondary { display:block; }
  .document-select-all { width:100%; margin-top:10px; }
  .document-preview-text { min-height:400px; }
  .document-actions { grid-template-columns:minmax(0,1fr); }
}

@media print {
  @page { size:A4; margin:18mm; }
  body { margin:0!important; padding:0!important; background:#fff!important; color:#111!important; }
  body * { visibility:hidden!important; }
  #document_print_sheet,#document_print_sheet * { visibility:visible!important; }
  #document_print_sheet { display:block!important; position:absolute; inset:0; width:auto; min-height:0; padding:0; background:#fff; color:#111; }
  #document_print_sheet h1 { margin:0 0 18px; padding-bottom:10px; border-bottom:1px solid #aeb8c4; color:#3a171c; font:700 15pt/1.25 "Schibsted Grotesk",sans-serif; }
  #document_print_sheet pre { margin:0; color:#3a171c; font:10.5pt/1.48 "Schibsted Grotesk",sans-serif; white-space:pre-wrap; overflow-wrap:anywhere; }
}

/* Stage 8 · local experience */
.experience-dashboard { grid-column:1/-1; min-width:0; overflow:hidden; background:radial-gradient(circle at 100% 0,rgba(214,61,81,.1),transparent 38%),linear-gradient(145deg,#111618,#0d0f12); }
.experience-dashboard .indicator { background:#cb5464; box-shadow:0 0 12px rgba(214,61,81,.22); }
.experience-dashboard-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.experience-dashboard-heading h2 { margin-top:6px; }
.experience-dashboard-heading p { max-width:610px; margin:7px 0 0; color:#74807d; font-size:9px; line-height:1.5; }
.experience-kicker { color:#cd707c; font-size:8px; font-weight:770; letter-spacing:.1em; text-transform:uppercase; }
.experience-round-badge { flex:0 0 auto; display:inline-flex; align-items:center; min-height:28px; padding:6px 10px; border:1px solid rgba(255,255,255,.08); border-radius:99px; background:rgba(255,255,255,.03); color:#747d7b; font-size:8px; font-weight:710; }
.experience-round-badge.complete { border-color:rgba(214,61,81,.3); background:rgba(214,61,81,.09); color:#e09ca5; }
.experience-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin-top:17px; }
.experience-stat-grid > div { min-width:0; padding:12px; border:1px solid rgba(255,255,255,.065); border-radius:12px; background:rgba(4,7,8,.42); }
.experience-stat-grid span { display:block; color:#68726f; font-size:7px; font-weight:730; letter-spacing:.07em; text-transform:uppercase; }
.experience-stat-grid strong { display:block; margin-top:6px; color:#e8efed; font-size:19px; font-weight:750; letter-spacing:-.035em; overflow-wrap:anywhere; }
.experience-stat-grid small { display:block; margin-top:4px; color:#5f6866; font-size:7px; }
.experience-message { margin-top:11px; padding:10px 12px; border:1px solid rgba(214,61,81,.1); border-radius:10px; background:rgba(214,61,81,.035); color:#7faaa0; font-size:9px; line-height:1.45; }
.experience-settings { grid-column:1/-1; min-width:0; overflow:hidden; }
.experience-settings-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.experience-settings-heading h2 { margin-top:6px; }
.experience-settings-heading p { max-width:600px; margin:7px 0 0; color:var(--text-mut); font-size:9px; line-height:1.5; }
.experience-reset { flex:0 0 auto; min-height:34px; padding:8px 11px; border:1px solid var(--border-base); border-radius:9px; background:rgba(255,255,255,.025); color:var(--text-sec); font-size:9px; font-weight:690; }
.experience-reset:hover { border-color:var(--border-active); background:rgba(255,255,255,.05); color:var(--text-main); }
.experience-settings-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; margin-top:16px; }
.experience-setting-group { min-width:0; margin:0; padding:13px; border:1px solid var(--border-subtle); border-radius:12px; background:rgba(255,255,255,.018); }
.experience-setting-group legend { padding:0 6px; color:var(--text-mut); font-size:8px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }

.experience-density { display:flex; min-width:0; min-height:38px; align-items:center; justify-content:center; gap:7px; padding:8px 9px; border:1px solid var(--border-subtle); border-radius:9px; background:var(--input-bg); color:var(--text-sec); font-size:9px; font-weight:670; }
.experience-density.active { border-color:var(--primary); background:var(--primary-glow); color:var(--text-main); box-shadow:inset 0 0 0 1px var(--primary-glow); }
.experience-density-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.experience-toggle-list { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.experience-toggle { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:12px; padding:11px 12px; border:1px solid var(--border-subtle); border-radius:11px; background:rgba(255,255,255,.018); cursor:pointer; }
.experience-toggle span { min-width:0; }.experience-toggle b,.experience-toggle small { display:block; }.experience-toggle b { color:var(--text-main); font-size:10px; }.experience-toggle small { margin-top:3px; color:var(--text-mut); font-size:8px; line-height:1.35; }
.experience-toggle input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.experience-toggle i { position:relative; width:34px; height:19px; flex:0 0 auto; border:1px solid var(--border-active); border-radius:99px; background:var(--input-bg); transition:.2s ease; }
.experience-toggle i::after { content:""; position:absolute; top:3px; left:3px; width:11px; height:11px; border-radius:50%; background:var(--text-mut); transition:.2s ease; }
.experience-toggle input:checked + i { border-color:var(--primary); background:var(--primary-glow-strong); }.experience-toggle input:checked + i::after { transform:translateX(15px); background:var(--primary); }
.experience-toggle:focus-within { outline:2px solid var(--primary); outline-offset:2px; }
.tab-content.bed-transition > * { animation:bedContentIn .24s cubic-bezier(.2,.8,.2,1); }
@keyframes bedContentIn { from { opacity:.48; transform:translateY(4px); } to { opacity:1; transform:none; } }
@keyframes experienceGlow { from { box-shadow:0 0 0 rgba(214,61,81,0); } to { box-shadow:0 0 18px rgba(214,61,81,.12); } }
@media (max-width:640px) {
  .experience-dashboard-heading { display:block; }
  .experience-round-badge { margin-top:11px; }
  .experience-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .experience-settings-heading { display:block; }
  .experience-reset { width:100%; margin-top:12px; }
  .experience-settings-grid { grid-template-columns:minmax(0,1fr); }
  
  .experience-toggle-list { grid-template-columns:minmax(0,1fr); }
}

@media (min-width:900px) {
  body.density-compact .card { padding:16px; }
  body.density-compact .tab-content { gap:11px; }
  body.density-compact textarea { min-height:70px; }
  body.density-compact .form-grid,body.density-compact .productivity-form { gap:9px; }
}

/* Desktop readability */
@media (min-width:900px) {
  body { font-size:15px; }
  .app-header p { font-size:13px; }
  .session-field > label,.sync-state span { font-size:10px; }
  .sync-state strong { font-size:12px; }
  .session-sync-hint { font-size:10px; line-height:1.4; }
  .patient-nav-heading > div:first-child span { font-size:11px; }
  .patient-nav-heading > div:first-child strong { font-size:15px; }
  .current-bed-pill span { font-size:10px; }
  .current-bed-pill b { font-size:13px; }
  .main-tab-btn { font-size:13px; }
  h2 { font-size:16px; }
  label { font-size:12px; }
  input,select,textarea { font-size:15px; }
  .tab-content p { font-size:12px; line-height:1.55; }
  .tab-content small { font-size:10px; line-height:1.45; }
  .tab-content button { font-size:11px; }
  .tab-content h3 { font-size:15px; }
  .task-item-body p,.day-task-row p,.history-record-copy p { font-size:12px; }
  .history-record-copy strong,.measurement-card-head b { font-size:13px; }
  .score-category-heading span { font-size:16px; }
  .score-field-note,.score-source,.score-disclaimer,.calculator-disclaimer { font-size:10px; }
  .calculator-header b { font-size:12px; }
  .calculator-field label,.calculator-result,.calculator-source { font-size:10px; }
  .documents-hero p { font-size:13px; }
  .documents-kicker { font-size:10px; }
  .document-review-state { font-size:10px; }
  .document-type > span { font-size:10px; }
  .document-type b { font-size:13px; }
  .document-type small { font-size:10px; }
  .document-discharge-heading b { font-size:12px; }
  .document-discharge-heading small { font-size:10px; }
  .document-discharge-grid label { font-size:11px; }
  .document-discharge-grid input,.document-discharge-grid textarea { font-size:14px; }
  .document-select-all,.document-section-chip span { font-size:11px; }
  .document-generate { font-size:12px; }
  .document-preview-heading > span { font-size:11px; }
  .document-preview-text { font-size:14px; line-height:1.65; }
  .document-actions button { font-size:11px; }
  .document-action-note { font-size:10px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .visit-mode, .visit-progress-track span { transition: none; }
  .card:hover, .bed-btn:hover, .btn-magic:hover, button.btn-copy:hover { transform: none; }
  .clinical-chip.applied { animation: none; }
  .app-header, .patient-nav, .main-tabs, .floating-buttons, .status-dot.online::after, .main-tab-btn.active svg, .bed-btn.bed-selected .bed-icon, .device-chip input:checked + span, .modal-overlay.show .modal-content { animation: none; }
  .dictation-controls button.listening, .command-palette-panel { animation: none; }
  .visit-field-conditional.is-visible { animation:none; }
  .visit-completion-panel { animation:none; }
  .visit-completion-actions button:hover { transform:none; }
  .measurement-trend-card:hover, .measurement-save-button:hover { transform:none; }
  .document-type:hover { transform:none; }
  .experience-round-badge.complete,.tab-content.bed-transition > * { animation:none; }
  .card.reveal-ready, .score-category-section.reveal-ready { opacity: 1; transform: none; }
  .expandable { transition: opacity 120ms linear; transform: none; }
}

/* Stage 9 · PWA controls, viewport recovery and color themes */
.skip-link { position:fixed; z-index:1000; top:8px; left:8px; padding:9px 12px; border-radius:9px; background:var(--primary); color:#140003; font-size:11px; font-weight:750; transform:translateY(-160%); transition:transform .16s ease; }
.skip-link:focus { transform:none; }
.visit-mode { height:var(--app-viewport-height,100dvh); }
.app-footer { width:min(100%,1160px); display:flex; justify-content:flex-end; align-items:center; gap:7px; margin:26px auto 0; padding:12px 2px calc(18px + env(safe-area-inset-bottom)); border-top:1px solid var(--border-subtle); }
.footer-icon-button { width:34px; height:34px; min-height:34px; display:grid; place-items:center; padding:0; border:1px solid var(--border-subtle); border-radius:50%; background:transparent; color:var(--text-mut); cursor:pointer; transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease; }
.footer-icon-button:hover { border-color:var(--border-active); background:var(--card-elevated); color:var(--text-main); transform:translateY(-1px); }
.footer-icon-button svg { width:15px; height:15px; }
.footer-icon-button[hidden] { display:none; }
.theme-icon-moon { display:none; }
html[data-theme="light"] .theme-icon-sun { display:none; }
html[data-theme="light"] .theme-icon-moon { display:block; }
.pwa-update-banner { position:fixed; z-index:170; left:50%; bottom:calc(88px + env(safe-area-inset-bottom)); width:min(440px,calc(100% - 28px)); display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 12px 11px 15px; border:1px solid var(--border-active); border-radius:13px; background:color-mix(in srgb,var(--card-elevated) 94%,transparent); color:var(--text-main); font-size:10px; font-weight:680; box-shadow:0 18px 46px rgba(0,0,0,.34); backdrop-filter:blur(10px); transform:translateX(-50%); }
.pwa-update-banner[hidden] { display:none; }
.pwa-update-banner button { min-height:34px; padding:7px 10px; border:1px solid var(--primary); border-radius:9px; background:var(--primary-glow); color:var(--primary); font-size:9px; font-weight:740; }

html[data-theme="dark"] { color-scheme:dark; }
html[data-theme="light"] {
  color-scheme:light;
  --bg-base:#f5f2ee; --bg-surface:#fcfaf7; --card-bg:#faf8f5; --card-elevated:#f2ede8; --input-bg:#f7f3ef;
  --border-subtle:rgba(45,35,34,.075); --border-base:rgba(45,35,34,.13); --border-active:rgba(45,35,34,.25);
  --text-main:#231f20; --text-sec:#5f5758; --text-mut:#817779; --text-placeholder:#9b9091;
  --shadow-float:0 20px 55px rgba(45,35,34,.13);
}
html[data-theme="light"] body { background:radial-gradient(circle at 12% -12%,var(--primary-glow),transparent 28rem),linear-gradient(180deg,#fcfaf7 0,#f5f2ee 28rem,#eee9e4 100%); color:var(--text-main); }
html[data-theme="light"] body::before { opacity:.34; background-image:linear-gradient(rgba(62,29,33,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(62,29,33,.025) 1px,transparent 1px); }
html[data-theme="light"] .app-header { border-bottom-color:var(--border-base); }
html[data-theme="light"] .app-header h1 { background:linear-gradient(110deg,#231f20 28%,#5f5758 78%,var(--primary)); -webkit-background-clip:text; background-clip:text; color:transparent; }
html[data-theme="light"] :where(.session-panel,.patient-nav,.main-tabs,.card,.modal-content,.command-palette-panel,.visit-fields,.visit-step-nav,.visit-header,.visit-footer,.document-preview-card,.experience-dashboard) { border-color:var(--border-base); background:var(--card-bg); color:var(--text-main); box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 12px 32px rgba(45,35,34,.07); }
html[data-theme="light"] :where(input,select,textarea,.search-scores,.document-preview-text,.command-palette-search input) { border-color:var(--border-base); background:var(--input-bg); color:var(--text-main); }
html[data-theme="light"] :where(input,textarea)::placeholder { color:var(--text-placeholder); }
html[data-theme="light"] :where(.bed-btn:not(.active),.main-tab-btn.active,.visit-close,.visit-back,.visit-bed-navigation button,.btn-close-modal,.history-action,.document-actions button,.document-select-all,.document-section-chip span,.experience-density,.experience-toggle,.footer-icon-button,.command-item) { border-color:var(--border-base); background:var(--card-elevated); color:var(--text-sec); box-shadow:none; }
html[data-theme="light"] :where(.task-form,.task-item,.day-bed-group,.day-bed-heading,.day-task-row,.visit-field-check > label,.visit-task-item,.visit-task-empty,.history-record,.history-change-item,.measurement-trend-card,.measurement-categorical-item,.calculator-card,.productivity-item,.productivity-form,.quick-fill-section,.dictation-panel,.document-discharge-fields,.experience-setting-group,.experience-stat-grid > div) { border-color:var(--border-base); background:var(--input-bg); color:var(--text-main); }
html[data-theme="light"] :where(.visit-mode,.modal-overlay,.command-palette) { background-color:rgba(248,245,241,.92); }
html[data-theme="light"] .visit-mode { background:radial-gradient(circle at 15% -12%,var(--primary-glow),transparent 30rem),#f8f5f1; }
html[data-theme="light"] :where(.visit-completion-panel,.document-preview-card,.experience-dashboard) { background:linear-gradient(145deg,#fffdfa,#f5f1ec); }
html[data-theme="light"] :where(.visit-completion-text,.document-preview-text,.preview-text,.history-record-text) { background:#f8f4ef; color:#302a2b; }
html[data-theme="light"] :where(.experience-stat-grid strong,.visit-completion-head strong,.visit-fr-timer-panel strong,.document-preview-text) { color:var(--text-main); }
html[data-theme="light"] :where(.experience-round-badge,.experience-message,.document-action-note,.task-item-meta,.history-record-meta,.measurement-card-foot) { color:var(--text-mut); }
html[data-theme="light"] .floating-buttons { background:color-mix(in srgb,#fffdfa 88%,transparent); border-color:var(--border-base); box-shadow:0 12px 35px rgba(45,35,34,.13); }
html[data-theme="light"] .btn-preview { background:#fff; color:var(--text-sec); border-color:var(--border-base); }
html[data-theme="light"] #toast { background:#3e171c; color:#ffeff1; }
html[data-theme="light"] .pwa-update-banner { background:rgba(255,253,250,.94); box-shadow:0 18px 46px rgba(45,35,34,.16); }

@media (max-width:720px) {
  .app-footer { margin-top:20px; padding-right:1px; }
  .footer-icon-button { width:36px; height:36px; }
  html[data-theme="light"] body { background:linear-gradient(180deg,#fcfaf7 0,#f3efea 20rem); }
}

@media (forced-colors:active) {
  .indicator,.status-dot { forced-color-adjust:none; }
  button,input,select,textarea,.card { border:1px solid CanvasText; }
}

/* Version 34 · identity, laboratory review and neurologic examination */
.patient-name-field { position:relative; padding:14px; border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border-base)); border-radius:14px; background:linear-gradient(135deg,var(--primary-glow),transparent 65%); transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.patient-name-field label { display:flex; justify-content:space-between; gap:10px; align-items:center; }
.patient-name-field label span { color:var(--primary); font-size:9px; font-weight:760; letter-spacing:.08em; text-transform:uppercase; }
.patient-name-field input { min-height:48px; font-size:16px; font-weight:760; letter-spacing:.01em; }
.patient-name-field:focus-within { border-color:var(--primary); box-shadow:0 0 0 3px var(--primary-glow),0 14px 36px rgba(0,0,0,.13); transform:translateY(-1px); }

.document-patient-identity { display:grid; grid-template-columns:minmax(210px,.7fr) minmax(0,1.6fr) auto; gap:18px; align-items:center; }
.document-patient-identity h2 { margin:5px 0 0; font-size:18px; }
.document-patient-identity dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0; }
.document-patient-identity dl > div { min-width:0; padding:11px 12px; border:1px solid var(--border-subtle); border-radius:11px; background:var(--input-bg); }
.document-patient-identity dt { color:var(--text-mut); font-size:9px; font-weight:760; letter-spacing:.07em; text-transform:uppercase; }
.document-patient-identity dd { overflow-wrap:anywhere; margin:5px 0 0; color:var(--text-main); font-size:12px; font-weight:650; }
.document-patient-identity > button { min-height:40px; padding:9px 12px; border:1px solid var(--border-base); border-radius:10px; background:var(--card-elevated); color:var(--text-sec); font-size:11px; font-weight:700; }

.trend-view-switch { display:inline-grid; grid-template-columns:1fr 1fr; padding:3px; border:1px solid var(--border-base); border-radius:11px; background:var(--input-bg); }
.trend-view-button { min-height:34px; padding:7px 12px; border:0; border-radius:8px; background:transparent; color:var(--text-mut); font-size:10px; font-weight:720; cursor:pointer; }
.trend-view-button.active { background:var(--card-elevated); color:var(--text-main); box-shadow:0 5px 14px rgba(0,0,0,.15); }
.measurement-date-toolbar { display:grid; grid-template-columns:minmax(150px,190px) minmax(0,1fr) auto auto; gap:10px; align-items:end; margin-top:15px; padding-top:15px; border-top:1px solid var(--border-subtle); }
.measurement-date-toolbar > label { display:grid; gap:5px; margin:0; }
.measurement-date-toolbar > label span { color:var(--text-mut); font-size:9px; font-weight:720; letter-spacing:.07em; text-transform:uppercase; }
.measurement-date-toolbar select { min-height:39px; margin:0; }
.measurement-date-chips { display:flex; gap:6px; min-width:0; overflow-x:auto; padding:1px 0 4px; scrollbar-width:thin; }
.measurement-date-chip,.measurement-delete-day,.measurement-delete-all { min-height:39px; flex:0 0 auto; padding:8px 11px; border:1px solid var(--border-base); border-radius:10px; background:var(--card-elevated); color:var(--text-sec); font-size:10px; font-weight:700; cursor:pointer; }
.measurement-date-chip.active { border-color:var(--primary); background:var(--primary-glow); color:var(--primary); }
.measurement-delete-day { color:var(--warning,#f64a61); }
.measurement-delete-all { border-color:color-mix(in srgb,#ef5b64 40%,var(--border-base)); color:#ef747b; }
.measurement-delete-day:disabled { opacity:.38; cursor:not-allowed; }
.measurement-reference-note { margin:12px 0 0; color:var(--text-mut); font-size:10px; line-height:1.5; }
.measurement-reference-badge { display:inline-flex; align-items:center; min-height:22px; margin-left:auto; padding:4px 7px; border:1px solid var(--border-base); border-radius:999px; color:var(--text-mut); font-size:8px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.measurement-reference-badge.reference-high,.measurement-reference-badge.reference-low,.measurement-reference-badge.reference-altered { border-color:color-mix(in srgb,var(--danger) 68%,var(--border-base)); background:color-mix(in srgb,var(--danger) 20%,transparent); color:#ffb0b5; }
.measurement-trend-card.reference-high,.measurement-trend-card.reference-low,.measurement-trend-card.reference-altered { border-color:color-mix(in srgb,var(--danger) 62%,var(--border-base)); background:linear-gradient(145deg,color-mix(in srgb,var(--danger) 14%,#101116),#08090c); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--danger) 20%,transparent),0 9px 24px rgba(0,0,0,.16); }
.measurement-trend-card.reference-high .measurement-latest strong,.measurement-trend-card.reference-altered .measurement-latest strong { color:#ffd9dc; }
.measurement-trend-card.reference-low .measurement-latest strong { color:#ffd9c2; }
.trend-point.is-abnormal { fill:#ef5b64; stroke:#ffd4d6; }
.trend-point.is-low { fill:#f0a15b; stroke:#ffe1c4; }

.measurement-list-view { display:grid; gap:15px; }
.measurement-list-group { overflow:hidden; border:1px solid var(--border-base); border-radius:14px; background:var(--input-bg); }
.measurement-list-group h3 { margin:0; padding:12px 14px; border-bottom:1px solid var(--border-subtle); color:var(--text-sec); font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
.measurement-list-row { display:grid; grid-template-columns:minmax(150px,.45fr) minmax(0,1fr); gap:14px; padding:12px 14px; border-bottom:1px solid var(--border-subtle); }
.measurement-list-row:last-child { border-bottom:0; }
.measurement-list-name { display:grid; align-content:center; gap:3px; }
.measurement-list-name b { color:var(--text-main); font-size:14px; }
.measurement-list-name span { color:var(--text-mut); font-size:10px; line-height:1.35; }
.measurement-list-values { display:flex; gap:7px; min-width:0; overflow-x:auto; padding-bottom:2px; }
.measurement-list-value { min-width:118px; display:grid; gap:4px; padding:9px 10px; border:1px solid var(--border-subtle); border-radius:10px; background:var(--card-elevated); color:var(--text-main); text-align:left; cursor:pointer; }
.measurement-list-value small { color:var(--text-mut); font-size:9px; }
.measurement-list-value strong { font-size:13px; }
.measurement-list-value strong em { color:var(--text-mut); font-size:9px; font-style:normal; font-weight:600; }
.measurement-list-value > span { color:var(--text-mut); font-size:8px; font-weight:720; text-transform:uppercase; }
.measurement-list-value.reference-high,.measurement-list-value.reference-low,.measurement-list-value.reference-altered { border-color:rgba(239,91,100,.42); background:rgba(239,91,100,.08); }
.measurement-list-value.reference-high > span,.measurement-list-value.reference-low > span,.measurement-list-value.reference-altered > span { color:#ff7d84; }
.trend-table-row.reference-high,.trend-table-row.reference-low,.trend-table-row.reference-altered { border-color:rgba(239,91,100,.3); background:rgba(239,91,100,.06); }

/* Light mode is a complete palette, not an inversion of dark components. */
html[data-theme="light"] {
  --primary:#bd3544; --primary-hover:#a92e3d; --primary-glow:rgba(189,53,68,.11);
  --success:#781623; --danger:#c93e49; --warning:#9a0015;
}
html[data-theme="light"] button { color:var(--text-main); }
html[data-theme="light"] :where(.main-tab-btn,.bed-btn,.chip,.trend-category,.trend-view-button,.measurement-date-chip,.measurement-delete-day,.measurement-delete-all,.measurement-import-actions button,.task-filter,.device-chip span,.document-type,.document-select-all,.document-section-chip span,.history-filter,.history-action,.calculator-card button,.productivity-item button,.quick-fill-section button,.dictation-controls button,.visit-step-nav button,.visit-bed-navigation button,.btn-close-modal,.btn-clear-card,.footer-icon-button) { border-color:rgba(35,35,35,.16); background:#f6f8fa; color:#344252; box-shadow:none; }
html[data-theme="light"] :where(.main-tab-btn:hover,.bed-btn:hover,.chip:hover,.trend-category:hover,.trend-view-button:hover,.measurement-date-chip:hover,.document-type:hover,.command-item:hover) { border-color:rgba(189,53,68,.36); background:#ffeff1; color:#a92e3d; }
html[data-theme="light"] :where(.main-tab-btn.active,.bed-btn.active,.trend-category.active,.trend-view-button.active,.measurement-date-chip.active,.document-type.active,.device-chip input:checked + span,.document-section-chip input:checked + span) { border-color:rgba(189,53,68,.46); background:#ffe5e8; color:#a92e3d; box-shadow:0 5px 14px rgba(115,31,42,.09); }
html[data-theme="light"] :where(.btn-magic,.btn-copy,.measurement-save-button,.document-generate,.document-action-copy,.visit-next,.visit-completion-actions .primary,.task-submit) { border-color:#a92e3d; background:linear-gradient(135deg,#d94b59,#bd3544); color:#25060a; box-shadow:0 9px 22px rgba(181,19,41,.2); }
html[data-theme="light"] :where(.measurement-import-panel,.measurement-list-group,.measurement-list-value,.measurement-date-toolbar,.document-patient-identity dl > div,.patient-name-field,.trend-view-switch) { border-color:rgba(35,35,35,.13); background:#f7f9fb; color:#17202b; }
html[data-theme="light"] :where(.measurement-trend-card,.measurement-categorical-item,.trend-table-row,.history-record,.task-item,.calculator-card,.productivity-item,.visit-task-item) { border-color:rgba(35,35,35,.13); background:#fff; color:#17202b; }
html[data-theme="light"] :where(.score-header,.card-header-flex,.measurement-section-heading,.document-section-heading,.trends-heading) h2,
html[data-theme="light"] :where(.score-card,.measurement-trend-card,.document-type,.task-item,.history-record) strong { color:#17202b; }
html[data-theme="light"] :where(.measurement-card-head em,.measurement-card-foot,.measurement-neutral-note,.measurement-reference-note,.documents-kicker,.trends-kicker,.task-item-meta,.history-record-meta) { color:#687585; }
html[data-theme="light"] .measurement-reference-badge.reference-normal { border-color:rgba(120,22,35,.32); background:rgba(120,22,35,.08); color:#6a141f; }
html[data-theme="light"] :where(.measurement-reference-badge.reference-high,.measurement-reference-badge.reference-low,.measurement-reference-badge.reference-altered) { border-color:rgba(201,62,73,.36); background:rgba(201,62,73,.08); color:#ad2934; }
html[data-theme="light"] :where(.measurement-list-value.reference-high,.measurement-list-value.reference-low,.measurement-list-value.reference-altered,.trend-table-row.reference-high,.trend-table-row.reference-low,.trend-table-row.reference-altered) { border-color:rgba(201,62,73,.34); background:#fff3f4; }
html[data-theme="light"] :where(.measurement-list-value.reference-high,.measurement-list-value.reference-low,.measurement-list-value.reference-altered) > span { color:#ad2934; }
html[data-theme="light"] .patient-name-field:focus-within { background:#fff5f6; box-shadow:0 0 0 3px rgba(189,53,68,.13),0 14px 30px rgba(43,51,61,.08); }
html[data-theme="light"] .modal-overlay { background:rgba(222,228,235,.84); }
html[data-theme="light"] svg :where(.trend-baseline) { stroke:rgba(42,42,42,.16); }
html[data-theme="light"] svg :where(.trend-polyline) { stroke:#d9122d; }
html[data-theme="light"] svg :where(.trend-point) { fill:#d9122d; stroke:#fff; }
html[data-theme="light"] svg .trend-point.is-abnormal { fill:#c93e49; }

@media (max-width:760px) {
  .document-patient-identity { grid-template-columns:1fr; gap:13px; }
  .document-patient-identity dl { grid-template-columns:1fr; }
  .document-patient-identity > button { width:100%; }
  .measurement-date-toolbar { grid-template-columns:minmax(0,1fr) 1fr; }
  .measurement-date-chips { grid-column:1/-1; grid-row:2; }
  .measurement-delete-day,.measurement-delete-all { width:100%; }
  .measurement-list-row { grid-template-columns:1fr; gap:8px; }
  .patient-name-field label { align-items:flex-start; flex-direction:column; }
}

/* Version 35 · coherent navigation and document workspace */
.bed-btn { min-width:116px; grid-template-columns:19px minmax(0,1fr); gap:7px; }
.bed-copy { width:100%; overflow:hidden; }
.bed-copy small { width:100%; overflow:hidden; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.bed-copy b.bed-patient-name { width:100%; overflow:hidden; margin-top:5px; color:var(--text-main); font-size:10px; font-weight:700; line-height:1.15; text-overflow:ellipsis; white-space:nowrap; text-transform:none; }
.bed-btn.active .bed-copy b.bed-patient-name { color:#2b050a; }

.documents-tab.active { grid-template-columns:minmax(0,1fr); gap:16px; }
.documents-hero { padding:22px 24px; border-color:rgba(198,105,117,.16); border-radius:18px; }
.documents-hero h2 { margin-top:6px; font-size:17px; text-transform:none; }
.documents-hero p { max-width:760px; font-size:12px; }
.document-review-state { min-height:34px; padding:8px 12px; font-size:10px; }
.document-patient-identity { grid-column:1/-1; padding:18px 20px; border-color:rgba(198,105,117,.13); }
.document-patient-identity h2 { text-transform:none; }
.document-edit-identity { display:inline-flex; align-items:center; justify-content:center; gap:7px; white-space:nowrap; }
.document-edit-identity > span { color:#cd7b86; font-size:15px; }

.document-builder-card,.document-preview-card { border-radius:18px; }
.document-builder-heading { padding-bottom:16px; border-bottom:1px solid var(--border-subtle); }
.document-builder-heading h2 { margin-top:5px; font-size:16px; text-transform:none; }
.document-builder-heading p { margin:7px 0 0; color:var(--text-mut); font-size:11px; line-height:1.5; }
.document-config-flow { display:grid; gap:12px; margin-top:15px; }
.document-config-block { min-width:0; padding:14px; border:1px solid var(--border-subtle); border-radius:14px; background:rgba(5,8,10,.36); }
.document-step-heading { display:grid; grid-template-columns:27px minmax(0,1fr); gap:10px; align-items:center; }
.document-step-heading > span { width:27px; height:27px; display:grid; place-items:center; border:1px solid rgba(198,105,117,.25); border-radius:9px; background:rgba(198,105,117,.07); color:#cf8690; font-size:10px; font-weight:800; }
.document-step-heading b { display:block; color:var(--text-main); font-size:12px; }
.document-step-heading small { display:block; margin-top:3px; color:var(--text-mut); font-size:9px; line-height:1.4; }
.document-step-heading-actions { grid-template-columns:27px minmax(0,1fr) auto; }
.document-type-grid { grid-template-columns:minmax(0,1fr); gap:8px; margin-top:12px; }
.document-type { min-height:62px; grid-template-columns:36px minmax(0,1fr) 18px; grid-template-rows:auto auto; padding:11px 12px; border-radius:11px; }
.document-type::after { content:'›'; grid-column:3; grid-row:1/3; align-self:center; color:var(--text-mut); font-size:20px; font-weight:400; }
.document-type.active::after { content:'✓'; color:#cf8690; font-size:13px; font-weight:800; }
.document-type > span { width:34px; height:34px; font-size:9px; }
.document-type b { font-size:12px; }
.document-type small { font-size:9px; }
.document-density-control { display:grid; grid-template-columns:minmax(0,1fr) minmax(135px,.45fr); gap:10px; align-items:center; margin-top:12px; }
.document-density-control label { margin:0; color:var(--text-sec); font-size:10px; letter-spacing:0; text-transform:none; }
.document-density-control select { margin:0; min-height:40px; font-size:12px; }
.document-select-all { min-height:34px; padding:7px 10px; font-size:9px; }
.document-sections { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-top:12px; }
.document-section-chip { min-width:0; }
.document-section-chip span { width:100%; min-height:36px; justify-content:center; padding:8px 9px; font-size:9px; text-align:center; }
.document-section-chip input:checked + span::before { content:'✓'; margin-right:5px; font-size:9px; font-weight:900; }
.document-discharge-fields { margin:0; padding:14px; border-radius:14px; }
.document-discharge-heading b { font-size:11px; }
.document-discharge-heading small { font-size:9px; }
.document-discharge-grid label { font-size:10px; }
.document-discharge-grid input,.document-discharge-grid textarea { font-size:13px; }
.document-generate { min-height:54px; justify-content:flex-start; margin-top:14px; padding:10px 14px; border-radius:12px; }
.document-generate > span:first-child { width:30px; height:30px; display:grid; place-items:center; flex:0 0 auto; border-radius:9px; background:rgba(198,105,117,.12); font-size:16px; }
.document-generate > span:last-child { display:grid; gap:2px; text-align:left; }
.document-generate b { font-size:11px; }
.document-generate small { color:color-mix(in srgb,currentColor 68%,transparent); font-size:8px; font-weight:600; }

.document-preview-card { min-width:0; background:linear-gradient(150deg,#12171a,#0b0d0f); }
.document-preview-heading { align-items:center; }
.document-preview-heading h2 { font-size:15px; text-transform:none; }
.document-preview-heading > span { padding:6px 9px; border:1px solid var(--border-subtle); border-radius:999px; background:var(--input-bg); font-size:9px; }
.document-preview-text { min-height:560px; padding:18px; border-radius:13px; font-size:13px; line-height:1.72; }
.document-actions { grid-template-columns:1.25fr 1fr 1fr; gap:8px; }
.document-actions button { min-height:52px; justify-content:flex-start; padding:9px 12px; font-size:12px; text-align:left; }
.document-actions button > span:first-child { width:24px; flex:0 0 auto; color:#cd7b86; font-size:17px; text-align:center; }
.document-actions button > span:last-child { display:grid; gap:2px; }
.document-actions button b { color:inherit; font-size:10px; }
.document-actions button small { color:var(--text-mut); font-size:8px; font-weight:600; }
.document-action-note { margin-top:11px; font-size:9px; }

@media (min-width:800px) and (max-width:1179px) {
  .bed-selector { grid-template-columns:repeat(5,minmax(0,1fr)); }
}

@media (min-width:1050px) {
  .documents-tab.active { grid-template-columns:minmax(330px,400px) minmax(520px,1fr); gap:18px; }
  .documents-hero,.document-patient-identity { grid-column:1/-1; }
  .document-builder-card { grid-column:1; }
  .document-preview-card { grid-column:2; position:sticky; top:16px; }
}

@media (max-width:720px) {
  .bed-btn { min-width:108px; min-height:58px; }
  .documents-tab.active { gap:12px; }
  .documents-hero { display:grid; gap:12px; padding:18px 16px; }
  .documents-hero h2 { font-size:15px; }
  .documents-hero p { font-size:11px; }
  .document-review-state { width:fit-content; margin:0; }
  .document-patient-identity { gap:12px; padding:16px; }
  .document-patient-identity dl { gap:7px; }
  .document-patient-identity dl > div { padding:10px 11px; }
  .document-builder-card,.document-preview-card { padding:17px 15px; }
  .document-step-heading-actions { grid-template-columns:27px minmax(0,1fr); }
  .document-step-heading-actions .document-select-all { grid-column:1/-1; width:100%; margin-top:3px; }
  .document-density-control { grid-template-columns:minmax(0,1fr); }
  .document-sections { grid-template-columns:minmax(0,1fr); }
  .document-preview-heading { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; }
  .document-preview-heading > span { width:fit-content; }
  .document-preview-text { min-height:440px; padding:14px; font-size:12px; }
  .document-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .document-actions .document-action-copy { grid-column:1/-1; }
}

/* Complete light states for collapsed toggles and the document flow. */
html[data-theme="light"] .checkbox-container { border-color:rgba(35,35,35,.16); background:#f5f7fa; box-shadow:inset 0 1px 0 #fff; }
html[data-theme="light"] .checkbox-container:hover { border-color:rgba(189,53,68,.34); background:#fff2f4; }
html[data-theme="light"] .checkbox-container:has(input:checked) { border-color:rgba(189,53,68,.42); background:#ffe7ea; }
html[data-theme="light"] .checkbox-container label { color:#263441; }
html[data-theme="light"] .checkbox-container input[type="checkbox"] { border-color:#a9b3be; background:#fff; box-shadow:inset 0 0 0 1px rgba(35,35,35,.03); }
html[data-theme="light"] .checkbox-container input[type="checkbox"]:checked { border-color:#bd3544; background:#bd3544; }
html[data-theme="light"] .checkbox-container input[type="checkbox"]:checked::after { border-color:#fff; }
html[data-theme="light"] .bed-btn.active .bed-copy b.bed-patient-name { color:#7f0616; }
html[data-theme="light"] :where(.documents-hero,.document-builder-card,.document-preview-card,.document-patient-identity) { border-color:rgba(45,45,45,.13); background:#fff; color:#17202b; box-shadow:0 12px 30px rgba(35,48,60,.07); }
html[data-theme="light"] .documents-hero { background:radial-gradient(circle at 100% 0,rgba(120,22,35,.08),transparent 42%),#fff; }
html[data-theme="light"] :where(.document-config-block,.document-discharge-fields) { border-color:rgba(45,45,45,.13); background:#f7f9fa; }
html[data-theme="light"] .document-type { border-color:rgba(45,45,45,.14); background:#fff; color:#4f5e67; }
html[data-theme="light"] .document-type b { color:#26343b; }
html[data-theme="light"] .document-type small { color:#718087; }
html[data-theme="light"] .document-type > span { border-color:rgba(45,45,45,.14); background:#f2f5f5; color:#607077; }
html[data-theme="light"] .document-type.active { border-color:rgba(120,22,35,.38); background:#f8edee; color:#5d151f; box-shadow:0 5px 14px rgba(120,22,35,.08); }
html[data-theme="light"] .document-type.active > span { border-color:rgba(120,22,35,.25); background:#f2dfe2; color:#5d151f; }
html[data-theme="light"] .document-type.active::after { color:#781623; }
html[data-theme="light"] .document-step-heading > span { border-color:rgba(120,22,35,.25); background:#f5e8ea; color:#631620; }
html[data-theme="light"] :where(.document-select-all,.document-section-chip span,.document-edit-identity,.document-actions button) { border-color:rgba(45,45,45,.15); background:#f5f7f8; color:#46545c; }
html[data-theme="light"] .document-section-chip input:checked + span { border-color:rgba(120,22,35,.34); background:#f5e8ea; color:#5d151f; }
html[data-theme="light"] .document-generate { border-color:#66121d; background:linear-gradient(135deg,#88212f,#6d1722); color:#fff; box-shadow:0 9px 22px rgba(120,22,35,.18); }
html[data-theme="light"] .document-generate > span:first-child { background:rgba(255,255,255,.14); }
html[data-theme="light"] .document-preview-text { border-color:rgba(120,22,35,.20); background:#f8faf9; color:#1d2c31; }
html[data-theme="light"] .document-actions .document-action-copy { border-color:#66121d; background:#6d1722; color:#fff; }
html[data-theme="light"] .document-actions .document-action-copy small { color:rgba(255,255,255,.72); }

/* Private access gate — a local 90-minute session on each device. */
[hidden] { display:none !important; }
html.access-pending body { overflow:hidden; }
html.access-pending body > :not(#access_gate):not(script) { visibility:hidden; }
.access-gate { position:fixed; inset:0; z-index:10000; display:grid; place-items:center; min-height:100dvh; padding:max(20px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); overflow:auto; background:radial-gradient(circle at 50% 0,rgba(217,75,89,.12),transparent 38%),#050507; }
.access-card { width:min(100%,420px); padding:30px; border:1px solid rgba(255,255,255,.10); border-radius:24px; background:linear-gradient(155deg,#161619,#0d0d0f); box-shadow:0 28px 80px rgba(0,0,0,.55); }
.access-brand { display:grid; place-items:center; width:52px; height:52px; margin-bottom:24px; border:1px solid rgba(217,75,89,.28); border-radius:16px; background:rgba(217,75,89,.10); color:#ee747f; box-shadow:0 10px 30px rgba(217,75,89,.10); }
.access-brand svg { width:28px; height:28px; }
.access-heading > span { color:#ee747f; font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.access-heading h1 { margin:8px 0 7px; color:#fafafa; font-size:25px; line-height:1.12; letter-spacing:-.045em; }
.access-heading p { margin:0 0 24px; color:#a1a1aa; font-size:13px; line-height:1.55; }
.access-pin-field { display:grid; gap:8px; margin:0; color:#d4d4d8; font-size:11px; font-weight:700; }
.access-pin-field input { width:100%; height:56px; margin:0; padding:0 16px; border:1px solid rgba(255,255,255,.13); border-radius:13px; background:#09090b; color:#fafafa; font-size:22px; font-weight:700; letter-spacing:.28em; text-align:center; }
.access-pin-field input::placeholder { color:#52525b; letter-spacing:.22em; }
.access-pin-field input:focus { border-color:#ee747f; outline:none; box-shadow:0 0 0 4px rgba(217,75,89,.12); }
.access-pin-field input[aria-invalid="true"] { border-color:#ef4444; box-shadow:0 0 0 4px rgba(239,68,68,.10); }
.access-error { margin:9px 0 0; color:#fca5a5; font-size:11px; font-weight:650; }
.access-submit { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:52px; margin-top:18px; padding:0 17px; border:1px solid #bd3544; border-radius:13px; background:linear-gradient(135deg,#ee747f,#bd3544); color:#160205; font-size:13px; font-weight:850; box-shadow:0 12px 26px rgba(217,75,89,.18); cursor:pointer; }
.access-submit:hover { filter:brightness(1.06); transform:translateY(-1px); }
.access-session-note { display:block; margin-top:14px; color:#71717a; font-size:10px; line-height:1.45; text-align:center; }
.access-card.access-denied { animation:accessDenied .36s ease; }
@keyframes accessDenied { 20%,60% { transform:translateX(-7px); } 40%,80% { transform:translateX(7px); } }

html[data-theme="light"] .access-gate { background:radial-gradient(circle at 50% 0,rgba(189,53,68,.10),transparent 40%),#eef2f4; }
html[data-theme="light"] .access-card { border-color:rgba(45,45,45,.13); background:#fff; box-shadow:0 28px 70px rgba(35,48,60,.15); }
html[data-theme="light"] .access-brand { border-color:rgba(216,16,43,.22); background:#ffe7ea; color:#bd3544; }
html[data-theme="light"] .access-heading > span { color:#c80a23; }
html[data-theme="light"] .access-heading h1 { color:#17202b; }
html[data-theme="light"] .access-heading p { color:#627079; }
html[data-theme="light"] .access-pin-field { color:#33434b; }
html[data-theme="light"] .access-pin-field input { border-color:rgba(45,45,45,.18); background:#f7f9fa; color:#17202b; }
html[data-theme="light"] .access-pin-field input::placeholder { color:#a0aab0; }
html[data-theme="light"] .access-session-note { color:#68757c; }

@media (max-width:480px) {
  .access-card { padding:24px 20px; border-radius:20px; }
  .access-brand { width:46px; height:46px; margin-bottom:19px; border-radius:14px; }
  .access-heading h1 { font-size:22px; }
}

@media (prefers-reduced-motion:reduce) {
  .access-card.access-denied { animation:none; }
}

/* Version 36 · Refero dual-theme design system
   Dark: Linear midnight precision instrument.
   Light: shadcn clinical blueprint on frosted paper. */
:root {
  --motion-fast: 150ms;
  --motion-base: 220ms;
  --motion-slow: 360ms;
  --motion-ease: cubic-bezier(.22, 1, .36, 1);
  --bg-base: #08090a;
  --bg-surface: #0b0c0d;
  --card-bg: #0f1011;
  --card-elevated: #161718;
  --input-bg: rgba(255,255,255,.025);
  --border-subtle: rgba(255,255,255,.065);
  --border-base: #23252a;
  --border-active: #383b3f;
  --text-main: #ffffff;
  --text-sec: #d0d6e0;
  --text-mut: #8a8f98;
  --text-placeholder: #62666d;
  --primary: #ee747f;
  --primary-hover: #f18b94;
  --primary-glow: rgba(217,75,89,.09);
  --primary-glow-strong: rgba(217,75,89,.18);
  --success: #a62738;
  --danger: #eb5757;
  --warning: #d64d5f;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 12px;
  --radius-xl: 12px;
  --shadow-float: 0 24px 72px rgba(0,0,0,.58);
}

html { background:#08090a; }
body {
  --primary:#ee747f;
  --primary-hover:#f18b94;
  --primary-glow:rgba(217,75,89,.09);
  --primary-glow-strong:rgba(217,75,89,.18);
}
body {
  max-width:100%;
  background:
    radial-gradient(ellipse 70% 28% at 50% -12%, rgba(208,214,224,.075), transparent 66%),
    #08090a;
  color:var(--text-main);
  font-family:"Schibsted Grotesk","Noto Sans",sans-serif;
  font-feature-settings:"cv01" 1,"ss03" 1,"zero" 1;
  letter-spacing:-.01em;
}
body::before { opacity:.16; background-size:48px 48px; }

::view-transition-old(root), ::view-transition-new(root) {
  animation-duration:var(--motion-slow);
  animation-timing-function:var(--motion-ease);
}
::view-transition-old(root) { animation-name:themeFadeOut; }
::view-transition-new(root) { animation-name:themeFadeIn; }

:is(button,input,select,textarea,.card,.patient-nav,.main-tabs,.session-panel,.modal-content,.command-palette-panel,.floating-buttons) {
  transition:
    color var(--motion-fast) ease,
    background-color var(--motion-base) var(--motion-ease),
    border-color var(--motion-base) var(--motion-ease),
    box-shadow var(--motion-base) var(--motion-ease),
    transform var(--motion-base) var(--motion-ease),
    opacity var(--motion-fast) ease;
}
button:not(:disabled):active { transform:translateY(0) scale(.975); transition-duration:80ms; }
.tab-content.active { animation:workflowEnter var(--motion-slow) var(--motion-ease) both; }
.card { animation:surfaceEnter var(--motion-slow) var(--motion-ease) both; }
.tab-content.active > .card:nth-child(2) { animation-delay:35ms; }
.tab-content.active > .card:nth-child(3) { animation-delay:70ms; }
.tab-content.active > .card:nth-child(4) { animation-delay:105ms; }

.app-header {
  max-width:1200px;
  padding:24px 0 20px;
  border-bottom:.5px solid var(--border-base);
}
.brand-block { gap:12px; }
.brand-mark {
  width:42px;
  height:42px;
  border:1px solid var(--border-base);
  border-radius:10px;
  color:var(--primary);
  background:#0f1011;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);
}
.brand-mark svg { width:22px; height:22px; }
.brand-eyebrow { margin-bottom:4px; color:var(--text-mut); font-size:10px; font-weight:500; letter-spacing:.1em; }
.app-version { border-radius:4px; border-color:var(--border-base); background:#161718; font-family:ui-monospace, SFMono-Regular, Menlo, monospace; }
.app-header h1 { background:none; color:#fff; font-size:clamp(22px,3vw,28px); font-weight:510; letter-spacing:-.022em; }
.app-header p { color:var(--text-mut); font-size:12px; }
.app-shell { max-width:1200px; }

.session-panel {
  gap:4px;
  padding:4px;
  border:.5px solid var(--border-base);
  border-radius:10px;
  background:#0f1011;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.015);
}
.sync-state { padding:6px 10px; }
.session-field { border-left-color:var(--border-base); }
.session-input-wrap svg { color:var(--text-mut); }

.patient-nav {
  margin-top:18px;
  padding:15px 16px 9px;
  border:.5px solid var(--border-base);
  border-radius:12px;
  background:#0f1011;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.015);
}
.patient-nav-heading > div:first-child span { color:var(--text-mut); font-weight:500; }
.current-bed-pill { border-color:var(--border-base); border-radius:999px; background:rgba(255,255,255,.035); }
.current-bed-pill b { color:var(--text-sec); }
.patient-nav-actions :is(.btn-visit-mode,.btn-day-tasks,.btn-new-evolution) {
  min-height:34px;
  border:1px solid var(--border-base);
  border-radius:6px;
  background:transparent;
  color:var(--text-sec);
  box-shadow:none;
}
.patient-nav-actions :is(.btn-visit-mode,.btn-day-tasks,.btn-new-evolution):hover {
  border-color:var(--border-active);
  background:#161718;
  color:#fff;
  transform:translateY(-1px);
}
.btn-day-tasks b { background:var(--primary); color:#08090a; }
.btn-new-evolution:hover { border-color:rgba(235,87,87,.5); color:#ff9191; }

.bed-selector { gap:7px; }
.bed-btn {
  position:relative;
  min-height:56px;
  border:1px solid var(--border-base);
  border-radius:6px;
  background:#0b0c0d;
  color:var(--text-mut);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.012);
  overflow:hidden;
}
.bed-btn::before {
  content:"";
  position:absolute;
  inset:8px auto 8px 0;
  width:2px;
  border-radius:999px;
  background:transparent;
  transform:scaleY(.4);
  transition:background var(--motion-fast),transform var(--motion-base) var(--motion-ease);
}
.bed-btn:hover { border-color:var(--border-active); background:#161718; transform:translateY(-1px); }
.bed-btn.active {
  border-color:#383b3f;
  background:#161718;
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(217,75,89,.06);
}
.bed-btn.active::before { background:var(--primary); transform:scaleY(1); }
.bed-btn.active :is(.bed-icon,.bed-copy small,.bed-copy b,.bed-copy b.bed-patient-name) { color:#fff; }
.bed-btn.active .bed-icon { color:var(--primary); }
.bed-task-badge { border-color:#383b3f; border-radius:4px; background:#23252a; color:#d0d6e0; box-shadow:none; }
.bed-btn.active .bed-task-badge { border-color:rgba(217,75,89,.34); background:rgba(217,75,89,.1); color:var(--primary); }

.main-tabs {
  padding:4px;
  border:.5px solid var(--border-base);
  border-radius:10px;
  background:#0f1011;
  box-shadow:none;
}
.main-tab-btn {
  min-height:42px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:var(--text-mut);
}
.main-tab-btn:hover { background:#161718; color:var(--text-sec); }
.main-tab-btn.active { border:0; background:#23252a; color:#fff; box-shadow:inset 0 0 0 1px #383b3f; }
.main-tab-btn.active::after { background:var(--primary); box-shadow:none; }
.main-tab-btn.active > svg { color:var(--primary); }

.card,
:is(.documents-hero,.document-builder-card,.document-preview-card,.document-patient-identity,.measurement-trend-card,.calculator-card,.productivity-item,.history-record,.task-item) {
  border:.5px solid var(--border-base);
  border-radius:12px;
  background:#0f1011;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.012);
}
.card:hover { border-color:#2d2f34; }
:is(.task-form,.document-config-block,.document-discharge-fields,.measurement-list-group,.measurement-import-panel,.measurement-date-toolbar,.patient-name-field,.trend-view-switch,.experience-setting-group,.experience-stat-grid > div) {
  border-color:var(--border-base);
  border-radius:6px;
  background:#0b0c0d;
  box-shadow:none;
}

:is(input,select,textarea,.search-scores,.document-preview-text,.command-palette-search input) {
  border:1px solid rgba(255,255,255,.085);
  border-radius:6px;
  background:rgba(255,255,255,.025);
  color:var(--text-sec);
  box-shadow:none;
}
:is(input,select,textarea):hover { border-color:var(--border-active); }
:is(input,select,textarea):focus {
  border-color:#8a8f98;
  background:#0f1011;
  box-shadow:0 0 0 3px rgba(208,214,224,.07);
}
:is(button,input,select,textarea):focus-visible { outline:1px solid var(--primary); outline-offset:2px; }

:is(.chip,.task-filter,.trend-category,.trend-view-button,.measurement-date-chip,.document-type,.document-select-all,.document-section-chip span,.history-filter,.history-action,.footer-icon-button,.experience-density,.document-edit-identity,.document-actions button,.btn-clear-card) {
  border:1px solid var(--border-base);
  border-radius:6px;
  background:#0f1011;
  color:var(--text-mut);
  box-shadow:none;
}
:is(.chip,.task-filter,.trend-category,.trend-view-button,.measurement-date-chip,.document-type,.document-select-all,.document-section-chip span,.history-filter,.history-action,.footer-icon-button,.experience-density,.document-edit-identity,.document-actions button,.btn-clear-card):hover {
  border-color:var(--border-active);
  background:#161718;
  color:#fff;
  transform:translateY(-1px);
}
:is(.chip.active,.task-filter.active,.trend-category.active,.trend-view-button.active,.measurement-date-chip.active,.document-type.active,.device-chip input:checked + span,.document-section-chip input:checked + span) {
  border-color:#383b3f;
  background:#23252a;
  color:#fff;
  box-shadow:inset 0 -2px 0 var(--primary);
}

:is(.btn-magic,.btn-copy,.measurement-save-button,.document-generate,.document-action-copy,.visit-next,.visit-completion-actions .primary,.task-submit,.btn-task-add,.access-submit) {
  border:1px solid #ee747f;
  border-radius:6px;
  background:#ee747f;
  color:#08090a;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 3px 10px rgba(217,75,89,.08);
  font-weight:590;
}
:is(.btn-magic,.btn-copy,.measurement-save-button,.document-generate,.document-action-copy,.visit-next,.visit-completion-actions .primary,.task-submit,.btn-task-add,.access-submit):hover {
  border-color:#fa5f74;
  background:#fa5f74;
  color:#08090a;
  transform:translateY(-1px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.46),0 6px 18px rgba(217,75,89,.12);
}
.document-generate > span:first-child { border-radius:4px; background:rgba(8,9,10,.08); }
.document-actions .document-action-copy small { color:rgba(8,9,10,.62); }

.documents-hero { border-color:var(--border-base); background:#0f1011; }
.documents-kicker,.trends-kicker,.score-context-kicker { color:var(--text-mut); }
.document-step-heading > span { border-radius:4px; border-color:#383b3f; background:#23252a; color:var(--primary); }
.document-type { border-radius:6px; }
.document-type > span { border-radius:4px; border-color:var(--border-base); background:#161718; color:var(--text-mut); }
.document-type.active > span { border-color:rgba(217,75,89,.28); background:rgba(217,75,89,.08); color:var(--primary); }
.document-type.active::after { color:var(--primary); }
.document-preview-card { background:#0f1011; }
.document-preview-text { background:#0b0c0d; color:#e5e5e6; }
.document-preview-heading > span { border-radius:999px; }
.patient-name-field { background:#0b0c0d; }
.patient-name-field label span { color:var(--text-mut); }
.patient-name-field:focus-within { border-color:#8a8f98; box-shadow:0 0 0 3px rgba(208,214,224,.07); transform:translateY(-1px); }

.measurement-reference-badge { border-radius:4px; }
.measurement-reference-badge.reference-normal { border-color:rgba(166,39,56,.4); background:rgba(166,39,56,.1); color:#d16977; }
:is(.measurement-reference-badge.reference-high,.measurement-reference-badge.reference-low,.measurement-reference-badge.reference-altered) { border-color:rgba(235,87,87,.44); background:rgba(235,87,87,.1); color:#ff8f8f; }
.measurement-trend-card:hover { border-color:#383b3f; transform:translateY(-2px); }
.trend-polyline { stroke:var(--primary); }
.trend-point { fill:var(--primary); stroke:#08090a; }

.floating-buttons {
  border:1px solid var(--border-base);
  border-radius:10px;
  background:rgba(15,16,17,.9);
  box-shadow:0 18px 42px rgba(0,0,0,.42);
  backdrop-filter:blur(10px) saturate(1.1);
}
.footer-icon-button { border-radius:6px; }
.modal-overlay,.command-palette { background:rgba(8,9,10,.78); backdrop-filter:blur(16px); }
.modal-content,.command-palette-panel { border-color:#383b3f; border-radius:12px; background:#0f1011; box-shadow:0 28px 80px rgba(0,0,0,.56); animation:modalPrecision var(--motion-slow) var(--motion-ease) both; }

.access-gate { background:radial-gradient(ellipse 65% 35% at 50% 0,rgba(208,214,224,.08),transparent 70%),#08090a; }
.access-card { border-color:#23252a; border-radius:12px; background:#0f1011; box-shadow:0 28px 80px rgba(0,0,0,.55); }
.access-brand { border-color:#383b3f; border-radius:10px; background:#161718; color:var(--primary); box-shadow:none; }
.access-heading > span { color:var(--text-mut); }
.access-heading h1 { font-weight:510; letter-spacing:-.022em; }
.access-pin-field input { border-color:#23252a; border-radius:6px; background:#0b0c0d; }
.access-pin-field input:focus { border-color:var(--primary); box-shadow:0 0 0 3px var(--primary-glow); }

/* Light theme · monochromatic clinical blueprint. */
html[data-theme="light"] {
  color-scheme:light;
  --bg-base:#f5f5f5;
  --bg-surface:#fafafa;
  --card-bg:#ffffff;
  --card-elevated:#fafafa;
  --input-bg:#f5f5f5;
  --border-subtle:#ededed;
  --border-base:#e5e5e5;
  --border-active:#cfcfcf;
  --text-main:#0a0a0a;
  --text-sec:#171717;
  --text-mut:#737373;
  --text-placeholder:#9a9a9a;
  --primary:#bd3544;
  --primary-hover:#a92e3d;
  --primary-glow:rgba(189,53,68,.10);
  --primary-glow-strong:rgba(189,53,68,.17);
  --success:#7b1825;
  --danger:#e7000b;
  --warning:#8a0012;
  --radius-sm:10px;
  --radius-md:18px;
  --radius-lg:24px;
  --radius-xl:24px;
  background:#f5f5f5;
}
html[data-theme="light"] body {
  --primary:#bd3544;
  --primary-hover:#a92e3d;
  --primary-glow:rgba(189,53,68,.10);
  --primary-glow-strong:rgba(189,53,68,.17);
}
html[data-theme="light"] body { background:#f2efeb; color:#282223; }
html[data-theme="light"] body::before { opacity:.18; background-image:linear-gradient(rgba(10,10,10,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(10,10,10,.018) 1px,transparent 1px); }
html[data-theme="light"] .app-header { border-bottom-color:#e5e5e5; }
html[data-theme="light"] .app-header h1 { background:none; color:#0a0a0a; font-weight:600; }
html[data-theme="light"] .brand-mark { border-color:#e5e5e5; border-radius:18px; background:#fff; color:#0a0a0a; box-shadow:0 1px 3px rgba(0,0,0,.08); }
html[data-theme="light"] .app-version { border-color:#e5e5e5; border-radius:18px; background:#fafafa; }

html[data-theme="light"] :is(.session-panel,.patient-nav,.main-tabs,.card,.modal-content,.command-palette-panel,.visit-fields,.visit-step-nav,.visit-header,.visit-footer,.document-preview-card,.experience-dashboard,.documents-hero,.document-builder-card,.document-patient-identity,.measurement-trend-card,.calculator-card,.productivity-item,.history-record,.task-item) {
  border:1px solid #e5e5e5;
  border-radius:24px;
  background:#fff;
  color:#0a0a0a;
  box-shadow:0 0 0 1px rgba(23,23,23,.025),0 1px 3px rgba(0,0,0,.075),0 1px 2px -1px rgba(0,0,0,.075);
}
html[data-theme="light"] .session-panel { border-radius:24px; padding:5px; }
html[data-theme="light"] .patient-nav { background:#fafafa; }
html[data-theme="light"] .main-tabs { border-radius:24px; background:#fafafa; }
html[data-theme="light"] :is(.task-form,.document-config-block,.document-discharge-fields,.measurement-list-group,.measurement-import-panel,.measurement-date-toolbar,.patient-name-field,.trend-view-switch,.experience-setting-group,.experience-stat-grid > div) {
  border:1px solid #e5e5e5;
  border-radius:18px;
  background:#fafafa;
  color:#0a0a0a;
  box-shadow:none;
}
html[data-theme="light"] :is(input,select,textarea,.search-scores,.document-preview-text,.command-palette-search input) {
  border:1px solid transparent;
  border-radius:18px;
  background:#f5f5f5;
  color:#0a0a0a;
  box-shadow:none;
}
html[data-theme="light"] :is(input,select,textarea):hover { border-color:#e5e5e5; background:#fff; }
html[data-theme="light"] :is(input,select,textarea):focus { border-color:#cfcfcf; background:#fff; box-shadow:0 0 0 3px rgba(10,10,10,.045); }
html[data-theme="light"] :is(button,input,select,textarea):focus-visible { outline-color:#0a0a0a; }

html[data-theme="light"] .patient-nav-actions :is(.btn-visit-mode,.btn-day-tasks,.btn-new-evolution),
html[data-theme="light"] :is(.chip,.task-filter,.trend-category,.trend-view-button,.measurement-date-chip,.document-type,.document-select-all,.document-section-chip span,.history-filter,.history-action,.footer-icon-button,.experience-density,.document-edit-identity,.document-actions button,.btn-clear-card,.main-tab-btn) {
  border:1px solid transparent;
  border-radius:18px;
  background:#f5f5f5;
  color:#737373;
  box-shadow:none;
}
html[data-theme="light"] .patient-nav-actions :is(.btn-visit-mode,.btn-day-tasks,.btn-new-evolution):hover,
html[data-theme="light"] :is(.chip,.task-filter,.trend-category,.trend-view-button,.measurement-date-chip,.document-type,.document-select-all,.document-section-chip span,.history-filter,.history-action,.footer-icon-button,.experience-density,.document-edit-identity,.document-actions button,.btn-clear-card,.main-tab-btn):hover {
  border-color:#e5e5e5;
  background:#fff;
  color:#0a0a0a;
  transform:translateY(-1px);
}
html[data-theme="light"] :is(.chip.active,.task-filter.active,.trend-category.active,.trend-view-button.active,.measurement-date-chip.active,.document-type.active,.main-tab-btn.active,.device-chip input:checked + span,.document-section-chip input:checked + span) {
  border-color:#171717;
  background:#171717;
  color:#fafafa;
  box-shadow:none;
}
html[data-theme="light"] .main-tab-btn.active::after { background:#fff; }
html[data-theme="light"] .main-tab-btn.active > svg { color:#fff; }

html[data-theme="light"] .bed-btn {
  border:1px solid #e5e5e5;
  border-radius:18px;
  background:#fff;
  color:#737373;
  box-shadow:none;
}
html[data-theme="light"] .bed-btn:hover { border-color:#cfcfcf; background:#fafafa; }
html[data-theme="light"] .bed-btn.active { border-color:#0a0a0a; background:#0a0a0a; color:#fff; box-shadow:none; }
html[data-theme="light"] .bed-btn.active::before { background:#fff; }
html[data-theme="light"] .bed-btn.active :is(.bed-icon,.bed-copy small,.bed-copy b,.bed-copy b.bed-patient-name) { color:#fff; }
html[data-theme="light"] .bed-btn.active .bed-task-badge { border-color:#3a3a3a; background:#262626; color:#fff; }

html[data-theme="light"] :is(.btn-magic,.btn-copy,.measurement-save-button,.document-generate,.document-action-copy,.visit-next,.visit-completion-actions .primary,.task-submit,.btn-task-add,.access-submit) {
  border:1px solid #0a0a0a;
  border-radius:18px;
  background:#0a0a0a;
  color:#fafafa;
  box-shadow:none;
}
html[data-theme="light"] :is(.btn-magic,.btn-copy,.measurement-save-button,.document-generate,.document-action-copy,.visit-next,.visit-completion-actions .primary,.task-submit,.btn-task-add,.access-submit):hover {
  border-color:#171717;
  background:#171717;
  color:#fff;
  box-shadow:0 5px 14px rgba(0,0,0,.11);
}
html[data-theme="light"] .document-actions .document-action-copy small { color:rgba(255,255,255,.7); }
html[data-theme="light"] .document-generate > span:first-child { background:rgba(255,255,255,.12); }
html[data-theme="light"] .documents-hero { background:#fff; }
html[data-theme="light"] .document-step-heading > span { border-color:#e5e5e5; border-radius:18px; background:#f5f5f5; color:#171717; }
html[data-theme="light"] .document-type > span { border-color:#e5e5e5; border-radius:18px; background:#fafafa; color:#737373; }
html[data-theme="light"] .document-type.active > span { border-color:#3a3a3a; background:#292929; color:#fff; }
html[data-theme="light"] .document-type.active::after { color:#fff; }
html[data-theme="light"] .document-preview-text { border-color:#e5e5e5; background:#fafafa; color:#171717; }
html[data-theme="light"] .patient-name-field:focus-within { border-color:#cfcfcf; background:#fff; box-shadow:0 0 0 3px rgba(10,10,10,.045); }

html[data-theme="light"] .measurement-reference-badge.reference-normal { border-color:rgba(123,24,37,.26); background:rgba(123,24,37,.07); color:#6a141f; }
html[data-theme="light"] :is(.measurement-reference-badge.reference-high,.measurement-reference-badge.reference-low,.measurement-reference-badge.reference-altered) { border-color:rgba(231,0,11,.25); background:rgba(231,0,11,.06); color:#b00009; }
html[data-theme="light"] :is(.measurement-list-value.reference-high,.measurement-list-value.reference-low,.measurement-list-value.reference-altered,.trend-table-row.reference-high,.trend-table-row.reference-low,.trend-table-row.reference-altered) { border-color:rgba(231,0,11,.22); background:#fff6f6; }
html[data-theme="light"] .trend-polyline { stroke:#0a0a0a; }
html[data-theme="light"] .trend-point { fill:#0a0a0a; stroke:#fff; }
html[data-theme="light"] .trend-point.is-abnormal { fill:#e7000b; }
html[data-theme="light"] .floating-buttons { border:1px solid #e5e5e5; border-radius:24px; background:rgba(255,255,255,.9); box-shadow:0 12px 35px rgba(0,0,0,.1); }
html[data-theme="light"] .modal-overlay,html[data-theme="light"] .command-palette { background:rgba(245,245,245,.82); }

html[data-theme="light"] .access-gate { background:#f5f5f5; }
html[data-theme="light"] .access-card { border-color:#e5e5e5; border-radius:24px; background:#fff; box-shadow:0 18px 50px rgba(0,0,0,.11); }
html[data-theme="light"] .access-brand { border-color:#e5e5e5; border-radius:18px; background:#fafafa; color:#0a0a0a; box-shadow:none; }
html[data-theme="light"] .access-heading > span { color:#737373; }
html[data-theme="light"] .access-heading h1 { color:#0a0a0a; }
html[data-theme="light"] .access-heading p,html[data-theme="light"] .access-session-note { color:#737373; }
html[data-theme="light"] .access-pin-field { color:#171717; }
html[data-theme="light"] .access-pin-field input { border-color:transparent; border-radius:18px; background:#f5f5f5; color:#0a0a0a; }
html[data-theme="light"] .access-pin-field input:focus { border-color:#cfcfcf; box-shadow:0 0 0 3px rgba(10,10,10,.045); }

@media (max-width:720px) {
  body { padding-inline:10px; }
  .app-header { padding:17px 4px 15px; gap:12px; }
  .brand-mark { width:38px; height:38px; }
  .app-header h1 { font-size:21px; }
  .patient-nav { margin-top:12px; padding:12px 11px 7px; }
  .patient-nav-heading { padding-bottom:10px; }
  .main-tabs { position:sticky; top:max(6px,env(safe-area-inset-top)); z-index:90; padding:4px; backdrop-filter:blur(10px); }
  .main-tab-btn { min-height:44px; }
  .card { border-radius:10px; }
  .tab-content.active { gap:10px; }
  .documents-hero,.document-builder-card,.document-preview-card,.document-patient-identity { border-radius:10px; }
  html[data-theme="light"] :is(.card,.documents-hero,.document-builder-card,.document-preview-card,.document-patient-identity,.measurement-trend-card,.calculator-card,.productivity-item,.history-record,.task-item) { border-radius:20px; }
  html[data-theme="light"] .main-tabs { border-radius:20px; background:rgba(250,250,250,.92); }
  html[data-theme="light"] .patient-nav { border-radius:20px; }
  .document-preview-text { min-height:430px; }
}

@media (min-width:721px) {
  .patient-nav,.main-tabs,.card { will-change:transform; }
  .card:hover { transform:translateY(-1px); }
}

@media (prefers-reduced-motion:reduce) {
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*) { animation-duration:.01ms !important; }
  .tab-content.active,.card,.modal-content,.command-palette-panel { animation:none !important; }
  :is(button,input,select,textarea,.card,.patient-nav,.main-tabs,.session-panel,.modal-content,.command-palette-panel,.floating-buttons) { transition-duration:.01ms !important; }
}

@keyframes workflowEnter { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:none; } }
@keyframes surfaceEnter { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }
@keyframes modalPrecision { from { opacity:0; transform:translateY(10px) scale(.985); } to { opacity:1; transform:none; } }
@keyframes themeFadeOut { to { opacity:0; filter:blur(2px); } }
@keyframes themeFadeIn { from { opacity:0; filter:blur(2px); } }

/* Version 37 · Liquid glass ward system
   The palette is deliberately richer on paper-light surfaces and restrained
   to graphite + one luminous accent in dark mode. */
:root {
  --glass-blur:22px;
  --glass-saturation:1.28;
  --glass-border:rgba(255,255,255,.11);
  --glass-edge:rgba(255,255,255,.16);
  --glass-surface:rgba(15,16,17,.72);
  --glass-surface-strong:rgba(15,16,17,.88);
  --glass-input:rgba(255,255,255,.035);
  --glass-shadow:0 18px 48px rgba(0,0,0,.32),inset 0 1px 0 var(--glass-edge),inset 0 0 0 1px rgba(255,255,255,.025);
  --paper-texture:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E");
}

html[data-theme="dark"] {
  --bg-base:#08090a;
  --bg-surface:#0c0d0f;
  --card-bg:rgba(15,16,17,.72);
  --card-elevated:rgba(22,23,24,.78);
  --input-bg:rgba(255,255,255,.035);
  --border-subtle:rgba(255,255,255,.065);
  --border-base:rgba(255,255,255,.105);
  --border-active:rgba(255,255,255,.19);
  --text-main:#f7f8f9;
  --text-sec:#c8ccd1;
  --text-mut:#858b93;
  --primary:#ee747f;
  --primary-hover:#f18b94;
  --primary-glow:rgba(217,75,89,.095);
  --primary-glow-strong:rgba(217,75,89,.18);
  --glass-surface:rgba(15,16,17,.72);
  --glass-surface-strong:rgba(12,13,15,.9);
  --glass-input:rgba(255,255,255,.032);
}
html[data-theme="dark"] body {
  --primary:#ee747f;
  --primary-hover:#f18b94;
  --primary-glow:rgba(217,75,89,.095);
  --primary-glow-strong:rgba(217,75,89,.18);
}
html[data-theme="dark"] body {
  background:
    radial-gradient(ellipse 58% 34% at 50% -12%,rgba(217,75,89,.055),transparent 72%),
    radial-gradient(circle at 88% 45%,rgba(255,255,255,.025),transparent 30%),
    #08090a;
}

html[data-theme="light"] {
  --bg-base:#f2efeb;
  --bg-surface:#f7f4f0;
  --card-bg:rgba(255,253,250,.92);
  --card-elevated:rgba(255,253,250,.97);
  --input-bg:rgba(255,255,255,.66);
  --border-subtle:rgba(55,45,43,.07);
  --border-base:rgba(55,45,43,.13);
  --border-active:rgba(189,53,68,.42);
  --text-main:#282223;
  --text-sec:#51494a;
  --text-mut:#726869;
  --text-placeholder:#7f7475;
  --primary:#bd3544;
  --primary-hover:#a92e3d;
  --primary-glow:rgba(189,53,68,.1);
  --primary-glow-strong:rgba(189,53,68,.18);
  --glass-border:rgba(255,255,255,.68);
  --glass-edge:rgba(255,255,255,.92);
  --glass-surface:rgba(255,255,255,.58);
  --glass-surface-strong:rgba(255,255,255,.8);
  --glass-input:rgba(255,255,255,.5);
  --glass-shadow:0 18px 46px rgba(71,88,116,.14),inset 0 1px 0 rgba(255,255,255,.95),inset 0 0 0 1px rgba(255,255,255,.42);
  background:#f2efeb;
}
html[data-theme="light"] body {
  --primary:#bd3544;
  --primary-hover:#a92e3d;
  --primary-glow:rgba(189,53,68,.1);
  --primary-glow-strong:rgba(189,53,68,.18);
}
html[data-theme="light"] body {
  background:
    radial-gradient(circle at 88% -8%,rgba(189,53,68,.08),transparent 34%),
    #f2efeb;
  color:var(--text-main);
}

:is(.session-panel,.patient-nav,.main-tabs,.card,.documents-hero,.document-builder-card,.document-preview-card,.document-patient-identity,.measurement-trend-card,.calculator-card,.productivity-item,.history-record,.modal-content,.command-palette-panel,.floating-buttons,.visit-header,.visit-fields,.visit-step-nav,.visit-footer,.archived-bed-card) {
  border:1px solid var(--glass-border);
  background:
    linear-gradient(145deg,rgba(255,255,255,.055),transparent 42%),
    var(--glass-tint,transparent),
    var(--glass-surface);
  box-shadow:var(--glass-shadow);
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));
  backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));
  contain:paint;
}
:is(.patient-nav,.main-tabs,.card,.documents-hero,.document-builder-card,.document-preview-card,.document-patient-identity,.measurement-trend-card,.calculator-card,.productivity-item,.history-record,.modal-content,.command-palette-panel,.archived-bed-card) {
  position:relative;
  isolation:isolate;
}
:is(.patient-nav,.card,.documents-hero,.document-preview-card,.history-workspace,.archive-workspace,.archived-bed-card,.add-bed-card).paper-texture-important,
:is(.patient-nav,.history-workspace,.document-preview-card,.trends-hero) {
  background-image:
    linear-gradient(145deg,rgba(255,255,255,.075),transparent 43%),
    var(--paper-texture),
    linear-gradient(var(--glass-tint,transparent),var(--glass-tint,transparent));
  background-color:var(--glass-surface);
  background-blend-mode:normal,soft-light,normal;
}
html[data-theme="dark"] :is(.patient-nav,.history-workspace,.document-preview-card,.trends-hero,.paper-texture-important) { background-blend-mode:normal,overlay,normal; }

:is(input,select,textarea,.search-scores,.document-preview-text,.command-palette-search input) {
  border:1px solid var(--glass-border);
  background:var(--glass-input);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  -webkit-backdrop-filter:blur(14px) saturate(1.06);
  backdrop-filter:blur(14px) saturate(1.06);
}
:is(input,select,textarea):focus {
  border-color:color-mix(in srgb,var(--primary) 54%,var(--glass-border));
  background:var(--glass-surface-strong);
  box-shadow:0 0 0 3px var(--primary-glow),inset 0 1px 0 rgba(255,255,255,.16);
}

html[data-theme="dark"] :is(.card,.documents-hero,.document-builder-card,.document-preview-card,.document-patient-identity,.measurement-trend-card,.calculator-card,.productivity-item,.history-record,.archived-bed-card) {
  --glass-tint:rgba(255,255,255,.012);
}
html[data-theme="dark"] :is(.productivity-kicker,.history-eyebrow,.documents-kicker,.trends-kicker,.score-context-kicker,.experience-kicker) { color:var(--text-mut); }
html[data-theme="dark"] :is(.score-category-tab.active,.specialty-chip.active,.experience-density.active,.task-filter.active,.trend-category.active,.trend-view-button.active,.measurement-date-chip.active) {
  border-color:rgba(217,75,89,.28);
  background:rgba(217,75,89,.085);
  color:#f18b94;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
html[data-theme="dark"] :is(.score-category-tab,.specialty-chip,.history-filter-clear,.quick-fill-actions button,.productivity-secondary,.productivity-item-actions button,.experience-density,.experience-reset) {
  border-color:var(--border-base);
  background:rgba(255,255,255,.035);
  color:var(--text-sec);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
html[data-theme="dark"] :is(.score-category-tab,.specialty-chip,.history-filter-clear,.quick-fill-actions button,.productivity-secondary,.productivity-item-actions button,.experience-density,.experience-reset):hover {
  border-color:var(--border-active);
  background:rgba(255,255,255,.065);
  color:#fff;
}

html[data-theme="light"] #card_vitals { --glass-tint:rgba(255,83,106,.12); }
html[data-theme="light"] #card_so { --glass-tint:rgba(184,101,112,.115); }
html[data-theme="light"] #card_fisico { --glass-tint:rgba(203,128,138,.105); }
html[data-theme="light"] #card_ap { --glass-tint:rgba(242,86,107,.12); }
html[data-theme="light"] #card_tasks { --glass-tint:rgba(232,125,146,.09); }
html[data-theme="light"] :is(.history-workspace,.archive-workspace) { --glass-tint:rgba(255,93,115,.085); }
html[data-theme="light"] :is(.trends-hero,.measurement-trend-card) { --glass-tint:rgba(183,88,101,.085); }
html[data-theme="light"] :is(.score-context-panel,.calculator-card) { --glass-tint:rgba(203,128,138,.085); }
html[data-theme="light"] :is(.documents-hero,.document-builder-card,.document-preview-card) { --glass-tint:rgba(199,76,92,.08); }
html[data-theme="light"] :is(.experience-dashboard,.experience-settings,.productivity-hero,.productivity-models,.quick-fill-card,.favorites-card,.custom-templates-card) { --glass-tint:rgba(242,86,107,.075); }
html[data-theme="light"] :is(.card,.documents-hero,.document-builder-card,.document-preview-card,.document-patient-identity,.measurement-trend-card,.calculator-card,.productivity-item,.history-record,.archived-bed-card,.patient-nav,.main-tabs,.session-panel) {
  border-color:rgba(255,255,255,.78);
  background:
    linear-gradient(145deg,rgba(255,255,255,.34),transparent 46%),
    linear-gradient(var(--glass-tint,transparent),var(--glass-tint,transparent)),
    rgba(255,255,255,.58);
  box-shadow:var(--glass-shadow);
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));
  backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));
  color:var(--text-main);
}
html[data-theme="light"] :is(.card,.documents-hero,.document-builder-card,.document-preview-card,.document-patient-identity,.measurement-trend-card,.calculator-card,.productivity-item,.history-record,.archived-bed-card) {
  border-radius:22px;
}
html[data-theme="light"] :is(input,select,textarea,.search-scores,.document-preview-text,.command-palette-search input) {
  border-color:rgba(255,255,255,.8);
  background:rgba(255,255,255,.56);
  color:#331519;
}

html[data-theme="light"] :is(.history-filter-clear,.score-category-tab,.specialty-chip,.quick-fill-actions button,.productivity-secondary,.productivity-item-actions button,.experience-density,.experience-reset,.task-filter,.btn-clear-card,.history-action,.document-actions button) {
  border:1px solid rgba(67,91,124,.14);
  background:rgba(255,255,255,.62);
  color:#40506a;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 5px 14px rgba(66,83,111,.07);
  -webkit-backdrop-filter:blur(12px) saturate(1.08);
  backdrop-filter:blur(12px) saturate(1.08);
}
html[data-theme="light"] :is(.history-filter-clear,.score-category-tab,.specialty-chip,.quick-fill-actions button,.productivity-secondary,.productivity-item-actions button,.experience-density,.experience-reset,.task-filter,.btn-clear-card,.history-action,.document-actions button):hover {
  border-color:rgba(189,53,68,.28);
  background:rgba(255,255,255,.9);
  color:#8f1828;
  transform:translateY(-1px);
}
html[data-theme="light"] :is(.score-category-tab.active,.specialty-chip.active,.experience-density.active,.task-filter.active,.trend-category.active,.trend-view-button.active,.measurement-date-chip.active) {
  border-color:rgba(189,53,68,.26);
  background:rgba(224,71,91,.14);
  color:#9c1527;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 6px 15px rgba(189,53,68,.09);
}

/* Superfícies clínicas no tema claro: não herdam a base noturna. */
html[data-theme="light"] .measurement-overview>div{background:rgba(255,255,255,.72);border-color:rgba(67,91,124,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 6px 16px rgba(66,83,111,.06)}
html[data-theme="light"] .measurement-overview span{color:#647184}
html[data-theme="light"] .measurement-overview strong{color:#17202b}
html[data-theme="light"] .score-category-heading span{color:#17202b}
html[data-theme="light"] .score-category-heading p{color:#647184}
html[data-theme="light"] .score-card{background:rgba(255,255,255,.76);border-color:rgba(67,91,124,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.94),0 8px 22px rgba(66,83,111,.07)}
html[data-theme="light"] .score-header h3,html[data-theme="light"] .calculator-header b{color:#17202b}
html[data-theme="light"] .score-header p,html[data-theme="light"] .calculator-header small{color:#647184}
html[data-theme="light"] .score-badge{background:#eef1f5;border-color:rgba(67,91,124,.16);color:#40506a}
html[data-theme="light"] .task-item{background:rgba(255,255,255,.78)!important;border-color:rgba(67,91,124,.14)!important;color:#17202b!important}
html[data-theme="light"] .task-item p{color:#17202b}
html[data-theme="light"] .task-check{background:#fff!important;border-color:rgba(189,53,68,.34)!important;color:#9c1527!important}
html[data-theme="light"] .task-item-actions button{background:#f2f4f7!important;border-color:rgba(67,91,124,.16)!important;color:#40506a!important;box-shadow:none!important}
html[data-theme="light"] .task-item-actions .task-delete{background:#fff3f4!important;border-color:rgba(189,53,68,.24)!important;color:#9c1527!important}
html[data-theme="light"] :is(.btn-magic,.btn-copy,.measurement-save-button,.document-generate,.document-action-copy,.visit-next,.visit-completion-actions .primary,.task-submit,.btn-task-add,.access-submit,.productivity-primary,.add-bed-submit) {
  border-color:rgba(179,31,51,.28);
  background:linear-gradient(145deg,rgba(216,62,83,.98),rgba(192,35,56,.98));
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38),0 10px 24px rgba(189,53,68,.18);
}

.bed-selector { align-items:stretch; gap:10px; }
.bed-btn {
  position:relative;
  min-width:210px;
  border:1px solid var(--glass-border);
  background:linear-gradient(145deg,rgba(255,255,255,.055),transparent 48%),var(--glass-surface);
  box-shadow:inset 0 1px 0 var(--glass-edge),0 10px 26px rgba(0,0,0,.12);
  -webkit-backdrop-filter:blur(10px) saturate(1.08);
  backdrop-filter:blur(10px) saturate(1.08);
}
.bed-copy { min-width:0; }
.bed-copy small { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.bed-copy small i { color:var(--text-mut); font-size:9px; font-style:normal; font-weight:650; }
.bed-copy em { display:block; margin-top:3px; overflow:hidden; color:var(--text-mut); font-size:8px; font-style:normal; font-weight:520; text-overflow:ellipsis; white-space:nowrap; }
.bed-add-button {
  min-width:170px;
  display:grid;
  grid-template-columns:34px 1fr;
  grid-template-rows:auto auto;
  align-content:center;
  gap:1px 9px;
  padding:11px 13px;
  border:1px dashed color-mix(in srgb,var(--primary) 40%,var(--glass-border));
  border-radius:10px;
  background:var(--primary-glow);
  color:var(--text-sec);
  text-align:left;
}
.bed-add-button > span { grid-row:1 / 3; display:grid; place-items:center; width:34px; height:34px; border:1px solid color-mix(in srgb,var(--primary) 30%,transparent); border-radius:9px; background:var(--glass-surface); color:var(--primary); font-size:20px; }
.bed-add-button b { font-size:10px; }
.bed-add-button small { color:var(--text-mut); font-size:8px; }
.bed-add-button:hover { border-style:solid; background:color-mix(in srgb,var(--primary-glow) 78%,var(--glass-surface)); transform:translateY(-1px); }
html[data-theme="light"] .bed-btn { background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(236,243,255,.64)); border-color:rgba(255,255,255,.92); }
html[data-theme="light"] .bed-btn.active { border-color:rgba(189,53,68,.28); background:linear-gradient(145deg,rgba(232,82,102,.94),rgba(193,38,59,.96)); color:#fff; }
html[data-theme="dark"] .bed-btn.active { border-color:rgba(217,75,89,.25); background:linear-gradient(145deg,rgba(217,75,89,.12),rgba(255,255,255,.045)); color:#fff; }

.btn-remove-bed { color:var(--text-mut); }
.btn-remove-bed:hover { border-color:color-mix(in srgb,var(--danger) 36%,var(--border-base)); color:var(--danger); }
.no-bed-state { display:flex; align-items:center; justify-content:center; gap:13px; min-height:92px; margin-top:10px; padding:16px; border:1px dashed var(--border-active); border-radius:14px; background:var(--glass-surface); color:var(--text-sec); }
.no-bed-state[hidden] { display:none; }
.no-bed-state > span { display:grid; place-items:center; width:38px; height:38px; border-radius:11px; background:var(--primary-glow); color:var(--primary); font-size:23px; }
.no-bed-state strong { display:block; font-size:12px; }
.no-bed-state p { margin:3px 0 0; color:var(--text-mut); font-size:9px; }
.no-bed-state button { margin-left:auto; padding:10px 14px; border:1px solid color-mix(in srgb,var(--primary) 42%,transparent); border-radius:10px; background:var(--primary-glow); color:var(--primary); font-weight:720; }
.no-active-bed .tab-content:not(#tab_archive) { opacity:.38; pointer-events:none; user-select:none; }
.no-active-bed .patient-nav-actions { opacity:.5; }

.bed-management-modal { background:rgba(6,5,6,.68); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.add-bed-card { width:min(92vw,720px); max-height:min(90dvh,780px); overflow:auto; padding:24px; }
.add-bed-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding-bottom:18px; border-bottom:1px solid var(--border-subtle); }
.add-bed-header h2 { margin:0; font-size:22px; letter-spacing:-.025em; }
.add-bed-header p { max-width:54ch; margin:6px 0 0; color:var(--text-mut); font-size:13px; line-height:1.5; }
.add-bed-header .btn-close-modal { position:static; flex:0 0 auto; }
.add-bed-required-note { margin:14px 0 0; color:var(--text-mut); font-size:12px; }
.add-bed-required-note span { color:var(--primary); }
.add-bed-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:16px; margin-top:14px; }
.add-bed-field { min-width:0; }
.add-bed-field label,.add-bed-sex legend { display:block; margin:0 0 7px; color:var(--text-sec); font-size:12px; font-weight:700; }
.add-bed-number { grid-column:span 3; }
.add-bed-name { grid-column:span 9; }
.add-bed-hospital { grid-column:span 6; }
.add-bed-sex { grid-column:span 4; }
.add-bed-age { grid-column:span 2; }
.add-bed-sex { min-width:0; margin:0; padding:0; border:0; }
.add-bed-diagnosis { grid-column:1 / -1; }
.add-bed-field :is(input,textarea) { width:100%; }
.add-bed-field textarea { min-height:88px; resize:vertical; }
.sex-symbol-options { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.sex-symbol-options label { position:relative; margin:0; cursor:pointer; }
.sex-symbol-options input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.sex-symbol-options span { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:0 10px; border:1px solid var(--border-base); border-radius:8px; background:var(--input-bg); color:var(--text-mut); transition:color .16s ease,background-color .16s ease,border-color .16s ease; }
.sex-symbol-options svg { width:18px; height:18px; flex:0 0 auto; }
.sex-symbol-options b { font-size:12px; font-weight:700; }
.sex-symbol-options input:checked + span { border-color:var(--border-active); background:var(--primary-glow); color:var(--primary); box-shadow:inset 0 0 0 1px var(--primary-glow); }
.sex-symbol-options input:focus-visible + span { outline:2px solid var(--primary); outline-offset:3px; }
.add-bed-feedback { min-height:20px; padding-top:8px; color:var(--danger); font-size:12px; }
.add-bed-actions { display:flex; justify-content:flex-end; gap:10px; padding-top:12px; border-top:1px solid var(--border-subtle); }
.add-bed-actions button { min-height:44px; padding:0 16px; }
.add-bed-cancel { border:1px solid var(--border-base); background:transparent; color:var(--text-sec); }
.add-bed-submit { display:flex; align-items:center; justify-content:center; gap:8px; min-width:160px; }
.add-bed-submit svg { width:17px; height:17px; }
.sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }

.archive-workspace { min-height:420px; }
.archive-workspace-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:18px; }
.archive-workspace-head p { max-width:680px; margin:7px 0 0; color:var(--text-mut); font-size:10px; line-height:1.55; }
.archive-count { flex:0 0 auto; padding:7px 10px; border:1px solid var(--glass-border); border-radius:999px; background:var(--glass-input); color:var(--text-mut); font-size:9px; font-weight:700; }
.archive-empty { padding:38px 16px; border:1px dashed var(--border-active); border-radius:14px; color:var(--text-mut); font-size:10px; text-align:center; }
.archive-empty[hidden] { display:none; }
.archive-list { display:grid; gap:13px; }
.archived-bed-card { padding:16px; border-radius:15px; }
.archived-bed-head span { color:var(--primary); font-size:8px; font-weight:760; letter-spacing:.08em; text-transform:uppercase; }
.archived-bed-head h3 { margin:5px 0 0; font-size:15px; }
.archived-bed-head p { margin:5px 0 0; color:var(--text-mut); font-size:9px; line-height:1.5; }
.archive-detail { margin-top:11px; border:1px solid var(--glass-border); border-radius:12px; background:var(--glass-input); overflow:hidden; }
.archive-detail summary { padding:11px 13px; color:var(--text-sec); font-size:10px; font-weight:720; cursor:pointer; }
.archive-detail[open] summary { border-bottom:1px solid var(--glass-border); }
.archive-detail pre { max-height:360px; margin:0; padding:14px; overflow:auto; color:var(--text-sec); font:10px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace; white-space:pre-wrap; }
.archive-copy { margin:0 14px 14px; padding:8px 10px; border:1px solid var(--glass-border); border-radius:9px; background:var(--glass-surface); color:var(--text-sec); font-size:9px; font-weight:690; }
.archive-exam-day { padding:12px 14px; }
.archive-exam-day + .archive-exam-day { border-top:1px solid var(--glass-border); }
.archive-exam-day > strong { display:block; margin-bottom:8px; color:var(--text-sec); font-size:9px; }
.archive-exam-list { display:flex; flex-wrap:wrap; gap:6px; }
.archive-exam-value { padding:6px 8px; border:1px solid var(--glass-border); border-radius:8px; background:var(--glass-surface); color:var(--text-sec); font-size:8px; }
.archive-exam-value.reference-normal { border-color:color-mix(in srgb,var(--success) 25%,var(--glass-border)); }
.archive-exam-value:is(.reference-high,.reference-low,.reference-altered) { border-color:color-mix(in srgb,var(--danger) 34%,var(--glass-border)); color:var(--danger); }
.archive-no-exams { margin:0; padding:14px; color:var(--text-mut); font-size:9px; }

html[data-theme="light"] :is(.patient-nav,.history-workspace,.document-preview-card,.trends-hero,.paper-texture-important) {
  background-image:
    linear-gradient(145deg,rgba(255,255,255,.38),transparent 46%),
    var(--paper-texture),
    linear-gradient(var(--glass-tint,transparent),var(--glass-tint,transparent));
  background-color:rgba(255,255,255,.58);
  background-blend-mode:normal,soft-light,normal;
}
html[data-theme="dark"] :is(.patient-nav,.history-workspace,.document-preview-card,.trends-hero,.paper-texture-important) {
  background-image:
    linear-gradient(145deg,rgba(255,255,255,.055),transparent 44%),
    var(--paper-texture),
    linear-gradient(var(--glass-tint,transparent),var(--glass-tint,transparent));
  background-color:rgba(15,16,17,.74);
  background-blend-mode:normal,overlay,normal;
}

@media (max-width:720px) {
  .bed-selector { gap:8px; }
  .bed-btn { min-width:min(78vw,260px); }
  .bed-add-button { min-width:150px; }
  .no-bed-state { align-items:flex-start; flex-wrap:wrap; justify-content:flex-start; }
  .no-bed-state button { width:100%; margin:4px 0 0; }
  .add-bed-card { width:calc(100vw - 20px); max-height:calc(var(--app-viewport-height,100dvh) - 20px); padding:18px; border-radius:14px; }
  .add-bed-header { padding-bottom:14px; }
  .add-bed-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
  .add-bed-name,.add-bed-hospital,.add-bed-sex,.add-bed-age,.add-bed-diagnosis { grid-column:1 / -1; }
  .add-bed-actions { display:grid; grid-template-columns:1fr; }
  .add-bed-submit { grid-row:1; width:100%; }
  .add-bed-cancel { grid-row:2; width:100%; }
  .archive-workspace-head { display:block; }
  .archive-count { display:inline-flex; margin-top:11px; }
  .archived-bed-card { padding:13px; }
  .archive-detail pre { max-height:300px; }
}

@media (prefers-reduced-transparency:reduce) {
  :is(.session-panel,.patient-nav,.main-tabs,.card,.modal-content,.command-palette-panel,.floating-buttons,.archived-bed-card) { -webkit-backdrop-filter:none; backdrop-filter:none; background-color:var(--bg-surface); }
}

/* Version 39 · accessibility, navigation and responsive hardening */
html[data-theme="dark"] {
  --text-mut:#a1a1aa;
  --text-placeholder:#8b8b95;
}
html[data-theme="light"] {
  --text-mut:#475569;
  --text-placeholder:#667085;
}
html {
  scroll-padding-top:84px;
  scroll-padding-bottom:112px;
}
:where(button,input,select,textarea,a[href],summary,[tabindex]):focus-visible {
  outline:2px solid var(--primary);
  outline-offset:3px;
  scroll-margin-block:96px 112px;
}
:where(button,[role="button"],input,select,textarea) { touch-action:manipulation; }
.history-eyebrow { color:#fdb5bf; font-size:11px; }
html[data-theme="light"] .history-eyebrow { color:#b73b4c; }

.btn-remove-bed {
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:8px 11px;
  border:1px solid rgba(239,68,68,.18);
  border-radius:6px;
  background:transparent;
  color:var(--text-mut);
  font-size:10px;
  font-weight:680;
  white-space:nowrap;
}
.btn-remove-bed > svg { display:block; width:14px; height:14px; }
.btn-remove-bed:hover { background:rgba(239,68,68,.08); }
.btn-remove-bed:disabled { cursor:not-allowed; opacity:.46; }

.no-active-bed .floating-buttons,
body[data-active-tab="tab_archive"] .floating-buttons,
body[data-active-tab="tab_documents"] .floating-buttons { display:none; }

.modal-overlay[aria-hidden="true"],
[role="dialog"][aria-hidden="true"] { pointer-events:none; }

@media (min-width:901px) {
  .main-tabs {
    display:grid;
    grid-template-columns:repeat(8,minmax(0,1fr));
    width:100%;
    min-width:0;
  }
  .main-tab-btn {
    width:100%;
    min-width:0;
    padding-inline:8px;
  }
}

@media (max-width:720px) {
  html {
    scroll-padding-top:122px;
    scroll-padding-bottom:128px;
  }
  body { padding-bottom:calc(132px + env(safe-area-inset-bottom)); font-size:16px; }
  .main-tabs {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    width:100%;
    min-width:0;
    max-width:100%;
    overflow:visible;
    gap:4px;
    scroll-snap-type:none;
  }
  .main-tab-btn {
    width:100%;
    min-width:0;
    min-height:48px;
    padding:6px 3px;
    gap:4px;
    font-size:11px;
    line-height:1.2;
    white-space:normal;
  }
  .main-tab-btn.active::after { position:absolute; right:6px; top:6px; }
  .patient-nav-actions :is(.btn-visit-mode,.btn-day-tasks,.btn-new-evolution,.btn-remove-bed) {
    width:44px;
    min-width:44px;
    min-height:44px;
    padding:10px;
  }
  .patient-nav-actions .btn-remove-bed > span { display:none; }
  .session-input-wrap { min-height:44px; }
  .session-input-wrap input { min-height:44px; padding-block:0; }
  .btn-close-modal { width:44px; height:44px; }
  .footer-icon-button { width:44px; height:44px; min-height:44px; }
  .sex-symbol-options span { min-height:44px; }
  .no-bed-state button { min-height:44px; }
  label,
  .add-bed-field label,
  .add-bed-sex legend { font-size:12px; line-height:1.35; }
  :where(.brand-eyebrow,.modal-eyebrow,.documents-kicker,.trends-kicker,.score-context-kicker,.experience-kicker,.productivity-kicker) {
    font-size:11px;
    line-height:1.4;
  }
  :where(.card p,.modal-content p,.no-bed-state p,.archive-workspace-head p,.archived-bed-head p,.session-sync-hint,.task-card-subtitle) {
    font-size:13px;
    line-height:1.5;
  }
  :where(.archive-count,.archive-empty,.history-sync-status,.measurement-sync-status,.document-review-state) {
    font-size:12px;
    line-height:1.4;
  }
}

@media (max-height:500px) and (orientation:landscape) {
  html { scroll-padding-bottom:24px; }
  body { padding-bottom:18px; }
  .floating-buttons {
    position:sticky;
    left:auto;
    right:auto;
    bottom:8px;
    transform:none;
    width:min(540px,calc(100% - 16px));
    margin:18px auto 0;
  }
}
