:root {
  --canvas: #f2f2f7;
  --canvas-deep: #e5e5ea;
  --surface: #ffffff;
  --surface-soft: #f2f4f6;
  --ink: #112033;
  --ink-strong: #0b1728;
  --text-soft: #526477;
  --text-faint: #526477;
  --brand: #009C87;
  --brand-strong: #009C87;
  --brand-soft: rgba(0, 156, 135, 0.1);
  --mission-surface: #173F3B;
  --success: #009C87;
  --warning: #e1a320;
  --danger: #d92d20;
  --line: rgba(17, 32, 51, 0.14);
  --line-strong: rgba(17, 32, 51, 0.2);
  --radius-xl: 26px;
  --radius-lg: 24px;
  --radius-md: 16px;
  --radius-sm: 14px;
  --control-height: 52px;
  --control-inline: 16px;
  --control-surface: #f2f4f6;
  --material-surface: rgba(250, 252, 253, 0.96);
  --motion-feedback: 160ms;
  --motion-panel: 260ms;
  --motion-curve: cubic-bezier(0.32, 0.72, 0, 1);
  --nav-surface: #f7f9fa;
  --nav-height: 114px;
  --navigation-clearance: calc(98px + env(safe-area-inset-bottom, 0px));
  font-family: "SF Pro Display", "PingFang SC", "HarmonyOS Sans SC", "Source Han Sans SC", sans-serif;
  color: var(--ink);
  background: var(--canvas);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

.demo-indicator { display: inline-flex; align-items: center; padding: 2px 6px; border-radius: 5px; background: var(--brand-soft); color: var(--ink); font-size: 11px; font-weight: 700; line-height: 1.4; white-space: nowrap; }
.demo-indicator[hidden] { display: none; }
.meeting-room-main.demo-meeting-stage { background: var(--surface-soft); color: var(--ink); }
.meeting-room-main.demo-meeting-stage small { color: var(--text-soft); }
.meeting-room-main.demo-meeting-stage .avatar { background: var(--brand-soft); color: var(--ink); }
.demo-meeting-stage[data-camera="true"] { border: 1px solid var(--brand); }

/* 业务扩展沿用现有表面、字号、主题和触控尺度。 */
.business-choice-group {
  display: grid;
  gap: 10px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.business-choice-group legend {
  margin-bottom: 10px;
  color: var(--ink);
  font-size: 14px;
  font-weight: 700;
}
.report-form .business-choice-group label {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
  cursor: pointer;
  font-size: 14px;
}
.report-form .business-choice-group input {
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  min-height: 24px;
  margin: 0;
  accent-color: var(--brand);
}
.business-choice-group label:has(:checked) {
  border-color: var(--brand);
  background: var(--brand-soft);
}
.business-choice-group span { min-width: 0; overflow-wrap: anywhere; }
.business-form-error {
  padding: 14px 16px;
  border-left: 3px solid var(--danger);
  border-radius: 8px;
  background: rgba(217, 45, 32, 0.07);
  color: var(--danger);
  font-size: 14px;
  line-height: 1.6;
}
.business-form-error[hidden] { display: none; }
.business-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 32px 20px;
  border-radius: var(--radius-lg);
  background: var(--surface);
  color: var(--text-soft);
  text-align: center;
}
.business-empty svg { width: 32px; height: 32px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.business-empty strong { color: var(--ink); font-size: 18px; }
.business-empty p { max-width: 420px; margin: 0; font-size: 14px; line-height: 1.6; }
.business-media-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 18px 0;
}
.business-media-grid > .business-empty { grid-column: 1 / -1; }
.business-media-grid article {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 14px;
  border-radius: var(--radius-lg);
  background: var(--surface);
}
.business-media-grid img { width: 100%; aspect-ratio: 4 / 3; border-radius: 10px; object-fit: contain; background: var(--surface-soft); }
.business-media-grid strong { color: var(--ink); font-size: 14px; overflow-wrap: anywhere; }
.business-media-grid small { color: var(--text-soft); font-size: 12px; line-height: 1.6; }
.business-media-grid button { min-height: 48px; }
.business-level-counts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 18px 0; }
.business-level-counts > span { display: grid; gap: 8px; padding: 16px; border-radius: var(--radius-sm); }
.business-level-counts small { font-size: 13px; }
.business-level-counts strong { font-size: 24px; }
.severity-black { background: rgba(17, 32, 51, 0.08); color: var(--ink); }
.business-stepper { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; margin-bottom: 24px; }
.business-stepper span { display: grid; justify-items: center; gap: 8px; color: var(--text-soft); font-size: 12px; }
.business-stepper i { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid var(--line); border-radius: 50%; background: var(--surface); font-style: normal; }
.business-stepper .active { color: var(--ink); }
.business-stepper .active i { border-color: var(--brand); background: var(--brand-soft); color: var(--ink); }
.business-stepper .done i { border-color: transparent; background: var(--brand-soft); color: var(--ink); }
.business-document { padding: 20px; border-radius: var(--radius-lg); background: var(--surface); }
.business-document p { white-space: pre-wrap; overflow-wrap: anywhere; }
.business-login-mark { display: grid; place-items: center; width: 80px; height: 80px; margin: 24px auto; border-radius: 24px; background: var(--brand-soft); color: var(--brand); }
.business-login-mark svg { width: 36px; height: 36px; }
.business-login-mark svg, .patient-scope-bar svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.business-history-entry { display: inline-flex; align-items: center; gap: 6px; align-self: center; min-height: 44px; padding: 8px 10px; }
.business-history-entry svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.document-list button div, .detail-cell strong { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 620px) {
  .business-media-grid { gap: 12px; }
  .business-level-counts { gap: 8px; }
  .business-level-counts > span { padding: 12px; }
  .business-stepper strong { font-size: 12px; }
}

* {
  box-sizing: border-box;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: clip;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

html,
body {
  min-height: 100%;
  margin: 0;
  overflow: hidden;
  background: var(--canvas-deep);
}

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

button {
  color: inherit;
  touch-action: manipulation;
}

button:disabled {
  cursor: default;
  opacity: 0.72;
}

button {
  -webkit-tap-highlight-color: transparent;
}

button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 3px;
}

.icon-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

svg {
  display: block;
}

.tablet-shell {
  position: relative;
  display: flex;
  flex-direction: column;
  width: min(100vw, 800px);
  height: min(100dvh, 1280px);
  min-height: 640px;
  margin: max(0px, calc((100dvh - 1280px) / 2)) auto 0;
  overflow: clip;
  background: var(--canvas);
  isolation: isolate;
}

.system-bar {
  z-index: 12;
  display: flex;
  flex: 0 0 30px;
  align-items: center;
  justify-content: space-between;
  padding: 0 28px;
  color: rgba(17, 32, 51, 0.76);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.system-time-group {
  display: flex;
  align-items: center;
  gap: 8px;
}

.system-state {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
}

.system-state strong {
  font-weight: 700;
}

.signal-bars {
  display: flex;
  height: 13px;
  align-items: flex-end;
  gap: 1.5px;
}

.signal-bars i {
  width: 2.5px;
  border-radius: 2px;
  background: currentColor;
}

.signal-bars i:nth-child(1) { height: 4px; }
.signal-bars i:nth-child(2) { height: 7px; }
.signal-bars i:nth-child(3) { height: 10px; }
.signal-bars i:nth-child(4) { height: 13px; }

.wifi-icon {
  width: 17px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
}

.battery {
  position: relative;
  width: 21px;
  height: 10px;
  border: 1.4px solid currentColor;
  border-radius: 3px;
}

.battery::after {
  position: absolute;
  top: 2px;
  right: -3px;
  width: 2px;
  height: 4px;
  border-radius: 0 1px 1px 0;
  background: currentColor;
  content: "";
}

.battery i {
  position: absolute;
  inset: 2px;
  width: 72%;
  border-radius: 1px;
  background: currentColor;
}

.live-label,
.online-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--text-soft);
  font-size: 11px;
  font-weight: 650;
}

.live-label i,
.online-chip i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--success);
}

.icon-button {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fff;
  cursor: pointer;
  transition:
    background-color 180ms ease-out,
    border-color 180ms ease-out,
    transform 180ms ease-out;
}

.icon-button:active {
  transform: scale(0.97);
  background: var(--brand-soft);
}

.icon-button svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.notification-button {
  position: relative;
}

.page-stage {
  position: relative;
  flex: 1;
  min-height: 0;
}

.app-page {
  position: absolute;
  inset: 0 0 var(--navigation-clearance);
  display: none;
  overflow-x: clip;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 20px 26px 24px;
  overflow-anchor: none;
  scroll-behavior: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.app-page::-webkit-scrollbar {
  display: none;
}

.app-page.active {
  display: block;
  animation: page-in 220ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.workspace-page {
  position: absolute;
  inset: 0 0 var(--navigation-clearance);
  z-index: 10;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--canvas);
  opacity: 0;
  pointer-events: none;
  transform: translateX(28px);
  visibility: hidden;
  transition:
    transform 240ms ease-out,
    opacity 180ms ease,
    visibility 0s linear 240ms;
}

.workspace-page.visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
  visibility: visible;
  transition:
    transform 240ms ease-out,
    opacity 180ms ease;
}

.workspace-header {
  display: grid;
  min-height: 84px;
  flex: 0 0 auto;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 12px 24px;
  border-bottom: 0;
  background: var(--canvas);
}

.workspace-back {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
}

.workspace-back svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  transform: rotate(180deg);
}

.workspace-header h1 {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: var(--ink-strong);
  font-size: 32px;
  font-weight: 760;
  letter-spacing: -0.045em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.workspace-context {
  padding: 7px 10px;
  border-radius: 999px;
  background: var(--brand-soft);
  color: var(--brand);
  font-size: 11px;
  font-weight: 700;
}

.workspace-header-trailing {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: flex-end;
}

.workspace-header-action {
  display: inline-flex;
  min-width: 0;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 15px;
  border: 0;
  border-radius: var(--radius-sm);
  background: var(--brand);
  color: #fff;
  font-size: 13px;
  font-weight: 750;
  white-space: nowrap;
}

.workspace-header-action[hidden] {
  display: none;
}

.workspace-header-action svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.workspace-header-action:active {
  background: var(--brand-strong);
  transform: scale(0.98);
}

.workspace-body {
  flex: 1;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 20px 24px 28px;
  scrollbar-width: none;
}

.workspace-body::-webkit-scrollbar {
  display: none;
}

/* Keep sibling business modules visually distinct across every workspace. */
:where(.workspace-body > * + *) {
  margin-top: 14px;
}

.workspace-footer {
  display: flex;
  flex: 0 0 auto;
  gap: 10px;
  margin: 0 24px 12px;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, 0.96);
  border-radius: 28px;
  background: var(--material-surface);
}

.workspace-footer:empty {
  display: none;
}

.workspace-footer button {
  flex: 1;
}

.workspace-page .notification-article {
  max-width: 720px;
  margin: 0 auto;
}

.workspace-page .notification-list,
.workspace-page .document-list,
.workspace-page .route-map {
  max-width: 752px;
  margin-right: auto;
  margin-left: auto;
}

@keyframes page-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.mission-hero {
  position: relative;
  min-height: 208px;
  overflow: hidden;
  padding: 22px;
  border-radius: var(--radius-xl);
  background: var(--mission-surface);
  background-image:
    radial-gradient(ellipse 115% 150% at -15% 125%, rgba(0, 156, 135, 0.78) 0%, rgba(0, 156, 135, 0.28) 50%, transparent 82%),
    radial-gradient(ellipse 90% 160% at 105% 100%, rgba(117, 166, 159, 0.42) 0%, rgba(117, 166, 159, 0.12) 55%, transparent 85%);
  color: #fff;
}

.hero-topline {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.mission-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 11px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  background: rgba(4, 10, 10, 0.16);
  font-size: 12px;
  font-weight: 650;
}

.mission-status i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--brand);
}

.mission-code {
  color: rgba(255, 255, 255, 0.9);
  font-family: "SF Mono", "Fira Code", monospace;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.12em;
}

.hero-content {
  position: relative;
  z-index: 2;
  margin-top: 26px;
}

.hero-content > p {
  margin: 0 0 6px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.hero-content h1 {
  max-width: 74%;
  margin: 0;
  color: #fff;
  font-size: 34px;
  font-weight: 750;
  letter-spacing: -0.045em;
  line-height: 1.1;
}

.mission-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 14px;
}

.mission-meta span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 12px;
  font-weight: 550;
}

.mission-meta svg {
  width: 13px;
  height: 13px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.hero-detail {
  position: absolute;
  right: 22px;
  bottom: 22px;
  z-index: 3;
  display: flex;
  height: 44px;
  align-items: center;
  gap: 12px;
  padding: 0 14px 0 17px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 24px;
  background: rgba(4, 10, 10, 0.18);
  color: #fff;
  cursor: pointer;
  font-size: 13px;
  font-weight: 650;
  transition:
    background-color 180ms ease-out,
    transform 180ms ease-out;
}

.hero-detail:active {
  transform: scale(0.98);
  background: rgba(4, 10, 10, 0.28);
}

.hero-detail svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.alert-strip {
  display: grid;
  width: 100%;
  min-height: 76px;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 13px;
  margin-top: 16px;
  padding: 14px 16px;
  border: 0;
  border-radius: 22px;
  background: #fffaf0;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  transition:
    background-color 180ms ease-out,
    border-color 180ms ease-out,
    transform 180ms ease-out;
}

.alert-strip:active {
  transform: scale(0.993);
  background: #fff6e4;
}

.alert-strip.acknowledged {
  border-color: var(--line);
  background: #fff;
}

.alert-strip.acknowledged .alert-copy small {
  color: var(--text-soft);
}

.alert-sign {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 13px;
  background: rgba(225, 163, 32, 0.12);
  color: #bd7e00;
}

.alert-sign svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.alert-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 5px;
}

.alert-copy small {
  color: #a06a00;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.alert-copy strong {
  overflow: hidden;
  font-size: 12px;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.alert-chevron,
.timeline-row > svg,
.patient-row > svg,
.meeting-row > svg,
.profile-list button > svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: var(--text-faint);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.content-section {
  margin-top: 26px;
}

.section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 44px;
  margin-bottom: 10px;
  padding-inline: 2px;
}

.app-page[data-page="home"] .live-label {
  padding-bottom: 0;
}

.section-heading h2,
.sheet-header h2,
.meeting-list-section h2,
.profile-section h2 {
  margin: 0;
  color: var(--ink-strong);
  font-size: 20px;
  font-weight: 750;
  letter-spacing: -0.035em;
}

.text-button {
  min-height: 44px;
  padding: 0 2px;
  border: 0;
  background: none;
  color: var(--brand);
  cursor: pointer;
  font-size: 11px;
  font-weight: 700;
}

.section-heading .text-button {
  padding-inline: 8px;
  color: var(--text-soft);
  font-size: 13px;
}

.task-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: #fff;
}

.task-card:active {
  background: var(--brand-soft);
  transform: scale(0.99);
}

.task-icon {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 14px;
  background: var(--brand-soft);
  color: var(--brand);
}

.task-card-primary .task-icon {
  background: var(--brand-soft);
  color: var(--brand);
}

.task-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.65;
}

.action-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  padding: 9px;
  border-radius: var(--radius-lg);
  background: #fff;
}

.action-tile {
  display: flex;
  min-height: 96px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 8px 3px;
  border: 0;
  border-radius: 18px;
  background: transparent;
  color: var(--ink-strong);
  cursor: pointer;
  transition:
    background-color 180ms ease-out,
    transform 180ms ease-out;
}

.action-tile:active {
  transform: scale(0.97);
  background: var(--brand-soft);
}

.action-icon {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  margin-bottom: 0;
  border-radius: 14px;
  background: transparent;
  color: var(--ink);
  transition:
    background-color 180ms ease-out,
    color 180ms ease-out;
}

.action-tile:active .action-icon {
  background: var(--brand);
  color: white;
}

.action-tile-urgent .action-icon {
  background: rgba(217, 45, 32, 0.06);
  color: var(--danger);
}

.action-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.action-tile strong {
  font-size: 11px;
  font-weight: 700;
}

.action-tile small {
  color: var(--text-faint);
  font-size: 11px;
}

.live-label {
  padding-bottom: 5px;
  color: var(--success);
}

.timeline {
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: #fff;
}

.home-empty-state {
  display: grid;
  min-height: 90px;
  padding: 20px;
  place-items: center;
  color: var(--text-soft);
  font-size: 14px;
}

.timeline-row {
  position: relative;
  display: grid;
  width: 100%;
  min-height: 68px;
  grid-template-columns: 40px 12px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 10px 17px;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-align: left;
}

.timeline-row:not(:last-child)::after {
  position: absolute;
  right: 17px;
  bottom: 0;
  left: 79px;
  height: 1px;
  background: var(--line);
  content: "";
}

.timeline-time {
  color: var(--text-faint);
  font-family: "SF Mono", "Fira Code", monospace;
  font-size: 11px;
}

.timeline-node {
  width: 8px;
  height: 8px;
  border: 2px solid white;
  border-radius: 50%;
  background: var(--brand);
}

.timeline-row:last-child .timeline-node {
  background: var(--success);
}

.timeline-copy {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.timeline-copy strong {
  font-size: 11px;
  font-weight: 650;
}

.timeline-copy small {
  color: var(--text-soft);
  font-size: 11px;
}

.bottom-nav {
  position: absolute;
  right: 22px;
  bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  left: 22px;
  z-index: 20;
  display: grid;
  height: 82px;
  grid-template-columns: repeat(4, 1fr);
  padding: 7px;
  border: 1px solid rgba(255, 255, 255, 0.96);
  border-radius: 42px;
  outline: 1px solid rgba(17, 32, 51, 0.08);
  background: rgba(250, 252, 253, 0.94);
  -webkit-backdrop-filter: blur(22px) saturate(1.15);
  backdrop-filter: blur(22px) saturate(1.15);
  isolation: isolate;
  overflow: hidden;
}

.nav-item {
  position: relative;
  z-index: 3;
  display: flex;
  min-width: 0;
  min-height: 66px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 7px 6px;
  border: 0;
  border-radius: 34px;
  background: transparent;
  color: #6f8093;
  cursor: pointer;
  font-size: 12px;
  font-weight: 650;
  transition:
    background-color 180ms ease-out,
    color 180ms ease-out;
}

.nav-item::before {
  position: absolute;
  top: 0;
  width: 24px;
  height: 3px;
  border-radius: 999px;
  background: var(--brand);
  content: none;
  opacity: 0;
  transform: scaleX(0.4);
  transition:
    opacity 180ms ease-out,
    transform 180ms ease-out;
}

.nav-item.active {
  background: var(--brand-soft);
  color: var(--ink-strong);
}

.nav-item.active .nav-icon { color: var(--brand); }
.nav-item:focus-visible { outline-offset: -2px; }

.nav-item.active::before {
  opacity: 1;
  transform: scaleX(1);
}

.nav-item:active {
  background: var(--brand-soft);
}

.nav-icon {
  position: relative;
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
}

.nav-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.75;
}

.nav-badge {
  position: absolute;
  top: -5px;
  right: -7px;
  display: grid;
  min-width: 20px;
  height: 20px;
  place-items: center;
  padding: 0 4px;
  border: 2px solid #f8fbfd;
  border-radius: 999px;
  background: var(--danger);
  color: white;
  font-size: 11px;
  font-style: normal;
  font-weight: 750;
}

.page-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin: 10px 2px 24px;
}

.page-header h1,
.profile-identity h1 {
  margin: 0;
  color: var(--ink-strong);
  font-size: 32px;
  font-weight: 760;
  letter-spacing: -0.05em;
}

.page-header p,
.profile-identity p {
  margin: 7px 0 0;
  color: var(--text-soft);
  font-size: 11px;
}

.help-page {
  padding-top: 20px;
}

.help-page-header {
  align-items: center;
  margin-top: 2px;
}

.help-page-heading {
  display: flex;
  align-items: center;
  gap: 12px;
}

.help-back-button {
  display: grid;
  width: 48px;
  height: 48px;
  flex: none;
  place-items: center;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #fff;
  cursor: pointer;
}

.help-back-button svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  transform: rotate(180deg);
}

.sos-panel {
  position: relative;
  isolation: isolate;
  display: grid;
  min-height: 432px;
  grid-template-areas:
    "copy"
    "action"
    "status";
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto 1fr auto;
  align-items: center;
  justify-items: center;
  gap: 10px;
  padding: 16px 28px 10px;
  background: transparent;
  color: var(--ink);
  overflow: visible;
}

.sos-panel > * {
  position: relative;
  z-index: 1;
}

.sos-action {
  position: relative;
  z-index: 0;
  display: grid;
  width: 236px;
  height: 236px;
  grid-area: action;
  place-items: center;
}

.sos-aura {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;
  width: clamp(460px, 68vw, 560px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle at center, rgba(217, 45, 32, 0.42) 0, rgba(237, 57, 48, 0.31) 18%, rgba(255, 111, 63, 0.2) 36%, rgba(255, 169, 112, 0.1) 54%, rgba(255, 208, 177, 0.035) 70%, rgba(255, 255, 255, 0) 88%);
  filter: blur(28px);
  pointer-events: none;
  transform: translate(-50%, -50%);
}

.sos-copy {
  grid-area: copy;
  display: flex;
  max-width: 580px;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.help-field-icon svg,
.help-form-actions svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.sos-copy h2 {
  margin: 0;
  font-size: 28px;
  letter-spacing: -0.04em;
}

.sos-copy p {
  max-width: 520px;
  margin: 10px 0 0;
  color: var(--text-soft);
  font-size: 13px;
  line-height: 1.65;
}

.sos-hold-button {
  --hold-progress: 0deg;
  position: relative;
  z-index: 2;
  display: grid;
  width: 236px;
  height: 236px;
  place-items: center;
  padding: 20px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--danger);
  cursor: pointer;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
}

.sos-hold-button::before,
.sos-hold-button::after,
.sos-wave {
  position: absolute;
  inset: 20px;
  border: 2px solid rgba(217, 45, 32, 0.38);
  border-radius: 50%;
  content: "";
  opacity: 0;
  pointer-events: none;
}

.sos-hold-button.holding::before,
.sos-hold-button.holding::after,
.sos-hold-button.holding .sos-wave {
  animation: sos-radiate 1.35s ease-out infinite;
}

.sos-hold-button.holding::after {
  animation-delay: 450ms;
}

.sos-hold-button.holding .sos-wave {
  animation-delay: 900ms;
}

@keyframes sos-radiate {
  0% {
    opacity: 0.72;
    transform: scale(0.64);
  }
  100% {
    opacity: 0;
    transform: scale(1.18);
  }
}

.sos-hold-ring {
  position: relative;
  z-index: 1;
  display: grid;
  width: 196px;
  height: 196px;
  place-items: center;
  padding: 6px;
  border-radius: 50%;
  background: conic-gradient(var(--danger) var(--hold-progress), rgba(217, 45, 32, 0.16) 0);
}

.sos-hold-ring > span {
  display: flex;
  width: 100%;
  height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border-radius: 50%;
  background: var(--danger);
  color: #fff;
  transition:
    background-color 180ms ease-out,
    transform 180ms ease-out;
}

.sos-hold-ring svg {
  width: 40px;
  height: 40px;
  margin-bottom: 8px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.9;
}

.sos-hold-ring strong {
  position: relative;
  z-index: 1;
  font-size: 18px;
  letter-spacing: 0.04em;
}

.sos-hold-ring small {
  position: relative;
  z-index: 1;
  color: rgba(255, 255, 255, 0.82);
  font-size: 12px;
}

.sos-hold-button.holding .sos-hold-ring > span {
  transform: scale(0.96);
}

.sos-hold-button.sent .sos-hold-ring,
.sos-hold-button.sent .sos-hold-ring > span {
  background: var(--success);
}

.sos-status {
  grid-area: status;
  min-width: 0;
  margin: 0;
  min-height: 22px;
  padding: 2px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--text-soft);
  font-size: 12px;
  text-align: center;
}

.help-form-section {
  margin-top: 30px;
}

.help-active-request {
  display: grid;
  width: 100%;
  min-height: 86px;
  grid-template-columns: 48px minmax(0, 1fr) auto 18px;
  align-items: center;
  gap: 13px;
  margin-top: 18px;
  padding: 14px 16px;
  border: 1px solid rgba(217, 45, 32, 0.28);
  border-radius: var(--radius-lg);
  background: #fff;
  cursor: pointer;
  text-align: left;
}

.help-active-request[hidden] {
  display: none;
}

.help-active-icon {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 50%;
  background: rgba(217, 45, 32, 0.1);
  color: var(--danger);
}

.help-active-icon svg,
.help-active-chevron {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.help-active-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}

.help-active-copy small,
.help-active-copy em {
  overflow: hidden;
  color: var(--text-soft);
  font-size: 12px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.help-active-copy strong {
  overflow: hidden;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.help-active-state {
  color: var(--danger);
  font-size: 12px;
  font-weight: 750;
}

.help-active-chevron {
  width: 18px;
  height: 18px;
  color: var(--text-faint);
}

.help-active-request.arrived {
  border-color: rgba(0, 156, 135, 0.26);
}

.help-active-request.arrived .help-active-icon {
  background: var(--brand-soft);
  color: var(--brand);
}

.help-active-request.arrived .help-active-state {
  color: var(--brand);
}

.help-form {
  display: grid;
  gap: 18px;
  padding: 18px;
  border-radius: var(--radius-lg);
  background: #fff;
}

.help-location {
  display: grid;
  width: 100%;
  min-height: 72px;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 13px;
  padding: 12px 14px;
  border: 0;
  border-radius: 14px;
  background: var(--surface-soft);
  cursor: pointer;
  text-align: left;
}

.help-field-icon {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 13px;
  background: var(--brand-soft);
  color: var(--brand);
}

.help-location > span:nth-child(2) {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}

.help-location small {
  color: var(--text-soft);
  font-size: 12px;
}

.help-location strong {
  font-size: 14px;
}

.help-location em {
  color: var(--brand);
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
}

.help-form label {
  display: grid;
  gap: 9px;
  color: var(--ink-strong);
  font-size: 14px;
  font-weight: 700;
}

.help-form textarea {
  width: 100%;
  min-height: 126px;
  resize: vertical;
  padding: 14px;
  border: 1px solid transparent;
  border-radius: 14px;
  outline: 0;
  background: var(--surface-soft);
  color: var(--ink);
  font-size: 14px;
  line-height: 1.6;
}

.help-form textarea:focus {
  border-color: var(--brand);
  outline: 2px solid var(--brand);
  outline-offset: -2px;
  background: #fff;
}

.help-form-actions {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 12px;
}

.help-photo-button {
  gap: 8px;
}

.primary-button.help-submit-button {
  background: var(--brand);
}

.primary-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 20px;
  border: 0;
  border-radius: 15px;
  background: var(--ink-strong);
  color: white;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  transition:
    background-color 180ms ease-out,
    transform 180ms ease-out;
}

.primary-button:active {
  transform: scale(0.98);
  background: var(--brand-strong);
}

.primary-button svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.compact-button {
  min-height: 48px;
  padding: 0 16px;
}

.patient-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin-bottom: 16px;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: var(--surface);
}

.patient-summary article {
  position: relative;
  min-height: 88px;
  overflow: hidden;
  padding: 16px 20px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.patient-summary article::after { content: none; }

.patient-summary span,
.patient-summary small {
  display: block;
  color: var(--text-soft);
  font-size: 11px;
  font-weight: 600;
}

.patient-summary strong {
  display: block;
  margin: 10px 0 5px;
  color: var(--ink-strong);
  font-family: "SF Mono", "Fira Code", monospace;
  font-size: 27px;
  line-height: 1;
}

.patient-summary .summary-warn {
  background: transparent;
}

.list-toolbar {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  margin-bottom: 13px;
}

.patient-level-switch {
  margin-bottom: 10px;
}

.patient-list-toolbar {
  grid-template-columns: minmax(0, 1fr) auto;
}

.patient-sort-button {
  display: inline-flex;
  min-width: 124px;
  min-height: var(--control-height);
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: #fff;
  color: var(--text);
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.patient-sort-button svg {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  fill: none;
  stroke: var(--brand);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.patient-sort-button:active {
  background: var(--brand-soft);
}

.search-field {
  display: flex;
  min-height: var(--control-height);
  align-items: center;
  gap: 10px;
  padding: 0 15px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: #fff;
}

.search-field:focus-within {
  border-color: var(--brand);
  outline: 2px solid var(--brand);
  outline-offset: -2px;
}

.search-field svg {
  width: 17px;
  height: 17px;
  flex: none;
  fill: none;
  stroke: var(--text-soft);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.search-field input {
  width: 100%;
  height: 44px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--ink);
  font-size: 11px;
}

.search-field input::placeholder {
  color: var(--text-faint);
}

.patient-list {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
}

.patient-row {
  display: grid;
  width: 100%;
  min-height: 84px;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 14px;
  padding: 12px 17px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  cursor: pointer;
  text-align: left;
}

.patient-row:last-child {
  border-bottom: 0;
}

.patient-row:active {
  background: var(--brand-soft);
}

.severity {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 13px;
  font-family: "SF Mono", "Fira Code", monospace;
  font-size: 14px;
  font-weight: 750;
}

.severity-red { background: rgba(220, 79, 79, 0.1); color: #b42318; }
.severity-yellow { background: rgba(225, 163, 32, 0.12); color: #a66e00; }
.severity-green { background: rgba(0, 156, 135, 0.1); color: #009C87; }

.patient-main,
.patient-meta {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 5px;
}

.patient-main strong,
.patient-meta strong {
  overflow: hidden;
  font-size: 12px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.patient-main em {
  margin-left: 8px;
  color: var(--text-soft);
  font-size: 11px;
  font-style: normal;
  font-weight: 500;
}

.patient-main small,
.patient-meta small {
  overflow: hidden;
  color: var(--text-soft);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.patient-meta {
  align-items: flex-end;
}

.patient-meta strong {
  font-family: "SF Mono", "Fira Code", monospace;
}

.empty-search {
  display: none;
  min-height: 260px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--text-soft);
  text-align: center;
}

.empty-search.visible {
  display: flex;
}

.empty-search svg {
  width: 34px;
  height: 34px;
  margin-bottom: 12px;
  fill: none;
  stroke: var(--text-faint);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.4;
}

.empty-search strong { font-size: 13px; }
.empty-search small { margin-top: 6px; color: var(--text-faint); font-size: 11px; }

.secure-label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 11px;
  border: 1px solid rgba(0, 156, 135, 0.14);
  border-radius: 999px;
  background: rgba(0, 156, 135, 0.08);
  color: #009C87;
  font-size: 12px;
  font-weight: 700;
}

.secure-label svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.meeting-hero {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  background: #fff;
}

.meeting-visual {
  position: relative;
  min-height: 300px;
  overflow: hidden;
  background: #0d1c30;
}

.meeting-visual::before,
.meeting-visual::after {
  display: none;
}

.participant {
  position: absolute;
  z-index: 2;
  display: flex;
  width: 128px;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  color: white;
  text-align: center;
}

.participant-main { top: 90px; left: calc(50% - 64px); }
.participant-one { top: 37px; left: 7%; }
.participant-two { top: 42px; right: 7%; }
.participant-three { right: 13%; bottom: 27px; }

.avatar {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  margin-bottom: 4px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.1);
  font-size: 14px;
  font-weight: 750;
  backdrop-filter: blur(12px);
}

.participant-main .avatar {
  width: 68px;
  height: 68px;
  border-radius: 22px;
  font-size: 20px;
}

.avatar-blue {
  background: var(--brand);
}

.participant strong {
  font-size: 11px;
  font-weight: 650;
}

.participant small {
  color: rgba(255, 255, 255, 0.5);
  font-size: 11px;
}

.meeting-copy {
  padding: 22px;
}

.meeting-live {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--danger);
  font-size: 11px;
  font-weight: 700;
}

.meeting-live i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  animation: pulse 1.6s ease-in-out infinite;
}

@keyframes pulse {
  50% { opacity: 0.4; }
}

.meeting-copy h2 {
  margin: 8px 0 5px;
  font-size: 20px;
  font-weight: 750;
  letter-spacing: -0.035em;
}

.meeting-copy p {
  margin: 0 0 18px;
  color: var(--text-soft);
  font-size: 11px;
  line-height: 1.6;
}

.meeting-list-section {
  margin-top: 26px;
}

.meeting-row {
  display: grid;
  width: 100%;
  min-height: 82px;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 15px;
  margin-bottom: 10px;
  padding: 12px 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
  cursor: pointer;
  text-align: left;
}

.meeting-date {
  display: flex;
  width: 57px;
  height: 54px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: var(--surface-soft);
}

.meeting-date strong {
  font-family: "SF Mono", "Fira Code", monospace;
  font-size: 12px;
}

.meeting-date small {
  margin-top: 2px;
  color: var(--text-soft);
  font-size: 11px;
}

.meeting-row-copy {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.meeting-row-copy strong { font-size: 12px; }
.meeting-row-copy small { color: var(--text-soft); font-size: 11px; }

.meeting-state {
  padding: 6px 9px;
  border-radius: 999px;
  background: var(--brand-soft);
  color: var(--brand);
  font-size: 11px;
  font-weight: 700;
}

.profile-page {
  padding-top: 28px;
}

.profile-identity {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 17px;
  padding: 6px 4px 24px;
}

.profile-avatar {
  display: grid;
  width: 68px;
  height: 68px;
  place-items: center;
  border-radius: 23px;
  background: var(--ink-strong);
  color: white;
  font-family: "SF Mono", "Fira Code", monospace;
  font-size: 20px;
  font-weight: 700;
}

.online-chip {
  padding: 8px 11px;
  border: 1px solid rgba(0, 156, 135, 0.14);
  border-radius: 999px;
  background: rgba(0, 156, 135, 0.07);
  color: #009C87;
}

.duty-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 15px;
  min-height: 112px;
  padding: 18px;
  border-radius: var(--radius-lg);
  background: var(--ink-strong);
  color: white;
}

.duty-icon {
  display: grid;
  width: 50px;
  height: 50px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.09);
}

.duty-icon svg,
.duty-card button svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.duty-card div {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.duty-card small,
.duty-card span {
  color: rgba(255, 255, 255, 0.53);
  font-size: 11px;
}

.duty-card strong { font-size: 13px; }

.duty-card button {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 0;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.08);
  color: white;
  cursor: pointer;
}

.profile-section {
  margin-top: 27px;
}

.profile-list {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
}

.profile-list button {
  display: grid;
  width: 100%;
  min-height: 76px;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 12px 17px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  cursor: pointer;
  text-align: left;
}

.profile-list button:last-child { border-bottom: 0; }

.profile-list-icon {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 13px;
  background: var(--surface-soft);
}

.profile-list-icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: var(--ink);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.profile-list button > span:nth-child(2) {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.profile-list strong { font-size: 11px; }
.profile-list small { color: var(--text-soft); font-size: 11px; }

.profile-notification-trailing {
  display: flex;
  align-items: center;
  gap: 12px;
}

.profile-notification-trailing > svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: var(--text-faint);
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.notification-count {
  display: grid;
  min-width: 24px;
  height: 24px;
  place-items: center;
  padding-inline: 6px;
  border-radius: 8px;
  background: var(--brand-soft);
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
}

.notification-count[hidden] { display: none; }

.support-banner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
  margin-top: 20px;
  padding: 16px 17px;
  border: 1px solid rgba(0, 156, 135, 0.13);
  border-radius: var(--radius-md);
  background: var(--brand-soft);
}

.support-banner > span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 13px;
  background: var(--brand);
  color: white;
}

.support-banner svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.support-banner div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.support-banner small { color: var(--text-soft); font-size: 11px; }
.support-banner strong { font-size: 11px; }

.support-banner button {
  min-height: 44px;
  padding: 0 14px;
  border: 0;
  border-radius: 12px;
  background: white;
  color: var(--brand);
  cursor: pointer;
  font-size: 11px;
  font-weight: 700;
}

.version-label {
  margin: 28px 0 0;
  color: var(--text-faint);
  font-family: "SF Mono", "Fira Code", monospace;
  font-size: 11px;
  text-align: center;
}

.sheet-backdrop {
  position: absolute;
  inset: 0;
  z-index: 50;
  background: rgba(11, 23, 40, 0.32);
  opacity: 0;
  pointer-events: none;
  transition: opacity 220ms ease;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.sheet-backdrop.visible {
  opacity: 1;
  pointer-events: auto;
}

.bottom-sheet {
  position: absolute;
  right: 20px;
  bottom: max(16px, env(safe-area-inset-bottom));
  left: 20px;
  z-index: 60;
  display: flex;
  max-height: calc(100% - 64px);
  flex-direction: column;
  padding: 0 24px 18px;
  border: 1px solid rgba(255, 255, 255, 0.96);
  border-radius: 30px;
  background: var(--surface);
  opacity: 0;
  pointer-events: none;
  transform: translateY(104%);
  visibility: hidden;
  transition:
    transform var(--motion-panel) var(--motion-curve),
    opacity 180ms ease,
    visibility 0s linear 280ms;
}

.bottom-sheet.visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  visibility: visible;
  transition:
    transform var(--motion-panel) var(--motion-curve),
    opacity 180ms ease;
}

.bottom-sheet.dragging {
  transition: none;
  will-change: transform;
}

.sheet-grabber {
  position: relative;
  width: 100%;
  height: 44px;
  flex: 0 0 44px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: grab;
  touch-action: none;
}

.sheet-grabber::after {
  position: absolute;
  top: 17px;
  left: 50%;
  width: 42px;
  height: 4px;
  border-radius: 999px;
  background: rgba(17, 32, 51, 0.2);
  content: "";
  transform: translateX(-50%);
}

.sheet-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 2px 0 16px;
  border-bottom: 0;
}

.sheet-content {
  min-height: 160px;
  overflow-y: auto;
  padding: 12px 0 20px;
  overscroll-behavior: contain;
  scroll-padding-block: 16px;
  scrollbar-width: none;
}

.sheet-content::-webkit-scrollbar { display: none; }

.sheet-footer {
  display: flex;
  gap: 10px;
  padding-top: 12px;
  border-top: 0;
}

.sheet-footer:empty { display: none; }

.sheet-footer button {
  flex: 1;
}

.help-record-button {
  width: 100%;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-align: left;
}

.help-record-button.emergency > span {
  background: rgba(217, 45, 32, 0.1);
  color: var(--danger);
}

.help-record-button.emergency em,
.emergency-resolve-link {
  color: var(--danger);
}

.emergency-workflow {
  border-color: rgba(217, 45, 32, 0.24);
}

.emergency-workflow .workflow-badge {
  background: rgba(217, 45, 32, 0.1);
  color: var(--danger);
}

.compact-completion {
  min-height: 210px;
}

.sheet-wide-action {
  width: 100%;
  margin-top: 12px;
}

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

.detail-cell {
  display: flex;
  min-height: 72px;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: white;
}

.detail-cell small {
  color: var(--text-faint);
  font-size: 11px;
  font-weight: 650;
}

.detail-cell strong {
  font-size: 11px;
  font-weight: 700;
}

.detail-note {
  margin-top: 12px;
  padding: 14px 15px;
  border-left: 3px solid var(--brand);
  border-radius: 4px 14px 14px 4px;
  background: var(--brand-soft);
  color: var(--text-soft);
  font-size: 11px;
  line-height: 1.65;
}

.sheet-list {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.sheet-list-item {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  min-height: 68px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: white;
}

.sheet-list-item > span:first-child {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 13px;
  background: var(--brand-soft);
  color: var(--brand);
  font-family: "SF Mono", "Fira Code", monospace;
  font-size: 11px;
  font-weight: 700;
}

.sheet-list-item div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.sheet-list-item strong { font-size: 11px; }
.sheet-list-item small { color: var(--text-soft); font-size: 11px; }

.sheet-list-item em {
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(225, 163, 32, 0.1);
  color: #a66e00;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
}

.notification-list {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
}

.notification-item {
  display: grid;
  width: 100%;
  min-height: 90px;
  grid-template-columns: 44px minmax(0, 1fr) auto 16px;
  align-items: center;
  gap: 13px;
  padding: 14px 16px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  cursor: pointer;
  text-align: left;
}

.notification-item:last-child {
  border-bottom: 0;
}

.notification-symbol {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 14px;
  background: var(--brand-soft);
  color: var(--brand);
}

.notification-symbol-warning {
  background: rgba(225, 163, 32, 0.12);
  color: #a66e00;
}

.notification-symbol svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.notification-item-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}

.notification-item-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--text-faint);
  font-size: 11px;
}

.notification-item-meta span {
  font-weight: 700;
}

.notification-item-meta time {
  flex: 0 0 auto;
}

.notification-item-copy > strong {
  overflow: hidden;
  font-size: 14px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.notification-item-copy > small {
  overflow: hidden;
  color: var(--text-soft);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.notification-read-state {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--brand);
  font-size: 11px;
  font-weight: 700;
}

.notification-read-state i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--brand);
}

.notification-item.is-read .notification-read-state {
  color: var(--text-faint);
}

.notification-item.is-read .notification-read-state i {
  background: var(--line-strong);
}

.notification-chevron {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: var(--text-faint);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.notification-article {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
}

.notification-article-byline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 15px 18px;
  border-bottom: 1px solid var(--line);
  color: var(--text-soft);
  font-size: 12px;
}

.notification-article-byline span {
  min-width: 0;
  font-weight: 650;
}

.notification-article-byline time {
  flex: 0 0 auto;
}

.notification-article-summary {
  margin: 18px;
  padding: 16px 17px;
  border-radius: var(--radius-md);
  background: var(--surface-soft);
}

.notification-article-summary strong {
  display: block;
  margin-bottom: 7px;
  color: var(--ink-strong);
  font-size: 14px;
}

.notification-article-summary p {
  margin: 0;
  color: var(--ink);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.8;
}

.notification-article-body {
  padding: 0 18px;
}

.notification-article-section {
  padding: 19px 0 20px;
  border-top: 1px solid var(--line);
}

.notification-article-section h3 {
  margin: 0 0 10px;
  color: var(--ink-strong);
  font-size: 16px;
  font-weight: 750;
  letter-spacing: -0.02em;
}

.notification-article-section p {
  margin: 0;
  color: var(--text-soft);
  font-size: 14px;
  line-height: 1.9;
  text-align: justify;
}

.notification-article-section p + p {
  margin-top: 12px;
}

.notification-article-section.is-emphasis {
  margin: 0 -18px;
  padding: 19px 18px 20px;
  background: var(--surface-soft);
}

.notification-article-reference {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 15px 18px;
  border-top: 1px solid var(--line);
  color: var(--text-soft);
  font-size: 11px;
}

.notification-article-reference span {
  font-weight: 700;
}

.notification-article-reference small {
  flex: 0 0 auto;
  color: var(--text-faint);
  font-size: 11px;
}

.report-form {
  display: flex;
  flex-direction: column;
  gap: 13px;
}

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

.report-form label {
  display: flex;
  flex-direction: column;
  gap: 7px;
  color: var(--text-soft);
  font-size: 11px;
  font-weight: 650;
}

.report-form input,
.report-form textarea,
.report-form select {
  width: 100%;
  min-height: var(--control-height);
  padding: 0 var(--control-inline);
  border: 1px solid var(--line-strong);
  border-radius: 13px;
  outline: none;
  background: white;
  color: var(--ink);
  font-size: 14px;
  font-weight: 600;
}

.report-form textarea {
  min-height: 98px;
  padding: 13px var(--control-inline);
  resize: none;
  line-height: 1.55;
}

.report-form input::placeholder,
.report-form textarea::placeholder,
.help-form textarea::placeholder,
.search-field input::placeholder {
  color: var(--text-faint);
  font-size: 12px;
  font-weight: 500;
  opacity: 1;
}

.report-form select {
  padding-right: 48px;
  appearance: none;
  -webkit-appearance: none;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%235f7287' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 18px;
  cursor: pointer;
}

.report-form input:focus-visible,
.report-form textarea:focus-visible,
.report-form select:focus-visible {
  border-color: var(--brand);
  outline: 2px solid var(--brand);
  outline-offset: -2px;
}

.report-form input:disabled,
.report-form textarea:disabled,
.report-form select:disabled {
  border-color: var(--line);
  background-color: var(--surface-soft);
  color: var(--text-soft);
  cursor: not-allowed;
  opacity: 1;
}

.transfer-task-intro {
  display: grid;
  max-width: 752px;
  min-height: 86px;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  margin: 0 auto 14px;
  padding: 15px 17px;
  border-radius: var(--radius-lg);
  background: var(--ink-strong);
  color: #fff;
}

.transfer-task-intro > span {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.transfer-task-intro svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.transfer-task-intro > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 5px;
}

.transfer-task-intro strong {
  font-size: 15px;
}

.transfer-task-intro small {
  color: rgba(255, 255, 255, 0.7);
  font-size: 12px;
  line-height: 1.5;
}

.transfer-task-intro em {
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(0, 156, 135, 0.18);
  color: #fff;
  font-size: 11px;
  font-style: normal;
  font-weight: 750;
}

.transfer-task-form {
  max-width: 752px;
  margin: 0 auto;
  gap: 12px;
}

.transfer-form-section {
  display: flex;
  flex-direction: column;
  gap: 13px;
  padding: 17px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
}

.transfer-form-section > header {
  display: flex;
  align-items: center;
  gap: 11px;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--line);
}

.transfer-form-section > header > span {
  display: grid;
  width: 36px;
  height: 36px;
  flex: none;
  place-items: center;
  border-radius: 11px;
  background: var(--brand-soft);
  color: var(--brand);
  font-size: 11px;
  font-weight: 800;
}

.transfer-form-section > header > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}

.transfer-form-section h2,
.transfer-form-section p {
  margin: 0;
}

.transfer-form-section h2 {
  font-size: 16px;
  letter-spacing: -0.02em;
}

.transfer-form-section p {
  color: var(--text-soft);
  font-size: 11px;
}

.transfer-attachment-section .upload-zone {
  width: 100%;
}

.transfer-attachment-section.is-error {
  border-color: rgba(217, 45, 32, 0.48);
}

.transfer-attachment-section.is-error .upload-zone {
  border-color: var(--danger);
  background: rgba(217, 45, 32, 0.06);
  color: var(--danger);
}

.transfer-attachment-file {
  display: grid;
  min-height: 66px;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface-soft);
}

.transfer-attachment-file[hidden] {
  display: none;
}

.transfer-attachment-file > span {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 11px;
  background: var(--brand-soft);
  color: var(--brand);
}

.transfer-attachment-file svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.transfer-attachment-file > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}

.transfer-attachment-file strong,
.transfer-attachment-file small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.transfer-attachment-file strong {
  font-size: 13px;
}

.transfer-attachment-file small {
  color: var(--text-soft);
  font-size: 11px;
}

.transfer-attachment-file button {
  min-width: 56px;
  min-height: 44px;
  padding: 0 10px;
  border: 0;
  border-radius: var(--radius-sm);
  background: #fff;
  color: var(--danger);
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
}

.transfer-upload-note {
  color: var(--text-soft);
  font-size: 11px;
  line-height: 1.5;
}

.workspace-section-heading {
  display: flex;
  max-width: 752px;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto 12px;
}

.workspace-section-heading > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.workspace-section-heading strong {
  font-size: 16px;
}

.workspace-section-heading small {
  color: var(--text-soft);
  font-size: 11px;
}

.transfer-history-list em {
  white-space: nowrap;
}

.select-shell {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
}

.select-shell > select {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
}

.select-inline > select {
  width: 1px;
  height: 1px;
  min-height: 0;
  padding: 0;
  border: 0;
}

.inline-choices {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.inline-choice {
  display: flex;
  flex: 1 1 72px;
  min-width: 44px;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 10px 8px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface-soft);
  color: var(--ink);
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.4;
  cursor: pointer;
  transition: background-color 160ms ease-out, border-color 160ms ease-out;
}

.inline-choice > span { min-width: 0; overflow-wrap: anywhere; }
.inline-choice svg { display: none; flex: 0 0 16px; width: 16px; height: 16px; color: var(--brand); fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.inline-choice[aria-checked="true"] { border-color: var(--brand); background: var(--brand-soft); }
.inline-choice[aria-checked="true"] svg { display: block; }
.inline-choice:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.inline-choice:active { background: var(--brand-soft); }
.inline-choice:disabled { color: var(--text-soft); cursor: not-allowed; opacity: 0.55; }
.inline-choices[aria-invalid="true"] .inline-choice { border-color: var(--danger); }

.select-trigger {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18px;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: var(--control-height);
  padding: 0 var(--control-inline);
  border: 1px solid var(--line-strong);
  border-radius: 13px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 14px;
  font-weight: 650;
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.select-trigger-value {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.select-trigger-value.placeholder {
  color: var(--text-faint);
  font-size: 12px;
  font-weight: 500;
}

.select-trigger-chevron {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: var(--text-soft);
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.select-trigger:focus-visible,
.select-shell.open .select-trigger {
  border-color: var(--brand);
  outline: 2px solid var(--brand);
  outline-offset: -2px;
}

.select-shell.open .select-trigger-chevron {
  transform: rotate(180deg);
}

.select-trigger[aria-invalid="true"] {
  border-color: var(--danger);
}

.select-trigger:disabled {
  border-color: var(--line);
  background: var(--surface-soft);
  color: var(--text-soft);
  cursor: not-allowed;
}

.select-popover {
  position: absolute;
  z-index: 96;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 6px;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--line-strong);
  border-radius: 15px;
  background: #fff;
  scrollbar-width: thin;
}

.select-popover[hidden] {
  display: none;
}

.select-option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18px;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: 14px;
  line-height: 1.4;
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.select-option span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.select-option svg,
.select-option i {
  width: 18px;
  height: 18px;
}

.select-option svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.select-option.selected {
  background: var(--brand-soft);
  color: var(--brand);
  font-weight: 750;
}

.select-option:active {
  background: var(--brand-soft);
}

.select-option:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: -2px;
}

.select-option:disabled {
  color: var(--text-faint);
  cursor: not-allowed;
}

.report-form input[type="number"] {
  appearance: textfield;
  -moz-appearance: textfield;
}

.report-form input[type="number"]::-webkit-inner-spin-button,
.report-form input[type="number"]::-webkit-outer-spin-button {
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
}

.report-form input[type="date"] {
  color-scheme: light;
}

.report-form input[type="date"]::-webkit-calendar-picker-indicator {
  width: 20px;
  height: 20px;
  margin: 0;
  cursor: pointer;
  opacity: 0.62;
}

.upload-zone {
  display: flex;
  min-height: 90px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px dashed rgba(0, 156, 135, 0.32);
  border-radius: 14px;
  background: var(--brand-soft);
  color: var(--brand);
  cursor: pointer;
  font-size: 11px;
  font-weight: 650;
}

.upload-zone svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.secondary-button {
  display: inline-flex;
  min-height: var(--control-height);
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border: 1px solid var(--line-strong);
  border-radius: 14px;
  background: white;
  cursor: pointer;
  font-size: 11px;
  font-weight: 700;
}

.danger-button {
  background: var(--danger);
}

.settings-list {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
}

.setting-toggle {
  display: grid;
  width: 100%;
  min-height: 74px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 13px 16px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  cursor: pointer;
  text-align: left;
}

.setting-toggle:last-child {
  border-bottom: 0;
}

.setting-toggle > span:first-child {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 5px;
}

.setting-toggle strong {
  font-size: 14px;
}

.setting-toggle small {
  color: var(--text-soft);
  font-size: 12px;
}

.setting-toggle-state {
  display: grid;
  min-width: 64px;
  min-height: 32px;
  place-items: center;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--text-soft);
  font-size: 12px;
  font-weight: 700;
}

.setting-toggle[aria-pressed="true"] .setting-toggle-state {
  border-color: rgba(0, 156, 135, 0.22);
  background: var(--brand-soft);
  color: var(--brand);
}

.help-photo-button.attached {
  border-color: rgba(0, 156, 135, 0.24);
  background: var(--brand-soft);
  color: var(--brand);
}

.toast {
  position: absolute;
  top: 104px;
  right: 18px;
  z-index: 80;
  display: grid;
  min-width: 280px;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: #fff;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-12px);
  transition:
    opacity 220ms ease-out,
    transform 220ms ease-out;
}

.toast.visible {
  opacity: 1;
  transform: translateY(0);
}

.toast > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 11px;
  background: rgba(0, 156, 135, 0.1);
  color: var(--success);
}

.toast svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.toast div {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.toast strong { font-size: 13px; }
.toast small { color: var(--text-soft); font-size: 11px; }

/* 800dp 安卓平板可读性校准：主操作 14px、正文 13px、辅助信息不低于 11px。 */
.text-button,
.primary-button,
.secondary-button {
  font-size: 14px;
}

.timeline-copy small,
.patient-summary span,
.patient-summary small,
.search-field input,
.patient-main small,
.patient-meta small,
.meeting-copy p,
.meeting-row-copy small,
.profile-list small,
.support-banner small,
.detail-note,
.detail-cell strong,
.sheet-list-item strong,
.report-form input,
.report-form textarea,
.report-form select {
  font-size: 14px;
}

.alert-copy strong,
.action-tile strong,
.timeline-copy strong,
.patient-main strong,
.patient-meta strong,
.meeting-row-copy strong,
.profile-list strong,
.support-banner strong,
.detail-cell strong,
.sheet-list-item strong {
  font-size: 14px;
}

.mission-code,
.timeline-time,
.meeting-live,
.version-label {
  font-size: 11px;
}

.nav-item {
  font-size: 12px;
}

.system-state,
.live-label,
.online-chip,
.participant small,
.meeting-date small,
.meeting-state,
.patient-main em,
.patient-meta small,
.sheet-list-item small,
.detail-cell small {
  font-size: 11px;
}

.page-header p,
.profile-identity p,
.participant strong,
.meeting-date strong,
.report-form label,
.upload-zone,
.duty-card small,
.duty-card span {
  font-size: 12px;
}

.support-banner button {
  font-size: 13px;
}

.page-header h1,
.profile-identity h1 {
  font-size: 34px;
}

.section-heading h2,
.sheet-header h2,
.meeting-list-section h2,
.profile-section h2 {
  font-size: 22px;
}

/* 统一组件语言：实体分组 24px、控件 12px、任务概览 26px。 */
.primary-button {
  border-radius: var(--radius-sm);
  background: var(--brand);
}

.primary-button:active {
  background: var(--brand);
}

.danger-button,
.danger-button:active {
  background: var(--danger);
}

.secondary-button,
.search-field,
.report-form input,
.report-form textarea,
.report-form select,
.upload-zone,
.help-location,
.help-form textarea,
.detail-cell,
.sheet-list-item,
.meeting-row {
  border-radius: var(--radius-sm);
}

.task-icon,
.action-icon,
.alert-sign,
.severity,
.profile-list-icon,
.support-banner > span,
.toast > span,
.duty-icon,
.avatar {
  border-radius: var(--radius-sm);
}

.task-grid,
.action-grid,
.timeline,
.patient-list,
.meeting-hero,
.profile-list,
.support-banner,
.help-form,
.settings-list,
.notification-list,
.toast {
  border-radius: var(--radius-lg);
}

.task-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.action-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* 首页任务入口共用实体分组，仅展示办理功能。 */
.task-card {
  position: relative;
  display: grid;
  min-height: 160px;
  grid-template-columns: minmax(0, 1fr) 18px;
  align-items: center;
  align-content: center;
  gap: 14px;
  padding: 20px 22px;
  border: 0;
  border-radius: 0;
  background: var(--surface);
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  transition: background-color 180ms ease-out, transform 180ms ease-out;
}

.task-card + .task-card::before {
  position: absolute;
  top: 20px;
  bottom: 20px;
  left: 0;
  width: 1px;
  background: var(--line);
  content: "";
}
.task-card:focus-visible { outline-offset: -3px; }

.task-card-copy {
  display: flex;
  min-width: 0;
  grid-column: 1 / -1;
  grid-row: 2;
  flex-direction: column;
  gap: 6px;
}

.task-card-copy strong { font-size: 22px; font-weight: 750; line-height: 1.3; letter-spacing: -0.035em; }
.task-card-copy small { color: var(--text-soft); font-size: 13px; font-weight: 500; line-height: 1.5; }
.task-card-chevron { grid-column: 2; grid-row: 1; width: 18px; height: 18px; fill: none; stroke: var(--text-soft); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

@media (max-width: 620px) {
  .task-card { min-height: 148px; gap: 12px; padding: 18px; }
}

.task-grid {
  border: 0;
}

.task-icon {
  grid-column: 1;
  grid-row: 1;
  width: 44px;
  height: 44px;
  border-radius: 14px;
}

.task-icon svg {
  width: 24px;
  height: 24px;
}

.frontline-scope-note {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  padding: 12px 14px;
  border-left: 3px solid var(--brand);
  border-radius: var(--radius-sm);
  background: var(--brand-soft);
}

.frontline-scope-note > span {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: var(--radius-sm);
  background: #fff;
  color: var(--brand);
}

.frontline-scope-note svg,
.frontline-task-row svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.frontline-scope-note p {
  margin: 0;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.6;
}

.frontline-task-list {
  display: grid;
  gap: 14px;
}

.frontline-task-row {
  display: flex;
  width: 100%;
  flex-direction: column;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
  cursor: pointer;
  text-align: left;
  transition:
    border-color 180ms ease-out,
    background-color 180ms ease-out,
    transform 180ms ease-out;
}

.frontline-task-row.is-active {
  border-color: rgba(0, 156, 135, 0.3);
}

.frontline-task-row.is-pending {
  border-style: dashed;
}

.frontline-task-row:active {
  background: var(--brand-soft);
  transform: scale(0.99);
}

.frontline-task-head {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
}

.frontline-task-icon {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: var(--radius-sm);
  background: var(--surface-soft);
}

.frontline-task-row.is-active .frontline-task-icon {
  background: var(--brand-soft);
  color: var(--brand);
}

.frontline-task-head > span:nth-child(2) {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}

.frontline-task-head strong {
  overflow: hidden;
  font-size: 15px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.frontline-task-head small {
  color: var(--text-soft);
  font-size: 11px;
}

.frontline-task-head em {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  padding: 3px 9px;
  border-radius: 999px;
  background: var(--surface-soft);
  color: var(--ink);
  font-size: 11px;
  font-style: normal;
  font-weight: 750;
}

.frontline-task-row.is-active .frontline-task-head em {
  background: var(--brand-soft);
  color: var(--brand);
}

.frontline-task-body {
  display: grid;
  grid-template-columns: 1.5fr 1fr 0.9fr;
  gap: 10px;
  padding: 12px 0 10px 50px;
}

.frontline-task-body > span {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}

.frontline-task-body small {
  color: var(--text-soft);
  font-size: 11px;
}

.frontline-task-body strong {
  overflow: hidden;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.frontline-task-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-left: 50px;
  padding-top: 9px;
  border-top: 1px solid var(--line);
}

.frontline-task-foot > span:first-child {
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.frontline-task-foot > span:first-child strong {
  color: var(--ink-strong);
  font-size: 22px;
  line-height: 1;
}

.frontline-task-foot small {
  color: var(--text-soft);
  font-size: 11px;
}

.frontline-task-foot > span:last-child {
  display: flex;
  min-height: 32px;
  align-items: center;
  gap: 8px;
  color: var(--brand);
  font-size: 12px;
  font-weight: 750;
}

.frontline-task-foot > span:last-child svg {
  width: 16px;
  height: 16px;
}

.frontline-levels {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border-radius: var(--radius-sm);
  background: var(--line);
}

.frontline-levels > span {
  display: grid;
  min-height: 76px;
  grid-template-columns: 10px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 12px;
  background: #fff;
}

.frontline-levels i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.frontline-levels .severity-red { background: #c43a3a; }
.frontline-levels .severity-yellow { background: #d79712; }
.frontline-levels .severity-green { background: var(--brand); }

.frontline-levels small {
  color: var(--text-soft);
  font-size: 11px;
}

.frontline-levels strong {
  font-size: 20px;
}

.frontline-action-list,
.frontline-patient-list {
  margin-top: 14px;
}

.task-detail-overview,
.task-patient-section,
.task-empty-patients {
  border-radius: var(--radius-lg);
  background: #fff;
}

.task-detail-overview {
  overflow: hidden;
}

.task-detail-status {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
}

.task-detail-status > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}

.task-detail-status strong {
  font-size: 15px;
}

.task-detail-status small {
  overflow: hidden;
  color: var(--text-soft);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-detail-status > em {
  color: var(--text-soft);
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
}

.task-detail-facts {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 1.35fr;
  padding: 0 16px;
}

.task-detail-facts.two-columns {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.task-detail-facts > span {
  display: flex;
  min-width: 0;
  min-height: 62px;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  padding: 10px 14px 10px 0;
}

.task-detail-facts > span + span {
  padding-left: 14px;
  border-left: 1px solid var(--line);
}

.task-detail-facts small {
  color: var(--text-faint);
  font-size: 11px;
  font-weight: 650;
}

.task-detail-facts strong {
  overflow: hidden;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-patient-section,
.task-empty-patients {
  margin-top: 12px;
}

.task-section-head {
  display: flex;
  min-height: 64px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 16px;
}

.task-section-head.compact {
  min-height: 52px;
  padding-bottom: 6px;
}

.task-section-head > div {
  display: flex;
  min-width: 0;
  align-items: baseline;
  gap: 9px;
}

.task-section-head h2 {
  margin: 0;
  font-size: 20px;
}

.task-section-head span {
  color: var(--text-soft);
  font-size: 11px;
}

.task-inline-action {
  display: inline-flex;
  min-width: 84px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 13px;
  border: 0;
  border-radius: var(--radius-sm);
  background: var(--brand-soft);
  color: var(--brand);
  font-size: 12px;
  font-weight: 750;
}

.task-inline-action svg,
.task-patient-row > svg,
.task-patient-all svg,
.task-quick-action svg,
.task-empty-patients svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.task-patient-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 16px 4px;
  overflow: hidden;
  border-radius: var(--radius-sm);
  background: var(--surface-soft);
}

.task-patient-stats > span {
  display: grid;
  min-height: 52px;
  grid-template-columns: 8px minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
}

.task-patient-stats > span + span {
  border-left: 1px solid var(--line);
}

.task-patient-stats i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.task-patient-stats .severity-red,
.task-patient-level.severity-red { background: #c43a3a; }
.task-patient-stats .severity-yellow,
.task-patient-level.severity-yellow { background: #d79712; }
.task-patient-stats .severity-green,
.task-patient-level.severity-green { background: var(--brand); }

.task-patient-stats small {
  overflow: hidden;
  color: var(--text-soft);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-patient-stats strong {
  font-size: 17px;
}

.task-patient-preview {
  display: grid;
  gap: 8px;
  padding: 4px 16px 8px;
}

.task-patient-row {
  position: relative;
  display: grid;
  width: 100%;
  min-height: 96px;
  grid-template-columns: 38px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 12px;
  overflow: hidden;
  padding: 12px 12px 12px 15px;
  border: 0;
  border-radius: var(--radius-sm);
  background: var(--surface-soft);
  color: var(--ink);
  text-align: left;
}

.task-patient-row::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--brand);
  content: "";
}

.task-patient-row.severity-red::before { background: #c43a3a; }
.task-patient-row.severity-yellow::before { background: #d79712; }
.task-patient-row.severity-green::before { background: var(--brand); }

.task-patient-row > svg {
  color: var(--text-faint);
}

.task-patient-level {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 11px;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
}

.task-patient-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 6px;
}

.task-patient-identity {
  display: flex;
  align-items: center;
  gap: 8px;
}

.task-patient-identity strong {
  font-size: 13px;
}

.task-patient-identity > small {
  color: var(--text-faint);
  font-size: 11px;
  font-weight: 650;
}

.task-patient-identity em {
  margin-left: auto;
  color: var(--brand);
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
}

.task-patient-copy p {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: var(--text-soft);
  font-size: 11px;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.task-patient-meta {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
  color: var(--text-faint);
}

.task-patient-meta small,
.task-patient-meta time {
  overflow: hidden;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-patient-meta small + small,
.task-patient-meta time {
  padding-left: 7px;
  border-left: 1px solid var(--line-strong);
}

.task-patient-meta time {
  margin-left: auto;
}

.task-patient-all {
  display: flex;
  width: calc(100% - 32px);
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 4px 16px 14px;
  border: 0;
  border-radius: var(--radius-sm);
  background: var(--surface-soft);
  color: var(--brand);
  font-size: 12px;
  font-weight: 750;
}

.task-quick-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  background: var(--line);
}

.task-quick-actions.two-columns {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.task-quick-actions.single-column {
  grid-template-columns: minmax(0, 1fr);
}

.task-summary-actions {
  border-top: 1px solid var(--line);
  border-radius: 0;
}

.task-quick-action {
  display: grid;
  min-height: 86px;
  grid-template-columns: 36px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: center;
  align-items: center;
  gap: 2px 10px;
  padding: 12px;
  border: 0;
  background: #fff;
  color: var(--ink);
  text-align: left;
}

.task-quick-action > span {
  display: grid;
  width: 36px;
  height: 36px;
  grid-row: 1 / 3;
  place-items: center;
  border-radius: 11px;
  background: var(--surface-soft);
  color: var(--ink);
}

.task-quick-action.primary > span {
  background: var(--brand-soft);
  color: var(--brand);
}

.task-quick-action strong {
  align-self: end;
  font-size: 12px;
}

.task-quick-action small {
  align-self: start;
  overflow: hidden;
  color: var(--text-soft);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-empty-patients {
  display: grid;
  min-height: 112px;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  padding: 18px;
}

.task-empty-patients > span {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: var(--radius-sm);
  background: var(--surface-soft);
  color: var(--text-soft);
}

.task-empty-patients strong {
  font-size: 14px;
}

.task-empty-patients p {
  margin: 6px 0 0;
  color: var(--text-soft);
  font-size: 12px;
  line-height: 1.55;
}

.task-management-summary {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-bottom: 12px;
  padding: 2px 2px 10px;
}

.task-management-summary strong {
  font-size: 14px;
}

.task-management-summary small {
  color: var(--text-soft);
  font-size: 11px;
  line-height: 1.55;
}

.task-management-list .danger-list-action strong,
.task-management-list .danger-list-action em {
  color: var(--danger);
}

@media (max-width: 620px) {
  .task-detail-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .task-detail-facts .task-member-fact {
    grid-column: 1 / -1;
    min-height: 54px;
    padding-left: 0;
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .task-detail-status > em {
    display: none;
  }

  .task-detail-status {
    grid-template-columns: 44px minmax(0, 1fr);
  }

  .task-patient-stats > span {
    grid-template-columns: 8px minmax(0, 1fr);
  }

  .task-patient-stats strong {
    grid-column: 2;
    font-size: 16px;
  }

  .task-quick-action {
    min-height: 94px;
    grid-template-columns: 1fr;
    grid-template-rows: 34px auto auto;
    justify-items: center;
    gap: 3px;
    text-align: center;
  }

  .task-quick-action > span {
    width: 34px;
    height: 34px;
    grid-row: auto;
  }

  .task-patient-row {
    min-height: 110px;
    grid-template-columns: 36px minmax(0, 1fr) 16px;
    gap: 10px;
    padding-right: 10px;
  }

  .task-patient-level {
    width: 36px;
    height: 36px;
  }

  .task-patient-identity {
    flex-wrap: wrap;
    gap: 4px 7px;
  }

  .task-patient-identity em {
    margin-left: 0;
  }

  .task-patient-meta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 3px 8px;
  }

  .task-patient-meta small:nth-child(2) {
    grid-column: 1 / -1;
    grid-row: 2;
    padding-left: 0;
    border-left: 0;
  }

  .task-patient-meta time {
    grid-column: 2;
    grid-row: 1;
    margin-left: 0;
  }
}

.profile-secondary-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.patient-command-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: -2px 0 16px;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: #fff;
}

.profile-secondary-actions .secondary-button {
  gap: 8px;
  background: #fff;
}

.secondary-button svg,
.profile-secondary-actions svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.patient-command {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 88px;
  padding: 14px 16px;
  border: 0;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  transition:
    background 170ms ease-out,
    transform 170ms ease-out;
}

.patient-command + .patient-command {
  border-left: 1px solid var(--line);
}

.patient-command:active {
  background: var(--brand-soft);
  transform: scale(0.995);
}

.patient-command:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: -3px;
}

.patient-command-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: var(--brand-soft);
  color: var(--brand);
}

.patient-command-primary .patient-command-icon {
  background: var(--brand);
  color: #fff;
}

.patient-command-icon svg,
.patient-command-arrow {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.patient-command-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 5px;
}

.patient-command-copy strong {
  font-size: 15px;
  font-weight: 750;
  line-height: 1.25;
}

.patient-command-copy small {
  color: var(--text-soft);
  font-size: 12px;
  line-height: 1.4;
}

.patient-command .patient-command-arrow {
  width: 18px;
  height: 18px;
  color: #8796a7;
  stroke-width: 2;
}

.meeting-mode-switch {
  margin-bottom: 14px;
}

.meeting-mode-panel[hidden] {
  display: none;
}

.mission-current-card,
.workspace-section-block {
  margin-bottom: 16px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
}

.mission-current-card .workflow-summary {
  margin-bottom: 14px;
  padding: 0 0 14px;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
}

.workspace-section-block h2 {
  margin: 0 0 12px;
  font-size: 20px;
  letter-spacing: -0.025em;
}

.status-overview-list {
  display: flex;
  flex-direction: column;
}

.status-overview-list > span {
  display: grid;
  min-height: 58px;
  grid-template-columns: 10px minmax(0, 1fr);
  align-content: center;
  gap: 3px 10px;
  padding: 10px 2px;
  border-bottom: 1px solid var(--line);
}

.status-overview-list > span:last-child {
  border-bottom: 0;
}

.status-overview-list .status-dot {
  width: 9px;
  height: 9px;
  align-self: center;
  border-radius: 50%;
  background: var(--brand);
}

.status-overview-list .status-dot.warning {
  background: var(--warning);
}

.status-overview-list strong,
.status-overview-list small {
  grid-column: 2;
}

.status-overview-list strong {
  font-size: 13px;
}

.status-overview-list small {
  color: var(--text-soft);
  font-size: 12px;
  line-height: 1.45;
}

.mission-choice-list,
.triage-event-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.mission-choice-list > button,
.triage-event-list > button {
  display: grid;
  width: 100%;
  min-height: 92px;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
  cursor: pointer;
  text-align: left;
}

.mission-choice-list > button.active {
  border-color: rgba(0, 156, 135, 0.32);
  background: var(--brand-soft);
}

.mission-choice-list > button > span,
.triage-event-list > button > span {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 14px;
  background: var(--brand-soft);
  color: var(--brand);
}

.mission-choice-list svg,
.triage-event-list svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.mission-choice-list > button > div,
.triage-event-list > button > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}

.mission-choice-list strong,
.triage-event-list strong {
  font-size: 14px;
}

.mission-choice-list small,
.mission-choice-list p,
.triage-event-list small,
.triage-event-list p {
  margin: 0;
  color: var(--text-soft);
  font-size: 12px;
  line-height: 1.45;
}

.mission-choice-list em,
.triage-event-list em {
  color: var(--brand);
  font-size: 12px;
  font-style: normal;
  font-weight: 750;
}

.report-history-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.report-history-summary > span {
  display: flex;
  min-height: 82px;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
}

.report-history-summary small {
  color: var(--text-soft);
  font-size: 12px;
}

.report-history-summary strong {
  font-size: 24px;
  line-height: 1;
}

.report-record-heading small,
.report-record-time {
  color: var(--text-soft);
  font-size: 12px;
}

.report-filter-tabs {
  margin-bottom: 12px;
}

.report-filter-tabs button > span {
  white-space: nowrap;
}

.report-history-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 112px;
  gap: 10px;
  margin-bottom: 20px;
}

.report-history-search > label {
  display: grid;
  min-width: 0;
  min-height: var(--control-height);
  grid-template-columns: 22px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 0 13px;
  border: 1px solid var(--line-strong);
  border-radius: 14px;
  background: #fff;
  color: var(--text-soft);
}

.report-history-search > label:focus-within {
  border-color: var(--brand);
}

.report-history-search > label > svg,
.report-history-clear svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.report-history-search input {
  min-width: 0;
  height: 46px;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--ink);
  font-size: 13px;
}

.report-history-search input::placeholder {
  color: var(--text-faint);
}

.report-history-search input::-webkit-search-cancel-button {
  display: none;
}

.report-history-search > .primary-button {
  min-width: 0;
}

.report-history-clear {
  display: grid;
  width: 44px;
  height: 44px;
  margin-right: -10px;
  padding: 0;
  place-items: center;
  border: 0;
  background: transparent;
  color: var(--text-soft);
}

.report-record-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin: 0 2px 10px;
}

.report-record-heading strong {
  font-size: 20px;
}

.report-record-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.report-record-card {
  --report-accent: var(--brand);
  --report-soft: var(--brand-soft);
  display: grid;
  min-height: 44px;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: stretch;
  gap: 12px;
  padding: 14px 16px 14px 10px;
  border: 0;
  border-left: 3px solid var(--report-accent);
  border-radius: var(--radius-md);
  background: #fff;
  color: var(--ink);
  text-align: left;
}

.report-record-scene {
  --report-accent: var(--brand);
  --report-soft: var(--brand-soft);
}

.report-record-supply {
  --report-accent: var(--text-soft);
  --report-soft: var(--surface-soft);
}

.report-record-transfer {
  --report-accent: #3f556b;
  --report-soft: #eef1f4;
}

.report-record-help {
  --report-accent: var(--danger);
  --report-soft: rgba(217, 45, 32, 0.08);
}

.report-record-marker {
  display: flex;
  width: 100%;
  min-height: 84px;
  align-self: center;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: var(--report-accent);
  text-align: center;
}

.report-record-marker > strong {
  font-size: 11px;
  line-height: 1.35;
}

.report-record-icon {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 0;
  border-radius: 12px;
  background: var(--report-soft);
}

.report-record-icon svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.report-record-content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
}

.report-record-content > strong {
  font-size: 15px;
  line-height: 1.4;
}

.report-record-head,
.report-record-location {
  display: flex;
  align-items: center;
}

.report-record-head {
  justify-content: space-between;
  gap: 12px;
}

.report-record-code {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  padding: 2px 8px;
  border-radius: 7px;
  background: var(--surface-soft);
  color: var(--text-soft);
  font-family: "SF Mono", "Fira Code", monospace;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.report-record-status {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  padding: 2px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.report-record-status svg {
  width: 14px;
  height: 14px;
  margin-right: 4px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.report-record-status.success {
  background: var(--brand-soft);
  color: var(--brand);
}

.report-record-status.failure {
  background: rgba(202, 55, 55, 0.1);
  color: var(--danger);
}

.report-record-content p {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 13px;
  line-height: 1.6;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.report-record-location {
  gap: 6px;
  padding-top: 8px;
  border-top: 1px solid var(--line-soft);
  color: var(--text-soft);
  font-size: 12px;
}

.report-record-location svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
}

.report-record-location svg:last-child {
  margin-left: auto;
}

.report-record-empty {
  display: flex;
  min-height: 240px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
  text-align: center;
}

.report-record-empty > span {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 50%;
  background: var(--brand-soft);
  color: var(--brand);
}

.report-record-empty svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
}

.report-record-empty p {
  margin: 0;
  color: var(--text-soft);
  font-size: 13px;
}

.form-section-heading {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.form-section-heading > strong {
  font-size: 18px;
}

.form-section-heading .text-button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 6px;
}

.form-section-heading svg,
.supply-request-row > span svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
}

.supply-request-list {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
}

.supply-request-row {
  display: grid;
  min-height: 76px;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
}

.supply-request-row + .supply-request-row {
  border-top: 1px solid var(--line-soft);
}

.supply-request-row > span {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 11px;
  background: var(--brand-soft);
  color: var(--brand);
}

.supply-request-row > div:nth-child(2) {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}

.supply-request-row strong {
  font-size: 13px;
}

.supply-request-row small {
  color: var(--text-soft);
  font-size: 12px;
  line-height: 1.4;
}

.supply-quantity {
  display: grid;
  grid-template-columns: 44px 38px 44px;
  align-items: center;
  text-align: center;
}

.supply-quantity button {
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface-soft);
  color: var(--ink);
  font-size: 20px;
}

.transfer-count-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
}

.transfer-count-fields legend {
  padding: 0 6px;
  font-size: 14px;
  font-weight: 800;
}

.transfer-count-fields label {
  gap: 6px;
}

.medicine-picker-list {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
}

.medicine-picker-list button {
  display: grid;
  min-height: 72px;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 0;
  background: transparent;
  color: var(--ink);
  text-align: left;
}

.medicine-picker-list button + button {
  border-top: 1px solid var(--line-soft);
}

.medicine-picker-list button > span {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 11px;
  background: var(--brand-soft);
  color: var(--brand);
}

.medicine-picker-list button > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}

.medicine-picker-list small,
.medicine-picker-list em {
  color: var(--text-soft);
  font-size: 12px;
  font-style: normal;
}

.medicine-picker-list svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
}

.field-record-tabs {
  margin-bottom: 16px;
}

.transfer-patient-options {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
}

.transfer-patient-options label {
  display: grid;
  min-height: 68px;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
}

.transfer-patient-options label + label {
  border-top: 1px solid var(--line-soft);
}

.transfer-patient-options input {
  width: 24px;
  height: 24px;
  min-height: 24px;
  margin: 0;
  padding: 0;
  accent-color: var(--brand);
}

.transfer-patient-options label > span {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.transfer-patient-options small {
  color: var(--text-soft);
  font-size: 12px;
}

:is(.report-form, .meeting-member-list) input[type="checkbox"] {
  appearance: none;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  min-height: 24px;
  margin: 0;
  padding: 0;
  border: 1.5px solid var(--line-strong);
  border-radius: 6px;
  background: var(--surface);
  cursor: pointer;
}

:is(.report-form, .meeting-member-list) input[type="checkbox"]:checked {
  border-color: var(--brand);
  background-color: var(--brand);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4 10-10'/%3E%3C/svg%3E");
  background-size: 18px 18px;
  background-position: center;
  background-repeat: no-repeat;
}

:is(.report-form, .meeting-member-list) input[type="checkbox"]:focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; }
:is(.report-form, .meeting-member-list) input[type="checkbox"]:disabled { cursor: not-allowed; opacity: 0.55; }
.transfer-patient-options label { cursor: pointer; }

.history-patient-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.history-patient-list article {
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
}

.history-patient-list header,
.history-patient-list header > div {
  display: flex;
}

.history-patient-list header {
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.history-patient-list header > div {
  flex-direction: column;
  gap: 4px;
}

.history-patient-list small,
.history-patient-list p {
  color: var(--text-soft);
  font-size: 12px;
}

.history-patient-list header em {
  color: var(--danger);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.history-patient-list article > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.history-patient-list button {
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface-soft);
  color: var(--ink);
  font-size: 12px;
  font-weight: 750;
}

.triage-overview {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.triage-queue-code {
  width: 58px !important;
  color: var(--ink) !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.01em;
}

.triage-stepper {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 18px;
}

.triage-stepper > span {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  color: var(--text-faint);
  text-align: center;
}

.triage-stepper > span::after {
  position: absolute;
  top: 16px;
  left: calc(50% + 22px);
  width: calc(100% - 38px);
  height: 1px;
  background: var(--line-strong);
  content: "";
}

.triage-stepper > span:last-child::after {
  display: none;
}

.triage-stepper i {
  z-index: 1;
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  background: #fff;
  font-size: 12px;
  font-style: normal;
  font-weight: 750;
}

.triage-stepper i svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.triage-stepper strong {
  overflow: hidden;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.triage-stepper .active,
.triage-stepper .done {
  color: var(--brand);
}

.triage-stepper .active i,
.triage-stepper .done i {
  border-color: var(--brand);
  background: var(--brand);
  color: #fff;
}

.triage-result-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
  padding: 16px;
  border: 1px solid rgba(225, 163, 32, 0.34);
  border-radius: var(--radius-lg);
  background: rgba(225, 163, 32, 0.08);
}

.triage-result-card > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 5px;
}

.triage-result-card small,
.triage-result-card p {
  margin: 0;
  color: var(--text-soft);
  font-size: 12px;
  line-height: 1.5;
}

.triage-result-card strong {
  font-size: 15px;
}

.triage-result-card em {
  color: #8a6200;
  font-size: 11px;
  font-style: normal;
  font-weight: 750;
}

.completion-state {
  display: flex;
  min-height: 250px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
  text-align: center;
}

.completion-state > span {
  display: grid;
  width: 64px;
  height: 64px;
  margin-bottom: 16px;
  place-items: center;
  border-radius: 50%;
  background: var(--brand-soft);
  color: var(--brand);
}

.completion-state svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.completion-state strong {
  font-size: 20px;
}

.completion-state p {
  max-width: 480px;
  margin: 10px 0 0;
  color: var(--text-soft);
  font-size: 13px;
  line-height: 1.65;
}

.meeting-room {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(230px, 0.75fr);
  gap: 14px;
}

.meeting-room-stage,
.meeting-agenda-panel {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
}

.meeting-room-stage {
  overflow: hidden;
  background: var(--ink-strong);
}

.meeting-room-main {
  display: grid;
  min-height: 230px;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  align-items: end;
  gap: 13px;
  padding: 20px;
  color: #fff;
}

.meeting-room-main .avatar {
  width: 58px;
  height: 58px;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.meeting-room-main > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 5px;
}

.meeting-room-main strong {
  font-size: 17px;
}

.meeting-room-main small {
  color: rgba(255, 255, 255, 0.7);
  font-size: 12px;
}

.meeting-room-main em {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(0, 156, 135, 0.24);
  color: #fff;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
}

.meeting-room-main em svg,
.meeting-note-list svg,
.meeting-room-controls svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.meeting-room-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.meeting-room-grid article {
  display: flex;
  min-height: 124px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 12px 6px;
  border-right: 1px solid rgba(255, 255, 255, 0.12);
  color: #fff;
  text-align: center;
}

.meeting-room-grid article:last-child {
  border-right: 0;
}

.meeting-room-grid .avatar {
  width: 44px;
  height: 44px;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.meeting-room-grid strong {
  font-size: 12px;
}

.meeting-room-grid small {
  color: rgba(255, 255, 255, 0.66);
  font-size: 11px;
}

.meeting-room.camera-off .meeting-room-stage {
  background: #1c2938;
}

.meeting-agenda-panel {
  padding: 18px;
}

.meeting-agenda-panel header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--text-soft);
  font-size: 12px;
}

.meeting-agenda-panel header span {
  color: var(--brand);
  font-weight: 750;
}

.meeting-agenda-panel h2 {
  margin: 18px 0 10px;
  font-size: 19px;
  line-height: 1.35;
}

.meeting-agenda-panel > p {
  margin: 0;
  color: var(--text-soft);
  font-size: 13px;
  line-height: 1.6;
}

.meeting-note-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 18px;
}

.meeting-note-list span {
  display: grid;
  min-height: 48px;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 9px 10px;
  border-radius: var(--radius-sm);
  background: var(--surface-soft);
  color: var(--text-soft);
  font-size: 11px;
  line-height: 1.45;
}

.meeting-note-list .done {
  color: var(--ink);
}

.meeting-room-controls {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.workspace-footer .meeting-room-controls button {
  display: flex;
  min-width: 0;
  min-height: 56px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #fff;
  color: var(--text-soft);
  cursor: pointer;
  font-size: 11px;
  font-weight: 700;
}

.workspace-footer .meeting-room-controls button.active {
  border-color: rgba(0, 156, 135, 0.26);
  background: var(--brand-soft);
  color: var(--brand);
}

.workspace-footer .meeting-room-controls button.danger {
  border-color: rgba(217, 45, 32, 0.2);
  background: rgba(217, 45, 32, 0.07);
  color: var(--danger);
}

.command-thread,
.voice-command {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
}

.command-thread-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
  font-size: 13px;
}

.command-thread-head span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--brand);
  font-weight: 700;
}

.command-thread-head i,
.voice-roster i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--brand);
}

.command-message {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  padding: 15px 0;
  border-bottom: 1px solid var(--line);
}

.command-message .avatar {
  width: 44px;
  height: 44px;
  background: var(--brand-soft);
  color: var(--brand);
}

.command-message.self .avatar {
  background: var(--ink-strong);
  color: #fff;
}

.command-message strong {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
}

.command-message time {
  color: var(--text-faint);
  font-size: 11px;
  font-weight: 500;
}

.command-message p {
  margin: 7px 0 0;
  color: var(--text-soft);
  font-size: 13px;
  line-height: 1.6;
}

.command-thread > .primary-button {
  width: 100%;
  margin-top: 16px;
}

.voice-roster {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
}

.voice-roster span {
  display: grid;
  min-height: 64px;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 11px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--line);
}

.voice-roster span:last-child {
  border-bottom: 0;
}

.voice-roster strong {
  font-size: 13px;
}

.voice-roster small {
  color: var(--text-soft);
  font-size: 12px;
}

.voice-talk-button {
  display: flex;
  width: 210px;
  height: 210px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin: 22px auto 4px;
  border: 8px solid var(--brand-soft);
  border-radius: 50%;
  background: var(--brand);
  color: #fff;
  cursor: pointer;
  touch-action: none;
  transition: transform 170ms ease-out;
}

.voice-talk-button.talking {
  transform: scale(0.96);
}

.voice-talk-button svg {
  width: 38px;
  height: 38px;
  margin-bottom: 6px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.voice-talk-button strong {
  font-size: 18px;
}

.voice-talk-button small {
  color: rgba(255, 255, 255, 0.82);
  font-size: 12px;
}

.profile-secondary-actions {
  margin-top: 18px;
}

.profile-logout {
  color: var(--danger);
}

.workflow-summary,
.voiceprint-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  margin-bottom: 14px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
}

.workflow-summary > div,
.voiceprint-card > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 5px;
}

.workflow-summary strong,
.voiceprint-card strong {
  font-size: 14px;
}

.workflow-summary small,
.voiceprint-card small {
  color: var(--text-soft);
  font-size: 12px;
}

.workflow-summary em,
.voiceprint-card em,
.document-list em {
  color: var(--brand);
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
}

.workflow-badge,
.voiceprint-card > span,
.document-list button > span {
  display: grid;
  width: 44px;
  height: 44px;
  flex: none;
  place-items: center;
  border-radius: var(--radius-sm);
  background: var(--brand-soft);
  color: var(--brand);
}

.workflow-badge svg,
.voiceprint-card svg,
.document-list svg,
.module-grid svg,
.inline-action svg,
.confirm-panel svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.tracking-list {
  display: flex;
  flex-direction: column;
  margin: 14px 0;
  padding: 2px 0;
}

.tracking-list > span {
  position: relative;
  display: grid;
  min-height: 68px;
  grid-template-columns: 26px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: center;
  column-gap: 12px;
  row-gap: 5px;
  color: var(--text-faint);
}

.tracking-list > span::after {
  position: absolute;
  top: 42px;
  bottom: -26px;
  left: 12px;
  width: 2px;
  background: var(--line-strong);
  content: "";
}

.tracking-list > span.done::after {
  background: var(--brand);
}

.tracking-list > span:last-child::after {
  display: none;
}

.tracking-list i {
  position: relative;
  z-index: 1;
  width: 26px;
  height: 26px;
  grid-row: 1 / 3;
  align-self: center;
  border: 2px solid var(--line-strong);
  border-radius: 50%;
  background: #fff;
}

.tracking-list .done i {
  border-color: var(--brand);
  background: var(--brand);
}

.tracking-list .done i::before {
  position: absolute;
  top: 6px;
  left: 6px;
  width: 10px;
  height: 6px;
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
  content: "";
  transform: rotate(-45deg);
}

.tracking-list .active i {
  border: 3px solid var(--brand);
  background: #fff;
  outline: 4px solid var(--brand-soft);
}

.tracking-list .active i::before {
  position: absolute;
  inset: 5px;
  border-radius: 50%;
  background: var(--brand);
  content: "";
}

.tracking-list strong {
  grid-column: 2;
  font-size: 13px;
  line-height: 1.4;
}

.tracking-list small {
  display: flex;
  min-width: 0;
  grid-column: 2;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  color: var(--text-soft);
  font-size: 11px;
  line-height: 1.4;
}

.tracking-list small b {
  color: inherit;
  font-size: 11px;
  font-weight: 800;
}

.tracking-list .done small b {
  color: var(--brand);
}

.tracking-list .active strong,
.tracking-list .active small b {
  color: var(--brand);
}

.tracking-list .done,
.tracking-list .active {
  color: var(--ink);
}

.report-tracking-section {
  margin-top: 14px;
}

.tracking-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 4px;
}

.tracking-section-head h2 {
  margin: 0;
  font-size: 20px;
}

.tracking-section-head > span {
  color: var(--brand);
  font-size: 12px;
  font-weight: 800;
}

.report-tracking-list {
  margin-top: 4px;
}

.module-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.module-grid button {
  display: grid;
  min-height: 78px;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #fff;
  color: var(--brand);
  cursor: pointer;
  text-align: left;
}

.module-grid span {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}

.module-grid strong {
  color: var(--ink);
  font-size: 13px;
}

.module-grid small {
  color: var(--text-soft);
  font-size: 11px;
}

.record-tabs {
  margin-bottom: 14px;
}

.classification-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 13px;
  margin-bottom: 14px;
  padding: 14px;
  border: 1px solid rgba(217, 45, 32, 0.18);
  border-radius: var(--radius-lg);
  background: rgba(217, 45, 32, 0.06);
}

.classification-card > div {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.classification-card strong {
  font-size: 14px;
}

.classification-card small {
  color: var(--text-soft);
  font-size: 12px;
}

.record-score-grid {
  margin-top: 14px;
}

.record-section {
  margin-top: 14px;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
}

.record-section h3 {
  margin: 0 0 8px;
  font-size: 15px;
}

.record-section p {
  margin: 0;
  color: var(--text-soft);
  font-size: 13px;
  line-height: 1.7;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.vital-grid,
.signature-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

.vital-grid span,
.signature-grid span {
  display: flex;
  min-height: 72px;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #fff;
}

.vital-grid small,
.signature-grid small {
  color: var(--text-faint);
  font-size: 11px;
}

.vital-grid strong,
.signature-grid strong {
  font-size: 14px;
}

.vital-grid em {
  color: var(--text-soft);
  font-size: 11px;
  font-style: normal;
}

.record-timeline article {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}

.record-timeline article:last-child {
  border-bottom: 0;
}

.record-timeline time {
  color: var(--brand);
  font-size: 12px;
  font-weight: 700;
}

.record-timeline strong {
  font-size: 14px;
}

.record-timeline p {
  margin: 6px 0 0;
  color: var(--text-soft);
  font-size: 12px;
  line-height: 1.6;
}

.document-list {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
}

.document-list button {
  display: grid;
  width: 100%;
  min-height: 72px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  cursor: pointer;
  text-align: left;
}

.document-list button:last-child {
  border-bottom: 0;
}

.document-list button > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 5px;
}

.document-list strong {
  font-size: 13px;
}

.document-list small {
  color: var(--text-soft);
  font-size: 11px;
}

.medical-document {
  color: var(--ink);
}

.medical-document-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}

.medical-document-head strong {
  font-size: 16px;
}

.medical-document-head span {
  color: var(--text-soft);
  font-size: 11px;
}

.medical-document section {
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}

.medical-document section:last-child {
  border-bottom: 0;
}

.medical-document h3 {
  margin: 0 0 8px;
  font-size: 15px;
}

.medical-document p {
  margin: 0;
  color: var(--text-soft);
  font-size: 13px;
  line-height: 1.75;
}

.compact-confirm {
  min-height: 220px;
}

.scan-surface,
.confirm-panel {
  display: flex;
  min-height: 250px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
  text-align: center;
}

.scan-surface > span,
.confirm-panel > span {
  display: grid;
  width: 76px;
  height: 76px;
  place-items: center;
  margin-bottom: 18px;
  border-radius: var(--radius-lg);
  background: var(--brand-soft);
  color: var(--brand);
}

.scan-surface svg,
.confirm-panel svg {
  width: 34px;
  height: 34px;
}

.scan-surface strong,
.confirm-panel strong {
  font-size: 17px;
}

.scan-surface small,
.confirm-panel p {
  max-width: 440px;
  margin: 9px 0 0;
  color: var(--text-soft);
  font-size: 12px;
  line-height: 1.65;
}

.inline-action {
  display: inline-flex;
  width: 100%;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 12px;
  border: 1px solid rgba(0, 156, 135, 0.22);
  border-radius: var(--radius-sm);
  background: var(--brand-soft);
  color: var(--brand);
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
}

.signature-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 14px;
}

.discard-warning {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  padding: 13px 14px;
  border: 1px solid rgba(217, 45, 32, 0.18);
  border-radius: var(--radius-sm);
  background: rgba(217, 45, 32, 0.06);
}

.discard-warning > span {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: var(--radius-sm);
  background: rgba(217, 45, 32, 0.1);
  color: var(--danger);
}

.discard-warning svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.discard-warning > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}

.discard-warning strong {
  font-size: 13px;
}

.discard-warning small {
  color: var(--text-soft);
  font-size: 11px;
}

.voiceprint-progress {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-bottom: 16px;
}

.voiceprint-progress span {
  display: grid;
  min-height: 34px;
  place-items: center;
  border-radius: 999px;
  background: var(--surface-soft);
  color: var(--text-faint);
  font-size: 12px;
  font-weight: 700;
}

.voiceprint-progress .done,
.voiceprint-progress .active {
  background: var(--brand-soft);
  color: var(--brand);
}

.voiceprint-progress .active {
  outline: 2px solid var(--brand);
  outline-offset: -2px;
}

.voiceprint-capture {
  display: flex;
  min-height: 280px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
  text-align: center;
}

.voiceprint-capture > span {
  display: grid;
  width: 72px;
  height: 72px;
  place-items: center;
  margin-bottom: 16px;
  border-radius: 50%;
  background: var(--brand);
  color: #fff;
}

.voiceprint-capture svg {
  width: 32px;
  height: 32px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.voiceprint-capture small {
  color: var(--text-soft);
  font-size: 12px;
}

.voiceprint-capture strong {
  margin-top: 10px;
  font-size: 18px;
}

.voiceprint-capture p {
  max-width: 420px;
  margin: 12px 0 0;
  color: var(--text-soft);
  font-size: 12px;
  line-height: 1.65;
}

.route-map {
  position: relative;
  min-height: 330px;
  margin-bottom: 14px;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: var(--ink-strong);
}

.route-map::before,
.route-map::after {
  position: absolute;
  border: 1px solid rgba(0, 156, 135, 0.26);
  border-radius: 46% 54% 38% 62%;
  content: "";
  transform: rotate(-10deg);
}

.route-map::before {
  top: 28px;
  right: -60px;
  width: 390px;
  height: 190px;
}

.route-map::after {
  right: 20px;
  bottom: 24px;
  width: 300px;
  height: 130px;
}

.route-map-line {
  position: absolute;
  z-index: 1;
  height: 2px;
  background: var(--brand);
  transform-origin: left center;
}

.route-map-line.line-a {
  top: 166px;
  left: 24%;
  width: 33%;
  transform: rotate(-18deg);
}

.route-map-line.line-b {
  top: 141px;
  left: 54%;
  width: 30%;
  transform: rotate(22deg);
}

.route-point {
  position: absolute;
  z-index: 2;
  display: flex;
  min-width: 150px;
  min-height: 60px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 3px;
  padding: 10px 12px 10px 34px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: var(--radius-sm);
  background: #16263a;
  color: #fff;
  cursor: pointer;
  text-align: left;
}

.route-point i {
  position: absolute;
  top: 18px;
  left: 13px;
  width: 12px;
  height: 12px;
  border: 3px solid var(--brand);
  border-radius: 50%;
  background: #fff;
}

.route-point strong {
  font-size: 13px;
}

.route-point small {
  color: rgba(255, 255, 255, 0.62);
  font-size: 11px;
}

.route-point.active {
  border-color: var(--brand);
  background: var(--brand);
}

.route-point.active i {
  border-color: #fff;
  background: var(--brand);
}

.point-command {
  top: 34px;
  left: 7%;
}

.point-current {
  top: 112px;
  left: 39%;
}

.point-transfer {
  right: 7%;
  bottom: 34px;
}

.scan-panel {
  display: flex;
  min-height: 340px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
  text-align: center;
}

.scan-frame {
  position: relative;
  display: grid;
  width: 210px;
  height: 210px;
  place-items: center;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--surface-soft);
  color: var(--brand);
}

.scan-frame > span {
  display: grid;
  width: 68px;
  height: 68px;
  place-items: center;
  border-radius: 50%;
  background: var(--brand-soft);
}

.scan-frame svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.scan-corner {
  position: absolute;
  width: 38px;
  height: 38px;
  border-color: var(--brand);
  border-style: solid;
}

.scan-corner-a { top: 18px; left: 18px; border-width: 3px 0 0 3px; border-radius: 10px 0 0; }
.scan-corner-b { top: 18px; right: 18px; border-width: 3px 3px 0 0; border-radius: 0 10px 0 0; }
.scan-corner-c { right: 18px; bottom: 18px; border-width: 0 3px 3px 0; border-radius: 0 0 10px; }
.scan-corner-d { bottom: 18px; left: 18px; border-width: 0 0 3px 3px; border-radius: 0 0 0 10px; }

.scan-line {
  position: absolute;
  top: 34px;
  right: 28px;
  left: 28px;
  height: 2px;
  border-radius: 2px;
  background: var(--brand);
  animation: scan-line 1.35s ease-in-out infinite alternate;
}

.scan-copy {
  display: flex;
  max-width: 440px;
  flex-direction: column;
  gap: 8px;
}

.scan-copy strong {
  color: var(--ink-strong);
  font-size: 18px;
}

.scan-copy small {
  color: var(--text-soft);
  font-size: 12px;
  line-height: 1.65;
}

.scan-result-card,
.device-binding-card,
.recognition-summary,
.network-status-card {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 17px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
}

.scan-result-card {
  margin-bottom: 14px;
}

.scan-result-card > span,
.device-binding-card > span,
.recognition-summary > span,
.network-status-card > span {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 15px;
  background: var(--brand-soft);
  color: var(--brand);
}

.scan-result-card.is-empty > span {
  background: rgba(217, 45, 32, 0.08);
  color: var(--danger);
}

.scan-result-card svg,
.device-binding-card svg,
.recognition-summary svg,
.network-status-card svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.scan-result-card > div,
.device-binding-card > div,
.recognition-summary > div,
.network-status-card > div {
  min-width: 0;
}

.scan-result-card strong,
.device-binding-card strong,
.recognition-summary strong {
  display: block;
  color: var(--ink-strong);
  font-size: 14px;
}

.scan-result-card p,
.network-status-card p {
  margin: 6px 0 0;
  color: var(--text-soft);
  font-size: 12px;
  line-height: 1.6;
}

.section-status-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
  color: var(--text-soft);
  font-size: 11px;
}

.section-status-line strong {
  color: var(--ink);
  font-size: 13px;
}

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

.patient-photo-grid button {
  display: grid;
  min-height: 118px;
  grid-template-columns: 72px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
  cursor: pointer;
  text-align: left;
}

.patient-photo-visual {
  position: relative;
  display: grid;
  width: 72px;
  height: 82px;
  place-items: center;
  border-radius: 13px;
  background: var(--surface-soft);
  color: var(--brand);
}

.patient-photo-visual svg {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.patient-photo-visual em {
  position: absolute;
  right: 7px;
  bottom: 7px;
  display: grid;
  min-width: 22px;
  height: 22px;
  place-items: center;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--brand);
  color: #fff;
  font-size: 11px;
  font-style: normal;
  font-weight: 750;
}

.patient-photo-grid button > span:nth-child(2) {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 6px;
}

.patient-photo-grid strong {
  font-size: 13px;
}

.patient-photo-grid small {
  color: var(--text-soft);
  font-size: 11px;
  line-height: 1.5;
}

.patient-photo-grid button > svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: var(--text-faint);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.patient-photo-preview {
  display: flex;
  min-height: 320px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 14px;
  border-radius: var(--radius-lg);
  background: var(--ink-strong);
  color: #fff;
  text-align: center;
}

.patient-photo-preview svg {
  width: 50px;
  height: 50px;
  margin-bottom: 8px;
  fill: none;
  stroke: var(--brand);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.patient-photo-preview strong {
  font-size: 20px;
}

.patient-photo-preview small {
  color: rgba(255, 255, 255, 0.66);
  font-size: 12px;
}

.device-binding-card {
  margin-bottom: 14px;
}

.device-binding-card > div {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.device-binding-card small,
.recognition-summary small {
  color: var(--text-soft);
  font-size: 11px;
}

.device-binding-card em,
.network-status-card em {
  padding: 6px 9px;
  border-radius: 999px;
  background: var(--surface-soft);
  color: var(--text-soft);
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
}

.device-binding-card.is-bound em,
.network-status-card em {
  background: var(--brand-soft);
  color: var(--brand);
}

.entry-mode-switch {
  margin-bottom: 16px;
}

.recognition-summary {
  margin-bottom: 14px;
  background: var(--brand-soft);
}

.voice-entry-hero,
.voice-recording-card,
.medical-transcript-complete {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
}

.voice-entry-hero {
  display: flex;
  min-height: 290px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 28px;
  text-align: center;
}

.voice-entry-hero > span {
  display: grid;
  width: 84px;
  height: 84px;
  place-items: center;
  margin-bottom: 18px;
  border-radius: 50%;
  background: var(--brand);
  color: #fff;
}

.voice-entry-hero svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.voice-entry-hero strong {
  color: var(--ink-strong);
  font-size: 20px;
}

.voice-entry-hero p {
  max-width: 480px;
  margin: 10px 0 16px;
  color: var(--text-soft);
  font-size: 13px;
  line-height: 1.7;
}

.voice-entry-hero small {
  color: var(--brand);
  font-size: 12px;
  font-weight: 700;
}

.voice-entry-tips {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.voice-entry-tips span {
  display: flex;
  min-height: 48px;
  align-items: center;
  gap: 8px;
  padding: 9px 11px;
  border-radius: var(--radius-sm);
  background: var(--surface-soft);
  color: var(--text-soft);
  font-size: 11px;
}

.voice-entry-tips i {
  display: grid;
  width: 24px;
  height: 24px;
  flex: none;
  place-items: center;
  border-radius: 50%;
  background: var(--brand-soft);
  color: var(--brand);
  font-style: normal;
  font-weight: 750;
}

.voice-recording-card {
  display: grid;
  min-height: 124px;
  grid-template-columns: 60px minmax(0, 1fr) repeat(5, 5px);
  align-items: center;
  gap: 10px;
  padding: 20px;
}

.voice-recording-card > span {
  display: grid;
  width: 60px;
  height: 60px;
  place-items: center;
  border-radius: 50%;
  background: var(--brand);
  color: #fff;
}

.voice-recording-card svg {
  width: 26px;
  height: 26px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.voice-recording-card > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 6px;
}

.voice-recording-card strong {
  font-size: 15px;
}

.voice-recording-card small {
  color: var(--text-soft);
  font-size: 11px;
}

.voice-recording-card > i {
  height: 28px;
  border-radius: 999px;
  background: var(--brand);
  animation: voice-level 820ms ease-in-out infinite alternate;
}

.voice-recording-card > i:nth-last-child(2) { animation-delay: 120ms; }
.voice-recording-card > i:nth-last-child(3) { animation-delay: 240ms; }
.voice-recording-card > i:nth-last-child(4) { animation-delay: 360ms; }
.voice-recording-card > i:nth-last-child(5) { animation-delay: 480ms; }

.live-transcript {
  margin-top: 12px;
  padding: 17px;
  border-radius: var(--radius-md);
  background: var(--surface-soft);
}

.live-transcript small {
  color: var(--brand);
  font-size: 11px;
  font-weight: 750;
}

.live-transcript p,
.medical-transcript-complete p {
  margin: 9px 0 0;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.8;
}

.medical-transcript-complete {
  overflow: hidden;
}

.medical-transcript-complete header {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 15px 16px;
  border-bottom: 1px solid var(--line);
}

.medical-transcript-complete header > span {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 13px;
  background: var(--brand-soft);
  color: var(--brand);
}

.medical-transcript-complete header svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.medical-transcript-complete header div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.medical-transcript-complete header strong {
  font-size: 14px;
}

.medical-transcript-complete header small {
  color: var(--text-soft);
  font-size: 11px;
}

.medical-transcript-complete header em {
  color: var(--brand);
  font-size: 13px;
  font-style: normal;
  font-weight: 750;
}

.medical-transcript-complete > p {
  margin: 0;
  padding: 17px;
}

.analysis-step-list {
  display: flex;
  flex-direction: column;
  margin-top: 12px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
}

.analysis-step-list span {
  display: grid;
  min-height: 62px;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--line);
}

.analysis-step-list span:last-child {
  border-bottom: 0;
}

.analysis-step-list svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: var(--brand);
  stroke-width: 1.8;
}

.analysis-step-list strong {
  font-size: 12px;
}

.analysis-step-list small {
  color: var(--text-soft);
  font-size: 11px;
}

.network-status-card {
  margin-bottom: 12px;
}

.network-status-card > span.is-testing svg {
  animation: network-pulse 900ms ease-in-out infinite alternate;
}

.network-status-card small {
  color: var(--text-faint);
  font-size: 11px;
}

.network-status-card strong {
  display: block;
  margin-top: 4px;
  font-size: 16px;
}

.network-metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.network-metric-grid > span {
  display: flex;
  min-height: 104px;
  flex-direction: column;
  justify-content: center;
  gap: 9px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
}

.network-metric-grid small {
  color: var(--text-soft);
  font-size: 11px;
}

.network-metric-grid strong {
  color: var(--ink-strong);
  font-family: "SF Mono", "Fira Code", monospace;
  font-size: 20px;
}

.network-metric-grid em {
  color: var(--text-soft);
  font-family: inherit;
  font-size: 11px;
  font-style: normal;
}

.network-quality-list {
  margin-top: 12px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
}

.network-quality-list > div {
  position: relative;
  display: grid;
  min-height: 62px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 10px 14px 15px;
  border-bottom: 1px solid var(--line);
}

.network-quality-list > div:last-child {
  border-bottom: 0;
}

.network-quality-list span,
.network-quality-list strong {
  font-size: 12px;
}

.network-quality-list strong {
  color: var(--brand);
}

.network-quality-list i {
  position: absolute;
  right: 14px;
  bottom: 9px;
  left: 14px;
  height: 3px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--surface-soft);
}

.network-quality-list i::after {
  display: block;
  width: var(--quality);
  height: 100%;
  border-radius: inherit;
  background: var(--brand);
  content: "";
}

@keyframes scan-line {
  from { transform: translateY(0); }
  to { transform: translateY(140px); }
}

@keyframes voice-level {
  from { transform: scaleY(0.35); }
  to { transform: scaleY(1); }
}

@keyframes network-pulse {
  from { transform: scale(0.88); opacity: 0.55; }
  to { transform: scale(1.08); opacity: 1; }
}

@media (hover: hover) and (pointer: fine) {
  .icon-button:hover,
  .secondary-button:hover {
    border-color: rgba(0, 156, 135, 0.22);
    background: var(--brand-soft);
  }

  .task-card:hover,
  .meeting-row:hover {
    border-color: rgba(0, 156, 135, 0.22);
    transform: translateY(-2px);
  }

  .patient-level-switch button:hover {
    background: rgba(255, 255, 255, 0.62);
    color: var(--ink);
  }

  .patient-level-switch button.active:hover {
    background: #fff;
    color: var(--brand);
  }

  .action-tile:hover,
  .profile-list button:hover,
  .patient-row:hover,
  .timeline-row:hover,
  .notification-item:hover {
    background: var(--brand-soft);
  }

  .action-tile:hover .action-icon {
    background: var(--brand);
    color: white;
  }

  .nav-item:hover {
    background: rgba(0, 156, 135, 0.06);
  }

  .hero-detail:hover {
    background: rgba(4, 10, 10, 0.28);
  }
}

@media (max-width: 620px) {
  :root { --nav-height: 110px; --navigation-clearance: calc(96px + env(safe-area-inset-bottom, 0px)); }
  .app-page { padding: 16px 18px 22px; }
  .content-section { margin-top: 20px; }
  .section-heading { margin-bottom: 8px; }
  .section-heading h2 { font-size: 20px; }
  .alert-strip { min-height: 72px; padding: 12px 14px; margin-top: 12px; }
  .workspace-header { padding-inline: 16px; }
  .workspace-header h1 { font-size: 24px; }
  .workspace-body { padding: 16px 16px 22px; }
  .workspace-footer { padding: 10px 16px 14px; }
  .system-bar { padding-inline: 20px; }
  .mission-hero { min-height: 188px; padding: 18px; }
  .hero-content { margin-top: 22px; }
  .hero-content h1 { font-size: 32px; }
  .hero-detail { right: 18px; bottom: 18px; }
  .mission-meta { max-width: 66%; }
  .action-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .action-tile { min-height: 92px; }
  .bottom-nav { left: 18px; right: 18px; bottom: calc(14px + env(safe-area-inset-bottom, 0px)); }
  .sos-panel {
    min-height: 404px;
    gap: 8px;
    padding: 12px 18px 6px;
  }
  .sos-copy h2 { font-size: 24px; }
  .sos-copy p { font-size: 12px; }
  .sos-action { width: 216px; height: 216px; }
  .sos-hold-button { width: 216px; height: 216px; padding: 18px; }
  .sos-hold-button::before,
  .sos-hold-button::after,
  .sos-wave { inset: 18px; }
  .sos-hold-ring { width: 180px; height: 180px; }
  .patient-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .patient-summary article { padding: 13px; }
  .patient-command {
    grid-template-columns: 44px minmax(0, 1fr) 16px;
    gap: 10px;
    min-height: 84px;
    padding: 12px;
  }
  .patient-command-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
  }
  .patient-command-copy strong { font-size: 14px; }
  .patient-command-copy small { font-size: 11px; }
  .patient-command .patient-command-arrow {
    width: 16px;
    height: 16px;
  }
  .mission-current-card,
  .workspace-section-block {
    padding: 14px;
  }
  .mission-choice-list > button,
  .triage-event-list > button {
    min-height: 86px;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    gap: 10px;
    padding: 12px;
  }
  .mission-choice-list > button > span,
  .triage-event-list > button > span {
    width: 44px;
    height: 44px;
    border-radius: 12px;
  }
  .report-history-summary {
    gap: 8px;
  }
  .report-history-summary > span {
    min-height: 74px;
    padding: 11px;
  }
  .report-history-summary strong {
    font-size: 21px;
  }
  .report-filter-tabs {
    gap: 3px;
  }
  .report-filter-tabs button {
    min-height: var(--control-height);
    gap: 4px;
    padding-inline: 4px;
  }
  .report-filter-tabs button > span {
    font-size: 11px;
  }
  .report-filter-tabs button strong {
    font-size: 14px;
  }
  .report-history-search {
    grid-template-columns: minmax(0, 1fr) 88px;
  }
  .report-record-card {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 10px;
    padding: 12px;
    padding-left: 8px;
  }
  .triage-result-card {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .triage-result-card em {
    grid-column: 2;
  }
  .meeting-room {
    grid-template-columns: 1fr;
  }
  .meeting-room-main {
    min-height: 180px;
  }
  .meeting-room-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .meeting-room-grid article {
    min-height: 104px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }
  .meeting-room-grid article:nth-child(2n) {
    border-right: 0;
  }
  .meeting-room-grid article:nth-last-child(-n + 2) {
    border-bottom: 0;
  }
  .meeting-room-controls {
    gap: 5px;
  }
  .workspace-footer .meeting-room-controls button {
    min-height: 54px;
    padding-inline: 3px;
  }
  .patient-row { grid-template-columns: auto 1fr auto; }
  .patient-meta { display: none; }
  .patient-photo-grid { grid-template-columns: 1fr; }
  .patient-photo-grid button { min-height: 104px; }
  .network-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .network-status-card {
    grid-template-columns: 48px minmax(0, 1fr);
  }
  .network-status-card > span { width: 48px; height: 48px; }
  .network-status-card > em { grid-column: 2; justify-self: start; }
  .voice-entry-tips { grid-template-columns: 1fr; }
  .voice-recording-card {
    grid-template-columns: 54px minmax(0, 1fr) repeat(5, 4px);
    padding: 16px;
  }
  .voice-recording-card > span { width: 54px; height: 54px; }
  .participant-one { left: 1%; }
  .participant-two { right: 1%; }
  .participant-three { right: 4%; }
}

@media (max-height: 820px) {
  :root { --nav-height: 110px; }
  .system-bar { flex-basis: 24px; }
  .app-page { padding-top: 12px; }
  .mission-hero { min-height: 188px; }
  .hero-content { margin-top: 22px; }
  .content-section { margin-top: 22px; }
}

@media (prefers-reduced-transparency: reduce) {
  .bottom-nav { background: var(--surface); backdrop-filter: none; -webkit-backdrop-filter: none; }
}

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

/* Shared segmented-tab primitive: filters, view switches and record tabs. */
.segmented-tabs {
  display: grid;
  gap: 4px;
  padding: 4px;
  overflow: visible;
  border: 0;
  border-radius: 30px;
  background: #e9edf1;
}

.segmented-tabs button {
  display: inline-flex;
  min-width: 0;
  min-height: var(--control-height);
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 6px 10px;
  border: 1px solid transparent;
  border-radius: 26px;
  background: transparent;
  color: var(--text-soft);
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}

.segmented-tabs button.active,
.segmented-tabs button[aria-selected="true"],
.segmented-tabs button[aria-pressed="true"] {
  background: #fff;
  border-color: var(--brand);
  color: var(--ink-strong);
}

.segmented-tabs button > small,
.segmented-tabs button > strong {
  display: grid;
  min-width: 24px;
  height: 24px;
  grid-column: auto;
  place-items: center;
  padding: 0 6px;
  border-radius: 999px;
  background: rgba(17, 32, 51, 0.07);
  color: inherit;
  font-family: inherit;
  font-size: 11px;
  font-weight: 750;
}

.segmented-tabs button.active > small,
.segmented-tabs button.active > strong,
.segmented-tabs button[aria-selected="true"] > small,
.segmented-tabs button[aria-selected="true"] > strong,
.segmented-tabs button[aria-pressed="true"] > small,
.segmented-tabs button[aria-pressed="true"] > strong {
  background: var(--brand-soft);
}

.segmented-tabs svg {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.record-tabs {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.patient-level-switch { grid-template-columns: repeat(5, minmax(0, 1fr)); }

.meeting-mode-switch,
.field-record-tabs {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.entry-mode-switch,
.meeting-roster-filter {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.report-filter-tabs {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

@media (max-width: 620px) {
  .segmented-tabs {
    gap: 3px;
    padding: 3px;
  }

  .segmented-tabs button {
    gap: 4px;
    padding-inline: 5px;
    font-size: 11px;
  }

  .segmented-tabs button > small,
  .segmented-tabs button > strong {
    min-width: 21px;
    height: 21px;
    padding-inline: 5px;
  }

}
.meeting-page.prototype-aligned > .meeting-mode-switch,
.meeting-page.prototype-aligned > .meeting-mode-panel,
.meeting-page.prototype-aligned > .meeting-list-section {
  display: none;
}

.meeting-entry-hub {
  display: grid;
  gap: 14px;
}

.meeting-empty-state {
  min-height: 230px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 10px;
  padding: 24px 32px;
  text-align: center;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.meeting-empty-state > span {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  color: var(--brand);
  background: rgba(0, 156, 135, 0.1);
  border-radius: 50%;
}

.meeting-empty-state svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.meeting-empty-state strong {
  font-size: 22px;
}

.meeting-empty-state p {
  max-width: 460px;
  margin: 0;
  color: var(--text-soft);
  font-size: 14px;
  line-height: 1.7;
}

.meeting-member-list {
  display: grid;
  overflow: hidden;
  background: #fff;
  border-radius: 20px;
}

.meeting-member-list > label {
  min-height: 76px;
  display: grid;
  grid-template-columns: 48px 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  text-align: left;
}

.meeting-member-list > label:last-child {
  border-bottom: 0;
}

.meeting-member-list strong {
  display: block;
  font-size: 16px;
}

.meeting-member-list small {
  display: block;
  margin-top: 4px;
  color: var(--text-soft);
  font-size: 12px;
}

.meeting-entry-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: var(--surface);
}

.meeting-entry-grid > button {
  min-width: 0;
  min-height: 92px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 16px;
  padding: 18px 22px;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: var(--ink);
  text-align: left;
}

.meeting-entry-grid > button:active {
  background: var(--brand-soft);
}

.meeting-entry-icon {
  width: 48px;
  height: 48px;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 14px;
  background: var(--brand-soft);
  color: var(--brand);
}

.meeting-entry-icon svg,
.meeting-entry-action svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.meeting-entry-icon svg {
  width: 23px;
  height: 23px;
}

.meeting-entry-grid > button > div {
  min-width: 0;
  flex: 1;
}

.meeting-entry-eyebrow {
  display: block;
  margin-bottom: 5px;
  color: var(--brand);
  font-size: 11px;
  font-weight: 700;
}

.meeting-entry-grid strong {
  display: block;
  font-size: 20px;
  line-height: 1.35;
}

.meeting-entry-grid small {
  display: block;
  margin-top: 6px;
  color: var(--text-soft);
  font-size: 12px;
  line-height: 1.5;
}

.meeting-entry-action {
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--brand);
  font-size: 12px;
  font-weight: 700;
}

.meeting-entry-action svg {
  width: 14px;
  height: 14px;
}

.meeting-roster-filter {
  margin-bottom: 16px;
}

.meeting-topic-form {
  margin-bottom: 16px;
}

.meeting-member-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 44px;
  margin-bottom: 10px;
  padding: 9px 14px;
  border-radius: 12px;
  background: rgba(0, 156, 135, 0.1);
  color: var(--brand);
}

.meeting-member-status strong,
.meeting-member-status span {
  font-size: 12px;
}

.meeting-member-status.is-error {
  background: rgba(217, 45, 32, 0.08);
  color: var(--danger);
}

.meeting-member-list > label {
  grid-template-columns: 24px 44px 1fr auto;
  cursor: pointer;
}

.meeting-member-list input {
  width: 22px;
  height: 22px;
  accent-color: var(--brand);
}

.meeting-member-list .avatar {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(0, 156, 135, 0.1);
  color: var(--brand);
  font-weight: 700;
}

.meeting-member-list em {
  color: #7d8b88;
  font-size: 12px;
  font-style: normal;
}

.meeting-member-list em.online {
  color: var(--brand);
}

.meeting-voice-active .voice-roster .is-offline {
  opacity: 0.64;
}

@media (max-width: 620px) {
  .meeting-member-status {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }
}

.meeting-voice-active {
  min-height: 520px;
  align-content: center;
}

.patient-scope-bar {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
  padding: 10px 14px;
  border-radius: 14px;
  background: rgba(0, 156, 135, 0.1);
  color: var(--brand);
}

.patient-scope-bar span {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
}

.patient-scope-bar svg {
  width: 18px;
  height: 18px;
}

.patient-scope-bar strong {
  overflow: hidden;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.patient-scope-bar small {
  flex: 0 0 auto;
  font-size: 11px;
}

.patient-list-toolbar {
  align-items: stretch;
  gap: 10px;
}

.command-workspace-thread {
  margin-bottom: 18px;
}

@media (max-width: 620px) {
  .patient-scope-bar {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .patient-list-toolbar {
    gap: 8px;
  }

  .patient-sort-button {
    min-width: 116px;
    padding-inline: 12px;
  }
}

@media (max-width: 620px) {
  .meeting-empty-state {
    min-height: 190px;
    padding: 24px 18px;
  }

  .meeting-entry-grid > button {
    min-height: 86px;
    gap: 12px;
    padding: 16px 18px;
  }

  .meeting-entry-icon {
    width: 44px;
    height: 44px;
  }
}

.record-drilldown,
.score-summary-line {
  display: grid;
  align-items: center;
  grid-template-columns: 44px minmax(0, 1fr) auto 20px;
  gap: 12px;
  width: 100%;
  min-height: 72px;
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #fff;
  color: var(--text);
  text-align: left;
}

.score-summary-line {
  grid-template-columns: 44px minmax(0, 1fr) auto;
  margin: 0 0 18px;
}

.record-drilldown > span,
.score-summary-line > span {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(0, 156, 135, 0.1);
  color: var(--brand);
}

.record-drilldown > span svg,
.score-summary-line > span svg,
.record-drilldown > svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.record-drilldown > div,
.score-summary-line > div {
  display: grid;
  min-width: 0;
  gap: 4px;
}

.record-drilldown strong,
.score-summary-line strong {
  font-size: 14px;
}

.record-drilldown small,
.score-summary-line small,
.record-drilldown em,
.score-summary-line em {
  color: var(--text-soft);
  font-size: 12px;
  font-style: normal;
}

.patient-score-form {
  gap: 16px;
}

.score-blood-pressure {
  display: grid;
  align-items: end;
  grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr);
  gap: 8px;
  margin: 0;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 14px;
}

.score-blood-pressure legend {
  padding: 0 6px;
  color: var(--text);
  font-size: 13px;
  font-weight: 700;
}

.score-blood-pressure > span {
  padding-bottom: 14px;
  color: var(--text-soft);
  text-align: center;
}

.score-gcs-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 2px;
}

.score-gcs-heading strong {
  font-size: 14px;
}

.score-gcs-heading span {
  color: var(--brand);
  font-size: 12px;
  font-weight: 700;
}

@media (max-width: 620px) {
  .record-drilldown,
  .score-summary-line {
    grid-template-columns: 44px minmax(0, 1fr) 20px;
  }

  .record-drilldown em,
  .score-summary-line em {
    display: none;
  }

  .score-summary-line {
    grid-template-columns: 44px minmax(0, 1fr);
  }
}

/* Borderless module surfaces: hierarchy comes from solid fills, spacing and inner dividers. */
:is(
  .task-grid,
  .patient-summary article,
  .patient-list,
  .meeting-hero,
  .meeting-row,
  .profile-list,
  .support-banner,
  .detail-cell,
  .sheet-list-item,
  .notification-list,
  .notification-article,
  .transfer-form-section,
  .settings-list,
  .frontline-task-row,
  .workspace-section-block,
  .triage-event-list > button,
  .report-history-summary > span,
  .report-record-empty,
  .supply-request-list,
  .medicine-picker-list,
  .transfer-patient-options,
  .history-patient-list article,
  .completion-state,
  .meeting-agenda-panel,
  .voice-command,
  .voice-roster,
  .voiceprint-card,
  .module-grid button,
  .record-section,
  .signature-grid span,
  .document-list,
  .confirm-panel,
  .voiceprint-capture,
  .scan-panel,
  .network-status-card,
  .patient-photo-grid button,
  .medical-transcript-complete,
  .analysis-step-list,
  .network-metric-grid > span,
  .network-quality-list,
  .meeting-empty-state,
  .record-drilldown,
  .score-summary-line
) {
  border: 0;
}

.report-record-card {
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
}

/* Global secondary action: quiet filled surface instead of an outlined button. */
.secondary-button,
.profile-secondary-actions .secondary-button {
  border: 0;
  background: var(--surface-soft);
}

@media (hover: hover) and (pointer: fine) {
  .secondary-button:hover {
    border-color: transparent;
    background: var(--brand-soft);
  }
}

/* 主操作统一白色文字；其余选中标签使用中性深色。 */
.primary-button, .primary-button:hover {
  color: #fff;
  font-size: 14px;
}
.business-stepper .active i {
  color: var(--ink-strong);
}
.primary-button.danger-button { color: #fff; }
.text-button, .inline-action, .nav-item.active > span:last-child,
.business-stepper .active strong, .severity-green {
  color: var(--ink-strong);
}
.nav-item.active svg, .text-button svg, .inline-action svg { color: var(--brand); }
.task-patient-level.severity-green { color: var(--ink-strong); }

#sheetGrabber { min-height: 48px; height: 48px; }

.business-pdf-view { display:block; width:100%; min-height:560px; height:calc(100dvh - 370px); border:1px solid var(--line); border-radius:16px; background:var(--surface); }
@media(max-width:620px) { .business-pdf-view { min-height:440px; } }

.meeting-member-list > label[hidden], #meetingSearchEmpty[hidden], .nav-badge[hidden] { display:none; }
.business-audio { display:block; width:100%; min-height:54px; margin:12px 0; }
.transfer-draft-files { margin-top:12px; }
.transfer-draft-files[hidden] { display:none; }
.business-attachment-preview { min-width:0; }
.business-attachment-preview h3 { margin:0 0 8px; color:var(--ink); font-size:20px; overflow-wrap:anywhere; }
.business-attachment-preview p { color:var(--text-soft); font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.business-media-stage { display:grid; place-items:center; min-height:240px; margin:16px 0; border-radius:var(--radius-lg); background:var(--surface-soft); }
.business-media-stage img, .business-media-stage video { display:block; width:100%; max-height:54dvh; object-fit:contain; border-radius:var(--radius-lg); }
.business-media-stage [hidden] { display:none; }
#patientImportForm .business-choice-group span { display:grid; gap:6px; }
#patientImportForm .business-choice-group small { color:var(--text-soft); font-size:13px; line-height:1.6; }
.task-patient-stats { grid-template-columns:repeat(4,minmax(0,1fr)); }
.task-patient-stats i.severity-black { background:var(--ink-strong); }
.task-inline-action, .task-patient-all, .task-patient-identity em { color:var(--ink-strong); }
.report-record-status.pending { color:var(--ink); background:var(--canvas); }
@media(max-width:620px) { .task-patient-stats { grid-template-columns:repeat(2,minmax(0,1fr)); } }

.patient-import-duplicates small { font-size:13px; line-height:1.6; }
.workspace-context, .workflow-summary em, .voiceprint-card em, .document-list em,
.tracking-list .done small b, .tracking-list .active strong, .tracking-list .active small b {
  color:var(--ink-strong);
}
.notification-filter { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.notification-filter button { min-height:48px; padding:0 16px; border:0; border-radius:12px; background:var(--surface); color:var(--ink); font:inherit; font-size:14px; }
.notification-filter button.active { background:var(--brand-soft); outline:1px solid var(--brand); color:var(--ink-strong); }
#missionActivity .business-empty { background:var(--surface); }

.alert-strip[hidden] { display:none; }
.command-message small { color:var(--text-soft); font-size:12px; line-height:1.6; }
.business-media-stage object { width:100%; min-height:440px; }
.handoff-signature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.handoff-signature-card { min-width:0; padding:16px; border-radius:16px; background:var(--surface); }
.handoff-signature-card h3 { margin:0 0 12px; color:var(--ink); font-size:18px; }
.handoff-signature-card canvas { display:block; width:100%; height:auto; aspect-ratio:5 / 2; border:1px solid var(--line); border-radius:12px; background:var(--surface); touch-action:none; }
.handoff-signature-card p { margin:10px 0; color:var(--text-soft); font-size:12px; }
.handoff-signature-card > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
@media(max-width:620px) { .handoff-signature-grid { grid-template-columns:1fr; gap:12px; } }
.consultation-record { padding:16px 0; border-bottom:1px solid var(--line); }
.consultation-record:last-child { border-bottom:0; }
.consultation-record header { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; font-size:14px; }
.consultation-record time { color:var(--text-soft); font-size:12px; }
.consultation-record p { font-size:14px; line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere; }
.consultation-record > div { display:flex; gap:8px; }

.handoff-signature-card [data-action="signature-import"] { grid-column:1 / -1; }

.handoff-signature-card p, .consultation-record header strong { min-width:0; overflow-wrap:anywhere; }

/* 手持平板：保留任务层级，并将高频信息集中在首屏。 */
.patient-row { grid-template-columns: auto minmax(0, 1fr) auto; }
.patient-main strong { font-size: 16px; line-height: 1.4; }
.patient-main em { font-size: 12px; }
.patient-main > small { font-size: 13px; line-height: 1.5; white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.patient-inline-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 12px; color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.patient-inline-status { color: var(--ink); font-weight: 650; }
.form-field-heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px; color: var(--ink); }
.field-requirement { color: var(--text-soft); font-size: 11px; font-weight: 500; white-space: nowrap; }
:is(.report-form, .help-form) .form-field-error { display: block; color: var(--danger); font-size: 12px; font-weight: 550; line-height: 1.5; }
:is(.report-form, .help-form) :is(input,textarea)[aria-invalid="true"] { border-color: var(--danger); }
.report-form .field-has-error.business-choice-group { border-left: 2px solid var(--danger); padding-left: 10px; }
.draft-exit-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; width: 100%; }
.draft-exit-actions > .primary-button { grid-column: 1 / -1; }
.draft-exit-actions > .draft-discard-button { color: var(--danger); }
.sheet-content { min-height: 0; flex: 1 1 auto; }
.sheet-header, .sheet-footer { flex-shrink: 0; }

@media (max-width: 620px) {
  .app-page[data-page="home"] .content-section { margin-top: 20px; }
  .mission-hero { min-height: 188px; }
  .hero-content { margin-top: 22px; }
  .patient-level-switch button { font-size: 13px; }
}

@media (max-height: 640px) {
  .tablet-shell { min-height: 0; }
  .bottom-sheet { max-height: 92%; }
}

@media (max-width: 620px) {
  .patient-summary article { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 7px; min-height: 84px; padding: 12px; }
  .patient-summary article > strong { grid-column: 2; grid-row: 1 / 3; margin: 0; }
  .patient-summary article > small { grid-column: 1; }
}

/* 查询恢复沿用现有列表和底部面板流程。 */
.patient-search-box { display: grid; grid-template-columns: 17px minmax(0,1fr) 44px; gap: 8px; padding-right: 2px; }
.patient-search-box input { min-width: 0; font-size: 13px; }
.patient-search-box input::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
.patient-search-clear { display: grid; width: 44px; height: 44px; place-items: center; padding: 0; border: 0; border-radius: 12px; background: transparent; color: var(--text-soft); }
.patient-search-clear svg { width: 20px; height: 20px; }
.patient-search-clear:active { background: var(--brand-soft); }
.patient-search-clear[hidden] { display: none; }
.patient-result-state:not(.sr-only) { margin: 0 2px 12px; color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.patient-empty-actions { margin-top: 18px; }
.patient-empty-actions button { min-width: 208px; font-size: 13px; }
.patient-empty-actions button[hidden] { display: none; }
.empty-search strong { color: var(--ink); font-size: 16px; }
.empty-search small { max-width: 320px; font-size: 13px; line-height: 1.6; padding-inline: 12px; }

.report-attachment-hint { color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.report-attachment-list { margin: 0; }
.report-attachment-list[hidden] { display: none; }
.report-attachment-list button { min-width: 0; }
.report-attachment-list button strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.report-attachment-list button small { font-size: 12px; }

/* 全模块文字对比度统一，主题绿色继续承担图标、边界与状态底。 */
.frontline-task-row.is-active .frontline-task-head em,
.frontline-task-foot > span:last-child,
.transfer-form-section > header > span,
.triage-event-list em,
.notification-read-state,
.meeting-member-status,
.meeting-member-list .avatar,
.meeting-member-list em.online,
.tracking-section-head > span,
.score-gcs-heading span,
.report-record-status.success,
.command-thread-head > span,
.avatar,
.patient-scope-bar strong,
.patient-scope-bar small,
.patient-level-switch button span,
.patient-level-switch button small,
.meeting-entry-eyebrow,
.meeting-entry-action,
.online-chip,
.support-banner button,
.support-banner strong,
.support-banner small,
.help-location em,
.upload-zone,
.setting-toggle[aria-pressed="true"] .setting-toggle-state {
  color: var(--ink-strong);
}

.meeting-member-list em { color: var(--text-soft); }
.meeting-member-list em.online { color: var(--ink-strong); }
.report-record-status.failure { color: #b42318; }
.report-record-status.success svg { color: var(--brand); }
.frontline-patient-list .severity { color: var(--ink-strong); }
.alert-copy small,
.sheet-list-item em { color: #805400; }
.severity-yellow { color: var(--ink-strong); }
.profile-logout { color: #b92318; }
.sos-hold-ring small { color: #fff; }
.help-record-button > span svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

/* 会商控制：完整会控在两档平板上保持均匀排列。 */
.meeting-room-controls:has([data-action="meeting-end"]) { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.workspace-footer .meeting-room-controls button { font-size: 12px; }
.workspace-footer .meeting-room-controls button[aria-pressed="true"] { border-color: var(--brand); background: var(--brand-soft); color: var(--ink); }
.workspace-footer .meeting-room-controls button[aria-pressed="true"] svg { color: var(--brand); }
@media (max-width: 620px) {
  .meeting-room-controls:has([data-action="meeting-end"]) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* 安卓竖屏平板的共用内容、操作和反馈层。 */
.primary-button, .secondary-button, .workspace-header-action { border-radius: 999px; }
.workspace-footer > button, .sheet-footer > button { min-height: 52px; }
.workspace-footer, .workspace-body { overflow-anchor: none; }
.workspace-body { overscroll-behavior: contain; scroll-padding-block: 20px; }
.workspace-context { max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sheet-header h2 { font-size: 26px; line-height: 1.3; overflow-wrap: anywhere; }
.sheet-header .icon-button { flex: 0 0 48px; border: 0; border-radius: 50%; background: var(--surface-soft); }
.workspace-header-action { flex-shrink: 0; }
.workspace-header h1 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; white-space: normal; line-height: 1.22; }
.workspace-body > .report-form:not(.transfer-task-form) { padding: 22px; border-radius: var(--radius-lg); background: var(--surface); }
.report-form { gap: 18px; }
.form-grid { gap: 16px; }
.report-form label { gap: 9px; color: var(--ink); }
.report-form .business-choice-group label { flex-direction: row; min-height: 64px; gap: 12px; padding: 14px 16px; text-align: left; }
.report-form .business-choice-group label > span { display: grid; flex: 1; gap: 4px; }
.business-choice-group label:focus-within { outline: 2px solid var(--brand); outline-offset: -2px; }
.report-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.report-form textarea, .report-form select, .select-trigger { border-color: var(--line); border-radius: 16px; background-color: var(--control-surface); font-weight: 550; }
.report-form input:focus-visible, .report-form textarea:focus-visible,
.report-form select:focus-visible, .select-trigger:focus-visible, .select-shell.open .select-trigger { border-color: var(--brand); }
.inline-choices { gap: 8px; }
.inline-choice { min-height: 52px; border-radius: 16px; font-weight: 650; }
.inline-choice:disabled { opacity: 1; background: var(--control-surface); }
.select-popover { padding: 8px; border-radius: 22px; }
.select-option { min-height: 52px; border-radius: 14px; }
.field-requirement { font-size: 11px; font-weight: 550; }
.form-field-error, .business-form-error { border-radius: 14px; }
.transfer-form-section { gap: 18px; padding: 22px; }
.transfer-form-section > header { padding-bottom: 0; border-bottom: 0; }
.transfer-form-section h2 { font-size: 20px; }
.transfer-form-section p { font-size: 12px; }
.transfer-form-section > header > span { width: 36px; height: 36px; border-radius: 12px; }
.transfer-task-intro { background: var(--surface); color: var(--ink); padding: 20px; }
.transfer-task-intro > span { border: 0; background: var(--brand-soft); color: var(--brand); }
.transfer-task-intro small { color: var(--text-soft); }
.transfer-task-intro em { background: var(--brand-soft); color: var(--ink); }
.transfer-task-intro strong { font-size: 18px; }
.patient-summary article { border-radius: 0; }
.patient-summary article + article::before { position: absolute; left: 0; top: 18px; bottom: 18px; width: 1px; background: var(--line); content: ""; }
.patient-summary strong { margin: 8px 0 0; font-size: 28px; }
.patient-scope-bar { border-radius: 18px; background: var(--surface); }
.patient-scope-bar svg { color: var(--brand); }
.patient-command-row { border-radius: var(--radius-lg); }
.patient-command-primary .patient-command-icon { background: var(--brand-soft); color: var(--brand); }
.patient-command-copy strong { font-size: 16px; }
.patient-command-copy small { font-size: 12px; }
.patient-list-toolbar .search-field, .patient-sort-button { border-radius: 26px; border-color: transparent; background: var(--surface); }
.patient-main strong { font-size: 17px; }
.patient-main em, .patient-main small, .patient-inline-meta { font-size: 13px; }
.patient-row { padding: 18px 20px; }
.patient-row, .profile-list button, .document-list button, .setting-toggle, .meeting-entry-grid > button { position: relative; border-bottom: 0; }
.patient-row:not(:last-child)::after, .profile-list button:not(:last-child)::after,
.document-list button:not(:last-child)::after, .setting-toggle:not(:last-child)::after,
.meeting-entry-grid > button:not(:last-child)::after { position: absolute; bottom: 0; left: 76px; right: 20px; height: 1px; background: var(--line); content: ""; }
.setting-toggle:not(:last-child)::after { left: 20px; }
.profile-list button, .document-list button { min-height: 80px; gap: 14px; padding: 16px 20px; }
.profile-list strong, .document-list strong { font-size: 16px; line-height: 1.4; }
.profile-list small, .document-list small { font-size: 12px; line-height: 1.55; }
.document-list em { max-width: 160px; font-size: 12px; overflow-wrap: anywhere; }
.record-section, .workspace-section-block { padding: 22px; }
.record-section h3 { margin-bottom: 12px; font-size: 20px; }
.record-section p { font-size: 14px; line-height: 1.7; }
.detail-cell { padding: 18px; }
.detail-cell strong { font-size: 14px; line-height: 1.6; }
.detail-note { border-radius: 18px; font-size: 13px; }
.business-empty { gap: 10px; min-height: 156px; padding: 30px 22px; }
.business-empty svg { color: var(--text-soft); }
.business-empty strong { font-size: 20px; }
.business-empty p { font-size: 13px; }
.meeting-empty-state { min-height: 180px; gap: 10px; padding: 20px; }
.meeting-empty-state > span { width: 56px; height: 56px; border-radius: 18px; }
.meeting-empty-state svg { width: 28px; height: 28px; }
.meeting-empty-state strong { font-size: 20px; }
.meeting-empty-state p { font-size: 13px; line-height: 1.55; }
.meeting-entry-icon { border-radius: 16px; }
.meeting-entry-grid small { font-size: 13px; }
.meeting-entry-action { justify-content: center; color: var(--text-soft); }
.meeting-entry-action svg { width: 18px; height: 18px; }
.meeting-room-main, .meeting-room-grid article, .meeting-agenda-panel { border-radius: var(--radius-lg); }
.meeting-room-controls button { min-height: 60px; border-radius: 20px; }
.duty-card { min-height: 96px; background: var(--surface); color: var(--ink); padding: 20px; }
.duty-card small, .duty-card span { color: var(--text-soft); }
.duty-card strong { font-size: 18px; }
.duty-icon { border: 0; background: var(--brand-soft); color: var(--brand); }
.duty-card button { background: var(--control-surface); color: var(--ink); border-radius: 50%; }
.profile-avatar { border-radius: 24px; background: var(--ink); }
.profile-secondary-actions > button { min-height: 52px; }
.setting-toggle-state { display: flex; min-height: 36px; align-items: center; justify-content: center; gap: 8px; padding: 0 10px; }
.setting-toggle-state::after { width: 18px; height: 18px; flex: 0 0 18px; border-radius: 50%; background: var(--line-strong); content: ""; }
.setting-toggle[aria-pressed="true"] .setting-toggle-state::after { background: var(--brand); }
.meeting-voice-active { min-height: 420px; padding: 24px; border-radius: var(--radius-lg); background: var(--surface); }
.meeting-voice-active .voice-talk-button { width: 208px; height: 208px; margin: 24px auto; border: 2px solid var(--brand); border-radius: 50%; background: var(--brand-soft); color: var(--ink); touch-action: none; }
.meeting-voice-active .voice-talk-button strong { font-size: 22px; }
.meeting-voice-active .voice-talk-button small { color: var(--text-soft); font-size: 13px; }
.meeting-voice-active .voice-talk-button.talking { transform: scale(.97); background: rgba(0, 156, 135, .18); }
.meeting-voice-active .voice-roster { background: var(--surface-soft); }
.primary-button[aria-busy="true"], .secondary-button[aria-busy="true"] { position: relative; padding-right: 38px; opacity: 1; }
.primary-button[aria-busy="true"]::after, .secondary-button[aria-busy="true"]::after { position: absolute; right: 14px; top: calc(50% - 8px); width: 16px; height: 16px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; content: ""; animation: control-busy 700ms linear infinite; }
@keyframes control-busy { to { transform: rotate(360deg); } }
html[data-input-method="keyboard"] .app-page.active { animation: none; }
html[data-input-method="keyboard"] .workspace-page,
html[data-input-method="keyboard"] .bottom-sheet,
html[data-input-method="keyboard"] .sheet-backdrop { transition-duration: 0s; }
@media (max-width: 620px) {
  .workspace-header { min-height: 80px; padding-inline: 18px; gap: 10px; }
  .workspace-header h1 { font-size: 28px; }
  .workspace-context { max-width: 120px; }
  .workspace-footer { margin: 0 16px 10px; padding: 8px; }
  .bottom-sheet { inset-inline: 12px; bottom: max(12px, env(safe-area-inset-bottom)); padding: 0 18px 16px; border-radius: 28px; }
  .workspace-body > .report-form:not(.transfer-task-form), .transfer-form-section, .record-section, .workspace-section-block { padding: 18px; }
  .form-grid { gap: 14px; }
  .sheet-header h2 { font-size: 24px; }
  .patient-summary article { min-height: 80px; padding: 14px 16px; }
  .profile-list button, .document-list button { padding: 15px 18px; }
  .meeting-empty-state { min-height: 168px; }
}
@media (prefers-reduced-transparency: reduce) {
  .workspace-footer { background: var(--surface); }
}
@media (prefers-reduced-motion: reduce) {
  .primary-button[aria-busy="true"]::after, .secondary-button[aria-busy="true"]::after { animation: none; }
}

/* 共用信息分组：同一组字段与统计在连续表面中扫读。 */
.detail-grid, .report-history-summary { gap: 0; overflow: hidden; border: 0; border-radius: var(--radius-lg); background: var(--surface); }
.detail-cell { position: relative; min-height: 82px; padding: 18px 20px; border: 0; border-radius: 0; background: transparent; }
.detail-cell small { font-size: 12px; font-weight: 550; }
.detail-cell strong { font-size: 15px; font-weight: 650; }
.detail-cell:nth-child(even)::before { position: absolute; inset: 18px auto 18px 0; width: 1px; background: var(--line); content: ""; }
.detail-cell:nth-child(n+3)::after { position: absolute; inset: 0 20px auto; height: 1px; background: var(--line); content: ""; }
.report-history-summary > span { position: relative; min-height: 88px; padding: 16px 20px; border: 0; border-radius: 0; background: transparent; }
.report-history-summary > span + span::before { position: absolute; inset: 18px auto 18px 0; width: 1px; background: var(--line); content: ""; }
.report-history-summary strong { font-size: 26px; font-variant-numeric: tabular-nums; }

/* 选项、标签和开关共用明确的主题选中态。 */
.segmented-tabs { background: var(--surface); }
.segmented-tabs button { font-weight: 600; }
.inline-choice { flex-basis: var(--choice-basis, 72px); min-width: min(100%, 112px); }
.inline-choice svg { display: block; visibility: hidden; }
.inline-choice[aria-checked="true"] svg { visibility: visible; }
.segmented-tabs button.active, .segmented-tabs button[aria-selected="true"], .segmented-tabs button[aria-pressed="true"] { border-color: transparent; background: var(--brand-soft); color: var(--ink-strong); font-weight: 750; }
.notification-filter { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 4px; padding: 4px; border-radius: 28px; background: var(--surface); }
.notification-filter button { min-width: 0; min-height: 52px; padding: 6px 8px; border: 0; border-radius: 24px; background: transparent; font-size: 13px; font-weight: 600; }
.notification-filter button.active { outline: 0; background: var(--brand-soft); color: var(--ink-strong); font-weight: 750; }
.report-form .business-choice-group { gap: 0; }
.report-form .business-choice-group label { position: relative; border: 0; border-radius: 0; background: var(--control-surface); }
.report-form .business-choice-group label:first-of-type { border-start-start-radius: 18px; border-start-end-radius: 18px; }
.report-form .business-choice-group label:last-of-type { border-end-start-radius: 18px; border-end-end-radius: 18px; }
.report-form .business-choice-group label:not(:last-of-type)::after { position: absolute; inset: auto 16px 0 52px; height: 1px; background: var(--line); content: ""; }
.report-form .business-choice-group label:has(:checked) { background: var(--brand-soft); }
.setting-toggle { min-height: 80px; }
.setting-toggle-state { position: relative; min-width: 104px; min-height: 36px; justify-content: flex-start; gap: 0; padding: 0 60px 0 0; border: 0; border-radius: 0; background: transparent; color: var(--text-soft); }
.setting-toggle-state::before { position: absolute; right: 0; top: 2px; width: 52px; height: 32px; border-radius: 999px; background: #8794a3; content: ""; transition: background-color var(--motion-feedback) ease-out; }
.setting-toggle-state::after { position: absolute; top: 6px; right: 24px; width: 24px; height: 24px; border-radius: 50%; background: var(--surface); content: ""; transition: transform var(--motion-feedback) ease-out; }
.setting-toggle[aria-pressed="true"] .setting-toggle-state { background: transparent; color: var(--ink); }
.setting-toggle[aria-pressed="true"] .setting-toggle-state::before { background: var(--brand); }
.setting-toggle[aria-pressed="true"] .setting-toggle-state::after { background: var(--surface); transform: translateX(20px); }
html[data-input-method="keyboard"] .setting-toggle-state::before,
html[data-input-method="keyboard"] .setting-toggle-state::after { transition-duration: 0s; }

/* 输入时使用可见空间，操作栏留在输入区下缘。 */
html[data-keyboard="visible"] { --navigation-clearance: 0px; }
html[data-keyboard="visible"] .tablet-shell { height: min(var(--editing-viewport-height), 1280px); min-height: 0; margin-top: 0; }
html[data-keyboard="visible"] .bottom-nav { visibility: hidden; pointer-events: none; }
html[data-keyboard="visible"] .workspace-header { min-height: 72px; padding-block: 8px; }
html[data-keyboard="visible"] .workspace-body { padding-bottom: 16px; }
html[data-keyboard="visible"] .workspace-footer { margin-bottom: max(8px, env(safe-area-inset-bottom)); }
html[data-keyboard="visible"] .bottom-sheet { max-height: calc(100% - 38px); bottom: max(8px, env(safe-area-inset-bottom)); }
html[data-keyboard="visible"] .sheet-content { min-height: 0; }
@media (max-width: 620px) {
  .workspace-header h1 { font-size: 32px; }
  .detail-cell { padding: 16px 18px; }
  .report-history-summary > span { padding: 15px 18px; }
}
