/* Synapse production stylesheet
   Generated by scripts/build-production-css.js from css/platform.css.
   Purpose: remove first-paint @import waterfall while preserving modular source CSS for development.
*/

/* production-css: begin css/platform.css */
/* platform.css
   Active build: build11-9-regression-lock-v1
   Synapse platform aggregate stylesheet

   Platform synchronization patch:
   - Keep shared/global styles first.
   - Load shell chamber authority before viewport/cover consumers.
   - Load page/content systems before the cover stack so page styles cannot win
     over the shell-level resting cover.
   - Load trace primitives immediately before cover consumers.
   - Load cover-stabilization last inside the cover stack as the final shim.
*/

/* production-css: begin shared/styles/core/reset.css */
/* Root reset
   Neutral foundation for systems, shell, viewport, apps, and bridge. */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  min-height: 100%;
}

html {
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
  overflow-x: clip;
}

body {
  margin: 0;
  overflow-x: clip;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

@supports not (overflow: clip) {
  html,
  body {
    overflow-x: hidden;
  }
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-inline-size: 100%;
  block-size: auto;
}

iframe {
  max-inline-size: 100%;
  border: 0;
}

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

a {
  color: inherit;
  text-decoration: none;
}

::selection {
  background: rgba(134, 163, 230, 0.26);
  color: var(--copy-strong, #eef4ff);
}

* {
  scrollbar-width: thin;
  scrollbar-color: rgba(148, 175, 236, 0.22) rgba(255, 255, 255, 0.03);
}

*::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

*::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.022);
}

*::-webkit-scrollbar-thumb {
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: padding-box;
  background: linear-gradient(180deg, rgba(148, 175, 236, 0.22), rgba(98, 124, 180, 0.18));
}

[hidden] {
  display: none !important;
}
/* production-css: end shared/styles/core/reset.css */


/* production-css: begin shared/styles/core/tokens.css */
/* production-css: begin shared/styles/core/platform-color.css */
:root {
  color-scheme: light;

  --color-ink-950: #0d1a2a;
  --color-ink-900: #132947;
  --color-ink-850: #183457;
  --color-ink-800: #21456f;

  --color-teal-700: #0f5f67;
  --color-teal-600: #16717a;
  --color-teal-500: #218792;
  --color-teal-400: #57aab2;

  --color-brass-700: #8d6820;
  --color-brass-600: #a57a28;
  --color-brass-500: #bc9339;
  --color-brass-400: #d2ac57;

  --color-meta-accent: color-mix(in srgb, var(--color-brass-700) 62%, var(--color-ink-900) 38%);
  --color-meta-accent-soft: color-mix(in srgb, var(--color-brass-700) 50%, var(--color-text-muted) 50%);
  --shell-engraved-shadow:
    0 1px 0 rgba(255, 255, 255, 0.42),
    0 -1px 0 rgba(17, 37, 61, 0.06);

  --color-paper-100: #fffdfa;
  --color-paper-150: #fbf7f0;
  --color-paper-200: #f6efe5;
  --color-mist-150: #edf4f3;
  --color-mist-200: #e5eef1;
  --color-stone-150: #f1ece5;

  --color-title: #11253d;
  --color-text: #23384f;
  --color-text-muted: #50657a;
  --color-text-soft: #6c8094;
  --color-text-inverse: #f8fbfd;
  --color-link-hover: var(--color-teal-700);

  --color-success: #2f6f55;
  --color-warning: #9a6d1f;
  --color-danger: #8d433a;
  --color-info: #215f86;

  --copy-main: var(--color-text);
  --copy-soft: var(--color-text-soft);
  --copy-faint: color-mix(in srgb, var(--color-text-soft) 78%, white 22%);
  --copy-strong: var(--color-title);

  --color-surface-muted:
    linear-gradient(180deg, rgba(237, 244, 243, 0.92), rgba(255, 253, 250, 0.92));
  --color-surface-strong: var(--color-ink-900);
  --color-surface-elevated: rgba(255, 253, 250, 0.96);
  --color-surface-panel: rgba(255, 251, 246, 0.9);

  --border-thin: 1px solid rgba(17, 37, 61, 0.08);
  --control-border: rgba(17, 37, 61, 0.12);

  --shadow-sm: 0 0.22rem 0.7rem rgba(17, 37, 61, 0.035);
  --shadow-md: 0 0.42rem 1.1rem rgba(17, 37, 61, 0.055);
  --shadow-lg: 0 1rem 2.2rem rgba(17, 37, 61, 0.12);

  --guide-bg: rgba(255, 253, 250, 0.95);
  --guide-panel: rgba(255, 251, 246, 0.92);
  --guide-panel-strong: rgba(237, 244, 243, 0.84);
  --guide-border: rgba(17, 37, 61, 0.12);
  --guide-text: var(--color-title);
  --guide-text-muted: var(--color-text-soft);
  --guide-accent: rgba(33, 95, 134, 0.12);
  --guide-good: var(--color-success);
  --guide-warn: var(--color-warning);
  --guide-bad: var(--color-danger);
  --guide-shadow: 0 0.55rem 1.3rem rgba(17, 37, 61, 0.08);

  --shell-tone-workspace-border: rgba(47, 111, 85, 0.24);
  --shell-tone-workspace-ring: rgba(47, 111, 85, 0.12);
  --shell-tone-engine-border: rgba(33, 95, 134, 0.24);
  --shell-tone-engine-ring: rgba(33, 95, 134, 0.12);


  /* Synapse color authority system
     Palette stays intact; these tokens define each color's job. */
  --syn-identity: var(--color-ink-900);
  --syn-identity-deep: var(--color-ink-950);
  --syn-identity-soft: rgba(19, 41, 71, 0.12);

  --syn-action: var(--color-teal-600);
  --syn-action-strong: var(--color-teal-700);
  --syn-action-hover: var(--color-teal-500);
  --syn-action-soft: rgba(33, 135, 146, 0.14);
  --syn-action-line: rgba(33, 135, 146, 0.26);

  --syn-casing: color-mix(in srgb, var(--color-brass-600) 42%, rgba(19, 41, 71, 0.08));
  --syn-casing-strong: color-mix(in srgb, var(--color-brass-600) 54%, rgba(19, 41, 71, 0.1));
  --syn-casing-soft: color-mix(in srgb, var(--color-brass-600) 28%, rgba(19, 41, 71, 0.06));
  --syn-bridge: color-mix(in srgb, var(--color-brass-600) 58%, var(--color-teal-600) 42%);
  --syn-bridge-soft: color-mix(in srgb, var(--syn-bridge) 36%, transparent);

  --syn-glass: var(--color-mist-200);
  --syn-glass-soft: var(--color-mist-150);
  --syn-glass-line: color-mix(in srgb, var(--color-mist-200) 58%, var(--color-ink-800) 42%);

  --syn-surface: var(--color-paper-100);
  --syn-surface-warm: var(--color-paper-150);
  --syn-surface-muted: var(--color-paper-200);

  --syn-support: var(--color-text-muted);
  --syn-support-soft: var(--color-text-soft);

}
/* production-css: end shared/styles/core/platform-color.css */


/* production-css: begin shared/styles/core/platform-type.css */
@import url("https://fonts.googleapis.com/css2?family=Archivo:wdth,wght@75..125,400..800&family=Source+Sans+3:wght@400;500;600;700;800&display=swap");

:root {
  --font-heading: "Source Sans 3", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --font-body: "Source Sans 3", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --font-ui: var(--font-body);
  --font-identity: "Archivo", "Source Sans 3", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --font-identity-stretch: 82%;
  --font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;

  --font-size-2xs: 0.74rem;
  --font-size-xs: 0.82rem;
  --font-size-sm: 0.95rem;
  --font-size-md: 1rem;
  --font-size-lg: 1.12rem;
  --font-size-xl: 1.28rem;
  --font-size-2xl: 1.62rem;
  --font-size-3xl: clamp(1.95rem, 1.5rem + 1.2vw, 2.7rem);

  --line-height-tight: 1.08;
  --line-height-title: 1.12;
  --line-height-body: 1.62;
  --line-height-meta: 1.4;

  --letter-spacing-tight: -0.022em;
  --letter-spacing-normal: 0;
  --letter-spacing-wide: 0.12em;

  --font-weight-regular: 400;
  --font-weight-medium: 520;
  --font-weight-semibold: 620;
  --font-weight-bold: 720;
  --font-weight-heavy: 760;
}
/* production-css: end shared/styles/core/platform-type.css */


/* production-css: begin shared/styles/core/platform-motion.css */
:root {
  --transition-fast: 180ms ease;
  --transition-mid: 240ms ease;
  --transition-slow: 320ms ease;
}
/* production-css: end shared/styles/core/platform-motion.css */


/* production-css: begin shared/styles/core/mode-colors.css */
:root {
  --shell-mode-accent: var(--syn-action-soft, rgba(33, 135, 146, 0.14));
  --viewport-window-bg:
    linear-gradient(180deg, rgba(255, 253, 250, 0.96), rgba(237, 244, 243, 0.94));
  --support-window-bg:
    linear-gradient(180deg, rgba(255, 253, 250, 0.98), rgba(241, 236, 229, 0.94));
}

body.shell-body {
  background:
    radial-gradient(circle at top right, var(--syn-action-soft, rgba(33, 135, 146, 0.14)), transparent 32%),
    radial-gradient(circle at bottom left, var(--syn-casing-soft, rgba(188, 147, 57, 0.08)), transparent 28%),
    linear-gradient(180deg, var(--color-paper-100), var(--color-paper-150));
}

body[data-shell-mode="clinic"] {
  --shell-mode-accent: var(--syn-action-soft, rgba(33, 135, 146, 0.14));
  --viewport-window-bg:
    linear-gradient(180deg, rgba(255, 253, 250, 0.96), rgba(237, 244, 243, 0.94));
}

body[data-shell-mode="portal"] {
  --shell-mode-accent: var(--syn-identity-soft, rgba(19, 41, 71, 0.16));
  --viewport-window-bg:
    linear-gradient(180deg, rgba(251, 247, 240, 0.98), rgba(229, 238, 241, 0.95));
  --support-window-bg:
    linear-gradient(180deg, rgba(248, 251, 253, 0.98), rgba(229, 238, 241, 0.96));
}

body[data-shell-mode="workspace"] {
  --shell-mode-accent: color-mix(in srgb, var(--syn-action, #16717a) 62%, transparent);
  --viewport-window-bg:
    linear-gradient(180deg, rgba(247, 250, 252, 0.97), rgba(229, 238, 241, 0.95));
  --support-window-bg:
    linear-gradient(180deg, rgba(247, 250, 252, 0.98), rgba(241, 236, 229, 0.94));
}
/* production-css: end shared/styles/core/mode-colors.css */

:root {
  --container: 78rem;
  --container-sm: 42rem;
  --container-lg: 74rem;
  --container-xl: 88rem;
  --gutter: clamp(0.75rem, 2vw, 1.25rem);

  --space-xs: 0.42rem;
  --space-sm: 0.72rem;
  --space-md: 1rem;
  --space-lg: 1.35rem;
  --space-xl: 1.9rem;
  --space-2xl: 2.5rem;

  --radius-md: 1rem;
  --radius-lg: 1.4rem;
  --radius-xl: 1.75rem;
  --radius-pill: 999px;

  --guide-radius: 1rem;
  --guide-gap: 0.9rem;

  --shell-glass-blur: 16px;

  --shell-header-min-height: 4.22rem;
  --shell-header-min-height-mobile: 3.45rem;
  --shell-control-height: 2.26rem;
  --shell-control-height-mobile: 2rem;
  --shell-control-pad-inline: 0.9rem;
  --shell-control-pad-inline-mobile: 0.76rem;
  --shell-footer-launcher-height-mobile: 2rem;
  --chamber-side-width: clamp(18rem, 40vw, 22rem);
  --chamber-wide-width: clamp(21rem, 34vw, 24rem);
  --chamber-sheet-max-height: min(74svh, 42rem);
  --viewport-window-bg-portal: var(--viewport-window-bg);
  --viewport-window-bg-workspace: var(--viewport-window-bg);

  /* donor transfer: identity lockup controls */
  --identity-brand-gap: 0.58rem;
  --identity-brand-gap-mobile: 0.42rem;

  --identity-sigil-size: 2.42rem;
  --identity-sigil-size-mobile: 1.98rem;
  --identity-sigil-inner-size: 82%;
  --identity-sigil-inner-size-mobile: 78%;
  --identity-sigil-radius: 0.88rem;
  --identity-sigil-radius-mobile: 0.74rem;

  --identity-sigil-system: native;
  --identity-sigil-glyph-scale: 0.82;

  --identity-title-size: clamp(1.02rem, 0.98rem + 0.22vw, 1.14rem);
  --identity-title-size-mobile: 0.94rem;
  --identity-meta-size: 0.72rem;
  --identity-meta-size-mobile: 0.64rem;
}
/* production-css: end shared/styles/core/tokens.css */


/* production-css: begin shared/styles/core/type-lock.css */
html,
body {
  font-family: var(--font-body);
  color: var(--color-text);
}

button,
input,
select,
textarea,
.viewport-meta__label,
.viewport-meta__path,
.shell-nav__toggle,
.shell-nav__link,
.subnav__link,
.shell-footer__brand,
.shell-footer__note,
.shell-footer__link,
.shell-footer__launcher,
.button,
.state-debug,
.state-debug * {
  font-family: var(--font-ui);
}

.page-head__title,
.hero__title,
.section-intro__title,
.field__title,
.notice__title,
.panel-title,
.panel__title,
.service-lane__title,
.card__title,
.contact-callout__title,
.contact-block__title,
.portal-entry__title,
.utility-panel__title,
.form-panel__title,
.page-head__aside-title,
.hero__support-title,
.identity-plate__name,
.support-faceplate__title,
.support-chamber__title,
.shell-window-title,
.workspace-record-card__top .panel__title,
.portal-intake__list-item .panel__title {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-heavy);
  letter-spacing: -0.022em;
  line-height: 1.12;
}

.page-head__eyebrow,
.hero__eyebrow,
.section-intro__eyebrow,
.card__eyebrow,
.service-lane__eyebrow,
.panel-kicker,
.panel__kicker,
.field__eyebrow,
.eyebrow,
.panel__eyebrow,
.support-faceplate__eyebrow,
.support-chamber__eyebrow,
.viewport-meta__label {
  font-family: var(--font-ui);
  font-weight: var(--font-weight-bold);
}


/* Synapse identity controls */
.identity-plate__name,
.identity-plate__eyebrow,
.identity-plate__meta,
.shell-nav__toggle,
.shell-footer__launcher,
.shell-authbar__button,
.button--secure,
.button--enter,
.button--access {
  font-family: var(--font-identity);
  font-stretch: var(--font-identity-stretch);
}
/* production-css: end shared/styles/core/type-lock.css */

/* production-css: begin shared/styles/shell/baselines.css */
html,
body {
  width: 100%;
  height: 100%;
  min-height: 100%;
}

body.shell-body {
  margin: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  min-height: 100vh;
  min-height: 100dvh;
  max-height: 100vh;
  max-height: 100dvh;
  overflow: hidden;
  overscroll-behavior: none;
  color: var(--copy-main, var(--color-text));
}

body.shell-body::before,
body.shell-body::after {
  content: none;
}

body.shell-lock {
  overflow: hidden;
}

.shell img,
.shell video,
.shell picture,
.shell canvas,
.shell svg,
.shell iframe {
  display: block;
  max-width: 100%;
  height: auto;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0ms !important;
  }
}

/* =========================================================
   Soft Keyboard Stability Guard
   Mobile browser keyboards resize visualViewport/dvh. Auth/input focus is not
   a shell reconstruction event, so hold the shell against the last stable block
   and let the action chamber scroll internally.
   ========================================================= */
html[data-soft-keyboard-guard='active'],
body.shell-body[data-soft-keyboard-guard='active'] {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

body.shell-body[data-soft-keyboard-guard='active'] {
  height: var(--soft-keyboard-stable-block, 100svh) !important;
  min-height: var(--soft-keyboard-stable-block, 100svh) !important;
  max-height: var(--soft-keyboard-stable-block, 100svh) !important;
}

body.shell-body[data-soft-keyboard-guard='active'] .shell {
  block-size: var(--soft-keyboard-stable-block, 100svh) !important;
  min-block-size: var(--soft-keyboard-stable-block, 100svh) !important;
  max-block-size: var(--soft-keyboard-stable-block, 100svh) !important;
}
/* production-css: end shared/styles/shell/baselines.css */


/* production-css: begin shared/styles/shell/chassis.css */
/* Chamber line primitive
   Structure = ordinary layout separation
   Casing = sealed chamber perimeter
   Bridge = state-aware connection / transition marker
*/
:root {
  --chamber-line-structure: rgba(19, 41, 71, 0.08);
  --chamber-line-structure-strong: rgba(19, 41, 71, 0.12);
  --chamber-line-casing: var(--syn-casing, color-mix(in srgb, var(--color-brass-600, #9b7a3d) 42%, rgba(19, 41, 71, 0.08)));
  --chamber-line-casing-strong: var(--syn-casing-strong, color-mix(in srgb, var(--color-brass-600, #9b7a3d) 52%, rgba(19, 41, 71, 0.1)));
  --chamber-line-bridge: var(--syn-bridge-soft, color-mix(in srgb, var(--color-brass-600, #9b7a3d) 50%, rgba(19, 41, 71, 0.1)));
}

.shell {
  block-size: 100svh;
  min-block-size: 100svh;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
}

@supports (height: 100dvh) {
  .shell {
    block-size: 100dvh;
    min-block-size: 100dvh;
  }
}

.shell__header,
.shell__footer,
.shell-authbar {
  position: relative;
  z-index: 3;
}

.shell-authbar {
  display: none;
}

.shell__main {
  min-height: 0;
  overflow: hidden;
  padding-block: 0.72rem 0.9rem;
}

.shell__header-inner,
.shell__footer-inner,
.shell-authbar__inner,
.viewport-shell,
.page-section,
.workspace-grid,
.portal-grid {
  width: min(var(--container), calc(100% - var(--gutter) * 2));
  margin-inline: auto;
}

.shell-body[data-shell-state="admitted-portal"] .shell,
.shell-body[data-shell-state="admitted-workspace"] .shell,
.shell-body[data-app="portal"][data-auth-boot="pending"] .shell,
.shell-body[data-app="workspace"][data-auth-boot="pending"] .shell,
.shell-body[data-app="portal"][data-auth-boot="exiting"] .shell,
.shell-body[data-app="workspace"][data-auth-boot="exiting"] .shell {
  grid-template-rows: auto minmax(0, 1fr);
}

.shell-body[data-shell-state="admitted-portal"] .shell__header,
.shell-body[data-shell-state="admitted-portal"] .shell__footer,
.shell-body[data-shell-state="admitted-workspace"] .shell__header,
.shell-body[data-shell-state="admitted-workspace"] .shell__footer,
.shell-body[data-app="portal"][data-auth-boot="pending"] .shell__header,
.shell-body[data-app="portal"][data-auth-boot="pending"] .shell__footer,
.shell-body[data-app="workspace"][data-auth-boot="pending"] .shell__header,
.shell-body[data-app="workspace"][data-auth-boot="pending"] .shell__footer,
.shell-body[data-app="portal"][data-auth-boot="exiting"] .shell__header,
.shell-body[data-app="portal"][data-auth-boot="exiting"] .shell__footer,
.shell-body[data-app="workspace"][data-auth-boot="exiting"] .shell__header,
.shell-body[data-app="workspace"][data-auth-boot="exiting"] .shell__footer {
  display: none;
}

.shell-body[data-shell-state="admitted-portal"] .shell-authbar,
.shell-body[data-shell-state="admitted-workspace"] .shell-authbar,
.shell-body[data-app="portal"][data-auth-boot="pending"] .shell-authbar,
.shell-body[data-app="workspace"][data-auth-boot="pending"] .shell-authbar,
.shell-body[data-app="portal"][data-auth-boot="exiting"] .shell-authbar,
.shell-body[data-app="workspace"][data-auth-boot="exiting"] .shell-authbar {
  display: block;
}

.shell-body[data-app="portal"][data-auth-boot="pending"] .shell-authbar,
.shell-body[data-app="workspace"][data-auth-boot="pending"] .shell-authbar {
  visibility: hidden;
}

.shell-body[data-app="portal"][data-auth-boot="exiting"] .shell-authbar,
.shell-body[data-app="workspace"][data-auth-boot="exiting"] .shell-authbar {
  pointer-events: none;
}

.shell-body[data-shell-state="admitted-portal"] .shell__main,
.shell-body[data-shell-state="admitted-workspace"] .shell__main,
.shell-body[data-app="portal"][data-auth-boot="pending"] .shell__main,
.shell-body[data-app="workspace"][data-auth-boot="pending"] .shell__main,
.shell-body[data-app="portal"][data-auth-boot="exiting"] .shell__main,
.shell-body[data-app="workspace"][data-auth-boot="exiting"] .shell__main {
  padding-block: 0.68rem;
}

.shell-body[data-shell-state="admitted-portal"] .viewport-meta,
.shell-body[data-shell-state="admitted-workspace"] .viewport-meta,
.shell-body[data-app="portal"][data-auth-boot="pending"] .viewport-meta,
.shell-body[data-app="workspace"][data-auth-boot="pending"] .viewport-meta,
.shell-body[data-app="portal"][data-auth-boot="exiting"] .viewport-meta,
.shell-body[data-app="workspace"][data-auth-boot="exiting"] .viewport-meta {
  display: none;
}


.shell__main { min-width: 0; }

@media (max-width: 760px) {
  .shell__main {
    padding-block: 0.56rem 0.64rem;
  }
}


/* =========================================================
   Shell + Inbox Polish Wave: protected chassis restored
   Re-enable the shell identity/header and footer seam for admitted
   protected states. Authbar remains the page-system nav row.
   ========================================================= */
.shell-body[data-shell-state="admitted-portal"] .shell,
.shell-body[data-shell-state="admitted-workspace"] .shell {
  grid-template-rows: auto auto minmax(0, 1fr) auto;
}

.shell-body[data-shell-state="admitted-portal"] .shell__header,
.shell-body[data-shell-state="admitted-portal"] .shell__footer,
.shell-body[data-shell-state="admitted-workspace"] .shell__header,
.shell-body[data-shell-state="admitted-workspace"] .shell__footer {
  display: block;
}

.shell-body[data-shell-state="admitted-portal"] .shell-authbar,
.shell-body[data-shell-state="admitted-workspace"] .shell-authbar {
  display: block;
}

.shell-body[data-shell-state="admitted-portal"] .shell__main,
.shell-body[data-shell-state="admitted-workspace"] .shell__main {
  min-height: 0;
  padding-block: 0.52rem 0.62rem;
}

.shell-body[data-shell-state="admitted-portal"] .shell-nav,
.shell-body[data-shell-state="admitted-workspace"] .shell-nav {
  display: none !important;
}

/* Workspace Auth Pending Rail Guard
   Workspace pages are real operating surfaces. Auth may still be verifying,
   but the protected header and page-tabs must remain visible so a stalled
   auth boot cannot leave the workspace without navigation. */
.shell-body[data-app="workspace"][data-auth-boot="pending"] .shell,
.shell-body[data-app="workspace"][data-auth-boot="ready"] .shell {
  grid-template-rows: auto auto minmax(0, 1fr) auto;
}

.shell-body[data-app="workspace"][data-auth-boot="pending"] .shell__header,
.shell-body[data-app="workspace"][data-auth-boot="pending"] .shell__footer {
  display: block;
}

.shell-body[data-app="workspace"][data-auth-boot="pending"] .shell-authbar {
  display: block;
  visibility: visible;
}

.shell-body[data-app="workspace"][data-auth-boot="pending"] .viewport-meta {
  display: none;
}



/* Workspace synchronization patch: the workspace nav is a page router, not an
   auth-loading placeholder. Keep it visible/clickable while session/data
   verification runs so desktop and mobile route behavior stays identical. */
.shell-body[data-app="workspace"][data-auth-boot="pending"] .shell-authbar {
  visibility: visible;
  pointer-events: auto;
}
.shell-body[data-app="workspace"] .shell-authbar__button[data-workspace-nav] {
  pointer-events: auto;
}
/* production-css: end shared/styles/shell/chassis.css */


/* production-css: begin shared/styles/shell/chambers.css */
/* chambers.css
   Synapse Shell Chamber System

   Three-chamber contract:
   - Shell chamber owns the measurable page field between shell chrome.
   - Viewport chamber owns ordinary scene/page content.
   - Action chamber owns admission and immediate action/commitment surfaces.

   Cover is a shell-chamber occupant. Cover CSS may consume this space, but it
   must not create the chamber or calculate the page shell on its own.
*/

:root {
  --shell-chamber-safe-gap: clamp(0.08rem, 0.24vw, 0.32rem);
  --shell-chamber-main-inline: 100%;
  --shell-chamber-main-block: calc(100dvh - var(--shell-header-min-height, 4.08rem) - var(--shell-footer-min-height, 2.65rem));
  /* Fallback first-paint size comes from CSS. Runtime cover state may replace
     it with measured visualViewport/header/footer bounds from the spatial
     adapter, which prevents stale mobile 100dvh from becoming final authority. */
  --shell-chamber-main-block-measured: var(--shell-chamber-main-block);
  --shell-chamber-cover-block-measured: var(--shell-chamber-main-block-measured);
  --shell-chamber-cover-inline: var(--shell-chamber-main-inline);
  --shell-chamber-cover-block: var(--shell-chamber-cover-block-measured);
  --shell-chamber-viewport-inline: var(--shell-chamber-main-inline);
  --shell-chamber-viewport-block: var(--shell-chamber-main-block);
  --shell-chamber-sub-inline: var(--shell-chamber-main-inline);
  --shell-chamber-sub-block: var(--shell-chamber-main-block);
}

.shell__main[data-shell-chamber-host='main'],
[data-shell-chamber-host='main'] {
  position: relative;
  min-inline-size: 0;
  min-block-size: 0;
  display: grid;
  grid-template: minmax(0, 1fr) / minmax(0, 1fr);
  align-items: stretch;
  justify-items: stretch;
  isolation: isolate;
}

[data-shell-chamber],
[data-shell-viewport-layer],
[data-shell-cover-chamber] {
  min-inline-size: 0;
  min-block-size: 0;
  box-sizing: border-box;
}

[data-shell-viewport-layer],
[data-shell-cover-chamber] {
  grid-area: 1 / 1;
}

[data-shell-viewport-layer] {
  inline-size: 100%;
  block-size: 100%;
  min-inline-size: 0;
  min-block-size: 0;
}

[data-shell-cover-chamber] {
  inline-size: 100%;
  block-size: 100%;
  min-inline-size: 0;
  min-block-size: 0;
  position: relative;
  display: grid;
  grid-template: minmax(0, 1fr) / minmax(0, 1fr);
  place-items: stretch;
  overflow: hidden;
  overscroll-behavior: contain;
  isolation: isolate;
  contain: layout paint;
}

.shell-body[data-shell-state='resting'] [data-shell-chamber-host='main'],
.shell-body[data-active-scene='cover'] [data-shell-chamber-host='main'] {
  inline-size: 100%;
  block-size: var(--shell-chamber-main-block-measured, var(--shell-chamber-main-block));
  min-block-size: 0;
  max-block-size: var(--shell-chamber-main-block-measured, var(--shell-chamber-main-block));
  padding: 0 !important;
  overflow: hidden;
}

.shell-body[data-shell-state='resting'] [data-shell-cover-chamber],
.shell-body[data-active-scene='cover'] [data-shell-cover-chamber] {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.shell-body[data-shell-state='resting'] [data-shell-cover-chamber],
.shell-body[data-active-scene='cover'] [data-shell-cover-chamber] {
  block-size: var(--shell-chamber-cover-block-measured, var(--shell-chamber-cover-block));
  max-block-size: var(--shell-chamber-cover-block-measured, var(--shell-chamber-cover-block));
  overflow: hidden;
}

.shell-body[data-shell-state='resting'] [data-shell-viewport-layer],
.shell-body[data-active-scene='cover'] [data-shell-viewport-layer],
.shell-body.has-cover-layer-active [data-shell-viewport-layer] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.shell-body[data-shell-state='public'] [data-shell-cover-chamber]:not([data-shell-chamber-state='active']),
.shell-body[data-active-scene='primary'] [data-shell-cover-chamber]:not([data-shell-chamber-state='active']) {
  display: none !important;
}

/* Viewport chamber: ordinary scenes consume the shell field but keep their own
   internal window/scroll policy in shared/styles/viewport/*. */
.viewport-shell[data-shell-viewport-layer],
[data-shell-viewport-layer] .viewport-shell {
  min-inline-size: 0;
  min-block-size: 0;
}

/* Sub chamber: support/auth/admission faces are occupants of the viewport stage
   or can be promoted by state. This file only gives them a neutral measurable
   contract; faceplate/frame CSS owns their visuals. */
[data-support-chamber-root],
[data-shell-chamber='sub'] {
  min-inline-size: 0;
  min-block-size: 0;
  box-sizing: border-box;
}

.shell-body[data-layout-mode='portrait-single'][data-chamber-admission='sheet'] [data-support-chamber-root] {
  inline-size: 100%;
  block-size: 100%;
}

/* Debug proof: add data-shell-chamber-debug='true' on body to inspect the three
   chamber boundaries without changing layout ownership. */
.shell-body[data-shell-chamber-debug='true'] [data-shell-chamber-host='main'],
.shell-body[data-shell-chamber-debug='true'] [data-shell-cover-chamber],
.shell-body[data-shell-chamber-debug='true'] [data-shell-viewport-layer],
.shell-body[data-shell-chamber-debug='true'] [data-support-chamber-root] {
  outline: 1px dashed rgba(15, 95, 100, 0.42);
  outline-offset: -1px;
}

/* =========================================================
   Shell-Level Sub-Chamber Placement Patch
   Support/auth chambers are shell-chamber occupants, not viewport-scene
   children. This lets cover-origin auth open above the cover without
   exposing the retired access scene behind it.
   ========================================================= */
[data-shell-chamber-host='main'] > [data-support-chamber-root] {
  grid-area: 1 / 1;
  position: relative;
  z-index: 64;
  min-inline-size: 0;
  min-block-size: 0;
  inline-size: 100%;
  block-size: 100%;
  justify-self: stretch;
  align-self: stretch;
  pointer-events: none;
}

[data-shell-chamber-host='main'] > [data-support-chamber-root][aria-hidden='true'] {
  display: none !important;
}

.shell-body.has-support-chamber-open [data-shell-chamber-host='main'] > [data-support-chamber-root],
.shell-body[data-support-chamber]:not([data-support-chamber='closed']) [data-shell-chamber-host='main'] > [data-support-chamber-root] {
  display: grid;
  pointer-events: auto;
}

.shell-body[data-chamber-admission='promoted'] [data-shell-chamber-host='main'] > [data-support-chamber-root],
.shell-body[data-chamber-admission='sheet'] [data-shell-chamber-host='main'] > [data-support-chamber-root] {
  position: absolute;
  inset: 0;
  z-index: 80;
}

.shell-body[data-chamber-admission='side'] [data-shell-chamber-host='main'] > [data-support-chamber-root] {
  position: relative;
  justify-self: end;
  align-self: stretch;
  inline-size: var(--chamber-wide-width, var(--chamber-side-width, min(24rem, 100%)));
  max-inline-size: 100%;
  block-size: 100%;
  z-index: 72;
}

.shell-body[data-support-chamber-origin='cover'][data-support-chamber]:not([data-support-chamber='closed']) [data-shell-cover-chamber] {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.shell-body[data-support-chamber-origin='cover'][data-support-chamber]:not([data-support-chamber='closed']) [data-shell-viewport-layer] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* =========================================================
   Cover-Return Ready Gate
   Closing auth from the resting cover now follows the same contract as first
   paint: restore/register the cover behind the live chamber, then reveal the
   complete cover at once. The chamber remains as a temporary mask while the
   cover catches up, preventing piece-by-piece mobile restore.
   ========================================================= */
.shell-body[data-cover-return-state='preparing'] [data-shell-cover-chamber] {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

.shell-body[data-cover-return-state='preparing'] [data-shell-viewport-layer] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.shell-body[data-cover-return-state='preparing'] [data-shell-chamber-host='main'] > [data-support-chamber-root] {
  display: grid !important;
  pointer-events: none !important;
}

.shell-body[data-cover-return-state='preparing'] [data-support-chamber-root] *,
.shell-body[data-support-chamber-closing='cover'] [data-support-chamber-root] * {
  pointer-events: none !important;
}


/* =========================================================
   Identity Governance / Action Chamber shell placement
   The Action Chamber is the canonical shell-owned second surface. Legacy
   support selectors remain aliases only during migration.
   ========================================================= */
[data-action-chamber-root],
[data-shell-chamber='action'] {
  min-inline-size: 0;
  min-block-size: 0;
  box-sizing: border-box;
}

[data-shell-chamber-host='main'] > [data-action-chamber-root] {
  grid-area: 1 / 1;
  position: relative;
  z-index: 72;
  min-inline-size: 0;
  min-block-size: 0;
  inline-size: 100%;
  block-size: 100%;
  justify-self: stretch;
  align-self: stretch;
  pointer-events: none;
}

[data-shell-chamber-host='main'] > [data-action-chamber-root][aria-hidden='true'] {
  display: none !important;
}

.shell-body.has-action-chamber-open [data-shell-chamber-host='main'] > [data-action-chamber-root],
.shell-body[data-action-chamber]:not([data-action-chamber='closed']) [data-shell-chamber-host='main'] > [data-action-chamber-root] {
  display: grid;
  pointer-events: auto;
}

.shell-body[data-chamber-admission='side'][data-action-chamber]:not([data-action-chamber='closed']) [data-shell-chamber-host='main'] {
  grid-template-columns: minmax(0, 1fr) var(--action-chamber-side-inline, clamp(20rem, 32vw, 26rem));
  grid-template-areas: 'viewport action';
  gap: clamp(0.55rem, 1vw, 0.9rem);
}

.shell-body[data-chamber-admission='side'][data-action-chamber]:not([data-action-chamber='closed']) [data-shell-chamber-host='main'] > [data-shell-viewport-layer] {
  grid-area: viewport;
}

.shell-body[data-chamber-admission='side'][data-action-chamber]:not([data-action-chamber='closed']) [data-shell-chamber-host='main'] > [data-action-chamber-root] {
  grid-area: action;
  position: relative;
  inline-size: 100%;
  block-size: 100%;
  justify-self: stretch;
  align-self: stretch;
}

.shell-body[data-layout-mode='portrait-single'][data-chamber-admission='sheet'][data-action-chamber]:not([data-action-chamber='closed']) [data-shell-chamber-host='main'] > [data-action-chamber-root] {
  position: absolute;
  inset: 0;
  z-index: 80;
  display: grid;
  align-items: end;
  padding: 0.32rem;
  background: linear-gradient(180deg, rgba(17,37,61,0.04), rgba(17,37,61,0.18));
  backdrop-filter: blur(2px);
}

.shell-body[data-layout-mode='portrait-single'][data-chamber-admission='sheet'][data-action-chamber]:not([data-action-chamber='closed']) [data-action-chamber-root] .support-chamber__window {
  width: 100%;
  max-height: var(--action-chamber-sheet-max-block, min(74svh, 42rem));
  margin-top: auto;
  border-radius: 1.18rem 1.18rem 1rem 1rem;
}

/* =========================================================
   Protected cover side-admission handshake
   When secure admission opens from the resting cover, the cover remains the
   left shell-chamber occupant while the Action Chamber owns the right lane.
   This explicit grid-area prevents browser/build differences from leaving the
   cover measured against the full shell width behind the side panel.
   ========================================================= */
.shell-body[data-chamber-admission='side'][data-action-chamber]:not([data-action-chamber='closed']) [data-shell-chamber-host='main'] > [data-shell-cover-chamber] {
  grid-area: viewport;
  inline-size: 100%;
  max-inline-size: 100%;
  min-inline-size: 0;
  block-size: 100%;
  max-block-size: 100%;
  min-block-size: 0;
}

.shell-body[data-protected-access='active'][data-chamber-admission='side'] [data-shell-cover-chamber] .shell-cover[data-cover-contract='synapse-cover-v2'] {
  inline-size: 100% !important;
  max-inline-size: 100% !important;
  min-inline-size: 0 !important;
}
/* production-css: end shared/styles/shell/chambers.css */


/* production-css: begin shared/styles/shell/header.css */
.shell__header {
  position: relative;
  z-index: 20;
  background: color-mix(in srgb, white 86%, var(--shell-mode-accent) 14%);
  border-top: 1px solid var(--chamber-line-casing-strong, rgba(164, 132, 72, 0.34));
  border-bottom: 1px solid var(--chamber-line-casing-strong, rgba(164, 132, 72, 0.34));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.8),
    inset 0 -1px 0 rgba(164,132,72,0.12),
    0 1px 0 rgba(17, 37, 61, 0.045);
  backdrop-filter: blur(16px);
  transition: background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);
  padding-top: env(safe-area-inset-top, 0px);
}

.shell__header.is-scrolled,
.is-scrolled.shell__header {
  position: relative;
  z-index: 20;
  background: color-mix(in srgb, white 91%, var(--shell-mode-accent) 9%);
  border-top-color: color-mix(in srgb, var(--chamber-line-casing, rgba(164, 132, 72, 0.28)) 74%, transparent);
  border-bottom-color: var(--chamber-line-casing-strong, rgba(19, 41, 71, 0.12));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.78),
    0 0.3rem 0.8rem rgba(16, 37, 63, 0.045);
}

/* Terminal Shell Alignment: visible header casing rails.
   Use generated rails instead of relying only on borders so the header reads
   as mounted shell chrome across light backgrounds. */
.shell__header::before,
.shell__header::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset-inline: 0;
  height: 1px;
  pointer-events: none;
}

.shell__header::before {
  top: 0;
  background: linear-gradient(90deg,
    transparent,
    color-mix(in srgb, var(--chamber-line-casing-strong, rgba(164, 132, 72, 0.46)) 82%, transparent) 18%,
    color-mix(in srgb, var(--syn-action-line, rgba(43, 130, 139, 0.24)) 42%, var(--chamber-line-casing-strong, rgba(164, 132, 72, 0.46)) 58%) 50%,
    color-mix(in srgb, var(--chamber-line-casing-strong, rgba(164, 132, 72, 0.46)) 82%, transparent) 82%,
    transparent);
  opacity: 0.96;
}

.shell__header::after {
  bottom: 0;
  height: 2px;
  background:
    linear-gradient(90deg, transparent, rgba(255,255,255,0.82), transparent),
    linear-gradient(90deg,
      transparent,
      color-mix(in srgb, var(--chamber-line-casing-strong, rgba(164, 132, 72, 0.52)) 88%, transparent) 16%,
      color-mix(in srgb, var(--chamber-line-casing-strong, rgba(164, 132, 72, 0.52)) 72%, var(--syn-action-line, rgba(43, 130, 139, 0.26)) 28%) 50%,
      color-mix(in srgb, var(--chamber-line-casing-strong, rgba(164, 132, 72, 0.52)) 88%, transparent) 84%,
      transparent);
  opacity: 1;
}

.shell__header-inner {
  min-height: var(--shell-header-min-height, 4.08rem);
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.68rem;
  align-items: center;
  padding-block: 0.38rem;
  position: relative;
}

.shell__header-inner::before,
.shell__header-inner::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg,
    transparent,
    color-mix(in srgb, var(--chamber-line-casing-strong, rgba(164,132,72,0.48)) 82%, transparent) 18%,
    color-mix(in srgb, var(--chamber-line-casing-strong, rgba(164,132,72,0.48)) 64%, var(--syn-action-line, rgba(43,130,139,0.22)) 36%) 50%,
    color-mix(in srgb, var(--chamber-line-casing-strong, rgba(164,132,72,0.48)) 82%, transparent) 82%,
    transparent);
  opacity: 0.74;
}

.shell__header-inner::before { top: 0.18rem; }
.shell__header-inner::after { bottom: 0.18rem; opacity: 0.64; }

.shell__utility {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.shell__utility .button {
  min-height: var(--shell-control-height, 2.26rem);
  padding-inline: var(--shell-control-pad-inline, 0.9rem);
  font-size: 0.88rem;
}

.shell-authbar {
  background: rgba(255, 255, 255, 0.9);
  border-bottom: 1px solid var(--chamber-line-casing, rgba(19, 41, 71, 0.08));
  backdrop-filter: blur(14px);
}

.shell-authbar__inner {
  min-height: 3.6rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  padding-block: 0.34rem;
}

.shell-authbar__nav,
.shell-authbar__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.shell-authbar__actions {
  justify-content: flex-end;
}

.shell-authbar__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.14rem;
  padding: 0 0.82rem;
  border-radius: 999px;
  border: 1px solid var(--button-quiet-border, rgba(19, 41, 71, 0.1));
  background: var(--button-quiet-bg, rgba(255,255,255,0.94));
  color: var(--button-quiet-text, var(--color-title));
  font-family: var(--font-ui);
  font-size: 0.86rem;
  font-weight: var(--font-weight-semibold);
  letter-spacing: -0.01em;
  text-decoration: none;
  cursor: pointer;
  box-shadow: var(--button-shadow-default, 0 0.2rem 0.65rem rgba(17, 37, 61, 0.04));
  transition:
    transform var(--transition-fast),
    border-color var(--transition-fast),
    background var(--transition-fast),
    color var(--transition-fast),
    box-shadow var(--transition-fast);
}

.shell-authbar__button:hover,
.shell-authbar__button:focus-visible {
  transform: translateY(-1px);
  outline: none;
}

.shell-authbar__button--quiet:hover,
.shell-authbar__button--quiet:focus-visible {
  border-color: var(--button-quiet-border-hover, rgba(31, 77, 120, 0.22));
  background: var(--button-quiet-bg-hover, rgba(255,255,255,1));
  box-shadow: var(--button-quiet-shadow-hover, 0 0.45rem 1rem rgba(17, 37, 61, 0.07));
}

.shell-authbar__button--primary {
  border-color: var(--button-primary-border, rgba(17, 37, 61, 0.14));
  background: var(--button-primary-bg, color-mix(in srgb, white 78%, var(--shell-mode-accent) 22%));
  color: var(--button-primary-text, var(--color-title));
  box-shadow: var(--button-primary-shadow, 0 0.3rem 0.8rem rgba(17, 37, 61, 0.08));
}

.shell-authbar__button--primary:hover,
.shell-authbar__button--primary:focus-visible {
  transform: translateY(-2px);
  border-color: var(--button-primary-border-hover, rgba(33, 135, 146, 0.24));
  background: var(--button-primary-bg-hover, linear-gradient(180deg, rgba(31, 77, 120, 0.98), rgba(33, 69, 111, 0.98)));
  color: var(--button-primary-text-hover, var(--color-text-inverse));
  box-shadow: var(--button-primary-shadow-hover, 0 0.6rem 1.1rem rgba(17, 37, 61, 0.14));
}

.shell-authbar__button--secure,
.shell-authbar__button--threshold {
  border: 1px solid var(--button-threshold-border, rgba(31, 77, 120, 0.16));
  background: var(--button-threshold-bg, rgba(255, 255, 255, 0.98));
  color: var(--button-threshold-text, var(--color-title));
  box-shadow: var(--button-threshold-shadow, 0 0.24rem 0.72rem rgba(17, 37, 61, 0.06));
  font-weight: var(--font-weight-bold);
}

.shell-authbar__button--secure:hover,
.shell-authbar__button--secure:focus-visible,
.shell-authbar__button--threshold:hover,
.shell-authbar__button--threshold:focus-visible {
  transform: translateY(-2px);
  border-color: var(--button-threshold-border-hover, rgba(33, 135, 146, 0.24));
  background: var(--button-threshold-bg-hover, linear-gradient(180deg, rgba(31, 77, 120, 0.98), rgba(33, 69, 111, 0.98)));
  color: var(--button-threshold-text-hover, var(--color-text-inverse));
  box-shadow: var(--button-threshold-shadow-hover, 0 0.6rem 1.1rem rgba(17, 37, 61, 0.14));
}

.shell-authbar__message {
  margin: 0;
  min-height: 1.2rem;
  color: var(--color-text-soft);
  font-family: var(--font-body);
  font-size: 0.84rem;
}

.shell-authbar__message[data-tone='error'] {
  color: #8d4a40;
}

.shell-authbar__message[data-tone='success'] {
  color: #416a4f;
}

@media (max-width: 920px) {
  .shell__header-inner {
    min-height: auto;
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-areas: "brand nav utility";
    align-items: center;
    column-gap: 0.4rem;
    row-gap: 0;
    padding-block: 0.32rem;
  }

  .shell-brand { grid-area: brand; min-width: 0; }
  .shell-nav { grid-area: nav; justify-self: end; }
  .shell__utility {
    grid-area: utility;
    justify-self: end;
    min-width: 0;
  }

  .shell__utility .button {
    min-height: 2.1rem;
    padding-inline: 0.82rem;
    font-size: 0.84rem;
  }

  .shell-authbar__inner {
    align-items: stretch;
    flex-direction: column;
  }

  .shell-authbar__nav,
  .shell-authbar__actions {
    width: 100%;
  }

  .shell-authbar__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  .shell__header-inner {
    min-height: var(--shell-header-min-height-mobile, 3.18rem);
    column-gap: 0.28rem;
    padding-block: 0.22rem;
  }

  .shell-body[data-shell-state='public'] .shell__header-inner {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "brand nav";
  }

  .shell-body[data-shell-state='public'] .shell__utility {
    display: none;
  }

  .shell-authbar__inner {
    gap: 0.42rem;
    padding-block: 0.28rem;
  }

  .shell-authbar__nav,
  .shell-authbar__actions {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 0.08rem;
    scrollbar-width: none;
  }

  .shell-authbar__nav::-webkit-scrollbar,
  .shell-authbar__actions::-webkit-scrollbar {
    display: none;
  }

  .shell-authbar__button {
    min-height: 1.96rem;
    padding-inline: 0.72rem;
    font-size: 0.82rem;
    white-space: nowrap;
  }

  .shell-authbar__message {
    flex: 0 0 auto;
    white-space: nowrap;
  }
}


/* Synapse state-aware header polish */
.shell-body[data-layout-mode='portrait-single'] .shell__header-inner {
  min-height: var(--shell-header-min-height-mobile, 3.45rem);
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "brand nav";
  column-gap: 0.36rem;
  row-gap: 0;
  padding-block: 0.24rem;
}

.shell-body[data-layout-mode='portrait-single'] .shell-brand {
  grid-area: brand;
}

.shell-body[data-layout-mode='portrait-single'] .shell-nav {
  grid-area: nav;
  justify-self: end;
}

.shell-body[data-layout-mode='portrait-single'] .shell__utility {
  display: none;
}

.shell-body[data-layout-mode='landscape-side'] .shell__header-inner {
  min-height: 2.92rem;
  grid-template-columns: minmax(10rem, auto) minmax(0, 1fr) auto;
  gap: 0.5rem;
  padding-block: 0.22rem;
}

.shell-body[data-layout-mode='landscape-side'] .shell-brand {
  min-width: 0;
}

.shell-body[data-layout-mode='landscape-side'] .shell-nav {
  min-width: 0;
  justify-self: end;
}

.shell-body[data-layout-mode='wide-dual'] .shell__header-inner {
  min-height: var(--shell-header-min-height, 4.22rem);
}


/* Synapse authbar identity type */
.shell-authbar__button {
  font-family: var(--font-identity);
  font-stretch: var(--font-identity-stretch);
  font-weight: 730;
  letter-spacing: -0.016em;
}

/* Synapse final identity-order tweak
   Landscape should read like desktop: sigil, wordmark, separator, subtitle.
   Keep enough room for the complete practice subtitle before the inline nav scrolls. */
.shell-body[data-layout-mode='landscape-side'] .shell__header-inner {
  grid-template-columns: max-content minmax(0, 1fr) auto;
}

.shell-body[data-layout-mode='landscape-side'] .shell-brand {
  justify-self: start;
}

.shell-body[data-layout-mode='landscape-side'] .shell-nav {
  min-width: 0;
  justify-self: end;
}
/* Preserve the restored sigil casing without clipping asset shadows. */
.shell__header,
.shell__header-inner,
.shell-brand {
  overflow: visible;
}

/* =========================================================
   Synapse Chrome Scale Polish Wave
   Smaller persistent header chrome across resting and active states.
   ========================================================= */
:root {
  --shell-header-min-height: 3rem;
  --shell-header-min-height-mobile: 2.34rem;
}

.shell__header-inner {
  min-height: var(--shell-header-min-height, 3rem);
  padding-block: 0.22rem;
  gap: 0.48rem;
}

.shell__utility .button {
  min-height: 1.78rem;
  padding-inline: 0.62rem;
  font-size: 0.7rem;
}

.shell-body[data-layout-mode='portrait-single'] .shell__header-inner {
  min-height: var(--shell-header-min-height-mobile, 2.34rem);
  padding-block: 0.16rem;
  column-gap: 0.28rem;
}

.shell-body[data-layout-mode='landscape-side'] .shell__header-inner {
  min-height: 2.18rem;
  gap: 0.36rem;
  padding-block: 0.14rem;
}

.shell-body[data-layout-mode='wide-dual'] .shell__header-inner {
  min-height: var(--shell-header-min-height, 3rem);
}

/* =========================================================
   Synapse Chrome Balance Polish Wave
   Header remains compact, but no longer undersized against
   nav/footer or the viewport meta rail.
   ========================================================= */
:root {
  --shell-header-min-height: 3.18rem;
  --shell-header-min-height-mobile: 2.58rem;
}

.shell__header-inner {
  min-height: var(--shell-header-min-height, 3.18rem);
  padding-block: 0.24rem;
  gap: 0.52rem;
}

.shell-body[data-layout-mode='portrait-single'] .shell__header-inner {
  min-height: var(--shell-header-min-height-mobile, 2.58rem);
  padding-block: 0.18rem;
  column-gap: 0.32rem;
}

.shell-body[data-layout-mode='landscape-side'] .shell__header-inner {
  min-height: 2.42rem;
  gap: 0.4rem;
  padding-block: 0.16rem;
}

.shell-body[data-layout-mode='wide-dual'] .shell__header-inner {
  min-height: var(--shell-header-min-height, 3.18rem);
}

.shell__utility .button {
  min-height: 1.92rem;
  padding-inline: 0.7rem;
  font-size: 0.78rem;
}


/* Shell + Inbox Polish Wave: protected identity rail */
.shell-body[data-shell-state="admitted-portal"] .shell__header,
.shell-body[data-shell-state="admitted-workspace"] .shell__header {
  background: color-mix(in srgb, white 92%, var(--shell-mode-accent) 8%);
}

.shell-body[data-shell-state="admitted-portal"] .shell__header-inner,
.shell-body[data-shell-state="admitted-workspace"] .shell__header-inner {
  min-height: var(--shell-protected-header-height, 3.18rem);
  padding-block: 0.24rem;
}

.shell-body[data-shell-state="admitted-portal"] .shell__utility,
.shell-body[data-shell-state="admitted-workspace"] .shell__utility {
  display: flex;
  justify-self: end;
}

.shell-body[data-shell-state="admitted-portal"] .shell__utility .button,
.shell-body[data-shell-state="admitted-workspace"] .shell__utility .button {
  min-height: 2rem;
  padding-inline: 0.78rem;
  font-size: 0.82rem;
}

.shell-authbar--protected .shell-authbar__inner {
  min-height: 2.72rem;
  padding-block: 0.22rem;
}

.shell-authbar--protected .shell-authbar__button {
  min-height: 1.94rem;
  padding-inline: 0.72rem;
  font-size: 0.82rem;
}

.shell-authbar--protected .shell-authbar__message {
  font-size: 0.78rem;
}

@media (max-width: 760px) {
  .shell-body[data-shell-state="admitted-portal"] .shell__header-inner,
  .shell-body[data-shell-state="admitted-workspace"] .shell__header-inner {
    min-height: 2.86rem;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "brand utility";
  }

  .shell-body[data-shell-state="admitted-portal"] .shell__utility,
  .shell-body[data-shell-state="admitted-workspace"] .shell__utility {
    grid-area: utility;
  }

  .shell-authbar--protected .shell-authbar__inner {
    gap: 0.35rem;
  }

  .shell-authbar--protected .shell-authbar__nav {
    gap: 0.34rem;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 0.04rem;
    scrollbar-width: none;
  }

  .shell-authbar--protected .shell-authbar__nav::-webkit-scrollbar {
    display: none;
  }

  .shell-authbar--protected .shell-authbar__button {
    white-space: nowrap;
  }
}

/* =========================================================
   Header Casing Rail Correction
   Removes the blue/teal action tint from header rails so the header reads as
   a single warm casing line in both active and cover states.
   ========================================================= */
.shell__header::before,
.shell__header::after,
.shell__header-inner::before,
.shell__header-inner::after {
  background: linear-gradient(90deg,
    transparent,
    color-mix(in srgb, var(--chamber-line-casing-strong, rgba(164,132,72,0.48)) 82%, transparent) 18%,
    color-mix(in srgb, var(--chamber-line-casing-strong, rgba(164,132,72,0.52)) 92%, white 8%) 50%,
    color-mix(in srgb, var(--chamber-line-casing-strong, rgba(164,132,72,0.48)) 82%, transparent) 82%,
    transparent) !important;
}

/* =========================================================
   Full Shell Cover Integration Wave
   Resting-state header becomes a thin shell rail instead of
   a separate chrome/content band. Active/public header rules
   above remain unchanged.
   ========================================================= */
.shell-body[data-shell-state='resting'] {
  --shell-page-cover-header-rail: clamp(1.08rem, 1.2vw, 1.34rem);
  --shell-page-cover-rail-line: color-mix(in srgb, var(--chamber-line-casing-strong, rgba(164,132,72,0.48)) 74%, transparent);
  --shell-page-cover-rail-fill: color-mix(in srgb, white 86%, var(--shell-mode-accent, #d8edf0) 14%);
}

.shell-body[data-shell-state='resting'] .shell__header,
.shell-body[data-active-scene='cover'] .shell__header {
  min-block-size: var(--shell-page-cover-header-rail) !important;
  block-size: var(--shell-page-cover-header-rail) !important;
  padding-top: 0 !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.70), rgba(255,255,255,0.50)),
    var(--shell-page-cover-rail-fill) !important;
  border-top: 0 !important;
  border-bottom: 1px solid var(--shell-page-cover-rail-line) !important;
  box-shadow:
    inset 0 -1px 0 rgba(255,255,255,0.58),
    0 1px 0 rgba(17,37,61,0.035) !important;
  backdrop-filter: blur(12px) !important;
  overflow: hidden !important;
}

.shell-body[data-shell-state='resting'] .shell__header-inner,
.shell-body[data-active-scene='cover'] .shell__header-inner {
  min-block-size: var(--shell-page-cover-header-rail) !important;
  block-size: var(--shell-page-cover-header-rail) !important;
  padding-block: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-items: center !important;
}

/* Resting cover uses the card as the branding moment; the top rail is a quiet
   shell boundary and should not imply missing header content. */
.shell-body[data-shell-state='resting'] .shell-brand,
.shell-body[data-active-scene='cover'] .shell-brand,
.shell-body[data-shell-state='resting'] .shell-nav,
.shell-body[data-active-scene='cover'] .shell-nav,
.shell-body[data-shell-state='resting'] .shell__utility,
.shell-body[data-active-scene='cover'] .shell__utility {
  display: none !important;
}

/* One warm casing seam only. Disable the stacked inner rail lines that made
   the cover read as a separate header block. */
.shell-body[data-shell-state='resting'] .shell__header::before,
.shell-body[data-active-scene='cover'] .shell__header::before,
.shell-body[data-shell-state='resting'] .shell__header-inner::before,
.shell-body[data-active-scene='cover'] .shell__header-inner::before,
.shell-body[data-shell-state='resting'] .shell__header-inner::after,
.shell-body[data-active-scene='cover'] .shell__header-inner::after {
  display: none !important;
}

.shell-body[data-shell-state='resting'] .shell__header::after,
.shell-body[data-active-scene='cover'] .shell__header::after {
  display: block !important;
  bottom: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg,
    transparent,
    color-mix(in srgb, var(--chamber-line-casing-strong, rgba(164,132,72,0.50)) 74%, transparent) 16%,
    color-mix(in srgb, var(--chamber-line-casing-strong, rgba(164,132,72,0.54)) 88%, white 12%) 50%,
    color-mix(in srgb, var(--chamber-line-casing-strong, rgba(164,132,72,0.50)) 74%, transparent) 84%,
    transparent) !important;
  opacity: 0.86 !important;
}

@media (max-width: 760px) {
  .shell-body[data-shell-state='resting'] {
    --shell-page-cover-header-rail: clamp(0.98rem, 3vw, 1.18rem);
  }
}

/* =========================================================
   State-Aware Trace Cover Wave
   Header rail participates in the full shell chassis. It stays quiet and thin
   while the trace cover owns the branding/content moment.
   ========================================================= */
.shell-body[data-shell-state='resting'],
.shell-body[data-active-scene='cover'] {
  --shell-page-cover-header-rail: clamp(0.82rem, 0.95vw, 1.05rem);
}

.shell-body[data-shell-state='resting'] .shell__header,
.shell-body[data-active-scene='cover'] .shell__header,
.shell-body[data-shell-state='resting'] .shell__header-inner,
.shell-body[data-active-scene='cover'] .shell__header-inner {
  min-block-size: var(--shell-page-cover-header-rail) !important;
  block-size: var(--shell-page-cover-header-rail) !important;
}

@media (orientation: portrait) {
  .shell-body[data-shell-state='resting'],
  .shell-body[data-active-scene='cover'] {
    --shell-page-cover-header-rail: clamp(0.72rem, 2.2vw, 0.96rem);
  }
}

@media (orientation: landscape) and (max-height: 35rem) {
  .shell-body[data-shell-state='resting'],
  .shell-body[data-active-scene='cover'] {
    --shell-page-cover-header-rail: 0.68rem;
  }
}


/* =========================================================
   Synapse header rail alignment wave
   Align brand/nav to the same public rail as the viewport meta so the
   header reads as one registered system with the viewport below it.
   ========================================================= */
:root {
  --syn-public-viewport-inset: clamp(0.5rem, 0.34rem + 0.55vw, 0.9rem);
}

.shell-body[data-layout-mode='landscape-side'] .shell__header-inner,
.shell-body[data-layout-mode='wide-dual'] .shell__header-inner {
  padding-inline: var(--syn-public-viewport-inset);
}

.shell-body[data-layout-mode='landscape-side'] .shell-brand,
.shell-body[data-layout-mode='wide-dual'] .shell-brand {
  justify-self: start;
}

.shell-body[data-layout-mode='landscape-side'] .shell-nav,
.shell-body[data-layout-mode='wide-dual'] .shell-nav {
  justify-self: end;
}
/* production-css: end shared/styles/shell/header.css */


/* production-css: begin shared/styles/shell/identity.css */
.shell-brand {
  --identity-meta-gold: var(--color-meta-accent-soft, color-mix(in srgb, var(--color-brass-600, #9b7a3d) 66%, var(--color-text-soft, #607083) 34%));
  min-width: 0;
  display: flex;
  align-items: center;
  gap: var(--identity-brand-gap, 0.58rem);
  text-decoration: none;
}

.sigil {
  --sigil-shell-edge: rgba(42, 72, 92, 0.14);
  --sigil-shell-glow: var(--syn-casing-soft, rgba(164, 132, 72, 0.055));
  --sigil-bezel-outer-inset: 0.18rem;
  --sigil-bezel-inner-inset: 0.34rem;
  --sigil-bezel-line: var(--syn-casing, rgba(150, 122, 68, 0.28));
  --sigil-bezel-top: rgba(246, 243, 232, 0.96);
  --sigil-bezel-mid: rgba(220, 211, 188, 0.94);
  --sigil-bezel-low: rgba(174, 157, 118, 0.88);
  --sigil-panel-top: color-mix(in srgb, var(--syn-glass, #e5eef1) 86%, transparent);
  --sigil-panel-low: color-mix(in srgb, var(--syn-glass-line, #b0cadb) 64%, transparent);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  flex: 0 0 auto;
  width: var(--identity-sigil-size, 2.72rem);
  height: var(--identity-sigil-size, 2.72rem);
  min-width: var(--identity-sigil-size, 2.72rem);
  display: inline-grid;
  place-items: center;
  border-radius: var(--identity-sigil-radius, 0.95rem);
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,0.94), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,0.97), rgba(241,244,243,0.93));
  border: 1px solid var(--sigil-shell-edge);
  box-shadow:
    0 0.22rem 0.58rem rgba(17, 37, 61, 0.075),
    inset 0 1px 0 rgba(255,255,255,0.66),
    0 0 0 1px var(--sigil-shell-glow);
}

.sigil::before {
  content: "";
  position: absolute;
  inset: var(--sigil-bezel-outer-inset);
  z-index: 0;
  clip-path: polygon(50% 2%, 98% 50%, 50% 98%, 2% 50%);
  -webkit-clip-path: polygon(50% 2%, 98% 50%, 50% 98%, 2% 50%);
  background:
    radial-gradient(circle at 42% 18%, rgba(255,255,255,0.7), transparent 35%),
    linear-gradient(180deg, var(--sigil-bezel-top), var(--sigil-bezel-mid) 50%, var(--sigil-bezel-low));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.72),
    inset 0 -1px 0 rgba(70, 58, 36, 0.13),
    0 0.1rem 0.26rem rgba(17, 37, 61, 0.07);
  pointer-events: none;
}

.sigil::after {
  content: "";
  position: absolute;
  inset: var(--sigil-bezel-inner-inset);
  z-index: 1;
  clip-path: polygon(50% 3%, 97% 50%, 50% 97%, 3% 50%);
  -webkit-clip-path: polygon(50% 3%, 97% 50%, 50% 97%, 3% 50%);
  background:
    radial-gradient(circle at 50% 18%, rgba(255,255,255,0.52), transparent 42%),
    linear-gradient(180deg, var(--sigil-panel-top), var(--sigil-panel-low));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.38),
    inset 0 -1px 0 rgba(42, 72, 92, 0.1);
  pointer-events: none;
}

.sigil__img {
  position: relative;
  z-index: 2;
  display: block;
  width: var(--identity-sigil-art-size, 76%);
  height: var(--identity-sigil-art-size, 76%);
  max-width: var(--identity-sigil-art-size, 76%);
  max-height: var(--identity-sigil-art-size, 76%);
  object-fit: contain;
  object-position: center;
  clip-path: none;
  -webkit-clip-path: none;
  transform: translateY(-0.035rem);
  filter: drop-shadow(0 0.07rem 0.14rem rgba(17, 37, 61, 0.17));
}

.identity-plate {
  position: relative;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.46rem;
  align-content: center;
  padding: 0;
}

.identity-plate::before {
  content: none;
}

.identity-plate__eyebrow,
.identity-plate__name,
.identity-plate__meta {
  position: relative;
  z-index: 1;
  min-width: 0;
  text-shadow: none;
  font-family: var(--font-identity);
  font-stretch: var(--font-identity-stretch);
}

.identity-plate__name {
  order: 1;
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
  font-size: var(--identity-title-size, clamp(1.06rem, 0.98rem + 0.25vw, 1.22rem));
  font-weight: 780;
  letter-spacing: -0.034em;
  color: var(--syn-identity, var(--color-title));
  line-height: 0.98;
}

.identity-plate__separator {
  order: 2;
  display: inline-block;
  flex: 0 0 auto;
  width: 0.34rem;
  height: 0.34rem;
  transform: rotate(45deg);
  border-radius: 0.075rem;
  background: var(--identity-meta-gold);
  box-shadow: 0 0 0 1px rgba(255,255,255,0.62);
}

.identity-plate__eyebrow {
  order: 3;
  display: inline-flex;
  align-items: center;
  color: var(--identity-meta-gold);
  font-size: var(--identity-kicker-size, 0.74rem);
  font-weight: var(--font-weight-bold);
  line-height: 1;
  letter-spacing: -0.004em;
  text-transform: none;
  white-space: nowrap;
}

.identity-plate__eyebrow:empty,
.identity-plate__eyebrow:empty + .identity-plate__separator {
  display: none;
}

.identity-plate__meta {
  order: 4;
  display: none;
  color: color-mix(in srgb, var(--color-text-soft) 88%, white 12%);
  font-size: var(--identity-meta-size, 0.72rem);
  font-weight: var(--font-weight-semibold);
  letter-spacing: -0.006em;
  line-height: 1.12;
  max-width: 24ch;
}

.identity-plate__meta:empty {
  display: none;
}

.shell-body[data-layout-mode='portrait-single'] .shell-brand {
  gap: var(--identity-brand-gap-mobile, 0.42rem);
}

.shell-body[data-layout-mode='portrait-single'] .sigil {
  width: var(--identity-sigil-size-mobile, 2.42rem);
  height: var(--identity-sigil-size-mobile, 2.42rem);
  min-width: var(--identity-sigil-size-mobile, 2.42rem);
  border-radius: var(--identity-sigil-radius-mobile, 0.84rem);
}

.shell-body[data-layout-mode='portrait-single'] .sigil {
  --sigil-bezel-outer-inset: 0.16rem;
  --sigil-bezel-inner-inset: 0.3rem;
}

.shell-body[data-layout-mode='portrait-single'] .sigil__img {
  width: var(--identity-sigil-art-size-mobile, 76%);
  height: var(--identity-sigil-art-size-mobile, 76%);
  max-width: var(--identity-sigil-art-size-mobile, 76%);
  max-height: var(--identity-sigil-art-size-mobile, 76%);
}

.shell-body[data-layout-mode='portrait-single'] .identity-plate {
  display: grid;
  gap: 0.1rem;
  align-content: center;
}

.shell-body[data-layout-mode='portrait-single'] .identity-plate__name {
  order: 1;
  font-size: var(--identity-title-size-mobile, 1rem);
  line-height: 1;
  letter-spacing: -0.032em;
  overflow: hidden;
  text-overflow: ellipsis;
}

.shell-body[data-layout-mode='portrait-single'] .identity-plate__eyebrow {
  order: 2;
  display: block;
  max-width: min(32ch, 58vw);
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--identity-meta-gold);
  font-size: var(--identity-meta-size-mobile, 0.64rem);
  font-weight: var(--font-weight-bold);
  letter-spacing: -0.002em;
  text-transform: none;
  line-height: 1.08;
  white-space: nowrap;
}

.shell-body[data-layout-mode='portrait-single'] .identity-plate__separator,
.shell-body[data-layout-mode='portrait-single'] .identity-plate__meta {
  display: none;
}

.shell-body[data-layout-mode='landscape-side'] .sigil {
  width: var(--identity-sigil-size-landscape, 2.28rem);
  height: var(--identity-sigil-size-landscape, 2.28rem);
  min-width: var(--identity-sigil-size-landscape, 2.28rem);
  border-radius: 0.78rem;
}

.shell-body[data-layout-mode='landscape-side'] .sigil {
  --sigil-bezel-outer-inset: 0.16rem;
  --sigil-bezel-inner-inset: 0.29rem;
}

.shell-body[data-layout-mode='landscape-side'] .sigil__img {
  width: var(--identity-sigil-art-size-landscape, 78%);
  height: var(--identity-sigil-art-size-landscape, 78%);
  max-width: var(--identity-sigil-art-size-landscape, 78%);
  max-height: var(--identity-sigil-art-size-landscape, 78%);
}

.shell-body[data-layout-mode='landscape-side'] .shell-brand {
  gap: var(--identity-brand-gap-landscape, 0.46rem);
  min-width: max-content;
}

.shell-body[data-layout-mode='landscape-side'] .identity-plate {
  display: inline-flex;
  align-items: center;
  gap: 0.34rem;
  min-width: max-content;
}

.shell-body[data-layout-mode='landscape-side'] .identity-plate__name {
  order: 1;
  overflow: visible;
  text-overflow: clip;
  font-size: var(--identity-title-size-landscape, 0.98rem);
  line-height: 0.98;
}

.shell-body[data-layout-mode='landscape-side'] .identity-plate__separator {
  order: 2;
  display: inline-block;
  width: 0.28rem;
  height: 0.28rem;
  border-radius: 0.06rem;
}

.shell-body[data-layout-mode='landscape-side'] .identity-plate__eyebrow {
  order: 3;
  display: inline-flex;
  align-items: center;
  overflow: visible;
  text-overflow: clip;
  color: var(--identity-meta-gold);
  font-size: var(--identity-kicker-size-landscape, 0.64rem);
  font-weight: var(--font-weight-bold);
  line-height: 1;
  letter-spacing: -0.006em;
  text-transform: none;
  white-space: nowrap;
}

.shell-body[data-layout-mode='landscape-side'] .identity-plate__meta {
  display: none;
}

@media (max-width: 360px) {
  .shell-body[data-layout-mode='portrait-single'] .identity-plate__eyebrow {
    max-width: 48vw;
  }

  .shell-body[data-layout-mode='portrait-single'] .identity-plate__name {
    font-size: 0.92rem;
  }
}

/* =========================================================
   Synapse Chrome Scale Polish Wave
   Goal: reduce persistent shell branding so the cover card
   carries the primary brand moment.
   ========================================================= */
:root {
  --identity-sigil-size: 1.9rem;
  --identity-sigil-radius: 0.68rem;
  --identity-sigil-art-size: 74%;
  --identity-title-size: clamp(0.74rem, 0.68rem + 0.18vw, 0.86rem);
  --identity-kicker-size: 0.56rem;
  --identity-meta-size: 0.54rem;
  --identity-brand-gap: 0.38rem;

  --identity-sigil-size-mobile: 1.72rem;
  --identity-sigil-radius-mobile: 0.58rem;
  --identity-sigil-art-size-mobile: 74%;
  --identity-title-size-mobile: 0.72rem;
  --identity-meta-size-mobile: 0.5rem;
  --identity-brand-gap-mobile: 0.32rem;

  --identity-sigil-size-landscape: 1.68rem;
  --identity-sigil-art-size-landscape: 75%;
  --identity-title-size-landscape: 0.72rem;
  --identity-kicker-size-landscape: 0.5rem;
  --identity-brand-gap-landscape: 0.32rem;
}

.sigil {
  --sigil-bezel-outer-inset: 0.13rem;
  --sigil-bezel-inner-inset: 0.25rem;
  box-shadow:
    0 0.15rem 0.38rem rgba(17, 37, 61, 0.065),
    inset 0 1px 0 rgba(255,255,255,0.62),
    0 0 0 1px var(--sigil-shell-glow);
}

.identity-plate__separator {
  width: 0.24rem;
  height: 0.24rem;
  border-radius: 0.05rem;
}

.shell-body[data-layout-mode='portrait-single'] .sigil,
.shell-body[data-layout-mode='landscape-side'] .sigil {
  --sigil-bezel-outer-inset: 0.12rem;
  --sigil-bezel-inner-inset: 0.23rem;
}

.shell-body[data-layout-mode='portrait-single'] .identity-plate,
.shell-body[data-layout-mode='landscape-side'] .identity-plate {
  gap: 0.06rem;
}

@media (max-width: 360px) {
  .shell-body[data-layout-mode='portrait-single'] .identity-plate__name {
    font-size: 0.68rem;
  }
}

/* =========================================================
   Synapse Chrome Balance Polish Wave
   Restores persistent chrome legibility while keeping the
   cover card as the primary brand moment.
   ========================================================= */
:root {
  --identity-sigil-size: 2.12rem;
  --identity-sigil-radius: 0.74rem;
  --identity-sigil-art-size: 75%;
  --identity-title-size: clamp(0.88rem, 0.8rem + 0.22vw, 1.04rem);
  --identity-kicker-size: 0.5rem;
  --identity-meta-size: 0.5rem;
  --identity-brand-gap: 0.42rem;

  --identity-sigil-size-mobile: 1.96rem;
  --identity-sigil-radius-mobile: 0.66rem;
  --identity-sigil-art-size-mobile: 75%;
  --identity-title-size-mobile: 0.88rem;
  --identity-meta-size-mobile: 0.48rem;
  --identity-brand-gap-mobile: 0.34rem;

  --identity-sigil-size-landscape: 1.96rem;
  --identity-sigil-art-size-landscape: 76%;
  --identity-title-size-landscape: 0.88rem;
  --identity-kicker-size-landscape: 0.48rem;
  --identity-brand-gap-landscape: 0.34rem;
}

.sigil {
  --sigil-bezel-outer-inset: 0.145rem;
  --sigil-bezel-inner-inset: 0.27rem;
}

.shell-body[data-layout-mode='portrait-single'] .sigil,
.shell-body[data-layout-mode='landscape-side'] .sigil {
  --sigil-bezel-outer-inset: 0.135rem;
  --sigil-bezel-inner-inset: 0.255rem;
}

.identity-plate__name {
  font-size: var(--identity-title-size, clamp(0.88rem, 0.8rem + 0.22vw, 1.04rem));
  font-weight: 790;
  letter-spacing: -0.033em;
}

.shell-body[data-layout-mode='portrait-single'] .identity-plate__name {
  font-size: var(--identity-title-size-mobile, 0.88rem);
}

.shell-body[data-layout-mode='landscape-side'] .identity-plate__name {
  font-size: var(--identity-title-size-landscape, 0.88rem);
}

@media (max-width: 360px) {
  .shell-body[data-layout-mode='portrait-single'] .identity-plate__name {
    font-size: 0.8rem;
  }
}



/* =========================================================
   Native Identity-System Sigil Repair Wave
   Sharper native header mark. Uses SVG stroke geometry that scales with the
   icon so the snake/rod remains a sigil, not a filled blob.
   ========================================================= */
.sigil.synapse-native-sigil {
  --sigil-field-top: color-mix(in srgb, var(--syn-action, #0f5f64) 84%, #173554 16%);
  --sigil-field-low: color-mix(in srgb, var(--syn-action, #0f5f64) 58%, #10253f 42%);
  --sigil-rod: rgba(250, 249, 238, 0.96);
  --sigil-serpent: color-mix(in srgb, var(--syn-casing-strong, #a88448) 72%, #f6df9b 28%);
  --sigil-serpent-shadow: color-mix(in srgb, var(--syn-casing-strong, #a88448) 58%, #5f4524 42%);
  --sigil-native-field-inset: var(--sigil-bezel-inner-inset, 0.27rem);
}

.sigil.synapse-native-sigil .synapse-native-sigil__housing,
.synapse-native-sigil .synapse-native-sigil__housing {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  place-items: center;
  pointer-events: none;
}

.sigil.synapse-native-sigil .synapse-native-sigil__field,
.synapse-native-sigil .synapse-native-sigil__field {
  position: absolute;
  inset: var(--sigil-native-field-inset, 0.27rem);
  z-index: 2;
  display: grid;
  place-items: center;
  clip-path: polygon(50% 4%, 96% 50%, 50% 96%, 4% 50%);
  -webkit-clip-path: polygon(50% 4%, 96% 50%, 50% 96%, 4% 50%);
  background:
    radial-gradient(circle at 45% 18%, rgba(255,255,255,0.18), transparent 31%),
    linear-gradient(180deg, var(--sigil-field-top), var(--sigil-field-low));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.20),
    inset 0 -0.14rem 0.28rem rgba(12, 35, 54, 0.18);
}

.sigil.synapse-native-sigil .synapse-native-sigil__field::after,
.synapse-native-sigil .synapse-native-sigil__field::after {
  content: '';
  position: absolute;
  inset: 12% 18%;
  z-index: 1;
  background: linear-gradient(135deg, rgba(255,255,255,0.12), transparent 42% 100%);
  opacity: 0.28;
  pointer-events: none;
}

.synapse-native-sigil__glyph {
  position: relative;
  z-index: 2;
  width: var(--identity-sigil-glyph-scale, 78%);
  height: var(--identity-sigil-glyph-scale, 78%);
  display: block;
  overflow: visible;
  filter: drop-shadow(0 0.035rem 0.045rem rgba(4, 24, 37, 0.20));
}

.synapse-native-sigil__glyph path {
  fill: none;
  vector-effect: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.synapse-native-sigil__axis-shadow {
  stroke: rgba(4, 24, 37, 0.20);
  stroke-width: 5.6;
  opacity: 0.44;
}

.synapse-native-sigil__rod {
  stroke: var(--sigil-rod);
  stroke-width: 4.2;
}

.synapse-native-sigil__serpent-back {
  stroke: var(--sigil-serpent-shadow);
  stroke-width: 8.0;
  opacity: 0.34;
}

.synapse-native-sigil__serpent-front {
  stroke: var(--sigil-serpent);
  stroke-width: 5.8;
}

.synapse-native-sigil__serpent-highlight {
  stroke: rgba(255,255,255,0.34);
  stroke-width: 1.25;
  opacity: 0.52;
}

.sigil.synapse-native-sigil .sigil__img {
  display: none !important;
}

.shell-body[data-layout-mode='portrait-single'] .sigil.synapse-native-sigil,
.shell-body[data-layout-mode='landscape-side'] .sigil.synapse-native-sigil {
  --sigil-native-field-inset: var(--sigil-bezel-inner-inset, 0.255rem);
  --identity-sigil-glyph-scale: 76%;
}
/* production-css: end shared/styles/shell/identity.css */


/* production-css: begin shared/styles/shell/navigation.css */
.shell-nav {
  position: relative;
  justify-self: end;
  z-index: 21;
}

/* Terminal Shell Alignment: public nav belongs to public content only.
   Keep login.html/gateway fallback untouched by scoping to data-app='clinic'. */
.shell-body[data-app='clinic'][data-shell-state='resting'] .shell-nav,
.shell-body[data-app='clinic'][data-shell-state='admission'] .shell-nav,
.shell-body[data-app='clinic'][data-active-scene='cover'] .shell-nav,
.shell-body[data-app='clinic'][data-active-scene='access'] .shell-nav {
  display: none !important;
}

.shell-nav__toggle {
  display: none;
  min-height: 2.18rem;
  padding: 0.5rem 0.82rem;
  border-radius: 999px;
  border: 1px solid var(--button-quiet-border, rgba(19, 41, 71, 0.1));
  background: var(--button-quiet-bg, rgba(255,255,255,0.78));
  color: var(--button-quiet-text, var(--color-title));
  font-family: var(--font-ui);
  font-size: 0.86rem;
  font-weight: var(--font-weight-semibold);
  letter-spacing: -0.01em;
  box-shadow: 0 0.14rem 0.48rem rgba(17, 37, 61, 0.035);
  transition:
    transform var(--transition-fast),
    border-color var(--transition-fast),
    background var(--transition-fast),
    color var(--transition-fast),
    box-shadow var(--transition-fast);
}

.shell-nav__toggle:hover,
.shell-nav__toggle:focus-visible {
  transform: translateY(-1px);
  outline: none;
  border-color: var(--button-quiet-border-hover, rgba(31, 77, 120, 0.16));
  background: var(--button-quiet-bg-hover, rgba(255, 255, 255, 0.96));
  box-shadow: 0 0.32rem 0.86rem rgba(17, 37, 61, 0.06);
}

.shell-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.22rem;
}

.shell-nav__link,
.subnav__link {
  display: inline-flex;
  align-items: center;
  min-height: 2.22rem;
  padding: 0 0.82rem;
  border-radius: 999px;
  border: 1px solid transparent;
  background: rgba(255, 255, 255, 0);
  text-decoration: none;
  color: var(--color-title);
  font-family: var(--font-ui);
  font-size: 0.89rem;
  font-weight: var(--font-weight-semibold);
  letter-spacing: -0.01em;
  box-shadow: 0 0 0 rgba(17, 37, 61, 0);
  transition:
    transform var(--transition-fast),
    border-color var(--transition-fast),
    background var(--transition-fast),
    box-shadow var(--transition-fast),
    color var(--transition-fast);
}

.shell-nav__link:hover,
.shell-nav__link:focus-visible,
.subnav__link:hover,
.subnav__link:focus-visible {
  transform: translateY(-1px);
  outline: none;
  background: var(--button-quiet-bg-hover, rgba(255, 255, 255, 0.98));
  border-color: var(--button-quiet-border-hover, rgba(31, 77, 120, 0.18));
  box-shadow: var(--button-quiet-shadow-hover, 0 0.42rem 0.95rem rgba(17, 37, 61, 0.08));
}

.shell-nav__link[aria-current='page'],
.subnav__link[aria-current='page'] {
  background: rgba(255, 255, 255, 0.98);
  border-color: rgba(31, 77, 120, 0.24);
  box-shadow: 0 0.3rem 0.8rem rgba(17, 37, 61, 0.07);
}

.shell-nav__link[aria-current='page']:hover,
.shell-nav__link[aria-current='page']:focus-visible,
.subnav__link[aria-current='page']:hover,
.subnav__link[aria-current='page']:focus-visible {
  transform: translateY(-1px);
  background: rgba(255, 255, 255, 1);
  border-color: rgba(31, 77, 120, 0.28);
  box-shadow: 0 0.46rem 1rem rgba(17, 37, 61, 0.09);
}

.shell-nav__link--access {
  border-color: var(--button-threshold-border, rgba(31, 77, 120, 0.16));
  background: var(--button-threshold-bg, rgba(255,255,255,0.96));
  color: var(--button-threshold-text, var(--color-title));
  font-weight: var(--font-weight-bold);
  box-shadow: var(--button-threshold-shadow, 0 0.24rem 0.72rem rgba(17, 37, 61, 0.06));
}

.shell-nav__link--access:hover,
.shell-nav__link--access:focus-visible {
  transform: translateY(-2px);
  background: var(--button-threshold-bg-hover, linear-gradient(180deg, rgba(31, 77, 120, 0.98), rgba(33, 69, 111, 0.98)));
  border-color: var(--button-threshold-border-hover, rgba(33, 135, 146, 0.24));
  color: var(--button-threshold-text-hover, var(--color-text-inverse));
  box-shadow: var(--button-threshold-shadow-hover, 0 0.6rem 1.1rem rgba(17, 37, 61, 0.14));
}

@media (max-width: 760px) {
  html.has-mobile-nav-open body.shell-body::after {
    content: '';
    position: fixed;
    inset: 0;
    background: rgba(17, 37, 61, 0.16);
    backdrop-filter: blur(2px);
    z-index: 19;
  }

  .shell-nav__toggle {
    display: inline-flex;
    min-height: 1.9rem;
    padding: 0.38rem 0.68rem;
    font-size: 0.8rem;
    border-color: rgba(19, 41, 71, 0.1);
    background: rgba(255,255,255,0.76);
    box-shadow: 0 0.12rem 0.42rem rgba(17, 37, 61, 0.03);
  }

  .shell-nav__list {
    display: none;
    position: absolute;
    z-index: 24;
    top: calc(100% + 0.42rem);
    right: 0;
    margin-top: 0;
    padding: 0.5rem;
    width: min(18rem, calc(100vw - 1rem));
    max-height: calc(100dvh - 5rem);
    overflow: auto;
    border-radius: 1rem;
    background: rgba(255,255,255,0.985);
    border: 1px solid rgba(19, 41, 71, 0.09);
    box-shadow: 0 1rem 2rem rgba(16, 37, 63, 0.16);
    backdrop-filter: blur(14px);
    justify-content: stretch;
  }

  .shell-nav.is-open .shell-nav__list {
    display: grid;
    gap: 0.22rem;
  }

  .shell-nav__link {
    width: 100%;
    min-height: 2.12rem;
    justify-content: flex-start;
    padding-inline: 0.78rem;
    border-radius: 0.82rem;
  }

  .shell-nav__link--access {
    display: none;
  }
}


/* =========================================================
   Synapse Nav Preboot Stability Patch
   Desktop/landscape shell nav must obey layout state before
   js-ready lands. Width-only mobile rules above can match
   narrow landscape browsers, so this guard keeps the portrait
   tray unavailable unless the shell is actually portrait-single.
   ========================================================= */
.shell-body[data-layout-mode='landscape-side'] .shell-nav__toggle,
.shell-body[data-layout-mode='wide-dual'] .shell-nav__toggle {
  display: none !important;
}

.shell-body[data-layout-mode='landscape-side'] .shell-nav__list,
.shell-body[data-layout-mode='wide-dual'] .shell-nav__list {
  display: flex !important;
  position: static !important;
  z-index: auto;
  top: auto;
  right: auto;
  left: auto;
  width: auto;
  max-height: none;
  overflow: visible;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
}

.shell-body[data-layout-mode='landscape-side'] .shell-nav.is-open .shell-nav__list,
.shell-body[data-layout-mode='wide-dual'] .shell-nav.is-open .shell-nav__list {
  display: flex !important;
}

.shell-body[data-layout-mode='landscape-side'] .shell-nav__link,
.shell-body[data-layout-mode='wide-dual'] .shell-nav__link {
  width: auto;
  justify-content: center;
}

.shell-body[data-layout-mode='landscape-side'] .shell-nav__link--access,
.shell-body[data-layout-mode='wide-dual'] .shell-nav__link--access {
  display: inline-flex;
}

html.has-mobile-nav-open body.shell-body:not([data-layout-mode='portrait-single'])::after {
  content: none !important;
  display: none !important;
}


/* Synapse state-aware nav polish */
.shell-body[data-layout-mode='portrait-single'] .shell-nav__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.92rem;
  padding: 0.38rem 0.7rem;
  font-family: var(--font-identity);
  font-stretch: var(--font-identity-stretch);
  font-size: 0.78rem;
  font-weight: 740;
  letter-spacing: -0.012em;
}

.shell-body[data-layout-mode='portrait-single'] .shell-nav__list {
  display: none;
  position: absolute;
  z-index: 24;
  top: calc(100% + 0.42rem);
  right: 0;
  margin-top: 0;
  padding: 0.5rem;
  width: min(18rem, calc(100vw - 1rem));
  max-height: calc(100dvh - 5rem);
  overflow: auto;
  border-radius: 1rem;
  background: rgba(255,255,255,0.985);
  border: 1px solid rgba(19, 41, 71, 0.09);
  box-shadow: 0 1rem 2rem rgba(16, 37, 63, 0.16);
  backdrop-filter: blur(14px);
  justify-content: stretch;
}

.shell-body[data-layout-mode='portrait-single'] .shell-nav.is-open .shell-nav__list {
  display: grid;
  gap: 0.22rem;
}

.shell-body[data-layout-mode='portrait-single'] .shell-nav__link {
  width: 100%;
  min-height: 2.12rem;
  justify-content: flex-start;
  padding-inline: 0.78rem;
  border-radius: 0.82rem;
}

html.has-mobile-nav-open body.shell-body[data-layout-mode='portrait-single']::after {
  content: '';
  position: fixed;
  inset: 0;
  background: rgba(17, 37, 61, 0.16);
  backdrop-filter: blur(2px);
  z-index: 19;
}

html.js-ready .shell-body:not([data-layout-mode='portrait-single']) .shell-nav__toggle {
  display: none !important;
}

html.js-ready .shell-body:not([data-layout-mode='portrait-single']) .shell-nav__list {
  display: flex !important;
  position: static;
  z-index: auto;
  width: auto;
  max-height: none;
  overflow: visible;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
}

html.js-ready .shell-body:not([data-layout-mode='portrait-single']) .shell-nav__link {
  width: auto;
  justify-content: center;
}

.shell-body[data-layout-mode='landscape-side'] .shell-nav {
  max-width: 100%;
  overflow-x: auto;
  scrollbar-width: none;
}

.shell-body[data-layout-mode='landscape-side'] .shell-nav::-webkit-scrollbar {
  display: none;
}

.shell-body[data-layout-mode='landscape-side'] .shell-nav__list {
  flex-wrap: nowrap;
  gap: 0.14rem;
}

.shell-body[data-layout-mode='landscape-side'] .shell-nav__link {
  min-height: 1.86rem;
  padding-inline: 0.54rem;
  font-size: 0.75rem;
  white-space: nowrap;
}

/* =========================================================
   Synapse Chrome Balance Polish Wave
   Nav type is restored above the viewport meta scale.
   ========================================================= */
.shell-nav__toggle {
  min-height: 2.02rem;
  padding-inline: 0.78rem;
  font-size: 0.88rem;
  font-weight: 760;
}

.shell-nav__link,
.subnav__link {
  min-height: 2.08rem;
  padding-inline: 0.78rem;
  font-size: clamp(0.86rem, 0.78rem + 0.18vw, 0.96rem);
  font-weight: 740;
}

.shell-body[data-layout-mode='portrait-single'] .shell-nav__toggle {
  min-height: 2rem;
  padding-inline: 0.72rem;
  font-size: 0.86rem;
}

.shell-body[data-layout-mode='portrait-single'] .shell-nav__link {
  min-height: 2.18rem;
  font-size: 0.88rem;
}

.shell-body[data-layout-mode='landscape-side'] .shell-nav__link {
  min-height: 1.96rem;
  padding-inline: 0.58rem;
  font-size: 0.86rem;
}

.shell-body[data-layout-mode='landscape-side'] .shell-nav__list {
  gap: 0.16rem;
}

/* =========================================================
   Synapse Mobile Nav Drawer Shell Panel Pass
   Mobile public nav opens from the header rail as a quiet
   shell panel. Secure access routes remain outside this menu.
   ========================================================= */
:root {
  --mobile-nav-panel-gutter: clamp(0.88rem, 4vw, 1.35rem);
  --mobile-nav-panel-top: calc(env(safe-area-inset-top, 0px) + var(--shell-header-min-height-mobile, 2.58rem) + 0.54rem);
  --mobile-nav-panel-radius: 1.24rem;
  --mobile-nav-panel-line: color-mix(in srgb, var(--chamber-line-casing-strong, rgba(164,132,72,0.46)) 72%, transparent);
  --mobile-nav-panel-line-soft: color-mix(in srgb, var(--chamber-line-casing, rgba(164,132,72,0.3)) 56%, transparent);
  --mobile-nav-panel-teal: color-mix(in srgb, var(--syn-action-line, rgba(43,130,139,0.34)) 72%, transparent);
}

.shell-body[data-layout-mode='portrait-single'] .shell-nav {
  position: relative;
  z-index: 25;
}

.shell-body[data-layout-mode='portrait-single'] .shell-nav__toggle {
  border-color: color-mix(in srgb, var(--chamber-line-casing, rgba(164,132,72,0.24)) 42%, rgba(19,41,71,0.1));
  background:
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,249,0.9));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.88),
    0 0.16rem 0.5rem rgba(17, 37, 61, 0.045);
}

.shell-body[data-layout-mode='portrait-single'] .shell-nav.is-open .shell-nav__toggle {
  border-color: color-mix(in srgb, var(--mobile-nav-panel-line, rgba(164,132,72,0.46)) 78%, rgba(31,77,120,0.14));
  background:
    linear-gradient(180deg, rgba(255,255,255,1), rgba(247,250,250,0.95));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.92),
    inset 0 -1px 0 color-mix(in srgb, var(--mobile-nav-panel-line, rgba(164,132,72,0.42)) 42%, transparent),
    0 0.34rem 0.9rem rgba(17, 37, 61, 0.08);
}

.shell-body[data-layout-mode='portrait-single'] .shell-nav__list {
  position: fixed;
  top: var(--mobile-nav-panel-top);
  right: var(--mobile-nav-panel-gutter);
  left: auto;
  width: min(20.5rem, calc(100vw - clamp(1.76rem, 8vw, 2.7rem)));
  max-height: calc(100dvh - var(--mobile-nav-panel-top) - 5.4rem);
  padding: 0.74rem;
  overflow: auto;
  overscroll-behavior: contain;
  border-radius: var(--mobile-nav-panel-radius);
  border: 1px solid var(--mobile-nav-panel-line);
  background:
    linear-gradient(135deg, rgba(164,132,72,0.075), transparent 18%, rgba(43,130,139,0.055) 100%),
    linear-gradient(180deg, rgba(255,255,255,0.992), rgba(250,252,252,0.968));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.9),
    inset 0 -1px 0 color-mix(in srgb, var(--mobile-nav-panel-line-soft, rgba(164,132,72,0.28)) 48%, transparent),
    0 1.2rem 2.4rem rgba(16, 37, 63, 0.17),
    0 0 0 1px rgba(255,255,255,0.7);
  backdrop-filter: blur(18px) saturate(1.04);
  isolation: isolate;
}

.shell-body[data-layout-mode='portrait-single'] .shell-nav.is-open .shell-nav__list {
  display: grid;
  gap: 0.32rem;
  align-content: start;
}

.shell-body[data-layout-mode='portrait-single'] .shell-nav__list::before,
.shell-body[data-layout-mode='portrait-single'] .shell-nav__list::after {
  content: '';
  position: absolute;
  pointer-events: none;
  z-index: 0;
}

.shell-body[data-layout-mode='portrait-single'] .shell-nav__list::before {
  inset: 0.72rem;
  border-radius: calc(var(--mobile-nav-panel-radius) - 0.38rem);
  background:
    linear-gradient(var(--mobile-nav-panel-line), var(--mobile-nav-panel-line)) left top / 2.15rem 1px no-repeat,
    linear-gradient(var(--mobile-nav-panel-line), var(--mobile-nav-panel-line)) left top / 1px 2.15rem no-repeat,
    linear-gradient(var(--mobile-nav-panel-line-soft), var(--mobile-nav-panel-line-soft)) right top / 2.15rem 1px no-repeat,
    linear-gradient(var(--mobile-nav-panel-line-soft), var(--mobile-nav-panel-line-soft)) right top / 1px 2.15rem no-repeat,
    linear-gradient(var(--mobile-nav-panel-line-soft), var(--mobile-nav-panel-line-soft)) left bottom / 1.7rem 1px no-repeat,
    linear-gradient(var(--mobile-nav-panel-line-soft), var(--mobile-nav-panel-line-soft)) right bottom / 1.7rem 1px no-repeat;
  opacity: 0.68;
}

.shell-body[data-layout-mode='portrait-single'] .shell-nav__list::after {
  inset-block: 0.84rem;
  left: 0.56rem;
  width: 1px;
  border-radius: 999px;
  background: linear-gradient(180deg, transparent, var(--mobile-nav-panel-line) 22%, var(--mobile-nav-panel-teal) 52%, var(--mobile-nav-panel-line-soft) 78%, transparent);
  opacity: 0.58;
}

.shell-body[data-layout-mode='portrait-single'] .shell-nav__list > * {
  position: relative;
  z-index: 1;
}

.shell-body[data-layout-mode='portrait-single'] .shell-nav__link {
  min-height: 2.56rem;
  padding-inline: 0.95rem;
  border-radius: 0.9rem;
  background: rgba(255,255,255,0.18);
  border-color: transparent;
  font-family: var(--font-identity);
  font-stretch: var(--font-identity-stretch);
  font-weight: 760;
  letter-spacing: -0.014em;
}

.shell-body[data-layout-mode='portrait-single'] .shell-nav__link:hover,
.shell-body[data-layout-mode='portrait-single'] .shell-nav__link:focus-visible {
  background: rgba(255,255,255,0.94);
  border-color: color-mix(in srgb, var(--mobile-nav-panel-teal, rgba(43,130,139,0.24)) 55%, rgba(31,77,120,0.12));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.9),
    0 0.42rem 1rem rgba(17, 37, 61, 0.075);
}

.shell-body[data-layout-mode='portrait-single'] .shell-nav__link[aria-current='page'] {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(249,251,250,0.94));
  border-color: color-mix(in srgb, var(--mobile-nav-panel-line, rgba(164,132,72,0.46)) 70%, rgba(31,77,120,0.16));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.92),
    inset 0 -1px 0 color-mix(in srgb, var(--mobile-nav-panel-line-soft, rgba(164,132,72,0.28)) 46%, transparent),
    0 0.34rem 0.9rem rgba(17, 37, 61, 0.07);
}

.shell-body[data-layout-mode='portrait-single'] .shell-nav__link--access {
  display: none;
}

html.has-mobile-nav-open body.shell-body[data-layout-mode='portrait-single']::after {
  background:
    radial-gradient(circle at 86% 4rem, rgba(164,132,72,0.13), transparent 16rem),
    radial-gradient(circle at 18% 35%, rgba(43,130,139,0.08), transparent 22rem),
    rgba(17, 37, 61, 0.14);
  backdrop-filter: blur(3.5px) saturate(0.96);
}

@media (max-width: 430px) {
  .shell-body[data-layout-mode='portrait-single'] .shell-nav__list {
    left: var(--mobile-nav-panel-gutter);
    right: var(--mobile-nav-panel-gutter);
    width: auto;
  }
}
/* production-css: end shared/styles/shell/navigation.css */


/* production-css: begin shared/styles/shell/footer.css */
.shell__footer {
  position: relative;
  background: color-mix(in srgb, white 90%, var(--shell-mode-accent) 10%);
  color: var(--color-title);
  border-top: 1px solid var(--chamber-line-casing-strong, rgba(164, 132, 72, 0.34));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.8),
    inset 0 -1px 0 rgba(164,132,72,0.10),
    0 -1px 0 rgba(17, 37, 61, 0.045);
  backdrop-filter: blur(14px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

/* Terminal Shell Alignment: visible footer casing rails.
   Footer remains secondary, but the shell now has a clear grounded rail. */
.shell__footer::before,
.shell__footer::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset-inline: 0;
  height: 1px;
  pointer-events: none;
}

.shell__footer::before {
  top: 0;
  height: 2px;
  background:
    linear-gradient(90deg, transparent, rgba(255,255,255,0.76), transparent),
    linear-gradient(90deg,
      transparent,
      color-mix(in srgb, var(--chamber-line-casing-strong, rgba(164, 132, 72, 0.52)) 88%, transparent) 16%,
      color-mix(in srgb, var(--chamber-line-casing-strong, rgba(164, 132, 72, 0.52)) 70%, var(--syn-action-line, rgba(43, 130, 139, 0.22)) 30%) 50%,
      color-mix(in srgb, var(--chamber-line-casing-strong, rgba(164, 132, 72, 0.52)) 88%, transparent) 84%,
      transparent);
  opacity: 1;
}

.shell__footer::after {
  bottom: 0;
  background: linear-gradient(90deg,
    transparent,
    color-mix(in srgb, var(--chamber-line-casing, rgba(164, 132, 72, 0.32)) 72%, transparent) 18%,
    color-mix(in srgb, var(--syn-action-line, rgba(43, 130, 139, 0.18)) 38%, var(--chamber-line-casing, rgba(164, 132, 72, 0.32)) 62%) 50%,
    color-mix(in srgb, var(--chamber-line-casing, rgba(164, 132, 72, 0.32)) 72%, transparent) 82%,
    transparent);
  opacity: 0.62;
}

.shell__footer-inner {
  padding-block: 0.45rem;
  position: relative;
}

.shell__footer-inner::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  top: 0.12rem;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg,
    transparent,
    color-mix(in srgb, var(--chamber-line-casing-strong, rgba(164,132,72,0.46)) 82%, transparent) 18%,
    color-mix(in srgb, var(--chamber-line-casing-strong, rgba(164,132,72,0.46)) 64%, var(--syn-action-line, rgba(43,130,139,0.20)) 36%) 50%,
    color-mix(in srgb, var(--chamber-line-casing-strong, rgba(164,132,72,0.46)) 82%, transparent) 82%,
    transparent);
  opacity: 0.76;
}

.shell-footer__rail {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.7rem;
  min-height: 2.25rem;
}

.shell-footer__brand,
.shell-footer__note {
  font-family: var(--font-ui);
  font-size: 0.82rem;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

.shell-footer__brand {
  color: var(--color-meta-accent-soft);
  font-family: var(--font-identity);
  font-stretch: var(--font-identity-stretch);
  font-size: 0.78rem;
  font-weight: 720;
  letter-spacing: -0.004em;
  text-shadow: var(--shell-engraved-shadow);
  opacity: 0.84;
  white-space: nowrap;
}

.shell-footer__note {
  color: var(--color-text-soft);
  text-align: right;
  white-space: nowrap;
}

.shell-footer__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  flex: 0 0 auto;
}

/* Terminal Shell Alignment: footer launchers are public-page backup exits.
   They stay out of cover/resting/admission/access states. */
.shell-body[data-app='clinic'][data-shell-state='resting'] .shell-footer__nav,
.shell-body[data-app='clinic'][data-shell-state='admission'] .shell-footer__nav,
.shell-body[data-app='clinic'][data-active-scene='cover'] .shell-footer__nav,
.shell-body[data-app='clinic'][data-active-scene='access'] .shell-footer__nav {
  display: none !important;
}

.shell-footer__link,
.shell-footer__launcher {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.95rem;
  padding: 0 0.82rem;
  border-radius: 999px;
  color: var(--color-title);
  font-family: var(--font-ui);
  font-size: 0.84rem;
  letter-spacing: -0.01em;
  text-decoration: none;
  white-space: nowrap;
  transition:
    transform var(--transition-fast),
    border-color var(--transition-fast),
    background var(--transition-fast),
    color var(--transition-fast),
    box-shadow var(--transition-fast);
}

.shell-footer__link {
  border: 1px solid var(--button-quiet-border, rgba(19, 41, 71, 0.1));
  background: var(--button-quiet-bg, rgba(255,255,255,0.92));
  color: var(--button-quiet-text, var(--color-title));
  font-weight: var(--font-weight-semibold);
  box-shadow: var(--button-shadow-default, 0 0.2rem 0.65rem rgba(17, 37, 61, 0.04));
}

.shell-footer__launcher {
  cursor: pointer;
  font: inherit;
  border: 1px solid var(--button-threshold-border, rgba(31, 77, 120, 0.18));
  background: var(--button-threshold-bg, rgba(255,255,255,0.92));
  color: var(--button-threshold-text, var(--color-title));
  font-weight: var(--font-weight-bold);
  letter-spacing: -0.005em;
  box-shadow: var(--button-threshold-shadow, 0 0.24rem 0.72rem rgba(17, 37, 61, 0.06));
}

.shell-footer__link:hover,
.shell-footer__link:focus-visible {
  transform: translateY(-1px);
  background: var(--button-quiet-bg-hover, rgba(255,255,255,1));
  border-color: var(--button-quiet-border-hover, rgba(31, 77, 120, 0.22));
  color: var(--button-quiet-text, var(--color-title));
  box-shadow: var(--button-quiet-shadow-hover, 0 0.45rem 1rem rgba(17, 37, 61, 0.07));
}

.shell-footer__launcher:hover,
.shell-footer__launcher:focus-visible {
  transform: translateY(-2px);
  background: var(--button-threshold-bg-hover, linear-gradient(180deg, rgba(31, 77, 120, 0.98), rgba(33, 69, 111, 0.98)));
  color: var(--button-threshold-text-hover, var(--color-text-inverse));
  border-color: var(--button-threshold-border-hover, rgba(33, 135, 146, 0.26));
  box-shadow: var(--button-threshold-shadow-hover, 0 0.72rem 1.35rem rgba(17, 37, 61, 0.14));
}

@media (max-width: 760px) {
  .shell__footer-inner {
    padding-block: 0.34rem 0.38rem;
  }

  .shell-footer__rail {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.42rem;
    min-height: 2.02rem;
  }

  .shell-footer__brand {
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 0.76rem;
  }

  .shell-footer__note {
    display: none;
  }

  .shell-footer__nav {
    flex: 0 0 auto;
    width: auto;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 0.28rem;
  }

  .shell-body[data-shell-state='public'] .shell-footer__link--secondary {
    display: none;
  }

  .shell-footer__link,
  .shell-footer__launcher {
    min-height: 1.88rem;
    padding-inline: 0.66rem;
    font-size: 0.77rem;
  }
}


/* Synapse launcher identity type */
.shell-footer__launcher {
  font-family: var(--font-identity);
  font-stretch: var(--font-identity-stretch);
  font-weight: 760;
  letter-spacing: -0.018em;
}

/* =========================================================
   Synapse Chrome Scale Polish Wave
   Footer becomes low-noise legal chrome.
   ========================================================= */
.shell__footer-inner {
  padding-block: 0.26rem;
}

.shell-footer__rail {
  min-height: 1.58rem;
  gap: 0.42rem;
}

.shell-footer__brand,
.shell-footer__note {
  font-size: 0.56rem;
  line-height: 1.12;
}

.shell-footer__brand {
  font-size: 0.55rem;
  opacity: 0.72;
}

.shell-footer__nav {
  gap: 0.28rem;
}

.shell-footer__link,
.shell-footer__launcher {
  min-height: 1.48rem;
  padding-inline: 0.52rem;
  font-size: 0.62rem;
}

@media (max-width: 760px) {
  .shell__footer-inner {
    padding-block: 0.22rem;
  }

  .shell-footer__rail {
    min-height: 1.42rem;
    gap: 0.28rem;
  }

  .shell-footer__brand {
    font-size: 0.52rem;
  }

  .shell-footer__link,
  .shell-footer__launcher {
    min-height: 1.42rem;
    padding-inline: 0.46rem;
    font-size: 0.58rem;
  }
}

/* =========================================================
   Synapse Chrome Balance Polish Wave
   Footer remains quiet but becomes legible and balanced with
   the compact header chrome.
   ========================================================= */
.shell__footer-inner {
  padding-block: 0.34rem;
}

.shell-footer__rail {
  min-height: 1.92rem;
  gap: 0.5rem;
}

.shell-footer__brand,
.shell-footer__note {
  font-size: 0.7rem;
  line-height: 1.16;
}

.shell-footer__brand {
  font-size: 0.68rem;
  opacity: 0.78;
}

.shell-footer__nav {
  gap: 0.34rem;
}

.shell-footer__link,
.shell-footer__launcher {
  min-height: 1.82rem;
  padding-inline: 0.68rem;
  font-size: 0.76rem;
}

@media (max-width: 760px) {
  .shell__footer-inner {
    padding-block: 0.3rem;
  }

  .shell-footer__rail {
    min-height: 1.78rem;
    gap: 0.34rem;
  }

  .shell-footer__brand {
    font-size: 0.64rem;
  }

  .shell-footer__link,
  .shell-footer__launcher {
    min-height: 1.74rem;
    padding-inline: 0.6rem;
    font-size: 0.72rem;
  }
}


/* Shell + Inbox Polish Wave: protected footer is a seam, not a content block */
.shell__footer--protected .shell__footer-inner {
  padding-block: 0.24rem 0.28rem;
}

.shell-footer__rail--protected {
  min-height: 1.42rem;
  justify-content: center;
}

.shell-footer__rail--protected .shell-footer__brand {
  font-size: 0.72rem;
  opacity: 0.74;
}

.shell-footer__rail--protected .shell-footer__note {
  display: none;
}

.shell-body[data-shell-state="admitted-portal"] .shell-footer__nav,
.shell-body[data-shell-state="admitted-workspace"] .shell-footer__nav {
  display: none !important;
}

/* =========================================================
   Full Shell Cover Integration Wave
   Resting-state footer becomes the matching lower shell rail.
   Public/protected footer behavior above remains unchanged.
   ========================================================= */
.shell-body[data-shell-state='resting'] {
  --shell-page-cover-footer-rail: clamp(1.08rem, 1.2vw, 1.34rem);
  --shell-page-cover-rail-line: color-mix(in srgb, var(--chamber-line-casing-strong, rgba(164,132,72,0.48)) 74%, transparent);
  --shell-page-cover-rail-fill: color-mix(in srgb, white 86%, var(--shell-mode-accent, #d8edf0) 14%);
}

.shell-body[data-shell-state='resting'] .shell__footer,
.shell-body[data-active-scene='cover'] .shell__footer {
  min-block-size: var(--shell-page-cover-footer-rail) !important;
  block-size: var(--shell-page-cover-footer-rail) !important;
  padding-bottom: 0 !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.50), rgba(255,255,255,0.70)),
    var(--shell-page-cover-rail-fill) !important;
  border-top: 1px solid var(--shell-page-cover-rail-line) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.58),
    0 -1px 0 rgba(17,37,61,0.03) !important;
  backdrop-filter: blur(12px) !important;
  overflow: hidden !important;
}

.shell-body[data-shell-state='resting'] .shell__footer-inner,
.shell-body[data-active-scene='cover'] .shell__footer-inner {
  min-block-size: var(--shell-page-cover-footer-rail) !important;
  block-size: var(--shell-page-cover-footer-rail) !important;
  padding-block: 0 !important;
  display: grid !important;
  place-items: center !important;
}

.shell-body[data-shell-state='resting'] .shell-footer__rail,
.shell-body[data-active-scene='cover'] .shell-footer__rail {
  min-block-size: var(--shell-page-cover-footer-rail) !important;
  block-size: var(--shell-page-cover-footer-rail) !important;
  inline-size: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
}

.shell-body[data-shell-state='resting'] .shell-footer__nav,
.shell-body[data-active-scene='cover'] .shell-footer__nav,
.shell-body[data-shell-state='resting'] .shell-footer__note,
.shell-body[data-active-scene='cover'] .shell-footer__note {
  display: none !important;
}

.shell-body[data-shell-state='resting'] .shell-footer__brand,
.shell-body[data-active-scene='cover'] .shell-footer__brand {
  max-inline-size: calc(100vw - 2rem) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: clamp(0.48rem, 0.56vw, 0.58rem) !important;
  line-height: 1 !important;
  color: color-mix(in srgb, var(--color-meta-accent-soft, rgba(132,102,54,0.78)) 80%, var(--color-title, #132947) 20%) !important;
  opacity: 0.58 !important;
  text-shadow: none !important;
}

/* One warm casing seam only; remove duplicate teal/inner rail effects so the
   bottom rail belongs to the same shell cover as the top rail. */
.shell-body[data-shell-state='resting'] .shell__footer::after,
.shell-body[data-active-scene='cover'] .shell__footer::after,
.shell-body[data-shell-state='resting'] .shell__footer-inner::before,
.shell-body[data-active-scene='cover'] .shell__footer-inner::before {
  display: none !important;
}

.shell-body[data-shell-state='resting'] .shell__footer::before,
.shell-body[data-active-scene='cover'] .shell__footer::before {
  display: block !important;
  top: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg,
    transparent,
    color-mix(in srgb, var(--chamber-line-casing-strong, rgba(164,132,72,0.50)) 74%, transparent) 16%,
    color-mix(in srgb, var(--chamber-line-casing-strong, rgba(164,132,72,0.54)) 88%, white 12%) 50%,
    color-mix(in srgb, var(--chamber-line-casing-strong, rgba(164,132,72,0.50)) 74%, transparent) 84%,
    transparent) !important;
  opacity: 0.86 !important;
}

@media (max-width: 760px) {
  .shell-body[data-shell-state='resting'] {
    --shell-page-cover-footer-rail: clamp(0.98rem, 3vw, 1.18rem);
  }
}

/* =========================================================
   State-Aware Trace Cover Wave
   Footer rail participates in the full shell chassis and should not cut the
   trace field or read as a separate content block.
   ========================================================= */
.shell-body[data-shell-state='resting'],
.shell-body[data-active-scene='cover'] {
  --shell-page-cover-footer-rail: clamp(0.82rem, 0.95vw, 1.05rem);
}

.shell-body[data-shell-state='resting'] .shell__footer,
.shell-body[data-active-scene='cover'] .shell__footer,
.shell-body[data-shell-state='resting'] .shell__footer-inner,
.shell-body[data-active-scene='cover'] .shell__footer-inner,
.shell-body[data-shell-state='resting'] .shell-footer__rail,
.shell-body[data-active-scene='cover'] .shell-footer__rail {
  min-block-size: var(--shell-page-cover-footer-rail) !important;
  block-size: var(--shell-page-cover-footer-rail) !important;
}

@media (orientation: portrait) {
  .shell-body[data-shell-state='resting'],
  .shell-body[data-active-scene='cover'] {
    --shell-page-cover-footer-rail: clamp(0.72rem, 2.2vw, 0.96rem);
  }
}

@media (orientation: landscape) and (max-height: 35rem) {
  .shell-body[data-shell-state='resting'],
  .shell-body[data-active-scene='cover'] {
    --shell-page-cover-footer-rail: 0.68rem;
  }
}
/* production-css: end shared/styles/shell/footer.css */

/* production-css: begin shared/styles/viewport/frame.css */
.viewport-shell {
  min-height: 0;
  height: 100%;
}

.viewport-frame {
  min-height: 0;
  height: 100%;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 0.65rem;
}

.viewport-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-inline: 0.08rem;
}

.viewport-meta__label,
.viewport-meta__path {
  font-family: var(--font-identity);
  font-stretch: var(--font-identity-stretch);
  text-transform: uppercase;
  white-space: nowrap;
  text-shadow: var(--shell-engraved-shadow);
}

.viewport-meta__label {
  font-size: 0.7rem;
  font-weight: 760;
  letter-spacing: 0.115em;
  color: var(--color-meta-accent-soft);
  opacity: 0.82;
}

.viewport-meta__path {
  font-size: 0.66rem;
  font-weight: 720;
  color: var(--color-meta-accent-soft);
  opacity: 0.88;
  letter-spacing: 0.09em;
  text-align: right;
}

.viewport-stage {
  min-height: 0;
  height: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  gap: 0.65rem;
  align-items: stretch;
  position: relative;
}

.viewport-window {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--viewport-window-bg);
  border: 1px solid var(--chamber-line-casing, rgba(19, 41, 71, 0.08));
  border-radius: 1.55rem;
  box-shadow: 0 16px 46px rgba(16, 37, 63, 0.07);
  padding: 0.4rem;
  position: relative;
  z-index: 1;
}

.shell-body[data-shell-mode='portal'] .viewport-window {
  background: var(--viewport-window-bg-portal);
}

.shell-body[data-shell-mode='workspace'] .viewport-window {
  background: var(--viewport-window-bg-workspace);
}

.viewport-inner,
[data-viewport-inner-screen] {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable both-edges;
  border-radius: 1.2rem;
  background: rgba(255, 255, 255, 0.96);
  position: relative;
  isolation: isolate;
}

[data-shell-chamber-host='main'] > [data-support-chamber-root],
[data-shell-chamber-host='main'] > [data-action-chamber-root] {
  min-height: 0;
  display: none;
}

.support-chamber__window,
.action-chamber__window {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 0.7rem;
  border: 1px solid var(--chamber-line-casing, rgba(19, 41, 71, 0.08));
  border-radius: 1.55rem;
  background: var(--support-window-bg);
  box-shadow: 0 16px 46px rgba(16, 37, 63, 0.07);
  padding: 0.75rem;
  overflow: hidden;
}

.support-chamber__controls,
.action-chamber__controls {
  display: flex;
  justify-content: flex-end;
  gap: 0.45rem;
}

.support-chamber__control,
.action-chamber__control {
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 999px;
  border: 1px solid rgba(164, 132, 72, 0.26);
  background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(247,249,248,0.88));
  color: var(--color-title);
  font-family: var(--font-ui);
  font-size: 0.95rem;
  font-weight: var(--font-weight-semibold);
  box-shadow:
    0 0.18rem 0.54rem rgba(17, 37, 61, 0.055),
    inset 0 1px 0 rgba(255,255,255,0.74);
  transition:
    transform var(--transition-fast),
    border-color var(--transition-fast),
    background var(--transition-fast),
    color var(--transition-fast),
    box-shadow var(--transition-fast);
}

.support-chamber__control:hover,
.support-chamber__control:focus-visible {
  transform: translateY(-1px);
  outline: none;
  border-color: rgba(164, 132, 72, 0.54);
  background: linear-gradient(180deg, rgba(255,255,255,0.99), rgba(241,246,245,0.94));
  color: var(--color-title);
  box-shadow:
    0 0.5rem 1rem rgba(17, 37, 61, 0.095),
    inset 0 1px 0 rgba(255,255,255,0.82);
}

.support-chamber__panel,
.action-chamber__panel {
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.support-chamber__panel[hidden],
.action-chamber__panel[hidden] {
  display: none !important;
}

.support-chamber__resume,
.action-chamber__resume {
  position: fixed;
  right: 1rem;
  bottom: calc(env(safe-area-inset-bottom, 0px) + 1rem);
  z-index: 29;
  min-height: 2.8rem;
  padding: 0 1rem;
  border-radius: 999px;
  border: 1px solid rgba(20, 32, 51, 0.1);
  background: linear-gradient(180deg, rgba(19,41,71,0.95), rgba(31,77,120,0.95));
  color: #fff;
  font-family: var(--font-ui);
  box-shadow: 0 12px 30px rgba(9,24,45,0.28);
}

.shell-body[data-support-chamber]:not([data-support-chamber='closed']) [data-shell-chamber-host='main'] > [data-support-chamber-root],
.shell-body[data-action-chamber]:not([data-action-chamber='closed']) [data-shell-chamber-host='main'] > [data-action-chamber-root] {
  display: grid;
}




.shell-body[data-layout-mode='portrait-single'] .viewport-meta {
  display: none;
}


.shell-body[data-layout-mode='portrait-single'][data-chamber-admission='sheet'][data-support-chamber]:not([data-support-chamber='closed']) [data-shell-chamber-host='main'] > [data-support-chamber-root],
.shell-body[data-layout-mode='portrait-single'][data-chamber-admission='sheet'][data-action-chamber]:not([data-action-chamber='closed']) [data-shell-chamber-host='main'] > [data-action-chamber-root] {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  align-items: end;
  padding: 0.32rem;
  background: linear-gradient(180deg, rgba(17, 37, 61, 0.04), rgba(17, 37, 61, 0.18));
  backdrop-filter: blur(2px);
}

.shell-body[data-layout-mode='portrait-single'][data-chamber-admission='sheet'][data-support-chamber]:not([data-support-chamber='closed']) [data-support-chamber-root] .support-chamber__window,
.shell-body[data-layout-mode='portrait-single'][data-chamber-admission='sheet'][data-action-chamber]:not([data-action-chamber='closed']) [data-action-chamber-root] .action-chamber__window,
.shell-body[data-layout-mode='portrait-single'][data-chamber-admission='sheet'][data-action-chamber]:not([data-action-chamber='closed']) [data-action-chamber-root] .support-chamber__window {
  width: 100%;
  max-height: var(--chamber-sheet-max-height, min(74svh, 42rem));
  margin-top: auto;
  gap: 0.55rem;
  padding: 0.72rem;
  border-radius: 1.18rem 1.18rem 1rem 1rem;
  box-shadow: 0 1rem 2rem rgba(16, 37, 63, 0.18);
}

.shell-body[data-layout-mode='portrait-single'][data-chamber-admission='sheet'][data-support-chamber]:not([data-support-chamber='closed']) [data-support-chamber-root] .support-chamber__control,
.shell-body[data-layout-mode='portrait-single'][data-chamber-admission='sheet'][data-action-chamber]:not([data-action-chamber='closed']) [data-action-chamber-root] .action-chamber__control,
.shell-body[data-layout-mode='portrait-single'][data-chamber-admission='sheet'][data-action-chamber]:not([data-action-chamber='closed']) [data-action-chamber-root] .support-chamber__control {
  width: 2rem;
  height: 2rem;
}

@media (max-width: 760px) {
  .viewport-frame {
    gap: 0.46rem;
  }

  .viewport-meta {
    padding-inline: 0;
  }

  .viewport-window,
  [data-support-chamber-root] .support-chamber__window,
  [data-action-chamber-root] .action-chamber__window,
  [data-action-chamber-root] .support-chamber__window {
    border-radius: 1.25rem;
  }

  .viewport-window {
    padding: 0.26rem;
  }

  .viewport-inner,
  [data-viewport-inner-screen] {
    border-radius: 1rem;
  }
}

.shell-body[data-chamber-admission='promoted'][data-support-chamber]:not([data-support-chamber='closed']) [data-shell-chamber-host='main'] > [data-support-chamber-root],
.shell-body[data-chamber-admission='promoted'][data-action-chamber]:not([data-action-chamber='closed']) [data-shell-chamber-host='main'] > [data-action-chamber-root] {
  display: grid;
}

/* =========================================================
   Synapse Chrome Balance Polish Wave
   Viewport meta becomes secondary coordinate text, not a peer
   of the header/nav chrome.
   ========================================================= */
.viewport-meta {
  gap: 0.76rem;
}

.viewport-meta__label {
  font-size: 0.56rem;
  font-weight: 730;
  letter-spacing: 0.105em;
  opacity: 0.68;
}

.viewport-meta__path {
  font-size: 0.52rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  opacity: 0.66;
}

.shell-body[data-layout-mode='landscape-side'] .viewport-meta__label {
  font-size: 0.52rem;
}

.shell-body[data-layout-mode='landscape-side'] .viewport-meta__path {
  font-size: 0.5rem;
}


.shell-body[data-action-chamber]:not([data-action-chamber='closed']) [data-action-chamber-root] {
  display: grid;
}


/* =========================================================
   Synapse viewport rail inset wave
   Desktop + landscape public states should read as a true viewport:
   the window needs a thin perimeter void so its casing line can breathe.
   The meta rail shares the same inset so the header can align to it.
   ========================================================= */
:root {
  --syn-public-viewport-inset: clamp(0.5rem, 0.34rem + 0.55vw, 0.9rem);
}

.shell-body[data-layout-mode='landscape-side'] .viewport-meta,
.shell-body[data-layout-mode='wide-dual'] .viewport-meta {
  padding-inline: var(--syn-public-viewport-inset);
}

.shell-body[data-layout-mode='landscape-side'] .viewport-stage,
.shell-body[data-layout-mode='wide-dual'] .viewport-stage {
  padding-inline: var(--syn-public-viewport-inset);
}

.shell-body[data-layout-mode='landscape-side'] .viewport-window,
.shell-body[data-layout-mode='wide-dual'] .viewport-window {
  box-shadow:
    0 16px 46px rgba(16, 37, 63, 0.07),
    0 0 0 1px rgba(255,255,255,0.52);
}

@media (max-width: 760px) {
  .shell-body[data-layout-mode='portrait-single'] .viewport-meta,
  .shell-body[data-layout-mode='portrait-single'] .viewport-stage {
    padding-inline: 0;
  }
}
/* production-css: end shared/styles/viewport/frame.css */


/* production-css: begin shared/styles/viewport/content.css */
/* viewport-content.css
   Usable chamber pass
   Scene documents fill when short and scroll when long.
*/

.scene-scroll,
.shell-page-scroll,
.scene-mount:not([data-viewport-inner-screen]),
[data-scene-mount]:not([data-viewport-inner-screen]),
.viewport-page-well,
.viewport-page-well__body,
.index-stage,
.index-stage__media,
.index-stage__body,
.index-unified {
  min-width: 0;
  min-height: 0;
  box-sizing: border-box;
}

.scene-scroll,
.shell-page-scroll,
.scene-mount:not([data-viewport-inner-screen]),
[data-scene-mount]:not([data-viewport-inner-screen]) {
  width: 100%;
  height: 100%;
  max-height: 100%;
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  overflow: hidden !important;
  padding: 0 !important;
}

.shell-page,
.scene,
[data-scene] {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  min-height: 100%;
  max-height: none;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: visible;
}

.shell-page[hidden],
.scene[hidden],
[data-scene][hidden] {
  display: none !important;
}

.shell-page.is-active,
.scene.is-active,
[data-scene].is-active {
  display: block;
}

.shell-scene-host,
[data-scene-host] {
  display: block;
  width: 100%;
  min-height: 100%;
}

.scene-document,
.scene-document__surface {
  display: block;
  width: 100%;
  height: auto;
  min-height: 100%;
}

.viewport-page-well,
.viewport-page-well--neutral,
.viewport-page-well__body {
  display: grid;
  gap: 0.75rem;
  height: auto;
  padding: 0 !important;
  border-radius: inherit;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.viewport-page-well__media {
  overflow: hidden;
  border-radius: calc(var(--radius-card) + 2px);
  border: 1px solid rgba(255, 255, 255, 0.045);
  background: rgba(255, 255, 255, 0.02);
}

.index-stage {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto;
  gap: 0;
  align-items: start;
  min-height: 100%;
}

.index-stage__media,
.index-stage__body {
  display: grid;
}

.index-stage__body {
  align-content: start;
  padding: 0;
}

.index-unified {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}

.index-hero {
  position: relative;
  min-height: clamp(320px, 48vh, 680px);
  border-radius: var(--scene-hero-radius);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background:
    radial-gradient(120% 120% at 50% 35%, rgba(201,170,119,0.06), transparent 52%),
    linear-gradient(180deg, rgba(14, 20, 31, 0.9), rgba(9, 14, 21, 0.98));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.02),
    0 20px 44px rgba(0, 0, 0, 0.22);
}

.index-hero__video {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 820px) {
  .viewport-page-well,
  .viewport-page-well__body,
  .index-unified {
    gap: 0.6rem;
  }

  .shell-page {
    border-radius: 0;
  }

  .index-hero {
    min-height: clamp(240px, 42vh, 520px);
  }
}
/* production-css: end shared/styles/viewport/content.css */


/* production-css: begin shared/styles/viewport/scenes.css */
.scene {
  min-height: 100%;
  padding: clamp(1rem, 2vw, 1.35rem);
  display: grid;
  gap: clamp(1rem, 2vw, 1.4rem);
  align-content: start;
  position: relative;
  isolation: isolate;
}

.scene > * {
  min-width: 0;
}

.scene-stack {
  min-height: 100%;
  display: block;
}
.scene--promoted[hidden] {
  display: none !important;
}
.scene.is-active {
  display: grid;
}

.shell-body[data-layout-mode='portrait-single'] .scene {
  padding: clamp(0.82rem, 2.6vw, 1rem);
  gap: clamp(0.9rem, 2.4vw, 1.1rem);
}

/* Scene lifecycle hard guard.
   Only the routed scene should own layout/paint. If an older scene loses its
   hidden attribute during a route/cover transition, this prevents it from
   remaining mounted underneath the active page. */
.scene-stack {
  position: relative;
  isolation: isolate;
}

.scene-stack > [data-scene] {
  position: relative;
  z-index: 0;
}

.scene-stack > [data-scene]:not(.is-active) {
  display: none !important;
}

.scene-stack > [data-scene].is-active {
  display: grid !important;
}
/* production-css: end shared/styles/viewport/scenes.css */

/* production-css: begin shared/styles/content/layouts.css */
/* layouts.css
   Shared content layout primitives.

   This file owns page-flow structure only.  The screenshots showed ordinary
   clinic sections visually passing underneath later panels on mobile.  The
   cause was that the scene fragments use l-* and section-shell grid classes,
   but this rebuild did not restore the flow/layout contract for those classes.
   These rules re-establish one owning page flow so sections stack, clear, and
   measure before the next surface paints.
*/

:root {
  --content-grid-gap: clamp(0.9rem, 0.72rem + 0.7vw, 1.35rem);
  --content-grid-gap-tight: clamp(0.64rem, 0.54rem + 0.45vw, 0.95rem);
  --page-flow-gap: clamp(1rem, 0.82rem + 0.84vw, 1.55rem);
  --page-flow-gap-compact: clamp(0.78rem, 0.66rem + 0.56vw, 1.1rem);
}

.l-container,
.page-section {
  box-sizing: border-box;
  inline-size: min(var(--container, 78rem), 100%);
  max-inline-size: 100%;
  margin-inline: auto;
  min-inline-size: 0;
}

.scene > .l-container,
.scene > .l-band,
.scene > .page-section {
  inline-size: 100%;
  max-inline-size: 100%;
  margin-inline: 0;
}

.l-page-head,
.l-page-section,
.l-band {
  display: block;
  position: relative;
  clear: both;
  min-inline-size: 0;
  margin-block: 0;
  isolation: isolate;
}

.l-band {
  inline-size: 100%;
  box-sizing: border-box;
}

.l-band > .l-container {
  inline-size: min(var(--container, 78rem), 100%);
  max-inline-size: 100%;
  margin-inline: auto;
}

.scene > :where(.l-container, .l-band, .page-section) + :where(.l-container, .l-band, .page-section) {
  margin-block-start: var(--page-flow-gap);
}

.scene > .l-page-head + .l-page-section,
.scene > .l-page-section--compact + .l-page-section,
.scene > .l-page-section + .l-band,
.scene > .l-band + .l-page-section {
  margin-block-start: var(--page-flow-gap-compact);
}

.l-grid,
.grid,
.section-shell__grid,
.hero-grid,
.panel-grid,
.portal-grid,
.workspace-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--content-grid-gap);
  align-items: start;
  min-inline-size: 0;
}

.l-grid > *,
.grid > *,
.section-shell__grid > *,
.hero-grid > *,
.panel-grid > *,
.portal-grid > *,
.workspace-grid > * {
  min-inline-size: 0;
}

.l-grid--split,
.grid--split,
.section-shell__grid--split,
.section-shell__grid--pair,
.section-shell__grid--triad,
.panel-grid--three,
.panel-grid--services {
  grid-template-columns: minmax(0, 1fr);
}

.l-stack {
  display: grid;
  gap: var(--space-md, 1rem);
  align-content: start;
  min-inline-size: 0;
}

.l-stack--tight {
  gap: var(--space-sm, 0.72rem);
}

.l-cluster {
  display: flex;
  flex-wrap: wrap;
  gap: 0.62rem;
  align-items: center;
  min-inline-size: 0;
}

.l-cluster--start {
  justify-content: flex-start;
}

.hero-grid {
  align-items: start;
}

.portal-stack,
.workspace-stack {
  display: grid;
  gap: var(--content-grid-gap);
}

@media (min-width: 56rem) {
  .hero-grid {
    grid-template-columns: minmax(0, 1.5fr) minmax(18rem, 0.9fr);
  }

  .l-grid--split,
  .grid--split,
  .section-shell__grid--split,
  .section-shell__grid--pair {
    grid-template-columns: minmax(0, 1.08fr) minmax(18rem, 0.92fr);
  }

  .section-shell__grid--triad,
  .panel-grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

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

  .portal-grid {
    grid-template-columns: minmax(0, 1.45fr) minmax(18rem, 0.8fr);
  }

  .workspace-grid {
    grid-template-columns: minmax(14rem, 0.75fr) minmax(0, 1.4fr) minmax(16rem, 0.85fr);
  }
}

@media (max-width: 920px) {
  .hero-grid,
  .l-grid--split,
  .grid--split,
  .section-shell__grid--split,
  .section-shell__grid--pair,
  .section-shell__grid--triad,
  .panel-grid--three,
  .panel-grid--services,
  .portal-grid,
  .workspace-grid,
  .table-like__row {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 760px) {
  :root {
    --content-grid-gap: clamp(0.78rem, 2.2vw, 1rem);
    --page-flow-gap: clamp(0.86rem, 2.8vw, 1.15rem);
    --page-flow-gap-compact: clamp(0.68rem, 2.2vw, 0.95rem);
  }

  .scene > :where(.l-container, .l-band, .page-section) + :where(.l-container, .l-band, .page-section) {
    margin-block-start: var(--page-flow-gap);
  }
}
/* production-css: end shared/styles/content/layouts.css */


/* production-css: begin shared/styles/content/buttons.css */
.button,
a.button,
button.button {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 2.45rem;
  padding: 0 1rem;
  border-radius: 999px;
  border: 1px solid var(--control-border, rgba(17, 37, 61, 0.12));
  background: color-mix(in srgb, var(--syn-surface, #fffdfa) 88%, transparent);
  color: var(--syn-identity, var(--color-title));
  font-family: var(--font-ui);
  font-size: 0.9rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1;
  letter-spacing: -0.01em;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 0.2rem 0.65rem rgba(17, 37, 61, 0.04);
  transition:
    transform var(--transition-fast),
    border-color var(--transition-fast),
    background var(--transition-fast),
    color var(--transition-fast),
    box-shadow var(--transition-fast);
}

.button:hover,
.button:focus-visible,
a.button:hover,
a.button:focus-visible,
button.button:hover,
button.button:focus-visible {
  transform: translateY(-1px);
  outline: none;
  box-shadow: 0 0.45rem 1rem rgba(17, 37, 61, 0.07);
}

.button--primary {
  border-color: var(--syn-identity-soft, rgba(17, 37, 61, 0.14));
  background: linear-gradient(180deg, var(--syn-identity, #132947), var(--color-ink-850, #183457));
  color: var(--color-text-inverse, #fff);
}

.button--primary:hover,
.button--primary:focus-visible {
  border-color: var(--syn-action-line, rgba(33, 135, 146, 0.26));
  background: linear-gradient(180deg, var(--syn-identity-deep, #0d1a2a), var(--color-ink-800, #21456f));
  color: var(--color-text-inverse, #fff);
}

.button--quiet,
.button--ghost {
  background: linear-gradient(180deg, rgba(255, 253, 250, 0.96), rgba(246, 239, 229, 0.92));
  color: var(--syn-identity, var(--color-title));
}

.button--quiet:hover,
.button--quiet:focus-visible,
.button--ghost:hover,
.button--ghost:focus-visible {
  border-color: var(--syn-action-line, rgba(33, 135, 146, 0.24));
  background: linear-gradient(180deg, rgba(255, 253, 250, 1), rgba(237, 244, 243, 0.94));
}

.button[disabled],
.button.is-disabled,
.button[aria-disabled='true'] {
  opacity: 0.55;
  pointer-events: none;
  transform: none;
}

.support-chamber__auth-card .button--primary,
.support-chamber__auth-card .button--primary:hover,
.support-chamber__auth-card .button--primary:focus-visible,
.support-chamber__auth-card .button--primary[disabled],
.support-chamber__auth-card .button--primary.is-disabled,
.support-chamber__auth-card .button--primary[aria-disabled='true'] {
  color: var(--color-text-inverse, #fff);
}

/*
  Access / enter controls
  Use for threshold actions that move the user into a secure context
  such as Clinician Access, Workspace, Sign in, Open Console, etc.
  Keep this selective rather than global so hierarchy stays intact.
*/
.button--secure,
.button--enter,
.button--access {
  min-height: 2.36rem;
  padding-inline: 1rem;
  border-color: color-mix(in srgb, var(--syn-identity, #132947) 16%, transparent);
  background: rgba(255, 255, 255, 0.98);
  color: var(--syn-identity, var(--color-title));
  font-size: 0.86rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: -0.006em;
  box-shadow: 0 0.24rem 0.72rem rgba(17, 37, 61, 0.06);
}

.button--secure:hover,
.button--secure:focus-visible,
.button--enter:hover,
.button--enter:focus-visible,
.button--access:hover,
.button--access:focus-visible {
  transform: translateY(-2px);
  border-color: var(--syn-action-line, rgba(33, 135, 146, 0.24));
  background: linear-gradient(180deg, var(--color-ink-800, #21456f), var(--color-ink-850, #183457));
  color: var(--color-text-inverse);
  box-shadow: 0 0.6rem 1.1rem rgba(17, 37, 61, 0.14);
}


/* Synapse secure launcher identity type */
.button--secure,
.button--enter,
.button--access {
  font-family: var(--font-identity);
  font-stretch: var(--font-identity-stretch);
  font-weight: 760;
  letter-spacing: -0.018em;
}

/* =========================================================
   Synapse Button Hover Polish Wave
   Keep secure/access buttons quiet at rest and activate to
   blue/white on hover/focus.
   ========================================================= */
.button--secure,
.button--enter,
.button--access {
  border-color: color-mix(in srgb, var(--syn-identity, #132947) 16%, transparent);
  background: rgba(255, 255, 255, 0.94);
  color: var(--syn-identity, var(--color-title));
  box-shadow: 0 0.24rem 0.72rem rgba(17, 37, 61, 0.06);
}

.button--secure:hover,
.button--secure:focus-visible,
.button--enter:hover,
.button--enter:focus-visible,
.button--access:hover,
.button--access:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(33, 135, 146, 0.26);
  background: linear-gradient(180deg, var(--color-ink-800, #21456f), var(--color-ink-850, #183457));
  color: var(--color-text-inverse);
  box-shadow: 0 0.62rem 1.16rem rgba(17, 37, 61, 0.14);
}

/* =========================================================
   Login Button Corrective Patch
   Default auth primary buttons stay white/black. Hover/focus or explicit
   loading/active states use system blue with white text.
   ========================================================= */
.support-chamber__auth-card .button--primary {
  border-color: color-mix(in srgb, var(--syn-identity, #132947) 16%, transparent);
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(246,239,229,0.92));
  color: var(--syn-identity, var(--color-title));
  box-shadow: 0 0.24rem 0.72rem rgba(17, 37, 61, 0.06);
}

.support-chamber__auth-card .button--primary:hover,
.support-chamber__auth-card .button--primary:focus-visible,
.support-chamber__auth-card .button--primary.is-loading,
.support-chamber__auth-card .button--primary.is-active,
.support-chamber__auth-card .button--primary[aria-busy='true'],
.support-chamber__auth-card .button--primary[data-loading='true'] {
  border-color: var(--syn-action-line, rgba(33, 135, 146, 0.26));
  background: linear-gradient(180deg, var(--color-ink-800, #21456f), var(--color-ink-850, #183457));
  color: var(--color-text-inverse, #fff);
  box-shadow: 0 0.62rem 1.16rem rgba(17, 37, 61, 0.14);
}

.support-chamber__auth-card .button--primary[disabled],
.support-chamber__auth-card .button--primary.is-disabled,
.support-chamber__auth-card .button--primary[aria-disabled='true'] {
  border-color: color-mix(in srgb, var(--syn-identity, #132947) 16%, transparent);
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(246,239,229,0.92));
  color: var(--syn-identity, var(--color-title));
}
/* production-css: end shared/styles/content/buttons.css */


/* production-css: begin shared/styles/content/panels.css */
.hero,
.page-head {
  border: 1px solid var(--chamber-line-structure, rgba(20, 32, 51, 0.08));
  border-radius: var(--radius-lg);
  overflow: clip;
}

.hero {
  background:
    radial-gradient(circle at top right, var(--syn-action-soft, rgba(33, 135, 146, 0.14)), transparent 42%),
    linear-gradient(180deg, rgba(255, 253, 250, 0.98), rgba(246, 239, 229, 0.9));
  box-shadow: var(--shadow-md);
}

.page-head {
  background:
    linear-gradient(180deg, rgba(255, 253, 250, 0.96), rgba(237, 244, 243, 0.84));
  box-shadow: 0 0.35rem 1rem rgba(20, 32, 51, 0.05);
}

.hero__inner {
  padding: clamp(1.65rem, 1.3rem + 1.3vw, 2.5rem);
  display: grid;
  gap: var(--space-xl);
}

.page-head__inner {
  padding: clamp(1.1rem, 0.95rem + 0.8vw, 1.65rem);
  display: grid;
  gap: var(--space-lg);
}

.page-head__eyebrow,
.hero__eyebrow,
.section-intro__eyebrow,
.card__eyebrow,
.service-lane__eyebrow,
.panel-kicker,
.panel__kicker {
  color: var(--syn-action, var(--color-teal-600));
  font-family: var(--font-ui);
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing-wide);
  text-transform: uppercase;
}

.page-head__title,
.hero__title,
.section-intro__title {
  max-width: 19ch;
  font-family: var(--font-heading);
  font-weight: var(--font-weight-heavy);
  letter-spacing: -0.024em;
  line-height: 1.06;
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.page-head__summary,
.hero__summary,
.section-intro__summary,
.summary-band__summary,
.page-head__aside-copy,
.hero__support-list li {
  color: var(--color-text-muted);
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.58;
}

.section-intro {
  display: grid;
  gap: 0.65rem;
  margin-bottom: clamp(1rem, 0.9rem + 0.6vw, 1.4rem);
}

.section-intro--compact { margin-bottom: var(--space-md); }
.section-intro--center { justify-items: center; text-align: center; }

.panel,
.section-band,
.summary-band,
.utility-panel,
.contact-block,
.portal-entry,
.form-panel,
.card,
.hero__support-card,
.page-head__aside,
.info-pair__item,
.service-lane,
.contact-callout {
  border: 1px solid var(--chamber-line-structure, rgba(20, 32, 51, 0.08));
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  padding: clamp(1rem, 0.95rem + 0.5vw, 1.35rem);
  display: grid;
  gap: var(--space-md);
}

.panel,
.section-band {
  background: rgba(255, 251, 246, 0.9);
  box-shadow: 0 0.22rem 0.65rem rgba(20, 32, 51, 0.03);
}

.section-band--mist,
.panel--mist { background: rgba(237, 244, 243, 0.78); }
.section-band--quiet,
.panel--quiet { background: rgba(246, 239, 229, 0.86); }
.panel--held,
.section-band--panel { min-height: 100%; }
.panel--vertical,
.section-band--vertical { display: flex; flex-direction: column; gap: 0.85rem; }
.panel--horizontal,
.section-band--horizontal { display: grid; gap: var(--space-md); align-items: start; }
.panel--narrative,
.section-band--narrative {
  border-top: 0;
  background: linear-gradient(180deg, rgba(255, 253, 250, 0.9), rgba(246, 239, 229, 0.76));
}
.panel--support,
.section-band--support,
.summary-band,
.utility-panel,
.contact-block,
.portal-entry,
.form-panel,
.hero__support-card,
.page-head__aside,
.info-pair__item {
  border-top: 3px solid var(--syn-casing-soft, rgba(109, 158, 162, 0.52));
  background: linear-gradient(180deg, rgba(246, 239, 229, 0.94), rgba(255, 253, 250, 0.86));
}
.panel--service,
.section-band--service,
.service-lane,
.card {
  border-top: 3px solid var(--syn-glass-line, rgba(109, 158, 162, 0.5));
  background: linear-gradient(180deg, rgba(255, 253, 250, 0.96), rgba(255, 247, 240, 0.9));
}
.panel--decision,
.section-band--decision,
.contact-callout {
  border-top: 3px solid color-mix(in srgb, var(--syn-identity, #132947) 32%, transparent);
  background: linear-gradient(180deg, rgba(229, 238, 241, 0.76), rgba(255, 253, 250, 0.92));
}
.notice,
.panel--critical {
  border: 1px solid rgba(163, 94, 82, 0.18);
  border-top: 3px solid rgba(163, 94, 82, 0.36);
  border-radius: var(--radius-lg);
  background: linear-gradient(180deg, rgba(141, 67, 58, 0.08), rgba(255, 253, 250, 0.92));
  box-shadow: 0 0.28rem 0.85rem rgba(20, 32, 51, 0.04);
  padding: clamp(1rem, 0.95rem + 0.5vw, 1.35rem);
  display: grid;
  gap: var(--space-md);
}

.section-shell {
  border: 1px solid var(--chamber-line-structure, rgba(20, 32, 51, 0.08));
  border-radius: var(--radius-lg);
  background: rgba(255, 251, 246, 0.92);
  box-shadow: 0 0.22rem 0.65rem rgba(20, 32, 51, 0.03);
  padding: clamp(1rem, 0.95rem + 0.6vw, 1.5rem);
  display: grid;
  gap: var(--space-lg);
}

.section-shell--mist {
  background: linear-gradient(180deg, rgba(237, 244, 243, 0.84), rgba(255, 253, 250, 0.94));
}

.section-shell--quiet {
  background: linear-gradient(180deg, rgba(255, 253, 250, 0.92), rgba(246, 239, 229, 0.84));
}

.section-shell--support {
  background: linear-gradient(180deg, rgba(246, 239, 229, 0.96), rgba(255, 253, 250, 0.9));
}

.section-shell__lead,
.section-shell__body,
.section-shell__support,
.section-shell__decision,
.section-shell__actions { min-width: 0; }
.section-shell__lead .section-intro { margin-bottom: 0; }
.section-shell__actions { display: grid; gap: var(--space-md); align-content: start; }
.section-shell__actions .l-cluster { margin-top: auto; }

.subpanel {
  border: 1px solid var(--chamber-line-structure, rgba(20, 32, 51, 0.08));
  border-radius: var(--radius-lg);
  background: rgba(255, 251, 246, 0.78);
  box-shadow: 0 0.18rem 0.5rem rgba(20, 32, 51, 0.02);
  padding: clamp(0.9rem, 0.85rem + 0.35vw, 1.15rem);
  display: grid;
  gap: 0.75rem;
  min-height: 100%;
}

.subpanel--support {
  border-top: 3px solid var(--syn-casing-soft, rgba(109, 158, 162, 0.46));
  background: linear-gradient(180deg, rgba(246, 244, 239, 0.88), rgba(255, 255, 255, 0.8));
}

.subpanel--service {
  border-top: 3px solid var(--syn-glass-line, rgba(109, 158, 162, 0.44));
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.84));
}

.subpanel--decision {
  border-top: 3px solid color-mix(in srgb, var(--syn-identity, #132947) 28%, transparent);
  background: linear-gradient(180deg, rgba(232, 240, 243, 0.54), rgba(255, 255, 255, 0.88));
}

.panel-stack,
.panel__stack,
.service-lane__header { display: grid; gap: 0.5rem; }
.panel-stack--tight,
.panel__stack--tight { gap: 0.38rem; }
.panel-stack--loose,
.panel__stack--loose { gap: 0.75rem; }

.panel-title,
.panel__title,
.service-lane__title,
.card__title,
.contact-callout__title,
.contact-block__title,
.portal-entry__title,
.utility-panel__title,
.form-panel__title,
.page-head__aside-title,
.hero__support-title {
  margin: 0;
  font-family: var(--font-heading);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  line-height: 1.14;
  letter-spacing: -0.016em;
  text-wrap: balance;
}

.panel-summary,
.panel__summary,
.service-lane__summary,
.card__summary,
.contact-callout__copy,
.page-head__aside-copy {
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
  line-height: 1.56;
  margin: 0;
  max-width: 46ch;
}

.panel-list,
.panel__list,
.service-lane__list,
.card__list,
.summary-band__list {
  margin: 0;
  padding-left: 1.05rem;
  display: grid;
  gap: 0.5rem;
}

.panel-list li,
.panel__list li,
.service-lane__list li,
.card__list li,
.summary-band__list li {
  line-height: 1.52;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.panel-note,
.panel__note,
.service-lane__note {
  border-top: 1px solid rgba(20, 32, 51, 0.08);
  color: var(--color-text-muted);
  font-size: var(--font-size-2xs);
  line-height: 1.5;
  margin-top: auto;
  padding-top: 0.8rem;
}

.panel-meta,
.panel__meta,
.contact-block__meta,
.portal-entry__meta {
  list-style: none;
  display: grid;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
}

.panel-meta li,
.panel__meta li,
.contact-block__meta li,
.portal-entry__meta li {
  color: var(--color-text);
  font-size: var(--font-size-sm);
  line-height: 1.5;
}

.contact-utility__map {
  border: 1px solid var(--chamber-line-structure, rgba(20, 32, 51, 0.08));
  border-radius: var(--radius-lg);
  background: linear-gradient(180deg, rgba(232, 240, 243, 0.84), rgba(255, 255, 255, 0.9));
  min-height: 13rem;
  padding: clamp(1.05rem, 0.95rem + 0.7vw, 1.55rem);
  display: grid;
  align-items: end;
}

.contact-utility__map-copy {
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
  line-height: 1.55;
  max-width: 36ch;
}

@media (min-width: 48rem) {
  .panel--horizontal,
  .section-band--horizontal {
    grid-template-columns: minmax(0, 1fr) minmax(12rem, 0.9fr);
  }
}


.shell-body[data-support-chamber='portal-auth'] .page-head__title,
.shell-body[data-support-chamber='workspace-auth'] .page-head__title,
.shell-body[data-support-chamber='portal-auth'] .section-intro__title,
.shell-body[data-support-chamber='workspace-auth'] .section-intro__title,
.shell-body[data-support-chamber='portal-auth'] .panel-title,
.shell-body[data-support-chamber='workspace-auth'] .panel-title,
.shell-body[data-support-chamber='portal-auth'] .panel__title,
.shell-body[data-support-chamber='workspace-auth'] .panel__title {
  max-width: 18ch !important;
}

.shell-body[data-support-chamber='portal-auth'] .page-head__summary,
.shell-body[data-support-chamber='workspace-auth'] .page-head__summary,
.shell-body[data-support-chamber='portal-auth'] .section-intro__summary,
.shell-body[data-support-chamber='workspace-auth'] .section-intro__summary,
.shell-body[data-support-chamber='portal-auth'] .panel-summary,
.shell-body[data-support-chamber='workspace-auth'] .panel-summary,
.shell-body[data-support-chamber='portal-auth'] .panel__summary,
.shell-body[data-support-chamber='workspace-auth'] .panel__summary {
  max-width: 48ch !important;
}
/* production-css: end shared/styles/content/panels.css */


/* production-css: begin shared/styles/content/fields.css */
.field {
  border-radius: var(--radius-lg);
  padding: clamp(1rem, 2vw, 1.35rem);
  background: linear-gradient(180deg, var(--color-paper-100) 0%, var(--color-mist-150) 100%);
  border: 1px solid rgba(20, 32, 51, 0.08);
  box-shadow: var(--shadow-sm);
}

.field--soft {
  background: linear-gradient(180deg, rgba(251,247,240,0.98) 0%, rgba(237,244,243,0.98) 100%);
}

.field--brand {
  background: linear-gradient(180deg, rgba(255,253,250,0.98) 0%, rgba(229,238,241,0.98) 100%);
}

.field__header,
.page-header {
  display: grid;
  gap: 0.55rem;
  margin-bottom: 1rem;
}

.field__eyebrow,
.eyebrow,
.panel__eyebrow {
  margin: 0;
  font-family: var(--font-ui);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--color-text-soft);
}

.field__title,
.hero__title {
  margin: 0;
  font-family: var(--font-heading);
  color: var(--color-title);
  font-size: clamp(1.48rem, 1.15rem + 1.15vw, 2.2rem);
  font-weight: var(--font-weight-heavy);
  line-height: 1.06;
  letter-spacing: -0.03em;
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.field__summary,
.hero__summary,
.panel__summary {
  margin: 0;
  max-width: 72ch;
  font-family: var(--font-body);
  line-height: 1.62;
}

.page-header__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: 0.4rem;
}

.kicker-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  list-style: none;
  padding: 0;
  margin: 0.15rem 0 0;
}

.kicker-list li,
.status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0 0.75rem;
  border-radius: 999px;
  background: rgba(38, 74, 102, 0.1);
  color: var(--color-title);
  font-family: var(--font-ui);
  font-size: 0.88rem;
  font-weight: var(--font-weight-semibold);
}

@media (max-width: 760px) {
  .field { padding: 0.9rem; }
  .field__title,
  .hero__title { font-size: clamp(1.34rem, 1.08rem + 1vw, 1.9rem); }
}

.action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}

.notice__title {
  margin: 0;
  font-family: var(--font-heading);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  color: var(--color-title);
  line-height: 1.12;
}
/* production-css: end shared/styles/content/fields.css */


/* production-css: begin shared/styles/content/forms.css */
.form-field {
  display: grid;
  gap: 0.42rem;
}

.form-field > span,
.workspace-form-label {
  color: var(--color-title);
  font-family: var(--font-ui);
  font-size: 0.84rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.35;
  letter-spacing: -0.01em;
}

.form-field input,
.form-field select,
.form-field textarea,
.workspace-form-field input,
.workspace-form-field select,
.workspace-form-field textarea {
  width: 100%;
  min-height: 2.65rem;
  padding: 0.72rem 0.85rem;
  border-radius: 1rem;
  border: 1px solid rgba(17, 37, 61, 0.12);
  background: rgba(255, 253, 250, 0.96);
  color: var(--color-title);
  font-family: var(--font-ui);
  font-size: 0.96rem;
  line-height: 1.45;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
}

.form-field textarea,
.workspace-form-field textarea {
  min-height: 7rem;
  resize: vertical;
}

.form-field input:focus-visible,
.form-field select:focus-visible,
.form-field textarea:focus-visible,
.workspace-form-field input:focus-visible,
.workspace-form-field select:focus-visible,
.workspace-form-field textarea:focus-visible {
  outline: none;
  border-color: rgba(33, 95, 134, 0.32);
  box-shadow: 0 0 0 3px rgba(33, 95, 134, 0.12);
  background: rgba(255, 255, 255, 1);
}

.form-field--checkbox {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 0.7rem;
}

.form-field--checkbox input {
  width: 1.1rem;
  min-height: 1.1rem;
  height: 1.1rem;
  margin-top: 0.15rem;
  padding: 0;
}

.form-field--checkbox span {
  font-family: var(--font-body);
  font-size: 0.95rem;
  font-weight: var(--font-weight-medium);
  line-height: 1.5;
}

.form-panel--public {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.8));
}

.form-panel__intro {
  color: var(--color-text-muted);
  font-family: var(--font-body);
  font-size: var(--font-size-sm);
  margin: 0;
  max-width: 60ch;
}

.form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md);
  align-items: center;
}

.form-field--inline {
  display: flex;
  gap: var(--space-md);
  align-items: center;
}

.form-field--inline > label {
  margin-bottom: 0;
  min-width: 10rem;
}

.form-note,
.form-disclaimer,
.portal-intake-message,
.portal-admin__minor,
.workspace-record-card__message,
.portal-intake__fine,
.support-chamber__hint {
  color: var(--color-text-muted);
  font-family: var(--font-body);
  font-size: 0.9rem;
  line-height: 1.55;
}

.form-status {
  border: 1px solid rgba(20, 32, 51, 0.08);
  border-radius: var(--radius-md);
  background: rgba(232, 240, 243, 0.5);
  color: var(--color-title);
  font-family: var(--font-ui);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  padding: 0.85rem 1rem;
}

[data-disclosure] {
  border: 1px solid rgba(20, 32, 51, 0.08);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.86);
  overflow: clip;
  box-shadow: 0 0.16rem 0.45rem rgba(20, 32, 51, 0.025);
}

[data-disclosure-toggle] {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-md);
  padding: 1rem 1.1rem;
  border: 0;
  background: transparent;
  color: var(--color-title);
  font-family: var(--font-ui);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  text-align: left;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}

[data-disclosure-toggle]:hover,
[data-disclosure-toggle]:focus-visible {
  background: rgba(109, 158, 162, 0.08);
}

[data-disclosure-toggle]::after {
  content: '+';
  font-size: 1.15rem;
  line-height: 1;
}

[data-disclosure].is-open [data-disclosure-toggle]::after {
  content: '−';
}

[data-disclosure-panel] {
  padding: 0 var(--space-lg) var(--space-lg);
}

[data-disclosure-panel] > :first-child { margin-top: 0; }
/* production-css: end shared/styles/content/forms.css */


/* production-css: begin shared/styles/content/hero.css */
.hero {
  position: relative;
  isolation: isolate;
}

.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 100% 0%, rgba(109, 158, 162, 0.18), transparent 34%),
    radial-gradient(circle at 0% 100%, rgba(51, 70, 92, 0.11), transparent 40%);
  pointer-events: none;
  z-index: -1;
}

.hero::after {
  content: '';
  position: absolute;
  inset: auto 0 0 0;
  height: 34%;
  background: linear-gradient(180deg, rgba(246, 244, 239, 0), rgba(232, 240, 243, 0.28));
  pointer-events: none;
}

.hero__inner { align-items: start; }
.hero__title { max-width: 18ch; }
.hero__summary { max-width: 62ch; }
.hero__meta { gap: 0.55rem; }
.hero__support { display: grid; gap: var(--space-md); }
.hero__support > * { max-width: none; }
.hero__support-list {
  list-style: none;
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
}

.hero--page {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.6)),
    radial-gradient(circle at top right, rgba(109, 158, 162, 0.12), transparent 46%);
}

.hero--compact .hero__inner { padding-block: var(--space-lg); }
.hero--minimal .hero__summary { max-width: 58ch; }
/* production-css: end shared/styles/content/hero.css */


/* production-css: begin shared/styles/content/page-head.css */
.page-head { position: relative; }
.page-head__inner { align-items: start; gap: var(--space-lg); }
.page-head__title {
  max-width: 24ch;
  letter-spacing: -0.024em;
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.page-head__summary { max-width: 64ch; }
.page-head__meta { margin-top: var(--space-xs); }
.page-head__aside { align-self: start; }
.page-head--utility .page-head__title { max-width: 26ch; }
.page-head--utility .page-head__summary { max-width: 66ch; }
.page-head--portal {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.74)),
    radial-gradient(circle at top right, rgba(51, 70, 92, 0.1), transparent 48%);
}
@media (min-width: 64rem) {
  .page-head__inner.l-grid--split,
  .page-head__inner.grid--split { align-items: start; }
}
/* production-css: end shared/styles/content/page-head.css */

/* production-css: begin shared/styles/chamber/faceplate.css */
.support-faceplate {
  --identity-meta-gold: color-mix(in srgb, var(--color-brass-600, #9b7a3d) 66%, var(--color-text-soft, #607083) 34%);
  display: grid;
  gap: var(--space-sm);
  padding: var(--space-md);
  border-radius: var(--radius-lg);
  border: 1px solid var(--chamber-line-structure-strong, rgba(19, 41, 71, 0.1));
  background:
    radial-gradient(circle at top right, rgba(49, 85, 127, 0.065), transparent 48%),
    linear-gradient(180deg, rgba(255,255,255,0.965), rgba(246,250,252,0.93));
  box-shadow: var(--shadow-sm);
}
.support-faceplate--guide { border-top: 3px solid var(--chamber-line-bridge, color-mix(in srgb, var(--identity-meta-gold) 42%, transparent)); }
.support-faceplate__eyebrow {
  margin: 0;
  color: var(--identity-meta-gold);
  font-family: var(--font-ui);
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing-wide);
  text-transform: uppercase;
}
.support-faceplate__title {
  margin: 0;
  color: var(--color-title);
  font-family: var(--font-heading);
  font-size: clamp(1.02rem, 0.95rem + 0.38vw, 1.22rem);
  font-weight: var(--font-weight-heavy);
  line-height: 1.08;
  letter-spacing: -0.018em;
}
.support-faceplate__summary {
  margin: 0;
  color: var(--color-text-muted);
  font-family: var(--font-body);
  font-size: var(--font-size-sm);
  line-height: 1.55;
}
.support-faceplate__actions { display: flex; flex-wrap: wrap; gap: 0.65rem; }

/* =========================================================
   Synapse Chamber Action Polish Wave
   Support faceplate action buttons inherit the same access-button
   activation language when button classes are used inside panels.
   ========================================================= */
.support-faceplate__actions .button--secure,
.support-faceplate__actions .button--enter,
.support-faceplate__actions .button--access {
  min-height: 2.18rem;
}

.support-faceplate__actions .button--secure:hover,
.support-faceplate__actions .button--secure:focus-visible,
.support-faceplate__actions .button--enter:hover,
.support-faceplate__actions .button--enter:focus-visible,
.support-faceplate__actions .button--access:hover,
.support-faceplate__actions .button--access:focus-visible {
  background: linear-gradient(180deg, rgba(31, 77, 120, 0.98), rgba(33, 69, 111, 0.98));
  color: var(--color-text-inverse, #fff);
}


/* =========================================================
   Shell + Inbox Polish Wave: secure login chamber alignment
   Auth remains a support-chamber face, but now reads as a native
   secure plate instead of an older standalone blue slab.
   ========================================================= */
.support-chamber__auth-shell {
  display: grid;
  gap: 0.88rem;
}

.support-chamber__auth-shell > .support-chamber__eyebrow {
  margin: 0;
  color: var(--identity-meta-gold);
  font-family: var(--font-ui);
  font-size: 0.72rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.support-chamber__auth-card {
  position: relative;
  isolation: isolate;
  display: grid;
  gap: 0.92rem;
  padding: clamp(1rem, 2vw, 1.3rem);
  border-radius: 1.25rem;
  border: 1px solid color-mix(in srgb, var(--chamber-line-casing-strong, rgba(164,132,72,0.46)) 58%, transparent);
  background:
    radial-gradient(circle at 90% 8%, rgba(203,228,236,0.20), transparent 38%),
    linear-gradient(180deg, rgba(24, 55, 87, 0.97), rgba(17, 45, 72, 0.955));
  color: var(--color-text-inverse, #fff);
  box-shadow:
    0 1rem 2.25rem rgba(17, 37, 61, 0.18),
    inset 0 1px 0 rgba(255,255,255,0.16),
    inset 0 -1px 0 rgba(164,132,72,0.16);
}

.support-chamber__auth-card::before {
  content: "";
  position: absolute;
  inset: 0.58rem;
  border-radius: 0.98rem;
  pointer-events: none;
  background:
    linear-gradient(var(--chamber-line-casing-strong, rgba(164,132,72,0.42)), var(--chamber-line-casing-strong, rgba(164,132,72,0.42))) left top / 1.55rem 1px no-repeat,
    linear-gradient(var(--chamber-line-casing-strong, rgba(164,132,72,0.42)), var(--chamber-line-casing-strong, rgba(164,132,72,0.42))) left top / 1px 1.55rem no-repeat,
    linear-gradient(var(--chamber-line-casing-strong, rgba(164,132,72,0.42)), var(--chamber-line-casing-strong, rgba(164,132,72,0.42))) right top / 1.55rem 1px no-repeat,
    linear-gradient(var(--chamber-line-casing-strong, rgba(164,132,72,0.42)), var(--chamber-line-casing-strong, rgba(164,132,72,0.42))) right top / 1px 1.55rem no-repeat,
    linear-gradient(var(--chamber-line-casing-strong, rgba(164,132,72,0.42)), var(--chamber-line-casing-strong, rgba(164,132,72,0.42))) left bottom / 1.55rem 1px no-repeat,
    linear-gradient(var(--chamber-line-casing-strong, rgba(164,132,72,0.42)), var(--chamber-line-casing-strong, rgba(164,132,72,0.42))) left bottom / 1px 1.55rem no-repeat,
    linear-gradient(var(--chamber-line-casing-strong, rgba(164,132,72,0.42)), var(--chamber-line-casing-strong, rgba(164,132,72,0.42))) right bottom / 1.55rem 1px no-repeat,
    linear-gradient(var(--chamber-line-casing-strong, rgba(164,132,72,0.42)), var(--chamber-line-casing-strong, rgba(164,132,72,0.42))) right bottom / 1px 1.55rem no-repeat;
  opacity: 0.58;
}

.support-chamber__auth-card > * {
  position: relative;
  z-index: 1;
}

.support-chamber__auth-copy {
  display: grid;
  gap: 0.42rem;
}

.support-chamber__title,
.support-chamber__summary,
.support-chamber__hint {
  color: inherit;
}

.support-chamber__summary {
  color: color-mix(in srgb, white 82%, rgba(203,228,236,0.72) 18%);
}

.support-chamber__hint {
  margin: 0;
  color: color-mix(in srgb, white 62%, var(--chamber-line-casing-strong, rgba(164,132,72,0.50)) 38%);
  font-family: var(--font-ui);
  font-size: 0.78rem;
  font-weight: var(--font-weight-semibold);
  letter-spacing: -0.006em;
}

.support-chamber__auth-form .form-field span {
  color: color-mix(in srgb, white 84%, var(--chamber-line-casing-strong, rgba(164,132,72,0.50)) 16%);
}

.support-chamber__auth-form input {
  background: rgba(255,255,255,0.96);
}

.support-chamber__cancel {
  opacity: 0.78;
}

.support-chamber__cancel:hover,
.support-chamber__cancel:focus-visible {
  opacity: 1;
}

/* =========================================================
   Access Chamber Auth Convergence Patch
   Auth chamber owns the login visual: white medical card,
   icon fields, navy action, brass structure. Portal/workspace
   page styles should not darken this component.
   ========================================================= */
.support-chamber__auth-shell--converged {
  --auth-navy: var(--syn-identity, #132947);
  --auth-navy-deep: var(--syn-identity-deep, #0d1a2a);
  --auth-muted: var(--syn-support, #50657a);
  --auth-blue-gray: var(--syn-support-soft, #6c8094);
  --auth-white: var(--syn-surface, #fffdfa);
  --auth-ivory: var(--syn-surface-warm, #fbf7f0);
  --auth-mist: var(--syn-glass-soft, #edf4f3);
  --auth-gold: var(--syn-casing-strong, rgba(165,122,40,0.38));
  gap: clamp(0.88rem, 2vw, 1.15rem);
}

.support-chamber__auth-shell--converged > .support-chamber__eyebrow {
  color: color-mix(in srgb, var(--auth-gold) 72%, var(--auth-navy) 28%);
}

.support-chamber__auth-card--converged,
.support-chamber__auth-shell--converged .support-chamber__auth-card {
  color: var(--auth-navy);
  padding: clamp(1.05rem, 2.5vw, 1.55rem);
  border-radius: clamp(1.25rem, 2vw, 1.65rem);
  border: 1px solid color-mix(in srgb, var(--auth-gold) 58%, transparent);
  background:
    radial-gradient(circle at 92% 0%, rgba(201, 222, 227, 0.38), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,252,252,0.94));
  box-shadow:
    0 1rem 2.4rem rgba(17, 37, 61, 0.12),
    inset 0 1px 0 rgba(255,255,255,0.78);
}

.support-chamber__auth-shell--converged .support-chamber__auth-card::before {
  inset: 0.62rem;
  border-radius: 1.12rem;
  opacity: 0.54;
  background:
    linear-gradient(color-mix(in srgb, var(--auth-gold) 74%, transparent), color-mix(in srgb, var(--auth-gold) 74%, transparent)) left top / 1.55rem 1px no-repeat,
    linear-gradient(color-mix(in srgb, var(--auth-gold) 74%, transparent), color-mix(in srgb, var(--auth-gold) 74%, transparent)) left top / 1px 1.55rem no-repeat,
    linear-gradient(color-mix(in srgb, var(--auth-gold) 74%, transparent), color-mix(in srgb, var(--auth-gold) 74%, transparent)) right top / 1.55rem 1px no-repeat,
    linear-gradient(color-mix(in srgb, var(--auth-gold) 74%, transparent), color-mix(in srgb, var(--auth-gold) 74%, transparent)) right top / 1px 1.55rem no-repeat,
    linear-gradient(color-mix(in srgb, var(--auth-gold) 74%, transparent), color-mix(in srgb, var(--auth-gold) 74%, transparent)) left bottom / 1.55rem 1px no-repeat,
    linear-gradient(color-mix(in srgb, var(--auth-gold) 74%, transparent), color-mix(in srgb, var(--auth-gold) 74%, transparent)) left bottom / 1px 1.55rem no-repeat,
    linear-gradient(color-mix(in srgb, var(--auth-gold) 74%, transparent), color-mix(in srgb, var(--auth-gold) 74%, transparent)) right bottom / 1.55rem 1px no-repeat,
    linear-gradient(color-mix(in srgb, var(--auth-gold) 74%, transparent), color-mix(in srgb, var(--auth-gold) 74%, transparent)) right bottom / 1px 1.55rem no-repeat;
}

.support-chamber__auth-shell--converged .support-chamber__auth-copy {
  gap: 0.5rem;
  padding-bottom: 0.15rem;
}

.support-chamber__auth-shell--converged .support-chamber__title,
.support-chamber__auth-shell--converged .support-chamber__summary,
.support-chamber__auth-shell--converged .support-chamber__hint,
.support-chamber__auth-shell--converged .support-chamber__auth-card .portal-intake-message {
  color: var(--auth-navy);
}

.support-chamber__auth-shell--converged .support-chamber__title {
  font-size: clamp(1.42rem, 1.14rem + 1vw, 2.05rem);
  line-height: 1.02;
}

.support-chamber__auth-shell--converged .support-chamber__summary {
  color: var(--auth-muted);
  font-size: 0.95rem;
  line-height: 1.55;
}

.support-chamber__auth-shell--converged .support-chamber__hint {
  color: color-mix(in srgb, var(--auth-blue-gray) 86%, var(--auth-gold) 14%);
}

.support-chamber__auth-shell--converged .portal-intake-form__grid--single {
  gap: 0.82rem;
}

.support-chamber__auth-shell--converged .auth-field {
  position: relative;
  display: grid;
  grid-template-columns: 2.65rem minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  column-gap: 0.78rem;
  row-gap: 0.12rem;
  align-items: center;
  min-height: 4.15rem;
  padding: 0.62rem 0.72rem;
  border-radius: 1.18rem;
  border: 1px solid color-mix(in srgb, var(--auth-blue-gray) 24%, transparent);
  background: rgba(255, 255, 255, 0.96);
  box-shadow:
    inset 0 1px 2px rgba(17, 37, 61, 0.055),
    0 0.24rem 0.85rem rgba(17, 37, 61, 0.035);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
}

.support-chamber__auth-shell--converged .auth-field:focus-within {
  border-color: color-mix(in srgb, var(--syn-action, #16717a) 48%, transparent);
  background: #fff;
  box-shadow:
    0 0 0 3px color-mix(in srgb, var(--syn-action, #16717a) 14%, transparent),
    0 0.42rem 1rem rgba(17, 37, 61, 0.06);
}

.support-chamber__auth-shell--converged .auth-field__icon,
.support-chamber__auth-shell--converged .auth-field__action {
  color: var(--auth-blue-gray);
}

.support-chamber__auth-shell--converged .auth-field__icon {
  grid-column: 1;
  grid-row: 1 / 3;
  display: inline-grid;
  place-items: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 0.86rem;
  background: linear-gradient(180deg, rgba(237,244,243,0.9), rgba(248,252,252,0.72));
  border: 1px solid color-mix(in srgb, var(--auth-blue-gray) 14%, transparent);
}

.support-chamber__auth-shell--converged .support-chamber__auth-svg {
  width: 1.18rem;
  height: 1.18rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.72;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.support-chamber__auth-shell--converged .auth-field__label {
  grid-column: 2;
  grid-row: 1;
  color: color-mix(in srgb, var(--auth-navy) 74%, var(--auth-blue-gray) 26%);
  font-family: var(--font-ui);
  font-size: 0.74rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.support-chamber__auth-shell--converged .auth-field input {
  grid-column: 2;
  grid-row: 2;
  min-height: 1.55rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--auth-navy);
  font-size: 0.98rem;
}

.support-chamber__auth-shell--converged .auth-field input:focus-visible {
  border: 0;
  box-shadow: none;
  background: transparent;
}

.support-chamber__auth-shell--converged .auth-field__action {
  grid-column: 3;
  grid-row: 1 / 3;
  appearance: none;
  -webkit-appearance: none;
  display: inline-grid;
  place-items: center;
  width: 2.32rem;
  height: 2.32rem;
  border-radius: 0.85rem;
  border: 1px solid color-mix(in srgb, var(--auth-blue-gray) 18%, transparent);
  background: rgba(248,252,252,0.72);
  cursor: pointer;
  transition: color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast);
}

.support-chamber__auth-shell--converged .auth-field__action:hover,
.support-chamber__auth-shell--converged .auth-field__action:focus-visible {
  color: var(--auth-navy);
  border-color: color-mix(in srgb, var(--syn-action, #16717a) 34%, transparent);
  background: rgba(237,244,243,0.96);
  outline: none;
  transform: translateY(-1px);
}

.support-chamber__auth-shell--converged .support-chamber__forgot-button {
  justify-self: end;
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: transparent;
  color: color-mix(in srgb, var(--auth-navy) 78%, var(--syn-action, #16717a) 22%);
  font-family: var(--font-ui);
  font-size: 0.83rem;
  font-weight: var(--font-weight-bold);
  cursor: pointer;
  padding: 0.1rem 0.08rem 0;
}

.support-chamber__auth-shell--converged .support-chamber__forgot-button:hover,
.support-chamber__auth-shell--converged .support-chamber__forgot-button:focus-visible {
  color: var(--syn-action-strong, #0f5f67);
  text-decoration: underline;
  outline: none;
}

.support-chamber__auth-shell--converged .portal-intake-auth__actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.65rem;
  align-items: stretch;
}

.support-chamber__auth-shell--converged .support-chamber__auth-card .button--primary {
  min-height: 3.1rem;
  width: 100%;
  border-radius: 1rem;
  border-color: color-mix(in srgb, var(--auth-navy) 38%, transparent);
  background: linear-gradient(180deg, var(--auth-navy), var(--auth-navy-deep));
  color: var(--color-text-inverse, #fff);
  box-shadow: 0 0.7rem 1.25rem rgba(17, 37, 61, 0.18);
}

.support-chamber__auth-shell--converged .support-chamber__auth-card .button--primary:hover,
.support-chamber__auth-shell--converged .support-chamber__auth-card .button--primary:focus-visible {
  border-color: color-mix(in srgb, var(--syn-action, #16717a) 42%, transparent);
  background: linear-gradient(180deg, var(--color-ink-800, #21456f), var(--auth-navy));
  color: var(--color-text-inverse, #fff);
}

.support-chamber__auth-shell--converged .support-chamber__auth-card .button--quiet {
  width: 100%;
  min-height: 2.78rem;
  border-radius: 1rem;
  background: rgba(255,255,255,0.72);
  color: var(--auth-navy);
}

.support-chamber__request--converged,
.support-chamber__auth-shell--converged .support-chamber__request {
  display: grid;
  gap: 0.9rem;
  padding: clamp(0.95rem, 2vw, 1.2rem);
  border-radius: 1.25rem;
  border: 1px solid color-mix(in srgb, var(--auth-gold, rgba(165,122,40,0.38)) 44%, transparent);
  border-top-width: 1px;
  background:
    radial-gradient(circle at top right, rgba(216, 200, 164, 0.18), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,0.92), rgba(246,250,252,0.86));
  box-shadow: 0 0.45rem 1.2rem rgba(17, 37, 61, 0.055);
}

.support-chamber__auth-shell--converged .support-chamber__request-header {
  align-items: center;
}

.support-chamber__auth-shell--converged .support-chamber__request .panel__eyebrow {
  color: color-mix(in srgb, var(--auth-gold, rgba(165,122,40,0.38)) 72%, var(--auth-navy) 28%);
}

.support-chamber__auth-shell--converged .support-chamber__request .panel__title {
  margin: 0;
  color: var(--auth-navy);
}

.support-chamber__auth-shell--converged #supportChamberRequestToggle {
  min-height: 2.5rem;
  border-radius: 0.92rem;
  background: rgba(255,255,255,0.82);
}

@container (max-width: 30rem) {
  .support-chamber__auth-shell--converged .support-chamber__request-header {
    display: grid;
    justify-content: stretch;
  }
}


/* =========================================================
   Access Chamber Overlay Corrective Pass
   Auth admissions are promoted overlays on desktop/landscape.
   This intentionally overrides the viewport frame's legacy promoted=hidden
   fallback so Clinician Access / Workspace do not reopen as a side rail.
   ========================================================= */
.shell-body[data-chamber-admission='promoted'][data-support-face='auth'][data-support-chamber]:not([data-support-chamber='closed']) [data-shell-viewport-layer] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.shell-body[data-chamber-admission='promoted'][data-support-face='auth'][data-support-chamber]:not([data-support-chamber='closed']) .viewport-stage {
  position: relative !important;
  grid-template-columns: 1fr !important;
  isolation: isolate;
}

.shell-body[data-chamber-admission='promoted'][data-support-face='auth'][data-support-chamber]:not([data-support-chamber='closed']) .viewport-window {
  grid-column: 1 / -1 !important;
  filter: blur(1.2px) saturate(0.94);
  transform: none !important;
}

.shell-body[data-chamber-admission='promoted'][data-support-face='auth'][data-support-chamber]:not([data-support-chamber='closed']) [data-support-chamber-root],
.shell-body[data-chamber-admission='promoted'][data-support-face='auth'][data-support-chamber]:not([data-support-chamber='closed']) .support-chamber {
  position: absolute !important;
  inset: 0 !important;
  z-index: 30 !important;
  display: grid !important;
  grid-column: 1 / -1 !important;
  place-items: center !important;
  align-items: center !important;
  justify-items: center !important;
  inline-size: 100% !important;
  block-size: 100% !important;
  min-inline-size: 0 !important;
  min-block-size: 0 !important;
  padding: clamp(0.62rem, 2vw, 1.25rem) !important;
  background:
    radial-gradient(circle at 50% 18%, rgba(248, 252, 252, 0.55), transparent 48%),
    linear-gradient(180deg, rgba(17, 37, 61, 0.10), rgba(17, 37, 61, 0.24));
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  overflow: hidden !important;
  pointer-events: auto !important;
}

.shell-body[data-chamber-admission='promoted'][data-support-face='auth'][data-support-chamber]:not([data-support-chamber='closed']) .support-chamber__window {
  inline-size: min(100%, 43rem) !important;
  max-inline-size: calc(100% - 0.1rem) !important;
  max-block-size: min(88svh, calc(var(--shell-chamber-sub-block, 100svh) - 1rem)) !important;
  margin: 0 auto !important;
  display: grid !important;
  gap: 0.72rem !important;
  padding: clamp(0.72rem, 1.6vw, 1rem) !important;
  border-radius: clamp(1.2rem, 1rem + 1vw, 1.85rem) !important;
  border: 1px solid color-mix(in srgb, var(--syn-casing-strong, #a57a28) 34%, rgba(17,37,61,0.14));
  background:
    radial-gradient(circle at 92% 4%, rgba(201, 222, 227, 0.28), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(246,250,252,0.92));
  box-shadow:
    0 1.25rem 2.8rem rgba(17, 37, 61, 0.22),
    inset 0 1px 0 rgba(255,255,255,0.70);
  overflow: auto !important;
  overscroll-behavior: contain;
}

.shell-body[data-chamber-admission='promoted'][data-support-face='auth'][data-support-chamber]:not([data-support-chamber='closed']) .support-chamber__controls {
  position: sticky;
  top: 0;
  z-index: 4;
}

.shell-body[data-chamber-admission='promoted'][data-support-face='auth'][data-support-chamber]:not([data-support-chamber='closed']) .support-chamber__auth-shell.is-request-open {
  grid-template-columns: 1fr !important;
}

@media (orientation: landscape) and (max-height: 40rem) {
  .shell-body[data-chamber-admission='promoted'][data-support-face='auth'][data-support-chamber]:not([data-support-chamber='closed']) [data-support-chamber-root],
  .shell-body[data-chamber-admission='promoted'][data-support-face='auth'][data-support-chamber]:not([data-support-chamber='closed']) .support-chamber {
    padding: 0.42rem !important;
  }

  .shell-body[data-chamber-admission='promoted'][data-support-face='auth'][data-support-chamber]:not([data-support-chamber='closed']) .support-chamber__window {
    inline-size: min(100%, 40rem) !important;
    max-block-size: 94svh !important;
    padding: 0.62rem !important;
  }
}

/* =========================================================
   Shell-Level Auth Overlay Backdrop Patch
   When auth is launched from the resting cover, the cover remains the
   backdrop and the viewport/access scene stack stays retired.
   ========================================================= */
.shell-body[data-support-chamber-origin='cover'][data-support-face='auth'][data-support-chamber]:not([data-support-chamber='closed']) [data-shell-viewport-layer] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.shell-body[data-support-chamber-origin='cover'][data-support-face='auth'][data-support-chamber]:not([data-support-chamber='closed']) [data-shell-cover-chamber] {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
/* production-css: end shared/styles/chamber/faceplate.css */


/* production-css: begin shared/styles/chamber/action-chamber.css */
/* action-chamber.css
   Canonical Action Chamber / Action Port visuals.
   Shell/chambers.css owns placement. This file owns the chamber's internal read.
*/
.action-chamber,
[data-action-chamber-root] {
  --action-chamber-bg: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(246,250,251,0.94));
  --action-chamber-border: var(--chamber-line-casing, rgba(19, 41, 71, 0.1));
}

.action-chamber__window,
[data-action-chamber-root] .support-chamber__window {
  background: var(--action-chamber-bg);
  border-color: var(--action-chamber-border);
}

.action-chamber-shell,
.support-action-shell {
  min-height: 0;
  display: grid;
  gap: 0.9rem;
  align-content: start;
}

.action-chamber-shell__head,
.support-action-shell__head {
  display: flex;
  justify-content: space-between;
  gap: 0.85rem;
  align-items: start;
  padding-bottom: 0.72rem;
  border-bottom: 1px solid rgba(19, 41, 71, 0.08);
}

.action-chamber-shell__eyebrow,
.support-action-shell__head .support-faceplate__eyebrow {
  margin: 0 0 0.26rem;
  color: var(--syn-action, #16717a);
  font-family: var(--font-ui);
  font-size: 0.72rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.action-chamber-shell__title,
.support-action-shell__head .support-faceplate__title {
  margin: 0;
  color: var(--color-title);
  font-family: var(--font-heading, var(--font-display));
  font-size: clamp(1.12rem, 0.98rem + 0.56vw, 1.48rem);
  line-height: 1.08;
}

.action-chamber-shell__summary,
.support-action-shell .support-faceplate__summary {
  margin: 0;
  color: var(--color-text-soft);
  font-family: var(--font-body);
  line-height: 1.55;
}

.action-chamber-shell__body,
[data-action-chamber-body],
[data-support-action-body] {
  min-height: 0;
  display: grid;
  gap: 0.9rem;
}

[data-action-chamber-root] .inbox-writing-desk,
[data-action-chamber-root] .workspace-mail-draft,
[data-action-chamber-root] .workspace-client-detail-card,
[data-action-chamber-root] .workspace-context-card {
  box-shadow: none;
}


/* Admission Closure wave: cover-origin admission is an action slot, not an
   ungoverned modal. Keep it inside the shell chamber and avoid page-white
   dominance during soft keyboard pressure. */
.shell-body[data-cover-public-state='admitted-action-slot'] [data-action-chamber-root] .support-chamber__window,
.shell-body[data-cover-public-state='admitted-action-slot'] [data-action-chamber-root] .action-chamber__window {
  max-block-size: min(100%, 100svh);
  overflow: auto;
  overscroll-behavior: contain;
  background: linear-gradient(180deg, rgba(252,254,255,0.97), rgba(239,247,250,0.95));
}

.shell-body[data-cover-public-state='admitted-action-slot'][data-visual-viewport-keyboard='active'] [data-action-chamber-root],
.shell-body[data-cover-public-state='admitted-action-slot'][data-viewport-status='keyboard-active'] [data-action-chamber-root] {
  align-items: end;
  background: linear-gradient(180deg, rgba(7,17,31,0.18), rgba(7,17,31,0.30));
}
/* production-css: end shared/styles/chamber/action-chamber.css */


/* production-css: begin shared/styles/chamber/action-utilities.css */
/* action-utilities.css
   Construction wave: actual tools hosted by the Action Chamber.
*/
.action-utility {
  display: grid;
  gap: 0.95rem;
  min-width: 0;
}

.action-utility__eyebrow,
.action-utility .panel__eyebrow {
  margin: 0;
  color: var(--syn-action, #16717a);
  font-family: var(--font-ui);
  font-size: 0.72rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.action-utility__title {
  margin: 0;
  color: var(--color-title);
  font-family: var(--font-heading, var(--font-display));
  font-size: clamp(1.05rem, 0.95rem + 0.5vw, 1.42rem);
  line-height: 1.12;
}

.action-utility__summary {
  margin: 0;
  color: var(--color-text-soft);
  line-height: 1.55;
}

.action-utility__section-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 0.9rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(19, 41, 71, 0.08);
}

.action-utility__section {
  display: grid;
  gap: 0.65rem;
  padding: 0.78rem;
  border: 1px solid rgba(19, 41, 71, 0.08);
  border-radius: 0.9rem;
  background: rgba(255,255,255,0.58);
}

.action-utility__meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.56rem;
}

.action-utility__meta-grid span {
  display: grid;
  gap: 0.18rem;
  padding: 0.62rem 0.68rem;
  border: 1px solid rgba(19, 41, 71, 0.08);
  border-radius: 0.78rem;
  background: rgba(255,255,255,0.68);
  color: var(--color-text-soft);
  font-size: 0.88rem;
}

.action-utility__meta-grid strong {
  color: var(--color-title);
  font-size: 0.71rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.action-utility__form,
.action-utility__grid {
  display: grid;
  gap: 0.78rem;
}

.action-utility__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.56rem;
}

.action-utility__actions--wrap {
  padding-top: 0.2rem;
}

.action-utility__message,
.action-utility__notice {
  min-height: 1.1rem;
}

.action-utility__notice {
  padding: 0.72rem 0.78rem;
  border: 1px solid rgba(181, 68, 68, 0.2);
  border-radius: 0.82rem;
  background: rgba(181, 68, 68, 0.08);
  color: var(--color-title);
}

.action-utility--message-reader .portal-thread-detail__shell,
.action-utility--message-reply .inbox-writing-desk,
.action-utility--message-compose .inbox-writing-desk,
.action-utility--referral .workspace-booking-desk,
.action-utility--booking .workspace-booking-desk {
  box-shadow: none;
  border-color: rgba(19, 41, 71, 0.08);
}

[data-action-chamber-root] textarea {
  min-height: 8rem;
}

[data-action-utility-state="rendered"] [data-action-chamber-root] [data-action-chamber-body] > .panel__summary:only-child {
  display: none;
}

@media (max-width: 720px) {
  .action-utility__meta-grid {
    grid-template-columns: 1fr;
  }

  .action-utility__actions {
    align-items: stretch;
  }

  .action-utility__actions .button {
    flex: 1 1 100%;
    justify-content: center;
  }
}

/* =========================================================
   Action Chamber Form Controls Wave
   Native controls stay native inside the chamber; date/time picker buttons
   delegate to showPicker() when the browser supports it.
   ========================================================= */
[data-action-chamber-root] select,
[data-action-chamber-root] input,
[data-action-chamber-root] textarea,
[data-action-chamber-root] button,
[data-support-chamber-root] select,
[data-support-chamber-root] input,
[data-support-chamber-root] textarea,
[data-support-chamber-root] button {
  pointer-events: auto;
  touch-action: manipulation;
}

[data-action-chamber-root] .action-chamber-shell,
[data-action-chamber-root] [data-action-chamber-body] {
  min-block-size: 0;
}

[data-action-chamber-root] [data-action-chamber-body] {
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding-inline-end: 0.12rem;
}

.field-picker-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.38rem;
}

.field-picker-wrap > input {
  min-inline-size: 0;
}

.field-picker-button {
  inline-size: 2.32rem;
  block-size: 2.32rem;
  display: inline-grid;
  place-items: center;
  border-radius: 0.72rem;
  border: 1px solid rgba(19, 41, 71, 0.12);
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(241,248,248,0.9));
  color: var(--syn-action, #16717a);
  font: inherit;
  cursor: pointer;
}

.field-picker-button:hover,
.field-picker-button:focus-visible {
  border-color: color-mix(in srgb, var(--syn-action, #16717a) 48%, transparent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--syn-action, #16717a) 12%, transparent);
}

.action-utility--referral .action-utility__section,
.action-utility--booking .action-utility__section,
.action-utility--access .action-utility__section {
  background: rgba(255,255,255,0.72);
}

/* =========================================================
   Native Control Repair Pass
   Action Chamber form controls must behave like browser-native controls.
   No chamber layer should require hold-click to open a select, date, or time.
   ========================================================= */
[data-action-chamber-root] select,
[data-action-chamber-root] input,
[data-action-chamber-root] textarea,
[data-action-chamber-root] button,
[data-support-chamber-root] select,
[data-support-chamber-root] input,
[data-support-chamber-root] textarea,
[data-support-chamber-root] button {
  position: relative;
  z-index: 2;
  pointer-events: auto !important;
  user-select: auto;
  -webkit-user-select: auto;
  touch-action: manipulation;
}

[data-action-chamber-root] select,
[data-support-chamber-root] select {
  appearance: auto;
  -webkit-appearance: menulist;
  cursor: pointer;
}

[data-action-chamber-root] input[type='date'],
[data-action-chamber-root] input[type='time'],
[data-support-chamber-root] input[type='date'],
[data-support-chamber-root] input[type='time'] {
  appearance: auto;
  -webkit-appearance: auto;
  min-block-size: 2.64rem;
}

.form-field--native-picker input[type='date'],
.form-field--native-picker input[type='time'] {
  inline-size: 100%;
}

/* The old picker button remains supported for older pages, but new booking
   utilities use direct native date/time inputs instead of fake icons. */
.field-picker-button[hidden] {
  display: none !important;
}

/* Governance operating system states */
.action-utility--blocked,
.action-utility--missing {
  border: 1px solid rgba(147, 67, 42, 0.24);
  background: linear-gradient(180deg, rgba(255, 250, 242, 0.96), rgba(255, 244, 232, 0.9));
}

.action-utility__notice[data-tone="error"],
.action-utility[data-action-utility-state="blocked"] .action-utility__notice {
  border: 1px solid rgba(147, 67, 42, 0.24);
  border-radius: 14px;
  padding: 0.75rem 0.85rem;
  background: rgba(255, 240, 230, 0.9);
  color: #71301f;
}

.shell-body[data-governance-verdict="block"] .action-chamber,
.shell-body[data-governance-verdict="block"] .support-chamber {
  --action-governance-accent: rgba(147, 67, 42, 0.46);
}

.shell-body[data-governance-verdict="warn"] .action-chamber,
.shell-body[data-governance-verdict="warn"] .support-chamber {
  --action-governance-accent: rgba(181, 133, 62, 0.42);
}
/* production-css: end shared/styles/chamber/action-utilities.css */


/* production-css: begin shared/styles/guide/guide-ui.css */
.guide-shell {
  display: grid;
  gap: var(--guide-gap);
  color: var(--guide-text);
  font-family: var(--font-body);
}
.guide-shell__head {
  display: grid;
  gap: 0.8rem;
}
.guide-shell__title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 650;
  color: var(--guide-text-muted);
}
.guide-shell__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.guide-layout {
  display: grid;
  grid-template-columns: minmax(15rem, 0.65fr) minmax(0, 1.35fr);
  gap: var(--guide-gap);
  min-height: min(64vh, 44rem);
}
.guide-sidebar,
.guide-chat,
.guide-thread,
.guide-message,
.guide-error {
  background: var(--guide-panel);
  border: 1px solid var(--guide-border);
  border-radius: var(--guide-radius);
  box-shadow: var(--guide-shadow);
}
.guide-sidebar {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
}
.guide-sidebar__head {
  padding: 0.85rem 0.95rem 0.72rem;
  border-bottom: 1px solid var(--guide-border);
}
.guide-sidebar__label,
.guide-eyebrow,
.guide-message__role,
.guide-composer__label {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--guide-text-muted);
  margin: 0;
}
.guide-threads {
  display: grid;
  gap: 0.55rem;
  padding: 0.75rem;
  overflow: auto;
}
.guide-thread {
  appearance: none;
  display: grid;
  gap: 0.25rem;
  padding: 0.85rem;
  text-align: left;
  cursor: pointer;
  background: rgba(255,255,255,0.55);
}
.guide-thread.is-active,
.guide-thread:hover,
.guide-thread:focus-visible {
  border-color: rgba(49, 85, 127, 0.28);
  background: rgba(49, 85, 127, 0.08);
  outline: none;
}
.guide-thread__title {
  font-weight: 650;
  color: var(--guide-text);
}
.guide-thread__excerpt,
.guide-composer__status,
.guide-message__stamp,
.guide-empty {
  color: var(--guide-text-muted);
  font-size: 0.82rem;
  line-height: 1.45;
}
.guide-chat {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto auto;
  gap: var(--guide-gap);
  padding: 0.9rem;
  overflow: hidden;
}
.guide-transcript {
  overflow: auto;
  padding: 0.9rem;
  display: grid;
  align-content: start;
  gap: 0.8rem;
  background: var(--guide-panel-strong);
  border: 1px solid var(--guide-border);
  border-radius: var(--guide-radius);
}
.guide-message {
  display: grid;
  gap: 0.55rem;
  padding: 0.9rem 1rem;
}
.guide-message--user {
  background: rgba(49, 85, 127, 0.08);
}
.guide-message__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.4rem;
}
.guide-message__body p {
  margin: 0;
  line-height: 1.6;
}
.guide-message__body p + p {
  margin-top: 0.55rem;
}
.guide-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}
.guide-chip {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.35rem 0.68rem;
  border: 1px solid var(--guide-border);
  background: rgba(255,255,255,0.7);
  font-size: 0.78rem;
}
.guide-error {
  padding: 0.85rem 1rem;
  color: var(--guide-bad);
  background: rgba(163, 94, 82, 0.08);
}
.guide-composer {
  display: grid;
  gap: 0.75rem;
  padding: 0.9rem;
  background: var(--guide-panel);
  border: 1px solid var(--guide-border);
  border-radius: var(--guide-radius);
  box-shadow: var(--guide-shadow);
}
.guide-composer__input {
  width: 100%;
  min-height: 7.5rem;
  resize: vertical;
  padding: 0.9rem 1rem;
  border-radius: 0.95rem;
  border: 1px solid var(--guide-border);
  background: rgba(255,255,255,0.95);
  color: var(--guide-text);
  font: inherit;
}
.guide-composer__input:focus-visible {
  outline: 1px solid rgba(49, 85, 127, 0.42);
  border-color: rgba(49, 85, 127, 0.42);
}
.guide-composer__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: center;
}
.guide-button {
  appearance: none;
  border-radius: 0.9rem;
  border: 1px solid var(--guide-border);
  min-height: 2.3rem;
  padding: 0.6rem 0.95rem;
  cursor: pointer;
  font: inherit;
  transition: transform var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);
}
.guide-button:hover,
.guide-button:focus-visible {
  transform: translateY(-1px);
  outline: none;
}
.guide-button--ghost {
  background: rgba(255,255,255,0.7);
  color: var(--guide-text);
}
.guide-button--primary {
  background: linear-gradient(180deg, rgba(49,85,127,0.12), rgba(49,85,127,0.08));
  color: var(--guide-text);
  border-color: rgba(49,85,127,0.26);
}
.guide-button[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}
@media (max-width: 980px) {
  .guide-layout {
    grid-template-columns: 1fr;
    min-height: auto;
  }
}
/* production-css: end shared/styles/guide/guide-ui.css */


/* production-css: begin shared/styles/shell/state-light.css */
/* State Light Primitive Wave
   Illumination logic only.

   Contract:
   - State Light is persistent system illumination, not hover.
   - A surface is lit only when JS assigns data-state-light="true".
   - Muted casing gold / warm brass is the default state-light color.
*/

:root {
  --state-light-line: color-mix(in srgb, var(--syn-casing-strong, rgba(164, 132, 72, 0.54)) 84%, transparent);
  --state-light-line-soft: color-mix(in srgb, var(--syn-casing, rgba(164, 132, 72, 0.36)) 72%, transparent);
  --state-light-line-strong: color-mix(in srgb, var(--syn-casing-strong, rgba(164, 132, 72, 0.72)) 92%, rgba(19, 41, 71, 0.08));
  --state-light-glow: color-mix(in srgb, var(--syn-casing-soft, rgba(164, 132, 72, 0.16)) 78%, transparent);
  --state-light-glow-strong: color-mix(in srgb, var(--syn-casing-soft, rgba(164, 132, 72, 0.24)) 82%, transparent);
  --state-light-wash: color-mix(in srgb, var(--syn-surface, #fffdfa) 74%, var(--syn-casing-soft, rgba(164, 132, 72, 0.14)) 26%);
  --state-light-bridge: color-mix(in srgb, var(--syn-action-line, rgba(43, 130, 139, 0.28)) 44%, var(--syn-casing, rgba(164, 132, 72, 0.32)) 56%);
  --state-light-shadow: 0 0.26rem 0.78rem rgba(17, 37, 61, 0.065), 0 0 0 1px var(--state-light-glow);
  --state-light-shadow-strong: 0 0.42rem 1rem rgba(17, 37, 61, 0.09), 0 0 0 1px var(--state-light-glow-strong);
}

:is(
  .button,
  a.button,
  button.button,
  .shell-cover__route,
  .shell-nav__link,
  .subnav__link,
  .shell-footer__link,
  .shell-footer__launcher,
  .shell-authbar__button,
  .shell-access__action,
  .support-chamber__resume
)[data-state-light='true'] {
  position: relative;
  isolation: isolate;
  border-color: var(--state-light-line);
  box-shadow: var(--state-light-shadow), inset 0 1px 0 rgba(255,255,255,0.72);
}

:is(
  .button,
  a.button,
  button.button,
  .shell-cover__route,
  .shell-nav__link,
  .subnav__link,
  .shell-footer__link,
  .shell-footer__launcher,
  .shell-authbar__button,
  .shell-access__action,
  .support-chamber__resume
)[data-state-light='true']::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  inset-inline: 0.66rem;
  bottom: 0.24rem;
  height: 1px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, var(--state-light-line), var(--state-light-bridge), var(--state-light-line), transparent);
  opacity: 0.72;
}

:is(
  .button,
  a.button,
  button.button,
  .shell-cover__route,
  .shell-nav__link,
  .subnav__link,
  .shell-footer__link,
  .shell-footer__launcher,
  .shell-authbar__button,
  .shell-access__action,
  .support-chamber__resume
)[data-state-light='true'] > * {
  position: relative;
  z-index: 1;
}

:is(
  .button,
  a.button,
  button.button,
  .shell-cover__route,
  .shell-nav__link,
  .subnav__link,
  .shell-footer__link,
  .shell-footer__launcher,
  .shell-authbar__button,
  .shell-access__action,
  .support-chamber__resume
)[data-state-light='true']:hover,
:is(
  .button,
  a.button,
  button.button,
  .shell-cover__route,
  .shell-nav__link,
  .subnav__link,
  .shell-footer__link,
  .shell-footer__launcher,
  .shell-authbar__button,
  .shell-access__action,
  .support-chamber__resume
)[data-state-light='true']:focus-visible {
  border-color: var(--state-light-line-strong);
  box-shadow: var(--state-light-shadow-strong), inset 0 1px 0 rgba(255,255,255,0.82);
}

/* Root access is intentionally quiet: the rested/root state is available,
   not selected. It gets a casing confirmation without becoming a filled CTA. */
.shell-cover__route[data-state-light-reason='root-access'] {
  border-color: var(--state-light-line-soft);
  box-shadow:
    0 0.22rem 0.62rem rgba(17, 37, 61, 0.045),
    0 0 0 1px color-mix(in srgb, var(--state-light-glow) 64%, transparent),
    inset 0 1px 0 rgba(255,255,255,0.72);
}

.shell-cover__route[data-state-light-reason='root-access']::after {
  opacity: 0.48;
}

/* Current route / active scene read as structural position. */
:is(
  .shell-nav__link,
  .subnav__link,
  .shell-authbar__button,
  .shell-access__action
)[data-state-light-reason='current-route'],
:is(
  .shell-nav__link,
  .subnav__link,
  .shell-authbar__button,
  .shell-access__action
)[data-state-light-reason='active-scene'] {
  background: linear-gradient(180deg, rgba(255,255,255,0.995), var(--state-light-wash));
  border-color: var(--state-light-line);
}

/* Admission/current target can keep secure blue semantics while receiving a
   brass confirmation edge from the state system. */
:is(
  .button--primary,
  .button--secure,
  .button--enter,
  .button--access,
  .shell-authbar__button--primary,
  .shell-authbar__button--secure,
  .shell-authbar__button--threshold,
  .shell-footer__launcher,
  .shell-cover__route
)[data-state-light-reason='admission-target'],
:is(
  .button--primary,
  .button--secure,
  .button--enter,
  .button--access,
  .shell-authbar__button--primary,
  .shell-authbar__button--secure,
  .shell-authbar__button--threshold,
  .shell-footer__launcher,
  .shell-cover__route
)[data-state-light-reason='current-target'],
:is(
  .button--primary,
  .button--secure,
  .button--enter,
  .button--access,
  .shell-authbar__button--primary,
  .shell-authbar__button--secure,
  .shell-authbar__button--threshold,
  .shell-footer__launcher,
  .shell-cover__route
)[data-state-light-reason='active-chamber'] {
  border-color: var(--state-light-line-strong);
  box-shadow:
    var(--state-light-shadow-strong),
    inset 0 1px 0 rgba(255,255,255,0.56),
    inset 0 -1px 0 var(--state-light-line);
}

.support-chamber[data-state-light='true'],
[data-support-chamber-root][data-state-light='true'] {
  --support-chamber-state-light: var(--state-light-line);
}

@media (prefers-reduced-motion: reduce) {
  [data-state-light='true'] {
    transition: none !important;
  }
}
/* production-css: end shared/styles/shell/state-light.css */


/* production-css: begin shared/styles/shell/shell-state-light.css */
/* Shell Diagnostic Popup v1
   System narrator host.

   Role:
   - The veil hides cover-level construction.
   - The popup narrates platform diagnostics inside route/platform domains.
   - The popup never captures input and never owns presentation authority.
*/

:root {
  --shell-state-light-size: 0.56rem;
  --shell-popup-edge: max(0.82rem, env(safe-area-inset-right));
  --shell-popup-bottom: max(0.9rem, env(safe-area-inset-bottom));
  --shell-popup-line: color-mix(in srgb, var(--syn-casing-strong, rgba(218, 174, 71, 0.74)) 78%, rgba(255,255,255,0.12));
  --shell-popup-ready: rgba(118, 196, 167, 0.88);
  --shell-popup-working: rgba(120, 175, 202, 0.9);
  --shell-popup-stalled: rgba(224, 200, 117, 0.92);
  --shell-popup-blocked: rgba(226, 150, 93, 0.94);
  --shell-popup-fault: rgba(230, 95, 95, 0.95);
  --shell-popup-bg: rgba(7, 16, 25, 0.66);
}

.synapse-shell-state-light,
.synapse-shell-diagnostic-popup {
  position: fixed;
  z-index: 2147482500;
  right: var(--shell-popup-edge);
  bottom: var(--shell-popup-bottom);
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  max-inline-size: min(78vw, 24rem);
  min-block-size: 1.34rem;
  padding: 0.3rem 0.44rem;
  border: 1px solid color-mix(in srgb, var(--shell-popup-line) 58%, transparent);
  border-radius: 999px;
  pointer-events: none;
  color: rgba(251, 247, 230, 0.94);
  opacity: 0.94;
  transform: translateZ(0);
  transition: opacity 180ms ease, transform 180ms ease, filter 180ms ease;
  isolation: isolate;
  background: linear-gradient(180deg, rgba(10, 23, 36, 0.76), rgba(7, 16, 25, 0.58));
  box-shadow: 0 0.34rem 1.1rem rgba(0,0,0,0.24), inset 0 1px 0 rgba(255,255,255,0.055);
  backdrop-filter: blur(12px);
}

.synapse-shell-state-light__dot {
  flex: 0 0 auto;
  inline-size: var(--shell-state-light-size);
  block-size: var(--shell-state-light-size);
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--shell-popup-line) 78%, transparent);
  background:
    radial-gradient(circle at 50% 50%, rgba(2, 9, 15, 0.94) 0 34%, transparent 35%),
    conic-gradient(from 0deg, var(--shell-popup-working), color-mix(in srgb, var(--shell-popup-working) 24%, transparent), var(--shell-popup-working));
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.035),
    0 0 0.58rem color-mix(in srgb, var(--shell-popup-working) 32%, transparent),
    inset 0 0 0.2rem rgba(255,255,255,0.12);
}

.synapse-shell-state-light__readout {
  display: block;
  min-inline-size: 0;
  text-transform: uppercase;
  letter-spacing: 0.115em;
  font-size: 0.54rem;
  line-height: 1.18;
}

.synapse-shell-state-light__status {
  display: block;
  color: rgba(252, 242, 196, 0.94);
  font-weight: 760;
  white-space: nowrap;
}

.synapse-shell-state-light__line {
  display: block;
  margin-top: 0.08rem;
  color: rgba(226, 233, 238, 0.7);
  font-weight: 620;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.synapse-shell-state-light[data-shell-state-light-mode='quiet'],
.synapse-shell-state-light[data-system-narrator-host='silent'],
.synapse-shell-state-light[data-system-voice-host='silent'] {
  opacity: 0;
  transform: translateY(0.28rem) scale(0.96);
}

.synapse-shell-state-light[data-shell-state-light-mode='working'] .synapse-shell-state-light__dot,
.synapse-shell-state-light[data-shell-state-light-mode='waiting'] .synapse-shell-state-light__dot,
.synapse-shell-state-light[data-shell-state-light-mode='donor'] .synapse-shell-state-light__dot {
  --shell-popup-working: rgba(120, 175, 202, 0.9);
}

.synapse-shell-state-light[data-shell-state-light-mode='stalled'] .synapse-shell-state-light__dot,
.synapse-shell-state-light[data-shell-state-light-mode='timeout'] .synapse-shell-state-light__dot {
  --shell-popup-working: var(--shell-popup-stalled);
  opacity: 0.96;
}

.synapse-shell-state-light[data-shell-state-light-mode='blocked'] .synapse-shell-state-light__dot {
  --shell-popup-working: var(--shell-popup-blocked);
  opacity: 1;
}

.synapse-shell-state-light[data-shell-state-light-mode='fault'] .synapse-shell-state-light__dot,
.synapse-shell-state-light[data-shell-state-light-mode='recovery'] .synapse-shell-state-light__dot {
  --shell-popup-working: var(--shell-popup-fault);
  opacity: 1;
}

html[data-system-narrator-host='veil'] .synapse-shell-state-light,
body[data-system-narrator-host='veil'] .synapse-shell-state-light,
html[data-system-voice-host='veil'] .synapse-shell-state-light,
body[data-system-voice-host='veil'] .synapse-shell-state-light {
  opacity: 0;
}

html[data-route-veil-lockout='true'] #synapse-boot-veil,
body[data-route-veil-lockout='true'] #synapse-boot-veil,
html[data-route-ownership='latched'] #synapse-boot-veil,
body[data-route-ownership='latched'] #synapse-boot-veil {
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

@media (max-width: 720px) {
  :root {
    --shell-state-light-size: 0.54rem;
    --shell-popup-edge: max(0.68rem, env(safe-area-inset-right));
    --shell-popup-bottom: max(0.74rem, env(safe-area-inset-bottom));
  }

  .synapse-shell-state-light,
  .synapse-shell-diagnostic-popup {
    right: auto;
    left: max(0.68rem, env(safe-area-inset-left));
    bottom: var(--shell-popup-bottom);
    max-inline-size: min(82vw, 20rem);
    padding: 0.28rem 0.42rem;
  }

  .synapse-shell-state-light__readout {
    font-size: 0.51rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .synapse-shell-state-light,
  .synapse-shell-state-light__dot {
    transition: none !important;
  }
}


/* Route Ownership Hard Lock: once a valid route owns presentation, the cover veil cannot reclaim visual authority. */
html[data-route-ownership-hard-lock="true"] #synapse-boot-veil,
body[data-route-ownership-hard-lock="true"] #synapse-boot-veil,
html[data-route-veil-lockout="true"] #synapse-boot-veil,
body[data-route-veil-lockout="true"] #synapse-boot-veil,
html[data-route-ownership-latched="true"] #synapse-boot-veil,
body[data-route-ownership-latched="true"] #synapse-boot-veil,
#synapse-boot-veil[data-route-ownership-hard-lock="true"],
#synapse-boot-veil[data-route-veil-lockout="true"],
#synapse-boot-veil[data-route-domain-veil-suppressed="true"] {
  opacity: 0 !important;
  /* Keep layout measurable during route-entry certification.
     The veil/state-light may cover or narrate; this guard only blocks input. */
  visibility: visible !important;
  pointer-events: none !important;
  display: none !important;
  z-index: -1 !important;
}

html[data-user-surface-veil-lockout="true"] #synapse-boot-veil,
body[data-user-surface-veil-lockout="true"] #synapse-boot-veil,
#synapse-boot-veil[data-user-surface-veil-lockout="true"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Route Entry Admission Certification v2 — keep the route shell protected until certified. */
html[data-route-entry-protect-surface="true"] .shell,
body[data-route-entry-protect-surface="true"] .shell,
html[data-route-entry-reveal-mode="protected"] .shell,
body[data-route-entry-reveal-mode="protected"] .shell,
html[data-route-entry-admission="pending"] .shell,
body[data-route-entry-admission="pending"] .shell,
html[data-route-entry-admission="css-wait"] .shell,
body[data-route-entry-admission="css-wait"] .shell,
html[data-route-entry-admission="measuring"] .shell,
body[data-route-entry-admission="measuring"] .shell,
html[data-route-entry-admission="certifying"] .shell,
body[data-route-entry-admission="certifying"] .shell,
html[data-route-entry-admission="blocked"] .shell,
body[data-route-entry-admission="blocked"] .shell,
html[data-route-entry-reveal-mode="blocked"] .shell,
body[data-route-entry-reveal-mode="blocked"] .shell {
  /* Keep route surfaces measurable during admission; protection blocks input
     without collapsing inherited visibility. */
  visibility: visible !important;
  pointer-events: none !important;
}

/* Presentation Lifecycle Developer Readout v1
   Keeps narrator/state-light visible during diagnostics without granting it
   presentation authority. Mobile places it away from footer/browser chrome. */
html[data-presentation-lifecycle-developer-readout='visible'] .synapse-shell-state-light,
body[data-presentation-lifecycle-developer-readout='visible'] .synapse-shell-state-light,
.synapse-shell-state-light[data-presentation-lifecycle-developer-readout='visible'] {
  opacity: 0.96 !important;
  transform: translateZ(0) !important;
  visibility: visible !important;
}

html[data-presentation-lifecycle-diagnostic-mode='developer'] .synapse-shell-state-light[data-system-narrator-host='silent'],
body[data-presentation-lifecycle-diagnostic-mode='developer'] .synapse-shell-state-light[data-system-narrator-host='silent'],
html[data-presentation-lifecycle-diagnostic-mode='developer'] .synapse-shell-state-light[data-shell-state-light-mode='quiet'],
body[data-presentation-lifecycle-diagnostic-mode='developer'] .synapse-shell-state-light[data-shell-state-light-mode='quiet'] {
  opacity: 0.92 !important;
  transform: translateZ(0) !important;
}

.synapse-shell-state-light[data-presentation-lifecycle-slow-path='portrait-local-menu-slow'] {
  border-color: color-mix(in srgb, var(--shell-popup-stalled) 70%, transparent);
  box-shadow: 0 0.34rem 1.1rem rgba(0,0,0,0.24), 0 0 0.75rem color-mix(in srgb, var(--shell-popup-stalled) 24%, transparent);
}

@media (max-width: 720px) {
  html[data-presentation-lifecycle-developer-readout='visible'] .synapse-shell-state-light,
  body[data-presentation-lifecycle-developer-readout='visible'] .synapse-shell-state-light,
  .synapse-shell-state-light[data-presentation-lifecycle-developer-readout='visible'] {
    top: max(0.72rem, env(safe-area-inset-top));
    right: max(0.68rem, env(safe-area-inset-right));
    bottom: auto;
    left: auto;
    max-inline-size: min(86vw, 21rem);
  }
}


/* Synapse Signal Runtime v5.5 — narrator beacon projection
   The beacon may explain; it remains shell-owned and does not participate in cover geometry. */
.synapse-shell-state-light[data-signal-outlet='narrator'],
.synapse-narrator-beacon {
  align-items: flex-start;
  max-inline-size: min(86vw, 34rem);
  border-radius: 1rem;
  padding: 0.36rem 0.52rem 0.38rem 0.48rem;
}

.synapse-shell-state-light__glyph,
.synapse-shell-state-light__dot[data-shell-narrator-glyph='speech-bubble'] {
  position: relative;
  inline-size: 0.72rem;
  block-size: 0.56rem;
  margin-block-start: 0.1rem;
  border-radius: 0.28rem;
  background:
    radial-gradient(circle at 50% 50%, var(--shell-popup-working) 0 17%, transparent 18%),
    linear-gradient(180deg, rgba(13, 27, 40, 0.92), rgba(5, 13, 21, 0.78));
}

.synapse-shell-state-light__glyph::after,
.synapse-shell-state-light__dot[data-shell-narrator-glyph='speech-bubble']::after {
  content: '';
  position: absolute;
  inset-inline-start: 0.13rem;
  inset-block-end: -0.18rem;
  inline-size: 0.22rem;
  block-size: 0.22rem;
  border-inline-start: 1px solid color-mix(in srgb, var(--shell-popup-line) 78%, transparent);
  border-block-end: 1px solid color-mix(in srgb, var(--shell-popup-line) 78%, transparent);
  background: rgba(5, 13, 21, 0.74);
  transform: rotate(-25deg);
  border-radius: 0 0 0 0.08rem;
}

.synapse-shell-state-light[data-signal-outlet='narrator'] .synapse-shell-state-light__readout,
.synapse-narrator-beacon .synapse-shell-state-light__readout {
  text-transform: none;
  letter-spacing: 0.035em;
  line-height: 1.28;
  max-inline-size: min(72vw, 31rem);
}

.synapse-shell-state-light[data-signal-outlet='narrator'] .synapse-shell-state-light__status,
.synapse-narrator-beacon .synapse-shell-state-light__status {
  white-space: normal;
  overflow-wrap: anywhere;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.synapse-shell-state-light[data-signal-outlet='narrator'] .synapse-shell-state-light__line,
.synapse-narrator-beacon .synapse-shell-state-light__line {
  overflow: visible;
  text-overflow: unset;
  white-space: normal;
  overflow-wrap: anywhere;
  letter-spacing: 0.035em;
  text-transform: none;
}


/* Wave 6.4 — Narrator dual render modes + Cover Pulse outlet.
   Card mode remains narrator-owned explanation; it does not grant correction authority. */
.synapse-shell-state-light[data-narrator-display-mode='card'],
.synapse-shell-state-light[data-narrator-card-mode='true'] {
  max-inline-size: min(88vw, 38rem);
  border-radius: 1.08rem;
  padding: 0.5rem 0.66rem 0.56rem 0.58rem;
  border-color: color-mix(in srgb, var(--shell-popup-blocked) 58%, transparent);
  background: linear-gradient(180deg, rgba(11, 25, 38, 0.84), rgba(6, 15, 24, 0.68));
}

.synapse-shell-state-light[data-narrator-display-mode='card'] .synapse-shell-state-light__status,
.synapse-shell-state-light[data-narrator-card-mode='true'] .synapse-shell-state-light__status {
  letter-spacing: 0.1em;
  margin-bottom: 0.14rem;
}

.synapse-shell-state-light[data-narrator-display-mode='card'] .synapse-shell-state-light__line,
.synapse-shell-state-light[data-narrator-card-mode='true'] .synapse-shell-state-light__line {
  line-height: 1.34;
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
}
/* production-css: end shared/styles/shell/shell-state-light.css */

/* production-css: begin css/clinic-shared.css */
/* Stub restored from RAR-only donor. Shared clinic page polish placeholder. */
/* production-css: end css/clinic-shared.css */


/* production-css: begin css/clinic-home.css */
/* Stub restored from RAR-only donor. Home/practice page polish placeholder. */
/* production-css: end css/clinic-home.css */


/* production-css: begin css/clinic-about.css */
/* Stub restored from RAR-only donor. About page polish placeholder. */
/* production-css: end css/clinic-about.css */


/* production-css: begin css/clinic-services.css */
/* Stub restored from RAR-only donor. Services page polish placeholder. */
/* production-css: end css/clinic-services.css */


/* production-css: begin css/clinic-clinicians.css */
/* Stub restored from RAR-only donor. Clinicians page polish placeholder. */
/* production-css: end css/clinic-clinicians.css */


/* production-css: begin css/clinic-contact.css */
/* Stub restored from RAR-only donor. Contact page polish placeholder. */
/* production-css: end css/clinic-contact.css */


/* production-css: begin css/shell-illustrations.css */
.shell-illustration-panel {
  display: grid;
  gap: 0.9rem;
  align-content: start;
  padding: clamp(1rem, 0.92rem + 0.45vw, 1.35rem);
  border-radius: var(--radius-lg);
  border: 1px solid rgba(19, 41, 71, 0.1);
  background:
    radial-gradient(circle at top right, rgba(49, 85, 127, 0.08), transparent 48%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(246,250,252,0.94));
  box-shadow: var(--shadow-sm);
}

.shell-illustration {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 13.25rem;
  border-radius: 1.18rem;
  border: 1px solid rgba(33, 95, 134, 0.1);
  background:
    radial-gradient(circle at 18% 14%, rgba(255,255,255,0.94), transparent 28%),
    linear-gradient(180deg, rgba(249,252,253,0.98), rgba(236,244,247,0.95));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.55);
}

.shell-illustration--compact {
  min-height: 9.6rem;
}

.shell-illustration__wash,
.shell-illustration__halo,
.shell-illustration__connector,
.shell-illustration__plate,
.shell-illustration__focus,
.shell-illustration__lane {
  position: absolute;
  pointer-events: none;
}

.shell-illustration__wash {
  inset: 0;
  background:
    radial-gradient(circle at 18% 18%, var(--syn-action-soft, rgba(126, 181, 187, 0.16)), transparent 26%),
    radial-gradient(circle at 82% 74%, rgba(73, 104, 154, 0.12), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,0.22));
  z-index: 0;
}

.shell-illustration__halo {
  border-radius: 999px;
  border: 1px solid rgba(72, 110, 147, 0.16);
  background: linear-gradient(180deg, rgba(255,255,255,0.1), rgba(255,255,255,0));
  z-index: 1;
}

.shell-illustration__connector {
  block-size: 0.7rem;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(73,104,154,0.12), var(--syn-bridge-soft, rgba(73,144,150,0.32)), rgba(73,104,154,0.12));
  z-index: 2;
}

.shell-illustration__plate,
.shell-illustration__lane,
.shell-illustration__focus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: 0 0.8rem;
  border-radius: 999px;
  border: 1px solid rgba(44, 95, 135, 0.16);
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(233,241,245,0.95));
  box-shadow: 0 0.18rem 0.46rem rgba(17, 37, 61, 0.08);
  color: var(--color-title);
  font-family: var(--font-ui);
  font-size: 0.8rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: -0.01em;
  white-space: nowrap;
  z-index: 3;
}

.shell-illustration__focus {
  min-height: auto;
  padding: 0.62rem 0.95rem;
  border-radius: 1rem;
  line-height: 1.18;
  text-align: center;
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(227,238,244,0.96));
  box-shadow: 0 0.3rem 0.8rem rgba(17, 37, 61, 0.09);
}

.shell-illustration__lane {
  justify-content: flex-start;
  padding-inline: 0.9rem;
}

.shell-illustration__caption {
  display: grid;
  gap: 0.35rem;
}

.shell-illustration__kicker {
  margin: 0;
  color: var(--syn-action, var(--color-teal-600));
  font-family: var(--font-ui);
  font-size: 0.72rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.shell-illustration__summary {
  margin: 0;
  color: var(--color-text-soft);
  font-family: var(--font-body);
  font-size: 0.92rem;
  line-height: 1.55;
}

/* Practice */
.practice-wave__halo--outer { inset: 10% 10% 10% 10%; }
.practice-wave__halo--mid { inset: 22% 23% 22% 23%; }
.practice-wave__connector--neurology { inset: 30% 34% auto 29%; transform: rotate(8deg); }
.practice-wave__connector--psychiatry { inset: 30% 22% auto 49%; transform: rotate(-10deg); }
.practice-wave__connector--neuropsychology { inset: auto 32% 30% 31%; transform: rotate(10deg); }
.practice-wave__plate--neurology { inset: 17% auto auto 11%; }
.practice-wave__plate--psychiatry { inset: 17% 10% auto auto; }
.practice-wave__plate--neuropsychology { inset: auto auto 14% 19%; }
.practice-wave__focus { inset: 38% 21% auto auto; inline-size: 9.4rem; }

.practice-hero-panel__content,
.practice-closing-panel__content {
  display: grid;
  gap: 0.5rem;
}

.practice-hero-panel__eyebrow,
.practice-closing-panel__eyebrow {
  margin: 0;
  color: var(--syn-action, var(--color-teal-600));
  font-family: var(--font-ui);
  font-size: 0.74rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.practice-hero-panel__summary,
.practice-closing-panel__summary {
  margin: 0;
  color: var(--color-text-soft);
  font-family: var(--font-body);
  font-size: 0.94rem;
  line-height: 1.55;
}

.practice-closing-flow__halo { inset: 16% 12% 18% 12%; }
.practice-closing-flow__connector { inset: auto 17% 40% 17%; transform: rotate(10deg); }
.practice-closing-flow__plate--services { inset: 18% auto auto 11%; }
.practice-closing-flow__plate--contact { inset: auto 11% 18% auto; }
.practice-closing-flow__focus { inset: 36% 32% auto 32%; }

/* About */
.about-convergence__connector--focused { inset: 24% 41% auto 28%; transform: rotate(8deg); }
.about-convergence__connector--review { inset: 47% 41% auto 26%; }
.about-convergence__connector--scope { inset: auto 41% 24% 28%; transform: rotate(-8deg); }
.about-convergence__plate--focused { inset: 12% auto auto 10%; }
.about-convergence__plate--review { inset: 42% auto auto 9%; }
.about-convergence__plate--scope { inset: auto auto 12% 10%; }
.about-convergence__focus { inset: 34% 10% auto auto; inline-size: 8.6rem; }

/* Services */
.services-lanes__lane {
  left: 8%;
  right: 41%;
  min-height: 1.7rem;
}
.services-lanes__lane--neurology { top: 14%; }
.services-lanes__lane--psychiatry { top: 33%; }
.services-lanes__lane--neuropsychology { top: 52%; }
.services-lanes__lane--multidisciplinary { top: 71%; }
.services-lanes__connector { inset: 36% 26% auto 53%; block-size: 3.5rem; border-radius: 1.15rem; background: linear-gradient(180deg, rgba(73,104,154,0.12), rgba(73,144,150,0.28), rgba(73,104,154,0.12)); }
.services-lanes__focus { inset: 31% 10% auto auto; inline-size: 8.9rem; }

/* Clinicians */
.clinicians-route__connector--stem { inset: auto auto 48% 28%; inline-size: 17%; }
.clinicians-route__connector--contact { inset: 28% auto auto 46%; inline-size: 21%; transform: rotate(-18deg); }
.clinicians-route__connector--secure { inset: auto auto 29% 46%; inline-size: 21%; transform: rotate(18deg); }
.clinicians-route__plate--entry { inset: 39% auto auto 11%; }
.clinicians-route__plate--contact { inset: 14% 10% auto auto; }
.clinicians-route__plate--secure { inset: auto 10% 14% auto; }
.clinicians-route__focus { inset: 37% 32% auto auto; inline-size: 7.8rem; }

.about-convergence-panel,
.services-lanes-panel,
.clinicians-route-panel,
.practice-hero-panel,
.practice-closing-panel {
  align-content: start;
}

.about-shell--illustrated .section-shell__grid,
.services-shell--illustrated .section-shell__grid,
.clinicians-shell--illustrated .section-shell__grid {
  align-items: start;
}

@media (max-width: 980px) {
  .shell-illustration-panel {
    padding: 0.92rem;
  }

  .shell-illustration {
    min-height: 12.2rem;
  }
}

@media (max-width: 760px) {
  .shell-illustration-panel {
    gap: 0.72rem;
    padding: 0.9rem;
  }

  .shell-illustration,
  .shell-illustration--compact {
    min-height: 10.8rem;
  }

  .shell-illustration__plate,
  .shell-illustration__lane,
  .shell-illustration__focus {
    font-size: 0.74rem;
    padding-inline: 0.68rem;
  }

  .shell-illustration__focus {
    padding: 0.55rem 0.8rem;
  }

  .practice-wave__focus,
  .about-convergence__focus,
  .services-lanes__focus,
  .clinicians-route__focus {
    inline-size: auto;
    max-inline-size: 8.8rem;
  }

  .practice-closing-flow__plate--services,
  .practice-closing-flow__plate--contact,
  .clinicians-route__plate--contact,
  .clinicians-route__plate--secure {
    white-space: normal;
    max-inline-size: 6.7rem;
    text-align: center;
  }

  .services-lanes__lane {
    right: 36%;
    min-height: 1.56rem;
  }
}
/* =========================================================
   Synapse Practice/index native diagram system
   Direction: frosted clinical routing diagrams with recessed
   shell casing, disciplined nodes, and muted champagne/teal paths.
   Markup-compatible with scenes/clinic/practice.html.
   ========================================================= */

.shell-illustration-panel {
  --shell-art-navy: var(--color-title, #132947);
  --shell-art-muted: var(--color-text-soft, #5f7182);
  --shell-art-teal: rgba(43, 130, 139, 0.34);
  --shell-art-teal-soft: var(--syn-action-soft, rgba(126, 181, 187, 0.16));
  --shell-art-brass: rgba(151, 125, 72, 0.28);
  --shell-art-brass-soft: rgba(164, 132, 72, 0.075);
  --shell-art-border: rgba(38, 82, 110, 0.13);
  --shell-art-border-soft: rgba(38, 82, 110, 0.085);

  position: relative;
  border-color: var(--shell-art-border);
  background:
    radial-gradient(circle at 90% 0%, rgba(207, 229, 236, 0.58), transparent 42%),
    radial-gradient(circle at 4% 100%, rgba(164, 132, 72, 0.055), transparent 46%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(247, 250, 251, 0.955));
  box-shadow:
    0 0.78rem 1.6rem rgba(16, 37, 63, 0.065),
    inset 0 1px 0 rgba(255, 255, 255, 0.72),
    0 0 0 1px rgba(255, 255, 255, 0.52);
}

.shell-illustration {
  min-height: 12.85rem;
  border-radius: 1.16rem;
  border-color: rgba(35, 91, 124, 0.145);
  background:
    radial-gradient(circle at 20% 12%, rgba(255, 255, 255, 0.96), transparent 28%),
    radial-gradient(circle at 84% 14%, rgba(203, 228, 236, 0.42), transparent 38%),
    linear-gradient(180deg, rgba(251, 253, 253, 0.985), rgba(236, 246, 248, 0.955));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.72),
    inset 0 -1px 0 rgba(32, 76, 96, 0.045),
    0 0 0 1px rgba(255, 255, 255, 0.42);
}

.shell-illustration::before,
.shell-illustration::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.shell-illustration::before {
  inset: 0.48rem;
  z-index: 0;
  border-radius: 0.86rem;
  border: 1px solid rgba(44, 95, 135, 0.105);
  background:
    radial-gradient(circle at 50% 5%, rgba(255, 255, 255, 0.34), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.62),
    inset 0 -1px 0 rgba(34, 74, 92, 0.045),
    0 0 0 1px rgba(151, 125, 72, 0.035);
}

.shell-illustration::after {
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  background:
    linear-gradient(90deg, transparent 0 49.6%, rgba(33, 95, 134, 0.035) 49.6% 50.4%, transparent 50.4% 100%),
    radial-gradient(circle at 50% 35%, rgba(255, 255, 255, 0.34), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.24), transparent 58%);
  opacity: 0.7;
}

.shell-illustration__wash {
  background:
    radial-gradient(circle at 18% 18%, rgba(126, 181, 187, 0.13), transparent 28%),
    radial-gradient(circle at 82% 74%, rgba(73, 104, 154, 0.095), transparent 32%),
    radial-gradient(circle at 50% 50%, rgba(164, 132, 72, 0.038), transparent 54%);
  opacity: 0.86;
  z-index: 0;
}

.shell-illustration__halo {
  z-index: 2;
  border-color: rgba(72, 110, 147, 0.14);
  background:
    radial-gradient(circle at 50% 35%, rgba(255, 255, 255, 0.34), transparent 58%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.018));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.42),
    inset 0 -1px 0 rgba(35, 77, 97, 0.045);
}

.shell-illustration__connector {
  z-index: 3;
  block-size: 0.42rem;
  border-radius: 999px;
  background:
    linear-gradient(90deg,
      rgba(73, 104, 154, 0),
      rgba(59, 130, 139, 0.25) 22%,
      rgba(151, 125, 72, 0.18) 50%,
      rgba(59, 130, 139, 0.25) 78%,
      rgba(73, 104, 154, 0));
  box-shadow:
    0 0.08rem 0.16rem rgba(17, 37, 61, 0.055),
    inset 0 1px 0 rgba(255, 255, 255, 0.34);
  opacity: 0.92;
}

.shell-illustration__connector::after {
  content: "";
  position: absolute;
  inset: 45% 8% auto 8%;
  block-size: 1px;
  border-radius: 999px;
  background: rgba(33, 95, 134, 0.16);
}

.shell-illustration__plate,
.shell-illustration__lane,
.shell-illustration__focus {
  z-index: 4;
  min-height: 2.02rem;
  border-color: rgba(36, 82, 118, 0.15);
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.78), transparent 48%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(239, 245, 247, 0.965));
  box-shadow:
    0 0.24rem 0.62rem rgba(17, 37, 61, 0.088),
    inset 0 1px 0 rgba(255, 255, 255, 0.74),
    0 0 0 1px rgba(255, 255, 255, 0.48);
  color: var(--shell-art-navy);
}

.shell-illustration__focus {
  border-color: rgba(151, 125, 72, 0.18);
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.82), transparent 48%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(236, 243, 246, 0.98));
  box-shadow:
    0 0.32rem 0.86rem rgba(17, 37, 61, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.78),
    0 0 0 1px rgba(151, 125, 72, 0.045);
}

.shell-illustration__focus::before {
  content: "";
  position: absolute;
  inset: -0.22rem;
  z-index: -1;
  border-radius: inherit;
  background: radial-gradient(circle, rgba(151, 125, 72, 0.08), transparent 68%);
}

/* Practice/index: convergence map */
.practice-wave__halo--outer {
  inset: 13% 9% 12% 9%;
  border-radius: 48% 52% 54% 46% / 42% 39% 61% 58%;
}

.practice-wave__halo--mid {
  inset: 26% 22% 25% 22%;
  border-radius: 46% 54% 49% 51% / 46% 42% 58% 54%;
}

.practice-wave__connector--neurology {
  inset: 35% auto auto 28%;
  inline-size: 24%;
  transform: rotate(8deg);
}

.practice-wave__connector--psychiatry {
  inset: 35% 28% auto auto;
  inline-size: 24%;
  transform: rotate(-8deg);
}

.practice-wave__connector--neuropsychology {
  inset: 60% auto auto 50%;
  inline-size: 24%;
  transform: translateX(-50%) rotate(90deg);
  transform-origin: center;
}

.practice-wave__plate--neurology { inset: 17% auto auto 10%; }
.practice-wave__plate--psychiatry { inset: 17% 10% auto auto; }
.practice-wave__plate--neuropsychology {
  inset: auto auto 14% 50%;
  transform: translateX(-50%);
}

.practice-wave__focus {
  inset: 41% auto auto 50%;
  inline-size: auto;
  min-inline-size: 9.8rem;
  transform: translateX(-50%);
}

/* Practice/index: closing route selector */
.practice-closing-flow__halo {
  inset: 18% 12% 19% 12%;
  border-radius: 44% 56% 54% 46% / 47% 41% 59% 53%;
}

.practice-closing-flow__connector {
  inset: 48% auto auto 50%;
  inline-size: 52%;
  block-size: 0.38rem;
  transform: translateX(-50%);
  background: linear-gradient(90deg, rgba(73, 104, 154, 0), rgba(59, 130, 139, 0.24), rgba(151, 125, 72, 0.18), rgba(59, 130, 139, 0.24), rgba(73, 104, 154, 0));
}

.practice-closing-flow__connector::before,
.practice-closing-flow__connector::after {
  content: "";
  position: absolute;
  left: 50%;
  inline-size: 38%;
  block-size: 0.34rem;
  border-radius: 999px;
  background: inherit;
  opacity: 0.72;
}

.practice-closing-flow__connector::before {
  top: -1.38rem;
  transform: translateX(-92%) rotate(-16deg);
}

.practice-closing-flow__connector::after {
  top: 1.28rem;
  transform: translateX(-8%) rotate(16deg);
}

.practice-closing-flow__plate--services { inset: 18% auto auto 10%; }
.practice-closing-flow__plate--contact { inset: auto 10% 18% auto; }

.practice-closing-flow__focus {
  inset: 39% auto auto 50%;
  inline-size: auto;
  min-inline-size: 6.4rem;
  transform: translateX(-50%);
}

.practice-page .practice-hero-panel__eyebrow,
.practice-page .practice-closing-panel__eyebrow,
.shell-illustration__kicker {
  color: color-mix(in srgb, var(--color-teal-600, #1f8288) 76%, rgba(151, 125, 72, 0.92) 24%);
}

@media (max-width: 760px) {
  .shell-illustration,
  .shell-illustration--compact {
    min-height: 11.15rem;
  }

  .shell-illustration::before {
    inset: 0.42rem;
    border-radius: 0.82rem;
  }

  .shell-illustration__plate,
  .shell-illustration__lane,
  .shell-illustration__focus {
    font-size: 0.72rem;
    padding-inline: 0.64rem;
  }

  .practice-wave__halo--outer { inset: 14% 7% 13% 7%; }
  .practice-wave__halo--mid { inset: 27% 17% 26% 17%; }

  .practice-wave__connector--neurology {
    inset: 36% auto auto 24%;
    inline-size: 29%;
  }

  .practice-wave__connector--psychiatry {
    inset: 36% 23% auto auto;
    inline-size: 29%;
  }

  .practice-wave__connector--neuropsychology {
    inset: 61% auto auto 50%;
    inline-size: 22%;
  }

  .practice-wave__plate--neurology { inset: 17% auto auto 9%; }
  .practice-wave__plate--psychiatry { inset: 17% 8% auto auto; }
  .practice-wave__plate--neuropsychology {
    inset: auto auto 14% 50%;
    max-inline-size: 9.1rem;
  }

  .practice-wave__focus {
    inset: 42% auto auto 50%;
    min-inline-size: 0;
  }

  .practice-closing-flow__connector {
    inline-size: 56%;
  }

  .practice-closing-flow__plate--services { inset: 18% auto auto 9%; }
  .practice-closing-flow__plate--contact { inset: auto 9% 17% auto; }
  .practice-closing-flow__focus {
    inset: 40% auto auto 50%;
    min-inline-size: 0;
  }
}

@media (orientation: landscape) and (max-height: 560px) {
  .shell-body.practice-page[data-layout-mode='landscape-side'] .l-page-head {
    padding-block: 0.35rem 0.55rem;
  }

  .shell-body.practice-page[data-layout-mode='landscape-side'] .page-head__inner {
    gap: 0.85rem;
  }

  .shell-body.practice-page[data-layout-mode='landscape-side'] .page-head__title {
    max-width: 24ch;
    font-size: clamp(2rem, 5.1vw, 3.1rem);
    line-height: 0.96;
  }

  .shell-body.practice-page[data-layout-mode='landscape-side'] .practice-hero-panel {
    min-height: 12.4rem;
    padding: 0.86rem;
  }

  .shell-body.practice-page[data-layout-mode='landscape-side'] .practice-hero-panel .shell-illustration {
    min-height: 8.8rem;
  }
}

/* =========================================================
   Plate System Boundary — V8
   shell-illustrations.css owns legacy decorative illustrations only.
   Compiled .panel-plate-template diagrams are excluded from this layer.
   ========================================================= */

.panel-plate-template.is-plate-compiled .shell-illustration__plate,
.panel-plate-template.is-plate-compiled .shell-illustration__focus,
.panel-plate-template.is-plate-compiled .shell-illustration__lane,
.panel-plate-template.is-plate-compiled .shell-illustration__connector {
  all: revert-layer;
}
/* production-css: end css/shell-illustrations.css */


/* production-css: begin css/panel-system.css */
/* panel-system.css
   Panel Surface Convergence Wave

   Contract:
   - Panel = root context surface / scene texture.
   - Panel Media Bay = image-owned visual housing.
   - Panel Card = nested support surface.
   - Panel Plate = diagram / route / structured visual instrument.
   - Cards own plates and plate text. Media bays own images.
*/

:root {
  --panel-surface-gap: clamp(0.9rem, 0.7rem + 0.8vw, 1.35rem);
  --panel-card-radius: 1.18rem;
  --panel-card-border: var(--chamber-line-structure-strong, rgba(19, 41, 71, 0.105));
  --panel-card-shadow: 0 0.52rem 1.1rem rgba(17, 37, 61, 0.05);
  --panel-card-accent: var(--syn-bridge-soft, rgba(33, 135, 146, 0.34));
  --panel-card-accent-warm: var(--syn-casing-soft, rgba(164, 132, 72, 0.15));

  --panel-media-bay-radius: 1.24rem;
  --panel-media-bay-border: var(--chamber-line-casing, rgba(19, 41, 71, 0.12));
  --panel-media-bay-shadow: 0 0.9rem 1.75rem rgba(16, 37, 63, 0.085);
  --panel-media-bay-min-height: clamp(13rem, 25vw, 21rem);
  --panel-media-bay-aspect: 16 / 10;

  --panel-plate-border: var(--chamber-line-structure-strong, rgba(19, 41, 71, 0.105));
  --panel-plate-field-top: rgba(249, 252, 253, 0.985);
  --panel-plate-field-bottom: rgba(237, 245, 248, 0.96);
  --panel-plate-node-border: color-mix(in srgb, var(--syn-identity, #132947) 16%, transparent);
  --panel-plate-node-top: rgba(255, 255, 255, 0.99);
  --panel-plate-node-bottom: rgba(236, 243, 246, 0.97);
  --panel-plate-node-shadow: 0 0.18rem 0.42rem rgba(17, 37, 61, 0.085);
  --panel-plate-focus-border: var(--syn-casing, rgba(164, 132, 72, 0.24));
  --panel-plate-focus-shadow: 0 0.26rem 0.68rem rgba(17, 37, 61, 0.095);
  --panel-diagram-route-soft: rgba(78, 122, 148, 0.28);
  --panel-diagram-route-accent: var(--syn-bridge-soft, rgba(39, 128, 134, 0.42));
}

/* Panels remain the owning context surfaces. */
.panel-frame .panel-frame__layout {
  align-items: center;
}

.panel-frame .panel-frame__layout--media {
  align-items: stretch;
}

.panel-frame__copy,
.panel-frame__media {
  min-width: 0;
}

.panel-frame__copy {
  align-self: center;
}

.panel-frame__media {
  align-self: stretch;
}

@media (min-width: 64rem) {
  .panel-frame--hero .l-grid--split,
  .panel-frame--hero .grid--split,
  .panel-frame--hero .panel-frame__layout {
    grid-template-columns: minmax(0, 1.08fr) minmax(18rem, 0.92fr);
    gap: clamp(1.15rem, 1vw, 1.65rem);
  }
}

/* Media bays are panel-owned image housings, not cards. */
.panel-media-bay,
.panel-media {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: block;
  width: 100%;
  min-width: 0;
  min-height: var(--panel-media-bay-min-height);
  aspect-ratio: var(--panel-media-bay-aspect);
  margin: 0;
  border-radius: var(--panel-media-bay-radius);
  border: 1px solid var(--panel-media-bay-border);
  background: linear-gradient(180deg, rgba(229, 238, 241, 0.72), rgba(255, 253, 250, 0.86));
  box-shadow: var(--panel-media-bay-shadow);
}

.panel-media-bay::before,
.panel-media::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    radial-gradient(circle at 84% 8%, rgba(255, 255, 255, 0.16), transparent 32%),
    linear-gradient(90deg, rgba(17, 37, 61, 0.055), transparent 20%, transparent 82%, rgba(17, 37, 61, 0.04)),
    linear-gradient(180deg, rgba(17, 37, 61, 0.015), transparent 38%, rgba(17, 37, 61, 0.035));
}

.panel-media-bay--hero,
.panel-media--hero {
  --panel-media-bay-min-height: clamp(13.2rem, 25vw, 21.5rem);
  --panel-media-bay-aspect: 16 / 10;
}

.panel-media-bay[data-media-bay='hero'],
.panel-media[data-media-bay='hero'] {
  align-self: stretch;
}

.panel-media-bay__image,
.panel-media__image {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  object-position: var(--panel-media-position, center);
  filter: saturate(0.88) contrast(0.98) brightness(1.02);
}

.about-page .panel-media-bay__image,
.about-page .panel-media__image { --panel-media-position: center 45%; }
.services-page .panel-media-bay__image,
.services-page .panel-media__image { --panel-media-position: center 52%; }
.for-clinicians-page .panel-media-bay__image,
.for-clinicians-page .panel-media__image { --panel-media-position: center 45%; }
.practice-page .panel-media-bay__image,
.practice-page .panel-media__image { --panel-media-position: center 48%; }

/* Cards are nested support surfaces. Cards own plate text and plates. */
.panel-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  gap: 0.78rem;
  align-content: start;
  min-width: 0;
  padding: clamp(0.92rem, 0.8rem + 0.45vw, 1.18rem);
  border-radius: var(--panel-card-radius);
  border: 1px solid var(--panel-card-border);
  background:
    radial-gradient(circle at 94% 8%, rgba(164, 132, 72, 0.075), transparent 36%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.965), rgba(248, 250, 250, 0.9));
  box-shadow: var(--panel-card-shadow);
}

.panel-card::before,
.panel-card::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border-radius: inherit;
}

.panel-card::before {
  z-index: 0;
  inset: 0;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.58),
    inset 0 -1px 0 rgba(19, 41, 71, 0.035);
}

.panel-card::after {
  z-index: 1;
  inset-block: 0.82rem;
  inset-inline-start: 0.72rem;
  width: 3px;
  border-radius: 999px;
  background:
    linear-gradient(180deg,
      var(--panel-card-accent-warm),
      var(--panel-card-accent) 42%,
      var(--panel-card-accent-warm));
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.34);
  opacity: 0.74;
}

.panel-card > * {
  position: relative;
  z-index: 2;
  min-width: 0;
}

.panel-card--rail {
  padding-inline-start: clamp(1.18rem, 1.05rem + 0.45vw, 1.42rem);
}

.panel-card--plate,
.panel-card--diagram {
  gap: 0.72rem;
}

.panel-card--support {
  min-height: auto;
}

.panel-card__content {
  display: grid;
  gap: 0.55rem;
}

.panel-chip-list,
.practice-hero-panel__list.panel-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.42rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.panel-chip-list li,
.practice-hero-panel__list.panel-chip-list li {
  display: inline-flex;
  align-items: center;
  min-height: 1.78rem;
  padding: 0.32rem 0.62rem;
  border-radius: 999px;
  border: 1px solid rgba(19, 41, 71, 0.095);
  background: rgba(255, 255, 255, 0.78);
  color: rgba(19, 41, 71, 0.84);
  font-family: var(--font-ui);
  font-size: 0.76rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1.15;
}

/* Plates are structured visual instruments owned by cards.
   Canonical plate template visuals now live in css/panel-plates.css.
   The rules below remain as fallback/compatibility surface styling. */
.panel-plate,
.panel-instrument {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: 1rem;
  border: 1px solid var(--panel-plate-border);
  background:
    radial-gradient(circle at 88% 8%, rgba(164, 132, 72, 0.07), transparent 34%),
    radial-gradient(circle at 12% 12%, rgba(126, 181, 187, 0.09), transparent 36%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(247, 250, 251, 0.95));
}

.panel-plate--diagram,
.panel-instrument--diagram {
  display: block;
  padding: 0;
}

.panel-plate__field,
.panel-instrument__field {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: var(--panel-diagram-min-height, 13rem);
  border-radius: inherit;
  background:
    radial-gradient(circle at 22% 16%, rgba(255, 255, 255, 0.98), transparent 28%),
    radial-gradient(circle at 78% 82%, rgba(126, 181, 187, 0.14), transparent 34%),
    linear-gradient(180deg, var(--panel-plate-field-top), var(--panel-plate-field-bottom));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.62),
    inset 0 -0.65rem 1.2rem rgba(33, 95, 134, 0.04),
    0 0 0 1px rgba(164, 132, 72, 0.035);
}

.panel-plate__field::before,
.panel-plate__field::after,
.panel-instrument__field::before,
.panel-instrument__field::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
}

.panel-plate__field::before,
.panel-instrument__field::before {
  inset: 0.95rem;
  border-radius: 0.82rem;
  border: 1px solid rgba(33, 95, 134, 0.085);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.36), rgba(255, 255, 255, 0.08));
}

.panel-plate__field::after,
.panel-instrument__field::after {
  left: 10%;
  right: 10%;
  top: 50%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(33, 95, 134, 0.10), transparent);
  opacity: 0.72;
}

.panel-plate__field--compact,
.panel-instrument__field--compact {
  min-height: var(--panel-diagram-compact-min-height, 9.6rem);
}

.panel-diagram__routes {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}

.panel-diagram__ring,
.panel-diagram__route {
  fill: none;
  vector-effect: non-scaling-stroke;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.panel-diagram__ring {
  stroke: rgba(78, 122, 148, 0.15);
  stroke-width: 1.05;
  stroke-dasharray: 5 7;
}

.panel-diagram__route--soft,
.panel-diagram__route--accent {
  stroke-width: 1.95;
  opacity: 0.9;
}

.panel-diagram__route--soft { stroke: var(--panel-diagram-route-soft); }
.panel-diagram__route--accent { stroke: var(--panel-diagram-route-accent); }
.panel-diagram__route--guide,
.panel-diagram__route--spine {
  stroke: rgba(78, 122, 148, 0.15);
  stroke-width: 1.15;
  opacity: 0.86;
}

.panel-diagram__node,
.panel-diagram__focus {
  position: absolute;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: 0 0.82rem;
  border-radius: 999px;
  border: 1px solid var(--panel-plate-node-border);
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.82), transparent 52%),
    linear-gradient(180deg, var(--panel-plate-node-top), var(--panel-plate-node-bottom));
  box-shadow: var(--panel-plate-node-shadow);
  color: var(--color-title);
  font-family: var(--font-ui);
  font-size: 0.79rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: -0.012em;
  line-height: 1.08;
  white-space: nowrap;
  text-align: center;
}

.panel-diagram__node::before,
.panel-diagram__focus::before {
  content: "";
  width: 0.34rem;
  height: 0.34rem;
  margin-inline-end: 0.42rem;
  border-radius: 999px;
  background: rgba(39, 128, 134, 0.30);
  box-shadow: 0 0 0 0.18rem rgba(39, 128, 134, 0.08);
}

.panel-diagram__focus {
  z-index: 3;
  min-height: 2.18rem;
  padding: 0.2rem 0.95rem;
  border-radius: 0.95rem;
  border-color: var(--panel-plate-focus-border);
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.9), transparent 54%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.995), rgba(238, 243, 243, 0.98));
  box-shadow: var(--panel-plate-focus-shadow);
}

.panel-diagram__focus::before {
  background: rgba(164, 132, 72, 0.46);
  box-shadow: 0 0 0 0.18rem rgba(164, 132, 72, 0.10);
}

/* Practice coordination diagram */
.practice-diagram--coordination .panel-diagram__node--neurology { top: 17%; left: 10%; }
.practice-diagram--coordination .panel-diagram__node--psychiatry { top: 17%; right: 10%; }
.practice-diagram--coordination .panel-diagram__focus {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-width: min(76%, 13.6rem);
}
.practice-diagram--coordination .panel-diagram__node--neuropsychology {
  bottom: 15%;
  left: 50%;
  transform: translateX(-50%);
}

/* Practice next-step route diagram */
.practice-diagram--route .panel-diagram__node--services { top: 18%; left: 11%; }
.practice-diagram--route .panel-diagram__focus {
  top: 47%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.practice-diagram--route .panel-diagram__node--contact { right: 10%; bottom: 17%; }
.practice-diagram--route .panel-diagram__route--soft,
.practice-diagram--route .panel-diagram__route--accent { stroke-width: 1.85; opacity: 0.88; }
.practice-diagram--route .panel-diagram__route--accent { stroke-width: 2; opacity: 0.92; }

/* About convergence diagram */
.about-diagram--convergence .panel-diagram__node--focused { top: 14%; left: 9%; }
.about-diagram--convergence .panel-diagram__node--review { top: 42%; left: 9%; }
.about-diagram--convergence .panel-diagram__node--scope { bottom: 13%; left: 9%; }
.about-diagram--convergence .panel-diagram__focus {
  top: 50%;
  right: 9%;
  transform: translateY(-50%);
  width: min(42%, 10.5rem);
  white-space: normal;
}

/* Services lane diagram */
.services-diagram--lanes .panel-diagram__node {
  left: 8%;
  justify-content: flex-start;
  min-width: min(58%, 14rem);
}
.services-diagram--lanes .panel-diagram__node--neurology { top: 12%; }
.services-diagram--lanes .panel-diagram__node--psychiatry { top: 31%; }
.services-diagram--lanes .panel-diagram__node--neuropsychology { top: 50%; }
.services-diagram--lanes .panel-diagram__node--multidisciplinary { top: 69%; }
.services-diagram--lanes .panel-diagram__focus {
  top: 42%;
  right: 8%;
  transform: translateY(-50%);
  width: min(35%, 9.6rem);
  white-space: normal;
}

/* Clinician route diagram */
.clinicians-diagram--route .panel-diagram__node--entry { top: 42%; left: 9%; }
.clinicians-diagram--route .panel-diagram__focus {
  top: 47%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-width: 8.4rem;
}
.clinicians-diagram--route .panel-diagram__node--contact { top: 18%; right: 9%; }
.clinicians-diagram--route .panel-diagram__node--secure { bottom: 18%; right: 9%; }

.section-shell__grid > .panel-card,
.l-grid > .panel-card,
.grid > .panel-card {
  min-height: 100%;
}

.practice-route-card {
  display: grid;
}

/* Compatibility: old media instruments should not render if an older fragment survives. */
.panel-instrument--media { display: none; }

@media (max-width: 980px) {
  .panel-media-bay,
  .panel-media {
    --panel-media-bay-min-height: clamp(10.5rem, 28vw, 15rem);
  }

  .panel-plate__field,
  .panel-instrument__field { min-height: 12rem; }
  .panel-plate__field--compact,
  .panel-instrument__field--compact { min-height: 9.4rem; }
}

@media (max-width: 760px) {
  .panel-frame .panel-frame__layout { align-items: start; }

  .panel-media-bay,
  .panel-media {
    --panel-media-bay-min-height: 11rem;
    --panel-media-bay-aspect: 16 / 9;
    border-radius: 1rem;
  }

  .panel-card {
    border-radius: 1rem;
    padding: 0.88rem 0.88rem 0.88rem 1.16rem;
  }

  .panel-card::after {
    inset-block: 0.68rem;
    inset-inline-start: 0.62rem;
    width: 2px;
  }

  .panel-plate,
  .panel-instrument { border-radius: 0.88rem; }

  .panel-plate__field,
  .panel-plate__field--compact,
  .panel-instrument__field,
  .panel-instrument__field--compact { min-height: 10.8rem; }

  .panel-diagram__node,
  .panel-diagram__focus {
    font-size: 0.72rem;
    min-height: 1.86rem;
    padding-inline: 0.62rem;
  }

  .panel-diagram__node::before,
  .panel-diagram__focus::before {
    width: 0.28rem;
    height: 0.28rem;
    margin-inline-end: 0.32rem;
  }

  .practice-diagram--coordination .panel-diagram__node--neurology { top: 16%; left: 8%; }
  .practice-diagram--coordination .panel-diagram__node--psychiatry { top: 16%; right: 8%; }
  .practice-diagram--coordination .panel-diagram__focus { top: 48%; min-width: auto; max-width: 78%; }
  .practice-diagram--coordination .panel-diagram__node--neuropsychology { bottom: 14%; }

  .practice-diagram--route .panel-diagram__node--services { left: 8%; }
  .practice-diagram--route .panel-diagram__node--contact { right: 8%; }

  .about-diagram--convergence .panel-diagram__focus { right: 6%; width: min(43%, 9.4rem); }
  .services-diagram--lanes .panel-diagram__node { min-width: min(60%, 12rem); }
  .services-diagram--lanes .panel-diagram__focus { right: 6%; width: min(38%, 8.8rem); }

  .clinicians-diagram--route .panel-diagram__node--entry { left: 7%; }
  .clinicians-diagram--route .panel-diagram__node--contact,
  .clinicians-diagram--route .panel-diagram__node--secure { right: 7%; }
}

@media (max-width: 420px) {
  .panel-media-bay,
  .panel-media { --panel-media-bay-min-height: 9.8rem; }

  .panel-plate__field,
  .panel-plate__field--compact,
  .panel-instrument__field,
  .panel-instrument__field--compact { min-height: 10.2rem; }

  .panel-diagram__node,
  .panel-diagram__focus { font-size: 0.68rem; padding-inline: 0.52rem; }

  .practice-diagram--coordination .panel-diagram__node--neurology { left: 5%; }
  .practice-diagram--coordination .panel-diagram__node--psychiatry { right: 5%; }
  .practice-diagram--route .panel-diagram__node--services { left: 5%; }
  .practice-diagram--route .panel-diagram__node--contact { right: 5%; }
}


/* Media bay state logic
   The shell sets body[data-layout-mode]. Media bays use that state to
   switch between side-fill, compact-side, and banner behavior. */
@media (min-width: 64rem) {
  .panel-frame--hero .panel-frame__layout--media {
    align-items: stretch;
    grid-template-columns: minmax(0, 1.08fr) minmax(21rem, 0.92fr);
  }

  .shell-body[data-layout-mode='wide-dual'] .panel-frame--hero .panel-frame__layout--media {
    min-height: clamp(20rem, 36vh, 28rem);
  }

  .shell-body[data-layout-mode='wide-dual'] .panel-media-bay[data-media-bay='hero'],
  .shell-body[data-layout-mode='wide-dual'] .panel-media[data-media-bay='hero'] {
    --panel-media-bay-min-height: 100%;
    --panel-media-bay-aspect: auto;
    height: 100%;
    align-self: stretch;
  }

  .shell-body[data-layout-mode='landscape-side'] .panel-frame--hero .panel-frame__layout--media {
    min-height: clamp(15.5rem, 46vh, 22rem);
    grid-template-columns: minmax(0, 1.12fr) minmax(20rem, 0.88fr);
    gap: clamp(1rem, 1.2vw, 1.55rem);
  }

  .shell-body[data-layout-mode='landscape-side'] .panel-media-bay[data-media-bay='hero'],
  .shell-body[data-layout-mode='landscape-side'] .panel-media[data-media-bay='hero'] {
    --panel-media-bay-min-height: 100%;
    --panel-media-bay-aspect: auto;
    height: 100%;
    align-self: stretch;
  }
}

.shell-body[data-layout-mode='portrait-single'] .panel-frame__layout--media {
  grid-template-columns: 1fr;
  align-items: start;
}

.shell-body[data-layout-mode='portrait-single'] .panel-media-bay[data-media-bay='hero'],
.shell-body[data-layout-mode='portrait-single'] .panel-media[data-media-bay='hero'] {
  --panel-media-bay-min-height: clamp(10.5rem, 42vw, 15rem);
  --panel-media-bay-aspect: 16 / 9;
  align-self: stretch;
  height: auto;
}

.shell-body[data-layout-mode='landscape-side'] .panel-card { padding-block: 0.82rem; }
.shell-body[data-layout-mode='landscape-side'] .panel-plate__field,
.shell-body[data-layout-mode='landscape-side'] .panel-plate__field--compact,
.shell-body[data-layout-mode='landscape-side'] .panel-instrument__field,
.shell-body[data-layout-mode='landscape-side'] .panel-instrument__field--compact {
  min-height: 8.8rem;
}

.panel-media-bay[data-media-bay='hero'] .panel-media-bay__image,
.panel-media[data-media-bay='hero'] .panel-media__image {
  height: 100%;
}

/* Panel copy state logic
   Uses the same shell body[data-layout-mode] state as media bays so copy,
   titles, and summaries occupy the available panel space without forcing
   unnecessary desktop line breaks. */
.panel-frame__copy,
.section-shell__lead,
.section-band--narrative,
.section-band__lead {
  min-width: 0;
}

.panel-frame__copy .page-head__title,
.panel-frame__copy .page-head__summary,
.section-shell__lead .section-intro__title,
.section-shell__lead .section-intro__summary,
.section-band--narrative .section-intro__title,
.section-band--narrative .section-intro__summary {
  overflow-wrap: normal;
  word-break: normal;
}

@media (min-width: 64rem) {
  .shell-body[data-layout-mode='wide-dual'] .panel-frame--hero .panel-frame__layout--media {
    grid-template-columns: minmax(0, 1.2fr) minmax(21rem, 0.8fr);
    gap: clamp(1.35rem, 1.4vw, 2rem);
  }

  .shell-body[data-layout-mode='wide-dual'] .panel-frame__copy {
    max-width: min(58rem, 100%);
  }

  .shell-body[data-layout-mode='wide-dual'] .panel-frame__copy .page-head__title {
    max-width: 34ch;
  }

  .shell-body[data-layout-mode='wide-dual'] .panel-frame__copy .page-head__summary {
    max-width: 76ch;
  }

  .shell-body[data-layout-mode='wide-dual'] .panel-frame__copy .page-head__meta {
    max-width: 72ch;
  }

  .shell-body[data-layout-mode='wide-dual'] .section-shell__grid--split,
  .shell-body[data-layout-mode='wide-dual'] .section-shell__grid--pair {
    grid-template-columns: minmax(0, 1.14fr) minmax(18rem, 0.86fr);
  }

  .shell-body[data-layout-mode='wide-dual'] .section-shell__lead .section-intro,
  .shell-body[data-layout-mode='wide-dual'] .section-band--narrative .section-intro {
    max-width: min(60rem, 100%);
  }

  .shell-body[data-layout-mode='wide-dual'] .section-shell__lead .section-intro__title,
  .shell-body[data-layout-mode='wide-dual'] .section-band--narrative .section-intro__title {
    max-width: 30ch;
  }

  .shell-body[data-layout-mode='wide-dual'] .section-shell__lead .section-intro__summary,
  .shell-body[data-layout-mode='wide-dual'] .section-band--narrative .section-intro__summary {
    max-width: 78ch;
  }
}

@media (min-width: 64rem) {
  .shell-body[data-layout-mode='landscape-side'] .panel-frame--hero .panel-frame__layout--media {
    grid-template-columns: minmax(0, 1.16fr) minmax(20rem, 0.84fr);
    gap: clamp(1rem, 1.2vw, 1.55rem);
  }

  .shell-body[data-layout-mode='landscape-side'] .panel-frame__copy .page-head__title {
    max-width: 30ch;
  }

  .shell-body[data-layout-mode='landscape-side'] .panel-frame__copy .page-head__summary {
    max-width: 68ch;
  }

  .shell-body[data-layout-mode='landscape-side'] .section-shell__lead .section-intro__title,
  .shell-body[data-layout-mode='landscape-side'] .section-band--narrative .section-intro__title {
    max-width: 27ch;
  }

  .shell-body[data-layout-mode='landscape-side'] .section-shell__lead .section-intro__summary,
  .shell-body[data-layout-mode='landscape-side'] .section-band--narrative .section-intro__summary {
    max-width: 68ch;
  }
}

.shell-body[data-layout-mode='portrait-single'] .panel-frame__copy .page-head__title {
  max-width: 22ch;
}

.shell-body[data-layout-mode='portrait-single'] .panel-frame__copy .page-head__summary {
  max-width: 58ch;
}

.shell-body[data-layout-mode='portrait-single'] .section-shell__lead .section-intro__title,
.shell-body[data-layout-mode='portrait-single'] .section-band--narrative .section-intro__title {
  max-width: 22ch;
}

.shell-body[data-layout-mode='portrait-single'] .section-shell__lead .section-intro__summary,
.shell-body[data-layout-mode='portrait-single'] .section-band--narrative .section-intro__summary {
  max-width: 58ch;
}

/* Panel Card + Plate State Patch
   Cards own plates and plate text. Plates should breathe by state so
   node pills remain separated and route lines carry relationships. */
.panel-card--plate,
.panel-card--diagram {
  gap: clamp(0.95rem, 0.78rem + 0.55vw, 1.28rem);
  --panel-diagram-min-height: clamp(13.5rem, 20vw, 16.25rem);
  --panel-diagram-compact-min-height: clamp(11.5rem, 16vw, 13.5rem);
}

.panel-card--plate .panel-stack,
.panel-card--diagram .panel-stack,
.panel-card--plate .panel-card__content,
.panel-card--diagram .panel-card__content {
  gap: clamp(0.52rem, 0.45rem + 0.25vw, 0.75rem);
}

.panel-card--plate .panel-summary,
.panel-card--diagram .panel-summary,
.panel-card--plate .panel-chip-list,
.panel-card--diagram .panel-chip-list {
  margin-block-start: 0.08rem;
}

.panel-diagram__node,
.panel-diagram__focus {
  max-width: calc(100% - 1.4rem);
  cursor: default;
  pointer-events: none;
}

.panel-diagram__focus {
  max-width: calc(100% - 1.8rem);
}

/* Wide state: plates can spread horizontally but still keep node separation. */
.shell-body[data-layout-mode='wide-dual'] .panel-card--plate,
.shell-body[data-layout-mode='wide-dual'] .panel-card--diagram {
  gap: clamp(1rem, 0.85rem + 0.55vw, 1.35rem);
  --panel-diagram-min-height: clamp(13.2rem, 18vw, 16.5rem);
  --panel-diagram-compact-min-height: clamp(11.4rem, 14vw, 13.6rem);
}

/* Landscape/constrained state: add vertical room instead of compressing pills. */
.shell-body[data-layout-mode='landscape-side'] .panel-card--plate,
.shell-body[data-layout-mode='landscape-side'] .panel-card--diagram {
  gap: 1rem;
  --panel-diagram-min-height: clamp(14.25rem, 38vh, 17.5rem);
  --panel-diagram-compact-min-height: clamp(12.4rem, 31vh, 15.2rem);
}

.shell-body[data-layout-mode='landscape-side'] .panel-plate__field,
.shell-body[data-layout-mode='landscape-side'] .panel-instrument__field {
  min-height: var(--panel-diagram-min-height);
}

.shell-body[data-layout-mode='landscape-side'] .panel-plate__field--compact,
.shell-body[data-layout-mode='landscape-side'] .panel-instrument__field--compact {
  min-height: var(--panel-diagram-compact-min-height);
}

/* Portrait state: cards stack and plates get enough height for separated nodes. */
.shell-body[data-layout-mode='portrait-single'] .panel-card--plate,
.shell-body[data-layout-mode='portrait-single'] .panel-card--diagram {
  gap: 1.12rem;
  --panel-diagram-min-height: clamp(16.5rem, 68vw, 21rem);
  --panel-diagram-compact-min-height: clamp(14.5rem, 58vw, 18rem);
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate__field,
.shell-body[data-layout-mode='portrait-single'] .panel-instrument__field {
  min-height: var(--panel-diagram-min-height);
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate__field--compact,
.shell-body[data-layout-mode='portrait-single'] .panel-instrument__field--compact {
  min-height: var(--panel-diagram-compact-min-height);
}

.shell-body[data-layout-mode='portrait-single'] .panel-diagram__node,
.shell-body[data-layout-mode='portrait-single'] .panel-diagram__focus {
  font-size: clamp(0.7rem, 2.55vw, 0.82rem);
  min-height: 1.9rem;
  padding-inline: clamp(0.52rem, 1.7vw, 0.72rem);
}

/* Practice coordination: keep top specialties, central focus, and lower specialty distinct. */
.shell-body[data-layout-mode='landscape-side'] .practice-diagram--coordination .panel-diagram__node--neurology,
.shell-body[data-layout-mode='portrait-single'] .practice-diagram--coordination .panel-diagram__node--neurology {
  top: 12%;
  left: 7%;
}

.shell-body[data-layout-mode='landscape-side'] .practice-diagram--coordination .panel-diagram__node--psychiatry,
.shell-body[data-layout-mode='portrait-single'] .practice-diagram--coordination .panel-diagram__node--psychiatry {
  top: 12%;
  right: 7%;
}

.shell-body[data-layout-mode='landscape-side'] .practice-diagram--coordination .panel-diagram__focus,
.shell-body[data-layout-mode='portrait-single'] .practice-diagram--coordination .panel-diagram__focus {
  top: 47%;
  max-width: 82%;
  min-width: min(72%, 13.25rem);
}

.shell-body[data-layout-mode='landscape-side'] .practice-diagram--coordination .panel-diagram__node--neuropsychology,
.shell-body[data-layout-mode='portrait-single'] .practice-diagram--coordination .panel-diagram__node--neuropsychology {
  bottom: 11%;
}

/* Practice next-step route: three route labels should read as separate stops. */
.shell-body[data-layout-mode='landscape-side'] .practice-diagram--route .panel-diagram__node--services,
.shell-body[data-layout-mode='portrait-single'] .practice-diagram--route .panel-diagram__node--services {
  top: 13%;
  left: 8%;
}

.shell-body[data-layout-mode='landscape-side'] .practice-diagram--route .panel-diagram__focus,
.shell-body[data-layout-mode='portrait-single'] .practice-diagram--route .panel-diagram__focus {
  top: 45%;
}

.shell-body[data-layout-mode='landscape-side'] .practice-diagram--route .panel-diagram__node--contact,
.shell-body[data-layout-mode='portrait-single'] .practice-diagram--route .panel-diagram__node--contact {
  right: 8%;
  bottom: 12%;
}

/* About convergence: in narrow states, stack nodes above the focus to prevent collisions. */
.shell-body[data-layout-mode='portrait-single'] .about-diagram--convergence .panel-diagram__node--focused {
  top: 10%;
  left: 50%;
  transform: translateX(-50%);
}

.shell-body[data-layout-mode='portrait-single'] .about-diagram--convergence .panel-diagram__node--review {
  top: 31%;
  left: 50%;
  transform: translateX(-50%);
}

.shell-body[data-layout-mode='portrait-single'] .about-diagram--convergence .panel-diagram__node--scope {
  top: 52%;
  bottom: auto;
  left: 50%;
  transform: translateX(-50%);
}

.shell-body[data-layout-mode='portrait-single'] .about-diagram--convergence .panel-diagram__focus {
  top: 79%;
  right: auto;
  left: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  max-width: 82%;
}

/* Services lanes: keep lane nodes separated and move focus below on portrait. */
.shell-body[data-layout-mode='portrait-single'] .services-diagram--lanes .panel-diagram__node {
  left: 50%;
  transform: translateX(-50%);
  min-width: min(82%, 14rem);
  justify-content: center;
}

.shell-body[data-layout-mode='portrait-single'] .services-diagram--lanes .panel-diagram__node--neurology { top: 7%; }
.shell-body[data-layout-mode='portrait-single'] .services-diagram--lanes .panel-diagram__node--psychiatry { top: 23%; }
.shell-body[data-layout-mode='portrait-single'] .services-diagram--lanes .panel-diagram__node--neuropsychology { top: 39%; }
.shell-body[data-layout-mode='portrait-single'] .services-diagram--lanes .panel-diagram__node--multidisciplinary { top: 55%; }

.shell-body[data-layout-mode='portrait-single'] .services-diagram--lanes .panel-diagram__focus {
  top: 80%;
  right: auto;
  left: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  max-width: 82%;
}

/* Clinician route: preserve a clear entry → choice → route spacing. */
.shell-body[data-layout-mode='portrait-single'] .clinicians-diagram--route .panel-diagram__node--entry {
  top: 12%;
  left: 50%;
  transform: translateX(-50%);
}

.shell-body[data-layout-mode='portrait-single'] .clinicians-diagram--route .panel-diagram__focus {
  top: 45%;
  min-width: min(72%, 10rem);
}

.shell-body[data-layout-mode='portrait-single'] .clinicians-diagram--route .panel-diagram__node--contact {
  top: auto;
  bottom: 20%;
  right: auto;
  left: 18%;
}

.shell-body[data-layout-mode='portrait-single'] .clinicians-diagram--route .panel-diagram__node--secure {
  bottom: 8%;
  right: 18%;
}

/* Very narrow devices: prioritize vertical spacing over compactness. */
@media (max-width: 420px) {
  .shell-body[data-layout-mode='portrait-single'] .panel-card--plate,
  .shell-body[data-layout-mode='portrait-single'] .panel-card--diagram {
    --panel-diagram-min-height: clamp(17.25rem, 78vw, 22rem);
    --panel-diagram-compact-min-height: clamp(15.25rem, 68vw, 19rem);
  }

  .shell-body[data-layout-mode='portrait-single'] .practice-diagram--coordination .panel-diagram__node--neurology { left: 4%; }
  .shell-body[data-layout-mode='portrait-single'] .practice-diagram--coordination .panel-diagram__node--psychiatry { right: 4%; }

  .shell-body[data-layout-mode='portrait-single'] .panel-diagram__node,
  .shell-body[data-layout-mode='portrait-single'] .panel-diagram__focus {
    letter-spacing: -0.018em;
  }
}


/* =========================================================
   Legacy Panel Plate Template Compatibility
   Detailed template visuals now live in css/panel-plates.css.
   Convergence pass: plate diagrams are declared templates,
   not hand-positioned art.

   Template contract:
   - Cards own plates and plate text.
   - Plates own diagram structure.
   - Templates own node slots and route grammar.
   - Routes express relationships between slots.
   ========================================================= */

.panel-plate__routes,
.panel-diagram__routes {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}

.panel-plate__routes [data-route-state] {
  display: none;
}

.panel-plate__routes [data-route-state='wide'] {
  display: block;
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate__routes [data-route-state='wide'] {
  display: none;
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate__routes [data-route-state='portrait'] {
  display: block;
}

.panel-plate__ring,
.panel-plate__route,
.panel-diagram__ring,
.panel-diagram__route {
  fill: none;
  vector-effect: non-scaling-stroke;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.panel-plate__ring,
.panel-diagram__ring {
  stroke: rgba(78, 122, 148, 0.135);
  stroke-width: 1.05;
  stroke-dasharray: 5 7;
}

.panel-plate__route,
.panel-diagram__route {
  stroke-width: 1.8;
  opacity: 0.84;
}

.panel-plate__route--soft,
.panel-diagram__route--soft {
  stroke: var(--panel-diagram-route-soft);
}

.panel-plate__route--accent,
.panel-diagram__route--accent {
  stroke: var(--panel-diagram-route-accent);
  stroke-width: 2.05;
  opacity: 0.9;
}

.panel-plate-template[data-plate-template] {
  --panel-plate-slot-edge: 8%;
  --panel-plate-slot-top: 15%;
  --panel-plate-slot-bottom: 13%;
  --panel-plate-focus-width: min(72%, 13.75rem);
}

.panel-plate-template[data-plate-template] .panel-plate__node,
.panel-plate-template[data-plate-template] .panel-plate__focus,
.panel-plate-template[data-plate-template] .panel-diagram__node,
.panel-plate-template[data-plate-template] .panel-diagram__focus {
  right: auto;
  bottom: auto;
  left: auto;
  top: auto;
  width: auto;
  min-width: auto;
  max-width: calc(100% - 1.25rem);
  transform: none;
  cursor: default;
  pointer-events: none;
  white-space: nowrap;
}

.panel-plate-template[data-plate-template] .panel-plate__focus,
.panel-plate-template[data-plate-template] .panel-diagram__focus {
  max-width: min(84%, 14rem);
}

/* Convergence template: input-a + input-b + input-c held by focus. */
.panel-plate-template[data-plate-template='convergence'] [data-node='input-a'] {
  top: var(--panel-plate-slot-top);
  left: var(--panel-plate-slot-edge);
}

.panel-plate-template[data-plate-template='convergence'] [data-node='input-b'] {
  top: var(--panel-plate-slot-top);
  right: var(--panel-plate-slot-edge);
}

.panel-plate-template[data-plate-template='convergence'] [data-node='focus'] {
  top: 50%;
  left: 50%;
  min-width: var(--panel-plate-focus-width);
  transform: translate(-50%, -50%);
}

.panel-plate-template[data-plate-template='convergence'] [data-node='input-c'] {
  bottom: var(--panel-plate-slot-bottom);
  left: 50%;
  transform: translateX(-50%);
}

/* Route template: start → decision → action(s). */
.panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='start'] {
  top: 50%;
  left: 8%;
  transform: translateY(-50%);
}

.panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='decision'] {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='action-a'] {
  top: 50%;
  right: 8%;
  transform: translateY(-50%);
}

.panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='start'] {
  top: 50%;
  left: 8%;
  transform: translateY(-50%);
}

.panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='decision'] {
  top: 50%;
  left: 50%;
  min-width: min(50%, 9.5rem);
  transform: translate(-50%, -50%);
}

.panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='action-a'] {
  top: 18%;
  right: 8%;
}

.panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='action-b'] {
  bottom: 18%;
  right: 8%;
}

/* Lanes template: lane stack feeds destination. */
.panel-plate-template[data-plate-template='lanes'] [data-node^='lane-'] {
  left: 8%;
  justify-content: flex-start;
  min-width: min(56%, 13.75rem);
}

.panel-plate-template[data-plate-template='lanes'] [data-node='lane-1'] { top: 12%; }
.panel-plate-template[data-plate-template='lanes'] [data-node='lane-2'] { top: 31%; }
.panel-plate-template[data-plate-template='lanes'] [data-node='lane-3'] { top: 50%; }
.panel-plate-template[data-plate-template='lanes'] [data-node='lane-4'] { top: 69%; }

.panel-plate-template[data-plate-template='lanes'] [data-node='destination'] {
  top: 43%;
  right: 8%;
  width: min(36%, 9.7rem);
  white-space: normal;
  transform: translateY(-50%);
}

/* Landscape state: keep structure, add a little breathing room. */
.shell-body[data-layout-mode='landscape-side'] .panel-plate-template[data-plate-template='convergence'] {
  --panel-plate-slot-edge: 7%;
  --panel-plate-slot-top: 12%;
  --panel-plate-slot-bottom: 10%;
  --panel-plate-focus-width: min(76%, 13.25rem);
}

.shell-body[data-layout-mode='landscape-side'] .panel-plate-template[data-plate-template='lanes'] [data-node^='lane-'] {
  min-width: min(58%, 13.5rem);
}

/* Portrait state: recompose diagrams, don't squeeze them. */
.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template] {
  --panel-plate-focus-width: min(82%, 13.5rem);
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template] .panel-plate__node,
.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template] .panel-plate__focus,
.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template] .panel-diagram__node,
.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template] .panel-diagram__focus {
  max-width: min(86%, 14rem);
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='convergence'] [data-node='input-a'] {
  top: 10%;
  left: 8%;
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='convergence'] [data-node='input-b'] {
  top: 10%;
  right: 8%;
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='convergence'] [data-node='focus'] {
  top: 48%;
  left: 50%;
  min-width: var(--panel-plate-focus-width);
  transform: translate(-50%, -50%);
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='convergence'] [data-node='input-c'] {
  top: auto;
  bottom: 9%;
  left: 50%;
  transform: translateX(-50%);
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='start'] {
  top: 14%;
  left: 50%;
  transform: translateX(-50%);
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='decision'] {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='action-a'] {
  top: auto;
  bottom: 12%;
  right: auto;
  left: 50%;
  transform: translateX(-50%);
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='start'] {
  top: 12%;
  left: 50%;
  transform: translateX(-50%);
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='decision'] {
  top: 45%;
  left: 50%;
  min-width: min(72%, 10rem);
  transform: translate(-50%, -50%);
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='action-a'] {
  top: auto;
  bottom: 18%;
  right: auto;
  left: 8%;
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='action-b'] {
  top: auto;
  bottom: 7%;
  right: 8%;
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='lanes'] [data-node^='lane-'] {
  left: 50%;
  min-width: min(84%, 14rem);
  justify-content: center;
  transform: translateX(-50%);
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='lanes'] [data-node='lane-1'] { top: 7%; }
.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='lanes'] [data-node='lane-2'] { top: 23%; }
.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='lanes'] [data-node='lane-3'] { top: 39%; }
.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='lanes'] [data-node='lane-4'] { top: 55%; }

.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='lanes'] [data-node='destination'] {
  top: auto;
  bottom: 8%;
  right: auto;
  left: 50%;
  width: auto;
  max-width: min(84%, 14rem);
  transform: translateX(-50%);
}

@media (max-width: 420px) {
  .shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='convergence'] [data-node='input-a'] { left: 4%; }
  .shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='convergence'] [data-node='input-b'] { right: 4%; }

  .shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='action-a'] { left: 5%; }
  .shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='action-b'] { right: 5%; }
}

/* ========================================================================== 
   V3 PLATE HANDOFF GUARD

   panel-system.css may load after panel-plates.css inside platform.css.
   Keep this guard last so old page-specific diagram rules cannot re-stretch
   labels or move them away from their route geometry.
   ========================================================================== */

:root {
  --plate-v3-node-pad-x: clamp(0.62rem, 0.54rem + 0.22vw, 0.84rem);
  --plate-v3-node-pad-y: 0.36rem;
  --plate-v3-node-min-h: 1.86rem;
  --plate-v3-node-max: min(15rem, calc(100% - 1.4rem));
  --plate-v3-bar-width: min(72%, 15.5rem);
  --plate-v3-route-soft: rgba(129, 151, 159, 0.34);
  --plate-v3-route-accent: rgba(164, 132, 72, 0.44);
}

body.shell-body .panel-plate-template[data-plate-template] .panel-plate__node[data-node],
body.shell-body .panel-plate-template[data-plate-template] .panel-diagram__node[data-node],
body.shell-body .panel-plate-template[data-plate-template] .panel-plate__focus[data-node],
body.shell-body .panel-plate-template[data-plate-template] .panel-diagram__focus[data-node],
.panel-plate-template[data-plate-template] .panel-plate__node[data-node],
.panel-plate-template[data-plate-template] .panel-diagram__node[data-node],
.panel-plate-template[data-plate-template] .panel-plate__focus[data-node],
.panel-plate-template[data-plate-template] .panel-diagram__focus[data-node] {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  inline-size: fit-content !important;
  width: fit-content !important;
  min-inline-size: 0 !important;
  min-width: 0 !important;
  max-inline-size: var(--plate-v3-node-max) !important;
  max-width: var(--plate-v3-node-max) !important;
  min-block-size: var(--plate-v3-node-min-h) !important;
  min-height: var(--plate-v3-node-min-h) !important;
  padding: var(--plate-v3-node-pad-y) var(--plate-v3-node-pad-x) !important;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

body.shell-body .panel-plate-template[data-plate-template] [data-node-shape='bar'],
.panel-plate-template[data-plate-template] [data-node-shape='bar'] {
  inline-size: var(--plate-v3-bar-width) !important;
  width: var(--plate-v3-bar-width) !important;
  max-inline-size: var(--plate-v3-bar-width) !important;
  max-width: var(--plate-v3-bar-width) !important;
  justify-content: flex-start !important;
}

body.shell-body .panel-plate-template[data-plate-template] [data-node] {
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
}

body.shell-body[data-layout-mode='wide-dual'] .panel-plate-template[data-plate-template] .panel-plate__routes [data-route-state='wide'],
body.shell-body[data-layout-mode='wide-dual'] .panel-plate-template[data-plate-template] .panel-diagram__routes [data-route-state='wide'],
body.shell-body[data-layout-mode='landscape-side'] .panel-plate-template[data-plate-template] .panel-plate__routes [data-route-state='wide'],
body.shell-body[data-layout-mode='landscape-side'] .panel-plate-template[data-plate-template] .panel-diagram__routes [data-route-state='wide'] { display: block !important; }

body.shell-body[data-layout-mode='wide-dual'] .panel-plate-template[data-plate-template] .panel-plate__routes [data-route-state='portrait'],
body.shell-body[data-layout-mode='wide-dual'] .panel-plate-template[data-plate-template] .panel-diagram__routes [data-route-state='portrait'],
body.shell-body[data-layout-mode='landscape-side'] .panel-plate-template[data-plate-template] .panel-plate__routes [data-route-state='portrait'],
body.shell-body[data-layout-mode='landscape-side'] .panel-plate-template[data-plate-template] .panel-diagram__routes [data-route-state='portrait'] { display: none !important; }

body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template] .panel-plate__routes [data-route-state='wide'],
body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template] .panel-diagram__routes [data-route-state='wide'] { display: none !important; }

body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template] .panel-plate__routes [data-route-state='portrait'],
body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template] .panel-diagram__routes [data-route-state='portrait'] { display: block !important; }

body.shell-body .panel-plate-template[data-plate-template] .panel-plate__route,
body.shell-body .panel-plate-template[data-plate-template] .panel-diagram__route {
  vector-effect: non-scaling-stroke !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  stroke-width: 2.15 !important;
  opacity: 0.82 !important;
}

body.shell-body .panel-plate-template[data-plate-template] .panel-plate__route--soft,
body.shell-body .panel-plate-template[data-plate-template] .panel-diagram__route--soft { stroke: var(--plate-v3-route-soft) !important; }

body.shell-body .panel-plate-template[data-plate-template] .panel-plate__route--accent,
body.shell-body .panel-plate-template[data-plate-template] .panel-diagram__route--accent,
body.shell-body .panel-plate-template[data-plate-template] .panel-plate__route--spine,
body.shell-body .panel-plate-template[data-plate-template] .panel-diagram__route--spine { stroke: var(--plate-v3-route-accent) !important; }

body.shell-body .panel-plate-template[data-plate-template] .panel-plate__ring,
body.shell-body .panel-plate-template[data-plate-template] .panel-diagram__ring {
  stroke: rgba(129, 151, 159, 0.22) !important;
  stroke-width: 1.25 !important;
  opacity: 0.62 !important;
}

body.shell-body .panel-plate-template[data-plate-template='convergence'][data-plate-variant='triad'] { min-height: 14.9rem !important; }
body.shell-body .panel-plate-template[data-plate-template='convergence'][data-plate-variant='triad'] [data-node='input-a'] { top: 28% !important; left: 31% !important; transform: translate(-50%, -50%) !important; }
body.shell-body .panel-plate-template[data-plate-template='convergence'][data-plate-variant='triad'] [data-node='input-b'] { top: 28% !important; left: 69% !important; transform: translate(-50%, -50%) !important; }
body.shell-body .panel-plate-template[data-plate-template='convergence'][data-plate-variant='triad'] [data-node='focus'] { top: 51% !important; left: 50% !important; transform: translate(-50%, -50%) !important; }
body.shell-body .panel-plate-template[data-plate-template='convergence'][data-plate-variant='triad'] [data-node='input-c'] { top: 76% !important; left: 50% !important; transform: translate(-50%, -50%) !important; }

body.shell-body .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] { min-height: 10.8rem !important; }
body.shell-body .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='start'] { top: 50% !important; left: 31% !important; transform: translate(-50%, -50%) !important; }
body.shell-body .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='decision'] { top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; }
body.shell-body .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='action-a'] { top: 50% !important; left: 77% !important; transform: translate(-50%, -50%) !important; }

body.shell-body .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] { min-height: 14.2rem !important; }
body.shell-body .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='start'] { top: 50% !important; left: 30% !important; transform: translate(-50%, -50%) !important; }
body.shell-body .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='decision'] { top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; }
body.shell-body .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='action-a'] { top: 26% !important; left: 78% !important; transform: translate(-50%, -50%) !important; }
body.shell-body .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='action-b'] { top: 76% !important; left: 78% !important; transform: translate(-50%, -50%) !important; }

body.shell-body .panel-plate-template[data-plate-template='lanes'][data-plate-variant='four-lane'] { min-height: 16.2rem !important; }
body.shell-body .panel-plate-template[data-plate-template='lanes'][data-plate-variant='four-lane'] [data-node='lane-1'] { top: 19% !important; left: 34% !important; transform: translate(-50%, -50%) !important; }
body.shell-body .panel-plate-template[data-plate-template='lanes'][data-plate-variant='four-lane'] [data-node='lane-2'] { top: 37% !important; left: 34% !important; transform: translate(-50%, -50%) !important; }
body.shell-body .panel-plate-template[data-plate-template='lanes'][data-plate-variant='four-lane'] [data-node='lane-3'] { top: 56% !important; left: 34% !important; transform: translate(-50%, -50%) !important; }
body.shell-body .panel-plate-template[data-plate-template='lanes'][data-plate-variant='four-lane'] [data-node='lane-4'] { top: 75% !important; left: 34% !important; transform: translate(-50%, -50%) !important; }
body.shell-body .panel-plate-template[data-plate-template='lanes'][data-plate-variant='four-lane'] [data-node='destination'] { top: 48% !important; left: 75% !important; transform: translate(-50%, -50%) !important; }

body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='convergence'][data-plate-variant='triad'] [data-node='input-a'] { top: 24% !important; left: 29% !important; }
body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='convergence'][data-plate-variant='triad'] [data-node='input-b'] { top: 24% !important; left: 71% !important; }
body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='convergence'][data-plate-variant='triad'] [data-node='focus'] { top: 51% !important; left: 50% !important; }
body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='convergence'][data-plate-variant='triad'] [data-node='input-c'] { top: 81% !important; left: 50% !important; }
body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='start'] { top: 28% !important; left: 50% !important; }
body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='decision'] { top: 54% !important; left: 50% !important; }
body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='action-a'] { top: 81% !important; left: 50% !important; }
body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='start'] { top: 23% !important; left: 50% !important; }
body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='decision'] { top: 54% !important; left: 50% !important; }
body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='action-a'] { top: 80% !important; left: 33% !important; }
body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='action-b'] { top: 80% !important; left: 67% !important; }
body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='lanes'][data-plate-variant='four-lane'] [data-node='lane-1'] { top: 20% !important; left: 50% !important; }
body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='lanes'][data-plate-variant='four-lane'] [data-node='lane-2'] { top: 34% !important; left: 50% !important; }
body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='lanes'][data-plate-variant='four-lane'] [data-node='lane-3'] { top: 48% !important; left: 50% !important; }
body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='lanes'][data-plate-variant='four-lane'] [data-node='lane-4'] { top: 62% !important; left: 50% !important; }
body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='lanes'][data-plate-variant='four-lane'] [data-node='destination'] { top: 83% !important; left: 50% !important; }

/* ========================================================================== 
   PLATE SYSTEM V5 — ANCHOR MAP MIRROR
   This block exists only to close old panel-system/page-specific placement
   authority. It mirrors the final anchor map from panel-plates.css without a
   global reset and without resizing bubbles into slots.
   ========================================================================== */

body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template][data-plate-variant] .panel-plate__node,
body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template][data-plate-variant] .panel-diagram__node,
body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template][data-plate-variant] .panel-plate__focus,
body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template][data-plate-variant] .panel-diagram__focus {
  position: absolute !important;
  inline-size: fit-content !important;
  width: fit-content !important;
  min-inline-size: 0 !important;
  max-inline-size: min(14rem, calc(100% - 1.6rem)) !important;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
}

body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] {
  min-height: 14.8rem !important;
  --anchor-start-x: 24%; --anchor-start-y: 50%;
  --anchor-decision-x: 51%; --anchor-decision-y: 50%;
  --anchor-action-a-x: 78%; --anchor-action-a-y: 26%;
  --anchor-action-b-x: 78%; --anchor-action-b-y: 76%;
}

body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] {
  min-height: 12.4rem !important;
  --anchor-start-x: 18%; --anchor-start-y: 50%;
  --anchor-decision-x: 50%; --anchor-decision-y: 50%;
  --anchor-action-a-x: 82%; --anchor-action-a-y: 50%;
}

body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='convergence'] {
  min-height: 15.2rem !important;
  --anchor-input-a-x: 28%; --anchor-input-a-y: 16%;
  --anchor-input-b-x: 72%; --anchor-input-b-y: 16%;
  --anchor-focus-x: 50%; --anchor-focus-y: 52%;
  --anchor-input-c-x: 50%; --anchor-input-c-y: 82%;
}

body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='lanes'] {
  min-height: 17rem !important;
  --anchor-lane-1-x: 25%; --anchor-lane-1-y: 14%;
  --anchor-lane-2-x: 25%; --anchor-lane-2-y: 32%;
  --anchor-lane-3-x: 25%; --anchor-lane-3-y: 50%;
  --anchor-lane-4-x: 25%; --anchor-lane-4-y: 68%;
  --anchor-destination-x: 76%; --anchor-destination-y: 50%;
}

body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='lanes'] [data-node^='lane-']:not([data-node-shape='bar']) {
  inline-size: fit-content !important;
  width: fit-content !important;
  min-inline-size: 0 !important;
  max-inline-size: min(14rem, calc(100% - 1.6rem)) !important;
  justify-content: center !important;
}

body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='route'][data-plate-variant] [data-node='start'] { top: var(--anchor-start-y) !important; left: var(--anchor-start-x) !important; right: auto !important; bottom: auto !important; transform: translate(-50%, -50%) !important; }
body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='route'][data-plate-variant] [data-node='decision'] { top: var(--anchor-decision-y) !important; left: var(--anchor-decision-x) !important; right: auto !important; bottom: auto !important; transform: translate(-50%, -50%) !important; }
body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='route'][data-plate-variant] [data-node='action-a'] { top: var(--anchor-action-a-y) !important; left: var(--anchor-action-a-x) !important; right: auto !important; bottom: auto !important; transform: translate(-50%, -50%) !important; }
body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='route'][data-plate-variant] [data-node='action-b'] { top: var(--anchor-action-b-y) !important; left: var(--anchor-action-b-x) !important; right: auto !important; bottom: auto !important; transform: translate(-50%, -50%) !important; }

body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='convergence'] [data-node='input-a'] { top: var(--anchor-input-a-y) !important; left: var(--anchor-input-a-x) !important; right: auto !important; bottom: auto !important; transform: translate(-50%, -50%) !important; }
body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='convergence'] [data-node='input-b'] { top: var(--anchor-input-b-y) !important; left: var(--anchor-input-b-x) !important; right: auto !important; bottom: auto !important; transform: translate(-50%, -50%) !important; }
body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='convergence'] [data-node='focus'] { top: var(--anchor-focus-y) !important; left: var(--anchor-focus-x) !important; right: auto !important; bottom: auto !important; transform: translate(-50%, -50%) !important; }
body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='convergence'] [data-node='input-c'] { top: var(--anchor-input-c-y) !important; left: var(--anchor-input-c-x) !important; right: auto !important; bottom: auto !important; transform: translate(-50%, -50%) !important; }

body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='lanes'] [data-node='lane-1'] { top: var(--anchor-lane-1-y) !important; left: var(--anchor-lane-1-x) !important; right: auto !important; bottom: auto !important; transform: translate(-50%, -50%) !important; }
body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='lanes'] [data-node='lane-2'] { top: var(--anchor-lane-2-y) !important; left: var(--anchor-lane-2-x) !important; right: auto !important; bottom: auto !important; transform: translate(-50%, -50%) !important; }
body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='lanes'] [data-node='lane-3'] { top: var(--anchor-lane-3-y) !important; left: var(--anchor-lane-3-x) !important; right: auto !important; bottom: auto !important; transform: translate(-50%, -50%) !important; }
body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='lanes'] [data-node='lane-4'] { top: var(--anchor-lane-4-y) !important; left: var(--anchor-lane-4-x) !important; right: auto !important; bottom: auto !important; transform: translate(-50%, -50%) !important; }
body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='lanes'] [data-node='destination'] { top: var(--anchor-destination-y) !important; left: var(--anchor-destination-x) !important; right: auto !important; bottom: auto !important; transform: translate(-50%, -50%) !important; }

body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] {
  min-height: 15rem !important;
  --anchor-start-x: 50%; --anchor-start-y: 16%;
  --anchor-decision-x: 50%; --anchor-decision-y: 46%;
  --anchor-action-a-x: 28%; --anchor-action-a-y: 80%;
  --anchor-action-b-x: 72%; --anchor-action-b-y: 80%;
}
body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] {
  min-height: 12.8rem !important;
  --anchor-start-x: 50%; --anchor-start-y: 16%;
  --anchor-decision-x: 50%; --anchor-decision-y: 50%;
  --anchor-action-a-x: 50%; --anchor-action-a-y: 84%;
}
body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='convergence'] {
  min-height: 16.2rem !important;
  --anchor-input-a-x: 50%; --anchor-input-a-y: 14%;
  --anchor-input-b-x: 50%; --anchor-input-b-y: 32%;
  --anchor-focus-x: 50%; --anchor-focus-y: 55%;
  --anchor-input-c-x: 50%; --anchor-input-c-y: 82%;
}
body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='lanes'] {
  min-height: 18.2rem !important;
  --anchor-lane-1-x: 50%; --anchor-lane-1-y: 11%;
  --anchor-lane-2-x: 50%; --anchor-lane-2-y: 27%;
  --anchor-lane-3-x: 50%; --anchor-lane-3-y: 43%;
  --anchor-lane-4-x: 50%; --anchor-lane-4-y: 59%;
  --anchor-destination-x: 50%; --anchor-destination-y: 81%;
}

/* =========================================================
   Plate Geometry Handoff — V8
   panel-system.css keeps card/surface ownership. Compiled plate
   geometry is controlled by panel-plates.css + plate-system.js.
   These guards prevent old fallback diagram rules from winning after
   the plate system has compiled a field.
   ========================================================= */

.panel-plate-template.is-plate-compiled .panel-plate__nodes > .panel-diagram__node,
.panel-plate-template.is-plate-compiled .panel-plate__nodes > .panel-diagram__focus,
.panel-plate-template.is-plate-compiled .panel-plate__nodes > .panel-plate__node,
.panel-plate-template.is-plate-compiled .panel-plate__nodes > .panel-plate__focus {
  position: absolute !important;
}

.panel-plate-template.is-plate-compiled .panel-plate__nodes > [data-anchor='center'] {
  left: var(--plate-node-x) !important;
  top: var(--plate-node-y) !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
}

.panel-plate-template.is-plate-compiled .panel-plate__nodes > [data-anchor='start'] {
  left: var(--plate-node-x) !important;
  top: var(--plate-node-y) !important;
  right: auto !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
}

.panel-plate-template.is-plate-compiled .panel-plate__nodes > [data-anchor='end'] {
  right: calc(100% - var(--plate-node-x)) !important;
  top: var(--plate-node-y) !important;
  left: auto !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
}

/* =========================================================
   Spatial Engine Round 2 — Ownership Annotation

   Panels remain scene/context surfaces. Media bays own images. Cards own plate
   text and plates. Registered spatial behavior is opt-in through child systems
   such as the plate adapter; this file does not create placement authority.
   ========================================================= */
.panel-card:has(.panel-plate-template[data-spatial-object='plate']) {
  --panel-card-spatial-client: plate;
}
/* production-css: end css/panel-system.css */


/* production-css: begin css/panel-plates.css */
/* panel-plates.css
   Plate Visual Correction Pass

   Purpose:
   - Keep panel/card/media-bay architecture stable.
   - Move diagram plate visual grammar out of panel-system.css.
   - Make plate diagrams readable, state-aware, and template-driven.

   Contract:
   - Cards own plates and plate text.
   - Plates own diagram templates.
   - Nodes are flat labels, not CTAs.
   - Routes communicate structure; they are not decorative scratches.
*/

:root {
  --plate-field-radius: 1.08rem;
  --plate-field-inset: clamp(0.72rem, 0.55rem + 0.55vw, 1rem);
  --plate-field-min: 14rem;
  --plate-field-compact-min: 12.5rem;
  --plate-node-min-block: 2.12rem;
  --plate-node-pad-x: clamp(0.72rem, 0.58rem + 0.42vw, 0.96rem);
  --plate-node-pad-y: 0.42rem;
  --plate-node-gap: 0.64rem;
  --plate-node-radius: 999px;
  --plate-node-font: clamp(0.76rem, 0.68rem + 0.35vw, 0.92rem);
  --plate-node-ink: var(--syn-identity, var(--color-title, #132947));
  --plate-node-border-strong: color-mix(in srgb, var(--syn-identity, #132947) 18%, transparent);
  --plate-node-border-soft: color-mix(in srgb, var(--syn-identity, #132947) 12%, transparent);
  --plate-node-surface-top: rgba(255, 255, 255, 0.995);
  --plate-node-surface-bottom: rgba(238, 246, 248, 0.975);
  --plate-focus-surface-top: rgba(255, 255, 255, 0.995);
  --plate-focus-surface-bottom: rgba(249, 247, 239, 0.975);
  --plate-focus-border: var(--syn-casing, rgba(164, 132, 72, 0.24));
  --plate-dot-teal: var(--syn-action-line, rgba(68, 151, 155, 0.26));
  --plate-dot-gold: var(--syn-casing, rgba(164, 132, 72, 0.25));
  --plate-route-soft: color-mix(in srgb, var(--syn-identity, #132947) 22%, var(--syn-glass, #e5eef1));
  --plate-route-accent: var(--syn-bridge-soft, rgba(44, 141, 143, 0.50));
  --plate-route-width: 2.8;
}

/* Canonical plate surface -------------------------------------------------- */
.panel-card--plate,
.panel-card--diagram {
  gap: clamp(0.9rem, 0.72rem + 0.58vw, 1.22rem);
}

.panel-card--plate .panel-card__content,
.panel-card--diagram .panel-card__content,
.panel-card--plate .panel-stack,
.panel-card--diagram .panel-stack {
  gap: clamp(0.48rem, 0.35rem + 0.35vw, 0.72rem);
}

.panel-plate--diagram {
  overflow: visible;
  border-radius: calc(var(--plate-field-radius) + 0.18rem);
}

.panel-plate-template[data-plate-template],
.panel-plate__field.panel-plate-template[data-plate-template],
.panel-instrument__field.panel-plate-template[data-plate-template] {
  container-type: inline-size;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: var(--plate-field-min) !important;
  padding: var(--plate-field-inset);
  border-radius: var(--plate-field-radius);
  background:
    radial-gradient(circle at 24% 12%, rgba(255, 255, 255, 0.96), transparent 32%),
    radial-gradient(circle at 78% 86%, rgba(126, 181, 187, 0.13), transparent 34%),
    linear-gradient(180deg, rgba(250, 253, 253, 0.99), rgba(236, 246, 248, 0.965));
}

.panel-plate-template[data-plate-density='compact'] {
  min-height: var(--plate-field-compact-min) !important;
}

.panel-plate-template[data-plate-template]::before {
  inset: 0.72rem !important;
  border-radius: calc(var(--plate-field-radius) - 0.18rem) !important;
  border-color: rgba(33, 95, 134, 0.095) !important;
}

.panel-plate-template[data-plate-template]::after {
  opacity: 0.28 !important;
}

/* Route layer -------------------------------------------------------------- */
.panel-plate-template[data-plate-template] .panel-plate__routes,
.panel-plate-template[data-plate-template] .panel-diagram__routes {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: visible;
}

.panel-plate-template[data-plate-template] .panel-plate__ring,
.panel-plate-template[data-plate-template] .panel-diagram__ring {
  stroke: rgba(73, 114, 139, 0.16);
  stroke-width: 1.4;
  opacity: 0.58;
}

.panel-plate-template[data-plate-template] .panel-plate__route,
.panel-plate-template[data-plate-template] .panel-diagram__route {
  fill: none;
  vector-effect: non-scaling-stroke;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: var(--plate-route-width);
  opacity: 0.88;
}

.panel-plate-template[data-plate-template] .panel-plate__route--soft,
.panel-plate-template[data-plate-template] .panel-diagram__route--soft {
  stroke: var(--plate-route-soft);
}

.panel-plate-template[data-plate-template] .panel-plate__route--accent,
.panel-plate-template[data-plate-template] .panel-diagram__route--accent,
.panel-plate-template[data-plate-template] .panel-plate__route--spine,
.panel-plate-template[data-plate-template] .panel-diagram__route--spine {
  stroke: var(--plate-route-accent);
}

.panel-plate-template[data-plate-template] .panel-plate__routes [data-route-state='wide'] {
  display: none;
}

.panel-plate-template[data-plate-template] .panel-plate__routes [data-route-state='portrait'] {
  display: block;
}

/* Nodes -------------------------------------------------------------------- */
.panel-plate-template[data-plate-template] .panel-plate__node,
.panel-plate-template[data-plate-template] .panel-plate__focus,
.panel-plate-template[data-plate-template] .panel-diagram__node,
.panel-plate-template[data-plate-template] .panel-diagram__focus {
  box-sizing: border-box;
  position: absolute !important;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.42rem;
  min-block-size: var(--plate-node-min-block);
  max-inline-size: calc(100% - 1.4rem);
  padding: var(--plate-node-pad-y) var(--plate-node-pad-x);
  border-radius: var(--plate-node-radius);
  border: 1px solid var(--plate-node-border-strong);
  background: linear-gradient(180deg, var(--plate-node-surface-top), var(--plate-node-surface-bottom));
  box-shadow:
    0 0.24rem 0.6rem rgba(17, 37, 61, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.72);
  color: var(--plate-node-ink);
  font-family: var(--font-ui);
  font-size: var(--plate-node-font);
  font-weight: var(--font-weight-bold);
  letter-spacing: -0.012em;
  line-height: 1.12;
  text-align: center;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  cursor: default;
  pointer-events: none;
}

.panel-plate-template[data-plate-template] .panel-plate__node::before,
.panel-plate-template[data-plate-template] .panel-plate__focus::before,
.panel-plate-template[data-plate-template] .panel-diagram__node::before,
.panel-plate-template[data-plate-template] .panel-diagram__focus::before {
  content: "";
  flex: 0 0 0.48rem;
  inline-size: 0.48rem;
  block-size: 0.48rem;
  border-radius: 999px;
  border: 2px solid rgba(255, 255, 255, 0.68);
  background: var(--plate-dot-teal);
  box-shadow: 0 0 0 1px rgba(68, 151, 155, 0.08);
}

.panel-plate-template[data-plate-template] .panel-plate__focus,
.panel-plate-template[data-plate-template] .panel-diagram__focus {
  min-block-size: calc(var(--plate-node-min-block) + 0.16rem);
  border-color: var(--plate-focus-border);
  background: linear-gradient(180deg, var(--plate-focus-surface-top), var(--plate-focus-surface-bottom));
  box-shadow:
    0 0.3rem 0.72rem rgba(17, 37, 61, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.panel-plate-template[data-plate-template] .panel-plate__focus::before,
.panel-plate-template[data-plate-template] .panel-diagram__focus::before {
  background: var(--plate-dot-gold);
  box-shadow: 0 0 0 1px rgba(164, 132, 72, 0.10);
}

/* Default templates: small/container-first layouts ------------------------ */
.panel-plate-template[data-plate-template='convergence'] {
  --plate-field-min: 16rem;
}

.panel-plate-template[data-plate-template='convergence'] [data-node='input-a'] {
  inset-block-start: 8% !important;
  inset-inline-start: 50% !important;
  transform: translateX(-50%) !important;
  inline-size: min(82%, 14.5rem) !important;
}

.panel-plate-template[data-plate-template='convergence'] [data-node='input-b'] {
  inset-block-start: 25% !important;
  inset-inline-start: 50% !important;
  transform: translateX(-50%) !important;
  inline-size: min(82%, 14.5rem) !important;
}

.panel-plate-template[data-plate-template='convergence'] [data-node='focus'] {
  inset-block-start: 50% !important;
  inset-inline-start: 50% !important;
  transform: translate(-50%, -50%) !important;
  inline-size: min(86%, 16rem) !important;
}

.panel-plate-template[data-plate-template='convergence'] [data-node='input-c'] {
  inset-block-end: 10% !important;
  inset-inline-start: 50% !important;
  transform: translateX(-50%) !important;
  inline-size: min(76%, 13.5rem) !important;
}

.panel-plate-template[data-plate-template='route'] {
  --plate-field-compact-min: 14.25rem;
  --plate-field-min: 15.25rem;
}

.panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='start'] {
  inset-block-start: 13% !important;
  inset-inline-start: 50% !important;
  transform: translateX(-50%) !important;
  inline-size: min(80%, 13rem) !important;
}

.panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='decision'] {
  inset-block-start: 47% !important;
  inset-inline-start: 50% !important;
  transform: translate(-50%, -50%) !important;
  inline-size: min(62%, 10rem) !important;
}

.panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='action-a'] {
  inset-block-end: 13% !important;
  inset-inline-start: 50% !important;
  transform: translateX(-50%) !important;
  inline-size: min(72%, 11.5rem) !important;
}

.panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] {
  --plate-field-min: 16rem;
}

.panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='start'] {
  inset-block-start: 9% !important;
  inset-inline-start: 50% !important;
  transform: translateX(-50%) !important;
  inline-size: min(62%, 11rem) !important;
}

.panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='decision'] {
  inset-block-start: 44% !important;
  inset-inline-start: 50% !important;
  transform: translate(-50%, -50%) !important;
  inline-size: min(78%, 14rem) !important;
}

.panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='action-a'] {
  inset-block-end: 10% !important;
  inset-inline-start: 28% !important;
  transform: translateX(-50%) !important;
  inline-size: min(46%, 10.8rem) !important;
}

.panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='action-b'] {
  inset-block-end: 10% !important;
  inset-inline-start: 72% !important;
  transform: translateX(-50%) !important;
  inline-size: min(42%, 10.2rem) !important;
}

.panel-plate-template[data-plate-template='lanes'] {
  --plate-field-min: 17.4rem;
}

.panel-plate-template[data-plate-template='lanes'] [data-node^='lane-'] {
  inset-inline-start: 50% !important;
  transform: translateX(-50%) !important;
  inline-size: min(86%, 17rem) !important;
  justify-content: flex-start;
}

.panel-plate-template[data-plate-template='lanes'] [data-node='lane-1'] { inset-block-start: 8% !important; }
.panel-plate-template[data-plate-template='lanes'] [data-node='lane-2'] { inset-block-start: 23% !important; }
.panel-plate-template[data-plate-template='lanes'] [data-node='lane-3'] { inset-block-start: 38% !important; }
.panel-plate-template[data-plate-template='lanes'] [data-node='lane-4'] { inset-block-start: 53% !important; }

.panel-plate-template[data-plate-template='lanes'] [data-node='destination'] {
  inset-block-end: 7% !important;
  inset-inline-start: 50% !important;
  transform: translateX(-50%) !important;
  inline-size: min(74%, 14rem) !important;
}

/* Container-aware recomposition ------------------------------------------ */
@container (min-width: 29rem) {
  .panel-plate-template[data-plate-template='convergence'] {
    --plate-field-min: 14.5rem;
  }

  .panel-plate-template[data-plate-template='convergence'] [data-node='input-a'] {
    inset-block-start: 14% !important;
    inset-inline-start: 27% !important;
    transform: translateX(-50%) !important;
    inline-size: min(42%, 13rem) !important;
  }

  .panel-plate-template[data-plate-template='convergence'] [data-node='input-b'] {
    inset-block-start: 14% !important;
    inset-inline-start: 73% !important;
    transform: translateX(-50%) !important;
    inline-size: min(42%, 13rem) !important;
  }

  .panel-plate-template[data-plate-template='convergence'] [data-node='focus'] {
    inset-block-start: 51% !important;
    inset-inline-start: 50% !important;
    transform: translate(-50%, -50%) !important;
    inline-size: min(78%, 16rem) !important;
  }

  .panel-plate-template[data-plate-template='convergence'] [data-node='input-c'] {
    inset-block-end: 12% !important;
    inset-inline-start: 50% !important;
    transform: translateX(-50%) !important;
    inline-size: min(55%, 13.5rem) !important;
  }

  .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] {
    --plate-field-compact-min: 11.8rem;
  }

  .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='start'] {
    inset-block-start: 50% !important;
    inset-inline-start: 22% !important;
    transform: translate(-50%, -50%) !important;
    inline-size: min(31%, 10.5rem) !important;
  }

  .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='decision'] {
    inset-block-start: 50% !important;
    inset-inline-start: 50% !important;
    transform: translate(-50%, -50%) !important;
    inline-size: min(25%, 9rem) !important;
  }

  .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='action-a'] {
    inset-block-end: auto !important;
    inset-block-start: 50% !important;
    inset-inline-start: 78% !important;
    transform: translate(-50%, -50%) !important;
    inline-size: min(28%, 9.8rem) !important;
  }

  .panel-plate-template[data-plate-template='lanes'] {
    --plate-field-min: 15.2rem;
  }

  .panel-plate-template[data-plate-template='lanes'] [data-node^='lane-'] {
    inset-inline-start: 8% !important;
    transform: none !important;
    inline-size: min(58%, 16rem) !important;
  }

  .panel-plate-template[data-plate-template='lanes'] [data-node='lane-1'] { inset-block-start: 10% !important; }
  .panel-plate-template[data-plate-template='lanes'] [data-node='lane-2'] { inset-block-start: 28% !important; }
  .panel-plate-template[data-plate-template='lanes'] [data-node='lane-3'] { inset-block-start: 46% !important; }
  .panel-plate-template[data-plate-template='lanes'] [data-node='lane-4'] { inset-block-start: 64% !important; }

  .panel-plate-template[data-plate-template='lanes'] [data-node='destination'] {
    inset-block-start: 42% !important;
    inset-block-end: auto !important;
    inset-inline-start: 77% !important;
    transform: translate(-50%, -50%) !important;
    inline-size: min(35%, 10rem) !important;
  }

  .panel-plate-template[data-plate-template] .panel-plate__routes [data-route-state='wide'] {
    display: block;
  }

  .panel-plate-template[data-plate-template] .panel-plate__routes [data-route-state='portrait'] {
    display: none;
  }
}

/* Shell state refinements -------------------------------------------------- */
.shell-body[data-layout-mode='wide-dual'] .panel-card--plate,
.shell-body[data-layout-mode='wide-dual'] .panel-card--diagram {
  gap: clamp(0.95rem, 0.7rem + 0.55vw, 1.25rem);
}

.shell-body[data-layout-mode='landscape-side'] .panel-plate-template[data-plate-template] {
  --plate-node-font: clamp(0.72rem, 0.62rem + 0.32vw, 0.86rem);
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template] {
  --plate-node-font: clamp(0.76rem, 2.45vw, 0.92rem);
  --plate-field-inset: clamp(0.72rem, 2.4vw, 0.95rem);
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-density='compact'] {
  min-height: 14.8rem !important;
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='convergence'] {
  min-height: 16.5rem !important;
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='lanes'] {
  min-height: 18.4rem !important;
}

/* Extra-narrow safety. Prevent clipped labels before preserving geometry. */
@media (max-width: 25rem) {
  .panel-plate-template[data-plate-template] .panel-plate__node,
  .panel-plate-template[data-plate-template] .panel-plate__focus,
  .panel-plate-template[data-plate-template] .panel-diagram__node,
  .panel-plate-template[data-plate-template] .panel-diagram__focus {
    --plate-node-pad-x: 0.68rem;
    font-size: clamp(0.72rem, 2.75vw, 0.84rem);
  }

  .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='action-a'],
  .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='action-b'] {
    inline-size: min(47%, 9.8rem) !important;
  }

  .panel-plate-template[data-plate-template='lanes'] [data-node^='lane-'] {
    inline-size: min(90%, 16rem) !important;
  }
}

/* Plate text boundary. */
.panel-card--plate .panel-kicker,
.panel-card--diagram .panel-kicker {
  margin-block-start: 0.1rem;
}

.panel-card--plate .panel-summary,
.panel-card--diagram .panel-summary {
  max-width: 42rem;
}

/* =========================================================
   Plate Node Reset + Dull Gold Relationship Lines Patch

   Purpose:
   - Normalize route/convergence node capsules so they size to their text,
     rather than stretching into oblong slot shapes.
   - Keep lane labels as intentional lane bars only inside lane templates.
   - Use muted shell-gold for relationship lines only.
   ========================================================= */

:root {
  --plate-route-gold-soft: rgba(164, 132, 72, 0.22);
  --plate-route-gold: rgba(164, 132, 72, 0.36);
  --plate-route-gold-strong: rgba(164, 132, 72, 0.46);
  --plate-route-soft: var(--plate-route-gold-soft);
  --plate-route-accent: var(--plate-route-gold);
}

.panel-plate-template[data-plate-template] .panel-plate__route,
.panel-plate-template[data-plate-template] .panel-diagram__route {
  stroke: var(--plate-route-gold-soft) !important;
  stroke-width: 2.55 !important;
  opacity: 0.86 !important;
}

.panel-plate-template[data-plate-template] .panel-plate__route--accent,
.panel-plate-template[data-plate-template] .panel-diagram__route--accent,
.panel-plate-template[data-plate-template] .panel-plate__route--spine,
.panel-plate-template[data-plate-template] .panel-diagram__route--spine {
  stroke: var(--plate-route-gold) !important;
  stroke-width: 2.75 !important;
  opacity: 0.92 !important;
}

.panel-plate-template[data-plate-template='route'] .panel-plate__route--accent,
.panel-plate-template[data-plate-template='route'] .panel-diagram__route--accent {
  stroke: var(--plate-route-gold-strong) !important;
}

.panel-plate-template[data-plate-template] .panel-plate__ring,
.panel-plate-template[data-plate-template] .panel-diagram__ring {
  stroke: rgba(73, 114, 139, 0.15) !important;
  opacity: 0.52 !important;
}

.panel-plate-template[data-plate-template] .panel-plate__node,
.panel-plate-template[data-plate-template] .panel-diagram__node {
  inline-size: fit-content !important;
  width: fit-content !important;
  min-inline-size: 0 !important;
  max-inline-size: min(17rem, calc(100% - 1.6rem)) !important;
  white-space: nowrap !important;
  justify-content: center !important;
  padding-inline: clamp(0.68rem, 0.54rem + 0.34vw, 0.88rem) !important;
}

.panel-plate-template[data-plate-template] .panel-plate__focus,
.panel-plate-template[data-plate-template] .panel-diagram__focus {
  inline-size: fit-content !important;
  width: fit-content !important;
  min-inline-size: 0 !important;
  max-inline-size: min(14.8rem, calc(100% - 1.6rem)) !important;
  white-space: normal !important;
  text-wrap: balance;
  justify-content: center !important;
  padding-inline: clamp(0.72rem, 0.58rem + 0.35vw, 0.96rem) !important;
}

.panel-plate-template[data-plate-template='route'] .panel-plate__node,
.panel-plate-template[data-plate-template='route'] .panel-diagram__node,
.panel-plate-template[data-plate-template='route'] .panel-plate__focus,
.panel-plate-template[data-plate-template='route'] .panel-diagram__focus {
  max-inline-size: min(12.5rem, calc(100% - 1.6rem)) !important;
}

.panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='start'],
.panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='decision'],
.panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='action-a'],
.panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='start'],
.panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='decision'],
.panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='action-a'],
.panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='action-b'] {
  inline-size: fit-content !important;
  width: fit-content !important;
}

.panel-plate-template[data-plate-template='convergence'] .panel-plate__node,
.panel-plate-template[data-plate-template='convergence'] .panel-diagram__node {
  max-inline-size: min(13.8rem, calc(100% - 1.6rem)) !important;
}

.panel-plate-template[data-plate-template='convergence'] .panel-plate__focus,
.panel-plate-template[data-plate-template='convergence'] .panel-diagram__focus {
  max-inline-size: min(15rem, calc(100% - 1.6rem)) !important;
}

.panel-plate-template[data-plate-template='convergence'] [data-node='input-a'],
.panel-plate-template[data-plate-template='convergence'] [data-node='input-b'],
.panel-plate-template[data-plate-template='convergence'] [data-node='input-c'],
.panel-plate-template[data-plate-template='convergence'] [data-node='focus'] {
  inline-size: fit-content !important;
  width: fit-content !important;
}

.panel-plate-template[data-plate-template='lanes'] [data-node^='lane-'] {
  inline-size: min(84%, 16rem) !important;
  width: min(84%, 16rem) !important;
  max-inline-size: min(84%, 16rem) !important;
  justify-content: flex-start !important;
  white-space: nowrap !important;
}

.panel-plate-template[data-plate-template='lanes'] [data-node='destination'] {
  inline-size: fit-content !important;
  width: fit-content !important;
  min-inline-size: 0 !important;
  max-inline-size: min(12.8rem, calc(100% - 1.6rem)) !important;
  white-space: normal !important;
  text-wrap: balance;
}

@container (min-width: 29rem) {
  .panel-plate-template[data-plate-template='lanes'] [data-node^='lane-'] {
    inline-size: min(56%, 15.5rem) !important;
    width: min(56%, 15.5rem) !important;
    max-inline-size: min(56%, 15.5rem) !important;
  }

  .panel-plate-template[data-plate-template='lanes'] [data-node='destination'] {
    inline-size: fit-content !important;
    width: fit-content !important;
    max-inline-size: min(11.8rem, 34%) !important;
  }
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template] .panel-plate__node,
.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template] .panel-diagram__node {
  max-inline-size: calc(100% - 1.4rem) !important;
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template] .panel-plate__focus,
.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template] .panel-diagram__focus {
  max-inline-size: min(14rem, calc(100% - 1.4rem)) !important;
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='lanes'] [data-node^='lane-'] {
  inline-size: min(88%, 16rem) !important;
  width: min(88%, 16rem) !important;
  max-inline-size: min(88%, 16rem) !important;
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='lanes'] [data-node='destination'] {
  inline-size: fit-content !important;
  width: fit-content !important;
  max-inline-size: min(13rem, calc(100% - 1.4rem)) !important;
}

@media (max-width: 25rem) {
  .panel-plate-template[data-plate-template] .panel-plate__node,
  .panel-plate-template[data-plate-template] .panel-diagram__node,
  .panel-plate-template[data-plate-template] .panel-plate__focus,
  .panel-plate-template[data-plate-template] .panel-diagram__focus {
    padding-inline: 0.66rem !important;
  }
}


/* =========================================================
   Plate Primitive Reset

   Purpose:
   - Lock bubble behavior, relationship line behavior, and gap rhythm.
   - Bubbles are content-sized, single-line capsules.
   - Relationship lines are visible, muted shell-gold connectors.
   - Gaps stay tight enough to read as a relationship, with no crowding.
   ========================================================= */

:root {
  --plate-primitive-route: rgba(164, 132, 72, 0.34);
  --plate-primitive-route-strong: rgba(164, 132, 72, 0.46);
  --plate-primitive-route-soft: rgba(164, 132, 72, 0.22);
  --plate-primitive-ring: rgba(73, 114, 139, 0.13);
  --plate-primitive-edge-gap: clamp(0.82rem, 0.62rem + 0.55vw, 1.08rem);
  --plate-primitive-node-x: clamp(0.72rem, 0.58rem + 0.28vw, 0.92rem);
  --plate-primitive-node-y: 0.42rem;
  --plate-primitive-dot: 0.46rem;
}

/* Bubble primitive: content-sized, single-line, never slot-sized. */
.panel-plate-template[data-plate-template] .panel-plate__node,
.panel-plate-template[data-plate-template] .panel-plate__focus,
.panel-plate-template[data-plate-template] .panel-diagram__node,
.panel-plate-template[data-plate-template] .panel-diagram__focus {
  box-sizing: border-box !important;
  display: inline-flex !important;
  inline-size: max-content !important;
  width: max-content !important;
  min-inline-size: 0 !important;
  max-inline-size: none !important;
  flex: 0 0 auto !important;
  justify-content: center !important;
  align-items: center !important;
  padding: var(--plate-primitive-node-y) var(--plate-primitive-node-x) !important;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  line-height: 1.1 !important;
}

/* No special stretching for final nodes or focus/destination bubbles. */
.panel-plate-template[data-plate-template] .panel-plate__node:last-child,
.panel-plate-template[data-plate-template] .panel-plate__focus:last-child,
.panel-plate-template[data-plate-template] .panel-diagram__node:last-child,
.panel-plate-template[data-plate-template] .panel-diagram__focus:last-child,
.panel-plate-template[data-plate-template] [data-node='focus'],
.panel-plate-template[data-plate-template] [data-node='decision'],
.panel-plate-template[data-plate-template] [data-node='destination'],
.panel-plate-template[data-plate-template] [data-node='action-a'],
.panel-plate-template[data-plate-template] [data-node='action-b'] {
  inline-size: max-content !important;
  width: max-content !important;
  min-inline-size: 0 !important;
  max-inline-size: none !important;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
}

.panel-plate-template[data-plate-template] .panel-plate__node::before,
.panel-plate-template[data-plate-template] .panel-plate__focus::before,
.panel-plate-template[data-plate-template] .panel-diagram__node::before,
.panel-plate-template[data-plate-template] .panel-diagram__focus::before {
  flex: 0 0 var(--plate-primitive-dot) !important;
  inline-size: var(--plate-primitive-dot) !important;
  block-size: var(--plate-primitive-dot) !important;
}

/* Lane template exception: lane nodes may act as bars. */
.panel-plate-template[data-plate-template='lanes'] [data-node^='lane-'] {
  inline-size: min(84%, 16.5rem) !important;
  width: min(84%, 16.5rem) !important;
  max-inline-size: min(84%, 16.5rem) !important;
  justify-content: flex-start !important;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
}

.panel-plate-template[data-plate-template='lanes'] [data-node='destination'] {
  inline-size: max-content !important;
  width: max-content !important;
  max-inline-size: none !important;
  justify-content: center !important;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
}

/* Relationship line primitive: clear gold connectors, not ghost marks. */
.panel-plate-template[data-plate-template] .panel-plate__route,
.panel-plate-template[data-plate-template] .panel-diagram__route {
  stroke: var(--plate-primitive-route-soft) !important;
  stroke-width: 2.35 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  vector-effect: non-scaling-stroke !important;
  opacity: 0.9 !important;
}

.panel-plate-template[data-plate-template] .panel-plate__route--accent,
.panel-plate-template[data-plate-template] .panel-diagram__route--accent,
.panel-plate-template[data-plate-template] .panel-plate__route--spine,
.panel-plate-template[data-plate-template] .panel-diagram__route--spine {
  stroke: var(--plate-primitive-route) !important;
  stroke-width: 2.6 !important;
  opacity: 0.94 !important;
}

.panel-plate-template[data-plate-template='route'] .panel-plate__route--accent,
.panel-plate-template[data-plate-template='route'] .panel-diagram__route--accent {
  stroke: var(--plate-primitive-route-strong) !important;
}

.panel-plate-template[data-plate-template] .panel-plate__ring,
.panel-plate-template[data-plate-template] .panel-diagram__ring {
  stroke: var(--plate-primitive-ring) !important;
  opacity: 0.34 !important;
}

/* Gap primitive: template heights and slots keep lines readable without dead space. */
.panel-plate-template[data-plate-template] {
  padding: var(--plate-primitive-edge-gap) !important;
}

.panel-plate-template[data-plate-template='route'] {
  --plate-field-compact-min: 12.6rem;
  --plate-field-min: 13.6rem;
}

.panel-plate-template[data-plate-template='convergence'] {
  --plate-field-min: 14.9rem;
}

.panel-plate-template[data-plate-template='lanes'] {
  --plate-field-min: 16.3rem;
}

/* Route template: one controlled connector chain. */
.panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='start'] {
  inset-block-start: 16% !important;
  inset-inline-start: 50% !important;
  transform: translateX(-50%) !important;
}

.panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='decision'] {
  inset-block-start: 50% !important;
  inset-inline-start: 50% !important;
  transform: translate(-50%, -50%) !important;
}

.panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='action-a'] {
  inset-block-end: 16% !important;
  inset-inline-start: 50% !important;
  transform: translateX(-50%) !important;
}

/* Branch route template. */
.panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='start'] {
  inset-block-start: 10% !important;
  inset-inline-start: 50% !important;
  transform: translateX(-50%) !important;
}

.panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='decision'] {
  inset-block-start: 44% !important;
  inset-inline-start: 50% !important;
  transform: translate(-50%, -50%) !important;
}

.panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='action-a'] {
  inset-block-end: 11% !important;
  inset-inline-start: 31% !important;
  transform: translateX(-50%) !important;
}

.panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='action-b'] {
  inset-block-end: 11% !important;
  inset-inline-start: 69% !important;
  transform: translateX(-50%) !important;
}

/* Convergence template: inputs relate to a central focus with a readable final input. */
.panel-plate-template[data-plate-template='convergence'] [data-node='input-a'] {
  inset-block-start: 10% !important;
  inset-inline-start: 50% !important;
  transform: translateX(-50%) !important;
}

.panel-plate-template[data-plate-template='convergence'] [data-node='input-b'] {
  inset-block-start: 28% !important;
  inset-inline-start: 50% !important;
  transform: translateX(-50%) !important;
}

.panel-plate-template[data-plate-template='convergence'] [data-node='focus'] {
  inset-block-start: 52% !important;
  inset-inline-start: 50% !important;
  transform: translate(-50%, -50%) !important;
}

.panel-plate-template[data-plate-template='convergence'] [data-node='input-c'] {
  inset-block-end: 10% !important;
  inset-inline-start: 50% !important;
  transform: translateX(-50%) !important;
}

/* Lane template: lane group with one contained destination. */
.panel-plate-template[data-plate-template='lanes'] [data-node='lane-1'] { inset-block-start: 8% !important; }
.panel-plate-template[data-plate-template='lanes'] [data-node='lane-2'] { inset-block-start: 23% !important; }
.panel-plate-template[data-plate-template='lanes'] [data-node='lane-3'] { inset-block-start: 38% !important; }
.panel-plate-template[data-plate-template='lanes'] [data-node='lane-4'] { inset-block-start: 53% !important; }

.panel-plate-template[data-plate-template='lanes'] [data-node='lane-1'],
.panel-plate-template[data-plate-template='lanes'] [data-node='lane-2'],
.panel-plate-template[data-plate-template='lanes'] [data-node='lane-3'],
.panel-plate-template[data-plate-template='lanes'] [data-node='lane-4'] {
  inset-inline-start: 50% !important;
  transform: translateX(-50%) !important;
}

.panel-plate-template[data-plate-template='lanes'] [data-node='destination'] {
  inset-block-end: 8% !important;
  inset-inline-start: 50% !important;
  transform: translateX(-50%) !important;
}

/* Wider containers: recompose without changing the bubble primitive. */
@container (min-width: 29rem) {
  .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] {
    --plate-field-compact-min: 10.8rem;
    --plate-field-min: 11.6rem;
  }

  .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='start'] {
    inset-block-start: 50% !important;
    inset-inline-start: 20% !important;
    transform: translate(-50%, -50%) !important;
  }

  .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='decision'] {
    inset-block-start: 50% !important;
    inset-inline-start: 50% !important;
    transform: translate(-50%, -50%) !important;
  }

  .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='action-a'] {
    inset-block-start: 50% !important;
    inset-block-end: auto !important;
    inset-inline-start: 80% !important;
    transform: translate(-50%, -50%) !important;
  }

  .panel-plate-template[data-plate-template='convergence'] {
    --plate-field-min: 13.8rem;
  }

  .panel-plate-template[data-plate-template='convergence'] [data-node='input-a'] {
    inset-block-start: 15% !important;
    inset-inline-start: 28% !important;
    transform: translateX(-50%) !important;
  }

  .panel-plate-template[data-plate-template='convergence'] [data-node='input-b'] {
    inset-block-start: 15% !important;
    inset-inline-start: 72% !important;
    transform: translateX(-50%) !important;
  }

  .panel-plate-template[data-plate-template='convergence'] [data-node='focus'] {
    inset-block-start: 52% !important;
    inset-inline-start: 50% !important;
    transform: translate(-50%, -50%) !important;
  }

  .panel-plate-template[data-plate-template='convergence'] [data-node='input-c'] {
    inset-block-end: 12% !important;
    inset-inline-start: 50% !important;
    transform: translateX(-50%) !important;
  }

  .panel-plate-template[data-plate-template='lanes'] {
    --plate-field-min: 14.6rem;
  }

  .panel-plate-template[data-plate-template='lanes'] [data-node^='lane-'] {
    inline-size: min(57%, 15.8rem) !important;
    width: min(57%, 15.8rem) !important;
    max-inline-size: min(57%, 15.8rem) !important;
    inset-inline-start: 8% !important;
    transform: none !important;
  }

  .panel-plate-template[data-plate-template='lanes'] [data-node='lane-1'] { inset-block-start: 10% !important; }
  .panel-plate-template[data-plate-template='lanes'] [data-node='lane-2'] { inset-block-start: 28% !important; }
  .panel-plate-template[data-plate-template='lanes'] [data-node='lane-3'] { inset-block-start: 46% !important; }
  .panel-plate-template[data-plate-template='lanes'] [data-node='lane-4'] { inset-block-start: 64% !important; }

  .panel-plate-template[data-plate-template='lanes'] [data-node='destination'] {
    inset-block-start: 43% !important;
    inset-block-end: auto !important;
    inset-inline-start: 77% !important;
    transform: translate(-50%, -50%) !important;
  }
}

/* Shell state safety: portrait remains stacked and single-line. */
.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template] .panel-plate__node,
.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template] .panel-plate__focus,
.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template] .panel-diagram__node,
.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template] .panel-diagram__focus {
  white-space: nowrap !important;
  text-wrap: nowrap !important;
  font-size: clamp(0.7rem, 2.35vw, 0.86rem) !important;
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='route'] {
  min-height: 13.8rem !important;
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='convergence'] {
  min-height: 15.8rem !important;
}

.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='lanes'] {
  min-height: 17.4rem !important;
}

@media (max-width: 25rem) {
  .panel-plate-template[data-plate-template] .panel-plate__node,
  .panel-plate-template[data-plate-template] .panel-plate__focus,
  .panel-plate-template[data-plate-template] .panel-diagram__node,
  .panel-plate-template[data-plate-template] .panel-diagram__focus {
    --plate-primitive-node-x: 0.62rem;
    --plate-primitive-dot: 0.4rem;
    font-size: clamp(0.66rem, 2.45vw, 0.78rem) !important;
  }
}

/* ========================================================================== 
   V3 PLATE GEOMETRY CLEANUP — PRIMITIVE + ROUTE ALIGNMENT

   What V2 missed:
   - It forced labels to fit-content, but left template coordinates and SVG
     route geometry speaking different languages.
   - Existing lane labels were still treated as stretch bars.

   V3 rule:
   - Every plate node is a compact label by default.
   - Bars are opt-in only with data-node-shape="bar".
   - Template geometry places label centers to match the shipped SVG routes.
   ========================================================================== */

:root {
  --plate-v3-node-pad-x: clamp(0.62rem, 0.54rem + 0.22vw, 0.84rem);
  --plate-v3-node-pad-y: 0.36rem;
  --plate-v3-node-min-h: 1.86rem;
  --plate-v3-node-max: min(15rem, calc(100% - 1.4rem));
  --plate-v3-bar-width: min(72%, 15.5rem);
  --plate-v3-route-soft: rgba(129, 151, 159, 0.34);
  --plate-v3-route-accent: rgba(164, 132, 72, 0.44);
}

/* Canonical primitive: labels shrink to content. */
body.shell-body .panel-plate-template[data-plate-template] .panel-plate__node[data-node],
body.shell-body .panel-plate-template[data-plate-template] .panel-diagram__node[data-node],
body.shell-body .panel-plate-template[data-plate-template] .panel-plate__focus[data-node],
body.shell-body .panel-plate-template[data-plate-template] .panel-diagram__focus[data-node],
.panel-plate-template[data-plate-template] .panel-plate__node[data-node],
.panel-plate-template[data-plate-template] .panel-diagram__node[data-node],
.panel-plate-template[data-plate-template] .panel-plate__focus[data-node],
.panel-plate-template[data-plate-template] .panel-diagram__focus[data-node] {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  inline-size: fit-content !important;
  width: fit-content !important;
  min-inline-size: 0 !important;
  min-width: 0 !important;
  max-inline-size: var(--plate-v3-node-max) !important;
  max-width: var(--plate-v3-node-max) !important;
  min-block-size: var(--plate-v3-node-min-h) !important;
  min-height: var(--plate-v3-node-min-h) !important;
  padding: var(--plate-v3-node-pad-y) var(--plate-v3-node-pad-x) !important;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

/* Bars are opt-in. Existing lane labels are no longer stretched by default. */
body.shell-body .panel-plate-template[data-plate-template] [data-node-shape='bar'],
.panel-plate-template[data-plate-template] [data-node-shape='bar'] {
  inline-size: var(--plate-v3-bar-width) !important;
  width: var(--plate-v3-bar-width) !important;
  max-inline-size: var(--plate-v3-bar-width) !important;
  max-width: var(--plate-v3-bar-width) !important;
  justify-content: flex-start !important;
}

/* Reset legacy physical/logical placement before assigning canonical centers. */
body.shell-body .panel-plate-template[data-plate-template] [data-node] {
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
}

/* Route visibility follows shell state, not stale container fallback. */
body.shell-body[data-layout-mode='wide-dual'] .panel-plate-template[data-plate-template] .panel-plate__routes [data-route-state='wide'],
body.shell-body[data-layout-mode='wide-dual'] .panel-plate-template[data-plate-template] .panel-diagram__routes [data-route-state='wide'],
body.shell-body[data-layout-mode='landscape-side'] .panel-plate-template[data-plate-template] .panel-plate__routes [data-route-state='wide'],
body.shell-body[data-layout-mode='landscape-side'] .panel-plate-template[data-plate-template] .panel-diagram__routes [data-route-state='wide'] {
  display: block !important;
}

body.shell-body[data-layout-mode='wide-dual'] .panel-plate-template[data-plate-template] .panel-plate__routes [data-route-state='portrait'],
body.shell-body[data-layout-mode='wide-dual'] .panel-plate-template[data-plate-template] .panel-diagram__routes [data-route-state='portrait'],
body.shell-body[data-layout-mode='landscape-side'] .panel-plate-template[data-plate-template] .panel-plate__routes [data-route-state='portrait'],
body.shell-body[data-layout-mode='landscape-side'] .panel-plate-template[data-plate-template] .panel-diagram__routes [data-route-state='portrait'] {
  display: none !important;
}

body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template] .panel-plate__routes [data-route-state='wide'],
body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template] .panel-diagram__routes [data-route-state='wide'] {
  display: none !important;
}

body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template] .panel-plate__routes [data-route-state='portrait'],
body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template] .panel-diagram__routes [data-route-state='portrait'] {
  display: block !important;
}

/* Shared route finish. */
body.shell-body .panel-plate-template[data-plate-template] .panel-plate__route,
body.shell-body .panel-plate-template[data-plate-template] .panel-diagram__route {
  vector-effect: non-scaling-stroke !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  stroke-width: 2.15 !important;
  opacity: 0.82 !important;
}

body.shell-body .panel-plate-template[data-plate-template] .panel-plate__route--soft,
body.shell-body .panel-plate-template[data-plate-template] .panel-diagram__route--soft {
  stroke: var(--plate-v3-route-soft) !important;
}

body.shell-body .panel-plate-template[data-plate-template] .panel-plate__route--accent,
body.shell-body .panel-plate-template[data-plate-template] .panel-diagram__route--accent,
body.shell-body .panel-plate-template[data-plate-template] .panel-plate__route--spine,
body.shell-body .panel-plate-template[data-plate-template] .panel-diagram__route--spine {
  stroke: var(--plate-v3-route-accent) !important;
}

body.shell-body .panel-plate-template[data-plate-template] .panel-plate__ring,
body.shell-body .panel-plate-template[data-plate-template] .panel-diagram__ring {
  stroke: rgba(129, 151, 159, 0.22) !important;
  stroke-width: 1.25 !important;
  opacity: 0.62 !important;
}

/* CONVERGENCE / TRIAD — node centers match the 320x190 route art. */
body.shell-body .panel-plate-template[data-plate-template='convergence'][data-plate-variant='triad'] {
  min-height: 14.9rem !important;
}

body.shell-body .panel-plate-template[data-plate-template='convergence'][data-plate-variant='triad'] [data-node='input-a'] {
  top: 28% !important;
  left: 31% !important;
  transform: translate(-50%, -50%) !important;
}

body.shell-body .panel-plate-template[data-plate-template='convergence'][data-plate-variant='triad'] [data-node='input-b'] {
  top: 28% !important;
  left: 69% !important;
  transform: translate(-50%, -50%) !important;
}

body.shell-body .panel-plate-template[data-plate-template='convergence'][data-plate-variant='triad'] [data-node='focus'] {
  top: 51% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
}

body.shell-body .panel-plate-template[data-plate-template='convergence'][data-plate-variant='triad'] [data-node='input-c'] {
  top: 76% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
}

/* ROUTE / LINEAR — matches 320x150 route art. */
body.shell-body .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] {
  min-height: 10.8rem !important;
}

body.shell-body .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='start'] {
  top: 50% !important;
  left: 31% !important;
  transform: translate(-50%, -50%) !important;
}

body.shell-body .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='decision'] {
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
}

body.shell-body .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='action-a'] {
  top: 50% !important;
  left: 77% !important;
  transform: translate(-50%, -50%) !important;
}

/* ROUTE / BRANCH — matches 320x180 route art. */
body.shell-body .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] {
  min-height: 14.2rem !important;
}

body.shell-body .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='start'] {
  top: 50% !important;
  left: 30% !important;
  transform: translate(-50%, -50%) !important;
}

body.shell-body .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='decision'] {
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
}

body.shell-body .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='action-a'] {
  top: 26% !important;
  left: 78% !important;
  transform: translate(-50%, -50%) !important;
}

body.shell-body .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='action-b'] {
  top: 76% !important;
  left: 78% !important;
  transform: translate(-50%, -50%) !important;
}

/* LANES — labels are compact by default; route art supplies the structure. */
body.shell-body .panel-plate-template[data-plate-template='lanes'][data-plate-variant='four-lane'] {
  min-height: 16.2rem !important;
}

body.shell-body .panel-plate-template[data-plate-template='lanes'][data-plate-variant='four-lane'] [data-node='lane-1'] {
  top: 19% !important;
  left: 34% !important;
  transform: translate(-50%, -50%) !important;
}

body.shell-body .panel-plate-template[data-plate-template='lanes'][data-plate-variant='four-lane'] [data-node='lane-2'] {
  top: 37% !important;
  left: 34% !important;
  transform: translate(-50%, -50%) !important;
}

body.shell-body .panel-plate-template[data-plate-template='lanes'][data-plate-variant='four-lane'] [data-node='lane-3'] {
  top: 56% !important;
  left: 34% !important;
  transform: translate(-50%, -50%) !important;
}

body.shell-body .panel-plate-template[data-plate-template='lanes'][data-plate-variant='four-lane'] [data-node='lane-4'] {
  top: 75% !important;
  left: 34% !important;
  transform: translate(-50%, -50%) !important;
}

body.shell-body .panel-plate-template[data-plate-template='lanes'][data-plate-variant='four-lane'] [data-node='destination'] {
  top: 48% !important;
  left: 75% !important;
  transform: translate(-50%, -50%) !important;
}

/* Portrait recomposition: coordinates match portrait SVG groups. */
body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='convergence'][data-plate-variant='triad'] [data-node='input-a'] {
  top: 24% !important;
  left: 29% !important;
}

body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='convergence'][data-plate-variant='triad'] [data-node='input-b'] {
  top: 24% !important;
  left: 71% !important;
}

body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='convergence'][data-plate-variant='triad'] [data-node='focus'] {
  top: 51% !important;
  left: 50% !important;
}

body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='convergence'][data-plate-variant='triad'] [data-node='input-c'] {
  top: 81% !important;
  left: 50% !important;
}

body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='start'] {
  top: 28% !important;
  left: 50% !important;
}

body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='decision'] {
  top: 54% !important;
  left: 50% !important;
}

body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] [data-node='action-a'] {
  top: 81% !important;
  left: 50% !important;
}

body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='start'] {
  top: 23% !important;
  left: 50% !important;
}

body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='decision'] {
  top: 54% !important;
  left: 50% !important;
}

body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='action-a'] {
  top: 80% !important;
  left: 33% !important;
}

body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] [data-node='action-b'] {
  top: 80% !important;
  left: 67% !important;
}

body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='lanes'][data-plate-variant='four-lane'] [data-node='lane-1'] {
  top: 20% !important;
  left: 50% !important;
}

body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='lanes'][data-plate-variant='four-lane'] [data-node='lane-2'] {
  top: 34% !important;
  left: 50% !important;
}

body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='lanes'][data-plate-variant='four-lane'] [data-node='lane-3'] {
  top: 48% !important;
  left: 50% !important;
}

body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='lanes'][data-plate-variant='four-lane'] [data-node='lane-4'] {
  top: 62% !important;
  left: 50% !important;
}

body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='lanes'][data-plate-variant='four-lane'] [data-node='destination'] {
  top: 83% !important;
  left: 50% !important;
}

/* ========================================================================== 
   PLATE SYSTEM V5 — ANCHOR MAP PASS
   Baseline: V3 geometry-clean. Do not port V4 global placement reset.

   Contract:
   - Template owns the anchor map.
   - Nodes attach to anchors.
   - SVG paths remain unchanged and are visually matched by anchor coordinates.
   - Bubble primitive owns label sizing and surface treatment only.
   - Page classes may theme only; they do not own node placement.

   Safety rule:
   This pass does NOT globally reset top/right/bottom/left/inset. It only maps
   known template nodes to explicit physical top/left anchors.
   ========================================================================== */

/* Node primitive authority: labels remain intrinsic/content-sized. */
body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template][data-plate-variant] .panel-plate__node,
body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template][data-plate-variant] .panel-diagram__node,
body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template][data-plate-variant] .panel-plate__focus,
body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template][data-plate-variant] .panel-diagram__focus {
  position: absolute !important;
  inline-size: fit-content !important;
  width: fit-content !important;
  min-inline-size: 0 !important;
  max-inline-size: min(14rem, calc(100% - 1.6rem)) !important;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
}

/* Lane nodes are labels by default. Bars must opt in with data-node-shape="bar". */
body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='lanes'] [data-node^='lane-']:not([data-node-shape='bar']) {
  inline-size: fit-content !important;
  width: fit-content !important;
  min-inline-size: 0 !important;
  max-inline-size: min(14rem, calc(100% - 1.6rem)) !important;
  justify-content: center !important;
}

body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='lanes'] [data-node-shape='bar'] {
  inline-size: min(57%, 15.8rem) !important;
  width: min(57%, 15.8rem) !important;
  justify-content: flex-start !important;
}

/* Template anchor maps ----------------------------------------------------- */
body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] {
  --plate-field-min: 14.8rem;
  min-height: 14.8rem !important;
  --anchor-start-x: 24%;
  --anchor-start-y: 50%;
  --anchor-decision-x: 51%;
  --anchor-decision-y: 50%;
  --anchor-action-a-x: 78%;
  --anchor-action-a-y: 26%;
  --anchor-action-b-x: 78%;
  --anchor-action-b-y: 76%;
}

body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] {
  --plate-field-min: 12.4rem;
  min-height: 12.4rem !important;
  --anchor-start-x: 18%;
  --anchor-start-y: 50%;
  --anchor-decision-x: 50%;
  --anchor-decision-y: 50%;
  --anchor-action-a-x: 82%;
  --anchor-action-a-y: 50%;
}

body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='convergence'] {
  --plate-field-min: 15.2rem;
  min-height: 15.2rem !important;
  --anchor-input-a-x: 28%;
  --anchor-input-a-y: 16%;
  --anchor-input-b-x: 72%;
  --anchor-input-b-y: 16%;
  --anchor-focus-x: 50%;
  --anchor-focus-y: 52%;
  --anchor-input-c-x: 50%;
  --anchor-input-c-y: 82%;
}

body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='lanes'] {
  --plate-field-min: 17rem;
  min-height: 17rem !important;
  --anchor-lane-1-x: 25%;
  --anchor-lane-1-y: 14%;
  --anchor-lane-2-x: 25%;
  --anchor-lane-2-y: 32%;
  --anchor-lane-3-x: 25%;
  --anchor-lane-3-y: 50%;
  --anchor-lane-4-x: 25%;
  --anchor-lane-4-y: 68%;
  --anchor-destination-x: 76%;
  --anchor-destination-y: 50%;
}

/* Node-to-anchor bindings -------------------------------------------------- */
body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='route'][data-plate-variant] [data-node='start'] {
  top: var(--anchor-start-y) !important;
  left: var(--anchor-start-x) !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
}

body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='route'][data-plate-variant] [data-node='decision'] {
  top: var(--anchor-decision-y) !important;
  left: var(--anchor-decision-x) !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
}

body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='route'][data-plate-variant] [data-node='action-a'] {
  top: var(--anchor-action-a-y) !important;
  left: var(--anchor-action-a-x) !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
}

body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='route'][data-plate-variant] [data-node='action-b'] {
  top: var(--anchor-action-b-y) !important;
  left: var(--anchor-action-b-x) !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
}

body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='convergence'] [data-node='input-a'] {
  top: var(--anchor-input-a-y) !important;
  left: var(--anchor-input-a-x) !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
}

body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='convergence'] [data-node='input-b'] {
  top: var(--anchor-input-b-y) !important;
  left: var(--anchor-input-b-x) !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
}

body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='convergence'] [data-node='focus'] {
  top: var(--anchor-focus-y) !important;
  left: var(--anchor-focus-x) !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
}

body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='convergence'] [data-node='input-c'] {
  top: var(--anchor-input-c-y) !important;
  left: var(--anchor-input-c-x) !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
}

body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='lanes'] [data-node='lane-1'] {
  top: var(--anchor-lane-1-y) !important;
  left: var(--anchor-lane-1-x) !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
}

body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='lanes'] [data-node='lane-2'] {
  top: var(--anchor-lane-2-y) !important;
  left: var(--anchor-lane-2-x) !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
}

body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='lanes'] [data-node='lane-3'] {
  top: var(--anchor-lane-3-y) !important;
  left: var(--anchor-lane-3-x) !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
}

body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='lanes'] [data-node='lane-4'] {
  top: var(--anchor-lane-4-y) !important;
  left: var(--anchor-lane-4-x) !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
}

body.shell-body[data-layout-mode] .panel-plate-template[data-plate-template='lanes'] [data-node='destination'] {
  top: var(--anchor-destination-y) !important;
  left: var(--anchor-destination-x) !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
}

/* Portrait anchor maps: same primitive, alternate template map. */
body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='route'][data-plate-variant='branch'] {
  --plate-field-min: 15rem;
  min-height: 15rem !important;
  --anchor-start-x: 50%;
  --anchor-start-y: 16%;
  --anchor-decision-x: 50%;
  --anchor-decision-y: 46%;
  --anchor-action-a-x: 28%;
  --anchor-action-a-y: 80%;
  --anchor-action-b-x: 72%;
  --anchor-action-b-y: 80%;
}

body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='route'][data-plate-variant='linear'] {
  --plate-field-min: 12.8rem;
  min-height: 12.8rem !important;
  --anchor-start-x: 50%;
  --anchor-start-y: 16%;
  --anchor-decision-x: 50%;
  --anchor-decision-y: 50%;
  --anchor-action-a-x: 50%;
  --anchor-action-a-y: 84%;
}

body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='convergence'] {
  --plate-field-min: 16.2rem;
  min-height: 16.2rem !important;
  --anchor-input-a-x: 50%;
  --anchor-input-a-y: 14%;
  --anchor-input-b-x: 50%;
  --anchor-input-b-y: 32%;
  --anchor-focus-x: 50%;
  --anchor-focus-y: 55%;
  --anchor-input-c-x: 50%;
  --anchor-input-c-y: 82%;
}

body.shell-body[data-layout-mode='portrait-single'] .panel-plate-template[data-plate-template='lanes'] {
  --plate-field-min: 18.2rem;
  min-height: 18.2rem !important;
  --anchor-lane-1-x: 50%;
  --anchor-lane-1-y: 11%;
  --anchor-lane-2-x: 50%;
  --anchor-lane-2-y: 27%;
  --anchor-lane-3-x: 50%;
  --anchor-lane-3-y: 43%;
  --anchor-lane-4-x: 50%;
  --anchor-lane-4-y: 59%;
  --anchor-destination-x: 50%;
  --anchor-destination-y: 81%;
}

/* =========================================================
   Synapse Plate Grammar V8 — Compiled Inner Housing System

   This block is intentionally last in panel-plates.css.
   JS adds `.is-plate-compiled`, builds `.panel-plate__inner`,
   assigns `data-slot`, and writes slot variables.

   Ownership:
   - panel-system.css owns cards/surfaces only.
   - panel-plates.css owns all compiled plate geometry.
   - plate-system.js owns DOM normalization, slots, routes, and fallback stacking.
   ========================================================= */

:root {
  --plate-grammar-inset: clamp(0.95rem, 0.78rem + 0.58vw, 1.28rem);
  --plate-grammar-node-gap: 0.36rem;
  --plate-grammar-node-pad-x: clamp(0.62rem, 0.52rem + 0.28vw, 0.82rem);
  --plate-grammar-node-pad-y: 0.34rem;
  --plate-grammar-node-min-block: 1.88rem;
  --plate-grammar-route-soft: rgba(164, 132, 72, 0.30);
  --plate-grammar-route-strong: rgba(164, 132, 72, 0.44);
  --plate-grammar-ring: rgba(73, 114, 139, 0.14);
}

.panel-plate-template.is-plate-compiled[data-plate-template],
.panel-plate__field.panel-plate-template.is-plate-compiled[data-plate-template],
.panel-instrument__field.panel-plate-template.is-plate-compiled[data-plate-template] {
  box-sizing: border-box !important;
  position: relative !important;
  container-type: inline-size !important;
  overflow: hidden !important;
  padding: var(--plate-grammar-inset) !important;
}

.panel-plate-template.is-plate-compiled[data-plate-template]::before {
  inset: var(--plate-grammar-inset) !important;
  box-sizing: border-box !important;
  pointer-events: none !important;
}

.panel-plate-template.is-plate-compiled[data-plate-template]::after {
  pointer-events: none !important;
}

.panel-plate-template.is-plate-compiled > .panel-plate__inner {
  position: relative !important;
  z-index: 2;
  box-sizing: border-box !important;
  inline-size: 100% !important;
  min-inline-size: 0 !important;
  min-block-size: calc(var(--plate-field-min, 14rem) - (var(--plate-grammar-inset) * 2)) !important;
  border-radius: calc(var(--plate-field-radius, 1.08rem) - 0.28rem) !important;
  overflow: hidden !important;
}

.panel-plate-template.is-plate-compiled[data-plate-density='compact'] > .panel-plate__inner,
.panel-plate-template.is-plate-compiled.panel-plate__field--compact > .panel-plate__inner {
  min-block-size: calc(var(--plate-field-compact-min, 12.5rem) - (var(--plate-grammar-inset) * 2)) !important;
}

.panel-plate-template.is-plate-compiled > .panel-plate__inner > .panel-plate__routes,
.panel-plate-template.is-plate-compiled > .panel-plate__inner > .panel-diagram__routes,
.panel-plate-template.is-plate-compiled > .panel-plate__inner > .panel-plate__nodes {
  position: absolute !important;
  inset: 0 !important;
  margin: 0 !important;
}

.panel-plate-template.is-plate-compiled > .panel-plate__inner > .panel-plate__routes,
.panel-plate-template.is-plate-compiled > .panel-plate__inner > .panel-diagram__routes {
  z-index: 1 !important;
  display: block !important;
  inline-size: 100% !important;
  block-size: 100% !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none !important;
  overflow: visible !important;
}

.panel-plate-template.is-plate-compiled > .panel-plate__inner > .panel-plate__nodes {
  z-index: 2 !important;
  pointer-events: none !important;
}

/* Compiled routes: route geometry comes from plate-system.js. */
.panel-plate-template.is-plate-compiled .panel-plate__ring,
.panel-plate-template.is-plate-compiled .panel-diagram__ring {
  fill: none !important;
  vector-effect: non-scaling-stroke !important;
  stroke: var(--plate-grammar-ring) !important;
  stroke-width: 1.25 !important;
  opacity: 0.58 !important;
}

.panel-plate-template.is-plate-compiled .panel-plate__route,
.panel-plate-template.is-plate-compiled .panel-diagram__route {
  fill: none !important;
  vector-effect: non-scaling-stroke !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  stroke: var(--plate-grammar-route-soft) !important;
  stroke-width: 2.2 !important;
  opacity: 0.88 !important;
}

.panel-plate-template.is-plate-compiled .panel-plate__route--accent,
.panel-plate-template.is-plate-compiled .panel-diagram__route--accent,
.panel-plate-template.is-plate-compiled .panel-plate__route--spine,
.panel-plate-template.is-plate-compiled .panel-diagram__route--spine {
  stroke: var(--plate-grammar-route-strong) !important;
  stroke-width: 2.35 !important;
  opacity: 0.92 !important;
}

/* Compiled nodes: all legacy top/left/right/bottom rules are neutralized. */
.panel-plate-template.is-plate-compiled .panel-plate__nodes > .panel-plate__node,
.panel-plate-template.is-plate-compiled .panel-plate__nodes > .panel-diagram__node,
.panel-plate-template.is-plate-compiled .panel-plate__nodes > .panel-plate__focus,
.panel-plate-template.is-plate-compiled .panel-plate__nodes > .panel-diagram__focus {
  box-sizing: border-box !important;
  position: absolute !important;
  z-index: 3 !important;
  inset: auto !important;
  inset-block-start: auto !important;
  inset-block-end: auto !important;
  inset-inline-start: auto !important;
  inset-inline-end: auto !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--plate-grammar-node-gap) !important;

  inline-size: fit-content !important;
  width: fit-content !important;
  min-inline-size: 0 !important;
  min-width: 0 !important;
  max-inline-size: min(var(--slot-max, 100%), 100%) !important;
  max-width: min(var(--slot-max, 100%), 100%) !important;

  min-block-size: var(--plate-grammar-node-min-block) !important;
  min-height: var(--plate-grammar-node-min-block) !important;
  padding: var(--plate-grammar-node-pad-y) var(--plate-grammar-node-pad-x) !important;

  white-space: nowrap !important;
  text-wrap: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.08 !important;
  text-align: center !important;

  pointer-events: none !important;
  cursor: default !important;
}

.panel-plate-template.is-plate-compiled .panel-plate__nodes > [data-anchor='center'] {
  inset-inline-start: var(--plate-node-x) !important;
  inset-block-start: var(--plate-node-y) !important;
  transform: translate(-50%, -50%) !important;
}

.panel-plate-template.is-plate-compiled .panel-plate__nodes > [data-anchor='start'] {
  inset-inline-start: var(--plate-node-x) !important;
  inset-block-start: var(--plate-node-y) !important;
  transform: translateY(-50%) !important;
}

.panel-plate-template.is-plate-compiled .panel-plate__nodes > [data-anchor='end'] {
  inset-inline-end: calc(100% - var(--plate-node-x)) !important;
  inset-block-start: var(--plate-node-y) !important;
  transform: translateY(-50%) !important;
}

.panel-plate-template.is-plate-compiled .panel-plate__nodes > [data-node-kind='bubble'] {
  border-radius: 999px !important;
}

.panel-plate-template.is-plate-compiled .panel-plate__nodes > [data-node-kind='focus'] {
  border-radius: 0.92rem !important;
}

.panel-plate-template.is-plate-compiled .panel-plate__nodes > [data-node-kind='bar'] {
  inline-size: var(--slot-width, var(--slot-max)) !important;
  width: var(--slot-width, var(--slot-max)) !important;
  justify-content: flex-start !important;
}

.panel-plate-template.is-plate-compiled .panel-plate__nodes > .panel-plate__node::before,
.panel-plate-template.is-plate-compiled .panel-plate__nodes > .panel-diagram__node::before,
.panel-plate-template.is-plate-compiled .panel-plate__nodes > .panel-plate__focus::before,
.panel-plate-template.is-plate-compiled .panel-plate__nodes > .panel-diagram__focus::before {
  flex: 0 0 0.42rem !important;
  inline-size: 0.42rem !important;
  block-size: 0.42rem !important;
  margin: 0 !important;
}

/* Layout-specific field heights. Stacked layouts need vertical breathing room. */
.panel-plate-template.is-plate-compiled[data-plate-layout='stacked'][data-plate-template='convergence'] > .panel-plate__inner {
  min-block-size: max(13.8rem, calc(var(--plate-field-min, 14rem) - (var(--plate-grammar-inset) * 2))) !important;
}

.panel-plate-template.is-plate-compiled[data-plate-layout='stacked'][data-plate-template='route'] > .panel-plate__inner {
  min-block-size: max(11.8rem, calc(var(--plate-field-compact-min, 12.5rem) - (var(--plate-grammar-inset) * 2))) !important;
}

.panel-plate-template.is-plate-compiled[data-plate-layout='stacked'][data-plate-template='lanes'] > .panel-plate__inner {
  min-block-size: max(15.8rem, calc(var(--plate-field-min, 14rem) - (var(--plate-grammar-inset) * 2))) !important;
}

/* Extra-narrow safety: reduce type before allowing collisions. */
@container (max-width: 25rem) {
  .panel-plate-template.is-plate-compiled[data-plate-template] {
    --plate-grammar-inset: 0.82rem;
    --plate-grammar-node-pad-x: 0.56rem;
    --plate-node-font: clamp(0.68rem, 2.6vw, 0.78rem);
  }
}

/* Debug mode: add ?plateDebug to any page URL. */
body[data-plate-debug='true'] .panel-plate-template.is-plate-compiled .panel-plate__inner,
.panel-plate-template.is-plate-compiled[data-plate-debug='true'] .panel-plate__inner {
  background-image:
    linear-gradient(rgba(33, 95, 134, 0.09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(33, 95, 134, 0.09) 1px, transparent 1px) !important;
  background-size: 10% 10% !important;
}

body[data-plate-debug='true'] .panel-plate-template.is-plate-compiled .panel-plate__nodes > [data-slot]::after,
.panel-plate-template.is-plate-compiled[data-plate-debug='true'] .panel-plate__nodes > [data-slot]::after {
  content: attr(data-slot);
  position: absolute;
  inset-block-start: calc(100% + 0.16rem);
  inset-inline-start: 50%;
  transform: translateX(-50%);
  font-family: var(--font-ui, system-ui, sans-serif);
  font-size: 0.56rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: rgba(19, 41, 71, 0.56);
  white-space: nowrap;
}

/* =========================================================
   Synapse Plate Grammar V9 — State Authority Layer

   This block is intentionally the last authority in this file.
   State is sovereign: if JS or shell state resolves a plate to a
   composition state, template/node defaults must yield.

   State model:
   - data-plate-layout: wide | stacked
   - data-plate-safety: clear | tight | crowded | overflow | clipped | compressed
   - data-plate-state: stable | recomposed
   - data-plate-state-authority: true
   ========================================================= */

.panel-plate-template.is-plate-compiled[data-plate-state-authority='true'] {
  --plate-state-node-pad-x: var(--plate-grammar-node-pad-x);
  --plate-state-node-pad-y: var(--plate-grammar-node-pad-y);
  --plate-state-node-min-block: var(--plate-grammar-node-min-block);
}

/* State-managed plates must obey the compiled inner coordinate space. */
.panel-plate-template.is-plate-compiled[data-plate-state-authority='true'] > .panel-plate__inner {
  contain: layout !important;
  overflow: hidden !important;
}

/* State wins over template-era positioning rules. */
.panel-plate-template.is-plate-compiled[data-plate-state-authority='true'] .panel-plate__nodes > [data-slot] {
  inset: auto !important;
  inset-block-start: auto !important;
  inset-block-end: auto !important;
  inset-inline-start: auto !important;
  inset-inline-end: auto !important;
  max-inline-size: min(var(--slot-max, 100%), 100%) !important;
  max-width: min(var(--slot-max, 100%), 100%) !important;
  min-block-size: var(--plate-state-node-min-block) !important;
  padding: var(--plate-state-node-pad-y) var(--plate-state-node-pad-x) !important;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
}

.panel-plate-template.is-plate-compiled[data-plate-state-authority='true'] .panel-plate__nodes > [data-anchor='center'] {
  inset-inline-start: var(--plate-node-x) !important;
  inset-block-start: var(--plate-node-y) !important;
  transform: translate(-50%, -50%) !important;
}

.panel-plate-template.is-plate-compiled[data-plate-state-authority='true'] .panel-plate__nodes > [data-anchor='start'] {
  inset-inline-start: var(--plate-node-x) !important;
  inset-block-start: var(--plate-node-y) !important;
  transform: translateY(-50%) !important;
}

.panel-plate-template.is-plate-compiled[data-plate-state-authority='true'] .panel-plate__nodes > [data-anchor='end'] {
  inset-inline-end: calc(100% - var(--plate-node-x)) !important;
  inset-block-start: var(--plate-node-y) !important;
  transform: translateY(-50%) !important;
}

/* Stacked is a composition state, not an emergency clipping state. */
.panel-plate-template.is-plate-compiled[data-plate-state-authority='true'][data-plate-layout='stacked'] .panel-plate__nodes > [data-slot] {
  overflow: visible !important;
  text-overflow: clip !important;
}

/* Tight/crowded states compress before they ever allow overlap. */
.panel-plate-template.is-plate-compiled[data-plate-state-authority='true'][data-plate-safety='tight'],
.panel-plate-template.is-plate-compiled[data-plate-state-authority='true'][data-plate-safety='crowded'],
.panel-plate-template.is-plate-compiled[data-plate-state-authority='true'][data-plate-safety='clipped'],
.panel-plate-template.is-plate-compiled[data-plate-state-authority='true'][data-plate-safety='compressed'] {
  --plate-state-node-pad-x: clamp(0.52rem, 1.6cqi, 0.68rem);
  --plate-state-node-pad-y: 0.32rem;
  --plate-state-node-min-block: 1.76rem;
  --plate-node-font: clamp(0.68rem, 2.3cqi, 0.82rem);
}

/* Convergence: stacked state requires true vertical composition. */
.panel-plate-template.is-plate-compiled[data-plate-state-authority='true'][data-plate-template='convergence'][data-plate-layout='stacked'] > .panel-plate__inner {
  min-block-size: max(15.4rem, calc(var(--plate-field-min, 14rem) - (var(--plate-grammar-inset) * 2))) !important;
}

.panel-plate-template.is-plate-compiled[data-plate-state-authority='true'][data-plate-template='convergence'][data-plate-layout='stacked'] .panel-plate__nodes > [data-slot='top-left'],
.panel-plate-template.is-plate-compiled[data-plate-state-authority='true'][data-plate-template='convergence'][data-plate-layout='stacked'] .panel-plate__nodes > [data-slot='top-right'] {
  max-inline-size: min(94%, 18rem) !important;
  max-width: min(94%, 18rem) !important;
}

/* Branch routes: stacked means actions stack vertically, not split in one crowded row. */
.panel-plate-template.is-plate-compiled[data-plate-state-authority='true'][data-plate-template='route'][data-plate-variant='branch'][data-plate-layout='stacked'] > .panel-plate__inner {
  min-block-size: max(14.8rem, calc(var(--plate-field-min, 14rem) - (var(--plate-grammar-inset) * 2))) !important;
}

.panel-plate-template.is-plate-compiled[data-plate-state-authority='true'][data-plate-template='route'][data-plate-variant='branch'][data-plate-layout='stacked'] .panel-plate__nodes > [data-slot='route-action-a'],
.panel-plate-template.is-plate-compiled[data-plate-state-authority='true'][data-plate-template='route'][data-plate-variant='branch'][data-plate-layout='stacked'] .panel-plate__nodes > [data-slot='route-action-b'] {
  max-inline-size: min(92%, 15rem) !important;
  max-width: min(92%, 15rem) !important;
}

/* Linear route and lanes also get extra breathing room when state recomposes them. */
.panel-plate-template.is-plate-compiled[data-plate-state-authority='true'][data-plate-template='route'][data-plate-layout='stacked'] > .panel-plate__inner {
  min-block-size: max(13.6rem, calc(var(--plate-field-compact-min, 12.5rem) - (var(--plate-grammar-inset) * 2))) !important;
}

.panel-plate-template.is-plate-compiled[data-plate-state-authority='true'][data-plate-template='lanes'][data-plate-layout='stacked'] > .panel-plate__inner {
  min-block-size: max(16.2rem, calc(var(--plate-field-min, 14rem) - (var(--plate-grammar-inset) * 2))) !important;
}

/* Mobile state should not be allowed to present paired convergence bubbles. */
@media (max-width: 760px) {
  .panel-plate-template.is-plate-compiled[data-plate-state-authority='true'][data-plate-template='convergence'],
  .panel-plate-template.is-plate-compiled[data-plate-state-authority='true'][data-plate-template='route'][data-plate-variant='branch'] {
    --plate-state-node-pad-x: clamp(0.54rem, 1.8cqi, 0.72rem);
  }
}

/* Debug labels include state so the governing mode is visible. */
body[data-plate-debug='true'] .panel-plate-template.is-plate-compiled[data-plate-state-authority='true']::after,
.panel-plate-template.is-plate-compiled[data-plate-debug='true'][data-plate-state-authority='true']::after {
  content: attr(data-plate-template) ' / ' attr(data-plate-layout) ' / ' attr(data-plate-safety) !important;
  position: absolute !important;
  inset-block-start: 0.35rem !important;
  inset-inline-end: 0.5rem !important;
  z-index: 6 !important;
  font-family: var(--font-ui, system-ui, sans-serif) !important;
  font-size: 0.58rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: rgba(19, 41, 71, 0.55) !important;
  background: rgba(255, 255, 255, 0.72) !important;
  border: 1px solid rgba(19, 41, 71, 0.08) !important;
  border-radius: 999px !important;
  padding: 0.16rem 0.42rem !important;
  opacity: 0.86 !important;
}

/* =========================================================
   Spatial Engine Round 2 — Plate Bridge Hooks

   The existing plate compiler still owns markup normalization, slot assignment,
   SVG route generation, and safety recomposition. Spatial registration records
   the solved boxes and exposes them for debug/future reuse. Visual fallback
   remains the current plate grammar if registration is unavailable.
   ========================================================= */
.panel-plate-template[data-spatial-object='plate'] {
  --plate-spatial-debug-line: rgba(43, 130, 139, 0.46);
}

.panel-plate-template.is-plate-compiled[data-spatial-registered='true'] .panel-plate__nodes > [data-slot] {
  --plate-node-x: var(--plate-node-registered-x, var(--plate-node-x));
  --plate-node-y: var(--plate-node-registered-y, var(--plate-node-y));
}

body[data-spatial-debug='bounds'] .panel-plate-template[data-spatial-registered='true'] {
  outline: 1px dashed var(--plate-spatial-debug-line);
  outline-offset: -2px;
}

body[data-spatial-debug='bounds'] .panel-plate-template[data-spatial-registered='true'] .panel-plate__nodes > [data-spatial-box] {
  box-shadow:
    0 0 0 1px rgba(43, 130, 139, 0.32),
    0 0.24rem 0.6rem rgba(17, 37, 61, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.72) !important;
}

body[data-spatial-debug='bounds'] .panel-plate-template[data-spatial-registered='true'] .panel-plate__routes [data-route] {
  opacity: 1;
}
/* production-css: end css/panel-plates.css */


/* production-css: begin css/diagram-system.css */
/* diagram-system.css
   Build-time compiled diagram panels.

   Contract:
   - Diagram content is compiled at build time from src/diagrams data.
   - Diagrams are structural grid layouts, not absolute-positioned bubbles.
   - CSS owns visual tone and responsive recomposition only.
   - Runtime JS is not required to prevent overlap.
*/

:root {
  --diagram-panel-gap: clamp(0.82rem, 0.64rem + 0.52vw, 1.08rem);
  --diagram-plate-radius: var(--plate-field-radius, 1.08rem);
  --diagram-plate-inset: clamp(1rem, 0.78rem + 0.72vw, 1.38rem);
  --diagram-plate-min: clamp(13.8rem, 24vw, 17.6rem);
  --diagram-node-min-block: var(--plate-node-min-block, 2.12rem);
  --diagram-node-pad-x: clamp(0.72rem, 0.56rem + 0.42vw, 0.96rem);
  --diagram-node-pad-y: 0.4rem;
  --diagram-node-radius: var(--plate-node-radius, 999px);
  --diagram-node-font: var(--plate-node-font, clamp(0.76rem, 0.68rem + 0.35vw, 0.92rem));
  --diagram-node-ink: var(--plate-node-ink, var(--color-title, #132947));
  --diagram-node-border: var(--plate-node-border-strong, rgba(33, 95, 134, 0.18));
  --diagram-node-surface-top: var(--plate-node-surface-top, rgba(255, 255, 255, 0.995));
  --diagram-node-surface-bottom: var(--plate-node-surface-bottom, rgba(238, 246, 248, 0.975));
  --diagram-node-shadow: 0 0.24rem 0.6rem rgba(17, 37, 61, 0.09), inset 0 1px 0 rgba(255, 255, 255, 0.72);
  --diagram-focus-border: var(--plate-focus-border, rgba(164, 132, 72, 0.24));
  --diagram-focus-surface-top: var(--plate-focus-surface-top, rgba(255, 255, 255, 0.995));
  --diagram-focus-surface-bottom: var(--plate-focus-surface-bottom, rgba(249, 247, 239, 0.975));
  --diagram-dot-teal: var(--plate-dot-teal, rgba(68, 151, 155, 0.26));
  --diagram-dot-gold: var(--plate-dot-gold, rgba(164, 132, 72, 0.25));
  --diagram-route: var(--syn-casing, rgba(164, 132, 72, 0.34));
  --diagram-route-strong: var(--syn-casing-strong, rgba(164, 132, 72, 0.48));
  --diagram-route-soft: color-mix(in srgb, var(--syn-identity, #132947) 18%, transparent);
}

.diagram-panel {
  display: grid;
  gap: var(--diagram-panel-gap);
  align-content: start;
}

.diagram-panel__plate {
  container-type: inline-size;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  box-sizing: border-box;
  min-width: 0;
  min-height: var(--diagram-plate-min);
  padding: var(--diagram-plate-inset);
  border-radius: var(--diagram-plate-radius);
  border: 1px solid var(--panel-plate-border, rgba(19, 41, 71, 0.105));
  background:
    radial-gradient(circle at 24% 12%, rgba(255, 255, 255, 0.96), transparent 32%),
    radial-gradient(circle at 78% 86%, rgba(126, 181, 187, 0.13), transparent 34%),
    linear-gradient(180deg, rgba(250, 253, 253, 0.99), rgba(236, 246, 248, 0.965));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.62),
    inset 0 -0.65rem 1.2rem rgba(33, 95, 134, 0.04),
    0 0 0 1px rgba(164, 132, 72, 0.035);
}

.diagram-panel__plate::before,
.diagram-panel__plate::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
}

.diagram-panel__plate::before {
  inset: clamp(0.62rem, 1.8cqi, 0.86rem);
  border-radius: calc(var(--diagram-plate-radius) - 0.18rem);
  border: 1px solid rgba(33, 95, 134, 0.095);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0.08));
}

.diagram-panel__plate::after {
  left: 10%;
  right: 10%;
  top: 50%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(33, 95, 134, 0.08), transparent);
  opacity: 0.45;
}

.diagram {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  align-items: center;
  justify-items: center;
  gap: clamp(0.62rem, 1.7cqi, 0.98rem);
  min-width: 0;
  min-height: calc(var(--diagram-plate-min) - (var(--diagram-plate-inset) * 2));
}

.diagram__row {
  display: grid;
  align-items: center;
  justify-items: center;
  width: 100%;
  min-width: 0;
}

.diagram__row--pair {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(0.78rem, 3.2cqi, 1.5rem);
}

.diagram__row--center {
  grid-template-columns: minmax(0, auto);
}

.diagram__row--linear {
  grid-template-columns: minmax(0, 1fr) minmax(1.3rem, 0.22fr) minmax(0, auto) minmax(1.3rem, 0.22fr) minmax(0, 1fr);
  gap: clamp(0.42rem, 1.8cqi, 0.78rem);
}

.diagram-node {
  box-sizing: border-box;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  max-width: min(100%, 18rem);
  min-width: 0;
  min-height: var(--diagram-node-min-block);
  padding: var(--diagram-node-pad-y) var(--diagram-node-pad-x);
  border-radius: var(--diagram-node-radius);
  border: 1px solid var(--diagram-node-border);
  background: linear-gradient(180deg, var(--diagram-node-surface-top), var(--diagram-node-surface-bottom));
  box-shadow: var(--diagram-node-shadow);
  color: var(--diagram-node-ink);
  font-family: var(--font-ui);
  font-size: var(--diagram-node-font);
  font-weight: var(--font-weight-bold);
  letter-spacing: -0.012em;
  line-height: 1.12;
  text-align: center;
  white-space: normal;
  text-wrap: balance;
  overflow-wrap: normal;
}

.diagram-node::before {
  content: "";
  flex: 0 0 0.46rem;
  inline-size: 0.46rem;
  block-size: 0.46rem;
  border-radius: 999px;
  border: 2px solid rgba(255, 255, 255, 0.68);
  background: var(--diagram-dot-teal);
  box-shadow: 0 0 0 1px rgba(68, 151, 155, 0.08);
}

.diagram-node--focus {
  max-width: min(100%, 18.5rem);
  border-radius: 0.96rem;
  border-color: var(--diagram-focus-border);
  background: linear-gradient(180deg, var(--diagram-focus-surface-top), var(--diagram-focus-surface-bottom));
  box-shadow:
    0 0.3rem 0.72rem rgba(17, 37, 61, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.diagram-node--focus::before {
  background: var(--diagram-dot-gold);
  box-shadow: 0 0 0 1px rgba(164, 132, 72, 0.10);
}

.diagram-node--lane {
  justify-content: flex-start;
  width: min(100%, 17.5rem);
}

.diagram-connector {
  display: block;
  justify-self: center;
  pointer-events: none;
}

.diagram-connector--vertical {
  inline-size: 2px;
  block-size: clamp(1.25rem, 4.6cqi, 2.2rem);
  border-radius: 999px;
  background: linear-gradient(180deg, var(--diagram-route-soft), var(--diagram-route), var(--diagram-route-soft));
}

.diagram-connector--inline {
  inline-size: 100%;
  min-inline-size: 1.4rem;
  block-size: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--diagram-route-soft), var(--diagram-route), var(--diagram-route-soft));
}

.diagram-connector--accent {
  background: linear-gradient(90deg, var(--diagram-route-soft), var(--diagram-route-strong), var(--diagram-route-soft));
}

.diagram-connector--merge {
  inline-size: min(48%, 11.5rem);
  block-size: clamp(1.35rem, 4.4cqi, 2.25rem);
  border-inline: 2px solid var(--diagram-route);
  border-block-end: 2px solid var(--diagram-route);
  border-radius: 0 0 1.1rem 1.1rem;
  opacity: 0.9;
}

.diagram-connector--split {
  inline-size: min(52%, 12rem);
  block-size: clamp(1.35rem, 4.4cqi, 2.25rem);
  border-inline: 2px solid var(--diagram-route);
  border-block-start: 2px solid var(--diagram-route);
  border-radius: 1.1rem 1.1rem 0 0;
  opacity: 0.9;
}

.diagram--linear-route {
  --diagram-plate-min: clamp(10.5rem, 20vw, 13rem);
}

.diagram--lanes {
  --diagram-plate-min: clamp(14.8rem, 25vw, 18.2rem);
}

.diagram__lane-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(1.4rem, 0.16fr) minmax(0, 0.82fr);
  align-items: center;
  gap: clamp(0.8rem, 2.4cqi, 1.25rem);
  width: 100%;
  min-width: 0;
}

.diagram__lanes {
  display: grid;
  gap: clamp(0.48rem, 1.4cqi, 0.72rem);
  min-width: 0;
}

.diagram__destination {
  display: grid;
  justify-items: center;
  min-width: 0;
}

.diagram-connector--lane-spine {
  inline-size: 2px;
  block-size: min(72%, 9rem);
  min-block-size: 5.5rem;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--diagram-route-soft), var(--diagram-route-strong), var(--diagram-route-soft));
}

.diagram-panel__copy {
  gap: clamp(0.45rem, 0.32rem + 0.34vw, 0.66rem);
}

.diagram-panel__copy .panel-summary {
  max-width: 42rem;
}

.diagram-panel__chips {
  margin-block-start: 0.05rem;
}

.diagram-panel__actions {
  margin-block-start: 0.18rem;
}

@container (max-width: 28rem) {
  .diagram-panel__plate {
    --diagram-plate-inset: clamp(0.86rem, 4cqi, 1.05rem);
    --diagram-node-font: clamp(0.72rem, 3.4cqi, 0.84rem);
    --diagram-node-pad-x: 0.68rem;
  }

  .diagram__row--pair {
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(0.52rem, 2.6cqi, 0.72rem);
  }

  .diagram__row--linear {
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(0.52rem, 2.6cqi, 0.72rem);
  }

  .diagram__row--linear .diagram-connector--inline {
    inline-size: 2px;
    min-inline-size: 0;
    block-size: 1.45rem;
    background: linear-gradient(180deg, var(--diagram-route-soft), var(--diagram-route), var(--diagram-route-soft));
  }

  .diagram-connector--merge,
  .diagram-connector--split {
    inline-size: 2px;
    block-size: 1.45rem;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--diagram-route-soft), var(--diagram-route), var(--diagram-route-soft));
  }

  .diagram__lane-grid {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
  }

  .diagram__lanes,
  .diagram__destination {
    width: 100%;
  }

  .diagram-connector--lane-spine {
    inline-size: 2px;
    min-block-size: 1.6rem;
    block-size: 1.6rem;
  }

  .diagram-node,
  .diagram-node--focus,
  .diagram-node--lane {
    width: auto;
    max-width: min(100%, 18rem);
  }
}

@media (max-width: 760px) {
  .diagram-panel {
    gap: 0.72rem;
  }

  .diagram-panel__plate {
    border-radius: 0.95rem;
  }
}

/* =========================================================
   Spatial Registration Compatibility — Round 3
   Compiled diagrams remain build-time/CSS-led. These hooks only expose
   the shared spatial vocabulary and debug bounds; they do not convert
   diagrams into runtime absolute-positioned plate objects.
   ========================================================= */
.diagram-panel[data-spatial-compatible='compiled-diagram'] {
  --diagram-spatial-debug-line: rgba(43, 130, 139, 0.42);
}

body[data-spatial-debug='bounds'] .diagram-panel[data-spatial-compatible='compiled-diagram'] {
  outline: 1px dashed var(--diagram-spatial-debug-line);
  outline-offset: 3px;
}

body[data-spatial-debug='bounds'] .diagram-panel[data-spatial-compatible='compiled-diagram'] [data-spatial-zone='diagram-plate'] {
  outline: 1px dashed rgba(200, 177, 118, 0.48);
  outline-offset: -2px;
}

body[data-spatial-debug='bounds'] .diagram-panel[data-spatial-compatible='compiled-diagram'] [data-spatial-zone='diagram-node'] {
  outline: 1px dotted rgba(19, 41, 71, 0.34);
  outline-offset: 2px;
}
/* production-css: end css/diagram-system.css */


/* production-css: begin css/portal.css */
.shell-body[data-shell-mode='portal'] .viewport-window {
  background: linear-gradient(180deg, rgba(255,255,255,0.82), rgba(246,250,251,0.88));
}

.portal-intake-grid,
.portal-intake-stack,
.portal-intake-support,
.portal-intake-auth { display: grid; gap: 1rem; }

.portal-intake-grid {
  grid-template-columns: minmax(0, 1.38fr) minmax(18rem, 0.82fr);
  align-items: start;
}

.portal-intake-main,
.portal-intake-side { min-width: 0; display: grid; gap: 1rem; }
.portal-intake-form { display: grid; gap: 1rem; }
.portal-intake-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.9rem; }
.portal-intake-form__grid--single { grid-template-columns: 1fr; }
.portal-intake-form__actions,
.portal-intake__row,
.portal-intake-auth__actions { display: flex; gap: 0.75rem; flex-wrap: wrap; align-items: center; justify-content: space-between; }
.portal-intake-auth__status { display: grid; gap: 0.5rem; }
.portal-intake-auth__status .status-pill[data-tone='error'],
.portal-intake-message[data-tone='error'] { background: rgba(163, 94, 82, 0.12); }
.portal-intake-auth__status .status-pill[data-tone='success'],
.portal-intake-message[data-tone='success'] { background: rgba(95, 130, 109, 0.14); }
.portal-intake-message {
  min-height: 1.5rem;
  margin: 0;
  color: var(--color-text-soft);
  font-family: var(--font-body);
  font-size: 0.92rem;
}
.portal-intake__list { display: grid; gap: 0.9rem; }
.portal-intake__list-item .panel__title { font-size: 1.08rem; }
.portal-intake__empty { margin: 0; color: var(--color-text-soft); font-family: var(--font-body); }
.portal-intake__helper-list {
  margin: 0;
  padding-left: 1.1rem;
  display: grid;
  gap: 0.45rem;
}
.portal-intake__helper-list li,
.portal-intake__lane-list li,
.portal-intake__fine,
.support-chamber__hint { font-family: var(--font-body); }
.portal-intake__code {
  margin: 0;
  padding: 0.85rem 0.95rem;
  border-radius: 1rem;
  background: rgba(20,32,51,0.05);
  border: 1px solid rgba(20, 32, 51, 0.08);
  color: var(--color-title);
  font-family: var(--font-ui);
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.portal-intake__lane-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.55rem;
}
.portal-intake__lane-list li {
  padding: 0.8rem 0.9rem;
  border-radius: 1rem;
  background: rgba(255,255,255,0.82);
  border: 1px solid rgba(20, 32, 51, 0.08);
}
.portal-intake__fine,
.support-chamber__hint {
  margin: 0;
  color: var(--color-text-soft);
  font-size: 0.88rem;
  line-height: 1.55;
}
.portal-intake-divider { border-top: 1px solid rgba(20, 32, 51, 0.08); padding-top: 1rem; }
.support-chamber__panel--auth { container-type: inline-size; }
.support-chamber__auth-shell,
.support-context { display: grid; gap: 1rem; }
.support-chamber__auth-shell { align-items: start; }
.support-chamber__request { gap: 0.85rem; }
.support-chamber__request.is-expanded { box-shadow: var(--shadow-sm); }
.support-chamber__request-header { align-items: flex-start; }
.support-chamber__request-form textarea { width: 100%; resize: vertical; }
.support-context__card { min-height: 100%; }
.support-context__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.support-context__empty { display: grid; gap: 0.75rem; }
.login-page .support-chamber__window { background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(246,250,252,0.98)); }
@container (min-width: 42rem) {
  .support-chamber__auth-shell.is-request-open {
    grid-template-columns: minmax(0, 1.08fr) minmax(16rem, 0.92fr);
    align-items: start;
  }
  .support-chamber__auth-shell.is-request-open .support-chamber__request { margin-top: 0; }
}
@media (max-width: 72rem) { .portal-intake-grid { grid-template-columns: 1fr; } }
@media (max-width: 48rem) {
  .portal-intake-form__grid { grid-template-columns: 1fr; }
  .portal-intake-form__actions,
  .portal-intake__row,
  .portal-intake-auth__actions { flex-direction: column; align-items: stretch; }
}
.support-context__stack { display: grid; gap: 1rem; }
.support-context__card .portal-intake__lane-list strong { display: block; margin-bottom: 0.25rem; }

.shell-authbar__actions--utility {
  gap: 0.5rem;
  flex-wrap: wrap;
}

.portal-intake__row-actions {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
}

.portal-thread-grid {
  display: grid;
  grid-template-columns: minmax(18rem, 0.92fr) minmax(0, 1.08fr);
  gap: 1rem;
  align-items: start;
}

.portal-thread-panel {
  min-width: 0;
}

.portal-thread-list {
  display: grid;
  gap: 0.9rem;
}

.portal-thread-card {
  display: grid;
  gap: 0.9rem;
  padding: 1rem;
  border-radius: 1rem;
  background: rgba(255,255,255,0.82);
  border: 1px solid rgba(20, 32, 51, 0.08);
}

.portal-thread-card__top,
.portal-thread-card__meta,
.portal-thread-reply__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
  justify-content: space-between;
}

.portal-thread-card__meta {
  justify-content: flex-start;
}

.portal-thread-card__meta-item {
  font-family: var(--font-body);
  font-size: 0.88rem;
  color: var(--color-text-soft);
}

.portal-thread-card__messages {
  display: grid;
  gap: 0.65rem;
}

.portal-thread-bubble {
  padding: 0.8rem 0.9rem;
  border-radius: 0.95rem;
  border: 1px solid rgba(20, 32, 51, 0.08);
  background: rgba(247, 249, 251, 0.94);
}

.portal-thread-bubble[data-role='clinician'] {
  background: rgba(31, 77, 120, 0.08);
}

.portal-thread-bubble__meta {
  margin: 0 0 0.25rem;
  font-family: var(--font-ui);
  font-size: 0.78rem;
  color: var(--color-text-soft);
}

.portal-thread-bubble__body {
  margin: 0;
  white-space: pre-wrap;
}

.portal-thread-reply {
  display: grid;
  gap: 0.7rem;
  border-top: 1px solid rgba(20, 32, 51, 0.08);
  padding-top: 0.8rem;
}

.portal-thread-reply textarea {
  width: 100%;
  resize: vertical;
}

@media (max-width: 72rem) {
  .portal-thread-grid {
    grid-template-columns: 1fr;
  }
}
/* production-css: end css/portal.css */


/* production-css: begin css/workspace.css */
.shell-body[data-shell-mode='workspace'] .viewport-window { background: rgba(255,255,255,0.5); }
/* The shell-owned Action Chamber is active in Workspace.
   Visibility is now governed by data-support-chamber + data-chamber-admission
   in the shell/viewport chamber styles, not suppressed by workspace.css. */

.portal-admin__metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.portal-admin__layout {
  display: grid;
  grid-template-columns: minmax(18rem, 0.9fr) minmax(0, 1.3fr);
  gap: 1rem;
  align-items: start;
}
.portal-admin__queue,
.portal-admin__detail { min-width: 0; }
.portal-admin__queue-list,
.portal-admin__mini-list { display: grid; gap: 0.8rem; }
.portal-admin__queue-card {
  width: 100%;
  text-align: left;
  padding: 0.95rem;
  border-radius: 1rem;
  border: 1px solid rgba(19,41,71,0.08);
  background: rgba(255,255,255,0.88);
  box-shadow: var(--shadow-sm);
}
.portal-admin__queue-card.is-active {
  border-color: rgba(49,85,127,0.28);
  box-shadow: 0 12px 32px rgba(16,37,63,0.1);
}
.portal-admin__queue-top,
.portal-admin__meta-grid,
.portal-admin__inline-form,
.portal-admin__detail-grid { display: grid; gap: 0.8rem; }
.portal-admin__queue-top { grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
.portal-admin__queue-meta,
.portal-admin__minor {
  margin: 0;
  color: var(--color-text-soft);
  font-family: var(--font-body);
  font-size: 0.9rem;
  line-height: 1.55;
}
.portal-admin__callout {
  padding: 0.85rem 0.95rem;
  border-radius: 1rem;
  background: rgba(19,41,71,0.05);
  border: 1px solid rgba(19,41,71,0.08);
}
.portal-admin__inline-form label { display: grid; gap: 0.35rem; }
.portal-admin__inline-form textarea,
.portal-admin__inline-form input,
.portal-admin__inline-form select { width: 100%; }
.portal-admin__mini-item {
  display: grid;
  gap: 0.2rem;
  padding: 0.75rem 0.85rem;
  border-radius: 0.95rem;
  background: rgba(255,255,255,0.82);
  border: 1px solid rgba(19,41,71,0.07);
}

.workspace-system-page {
  display: grid;
  gap: 1rem;
}

.workspace-page-hero {
  position: relative;
  overflow: hidden;
}

.workspace-page-hero::after {
  content: '';
  position: absolute;
  right: -3rem;
  top: -4rem;
  width: 14rem;
  height: 14rem;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(49,85,127,0.08), transparent 66%);
  pointer-events: none;
}

.workspace-stat-strip .system-stat strong {
  font-size: clamp(1.45rem, 4.6vw, 2.15rem);
}

.workspace-route-page {
  display: grid;
  gap: 1rem;
}

.workspace-page-grid {
  display: grid;
  gap: 1rem;
  align-items: start;
}

.workspace-page-grid--clients,
.workspace-page-grid--pending {
  grid-template-columns: minmax(0, 1.18fr) minmax(18rem, 0.72fr);
}

.workspace-main-chamber,
.workspace-subchamber {
  min-width: 0;
}

.workspace-main-chamber {
  display: grid;
  gap: 1rem;
}

.workspace-subchamber {
  position: sticky;
  top: 0.8rem;
  display: grid;
  gap: 0.9rem;
  align-self: start;
}

.workspace-chamber-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: start;
}

.workspace-chamber-head--compact {
  grid-template-columns: 1fr;
}

.workspace-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.8rem;
  align-items: end;
}
.workspace-toolbar__actions,
.workspace-toolbar__views,
.workspace-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
}

.workspace-search-field {
  flex: 1 1 16rem;
  min-width: min(100%, 14rem);
}

.workspace-card-list {
  display: grid;
  gap: 0.82rem;
}

.workspace-empty {
  margin: 0;
}

.workspace-empty-state {
  display: grid;
  gap: 0.85rem;
  padding: 1rem;
  border-radius: 1.1rem;
  border: 1px dashed rgba(19,41,71,0.16);
  background: rgba(255,255,255,0.64);
}

.workspace-record-card { gap: 0.8rem; }
.workspace-record-card.is-active,
.workspace-client-card.is-active {
  border-color: rgba(49,85,127,0.34);
  box-shadow: 0 14px 34px rgba(16,37,63,0.12);
}
.workspace-record-card__button,
.workspace-client-card__button {
  width: 100%;
  display: grid;
  gap: 0.8rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.workspace-record-card__top,
.workspace-record-card__meta { display: grid; gap: 0.65rem; }
.workspace-record-card__top { grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
.workspace-record-card__meta { grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); }
.workspace-inline-grid { display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); }
.workspace-role-chip-row { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.workspace-role-chip {
  display: inline-flex;
  align-items: center;
  min-height: 1.95rem;
  padding: 0 0.75rem;
  border-radius: 999px;
  background: rgba(49,85,127,0.08);
  color: var(--color-title);
  font-family: var(--font-ui);
  font-size: 0.84rem;
  font-weight: var(--font-weight-semibold);
}
.workspace-role-chip.is-existing { background: rgba(95,130,109,0.14); }
.workspace-role-chip--muted { background: rgba(20,32,51,0.05); color: var(--color-text-soft); }
.workspace-action-grid { display: grid; gap: 0.8rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.workspace-form-field { display: grid; gap: 0.35rem; }
.workspace-form-field--wide { grid-column: 1 / -1; }
.workspace-form-label {
  color: var(--color-title);
  font-family: var(--font-ui);
  font-size: 0.88rem;
  font-weight: var(--font-weight-bold);
}
.workspace-record-card__actions,
.workspace-context-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.workspace-record-card__message {
  min-height: 1.5rem;
  margin: 0;
  color: var(--color-text-soft);
  font-family: var(--font-body);
  font-size: 0.92rem;
}

.workspace-client-card {
  display: grid;
  gap: 0.85rem;
  padding: 0.95rem;
  border-radius: 1.1rem;
  border: 1px solid rgba(19,41,71,0.075);
  background: rgba(255,255,255,0.84);
  box-shadow: 0 10px 26px rgba(16,37,63,0.055);
}

.workspace-client-card__top,
.workspace-mail-row__line {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: start;
}

.workspace-client-card__title,
.workspace-mail-row__subject {
  display: block;
  line-height: 1.12;
}

.workspace-client-desk,
.workspace-client-detail-card,
.workspace-context-card {
  display: grid;
  gap: 0.9rem;
}

.workspace-client-detail-card {
  padding: 1rem;
  border-radius: 1.15rem;
  background: linear-gradient(180deg, rgba(239,248,250,0.78), rgba(255,255,255,0.86));
  border: 1px solid rgba(49,85,127,0.12);
}

.workspace-detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 0.7rem;
}

.workspace-detail-grid span {
  display: grid;
  gap: 0.2rem;
  padding: 0.72rem;
  border-radius: 0.9rem;
  background: rgba(255,255,255,0.74);
  border: 1px solid rgba(19,41,71,0.07);
  color: var(--color-text-soft);
  font-family: var(--font-body);
  line-height: 1.35;
}

.workspace-detail-grid strong {
  color: var(--color-title);
  font-family: var(--font-ui);
  font-size: 0.76rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.workspace-pending-queue {
  display: grid;
  gap: 0.8rem;
}

.workspace-booking-desk,
.workspace-step-stack,
.workspace-step-card {
  display: grid;
  gap: 0.8rem;
}

.workspace-step-card {
  padding: 0.85rem;
  border-radius: 1rem;
  background: rgba(255,255,255,0.74);
  border: 1px solid rgba(19,41,71,0.08);
}

.workspace-step-card h4,
.workspace-step-card p {
  margin: 0;
}

.workspace-step-card h4 {
  color: var(--color-title);
  font-family: var(--font-ui);
  font-size: 1rem;
}

.workspace-step-card p {
  color: var(--color-text-soft);
  line-height: 1.52;
}

.workspace-booking-form {
  padding-top: 0.2rem;
}

/* Email-like Inbox polish */
.workspace-inbox-layout.inbox-system-grid--writing {
  grid-template-columns: minmax(14rem, 0.74fr) minmax(0, 1.12fr) minmax(18rem, 0.78fr);
  gap: 0.9rem;
  align-items: stretch;
}

.workspace-mail-list-chamber,
.workspace-mail-reader,
.workspace-inbox-writing {
  min-width: 0;
  height: 100%;
}

.workspace-mail-list,
.portal-thread-list {
  display: grid;
  gap: 0.72rem;
}

.workspace-mail-row {
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(19,41,71,0.075);
  background: rgba(255,255,255,0.82);
}

.workspace-mail-row.is-active,
.workspace-mail-row:has(.workspace-mail-row__button[aria-pressed='true']) {
  border-color: rgba(49,85,127,0.28);
  box-shadow: 0 14px 34px rgba(16,37,63,0.11);
  background: rgba(255,255,255,0.96);
}

.workspace-mail-row__button {
  gap: 0.62rem;
}

.workspace-mail-row__sender,
.workspace-mail-row__subject {
  color: var(--color-title);
  font-family: var(--font-ui);
  font-weight: var(--font-weight-bold);
}

.workspace-mail-row__time,
.workspace-mail-row__line--soft {
  color: var(--color-text-soft);
  font-family: var(--font-body);
  font-size: 0.84rem;
}

.workspace-mail-reader__shell,
.workspace-mail-empty-state,
.workspace-mail-draft {
  display: grid;
  gap: 0.9rem;
  align-content: start;
  min-height: 100%;
}

.workspace-mail-reader__header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: start;
}

.workspace-mail-reader__meta {
  padding: 0.7rem 0.75rem;
  border-radius: 0.95rem;
  background: rgba(255,255,255,0.72);
  border: 1px solid rgba(19,41,71,0.07);
}

.workspace-mail-stack {
  max-height: min(34rem, calc(100vh - 26rem));
  overflow: auto;
  padding-right: 0.1rem;
}

.workspace-mail-bubble {
  white-space: normal;
}

.workspace-mail-compose textarea {
  min-height: 9rem;
  resize: vertical;
}

.inbox-writing-desk__head {
  display: flex;
  justify-content: space-between;
  gap: 0.72rem;
  align-items: start;
}

.inbox-writing-desk__meta {
  display: grid;
  gap: 0.4rem;
  padding: 0.68rem 0.72rem;
  border-radius: 0.95rem;
  border: 1px solid rgba(19,41,71,0.07);
  background: rgba(255,255,255,0.72);
  color: var(--color-text-soft);
  font-family: var(--font-ui);
  font-size: 0.82rem;
  font-weight: var(--font-weight-semibold);
}

.status-pill[data-state-light='needs-workspace'],
.status-pill[data-state-light='needs-workspace-reply'],
.status-pill[data-state-light='waiting-on-workspace'],
.status-pill[data-state-light='sent-to-workspace'] {
  background: rgba(181,136,76,0.16);
  color: rgb(111,76,31);
}

.status-pill[data-state-light='needs-clinician'],
.status-pill[data-state-light='waiting-on-clinician'] {
  background: rgba(49,85,127,0.13);
  color: rgb(35,70,108);
}

.status-pill[data-state-light='closed'],
.status-pill[data-state-light='archived'] {
  background: rgba(19,41,71,0.08);
  color: rgba(19,41,71,0.72);
}

.workspace-mail-row[data-state-light='needs-workspace'],
.workspace-mail-row[data-state-light='needs-clinician'],
.workspace-mail-row[data-state-light='waiting-on-clinician'],
.workspace-mail-row[data-state-light='sent-to-workspace'] {
  border-left: 3px solid var(--state-light-line, rgba(164,132,72,0.52));
}

.support-context__card .portal-admin__queue-list { margin-top: 0.25rem; }
.support-context__card .portal-admin__queue-card { box-shadow: none; }
.support-context__card .workspace-record-card__message { margin-top: 0.15rem; }

@media (max-width: 84rem) {
  .portal-admin__metrics,
  .portal-admin__layout,
  .portal-admin__detail-grid,
  .workspace-page-grid--clients,
  .workspace-page-grid--pending,
  .workspace-inbox-layout.inbox-system-grid--writing,
  .system-stat-strip {
    grid-template-columns: 1fr;
  }
  .workspace-subchamber,
  .system-subchamber {
    position: static;
  }
  .workspace-mail-stack {
    max-height: 26rem;
  }
}

@media (max-width: 56rem) {
  .workspace-action-grid,
  .workspace-chamber-head,
  .workspace-record-card__top,
  .workspace-client-card__top {
    grid-template-columns: 1fr;
  }
  .workspace-toolbar,
  .workspace-toolbar__actions,
  .workspace-filter-row {
    align-items: stretch;
  }
  .workspace-toolbar__actions .button,
  .workspace-filter-row .button {
    flex: 1 1 auto;
  }
}


/* Workspace route/session synchronization */
.shell-body[data-app="workspace"] .shell-authbar,
.shell-body[data-app="workspace"] .shell-authbar__nav,
.shell-body[data-app="workspace"] .shell-authbar__button[data-workspace-nav] {
  pointer-events: auto;
}
.shell-body[data-app="workspace"] .shell-authbar {
  z-index: 20;
}

/* Workspace Inbox action ownership
   The Inbox main chamber reads messages; the Inbox sub chamber owns writing.
   Action buttons now visibly activate and scroll/focus the correct chamber on
   both desktop and mobile. */
.workspace-inbox-layout[data-inbox-action] .workspace-mail-reader,
.workspace-inbox-layout[data-inbox-action] .workspace-inbox-writing {
  transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
  scroll-margin-block-start: 5.75rem;
}

.workspace-mail-reader.is-active-action,
.workspace-inbox-writing.is-active-action {
  border-color: rgba(49,85,127,0.34);
  box-shadow: 0 18px 44px rgba(16,37,63,0.12);
}

.workspace-inbox-writing.is-active-action {
  background: linear-gradient(180deg, rgba(239,248,250,0.72), rgba(255,255,255,0.92));
}

.workspace-mail-reader.is-active-action {
  background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(248,251,251,0.9));
}

.workspace-mail-row__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  color: var(--color-title);
  font-family: var(--font-ui);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
}

.workspace-mail-row__actions span {
  display: inline-flex;
  min-height: 1.55rem;
  align-items: center;
  padding-inline: 0.58rem;
  border-radius: 999px;
  background: rgba(49,85,127,0.075);
  border: 1px solid rgba(19,41,71,0.06);
}

.workspace-mail-compose [data-inbox-read-message] {
  white-space: nowrap;
}

body[data-app="workspace"] .shell-authbar {
  z-index: 20;
}

body[data-app="workspace"] .shell-authbar,
body[data-app="workspace"] .shell-authbar__nav,
body[data-app="workspace"] .shell-authbar__button[data-workspace-nav] {
  pointer-events: auto;
}

@media (max-width: 84rem) {
  .workspace-inbox-layout[data-inbox-action] .workspace-mail-reader,
  .workspace-inbox-layout[data-inbox-action] .workspace-inbox-writing {
    scroll-margin-block-start: 7.25rem;
  }
}


/* =========================================================
   Workspace Sub-Chamber Reintegration
   The old inline sub-chamber cards remain in the markup as no-JS/fallback
   content, but once the shell support chamber initializes, Workspace actions
   use the shell-owned side/sheet chamber instead.
   ========================================================= */
.shell-body[data-app='workspace'][data-support-chamber-integrated='true'] .workspace-subchamber,
.shell-body[data-app='workspace'][data-support-chamber-integrated='true'] .system-subchamber[data-inbox-subchamber] {
  display: none !important;
}

.support-action-shell {
  display: grid;
  gap: 0.9rem;
  min-width: 0;
}

.support-action-shell__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: start;
}

.support-action-shell__body {
  display: grid;
  gap: 0.9rem;
  min-width: 0;
}

.support-chamber__panel--workspace-action .portal-thread-message-stack,
.support-chamber__panel--portal-action .portal-thread-message-stack {
  max-height: min(38rem, calc(100dvh - 18rem));
}

.support-chamber__panel--workspace-action .workspace-mail-reader__shell,
.support-chamber__panel--workspace-action .workspace-mail-draft,
.support-chamber__panel--workspace-action .workspace-context-card,
.support-chamber__panel--workspace-action .workspace-booking-desk {
  min-width: 0;
}


/* Identity Governance / Action Chamber migration */
.workspace-inbox-layout.inbox-system-grid--reading {
  grid-template-columns: minmax(17rem, 0.72fr) minmax(0, 1.28fr);
}

.workspace-inbox-layout.inbox-system-grid--reading [data-inbox-subchamber],
.workspace-inbox-layout.inbox-system-grid--reading .workspace-inbox-writing {
  display: none !important;
}

.shell-body[data-action-chamber]:not([data-action-chamber='closed']) .workspace-inbox-layout {
  --workspace-inbox-action-state: action-chamber-open;
}

.workspace-mail-row__actions span:last-child::after {
  content: ' in Action Chamber';
  font-weight: var(--font-weight-medium);
  color: var(--color-text-soft);
}

/* =========================================================
   Pending Compatibility Rules
   Legacy stat-strip styles remain only for older generated markup.
   Ready-to-book stays inside the referral/intake lane as a Schedule action.
   ========================================================= */
.workspace-stat-strip--pending {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.workspace-stat-strip--pending .system-stat--lane {
  cursor: pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease, background 160ms ease;
}

.workspace-stat-strip--pending .system-stat--lane:hover,
.workspace-stat-strip--pending .system-stat--lane:focus-visible,
.workspace-stat-strip--pending .system-stat--lane.is-active,
.workspace-stat-strip--pending .system-stat--lane[aria-pressed='true'] {
  border-color: color-mix(in srgb, var(--syn-action, #16717a) 34%, rgba(19,41,71,0.08));
  box-shadow: 0 14px 34px rgba(16,37,63,0.11);
  background: linear-gradient(180deg, rgba(247,252,252,0.96), rgba(255,255,255,0.92));
}

.workspace-pending-lane-switch {
  flex-wrap: wrap;
}

body[data-app='workspace'][data-pending-lane='access'] .workspace-record-card--access {
  border-color: color-mix(in srgb, var(--syn-action, #16717a) 24%, rgba(19,41,71,0.08));
}

body[data-app='workspace'][data-pending-lane='referrals'] .workspace-record-card--referral {
  border-color: rgba(19,41,71,0.08);
}

/* Canonical Action Chamber integration supersedes the older support alias. */
.shell-body[data-app='workspace'][data-action-chamber-integrated='true'] .workspace-subchamber,
.shell-body[data-app='workspace'][data-action-chamber-integrated='true'] .system-subchamber[data-inbox-subchamber] {
  display: none !important;
}

@media (max-width: 56rem) {
  .workspace-stat-strip--pending {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   Pending Reconstruction Wave
   Pending is now one page with three internal lanes.
   The lane button is the heading; the body only lists work.
   ========================================================= */
.workspace-pending-page {
  --pending-card-gap: clamp(0.75rem, 1.4vw, 1rem);
}

.workspace-pending-hero {
  align-items: end;
}

.workspace-pending-hero .system-page__summary {
  max-width: 46rem;
}

.pending-lane-router {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(0.65rem, 1.2vw, 0.95rem);
  align-items: stretch;
}

.pending-lane-button {
  width: 100%;
  min-height: 4.2rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.8rem;
  align-items: center;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(19,41,71,0.11);
  border-radius: 1.05rem;
  background: linear-gradient(180deg, rgba(255,255,255,0.82), rgba(247,251,252,0.72));
  color: var(--color-title);
  font: inherit;
  font-family: var(--font-ui);
  text-align: left;
  cursor: pointer;
  box-shadow: 0 10px 26px rgba(17,38,64,0.06);
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease, transform 160ms ease;
}

.pending-lane-button:hover,
.pending-lane-button:focus-visible {
  border-color: color-mix(in srgb, var(--syn-action, #16717a) 32%, rgba(19,41,71,0.1));
  box-shadow: 0 16px 36px rgba(17,38,64,0.1);
}

.pending-lane-button.is-active,
.pending-lane-button[aria-pressed='true'] {
  border-color: color-mix(in srgb, var(--syn-action, #16717a) 42%, rgba(19,41,71,0.09));
  background: linear-gradient(180deg, rgba(247,252,252,0.98), rgba(255,255,255,0.94));
  box-shadow: 0 18px 42px rgba(16,37,63,0.12);
}

.pending-lane-button__label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pending-lane-button strong {
  font-size: clamp(1.35rem, 4vw, 2rem);
  line-height: 1;
  color: var(--syn-ink, #10233d);
}

.workspace-pending-body,
.workspace-pending-lane-stage {
  display: grid;
  gap: var(--pending-card-gap);
}

.workspace-pending-lane-stage {
  padding: clamp(0.85rem, 1.8vw, 1.2rem);
}

.workspace-pending-lane-stage .workspace-card-list {
  display: grid;
  gap: var(--pending-card-gap);
}

.workspace-page-grid--pending {
  grid-template-columns: minmax(0, 1fr);
}

.workspace-pending-lane-stage .workspace-empty {
  margin: 0;
  padding: 1rem;
  border: 1px dashed rgba(19,41,71,0.16);
  border-radius: 1rem;
  background: rgba(255,255,255,0.62);
}

body[data-app='workspace'][data-pending-lane='referrals'] .workspace-record-card--referral,
body[data-app='workspace'][data-pending-lane='access'] .workspace-record-card--access,
body[data-app='workspace'][data-pending-lane='mail'] .workspace-record-card--mail {
  border-color: color-mix(in srgb, var(--syn-action, #16717a) 18%, rgba(19,41,71,0.08));
}

@media (max-width: 56rem) {
  .pending-lane-router {
    grid-template-columns: 1fr;
  }

  .pending-lane-button {
    min-height: 3.7rem;
  }
}
/* production-css: end css/workspace.css */


/* production-css: begin css/protected-access.css */
/* protected-access.css
   Unified protected Workspace + Clinician Access polish.
*/
.workspace-page .system-page__header,
.portal-page .page-header,
.portal-page .system-page__header {
  border: 1px solid rgba(19, 41, 71, 0.08);
  background: linear-gradient(135deg, rgba(255,255,255,0.92), rgba(244,250,250,0.82));
  border-radius: clamp(1rem, 1vw + 0.8rem, 1.45rem);
  padding: clamp(1rem, 1vw + 0.85rem, 1.5rem);
}

.workspace-record-card,
.portal-thread-card,
.portal-thread-detail__shell,
.inbox-writing-desk,
.workspace-main-chamber,
.workspace-side-chamber {
  border-color: rgba(19, 41, 71, 0.08);
}

.workspace-record-card.is-active,
.portal-thread-card.is-active,
.workspace-record-card--access.is-active {
  border-color: rgba(22,113,122,0.34);
  box-shadow: 0 16px 36px rgba(19,41,71,0.10);
}

.workspace-record-card__select {
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.workspace-record-card__select:focus-visible {
  outline: 3px solid rgba(22,113,122,0.28);
  outline-offset: 0.3rem;
  border-radius: 0.7rem;
}

.workspace-stat-strip .system-stat,
.system-stat-strip .system-stat {
  background: rgba(255,255,255,0.74);
  border: 1px solid rgba(19,41,71,0.08);
}

.workspace-page-grid,
.system-page__grid,
.portal-thread-panel {
  gap: clamp(0.8rem, 1vw, 1.1rem);
}

.protected-empty-state,
.workspace-mail-empty-state,
.portal-thread-empty-state {
  border: 1px dashed rgba(19,41,71,0.16);
  border-radius: 1rem;
  background: rgba(255,255,255,0.54);
  padding: 1rem;
}

[data-action-chamber-root] .portal-intake-form,
[data-action-chamber-root] .portal-thread-reply,
[data-action-chamber-root] .workspace-booking-form {
  margin: 0;
}

[data-action-chamber-root] .button {
  white-space: normal;
}

/* =========================================================
   Protected Access Composition Wave
   Login/access is a shell state, not a dropped overlay. The cover/viewport
   negotiates space while the secure Action Chamber owns a full-height lane.
   ========================================================= */
.shell-body[data-protected-access='active'] [data-shell-chamber-host='main'] {
  block-size: var(--shell-chamber-main-block-measured, var(--shell-chamber-main-block, 100dvh));
  max-block-size: var(--shell-chamber-main-block-measured, var(--shell-chamber-main-block, 100dvh));
  overflow: hidden;
}

.shell-body[data-protected-access='active'] [data-shell-cover-chamber],
.shell-body[data-protected-access='active'] [data-shell-viewport-layer] {
  min-block-size: 0;
}

.shell-body[data-protected-access='active'][data-chamber-admission='side'] [data-shell-cover-chamber],
.shell-body[data-protected-access='active'][data-chamber-admission='side'] [data-shell-viewport-layer] {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto;
}

.shell-body[data-protected-access='active'] [data-action-chamber-root],
.shell-body[data-protected-access='active'] [data-support-chamber-root] {
  block-size: 100%;
  max-block-size: 100%;
  min-block-size: 0;
}

.shell-body[data-protected-access='active'] [data-action-chamber-root] .support-chamber__window,
.shell-body[data-protected-access='active'] [data-action-chamber-root] .action-chamber__window {
  block-size: 100%;
  max-block-size: 100%;
  min-block-size: 0;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}

.shell-body[data-protected-access='active'] [data-action-panel],
.shell-body[data-protected-access='active'] [data-support-panel] {
  min-block-size: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.shell-body[data-protected-access='active'] .support-chamber__auth-card,
.shell-body[data-protected-access='active'] .action-chamber__auth-card {
  background:
    radial-gradient(circle at 92% 0%, rgba(201, 222, 227, 0.32), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,252,252,0.94));
  color: var(--syn-identity, #132947);
  border-color: color-mix(in srgb, var(--syn-casing-strong, rgba(165,122,40,0.38)) 60%, transparent);
}

.shell-body[data-protected-access='active'] .support-chamber__title,
.shell-body[data-protected-access='active'] .support-chamber__summary,
.shell-body[data-protected-access='active'] .support-chamber__hint {
  color: var(--syn-identity, #132947);
}

.shell-body[data-protected-access='active'] .support-chamber__summary,
.shell-body[data-protected-access='active'] .support-chamber__hint {
  color: var(--syn-support, #50657a);
}

.shell-body[data-soft-keyboard-guard='active'] [data-shell-cover-chamber],
.shell-body[data-soft-keyboard-guard='active'] [data-action-chamber-root] {
  transition: none !important;
}

.shell-body[data-soft-keyboard-guard='active'] [data-action-chamber-root] .support-chamber__window {
  max-block-size: var(--shell-chamber-main-block-measured, 100dvh);
}

@media (orientation: landscape) and (max-height: 620px) {
  .shell-body[data-protected-access='active'][data-chamber-admission='side'] [data-shell-chamber-host='main'] {
    grid-template-columns: minmax(12rem, 0.92fr) minmax(20rem, 1.08fr);
  }

  .shell-body[data-protected-access='active'] [data-action-panel],
  .shell-body[data-protected-access='active'] [data-support-panel] {
    padding-block-end: 0.75rem;
  }
}

@media (max-width: 760px) {
  .shell-body[data-protected-access='active'][data-chamber-admission='sheet'] [data-action-chamber-root] .support-chamber__window {
    max-height: min(88svh, 46rem);
  }
}

/* Protected Access Side Grid: cover and viewport share the left lane.
   This keeps production/browser admission consistent with local Live Server. */
.shell-body[data-protected-access='active'][data-chamber-admission='side'] [data-shell-chamber-host='main'] > [data-shell-cover-chamber],
.shell-body[data-protected-access='active'][data-chamber-admission='side'] [data-shell-chamber-host='main'] > [data-shell-viewport-layer] {
  grid-area: viewport;
  min-inline-size: 0;
  max-inline-size: 100%;
}

/* =========================================================
   Adaptive Viewport Governance v1 integration
   Protected access consumes governed admission instead of assuming every
   landscape window can host a side rail.
   ========================================================= */
.shell-body[data-protected-access='active'][data-action-admission='side'] [data-shell-chamber-host='main'] {
  grid-template-columns: minmax(0, 1fr) minmax(var(--avg-action-min-inline, 20rem), var(--avg-action-inline, clamp(20rem, 31vw, 26rem)));
  grid-template-areas: 'viewport action';
  gap: var(--avg-shell-gap, clamp(0.5rem, 1vw, 0.875rem));
}

.shell-body[data-protected-access='active'][data-action-admission='side'] [data-shell-cover-chamber],
.shell-body[data-protected-access='active'][data-action-admission='side'] [data-shell-viewport-layer] {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto;
}

.shell-body[data-protected-access='active'][data-action-admission='side'] [data-shell-chamber-host='main'] > [data-shell-cover-chamber],
.shell-body[data-protected-access='active'][data-action-admission='side'] [data-shell-chamber-host='main'] > [data-shell-viewport-layer] {
  grid-area: viewport;
  min-inline-size: 0;
  max-inline-size: 100%;
  inline-size: 100%;
}

.shell-body[data-protected-access='active'][data-action-admission='sheet'] [data-action-chamber-root] .support-chamber__window,
.shell-body[data-protected-access='active'][data-action-admission='sheet'] [data-action-chamber-root] .action-chamber__window,
.shell-body[data-protected-access='active'][data-action-admission='sheet'] [data-support-chamber-root] .support-chamber__window,
.shell-body[data-protected-access='active'][data-action-admission='sheet'] [data-support-chamber-root] .action-chamber__window {
  block-size: auto;
  inline-size: min(100%, var(--avg-sheet-inline, 27rem));
  max-inline-size: min(100%, var(--avg-sheet-inline, 27rem));
  max-block-size: var(--avg-sheet-max-block, min(88svh, 46rem));
}

.shell-body[data-protected-access='active'][data-action-admission='side'] [data-action-chamber-root] .support-chamber__window,
.shell-body[data-protected-access='active'][data-action-admission='side'] [data-action-chamber-root] .action-chamber__window {
  block-size: 100%;
  max-block-size: 100%;
}

/* =========================================================
   Soft Keyboard Auth Hold
   The login/auth chamber should not disappear when Android Chrome opens the
   keyboard. Keep the chamber in the visible field and scroll the window itself.
   ========================================================= */
.shell-body[data-soft-keyboard-guard='active'][data-protected-access='active'] [data-shell-chamber-host='main'] > [data-action-chamber-root],
.shell-body[data-soft-keyboard-guard='active'][data-protected-access='active'] [data-shell-chamber-host='main'] > [data-support-chamber-root] {
  align-items: start !important;
  justify-items: center !important;
  overflow: hidden !important;
  padding-block-start: max(0.28rem, env(safe-area-inset-top, 0px)) !important;
}

.shell-body[data-soft-keyboard-guard='active'][data-protected-access='active'] [data-action-chamber-root] .support-chamber__window,
.shell-body[data-soft-keyboard-guard='active'][data-protected-access='active'] [data-action-chamber-root] .action-chamber__window,
.shell-body[data-soft-keyboard-guard='active'][data-protected-access='active'] [data-support-chamber-root] .support-chamber__window,
.shell-body[data-soft-keyboard-guard='active'][data-protected-access='active'] [data-support-chamber-root] .action-chamber__window {
  max-block-size: min(
    calc(var(--soft-keyboard-visual-block, 100svh) - 1rem),
    var(--shell-chamber-main-block-measured, var(--soft-keyboard-stable-block, 100svh))
  ) !important;
  overflow: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch;
}

/* =========================================================
   Mobile Auth Optimization Patch
   Landscape keeps login as an adjacent Action Chamber; portrait remains a
   sheet but gets a tighter native-login profile. Keyboard changes suspend
   geometry without live-resizing the whole auth card.
   ========================================================= */
@media (orientation: landscape) and (max-height: 640px) {
  .shell-body[data-protected-access='active'][data-action-admission='side'] [data-shell-chamber-host='main'] > [data-action-chamber-root],
  .shell-body[data-protected-access='active'][data-action-admission='side'] [data-shell-chamber-host='main'] > [data-support-chamber-root] {
    padding: 0 !important;
    overflow: hidden !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='side'] [data-action-chamber-root] .support-chamber__window,
  .shell-body[data-protected-access='active'][data-action-admission='side'] [data-action-chamber-root] .action-chamber__window,
  .shell-body[data-protected-access='active'][data-action-admission='side'] [data-support-chamber-root] .support-chamber__window,
  .shell-body[data-protected-access='active'][data-action-admission='side'] [data-support-chamber-root] .action-chamber__window {
    padding: 0.42rem !important;
    gap: 0.38rem !important;
    border-radius: 1rem !important;
    overflow: hidden !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='side'] .support-chamber__controls,
  .shell-body[data-protected-access='active'][data-action-admission='side'] .action-chamber__controls {
    position: sticky !important;
    top: 0 !important;
    z-index: 4 !important;
    margin-block-end: -0.18rem !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='side'] .support-chamber__control,
  .shell-body[data-protected-access='active'][data-action-admission='side'] .action-chamber__control {
    width: 1.72rem !important;
    height: 1.72rem !important;
    font-size: 0.78rem !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='side'] [data-action-panel],
  .shell-body[data-protected-access='active'][data-action-admission='side'] [data-support-panel] {
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    scrollbar-gutter: stable !important;
    padding-block-end: 0.4rem !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='side'] .support-chamber__auth-shell--converged {
    gap: 0.48rem !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='side'] .support-chamber__auth-shell--converged > .support-chamber__eyebrow {
    display: none !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='side'] .support-chamber__auth-shell--converged .support-chamber__auth-card {
    padding: 0.62rem 0.68rem !important;
    gap: 0.48rem !important;
    border-radius: 1rem !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='side'] .support-chamber__auth-shell--converged .support-chamber__auth-card::before {
    inset: 0.38rem !important;
    border-radius: 0.76rem !important;
    opacity: 0.36 !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='side'] .support-chamber__auth-shell--converged .support-chamber__auth-copy {
    gap: 0.2rem !important;
    padding-bottom: 0 !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='side'] .support-chamber__auth-shell--converged .support-chamber__title {
    font-size: clamp(1.02rem, 2.1vw, 1.24rem) !important;
    line-height: 1.02 !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='side'] .support-chamber__auth-shell--converged .support-chamber__summary {
    font-size: 0.74rem !important;
    line-height: 1.32 !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='side'] .support-chamber__auth-shell--converged .support-chamber__hint {
    font-size: 0.65rem !important;
    line-height: 1.15 !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='side'] .support-chamber__auth-shell--converged .portal-intake-form__grid--single {
    gap: 0.38rem !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='side'] .support-chamber__auth-shell--converged .auth-field {
    grid-template-columns: 1.88rem minmax(0, 1fr) auto !important;
    min-height: 2.74rem !important;
    padding: 0.36rem 0.48rem !important;
    border-radius: 0.86rem !important;
    column-gap: 0.48rem !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='side'] .support-chamber__auth-shell--converged .auth-field__icon {
    width: 1.62rem !important;
    height: 1.62rem !important;
    border-radius: 0.62rem !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='side'] .support-chamber__auth-shell--converged .support-chamber__auth-svg {
    width: 0.94rem !important;
    height: 0.94rem !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='side'] .support-chamber__auth-shell--converged .auth-field__label {
    font-size: 0.61rem !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='side'] .support-chamber__auth-shell--converged .auth-field input {
    min-height: 1.15rem !important;
    font-size: 0.88rem !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='side'] .support-chamber__auth-shell--converged .auth-field__action {
    width: 1.78rem !important;
    height: 1.78rem !important;
    border-radius: 0.64rem !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='side'] .support-chamber__auth-shell--converged .portal-intake-auth__actions {
    gap: 0.34rem !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='side'] .support-chamber__auth-shell--converged .support-chamber__auth-card .button--primary,
  .shell-body[data-protected-access='active'][data-action-admission='side'] .support-chamber__auth-shell--converged .support-chamber__auth-card .button--quiet {
    min-height: 2.02rem !important;
    border-radius: 0.78rem !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='side'] .support-chamber__auth-shell--converged .support-chamber__request {
    padding: 0.5rem 0.62rem !important;
    gap: 0.38rem !important;
    border-radius: 0.96rem !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='side'] .support-chamber__auth-shell--converged .support-chamber__request .panel__summary {
    display: none !important;
  }
}

@media (orientation: portrait) and (max-width: 760px) {
  .shell-body[data-protected-access='active'][data-action-admission='sheet'] [data-shell-chamber-host='main'] > [data-action-chamber-root],
  .shell-body[data-protected-access='active'][data-action-admission='sheet'] [data-shell-chamber-host='main'] > [data-support-chamber-root] {
    padding: 0.38rem !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='sheet'] [data-action-chamber-root] .support-chamber__window,
  .shell-body[data-protected-access='active'][data-action-admission='sheet'] [data-action-chamber-root] .action-chamber__window,
  .shell-body[data-protected-access='active'][data-action-admission='sheet'] [data-support-chamber-root] .support-chamber__window,
  .shell-body[data-protected-access='active'][data-action-admission='sheet'] [data-support-chamber-root] .action-chamber__window {
    max-block-size: min(calc(100svh - 0.9rem), var(--soft-keyboard-stable-block, 100svh)) !important;
    border-radius: 1.18rem !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='sheet'] .support-chamber__auth-shell--converged {
    gap: 0.72rem !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='sheet'] .support-chamber__auth-shell--converged .support-chamber__auth-card {
    padding: clamp(0.82rem, 3.2vw, 1.05rem) !important;
    gap: 0.68rem !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='sheet'] .support-chamber__auth-shell--converged .support-chamber__title {
    font-size: clamp(1.24rem, 5.8vw, 1.74rem) !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='sheet'] .support-chamber__auth-shell--converged .support-chamber__summary {
    font-size: 0.88rem !important;
    line-height: 1.42 !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='sheet'] .support-chamber__auth-shell--converged .auth-field {
    min-height: 3.45rem !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='sheet'] .support-chamber__auth-shell--converged .support-chamber__auth-card .button--primary {
    min-height: 2.72rem !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='sheet'] .support-chamber__auth-shell--converged .support-chamber__auth-card .button--quiet {
    min-height: 2.52rem !important;
  }

  .shell-body[data-protected-access='active'][data-action-admission='sheet'] .support-chamber__auth-shell--converged .support-chamber__request {
    padding: 0.74rem !important;
    gap: 0.55rem !important;
  }
}
/* production-css: end css/protected-access.css */


/* production-css: begin css/system-pages.css */
/* =========================================================
   System page / chamber layout wave
   Turns nav targets into full utility pages and gives the
   inbox a real list-detail-context treatment.
   ========================================================= */

.system-page {
  display: grid;
  gap: 1rem;
  padding: clamp(0.8rem, 1.6vw, 1.25rem);
}

.system-page__header,
.system-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: start;
  padding: 0.9rem 1rem;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(19, 41, 71, 0.08);
  background: rgba(255, 255, 255, 0.76);
  box-shadow: var(--shadow-sm);
}

.system-page__title {
  margin: 0;
  color: var(--color-title);
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2vw, 1.95rem);
  line-height: 1.05;
  letter-spacing: -0.025em;
}

.system-page__summary,
.system-page__status {
  margin: 0;
  max-width: 62rem;
  color: var(--color-text-soft);
  font-family: var(--font-body);
  line-height: 1.55;
}

.system-page__summary {
  font-size: 0.95rem;
}

.system-page__status {
  min-height: 1.25rem;
  font-size: 0.86rem;
  text-align: right;
}

.system-page__status[data-tone='success'] { color: rgb(49, 101, 76); }
.system-page__status[data-tone='error'] { color: rgb(148, 70, 59); }

.system-page__actions,
.system-section-head__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.55rem;
}

.system-stat-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
}

.system-stat {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.7rem;
  min-height: 3.2rem;
  padding: 0.7rem 0.85rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(19, 41, 71, 0.07);
}

.system-stat span {
  color: var(--color-text-soft);
  font-family: var(--font-ui);
  font-size: 0.78rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.system-stat strong {
  color: var(--color-title);
  font-family: var(--font-display);
  font-size: 1.3rem;
  line-height: 1;
}

.system-page__body {
  display: grid;
  gap: 1rem;
}

.system-page__body[hidden] {
  display: none !important;
}

.system-page__grid {
  display: grid;
  gap: 1rem;
  align-items: start;
}

.system-page__grid--two {
  grid-template-columns: minmax(0, 1.35fr) minmax(17rem, 0.65fr);
}

.system-page__grid--three {
  grid-template-columns: minmax(16rem, 0.75fr) minmax(0, 1.2fr) minmax(17rem, 0.7fr);
}

.system-chamber,
.system-subchamber {
  min-width: 0;
}

.system-subchamber {
  position: sticky;
  top: 0.75rem;
  display: grid;
  gap: 0.9rem;
  align-self: start;
}

.system-context-list {
  display: grid;
  gap: 0.5rem;
}

.system-context-list span {
  display: flex;
  align-items: center;
  min-height: 2.15rem;
  padding: 0.55rem 0.7rem;
  border-radius: 0.85rem;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(19, 41, 71, 0.07);
  color: var(--color-text-soft);
  font-family: var(--font-ui);
  font-size: 0.84rem;
  font-weight: var(--font-weight-semibold);
}

.inbox-system-grid {
  min-height: min(58rem, calc(100vh - 14rem));
}

.inbox-list-chamber,
.inbox-detail-chamber,
.inbox-context-chamber {
  height: 100%;
}

.portal-thread-card--summary {
  padding: 0;
  overflow: hidden;
}

.portal-thread-card__button {
  width: 100%;
  display: grid;
  gap: 0.85rem;
  padding: 0.95rem;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.portal-thread-card.is-active,
.portal-thread-card:has(.portal-thread-card__button[aria-pressed='true']) {
  border-color: rgba(49, 85, 127, 0.28);
  box-shadow: 0 14px 34px rgba(16, 37, 63, 0.11);
  background: rgba(255, 255, 255, 0.95);
}

.portal-thread-card__preview {
  display: block;
  color: var(--color-text-soft);
  font-family: var(--font-body);
  font-size: 0.91rem;
  line-height: 1.45;
}

.portal-thread-detail__shell,
.portal-thread-empty-state {
  display: grid;
  gap: 1rem;
  min-height: 100%;
}

.portal-thread-detail__header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: start;
}

.portal-thread-message-stack {
  display: grid;
  align-content: start;
  gap: 0.7rem;
  max-height: min(33rem, calc(100vh - 26rem));
  overflow: auto;
  padding: 0.1rem 0.2rem 0.1rem 0;
}

.portal-thread-bubble[data-role='staff'],
.portal-thread-bubble[data-role='admin'],
.portal-thread-bubble[data-role='workspace'] {
  background: rgba(95, 130, 109, 0.10);
}

.inbox-context-card {
  display: grid;
  gap: 0.65rem;
}

.inbox-context-card__row {
  display: flex;
  justify-content: space-between;
  gap: 0.7rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid rgba(19, 41, 71, 0.07);
  color: var(--color-text-soft);
  font-family: var(--font-body);
  font-size: 0.9rem;
}

.inbox-context-card__row strong {
  color: var(--color-title);
  font-family: var(--font-ui);
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.status-pill[data-state-light='needs_workspace'],
.status-pill[data-state-light='needs_workspace_reply'],
.status-pill[data-state-light='waiting_on_workspace'] {
  background: rgba(181, 136, 76, 0.16);
  color: rgb(111, 76, 31);
}

.status-pill[data-state-light='needs_clinician'],
.status-pill[data-state-light='waiting_on_clinician'] {
  background: rgba(49, 85, 127, 0.13);
  color: rgb(35, 70, 108);
}

.status-pill[data-state-light='closed'],
.status-pill[data-state-light='archived'] {
  background: rgba(20, 32, 51, 0.08);
  color: var(--color-text-soft);
}

@media (max-width: 84rem) {
  .system-page__grid--three,
  .system-page__grid--two,
  .system-stat-strip {
    grid-template-columns: 1fr;
  }
  .system-subchamber {
    position: static;
  }
  .inbox-system-grid {
    min-height: 0;
  }
  .portal-thread-message-stack {
    max-height: 26rem;
  }
}

@media (max-width: 52rem) {
  .system-page {
    padding: 0.75rem;
  }
  .system-page__header,
  .system-section-head {
    grid-template-columns: 1fr;
  }
  .system-page__actions,
  .system-section-head__actions {
    justify-content: flex-start;
  }
  .system-page__status {
    text-align: left;
  }
}

/* =========================================================
   Shell + Inbox Polish Wave: Inbox writing-desk treatment
   Main chamber reads/scans. Sub chamber writes/composes/replies.
   ========================================================= */
.inbox-system-grid--writing,
.portal-thread-grid--inbox.inbox-system-grid--writing,
.workspace-inbox-layout.inbox-system-grid--writing {
  display: grid;
  grid-template-columns: minmax(14rem, 0.78fr) minmax(0, 1.18fr) minmax(17rem, 0.78fr);
  gap: 0.9rem;
  align-items: stretch;
}

.inbox-writing-chamber,
.portal-thread-writing,
.workspace-inbox-writing {
  min-width: 0;
  height: 100%;
}

.inbox-writing-desk {
  display: grid;
  gap: 0.82rem;
  align-content: start;
}

.inbox-writing-desk__head {
  display: flex;
  justify-content: space-between;
  gap: 0.72rem;
  align-items: start;
}

.inbox-writing-desk__meta {
  display: grid;
  gap: 0.4rem;
  padding: 0.68rem 0.72rem;
  border-radius: 0.95rem;
  border: 1px solid rgba(19, 41, 71, 0.07);
  background: rgba(255,255,255,0.72);
  color: var(--color-text-soft);
  font-family: var(--font-ui);
  font-size: 0.82rem;
  font-weight: var(--font-weight-semibold);
}

.inbox-compose-form,
.portal-thread-reply--desk {
  display: grid;
  gap: 0.78rem;
}

.inbox-writing-desk__new-thread {
  border-top: 1px solid rgba(19, 41, 71, 0.08);
  padding-top: 0.68rem;
}

.inbox-writing-desk__new-thread summary {
  cursor: pointer;
  color: var(--color-title);
  font-family: var(--font-ui);
  font-size: 0.86rem;
  font-weight: var(--font-weight-bold);
}

.inbox-writing-desk textarea {
  min-height: 8rem;
  resize: vertical;
}

.portal-thread-card--summary {
  border: 1px solid rgba(19, 41, 71, 0.075);
  background: rgba(255,255,255,0.82);
}

.portal-thread-card--summary[data-state-light='needs-workspace'],
.portal-thread-card--summary[data-state-light='needs-clinician'],
.portal-thread-card--summary[data-state-light='waiting-on-clinician'],
.portal-thread-card--summary[data-state-light='sent-to-workspace'] {
  border-left: 3px solid var(--state-light-line, rgba(164,132,72,0.52));
}

.status-pill[data-state-light='needs-workspace'],
.status-pill[data-state-light='needs-workspace-reply'],
.status-pill[data-state-light='waiting-on-workspace'],
.status-pill[data-state-light='sent-to-workspace'] {
  background: rgba(181, 136, 76, 0.16);
  color: rgb(111, 76, 31);
}

.status-pill[data-state-light='needs-clinician'],
.status-pill[data-state-light='waiting-on-clinician'] {
  background: rgba(49, 85, 127, 0.13);
  color: rgb(35, 70, 108);
}

.status-pill[data-state-light='closed'],
.status-pill[data-state-light='archived'] {
  background: rgba(19, 41, 71, 0.08);
  color: rgba(19, 41, 71, 0.72);
}

@media (max-width: 72rem) {
  .inbox-system-grid--writing,
  .portal-thread-grid--inbox.inbox-system-grid--writing,
  .workspace-inbox-layout.inbox-system-grid--writing {
    grid-template-columns: 1fr;
  }

  .inbox-writing-chamber,
  .portal-thread-writing,
  .workspace-inbox-writing {
    position: static;
  }
}
/* production-css: end css/system-pages.css */

/* Cover stack is intentionally late. These files are the only layer allowed to
   govern resting-cover frame/trace/occlusion after page styles have loaded. */

/* production-css: begin css/native-surface.css */
/* native-surface.css
   Synapse Native Surface Registration Layer

   Spatial engine solves. Native surface registry binds native-drawn geometry.
   Trace underlay remains available only when an asset exists to donate geometry.
   This file is deliberately light: it establishes inspection/contract hooks and
   does not invent critical placement.
*/

[data-native-surface] {
  --native-surface-role: registered-surface-consumer;
}

[data-native-box] {
  box-sizing: border-box;
}

[data-native-surface-binding='registered'] {
  --native-surface-binding-state: registered;
}

[data-native-surface][data-native-surface-state='bound'] {
  --native-surface-state: bound;
}

[data-native-surface-debug='boxes'] [data-native-box],
.shell-body[data-native-surface-debug='boxes'] [data-native-box] {
  outline: 1px dashed rgba(168, 132, 72, 0.48) !important;
  outline-offset: -1px;
}

[data-native-surface-debug='boxes'] [data-native-box]::after,
.shell-body[data-native-surface-debug='boxes'] [data-native-box]::after {
  content: attr(data-native-box);
  position: absolute;
  left: 0.2rem;
  top: 0.2rem;
  z-index: 999;
  padding: 0.1rem 0.28rem;
  border-radius: 999px;
  background: rgba(23, 47, 74, 0.72);
  color: #f8fcfc;
  font: 600 0.52rem/1.1 var(--font-ui, system-ui, sans-serif);
  pointer-events: none;
}
/* production-css: end css/native-surface.css */


/* production-css: begin css/trace-underlay.css */
/* trace-underlay.css
   Trace Underlay System Wave

   Seven primitives:
   1. Trace Surface          - owns full scene space
   2. Trace Coordinate Field - owns raster-proportion coordinate box
   3. Trace Underlay         - donor raster layer
   4. Trace Native           - CSS/SVG geometry layer
   5. Trace Content          - live interactive UI layer
   6. Trace Authority        - declares layer ownership per feature
   7. Trace Calibration      - debug/alignment inspection states

   Contract:
   - Raster assets donate design memory, proportions, tone, and intricate detail.
   - Native geometry owns final line quality only where it has authority.
   - Live content owns text, sigils, controls, and interaction.
   - No visible feature should be owned by two layers at once.
*/

/* 1. Trace Surface ------------------------------------------------------- */
.trace-surface {
  --trace-surface-z: 0;
  --trace-field-ratio: 4 / 3;
  --trace-field-max-inline: 100%;
  --trace-field-scale: 1;
  --trace-underlay-opacity: 0.62;
  --trace-card-underlay-opacity: 0.16;
  --trace-native-opacity: 1;
  --trace-content-z: 30;
  position: relative;
  isolation: isolate;
  inline-size: 100%;
  block-size: 100%;
}

/* 2. Trace Coordinate Field --------------------------------------------- */
.trace-coordinate-field {
  position: relative;
  isolation: isolate;
  aspect-ratio: var(--trace-field-ratio);
  inline-size: min(100%, var(--trace-field-max-inline, 100%));
  max-block-size: 100%;
  transform: scale(var(--trace-field-scale));
  transform-origin: center;
}

.trace-surface[data-trace-fit='contain'] .trace-coordinate-field {
  inline-size: min(100%, calc(100% * 1));
}

.trace-surface[data-trace-fit='bleed-contain'] {
  overflow: hidden;
}

.trace-surface[data-trace-fit='bleed-contain'] .trace-coordinate-field {
  margin-inline: auto;
}

.trace-surface[data-trace-fit='cover'] .trace-underlay__asset {
  object-fit: cover;
}

.trace-surface[data-trace-fit='stretch'] .trace-underlay__asset {
  object-fit: fill;
}

/* 3/4/5. Layer stack ----------------------------------------------------- */
.trace-underlay,
.trace-native,
.trace-content {
  position: absolute;
  inset: 0;
}

.trace-underlay {
  z-index: 0;
  pointer-events: none;
  user-select: none;
}

.trace-underlay__asset {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  max-inline-size: none;
  max-block-size: none;
  object-fit: contain;
  object-position: center;
  opacity: var(--trace-underlay-opacity);
  pointer-events: none;
  user-select: none;
  background: transparent;
}

.trace-native {
  z-index: 10;
  opacity: var(--trace-native-opacity);
  pointer-events: none;
}

.trace-content {
  z-index: var(--trace-content-z);
}

.trace-content > * {
  position: relative;
}

/* 6. Trace Authority ----------------------------------------------------- */
.trace-surface[data-trace-rail='underlay'] [data-trace-part='rail'],
.trace-surface[data-trace-rail='underlay'] [data-trace-part='rail-line'],
.trace-surface[data-trace-rail='underlay'] [data-trace-part='pin'],
.trace-surface[data-trace-corners='underlay'] [data-trace-part='field-corner'],
.trace-surface[data-trace-field-casing='underlay'] [data-trace-part='field-casing'],
.trace-surface[data-trace-card='underlay'] [data-trace-part='card-frame'],
.trace-surface[data-trace-card-tab='underlay'] [data-trace-part='card-tab'],
.trace-surface[data-trace-card-divider='underlay'] [data-trace-part='card-divider'],
.trace-surface[data-trace-routes='content'] [data-trace-part='route-box'] {
  display: none !important;
}

.trace-surface[data-trace-card='native'] .trace-underlay--card .trace-underlay__asset,
.trace-surface[data-trace-card='native'] .shell-cover__trace-underlay--card .trace-underlay__asset {
  opacity: var(--trace-card-underlay-opacity, 0.16);
}

/* 7. Trace Calibration --------------------------------------------------- */
[data-trace-debug='true'] .trace-surface,
[data-trace-debug='bounds'] .trace-surface {
  outline: 1px dashed rgba(43, 130, 139, 0.55);
  outline-offset: -1px;
}

[data-trace-debug='true'] .trace-coordinate-field,
[data-trace-debug='bounds'] .trace-coordinate-field {
  outline: 1px solid rgba(164, 132, 72, 0.70);
  outline-offset: -3px;
}

[data-trace-debug='true'] .trace-underlay,
[data-trace-debug='underlay'] .trace-underlay {
  outline: 1px solid rgba(164, 132, 72, 0.6);
  outline-offset: -5px;
}

[data-trace-debug='true'] .trace-native,
[data-trace-debug='native'] .trace-native {
  outline: 1px solid rgba(22, 113, 122, 0.7);
  outline-offset: -8px;
}

[data-trace-debug='true'] .trace-content,
[data-trace-debug='content'] .trace-content {
  outline: 1px dotted rgba(19, 41, 71, 0.65);
  outline-offset: -11px;
}

[data-trace-debug='authority'] [data-trace-part] {
  outline: 1px dashed rgba(132, 102, 54, 0.62);
  outline-offset: 2px;
}

/* =========================================================
   State-Aware Trace Governance

   Governance rules:
   - The trace surface fills the shell chassis.
   - The coordinate field is allowed to scale, pan, and bleed by state.
   - Raster assets are maneuvered by CSS; they do not force the layout box.
   - Native trace only renders where authority permits it.
   - Live content stays interactive and can reflow independently.
   ========================================================= */
.trace-surface {
  --trace-maneuver-x: 0%;
  --trace-maneuver-y: 0%;
  --trace-maneuver-scale: 1;
  --trace-focus-x: 50%;
  --trace-focus-y: 50%;
  --trace-pressure-scale: 1;
}

.trace-surface[data-trace-maneuver='state-aware'] .trace-coordinate-field {
  transform:
    translate(var(--trace-maneuver-x), var(--trace-maneuver-y))
    scale(calc(var(--trace-field-scale, 1) * var(--trace-maneuver-scale, 1))) !important;
  transform-origin: var(--trace-focus-x) var(--trace-focus-y) !important;
}

.trace-surface[data-trace-fit='trace-fill'],
.trace-surface[data-trace-fit='trace-focus'],
.trace-surface[data-trace-fit='trace-pressure'] {
  overflow: hidden;
}

.trace-surface[data-trace-fit='trace-fill'] .trace-coordinate-field,
.trace-surface[data-trace-fit='trace-focus'] .trace-coordinate-field,
.trace-surface[data-trace-fit='trace-pressure'] .trace-coordinate-field {
  max-inline-size: none;
  max-block-size: none;
}

.trace-surface[data-trace-fit='trace-fill'] .trace-underlay__asset,
.trace-surface[data-trace-fit='trace-focus'] .trace-underlay__asset,
.trace-surface[data-trace-fit='trace-pressure'] .trace-underlay__asset {
  object-fit: contain;
  object-position: var(--trace-focus-x) var(--trace-focus-y);
}

.trace-surface[data-trace-raster-authority='maneuvered'] .trace-underlay__asset {
  inline-size: 100%;
  block-size: 100%;
}

/* =========================================================
   Bounded Trace Fill Guardrail Patch
   - The shell fills the page.
   - The coordinate field scales up only within safe bounds.
   - The raster never blows past the cover slot.
   ========================================================= */
.trace-surface[data-trace-fit='bounded-fill'] {
  overflow: hidden;
}

.trace-surface[data-trace-fit='bounded-fill'] .trace-coordinate-field {
  max-inline-size: 100%;
  max-block-size: 100%;
  margin-inline: auto;
}

.trace-surface[data-trace-fit='bounded-fill'] .trace-underlay__asset {
  object-fit: contain;
  object-position: var(--trace-focus-x, 50%) var(--trace-focus-y, 50%);
}

/* =========================================================
   State-Aware Asset Trace Integration
   Adds responsive picture-owned raster donors for the 7-file cover set.
   The surface still fills the shell chassis; the selected state asset owns the
   coordinate field for that state.
   ========================================================= */
.trace-underlay__picture {
  display: block;
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  pointer-events: none;
  user-select: none;
}

.trace-underlay__picture > img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  max-inline-size: none;
  max-block-size: none;
  object-fit: contain;
  object-position: center;
  pointer-events: none;
  user-select: none;
}

.trace-surface[data-trace-fit='state-aware-assets'] {
  overflow: hidden;
}

.trace-surface[data-trace-fit='state-aware-assets'] .trace-coordinate-field {
  max-inline-size: 100%;
  max-block-size: 100%;
  margin-inline: auto;
}

.trace-surface[data-trace-rail='underlay-asset'] [data-trace-part='rail'],
.trace-surface[data-trace-rail='underlay-asset'] [data-trace-part='rail-line'],
.trace-surface[data-trace-rail='underlay-asset'] [data-trace-part='pin'] {
  display: none !important;
}

/* =========================================================
   Cover Asset Contract Reset Wave
   Adds the new chassis / plate authority names without removing
   the legacy field / rail authority selectors used elsewhere.
   ========================================================= */
.trace-surface[data-trace-fit='chassis-contract'] {
  overflow: hidden;
}

.trace-surface[data-trace-fit='chassis-contract'] .trace-coordinate-field {
  max-inline-size: 100%;
  max-block-size: 100%;
  margin-inline: auto;
}

.trace-surface[data-trace-fit='chassis-contract'] .trace-underlay__asset {
  object-fit: contain;
  object-position: var(--trace-focus-x, 50%) var(--trace-focus-y, 50%);
}

.trace-surface[data-trace-chassis='underlay'] [data-trace-part='chassis-native'],
.trace-surface[data-trace-plate='underlay'] [data-trace-part='plate-native'],
.trace-surface[data-trace-routes='content'] [data-trace-part='route-box'] {
  display: none !important;
}


/* Trace Registration: semantic zones */
.trace-semantic-zone,
[data-cover-zone] { position: relative; min-inline-size: 0; min-block-size: 0; }

/* Spatial Registration Engine Round 1 asset authority aliases. */
.trace-surface[data-trace-casing-shell='underlay'] [data-trace-part='casing-shell-native'],
.trace-surface[data-trace-identity-card='underlay'] [data-trace-part='identity-card-native'],
.trace-surface[data-trace-plate='retired'] [data-trace-part='plate-native'],
.trace-surface[data-trace-plate='retired'] .shell-cover__native-plate {
  display: none !important;
}

.trace-surface[data-trace-identity-card='native'] .shell-cover__underlay--identity-card .trace-underlay__asset {
  opacity: var(--trace-card-underlay-opacity, 0.16);
}

/* =========================================================
   Synapse Cover v2 Coordinate-Frame Lock

   Purpose:
   - Keep generic trace behavior available for diagrams/plates.
   - Give the shell cover a valid, stable registration frame before cover CSS
     consumes solved spatial variables.
   - Prevent invalid generic sizing such as min(100%, none) from collapsing or
     leaving the cover coordinate field in a browser-dependent state.

   Authority:
   - JSON/registration owns coordinates.
   - Trace owns only the measured coordinate canvas and layer fill behavior.
   ========================================================= */
.trace-surface[data-trace-system='cover'][data-cover-contract='synapse-cover-v2'],
.shell-cover.trace-surface[data-cover-contract='synapse-cover-v2'] {
  --trace-field-ratio: var(--cover-canvas-ratio, var(--reg-canvas-ratio, 1536 / 1024));
  --trace-field-max-inline: var(--cover-canvas-width, var(--reg-canvas-width, min(100%, 99rem)));
  --trace-field-scale: var(--cover-shell-fill-scale, var(--reg-canvas-scale, 1));
  overflow: hidden;
}

.trace-surface[data-trace-system='cover'][data-cover-contract='synapse-cover-v2'] .trace-coordinate-field,
.shell-cover.trace-surface[data-cover-contract='synapse-cover-v2'] .trace-coordinate-field,
.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__registration-frame,
.shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-registration-frame] {
  position: relative;
  isolation: isolate;
  inline-size: min(100%, var(--cover-canvas-width, var(--reg-canvas-width, min(100%, 99rem)))) !important;
  aspect-ratio: var(--cover-canvas-ratio, var(--reg-canvas-ratio, 1536 / 1024)) !important;
  block-size: auto;
  max-inline-size: 100%;
  max-block-size: 100%;
  margin-inline: auto;
  transform:
    translate(var(--cover-shell-x, var(--reg-canvas-x, 0%)), var(--cover-shell-lift, var(--reg-canvas-y, 0%)))
    scale(var(--cover-shell-fill-scale, var(--reg-canvas-scale, 1))) !important;
  transform-origin: center center !important;
  contain: layout paint;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .trace-underlay,
.shell-cover[data-cover-contract='synapse-cover-v2'] .trace-native,
.shell-cover[data-cover-contract='synapse-cover-v2'] .native-plane,
.shell-cover[data-cover-contract='synapse-cover-v2'] .trace-content,
.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__underlay,
.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__native-plane,
.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__trace-native,
.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__field--registered {
  position: absolute !important;
  inset: 0 !important;
  inline-size: 100% !important;
  block-size: 100% !important;
  min-inline-size: 0;
  min-block-size: 0;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .trace-underlay__picture,
.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__picture,
.shell-cover[data-cover-contract='synapse-cover-v2'] .trace-underlay__asset,
.shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-asset-role] {
  inline-size: 100% !important;
  block-size: 100% !important;
  max-inline-size: none !important;
  max-block-size: none !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .trace-underlay__asset,
.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__asset-casing-shell,
.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__asset-identity-card {
  display: block !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: transparent !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__underlay--casing-shell {
  z-index: 0;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__underlay--identity-card {
  z-index: 4;
  left: var(--cover-identity-card-x, var(--cover-identityCard-x, var(--solved-identity-card-x, var(--solved-identityCard-x, 38%)))) !important;
  top: var(--cover-identity-card-y, var(--cover-identityCard-y, var(--solved-identity-card-y, var(--solved-identityCard-y, 28%)))) !important;
  width: var(--cover-identity-card-w, var(--cover-identityCard-w, var(--solved-identity-card-w, var(--solved-identityCard-w, 48%)))) !important;
  height: var(--cover-identity-card-h, var(--cover-identityCard-h, var(--solved-identity-card-h, var(--solved-identityCard-h, 34%)))) !important;
  inset: auto !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__field--registered {
  z-index: 8;
  pointer-events: none;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__content-card {
  pointer-events: auto;
}

@media (max-width: 42rem) {
  .trace-surface[data-trace-system='cover'][data-cover-contract='synapse-cover-v2'],
  .shell-cover.trace-surface[data-cover-contract='synapse-cover-v2'] {
    --trace-field-max-inline: var(--cover-canvas-width, var(--reg-canvas-width, min(150vw, 76rem)));
  }
}



/* =========================================================
   Clinical Tablet Calibration Underlay Wave
   Underlay is a donor/calibration reference only. Native tablet geometry and
   semantic controls must survive with underlay opacity at 0.
   ========================================================= */
.trace-surface[data-trace-system='calibration-underlay'],
.trace-surface[data-tablet-underlay-authority='calibration-only'] {
  --trace-underlay-authority: calibration-only;
  --trace-native-authority: final-device-structure;
  --trace-content-authority: live-access-controls;
}

.trace-surface[data-tablet-underlay-authority='calibration-only'] .trace-underlay__asset {
  opacity: var(--trace-underlay-opacity, 0.22);
  mix-blend-mode: multiply;
}

.trace-surface[data-tablet-underlay-authority='calibration-only'][data-trace-debug='target'] .trace-underlay__asset,
[data-trace-debug='target'] .trace-surface[data-tablet-underlay-authority='calibration-only'] .trace-underlay__asset {
  opacity: 0.48;
}

.trace-surface[data-tablet-underlay-authority='calibration-only'][data-trace-debug='native'] .trace-underlay__asset,
[data-trace-debug='native'] .trace-surface[data-tablet-underlay-authority='calibration-only'] .trace-underlay__asset {
  opacity: 0;
}

[data-trace-debug='clinical-tablet'] [data-tablet-part],
[data-spatial-debug='clinical-tablet'] [data-tablet-part] {
  outline: 1px dashed rgba(15,95,100,0.34);
  outline-offset: -1px;
}

[data-trace-debug='clinical-tablet'] [data-tablet-part='access-module'],
[data-spatial-debug='clinical-tablet'] [data-tablet-part='access-module'] {
  outline-color: rgba(168,132,72,0.48);
}

/* Clinical Tablet Calibration Underlay Wave 2
   Adds fit/orientation/screen/stylus inspection surfaces without giving the
   underlay runtime geometry authority. */
.trace-surface[data-tablet-underlay-authority='calibration-only'] {
  --trace-orientation-authority: registration-only;
  --trace-screen-assembly-authority: native-css-final;
  --trace-stylus-assembly-authority: native-css-final;
}

[data-trace-debug='fit'] .trace-surface[data-tablet-underlay-authority='calibration-only'] .shell-cover__registration-frame,
[data-spatial-debug='fit'] .trace-surface[data-tablet-underlay-authority='calibration-only'] .shell-cover__registration-frame {
  outline: 2px solid rgba(15,95,100,0.46);
  outline-offset: -2px;
}

[data-trace-debug='fit'] .trace-surface[data-tablet-underlay-authority='calibration-only'] [data-tablet-part='screen-well'],
[data-trace-debug='fit'] .trace-surface[data-tablet-underlay-authority='calibration-only'] [data-tablet-part='screen-glass-pane'],
[data-trace-debug='fit'] .trace-surface[data-tablet-underlay-authority='calibration-only'] [data-tablet-part='access-module'],
[data-trace-debug='fit'] .trace-surface[data-tablet-underlay-authority='calibration-only'] [data-tablet-part='stylus-instrument'] {
  outline: 1px dashed rgba(168,132,72,0.52);
  outline-offset: -1px;
}

[data-trace-debug='orientation'] .trace-surface[data-tablet-orientation='landscape']::after,
[data-trace-debug='orientation'] .trace-surface[data-tablet-orientation='portrait']::after {
  content: attr(data-tablet-orientation) ' / ' attr(data-tablet-fit-policy);
  position: absolute;
  z-index: 1000;
  left: 0.5rem;
  bottom: 0.5rem;
  padding: 0.24rem 0.42rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.82);
  color: rgba(15,95,100,0.92);
  font: 700 0.64rem/1.1 var(--font-ui, system-ui, sans-serif);
  letter-spacing: 0.02em;
  pointer-events: none;
}
/* production-css: end css/trace-underlay.css */


/* production-css: begin css/composition.css */
/* Composition CSS bridge. Runtime governance now publishes composition data attributes and variables. */
/* production-css: end css/composition.css */


/* production-css: begin css/identity-governance.css */
/* identity-governance.css
   Identity Governance presentation/debug hooks.
   This file does not place geometry or style product surfaces. It exposes state
   markers so retired identities can be inspected during migration.
*/
body[data-identity-authority='identity-governance-platform-layer'] {
  --identity-governance-role: object-meaning-authority;
}

body[data-identity-governance='warn'] {
  --identity-governance-outline: rgba(154, 109, 31, 0.34);
}

body[data-identity-governance='fail'] {
  --identity-governance-outline: rgba(141, 67, 58, 0.42);
}

body[data-identity-debug='true'] [data-identity-object],
body[data-identity-debug='true'] [data-action-chamber-root] {
  outline: 1px dashed var(--identity-governance-outline, rgba(33, 95, 134, 0.28));
  outline-offset: -2px;
}

body[data-identity-debug='true'] [data-identity-object]::before,
body[data-identity-debug='true'] [data-action-chamber-root]::before {
  content: attr(data-identity-object) ' · ' attr(data-action-purpose);
  position: absolute;
  z-index: 999;
  inset-inline-start: 0.35rem;
  inset-block-start: 0.35rem;
  max-inline-size: min(22rem, calc(100% - 0.7rem));
  padding: 0.12rem 0.34rem;
  border-radius: 999px;
  background: rgba(17, 37, 61, 0.76);
  color: #fffdfa;
  font: 700 0.56rem/1.15 var(--font-ui, system-ui, sans-serif);
  pointer-events: none;
}
/* production-css: end css/identity-governance.css */


/* production-css: begin css/visual-governance.css */
/* production-css: begin css/governed-surfaces.css */
/* governed-surfaces.css
   Surface Governance Consolidation Wave

   This stylesheet consumes governance datasets. It does not place registered
   geometry and does not compensate layout. It exposes material/state hooks,
   debug outlines, and restrained state optics for governed non-cover surfaces.
*/

[data-governed-surface] {
  --surface-governance-authority: surface-governance-registry-wave-01;
  --surface-governance-outline: transparent;
  --surface-governance-state-opacity: 1;
}

[data-surface-material-family='system-page'] { --surface-material-role: operational-page; }
[data-surface-material-family='operational-main-chamber'] { --surface-material-role: operational-main-chamber; }
[data-surface-material-family='operational-context-chamber'] { --surface-material-role: legacy-operational-context-chamber; }
[data-surface-material-family='action-chamber'] { --surface-material-role: action-chamber; }
[data-surface-material-family='inbox-surface'] { --surface-material-role: inbox; }
[data-surface-material-family='support-surface'] { --surface-material-role: legacy-support-alias; }
[data-surface-material-family='auth-admission-plate'] { --surface-material-role: admission; }
[data-surface-material-family='diagram-plate'] { --surface-material-role: diagram; }

[data-surface-state-profile='action-open'],
[data-surface-state-profile='support-open'],
[data-surface-state-profile='guide-open'],
[data-surface-state-profile='auth-admission'] {
  --surface-governance-state-opacity: 1;
}

body[data-surface-governance-debug='true'] [data-governed-surface] {
  outline: 1px dashed color-mix(in srgb, var(--syn-action, #16717a) 48%, transparent);
  outline-offset: -2px;
}

body[data-surface-governance-debug='true'] [data-governed-surface]::before {
  content: attr(data-governed-surface) ' · ' attr(data-surface-role);
  position: absolute;
  z-index: 999;
  left: 0.4rem;
  top: 0.4rem;
  max-width: calc(100% - 0.8rem);
  padding: 0.12rem 0.38rem;
  border-radius: 999px;
  background: rgba(17, 37, 61, 0.78);
  color: #fff;
  font: 700 0.56rem/1.1 var(--font-ui, system-ui, sans-serif);
  letter-spacing: 0.02em;
  pointer-events: none;
}

body[data-surface-governance='warn'] [data-governed-surface][data-surface-governance='warn'] {
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-warning, #9a6d1f) 28%, transparent), var(--shadow-sm, none);
}
/* production-css: end css/governed-surfaces.css */
/* production-css: end css/visual-governance.css */


/* production-css: skipped duplicate css/governed-surfaces.css */


/* production-css: begin css/awareness-governance.css */
/* awareness-debug.css
   Awareness Governance presentation hooks.
   This CSS never places geometry; it only exposes low-impact debug/readiness cues.
*/
body[data-awareness-authority='awareness-governance-platform-layer'] {
  --awareness-governance-role: platform-self-knowledge;
}

body[data-awareness-governance='warn'] {
  --awareness-warning-outline: rgba(154, 109, 31, 0.34);
}

body[data-awareness-governance='fail'] {
  --awareness-warning-outline: rgba(141, 67, 58, 0.38);
}

body[data-awareness-debug='true'] [data-awareness-surface],
body[data-awareness-debug='true'] [data-governed-surface] {
  outline: 1px dashed var(--awareness-warning-outline, rgba(33, 95, 134, 0.24));
  outline-offset: -2px;
}

body[data-awareness-debug='true'] [data-awareness-surface]::before,
body[data-awareness-debug='true'] [data-governed-surface]::before {
  content: attr(data-awareness-surface) ' / ' attr(data-awareness-role);
  position: absolute;
  z-index: 999;
  inset-inline-start: 0.35rem;
  inset-block-start: 0.35rem;
  max-inline-size: min(18rem, calc(100% - 0.7rem));
  padding: 0.12rem 0.34rem;
  border-radius: 999px;
  background: rgba(17, 37, 61, 0.72);
  color: #fffdfa;
  font: 600 0.56rem/1.15 var(--font-ui, system-ui, sans-serif);
  pointer-events: none;
}

body[data-awareness-readiness='holding'] .viewport-window,
body[data-awareness-readiness='transitioning'] .viewport-window {
  --awareness-readiness-state: guarded;
}
/* production-css: end css/awareness-governance.css */


/* production-css: begin css/shell-rail.css */
/* shell-rail.css
   Native Cover System Ownership Pass

   The former CSS-built mechanical rail remains retired. The native cover now
   provides a registered railSlot as part of the casing geometry. A rod/snake
   asset can be added later as an optional registered child of that slot.
*/

.shell-cover-rail {
  display: none !important;
}
/* production-css: end css/shell-rail.css */


/* production-css: begin css/shell-cover.css */
/* production-css: begin css/native-sigil-badge.css */
/* native-sigil-badge.css
   Synapse AI Support Badge Ownership System

   AI Support Badge Ownership Pass
   - The registered sigil zone is an invisible future AI/support hitbox.
   - The visible badge is a square child owned by that hitbox.
   - The old right-edge cartridge/dock is secondary and must not add visible height in portrait.
   - Registration places the hitbox and accessory boxes. This file owns visual housing only.
   - The cover glyph remains reduced/no-fill so it cannot collapse into a blob.
*/

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge {
  position: absolute;
  left: var(--cover-sigil-mark-zone-x, var(--cover-sensor-dot-array-x, var(--reg-sigil-mark-zone-x, var(--reg-sensor-dot-array-x, 80%)))) !important;
  top: var(--cover-sigil-mark-zone-y, var(--cover-sensor-dot-array-y, var(--reg-sigil-mark-zone-y, var(--reg-sensor-dot-array-y, 11%)))) !important;
  width: var(--cover-sigil-mark-zone-w, var(--cover-sensor-dot-array-w, var(--reg-sigil-mark-zone-w, var(--reg-sensor-dot-array-w, 8.0%)))) !important;
  height: var(--cover-sigil-mark-zone-h, var(--cover-sensor-dot-array-h, var(--reg-sigil-mark-zone-h, var(--reg-sensor-dot-array-h, 6.0%)))) !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  display: grid;
  place-items: center;
  isolation: isolate;
  pointer-events: none;
  z-index: 37 !important;
  opacity: 0.96;

  --badge-edge: color-mix(in srgb, var(--shell-cover-dim-gold, #c8b176) 42%, rgba(95,113,136,0.18));
  --badge-edge-strong: color-mix(in srgb, var(--shell-cover-gold, #a88448) 48%, rgba(95,113,136,0.16));
  --badge-field: color-mix(in srgb, #ffffff 76%, var(--shell-cover-field, #f8fcfc) 24%);
  --badge-field-low: color-mix(in srgb, var(--shell-cover-field, #f8fcfc) 82%, var(--shell-cover-blue-shadow, #c9dee3) 18%);
  --badge-glass: rgba(248,252,252,0.44);
  --badge-diamond-top: color-mix(in srgb, var(--shell-cover-teal, #0f5f64) 68%, var(--shell-cover-muted, #5f7188) 32%);
  --badge-diamond-bottom: color-mix(in srgb, var(--shell-cover-teal, #0f5f64) 82%, var(--shell-cover-ink, #172f4a) 18%);
  --badge-glyph: color-mix(in srgb, var(--shell-cover-dim-gold, #c8b176) 80%, #fff6c8 20%);
  --badge-pin: color-mix(in srgb, var(--shell-cover-teal, #0f5f64) 44%, var(--shell-cover-dim-gold, #c8b176) 56%);

  /* The visual badge is intentionally smaller than its registered safe box.
     This removes the old vertical/camera-capsule read while preserving placement. */
  --badge-housing-size: 84%;
  --badge-radius: 24%;
  --badge-rim-inset: 9%;
  --badge-rim-opacity: 0.24;
  --badge-slot-opacity: 0.18;
  --badge-seal-size: 88%;
  --badge-diamond-inset: 3.5%;
  --badge-pin-size: clamp(1px, 5.4%, 3.4px);
  --badge-pin-offset-x: 18%;
  --badge-pin-offset-y: 20%;
  --badge-glyph-inset: 7%;
  --badge-visible-y: 50%;
  --badge-visible-translate-y: -50%;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge * {
  box-sizing: border-box;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__hitbox {
  position: absolute !important;
  inset: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 0 !important;
  pointer-events: none;
  z-index: 0;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__housing {
  position: absolute !important;
  left: 50% !important;
  top: var(--badge-visible-y, 50%) !important;
  inline-size: var(--badge-housing-size) !important;
  block-size: auto !important;
  aspect-ratio: 1 / 1 !important;
  transform: translate(-50%, var(--badge-visible-translate-y, -50%)) !important;
  display: grid;
  place-items: center;
  border-radius: var(--badge-radius) !important;
  border: 1px solid color-mix(in srgb, var(--badge-edge-strong) 72%, rgba(255,255,255,0.28));
  background:
    radial-gradient(circle at 52% 14%, rgba(255,255,255,0.62), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,0.58), rgba(240,248,249,0.24));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.58),
    inset 0 -0.10rem 0.22rem rgba(168,132,72,0.055),
    0 0.08rem 0.22rem rgba(23,47,74,0.045);
  overflow: hidden;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__rim {
  position: absolute;
  inset: var(--badge-rim-inset);
  border-radius: calc(var(--badge-radius) * 0.9);
  border: 1px solid color-mix(in srgb, var(--shell-cover-dim-gold, #c8b176) 26%, rgba(255,255,255,0.46));
  opacity: var(--badge-rim-opacity);
  pointer-events: none;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__slot {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  inline-size: 34%;
  block-size: 5.4%;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--shell-cover-dim-gold, #c8b176) 28%, rgba(255,255,255,0.34));
  background: rgba(255,255,255,0.42);
  opacity: var(--badge-slot-opacity);
  z-index: 2;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__slot--top { top: 11%; }
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__slot--bottom { bottom: 11%; }

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__seal-frame {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  inline-size: var(--badge-seal-size) !important;
  block-size: auto !important;
  aspect-ratio: 1 / 1 !important;
  transform: translate(-50%, -50%) !important;
  display: grid;
  place-items: center;
  border-radius: 17%;
  border: 1px solid color-mix(in srgb, var(--shell-cover-dim-gold, #c8b176) 24%, rgba(255,255,255,0.44));
  background: linear-gradient(180deg, rgba(255,255,255,0.20), rgba(248,252,252,0.055));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.20);
  opacity: 0.82;
  z-index: 4;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__glyph-zone {
  position: absolute !important;
  inset: 0 !important;
  display: grid;
  place-items: center;
  transform: none !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__diamond {
  position: absolute !important;
  inset: var(--badge-diamond-inset) !important;
  display: grid;
  place-items: center;
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  -webkit-clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.15), transparent 32%),
    linear-gradient(180deg, var(--badge-diamond-top), var(--badge-diamond-bottom));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.16),
    0 0.025rem 0.06rem rgba(17,37,61,0.16);
  filter: drop-shadow(0 0.022rem 0.045rem rgba(17,37,61,0.14));
  z-index: 3;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__diamond::after {
  content: '';
  position: absolute;
  inset: 12%;
  clip-path: inherit;
  -webkit-clip-path: inherit;
  border: 1px solid rgba(255,255,255,0.14);
  opacity: 0.36;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__glyph {
  position: absolute;
  inset: var(--badge-glyph-inset);
  inline-size: calc(100% - (var(--badge-glyph-inset) * 2));
  block-size: calc(100% - (var(--badge-glyph-inset) * 2));
  overflow: visible;
  filter: drop-shadow(0 0.012rem 0.022rem rgba(6,24,38,0.18));
  z-index: 4;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__glyph path {
  fill: none !important;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: none !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__glyph-rod {
  stroke: var(--badge-glyph) !important;
  stroke-width: 4.8;
  opacity: 0.98;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__glyph-serpent {
  stroke: var(--badge-glyph) !important;
  stroke-width: 5.1;
  opacity: 0.98;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__glyph-head {
  stroke: var(--badge-glyph) !important;
  stroke-width: 4.0;
  opacity: 0.96;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__pin {
  position: absolute;
  inline-size: var(--badge-pin-size);
  block-size: var(--badge-pin-size);
  border-radius: 999px;
  background: var(--badge-pin);
  opacity: 0.40;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.36);
  z-index: 5;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__pin--a { left: var(--badge-pin-offset-x); top: var(--badge-pin-offset-y); }
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__pin--b { right: var(--badge-pin-offset-x); top: var(--badge-pin-offset-y); }
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__pin--c { left: var(--badge-pin-offset-x); bottom: var(--badge-pin-offset-y); }
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__pin--d { right: var(--badge-pin-offset-x); bottom: var(--badge-pin-offset-y); }

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__glass {
  position: absolute;
  inset: -3%;
  border-radius: inherit;
  z-index: 8;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.30), transparent 38%),
    radial-gradient(circle at 78% 16%, rgba(201,222,227,0.12), transparent 32%);
  opacity: 0.32;
  pointer-events: none;
  mix-blend-mode: screen;
}

/* Hide legacy camera/sensor notch when it visually competes with the dedicated badge. */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-sensor-notch {
  opacity: 0.22 !important;
}

.shell-body[data-shell-state='admission'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge,
.shell-body[data-support-chamber]:not([data-support-chamber='closed']) .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge {
  opacity: 1;
  --badge-diamond-top: color-mix(in srgb, var(--shell-cover-teal, #0f5f64) 72%, var(--shell-cover-muted, #5f7188) 28%);
  --badge-diamond-bottom: color-mix(in srgb, var(--shell-cover-teal, #0f5f64) 86%, var(--shell-cover-ink, #172f4a) 14%);
}

.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-motif='workstation'] .synapse-cover-badge {
  --badge-housing-size: 82%;
  --badge-radius: 20%;
  --badge-seal-size: 74%;
  --badge-diamond-inset: 3.5%;
  --badge-pin-size: clamp(1px, 4.6%, 3px);
  --badge-pin-offset-x: 18.5%;
  --badge-pin-offset-y: 20.5%;
  opacity: 0.95;
}

@media (orientation: landscape) and (max-height: 35rem) {
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge {
    --badge-housing-size: 82%;
    --badge-seal-size: 73%;
    --badge-diamond-inset: 3.5%;
    opacity: 0.94;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__pin {
    opacity: 0.34;
  }
}

@media (orientation: portrait) and (max-width: 48rem) {
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge {
    --badge-housing-size: 84%;
    --badge-seal-size: 88%;
    --badge-diamond-inset: 3.5%;
    --badge-pin-size: clamp(1px, 5.0%, 3px);
    opacity: 0.96;
  }
}


/* -------------------------------------------------------------------------
   Right-edge AI support cartridge spine
   ------------------------------------------------------------------------- */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-terminal-strip.shell-cover__native-diagnostic-port-strip {
  z-index: 33 !important;
  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--shell-cover-dim-gold, #c8b176) 28%, rgba(95,113,136,0.14)) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.48), rgba(248,252,252,0.18) 38%, rgba(216,200,164,0.105)),
    linear-gradient(90deg, rgba(15,95,100,0.04), rgba(255,255,255,0.20), rgba(168,132,72,0.035)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.34),
    inset 0 0.28rem 0.62rem rgba(201,222,227,0.10),
    inset 0 -0.32rem 0.66rem rgba(168,132,72,0.055),
    0 0.12rem 0.32rem rgba(23,47,74,0.035) !important;
  opacity: 0.72 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-terminal-strip.shell-cover__native-diagnostic-port-strip::before {
  content: '' !important;
  position: absolute !important;
  left: 50% !important;
  top: 34% !important;
  width: 22% !important;
  height: 34% !important;
  transform: translateX(-50%) !important;
  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--shell-cover-teal, #0f5f64) 18%, rgba(255,255,255,0.22)) !important;
  background: linear-gradient(180deg, rgba(15,95,100,0.065), rgba(255,255,255,0.10)) !important;
  opacity: 0.55 !important;
}
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-terminal-strip.shell-cover__native-diagnostic-port-strip::after {
  content: '' !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 9% !important;
  width: 46% !important;
  height: 14% !important;
  transform: translateX(-50%) !important;
  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--shell-cover-dim-gold, #c8b176) 34%, rgba(255,255,255,0.30)) !important;
  background:
    radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--shell-cover-teal, #0f5f64) 32%, rgba(255,255,255,0.36)) 0 26%, transparent 30%),
    rgba(248,252,252,0.34) !important;
  opacity: 0.78 !important;
}
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge {
  z-index: 39 !important;
  --badge-pin-offset-x: 15.5%;
  --badge-pin-offset-y: 16%;
}
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__housing {
  background:
    radial-gradient(circle at 52% 14%, rgba(255,255,255,0.54), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,0.46), rgba(240,248,249,0.18)) !important;
}
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__status-dot {
  position: absolute;
  right: 12%;
  bottom: 12%;
  inline-size: clamp(1.5px, 9%, 5px);
  block-size: clamp(1.5px, 9%, 5px);
  border-radius: 999px;
  background: color-mix(in srgb, var(--shell-cover-teal, #0f5f64) 58%, var(--shell-cover-dim-gold, #c8b176) 42%);
  box-shadow: 0 0 0 1px rgba(255,255,255,0.42);
  opacity: 0.58;
  z-index: 7;
}
.shell-body[data-shell-state='admission'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-terminal-strip.shell-cover__native-diagnostic-port-strip,
.shell-body[data-support-chamber]:not([data-support-chamber='closed']) .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-terminal-strip.shell-cover__native-diagnostic-port-strip {
  opacity: 0.86 !important;
}
.shell-body[data-shell-state='admission'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__status-dot,
.shell-body[data-support-chamber]:not([data-support-chamber='closed']) .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__status-dot {
  opacity: 0.82;
}

/* -------------------------------------------------------------------------
   Compact AI identity actuator correction
   -------------------------------------------------------------------------
   Goal: the top-right mark reads as a compact identity / future AI support
   actuator. The diamond and rod-serpent glyph are primary; the cartridge spine
   is only a quiet docking mast and must not read as a long camera capsule.
*/
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge {
  --badge-housing-size: 94%;
  --badge-radius: 22%;
  --badge-rim-inset: 7.5%;
  --badge-rim-opacity: 0.18;
  --badge-slot-opacity: 0.08;
  --badge-seal-size: 84%;
  --badge-diamond-inset: 4.5%;
  --badge-glyph-inset: 12%;
  --badge-rod: rgba(255,255,255,0.98);
  --badge-serpent: color-mix(in srgb, #fffaf1 58%, var(--shell-cover-dim-gold, #c8b176) 42%);
  --badge-serpent-shadow: rgba(8,31,45,0.28);
  --badge-diamond-top: color-mix(in srgb, var(--shell-cover-teal, #0f5f64) 76%, var(--shell-cover-field, #f8fcfc) 24%);
  --badge-diamond-bottom: color-mix(in srgb, var(--shell-cover-ink, #172f4a) 46%, var(--shell-cover-teal, #0f5f64) 54%);
  --badge-pin-offset-x: 13.5%;
  --badge-pin-offset-y: 13.5%;
  opacity: 0.98;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__housing {
  background:
    radial-gradient(circle at 50% 16%, rgba(255,255,255,0.64), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,0.58), rgba(240,248,249,0.18)) !important;
  border-color: color-mix(in srgb, var(--shell-cover-dim-gold, #c8b176) 34%, rgba(255,255,255,0.44)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.58),
    inset 0 -0.10rem 0.22rem rgba(168,132,72,0.055),
    0 0.10rem 0.24rem rgba(23,47,74,0.055) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__seal-frame {
  opacity: 0.70;
  border-color: color-mix(in srgb, var(--shell-cover-dim-gold, #c8b176) 18%, rgba(255,255,255,0.50)) !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.16), rgba(248,252,252,0.035)) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__diamond {
  filter: drop-shadow(0 0.035rem 0.055rem rgba(17,37,61,0.16));
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__glyph {
  filter:
    drop-shadow(0 0.018rem 0.018rem var(--badge-serpent-shadow))
    drop-shadow(0 0 0.055rem rgba(255,255,255,0.18));
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__glyph-rod {
  stroke: var(--badge-rod) !important;
  stroke-width: 4.6 !important;
  opacity: 0.98 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__glyph-serpent {
  stroke: var(--badge-serpent) !important;
  stroke-width: 4.15 !important;
  opacity: 0.98 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__glyph-serpent--front {
  stroke-width: 4.35 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__glyph-head {
  stroke: var(--badge-serpent) !important;
  stroke-width: 3.25 !important;
  opacity: 0.96 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__slot {
  opacity: var(--badge-slot-opacity) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__pin {
  opacity: 0.25;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge__status-dot {
  right: 10%;
  bottom: 10%;
  inline-size: clamp(1.25px, 7.2%, 4px);
  block-size: clamp(1.25px, 7.2%, 4px);
  opacity: 0.44;
}

/* The cartridge spine docks to the badge instead of visually competing with it. */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-terminal-strip.shell-cover__native-diagnostic-port-strip {
  left: calc(var(--reg-sigil-mark-zone-x, 86.6%) + (var(--reg-sigil-mark-zone-w, 6.8%) * 0.38)) !important;
  top: calc(var(--reg-sigil-mark-zone-y, 12.8%) + (var(--reg-sigil-mark-zone-h, 6.8%) * 0.82)) !important;
  width: calc(var(--reg-sigil-mark-zone-w, 6.8%) * 0.24) !important;
  height: calc(var(--reg-sigil-mark-zone-h, 6.8%) * 1.72) !important;
  min-width: 2px !important;
  min-height: 1.75rem !important;
  max-height: 4.15rem !important;
  border-color: color-mix(in srgb, var(--shell-cover-dim-gold, #c8b176) 18%, rgba(255,255,255,0.40)) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.34), rgba(248,252,252,0.14) 48%, rgba(216,200,164,0.07)),
    linear-gradient(90deg, rgba(15,95,100,0.025), rgba(255,255,255,0.16), rgba(168,132,72,0.02)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.24),
    inset 0 0.18rem 0.42rem rgba(201,222,227,0.07),
    inset 0 -0.22rem 0.42rem rgba(168,132,72,0.035),
    0 0.08rem 0.18rem rgba(23,47,74,0.026) !important;
  opacity: 0.46 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-terminal-strip.shell-cover__native-diagnostic-port-strip::before {
  top: 17% !important;
  width: 36% !important;
  height: 32% !important;
  opacity: 0.26 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-terminal-strip.shell-cover__native-diagnostic-port-strip::after {
  bottom: 10% !important;
  width: 62% !important;
  height: 17% !important;
  opacity: 0.42 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-sensor-notch {
  opacity: 0.06 !important;
}

.shell-body[data-shell-state='admission'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-terminal-strip.shell-cover__native-diagnostic-port-strip,
.shell-body[data-support-chamber]:not([data-support-chamber='closed']) .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-terminal-strip.shell-cover__native-diagnostic-port-strip {
  opacity: 0.60 !important;
}

/* -------------------------------------------------------------------------
   Portrait housing ownership correction
   -------------------------------------------------------------------------
   The registered sigil zone is allowed to remain the future AI hitbox. The
   visible badge stays square, and the retired diagnostic-port strip is hidden
   in portrait so it cannot read as extra badge housing height.
*/
.shell-body[data-layout-mode='portrait-single'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .synapse-cover-badge,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-tablet-orientation='portrait'] .synapse-cover-badge {
  --badge-housing-size: 94%;
  --badge-visible-y: 50%;
  --badge-visible-translate-y: -50%;
  --badge-seal-size: 84%;
  --badge-diamond-inset: 4.5%;
  --badge-glyph-inset: 12%;
}

.shell-body[data-layout-mode='portrait-single'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-terminal-strip.shell-cover__native-diagnostic-port-strip,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-tablet-orientation='portrait'] .shell-cover__native-terminal-strip.shell-cover__native-diagnostic-port-strip {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.shell-body[data-layout-mode='portrait-single'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-terminal-strip.shell-cover__native-diagnostic-port-strip::before,
.shell-body[data-layout-mode='portrait-single'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-terminal-strip.shell-cover__native-diagnostic-port-strip::after,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-tablet-orientation='portrait'] .shell-cover__native-terminal-strip.shell-cover__native-diagnostic-port-strip::before,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-tablet-orientation='portrait'] .shell-cover__native-terminal-strip.shell-cover__native-diagnostic-port-strip::after {
  opacity: 0 !important;
  visibility: hidden !important;
}
/* production-css: end css/native-sigil-badge.css */

/* shell-cover.css
   Synapse Native Cover Consumer Layer

   Ownership contract:
   - Shell chamber sizing lives in shared/styles/shell/chambers.css.
   - Registration places cover objects through --cover-* / --reg-* variables.
   - Native DOM owns casing, field, rail housing, terminal strip, and branding card.
   - Live DOM owns text, routes, focus, and interaction.
   - CSS polishes internals; it does not invent global registered geometry.

   First-Paint Registration Contract:
   Preboot declares state. Registration places objects. Stable casing may paint early. Registered children wait. Semantic controls wait. Ready-state unlocks the live cover.

   Enforcement in this file:
   - Paint stable casing/main field early.
   - Consume measured chamber size without creating shell geometry.
   - Style registered native/semantic children after registration has placed them.
*/

:root {
  --shell-cover-radius: clamp(1rem, 0.8rem + 1vw, 1.8rem);
  --shell-cover-ink: var(--syn-identity, var(--color-title, #172f4a));
  --shell-cover-muted: var(--syn-support-soft, var(--color-text-soft, #5f7188));
  --shell-cover-gold: var(--syn-casing-strong, #a88448);
  --shell-cover-dim-gold: var(--syn-line-gold, #c8b176);
  --shell-cover-brass: var(--syn-brass, #d8c8a4);
  --shell-cover-teal: var(--syn-action, #0f5f64);
  --shell-cover-field: #f8fcfc;
  --shell-cover-case: #f6f0e3;
  --shell-cover-blue-shadow: #c9dee3;
  --shell-cover-shadow: 0 1rem 2.25rem rgba(16, 37, 63, 0.08);
}

/* -------------------------------------------------------------------------
   Resting shell chrome
   ------------------------------------------------------------------------- */

.shell-body[data-shell-preboot-awake='true'] .scene--cover,
.shell-body[data-shell-preboot-awake='true'] [data-shell-cover-layer] {
  display: none !important;
}

.shell-body[data-shell-preboot-awake='true'] .scene--primary[hidden],
.shell-body[data-shell-preboot-awake='true'] .scene--primary {
  display: block !important;
}

.shell-brand .identity-plate__eyebrow,
.shell-brand .identity-plate__separator,
.shell-brand .identity-plate__meta,
.shell-body[data-shell-state='resting'] .identity-plate__eyebrow,
.shell-body[data-shell-state='resting'] .identity-plate__separator,
.shell-body[data-shell-state='resting'] .identity-plate__meta {
  display: none !important;
}

.shell-body[data-shell-state='resting'] .shell-nav,
.shell-body[data-shell-state='resting'] .shell__utility,
.shell-body[data-shell-state='resting'] .shell-authbar,
.shell-body[data-shell-state='resting'] .support-chamber__resume,
.shell-body[data-active-scene='cover'] .shell-nav,
.shell-body[data-active-scene='cover'] .shell__utility,
.shell-body[data-active-scene='cover'] .shell-authbar,
.shell-body[data-active-scene='cover'] .support-chamber__resume {
  display: none !important;
}

.shell-body[data-shell-state='resting'] .shell-brand {
  min-width: 0;
}

.shell-body[data-shell-state='resting'] .sigil {
  transform: none;
}

.shell-body[data-shell-state='resting'] .identity-plate__name {
  font-size: var(--identity-title-size, clamp(0.74rem, 0.68rem + 0.18vw, 0.86rem));
  font-weight: 780;
  letter-spacing: -0.034em;
  line-height: 0.98;
}

.shell-body[data-shell-state='resting'] .shell-footer__nav,
.shell-body[data-active-scene='cover'] .shell-footer__nav {
  display: none !important;
}

.shell-body[data-shell-state='resting'] .shell-footer__rail {
  justify-content: center;
}

.shell-cover-layer[hidden],
.shell-cover-layer[aria-hidden='true'] {
  display: none !important;
}

.shell-cover-layer.is-active {
  display: block;
}

.shell-body.has-cover-layer-active [data-shell-viewport-layer],
.shell-body[data-shell-state='resting'] [data-shell-viewport-layer],
.shell-body[data-active-scene='cover'] [data-shell-viewport-layer] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* -------------------------------------------------------------------------
   Cover chamber consumer + canvas fill authority
   -------------------------------------------------------------------------

   The shell chamber system owns the available page region.
   This file only consumes that region and fits the registered canvas inside it.
   No 100dvh/header/footer subtraction belongs here.
*/

.shell-cover-scene {
  min-inline-size: 0;
  min-block-size: 0;
  inline-size: 100%;
  block-size: 100%;
}

[data-shell-cover-chamber] .shell-cover[data-cover-contract='synapse-cover-v2'],
.shell-body[data-shell-state='resting'] [data-shell-cover-chamber] .shell-cover,
.shell-body[data-active-scene='cover'] [data-shell-cover-chamber] .shell-cover {
  --cover-native-canvas-ratio: var(--cover-canvas-ratio, var(--reg-canvas-ratio, 1536 / 1024));
  --cover-native-canvas-fill-height: var(--cover-canvas-fill-height, var(--reg-canvas-fill-height, 98%));
  --cover-native-canvas-max-inline: var(--cover-canvas-max-inline-size, var(--reg-canvas-max-inline-size, calc(100% - var(--shell-chamber-safe-gap, 0.16rem))));
  --cover-native-canvas-max-block: var(--cover-canvas-max-block-size, var(--reg-canvas-max-block-size, calc(100% - var(--shell-chamber-safe-gap, 0.16rem))));
  --cover-native-canvas-x: var(--cover-canvas-x, var(--reg-canvas-x, 0%));
  --cover-native-canvas-y: var(--cover-canvas-y, var(--reg-canvas-y, 0%));
  --cover-native-canvas-scale: var(--cover-canvas-scale, var(--reg-canvas-scale, 1));
  --cover-css-geometry-role: chamber-consumer-only;

  inline-size: 100% !important;
  block-size: 100% !important;
  min-inline-size: 0 !important;
  min-block-size: 0 !important;
  max-inline-size: 100% !important;
  max-block-size: 100% !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-safe-rect-state='measured'] {
  block-size: var(--shell-cover-safe-block, var(--cover-measured-chamber-block)) !important;
  max-block-size: var(--shell-cover-safe-block, var(--cover-measured-chamber-block)) !important;
  inline-size: var(--shell-cover-safe-inline, 100%) !important;
  max-inline-size: var(--shell-cover-safe-inline, 100%) !important;
}

[data-shell-cover-chamber] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__surface {
  position: relative;
  isolation: isolate;
  inline-size: 100% !important;
  block-size: 100% !important;
  min-inline-size: 0 !important;
  min-block-size: 0 !important;
  max-inline-size: 100% !important;
  max-block-size: 100% !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

[data-shell-cover-chamber] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__coordinate,
[data-shell-cover-chamber] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__registration-frame,
[data-shell-cover-chamber] .shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-registration-frame],
[data-shell-cover-chamber] .shell-cover[data-cover-contract='synapse-cover-v2'] .trace-coordinate-field.shell-cover__coordinate {
  position: relative !important;
  isolation: isolate !important;
  block-size: min(
    var(--cover-native-canvas-fill-height, 98%),
    var(--cover-native-canvas-max-block, calc(100% - var(--shell-chamber-safe-gap, 0.16rem)))
  ) !important;
  inline-size: auto !important;
  aspect-ratio: var(--cover-native-canvas-ratio, 1536 / 1024) !important;
  max-inline-size: var(--cover-native-canvas-max-inline, calc(100% - var(--shell-chamber-safe-gap, 0.16rem))) !important;
  max-block-size: var(--cover-native-canvas-max-block, calc(100% - var(--shell-chamber-safe-gap, 0.16rem))) !important;
  justify-self: center !important;
  align-self: center !important;
  margin: auto !important;
  transform: translate(var(--cover-native-canvas-x, 0%), var(--cover-native-canvas-y, 0%)) scale(var(--cover-native-canvas-scale, 1)) !important;
  transform-origin: center center !important;
  overflow: visible !important;
}

.shell-cover__native-plane,
.shell-cover__trace-native,
.shell-cover__field,
.shell-cover__field--registered,
.trace-content.shell-cover__field {
  position: absolute !important;
  inset: 0 !important;
  inline-size: 100% !important;
  block-size: 100% !important;
  min-inline-size: 0 !important;
  min-block-size: 0 !important;
}

.shell-cover__native-plane,
.shell-cover__trace-native {
  z-index: 10;
  pointer-events: none;
}

.shell-cover__field {
  z-index: 30;
  display: block !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  pointer-events: none;
}

.shell-body[data-cover-debug='fit'] [data-shell-cover-chamber],
.shell-body[data-cover-debug='fit'] .shell-cover[data-cover-contract='synapse-cover-v2'],
.shell-body[data-cover-debug='fit'] .shell-cover__surface,
.shell-body[data-cover-debug='fit'] .shell-cover__registration-frame {
  outline: 1px dashed rgba(15, 95, 100, 0.45) !important;
  outline-offset: -1px;
}

/* -------------------------------------------------------------------------
   Native cover geometry
   ------------------------------------------------------------------------- */

.shell-cover__native-case,
.shell-cover__native-main-field,
.shell-cover__native-rail-slot,
.shell-cover__native-terminal-strip,
.shell-cover__native-corner-lattice,
.shell-cover__native-terminal-dots,
.shell-cover__native-branding-card {
  position: absolute;
  box-sizing: border-box;
  pointer-events: none;
  user-select: none;
}

.shell-cover__native-case {
  left: var(--cover-casing-shell-x, var(--reg-casing-shell-x, 0%));
  top: var(--cover-casing-shell-y, var(--reg-casing-shell-y, 0%));
  width: var(--cover-casing-shell-w, var(--reg-casing-shell-w, 100%));
  height: var(--cover-casing-shell-h, var(--reg-casing-shell-h, 100%));
  overflow: hidden;
  border-radius: clamp(1.35rem, 2.2vw, 2.85rem);
  border: 1px solid color-mix(in srgb, var(--shell-cover-brass) 55%, rgba(23,47,74,0.14));
  background:
    radial-gradient(circle at 86% 16%, rgba(201,222,227,0.36), transparent 28%),
    radial-gradient(circle at 15% 84%, rgba(216,200,164,0.24), transparent 24%),
    linear-gradient(135deg, rgba(255,255,255,0.62), transparent 32%),
    linear-gradient(180deg, rgba(246,240,227,0.98), rgba(238,231,214,0.95));
  box-shadow:
    0 1rem 2rem rgba(16,37,63,0.10),
    inset 0 0 0 1px rgba(255,255,255,0.62),
    inset 0 -1.2rem 2.4rem rgba(164,132,72,0.08);
}

.shell-cover__native-case::before,
.shell-cover__native-case::after {
  content: '';
  position: absolute;
  inset: clamp(0.52rem, 0.9vw, 0.9rem);
  border-radius: clamp(1rem, 1.8vw, 2.2rem);
  pointer-events: none;
}

.shell-cover__native-case::before {
  border: 1px solid rgba(168,132,72,0.34);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.28);
}

.shell-cover__native-case::after {
  inset: clamp(1.1rem, 1.8vw, 1.7rem);
  border: 1px solid rgba(200,177,118,0.22);
}

.shell-cover__native-main-field {
  left: var(--cover-main-field-x, var(--reg-main-field-x, 21%));
  top: var(--cover-main-field-y, var(--reg-main-field-y, 12%));
  width: var(--cover-main-field-w, var(--reg-main-field-w, 71%));
  height: var(--cover-main-field-h, var(--reg-main-field-h, 78%));
  z-index: 2;
  overflow: hidden;
  border-radius: clamp(0.7rem, 1.1vw, 1.35rem);
  border: 1px solid rgba(95,113,136,0.20);
  background:
    radial-gradient(circle at 92% 12%, rgba(201,222,227,0.28), transparent 32%),
    radial-gradient(circle at 8% 92%, rgba(200,177,118,0.10), transparent 28%),
    linear-gradient(180deg, rgba(248,252,252,0.985), rgba(240,248,249,0.95));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.72),
    inset 0 0.75rem 1.5rem rgba(201,222,227,0.18),
    0 0.4rem 0.9rem rgba(23,47,74,0.045);
}

.shell-cover__native-main-field::before {
  content: '';
  position: absolute;
  inset: clamp(0.6rem, 1vw, 1rem);
  border: 1px solid rgba(200,177,118,0.24);
  border-radius: clamp(0.45rem, 0.9vw, 1rem);
}

.shell-cover__native-rail-slot {
  left: var(--cover-rail-slot-x, var(--reg-rail-slot-x, 3%));
  top: var(--cover-rail-slot-y, var(--reg-rail-slot-y, 11%));
  width: var(--cover-rail-slot-w, var(--reg-rail-slot-w, 15%));
  height: var(--cover-rail-slot-h, var(--reg-rail-slot-h, 78%));
  z-index: 3;
  border-radius: 999px;
  border: 1px solid rgba(168,132,72,0.42);
  background:
    linear-gradient(90deg, rgba(168,132,72,0.14), rgba(248,252,252,0.30), rgba(168,132,72,0.10)),
    linear-gradient(180deg, rgba(246,240,227,0.64), rgba(216,200,164,0.28));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.42),
    inset 0 0.8rem 1.6rem rgba(255,255,255,0.18),
    inset 0 -0.8rem 1.4rem rgba(95,69,36,0.08);
}

.shell-cover__native-rail-slot::before,
.shell-cover__native-rail-slot::after {
  content: '';
  position: absolute;
  left: 50%;
  width: 42%;
  height: 7%;
  transform: translateX(-50%);
  border-radius: 999px;
  border: 1px solid rgba(168,132,72,0.38);
  background: rgba(248,252,252,0.32);
}

.shell-cover__native-rail-slot::before { top: 4.5%; }
.shell-cover__native-rail-slot::after { bottom: 4.5%; }

.shell-cover__native-terminal-strip {
  left: var(--cover-terminal-strip-x, var(--reg-terminal-strip-x, 92%));
  top: var(--cover-terminal-strip-y, var(--reg-terminal-strip-y, 14%));
  width: var(--cover-terminal-strip-w, var(--reg-terminal-strip-w, 5%));
  height: var(--cover-terminal-strip-h, var(--reg-terminal-strip-h, 72%));
  z-index: 3;
  border-radius: 999px;
  border: 1px solid rgba(168,132,72,0.32);
  background: linear-gradient(180deg, rgba(248,252,252,0.42), rgba(216,200,164,0.22));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.30);
}

.shell-cover__native-terminal-strip::before,
.shell-cover__native-terminal-strip::after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 48%;
  height: 12%;
  border-radius: 999px;
  border: 1px solid rgba(200,177,118,0.38);
  background: rgba(248,252,252,0.42);
}

.shell-cover__native-terminal-strip::before { top: 8%; }
.shell-cover__native-terminal-strip::after { bottom: 8%; }

.shell-cover__native-corner-lattice {
  left: var(--cover-corner-lattice-x, var(--reg-corner-lattice-x, 23%));
  top: var(--cover-corner-lattice-y, var(--reg-corner-lattice-y, 72%));
  width: var(--cover-corner-lattice-w, var(--reg-corner-lattice-w, 11%));
  height: var(--cover-corner-lattice-h, var(--reg-corner-lattice-h, 14%));
  z-index: 4;
  opacity: 0.42;
  background:
    linear-gradient(30deg, transparent 45%, rgba(200,177,118,0.65) 46%, rgba(200,177,118,0.65) 54%, transparent 55%) 0 0 / 1.05rem 1.05rem,
    linear-gradient(150deg, transparent 45%, rgba(200,177,118,0.55) 46%, rgba(200,177,118,0.55) 54%, transparent 55%) 0 0 / 1.05rem 1.05rem;
  mask-image: linear-gradient(135deg, rgba(0,0,0,0.8), transparent 85%);
}

.shell-cover__native-terminal-dots {
  left: var(--cover-terminal-dots-x, var(--reg-terminal-dots-x, 80%));
  top: var(--cover-terminal-dots-y, var(--reg-terminal-dots-y, 15%));
  width: var(--cover-terminal-dots-w, var(--reg-terminal-dots-w, 8%));
  height: var(--cover-terminal-dots-h, var(--reg-terminal-dots-h, 10%));
  z-index: 4;
  opacity: 0.42;
  background-image: radial-gradient(circle, rgba(95,113,136,0.65) 0 1px, transparent 1.6px);
  background-size: 0.55rem 0.55rem;
}

.shell-cover__native-branding-card {
  left: var(--cover-identity-card-x, var(--reg-identity-card-x, 43%));
  top: var(--cover-identity-card-y, var(--reg-identity-card-y, 35%));
  width: var(--cover-identity-card-w, var(--reg-identity-card-w, 38%));
  height: var(--cover-identity-card-h, var(--reg-identity-card-h, 28%));
  z-index: 18;
  border-radius: clamp(0.72rem, 1.15vw, 1.35rem);
  border: 1px solid rgba(168,132,72,0.42);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.76), rgba(248,252,252,0.54)),
    radial-gradient(circle at 14% 10%, rgba(201,222,227,0.18), transparent 34%),
    linear-gradient(180deg, rgba(246,240,227,0.82), rgba(248,252,252,0.78));
  box-shadow:
    0 0.7rem 1.4rem rgba(23,47,74,0.08),
    inset 0 0 0 1px rgba(255,255,255,0.58),
    inset 0 -0.55rem 1rem rgba(216,200,164,0.10);
}

.shell-cover__native-card-field,
.shell-cover__native-card-edge,
.shell-cover__native-card-grip {
  position: absolute;
  pointer-events: none;
}

.shell-cover__native-card-field {
  inset: clamp(0.42rem, 0.78vw, 0.78rem);
  border-radius: clamp(0.45rem, 0.84vw, 0.96rem);
  border: 1px solid rgba(200,177,118,0.28);
  background: rgba(248,252,252,0.34);
}

.shell-cover__native-card-edge {
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0.18rem 0.36rem rgba(255,255,255,0.48);
}

.shell-cover__native-card-grip {
  left: 50%;
  width: 26%;
  height: 0.28rem;
  transform: translateX(-50%);
  border-radius: 999px;
  background: rgba(200,177,118,0.34);
}

.shell-cover__native-card-grip--top { top: 0.36rem; }
.shell-cover__native-card-grip--bottom { bottom: 0.36rem; }

/* -------------------------------------------------------------------------
   Live semantic layer
   ------------------------------------------------------------------------- */

.shell-cover__content-card {
  position: absolute !important;
  left: var(--cover-identity-card-safe-x, var(--reg-identity-card-safe-x, 47%)) !important;
  top: var(--cover-identity-card-safe-y, var(--reg-identity-card-safe-y, 40%)) !important;
  width: var(--cover-identity-card-safe-w, var(--reg-identity-card-safe-w, 31%)) !important;
  height: var(--cover-identity-card-safe-h, var(--reg-identity-card-safe-h, 20%)) !important;
  inset: auto !important;
  z-index: 35;
  box-sizing: border-box;
  display: grid !important;
  grid-template-areas:
    'brand'
    'divider'
    'routes';
  grid-template-rows: minmax(0, 32%) minmax(1px, auto) minmax(0, 1fr);
  align-items: stretch;
  justify-items: center;
  gap: clamp(0.12rem, 0.24vw, 0.26rem);
  min-width: 0;
  min-height: 0;
  padding: clamp(0.1rem, 0.28vw, 0.32rem) 0 clamp(0.1rem, 0.24vw, 0.26rem) !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--shell-cover-ink);
  text-align: center;
  pointer-events: auto;
  transform: none !important;
}

.shell-cover__content-card::before,
.shell-cover__content-card::after {
  content: none !important;
  display: none !important;
}

.shell-cover__content-card > * {
  position: relative !important;
  z-index: 1;
  inset: auto !important;
  transform: none !important;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.shell-cover__sigil-zone,
.shell-cover__field-sigil,
.shell-cover__field-sigil-img {
  display: none !important;
}

.shell-cover__brand-zone {
  grid-area: brand !important;
  display: grid !important;
  place-items: center center;
  align-self: stretch;
  min-width: 0;
  padding: 0 !important;
  text-align: center;
}

.shell-cover__identity {
  display: grid !important;
  justify-items: center;
  align-items: center;
  gap: clamp(0.03rem, 0.1vw, 0.1rem);
  min-width: 0;
  max-width: min(100%, 34rem);
}

.shell-cover__title,
.shell-cover__subtitle,
.shell-cover__eyebrow,
.shell-cover__summary {
  margin: 0 !important;
}

.shell-cover__title {
  color: var(--shell-cover-ink);
  font-family: var(--font-display, var(--font-ui));
  font-size: clamp(1.28rem, 1.95vw, 2.22rem) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.026em;
  font-weight: 825;
  text-wrap: balance;
}

.shell-cover__subtitle,
.shell-cover__eyebrow {
  color: var(--shell-cover-gold);
  font-family: var(--font-ui);
  font-size: clamp(0.4rem, 0.62vw, 0.66rem) !important;
  line-height: 1.1 !important;
  letter-spacing: 0.2em;
  font-weight: 760;
  text-transform: uppercase;
  text-wrap: balance;
}

.shell-cover__summary {
  display: none;
}

.shell-cover__divider-zone {
  grid-area: divider !important;
  align-self: center;
  justify-self: center;
  width: min(54%, 18rem) !important;
  height: 1px !important;
  min-height: 1px;
  border-top: 1px solid color-mix(in srgb, var(--shell-cover-dim-gold) 60%, transparent);
  opacity: 0.65;
  pointer-events: none;
}

.shell-cover__routes-zone {
  grid-area: routes !important;
  display: grid !important;
  align-self: stretch;
  align-items: stretch;
  justify-items: center;
  min-width: 0;
  min-height: 0;
  padding: clamp(0.08rem, 0.18vw, 0.18rem) 0 0 !important;
}

.shell-cover__routes {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--cover-route-gap);
  align-items: stretch;
  justify-items: stretch;
  width: min(100%, 34rem) !important;
  max-width: 100%;
  height: 100%;
  margin: 0 auto !important;
  padding: 0 !important;
}

.shell-cover__route {
  appearance: none;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  display: grid !important;
  grid-template-areas:
    'icon'
    'label';
  grid-template-rows: minmax(0, 58%) minmax(1.05rem, 42%);
  row-gap: 0;
  justify-items: stretch;
  align-items: stretch;
  min-width: 0;
  min-height: clamp(4.2rem, 5.7vw, 5.9rem);
  height: 100%;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0.54rem;
  background: transparent !important;
  color: var(--shell-cover-ink);
  box-shadow: none !important;
  cursor: pointer;
  text-decoration: none;
}

.shell-cover__route-icon-zone,
.shell-cover__route-label-zone {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  box-sizing: border-box;
}

.shell-cover__route-icon-zone {
  grid-area: icon !important;
  display: grid !important;
  place-items: center;
  width: 100% !important;
  min-width: 0;
  min-height: 0;
  padding: clamp(0.34rem, 0.56vw, 0.52rem);
  border: 1px solid color-mix(in srgb, var(--shell-cover-dim-gold) 62%, rgba(23,47,74,0.16));
  border-radius: 0.4rem 0.4rem 0.18rem 0.18rem;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.48), rgba(210,226,232,0.16)),
    linear-gradient(90deg, rgba(95,69,36,0.12), rgba(200,177,118,0.2), rgba(95,69,36,0.12));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.26),
    inset 0 -0.25rem 0.62rem rgba(23,63,127,0.055),
    0 0.12rem 0.28rem rgba(24,37,51,0.075);
  transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.shell-cover__route-label-zone {
  grid-area: label !important;
  display: grid !important;
  place-items: center;
  width: 100% !important;
  min-width: 0;
  min-height: clamp(1.05rem, 1.35vw, 1.42rem);
  padding: clamp(0.18rem, 0.32vw, 0.28rem) clamp(0.22rem, 0.42vw, 0.38rem);
  border: 1px solid color-mix(in srgb, var(--shell-cover-dim-gold) 54%, rgba(23,47,74,0.14));
  border-top: 0;
  border-radius: 0.18rem 0.18rem 0.42rem 0.42rem;
  background: rgba(248, 252, 252, 0.42);
  transition: border-color 160ms ease, background 160ms ease, color 160ms ease;
}

.shell-cover__route-icon {
  display: grid !important;
  place-items: center;
  width: clamp(1.28rem, 1.9vw, 2.05rem) !important;
  height: clamp(1.28rem, 1.9vw, 2.05rem) !important;
  color: var(--shell-cover-teal);
}

.shell-cover__route-svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.shell-cover__route-label {
  display: block;
  width: 100%;
  max-width: 100%;
  color: inherit;
  font-family: var(--font-ui);
  font-size: clamp(0.48rem, 0.72vw, 0.74rem);
  font-weight: var(--font-weight-bold, 760);
  line-height: 1;
  letter-spacing: 0.045em;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.shell-cover__route:hover,
.shell-cover__route:focus-visible {
  outline: none;
}

.shell-cover__route:hover .shell-cover__route-icon-zone,
.shell-cover__route:focus-visible .shell-cover__route-icon-zone {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--shell-cover-teal) 56%, var(--shell-cover-dim-gold) 44%);
  background: linear-gradient(180deg, rgba(33,135,146,0.96), rgba(15,95,100,0.96));
  box-shadow: 0 0.42rem 0.9rem rgba(15,95,100,0.16);
}

.shell-cover__route:hover .shell-cover__route-icon,
.shell-cover__route:focus-visible .shell-cover__route-icon,
.shell-cover__route:hover .shell-cover__route-label,
.shell-cover__route:focus-visible .shell-cover__route-label {
  color: var(--color-text-inverse, #fff);
}

.shell-cover__route:hover .shell-cover__route-label-zone,
.shell-cover__route:focus-visible .shell-cover__route-label-zone {
  border-color: color-mix(in srgb, var(--shell-cover-teal) 50%, transparent);
  background: linear-gradient(180deg, rgba(33,135,146,0.92), rgba(15,95,100,0.92));
}

.shell-cover__route.is-active,
.shell-cover__route.active,
.shell-cover__route[aria-current='page'],
.shell-cover__route[aria-pressed='true'] {
  color: var(--shell-cover-ink);
}

/* -------------------------------------------------------------------------
   Access scene retained as neutral support backdrop
   ------------------------------------------------------------------------- */

.shell-body[data-app='clinic'][data-shell-state='admission'] .viewport-meta,
.shell-body[data-app='clinic'][data-active-scene='access'] .viewport-meta {
  display: none;
}

.shell-access-scene {
  min-height: inherit;
}

.shell-access {
  position: relative;
  isolation: isolate;
  min-height: clamp(23rem, calc(100dvh - 9rem), 42rem);
  display: grid;
  place-items: center;
  padding: clamp(0.9rem, 2vw, 1.65rem);
}

.shell-access__card {
  position: relative;
  isolation: isolate;
  z-index: 1;
  overflow: hidden;
  display: grid;
  gap: clamp(0.62rem, 1.2vw, 0.96rem);
  width: min(100%, 44rem);
  padding: clamp(1.3rem, 2.6vw, 2.4rem);
  border-radius: clamp(1.08rem, 1rem + 0.8vw, 1.65rem);
  border: 1px solid rgba(34, 77, 103, 0.12);
  background:
    radial-gradient(circle at 88% 18%, rgba(203, 228, 236, 0.38), transparent 38%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(244, 249, 250, 0.94));
  box-shadow:
    0 0.8rem 1.8rem rgba(17, 37, 61, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.shell-access__eyebrow,
.shell-access__title,
.shell-access__summary {
  margin: 0;
}

.shell-access__eyebrow {
  color: rgba(164, 132, 72, 0.88);
  font-family: var(--font-ui);
  font-size: clamp(0.72rem, 0.64rem + 0.28vw, 0.86rem);
  font-weight: var(--font-weight-bold, 700);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.shell-access__title {
  max-width: 11ch;
  color: var(--shell-cover-ink);
  font-family: var(--font-display, var(--font-ui));
  font-size: clamp(2rem, 1.45rem + 2.2vw, 3.4rem);
  line-height: 0.98;
  letter-spacing: -0.045em;
}

.shell-access__summary {
  max-width: 36rem;
  color: var(--shell-cover-muted);
  font-family: var(--font-body);
  font-size: clamp(1rem, 0.84rem + 0.55vw, 1.28rem);
  line-height: 1.55;
}

.shell-access__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-block-start: clamp(0.3rem, 0.8vw, 0.7rem);
}

.shell-access__action {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-block-size: 2.2rem;
  padding: 0.52rem 0.88rem;
  border-radius: 999px;
  border: 1px solid var(--control-border, rgba(19, 41, 71, 0.12));
  background: rgba(255, 255, 255, 0.78);
  color: rgba(19, 41, 71, 0.86);
  box-shadow: 0 0.28rem 0.72rem rgba(17,37,61,0.055);
  font-family: var(--font-ui);
  font-size: 0.8rem;
  font-weight: var(--font-weight-bold, 700);
  line-height: 1;
  cursor: pointer;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.shell-access__action.is-active,
.shell-access__action:hover,
.shell-access__action:focus-visible {
  border-color: color-mix(in srgb, var(--shell-cover-teal) 36%, transparent);
  background: linear-gradient(180deg, var(--syn-action, #16717a), var(--syn-action-strong, #0f5f67));
  color: #fff;
  box-shadow: 0 0.48rem 1rem rgba(17, 81, 92, 0.18);
}

/* -------------------------------------------------------------------------
   Device pressure
   ------------------------------------------------------------------------- */

@media (max-width: 42rem) {
  .shell-body[data-shell-state='resting'] .shell-cover,
  .shell-body[data-active-scene='cover'] .shell-cover {
    padding-block: 0.32rem 0.72rem;
  }

  .shell-cover[data-cover-contract='synapse-cover-v2'] {
    --cover-route-gap: clamp(0.28rem, 1.35vw, 0.46rem);
  }

  .shell-cover__title {
    font-size: clamp(0.98rem, 4vw, 1.42rem) !important;
  }

  .shell-cover__subtitle {
    font-size: clamp(0.32rem, 1.35vw, 0.48rem) !important;
    letter-spacing: 0.16em;
  }

  .shell-cover__route {
    min-height: clamp(3.75rem, 15vw, 5.1rem);
  }

  .shell-cover__route-label {
    font-size: clamp(0.38rem, 1.45vw, 0.54rem);
  }

  .shell-access {
    padding: 0.7rem;
  }

  .shell-access__card {
    padding: 1.15rem;
  }

  .shell-access__title {
    max-width: none;
  }

  .shell-access__actions {
    display: grid;
    grid-template-columns: 1fr;
    width: min(100%, 17rem);
  }

  .shell-access__action {
    width: 100%;
  }
}

@media (orientation: landscape) and (max-height: 35rem) {
  .shell-body[data-shell-state='resting'] .shell-cover,
  .shell-body[data-active-scene='cover'] .shell-cover {
    align-items: center;
    padding-block: 0.2rem 0.62rem;
  }

  .shell-cover__route {
    min-height: clamp(3.35rem, 10.5vh, 4.35rem);
  }

  .shell-access {
    min-height: 22rem;
    align-items: start;
    padding-block: 0.8rem 1.35rem;
  }

  .shell-access__card {
    width: min(100%, 42rem);
    padding: 1.05rem 1.2rem;
  }

  .shell-access__title {
    font-size: clamp(1.6rem, 6vh, 2.35rem);
  }

  .shell-access__summary {
    font-size: 0.92rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .shell-cover__route,
  .shell-cover__route-icon-zone,
  .shell-cover__route-label-zone,
  .shell-access__action {
    transition: none;
  }

  .shell-cover__route:hover .shell-cover__route-icon-zone,
  .shell-cover__route:focus-visible .shell-cover__route-icon-zone {
    transform: none;
  }
}

/* =========================================================
   Semantic Registration Consumer Pass
   - Spatial adapter projects solved registration boxes onto semantic nodes.
   - CSS does not own semantic coordinates here; it only polishes interiors.
   - cover-stabilization remains guard-only.
   ========================================================= */

.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-semantic-binding='registered']
  .shell-cover__field--registered {
  pointer-events: none !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-semantic-binding='registered']
  [data-cover-semantic-binding='registered'] {
  max-inline-size: none !important;
  max-block-size: none !important;
  min-inline-size: 0 !important;
  min-block-size: 0 !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-semantic-binding='registered']
  .shell-cover__content-card[data-cover-registered-box='identityCardSafe'],
.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-semantic-binding='registered']
  .shell-cover__content-card[data-cover-registered-box='accessModuleSafe'] {
  display: block !important;
  padding: clamp(0.08rem, 0.22vw, 0.24rem) 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  z-index: 90 !important;
  pointer-events: auto !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-semantic-binding='registered']
  .shell-cover__brand-zone[data-cover-registered-box='brandZone'],
.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-semantic-binding='registered']
  .shell-cover__brand-zone[data-cover-registered-box='identityZone'],
.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-semantic-binding='registered']
  .shell-cover__divider-zone[data-cover-registered-box='dividerZone'],
.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-semantic-binding='registered']
  .shell-cover__divider-zone[data-cover-registered-box='statusLineZone'],
.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-semantic-binding='registered']
  .shell-cover__routes-zone[data-cover-registered-box='routesZone'],
.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-semantic-binding='registered']
  .shell-cover__routes-zone[data-cover-registered-box='routeDeck'] {
  z-index: 2 !important;
  margin: 0 !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-semantic-binding='registered']
  .shell-cover__brand-zone[data-cover-registered-box='brandZone'],
.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-semantic-binding='registered']
  .shell-cover__brand-zone[data-cover-registered-box='identityZone'] {
  display: grid !important;
  place-items: center !important;
  text-align: center !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-semantic-binding='registered']
  .shell-cover__divider-zone[data-cover-registered-box='dividerZone'],
.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-semantic-binding='registered']
  .shell-cover__divider-zone[data-cover-registered-box='statusLineZone'] {
  display: block !important;
  align-self: auto !important;
  justify-self: auto !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-semantic-binding='registered']
  .shell-cover__routes-zone[data-cover-registered-box='routesZone'],
.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-semantic-binding='registered']
  .shell-cover__routes-zone[data-cover-registered-box='routeDeck'] {
  display: block !important;
  padding: 0 !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-semantic-binding='registered']
  .shell-cover__routes-zone[data-cover-registered-box='routesZone'] > .shell-cover__routes,
.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-semantic-binding='registered']
  .shell-cover__routes-zone[data-cover-registered-box='routeDeck'] > .shell-cover__routes {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  pointer-events: none !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-semantic-binding='registered']
  .shell-cover__route[data-cover-semantic-binding='registered'] {
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  align-items: center !important;
  justify-items: center !important;
  margin: 0 !important;
  z-index: 3 !important;
  pointer-events: auto !important;
}

/* =========================================================
   Native Visual Polish Pass
   - Registration continues to own placement and scale.
   - This layer only polishes native surfaces, title rhythm, route interiors,
     and responsive labels inside registered boxes.
   ========================================================= */

.shell-cover[data-cover-contract='synapse-cover-v2'] {
  --cover-route-gap: clamp(0.34rem, 0.58vw, 0.62rem);
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__native-case {
  border-color: color-mix(in srgb, var(--shell-cover-brass) 64%, rgba(23,47,74,0.12));
  box-shadow:
    0 1.05rem 2.1rem rgba(16,37,63,0.095),
    inset 0 0 0 1px rgba(255,255,255,0.64),
    inset 0 -1rem 2.1rem rgba(164,132,72,0.075);
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__native-main-field {
  border-color: rgba(95,113,136,0.18);
  background:
    radial-gradient(circle at 90% 12%, rgba(201,222,227,0.24), transparent 32%),
    radial-gradient(circle at 8% 92%, rgba(200,177,118,0.09), transparent 28%),
    linear-gradient(180deg, rgba(249,253,253,0.99), rgba(240,248,249,0.955));
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__native-rail-slot {
  border-color: rgba(168,132,72,0.36);
  background:
    linear-gradient(90deg, rgba(168,132,72,0.10), rgba(248,252,252,0.34), rgba(168,132,72,0.08)),
    linear-gradient(180deg, rgba(246,240,227,0.48), rgba(216,200,164,0.20));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.42),
    inset 0 0.7rem 1.25rem rgba(255,255,255,0.14),
    inset 0 -0.6rem 1.05rem rgba(95,69,36,0.06);
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__native-branding-card {
  border-color: rgba(168,132,72,0.38);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.80), rgba(248,252,252,0.58)),
    radial-gradient(circle at 14% 10%, rgba(201,222,227,0.16), transparent 34%),
    linear-gradient(180deg, rgba(246,240,227,0.78), rgba(248,252,252,0.80));
  box-shadow:
    0 0.62rem 1.25rem rgba(23,47,74,0.075),
    inset 0 0 0 1px rgba(255,255,255,0.62),
    inset 0 -0.48rem 0.9rem rgba(216,200,164,0.09);
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__identity {
  max-width: 100%;
  gap: clamp(0.025rem, 0.07vw, 0.075rem);
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__title {
  font-size: clamp(1.02rem, 1.46vw, 1.82rem) !important;
  line-height: 0.96 !important;
  letter-spacing: -0.022em;
  white-space: nowrap;
  max-width: 100%;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__subtitle,
.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__eyebrow {
  font-size: clamp(0.36rem, 0.52vw, 0.58rem) !important;
  line-height: 1.08 !important;
  letter-spacing: 0.17em;
  white-space: nowrap;
  max-width: 100%;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__divider-zone {
  border-top-color: color-mix(in srgb, var(--shell-cover-dim-gold) 52%, transparent);
  opacity: 0.58;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route {
  min-height: 0;
  grid-template-rows: minmax(0, 1fr) clamp(1rem, 1.24vw, 1.26rem) !important;
  border-radius: 0.5rem;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route-icon-zone {
  padding: clamp(0.24rem, 0.42vw, 0.42rem);
  border-color: color-mix(in srgb, var(--shell-cover-dim-gold) 50%, rgba(23,47,74,0.12));
  border-radius: 0.42rem 0.42rem 0.16rem 0.16rem;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.52), rgba(210,226,232,0.13)),
    linear-gradient(90deg, rgba(95,69,36,0.08), rgba(200,177,118,0.16), rgba(95,69,36,0.08));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.24),
    inset 0 -0.18rem 0.46rem rgba(23,63,127,0.045),
    0 0.1rem 0.22rem rgba(24,37,51,0.06);
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route-label-zone {
  min-height: clamp(1rem, 1.24vw, 1.26rem);
  padding: clamp(0.12rem, 0.22vw, 0.2rem) clamp(0.16rem, 0.28vw, 0.26rem);
  border-color: color-mix(in srgb, var(--shell-cover-dim-gold) 45%, rgba(23,47,74,0.12));
  background: rgba(248, 252, 252, 0.46);
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route-icon {
  width: clamp(1.08rem, 1.55vw, 1.72rem) !important;
  height: clamp(1.08rem, 1.55vw, 1.72rem) !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route-svg {
  stroke-width: 1.68;
  vector-effect: non-scaling-stroke;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route-label {
  font-size: clamp(0.42rem, 0.58vw, 0.64rem);
  letter-spacing: 0.028em;
  line-height: 1;
  white-space: nowrap;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route-label--short {
  display: none;
}

@media (min-width: 48.01rem) {
  .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route-label--full {
    display: block;
  }
}

@media (orientation: landscape) and (max-height: 35rem) {
  .shell-cover[data-cover-contract='synapse-cover-v2'] {
    --cover-route-gap: clamp(0.22rem, 0.5vw, 0.46rem);
  }

  .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__title {
    font-size: clamp(0.92rem, 3.1vh, 1.34rem) !important;
  }

  .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__subtitle,
  .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__eyebrow {
    font-size: clamp(0.32rem, 1.15vh, 0.46rem) !important;
  }

  .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route-icon {
    width: clamp(0.96rem, 3.5vh, 1.34rem) !important;
    height: clamp(0.96rem, 3.5vh, 1.34rem) !important;
  }

  .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route-label {
    font-size: clamp(0.34rem, 1.35vh, 0.48rem);
    letter-spacing: 0.018em;
  }
}

@media (orientation: portrait) and (max-width: 48rem) {
  .shell-cover[data-cover-contract='synapse-cover-v2'] {
    --cover-route-gap: clamp(0.22rem, 1.1vw, 0.34rem);
  }

  .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__title {
    font-size: clamp(0.94rem, 4.6vw, 1.32rem) !important;
    line-height: 0.98 !important;
    white-space: normal;
    text-wrap: balance;
  }

  .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__subtitle,
  .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__eyebrow {
    font-size: clamp(0.3rem, 1.45vw, 0.42rem) !important;
    letter-spacing: 0.14em;
    white-space: normal;
    text-wrap: balance;
  }

  .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route-icon-zone {
    padding: clamp(0.18rem, 1vw, 0.3rem);
  }

  .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route-icon {
    width: clamp(0.94rem, 4.6vw, 1.28rem) !important;
    height: clamp(0.94rem, 4.6vw, 1.28rem) !important;
  }

  .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route-label {
    font-size: clamp(0.32rem, 1.65vw, 0.46rem);
    letter-spacing: 0.012em;
  }

  .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route-label--full {
    display: none;
  }

  .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route-label--short {
    display: block;
  }
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-branding-card,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-route-tray {
  position: absolute;
  box-sizing: border-box;
  pointer-events: none;
  user-select: none;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-case {
  left: var(--cover-tablet-casing-x, var(--cover-casing-shell-x, var(--reg-tablet-casing-x, var(--reg-casing-shell-x, 0%)))) !important;
  top: var(--cover-tablet-casing-y, var(--cover-casing-shell-y, var(--reg-tablet-casing-y, var(--reg-casing-shell-y, 0%)))) !important;
  width: var(--cover-tablet-casing-w, var(--cover-casing-shell-w, var(--reg-tablet-casing-w, var(--reg-casing-shell-w, 100%)))) !important;
  height: var(--cover-tablet-casing-h, var(--cover-casing-shell-h, var(--reg-tablet-casing-h, var(--reg-casing-shell-h, 100%)))) !important;
  z-index: 1 !important;
  overflow: hidden;
  border-radius: clamp(1.55rem, 4vw, 3.6rem);
  border: 1px solid color-mix(in srgb, var(--shell-cover-brass) 52%, rgba(23,47,74,0.12));
  background:
    radial-gradient(circle at 14% 58%, rgba(165, 133, 86, 0.10), transparent 21%),
    radial-gradient(circle at 86% 14%, rgba(255,255,255,0.74), transparent 26%),
    linear-gradient(135deg, rgba(255,255,255,0.70), transparent 34%),
    linear-gradient(180deg, rgba(250,245,235,0.99), rgba(239,231,214,0.96));
  box-shadow:
    0 1.05rem 2.2rem rgba(16,37,63,0.10),
    inset 0 0 0 1px rgba(255,255,255,0.72),
    inset 0 -1.1rem 2.4rem rgba(164,132,72,0.075);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-main-field {
  left: var(--cover-diagnostic-screen-x, var(--cover-main-field-x, var(--reg-diagnostic-screen-x, var(--reg-main-field-x, 12.2%)))) !important;
  top: var(--cover-diagnostic-screen-y, var(--cover-main-field-y, var(--reg-diagnostic-screen-y, var(--reg-main-field-y, 5.6%)))) !important;
  width: var(--cover-diagnostic-screen-w, var(--cover-main-field-w, var(--reg-diagnostic-screen-w, var(--reg-main-field-w, 82%)))) !important;
  height: var(--cover-diagnostic-screen-h, var(--cover-main-field-h, var(--reg-diagnostic-screen-h, var(--reg-main-field-h, 89%)))) !important;
  z-index: 10 !important;
  overflow: hidden;
  border-radius: clamp(0.9rem, 2.2vw, 1.85rem);
  border: 1px solid var(--shell-cover-glass-line);
  background:
    radial-gradient(circle at 88% 12%, rgba(201,222,227,0.28), transparent 30%),
    radial-gradient(circle at 7% 92%, rgba(200,177,118,0.10), transparent 31%),
    linear-gradient(180deg, rgba(249,254,254,0.985), rgba(235,247,249,0.96));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.78),
    inset 0 0.9rem 1.8rem rgba(201,222,227,0.20),
    inset 0 -0.9rem 2.2rem rgba(93,127,147,0.06),
    0 0.5rem 1rem rgba(23,47,74,0.045);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-screen-bezel {
  left: var(--cover-screen-bezel-x, var(--cover-diagnostic-screen-x, var(--reg-screen-bezel-x, var(--reg-diagnostic-screen-x, 12.2%)))) !important;
  top: var(--cover-screen-bezel-y, var(--cover-diagnostic-screen-y, var(--reg-screen-bezel-y, var(--reg-diagnostic-screen-y, 5.6%)))) !important;
  width: var(--cover-screen-bezel-w, var(--cover-diagnostic-screen-w, var(--reg-screen-bezel-w, var(--reg-diagnostic-screen-w, 82%)))) !important;
  height: var(--cover-screen-bezel-h, var(--cover-diagnostic-screen-h, var(--reg-screen-bezel-h, var(--reg-diagnostic-screen-h, 89%)))) !important;
  z-index: 12;
  border-radius: clamp(0.86rem, 2vw, 1.7rem);
  box-shadow:
    inset 0 0 0 0.12rem rgba(255,255,255,0.42),
    inset 0 0 0 0.22rem rgba(200,177,118,0.16);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-screen-sheen,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-glass-reflection,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-glass-occlusion {
  left: var(--cover-diagnostic-screen-x, var(--cover-main-field-x, var(--reg-diagnostic-screen-x, var(--reg-main-field-x, 12.2%)))) !important;
  top: var(--cover-diagnostic-screen-y, var(--cover-main-field-y, var(--reg-diagnostic-screen-y, var(--reg-main-field-y, 5.6%)))) !important;
  width: var(--cover-diagnostic-screen-w, var(--cover-main-field-w, var(--reg-diagnostic-screen-w, var(--reg-main-field-w, 82%)))) !important;
  height: var(--cover-diagnostic-screen-h, var(--cover-main-field-h, var(--reg-diagnostic-screen-h, var(--reg-main-field-h, 89%)))) !important;
  border-radius: clamp(0.9rem, 2.2vw, 1.85rem);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-screen-sheen {
  z-index: 24;
  opacity: 0.58;
  background:
    linear-gradient(132deg, transparent 0 37%, rgba(255,255,255,0.45) 38%, rgba(255,255,255,0.16) 55%, transparent 56% 100%),
    radial-gradient(circle at 88% 7%, rgba(255,255,255,0.44), transparent 18%);
  mix-blend-mode: screen;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-glass-reflection {
  z-index: 26;
  opacity: 0.28;
  background: linear-gradient(130deg, transparent 0 46%, rgba(255,255,255,0.40) 47%, rgba(255,255,255,0.18) 65%, transparent 66%);
  mix-blend-mode: screen;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-glass-occlusion {
  z-index: 64;
  opacity: 0.42;
  background:
    linear-gradient(132deg, transparent 0 41%, rgba(255,255,255,0.34) 42%, rgba(255,255,255,0.10) 61%, transparent 62% 100%),
    linear-gradient(180deg, rgba(255,255,255,0.14), rgba(255,255,255,0.04));
  mix-blend-mode: screen;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-rail-slot {
  left: var(--cover-stylus-dock-x, var(--cover-rail-slot-x, var(--reg-stylus-dock-x, var(--reg-rail-slot-x, 4.2%)))) !important;
  top: var(--cover-stylus-dock-y, var(--cover-rail-slot-y, var(--reg-stylus-dock-y, var(--reg-rail-slot-y, 20%)))) !important;
  width: var(--cover-stylus-dock-w, var(--cover-rail-slot-w, var(--reg-stylus-dock-w, var(--reg-rail-slot-w, 7.4%)))) !important;
  height: var(--cover-stylus-dock-h, var(--cover-rail-slot-h, var(--reg-stylus-dock-h, var(--reg-rail-slot-h, 58.2%)))) !important;
  z-index: 18 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(168,132,72,0.34) !important;
  background:
    linear-gradient(90deg, rgba(95,69,36,0.14), rgba(255,255,255,0.42), rgba(168,132,72,0.10)),
    linear-gradient(180deg, rgba(246,240,227,0.62), rgba(216,200,164,0.22)) !important;
  box-shadow:
    inset 0.35rem 0 0.8rem rgba(95,69,36,0.10),
    inset -0.25rem 0 0.65rem rgba(255,255,255,0.35),
    0 0.2rem 0.75rem rgba(95,69,36,0.10) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-shadow {
  left: var(--cover-stylus-shadow-x, var(--reg-stylus-shadow-x, 5%));
  top: var(--cover-stylus-shadow-y, var(--reg-stylus-shadow-y, 20%));
  width: var(--cover-stylus-shadow-w, var(--reg-stylus-shadow-w, 5%));
  height: var(--cover-stylus-shadow-h, var(--reg-stylus-shadow-h, 55%));
  z-index: 19;
  border-radius: 999px;
  background: rgba(95,69,36,0.10);
  filter: blur(0.18rem);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-instrument {
  left: var(--cover-stylus-instrument-x, var(--reg-stylus-instrument-x, 5.5%));
  top: var(--cover-stylus-instrument-y, var(--reg-stylus-instrument-y, 21%));
  width: var(--cover-stylus-instrument-w, var(--reg-stylus-instrument-w, 4.3%));
  height: var(--cover-stylus-instrument-h, var(--reg-stylus-instrument-h, 53%));
  z-index: 22;
  border-radius: 999px;
  background:
    linear-gradient(90deg, rgba(170,145,105,0.26), rgba(255,255,255,0.92) 34%, rgba(248,252,252,0.86) 62%, rgba(164,132,72,0.16)),
    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(245,242,234,0.90));
  border: 1px solid rgba(168,132,72,0.34);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.58),
    0 0.22rem 0.7rem rgba(95,69,36,0.18);
  overflow: hidden;
}

.shell-cover__native-stylus-body,
.shell-cover__native-stylus-cap,
.shell-cover__native-stylus-clip,
.shell-cover__native-stylus-tip {
  position: absolute;
  pointer-events: none;
}

.shell-cover__native-stylus-body {
  inset: 13% 28% 8% 28%;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(202,185,153,0.20), rgba(255,255,255,0.70), rgba(202,185,153,0.18));
}
.shell-cover__native-stylus-cap {
  top: 6%; left: 22%; right: 22%; height: 9%;
  border-radius: 999px;
  border-bottom: 1px solid rgba(168,132,72,0.34);
  background: rgba(255,255,255,0.72);
}
.shell-cover__native-stylus-clip {
  top: 17%; right: 17%; width: 12%; height: 18%;
  border-radius: 999px;
  background: rgba(168,132,72,0.26);
}
.shell-cover__native-stylus-tip {
  bottom: 1.5%; left: 35%; right: 35%; height: 7%;
  clip-path: polygon(50% 100%, 100% 0, 0 0);
  background: rgba(168,132,72,0.50);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-branding-card,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-access-module {
  left: var(--cover-access-module-x, var(--cover-identity-card-x, var(--reg-access-module-x, var(--reg-identity-card-x, 20%)))) !important;
  top: var(--cover-access-module-y, var(--cover-identity-card-y, var(--reg-access-module-y, var(--reg-identity-card-y, 25%)))) !important;
  width: var(--cover-access-module-w, var(--cover-identity-card-w, var(--reg-access-module-w, var(--reg-identity-card-w, 66%)))) !important;
  height: var(--cover-access-module-h, var(--cover-identity-card-h, var(--reg-access-module-h, var(--reg-identity-card-h, 54%)))) !important;
  z-index: 34 !important;
  border-radius: clamp(0.72rem, 2vw, 1.55rem);
  border: 1px solid var(--shell-cover-module-line);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.48), rgba(241,250,251,0.30)),
    radial-gradient(circle at 18% 12%, rgba(255,255,255,0.28), transparent 34%),
    linear-gradient(180deg, rgba(238,249,250,0.42), rgba(234,246,248,0.28));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.62),
    inset 0 0.7rem 1.4rem rgba(255,255,255,0.22),
    inset 0 -0.8rem 1.2rem rgba(201,222,227,0.10),
    0 0.24rem 0.7rem rgba(23,47,74,0.035) !important;
  backdrop-filter: blur(0.6px);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-card-field,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-access-module-field {
  inset: clamp(0.42rem, 1.2vw, 0.9rem);
  border-radius: clamp(0.48rem, 1.55vw, 1.15rem);
  border: 1px solid rgba(255,255,255,0.34);
  background: rgba(248,252,252,0.12);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-access-module-glass,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-access-module-reflection {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-access-module-glass {
  background: linear-gradient(180deg, rgba(255,255,255,0.16), rgba(255,255,255,0.04));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.20);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-access-module-reflection {
  opacity: 0.26;
  background: linear-gradient(132deg, transparent 0 43%, rgba(255,255,255,0.36) 44%, rgba(255,255,255,0.10) 61%, transparent 62% 100%);
  mix-blend-mode: screen;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-card-grip {
  opacity: 0.20;
  height: 0.16rem;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-route-tray {
  z-index: 38;
  border-radius: clamp(0.42rem, 1.15vw, 0.88rem);
  border: 1px solid rgba(95,113,136,0.16);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.34), rgba(235,247,249,0.14)),
    linear-gradient(180deg, rgba(248,252,252,0.16), rgba(201,222,227,0.08));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.34),
    inset 0 -0.35rem 0.8rem rgba(201,222,227,0.10);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-route-tray--practice {
  left: var(--cover-route-tray-practice-x, var(--reg-route-tray-practice-x, var(--cover-route-practice-x, var(--reg-route-practice-x)))) !important;
  top: var(--cover-route-tray-practice-y, var(--reg-route-tray-practice-y, var(--cover-route-practice-y, var(--reg-route-practice-y)))) !important;
  width: var(--cover-route-tray-practice-w, var(--reg-route-tray-practice-w, var(--cover-route-practice-w, var(--reg-route-practice-w)))) !important;
  height: var(--cover-route-tray-practice-h, var(--reg-route-tray-practice-h, var(--cover-route-practice-h, var(--reg-route-practice-h)))) !important;
}
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-route-tray--clinician {
  left: var(--cover-route-tray-clinician-x, var(--reg-route-tray-clinician-x, var(--cover-route-clinician-x, var(--reg-route-clinician-x)))) !important;
  top: var(--cover-route-tray-clinician-y, var(--reg-route-tray-clinician-y, var(--cover-route-clinician-y, var(--reg-route-clinician-y)))) !important;
  width: var(--cover-route-tray-clinician-w, var(--reg-route-tray-clinician-w, var(--cover-route-clinician-w, var(--reg-route-clinician-w)))) !important;
  height: var(--cover-route-tray-clinician-h, var(--reg-route-tray-clinician-h, var(--cover-route-clinician-h, var(--reg-route-clinician-h)))) !important;
}
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-route-tray--workspace {
  left: var(--cover-route-tray-workspace-x, var(--reg-route-tray-workspace-x, var(--cover-route-workspace-x, var(--reg-route-workspace-x)))) !important;
  top: var(--cover-route-tray-workspace-y, var(--reg-route-tray-workspace-y, var(--cover-route-workspace-y, var(--reg-route-workspace-y)))) !important;
  width: var(--cover-route-tray-workspace-w, var(--reg-route-tray-workspace-w, var(--cover-route-workspace-w, var(--reg-route-workspace-w)))) !important;
  height: var(--cover-route-tray-workspace-h, var(--reg-route-tray-workspace-h, var(--cover-route-workspace-h, var(--reg-route-workspace-h)))) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-sensor-notch {
  left: var(--cover-sensor-notch-x, var(--reg-sensor-notch-x, 44%));
  top: var(--cover-sensor-notch-y, var(--reg-sensor-notch-y, 1.4%));
  width: var(--cover-sensor-notch-w, var(--reg-sensor-notch-w, 12%));
  height: var(--cover-sensor-notch-h, var(--reg-sensor-notch-h, 3%));
  z-index: 30;
  border-radius: 999px;
  border: 1px solid rgba(168,132,72,0.22);
  background: rgba(255,255,255,0.38);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.42);
}
.shell-cover__native-sensor-lens {
  position: absolute;
  left: 50%; top: 50%;
  width: 0.26rem; height: 0.26rem;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  background: rgba(95,69,36,0.74);
  box-shadow: 0 0 0 1px rgba(255,255,255,0.56);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-dock-contacts {
  left: var(--cover-dock-contacts-x, var(--reg-dock-contacts-x, 46%));
  top: var(--cover-dock-contacts-y, var(--reg-dock-contacts-y, 97%));
  width: var(--cover-dock-contacts-w, var(--reg-dock-contacts-w, 8%));
  height: var(--cover-dock-contacts-h, var(--reg-dock-contacts-h, 2%));
  z-index: 30;
  background-image: radial-gradient(circle, rgba(168,132,72,0.86) 0 1.5px, transparent 2.2px);
  background-size: 33.333% 100%;
  background-repeat: repeat-x;
  background-position: center;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-terminal-dots,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-sensor-dot-array {
  left: var(--cover-sensor-dot-array-x, var(--cover-terminal-dots-x, var(--reg-sensor-dot-array-x, var(--reg-terminal-dots-x, 80%)))) !important;
  top: var(--cover-sensor-dot-array-y, var(--cover-terminal-dots-y, var(--reg-sensor-dot-array-y, var(--reg-terminal-dots-y, 11%)))) !important;
  width: var(--cover-sensor-dot-array-w, var(--cover-terminal-dots-w, var(--reg-sensor-dot-array-w, var(--reg-terminal-dots-w, 9%)))) !important;
  height: var(--cover-sensor-dot-array-h, var(--cover-terminal-dots-h, var(--reg-sensor-dot-array-h, var(--reg-terminal-dots-h, 12%)))) !important;
  z-index: 30 !important;
  opacity: 0.78;
  background-image:
    radial-gradient(circle, rgba(15,95,100,0.72) 0 1.7px, transparent 2.5px),
    radial-gradient(circle, rgba(168,132,72,0.82) 0 1.2px, transparent 2px);
  background-size: 33.333% 25%, 33.333% 100%;
  background-position: 0 0, 0 100%;
  background-repeat: repeat, repeat-x;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-corner-lattice,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-diagnostic-lattice {
  left: var(--cover-diagnostic-lattice-x, var(--cover-corner-lattice-x, var(--reg-diagnostic-lattice-x, var(--reg-corner-lattice-x, 15%)))) !important;
  top: var(--cover-diagnostic-lattice-y, var(--cover-corner-lattice-y, var(--reg-diagnostic-lattice-y, var(--reg-corner-lattice-y, 80%)))) !important;
  width: var(--cover-diagnostic-lattice-w, var(--cover-corner-lattice-w, var(--reg-diagnostic-lattice-w, var(--reg-corner-lattice-w, 32%)))) !important;
  height: var(--cover-diagnostic-lattice-h, var(--cover-corner-lattice-h, var(--reg-diagnostic-lattice-h, var(--reg-corner-lattice-h, 14%)))) !important;
  z-index: 28 !important;
  opacity: 0.32;
  background:
    radial-gradient(circle, rgba(255,255,255,0.72) 0 1px, transparent 2px) 0 0 / 18% 28%,
    linear-gradient(30deg, transparent 47%, rgba(168,132,72,0.26) 48%, rgba(168,132,72,0.26) 52%, transparent 53%) 0 0 / 1.2rem 1.2rem,
    linear-gradient(150deg, transparent 47%, rgba(15,95,100,0.18) 48%, rgba(15,95,100,0.18) 52%, transparent 53%) 0 0 / 1.2rem 1.2rem;
  mask-image: linear-gradient(135deg, rgba(0,0,0,0.76), transparent 88%);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__content-card[data-cover-registered-box='identityCardSafe'],
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__content-card[data-cover-registered-box='accessModuleSafe'] {
  z-index: 90 !important;
  padding: 0 !important;
  display: block !important;
  overflow: visible !important;
  pointer-events: auto !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__content-card::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  inset: -1.5% -1.5% !important;
  z-index: 20 !important;
  pointer-events: none !important;
  border-radius: inherit;
  background:
    linear-gradient(132deg, transparent 0 40%, rgba(255,255,255,0.18) 41%, rgba(255,255,255,0.05) 60%, transparent 61%),
    linear-gradient(180deg, rgba(255,255,255,0.08), transparent 60%);
  mix-blend-mode: screen;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__brand-zone,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__divider-zone,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__routes-zone,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route {
  z-index: 30 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label-zone {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route {
  color: var(--shell-cover-teal);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:hover .shell-cover__route-icon-zone,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:focus-visible .shell-cover__route-icon-zone,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:hover .shell-cover__route-label-zone,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:focus-visible .shell-cover__route-label-zone {
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:hover .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:focus-visible .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:hover .shell-cover__route-label,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:focus-visible .shell-cover__route-label {
  color: var(--shell-cover-teal) !important;
}

@media (orientation: portrait) and (max-width: 48rem) {
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
    --cover-route-gap: clamp(0.18rem, 1vw, 0.32rem);
  }
}

/* =========================================================
   Clinical Tablet Wave 2 — Orientation + Full-Chamber Fit + Screen/Styus Detail
   Purpose: landscape/desktop become horizontal tablet states, canvas pushes
   toward full chamber, screen becomes a recessed glass assembly, stylus becomes
   a real instrument assembly. No stabilization geometry lives here.
   ========================================================= */

[data-shell-cover-chamber] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
  --cover-native-canvas-ratio: var(--cover-canvas-ratio, var(--reg-canvas-ratio, 0.62 / 1));
  --cover-native-canvas-width: var(--cover-canvas-inline-size, var(--reg-canvas-inline-size, var(--cover-canvas-width, var(--reg-canvas-width, min(98%, calc(var(--shell-cover-chamber-block, 100dvh) * 0.6076), 46rem)))));
  --cover-native-canvas-max-inline: var(--cover-canvas-max-inline-size, var(--reg-canvas-max-inline-size, 98%));
  --cover-native-canvas-max-block: var(--cover-canvas-max-block-size, var(--reg-canvas-max-block-size, 98%));
  --cover-native-canvas-fill-height: var(--cover-canvas-fill-height, var(--reg-canvas-fill-height, 98%));
  --tablet-orientation-proof: state-aware-orientation-published;
  --tablet-fit-proof: height-led-full-chamber-fit;
}

.shell-body[data-layout-mode='wide-dual'] [data-shell-cover-chamber] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'],
.shell-body[data-layout-mode='landscape-side'] [data-shell-cover-chamber] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
  --cover-native-canvas-ratio: var(--cover-canvas-ratio, var(--reg-canvas-ratio, 2.24 / 1));
  --cover-native-canvas-width: var(--cover-canvas-inline-size, var(--reg-canvas-inline-size, min(99.6%, calc(var(--shell-cover-chamber-block, 100dvh) * 2.24), 126rem))); 
  --cover-native-canvas-max-inline: var(--cover-canvas-max-inline-size, var(--reg-canvas-max-inline-size, 99.6%));
  --cover-native-canvas-max-block: var(--cover-canvas-max-block-size, var(--reg-canvas-max-block-size, 98%));
  --cover-native-canvas-fill-height: var(--cover-canvas-fill-height, var(--reg-canvas-fill-height, 98%));
}

[data-shell-cover-chamber] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__coordinate,
[data-shell-cover-chamber] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__registration-frame,
[data-shell-cover-chamber] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .trace-coordinate-field.shell-cover__coordinate {
  inline-size: var(--cover-native-canvas-width) !important;
  aspect-ratio: var(--cover-native-canvas-ratio) !important;
  max-inline-size: var(--cover-native-canvas-max-inline) !important;
  max-block-size: var(--cover-native-canvas-max-block) !important;
  transform: translate(0%, 0%) scale(var(--cover-native-canvas-scale, 1)) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-screen-well,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-screen-edge-seal,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-screen-glass-pane,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-screen-inner-glow,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-screen-safe-area,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-dock-inner-shadow,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-dock-side-lip,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-dock-end-stops {
  position: absolute;
  box-sizing: border-box;
  pointer-events: none;
  user-select: none;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-screen-well {
  left: var(--cover-screen-well-x, var(--reg-screen-well-x, 4%)) !important;
  top: var(--cover-screen-well-y, var(--reg-screen-well-y, 4.2%)) !important;
  width: var(--cover-screen-well-w, var(--reg-screen-well-w, 91%)) !important;
  height: var(--cover-screen-well-h, var(--reg-screen-well-h, 91%)) !important;
  z-index: 7 !important;
  border-radius: clamp(1.05rem, 2.6vw, 2.35rem);
  border: 1px solid rgba(126, 103, 67, 0.22);
  background:
    linear-gradient(180deg, rgba(126,103,67,0.09), rgba(255,255,255,0.30) 12%, rgba(255,255,255,0.10) 88%, rgba(126,103,67,0.09)),
    linear-gradient(180deg, rgba(231,224,205,0.72), rgba(246,242,230,0.42));
  box-shadow:
    inset 0 0.45rem 1.1rem rgba(87, 70, 45, 0.10),
    inset 0 -0.28rem 0.82rem rgba(255,255,255,0.34),
    0 0.18rem 0.42rem rgba(17,37,61,0.035);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-screen-edge-seal {
  left: var(--cover-screen-well-x, var(--reg-screen-well-x, 4%)) !important;
  top: var(--cover-screen-well-y, var(--reg-screen-well-y, 4.2%)) !important;
  width: var(--cover-screen-well-w, var(--reg-screen-well-w, 91%)) !important;
  height: var(--cover-screen-well-h, var(--reg-screen-well-h, 91%)) !important;
  z-index: 9 !important;
  border-radius: clamp(1.05rem, 2.6vw, 2.35rem);
  box-shadow:
    inset 0 0 0 0.09rem rgba(168,132,72,0.22),
    inset 0 0 0 0.24rem rgba(255,255,255,0.22),
    inset 0 0.5rem 1.35rem rgba(58,82,96,0.06);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-screen-glass-pane {
  left: var(--cover-diagnostic-screen-x, var(--cover-main-field-x, var(--reg-diagnostic-screen-x, var(--reg-main-field-x, 12.2%)))) !important;
  top: var(--cover-diagnostic-screen-y, var(--cover-main-field-y, var(--reg-diagnostic-screen-y, var(--reg-main-field-y, 5.6%)))) !important;
  width: var(--cover-diagnostic-screen-w, var(--cover-main-field-w, var(--reg-diagnostic-screen-w, var(--reg-main-field-w, 82%)))) !important;
  height: var(--cover-diagnostic-screen-h, var(--cover-main-field-h, var(--reg-diagnostic-screen-h, var(--reg-main-field-h, 89%)))) !important;
  z-index: 14 !important;
  border-radius: clamp(0.78rem, 2.05vw, 1.72rem);
  background:
    radial-gradient(circle at 87% 9%, rgba(255,255,255,0.52), transparent 20%),
    radial-gradient(circle at 12% 88%, rgba(203,228,236,0.20), transparent 30%),
    linear-gradient(180deg, rgba(249,254,254,0.58), rgba(223,241,246,0.28));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.66),
    inset 0 0.65rem 1.35rem rgba(206,226,233,0.26),
    inset 0 -0.7rem 1.45rem rgba(82,112,134,0.055);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-screen-inner-glow {
  left: var(--cover-screen-inner-glow-x, var(--reg-screen-inner-glow-x, var(--reg-diagnostic-screen-x, 12.2%))) !important;
  top: var(--cover-screen-inner-glow-y, var(--reg-screen-inner-glow-y, var(--reg-diagnostic-screen-y, 5.6%))) !important;
  width: var(--cover-screen-inner-glow-w, var(--reg-screen-inner-glow-w, var(--reg-diagnostic-screen-w, 82%))) !important;
  height: var(--cover-screen-inner-glow-h, var(--reg-screen-inner-glow-h, var(--reg-diagnostic-screen-h, 89%))) !important;
  z-index: 20 !important;
  border-radius: clamp(0.62rem, 1.75vw, 1.45rem);
  border: 1px solid rgba(255,255,255,0.34);
  box-shadow:
    inset 0 0 1rem rgba(203,228,236,0.18),
    0 0 0.8rem rgba(203,228,236,0.08);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-screen-safe-area {
  left: var(--cover-screen-safe-area-x, var(--reg-screen-safe-area-x, var(--reg-diagnostic-screen-x, 12.2%))) !important;
  top: var(--cover-screen-safe-area-y, var(--reg-screen-safe-area-y, var(--reg-diagnostic-screen-y, 5.6%))) !important;
  width: var(--cover-screen-safe-area-w, var(--reg-screen-safe-area-w, var(--reg-diagnostic-screen-w, 82%))) !important;
  height: var(--cover-screen-safe-area-h, var(--reg-screen-safe-area-h, var(--reg-diagnostic-screen-h, 89%))) !important;
  z-index: 21 !important;
  border-radius: clamp(0.5rem, 1.5vw, 1.2rem);
  box-shadow: inset 0 0 0 1px rgba(168,132,72,0.07);
  opacity: 0.72;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-dock-inner-shadow,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-dock-side-lip,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-dock-end-stops {
  left: var(--cover-stylus-dock-x, var(--cover-rail-slot-x, var(--reg-stylus-dock-x, var(--reg-rail-slot-x, 4.2%)))) !important;
  top: var(--cover-stylus-dock-y, var(--cover-rail-slot-y, var(--reg-stylus-dock-y, var(--reg-rail-slot-y, 20%)))) !important;
  width: var(--cover-stylus-dock-w, var(--cover-rail-slot-w, var(--reg-stylus-dock-w, var(--reg-rail-slot-w, 7.4%)))) !important;
  height: var(--cover-stylus-dock-h, var(--cover-rail-slot-h, var(--reg-stylus-dock-h, var(--reg-rail-slot-h, 58.2%)))) !important;
  border-radius: 999px;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-dock-inner-shadow {
  z-index: 19 !important;
  background: linear-gradient(90deg, rgba(51,38,22,0.16), transparent 42%, rgba(255,255,255,0.10));
  filter: blur(0.06rem);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-dock-side-lip {
  z-index: 20 !important;
  box-shadow:
    inset 0.16rem 0 0.24rem rgba(91,70,41,0.10),
    inset -0.16rem 0 0.24rem rgba(255,255,255,0.30);
  opacity: 0.8;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-dock-end-stops {
  z-index: 23 !important;
  background:
    radial-gradient(ellipse at 50% 6%, rgba(168,132,72,0.30) 0 9%, transparent 10%),
    radial-gradient(ellipse at 50% 94%, rgba(168,132,72,0.30) 0 9%, transparent 10%);
}

.shell-cover__native-stylus-top-ring,
.shell-cover__native-stylus-bottom-ring,
.shell-cover__native-stylus-button,
.shell-cover__native-stylus-highlight {
  position: absolute;
  pointer-events: none;
}

.shell-cover__native-stylus-top-ring {
  top: 17%; left: 22%; right: 22%; height: 3.5%;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(168,132,72,0.38), rgba(255,255,255,0.55), rgba(168,132,72,0.28));
}
.shell-cover__native-stylus-bottom-ring {
  bottom: 9%; left: 26%; right: 26%; height: 3%;
  border-radius: 999px;
  background: rgba(168,132,72,0.30);
}
.shell-cover__native-stylus-button {
  top: 42%; right: 17%; width: 13%; height: 11%;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(95,113,136,0.34), rgba(255,255,255,0.22));
  box-shadow: inset 0 0 0 1px rgba(95,69,36,0.13);
}
.shell-cover__native-stylus-highlight {
  top: 20%; left: 29%; width: 10%; height: 58%;
  border-radius: 999px;
  background: linear-gradient(180deg, transparent, rgba(255,255,255,0.64), transparent);
  opacity: 0.72;
}

.shell-cover[data-tablet-orientation='landscape'] .shell-cover__native-stylus-instrument,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-instrument,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-instrument {
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(170,145,105,0.22), rgba(255,255,255,0.94) 36%, rgba(248,252,252,0.88) 62%, rgba(164,132,72,0.14)),
    linear-gradient(90deg, rgba(255,255,255,0.96), rgba(245,242,234,0.90));
}

.shell-cover[data-tablet-orientation='landscape'] .shell-cover__native-stylus-body,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-body,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-body {
  inset: 28% 8% 28% 13%;
  background: linear-gradient(180deg, rgba(202,185,153,0.20), rgba(255,255,255,0.72), rgba(202,185,153,0.16));
}
.shell-cover[data-tablet-orientation='landscape'] .shell-cover__native-stylus-cap,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-cap,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-cap {
  top: 22%; left: 5%; right: auto; width: 8%; height: 56%;
  border-radius: 999px;
  border-right: 1px solid rgba(168,132,72,0.34);
  border-bottom: 0;
}
.shell-cover[data-tablet-orientation='landscape'] .shell-cover__native-stylus-tip,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-tip,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-tip {
  top: 32%; bottom: auto; left: auto; right: 1.5%; width: 7%; height: 36%;
  clip-path: polygon(100% 50%, 0 0, 0 100%);
}
.shell-cover[data-tablet-orientation='landscape'] .shell-cover__native-stylus-clip,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-clip,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-clip {
  top: 18%; right: auto; left: 25%; width: 26%; height: 12%;
  background: rgba(168,132,72,0.24);
}
.shell-cover[data-tablet-orientation='landscape'] .shell-cover__native-stylus-top-ring,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-top-ring,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-top-ring {
  top: 21%; bottom: 21%; left: 16%; right: auto; width: 2.5%; height: auto;
}
.shell-cover[data-tablet-orientation='landscape'] .shell-cover__native-stylus-bottom-ring,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-bottom-ring,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-bottom-ring {
  top: 26%; bottom: 26%; left: auto; right: 13%; width: 2.2%; height: auto;
}
.shell-cover[data-tablet-orientation='landscape'] .shell-cover__native-stylus-button,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-button,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-button {
  top: 18%; right: 38%; width: 8%; height: 22%;
}
.shell-cover[data-tablet-orientation='landscape'] .shell-cover__native-stylus-highlight,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-highlight,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-highlight {
  top: 23%; left: 18%; width: 64%; height: 10%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.64), transparent);
}

.shell-cover[data-tablet-orientation='landscape'] .shell-cover__native-dock-inner-shadow,
.shell-cover[data-tablet-orientation='landscape'] .shell-cover__native-dock-side-lip,
.shell-cover[data-tablet-orientation='landscape'] .shell-cover__native-dock-end-stops,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-dock-inner-shadow,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-dock-side-lip,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-dock-end-stops,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-dock-inner-shadow,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-dock-side-lip,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-dock-end-stops {
  background:
    linear-gradient(180deg, rgba(51,38,22,0.14), transparent 46%, rgba(255,255,255,0.16));
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-branding-card,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-access-module {
  background:
    radial-gradient(circle at 14% 10%, rgba(255,255,255,0.34), transparent 32%),
    linear-gradient(180deg, rgba(249,254,254,0.46), rgba(232,246,249,0.28)),
    linear-gradient(180deg, rgba(246,240,227,0.26), rgba(248,252,252,0.18)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.50),
    inset 0 -0.5rem 1.2rem rgba(201,222,227,0.14),
    0 0.36rem 1.0rem rgba(23,47,74,0.045) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label-zone {
  backdrop-filter: none !important;
}

.shell-body[data-cover-debug='fit'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__coordinate,
.shell-body[data-cover-debug='fit'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-case,
.shell-body[data-cover-debug='fit'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-screen-well,
.shell-body[data-cover-debug='fit'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-main-field,
.shell-body[data-cover-debug='fit'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-branding-card,
.shell-body[data-cover-debug='fit'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-instrument,
.shell-body[data-cover-debug='fit'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__content-card,
.shell-body[data-cover-debug='fit'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__routes-zone {
  outline: 1px dashed rgba(15,95,100,0.55) !important;
  outline-offset: -1px;
}


/* =========================================================
   State Fit Profile Consumer — final canvas application
   The adapter solves exact fit dimensions per layout state. CSS only applies
   those solved values and provides the physical containing block.
   ========================================================= */
[data-shell-cover-chamber] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__coordinate,
[data-shell-cover-chamber] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__registration-frame,
[data-shell-cover-chamber] .shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-registration-frame],
[data-shell-cover-chamber] .shell-cover[data-cover-contract='synapse-cover-v2'] .trace-coordinate-field.shell-cover__coordinate,
[data-shell-cover-chamber] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__coordinate,
[data-shell-cover-chamber] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__registration-frame,
[data-shell-cover-chamber] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] [data-cover-registration-frame],
[data-shell-cover-chamber] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .trace-coordinate-field.shell-cover__coordinate {
  inline-size: var(--cover-fit-inline, min(98%, var(--shell-cover-chamber-inline, 100%))) !important;
  width: var(--cover-fit-inline, min(98%, var(--shell-cover-chamber-inline, 100%))) !important;
  block-size: var(--cover-fit-block, min(98%, var(--shell-cover-chamber-block, 100%))) !important;
  height: var(--cover-fit-block, min(98%, var(--shell-cover-chamber-block, 100%))) !important;
  max-inline-size: var(--cover-fit-inline, 100%) !important;
  max-width: var(--cover-fit-inline, 100%) !important;
  max-block-size: var(--cover-fit-block, 100%) !important;
  max-height: var(--cover-fit-block, 100%) !important;
  aspect-ratio: auto !important;
  overflow: hidden !important;
  margin: auto !important;
  justify-self: center !important;
  align-self: center !important;
  transform: translate(var(--cover-fit-offset-x, 0px), var(--cover-fit-offset-y, 0px)) scale(var(--cover-fit-scale, 1)) !important;
  transform-origin: center center !important;
  contain: layout paint !important;
}

.shell-cover[data-cover-fit-state='solved'] {
  --cover-css-fit-role: solved-value-consumer;
}

.shell-cover[data-cover-depth-state='applied'] .shell-cover__content-card,
.shell-cover[data-cover-depth-state='applied'] .shell-cover__brand-zone,
.shell-cover[data-cover-depth-state='applied'] .shell-cover__divider-zone,
.shell-cover[data-cover-depth-state='applied'] .shell-cover__routes-zone,
.shell-cover[data-cover-depth-state='applied'] .shell-cover__routes,
.shell-cover[data-cover-depth-state='applied'] .shell-cover__route {
  z-index: var(--cover-z-semantic, 88) !important;
}

.shell-cover[data-cover-depth-state='applied'] .shell-cover__route {
  z-index: var(--cover-z-hitbox, 96) !important;
}

.shell-body[data-cover-debug='fit'] .shell-cover[data-cover-fit-state='solved']::after {
  content: attr(data-cover-fit-profile) ' / ' attr(data-cover-fit-policy);
  position: absolute;
  left: 0.5rem;
  bottom: 0.5rem;
  z-index: 120;
  padding: 0.18rem 0.4rem;
  border-radius: 999px;
  background: rgba(15,95,100,0.72);
  color: white;
  font: 600 0.62rem/1.2 var(--font-ui, system-ui);
  pointer-events: none;
}


/* =========================================================
   Cover Access Surface + Stylus Polish Wave
   Registration still owns placement. These assets only add
   trace detail inside registered boxes.
   ========================================================= */

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
  --cover-polish-asset-contract: clinical-tablet-trace-polish-wave-01;
  --cover-polish-glass-opacity: 0.34;
  --cover-polish-route-frame-opacity: 0.82;
  --cover-polish-detail-opacity: 0.18;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__trace-asset {
  display: block;
  position: absolute;
  box-sizing: border-box;
  pointer-events: none;
  user-select: none;
  max-width: none;
  max-height: none;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-main-field,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-glass-reflection,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-instrument,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-branding-card,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-route-tray,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__identity {
  isolation: isolate;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__clinical-detail-asset {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: fill;
  opacity: var(--cover-polish-detail-opacity);
  mix-blend-mode: multiply;
  z-index: 2;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__screen-reflection-asset {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: fill;
  opacity: var(--cover-polish-glass-opacity);
  mix-blend-mode: screen;
  z-index: 1;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-instrument {
  overflow: visible !important;
  background: transparent !important;
  border-color: rgba(168,132,72,0.22) !important;
  box-shadow: 0 0.2rem 0.62rem rgba(95,69,36,0.14) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-asset {
  inset: -3% -16%;
  width: 132%;
  height: 106%;
  object-fit: fill;
  opacity: 0.98;
  z-index: 10;
  filter: drop-shadow(0 0.08rem 0.12rem rgba(66,47,24,0.16));
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-asset--landscape {
  display: none;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-body,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-cap,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-top-ring,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-bottom-ring,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-clip,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-button,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-highlight,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-tip {
  z-index: 11;
  opacity: 0.24;
}

.shell-cover[data-tablet-orientation='landscape'] .shell-cover__native-stylus-asset--portrait,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-asset--portrait,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-asset--portrait {
  display: none;
}

.shell-cover[data-tablet-orientation='landscape'] .shell-cover__native-stylus-asset--landscape,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-asset--landscape,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-asset--landscape {
  display: block;
  inset: -18% -3%;
  width: 106%;
  height: 136%;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__access-module-frame-asset {
  inset: -1.6%;
  width: 103.2%;
  height: 103.2%;
  object-fit: fill;
  opacity: 0.78;
  z-index: 1;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-card-field,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-access-module-field,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-access-module-glass,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-access-module-reflection,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-card-edge,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-card-grip {
  z-index: 2;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-route-tray {
  overflow: visible;
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-tray-frame-asset {
  inset: -3% -4%;
  width: 108%;
  height: 106%;
  object-fit: fill;
  opacity: var(--cover-polish-route-frame-opacity);
  z-index: 1;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__identity {
  position: relative;
  min-inline-size: 0;
  overflow: visible;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__wordmark-asset {
  left: 50%;
  top: 50%;
  width: min(64%, 11rem);
  height: auto;
  transform: translate(-50%, -50%);
  opacity: 0.08;
  z-index: 0;
  mix-blend-mode: normal;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__title,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle {
  position: relative;
  z-index: 2;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__title {
  display: grid;
  justify-items: center;
  align-items: center;
  gap: 0.02em;
  font-size: clamp(1.46rem, 2.55vw, 2.58rem) !important;
  line-height: 0.9 !important;
  letter-spacing: -0.04em;
  text-shadow: 0 0.04rem 0 rgba(255,255,255,0.46);
  white-space: normal;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__eyebrow {
  font-size: clamp(0.46rem, 0.82vw, 0.78rem) !important;
  letter-spacing: 0.17em;
  line-height: 1.1 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route {
  grid-template-rows: minmax(0, 1fr) auto !important;
  align-content: center;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label-zone {
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon {
  width: min(58%, clamp(1.48rem, 2.9vw, 2.55rem)) !important;
  height: min(78%, clamp(1.48rem, 2.9vw, 2.55rem)) !important;
  filter: drop-shadow(0 0.04rem 0 rgba(255,255,255,0.58));
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-svg {
  stroke-width: 1.82;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label {
  font-size: clamp(0.56rem, 0.92vw, 0.88rem) !important;
  font-weight: 780;
  letter-spacing: 0.028em;
  line-height: 1.05;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  max-width: 10ch;
  margin-inline: auto;
}

.shell-cover[data-tablet-orientation='landscape'] .shell-cover__title,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__title,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__title {
  font-size: clamp(1.06rem, 2vh, 1.78rem) !important;
}

.shell-cover[data-tablet-orientation='landscape'] .shell-cover__subtitle,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle {
  font-size: clamp(0.38rem, 0.86vw, 0.60rem) !important;
}

.shell-cover[data-tablet-orientation='landscape'] .shell-cover__route-label,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label {
  font-size: clamp(0.42rem, 0.9vw, 0.66rem) !important;
}

.shell-cover[data-tablet-orientation='landscape'] .shell-cover__route-icon,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon {
  width: min(52%, clamp(1.12rem, 2vh, 1.72rem)) !important;
  height: min(76%, clamp(1.12rem, 2vh, 1.72rem)) !important;
}


/* Cleanup wave 02: stronger hierarchy, cleaner overlay discipline */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__title-line {
  display: block;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__brand-zone {
  align-content: center;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__clinical-detail-asset,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__screen-reflection-asset,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__access-module-frame-asset,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-tray-frame-asset {
  image-rendering: auto;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label-zone {
  align-content: start;
  padding-top: 0.10rem;
}

@media (orientation: portrait) and (max-width: 48rem) {
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__title {
    font-size: clamp(1.74rem, 7vw, 2.42rem) !important;
    line-height: 0.88 !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle {
    font-size: clamp(0.50rem, 1.9vw, 0.66rem) !important;
    letter-spacing: 0.16em;
    max-width: 18ch;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route {
    grid-template-rows: minmax(0, 1fr) auto !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon {
    width: min(64%, clamp(1.42rem, 6vw, 1.86rem)) !important;
    height: min(80%, clamp(1.42rem, 6vw, 1.86rem)) !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label {
    font-size: clamp(0.62rem, 2.2vw, 0.82rem) !important;
    max-width: 9ch;
  }
}


/* Alignment Cleanup Wave 03
   Keep registration stable; contain trace assets so glass/stylus do not visually
   hang past the right edge. Also tighten brand/subtitle and route spacing. */

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
  --cover-alignment-cleanup-wave: wave-03;
  --cover-polish-glass-opacity: 0.30;
  --cover-polish-route-frame-opacity: 0.76;
  --cover-polish-detail-opacity: 0.14;
}

/* Prevent glass/reflection assets from bleeding beyond their registered boxes. */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__screen-reflection-asset {
  left: 1.5%;
  right: 3.5%;
  top: 1.5%;
  bottom: 1.5%;
  width: auto;
  height: auto;
  object-fit: fill;
  opacity: var(--cover-polish-glass-opacity);
}

/* Pull the access-module frame inside the module so the right edge no longer overhangs. */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__access-module-frame-asset {
  left: 0.5%;
  right: 1.8%;
  top: 0.5%;
  bottom: 0.8%;
  width: auto;
  height: auto;
  object-fit: fill;
  opacity: 0.64;
}

/* Reduce stylus asset bleed so the pen stays seated in its dock. */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-asset {
  inset: -2% -8%;
  width: 116%;
  height: 104%;
  object-fit: fill;
}

.shell-cover[data-tablet-orientation='landscape'] .shell-cover__native-stylus-asset--landscape,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-asset--landscape,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-asset--landscape {
  inset: -10% -1%;
  width: 102%;
  height: 120%;
}

/* Give the brand and meta text a cleaner premium separation. */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__identity {
  gap: clamp(0.16rem, 0.42vw, 0.42rem);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle {
  margin-top: clamp(0.10rem, 0.28vw, 0.26rem) !important;
}

/* Tighten route icon/label relationship and stop the label from sitting on the tray line. */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route {
  grid-template-rows: auto auto !important;
  align-content: center !important;
  justify-content: center !important;
  row-gap: clamp(0.08rem, 0.18vw, 0.18rem);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone {
  align-content: end !important;
  justify-items: center !important;
  padding-bottom: 0 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label-zone {
  align-content: start !important;
  justify-items: center !important;
  padding-top: 0 !important;
  margin-top: -0.04rem;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label {
  line-height: 1.02;
}

/* Lighten tray asset so it reads as a quiet housing, not a gold underline. */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-tray-frame-asset {
  inset: -2% -2.5%;
  width: 105%;
  height: 104%;
  opacity: var(--cover-polish-route-frame-opacity);
}

@media (orientation: portrait) and (max-width: 48rem) {
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__identity {
    gap: clamp(0.18rem, 0.7vw, 0.36rem);
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle {
    margin-top: clamp(0.12rem, 0.55vw, 0.28rem) !important;
    max-width: 22ch;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route {
    row-gap: clamp(0.06rem, 0.45vw, 0.16rem);
  }
}

/* -------------------------------------------------------------------------
   Structural parent geometry guard
   -------------------------------------------------------------------------
   Native access visuals now live inside diagnosticScreen, and route tray
   visuals live inside accessModule. The spatial registry owns placement;
   this guard only prevents nested visual surfaces from leaking outside their
   owning parent while preserving pointer-free native layers.
*/
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-main-field > .shell-cover__native-access-module,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-main-field > .shell-cover__native-branding-card {
  max-inline-size: 100%;
  max-block-size: 100%;
  overflow: hidden;
  pointer-events: none;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-access-module > .shell-cover__native-route-tray {
  max-inline-size: 100%;
  max-block-size: 100%;
  pointer-events: none;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-main-field > .shell-cover__native-glass-occlusion {
  pointer-events: none;
}

/* -------------------------------------------------------------------------
   Clinical Tablet Target Polish Wave 01
   Structural ownership stays unchanged. This layer only tunes native material,
   trace asset strength, and interior screen-control rhythm to move the cover
   closer to the target clinical tablet reference.
   ------------------------------------------------------------------------- */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
  --cover-target-polish-wave: wave-01;
  --cover-polish-glass-opacity: 0.38;
  --cover-polish-route-frame-opacity: 0.88;
  --cover-polish-detail-opacity: 0.28;
  --cover-polish-module-frame-opacity: 0.78;
}

/* The screen should read as blue diagnostic glass, not a flat white card field. */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-main-field {
  border-color: rgba(88, 132, 146, 0.24) !important;
  background:
    radial-gradient(circle at 84% 12%, rgba(255,255,255,0.48), transparent 24%),
    radial-gradient(circle at 12% 92%, rgba(185,213,220,0.24), transparent 34%),
    radial-gradient(circle at 76% 88%, rgba(201,222,227,0.18), transparent 32%),
    linear-gradient(180deg, rgba(249,254,254,0.985), rgba(232,247,250,0.965)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.82),
    inset 0 1rem 1.9rem rgba(201,222,227,0.24),
    inset 0 -1.1rem 2.4rem rgba(82,126,143,0.075),
    0 0.55rem 1.05rem rgba(23,47,74,0.052) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-screen-glass-pane,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-screen-inner-glow {
  opacity: 0.84;
}

/* Let the new trace overlay provide the network detail; reduce the older hard X-field. */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-diagnostic-lattice,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-corner-lattice {
  opacity: 0.12 !important;
  filter: blur(0.04rem);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__clinical-detail-asset {
  opacity: var(--cover-polish-detail-opacity) !important;
  mix-blend-mode: multiply;
}

/* Stronger but still quiet screen reflection, closer to the reference diagonal glass. */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__screen-reflection-asset {
  left: 0.6% !important;
  right: 1.6% !important;
  top: 0.4% !important;
  bottom: 0.6% !important;
  width: auto !important;
  height: auto !important;
  opacity: var(--cover-polish-glass-opacity) !important;
  mix-blend-mode: screen;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-glass-occlusion {
  opacity: 0.32 !important;
}

/* Access module: larger inset-panel read without turning into a web modal. */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-access-module {
  border-color: rgba(168, 132, 72, 0.30) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.42), rgba(248,252,252,0.18)),
    radial-gradient(circle at 50% 26%, rgba(255,255,255,0.28), transparent 44%),
    linear-gradient(180deg, rgba(236,248,250,0.12), rgba(185,213,220,0.10)) !important;
  box-shadow:
    0 0.45rem 1.2rem rgba(23,47,74,0.038),
    inset 0 0 0 1px rgba(255,255,255,0.44),
    inset 0 -0.65rem 1.1rem rgba(216,200,164,0.075) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-access-module::before {
  content: '';
  position: absolute;
  inset: 2.7%;
  border-radius: inherit;
  border: 1px solid rgba(255,255,255,0.22);
  pointer-events: none;
  z-index: 5;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__access-module-frame-asset {
  left: 0.2% !important;
  right: 0.9% !important;
  top: 0.2% !important;
  bottom: 0.4% !important;
  width: auto !important;
  height: auto !important;
  opacity: var(--cover-polish-module-frame-opacity) !important;
  object-fit: fill;
}

/* Route controls: taller physical wells, icons higher, labels lower, quieter button furniture. */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-route-tray {
  opacity: 0.92 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-tray-frame-asset {
  inset: -1.2% -1.4% !important;
  width: 102.8% !important;
  height: 102.4% !important;
  opacity: var(--cover-polish-route-frame-opacity) !important;
  object-fit: fill;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route {
  grid-template-rows: minmax(0, 1fr) auto !important;
  align-content: stretch !important;
  row-gap: clamp(0.10rem, 0.24vw, 0.22rem) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone {
  align-content: end !important;
  padding-bottom: clamp(0.05rem, 0.16vw, 0.16rem) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label-zone {
  align-content: start !important;
  padding-top: clamp(0.02rem, 0.12vw, 0.10rem) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon {
  width: min(62%, clamp(1.55rem, 3vw, 2.72rem)) !important;
  height: min(78%, clamp(1.55rem, 3vw, 2.72rem)) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label {
  font-size: clamp(0.54rem, 0.86vw, 0.82rem) !important;
  letter-spacing: 0.022em;
  line-height: 1.02;
  color: var(--shell-cover-teal);
}

/* The reference dot array is embedded in the glass, not a pill button. */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-sensor-dot-array,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-terminal-dots {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 0.86 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__sensor-dot-array-asset {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0.96;
  filter: drop-shadow(0 0.02rem 0.04rem rgba(255,255,255,0.42));
}

/* Stylus/dock: slimmer, brighter, more seated in the case channel. */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-rail-slot {
  border-color: rgba(168,132,72,0.28) !important;
  background:
    linear-gradient(90deg, rgba(95,69,36,0.10), rgba(255,255,255,0.46), rgba(168,132,72,0.08)),
    linear-gradient(180deg, rgba(248,244,235,0.64), rgba(216,200,164,0.18)) !important;
  box-shadow:
    inset 0.30rem 0 0.75rem rgba(95,69,36,0.085),
    inset -0.22rem 0 0.62rem rgba(255,255,255,0.36),
    0 0.18rem 0.62rem rgba(95,69,36,0.08) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-asset {
  inset: -1% -6% !important;
  width: 112% !important;
  height: 102% !important;
  filter: drop-shadow(0 0.08rem 0.14rem rgba(95,69,36,0.18));
}

/* Brand is still readable, but the physical tablet becomes the dominant object. */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__title {
  font-size: clamp(1.26rem, 2.25vw, 2.08rem) !important;
  letter-spacing: -0.026em;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle {
  font-size: clamp(0.42rem, 0.72vw, 0.66rem) !important;
  letter-spacing: 0.155em;
  color: color-mix(in srgb, var(--shell-cover-gold) 70%, var(--shell-cover-muted));
}

@media (orientation: portrait) and (max-width: 48rem) {
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__title {
    font-size: clamp(1.48rem, 6.35vw, 2.16rem) !important;
    line-height: 0.90 !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle {
    font-size: clamp(0.44rem, 1.72vw, 0.62rem) !important;
    max-width: 21ch;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon {
    width: min(66%, clamp(1.45rem, 6.3vw, 1.98rem)) !important;
    height: min(80%, clamp(1.45rem, 6.3vw, 1.98rem)) !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label {
    font-size: clamp(0.58rem, 2.05vw, 0.78rem) !important;
    max-width: 9.4ch;
  }
}

.shell-cover[data-tablet-orientation='landscape'] .shell-cover__title,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__title,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__title {
  font-size: clamp(1.00rem, 1.78vh, 1.52rem) !important;
}

.shell-cover[data-tablet-orientation='landscape'] .shell-cover__route-icon,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon {
  width: min(54%, clamp(1.08rem, 2.25vh, 1.86rem)) !important;
  height: min(78%, clamp(1.08rem, 2.25vh, 1.86rem)) !important;
}

/* =========================================================
   Cover Environment Separation + Child-Shift Reset Pass
   - Registration owns the whole tablet envelope.
   - CSS must not push the screen / pen / content group right.
   - Environment remains neutral; casing owns only a quiet hardware body.
   - Route tile/icon internals are left to their existing semantic styles.
   ========================================================= */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
  --cover-optical-foreground-shift-x: 0%;
  --cover-environment-separation-pass: active;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-screen-well,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-screen-edge-seal,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-main-field,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-screen-glass-pane,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-screen-bezel,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-screen-inner-glow,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-screen-safe-area,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-screen-sheen,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-glass-reflection,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-rail-slot,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-shadow,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-dock-inner-shadow,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-dock-side-lip,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-dock-end-stops,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-instrument,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-terminal-strip,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-terminal-dots,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-sensor-dot-array,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-sensor-notch,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-dock-contacts,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-corner-lattice,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-diagnostic-lattice,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__content-card {
  transform: none !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-case {
  border-color: color-mix(in srgb, var(--shell-cover-brass) 32%, rgba(23,47,74,0.15)) !important;
  background:
    radial-gradient(circle at 84% 13%, rgba(255,255,255,0.72), transparent 25%),
    radial-gradient(circle at 12% 88%, rgba(201,222,227,0.18), transparent 24%),
    linear-gradient(135deg, rgba(255,255,255,0.62), transparent 32%),
    linear-gradient(180deg, rgba(251,250,246,0.995), rgba(244,240,232,0.965)) !important;
  box-shadow:
    0 0.82rem 1.7rem rgba(16,37,63,0.075),
    inset 0 0 0 1px rgba(255,255,255,0.70),
    inset 0 -0.72rem 1.45rem rgba(164,132,72,0.035) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-case::before {
  border-color: rgba(168,132,72,0.18) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.22) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-case::after {
  border-color: rgba(200,177,118,0.11) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-main-field {
  border-color: rgba(95,113,136,0.17) !important;
  background:
    radial-gradient(circle at 90% 12%, rgba(201,222,227,0.23), transparent 31%),
    radial-gradient(circle at 8% 92%, rgba(201,222,227,0.08), transparent 29%),
    linear-gradient(180deg, rgba(250,254,254,0.99), rgba(239,249,250,0.965)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.76),
    inset 0 0.72rem 1.35rem rgba(201,222,227,0.16),
    inset 0 -0.72rem 1.6rem rgba(93,127,147,0.045),
    0 0.36rem 0.72rem rgba(23,47,74,0.035) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-main-field::before {
  border-color: rgba(200,177,118,0.12) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-screen-bezel {
  box-shadow:
    inset 0 0 0 0.11rem rgba(255,255,255,0.38),
    inset 0 0 0 0.19rem rgba(200,177,118,0.09) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-rail-slot {
  border-color: rgba(168,132,72,0.22) !important;
  background:
    linear-gradient(90deg, rgba(95,69,36,0.055), rgba(255,255,255,0.48), rgba(168,132,72,0.045)),
    linear-gradient(180deg, rgba(249,247,241,0.54), rgba(216,200,164,0.12)) !important;
  box-shadow:
    inset 0.26rem 0 0.62rem rgba(95,69,36,0.055),
    inset -0.2rem 0 0.5rem rgba(255,255,255,0.34),
    0 0.14rem 0.45rem rgba(95,69,36,0.055) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-rail-slot::before,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-rail-slot::after {
  border-color: rgba(168,132,72,0.20) !important;
  background: rgba(248,252,252,0.28) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-shadow {
  background: rgba(95,69,36,0.055) !important;
  filter: blur(0.14rem) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-instrument {
  border-color: rgba(168,132,72,0.18) !important;
  box-shadow: 0 0.16rem 0.42rem rgba(95,69,36,0.10) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-terminal-strip,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-dock-contacts {
  border-color: rgba(168,132,72,0.20) !important;
  background: linear-gradient(180deg, rgba(248,252,252,0.46), rgba(216,200,164,0.11)) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.26) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-branding-card,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-access-module {
  border-color: rgba(168,132,72,0.25) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.82), rgba(248,252,252,0.66)),
    radial-gradient(circle at 14% 10%, rgba(201,222,227,0.12), transparent 34%),
    linear-gradient(180deg, rgba(249,247,241,0.42), rgba(248,252,252,0.76)) !important;
  box-shadow:
    0 0.42rem 0.86rem rgba(23,47,74,0.055),
    inset 0 0 0 1px rgba(255,255,255,0.52),
    inset 0 -0.36rem 0.78rem rgba(216,200,164,0.045) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-card-field,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-access-module-field {
  border-color: rgba(200,177,118,0.16) !important;
  background: rgba(248,252,252,0.30) !important;
}



.shell-body[data-cover-debug='optical-center']
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-case::before,
.shell-body[data-cover-debug='optical-center']
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-case::after {
  border-color: rgba(15, 95, 100, 0.5) !important;
}

.shell-body[data-cover-debug='optical-center']
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-screen-well,
.shell-body[data-cover-debug='optical-center']
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-main-field,
.shell-body[data-cover-debug='optical-center']
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-rail-slot,
.shell-body[data-cover-debug='optical-center']
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__content-card {
  outline: 1px dashed rgba(15, 95, 100, 0.5) !important;
  outline-offset: -1px;
}


/* =========================================================
   Composition Wave 04 — Stylus Slot Meaning
   The left instrument becomes a casing-owned recessed groove with a slim
   clinical pen seated inside it. Registration owns dimensions; this layer only
   polishes the dock, groove, and instrument so they do not fuse into one tube.
   ========================================================= */

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
  --cover-stylus-slot-composition-wave: wave-04;
  --cover-stylus-dock-rim: rgba(168,132,72,0.22);
  --cover-stylus-groove-shadow: rgba(72,54,32,0.105);
  --cover-stylus-groove-light: rgba(255,255,255,0.34);
  --cover-stylus-instrument-edge: rgba(168,132,72,0.24);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-rail-slot {
  border-color: var(--cover-stylus-dock-rim) !important;
  background:
    linear-gradient(90deg,
      transparent 0 18%,
      rgba(70,54,35,0.055) 23%,
      rgba(255,255,255,0.20) 45% 56%,
      rgba(70,54,35,0.045) 77%,
      transparent 100%),
    linear-gradient(180deg,
      rgba(255,255,255,0.18),
      rgba(246,240,227,0.16) 18%,
      rgba(216,200,164,0.08) 50%,
      rgba(255,255,255,0.13)) !important;
  box-shadow:
    inset 0.08rem 0 0.28rem rgba(72,54,32,0.055),
    inset -0.08rem 0 0.24rem rgba(255,255,255,0.28),
    inset 0 0 0 1px rgba(255,255,255,0.25) !important;
  opacity: 0.82;
  overflow: hidden;
}

/* Small mechanical stops: enough to read as a slot, not a large capsule. */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-rail-slot::before,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-rail-slot::after {
  width: 34% !important;
  height: 4.2% !important;
  border-color: rgba(168,132,72,0.20) !important;
  background: rgba(248,252,252,0.26) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.30);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-rail-slot::before { top: 5.5% !important; }
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-rail-slot::after { bottom: 5.5% !important; }

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-dock-inner-shadow {
  background:
    linear-gradient(90deg,
      transparent 0 19%,
      var(--cover-stylus-groove-shadow) 27%,
      transparent 39% 61%,
      var(--cover-stylus-groove-light) 74%,
      transparent 84% 100%) !important;
  filter: none !important;
  opacity: 0.58 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-dock-side-lip {
  background: transparent !important;
  box-shadow:
    inset 0.045rem 0 0.10rem rgba(72,54,32,0.08),
    inset -0.045rem 0 0.10rem rgba(255,255,255,0.28) !important;
  border-left: 1px solid rgba(168,132,72,0.14);
  border-right: 1px solid rgba(255,255,255,0.24);
  opacity: 0.62 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-dock-end-stops {
  background:
    radial-gradient(ellipse at 50% 6%, rgba(168,132,72,0.22) 0 5.2%, transparent 5.8%),
    radial-gradient(ellipse at 50% 94%, rgba(168,132,72,0.22) 0 5.2%, transparent 5.8%) !important;
  opacity: 0.72 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-shadow {
  background: rgba(72,54,32,0.042) !important;
  filter: blur(0.08rem) !important;
  opacity: 0.60 !important;
}

/* The SVG trace asset previously made the instrument read as a large tube.
   Hide it for the live native slot; native parts below carry the pen identity. */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-asset {
  display: none !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-instrument {
  background:
    linear-gradient(90deg,
      rgba(216,200,164,0.13),
      rgba(255,255,255,0.92) 35%,
      rgba(248,252,252,0.88) 62%,
      rgba(168,132,72,0.12)),
    linear-gradient(180deg, rgba(255,255,255,0.94), rgba(245,242,234,0.78)) !important;
  border-color: var(--cover-stylus-instrument-edge) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.54),
    0 0.08rem 0.26rem rgba(72,54,32,0.10) !important;
  overflow: hidden !important;
  opacity: 0.94;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-body,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-cap,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-top-ring,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-bottom-ring,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-clip,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-button,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-highlight,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-tip {
  opacity: 0.86 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-body,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-barrel {
  inset: 12% 31% 8% 31% !important;
  background: linear-gradient(90deg, rgba(216,200,164,0.16), rgba(255,255,255,0.66), rgba(216,200,164,0.12)) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-cap {
  top: 6% !important;
  left: 25% !important;
  right: 25% !important;
  height: 8% !important;
  background: rgba(255,255,255,0.64) !important;
  border-bottom-color: rgba(168,132,72,0.22) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-clip {
  top: 18% !important;
  right: 20% !important;
  width: 10% !important;
  height: 18% !important;
  background: rgba(168,132,72,0.18) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-top-ring {
  left: 27% !important;
  right: 27% !important;
  height: 2.6% !important;
  background: linear-gradient(90deg, rgba(168,132,72,0.24), rgba(255,255,255,0.42), rgba(168,132,72,0.16)) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-bottom-ring {
  left: 30% !important;
  right: 30% !important;
  height: 2.4% !important;
  background: rgba(168,132,72,0.20) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-button {
  right: 21% !important;
  width: 10% !important;
  height: 8.5% !important;
  background: linear-gradient(180deg, rgba(95,113,136,0.24), rgba(255,255,255,0.18)) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-highlight {
  left: 32% !important;
  width: 7% !important;
  height: 56% !important;
  background: linear-gradient(180deg, transparent, rgba(255,255,255,0.50), transparent) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-stylus-tip {
  left: 36% !important;
  right: 36% !important;
  height: 5.5% !important;
  background: rgba(168,132,72,0.36) !important;
}

/* Landscape uses the same semantics: horizontal slot/groove, slim pen inside. */
.shell-cover[data-tablet-orientation='landscape'] .shell-cover__native-rail-slot,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-rail-slot,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-rail-slot {
  background:
    linear-gradient(180deg,
      transparent 0 18%,
      rgba(70,54,35,0.055) 23%,
      rgba(255,255,255,0.20) 45% 56%,
      rgba(70,54,35,0.045) 77%,
      transparent 100%),
    linear-gradient(90deg, rgba(255,255,255,0.16), rgba(246,240,227,0.13), rgba(216,200,164,0.08), rgba(255,255,255,0.13)) !important;
  box-shadow:
    inset 0 0.08rem 0.22rem rgba(72,54,32,0.055),
    inset 0 -0.08rem 0.22rem rgba(255,255,255,0.26),
    inset 0 0 0 1px rgba(255,255,255,0.24) !important;
}

.shell-cover[data-tablet-orientation='landscape'] .shell-cover__native-dock-inner-shadow,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-dock-inner-shadow,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-dock-inner-shadow {
  background:
    linear-gradient(180deg, transparent 0 20%, rgba(72,54,32,0.10) 28%, transparent 40% 60%, rgba(255,255,255,0.22) 72%, transparent 84%) !important;
}


/* =========================================================
   Composition Wave 05 — Route Tile Semantic Polish
   - Registration owns routeDeck/tray size and spacing.
   - Route controls remain live semantic HTML.
   - CSS polishes one compact white under-glass tile grammar.
   ========================================================= */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
  --cover-route-tile-polish-wave: wave-05;
  --cover-route-gap: clamp(0.30rem, 0.72vw, 0.62rem);
  --cover-route-tile-bg: color-mix(in srgb, #ffffff 86%, var(--shell-cover-field) 14%);
  --cover-route-tile-bg-hover: color-mix(in srgb, #ffffff 92%, var(--shell-cover-blue-shadow) 8%);
  --cover-route-tile-border: color-mix(in srgb, var(--shell-cover-dim-gold) 28%, rgba(95,113,136,0.16));
  --cover-route-tile-border-focus: color-mix(in srgb, var(--shell-cover-teal) 42%, var(--shell-cover-dim-gold) 58%);
  --cover-route-tile-ink: color-mix(in srgb, var(--shell-cover-teal) 72%, var(--shell-cover-muted) 28%);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__routes {
  align-items: stretch !important;
  justify-items: stretch !important;
  gap: var(--cover-route-gap) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-route-tray {
  opacity: 0.82 !important;
  border-color: rgba(200,177,118,0.16) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.36), rgba(248,252,252,0.16)),
    linear-gradient(180deg, rgba(200,177,118,0.055), rgba(201,222,227,0.045)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.34),
    inset 0 0.28rem 0.56rem rgba(255,255,255,0.28),
    inset 0 -0.28rem 0.58rem rgba(23,47,74,0.035) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-tray-frame-asset {
  opacity: 0.42 !important;
  inset: -0.35% -0.45% !important;
  width: 100.9% !important;
  height: 100.7% !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route {
  display: grid !important;
  grid-template-areas: 'icon' 'label' !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  align-content: center !important;
  justify-items: center !important;
  align-items: center !important;
  row-gap: clamp(0.08rem, 0.20vw, 0.16rem) !important;
  min-height: 0 !important;
  height: 100% !important;
  padding: clamp(0.36rem, 0.64vw, 0.64rem) clamp(0.34rem, 0.66vw, 0.68rem) clamp(0.32rem, 0.56vw, 0.58rem) !important;
  border: 1px solid var(--cover-route-tile-border) !important;
  border-radius: clamp(0.54rem, 0.8vw, 0.92rem) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.92), rgba(248,252,252,0.72)),
    var(--cover-route-tile-bg) !important;
  color: var(--cover-route-tile-ink) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.68),
    inset 0 0.24rem 0.52rem rgba(255,255,255,0.42),
    inset 0 -0.24rem 0.58rem rgba(201,222,227,0.085),
    0 0.12rem 0.28rem rgba(23,47,74,0.045) !important;
  backdrop-filter: blur(2px);
  overflow: hidden;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label-zone {
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone {
  align-self: end !important;
  padding-bottom: clamp(0.02rem, 0.10vw, 0.08rem) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label-zone {
  align-self: start !important;
  padding-top: 0 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon {
  width: min(54%, clamp(1.28rem, 2.42vw, 2.18rem)) !important;
  height: min(64%, clamp(1.28rem, 2.42vw, 2.18rem)) !important;
  color: var(--cover-route-tile-ink) !important;
  filter: drop-shadow(0 0.035rem 0 rgba(255,255,255,0.62));
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-cover-route-kind='workspace'] .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-shell-cover-route='workspace'] .shell-cover__route-icon {
  width: min(49%, clamp(1.16rem, 2.18vw, 1.96rem)) !important;
  height: min(58%, clamp(1.16rem, 2.18vw, 1.96rem)) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-svg {
  stroke-width: 1.76 !important;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label {
  max-width: 10.5ch !important;
  color: var(--cover-route-tile-ink) !important;
  font-size: clamp(0.50rem, 0.82vw, 0.78rem) !important;
  font-weight: 760 !important;
  letter-spacing: 0.018em !important;
  line-height: 0.98 !important;
  text-align: center !important;
  text-wrap: balance;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  text-shadow: 0 0.035rem 0 rgba(255,255,255,0.64);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:hover,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:focus-visible {
  outline: none !important;
  border-color: var(--cover-route-tile-border-focus) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,252,252,0.84)),
    var(--cover-route-tile-bg-hover) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.78),
    inset 0 0.28rem 0.56rem rgba(255,255,255,0.48),
    inset 0 -0.24rem 0.58rem rgba(201,222,227,0.10),
    0 0.22rem 0.52rem rgba(15,95,100,0.075) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:hover .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:focus-visible .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:hover .shell-cover__route-label,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:focus-visible .shell-cover__route-label {
  color: color-mix(in srgb, var(--shell-cover-teal) 86%, var(--shell-cover-ink) 14%) !important;
}

@media (orientation: portrait) and (max-width: 48rem) {
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
    --cover-route-gap: clamp(0.28rem, 1.12vw, 0.44rem);
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route {
    padding: clamp(0.34rem, 1.35vw, 0.52rem) clamp(0.28rem, 1.05vw, 0.46rem) clamp(0.30rem, 1.1vw, 0.46rem) !important;
    row-gap: clamp(0.06rem, 0.36vw, 0.12rem) !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon {
    width: min(52%, clamp(1.24rem, 5vw, 1.72rem)) !important;
    height: min(62%, clamp(1.24rem, 5vw, 1.72rem)) !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-cover-route-kind='workspace'] .shell-cover__route-icon,
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-shell-cover-route='workspace'] .shell-cover__route-icon {
    width: min(47%, clamp(1.10rem, 4.6vw, 1.56rem)) !important;
    height: min(56%, clamp(1.10rem, 4.6vw, 1.56rem)) !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label {
    font-size: clamp(0.54rem, 1.86vw, 0.70rem) !important;
    max-width: 9.8ch !important;
    line-height: 0.98 !important;
  }
}

/* =========================================================
   Composition Wave 07 — Route Icon Scale Correction
   - Keep Wave 05 tile geometry and Wave 06 teal route ink.
   - Remove percentage caps that made the SVGs shrink inside larger tiles.
   - Scale the actual SVG wrapper, not only the tile or icon zone.
   - Keep route controls semantic/live; this is internal visual polish only.
   ========================================================= */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
  --cover-route-tile-polish-wave: wave-07-route-icon-scale-correction;
  --cover-route-tile-ink: var(--shell-cover-teal, #0f5f64);
  --cover-route-tile-ink-hover: color-mix(in srgb, var(--shell-cover-ink, #172f4a) 58%, var(--shell-cover-teal, #0f5f64) 42%);
  --cover-route-icon-size: clamp(2.04rem, 4.55vw, 2.82rem);
  --cover-route-label-size: clamp(0.60rem, 0.88vw, 0.80rem);
  --cover-route-stack-gap: clamp(0.10rem, 0.24vw, 0.22rem);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route {
  display: grid !important;
  grid-template-areas:
    'icon'
    'label' !important;
  grid-template-rows: auto auto !important;
  place-content: center !important;
  align-content: center !important;
  justify-content: center !important;
  align-items: center !important;
  justify-items: center !important;
  row-gap: var(--cover-route-stack-gap) !important;
  color: var(--cover-route-tile-ink) !important;
  padding-block: clamp(0.30rem, 0.58vw, 0.62rem) !important;
  padding-inline: clamp(0.28rem, 0.62vw, 0.66rem) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label-zone {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  display: grid !important;
  place-items: center !important;
  align-self: center !important;
  justify-self: center !important;
  padding: 0 !important;
  margin: 0 !important;
  transform: none !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone {
  overflow: visible !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon {
  width: var(--cover-route-icon-size) !important;
  height: var(--cover-route-icon-size) !important;
  inline-size: var(--cover-route-icon-size) !important;
  block-size: var(--cover-route-icon-size) !important;
  max-width: none !important;
  max-height: none !important;
  color: var(--cover-route-tile-ink) !important;
  opacity: 0.98 !important;
  filter: drop-shadow(0 0.04rem 0 rgba(255,255,255,0.66));
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-cover-route-kind='practice'] .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-shell-cover-route='practice'] .shell-cover__route-icon {
  width: calc(var(--cover-route-icon-size) * 1.02) !important;
  height: calc(var(--cover-route-icon-size) * 1.02) !important;
  inline-size: calc(var(--cover-route-icon-size) * 1.02) !important;
  block-size: calc(var(--cover-route-icon-size) * 1.02) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-cover-route-kind='workspace'] .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-shell-cover-route='workspace'] .shell-cover__route-icon {
  width: calc(var(--cover-route-icon-size) * 1.06) !important;
  height: calc(var(--cover-route-icon-size) * 1.06) !important;
  inline-size: calc(var(--cover-route-icon-size) * 1.06) !important;
  block-size: calc(var(--cover-route-icon-size) * 1.06) !important;
  max-width: none !important;
  max-height: none !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-svg {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  inline-size: 100% !important;
  block-size: 100% !important;
  stroke: currentColor !important;
  stroke-width: 2.18 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  vector-effect: non-scaling-stroke;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label {
  max-width: 10.8ch !important;
  color: var(--cover-route-tile-ink) !important;
  font-size: var(--cover-route-label-size) !important;
  font-weight: 800 !important;
  letter-spacing: 0.028em !important;
  line-height: 0.92 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  text-shadow: 0 0.045rem 0 rgba(255,255,255,0.68);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:hover .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:focus-visible .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:hover .shell-cover__route-label,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:focus-visible .shell-cover__route-label {
  color: var(--cover-route-tile-ink-hover) !important;
}

@media (orientation: landscape) and (max-height: 35rem) {
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
    --cover-route-icon-size: clamp(2.10rem, 7.2vh, 2.68rem);
    --cover-route-label-size: clamp(0.56rem, 1.72vh, 0.76rem);
    --cover-route-stack-gap: clamp(0.06rem, 0.22vh, 0.16rem);
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route {
    padding-block: clamp(0.22rem, 0.9vh, 0.46rem) !important;
    padding-inline: clamp(0.26rem, 0.8vh, 0.56rem) !important;
  }
}

@media (orientation: portrait) and (max-width: 48rem) {
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
    --cover-route-icon-size: clamp(2.05rem, 8.4vw, 2.65rem);
    --cover-route-label-size: clamp(0.60rem, 2.10vw, 0.78rem);
    --cover-route-stack-gap: clamp(0.08rem, 0.46vw, 0.20rem);
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route {
    padding-block: clamp(0.24rem, 1.15vw, 0.48rem) !important;
    padding-inline: clamp(0.22rem, 1.00vw, 0.44rem) !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label {
    max-width: 10.2ch !important;
    line-height: 0.90 !important;
  }
}

/* =========================================================
   Composition Wave 08 — Desktop Wordmark + Route Breathing Patch
   - Desktop/wide landscape gets a larger wordmark and meta line.
   - Route icon + label are treated as a fitted stack with guaranteed gap.
   - Landscape/half-height states reduce icon size just enough to preserve
     breathing room instead of letting the icon collide with the label.
   - Clinician Access receives an optical scale bump so it no longer reads
     smaller than Practice/Workspace.
   ========================================================= */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
  --cover-route-tile-polish-wave: wave-08-desktop-route-breathing;
  --cover-route-stack-gap: clamp(0.22rem, 0.44vw, 0.42rem);
  --cover-route-icon-size: clamp(2.00rem, 3.95vw, 2.54rem);
  --cover-route-label-size: clamp(0.60rem, 0.84vw, 0.78rem);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--cover-route-stack-gap) !important;
  grid-template-areas: none !important;
  grid-template-rows: none !important;
  place-content: center !important;
  overflow: hidden !important;
  padding-block: clamp(0.28rem, 0.50vw, 0.56rem) !important;
  padding-inline: clamp(0.28rem, 0.58vw, 0.62rem) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label-zone {
  flex: 0 0 auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon {
  width: var(--cover-route-icon-size) !important;
  height: var(--cover-route-icon-size) !important;
  inline-size: var(--cover-route-icon-size) !important;
  block-size: var(--cover-route-icon-size) !important;
  max-width: none !important;
  max-height: none !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-cover-route-kind='clinician'] .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-cover-route-kind='clinician-access'] .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-cover-route-kind='portal'] .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-shell-cover-route='clinician'] .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-shell-cover-route='clinician-access'] .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-shell-cover-route='portal'] .shell-cover__route-icon {
  width: calc(var(--cover-route-icon-size) * 1.16) !important;
  height: calc(var(--cover-route-icon-size) * 1.16) !important;
  inline-size: calc(var(--cover-route-icon-size) * 1.16) !important;
  block-size: calc(var(--cover-route-icon-size) * 1.16) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-svg {
  width: 100% !important;
  height: 100% !important;
  inline-size: 100% !important;
  block-size: 100% !important;
  stroke-width: 2.12 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label {
  font-size: var(--cover-route-label-size) !important;
  line-height: 0.94 !important;
  max-width: 11.2ch !important;
}

/* Desktop/wide presentation: make the identity lockup read with more authority. */
@media (min-width: 64rem) {
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__title,
  .shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__title,
  .shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__title {
    font-size: clamp(1.26rem, 2.65vh, 2.02rem) !important;
    line-height: 0.94 !important;
    letter-spacing: -0.028em !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle,
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__eyebrow,
  .shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle,
  .shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__eyebrow,
  .shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle,
  .shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__eyebrow {
    font-size: clamp(0.42rem, 0.92vh, 0.72rem) !important;
    line-height: 1.08 !important;
    letter-spacing: 0.17em !important;
  }
}

/* Landscape/half-height fit: preserve a hard gap between icon and label. */
@media (orientation: landscape) and (max-height: 48rem) {
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
    --cover-route-icon-size: clamp(1.62rem, 4.95vh, 2.08rem);
    --cover-route-label-size: clamp(0.54rem, 1.56vh, 0.72rem);
    --cover-route-stack-gap: clamp(0.22rem, 0.72vh, 0.38rem);
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route {
    padding-block: clamp(0.18rem, 0.64vh, 0.38rem) !important;
    padding-inline: clamp(0.22rem, 0.75vh, 0.52rem) !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-cover-route-kind='clinician'] .shell-cover__route-icon,
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-cover-route-kind='clinician-access'] .shell-cover__route-icon,
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-cover-route-kind='portal'] .shell-cover__route-icon,
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-shell-cover-route='clinician'] .shell-cover__route-icon,
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-shell-cover-route='clinician-access'] .shell-cover__route-icon,
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-shell-cover-route='portal'] .shell-cover__route-icon {
    width: calc(var(--cover-route-icon-size) * 1.12) !important;
    height: calc(var(--cover-route-icon-size) * 1.12) !important;
    inline-size: calc(var(--cover-route-icon-size) * 1.12) !important;
    block-size: calc(var(--cover-route-icon-size) * 1.12) !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label {
    line-height: 0.92 !important;
    max-width: 10.6ch !important;
  }
}


/* =========================================================
   Composition Wave 09 — Route Icon/Label Separation + Native Icon Set
   - Restores explicit icon-zone / label-zone ownership after Wave 08.
   - Shrinks route icons back to instrument-control scale.
   - Removes oversized clinician optical bump that caused collision risk.
   - Keeps route tiles as quiet under-glass controls, not split button blocks.
   - Registration still owns routeDeck and routeControl boxes.
   ========================================================= */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
  --cover-route-tile-polish-wave: wave-09-route-icon-label-separation;
  --cover-route-tile-ink: color-mix(in srgb, var(--shell-cover-teal, #0f5f64) 84%, var(--shell-cover-ink, #172f4a) 16%);
  --cover-route-tile-ink-hover: color-mix(in srgb, var(--shell-cover-teal, #0f5f64) 72%, var(--shell-cover-ink, #172f4a) 28%);
  --cover-route-icon-size: clamp(1.24rem, 2.25vw, 1.72rem);
  --cover-route-icon-size-clinician: calc(var(--cover-route-icon-size) * 1.02);
  --cover-route-icon-size-workspace: calc(var(--cover-route-icon-size) * 0.96);
  --cover-route-label-size: clamp(0.42rem, 0.62vw, 0.60rem);
  --cover-route-stack-gap: clamp(0.18rem, 0.34vw, 0.32rem);
  --cover-route-tile-pad-block: clamp(0.30rem, 0.52vw, 0.52rem);
  --cover-route-tile-pad-inline: clamp(0.30rem, 0.56vw, 0.58rem);
  --cover-route-tile-border: color-mix(in srgb, var(--shell-cover-dim-gold, #c8b176) 22%, rgba(95,113,136,0.14));
  --cover-route-tile-bg: color-mix(in srgb, #ffffff 80%, var(--shell-cover-field, #f8fcfc) 20%);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route {
  display: grid !important;
  grid-template-areas:
    'icon'
    'label' !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  align-content: stretch !important;
  justify-content: stretch !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  gap: 0 !important;
  row-gap: var(--cover-route-stack-gap) !important;
  min-block-size: 0 !important;
  block-size: 100% !important;
  padding: var(--cover-route-tile-pad-block) var(--cover-route-tile-pad-inline) !important;
  overflow: hidden !important;
  isolation: isolate;
  border: 1px solid var(--cover-route-tile-border) !important;
  border-radius: clamp(0.54rem, 0.82vw, 0.88rem) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.82), rgba(248,252,252,0.54)),
    var(--cover-route-tile-bg) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.58),
    inset 0 0.20rem 0.42rem rgba(255,255,255,0.34),
    inset 0 -0.20rem 0.48rem rgba(201,222,227,0.07),
    0 0.10rem 0.24rem rgba(23,47,74,0.035) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label-zone {
  display: grid !important;
  inline-size: 100% !important;
  min-inline-size: 0 !important;
  min-block-size: 0 !important;
  block-size: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  overflow: visible !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone {
  grid-area: icon !important;
  place-items: end center !important;
  align-self: stretch !important;
  justify-self: stretch !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label-zone {
  grid-area: label !important;
  place-items: start center !important;
  align-self: start !important;
  justify-self: stretch !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon {
  display: grid !important;
  place-items: center !important;
  inline-size: var(--cover-route-icon-size) !important;
  block-size: var(--cover-route-icon-size) !important;
  width: var(--cover-route-icon-size) !important;
  height: var(--cover-route-icon-size) !important;
  max-inline-size: 100% !important;
  max-block-size: 100% !important;
  color: var(--cover-route-tile-ink) !important;
  opacity: 0.94 !important;
  filter: drop-shadow(0 0.035rem 0 rgba(255,255,255,0.62));
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-cover-route-kind='clinician'] .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-cover-route-kind='clinician-access'] .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-cover-route-kind='team'] .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-cover-route-kind='portal'] .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-shell-cover-route='clinician'] .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-shell-cover-route='clinician-access'] .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-shell-cover-route='portal'] .shell-cover__route-icon {
  inline-size: var(--cover-route-icon-size-clinician) !important;
  block-size: var(--cover-route-icon-size-clinician) !important;
  width: var(--cover-route-icon-size-clinician) !important;
  height: var(--cover-route-icon-size-clinician) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-cover-route-kind='workspace'] .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-shell-cover-route='workspace'] .shell-cover__route-icon {
  inline-size: var(--cover-route-icon-size-workspace) !important;
  block-size: var(--cover-route-icon-size-workspace) !important;
  width: var(--cover-route-icon-size-workspace) !important;
  height: var(--cover-route-icon-size-workspace) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-svg {
  display: block !important;
  inline-size: 100% !important;
  block-size: 100% !important;
  width: 100% !important;
  height: 100% !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.72 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  vector-effect: non-scaling-stroke;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label {
  display: block !important;
  inline-size: auto !important;
  max-inline-size: 10.8ch !important;
  max-width: 10.8ch !important;
  color: var(--cover-route-tile-ink) !important;
  font-size: var(--cover-route-label-size) !important;
  font-weight: 780 !important;
  letter-spacing: 0.014em !important;
  line-height: 1.04 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  text-wrap: balance;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  text-shadow: 0 0.035rem 0 rgba(255,255,255,0.62);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:hover,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:focus-visible {
  border-color: color-mix(in srgb, var(--shell-cover-teal, #0f5f64) 32%, var(--shell-cover-dim-gold, #c8b176) 68%) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.92), rgba(248,252,252,0.66)),
    color-mix(in srgb, #ffffff 86%, var(--shell-cover-blue-shadow, #c9dee3) 14%) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:hover .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:focus-visible .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:hover .shell-cover__route-label,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:focus-visible .shell-cover__route-label {
  color: var(--cover-route-tile-ink-hover) !important;
}

/* Height-constrained landscape is the state that previously collapsed into overlap. */
@media (orientation: landscape) and (max-height: 48rem) {
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
    --cover-route-icon-size: clamp(1.06rem, 3.25vh, 1.44rem);
    --cover-route-label-size: clamp(0.34rem, 1.16vh, 0.50rem);
    --cover-route-stack-gap: clamp(0.12rem, 0.42vh, 0.24rem);
    --cover-route-tile-pad-block: clamp(0.18rem, 0.54vh, 0.34rem);
    --cover-route-tile-pad-inline: clamp(0.18rem, 0.62vh, 0.42rem);
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label {
    max-inline-size: 10.2ch !important;
    max-width: 10.2ch !important;
    line-height: 1.02 !important;
  }
}

@media (orientation: portrait) and (max-width: 48rem) {
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
    --cover-route-icon-size: clamp(1.04rem, 4.10vw, 1.42rem);
    --cover-route-label-size: clamp(0.34rem, 1.50vw, 0.48rem);
    --cover-route-stack-gap: clamp(0.12rem, 0.46vw, 0.24rem);
    --cover-route-tile-pad-block: clamp(0.20rem, 0.84vw, 0.36rem);
    --cover-route-tile-pad-inline: clamp(0.18rem, 0.80vw, 0.34rem);
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label {
    max-inline-size: 9.8ch !important;
    max-width: 9.8ch !important;
  }
}

/* =========================================================
   Composition Wave 10 — Portrait Route Stack Tightening
   - Portrait keeps the same route tile boxes and registration.
   - Only internal route rhythm changes: larger icons, tighter icon/label gap,
     and centered content inside the existing cards.
   - Landscape/desktop route rhythm is intentionally untouched.
   ========================================================= */
@media (orientation: portrait) and (max-width: 48rem) {
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
    --cover-route-tile-polish-wave: wave-10-portrait-route-stack-tightening;
    --cover-route-icon-size: clamp(1.24rem, 5.55vw, 1.72rem);
    --cover-route-icon-size-clinician: calc(var(--cover-route-icon-size) * 1.02);
    --cover-route-icon-size-workspace: calc(var(--cover-route-icon-size) * 0.96);
    --cover-route-label-size: clamp(0.36rem, 1.62vw, 0.52rem);
    --cover-route-stack-gap: clamp(0.05rem, 0.28vw, 0.14rem);
    --cover-route-tile-pad-block: clamp(0.22rem, 0.92vw, 0.42rem);
    --cover-route-tile-pad-inline: clamp(0.18rem, 0.84vw, 0.36rem);
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route {
    grid-template-rows: auto auto !important;
    align-content: center !important;
    justify-content: center !important;
    align-items: center !important;
    justify-items: center !important;
    row-gap: var(--cover-route-stack-gap) !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone,
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label-zone {
    align-self: center !important;
    justify-self: center !important;
    block-size: auto !important;
    min-block-size: 0 !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone {
    place-items: center !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label-zone {
    place-items: center !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label {
    max-inline-size: 10.4ch !important;
    max-width: 10.4ch !important;
    line-height: 1.00 !important;
    letter-spacing: 0.012em !important;
  }
}

/* =========================================================
   Composition Wave 11 — Route Icon Baseline Alignment
   - Keeps the improved portrait icon sizing from Wave 10.
   - Reserves a consistent two-line label block for every route tile so
     CLINICIAN ACCESS no longer pushes its icon higher than the one-line routes.
   - No registration or routeDeck placement changes.
   ========================================================= */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
  --cover-route-tile-polish-wave: wave-11-route-icon-baseline-alignment;
  --cover-route-label-block: calc(var(--cover-route-label-size) * 2.14);
  --cover-route-clinician-icon-nudge-y: 0rem;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route {
  grid-template-rows: minmax(0, 1fr) var(--cover-route-label-block) !important;
  align-content: stretch !important;
  align-items: stretch !important;
  justify-items: stretch !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone {
  align-self: stretch !important;
  justify-self: stretch !important;
  block-size: auto !important;
  min-block-size: 0 !important;
  place-items: end center !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label-zone {
  align-self: stretch !important;
  justify-self: stretch !important;
  block-size: var(--cover-route-label-block) !important;
  min-block-size: var(--cover-route-label-block) !important;
  place-items: start center !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label {
  line-height: 1.02 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-cover-route-kind='clinician'] .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-cover-route-kind='clinician-access'] .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-cover-route-kind='team'] .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-cover-route-kind='portal'] .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-shell-cover-route='clinician'] .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-shell-cover-route='clinician-access'] .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-shell-cover-route='portal'] .shell-cover__route-icon {
  transform: translateY(var(--cover-route-clinician-icon-nudge-y)) !important;
}

@media (orientation: portrait) and (max-width: 48rem) {
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
    --cover-route-label-block: calc(var(--cover-route-label-size) * 2.08);
    --cover-route-stack-gap: clamp(0.035rem, 0.22vw, 0.10rem);
  }
}

@media (orientation: landscape) and (max-height: 48rem) {
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
    --cover-route-label-block: calc(var(--cover-route-label-size) * 2.10);
    --cover-route-stack-gap: clamp(0.09rem, 0.34vh, 0.18rem);
  }
}




/* Native sigil badge internals moved to css/native-sigil-badge.css.
   shell-cover.css keeps only broad cover/workstation polish. */

/* =========================================================
   Composition Wave 12 — Landscape Workstation Cover Optics
   - Portrait remains the handheld diagnostic-device motif.
   - Landscape-side and wide-dual become authored clinical workstation covers.
   - Registration/composition owns placement; these rules polish the wide motif.
   ========================================================= */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-motif='workstation'],
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'],
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
  --cover-workstation-optics-wave: wave-13-landscape-width-fill;
  --cover-route-icon-size: clamp(1.42rem, 4.35vh, 2.08rem);
  --cover-route-icon-size-clinician: calc(var(--cover-route-icon-size) * 1.04);
  --cover-route-icon-size-workspace: calc(var(--cover-route-icon-size) * 1.00);
  --cover-route-label-size: clamp(0.42rem, 1.32vh, 0.62rem);
  --cover-route-stack-gap: clamp(0.14rem, 0.48vh, 0.28rem);
  --cover-route-label-block: calc(var(--cover-route-label-size) * 2.02);
  --cover-route-tile-pad-block: clamp(0.20rem, 0.72vh, 0.42rem);
  --cover-route-tile-pad-inline: clamp(0.34rem, 0.88vw, 0.74rem);
  --cover-route-tile-bg: color-mix(in srgb, #ffffff 86%, var(--shell-cover-field, #f8fcfc) 14%);
  --cover-route-tile-border: color-mix(in srgb, var(--shell-cover-dim-gold, #c8b176) 28%, rgba(95,113,136,0.12));
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-motif='workstation'] .shell-cover__native-case,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-case,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-case {
  border-radius: clamp(1.05rem, 2.0vh, 1.7rem) !important;
  background:
    radial-gradient(circle at 86% 12%, rgba(255,255,255,0.76), transparent 24%),
    radial-gradient(circle at 11% 89%, rgba(201,222,227,0.20), transparent 26%),
    linear-gradient(135deg, rgba(255,255,255,0.66), transparent 34%),
    linear-gradient(180deg, rgba(252,251,246,0.99), rgba(243,239,230,0.965)) !important;
  box-shadow:
    0 0.95rem 1.9rem rgba(16,37,63,0.08),
    inset 0 0 0 1px rgba(255,255,255,0.72),
    inset 0 -0.56rem 1.2rem rgba(164,132,72,0.045) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-motif='workstation'] .shell-cover__native-screen-well,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-screen-well,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-screen-well {
  border-color: rgba(95,113,136,0.15) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.58),
    inset 0 0.48rem 0.95rem rgba(23,47,74,0.045),
    0 0.26rem 0.78rem rgba(16,37,63,0.045) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-motif='workstation'] .shell-cover__native-main-field,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-main-field,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-main-field {
  background:
    radial-gradient(circle at 89% 11%, rgba(201,222,227,0.28), transparent 30%),
    radial-gradient(circle at 8% 90%, rgba(200,177,118,0.065), transparent 25%),
    linear-gradient(180deg, rgba(250,254,254,0.995), rgba(237,248,250,0.97)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.78),
    inset 0 0.72rem 1.42rem rgba(201,222,227,0.18),
    inset 0 -0.82rem 1.7rem rgba(93,127,147,0.052),
    0 0.42rem 0.82rem rgba(23,47,74,0.038) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-motif='workstation'] .shell-cover__native-main-field::after,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-main-field::after,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-main-field::after {
  content: '';
  position: absolute;
  inset: clamp(0.62rem, 1.3vh, 1rem);
  border-radius: clamp(0.55rem, 1.2vh, 1rem);
  pointer-events: none;
  opacity: 0.18;
  background:
    linear-gradient(90deg, rgba(95,113,136,0.22) 1px, transparent 1px) 0 0 / 12.5% 100%,
    linear-gradient(180deg, rgba(95,113,136,0.14) 1px, transparent 1px) 0 0 / 100% 25%;
  mask-image: linear-gradient(90deg, transparent, rgba(0,0,0,0.72) 18%, rgba(0,0,0,0.72) 82%, transparent);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-motif='workstation'] .shell-cover__native-access-module,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-access-module,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-access-module {
  border-radius: clamp(0.58rem, 1.2vh, 1.05rem) !important;
  border-color: rgba(168,132,72,0.26) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.74), rgba(248,252,252,0.50)),
    radial-gradient(circle at 50% 20%, rgba(255,255,255,0.24), transparent 42%),
    linear-gradient(180deg, rgba(237,249,250,0.28), rgba(209,229,234,0.12)) !important;
  box-shadow:
    0 0.36rem 0.88rem rgba(23,47,74,0.045),
    inset 0 0 0 1px rgba(255,255,255,0.50),
    inset 0 -0.46rem 0.88rem rgba(216,200,164,0.06) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-motif='workstation'] .shell-cover__title,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__title,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__title {
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: 0.18em !important;
  white-space: nowrap !important;
  font-size: clamp(1.28rem, 5.1vh, 2.24rem) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.038em !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-motif='workstation'] .shell-cover__title-line,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__title-line,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__title-line {
  display: inline !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-motif='workstation'] .shell-cover__subtitle,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-motif='workstation'] .shell-cover__eyebrow,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__eyebrow,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__eyebrow {
  font-size: clamp(0.48rem, 1.56vh, 0.78rem) !important;
  letter-spacing: 0.18em !important;
  line-height: 1.08 !important;
  margin-top: clamp(0.15rem, 0.42vh, 0.30rem) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-motif='workstation'] .shell-cover__route,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route {
  padding: var(--cover-route-tile-pad-block) var(--cover-route-tile-pad-inline) !important;
  border-radius: clamp(0.42rem, 1.05vh, 0.78rem) !important;
  row-gap: var(--cover-route-stack-gap) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-motif='workstation'] .shell-cover__route-icon-zone,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone {
  place-items: end center !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-motif='workstation'] .shell-cover__route-label-zone,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label-zone,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label-zone {
  min-block-size: var(--cover-route-label-block) !important;
  block-size: var(--cover-route-label-block) !important;
  place-items: start center !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-motif='workstation'] .shell-cover__route-label,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label {
  font-size: var(--cover-route-label-size) !important;
  line-height: 1.02 !important;
  max-inline-size: 12.4ch !important;
  max-width: 12.4ch !important;
}

.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
  --cover-route-icon-size: clamp(1.72rem, 3.7vh, 2.30rem);
  --cover-route-label-size: clamp(0.48rem, 1.06vh, 0.68rem);
  --cover-route-stack-gap: clamp(0.18rem, 0.42vh, 0.34rem);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-motif='workstation'] .shell-cover__native-sigil-mark,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-sigil-mark,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-sigil-mark {
  opacity: 0.96;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-motif='workstation'] .shell-cover__native-sigil-housing,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-sigil-housing,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-sigil-housing {
  border-radius: clamp(0.26rem, 1.12vh, 0.52rem) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-motif='workstation'] .shell-cover__native-sigil-seal-frame,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-sigil-seal-frame,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-sigil-seal-frame {
  inline-size: 61%;
}

@media (orientation: landscape) and (max-height: 35rem) {
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-motif='workstation'],
  .shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
    --cover-route-icon-size: clamp(1.08rem, 4.10vh, 1.56rem);
    --cover-route-label-size: clamp(0.34rem, 1.34vh, 0.50rem);
    --cover-route-stack-gap: clamp(0.10rem, 0.34vh, 0.20rem);
    --cover-route-label-block: calc(var(--cover-route-label-size) * 2.00);
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-motif='workstation'] .shell-cover__title,
  .shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__title {
    font-size: clamp(1.08rem, 4.75vh, 1.64rem) !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-motif='workstation'] .shell-cover__subtitle,
  .shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle {
    font-size: clamp(0.34rem, 1.28vh, 0.50rem) !important;
  }
}

/* =========================================================
   Composition Wave 14 — Screen-Integrated Housing Polish Pass
   - Keeps registration/composition as placement authority.
   - Adds an under-glass console read: title housing + unified route tray.
   - Seats route cards into the screen instead of letting them float as buttons.
   - Adds restrained medical hardware marks and stronger glass occlusion.
   ========================================================= */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
  --cover-screen-integrated-housing-wave: wave-14-screen-integrated-housing;
  --cover-housing-line: color-mix(in srgb, var(--shell-cover-dim-gold, #c8b176) 42%, rgba(95,113,136,0.14));
  --cover-housing-line-strong: color-mix(in srgb, var(--shell-cover-gold, #a88448) 48%, rgba(95,113,136,0.16));
  --cover-housing-fill: linear-gradient(180deg, rgba(255,255,255,0.52), rgba(248,252,252,0.22));
  --cover-housing-glass: linear-gradient(180deg, rgba(255,255,255,0.44), rgba(237,249,250,0.12));
  --cover-route-tray-fill: linear-gradient(180deg, rgba(255,255,255,0.46), rgba(236,248,250,0.18));
  --cover-route-seated-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.64),
    inset 0 0.22rem 0.42rem rgba(255,255,255,0.34),
    inset 0 -0.24rem 0.52rem rgba(201,222,227,0.09),
    0 0.08rem 0.18rem rgba(23,47,74,0.026);
}

/* Shared console enclosure: the semantic card remains transparent/clickable,
   but now reads as one housed access system under the diagnostic glass. */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__content-card {
  isolation: isolate !important;
  overflow: visible !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__content-card::before {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  z-index: 0 !important;
  pointer-events: none !important;
  inset: -4.6% -3.2% -4.2% !important;
  border-radius: clamp(0.78rem, 2.0vw, 1.62rem) !important;
  border: 1px solid color-mix(in srgb, var(--cover-housing-line) 70%, rgba(255,255,255,0.30)) !important;
  background:
    radial-gradient(circle at 50% 9%, rgba(255,255,255,0.48), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,0.34), rgba(238,249,250,0.13)),
    linear-gradient(180deg, rgba(246,240,227,0.12), rgba(248,252,252,0.14)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.38),
    inset 0 0.64rem 1.2rem rgba(255,255,255,0.16),
    inset 0 -0.72rem 1.25rem rgba(201,222,227,0.09),
    0 0.20rem 0.58rem rgba(23,47,74,0.028) !important;
  opacity: 0.86;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__content-card::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  z-index: 0 !important;
  pointer-events: none !important;
  inset: -2.4% -1.6% -2.0% !important;
  border-radius: clamp(0.62rem, 1.65vw, 1.34rem) !important;
  border: 1px solid rgba(255,255,255,0.26) !important;
  background:
    linear-gradient(90deg, transparent 0 4%, rgba(255,255,255,0.20) 5%, transparent 16% 84%, rgba(255,255,255,0.14) 95%, transparent 100%),
    linear-gradient(180deg, rgba(255,255,255,0.20), transparent 42%) !important;
  opacity: 0.52;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__brand-zone,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__routes-zone,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__divider-zone {
  z-index: 2 !important;
}

/* Title housing: a quiet inset plaque with gold registration marks. */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__brand-zone {
  position: relative !important;
  isolation: isolate !important;
  padding-inline: clamp(0.20rem, 0.72vw, 0.72rem) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__brand-zone::before {
  content: '';
  position: absolute;
  z-index: -1;
  pointer-events: none;
  inset: -18% 4.5% -13%;
  border-radius: clamp(0.58rem, 1.45vw, 1.22rem);
  border: 1px solid var(--cover-housing-line);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.46), rgba(248,252,252,0.18)),
    radial-gradient(circle at 50% 16%, rgba(255,255,255,0.28), transparent 38%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.44),
    inset 0 -0.34rem 0.72rem rgba(201,222,227,0.08),
    0 0.08rem 0.22rem rgba(23,47,74,0.026);
  opacity: 0.88;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__brand-zone::after {
  content: '';
  position: absolute;
  z-index: 0;
  pointer-events: none;
  left: 18%;
  right: 18%;
  top: -6%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--cover-housing-line-strong) 42%, transparent 42% 58%, var(--cover-housing-line-strong) 58%, transparent);
  opacity: 0.74;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__identity {
  position: relative !important;
  z-index: 1 !important;
  padding-block: clamp(0.16rem, 0.42vw, 0.46rem) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__identity::before,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__identity::after {
  content: '';
  position: absolute;
  pointer-events: none;
  left: 17%;
  right: 17%;
  height: 1px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--shell-cover-dim-gold, #c8b176) 70%, transparent), transparent);
  opacity: 0.68;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__identity::before { top: 0; }
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__identity::after { bottom: 0; }

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__title {
  text-shadow: 0 0.045rem 0 rgba(255,255,255,0.72) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__eyebrow {
  color: color-mix(in srgb, var(--shell-cover-gold, #a88448) 76%, var(--shell-cover-muted, #5f7188) 24%) !important;
  text-shadow: 0 0.035rem 0 rgba(255,255,255,0.72) !important;
}

/* Center status line becomes a registration mark, not an empty separator. */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__divider-zone {
  position: relative !important;
  width: min(64%, 24rem) !important;
  border-top-color: color-mix(in srgb, var(--shell-cover-dim-gold, #c8b176) 70%, transparent) !important;
  opacity: 0.78 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__divider-zone::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  inline-size: clamp(0.18rem, 0.42vw, 0.32rem);
  block-size: clamp(0.18rem, 0.42vw, 0.32rem);
  transform: translate(-50%, -50%) rotate(45deg);
  border: 1px solid color-mix(in srgb, var(--shell-cover-gold, #a88448) 62%, rgba(255,255,255,0.20));
  background: rgba(248,252,252,0.52);
  box-shadow: 0 0 0 2px rgba(248,252,252,0.48);
}

/* Route tray: one seated deck, with cards docked into it. */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__routes-zone {
  position: relative !important;
  isolation: isolate !important;
  padding: clamp(0.18rem, 0.46vw, 0.42rem) clamp(0.22rem, 0.58vw, 0.54rem) clamp(0.12rem, 0.34vw, 0.34rem) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__routes-zone::before {
  content: '';
  position: absolute;
  z-index: -1;
  pointer-events: none;
  inset: -7% -3.8% -6.2%;
  border-radius: clamp(0.72rem, 1.65vw, 1.38rem);
  border: 1px solid var(--cover-housing-line);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.40), rgba(235,247,249,0.18)),
    radial-gradient(circle at 50% 0%, rgba(255,255,255,0.30), transparent 42%),
    linear-gradient(180deg, rgba(216,200,164,0.10), rgba(248,252,252,0.08));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.40),
    inset 0 0.38rem 0.74rem rgba(255,255,255,0.16),
    inset 0 -0.38rem 0.84rem rgba(201,222,227,0.09),
    0 0.10rem 0.26rem rgba(23,47,74,0.024);
  opacity: 0.90;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__routes-zone::after {
  content: '';
  position: absolute;
  z-index: -1;
  pointer-events: none;
  left: 8%;
  right: 8%;
  top: 50%;
  block-size: 1px;
  background: linear-gradient(90deg, transparent, rgba(200,177,118,0.38), transparent);
  opacity: 0.42;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__routes {
  z-index: 1 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route {
  border-color: color-mix(in srgb, var(--shell-cover-dim-gold, #c8b176) 34%, rgba(95,113,136,0.14)) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.88), rgba(248,252,252,0.62)),
    linear-gradient(180deg, rgba(237,249,250,0.32), rgba(216,234,239,0.12)) !important;
  box-shadow: var(--cover-route-seated-shadow) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route::before {
  content: '';
  position: absolute;
  pointer-events: none;
  inset: clamp(0.18rem, 0.38vw, 0.36rem);
  border-radius: clamp(0.36rem, 0.72vw, 0.68rem);
  border: 1px solid rgba(255,255,255,0.42);
  box-shadow: inset 0 0 0 1px rgba(200,177,118,0.10);
  opacity: 0.72;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route::after {
  content: '';
  position: absolute;
  pointer-events: none;
  left: 50%;
  bottom: clamp(0.18rem, 0.36vw, 0.34rem);
  inline-size: clamp(0.70rem, 1.3vw, 1.10rem);
  block-size: clamp(0.10rem, 0.20vw, 0.16rem);
  transform: translateX(-50%);
  background:
    radial-gradient(circle, color-mix(in srgb, var(--shell-cover-gold, #a88448) 70%, transparent) 0 1px, transparent 1.5px) 0 50% / 33.33% 100% repeat-x;
  opacity: 0.62;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label-zone {
  z-index: 1 !important;
}

/* Native route trays and access module are the physical housing behind the semantic controls. */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-access-module {
  border-color: color-mix(in srgb, var(--shell-cover-dim-gold, #c8b176) 34%, rgba(95,113,136,0.18)) !important;
  background:
    radial-gradient(circle at 50% 10%, rgba(255,255,255,0.40), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.54), rgba(237,249,250,0.28)),
    linear-gradient(180deg, rgba(246,240,227,0.18), rgba(248,252,252,0.12)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.58),
    inset 0 0.72rem 1.18rem rgba(255,255,255,0.18),
    inset 0 -0.66rem 1.08rem rgba(201,222,227,0.12),
    0 0.26rem 0.74rem rgba(23,47,74,0.034) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-access-module-glass {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.30), rgba(255,255,255,0.06)),
    linear-gradient(115deg, transparent 0 38%, rgba(255,255,255,0.16) 42%, transparent 62% 100%) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.24) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-access-module-reflection {
  opacity: 0.34 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-route-tray {
  opacity: 0.96 !important;
  border-color: color-mix(in srgb, var(--shell-cover-dim-gold, #c8b176) 32%, rgba(95,113,136,0.16)) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.42), rgba(235,247,249,0.18)),
    linear-gradient(180deg, rgba(248,252,252,0.18), rgba(201,222,227,0.08)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.38),
    inset 0 -0.28rem 0.62rem rgba(201,222,227,0.10),
    0 0.05rem 0.14rem rgba(23,47,74,0.026) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-glass-occlusion {
  opacity: 0.40 !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.20), rgba(255,255,255,0.05)),
    radial-gradient(circle at 50% 34%, rgba(255,255,255,0.16), transparent 44%),
    linear-gradient(125deg, transparent 0 38%, rgba(255,255,255,0.18) 44%, transparent 66% 100%) !important;
  mix-blend-mode: screen !important;
}

/* Portrait gets the most visible plaque/tray polish; geometry remains protected. */
@media (orientation: portrait) and (max-width: 48rem) {
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
    --cover-route-icon-size: clamp(1.34rem, 5.95vw, 1.90rem);
    --cover-route-icon-size-clinician: calc(var(--cover-route-icon-size) * 1.02);
    --cover-route-icon-size-workspace: calc(var(--cover-route-icon-size) * 0.99);
    --cover-route-label-size: clamp(0.40rem, 1.72vw, 0.56rem);
    --cover-route-stack-gap: clamp(0.07rem, 0.34vw, 0.16rem);
    --cover-route-label-block: calc(var(--cover-route-label-size) * 2.12);
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__content-card::before {
    inset: -3.6% -2.2% -3.8% !important;
    opacity: 0.88;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__brand-zone::before {
    inset: -16% 3.5% -12%;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__title {
    font-size: clamp(1.62rem, 6.75vw, 2.36rem) !important;
    line-height: 0.90 !important;
    letter-spacing: -0.032em !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle {
    font-size: clamp(0.46rem, 1.85vw, 0.66rem) !important;
    letter-spacing: 0.18em !important;
    max-inline-size: 24ch !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__routes-zone::before {
    inset: -6.5% -3.2% -6%;
  }
}

/* Workstation/wide states use a flatter console and a less poster-like title. */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-motif='workstation'] .shell-cover__content-card::before,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__content-card::before,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__content-card::before {
  inset: -5.0% -2.6% -4.5% !important;
  border-radius: clamp(0.58rem, 1.7vh, 1.12rem) !important;
  opacity: 0.82;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-motif='workstation'] .shell-cover__brand-zone::before,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__brand-zone::before,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__brand-zone::before {
  inset: -20% 10% -12%;
  border-radius: clamp(0.42rem, 1.25vh, 0.82rem);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-motif='workstation'] .shell-cover__routes-zone::before,
.shell-body[data-layout-mode='landscape-side'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__routes-zone::before,
.shell-body[data-layout-mode='wide-dual'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__routes-zone::before {
  inset: -8% -2.8% -7%;
  border-radius: clamp(0.48rem, 1.25vh, 0.86rem);
}

@media (orientation: landscape) and (max-height: 35rem) {
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__content-card::before {
    inset: -5.2% -2.4% -4.2% !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__title {
    font-size: clamp(1.12rem, 4.85vh, 1.72rem) !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle {
    font-size: clamp(0.34rem, 1.30vh, 0.52rem) !important;
  }
}


/* =========================================================
   Cover Housing Anatomy Pass — Nameplate + Route Modules
   - Keeps registered geometry unchanged.
   - Adds semantic/anatomical chambers inside existing boxes only.
   - Identity remains one under-glass nameplate.
   - Route deck remains one tray; each route remains one semantic button.
   ========================================================= */

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
  --cover-housing-anatomy-pass: nameplate-route-chambers-v1;
  --cover-nameplate-line: color-mix(in srgb, var(--shell-cover-dim-gold, #c8b176) 46%, rgba(95,113,136,0.18));
  --cover-nameplate-line-soft: color-mix(in srgb, var(--shell-cover-dim-gold, #c8b176) 30%, rgba(95,113,136,0.12));
  --cover-nameplate-fill: color-mix(in srgb, var(--shell-cover-field, #f8fcfc) 72%, rgba(255,255,255,0.42));
  --cover-nameplate-meta-fill: color-mix(in srgb, var(--shell-cover-field, #f8fcfc) 58%, rgba(201,222,227,0.18));
  --cover-route-module-line: color-mix(in srgb, var(--shell-cover-dim-gold, #c8b176) 36%, rgba(95,113,136,0.17));
  --cover-route-module-line-soft: color-mix(in srgb, var(--shell-cover-dim-gold, #c8b176) 24%, rgba(95,113,136,0.12));
  --cover-route-module-fill: color-mix(in srgb, #ffffff 76%, var(--shell-cover-field, #f8fcfc) 24%);
  --cover-route-icon-bay-fill: color-mix(in srgb, #ffffff 68%, rgba(201,222,227,0.15));
  --cover-route-label-bay-fill: color-mix(in srgb, #ffffff 58%, rgba(248,252,252,0.28));
  --cover-route-divider-block: clamp(0.04rem, 0.10vw, 0.08rem);
  --cover-route-label-min-block: clamp(1.00rem, 1.18vw, 1.24rem);
  --cover-route-chamber-gap: clamp(0.08rem, 0.22vw, 0.18rem);
  --cover-route-icon-size: clamp(1.34rem, 2.42vw, 1.92rem);
  --cover-route-icon-size-clinician: calc(var(--cover-route-icon-size) * 1.04);
  --cover-route-icon-size-workspace: calc(var(--cover-route-icon-size) * 1.00);
  --cover-route-label-size: clamp(0.40rem, 0.58vw, 0.58rem);
  --cover-route-tile-pad-block: clamp(0.18rem, 0.42vw, 0.40rem);
  --cover-route-tile-pad-inline: clamp(0.18rem, 0.44vw, 0.44rem);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__brand-zone {
  padding-inline: clamp(0.18rem, 0.60vw, 0.62rem) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__brand-zone::before {
  inset: -16% 5.5% -12% !important;
  border-color: var(--cover-nameplate-line) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.54), rgba(248,252,252,0.22)),
    radial-gradient(circle at 50% 10%, rgba(255,255,255,0.30), transparent 38%),
    linear-gradient(180deg, rgba(246,240,227,0.12), rgba(201,222,227,0.08)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.46),
    inset 0 -0.28rem 0.62rem rgba(201,222,227,0.08),
    0 0.08rem 0.22rem rgba(23,47,74,0.026) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__identity {
  display: grid !important;
  grid-template-areas:
    'wordmark'
    'meta' !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  inline-size: min(100%, 31rem) !important;
  max-inline-size: 100% !important;
  gap: 0 !important;
  padding: clamp(0.06rem, 0.18vw, 0.16rem) !important;
  border: 1px solid var(--cover-nameplate-line-soft) !important;
  border-radius: clamp(0.44rem, 1.05vw, 0.92rem) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.42), rgba(248,252,252,0.16)),
    var(--cover-nameplate-fill) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.45),
    inset 0 -0.18rem 0.42rem rgba(201,222,227,0.06) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__identity::before,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__identity::after {
  content: none !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__title[data-cover-nameplate-zone='wordmark-chamber'],
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__title {
  grid-area: wordmark !important;
  display: grid !important;
  place-items: center !important;
  min-inline-size: 0 !important;
  min-block-size: 0 !important;
  padding: clamp(0.12rem, 0.32vw, 0.32rem) clamp(0.22rem, 0.56vw, 0.58rem) clamp(0.08rem, 0.24vw, 0.24rem) !important;
  border-radius: clamp(0.34rem, 0.86vw, 0.74rem) clamp(0.34rem, 0.86vw, 0.74rem) clamp(0.16rem, 0.42vw, 0.34rem) clamp(0.16rem, 0.42vw, 0.34rem) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.30), rgba(248,252,252,0.08)) !important;
  color: var(--shell-cover-ink, #172f4a) !important;
  text-shadow: 0 0.045rem 0 rgba(255,255,255,0.72) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle[data-cover-nameplate-zone='meta-strip'],
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle {
  grid-area: meta !important;
  display: grid !important;
  place-items: center !important;
  inline-size: 100% !important;
  min-block-size: clamp(0.82rem, 1.10vw, 1.04rem) !important;
  padding: clamp(0.08rem, 0.18vw, 0.18rem) clamp(0.20rem, 0.46vw, 0.46rem) !important;
  border-block-start: 1px solid var(--cover-nameplate-line-soft) !important;
  border-radius: clamp(0.14rem, 0.36vw, 0.30rem) clamp(0.14rem, 0.36vw, 0.30rem) clamp(0.30rem, 0.76vw, 0.66rem) clamp(0.30rem, 0.76vw, 0.66rem) !important;
  background: var(--cover-nameplate-meta-fill) !important;
  color: color-mix(in srgb, var(--shell-cover-gold, #a88448) 72%, var(--shell-cover-muted, #5f7188) 28%) !important;
  text-shadow: 0 0.035rem 0 rgba(255,255,255,0.72) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__routes-zone {
  padding: clamp(0.18rem, 0.46vw, 0.42rem) clamp(0.22rem, 0.58vw, 0.54rem) clamp(0.14rem, 0.36vw, 0.34rem) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__routes-zone::before {
  border-color: var(--cover-route-module-line) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.42), rgba(235,247,249,0.16)),
    radial-gradient(circle at 50% 0%, rgba(255,255,255,0.28), transparent 42%),
    linear-gradient(180deg, rgba(216,200,164,0.08), rgba(248,252,252,0.07)) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route {
  display: grid !important;
  grid-template-areas:
    'icon'
    'shelf'
    'label' !important;
  grid-template-rows: minmax(0, 1fr) var(--cover-route-divider-block) minmax(var(--cover-route-label-min-block), auto) !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  row-gap: var(--cover-route-chamber-gap) !important;
  padding: var(--cover-route-tile-pad-block) var(--cover-route-tile-pad-inline) !important;
  border: 1px solid var(--cover-route-module-line) !important;
  border-radius: clamp(0.56rem, 0.92vw, 0.92rem) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.82), rgba(248,252,252,0.52)),
    var(--cover-route-module-fill) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.56),
    inset 0 0.18rem 0.40rem rgba(255,255,255,0.30),
    inset 0 -0.22rem 0.46rem rgba(201,222,227,0.07),
    0 0.10rem 0.24rem rgba(23,47,74,0.035) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route::before {
  inset: clamp(0.14rem, 0.32vw, 0.30rem) !important;
  border-color: rgba(255,255,255,0.42) !important;
  box-shadow: inset 0 0 0 1px rgba(200,177,118,0.08) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route::after {
  content: none !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone {
  grid-area: icon !important;
  display: grid !important;
  place-items: center !important;
  inline-size: 100% !important;
  block-size: 100% !important;
  min-block-size: 0 !important;
  padding: clamp(0.12rem, 0.30vw, 0.30rem) !important;
  border: 1px solid var(--cover-route-module-line-soft) !important;
  border-radius: clamp(0.40rem, 0.74vw, 0.72rem) clamp(0.40rem, 0.74vw, 0.72rem) clamp(0.18rem, 0.38vw, 0.34rem) clamp(0.18rem, 0.38vw, 0.34rem) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.54), rgba(235,247,249,0.18)),
    var(--cover-route-icon-bay-fill) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.42),
    inset 0 -0.18rem 0.36rem rgba(201,222,227,0.07) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-divider {
  grid-area: shelf !important;
  display: block !important;
  inline-size: min(68%, 3.8rem) !important;
  block-size: var(--cover-route-divider-block) !important;
  align-self: center !important;
  justify-self: center !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, transparent, var(--cover-route-module-line) 18% 82%, transparent) !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.34) !important;
  opacity: 0.82 !important;
  pointer-events: none !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label-zone {
  grid-area: label !important;
  display: grid !important;
  place-items: center !important;
  inline-size: 100% !important;
  min-block-size: var(--cover-route-label-min-block) !important;
  padding: clamp(0.08rem, 0.18vw, 0.18rem) clamp(0.10rem, 0.28vw, 0.28rem) !important;
  border: 1px solid var(--cover-route-module-line-soft) !important;
  border-radius: clamp(0.18rem, 0.38vw, 0.34rem) clamp(0.18rem, 0.38vw, 0.34rem) clamp(0.40rem, 0.74vw, 0.72rem) clamp(0.40rem, 0.74vw, 0.72rem) !important;
  background: var(--cover-route-label-bay-fill) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.34) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon {
  inline-size: var(--cover-route-icon-size) !important;
  block-size: var(--cover-route-icon-size) !important;
  width: var(--cover-route-icon-size) !important;
  height: var(--cover-route-icon-size) !important;
  max-inline-size: 92% !important;
  max-block-size: 92% !important;
  color: color-mix(in srgb, var(--shell-cover-teal, #0f5f64) 86%, var(--shell-cover-ink, #172f4a) 14%) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-cover-route-kind='team'] .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-shell-cover-route='portal'] .shell-cover__route-icon {
  inline-size: var(--cover-route-icon-size-clinician) !important;
  block-size: var(--cover-route-icon-size-clinician) !important;
  width: var(--cover-route-icon-size-clinician) !important;
  height: var(--cover-route-icon-size-clinician) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-cover-route-kind='workspace'] .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-shell-cover-route='workspace'] .shell-cover__route-icon {
  inline-size: var(--cover-route-icon-size-workspace) !important;
  block-size: var(--cover-route-icon-size-workspace) !important;
  width: var(--cover-route-icon-size-workspace) !important;
  height: var(--cover-route-icon-size-workspace) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label {
  color: color-mix(in srgb, var(--shell-cover-ink, #172f4a) 88%, var(--shell-cover-teal, #0f5f64) 12%) !important;
  font-size: var(--cover-route-label-size) !important;
  font-weight: 790 !important;
  letter-spacing: 0.026em !important;
  line-height: 1.02 !important;
  max-inline-size: 12ch !important;
  max-width: 12ch !important;
  white-space: normal !important;
  text-wrap: balance !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:hover,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:focus-visible {
  border-color: color-mix(in srgb, var(--shell-cover-teal, #0f5f64) 28%, var(--shell-cover-dim-gold, #c8b176) 72%) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.90), rgba(248,252,252,0.64)),
    color-mix(in srgb, #ffffff 84%, var(--shell-cover-blue-shadow, #c9dee3) 16%) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:hover .shell-cover__route-icon-zone,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:focus-visible .shell-cover__route-icon-zone,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:hover .shell-cover__route-label-zone,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:focus-visible .shell-cover__route-label-zone {
  border-color: color-mix(in srgb, var(--shell-cover-teal, #0f5f64) 26%, var(--shell-cover-dim-gold, #c8b176) 74%) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.72), rgba(237,249,250,0.28)) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:hover .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:focus-visible .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:hover .shell-cover__route-label,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:focus-visible .shell-cover__route-label {
  color: color-mix(in srgb, var(--shell-cover-teal, #0f5f64) 78%, var(--shell-cover-ink, #172f4a) 22%) !important;
}

/* Preserve breathing room under constrained landscape/desktop-fit states. */
@media (orientation: landscape) and (max-height: 48rem) {
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
    --cover-route-icon-size: clamp(1.02rem, 3.18vh, 1.44rem);
    --cover-route-icon-size-clinician: calc(var(--cover-route-icon-size) * 1.04);
    --cover-route-icon-size-workspace: calc(var(--cover-route-icon-size) * 1.00);
    --cover-route-label-size: clamp(0.33rem, 1.12vh, 0.48rem);
    --cover-route-chamber-gap: clamp(0.06rem, 0.25vh, 0.14rem);
    --cover-route-label-min-block: clamp(0.72rem, 2.2vh, 1.02rem);
    --cover-route-tile-pad-block: clamp(0.14rem, 0.46vh, 0.30rem);
    --cover-route-tile-pad-inline: clamp(0.14rem, 0.54vh, 0.34rem);
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__identity {
    padding: clamp(0.04rem, 0.12vh, 0.10rem) !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle {
    min-block-size: clamp(0.62rem, 1.84vh, 0.84rem) !important;
  }
}

@media (orientation: portrait) and (max-width: 48rem) {
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
    --cover-route-icon-size: clamp(1.20rem, 5.25vw, 1.76rem);
    --cover-route-icon-size-clinician: calc(var(--cover-route-icon-size) * 1.04);
    --cover-route-icon-size-workspace: calc(var(--cover-route-icon-size) * 1.00);
    --cover-route-label-size: clamp(0.34rem, 1.54vw, 0.50rem);
    --cover-route-chamber-gap: clamp(0.06rem, 0.30vw, 0.14rem);
    --cover-route-label-min-block: clamp(0.78rem, 3.0vw, 1.06rem);
    --cover-route-tile-pad-block: clamp(0.14rem, 0.70vw, 0.30rem);
    --cover-route-tile-pad-inline: clamp(0.14rem, 0.66vw, 0.30rem);
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__brand-zone::before {
    inset: -15% 4% -12% !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__title {
    font-size: clamp(1.42rem, 5.90vw, 2.10rem) !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle {
    font-size: clamp(0.40rem, 1.65vw, 0.60rem) !important;
    max-inline-size: none !important;
  }
}

/* =========================================================
   Cover Housing Visual Governance Fold-in Pass
   - Donor-folded from shell-cover-visual-governance.css.
   - Keeps placement with registration/composition.
   - Strengthens meta/route label language inside existing chambers only.
   - Leaves footer, first-paint, and global shell geometry untouched.
   ========================================================= */

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
  --cover-housing-visual-governance-fold: device-label-language-v1;
  --cover-vg-ink: var(--shell-cover-ink, #172f4a);
  --cover-vg-muted: var(--shell-cover-muted, #5f7188);
  --cover-vg-teal: var(--shell-cover-teal, #0f5f64);
  --cover-vg-gold: var(--shell-cover-gold, #a88448);
  --cover-vg-dim-gold: var(--shell-cover-dim-gold, #c8b176);
  --cover-vg-brass: var(--shell-cover-brass, #d8c8a4);
  --cover-vg-field: var(--shell-cover-field, #f8fcfc);
  --cover-vg-meta-band-fill:
    linear-gradient(90deg,
      rgba(168,132,72,0.05),
      rgba(248,252,252,0.66) 18%,
      rgba(255,255,255,0.74) 50%,
      rgba(248,252,252,0.66) 82%,
      rgba(168,132,72,0.05)),
    linear-gradient(180deg,
      color-mix(in srgb, var(--cover-vg-field) 86%, var(--cover-vg-brass) 14%),
      color-mix(in srgb, var(--cover-vg-field) 72%, var(--cover-vg-brass) 28%));
  --cover-vg-label-fill:
    linear-gradient(180deg,
      color-mix(in srgb, var(--cover-vg-teal) 90%, white 10%) 0%,
      color-mix(in srgb, var(--cover-vg-ink) 66%, var(--cover-vg-teal) 34%) 100%);
  --cover-vg-label-fill-hover:
    linear-gradient(180deg,
      color-mix(in srgb, var(--cover-vg-teal) 82%, white 18%) 0%,
      color-mix(in srgb, var(--cover-vg-ink) 58%, var(--cover-vg-teal) 42%) 100%);
  --cover-vg-label-trim: color-mix(in srgb, var(--cover-vg-dim-gold) 74%, rgba(255,255,255,0.18));
  --cover-vg-label-shadow:
    inset 0 1px 0 rgba(255,255,255,0.20),
    inset 0 -1px 0 rgba(17,47,74,0.28),
    0 0.08rem 0.20rem rgba(23,47,74,0.11);
  --cover-route-label-min-block: clamp(1.06rem, 1.30vw, 1.34rem);
}

/* Nameplate: keep one housing, but make the meta line read as a governed device description band. */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__identity {
  position: relative !important;
  isolation: isolate !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__identity::before,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__identity::after {
  content: '' !important;
  position: absolute !important;
  left: 50% !important;
  z-index: 0 !important;
  inline-size: min(84%, 28rem) !important;
  block-size: 1px !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
  background: linear-gradient(90deg,
    transparent,
    color-mix(in srgb, var(--cover-vg-dim-gold) 58%, transparent),
    transparent) !important;
  opacity: 0.74 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__identity::before { top: 7% !important; }
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__identity::after { bottom: 4% !important; }

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__title,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle {
  position: relative !important;
  z-index: 1 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle[data-cover-nameplate-zone='meta-strip'],
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__eyebrow {
  min-block-size: clamp(0.92rem, 1.35vw, 1.24rem) !important;
  border: 1px solid var(--cover-vg-label-trim) !important;
  border-block-start-color: color-mix(in srgb, var(--cover-vg-dim-gold) 58%, rgba(255,255,255,0.20)) !important;
  color: color-mix(in srgb, var(--cover-vg-ink) 78%, white 22%) !important;
  background: var(--cover-vg-meta-band-fill) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.72),
    inset 0 -1px 0 rgba(168,132,72,0.12),
    0 0.08rem 0.22rem rgba(23,47,74,0.05) !important;
  text-shadow: none !important;
}

/* Route deck: a shared instrument-panel base and quiet identity-to-route connector. */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__routes-zone {
  position: relative !important;
  isolation: isolate !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__routes-zone::before {
  inline-size: min(108%, 38rem) !important;
  border-color: color-mix(in srgb, var(--cover-vg-dim-gold) 46%, rgba(23,47,74,0.10)) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,0.42), transparent 46%),
    linear-gradient(180deg, rgba(255,255,255,0.34), rgba(201,222,227,0.08)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.50),
    inset 0 -0.22rem 0.55rem rgba(168,132,72,0.055),
    0 0.10rem 0.28rem rgba(23,47,74,0.045) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__routes-zone::after {
  content: '' !important;
  position: absolute !important;
  left: 50% !important;
  top: calc(-1 * clamp(0.55rem, 1.05vw, 1.05rem)) !important;
  z-index: 0 !important;
  inline-size: 1px !important;
  block-size: clamp(0.55rem, 1.15vw, 1.10rem) !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
  background: linear-gradient(180deg,
    color-mix(in srgb, var(--cover-vg-dim-gold) 58%, transparent),
    rgba(15,95,100,0.16),
    transparent) !important;
  opacity: 0.72 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__routes {
  position: relative !important;
  z-index: 1 !important;
  align-items: stretch !important;
}

/* Route modules: clinical icon bay + high-authority label band inside each semantic button. */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route {
  border-radius: clamp(0.50rem, 0.76vw, 0.86rem) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label-zone {
  position: relative !important;
  overflow: hidden !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone {
  border-color: color-mix(in srgb, var(--cover-vg-dim-gold) 54%, rgba(23,47,74,0.16)) !important;
  background:
    radial-gradient(circle at 50% 45%, rgba(15,95,100,0.07), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,0.58), rgba(201,222,227,0.11)),
    linear-gradient(90deg, rgba(168,132,72,0.09), rgba(248,252,252,0.34), rgba(168,132,72,0.09)) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone::before,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone::after {
  content: '' !important;
  position: absolute !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone::before {
  top: 13% !important;
  inline-size: 38% !important;
  block-size: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(200,177,118,0.52), transparent) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone::after {
  bottom: 10% !important;
  inline-size: 1px !important;
  block-size: 28% !important;
  background: linear-gradient(180deg, transparent, rgba(15,95,100,0.22), transparent) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon {
  color: var(--cover-vg-teal) !important;
  filter: drop-shadow(0 1px 0 rgba(255,255,255,0.45)) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label-zone {
  place-items: center !important;
  border-color: var(--cover-vg-label-trim) !important;
  border-block-start-color: color-mix(in srgb, var(--cover-vg-dim-gold) 62%, rgba(255,255,255,0.10)) !important;
  background: var(--cover-vg-label-fill) !important;
  box-shadow: var(--cover-vg-label-shadow) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label-zone::before,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label-zone::after {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  inline-size: clamp(0.20rem, 0.42vw, 0.38rem) !important;
  block-size: 1px !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
  background: rgba(248,252,252,0.58) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label-zone::before { left: clamp(0.18rem, 0.32vw, 0.32rem) !important; }
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label-zone::after { right: clamp(0.18rem, 0.32vw, 0.32rem) !important; }

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label {
  color: #f8fcfc !important;
  font-weight: 820 !important;
  letter-spacing: 0.052em !important;
  line-height: 1.03 !important;
  max-inline-size: 13ch !important;
  max-width: 13ch !important;
  text-shadow: 0 1px 0 rgba(17,47,74,0.34) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:hover .shell-cover__route-icon-zone,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:focus-visible .shell-cover__route-icon-zone {
  background:
    radial-gradient(circle at 50% 42%, rgba(15,95,100,0.15), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.62), rgba(201,222,227,0.16)),
    linear-gradient(90deg, rgba(168,132,72,0.10), rgba(248,252,252,0.38), rgba(168,132,72,0.10)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.34),
    0 0.18rem 0.42rem rgba(15,95,100,0.12) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:hover .shell-cover__route-label-zone,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:focus-visible .shell-cover__route-label-zone {
  background: var(--cover-vg-label-fill-hover) !important;
  border-color: color-mix(in srgb, var(--cover-vg-brass) 78%, white 22%) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:hover .shell-cover__route-icon,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:focus-visible .shell-cover__route-icon {
  color: color-mix(in srgb, var(--cover-vg-teal) 76%, var(--cover-vg-ink) 24%) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:hover .shell-cover__route-label,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route:focus-visible .shell-cover__route-label {
  color: #f8fcfc !important;
}

@media (orientation: portrait) and (max-width: 48rem) {
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
    --cover-route-icon-size: clamp(1.42rem, 5.65vw, 2.18rem);
    --cover-route-icon-size-clinician: calc(var(--cover-route-icon-size) * 1.04);
    --cover-route-icon-size-workspace: calc(var(--cover-route-icon-size) * 1.00);
    --cover-route-label-size: clamp(0.34rem, 1.54vw, 0.50rem);
    --cover-route-label-min-block: clamp(0.90rem, 3.18vw, 1.20rem);
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone {
    place-items: center !important;
    padding-block: clamp(0.32rem, 1.05vw, 0.68rem) !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label {
    letter-spacing: 0.040em !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__routes-zone::before {
    inline-size: min(112%, 25rem) !important;
  }
}

@media (orientation: landscape), (min-width: 48.001rem) {
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
    --cover-route-label-min-block: max(calc(var(--cover-route-label-size) * 1.54), clamp(0.92rem, 1.65vh, 1.18rem));
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route {
    grid-template-rows: minmax(0, 1fr) var(--cover-route-divider-block) var(--cover-route-label-min-block) !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label {
    white-space: nowrap !important;
    text-wrap: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    max-inline-size: none !important;
    max-width: none !important;
    font-size: clamp(0.42rem, 1.22vh, 0.70rem) !important;
    letter-spacing: 0.044em !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-shell-cover-route='portal'] .shell-cover__route-label,
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-cover-route-kind='team'] .shell-cover__route-label,
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-cover-route-kind='clinician'] .shell-cover__route-label,
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route[data-cover-route-kind='clinician-access'] .shell-cover__route-label {
    font-size: clamp(0.38rem, 1.05vh, 0.62rem) !important;
    letter-spacing: 0.030em !important;
  }
}

@media (orientation: landscape) and (max-height: 35rem) {
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
    --cover-route-label-min-block: max(calc(var(--cover-route-label-size) * 1.42), clamp(0.70rem, 1.95vh, 0.98rem));
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle,
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__eyebrow {
    min-block-size: clamp(0.56rem, 1.68vh, 0.86rem) !important;
    padding-block: clamp(0.06rem, 0.24vh, 0.12rem) !important;
  }
}

/* =========================================================
   Cover nameplate de-ribbon pass
   - Keeps the wordmark/meta seated in the registered identity zone.
   - Removes the full-width ribbon read from the meta strip.
   - Makes the lockup read like an etched glass nameplate inside the module.
   ========================================================= */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
  --cover-nameplate-etch-line: color-mix(in srgb, var(--shell-cover-dim-gold, #c8b176) 32%, rgba(95,113,136,0.12));
  --cover-nameplate-etch-fill:
    linear-gradient(180deg, rgba(255,255,255,0.30), rgba(248,252,252,0.08));
  --cover-nameplate-meta-ink: color-mix(in srgb, var(--shell-cover-ink, #172f4a) 62%, var(--shell-cover-teal, #0f5f64) 38%);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__brand-zone::before {
  inset: -20% 7.5% -14% !important;
  border-color: color-mix(in srgb, var(--shell-cover-dim-gold, #c8b176) 22%, rgba(255,255,255,0.38)) !important;
  background:
    radial-gradient(ellipse at 50% 26%, rgba(255,255,255,0.34), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,0.24), rgba(248,252,252,0.075)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.34),
    inset 0 -0.18rem 0.42rem rgba(201,222,227,0.045),
    0 0.06rem 0.18rem rgba(23,47,74,0.018) !important;
  opacity: 0.66 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__brand-zone::after {
  left: 26% !important;
  right: 26% !important;
  top: -2% !important;
  opacity: 0.36 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__identity {
  inline-size: min(94%, 30rem) !important;
  padding: clamp(0.08rem, 0.22vw, 0.18rem) clamp(0.10rem, 0.30vw, 0.28rem) clamp(0.10rem, 0.28vw, 0.22rem) !important;
  gap: clamp(0.04rem, 0.12vw, 0.10rem) !important;
  border-color: color-mix(in srgb, var(--shell-cover-dim-gold, #c8b176) 20%, rgba(255,255,255,0.46)) !important;
  border-radius: clamp(0.52rem, 1.15vw, 1.02rem) !important;
  background:
    radial-gradient(ellipse at 50% 18%, rgba(255,255,255,0.34), transparent 60%),
    var(--cover-nameplate-etch-fill) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.36),
    inset 0 -0.12rem 0.28rem rgba(201,222,227,0.04) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__title[data-cover-nameplate-zone='wordmark-chamber'],
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__title {
  padding: clamp(0.10rem, 0.28vw, 0.28rem) clamp(0.18rem, 0.46vw, 0.50rem) clamp(0.03rem, 0.14vw, 0.16rem) !important;
  background: transparent !important;
  border-radius: 0 !important;
  text-shadow:
    0 0.045rem 0 rgba(255,255,255,0.74),
    0 0.18rem 0.38rem rgba(23,47,74,0.035) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle[data-cover-nameplate-zone='meta-strip'],
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__eyebrow {
  justify-self: center !important;
  inline-size: auto !important;
  width: auto !important;
  max-inline-size: 92% !important;
  min-inline-size: min(68%, 18rem) !important;
  min-block-size: clamp(0.58rem, 0.94vw, 0.86rem) !important;
  padding: clamp(0.04rem, 0.12vw, 0.10rem) clamp(0.36rem, 0.92vw, 0.82rem) !important;
  border: 0 !important;
  border-block-start: 1px solid var(--cover-nameplate-etch-line) !important;
  border-radius: 0 !important;
  background:
    linear-gradient(90deg, transparent, rgba(255,255,255,0.40) 18%, rgba(255,255,255,0.48) 50%, rgba(255,255,255,0.40) 82%, transparent) !important;
  box-shadow: none !important;
  color: var(--cover-nameplate-meta-ink) !important;
  letter-spacing: clamp(0.14em, 0.30vw, 0.22em) !important;
  text-shadow: 0 0.035rem 0 rgba(255,255,255,0.72) !important;
}

@media (orientation: portrait) and (max-width: 48rem) {
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__brand-zone::before {
    inset: -17% 8.5% -12% !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__identity {
    inline-size: min(91%, 24rem) !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__subtitle,
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__eyebrow {
    min-block-size: clamp(0.50rem, 2.0vw, 0.74rem) !important;
    min-inline-size: min(72%, 17rem) !important;
    padding-inline: clamp(0.32rem, 1.20vw, 0.64rem) !important;
  }
}

/* =========================================================
   Cover Route Icon Housing Ownership Pass
   - Keeps registration in charge of route deck placement.
   - Separates the mobile touch/control tile from the visible icon chamber.
   - Adds the missing divider shelf so the line detail has a real owner.
   - Compresses portrait icon bays so route icons read as housed controls,
     not tall empty slots above the label bands.
   ========================================================= */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
  --cover-route-icon-housing-ownership: compact-icon-bay-v1;
  --cover-route-icon-bay-block: clamp(2.18rem, 4.70vw, 3.10rem);
  --cover-route-icon-bay-pad-block: clamp(0.08rem, 0.22vw, 0.20rem);
  --cover-route-icon-bay-pad-inline: clamp(0.10rem, 0.28vw, 0.24rem);
  --cover-route-divider-block: clamp(0.035rem, 0.08vw, 0.065rem);
  --cover-route-chamber-gap: clamp(0.055rem, 0.16vw, 0.13rem);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route {
  grid-template-areas:
    'icon'
    'shelf'
    'label' !important;
  grid-template-rows: var(--cover-route-icon-bay-block) var(--cover-route-divider-block) minmax(var(--cover-route-label-min-block), auto) !important;
  align-content: center !important;
  row-gap: var(--cover-route-chamber-gap) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone {
  align-self: center !important;
  block-size: var(--cover-route-icon-bay-block) !important;
  min-block-size: 0 !important;
  max-block-size: var(--cover-route-icon-bay-block) !important;
  padding: var(--cover-route-icon-bay-pad-block) var(--cover-route-icon-bay-pad-inline) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone::before {
  top: 12% !important;
  inline-size: 30% !important;
  opacity: 0.46 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone::after {
  bottom: 9% !important;
  block-size: 18% !important;
  opacity: 0.38 !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-divider {
  grid-area: shelf !important;
  display: block !important;
  inline-size: min(54%, 2.85rem) !important;
  block-size: var(--cover-route-divider-block) !important;
  align-self: center !important;
  justify-self: center !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--shell-cover-dim-gold, #c8b176) 58%, rgba(15,95,100,0.20)) 18% 82%, transparent) !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.28) !important;
  opacity: 0.58 !important;
  pointer-events: none !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-label-zone {
  align-self: center !important;
}

@media (orientation: portrait) and (max-width: 48rem) {
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] {
    --cover-route-icon-bay-block: clamp(2.26rem, 10.85vw, 3.02rem);
    --cover-route-icon-bay-pad-block: clamp(0.07rem, 0.45vw, 0.16rem);
    --cover-route-icon-bay-pad-inline: clamp(0.08rem, 0.52vw, 0.18rem);
    --cover-route-icon-size: clamp(1.22rem, 4.95vw, 1.72rem);
    --cover-route-icon-size-clinician: calc(var(--cover-route-icon-size) * 1.04);
    --cover-route-icon-size-workspace: calc(var(--cover-route-icon-size) * 1.00);
    --cover-route-label-min-block: clamp(0.86rem, 3.02vw, 1.12rem);
    --cover-route-chamber-gap: clamp(0.045rem, 0.28vw, 0.105rem);
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-icon-zone {
    padding-block: var(--cover-route-icon-bay-pad-block) !important;
    padding-inline: var(--cover-route-icon-bay-pad-inline) !important;
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__route-divider {
    inline-size: min(50%, 2.20rem) !important;
    opacity: 0.52 !important;
  }
}

/* =========================================================
   Rotation / Landscape Construct Hardening Pass
   - Uses the cover's own latched runtime state, not only body[data-layout-mode].
   - Keeps phone landscape in the workstation construct without over-promoting
     into the desktop typography scale during rotate/settle frames.
   - Prevents wordmark and route labels from escaping the registered zones while
     the presented-state adapter is holding the last finished frame.
   ========================================================= */
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-runtime-layout-mode='landscape-side'],
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-runtime-layout-mode='wide-dual'],
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-state-layout-mode='landscape-side'],
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-state-layout-mode='wide-dual'],
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-tablet-orientation='landscape'],
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-presented-target-orientation='landscape'] {
  --cover-landscape-construct-hardening: active;
  --cover-native-canvas-ratio: var(--cover-canvas-ratio, var(--reg-canvas-ratio, 2.24 / 1));
  --cover-route-icon-size: clamp(1.00rem, min(4.35vh, 2.10vw), 1.58rem);
  --cover-route-label-size: clamp(0.34rem, min(1.34vh, 0.78vw), 0.56rem);
  --cover-route-stack-gap: clamp(0.08rem, 0.30vh, 0.18rem);
  --cover-route-label-min-block: clamp(0.72rem, 1.84vh, 1.08rem);
  --cover-route-label-block: var(--cover-route-label-min-block);
  --cover-route-icon-bay-block: clamp(1.48rem, 5.35vh, 2.18rem);
  --cover-route-tile-gap: clamp(0.18rem, 0.70vw, 0.62rem);
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-runtime-layout-mode='landscape-side'] .shell-cover__title,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-runtime-layout-mode='wide-dual'] .shell-cover__title,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-state-layout-mode='landscape-side'] .shell-cover__title,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-state-layout-mode='wide-dual'] .shell-cover__title,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-tablet-orientation='landscape'] .shell-cover__title,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-presented-target-orientation='landscape'] .shell-cover__title {
  inline-size: min(100%, 28rem) !important;
  max-inline-size: 100% !important;
  min-inline-size: 0 !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: clamp(0.08em, 0.20vw, 0.20em) !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
  font-size: clamp(0.98rem, min(4.05vh, 2.28vw), 1.52rem) !important;
  line-height: 0.88 !important;
  letter-spacing: -0.045em !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-runtime-layout-mode='landscape-side'] .shell-cover__title-line,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-runtime-layout-mode='wide-dual'] .shell-cover__title-line,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-state-layout-mode='landscape-side'] .shell-cover__title-line,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-state-layout-mode='wide-dual'] .shell-cover__title-line,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-tablet-orientation='landscape'] .shell-cover__title-line,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-presented-target-orientation='landscape'] .shell-cover__title-line {
  min-inline-size: 0 !important;
  max-inline-size: 11.8ch !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: clip !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-runtime-layout-mode='landscape-side'] .shell-cover__subtitle,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-runtime-layout-mode='landscape-side'] .shell-cover__eyebrow,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-runtime-layout-mode='wide-dual'] .shell-cover__subtitle,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-runtime-layout-mode='wide-dual'] .shell-cover__eyebrow,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-tablet-orientation='landscape'] .shell-cover__subtitle,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-tablet-orientation='landscape'] .shell-cover__eyebrow,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-presented-target-orientation='landscape'] .shell-cover__subtitle,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-presented-target-orientation='landscape'] .shell-cover__eyebrow {
  inline-size: min(92%, 22rem) !important;
  max-inline-size: 92% !important;
  min-inline-size: 0 !important;
  min-block-size: clamp(0.42rem, 1.28vh, 0.72rem) !important;
  padding-block: clamp(0.02rem, 0.16vh, 0.08rem) !important;
  padding-inline: clamp(0.22rem, 0.54vw, 0.62rem) !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
  text-overflow: ellipsis !important;
  font-size: clamp(0.30rem, min(1.05vh, 0.58vw), 0.46rem) !important;
  letter-spacing: clamp(0.10em, 0.18vw, 0.18em) !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-runtime-layout-mode='landscape-side'] .shell-cover__route,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-runtime-layout-mode='wide-dual'] .shell-cover__route,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-state-layout-mode='landscape-side'] .shell-cover__route,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-state-layout-mode='wide-dual'] .shell-cover__route,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-tablet-orientation='landscape'] .shell-cover__route,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-presented-target-orientation='landscape'] .shell-cover__route {
  grid-template-rows: minmax(0, var(--cover-route-icon-bay-block)) var(--cover-route-divider-block) var(--cover-route-label-min-block) !important;
  min-inline-size: 0 !important;
  min-block-size: 0 !important;
  overflow: hidden !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-runtime-layout-mode='landscape-side'] .shell-cover__route-label,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-runtime-layout-mode='wide-dual'] .shell-cover__route-label,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-state-layout-mode='landscape-side'] .shell-cover__route-label,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-state-layout-mode='wide-dual'] .shell-cover__route-label,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-tablet-orientation='landscape'] .shell-cover__route-label,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-presented-target-orientation='landscape'] .shell-cover__route-label {
  inline-size: 100% !important;
  max-inline-size: 8.6ch !important;
  min-inline-size: 0 !important;
  margin-inline: auto !important;
  overflow: hidden !important;
  white-space: normal !important;
  text-wrap: balance !important;
  text-overflow: clip !important;
  line-height: 0.95 !important;
  font-size: var(--cover-route-label-size) !important;
  letter-spacing: 0.030em !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-presented-state-lock='active'] .shell-cover__field--registered,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-presented-state-lock='active'] [data-cover-semantic-binding='registered'],
.shell-body.has-transition-visual-hold .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__field--registered,
.shell-body[data-transition-visual-hold='active'] .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__field--registered {
  opacity: 1 !important;
  visibility: visible !important;
}

@media (orientation: landscape) and (max-height: 48rem) {
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-runtime-layout-mode='landscape-side'],
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-tablet-orientation='landscape'] {
    --cover-route-icon-size: clamp(0.94rem, 4.05vh, 1.40rem);
    --cover-route-label-size: clamp(0.30rem, 1.18vh, 0.46rem);
    --cover-route-icon-bay-block: clamp(1.26rem, 4.70vh, 1.86rem);
    --cover-route-label-min-block: clamp(0.58rem, 1.64vh, 0.88rem);
  }

  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-runtime-layout-mode='landscape-side'] .shell-cover__title,
  .shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-tablet-orientation='landscape'] .shell-cover__title {
    font-size: clamp(0.86rem, 3.62vh, 1.28rem) !important;
    line-height: 0.84 !important;
  }
}


/* =========================================================
   Cover Construct Authority v3
   - Fabric/construct owns object identity.
   - Native surface registry is a projection layer.
   - CSS consumes construct/atom state for material polish only.
   ========================================================= */
.shell-cover[data-cover-construct-engine='fabric-owned-cover-construct-system'],
.shell-cover[data-cover-construct-authority='fabric-owned-cover-construct-authority'] {
  --cover-native-canvas-ratio: var(--cover-construct-ratio, var(--cover-construct-frame-ratio, var(--cover-canvas-ratio, var(--reg-canvas-ratio, 0.62 / 1))));
  --cover-construct-material-polish: active;
  --cover-construct-glass-depth: 1;
  --cover-construct-chassis-depth: 1;
  --cover-construct-route-opacity: 1;
  --cover-construct-trace-opacity-fallback: var(--cover-construct-trace-opacity, 0.62);
}

.shell-cover[data-cover-construct-key='portrait-handheld-diagnostic-device'],
.shell-cover[data-cover-construct='portrait-handheld-diagnostic-device'] {
  --cover-native-canvas-ratio: var(--cover-construct-ratio, var(--cover-construct-frame-ratio, 0.585));
  --cover-construct-object: portrait-handheld-diagnostic-device;
  --cover-route-icon-size: clamp(1.16rem, 4.92vw, 1.72rem);
  --cover-route-label-size: clamp(0.44rem, 1.94vw, 0.64rem);
}

.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'],
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] {
  --cover-native-canvas-ratio: var(--cover-construct-ratio, var(--cover-construct-frame-ratio, 2.24));
  --cover-construct-object: mobile-landscape-compact-instrument;
  --cover-construct-glass-depth: 0.72;
  --cover-construct-chassis-depth: 0.76;
  --cover-route-icon-size: clamp(0.88rem, min(4.05vh, 1.92vw), 1.38rem);
  --cover-route-label-size: clamp(0.29rem, min(1.10vh, 0.52vw), 0.45rem);
  --cover-route-icon-bay-block: clamp(1.16rem, 4.54vh, 1.82rem);
  --cover-route-label-min-block: clamp(0.54rem, 1.55vh, 0.82rem);
  --cover-route-stack-gap: clamp(0.05rem, 0.22vh, 0.12rem);
  --cover-route-tile-gap: clamp(0.14rem, 0.56vw, 0.48rem);
}

.shell-cover[data-cover-construct-key='wide-clinical-workstation'],
.shell-cover[data-cover-construct='wide-clinical-workstation'] {
  --cover-native-canvas-ratio: var(--cover-construct-ratio, var(--cover-construct-frame-ratio, 2.24));
  --cover-construct-object: wide-clinical-workstation;
  --cover-construct-glass-depth: 1.04;
  --cover-construct-chassis-depth: 1.02;
  --cover-route-icon-size: clamp(1.10rem, min(3.30vh, 1.50vw), 1.62rem);
  --cover-route-label-size: clamp(0.38rem, min(1.12vh, 0.52vw), 0.58rem);
}

.shell-cover[data-cover-construct-key='action-background-device'],
.shell-cover[data-cover-construct='action-background-device'] {
  --cover-construct-object: action-background-device;
  --cover-construct-route-opacity: 0.72;
  --cover-construct-trace-opacity-fallback: 0.34;
  filter: saturate(0.94) contrast(0.96);
}

.shell-cover[data-cover-construct-key='minimal-safe-cover'],
.shell-cover[data-cover-construct='minimal-safe-cover'] {
  --cover-construct-object: minimal-safe-cover;
  --cover-construct-route-opacity: 0.88;
  --cover-construct-trace-opacity-fallback: 0;
}

.shell-cover[data-cover-construct-key='rotation-held-presented-state'],
.shell-cover[data-cover-construct='rotation-held-presented-state'] {
  --cover-construct-object: rotation-held-presented-state;
  --cover-presented-state-object-hold: active;
}

.shell-cover[data-cover-construct-authority='fabric-owned-cover-construct-authority'] [data-cover-atom] {
  --cover-atom-projection-authority: native-surface-register-projects-solved-frame;
}

.shell-cover[data-cover-construct-authority='fabric-owned-cover-construct-authority'] [data-cover-atom='traceLayer'],
.shell-cover[data-cover-construct-authority='fabric-owned-cover-construct-authority'] .shell-cover__trace-asset {
  opacity: var(--cover-construct-trace-opacity, var(--cover-construct-trace-opacity-fallback, 0.62));
}

.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'] [data-cover-atom='instrumentDock'][data-cover-atom-visibility='minimal'],
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] [data-cover-atom='instrumentDock'][data-cover-atom-visibility='minimal'] {
  opacity: 0.72;
}

.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'] .shell-cover__title,
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] .shell-cover__title {
  inline-size: min(100%, 26rem) !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: clamp(0.08em, 0.18vw, 0.18em) !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
  font-size: clamp(0.80rem, min(3.42vh, 1.82vw), 1.18rem) !important;
  line-height: 0.86 !important;
  letter-spacing: -0.046em !important;
}

.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'] .shell-cover__subtitle,
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] .shell-cover__subtitle {
  inline-size: min(88%, 18rem) !important;
  max-inline-size: 88% !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: clamp(0.26rem, min(0.94vh, 0.45vw), 0.38rem) !important;
  letter-spacing: clamp(0.08em, 0.14vw, 0.15em) !important;
}

.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'] .shell-cover__route,
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] .shell-cover__route {
  min-inline-size: 0 !important;
  min-block-size: 0 !important;
  overflow: hidden !important;
  opacity: var(--cover-construct-route-opacity, 1) !important;
}

.shell-cover[data-cover-construct-key='minimal-safe-cover'] [data-cover-atom='instrumentDock'],
.shell-cover[data-cover-construct='minimal-safe-cover'] [data-cover-atom='instrumentDock'],
.shell-cover[data-cover-construct-key='minimal-safe-cover'] [data-cover-atom='traceLayer'],
.shell-cover[data-cover-construct='minimal-safe-cover'] [data-cover-atom='traceLayer'] {
  opacity: 0 !important;
  visibility: hidden !important;
}

.shell-cover[data-cover-construct-authority='fabric-owned-cover-construct-authority'] [data-cover-atom-visibility='hidden'] {
  opacity: 0 !important;
  visibility: hidden !important;
}

.shell-cover[data-cover-construct-authority='fabric-owned-cover-construct-authority'][data-cover-native-surface-mode='projection-only'] [data-native-box] {
  --native-surface-authority: projection-only;
}

/* -------------------------------------------------------------------------
   Wave 10.3 — Cover native plane seating
   -------------------------------------------------------------------------

   Native casing/glass/access-module geometry remains internally layered, but
   the native plane is now seated inside the active cover composition root. It
   may not behave as an independent background object outside the root.
*/

[data-cover-composition-root='active'][data-cover-native-plane-root='active-cover-composition-root'] {
  --cover-native-plane-root: active-cover-composition-root;
}

[data-cover-composition-root='active'] [data-cover-plane='nativePlane'],
[data-cover-composition-root='active'] [data-native-layer='cover-native-geometry'] {
  position: absolute !important;
  inset: 0 !important;
  inline-size: 100% !important;
  block-size: 100% !important;
  z-index: 10;
  pointer-events: none;
  transform-origin: center center;
  contain: layout paint style;
}

[data-cover-composition-root='active'] [data-cover-plane='nativePlane'][data-cover-native-plane-independent-background='false'] {
  isolation: isolate;
}

[data-cover-composition-root='active'] [data-cover-plane='nativePlane'][data-cover-native-plane-state='seated'] {
  --cover-native-plane-seat-state: seated;
}

[data-cover-composition-root='active'] [data-cover-native-seating='root-seated'] {
  --cover-native-seat: active-cover-composition-root;
}

/* -------------------------------------------------------------------------
   Wave 10.4 — Cover semantic plane seating + text protection
   -------------------------------------------------------------------------

   Semantic cover atoms remain separate from native casing/glass, but they are
   now seated as one semantic plane inside the active cover composition root.
   Protected semantic glyphs are isolated from material/glass/trace crossing so
   wordmark, meta, and route labels do not inherit overlay blend artifacts.
*/

[data-cover-composition-root='active'][data-cover-semantic-plane-root='active-cover-composition-root'] {
  --cover-semantic-plane-root: active-cover-composition-root;
}

[data-cover-composition-root='active'] [data-cover-plane='semanticPlane'],
[data-cover-composition-root='active'] [data-cover-semantic-layer] {
  z-index: 86;
  isolation: isolate;
  transform-style: flat;
  contain: layout paint style;
  mix-blend-mode: normal;
}

[data-cover-composition-root='active'] [data-cover-plane='semanticPlane'][data-cover-semantic-plane-state='seated'] {
  --cover-semantic-plane-seat-state: seated;
}

[data-cover-composition-root='active'] [data-cover-semantic-seating='root-seated'] {
  --cover-semantic-seat: active-cover-composition-root;
}

[data-cover-composition-root='active'] [data-cover-semantic-text-protected='true'],
[data-cover-composition-root='active'] .shell-cover__wordmark-asset,
[data-cover-composition-root='active'] .shell-cover__title,
[data-cover-composition-root='active'] .shell-cover__title-line,
[data-cover-composition-root='active'] .shell-cover__subtitle,
[data-cover-composition-root='active'] .shell-cover__route-label-zone,
[data-cover-composition-root='active'] .shell-cover__route-label {
  position: relative;
  z-index: 3;
  isolation: isolate;
  mix-blend-mode: normal !important;
  filter: none !important;
  transform-style: flat;
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

[data-cover-composition-root='active'] [data-cover-semantic-glyph-protected='true'] {
  --cover-semantic-glyph-protection: active;
  mix-blend-mode: normal !important;
}

[data-cover-composition-root='active'] [data-cover-plane='semanticPlane'] [data-cover-plane='routeControlPlane'],
[data-cover-composition-root='active'] [data-cover-plane='semanticPlane'] [data-cover-atom='semanticControls'] {
  position: relative;
  z-index: 5;
  isolation: isolate;
}

/* Wave 10.5 — Cover route-control root receipt
   Route controls are valid only inside the active composition root, bound to
   the route deck, and measured by the receipt authority. */
[data-cover-composition-root='active'] [data-cover-plane='routeControlPlane'],
[data-cover-composition-root='active'] [data-cover-route-control-receipt-authority='synapse-cover-route-control-receipt-authority'] {
  --cover-route-control-receipt: active-root-scoped;
  isolation: isolate;
}

[data-cover-composition-root='active'] [data-cover-route-control-state='certified'],
[data-cover-composition-root='active'] [data-cover-route-controls-ready='true'] {
  --cover-route-control-state: certified;
}

[data-cover-composition-root='active'] [data-cover-route-control-side-render-permission='forbidden'] {
  --cover-route-control-side-render: forbidden;
}

/* -------------------------------------------------------------------------
   Wave 10.6 — Material / chroma / trace / diagnostic boundary
   -------------------------------------------------------------------------

   Material, chroma, trace, and diagnostic planes may create depth and report
   state, but they may not tint, mask, blend across, or become protected
   semantic text. The composed cover root stays internally layered while
   semantic glyphs remain in a protected readable plane.
*/

[data-cover-composition-root='active'][data-cover-material-boundary-root='active-cover-composition-root'] {
  --cover-material-boundary-root: active-cover-composition-root;
}

[data-cover-composition-root='active'] [data-cover-plane='materialPlane'],
[data-cover-composition-root='active'] [data-cover-material-plane],
[data-cover-composition-root='active'] .shell-cover__native-screen-glass-pane,
[data-cover-composition-root='active'] .shell-cover__native-glass-reflection,
[data-cover-composition-root='active'] .shell-cover__native-glass-occlusion,
[data-cover-composition-root='active'] .shell-cover__native-screen-sheen,
[data-cover-composition-root='active'] .shell-cover__native-access-module-glass,
[data-cover-composition-root='active'] .shell-cover__native-access-module-reflection {
  --cover-material-plane-role: depth-only;
  z-index: 62;
  pointer-events: none;
  isolation: isolate;
  transform-style: flat;
  contain: paint style;
}

[data-cover-composition-root='active'] [data-cover-plane='tracePlane'],
[data-cover-composition-root='active'] [data-cover-trace-plane],
[data-cover-composition-root='active'] .shell-cover__trace-asset:not(.shell-cover__wordmark-asset) {
  --cover-trace-plane-role: calibration-contained;
  pointer-events: none;
  isolation: isolate;
  transform-style: flat;
  contain: paint style;
}

[data-cover-composition-root='active'] [data-cover-plane='diagnosticPlane'],
[data-cover-composition-root='active'] [data-cover-truth-aperture],
[data-cover-composition-root='active'] [data-cover-truth-status-zone] {
  --cover-diagnostic-plane-role: status-outlet-only;
  isolation: isolate;
  transform-style: flat;
  contain: paint style;
  mix-blend-mode: normal !important;
}

[data-cover-composition-root='active'] [data-cover-material-boundary-state='certified'],
[data-cover-composition-root='active'] [data-cover-material-boundary-ready='true'] {
  --cover-material-boundary-state: certified;
}

[data-cover-composition-root='active'] [data-cover-material-plane-safe='true'] {
  --cover-material-plane-safe: true;
}

[data-cover-composition-root='active'] [data-cover-trace-plane-contained='true'] {
  --cover-trace-plane-contained: true;
}

[data-cover-composition-root='active'] [data-cover-diagnostic-plane-scoped='true'] {
  --cover-diagnostic-plane-scoped: true;
}

[data-cover-composition-root='active'] [data-cover-semantic-text-protected='true'],
[data-cover-composition-root='active'] [data-cover-semantic-glyph-protected='true'],
[data-cover-composition-root='active'] [data-cover-material-boundary-protected-text='true'],
[data-cover-composition-root='active'] .shell-cover__wordmark-asset,
[data-cover-composition-root='active'] .shell-cover__title,
[data-cover-composition-root='active'] .shell-cover__title-line,
[data-cover-composition-root='active'] .shell-cover__subtitle,
[data-cover-composition-root='active'] .shell-cover__route-label-zone,
[data-cover-composition-root='active'] .shell-cover__route-label {
  --cover-semantic-glyph-protection: material-boundary-certified;
  position: relative;
  z-index: 112;
  isolation: isolate !important;
  mix-blend-mode: normal !important;
  background-blend-mode: normal !important;
  filter: none !important;
  opacity: 1;
  transform-style: flat !important;
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

[data-cover-composition-root='active'] [data-cover-chroma-does-not-cross-semantic-text='true'] {
  --cover-chroma-semantic-crossing: blocked;
}

[data-cover-composition-root='active'] [data-cover-plane='materialPlane'] [data-cover-semantic-text-protected='true'],
[data-cover-composition-root='active'] [data-cover-plane='tracePlane'] [data-cover-semantic-text-protected='true'],
[data-cover-composition-root='active'] [data-cover-plane='diagnosticPlane'] [data-cover-semantic-text-protected='true'] {
  mix-blend-mode: normal !important;
  filter: none !important;
}

/* -------------------------------------------------------------------------
   Wave 10.7 — Retired root quarantine / no side-rendering
   -------------------------------------------------------------------------

   Inactive cover roots, retired candidate roots, and cover-owned visuals that
   escape the active composition root are hidden, inert, and unmeasurable. The
   active cover root remains the only visual surface eligible for cover-owned
   measurement or presentation.
*/

[data-cover-composition-root='active'][data-cover-no-side-rendering='true'] {
  --cover-side-render-policy: forbidden-outside-active-cover-composition-root;
}

[data-cover-root-state='retired'],
[data-cover-root-retired='true'],
[data-cover-side-render-state='quarantined'],
[data-cover-measurable='false'][data-cover-retired-root-quarantine-authority='synapse-cover-retired-root-quarantine-authority'] {
  pointer-events: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  contain: layout paint style !important;
}

[data-cover-composition-root='active'] [data-cover-side-render-permission='forbidden'],
[data-cover-composition-root='active'] [data-cover-root-matrix-side-render-permission='forbidden'],
[data-cover-composition-root='active'] [data-cover-plane-side-render-permission='forbidden'] {
  --cover-side-render-state: rooted;
}

[data-cover-retired-root-quarantine-ready='true'],
[data-cover-retired-roots-quarantined='true'] {
  --cover-retired-root-quarantine: certified;
}

[data-cover-no-side-rendering='true'] [data-cover-plane],
[data-cover-no-side-rendering='true'] [data-cover-atom],
[data-cover-no-side-rendering='true'] [data-cover-layer] {
  --cover-owned-visual-root-policy: active-root-only;
}

/* Wave 10.8 — Transition / rotation no-final-plan state */
[data-cover-composition-root='active'][data-cover-root-transition-state='held'],
[data-cover-composition-root='active'][data-cover-root-commit-policy='preserve-last-good'] {
  contain: layout paint style;
  transform-style: preserve-3d;
  backface-visibility: hidden;
}

[data-cover-composition-root='active'][data-cover-root-transition-state='held'] [data-cover-plane],
[data-cover-composition-root='active'][data-cover-root-transition-state='held'] [data-cover-atom],
[data-cover-composition-root='active'][data-cover-root-transition-state='held'] [data-cover-layer] {
  transition-duration: 0ms !important;
  animation-play-state: paused !important;
}

[data-cover-composition-root='active'][data-cover-root-transition-state='held'] [data-cover-route-control-receipt-authority],
[data-cover-composition-root='active'][data-cover-root-route-measurement-policy='hold-during-orientation-transaction'] [data-shell-cover-route] {
  pointer-events: none;
}

[data-cover-composition-root='active'][data-cover-root-final-plan='none'] {
  --cover-root-final-plan-state: none;
  --cover-root-candidate-plan-state: provisional;
}

/* Wave 10.9 — Composition root receipt / presentation integration / debug overlay */
[data-cover-composition-root='active'][data-cover-composition-root-certified='true'] {
  --cover-composition-root-certification: seated;
}
[data-cover-composition-root='active'][data-cover-composition-root-certified='false'] {
  --cover-composition-root-certification: blocked;
}
[data-cover-root-debug='active'] [data-cover-composition-root='active'] {
  outline: 2px solid rgba(0, 180, 255, .72);
  outline-offset: 2px;
}
[data-cover-root-debug='active'] [data-cover-plane='nativePlane'] { outline: 1px dashed rgba(0, 180, 255, .46); }
[data-cover-root-debug='active'] [data-cover-plane='semanticPlane'] { outline: 1px dashed rgba(255, 220, 0, .52); }
[data-cover-root-debug='active'] [data-cover-plane='routeControlPlane'] { outline: 1px dashed rgba(0, 255, 130, .58); }
[data-cover-root-debug='active'] [data-cover-plane='diagnosticPlane'] { outline: 1px dashed rgba(255, 90, 160, .55); }
[data-cover-root-debug='active'] [data-cover-plane='tracePlane'] { outline: 1px dashed rgba(160, 120, 255, .45); }

/* -------------------------------------------------------------------------
   Build 12.7 — Surface Governance visual release gate + foreground quarantine
   -------------------------------------------------------------------------

   Surface Governance now owns whether the cover access surface may become
   visible-live. Registered semantic atoms may be measurable while held, but
   they do not become visible foreground or live route layout until the
   cover-access surface commit state is released.
*/

.shell-cover[data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released']) .shell-cover__field--registered,
.shell-cover[data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released']) [data-cover-plane='semanticPlane'],
.shell-cover[data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released']) .shell-cover__brand-zone[data-authority='html-meaning'],
.shell-cover[data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released']) .shell-cover__truth-status-zone,
.shell-cover[data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released']) .shell-cover__routes-zone[data-cover-route-deck-owner='semantic-live'],
[data-cover-plane='semanticPlane'][data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released']),
.shell-cover__brand-zone[data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released']),
.shell-cover__truth-status-zone[data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released']),
.shell-cover__routes-zone[data-cover-route-deck-owner='semantic-live'][data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released']) {
  --surface-visual-release: withheld-by-surface-governance;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: none !important;
}

.shell-cover[data-cover-access-visual-release-state='released'] .shell-cover__field--registered,
.shell-cover[data-cover-access-visual-release-state='released'] [data-cover-plane='semanticPlane'],
.shell-cover[data-cover-access-visual-release-state='released'] .shell-cover__brand-zone[data-authority='html-meaning'],
.shell-cover[data-cover-access-visual-release-state='released'] .shell-cover__truth-status-zone,
.shell-cover[data-cover-access-visual-release-state='released'] .shell-cover__routes-zone[data-cover-route-deck-owner='semantic-live'] {
  --surface-visual-release: released-by-surface-governance;
  opacity: 1 !important;
  visibility: visible !important;
}

.shell-cover[data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released'])
  .shell-cover__routes-zone[data-cover-route-deck-owner='semantic-live'] > .shell-cover__routes,
.shell-cover__routes-zone[data-cover-route-deck-owner='semantic-live'][data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released']) > .shell-cover__routes {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: min(100%, 34rem) !important;
  max-width: 100% !important;
  height: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  pointer-events: none !important;
}

.shell-cover[data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released'])
  .shell-cover__route,
.shell-cover__route[data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released']) {
  pointer-events: none !important;
}

.shell-cover[data-cover-access-visual-release-state='released']
  .shell-cover__route[data-cover-access-input-live='true'],
.shell-cover__route[data-cover-access-commit-state='committed'][data-cover-access-input-live='true'] {
  pointer-events: auto !important;
}

.shell-cover__wordmark-asset[data-cover-foreground-quarantine='trace-wordmark'],
.shell-cover__trace-asset[data-cover-semantic-text-role='wordmark-asset'],
.shell-cover__wordmark-asset[data-cover-trace-foreground-quarantine='active'] {
  --cover-trace-wordmark-foreground: quarantined-by-surface-governance;
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  mix-blend-mode: normal !important;
  filter: none !important;
}

.shell-cover[data-cover-access-visual-release-state='released'] .shell-cover__title,
.shell-cover[data-cover-access-visual-release-state='released'] .shell-cover__title-line {
  color: var(--shell-cover-ink, #172f4a) !important;
}

.shell-cover[data-cover-access-visual-release-state='released'] .shell-cover__subtitle {
  color: color-mix(in srgb, var(--shell-cover-teal, #0f5f64) 78%, var(--shell-cover-muted, #5f7188) 22%) !important;
}

/* -------------------------------------------------------------------------
   Build 12.9.2 — Surface Governance reconciliation hotfix
   -------------------------------------------------------------------------

   12.7 correctly moved final foreground release under Surface Governance, but
   the held-state CSS made semantic/route surfaces invisible. That prevented
   route receipts from measuring visible controls and also hid the diagnostic
   witness layer. Holding/recovery now means read-only visible, not unmeasurable.
*/
.shell-cover[data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released']) .shell-cover__field--registered,
.shell-cover[data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released']) [data-cover-plane='semanticPlane'],
.shell-cover[data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released']) .shell-cover__brand-zone[data-authority='html-meaning'],
.shell-cover[data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released']) .shell-cover__truth-status-zone,
.shell-cover[data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released']) .shell-cover__routes-zone[data-cover-route-deck-owner='semantic-live'],
[data-cover-plane='semanticPlane'][data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released']),
.shell-cover__brand-zone[data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released']),
.shell-cover__truth-status-zone[data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released']),
.shell-cover__routes-zone[data-cover-route-deck-owner='semantic-live'][data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released']) {
  --surface-visual-release: visible-readonly-held-by-surface-governance !important;
  opacity: 1 !important;
  visibility: visible !important;
  transition: none !important;
}

.shell-cover[data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released']) .shell-cover__truth-aperture,
.shell-cover[data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released']) [data-cover-truth-aperture],
.shell-cover[data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released']) .shell-cover__title,
.shell-cover[data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released']) .shell-cover__title-line,
.shell-cover[data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released']) .shell-cover__subtitle,
.shell-cover[data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released']) .shell-cover__truth-status,
.shell-cover[data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released']) .shell-cover__truth-phase {
  opacity: 1 !important;
  visibility: visible !important;
}

.shell-cover[data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released'])
  .shell-cover__routes-zone[data-cover-route-deck-owner='semantic-live'],
.shell-cover[data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released'])
  .shell-cover__route {
  opacity: 1 !important;
  visibility: visible !important;
}

.shell-cover[data-cover-access-visual-release-state]:not([data-cover-access-visual-release-state='released'])
  .shell-cover__route {
  pointer-events: none !important;
}

.shell-cover[data-cover-access-visual-release-state='released']
  .shell-cover__route[data-cover-access-input-live='true'],
.shell-cover__route[data-cover-access-commit-state='committed'][data-cover-access-input-live='true'] {
  pointer-events: auto !important;
}


/* -------------------------------------------------------------------------
   Route Deck Runtime v1.6 — CSS / Visual / Glyph Boundary
   -------------------------------------------------------------------------

   CSS reflects Route Deck Runtime state only. CSS pointer-events may express
   input withholding, but it must not decide structural eligibility. Route
   controls remain visible/measurable/readable during held/recovery states.
   Glyph/icon degradation does not remove semantic labels or hitboxes.
*/
html[data-route-deck-css-truth-role='reflect-only'] .shell-cover__routes-zone[data-cover-route-deck-owner='semantic-live'],
body[data-route-deck-css-truth-role='reflect-only'] .shell-cover__routes-zone[data-cover-route-deck-owner='semantic-live'],
.shell-cover__routes-zone[data-cover-route-deck-owner='semantic-live'][data-route-deck-css-truth-role='reflect-only'] {
  --route-deck-css-authority: reflect-only;
  --route-deck-hidden-state-may-make-unmeasurable: false;
}

.shell-cover__routes-zone[data-cover-route-deck-owner='semantic-live'][data-route-deck-visual-state='visible-readonly'],
.shell-cover__routes-zone[data-cover-route-deck-owner='semantic-live'][data-route-deck-visual-state='withheld-readable'],
.shell-cover__routes-zone[data-cover-route-deck-owner='semantic-live'][data-route-deck-visual-state='blocked-visible-diagnostic'],
.shell-cover__route[data-route-deck-visual-state='visible-readonly'],
.shell-cover__route[data-route-deck-visual-state='withheld-readable'],
.shell-cover__route[data-route-deck-visual-state='blocked-visible-diagnostic'] {
  opacity: 1 !important;
  visibility: visible !important;
}

.shell-cover__routes-zone[data-cover-route-deck-owner='semantic-live'] > .shell-cover__routes {
  min-inline-size: 1px;
  min-block-size: 1px;
}

.shell-cover__route[data-route-deck-structural-state='structurally-ready'],
.shell-cover__route[data-route-controls-structurally-eligible='true'],
.shell-cover__route[data-route-deck-runtime-structural-eligible='true'] {
  --route-deck-structural-authority: route-deck-runtime;
  display: inline-grid !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.shell-cover__route[data-route-deck-input-state='withheld'],
.shell-cover__route[data-route-deck-input-state='readonly'],
.shell-cover__route[data-route-deck-input-state='blocked'],
.shell-cover__routes-zone[data-cover-route-deck-owner='semantic-live'][data-route-deck-input-state='withheld'] .shell-cover__route,
.shell-cover__routes-zone[data-cover-route-deck-owner='semantic-live'][data-route-deck-input-state='readonly'] .shell-cover__route,
.shell-cover__routes-zone[data-cover-route-deck-owner='semantic-live'][data-route-deck-input-state='blocked'] .shell-cover__route {
  pointer-events: none !important;
  cursor: default;
}

.shell-cover__route[data-route-deck-input-state='admitted'][data-cover-access-input-live='true'],
.shell-cover__route[data-route-deck-input-state='admitted'][data-route-controls-input-live='true'],
.shell-cover[data-cover-access-commit-state='committed'] .shell-cover__route[data-route-deck-input-state='admitted'] {
  pointer-events: auto !important;
  cursor: pointer;
}

.shell-cover__route[data-route-glyph-boundary-state='degraded-missing-glyph'] .shell-cover__route-icon,
.shell-cover__route[data-route-deck-glyph-boundary-state='degraded-nonblocking'] .shell-cover__route-icon {
  opacity: .45;
}

.shell-cover__route[data-route-glyph-boundary-state='degraded-missing-glyph'] .shell-cover__route-label,
.shell-cover__route[data-route-glyph-degrade-policy='icon-degrades-label-hitbox-preserved'] .shell-cover__route-label,
.shell-cover__route[data-route-glyph-degrade-policy='icon-degrades-label-hitbox-preserved'] .shell-cover__route-label-zone {
  opacity: 1 !important;
  visibility: visible !important;
}

.shell-cover__route[data-route-glyph-degrade-policy='icon-degrades-label-hitbox-preserved'] {
  --route-glyph-owns-input: false;
  --route-glyph-owns-routing: false;
  --route-glyph-owns-native-structure: false;
}

/* Build 6.11 — Final cover load stabilization / visible-readonly guard.
   This is not a timeout release. It keeps the active cover root viewport-contained
   while the receipt chain converges, then hands normal layout back to the settled cover. */
body[data-boot-veil-state='holding']:not([data-cover-settled='true']) .shell__main[data-shell-chamber-host='main'],
body[data-cover-display-phase='preboot']:not([data-cover-settled='true']) .shell__main[data-shell-chamber-host='main'],
body[data-cover-display-phase='staging']:not([data-cover-settled='true']) .shell__main[data-shell-chamber-host='main'] {
  position: fixed;
  inset: 0;
  inline-size: 100dvw;
  block-size: 100dvh;
  min-block-size: 0;
  display: grid;
  overflow: hidden;
  z-index: 2;
}

body[data-boot-veil-state='holding']:not([data-cover-settled='true']) [data-shell-cover-layer][data-shell-cover-chamber],
body[data-cover-display-phase='preboot']:not([data-cover-settled='true']) [data-shell-cover-layer][data-shell-cover-chamber],
body[data-cover-display-phase='staging']:not([data-cover-settled='true']) [data-shell-cover-layer][data-shell-cover-chamber] {
  grid-area: 1 / 1;
  position: relative;
  inline-size: 100%;
  block-size: 100%;
  min-inline-size: 0;
  min-block-size: 0;
  display: grid;
  place-items: stretch;
  overflow: hidden;
  contain: layout paint size;
}

body[data-boot-veil-state='holding']:not([data-cover-settled='true']) [data-cover-composition-root='active'],
body[data-cover-display-phase='preboot']:not([data-cover-settled='true']) [data-cover-composition-root='active'],
body[data-cover-display-phase='staging']:not([data-cover-settled='true']) [data-cover-composition-root='active'] {
  position: relative;
  grid-area: 1 / 1;
  inline-size: min(100%, 1380px);
  block-size: min(100%, calc(100dvh - max(24px, env(safe-area-inset-top)) - max(24px, env(safe-area-inset-bottom))));
  max-inline-size: calc(100dvw - 2rem);
  max-block-size: calc(100dvh - 2rem);
  margin: auto;
  overflow: visible;
  contain: layout paint;
}

body[data-cover-visible-readonly='true'] [data-shell-cover-route],
body[data-cover-public-phase='visible-readonly'] [data-shell-cover-route] {
  cursor: progress;
}

body[data-cover-visible-readonly='true'] [data-shell-cover-route]::after,
body[data-cover-public-phase='visible-readonly'] [data-shell-cover-route]::after {
  content: 'Preparing';
  position: absolute;
  inset-inline-end: 1rem;
  inset-block-end: 0.75rem;
  font-size: 0.64rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.72;
}

body[data-build6-final-cover-load-stabilizer='active'] [data-cover-chroma-does-not-cross-semantic-text='true'],
body[data-build6-final-cover-load-stabilizer='active'] [data-cover-semantic-text-protected='true'] {
  overflow: visible;
  text-overflow: clip;
}


/* Build 8.3: presentation measurement prime keeps the cover measurable behind the boot veil without releasing input or routes. */
body[data-boot-veil-state='holding']:not([data-cover-settled='true']) [data-shell-cover-layer][data-cover-presentation-measurement-prime='pending'],
body[data-boot-veil-state='holding']:not([data-cover-settled='true']) [data-shell-cover-layer][data-cover-presentation-measurement-prime='ready'] {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: none !important;
  min-inline-size: 100vw !important;
  min-block-size: 100dvh !important;
}
body[data-boot-veil-state='holding']:not([data-cover-settled='true']) [data-shell-cover][data-cover-presentation-measurement-prime='pending'],
body[data-boot-veil-state='holding']:not([data-cover-settled='true']) [data-shell-cover][data-cover-presentation-measurement-prime='ready'] {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

/* Build 11.4 — cover floor is a certified normal boot surface, not recovery.
   Route controls remain non-interactive and visually withheld until the readonly
   route certificate is introduced. */
html[data-cover-floor-visible='true'] [data-shell-cover-route],
body[data-cover-floor-visible='true'] [data-shell-cover-route],
[data-shell-cover][data-cover-floor-visible='true'] [data-shell-cover-route],
html[data-cover-floor-visible='true'] [data-cover-route-action],
body[data-cover-floor-visible='true'] [data-cover-route-action],
[data-shell-cover][data-cover-floor-visible='true'] [data-cover-route-action] {
  pointer-events: none !important;
  cursor: default !important;
}

html[data-cover-floor-visible='true'][data-cover-certificate-right-may-show-readonly-routes='false']:not([data-readonly-route-certificate='active']):not([data-readonly-routes-visible='true']) .shell-cover__routes-zone,
body[data-cover-floor-visible='true'][data-cover-certificate-right-may-show-readonly-routes='false']:not([data-readonly-route-certificate='active']):not([data-readonly-routes-visible='true']) .shell-cover__routes-zone,
[data-shell-cover][data-cover-floor-visible='true'][data-cover-certificate-right-may-show-readonly-routes='false']:not([data-readonly-route-certificate='active']):not([data-readonly-routes-visible='true']) .shell-cover__routes-zone {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html[data-cover-floor-visible='true'] [data-shell-cover],
body[data-cover-floor-visible='true'] [data-shell-cover],
[data-shell-cover][data-cover-floor-visible='true'] {
  visibility: visible;
}

/* Build 11.8 — Readonly Route Certificate + Input Withheld Enforcement.
   Route deck/cards may become visible only as readonly certificate output.
   Route action and route input remain withheld. */
html[data-readonly-route-certificate='active'] .shell-cover__routes-zone,
body[data-readonly-route-certificate='active'] .shell-cover__routes-zone,
[data-shell-cover][data-readonly-route-certificate='active'] .shell-cover__routes-zone,
html[data-readonly-routes-visible='true'] .shell-cover__routes-zone,
body[data-readonly-routes-visible='true'] .shell-cover__routes-zone,
[data-shell-cover][data-readonly-routes-visible='true'] .shell-cover__routes-zone {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

html[data-readonly-route-certificate='active'] [data-shell-cover-route],
body[data-readonly-route-certificate='active'] [data-shell-cover-route],
[data-shell-cover][data-readonly-route-certificate='active'] [data-shell-cover-route],
html[data-readonly-routes-visible='true'] [data-cover-route-action],
body[data-readonly-routes-visible='true'] [data-cover-route-action],
[data-shell-cover][data-readonly-routes-visible='true'] [data-cover-route-action],
.shell-cover__route[data-readonly-route-certificate='active'],
.shell-cover__route[data-route-deck-input-state='readonly'] {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: none !important;
  cursor: default !important;
}

html[data-readonly-route-input-enforced='true'] [data-shell-cover-route],
body[data-readonly-route-input-enforced='true'] [data-shell-cover-route],
[data-shell-cover][data-readonly-route-input-enforced='true'] [data-shell-cover-route] {
  pointer-events: none !important;
}


/* Build 12.9 — Readonly Route Render Completion.
   Readonly route certificate visibility beats stale cover-floor-only hiding,
   but input and route action remain withheld. */
html[data-cover-floor-visible='true'][data-readonly-route-certificate='active'] .shell-cover__routes-zone,
body[data-cover-floor-visible='true'][data-readonly-route-certificate='active'] .shell-cover__routes-zone,
[data-shell-cover][data-cover-floor-visible='true'][data-readonly-route-certificate='active'] .shell-cover__routes-zone,
html[data-cover-floor-visible='true'][data-readonly-routes-visible='true'] .shell-cover__routes-zone,
body[data-cover-floor-visible='true'][data-readonly-routes-visible='true'] .shell-cover__routes-zone,
[data-shell-cover][data-cover-floor-visible='true'][data-readonly-routes-visible='true'] .shell-cover__routes-zone,
html[data-build12-readonly-route-render-completion='active'] .shell-cover__routes-zone,
body[data-build12-readonly-route-render-completion='active'] .shell-cover__routes-zone,
[data-shell-cover][data-build12-readonly-route-render-completion='active'] .shell-cover__routes-zone {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

html[data-build12-readonly-route-render-completion='active'] [data-shell-cover-route],
body[data-build12-readonly-route-render-completion='active'] [data-shell-cover-route],
[data-shell-cover][data-build12-readonly-route-render-completion='active'] [data-shell-cover-route],
html[data-build12-readonly-route-render-completion='active'] [data-cover-route-action],
body[data-build12-readonly-route-render-completion='active'] [data-cover-route-action],
[data-shell-cover][data-build12-readonly-route-render-completion='active'] [data-cover-route-action],
.shell-cover__route[data-build12-readonly-route-render-completion='active'],
.shell-cover__route[data-build12-readonly-route-input-guard='active'] {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: none !important;
  cursor: default !important;
}

/* Build 11.9 — Final Display / Recovery Boundary
   Final display is certificate-controlled; recovery remains emergency-only. */
html[data-final-display-recovery-boundary='active'],
body[data-final-display-recovery-boundary='active'] {
  --synapse-final-display-boundary-state: attr(data-final-display-boundary-state);
}

html[data-final-display-boundary-state='deny'][data-normal-certified-surface-available='true'] .shell-cover,
body[data-final-display-boundary-state='deny'][data-normal-certified-surface-available='true'] .shell-cover {
  visibility: visible;
}

html[data-recovery-default-forbidden='true'] [data-recovery-surface],
body[data-recovery-default-forbidden='true'] [data-recovery-surface] {
  pointer-events: none;
}

/* Build 12.10 — Floor Viewport / Orientation Certificate.
   Layer 0 floor geometry is independent from full route-stack geometry.
   The minimum lawful cover floor remains visible in portrait/landscape while
   full geometry or route geometry may hold above it. */
html[data-pre-platform-cover-floor-viewport-certificate='pass'] [data-shell-cover],
body[data-pre-platform-cover-floor-viewport-certificate='pass'] [data-shell-cover],
[data-shell-cover][data-pre-platform-cover-floor-viewport-certificate='pass'] {
  visibility: visible !important;
  opacity: 1 !important;
  display: grid !important;
  min-inline-size: min(100%, 100vw) !important;
  min-block-size: min(100%, 100dvh) !important;
  inline-size: 100% !important;
  block-size: 100% !important;
  max-inline-size: 100% !important;
  max-block-size: 100% !important;
  overflow: hidden !important;
}

html[data-pre-platform-cover-floor-viewport-certificate='pass'] [data-shell-cover-layer],
body[data-pre-platform-cover-floor-viewport-certificate='pass'] [data-shell-cover-layer],
html[data-pre-platform-cover-floor-viewport-certificate='pass'] [data-shell-cover-chamber],
body[data-pre-platform-cover-floor-viewport-certificate='pass'] [data-shell-cover-chamber] {
  visibility: visible !important;
  opacity: 1 !important;
  min-inline-size: min(100%, 100vw) !important;
  min-block-size: min(100%, 100dvh) !important;
}

html[data-floor-viewport-orientation='landscape'][data-pre-platform-cover-floor-viewport-certificate='pass'] [data-shell-cover],
body[data-floor-viewport-orientation='landscape'][data-pre-platform-cover-floor-viewport-certificate='pass'] [data-shell-cover] {
  place-items: center !important;
  --build12-floor-viewport-orientation: landscape;
}

html[data-floor-viewport-orientation='portrait'][data-pre-platform-cover-floor-viewport-certificate='pass'] [data-shell-cover],
body[data-floor-viewport-orientation='portrait'][data-pre-platform-cover-floor-viewport-certificate='pass'] [data-shell-cover] {
  place-items: center !important;
  --build12-floor-viewport-orientation: portrait;
}

html[data-full-geometry-may-hold-without-erasing-floor='true'][data-cover-geometry-state*='hold'] [data-shell-cover],
body[data-full-geometry-may-hold-without-erasing-floor='true'][data-cover-geometry-state*='hold'] [data-shell-cover],
html[data-route-stack-geometry-may-hold-without-erasing-floor='true'][data-route-stack-geometry-state*='hold'] [data-shell-cover],
body[data-route-stack-geometry-may-hold-without-erasing-floor='true'][data-route-stack-geometry-state*='hold'] [data-shell-cover] {
  visibility: visible !important;
  opacity: 1 !important;
}

html[data-pre-platform-cover-floor-viewport-certificate='pass'] [data-cover-route-action],
body[data-pre-platform-cover-floor-viewport-certificate='pass'] [data-cover-route-action],
html[data-pre-platform-cover-floor-viewport-certificate='pass'] [data-shell-cover-route],
body[data-pre-platform-cover-floor-viewport-certificate='pass'] [data-shell-cover-route] {
  pointer-events: none !important;
  cursor: default !important;
}
/* production-css: end css/shell-cover.css */


/* production-css: skipped duplicate css/native-sigil-badge.css */


/* production-css: begin shared/styles/glyphs/synapse-glyphs.css */
/* Build 11.3 — Platform Glyph Authority
   Glyphs express meaning. They do not own routing, input, trace, native structure, layout seating, or presentation release. */

.synapse-glyph,
[data-synapse-glyph],
[data-platform-glyph] {
  --synapse-glyph-color: currentColor;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--synapse-glyph-color, currentColor);
  line-height: 1;
  pointer-events: none;
  user-select: none;
  contain: paint;
}

.synapse-glyph__svg,
[data-synapse-glyph-svg] {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  overflow: visible;
  color: currentColor;
  pointer-events: none;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: var(--synapse-glyph-stroke-width, 1.55);
  vector-effect: non-scaling-stroke;
}

.synapse-glyph__shape,
[data-synapse-glyph-shape] {
  pointer-events: none;
  vector-effect: non-scaling-stroke;
}

[data-glyph-fill-mode='none'] .synapse-glyph__shape,
[data-glyph-fill-mode='none'] [data-synapse-glyph-shape] {
  fill: none;
  stroke: currentColor;
}

[data-glyph-fill-mode='filled'] .synapse-glyph__shape,
[data-glyph-fill-mode='filled'] [data-synapse-glyph-shape] {
  fill: currentColor;
  stroke: none;
}

.shell-cover__route-icon.synapse-glyph,
.shell-cover__route-icon[data-synapse-glyph-class='route'] {
  visibility: visible;
  opacity: 1;
  color: var(--synapse-route-icon, currentColor);
}

.shell-cover__route-icon.synapse-glyph .shell-cover__route-svg,
.shell-cover__route-icon[data-synapse-glyph-class='route'] .shell-cover__route-svg {
  inline-size: 100%;
  block-size: 100%;
}

.synapse-native-sigil__glyph[data-synapse-glyph-class='identity'],
[data-synapse-glyph='synapse-sigil'] {
  color: inherit;
  pointer-events: none;
}

[data-cover-semantic-glyph-protected='true'],
[data-platform-glyph-protected='true'] {
  --platform-glyph-protection: wave11-3-platform-glyph-authority;
}

[data-platform-glyph-owns-input='false'],
[data-platform-glyph-owns-routing='false'] {
  cursor: inherit;
}

/* 11.3 guard: the button/control owns input. The glyph never becomes the hit target. */
[data-shell-cover-route] [data-synapse-glyph],
[data-shell-cover-route] [data-platform-glyph],
button [data-synapse-glyph],
button [data-platform-glyph] {
  pointer-events: none !important;
}


/* Build 11.4 — Glyph / Chroma Boundary
   Chroma may set currentColor. It may not force-fill stroke glyphs or rewrite drawing grammar. */
[data-glyph-chroma-boundary-color-policy='current-color-only'],
[data-glyph-chroma-boundary-protected='true'],
[data-synapse-glyph],
[data-platform-glyph] {
  --synapse-glyph-color: currentColor;
  color: var(--synapse-glyph-color, currentColor);
  pointer-events: none;
}

[data-synapse-glyph][data-glyph-fill-mode='none'],
[data-platform-glyph][data-glyph-fill-mode='none'],
[data-synapse-glyph-svg][data-glyph-fill-mode='none'] {
  fill: none !important;
  stroke: currentColor !important;
}

[data-synapse-glyph][data-glyph-fill-mode='none'] .synapse-glyph__shape,
[data-platform-glyph][data-glyph-fill-mode='none'] .synapse-glyph__shape,
[data-synapse-glyph][data-glyph-fill-mode='none'] [data-synapse-glyph-shape],
[data-platform-glyph][data-glyph-fill-mode='none'] [data-synapse-glyph-shape],
[data-synapse-glyph-svg][data-glyph-fill-mode='none'] [data-synapse-glyph-shape] {
  fill: none !important;
  stroke: currentColor !important;
}

[data-synapse-glyph][data-glyph-fill-mode='filled'] .synapse-glyph__shape,
[data-platform-glyph][data-glyph-fill-mode='filled'] .synapse-glyph__shape,
[data-synapse-glyph][data-glyph-fill-mode='filled'] [data-synapse-glyph-shape],
[data-platform-glyph][data-glyph-fill-mode='filled'] [data-synapse-glyph-shape] {
  fill: currentColor !important;
  stroke: none !important;
}

.shell-cover__truth-status,
.shell-cover__truth-phase,
[data-cover-truth-status],
[data-cover-truth-phase],
[data-cover-pulse-status],
[data-cover-pulse-phase] {
  color: var(--synapse-truth-ink, currentColor);
  text-shadow: none;
  -webkit-text-fill-color: currentColor;
  background-image: none;
}


/* Build 11.5 — Action Chamber Glyph Restoration
   Action glyphs render operation meaning only. Inputs/buttons own behavior. */
[data-action-chamber-root] .synapse-glyph--action,
[data-support-chamber-root] .synapse-glyph--action,
[data-action-glyph] {
  --synapse-glyph-color: currentColor;
  color: var(--synapse-glyph-color, currentColor);
  pointer-events: none;
}

[data-action-chamber-root] [data-action-glyph] [data-synapse-glyph-svg],
[data-support-chamber-root] [data-action-glyph] [data-synapse-glyph-svg],
[data-action-glyph] .action-chamber__glyph-svg,
[data-action-glyph] .support-chamber__auth-svg {
  inline-size: 1.12rem;
  block-size: 1.12rem;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: var(--synapse-action-glyph-stroke-width, 1.72);
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

[data-action-glyph] [data-synapse-glyph-shape] {
  fill: none !important;
  stroke: currentColor !important;
  pointer-events: none;
}

.auth-field [data-action-glyph-field],
.auth-field [data-action-glyph-button] {
  pointer-events: none;
}

.action-chamber__glyph-button,
.support-chamber__auth-card .action-chamber__glyph-button,
.support-chamber__request .action-chamber__glyph-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.48rem;
}

.action-chamber__glyph-button .button__glyph,
.action-chamber__glyph-button .button__label {
  pointer-events: none;
}

.action-chamber__glyph-button .button__glyph {
  inline-size: 1.04rem;
  block-size: 1.04rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
/* production-css: end shared/styles/glyphs/synapse-glyphs.css */


/* production-css: begin shared/styles/cover/route-input-admission.css */
/* Build 11.7 — Cover Route Input Admission
   Route buttons may look live only when input is admitted. If the admission
   packet withholds input, the route remains visible as a preserved cover object
   but reports withheld state instead of pretending to be clickable. */
.shell-cover[data-cover-contract='synapse-cover-v2'] [data-shell-cover-route][data-route-input-admitted='true'] {
  cursor: pointer;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] [data-shell-cover-route][data-route-input-withheld='true'] {
  cursor: default;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] [data-shell-cover-route][data-route-input-withheld='true'] .shell-cover__route-label,
.shell-cover[data-cover-contract='synapse-cover-v2'] [data-shell-cover-route][data-route-input-withheld='true'] .shell-cover__route-icon {
  opacity: 0.72;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] [data-shell-cover-route][data-route-input-withheld='true']::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255,255,255,0.07), rgba(255,255,255,0));
}
/* production-css: end shared/styles/cover/route-input-admission.css */


/* production-css: begin shared/styles/cover/recovery-reseating.css */
/* Build 11.8 — Recovery Re-Seating
   Last-good recovery may preserve the cover composition, but it may not restore
   stale origin coordinates. During recovery the current chamber fit owns
   placement. */
html[data-cover-recovery-reseating-authority='synapse-cover-recovery-reseating-authority'],
body[data-cover-recovery-reseating-authority='synapse-cover-recovery-reseating-authority'] {
  --cover-recovery-reseating-policy: current-chamber-fit;
}

body[data-cover-recovery-reseating-state='recentered'] [data-shell-cover-chamber],
html[data-cover-recovery-reseating-state='recentered'] body [data-shell-cover-chamber] {
  display: grid !important;
  place-items: center !important;
  justify-items: center !important;
  align-items: center !important;
}

body[data-cover-recovery-reseating-state='recentered'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] {
  justify-self: center !important;
  align-self: center !important;
  margin: auto !important;
  inset: auto !important;
  transform-origin: center center !important;
}

body[data-cover-recovery-reseating-state='recentered'] [data-cover-registration-frame],
body[data-cover-recovery-reseating-state='recentered'] [data-cover-parent-registration-frame],
body[data-cover-recovery-reseating-state='recentered'] .shell-cover__registration-frame,
body[data-cover-recovery-reseating-state='recentered'] .shell-cover__coordinate {
  inline-size: var(--cover-fit-inline, var(--presented-cover-fit-inline, min(96%, calc(var(--shell-cover-chamber-inline, 100%) - 0.5rem)))) !important;
  width: var(--cover-fit-inline, var(--presented-cover-fit-inline, min(96%, calc(var(--shell-cover-chamber-inline, 100%) - 0.5rem)))) !important;
  block-size: var(--cover-fit-block, var(--presented-cover-fit-block, min(96%, calc(var(--shell-cover-chamber-block, 100%) - 0.5rem)))) !important;
  height: var(--cover-fit-block, var(--presented-cover-fit-block, min(96%, calc(var(--shell-cover-chamber-block, 100%) - 0.5rem)))) !important;
  margin: auto !important;
  justify-self: center !important;
  align-self: center !important;
  transform: translate(var(--cover-fit-offset-x, 0px), var(--cover-fit-offset-y, 0px)) scale(var(--cover-fit-scale, var(--presented-cover-fit-scale, 1))) !important;
  transform-origin: center center !important;
}

body[data-cover-recovery-may-restore-stale-origin='false'] [data-cover-registration-frame],
body[data-cover-recovery-may-restore-stale-origin='false'] .shell-cover__registration-frame {
  --presented-cover-fit-offset-x: var(--cover-fit-offset-x, 0px);
  --presented-cover-fit-offset-y: var(--cover-fit-offset-y, 0px);
}
/* production-css: end shared/styles/cover/recovery-reseating.css */


/* production-css: begin shared/styles/cover/semantic-foreground-lock.css */
/* Build 11.9.3 — Semantic Foreground Lock
   Route/meta/glyph meaning must paint above native casing whenever route input is admitted.
   Native can frame semantic controls; native cannot cover semantic controls. */

[data-cover-composition-root='active'] {
  --cover-z-native-backing: 10;
  --cover-z-material-glass: 62;
  --cover-z-semantic-foreground: 186;
  --cover-z-route-foreground: 206;
  --cover-z-diagnostic-foreground: 216;
}

[data-cover-composition-root='active'] [data-cover-plane='nativePlane'],
[data-cover-composition-root='active'] [data-native-layer='cover-native-geometry'] {
  z-index: var(--cover-z-native-backing) !important;
  pointer-events: none !important;
}

[data-cover-composition-root='active'] .shell-cover__native-case,
[data-cover-composition-root='active'] .shell-cover__native-main-field,
[data-cover-composition-root='active'] .shell-cover__native-access-module,
[data-cover-composition-root='active'] .shell-cover__native-route-tray,
[data-cover-composition-root='active'] .shell-cover__native-branding-card {
  pointer-events: none !important;
}

[data-cover-composition-root='active'] .shell-cover__native-glass-occlusion,
[data-cover-composition-root='active'] .shell-cover__native-glass-reflection,
[data-cover-composition-root='active'] .shell-cover__native-screen-sheen,
[data-cover-composition-root='active'] .shell-cover__native-access-module-glass,
[data-cover-composition-root='active'] .shell-cover__native-access-module-reflection {
  z-index: var(--cover-z-material-glass) !important;
  pointer-events: none !important;
}

[data-cover-composition-root='active'] [data-cover-plane='semanticPlane'],
[data-cover-composition-root='active'] [data-cover-semantic-layer],
[data-cover-composition-root='active'] .shell-cover__field--registered,
[data-cover-composition-root='active'] .shell-cover__content-card,
[data-cover-composition-root='active'] .shell-cover__brand-zone,
[data-cover-composition-root='active'] .shell-cover__divider-zone,
[data-cover-composition-root='active'] .shell-cover__routes-zone {
  position: absolute !important;
  z-index: var(--cover-z-semantic-foreground) !important;
  isolation: isolate !important;
  mix-blend-mode: normal !important;
  pointer-events: none;
}

[data-cover-composition-root='active'] .shell-cover__brand-zone,
[data-cover-composition-root='active'] .shell-cover__divider-zone,
[data-cover-composition-root='active'] .shell-cover__routes-zone {
  position: relative !important;
}

[data-cover-composition-root='active'] [data-cover-plane='routeControlPlane'],
[data-cover-composition-root='active'] [data-cover-atom='semanticControls'],
[data-cover-composition-root='active'] .shell-cover__routes,
[data-cover-composition-root='active'] .shell-cover__route {
  position: relative !important;
  z-index: var(--cover-z-route-foreground) !important;
  isolation: isolate !important;
  mix-blend-mode: normal !important;
}

[data-cover-composition-root='active'] .shell-cover__route {
  pointer-events: auto !important;
}

[data-cover-composition-root='active'] .shell-cover__route-icon-zone,
[data-cover-composition-root='active'] .shell-cover__route-label-zone,
[data-cover-composition-root='active'] [data-synapse-glyph],
[data-cover-composition-root='active'] [data-platform-glyph],
[data-cover-composition-root='active'] [data-cover-semantic-text-protected='true'],
[data-cover-composition-root='active'] [data-cover-diagnostic-text-protected='true'],
[data-cover-composition-root='active'] .shell-cover__truth-status,
[data-cover-composition-root='active'] .shell-cover__truth-phase {
  position: relative !important;
  z-index: var(--cover-z-diagnostic-foreground) !important;
  isolation: isolate !important;
  mix-blend-mode: normal !important;
  filter: none !important;
}

body[data-cover-route-input-admitted='true'] [data-cover-composition-root='active'] .shell-cover__routes,
body[data-cover-route-input-admitted='true'] [data-cover-composition-root='active'] .shell-cover__route,
html[data-cover-route-input-admitted='true'] body [data-cover-composition-root='active'] .shell-cover__routes,
html[data-cover-route-input-admitted='true'] body [data-cover-composition-root='active'] .shell-cover__route {
  visibility: visible !important;
  opacity: 1 !important;
  z-index: var(--cover-z-route-foreground) !important;
}
/* production-css: end shared/styles/cover/semantic-foreground-lock.css */


/* production-css: begin css/cover-stabilization.css */
/* Cover stabilization bridge. Stabilization may not place, rotate, or compensate registered geometry. */

/* -------------------------------------------------------------------------
   Build 6.2 — Chroma / text / title correctness

   Scope:
   - CSS expresses the protected semantic-text chroma contract only.
   - It does not admit routes, release the veil, certify cover settlement, or
     change scene routing.
   - Protected cover identity text must not inherit yellow/gray staging chroma,
     and title glyph descenders must not be clipped in landscape/mobile profiles.
*/
.shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-chroma-does-not-cross-semantic-text='true'],
.shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-semantic-text-protected='true'],
.shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-material-boundary-protected-text='true'] {
  --build6-2-chroma-text-title-correctness: protected-semantic-text-chroma-blocked;
  --cover-chroma-semantic-crossing: blocked;
  mix-blend-mode: normal !important;
  background-blend-mode: normal !important;
  filter: none !important;
  isolation: isolate !important;
  text-shadow: 0 0.04rem 0 rgba(255,255,255,0.40) !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__title,
.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__title-line,
.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route-label {
  color: var(--shell-cover-ink, #172f4a) !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__subtitle,
.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__truth-status,
.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__truth-phase {
  color: color-mix(in srgb, var(--shell-cover-teal, #0f5f64) 76%, var(--shell-cover-ink, #172f4a) 24%) !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route-label-zone {
  color: color-mix(in srgb, var(--shell-cover-ink, #172f4a) 84%, var(--shell-cover-teal, #0f5f64) 16%) !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route-icon,
.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route-svg,
.shell-cover[data-cover-contract='synapse-cover-v2'] .synapse-glyph {
  color: color-mix(in srgb, var(--shell-cover-teal, #0f5f64) 78%, var(--shell-cover-ink, #172f4a) 22%) !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__title {
  line-height: 1.08 !important;
  min-block-size: calc(2.18em + 0.12rem) !important;
  padding-block: 0.035em 0.07em !important;
  overflow: visible !important;
  text-overflow: unset !important;
  contain: layout style !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__title-line {
  display: block !important;
  line-height: 1.08 !important;
  min-block-size: 1.08em !important;
  padding-block: 0.015em 0.035em !important;
  overflow: visible !important;
  text-overflow: unset !important;
  white-space: nowrap !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__identity,
.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__brand-zone {
  overflow: visible !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-runtime-layout-mode='landscape-side'] .shell-cover__title,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-runtime-layout-mode='wide-dual'] .shell-cover__title,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-state-layout-mode='landscape-side'] .shell-cover__title,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-state-layout-mode='wide-dual'] .shell-cover__title,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-tablet-orientation='landscape'] .shell-cover__title,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-presented-target-orientation='landscape'] .shell-cover__title,
.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'] .shell-cover__title,
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] .shell-cover__title {
  line-height: 1.06 !important;
  min-block-size: calc(1.12em + 0.14rem) !important;
  overflow: visible !important;
  text-overflow: unset !important;
}

.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-runtime-layout-mode='landscape-side'] .shell-cover__title-line,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-runtime-layout-mode='wide-dual'] .shell-cover__title-line,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-state-layout-mode='landscape-side'] .shell-cover__title-line,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-cover-state-layout-mode='wide-dual'] .shell-cover__title-line,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-tablet-orientation='landscape'] .shell-cover__title-line,
.shell-cover[data-tablet-contract='synapse-clinical-tablet-v1'][data-presented-target-orientation='landscape'] .shell-cover__title-line,
.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'] .shell-cover__title-line,
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] .shell-cover__title-line {
  line-height: 1.06 !important;
  min-block-size: 1.06em !important;
  overflow: visible !important;
  text-overflow: unset !important;
}

.synapse-shell-state-light,
.synapse-shell-diagnostic-popup {
  --build6-2-shell-state-light-chroma: clinical-ink-not-yellow-staging;
  --shell-popup-line: color-mix(in srgb, var(--shell-cover-teal, #0f5f64) 48%, rgba(95,113,136,0.28));
  --shell-popup-working: color-mix(in srgb, var(--shell-cover-teal, #0f5f64) 78%, var(--shell-cover-ink, #172f4a) 22%);
  --shell-popup-stalled: color-mix(in srgb, var(--shell-cover-teal, #0f5f64) 58%, var(--shell-cover-muted, #5f7188) 42%);
}

.synapse-shell-state-light__status,
.synapse-narrator-beacon .synapse-shell-state-light__status {
  color: color-mix(in srgb, var(--shell-cover-ink, #172f4a) 82%, #ffffff 18%) !important;
}

.synapse-shell-state-light__line,
.synapse-narrator-beacon .synapse-shell-state-light__line {
  color: color-mix(in srgb, var(--shell-cover-muted, #5f7188) 72%, #ffffff 28%) !important;
}
/* production-css: end css/cover-stabilization.css */


/* production-css: begin shared/styles/content/public-page-contract.css */
/* public-page-contract.css
   Public Page Rail Contract v6

   Contract:
   - The shell owns the header/footer rows.
   - The viewport owns the curved screen between those rows.
   - Public page content must scroll inside the viewport screen.
   - Footer safety is created by the viewport boundary, not by extending page
     content with a large bottom spacer.
   - Header identity/nav remain shell-owned; they visually reference the
     viewport through the shared outer container, not this contract.
   - Scene owns where public panels begin.
   - Panel interiors provide a modest readability buffer; they do not create
     a second large page start.
   - Direct sections and band-contained sections use the same public rail.

   This is intentionally global for public clinic pages because Practice,
   About, Services, For Clinicians, and Contact all share the same page-shell
   problem.
*/

:root {
  --syn-public-page-rail-max: var(--container, 78rem);

  /* Physical shell spacing. */
  --syn-public-chassis-void: clamp(0.34rem, 0.28rem + 0.24vw, 0.54rem);
  --syn-public-window-pad: 0.24rem;
  --syn-public-scene-inset: clamp(0.42rem, 0.34rem + 0.24vw, 0.62rem);

  /* Interior readability buffer. Slightly restored after v3 over-corrected
     too close to the shell/screen start, but still smaller than the original
     double-indented pass. */
  --syn-public-panel-inset: clamp(0.78rem, 0.68rem + 0.28vw, 0.98rem);
  --syn-public-subpanel-inset: clamp(0.68rem, 0.6rem + 0.22vw, 0.88rem);

  /* Small internal scroll/readability pad. This is not footer clearance.
     The footer is outside the viewport; the viewport itself must end above it. */
  --syn-public-screen-end-pad: clamp(0.62rem, 1.6svh, 1rem);

  /* The shared visible text rail. Viewport meta and the first readable
     content stack here. Header identity remains shell-owned. */
  --syn-public-readable-rail: calc(
    var(--syn-public-chassis-void) +
    var(--syn-public-window-pad) +
    var(--syn-public-scene-inset) +
    var(--syn-public-panel-inset)
  );
}

/* Contract activation: active public clinic pages only. Resting cover and
   protected portal/workspace states keep their own geometry. */
.shell-body[data-app='clinic'][data-active-scene='primary'] {
  --public-page-rail-owner: public-page-contract-v6;
  --public-page-rail-contract: "viewport-contained-scroll-footer-external";
  --syn-public-page-rail: 100%;
}

/* Public page viewport containment: the curved screen owns the scrolling area.
   Do not create footer safety by adding a large scene spacer; that makes the
   page look longer while leaving the viewport geometry wrong. */
.shell-body[data-app='clinic'][data-active-scene='primary'] .shell__main,
.shell-body[data-app='clinic'][data-active-scene='primary'] [data-shell-chamber-host='main'],
.shell-body[data-app='clinic'][data-active-scene='primary'] [data-shell-viewport-layer],
.shell-body[data-app='clinic'][data-active-scene='primary'] .viewport-shell,
.shell-body[data-app='clinic'][data-active-scene='primary'] .viewport-frame,
.shell-body[data-app='clinic'][data-active-scene='primary'] .viewport-stage,
.shell-body[data-app='clinic'][data-active-scene='primary'] .viewport-window {
  min-block-size: 0;
  max-block-size: 100%;
  overflow: hidden;
}

.shell-body[data-app='clinic'][data-active-scene='primary'] [data-shell-viewport-layer],
.shell-body[data-app='clinic'][data-active-scene='primary'] .viewport-shell,
.shell-body[data-app='clinic'][data-active-scene='primary'] .viewport-frame,
.shell-body[data-app='clinic'][data-active-scene='primary'] .viewport-stage,
.shell-body[data-app='clinic'][data-active-scene='primary'] .viewport-window {
  block-size: 100%;
}

/* The screen inside the curved viewport is the only public-page scroll root. */
.shell-body[data-app='clinic'][data-active-scene='primary'] .viewport-inner,
.shell-body[data-app='clinic'][data-active-scene='primary'] [data-viewport-inner-screen] {
  min-block-size: 0;
  max-block-size: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  scroll-padding-block-start: var(--syn-public-scene-inset);
  scroll-padding-block-end: var(--syn-public-screen-end-pad);
  scrollbar-gutter: stable;
}

.shell-body[data-app='clinic'][data-active-scene='primary'] .scene-stack {
  min-block-size: 100%;
}

/* Header identity/nav intentionally stay out of the public page contract.
   The header remains shell-owned; the public rail begins inside the viewport
   and governs meta + page content only. */

/* Restore/keep the viewport chassis void and reduce the inner window pad so
   the viewport line remains visible without pushing content too far inward. */
.shell-body[data-app='clinic'][data-active-scene='primary'][data-layout-mode='landscape-side'] .viewport-stage,
.shell-body[data-app='clinic'][data-active-scene='primary'][data-layout-mode='wide-dual'] .viewport-stage {
  padding-inline: var(--syn-public-chassis-void);
}

.shell-body[data-app='clinic'][data-active-scene='primary'][data-layout-mode='landscape-side'] .viewport-window,
.shell-body[data-app='clinic'][data-active-scene='primary'][data-layout-mode='wide-dual'] .viewport-window {
  padding: var(--syn-public-window-pad);
}

/* Viewport meta is the visible coordinate rail. It stacks with the first
   readable page content, rather than sitting on the raw viewport edge. */
.shell-body[data-app='clinic'][data-active-scene='primary'][data-layout-mode='landscape-side'] .viewport-meta,
.shell-body[data-app='clinic'][data-active-scene='primary'][data-layout-mode='wide-dual'] .viewport-meta {
  padding-inline: var(--syn-public-readable-rail);
}

/* The scene places panels; it no longer doubles the page gutter and it no
   longer acts as footer clearance. */
.shell-body[data-app='clinic'][data-active-scene='primary'] .scene--primary {
  min-block-size: 100%;
  padding-inline: var(--syn-public-scene-inset);
  padding-block-start: var(--syn-public-scene-inset);
  padding-block-end: var(--syn-public-screen-end-pad);
  gap: clamp(0.82rem, 0.7rem + 0.42vw, 1.08rem);
}

/* Direct sections and band-contained sections use the full scene rail. No
   centered secondary container is allowed to create a different start line. */
.shell-body[data-app='clinic'][data-active-scene='primary'] .scene--primary > :where(.l-container, .page-section),
.shell-body[data-app='clinic'][data-active-scene='primary'] .scene--primary > .l-band > .l-container {
  box-sizing: border-box;
  inline-size: var(--syn-public-page-rail);
  max-inline-size: 100%;
  margin-inline: 0;
}

.shell-body[data-app='clinic'][data-active-scene='primary'] .scene--primary > .l-band {
  box-sizing: border-box;
  inline-size: 100%;
  max-inline-size: 100%;
  margin-inline: 0;
}

.shell-body[data-app='clinic'][data-active-scene='primary'] .scene--primary > .l-band > .l-container {
  min-inline-size: 0;
}

/* Panel internals are now a small readability buffer only. The rail comes from
   the page contract; panels do not create a second page start. */
.shell-body[data-app='clinic'][data-active-scene='primary'] .scene--primary .page-head__inner,
.shell-body[data-app='clinic'][data-active-scene='primary'] .scene--primary .hero__inner {
  padding: var(--syn-public-panel-inset);
}

.shell-body[data-app='clinic'][data-active-scene='primary'] .scene--primary .section-shell,
.shell-body[data-app='clinic'][data-active-scene='primary'] .scene--primary .notice,
.shell-body[data-app='clinic'][data-active-scene='primary'] .scene--primary .panel--critical {
  padding: var(--syn-public-panel-inset);
}

.shell-body[data-app='clinic'][data-active-scene='primary'] .scene--primary .subpanel,
.shell-body[data-app='clinic'][data-active-scene='primary'] .scene--primary .panel-card {
  padding: var(--syn-public-subpanel-inset);
}

.shell-body[data-app='clinic'][data-active-scene='primary'] .scene--primary .panel-card--rail {
  padding-inline-start: calc(var(--syn-public-subpanel-inset) + 0.22rem);
}

.shell-body[data-app='clinic'][data-active-scene='primary'] .scene--primary :where(.page-head, .section-shell, .panel, .section-band, .subpanel, .panel-frame) {
  min-inline-size: 0;
}

@media (max-width: 760px) {
  .shell-body[data-app='clinic'][data-active-scene='primary'] {
    --syn-public-screen-end-pad: clamp(0.68rem, 2svh, 1.08rem);
  }

  .shell-body[data-app='clinic'][data-active-scene='primary'] .scene--primary {
    --syn-public-page-rail: 100%;
    --syn-public-chassis-void: 0rem;
    --syn-public-window-pad: 0.24rem;
    --syn-public-scene-inset: clamp(0.68rem, 2vw, 0.92rem);
    --syn-public-panel-inset: clamp(0.82rem, 2vw, 1rem);
    --syn-public-subpanel-inset: clamp(0.72rem, 1.8vw, 0.92rem);
  }

  .shell-body[data-app='clinic'][data-layout-mode='portrait-single'] .viewport-stage,
  .shell-body[data-app='clinic'][data-layout-mode='portrait-single'] .viewport-meta {
    padding-inline: 0;
  }
}

@media (orientation: landscape) and (max-height: 640px) {
  .shell-body[data-app='clinic'][data-active-scene='primary'] {
    --syn-public-screen-end-pad: clamp(0.42rem, 1.8vh, 0.72rem);
  }

  .shell-body[data-app='clinic'][data-active-scene='primary'] .shell__main {
    padding-block: clamp(0.28rem, 1.3vh, 0.48rem) clamp(0.32rem, 1.5vh, 0.54rem);
  }

  .shell-body[data-app='clinic'][data-active-scene='primary'] .viewport-frame {
    gap: clamp(0.28rem, 1.1vh, 0.46rem);
  }

  .shell-body[data-app='clinic'][data-active-scene='primary'] .viewport-meta {
    min-block-size: 0;
    line-height: 1;
  }

  .shell-body[data-app='clinic'][data-active-scene='primary'] .scene--primary {
    --syn-public-scene-inset: clamp(0.42rem, 1.6vh, 0.68rem);
    gap: clamp(0.62rem, 1.8vh, 0.86rem);
  }
}
/* production-css: end shared/styles/content/public-page-contract.css */


/* production-css: begin shared/styles/shell/adaptive-governance.css */
/* adaptive-governance.css
   Canonical consumer layer for platform-level Adaptive Governance.

   Adaptive owns platform shape variables. Viewport/Cover compatibility layers
   keep consuming their legacy variables, but those variables are now published
   by adaptive-governance-platform-layer.
*/

:root {
  --adaptive-safe-inline: 100vw;
  --adaptive-safe-block: 100dvh;
  --adaptive-main-inline: 100%;
  --adaptive-main-block: 100%;
  --adaptive-cover-inline: var(--adaptive-main-inline);
  --adaptive-cover-block: var(--adaptive-main-block);
  --adaptive-action-inline: clamp(20rem, 32vw, 26rem);
  --adaptive-action-block: var(--adaptive-main-block);
  --adaptive-shell-gap: clamp(0.5rem, 1vw, 0.9rem);
  --adaptive-density-scale: 1;
  --adaptive-target-scale: 1;
}

.shell-body[data-adaptive-governance] {
  --avg-safe-inline: var(--adaptive-safe-inline, var(--avg-safe-inline));
  --avg-safe-block: var(--adaptive-safe-block, var(--avg-safe-block));
  --avg-main-inline: var(--adaptive-main-inline, var(--avg-main-inline));
  --avg-main-block: var(--adaptive-main-block, var(--avg-main-block));
  --avg-cover-inline: var(--adaptive-cover-inline, var(--avg-cover-inline));
  --avg-cover-block: var(--adaptive-cover-block, var(--avg-cover-block));
  --avg-action-inline: var(--adaptive-action-inline, var(--avg-action-inline));
  --avg-action-block: var(--adaptive-action-block, var(--avg-action-block));
  --avg-shell-gap: var(--adaptive-shell-gap, var(--avg-shell-gap));
}

.shell-body[data-adaptive-density='compact'] {
  --adaptive-density-scale: 0.94;
}

.shell-body[data-adaptive-density='critical'] {
  --adaptive-density-scale: 0.88;
}

.shell-body[data-adaptive-reconstruction-policy='hold-during-orientation'] [data-shell-cover-chamber] {
  contain: layout paint size;
}

.shell-body[data-adaptive-debug='true'] [data-shell-chamber-host='main'] {
  outline: 1px solid rgba(36, 101, 114, 0.42);
  outline-offset: -1px;
}

.shell-body[data-adaptive-debug='true'] [data-shell-cover-chamber],
.shell-body[data-adaptive-debug='true'] [data-shell-viewport-layer],
.shell-body[data-adaptive-debug='true'] [data-action-chamber-root],
.shell-body[data-adaptive-debug='true'] [data-support-chamber-root] {
  outline: 1px dashed rgba(150, 118, 55, 0.52);
  outline-offset: -2px;
}
/* production-css: end shared/styles/shell/adaptive-governance.css */


/* production-css: begin shared/styles/shell/adaptive-viewport.css */
/* adaptive-viewport.css
   Adaptive Viewport Governance consumer layer.

   The JS governance layer decides whether an action chamber can safely use a
   side lane. CSS consumes that plan and keeps cover, viewport, and action
   surfaces on the measured lanes it publishes.
*/

:root {
  --avg-safe-inline: 100vw;
  --avg-safe-block: 100dvh;
  --avg-shell-gap: clamp(0.5rem, 1vw, 0.9rem);
  --avg-main-inline: 100%;
  --avg-main-block: 100%;
  --avg-main-min-inline: 0px;
  --avg-cover-inline: var(--avg-main-inline);
  --avg-cover-block: var(--avg-main-block);
  --avg-action-inline: clamp(20rem, 32vw, 26rem);
  --avg-action-min-inline: 20rem;
  --avg-action-max-inline: 26rem;
  --avg-action-block: var(--avg-main-block);
  --avg-sheet-inline: min(100%, 35rem);
  --avg-sheet-max-block: min(88svh, 46rem);
}

.shell-body[data-viewport-governance='ready'] [data-shell-chamber-host='main'] {
  --action-chamber-side-inline: var(--avg-action-inline, clamp(20rem, 32vw, 26rem));
  --chamber-side-width: var(--avg-action-inline, min(24rem, 100%));
  --chamber-wide-width: var(--avg-action-inline, min(26rem, 100%));
  --action-chamber-sheet-max-block: var(--avg-sheet-max-block, min(88svh, 46rem));
}

.shell-body[data-viewport-governance='ready'][data-action-admission='side'][data-action-chamber]:not([data-action-chamber='closed']) [data-shell-chamber-host='main'],
.shell-body[data-viewport-governance='ready'][data-action-admission='side'][data-support-chamber]:not([data-support-chamber='closed']) [data-shell-chamber-host='main'] {
  grid-template-columns: minmax(0, 1fr) minmax(var(--avg-action-min-inline, 20rem), var(--avg-action-inline, 26rem)) !important;
  grid-template-areas: 'viewport action' !important;
  gap: var(--avg-shell-gap, clamp(0.55rem, 1vw, 0.9rem)) !important;
}

.shell-body[data-viewport-governance='ready'][data-action-admission='side'] [data-shell-chamber-host='main'] > [data-shell-cover-chamber],
.shell-body[data-viewport-governance='ready'][data-action-admission='side'] [data-shell-chamber-host='main'] > [data-shell-viewport-layer] {
  grid-area: viewport !important;
  min-inline-size: 0;
  max-inline-size: 100%;
  inline-size: 100%;
  block-size: 100%;
}

.shell-body[data-viewport-governance='ready'][data-action-admission='side'] [data-shell-chamber-host='main'] > [data-action-chamber-root],
.shell-body[data-viewport-governance='ready'][data-action-admission='side'] [data-shell-chamber-host='main'] > [data-support-chamber-root] {
  grid-area: action !important;
  position: relative !important;
  inset: auto !important;
  inline-size: 100% !important;
  max-inline-size: 100% !important;
  block-size: 100% !important;
  justify-self: stretch !important;
  align-self: stretch !important;
  padding: 0 !important;
  background: transparent !important;
  backdrop-filter: none !important;
}

.shell-body[data-viewport-governance='ready'][data-action-admission='sheet'][data-action-chamber]:not([data-action-chamber='closed']) [data-shell-chamber-host='main'],
.shell-body[data-viewport-governance='ready'][data-action-admission='sheet'][data-support-chamber]:not([data-support-chamber='closed']) [data-shell-chamber-host='main'] {
  grid-template: minmax(0, 1fr) / minmax(0, 1fr) !important;
  grid-template-areas: 'viewport' !important;
}

.shell-body[data-viewport-governance='ready'][data-action-admission='sheet'] [data-shell-chamber-host='main'] > [data-shell-cover-chamber],
.shell-body[data-viewport-governance='ready'][data-action-admission='sheet'] [data-shell-chamber-host='main'] > [data-shell-viewport-layer] {
  grid-area: 1 / 1 !important;
}

.shell-body[data-viewport-governance='ready'][data-action-admission='sheet'] [data-shell-chamber-host='main'] > [data-action-chamber-root],
.shell-body[data-viewport-governance='ready'][data-action-admission='sheet'] [data-shell-chamber-host='main'] > [data-support-chamber-root] {
  grid-area: 1 / 1 !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 84 !important;
  display: grid !important;
  align-items: end !important;
  justify-items: center !important;
  padding: clamp(0.32rem, 1vw, 0.7rem) !important;
  background: linear-gradient(180deg, rgba(17,37,61,0.035), rgba(17,37,61,0.18)) !important;
  backdrop-filter: blur(2px) !important;
}

.shell-body[data-viewport-governance='ready'][data-action-admission='sheet'] [data-action-chamber-root] .support-chamber__window,
.shell-body[data-viewport-governance='ready'][data-action-admission='sheet'] [data-action-chamber-root] .action-chamber__window,
.shell-body[data-viewport-governance='ready'][data-action-admission='sheet'] [data-support-chamber-root] .support-chamber__window,
.shell-body[data-viewport-governance='ready'][data-action-admission='sheet'] [data-support-chamber-root] .action-chamber__window {
  inline-size: min(100%, var(--avg-sheet-inline, 35rem)) !important;
  max-inline-size: min(100%, var(--avg-sheet-inline, 35rem)) !important;
  block-size: auto !important;
  max-block-size: var(--avg-sheet-max-block, min(88svh, 46rem)) !important;
  margin-inline: auto !important;
  margin-block-start: auto !important;
  border-radius: 1.18rem 1.18rem 1rem 1rem;
}

.shell-body[data-viewport-governance='ready'][data-action-admission='promoted'] [data-shell-chamber-host='main'] > [data-action-chamber-root],
.shell-body[data-viewport-governance='ready'][data-action-admission='promoted'] [data-shell-chamber-host='main'] > [data-support-chamber-root] {
  grid-area: 1 / 1 !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 86 !important;
  display: grid !important;
  place-items: stretch !important;
  padding: clamp(0.28rem, 1vw, 0.6rem) !important;
  background: rgba(248, 252, 252, 0.94) !important;
}

.shell-body[data-viewport-governance='ready'][data-cover-lane='side-compressed'] [data-shell-cover-chamber] .shell-cover[data-cover-contract='synapse-cover-v2'],
.shell-body[data-viewport-governance='ready'][data-cover-lane='reduced'] [data-shell-cover-chamber] .shell-cover[data-cover-contract='synapse-cover-v2'] {
  inline-size: 100% !important;
  max-inline-size: 100% !important;
  min-inline-size: 0 !important;
}

.shell-body[data-adaptive-viewport-debug='true'] [data-shell-chamber-host='main'] {
  outline: 1px solid rgba(43,130,139,0.38);
  outline-offset: -1px;
}

.shell-body[data-adaptive-viewport-debug='true'] [data-shell-cover-chamber],
.shell-body[data-adaptive-viewport-debug='true'] [data-shell-viewport-layer] {
  outline: 1px dashed rgba(43,130,139,0.48);
  outline-offset: -2px;
}

.shell-body[data-adaptive-viewport-debug='true'] [data-action-chamber-root],
.shell-body[data-adaptive-viewport-debug='true'] [data-support-chamber-root] {
  outline: 1px dashed rgba(155,122,61,0.58);
  outline-offset: -3px;
}

/* =========================================================
   Mobile Landscape Action Side Lane Patch
   Short Android landscape viewports should still use the adjacent Action
   Chamber when width is available. The chamber scrolls internally instead of
   being promoted into a sheet/overlay.
   ========================================================= */
@media (orientation: landscape) and (max-height: 640px) {
  :root {
    --avg-action-inline: clamp(17.5rem, 36vw, 22.5rem);
    --avg-action-min-inline: 17.5rem;
    --avg-action-max-inline: 22.5rem;
  }

  .shell-body[data-viewport-governance='ready'][data-action-admission='side'][data-action-chamber]:not([data-action-chamber='closed']) [data-shell-chamber-host='main'],
  .shell-body[data-viewport-governance='ready'][data-action-admission='side'][data-support-chamber]:not([data-support-chamber='closed']) [data-shell-chamber-host='main'] {
    grid-template-columns: minmax(0, 1.08fr) minmax(var(--avg-action-min-inline), min(38vw, var(--avg-action-max-inline))) !important;
    grid-template-areas: 'viewport action' !important;
    gap: clamp(0.35rem, 0.8vw, 0.65rem) !important;
  }

  .shell-body[data-viewport-governance='ready'][data-action-admission='side'] [data-action-chamber-root] .support-chamber__window,
  .shell-body[data-viewport-governance='ready'][data-action-admission='side'] [data-action-chamber-root] .action-chamber__window,
  .shell-body[data-viewport-governance='ready'][data-action-admission='side'] [data-support-chamber-root] .support-chamber__window,
  .shell-body[data-viewport-governance='ready'][data-action-admission='side'] [data-support-chamber-root] .action-chamber__window {
    inline-size: 100% !important;
    max-inline-size: var(--avg-action-max-inline, 22.5rem) !important;
    justify-self: stretch !important;
  }

  .shell-body[data-soft-keyboard-guard='active'][data-action-admission='side'] [data-action-chamber-root] .support-chamber__window,
  .shell-body[data-soft-keyboard-guard='active'][data-action-admission='side'] [data-action-chamber-root] .action-chamber__window,
  .shell-body[data-soft-keyboard-guard='active'][data-action-admission='side'] [data-support-chamber-root] .support-chamber__window,
  .shell-body[data-soft-keyboard-guard='active'][data-action-admission='side'] [data-support-chamber-root] .action-chamber__window {
    block-size: 100% !important;
    max-block-size: var(--shell-chamber-main-block-measured, var(--soft-keyboard-stable-block, 100svh)) !important;
  }
}
/* production-css: end shared/styles/shell/adaptive-viewport.css */


/* production-css: begin shared/styles/cover/adaptive-display.css */
/* adaptive-display.css
   Cover display adapter consumer layer.

   The platform-level Adaptive Governance engine now owns display profile,
   density, route flow, and fit policy. Spatial Registration owns native element
   geometry. This stylesheet consumes adaptive display state for containment,
   first-paint fallback, and polish only.
*/

:root {
  --cover-display-inline: 100%;
  --cover-display-block: 100%;
  --cover-display-aspect-value: 1.61;
  --cover-display-frame-ratio: 1.61;
  --cover-display-fill-inline: 0.99;
  --cover-display-fill-block: 0.99;
  --cover-display-safe-gap: 2px;
  --cover-display-identity-scale: 1;
  --cover-display-route-scale: 1;
}

.shell-cover[data-cover-display-governance='ready'][data-cover-contract='synapse-cover-v2'] {
  --cover-canvas-ratio: var(--cover-display-frame-ratio, var(--reg-canvas-ratio, 1536 / 1024));
  --cover-canvas-fill-height: var(--cover-display-fill-block-percent, 99%);
  --cover-canvas-max-inline-size: var(--cover-display-fill-inline-percent, 99%);
  --cover-canvas-max-block-size: var(--cover-display-fill-block-percent, 99%);
  --shell-chamber-safe-gap: var(--cover-display-safe-gap, 2px);
  --cover-adaptive-display-polish: active;
}

[data-shell-cover-chamber][data-cover-display-governance='ready']
  .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__coordinate,
[data-shell-cover-chamber][data-cover-display-governance='ready']
  .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__registration-frame,
[data-shell-cover-chamber][data-cover-display-governance='ready']
  .shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-registration-frame] {
  aspect-ratio: var(--cover-display-frame-ratio, 1.61) !important;
  max-inline-size: var(--cover-display-fill-inline-percent, 99%) !important;
  max-block-size: var(--cover-display-fill-block-percent, 99%) !important;
}

.shell-cover[data-cover-display-governance='ready'][data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-case {
  border-radius: clamp(1.1rem, 3.1vw, 2.8rem) !important;
  box-shadow:
    0 0.78rem 1.7rem rgba(16,37,63,0.075),
    inset 0 0 0 1px rgba(255,255,255,0.72),
    inset 0 -1rem 2.1rem rgba(164,132,72,0.062) !important;
}

.shell-cover[data-cover-display-governance='ready'][data-tablet-contract='synapse-clinical-tablet-v1'] .shell-cover__native-main-field {
  border-radius: clamp(0.78rem, 2.2vw, 1.72rem) !important;
}

.shell-cover[data-cover-display-governance='ready'][data-cover-contract='synapse-cover-v2'] .shell-cover__identity {
  transform: scale(var(--cover-display-identity-scale, 1));
  transform-origin: center center;
}

.shell-cover[data-cover-display-governance='ready'][data-cover-contract='synapse-cover-v2'] .shell-cover__route {
  transform-origin: center center;
}

.shell-cover[data-cover-display-governance='ready'][data-cover-display-profile='side-compressed'] .shell-cover__route,
.shell-cover[data-cover-display-governance='ready'][data-cover-display-profile='critical-min'] .shell-cover__route {
  font-size: calc(1em * var(--cover-display-route-scale, 0.9));
}

.shell-cover[data-cover-display-governance='ready'][data-cover-display-profile='critical-min'] .shell-cover__native-corner-lattice,
.shell-cover[data-cover-display-governance='ready'][data-cover-display-profile='critical-min'] .shell-cover__native-terminal-dots,
.shell-cover[data-cover-display-governance='ready'][data-cover-display-profile='critical-min'] .shell-cover__native-sensor-dot-array,
.shell-cover[data-cover-display-governance='ready'][data-cover-display-profile='side-compressed'] .shell-cover__native-corner-lattice {
  opacity: 0.16 !important;
}

.shell-body[data-cover-display-debug='true'] [data-shell-cover-chamber],
.shell-body[data-cover-display-debug='true'] .shell-cover[data-cover-contract='synapse-cover-v2'],
.shell-body[data-cover-display-debug='true'] .shell-cover__registration-frame {
  outline: 1px dotted rgba(15,95,100,0.58) !important;
  outline-offset: -2px;
}
/* production-css: end shared/styles/cover/adaptive-display.css */


/* production-css: begin shared/styles/cover/object-field.css */
/* object-field.css
   Consumer layer for the cover Registered Object Field.
   The solver publishes object role/priority/mode; CSS only polishes.
*/
.shell-cover[data-cover-object-field='ready'],
.shell-body[data-cover-object-field='ready'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] {
  --cover-object-identity-scale: var(--cover-object-identity-scale, 1);
  --cover-object-route-scale: var(--cover-object-route-scale, 1);
  --cover-object-stylus-scale: var(--cover-object-stylus-scale, 1);
  --cover-object-trace-opacity: var(--cover-object-trace-opacity, 1);
}

[data-object-field-authority='cover-object-field-governor'] {
  transform-origin: center center;
}

[data-object-field-role='brand-anchor'],
.shell-cover__brand-zone[data-object-field-authority='cover-object-field-governor'] {
  scale: var(--object-field-scale, var(--cover-object-identity-scale, 1));
}

[data-object-field-role='primary-navigation'],
.shell-cover__routes-zone[data-object-field-authority='cover-object-field-governor'],
.shell-cover__routes[data-object-field-authority='cover-object-field-governor'] {
  scale: var(--object-field-scale, var(--cover-object-route-scale, 1));
}

[data-object-field-role='instrument-accent'],
[data-object-field-role='instrument-dock'] {
  scale: var(--object-field-scale, var(--cover-object-stylus-scale, 1));
}

[data-object-field-role='diagnostic-detail'] {
  opacity: var(--cover-object-trace-opacity, 1);
}

.shell-body[data-cover-object-role='stable-background'][data-action-admission='sheet'] [data-shell-cover-chamber],
.shell-body[data-cover-object-role='stable-background'][data-action-admission='promoted'] [data-shell-cover-chamber] {
  pointer-events: none;
}

.shell-body[data-cover-object-profile='portrait-auth-sheet'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
.shell-body[data-cover-object-profile='portrait-action-sheet'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] {
  --cover-display-route-scale: var(--cover-object-route-scale, 0.9);
  --cover-display-identity-scale: var(--cover-object-identity-scale, 0.94);
}

.shell-body[data-cover-object-profile='landscape-auth-side'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
.shell-body[data-cover-object-profile='landscape-action-side'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] {
  --cover-display-route-scale: var(--cover-object-route-scale, 0.88);
  --cover-display-identity-scale: var(--cover-object-identity-scale, 0.92);
}
/* production-css: end shared/styles/cover/object-field.css */


/* production-css: begin shared/styles/cover/construct-system.css */
/* construct.css
   Cover Construct Authority v3

   This layer is not a redesign pass. It consumes fabric-owned construct state,
   constrains old donor visuals as construct atoms, and keeps CSS in its proper
   finish/material role while native registration projects solved geometry.
*/

html[data-cover-construct-engine='v3'],
html[data-cover-construct-engine='fabric-owned-cover-construct-system'],
body[data-cover-construct-engine='v3'],
body[data-cover-construct-engine='fabric-owned-cover-construct-system'],
.shell-cover[data-cover-construct-engine='v3'],
.shell-cover[data-cover-construct-engine='fabric-owned-cover-construct-system'],
.shell-cover[data-cover-construct-system='fabric-owned'] {
  --cover-construct-css-layer: fabric-owned-construct-finish-layer;
  --cover-native-authority: projection-only;
  --cover-construct-identity-scale: var(--cover-construct-identity-scale, 1);
  --cover-construct-route-scale: var(--cover-construct-route-scale, 1);
  --cover-construct-stylus-scale: var(--cover-construct-stylus-scale, 1);
  --cover-construct-trace-opacity: var(--cover-construct-trace-opacity, 0.72);
  --cover-construct-object-overflow: hidden;
}

.shell-cover[data-cover-construct-engine='v3'],
.shell-cover[data-cover-construct-engine='fabric-owned-cover-construct-system'] {
  --cover-native-authority: projection-only;
  overflow: hidden !important;
  contain: layout paint style;
}

.shell-cover[data-cover-layer-model='fabric-owned-construct-projection'] [data-cover-parent-registration-frame],
.shell-cover[data-cover-construct-engine='v3'] [data-cover-parent-registration-frame],
.shell-cover[data-cover-construct-engine='fabric-owned-cover-construct-system'] [data-cover-parent-registration-frame] {
  overflow: hidden !important;
  isolation: isolate;
}

.shell-cover[data-cover-construct-engine='v3'] [data-cover-atom] {
  --cover-atom-authority: construct-owned;
}

.shell-cover[data-cover-construct-engine='v3'] [data-cover-atom-state='hidden'],
.shell-cover[data-cover-construct-engine='v3'] [data-cover-atom-visibility='hidden'] {
  opacity: 0 !important;
  pointer-events: none !important;
}

.shell-cover[data-cover-construct-engine='v3'] [data-cover-atom-state='soft'],
.shell-cover[data-cover-construct-engine='v3'] [data-cover-atom-visibility='soft'] {
  opacity: min(1, max(0, var(--cover-construct-trace-opacity, 0.54)));
}

.shell-cover[data-cover-construct-engine='v3'] .shell-cover__identity,
.shell-cover[data-cover-construct-engine='v3'] .shell-cover__brand-zone {
  transform-origin: center center;
  scale: var(--cover-construct-identity-scale, 1);
  max-inline-size: 100%;
  min-inline-size: 0;
}

.shell-cover[data-cover-construct-engine='v3'] .shell-cover__title,
.shell-cover[data-cover-construct-engine='v3'] .shell-cover__subtitle,
.shell-cover[data-cover-construct-engine='v3'] .shell-cover__route-label {
  max-inline-size: 100%;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.shell-cover[data-cover-construct-engine='v3'] .shell-cover__routes,
.shell-cover[data-cover-construct-engine='v3'] .shell-cover__routes-zone {
  min-inline-size: 0;
  max-inline-size: 100%;
  transform-origin: center center;
}

.shell-cover[data-cover-construct-engine='v3'] .shell-cover__route {
  scale: var(--cover-construct-route-scale, 1);
  transform-origin: center center;
  min-inline-size: 0;
  max-inline-size: 100%;
}

.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'],
.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument'],
.shell-cover[data-cover-construct-target-key='mobile-landscape-compact-instrument'] {
  --cover-construct-trace-opacity: 0.32;
  --cover-construct-route-gap: clamp(0.18rem, 0.8vw, 0.44rem);
}

.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] .shell-cover__content-card,
.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument'] .shell-cover__content-card {
  overflow: hidden !important;
}

.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] .shell-cover__routes,
.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument'] .shell-cover__routes {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  justify-content: center;
  gap: var(--cover-construct-route-gap);
}

.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] .shell-cover__route,
.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument'] .shell-cover__route {
  min-block-size: 0;
  max-block-size: 100%;
}

.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] [data-cover-atom='instrumentDock'],
.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument'] [data-cover-atom='instrumentDock'] {
  scale: var(--cover-construct-stylus-scale, 0.72);
}

.shell-cover[data-cover-construct='wide-clinical-workstation'],
.shell-cover[data-cover-visible-construct='wide-clinical-workstation'] {
  --cover-construct-trace-opacity: 0.78;
}

.shell-cover[data-cover-construct='wide-clinical-workstation'] .shell-cover__routes,
.shell-cover[data-cover-visible-construct='wide-clinical-workstation'] .shell-cover__routes {
  gap: clamp(0.45rem, 1vw, 0.9rem);
}

.shell-cover[data-cover-construct='action-background-device'],
.shell-cover[data-cover-visible-construct='action-background-device'] {
  --cover-construct-trace-opacity: 0.38;
  --cover-background-device-opacity: 0.72;
}

.shell-cover[data-cover-construct='action-background-device'] .shell-cover__content-card,
.shell-cover[data-cover-visible-construct='action-background-device'] .shell-cover__content-card {
  opacity: var(--cover-background-device-opacity);
}

.shell-cover[data-cover-construct='action-background-device'] .shell-cover__route,
.shell-cover[data-cover-visible-construct='action-background-device'] .shell-cover__route {
  pointer-events: none;
}

.shell-cover[data-cover-construct='rotation-held-presented-state'],
.shell-cover[data-cover-construct-state='held-presented-state'],
.shell-cover[data-cover-construct-presentation-state='held-presented-state'] {
  transition: none !important;
}

.shell-cover[data-cover-construct='rotation-held-presented-state'] *,
.shell-cover[data-cover-construct-state='held-presented-state'] *,
.shell-cover[data-cover-construct-presentation-state='held-presented-state'] * {
  transition-duration: 0s !important;
}

.shell-cover[data-cover-construct='minimal-safe-cover'],
.shell-cover[data-cover-visible-construct='minimal-safe-cover'] {
  --cover-construct-trace-opacity: 0;
  --cover-construct-stylus-scale: 0.72;
}

.shell-cover[data-cover-construct='minimal-safe-cover'] [data-cover-atom='instrumentDock'],
.shell-cover[data-cover-visible-construct='minimal-safe-cover'] [data-cover-atom='instrumentDock'],
.shell-cover[data-cover-construct='minimal-safe-cover'] [data-cover-atom='traceLayer'],
.shell-cover[data-cover-visible-construct='minimal-safe-cover'] [data-cover-atom='traceLayer'] {
  opacity: 0 !important;
  pointer-events: none !important;
}

.shell-cover[data-cover-construct-engine='v3'] .shell-cover__trace-asset {
  opacity: var(--cover-construct-trace-opacity, 0.72);
}

@media (orientation: landscape) and (max-height: 540px) {
  .shell-cover[data-cover-construct-engine='v3']:not([data-cover-construct='wide-clinical-workstation']),
  .shell-cover[data-cover-construct-engine='fabric-owned-cover-construct-system']:not([data-cover-construct='wide-clinical-workstation']) {
    --cover-construct-identity-scale: min(var(--cover-construct-identity-scale, 0.9), 0.84);
    --cover-construct-route-scale: min(var(--cover-construct-route-scale, 0.9), 0.84);
    --cover-construct-stylus-scale: min(var(--cover-construct-stylus-scale, 0.72), 0.64);
    --cover-construct-trace-opacity: min(var(--cover-construct-trace-opacity, 0.34), 0.3);
  }
}


/* Engine-name compatibility: runtime publishes the concrete engine name, while
   earlier test fixtures used the short v3 token. */
html[data-cover-construct-engine='fabric-owned-cover-construct-system'],
body[data-cover-construct-engine='fabric-owned-cover-construct-system'],
.shell-cover[data-cover-construct-engine='fabric-owned-cover-construct-system'] {
  --cover-construct-css-layer: fabric-owned-construct-finish-layer;
  --cover-native-authority: projection-only;
  overflow: hidden;
}
.shell-cover[data-cover-construct-engine='fabric-owned-cover-construct-system'] [data-cover-parent-registration-frame] {
  overflow: hidden !important;
  isolation: isolate;
}
.shell-cover[data-cover-construct-engine='fabric-owned-cover-construct-system'] [data-cover-atom] {
  --cover-atom-authority: construct-owned;
}
.shell-cover[data-cover-construct-engine='fabric-owned-cover-construct-system'] [data-cover-atom-visibility='hidden'] {
  opacity: 0 !important;
  pointer-events: none !important;
}
.shell-cover[data-cover-construct-engine='fabric-owned-cover-construct-system'] .shell-cover__trace-asset {
  opacity: var(--cover-construct-trace-opacity, 0.72);
}
/* production-css: end shared/styles/cover/construct-system.css */


/* production-css: begin shared/styles/cover/native-fidelity.css */
/* native-fidelity.css
   Cover Construct Authority v3 — Wave 2 Native Object Fidelity

   This layer is intentionally late in the cover stack. It does not choose the
   cover construct; it consumes fabric-owned construct keys and upgrades donor
   cover atoms into native-feeling object materials. The important correction is
   that compact mobile landscape overrides the legacy workstation motif without
   becoming a separate layout authority.
*/

:where(.shell-cover[data-cover-construct-authority='fabric-owned-cover-construct-authority']),
:where(.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity']) {
  --cover-native-fidelity-layer: wave-2-native-object-fidelity;
  --cover-native-fidelity-authority: construct-consumer;
  --cover-fidelity-chassis-depth: var(--cover-fidelity-chassis-depth, 1);
  --cover-fidelity-glass-depth: var(--cover-fidelity-glass-depth, 1);
  --cover-fidelity-route-density: var(--cover-fidelity-route-density, 1);
  --cover-fidelity-route-opacity: var(--cover-fidelity-route-opacity, 1);
  --cover-fidelity-sigil-opacity: var(--cover-fidelity-sigil-opacity, 1);
  --cover-fidelity-edge-line: color-mix(in srgb, rgba(180, 255, 230, 0.34) 58%, transparent);
  --cover-fidelity-glass-line: color-mix(in srgb, rgba(200, 255, 245, 0.28) 54%, transparent);
  --cover-fidelity-recess-shadow: 0 0 calc(0.55rem * var(--cover-fidelity-glass-depth, 1)) rgba(13, 34, 46, 0.64) inset;
  --cover-fidelity-nameplate-fill: linear-gradient(180deg, rgba(16, 31, 43, 0.72), rgba(6, 17, 26, 0.44));
  --cover-fidelity-route-fill: linear-gradient(180deg, rgba(210, 255, 245, 0.070), rgba(27, 67, 78, 0.090));
  --cover-fidelity-trace-opacity: var(--cover-construct-trace-opacity, 0.46);
  --cover-construct-css-authority: native-fidelity-polish-only;
}

.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] {
  isolation: isolate;
  overflow: hidden !important;
  contain: layout paint style;
}

.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__native-case {
  background:
    radial-gradient(circle at 18% 6%, rgba(222, 255, 247, calc(0.080 * var(--cover-fidelity-chassis-depth, 1))), transparent 32%),
    radial-gradient(circle at 84% 94%, rgba(45, 211, 189, calc(0.065 * var(--cover-fidelity-chassis-depth, 1))), transparent 34%),
    linear-gradient(145deg, rgba(17, 35, 45, 0.965), rgba(6, 16, 24, 0.985) 58%, rgba(10, 24, 31, 0.965)) !important;
  border: 1px solid color-mix(in srgb, var(--cover-fidelity-edge-line) 70%, rgba(4, 12, 18, 0.86));
  box-shadow:
    0 calc(0.95rem * var(--cover-fidelity-chassis-depth, 1)) calc(2.8rem * var(--cover-fidelity-chassis-depth, 1)) rgba(0, 0, 0, 0.34),
    0 0 0 1px rgba(210, 255, 245, 0.050) inset,
    0 0 calc(1.05rem * var(--cover-fidelity-chassis-depth, 1)) rgba(117, 236, 212, 0.055) inset !important;
}

.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__native-case::before {
  opacity: calc(0.58 * var(--cover-fidelity-chassis-depth, 1)) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.14), transparent 24%, transparent 72%, rgba(18, 255, 215, 0.10)),
    radial-gradient(circle at 50% 0%, rgba(207, 255, 243, 0.13), transparent 48%) !important;
  pointer-events: none;
}

.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__native-screen-well,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__native-main-field,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__native-diagnostic-screen,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] [data-cover-atom='glassDeck'] {
  border-color: var(--cover-fidelity-glass-line) !important;
  box-shadow:
    var(--cover-fidelity-recess-shadow),
    0 0 0 1px rgba(220, 255, 248, calc(0.040 * var(--cover-fidelity-glass-depth, 1))) inset,
    0 calc(0.28rem * var(--cover-fidelity-glass-depth, 1)) calc(1.3rem * var(--cover-fidelity-glass-depth, 1)) rgba(0, 0, 0, 0.22) !important;
}

.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__native-main-field::after,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__native-diagnostic-screen::after {
  opacity: calc(0.48 * var(--cover-fidelity-glass-depth, 1)) !important;
  background:
    linear-gradient(115deg, rgba(255, 255, 255, 0.18), transparent 18%, transparent 68%, rgba(102, 245, 218, 0.08)),
    radial-gradient(circle at 18% 10%, rgba(209, 255, 247, 0.10), transparent 38%) !important;
}

.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__identity,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__brand-zone {
  background: var(--cover-fidelity-nameplate-fill) !important;
  border: 1px solid color-mix(in srgb, rgba(207, 255, 245, 0.20) 54%, transparent) !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.026) inset,
    0 0 1.15rem rgba(91, 228, 204, 0.052) inset !important;
  transform-origin: center center;
  scale: var(--cover-construct-identity-scale, 1);
  max-inline-size: 100%;
  min-inline-size: 0;
}

.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__title,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__subtitle,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__eyebrow {
  max-inline-size: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__routes-zone {
  isolation: isolate;
  max-inline-size: 100%;
  min-inline-size: 0;
}

.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__routes-zone::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: -4.5% -3% -4%;
  border-radius: clamp(0.58rem, 1.8vw, 1.08rem);
  background: var(--cover-fidelity-route-fill);
  border: 1px solid rgba(206, 255, 246, calc(0.075 * var(--cover-fidelity-route-opacity, 1)));
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.020) inset,
    0 0 1.2rem rgba(8, 24, 31, 0.36) inset;
  pointer-events: none;
}

.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__route {
  opacity: var(--cover-fidelity-route-opacity, 1) !important;
  background:
    linear-gradient(180deg, rgba(235, 255, 250, 0.072), rgba(15, 44, 54, 0.11)) !important;
  border-color: rgba(205, 255, 246, calc(0.115 * var(--cover-fidelity-route-opacity, 1))) !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.024) inset,
    0 0 0.82rem rgba(15, 244, 210, calc(0.022 * var(--cover-fidelity-route-opacity, 1))) inset !important;
  scale: var(--cover-construct-route-scale, 1);
  transform-origin: center center;
  min-inline-size: 0;
  max-inline-size: 100%;
}

.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__native-rail-slot,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__native-stylus-instrument {
  scale: var(--cover-construct-stylus-scale, 1);
  transform-origin: center center;
}

.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__native-stylus-body,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__native-stylus-barrel {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.20), rgba(129, 229, 211, 0.13) 28%, rgba(9, 31, 40, 0.76) 66%, rgba(255, 255, 255, 0.10)) !important;
  box-shadow:
    0 0 0 1px rgba(214, 255, 247, 0.12) inset,
    0 0 0.75rem rgba(1, 7, 10, 0.44) inset !important;
}

.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__native-sigil-badge,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] [data-cover-atom='sigilModule'] {
  opacity: var(--cover-fidelity-sigil-opacity, 1) !important;
}

.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__trace-asset,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] [data-cover-atom='traceLayer'],
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] [data-native-part='diagnostic-lattice'],
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] [data-native-part='diagnostic-port-strip'],
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] [data-native-part='dock-contacts'] {
  opacity: var(--cover-fidelity-trace-opacity, var(--cover-construct-trace-opacity, 0.46)) !important;
}

/* Portrait: author as one manufactured handheld diagnostic device. */
.shell-cover[data-cover-construct-key='portrait-handheld-diagnostic-device'],
.shell-cover[data-cover-construct='portrait-handheld-diagnostic-device'],
.shell-cover[data-cover-visible-construct='portrait-handheld-diagnostic-device'] {
  --cover-native-object-form: portrait-handheld-diagnostic-device;
  --cover-route-icon-size: clamp(1.14rem, 4.72vw, 1.68rem);
  --cover-route-label-size: clamp(0.42rem, 1.84vw, 0.62rem);
  --cover-fidelity-trace-opacity: var(--cover-construct-trace-opacity, 0.46);
}

.shell-cover[data-cover-construct-key='portrait-handheld-diagnostic-device'] .shell-cover__native-case,
.shell-cover[data-cover-construct='portrait-handheld-diagnostic-device'] .shell-cover__native-case,
.shell-cover[data-cover-visible-construct='portrait-handheld-diagnostic-device'] .shell-cover__native-case {
  border-radius: clamp(1.38rem, 6vw, 2.55rem) !important;
}

/* Compact mobile landscape: shallow diagnostic slab, not legacy workstation. */
.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'],
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'],
.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument'],
.shell-cover[data-cover-construct-object-form='compact-horizontal-diagnostic-slab'] {
  --cover-workstation-optics-wave: wave-2-compact-slab-overrides-legacy-workstation;
  --cover-native-object-form: compact-horizontal-diagnostic-slab;
  --cover-native-canvas-ratio: var(--cover-construct-frame-ratio, 2.24);
  --cover-fidelity-chassis-depth: 0.72;
  --cover-fidelity-glass-depth: 0.68;
  --cover-fidelity-route-density: 0.72;
  --cover-fidelity-route-opacity: 0.94;
  --cover-fidelity-sigil-opacity: 0.72;
  --cover-fidelity-trace-opacity: 0.14;
  --cover-route-icon-size: clamp(0.72rem, min(3.22vh, 1.24vw), 1.05rem);
  --cover-route-label-size: clamp(0.22rem, min(0.84vh, 0.38vw), 0.34rem);
  --cover-route-icon-bay-block: clamp(0.86rem, 3.52vh, 1.32rem);
  --cover-route-label-min-block: clamp(0.38rem, 1.18vh, 0.60rem);
  --cover-route-divider-block: clamp(1px, 0.18vh, 2px);
  --cover-route-stack-gap: clamp(0.03rem, 0.12vh, 0.08rem);
  --cover-route-tile-gap: clamp(0.10rem, 0.38vw, 0.26rem);
}

.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'] .shell-cover__native-case,
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] .shell-cover__native-case,
.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument'] .shell-cover__native-case {
  border-radius: clamp(0.74rem, 3.2vh, 1.14rem) !important;
  background:
    linear-gradient(160deg, rgba(17, 35, 45, 0.98), rgba(4, 15, 23, 0.99) 62%, rgba(13, 31, 39, 0.96)) !important;
  box-shadow:
    0 0.56rem 1.85rem rgba(0, 0, 0, 0.31),
    0 0 0 1px rgba(211, 255, 247, 0.045) inset,
    0 0 0.72rem rgba(91, 227, 204, 0.035) inset !important;
}

.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'] .shell-cover__native-screen-well,
.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'] .shell-cover__native-main-field,
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] .shell-cover__native-screen-well,
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] .shell-cover__native-main-field,
.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument'] .shell-cover__native-screen-well,
.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument'] .shell-cover__native-main-field {
  border-radius: clamp(0.52rem, 2.3vh, 0.86rem) !important;
  box-shadow:
    0 0 0.46rem rgba(3, 18, 25, 0.70) inset,
    0 0 0 1px rgba(204, 255, 245, 0.052) inset !important;
}

.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'] .shell-cover__content-card,
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] .shell-cover__content-card,
.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument'] .shell-cover__content-card {
  inline-size: min(100%, 34rem) !important;
  max-inline-size: 100% !important;
  min-inline-size: 0 !important;
  border-radius: clamp(0.42rem, 1.8vh, 0.72rem) !important;
  overflow: hidden !important;
}

.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'] .shell-cover__identity,
.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'] .shell-cover__brand-zone,
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] .shell-cover__identity,
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] .shell-cover__brand-zone,
.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument'] .shell-cover__identity,
.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument'] .shell-cover__brand-zone {
  inline-size: min(100%, 18rem) !important;
  padding-block: clamp(0.18rem, 0.78vh, 0.36rem) !important;
  padding-inline: clamp(0.42rem, 1.4vw, 0.76rem) !important;
  border-radius: clamp(0.34rem, 1.5vh, 0.58rem) !important;
}

.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'] .shell-cover__title,
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] .shell-cover__title,
.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument'] .shell-cover__title {
  inline-size: min(100%, 16rem) !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: clamp(0.06em, 0.14vw, 0.14em) !important;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  font-size: clamp(0.72rem, min(3.08vh, 1.15vw), 1.00rem) !important;
  line-height: 0.86 !important;
  letter-spacing: -0.043em !important;
}

.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'] .shell-cover__subtitle,
.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'] .shell-cover__eyebrow,
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] .shell-cover__subtitle,
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] .shell-cover__eyebrow,
.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument'] .shell-cover__subtitle,
.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument'] .shell-cover__eyebrow {
  inline-size: min(82%, 13rem) !important;
  max-inline-size: 82% !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: clamp(0.20rem, min(0.78vh, 0.32vw), 0.31rem) !important;
  letter-spacing: clamp(0.06em, 0.11vw, 0.12em) !important;
}

.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'] .shell-cover__routes-zone,
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] .shell-cover__routes-zone,
.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument'] .shell-cover__routes-zone {
  inline-size: min(100%, 30rem) !important;
  max-inline-size: 100% !important;
  padding-block: clamp(0.10rem, 0.42vh, 0.22rem) !important;
  padding-inline: clamp(0.18rem, 0.64vw, 0.44rem) !important;
  overflow: hidden !important;
}

.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'] .shell-cover__routes,
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] .shell-cover__routes,
.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument'] .shell-cover__routes {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  justify-content: center !important;
  gap: var(--cover-route-tile-gap, 0.18rem) !important;
  min-inline-size: 0 !important;
  max-inline-size: 100% !important;
}

.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'] .shell-cover__route,
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] .shell-cover__route,
.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument'] .shell-cover__route {
  min-inline-size: 0 !important;
  max-inline-size: 100% !important;
  min-block-size: 0 !important;
  padding: clamp(0.07rem, 0.30vh, 0.16rem) clamp(0.10rem, 0.36vw, 0.22rem) !important;
  grid-template-rows: minmax(0, var(--cover-route-icon-bay-block)) var(--cover-route-divider-block) var(--cover-route-label-min-block) !important;
  border-radius: clamp(0.26rem, 1.12vh, 0.46rem) !important;
  overflow: hidden !important;
}

.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'] .shell-cover__route-icon-zone,
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] .shell-cover__route-icon-zone,
.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument'] .shell-cover__route-icon-zone {
  min-block-size: var(--cover-route-icon-bay-block) !important;
}

.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'] .shell-cover__route-label,
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] .shell-cover__route-label,
.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument'] .shell-cover__route-label {
  max-inline-size: 100% !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'] .shell-cover__native-stylus-instrument,
.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'] .shell-cover__native-rail-slot,
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] .shell-cover__native-stylus-instrument,
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] .shell-cover__native-rail-slot,
.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument'] .shell-cover__native-stylus-instrument,
.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument'] .shell-cover__native-rail-slot {
  opacity: 0.56 !important;
}

.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'] .shell-cover__native-stylus-clip,
.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'] .shell-cover__native-stylus-button,
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] .shell-cover__native-stylus-clip,
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] .shell-cover__native-stylus-button,
.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument'] .shell-cover__native-stylus-clip,
.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument'] .shell-cover__native-stylus-button {
  opacity: 0.24 !important;
}

.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'] .shell-cover__trace-asset,
.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'] [data-native-part='diagnostic-lattice'],
.shell-cover[data-cover-construct-key='mobile-landscape-compact-instrument'] [data-native-part='diagnostic-port-strip'],
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] .shell-cover__trace-asset,
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] [data-native-part='diagnostic-lattice'],
.shell-cover[data-cover-construct='mobile-landscape-compact-instrument'] [data-native-part='diagnostic-port-strip'],
.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument'] .shell-cover__trace-asset,
.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument'] [data-native-part='diagnostic-lattice'],
.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument'] [data-native-part='diagnostic-port-strip'] {
  opacity: 0.14 !important;
}

/* Wide workstation: only the true wide construct gets console richness. */
.shell-cover[data-cover-construct-key='wide-clinical-workstation'],
.shell-cover[data-cover-construct='wide-clinical-workstation'],
.shell-cover[data-cover-visible-construct='wide-clinical-workstation'] {
  --cover-native-object-form: wide-clinical-workstation-console;
  --cover-fidelity-chassis-depth: 1.08;
  --cover-fidelity-glass-depth: 1.08;
  --cover-fidelity-route-density: 1;
  --cover-fidelity-route-opacity: 1;
  --cover-fidelity-trace-opacity: var(--cover-construct-trace-opacity, 0.52);
  --cover-route-icon-size: clamp(1.08rem, min(3.12vh, 1.42vw), 1.62rem);
  --cover-route-label-size: clamp(0.36rem, min(1.06vh, 0.50vw), 0.56rem);
}

.shell-cover[data-cover-construct-key='wide-clinical-workstation'] .shell-cover__native-case,
.shell-cover[data-cover-construct='wide-clinical-workstation'] .shell-cover__native-case,
.shell-cover[data-cover-visible-construct='wide-clinical-workstation'] .shell-cover__native-case {
  border-radius: clamp(1rem, 2.4vw, 1.88rem) !important;
}

.shell-cover[data-cover-construct-key='wide-clinical-workstation'] .shell-cover__identity,
.shell-cover[data-cover-construct='wide-clinical-workstation'] .shell-cover__identity,
.shell-cover[data-cover-visible-construct='wide-clinical-workstation'] .shell-cover__identity {
  inline-size: min(100%, 36rem) !important;
}

.shell-cover[data-cover-construct-key='wide-clinical-workstation'] .shell-cover__routes-zone,
.shell-cover[data-cover-construct='wide-clinical-workstation'] .shell-cover__routes-zone,
.shell-cover[data-cover-visible-construct='wide-clinical-workstation'] .shell-cover__routes-zone {
  inline-size: min(100%, 42rem) !important;
}

/* Action/background and minimal safe states keep object identity but reduce optical competition. */
.shell-cover[data-cover-construct-key='action-background-device'],
.shell-cover[data-cover-construct='action-background-device'],
.shell-cover[data-cover-visible-construct='action-background-device'] {
  --cover-native-object-form: receded-action-background-device;
  --cover-fidelity-chassis-depth: 0.74;
  --cover-fidelity-glass-depth: 0.62;
  --cover-fidelity-route-opacity: 0.62;
  --cover-fidelity-sigil-opacity: 0.62;
  --cover-fidelity-trace-opacity: 0.16;
  filter: saturate(0.92) contrast(0.95) brightness(0.94);
}

.shell-cover[data-cover-construct-key='minimal-safe-cover'],
.shell-cover[data-cover-construct='minimal-safe-cover'],
.shell-cover[data-cover-visible-construct='minimal-safe-cover'] {
  --cover-native-object-form: minimal-safe-diagnostic-casing;
  --cover-fidelity-chassis-depth: 0.52;
  --cover-fidelity-glass-depth: 0.48;
  --cover-fidelity-route-opacity: 0.42;
  --cover-fidelity-sigil-opacity: 0.44;
  --cover-fidelity-trace-opacity: 0;
}

.shell-cover[data-cover-construct-key='minimal-safe-cover'] [data-cover-atom='instrumentDock'],
.shell-cover[data-cover-construct-key='minimal-safe-cover'] [data-cover-atom='traceLayer'],
.shell-cover[data-cover-construct='minimal-safe-cover'] [data-cover-atom='instrumentDock'],
.shell-cover[data-cover-construct='minimal-safe-cover'] [data-cover-atom='traceLayer'] {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Rotation hold: do not animate half-constructed atom states. */
.shell-cover[data-cover-construct-key='rotation-held-presented-state'],
.shell-cover[data-cover-construct='rotation-held-presented-state'] {
  --cover-native-object-form: last-good-presented-cover-object;
  --cover-presented-state-object-hold: active;
}

.shell-cover[data-cover-construct-key='rotation-held-presented-state'] *,
.shell-cover[data-cover-construct='rotation-held-presented-state'] * {
  transition-duration: 0ms !important;
  animation-duration: 0ms !important;
}

/* Wave 2.1 feedback/performance/chroma correction
   Keeps Wave 2 as a construct-consumer while restoring native cover color and
   making route taps visibly acknowledge before the action chamber finishes. */
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] {
  --cover-fidelity-edge-line: rgba(42, 145, 150, 0.38);
  --cover-fidelity-glass-line: rgba(70, 178, 176, 0.24);
  --cover-fidelity-recess-shadow: 0 0 calc(0.42rem * var(--cover-fidelity-glass-depth, 1)) rgba(33, 74, 78, 0.30) inset;
  --cover-fidelity-nameplate-fill:
    linear-gradient(180deg, rgba(26, 58, 72, 0.86), rgba(13, 42, 52, 0.72) 58%, rgba(9, 31, 40, 0.78));
  --cover-fidelity-route-fill:
    linear-gradient(180deg, rgba(255, 250, 232, 0.36), rgba(215, 242, 237, 0.24) 54%, rgba(135, 202, 196, 0.12));
  --cover-fidelity-route-opacity: max(var(--cover-fidelity-route-opacity, 1), 0.94);
  --cover-fidelity-trace-opacity: min(var(--cover-fidelity-trace-opacity, 0.36), 0.38);
  --synapse-cover-wave2-1-feedback: public-boot-route-chroma-correction;
  filter: none;
}

.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__native-case {
  background:
    radial-gradient(circle at 14% 4%, rgba(250, 246, 218, calc(0.14 * var(--cover-fidelity-chassis-depth, 1))), transparent 30%),
    radial-gradient(circle at 86% 94%, rgba(42, 175, 170, calc(0.12 * var(--cover-fidelity-chassis-depth, 1))), transparent 36%),
    linear-gradient(145deg, rgba(83, 106, 105, 0.92), rgba(55, 83, 86, 0.96) 50%, rgba(32, 69, 76, 0.94)) !important;
  border-color: rgba(36, 119, 126, 0.42) !important;
  box-shadow:
    0 calc(0.72rem * var(--cover-fidelity-chassis-depth, 1)) calc(2.1rem * var(--cover-fidelity-chassis-depth, 1)) rgba(24, 46, 52, 0.25),
    0 0 0 1px rgba(255, 247, 211, 0.12) inset,
    0 0 calc(0.82rem * var(--cover-fidelity-chassis-depth, 1)) rgba(65, 178, 172, 0.08) inset !important;
}

.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__native-main-field,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__native-screen-well,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__native-diagnostic-screen,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] [data-cover-atom='glassDeck'] {
  background:
    radial-gradient(circle at 24% 12%, rgba(255, 255, 244, 0.56), transparent 38%),
    linear-gradient(180deg, rgba(246, 252, 242, 0.84), rgba(225, 244, 239, 0.72) 62%, rgba(236, 244, 231, 0.76)) !important;
  border-color: rgba(54, 146, 151, 0.24) !important;
  box-shadow:
    var(--cover-fidelity-recess-shadow),
    0 0 0 1px rgba(255, 247, 210, 0.16) inset,
    0 0.18rem 0.84rem rgba(32, 71, 78, 0.18) !important;
}

.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__identity,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__brand-zone {
  color: rgba(232, 246, 241, 0.96) !important;
  text-shadow: 0 1px 0 rgba(255, 248, 216, 0.15), 0 0 0.22rem rgba(25, 76, 84, 0.34) !important;
  border-color: rgba(221, 200, 139, 0.30) !important;
}

.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__routes-zone::before {
  background: var(--cover-fidelity-route-fill) !important;
  border-color: rgba(193, 173, 111, 0.28) !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 245, 0.18) inset,
    0 0 0.92rem rgba(40, 112, 118, 0.12) inset !important;
}

.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__route {
  cursor: pointer;
  touch-action: manipulation;
  pointer-events: auto !important;
  color: rgba(19, 110, 113, 0.98) !important;
  background:
    linear-gradient(180deg, rgba(255, 252, 234, 0.76), rgba(229, 247, 241, 0.66) 58%, rgba(203, 231, 226, 0.58)) !important;
  border-color: rgba(184, 156, 82, 0.36) !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 248, 0.42) inset,
    0 0.14rem 0.38rem rgba(42, 105, 112, 0.12),
    0 0 0.62rem rgba(22, 151, 151, 0.07) inset !important;
}

.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__route.is-pending,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__route.is-active,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__route.active,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__route[aria-current='true'],
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__route[aria-pressed='true'] {
  color: rgba(7, 84, 88, 1) !important;
  border-color: rgba(24, 143, 147, 0.58) !important;
  background:
    linear-gradient(180deg, rgba(255, 249, 221, 0.92), rgba(211, 244, 237, 0.78) 56%, rgba(135, 213, 207, 0.42)) !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 248, 0.62) inset,
    0 0 0 2px rgba(41, 160, 162, 0.16),
    0 0.18rem 0.62rem rgba(24, 93, 102, 0.18),
    0 0 0.75rem rgba(37, 173, 169, 0.18) inset !important;
}

.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__route-icon,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__route-svg,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__route-label {
  color: currentColor !important;
  fill: currentColor !important;
}

.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__native-case,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__native-case::before,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__native-case::after,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__native-main-field,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__native-screen-well,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__native-diagnostic-screen,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__native-access-module,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__native-glass-reflection,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__native-screen-sheen,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__trace-asset,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] [data-cover-atom='traceLayer'] {
  pointer-events: none !important;
}

.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__field,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__content-card,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__routes-zone,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__routes,
.shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__route {
  pointer-events: auto !important;
}

@media (max-width: 48rem), (pointer: coarse) {
  .shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] {
    contain: layout paint;
  }

  .shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__trace-asset,
  .shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] [data-cover-atom='traceLayer'] {
    mix-blend-mode: normal !important;
    opacity: min(var(--cover-fidelity-trace-opacity, 0.26), 0.28) !important;
  }

  .shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__native-stylus-asset,
  .shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__route-icon,
  .shell-cover[data-cover-native-fidelity-wave='wave-2-native-object-fidelity'] .shell-cover__route-label {
    filter: none !important;
  }
}
/* production-css: end shared/styles/cover/native-fidelity.css */


/* production-css: begin shared/styles/cover/cover-chroma.css */
/*
  Cover Chroma Authority — Wave 2.3
  One palette owner for the fabric-owned cover. Donor/native-fidelity layers may
  supply shape and material roles, but not gray fallback color authority.
*/

:root {
  --cover-chroma-contract: "synapse-cover-chroma-contract-v1";
  --cover-chroma-wave: "wave-2-3-canonical-presented-display";
  --cover-chroma-chassis: #5c7778;
  --cover-chroma-chassis-deep: #214d57;
  --cover-chroma-chassis-edge: #2f8d91;
  --cover-chroma-glass: #eef8ef;
  --cover-chroma-glass-warm: #fff9e6;
  --cover-chroma-glass-edge: #6db3b4;
  --cover-chroma-nameplate: #0c3442;
  --cover-chroma-nameplate-deep: #082835;
  --cover-chroma-nameplate-text: #f3fbf5;
  --cover-chroma-route: #0f6f78;
  --cover-chroma-route-active: #118995;
  --cover-chroma-route-label: #f8fff7;
  --cover-chroma-route-icon: #0f7980;
  --cover-chroma-brass: #b9a36d;
  --cover-chroma-trace: rgba(48, 122, 125, 0.14);
}

:where(.shell-cover[data-cover-contract='synapse-cover-v2']),
:where([data-shell-cover][data-cover-contract='synapse-cover-v2']) {
  --cover-chroma-authority: synapse-cover-chroma-contract-v1;
  --cover-case-chroma: var(--cover-chroma-chassis);
  --cover-case-chroma-deep: var(--cover-chroma-chassis-deep);
  --cover-glass-chroma: var(--cover-chroma-glass);
  --cover-glass-edge-chroma: var(--cover-chroma-glass-edge);
  --cover-route-chroma: var(--cover-chroma-route);
  --cover-route-active-chroma: var(--cover-chroma-route-active);
  --cover-route-label-chroma: var(--cover-chroma-route-label);
  --cover-nameplate-chroma: var(--cover-chroma-nameplate);
  --cover-nameplate-text-chroma: var(--cover-chroma-nameplate-text);
  color-scheme: light;
}

:where(.shell-cover[data-cover-contract='synapse-cover-v2']) .shell-cover__native-case,
:where([data-shell-cover][data-cover-contract='synapse-cover-v2']) .shell-cover__native-case {
  background:
    linear-gradient(145deg, rgba(255, 252, 235, 0.96), rgba(222, 239, 232, 0.94) 46%, rgba(94, 122, 122, 0.7)),
    linear-gradient(180deg, rgba(35, 80, 88, 0.42), rgba(253, 247, 226, 0.34));
  border-color: rgba(47, 101, 106, 0.58);
  box-shadow:
    inset 0 0 0 1px rgba(255, 252, 230, 0.64),
    inset 0 0 32px rgba(50, 109, 115, 0.18),
    0 12px 32px rgba(15, 55, 58, 0.18);
}

:where(.shell-cover[data-cover-contract='synapse-cover-v2']) .shell-cover__native-screen-well,
:where(.shell-cover[data-cover-contract='synapse-cover-v2']) .shell-cover__native-main-field,
:where(.shell-cover[data-cover-contract='synapse-cover-v2']) .shell-cover__native-diagnostic-screen,
:where([data-shell-cover][data-cover-contract='synapse-cover-v2']) .shell-cover__native-screen-well,
:where([data-shell-cover][data-cover-contract='synapse-cover-v2']) .shell-cover__native-main-field,
:where([data-shell-cover][data-cover-contract='synapse-cover-v2']) .shell-cover__native-diagnostic-screen {
  background:
    radial-gradient(circle at 50% 16%, rgba(255, 255, 246, 0.96), rgba(238, 248, 239, 0.84) 48%, rgba(255, 249, 230, 0.72) 100%),
    linear-gradient(180deg, rgba(255, 255, 246, 0.86), rgba(221, 244, 240, 0.52));
  border-color: rgba(95, 171, 171, 0.34);
  color: #0b3741;
}

:where(.shell-cover[data-cover-contract='synapse-cover-v2']) .shell-cover__identity,
:where(.shell-cover[data-cover-contract='synapse-cover-v2']) .shell-cover__brand-zone,
:where([data-shell-cover][data-cover-contract='synapse-cover-v2']) .shell-cover__identity,
:where([data-shell-cover][data-cover-contract='synapse-cover-v2']) .shell-cover__brand-zone {
  background:
    linear-gradient(180deg, rgba(18, 63, 74, 0.98), rgba(8, 40, 53, 0.98)),
    linear-gradient(90deg, rgba(255, 246, 211, 0.2), rgba(95, 177, 178, 0.2));
  color: var(--cover-chroma-nameplate-text);
  border-color: rgba(216, 197, 128, 0.35);
  text-shadow: 0 1px 1px rgba(3, 18, 24, 0.72);
}

:where(.shell-cover[data-cover-contract='synapse-cover-v2']) .shell-cover__brand-title,
:where(.shell-cover[data-cover-contract='synapse-cover-v2']) .shell-cover__identity-title,
:where(.shell-cover[data-cover-contract='synapse-cover-v2']) [data-cover-atom='identityPlate'],
:where([data-shell-cover][data-cover-contract='synapse-cover-v2']) .shell-cover__brand-title,
:where([data-shell-cover][data-cover-contract='synapse-cover-v2']) .shell-cover__identity-title {
  color: var(--cover-chroma-nameplate-text) !important;
}

:where(.shell-cover[data-cover-contract='synapse-cover-v2']) [data-shell-cover-route],
:where([data-shell-cover][data-cover-contract='synapse-cover-v2']) [data-shell-cover-route] {
  background:
    linear-gradient(180deg, rgba(255, 252, 232, 0.92), rgba(223, 247, 244, 0.82)),
    linear-gradient(180deg, rgba(18, 111, 120, 0.18), rgba(17, 137, 149, 0.1));
  border-color: rgba(185, 163, 109, 0.48);
  color: #07343c;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(17, 137, 149, 0.18);
}

:where(.shell-cover[data-cover-contract='synapse-cover-v2']) [data-shell-cover-route] *,
:where([data-shell-cover][data-cover-contract='synapse-cover-v2']) [data-shell-cover-route] * {
  pointer-events: none;
}

:where(.shell-cover[data-cover-contract='synapse-cover-v2']) [data-shell-cover-route] .shell-cover__route-label,
:where(.shell-cover[data-cover-contract='synapse-cover-v2']) [data-shell-cover-route] [data-cover-route-label],
:where(.shell-cover[data-cover-contract='synapse-cover-v2']) [data-shell-cover-route] .state-light__label,
:where([data-shell-cover][data-cover-contract='synapse-cover-v2']) [data-shell-cover-route] .shell-cover__route-label,
:where([data-shell-cover][data-cover-contract='synapse-cover-v2']) [data-shell-cover-route] [data-cover-route-label] {
  background: linear-gradient(180deg, var(--cover-chroma-route-active), var(--cover-chroma-route));
  color: var(--cover-chroma-route-label) !important;
  border-color: rgba(255, 246, 211, 0.58);
  text-shadow: 0 1px 1px rgba(0, 30, 35, 0.75);
  letter-spacing: 0.03em;
}

:where(.shell-cover[data-cover-contract='synapse-cover-v2']) [data-shell-cover-route] svg,
:where(.shell-cover[data-cover-contract='synapse-cover-v2']) [data-shell-cover-route] .shell-cover__route-icon,
:where([data-shell-cover][data-cover-contract='synapse-cover-v2']) [data-shell-cover-route] svg,
:where([data-shell-cover][data-cover-contract='synapse-cover-v2']) [data-shell-cover-route] .shell-cover__route-icon {
  color: var(--cover-chroma-route-icon);
  stroke: currentColor;
}

:where(.shell-cover[data-cover-contract='synapse-cover-v2']) [data-shell-cover-route].is-pending,
:where(.shell-cover[data-cover-contract='synapse-cover-v2']) [data-shell-cover-route][data-cover-route-state='pending'],
:where(.shell-cover[data-cover-contract='synapse-cover-v2']) [data-shell-cover-route].is-active,
:where([data-shell-cover][data-cover-contract='synapse-cover-v2']) [data-shell-cover-route].is-pending,
:where([data-shell-cover][data-cover-contract='synapse-cover-v2']) [data-shell-cover-route][data-cover-route-state='pending'] {
  border-color: rgba(255, 246, 211, 0.85);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 246, 0.72),
    0 0 0 1px rgba(17, 137, 149, 0.38),
    0 8px 18px rgba(10, 62, 70, 0.18);
  transform: translateY(-1px);
}

:where(.shell-cover[data-cover-contract='synapse-cover-v2']) .shell-cover__native-sigil-badge,
:where([data-shell-cover][data-cover-contract='synapse-cover-v2']) .shell-cover__native-sigil-badge {
  background: linear-gradient(180deg, rgba(255, 253, 237, 0.92), rgba(228, 247, 243, 0.78));
  border-color: rgba(185, 163, 109, 0.42);
  color: #0f7078;
}

:where(.shell-cover[data-cover-contract='synapse-cover-v2']) .shell-cover__native-trace,
:where([data-shell-cover][data-cover-contract='synapse-cover-v2']) .shell-cover__native-trace {
  opacity: 0.42;
  color: var(--cover-chroma-trace);
}

:where(.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument']),
:where(.shell-cover[data-cover-construct='mobile-landscape-compact-instrument']) {
  --cover-route-icon-size: clamp(1.04rem, min(6.2vh, 2.3vw), 1.44rem);
  --cover-route-label-size: clamp(0.5rem, min(2.24vh, 0.96vw), 0.68rem);
  --cover-compact-route-hit-block: clamp(2.55rem, 18vh, 4.2rem);
  --cover-compact-route-contrast: high;
}

:where(.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument']) [data-shell-cover-route],
:where(.shell-cover[data-cover-construct='mobile-landscape-compact-instrument']) [data-shell-cover-route] {
  min-height: var(--cover-compact-route-hit-block);
}

:where(.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument']) [data-shell-cover-route] .shell-cover__route-label,
:where(.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument']) [data-shell-cover-route] [data-cover-route-label],
:where(.shell-cover[data-cover-construct='mobile-landscape-compact-instrument']) [data-shell-cover-route] .shell-cover__route-label,
:where(.shell-cover[data-cover-construct='mobile-landscape-compact-instrument']) [data-shell-cover-route] [data-cover-route-label] {
  font-weight: 760;
  letter-spacing: 0.038em;
}

:where(.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument']) .shell-cover__identity,
:where(.shell-cover[data-cover-visible-construct='mobile-landscape-compact-instrument']) .shell-cover__brand-zone,
:where(.shell-cover[data-cover-construct='mobile-landscape-compact-instrument']) .shell-cover__identity,
:where(.shell-cover[data-cover-construct='mobile-landscape-compact-instrument']) .shell-cover__brand-zone {
  filter: saturate(1.08) contrast(1.08);
}

@media (max-width: 900px), (max-height: 560px) {
  :where(.shell-cover[data-cover-contract='synapse-cover-v2']) .shell-cover__native-case,
  :where(.shell-cover[data-cover-contract='synapse-cover-v2']) .shell-cover__native-screen-well,
  :where(.shell-cover[data-cover-contract='synapse-cover-v2']) .shell-cover__native-main-field,
  :where(.shell-cover[data-cover-contract='synapse-cover-v2']) .shell-cover__native-diagnostic-screen {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}
/* production-css: end shared/styles/cover/cover-chroma.css */


/* production-css: begin shared/styles/cover/global-core.css */
/* global-core.css
   Persistent Global Cover Core. Orientation may wash enhancements out, but it
   may not destroy or hide the core diagnostic object during normal adaptation.
*/

.shell-cover[data-cover-core-authority='global-cover-core-authority'],
body[data-cover-core-authority='global-cover-core-authority'] .shell-cover[data-cover-contract='synapse-cover-v2'] {
  --global-cover-core-contract: synapse-global-cover-core-contract-v1;
}

body[data-cover-core-safe='true'] [data-shell-cover-layer],
body[data-cover-core-safe='true'] [data-shell-cover-chamber],
body[data-cover-core-safe='true'] .shell-cover[data-cover-contract='synapse-cover-v2'] {
  visibility: visible !important;
  opacity: 1 !important;
}

.shell-cover[data-cover-core-authority='global-cover-core-authority'] [data-cover-core-atom] {
  will-change: opacity, filter;
  transform-origin: center center;
}

.shell-cover[data-cover-core-authority='global-cover-core-authority'] [data-cover-core-atom='casing'],
.shell-cover[data-cover-core-authority='global-cover-core-authority'] [data-cover-core-atom='glassDeck'],
.shell-cover[data-cover-core-authority='global-cover-core-authority'] [data-cover-core-atom='materialField'],
.shell-cover[data-cover-core-authority='global-cover-core-authority'] [data-cover-core-atom='diagnosticAperture'] {
  visibility: visible;
}

body[data-display-fabric-mode='recalibration'][data-cover-core-safe='true'] .shell-cover[data-cover-contract='synapse-cover-v2'],
body[data-cover-enhancement-phase='washout'][data-cover-core-safe='true'] .shell-cover[data-cover-contract='synapse-cover-v2'] {
  filter: saturate(0.9) brightness(0.94);
  transition: filter 140ms ease;
}

body[data-display-fabric-mode='ambient'][data-cover-core-safe='true'] .shell-cover[data-cover-contract='synapse-cover-v2'] {
  filter: none;
}

body[data-cover-core-safe='true'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__native-case,
body[data-cover-core-safe='true'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__native-main-field,
body[data-cover-core-safe='true'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__native-screen-well,
body[data-cover-core-safe='true'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__native-screen-edge-seal,
body[data-cover-core-safe='true'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__native-screen-glass-pane {
  visibility: visible !important;
  opacity: 1 !important;
}
/* production-css: end shared/styles/cover/global-core.css */


/* production-css: begin shared/styles/cover/slots.css */
/* cover slots: readouts mount into global cover core slots rather than placing
   themselves directly against viewport conditions. */

.shell-cover[data-cover-slot-authority='global-cover-slot-authority'] [data-cover-slot] {
  --cover-slot-state: admitted;
}

.shell-cover[data-cover-slot-authority='global-cover-slot-authority'] [data-cover-readout] {
  position: relative;
  min-inline-size: 0;
  transform-origin: center center;
}

body:not([data-admission-closure-state='mounted'])[data-cover-arrangement-phase='withdrawing'] .shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-readout],
body:not([data-admission-closure-state='mounted'])[data-cover-arrangement-phase='solving'] .shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-readout],
body:not([data-admission-closure-state='mounted'])[data-readout-phase='withdrawing'] .shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-readout],
body:not([data-admission-closure-state='mounted'])[data-readout-phase='staged'] .shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-readout] {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 120ms ease, filter 120ms ease !important;
}

body[data-cover-arrangement-phase='attached'] .shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-readout][data-readout-phase='mounted'],
body[data-readout-phase='mounted'] .shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-readout] {
  opacity: 1;
  visibility: visible;
}

.shell-cover[data-cover-slot-authority='global-cover-slot-authority'] [data-cover-slot='agent-slot'] {
  z-index: 6;
}

.shell-cover[data-cover-slot-authority='global-cover-slot-authority'] [data-cover-slot='route-slot'] {
  z-index: 5;
}
/* production-css: end shared/styles/cover/slots.css */


/* production-css: begin shared/styles/cover/instrument-arrangements.css */
/* instrument-arrangements.css
   Available space admits arrangements on one global cover object. The whole
   cover should not rotate as a card; readouts withdraw while slot geometry is
   being solved.
*/

body[data-instrument-arrangement-authority='instrument-arrangement-authority'] {
  --cover-arrangement-transition: opacity 140ms ease, filter 140ms ease, transform 140ms ease;
}

body[data-cover-arrangement-phase='withdrawing'] .shell-cover[data-cover-contract='synapse-cover-v2'],
body[data-cover-arrangement-phase='solving'] .shell-cover[data-cover-contract='synapse-cover-v2'] {
  animation: none !important;
  rotate: 0deg !important;
}

body[data-cover-arrangement='compact-landscape'] .shell-cover__routes,
body[data-cover-arrangement='wide-console'] .shell-cover__routes {
  transform-origin: center center;
}

body[data-cover-arrangement='action-focus'] .shell-cover[data-cover-contract='synapse-cover-v2'] {
  --cover-background-device-opacity: 0.78;
}

body:not([data-admission-closure-state='mounted'])[data-cover-arrangement='minimal-safe'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__field,
body:not([data-admission-closure-state='mounted'])[data-cover-arrangement='minimal-safe'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__content-card,
body:not([data-admission-closure-state='mounted'])[data-cover-arrangement='minimal-safe'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__routes-zone {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
/* production-css: end shared/styles/cover/instrument-arrangements.css */


/* production-css: begin shared/styles/cover/admission-closure.css */
/* admission-closure.css
   Public-state guarantee: a safe global cover core may not remain empty after
   boot, rotation, or action transitions. The controller admits at least a
   minimum identity + route/readout arrangement, then upgrades when the full
   arrangement is ready.
*/

body[data-admission-closure-authority='cover-admission-closure-controller'] {
  --cover-admission-contract: synapse-cover-admission-closure-contract-v1;
}

body[data-admission-closure-state='mounted'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__field,
body[data-admission-closure-state='mounted'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__content-card,
body[data-admission-closure-state='mounted'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__routes-zone,
body[data-admission-closure-state='mounted'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__routes,
body[data-admission-closure-state='mounted'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route,
body[data-admission-closure-state='mounted'] .shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-readout] {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

body[data-admission-closure-state='mounted'][data-cover-public-state='admitted-minimum'] .shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-readout],
body[data-admission-closure-state='mounted'][data-cover-public-state='admitted-action-slot'] .shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-readout] {
  transition: opacity 140ms ease, filter 140ms ease, transform 140ms ease !important;
}

body[data-admission-closure-state='mounted'][data-cover-arrangement='compact-landscape'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__content-card {
  max-inline-size: min(92vw, 38rem);
}

body[data-admission-closure-state='mounted'][data-cover-arrangement='compact-landscape'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__routes {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: clamp(0.35rem, 1.1vw, 0.8rem);
}

body[data-admission-closure-state='mounted'][data-cover-public-state='admitted-action-slot'] [data-action-chamber-root] {
  --action-chamber-slot-admission: admitted;
}

body[data-admission-closure-state='mounted'] .shell::after {
  opacity: 0 !important;
  animation: none !important;
}

body[data-admission-closure-state='holding'][data-cover-core-only-allowed='true'] .shell-cover[data-cover-contract='synapse-cover-v2'] {
  filter: saturate(0.92) brightness(0.94);
}
/* production-css: end shared/styles/cover/admission-closure.css */


/* production-css: begin shared/styles/cover/enhancements.css */
/* enhancements.css
   Optional readout/enhancement sets attached above the Global Cover Core.
*/

body[data-cover-enhancement-authority='cover-enhancement-registry'] {
  --cover-enhancement-contract: synapse-cover-enhancement-contract-v1;
}

body[data-cover-enhancement-phase='attached'] [data-cover-enhancement-atom],
body[data-cover-enhancement-phase='attached'] .shell-cover__field,
body[data-cover-enhancement-phase='attached'] .shell-cover__content-card,
body[data-cover-enhancement-phase='attached'] .shell-cover__routes-zone,
body[data-cover-enhancement-phase='attached'] .shell-cover__native-access-module {
  visibility: visible;
  opacity: 1;
}

body[data-cover-enhancement-phase='washout'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route,
body[data-cover-enhancement-phase='staging'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route {
  pointer-events: none !important;
}

body:not([data-admission-closure-state='mounted'])[data-cover-enhancement-set='core-only'] .shell-cover__field,
body:not([data-admission-closure-state='mounted'])[data-cover-enhancement-set='core-only'] .shell-cover__content-card,
body:not([data-admission-closure-state='mounted'])[data-cover-enhancement-set='core-only'] .shell-cover__routes-zone,
body:not([data-admission-closure-state='mounted'])[data-cover-enhancement-set='core-only'] .shell-cover__native-access-module {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body:not([data-admission-closure-state='mounted'])[data-cover-enhancement-set='minimal-safe'] .shell-cover__routes-zone,
body:not([data-admission-closure-state='mounted'])[data-cover-enhancement-set='minimal-safe'] .shell-cover__routes,
body:not([data-admission-closure-state='mounted'])[data-cover-enhancement-set='minimal-safe'] .shell-cover__route {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body[data-cover-enhancement-phase='attached'][data-cover-enhancement-set='portrait-single'] .shell-cover[data-cover-contract='synapse-cover-v2'] {
  --cover-enhancement-active-set: portrait-single;
}

body[data-cover-enhancement-phase='attached'][data-cover-enhancement-set='landscape-side'] .shell-cover[data-cover-contract='synapse-cover-v2'] {
  --cover-enhancement-active-set: landscape-side;
}

body[data-cover-enhancement-phase='attached'][data-cover-enhancement-set='wide-dual'] .shell-cover[data-cover-contract='synapse-cover-v2'] {
  --cover-enhancement-active-set: wide-dual;
}
/* production-css: end shared/styles/cover/enhancements.css */


/* production-css: begin shared/styles/cover/presented-display-seal.css */
/*
  Wave 2.2 — Presented Display Seal

  The cover may solve continuously, but it may only present discretely. This CSS
  layer freezes visual interpolation while the Presented Cover Display Authority
  is holding or committing, without blocking semantic route input.
*/

html[data-cover-final-display-authority='presented-cover-display-authority'],
body[data-cover-final-display-authority='presented-cover-display-authority'],
.shell-cover[data-cover-final-display-authority='presented-cover-display-authority'],
html[data-cover-final-display-authority='cover-final-presented-display-authority'],
body[data-cover-final-display-authority='cover-final-presented-display-authority'],
.shell-cover[data-cover-final-display-authority='cover-final-presented-display-authority'] {
  --cover-display-seal-authority: cover-final-presented-display-authority;
  --cover-display-seal-input-lane: semantic-routes-remain-active;
}

html[data-cover-display-lock='active'] .shell-cover,
body[data-cover-display-lock='active'] .shell-cover,
.shell-cover[data-cover-display-sealed='holding'],
.shell-cover[data-cover-display-seal='holding'],
.shell-cover[data-cover-display-phase='holding'] {
  contain: layout paint style;
  isolation: isolate;
  transform-style: flat;
  will-change: auto;
}

html[data-cover-display-lock='active'] .shell-cover *,
body[data-cover-display-lock='active'] .shell-cover *,
.shell-cover[data-cover-display-sealed='holding'] *,
.shell-cover[data-cover-display-seal='holding'] *,
.shell-cover[data-cover-display-phase='holding'] * {
  transition-duration: 0s !important;
  animation-play-state: paused !important;
}

/* Visual lock is not pointer lock. Route controls must stay on the input lane. */
html[data-cover-display-lock='active'] .shell-cover__routes,
body[data-cover-display-lock='active'] .shell-cover__routes,
.shell-cover[data-cover-display-sealed='holding'] .shell-cover__routes,
.shell-cover[data-cover-display-seal='holding'] .shell-cover__routes,
.shell-cover[data-cover-display-phase='holding'] .shell-cover__routes,
html[data-cover-display-lock='active'] [data-shell-cover-route],
body[data-cover-display-lock='active'] [data-shell-cover-route],
.shell-cover[data-cover-display-sealed='holding'] [data-shell-cover-route],
.shell-cover[data-cover-display-seal='holding'] [data-shell-cover-route],
.shell-cover[data-cover-display-phase='holding'] [data-shell-cover-route] {
  pointer-events: auto !important;
  touch-action: manipulation;
  position: relative;
  z-index: var(--cover-z-hitbox, 96);
}

html[data-viewport-zoom-active='true'] .shell-cover,
body[data-viewport-zoom-active='true'] .shell-cover,
html[data-viewport-browser-chrome-noise='true'] .shell-cover,
body[data-viewport-browser-chrome-noise='true'] .shell-cover,
html[data-viewport-keyboard-active='true'] .shell-cover,
body[data-viewport-keyboard-active='true'] .shell-cover {
  --cover-construct-transition-ms: 0ms;
  --cover-fidelity-live-blur: 0px;
  --cover-fidelity-live-shadow-scale: 0.72;
}

html[data-cover-display-phase='committing'] .shell-cover,
body[data-cover-display-phase='committing'] .shell-cover,
.shell-cover[data-cover-display-phase='committing'] {
  transition: opacity 90ms ease-out;
}

@media (max-width: 900px) {
  html[data-cover-display-lock='active'] .shell-cover,
  body[data-cover-display-lock='active'] .shell-cover,
  .shell-cover[data-cover-display-sealed='holding'] {
    backdrop-filter: none !important;
    filter: none !important;
  }

  html[data-cover-display-lock='active'] .shell-cover__trace-asset,
  body[data-cover-display-lock='active'] .shell-cover__trace-asset,
  .shell-cover[data-cover-display-sealed='holding'] .shell-cover__trace-asset {
    opacity: min(var(--cover-construct-trace-opacity, 0.34), 0.24);
  }
}

/* Static cover/action surfaces should not expose mobile text-selection handles.
   Text entry fields opt back into selection below. */
.shell-cover,
.shell-cover *,
[data-shell-cover],
[data-shell-cover] *,
.action-chamber,
.action-chamber *,
[data-action-chamber-root],
[data-action-chamber-root] *,
[data-support-chamber-root],
[data-support-chamber-root] * {
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

input,
textarea,
select,
[contenteditable='true'],
[contenteditable='true'] * {
  -webkit-user-select: text;
  user-select: text;
  -webkit-touch-callout: default;
}

.action-chamber input,
.action-chamber textarea,
.action-chamber select,
.action-chamber [contenteditable='true'],
.action-chamber [contenteditable='true'] *,
[data-action-chamber-root] input,
[data-action-chamber-root] textarea,
[data-action-chamber-root] select,
[data-action-chamber-root] [contenteditable='true'],
[data-action-chamber-root] [contenteditable='true'] *,
[data-support-chamber-root] input,
[data-support-chamber-root] textarea,
[data-support-chamber-root] select,
[data-support-chamber-root] [contenteditable='true'],
[data-support-chamber-root] [contenteditable='true'] * {
  -webkit-user-select: text;
  user-select: text;
  -webkit-touch-callout: default;
}
/* production-css: end shared/styles/cover/presented-display-seal.css */


/* production-css: begin shared/styles/cover/final-display-seal.css */
/*
  Wave 2.2 / 2.3 — Presented Display Seal
  The cover may solve continuously, but it may only present discretely.
*/

html[data-cover-final-display-wave='wave-2-2-presented-display-seal'],
body[data-cover-final-display-wave='wave-2-2-presented-display-seal'],
.shell-cover[data-cover-final-display-wave='wave-2-2-presented-display-seal'],
html[data-cover-final-display-wave='wave-2-3-canonical-presented-display'],
body[data-cover-final-display-wave='wave-2-3-canonical-presented-display'],
.shell-cover[data-cover-final-display-wave='wave-2-3-canonical-presented-display'] {
  --synapse-cover-wave2-2-display-seal: presented-display-seal;
  --synapse-cover-wave2-3-display-release: canonical-presented-display;
}

body[data-cover-display-seal='holding'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
html[data-cover-display-seal='holding'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
body[data-cover-display-phase='staging'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
html[data-cover-display-phase='staging'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] {
  contain: layout paint style;
  transform-style: flat;
  will-change: auto;
  --cover-construct-frame-ratio: var(--cover-presented-construct-frame-ratio, 0.585);
  --cover-construct-ratio: var(--cover-presented-construct-ratio, 0.585);
  --cover-construct-fill-inline: var(--cover-presented-construct-fill-inline, 1);
  --cover-construct-fill-block: var(--cover-presented-construct-fill-block, 1);
  --cover-construct-scale: var(--cover-presented-construct-scale, 1);
  --cover-construct-identity-scale: var(--cover-presented-construct-identity-scale, 1);
  --cover-construct-route-scale: var(--cover-presented-construct-route-scale, 1);
  --cover-construct-stylus-scale: var(--cover-presented-construct-stylus-scale, 1);
  --cover-construct-trace-opacity: var(--cover-presented-construct-trace-opacity, 0.36);
  --cover-fidelity-chassis-depth: var(--cover-presented-fidelity-chassis-depth, 1);
  --cover-fidelity-glass-depth: var(--cover-presented-fidelity-glass-depth, 1);
  --cover-fidelity-route-density: var(--cover-presented-fidelity-route-density, 1);
  --cover-fidelity-route-opacity: var(--cover-presented-fidelity-route-opacity, 1);
  --cover-fidelity-sigil-opacity: var(--cover-presented-fidelity-sigil-opacity, 1);
}

body[data-cover-display-seal='holding'] [data-cover-registration-frame],
body[data-cover-display-seal='holding'] [data-cover-parent-registration-frame],
body[data-cover-display-seal='holding'] .shell-cover__registration-frame,
html[data-cover-display-seal='holding'] [data-cover-registration-frame],
html[data-cover-display-seal='holding'] [data-cover-parent-registration-frame],
html[data-cover-display-seal='holding'] .shell-cover__registration-frame {
  transition-duration: 0ms !important;
  animation-duration: 0ms !important;
  will-change: auto !important;
}

body[data-cover-display-viewport-status='zoom-active'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
html[data-cover-display-viewport-status='zoom-active'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
body[data-viewport-zoom-active='true'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
html[data-viewport-zoom-active='true'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] {
  --cover-construct-trace-opacity: var(--cover-presented-construct-trace-opacity, 0.22);
  --cover-fidelity-route-opacity: var(--cover-presented-fidelity-route-opacity, 0.92);
  filter: none !important;
  backdrop-filter: none !important;
}

body[data-cover-display-viewport-status='browser-chrome-noise'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
body[data-cover-display-viewport-status='rotation-pending'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
body[data-cover-display-viewport-status='display-unstable'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
body[data-viewport-stability='browser-chrome-noise'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
body[data-viewport-stability='rotating'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
body[data-viewport-stability='unstable'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] {
  transition-duration: 0ms !important;
}

body[data-cover-display-viewport-status='keyboard-pressure'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
body[data-viewport-keyboard-active='true'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] {
  --cover-construct-trace-opacity: var(--cover-presented-construct-trace-opacity, 0.2);
}

body[data-cover-display-seal='holding'] [data-shell-cover-route],
html[data-cover-display-seal='holding'] [data-shell-cover-route],
body[data-cover-display-phase='staging'] [data-shell-cover-route],
html[data-cover-display-phase='staging'] [data-shell-cover-route] {
  pointer-events: auto !important;
  touch-action: manipulation;
  position: relative;
  z-index: var(--cover-z-hitbox, 96);
}

body[data-cover-display-seal='holding'] [data-shell-cover-route] *,
html[data-cover-display-seal='holding'] [data-shell-cover-route] *,
body[data-cover-display-phase='staging'] [data-shell-cover-route] *,
html[data-cover-display-phase='staging'] [data-shell-cover-route] * {
  pointer-events: none;
}

body[data-cover-display-phase='staging'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
html[data-cover-display-phase='staging'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] {
  --cover-display-staged-visible-policy: last-good-presentation-visible;
}

@media (max-width: 48rem), (pointer: coarse) {
  body[data-cover-display-seal='holding'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
  html[data-cover-display-seal='holding'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
  body[data-cover-display-phase='staging'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
  html[data-cover-display-phase='staging'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] {
    mix-blend-mode: normal !important;
    backdrop-filter: none !important;
  }
}

/* Orientation-Scoped Presented State Authority — do not visually hold a portrait
   state as a landscape state, or a landscape state as a portrait state. */
body[data-cover-display-lock='active'][data-cover-display-orientation-match='false'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
html[data-cover-display-lock='active'][data-cover-display-orientation-match='false'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
body[data-cover-display-hold-plan='orientation-neutral-safe-fallback'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
html[data-cover-display-hold-plan='orientation-neutral-safe-fallback'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] {
  --cover-display-staged-visible-policy: orientation-scoped-safe-hold;
  --cover-construct-trace-opacity: min(var(--cover-presented-construct-trace-opacity, 0.22), 0.2);
  --cover-fidelity-route-opacity: min(var(--cover-presented-fidelity-route-opacity, 0.92), 0.92);
  transition-duration: 0ms !important;
  animation-duration: 0ms !important;
  contain: layout paint style;
}

body[data-cover-display-target-orientation='landscape'][data-cover-display-orientation-match='false'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
html[data-cover-display-target-orientation='landscape'][data-cover-display-orientation-match='false'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
body[data-cover-display-target-orientation='landscape'][data-cover-display-hold-plan='orientation-neutral-safe-fallback'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
html[data-cover-display-target-orientation='landscape'][data-cover-display-hold-plan='orientation-neutral-safe-fallback'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] {
  --cover-construct-frame-ratio: 2.24;
  --cover-construct-ratio: 2.24;
  --cover-construct-fill-inline: 0.982;
  --cover-construct-fill-block: 0.958;
  --cover-construct-scale: 0.985;
  --cover-construct-identity-scale: 0.84;
  --cover-construct-route-scale: 0.86;
  --cover-construct-stylus-scale: 0.56;
}

body[data-cover-display-target-orientation='portrait'][data-cover-display-orientation-match='false'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
html[data-cover-display-target-orientation='portrait'][data-cover-display-orientation-match='false'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
body[data-cover-display-target-orientation='portrait'][data-cover-display-hold-plan='orientation-neutral-safe-fallback'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
html[data-cover-display-target-orientation='portrait'][data-cover-display-hold-plan='orientation-neutral-safe-fallback'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] {
  --cover-construct-frame-ratio: 0.585;
  --cover-construct-ratio: 0.585;
  --cover-construct-fill-inline: 0.982;
  --cover-construct-fill-block: 0.992;
  --cover-construct-scale: 0.99;
  --cover-construct-identity-scale: 0.96;
  --cover-construct-route-scale: 0.96;
  --cover-construct-stylus-scale: 0.84;
}

body[data-cover-display-hold-plan='orientation-neutral-safe-fallback'] [data-cover-atom='traceLayer'],
html[data-cover-display-hold-plan='orientation-neutral-safe-fallback'] [data-cover-atom='traceLayer'] {
  opacity: 0 !important;
}
/* production-css: end shared/styles/cover/final-display-seal.css */


/* production-css: begin shared/styles/transition/transition-governance.css */
/* transition-governance.css
   Global transition transaction visual lock.
   The transaction layer freezes unstable movement without blanking the shell;
   the commit bus releases one atomic state across shell, cover, viewport,
   action chamber, protected access, and registered object field consumers.
*/

html[data-transition-governance='ready'],
body[data-transition-governance='ready'],
html[data-transition-system='ready'],
body[data-transition-system='ready'] {
  --transition-governance-layer: transaction-operating-layer;
  --transition-hold-inline: 100vw;
  --transition-hold-block: 100dvh;
  --transition-commit-opacity: 1;
}

body[data-transition-visual-hold='active'] .shell,
body.has-transition-visual-hold .shell {
  backface-visibility: hidden;
  transform: translateZ(0);
  will-change: transform;
}

body[data-transition-visual-hold='active'] [data-shell-chamber-host='main'],
body[data-transition-visual-hold='active'] [data-shell-cover-layer],
body[data-transition-visual-hold='active'] [data-shell-viewport-layer],
body[data-transition-visual-hold='active'] [data-shell-cover-chamber],
body[data-transition-visual-hold='active'] [data-action-chamber-root],
body[data-transition-visual-hold='active'] [data-support-chamber-root],
body.has-transition-visual-hold [data-shell-chamber-host='main'],
body.has-transition-visual-hold [data-shell-cover-layer],
body.has-transition-visual-hold [data-shell-viewport-layer],
body.has-transition-visual-hold [data-shell-cover-chamber],
body.has-transition-visual-hold [data-action-chamber-root],
body.has-transition-visual-hold [data-support-chamber-root] {
  transition: none !important;
  animation-play-state: paused !important;
}

body[data-transition-state='holding'] [data-shell-cover-layer],
body[data-transition-state='measuring'] [data-shell-cover-layer],
body[data-transition-state='planning'] [data-shell-cover-layer],
body[data-transition-state='staging'] [data-shell-cover-layer],
body[data-transition-state='committing'] [data-shell-cover-layer],
body[data-transition-state='holding'] [data-action-chamber-root],
body[data-transition-state='measuring'] [data-action-chamber-root],
body[data-transition-state='planning'] [data-action-chamber-root],
body[data-transition-state='staging'] [data-action-chamber-root],
body[data-transition-state='committing'] [data-action-chamber-root],
body[data-transition-state='holding'] [data-support-chamber-root],
body[data-transition-state='measuring'] [data-support-chamber-root],
body[data-transition-state='planning'] [data-support-chamber-root],
body[data-transition-state='staging'] [data-support-chamber-root],
body[data-transition-state='committing'] [data-support-chamber-root] {
  contain: layout paint style;
}

body[data-transition-state='holding'],
body[data-transition-state='measuring'],
body[data-transition-state='planning'],
body[data-transition-state='staging'],
body[data-transition-state='committing'] {
  overflow: hidden;
  overscroll-behavior: none;
}

body[data-transition-state='holding'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
body[data-transition-state='measuring'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
body[data-transition-state='planning'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] {
  visibility: visible !important;
  opacity: 1 !important;
}

body[data-transition-state='released'] .shell {
  transition: opacity 80ms ease;
}

body[data-transition-state='recovering'] .shell,
body[data-transition-recovery='rollback-last-good'] .shell {
  visibility: visible !important;
  opacity: 1 !important;
}

body[data-transition-path='slow'] .shell {
  --transition-commit-opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  body[data-transition-state='released'] .shell {
    transition: none;
  }
}


/* Do not paint-contain the cover during a transaction. The registered tablet
   uses layered glass, pseudo-surfaces, and calibrated descendants that can be
   clipped or visually flattened if the chamber is paint-contained while the
   browser is between portrait/landscape measurements. The transaction hold
   already disables transitions; cover geometry remains governed by the commit
   bus and spatial adapter. */
body[data-transition-visual-hold='active'] [data-shell-cover-layer],
body[data-transition-visual-hold='active'] [data-shell-cover-chamber],
body.has-transition-visual-hold [data-shell-cover-layer],
body.has-transition-visual-hold [data-shell-cover-chamber] {
  contain: none !important;
}
/* production-css: end shared/styles/transition/transition-governance.css */


/* production-css: begin shared/styles/shell/transition-governance.css */
/* transition-governance.css
   Global transition transaction visual lock.
   The transaction layer freezes unstable movement without blanking the shell;
   the commit bus releases one atomic state across shell, cover, viewport,
   action chamber, protected access, and registered object field consumers.
*/

html[data-transition-governance='ready'],
body[data-transition-governance='ready'],
html[data-transition-system='ready'],
body[data-transition-system='ready'] {
  --transition-governance-layer: transaction-operating-layer;
  --transition-hold-inline: 100vw;
  --transition-hold-block: 100dvh;
  --transition-commit-opacity: 1;
}

body[data-transition-visual-hold='active'] .shell,
body.has-transition-visual-hold .shell {
  backface-visibility: hidden;
  transform: translateZ(0);
  will-change: transform;
}

body[data-transition-visual-hold='active'] [data-shell-chamber-host='main'],
body[data-transition-visual-hold='active'] [data-shell-cover-layer],
body[data-transition-visual-hold='active'] [data-shell-viewport-layer],
body[data-transition-visual-hold='active'] [data-shell-cover-chamber],
body[data-transition-visual-hold='active'] [data-action-chamber-root],
body[data-transition-visual-hold='active'] [data-support-chamber-root],
body.has-transition-visual-hold [data-shell-chamber-host='main'],
body.has-transition-visual-hold [data-shell-cover-layer],
body.has-transition-visual-hold [data-shell-viewport-layer],
body.has-transition-visual-hold [data-shell-cover-chamber],
body.has-transition-visual-hold [data-action-chamber-root],
body.has-transition-visual-hold [data-support-chamber-root] {
  transition: none !important;
  animation-play-state: paused !important;
}

body[data-transition-state='holding'] [data-shell-cover-layer],
body[data-transition-state='measuring'] [data-shell-cover-layer],
body[data-transition-state='planning'] [data-shell-cover-layer],
body[data-transition-state='staging'] [data-shell-cover-layer],
body[data-transition-state='committing'] [data-shell-cover-layer],
body[data-transition-state='holding'] [data-action-chamber-root],
body[data-transition-state='measuring'] [data-action-chamber-root],
body[data-transition-state='planning'] [data-action-chamber-root],
body[data-transition-state='staging'] [data-action-chamber-root],
body[data-transition-state='committing'] [data-action-chamber-root],
body[data-transition-state='holding'] [data-support-chamber-root],
body[data-transition-state='measuring'] [data-support-chamber-root],
body[data-transition-state='planning'] [data-support-chamber-root],
body[data-transition-state='staging'] [data-support-chamber-root],
body[data-transition-state='committing'] [data-support-chamber-root] {
  contain: layout paint style;
}

body[data-transition-state='holding'],
body[data-transition-state='measuring'],
body[data-transition-state='planning'],
body[data-transition-state='staging'],
body[data-transition-state='committing'] {
  overflow: hidden;
  overscroll-behavior: none;
}

body[data-transition-state='holding'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
body[data-transition-state='measuring'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
body[data-transition-state='planning'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] {
  visibility: visible !important;
  opacity: 1 !important;
}

body[data-transition-state='released'] .shell {
  transition: opacity 80ms ease;
}

body[data-transition-state='recovering'] .shell,
body[data-transition-recovery='rollback-last-good'] .shell {
  visibility: visible !important;
  opacity: 1 !important;
}

body[data-transition-path='slow'] .shell {
  --transition-commit-opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  body[data-transition-state='released'] .shell {
    transition: none;
  }
}


/* Do not paint-contain the cover during a transaction. The registered tablet
   uses layered glass, pseudo-surfaces, and calibrated descendants that can be
   clipped or visually flattened if the chamber is paint-contained while the
   browser is between portrait/landscape measurements. The transaction hold
   already disables transitions; cover geometry remains governed by the commit
   bus and spatial adapter. */
body[data-transition-visual-hold='active'] [data-shell-cover-layer],
body[data-transition-visual-hold='active'] [data-shell-cover-chamber],
body.has-transition-visual-hold [data-shell-cover-layer],
body.has-transition-visual-hold [data-shell-cover-chamber] {
  contain: none !important;
}
/* production-css: end shared/styles/shell/transition-governance.css */


/* production-css: begin shared/styles/transition/presented-state.css */
/* presented-state.css
   Presentation lock for Transaction Governance.
   Internal adaptive/object-field solves may churn during rotation, keyboard, and
   action-chamber admission. While a transaction is active, this layer keeps the
   last finished external presentation visible; the commit bus releases only
   after the target state has been published.
*/

html[data-presented-state-authority='transition-presented-state-adapter'],
body[data-presented-state-authority='transition-presented-state-adapter'] {
  --presented-state-layer: transition-presented-state-adapter;
}

body[data-presented-state-lock='active'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
body[data-presented-state-lock='active'] [data-shell-cover-chamber],
body[data-presented-state-lock='active'] [data-shell-cover-layer] {
  visibility: visible !important;
  opacity: 1 !important;
  transition: none !important;
  animation-play-state: paused !important;
}

body[data-presented-state-lock='active'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] {
  --cover-display-identity-scale: var(--presented-cover-display-identity-scale, var(--cover-display-identity-scale, 1));
  --cover-display-route-scale: var(--presented-cover-display-route-scale, var(--cover-display-route-scale, 1));
  --cover-object-identity-scale: var(--presented-cover-object-identity-scale, var(--cover-object-identity-scale, 1));
  --cover-object-route-scale: var(--presented-cover-object-route-scale, var(--cover-object-route-scale, 1));
  --cover-object-stylus-scale: var(--presented-cover-object-stylus-scale, var(--cover-object-stylus-scale, 1));
  --cover-object-trace-opacity: var(--presented-cover-object-trace-opacity, var(--cover-object-trace-opacity, 1));
}

body[data-presented-state-lock='active'] [data-cover-registration-frame],
body[data-presented-state-lock='active'] [data-cover-parent-registration-frame],
body[data-presented-state-lock='active'] .shell-cover__registration-frame {
  inline-size: var(--presented-cover-fit-inline, var(--cover-fit-inline, auto)) !important;
  width: var(--presented-cover-fit-inline, var(--cover-fit-inline, auto)) !important;
  block-size: var(--presented-cover-fit-block, var(--cover-fit-block, auto)) !important;
  height: var(--presented-cover-fit-block, var(--cover-fit-block, auto)) !important;
  max-inline-size: var(--presented-cover-fit-inline, var(--cover-fit-inline, 100%)) !important;
  max-width: var(--presented-cover-fit-inline, var(--cover-fit-inline, 100%)) !important;
  max-block-size: var(--presented-cover-fit-block, var(--cover-fit-block, 100%)) !important;
  max-height: var(--presented-cover-fit-block, var(--cover-fit-block, 100%)) !important;
  transform: translate(var(--presented-cover-fit-offset-x, var(--cover-fit-offset-x, 0px)), var(--presented-cover-fit-offset-y, var(--cover-fit-offset-y, 0px))) scale(var(--presented-cover-fit-scale, var(--cover-fit-scale, 1))) !important;
  transform-origin: center center !important;
  transition: none !important;
}

body[data-presented-state-lock='active'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__identity {
  inline-size: var(--presented-cover-identity-inline-size, auto) !important;
  padding: var(--presented-cover-identity-padding, inherit) !important;
  gap: var(--presented-cover-identity-gap, inherit) !important;
  transform: var(--presented-cover-identity-transform, scale(var(--presented-cover-display-identity-scale, 1))) !important;
  transform-origin: center center !important;
  transition: none !important;
}

body[data-presented-state-lock='active'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__brand-zone {
  padding-inline: var(--presented-cover-brand-padding-inline, inherit) !important;
  transition: none !important;
}

body[data-presented-state-lock='active'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__title {
  font-size: var(--presented-cover-title-font-size, inherit) !important;
  line-height: var(--presented-cover-title-line-height, inherit) !important;
  letter-spacing: var(--presented-cover-title-letter-spacing, inherit) !important;
  font-weight: var(--presented-cover-title-font-weight, inherit) !important;
  padding: var(--presented-cover-title-padding, inherit) !important;
  transition: none !important;
}

body[data-presented-state-lock='active'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__subtitle,
body[data-presented-state-lock='active'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__eyebrow {
  font-size: var(--presented-cover-subtitle-font-size, inherit) !important;
  line-height: var(--presented-cover-subtitle-line-height, inherit) !important;
  letter-spacing: var(--presented-cover-subtitle-letter-spacing, inherit) !important;
  font-weight: var(--presented-cover-subtitle-font-weight, inherit) !important;
  padding: var(--presented-cover-subtitle-padding, inherit) !important;
  min-inline-size: var(--presented-cover-subtitle-min-inline, auto) !important;
  min-block-size: var(--presented-cover-subtitle-min-block, auto) !important;
  transition: none !important;
}

body[data-presented-state-lock='active'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__routes-zone,
body[data-presented-state-lock='active'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__routes {
  transform: var(--presented-cover-routes-transform, none) !important;
  transition: none !important;
}

body[data-presented-state-lock='active'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route {
  font-size: var(--presented-cover-route-font-size, inherit) !important;
  transition: none !important;
}

body[data-presented-state-lock='active'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route-label {
  font-size: var(--presented-cover-route-label-font-size, inherit) !important;
  transition: none !important;
}

body[data-presented-state-lock='released'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] {
  transition: opacity 80ms ease;
}

@media (prefers-reduced-motion: reduce) {
  body[data-presented-state-lock='released'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] {
    transition: none;
  }
}
/* production-css: end shared/styles/transition/presented-state.css */


/* production-css: begin shared/styles/shell/display-fabric.css */
/* display-fabric.css
   Promoted bridge basement / root presentation fabric.
   This layer remains under the global cover core in ambient, recalibration,
   bridge, and failure-safe modes.
*/

html[data-display-fabric-authority='display-fabric-authority'],
body[data-display-fabric-authority='display-fabric-authority'] {
  --display-fabric-authority: synapse-display-fabric-contract-v1;
  --display-fabric-z: 1;
  --display-fabric-overlay-z: 2147480900;
  --display-fabric-field: rgba(8, 20, 37, 0.66);
  --display-fabric-glow: rgba(84, 183, 255, 0.18);
  --display-fabric-line: rgba(195, 231, 255, 0.28);
}

body[data-display-fabric-root='true'] {
  background:
    radial-gradient(circle at 50% 42%, rgba(68, 154, 214, 0.14), transparent 28rem),
    linear-gradient(135deg, #071220 0%, #0a1d33 54%, #071426 100%);
}

body[data-display-fabric-root='true'] .shell {
  position: relative;
  isolation: isolate;
}

body[data-display-fabric-root='true'] .shell::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 50%, rgba(111, 202, 255, 0.10), transparent 0 18rem, transparent 38rem),
    radial-gradient(circle at 50% 55%, rgba(19, 79, 126, 0.18), transparent 0 24rem, transparent 52rem);
  opacity: 0.58;
  transition: opacity 180ms ease, filter 180ms ease;
}

body[data-display-fabric-mode='ambient'] .shell::before {
  opacity: 0.36;
  filter: saturate(0.95) brightness(0.98);
}

body[data-display-fabric-mode='recalibration'],
body[data-display-fabric-mode='boot'],
body[data-display-fabric-mode='shield'],
body[data-display-fabric-mode='failure-safe'] {
  overscroll-behavior: none;
}

body[data-display-fabric-mode='recalibration'] .shell,
body[data-display-fabric-mode='boot'] .shell,
body[data-display-fabric-mode='shield'] .shell,
body[data-display-fabric-mode='failure-safe'] .shell {
  pointer-events: none;
}

body[data-display-fabric-mode='recalibration'] .shell::before,
body[data-display-fabric-mode='boot'] .shell::before {
  opacity: 0.78;
  filter: saturate(0.86) brightness(0.92);
}

body[data-display-fabric-mode='boot']::before,
body[data-display-fabric-mode='shield']::before,
body[data-display-fabric-mode='failure-safe']::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: var(--display-fabric-overlay-z);
  pointer-events: none;
  opacity: 0.42;
  background:
    radial-gradient(circle at 50% 48%, rgba(111, 202, 255, 0.16), transparent 0 15rem, transparent 30rem),
    linear-gradient(135deg, rgba(8, 18, 33, 0.42), rgba(7, 25, 45, 0.38));
  backdrop-filter: blur(1.5px) saturate(0.94);
  -webkit-backdrop-filter: blur(1.5px) saturate(0.94);
  transition: opacity 120ms ease;
}

body[data-display-fabric-mode='boot']::after,
body[data-display-fabric-mode='shield']::after,
body[data-display-fabric-mode='failure-safe']::after {
  content: "";
  position: fixed;
  left: 50%;
  top: 50%;
  z-index: calc(var(--display-fabric-overlay-z) + 1);
  inline-size: clamp(4.8rem, 15vmin, 9.5rem);
  aspect-ratio: 1;
  border-radius: 30% 42% 30% 42%;
  transform: translate(-50%, -50%) rotate(45deg) scale(1);
  transform-origin: center center;
  pointer-events: none;
  opacity: 0.44;
  background: linear-gradient(135deg, rgba(255,255,255,0.10), rgba(59,143,198,0.10));
  border: 1px solid var(--display-fabric-line);
  box-shadow: 0 0 2.25rem var(--display-fabric-glow), 0 1.1rem 4rem rgba(0,0,0,0.22);
  animation: synapse-display-fabric-settle 260ms ease-out both;
}

body[data-display-fabric-mode='recalibration'][data-display-fabric-bridge-mode='soft-recalibration']::before,
body[data-display-fabric-mode='recalibration'][data-display-fabric-bridge-mode='soft-recalibration']::after {
  content: none !important;
}

body[data-display-fabric-mode='recalibration']::before,
body[data-display-fabric-mode='recalibration']::after {
  content: none !important;
}

body[data-display-fabric-mode='shield']::before,
body[data-display-fabric-mode='failure-safe']::before,
body[data-display-fabric-mode='boot']::before {
  opacity: 0.84;
  backdrop-filter: blur(3px) saturate(0.9);
  -webkit-backdrop-filter: blur(3px) saturate(0.9);
}

body[data-display-fabric-mode='shield']::after,
body[data-display-fabric-mode='failure-safe']::after,
body[data-display-fabric-mode='boot']::after {
  opacity: 0.74;
}

body[data-display-fabric-mode='ambient']::before,
body[data-display-fabric-mode='ambient']::after {
  opacity: 0;
  pointer-events: none;
}

body:not([data-admission-closure-state='mounted'])[data-display-fabric-mode='recalibration'] [data-cover-enhancement-atom],
body:not([data-admission-closure-state='mounted'])[data-cover-enhancement-phase='washout'] [data-cover-enhancement-atom],
body:not([data-admission-closure-state='mounted'])[data-cover-enhancement-phase='washout'] .shell-cover__field,
body:not([data-admission-closure-state='mounted'])[data-cover-enhancement-phase='washout'] .shell-cover__content-card,
body:not([data-admission-closure-state='mounted'])[data-cover-enhancement-phase='washout'] .shell-cover__routes-zone,
body:not([data-admission-closure-state='mounted'])[data-cover-enhancement-phase='washout'] .shell-cover__native-access-module,
body:not([data-admission-closure-state='mounted'])[data-cover-enhancement-phase='staging'] [data-cover-enhancement-atom],
body:not([data-admission-closure-state='mounted'])[data-cover-enhancement-phase='staging'] .shell-cover__field,
body:not([data-admission-closure-state='mounted'])[data-cover-enhancement-phase='staging'] .shell-cover__content-card,
body:not([data-admission-closure-state='mounted'])[data-cover-enhancement-phase='staging'] .shell-cover__routes-zone {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 120ms ease, filter 120ms ease !important;
}

body[data-cover-core-safe='true'][data-display-fabric-mode='recalibration'] [data-cover-core-atom],
body[data-cover-core-safe='true'][data-cover-enhancement-phase='washout'] [data-cover-core-atom],
body[data-cover-core-safe='true'][data-cover-enhancement-phase='staging'] [data-cover-core-atom] {
  visibility: visible !important;
  opacity: 1 !important;
}

body[data-display-fabric-mode='recalibration'] [data-shell-viewport-layer],
body[data-display-fabric-mode='recalibration'] [data-action-chamber-root],
body[data-display-fabric-mode='recalibration'] [data-support-chamber-root] {
  pointer-events: none !important;
}

@keyframes synapse-display-fabric-settle {
  from { transform: translate(-50%, -50%) rotate(45deg) scale(0.94); filter: brightness(0.92) saturate(0.9); }
  to { transform: translate(-50%, -50%) rotate(45deg) scale(1); filter: brightness(1) saturate(1); }
}

@media (prefers-reduced-motion: reduce) {
  body[data-display-fabric-root='true'] .shell::before,
  body[data-display-fabric-mode='recalibration']::before,
  body[data-display-fabric-mode='recalibration']::after,
  body[data-display-fabric-mode='boot']::before,
  body[data-display-fabric-mode='boot']::after,
  body[data-display-fabric-mode='shield']::before,
  body[data-display-fabric-mode='shield']::after {
    transition: none !important;
    animation: none !important;
  }
}

/* Runtime Activation Kernel patch: recalibration preserves the last-good cover.
   It should reduce motion, not disable/blank the entire shell. */
body[data-display-fabric-mode='recalibration'][data-cover-display-hold-policy='preserve-last-good'] .shell {
  pointer-events: auto;
}

body[data-display-fabric-mode='recalibration'][data-cover-display-hold-policy='preserve-last-good'] .shell::before {
  opacity: 0.42;
  filter: saturate(0.92) brightness(0.96);
}
/* production-css: end shared/styles/shell/display-fabric.css */


/* production-css: begin shared/styles/shell/substrate.css */
/* substrate.css
   Canonical role layer above Display Fabric naming.
   The substrate is the continuity-bearing field; Display Fabric remains the
   implementation and Display Bridge remains a behavior inside it.
*/

html[data-substrate-authority='synapse-substrate-authority'],
body[data-substrate-authority='synapse-substrate-authority'] {
  --synapse-substrate-contract: synapse-substrate-contract-v1;
  --synapse-substrate-presence-opacity: 0.36;
  --synapse-substrate-presence-scale: 1;
}

body[data-substrate-continuity-layer='true'] {
  background-attachment: fixed;
}

body[data-substrate-state='recalibrating'] {
  --synapse-substrate-presence-opacity: 0.48;
}

body[data-substrate-state='shielding'],
body[data-substrate-state='failure-safe'] {
  --synapse-substrate-presence-opacity: 0.72;
}

body[data-substrate-presence='intelligence-mounted'] {
  --synapse-substrate-presence-opacity: 0.42;
}

body[data-substrate-presence='intelligence-active'] {
  --synapse-substrate-presence-opacity: 0.52;
}

body[data-substrate-authority='synapse-substrate-authority'] .shell::before {
  opacity: var(--synapse-substrate-presence-opacity, 0.36);
}

body[data-substrate-expression='mounted-quiet-presence'][data-display-fabric-mode='ambient'] .shell::before,
body[data-substrate-expression='active-intelligence-presence'][data-display-fabric-mode='ambient'] .shell::before {
  animation: none;
}

body[data-thought-field='thinking'] .shell::before,
body[data-thought-field='recalibrating'] .shell::before,
body[data-thought-field='responding'] .shell::before {
  animation: synapse-substrate-presence-breath 5200ms ease-in-out infinite;
}

body[data-substrate-expression='contained-blocked-presence'] .shell::before,
body[data-substrate-expression='contained-error-presence'] .shell::before {
  filter: saturate(0.82) brightness(0.92);
}

@keyframes synapse-substrate-presence-breath {
  0%, 100% { opacity: var(--synapse-substrate-presence-opacity, 0.36); transform: scale(1); }
  50% { opacity: calc(var(--synapse-substrate-presence-opacity, 0.36) + 0.08); transform: scale(1.006); }
}

@media (prefers-reduced-motion: reduce) {
  body[data-substrate-expression='mounted-quiet-presence'][data-display-fabric-mode='ambient'] .shell::before,
  body[data-substrate-expression='active-intelligence-presence'][data-display-fabric-mode='ambient'] .shell::before {
    animation: none !important;
  }
}
/* production-css: end shared/styles/shell/substrate.css */


/* production-css: begin shared/styles/shell/substrate-thought-field.css */
/* substrate-thought-field.css
   Latch wave: the substrate may signal thinking/recalibration, but the public
   resting cover should not show a constant breathing blob.
*/

body[data-substrate-thought-field-authority='substrate-thought-field-authority'] {
  --substrate-thought-opacity: 0;
  --substrate-thought-scale: 0.96;
  --substrate-thought-inline: clamp(3.1rem, 8vmin, 5.7rem);
  --substrate-thought-x: calc(50% + min(31vw, 18rem));
  --substrate-thought-y: calc(50% - min(20vh, 8rem));
  --substrate-thought-blur: 0.5px;
  --substrate-thought-shadow: 0 0 1.5rem rgba(84,183,255,0.14);
}

body[data-thought-field='thinking'],
body[data-thought-field='recalibrating'],
body[data-thought-field='responding'],
body[data-thought-field='blocked'],
body[data-thought-field='debug'] {
  --substrate-thought-opacity: 0.32;
}

body[data-thought-field='thinking'] { --substrate-thought-scale: 1; --substrate-thought-shadow: 0 0 1.9rem rgba(84,183,255,0.20); }
body[data-thought-field='recalibrating'] { --substrate-thought-opacity: 0.22; --substrate-thought-scale: 1.03; }
body[data-thought-field='responding'] { --substrate-thought-opacity: 0.26; --substrate-thought-scale: 1.05; }
body[data-thought-field='blocked'] { --substrate-thought-opacity: 0.20; --substrate-thought-scale: 0.98; }
body[data-thought-field='debug'] { --substrate-thought-opacity: 0.52; --substrate-thought-inline: clamp(4.8rem, 14vmin, 9rem); --substrate-thought-x: 50%; --substrate-thought-y: 50%; }

body[data-substrate-thought-anchor='debug-center'] {
  --substrate-thought-x: 50%;
  --substrate-thought-y: 50%;
}

body[data-substrate-thought-anchor='substrate-aperture'] {
  --substrate-thought-x: 50%;
  --substrate-thought-y: 50%;
  --substrate-thought-inline: clamp(3.8rem, 10vmin, 7.2rem);
}

body[data-substrate-thought-field-authority='substrate-thought-field-authority'] .shell::after {
  content: "";
  position: fixed;
  left: var(--substrate-thought-x, 50%);
  top: var(--substrate-thought-y, 50%);
  inline-size: var(--substrate-thought-inline, 5rem);
  aspect-ratio: 1.25;
  border-radius: 48% 58% 44% 62%;
  pointer-events: none;
  z-index: 2;
  opacity: var(--substrate-thought-opacity, 0);
  transform: translate(-50%, -50%) scale(var(--substrate-thought-scale, 1));
  transform-origin: center center;
  background:
    radial-gradient(circle at 34% 43%, rgba(224,246,255,0.18), transparent 0 32%),
    radial-gradient(circle at 68% 54%, rgba(84,183,255,0.13), transparent 0 38%),
    linear-gradient(135deg, rgba(255,255,255,0.055), rgba(81,155,208,0.08));
  border: 1px solid rgba(190,229,255,0.17);
  box-shadow: var(--substrate-thought-shadow, 0 0 1.5rem rgba(84,183,255,0.14));
  filter: blur(var(--substrate-thought-blur, 0.5px)) saturate(0.98);
  transition: opacity 160ms ease, transform 180ms ease, filter 180ms ease;
}

body[data-thought-field='thinking'] .shell::after,
body[data-thought-field='recalibrating'] .shell::after,
body[data-thought-field='responding'] .shell::after {
  animation: synapse-substrate-thought-field 1800ms ease-in-out infinite;
}

body[data-thought-field='off'] .shell::after,
body[data-substrate-public-breathing='quiet'] .shell::after {
  animation: none !important;
}

@keyframes synapse-substrate-thought-field {
  0%, 100% { transform: translate(-50%, -50%) scale(var(--substrate-thought-scale, 1)); filter: blur(var(--substrate-thought-blur, 0.5px)) saturate(0.95); }
  50% { transform: translate(-50%, -50%) scale(calc(var(--substrate-thought-scale, 1) + 0.035)); filter: blur(calc(var(--substrate-thought-blur, 0.5px) + 0.25px)) saturate(1.05); }
}

@media (max-width: 760px) {
  body[data-substrate-thought-field-authority='substrate-thought-field-authority'] {
    --substrate-thought-x: calc(50% + 30vw);
    --substrate-thought-y: calc(50% - 21vh);
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-thought-field='thinking'] .shell::after,
  body[data-thought-field='recalibrating'] .shell::after,
  body[data-thought-field='responding'] .shell::after {
    animation: none !important;
  }
}
/* production-css: end shared/styles/shell/substrate-thought-field.css */


/* production-css: begin shared/styles/shell/ai-housing.css */
/* ai-housing.css
   AI Housing v0 presence binding. This does not implement cognition and does
   not let AI control the cover; it exposes state for the substrate/fabric to
   express safely.
*/

body[data-ai-housing-authority='synapse-ai-housing-controller'] {
  --ai-housing-state-dot-opacity: 0.42;
  --ai-housing-state-dot-scale: 1;
  --ai-housing-state-dot-glow: 0 0 0 1px rgba(255,255,255,0.42);
}

body[data-ai-housing-state='available'],
body[data-ai-housing-state='handoff'] {
  --ai-housing-state-dot-opacity: 0.64;
  --ai-housing-state-dot-glow: 0 0 0 1px rgba(255,255,255,0.46), 0 0 0.42rem rgba(84,183,255,0.16);
}

body[data-ai-housing-state='listening'],
body[data-ai-housing-state='thinking'],
body[data-ai-housing-state='retrieving'],
body[data-ai-housing-state='composing'],
body[data-ai-housing-state='acting'] {
  --ai-housing-state-dot-opacity: 0.82;
  --ai-housing-state-dot-scale: 1.12;
  --ai-housing-state-dot-glow: 0 0 0 1px rgba(255,255,255,0.52), 0 0 0.64rem rgba(84,183,255,0.26);
}

body[data-ai-housing-state='blocked'] {
  --ai-housing-state-dot-opacity: 0.54;
  --ai-housing-state-dot-scale: 0.92;
}

body[data-ai-housing-state='error'] {
  --ai-housing-state-dot-opacity: 0.74;
  --ai-housing-state-dot-scale: 0.96;
}

body[data-ai-housing-mounted='true'] .synapse-cover-badge[data-ai-housing-anchor='cover-action-entry'] .synapse-cover-badge__status-dot,
body[data-ai-housing-mounted='true'] .synapse-cover-badge [data-badge-part='presence-status-light'] {
  opacity: var(--ai-housing-state-dot-opacity, 0.42) !important;
  transform: scale(var(--ai-housing-state-dot-scale, 1));
  box-shadow: var(--ai-housing-state-dot-glow, 0 0 0 1px rgba(255,255,255,0.42));
  transition: opacity 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

body[data-ai-housing-mounted='true'][data-ai-presence-state='processing'] .synapse-cover-badge[data-ai-housing-anchor='cover-action-entry'] .synapse-cover-badge__status-dot,
body[data-ai-housing-mounted='true'][data-ai-presence-state='retrieving'] .synapse-cover-badge[data-ai-housing-anchor='cover-action-entry'] .synapse-cover-badge__status-dot,
body[data-ai-housing-mounted='true'][data-ai-presence-state='composing'] .synapse-cover-badge[data-ai-housing-anchor='cover-action-entry'] .synapse-cover-badge__status-dot {
  animation: synapse-ai-presence-dot 3600ms ease-in-out infinite;
}

@keyframes synapse-ai-presence-dot {
  0%, 100% { opacity: var(--ai-housing-state-dot-opacity, 0.72); transform: scale(var(--ai-housing-state-dot-scale, 1)); }
  50% { opacity: 0.96; transform: scale(calc(var(--ai-housing-state-dot-scale, 1) + 0.10)); }
}

@media (prefers-reduced-motion: reduce) {
  body[data-ai-housing-mounted='true'][data-ai-presence-state='processing'] .synapse-cover-badge[data-ai-housing-anchor='cover-action-entry'] .synapse-cover-badge__status-dot,
  body[data-ai-housing-mounted='true'][data-ai-presence-state='retrieving'] .synapse-cover-badge[data-ai-housing-anchor='cover-action-entry'] .synapse-cover-badge__status-dot,
  body[data-ai-housing-mounted='true'][data-ai-presence-state='composing'] .synapse-cover-badge[data-ai-housing-anchor='cover-action-entry'] .synapse-cover-badge__status-dot {
    animation: none !important;
  }
}
/* production-css: end shared/styles/shell/ai-housing.css */


/* production-css: begin shared/styles/shell/first-paint.css */
/* first-paint.css
   Global atomic first-paint / transition reveal guard.

   This file gates visibility only. It does not size, place, offset, or correct
   cover/page geometry. Spatial registration still owns placement; composition
   owns meaning; CSS only prevents unstable intermediate paints from displaying.
*/

html[data-first-paint-system='atomic-ready-state'],
body[data-first-paint-system='atomic-ready-state'] {
  --first-paint-guard-role: atomic-visibility-gate-only;
}

html[data-first-paint-state='holding'] .shell,
body[data-first-paint-state='holding'] .shell {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body[data-first-paint-state='transitioning'] .shell__main,
body[data-first-paint-state='transitioning'] [data-shell-cover-layer],
body[data-first-paint-state='transitioning'] [data-shell-viewport-layer],
body[data-first-paint-state='transitioning'] .support-chamber,
body[data-first-paint-state='transitioning'] .support-chamber__resume {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body[data-first-paint-state='transitioning'][data-first-paint-phase='support-transition'] .shell__main,
body[data-first-paint-state='transitioning'][data-first-paint-phase='support-transition'] .support-chamber,
body[data-first-paint-state='transitioning'][data-first-paint-phase='access-transition'] .shell__main,
body[data-first-paint-state='transitioning'][data-first-paint-phase='access-transition'] [data-shell-viewport-layer],
body[data-first-paint-state='transitioning'][data-first-paint-phase='access-transition'] .support-chamber,
body[data-first-paint-state='transitioning'][data-first-paint-phase='viewport-change'] .shell__main,
body[data-first-paint-state='transitioning'][data-first-paint-phase='viewport-change'] [data-shell-cover-layer],
body[data-first-paint-state='transitioning'][data-first-paint-phase='viewport-change'] [data-shell-viewport-layer],
body[data-first-paint-state='transitioning'][data-first-paint-phase='viewport-change'] .support-chamber,
body[data-first-paint-state='transitioning'][data-first-paint-phase='viewport-change'] .support-chamber__resume,
body[data-first-paint-state='transitioning'][data-first-paint-phase='cover-registration'] .shell__main,
body[data-first-paint-state='transitioning'][data-first-paint-phase='cover-registration'] [data-shell-cover-layer],
body[data-first-paint-state='transitioning'][data-first-paint-phase='cover-registration'] [data-shell-viewport-layer],
body[data-first-paint-state='transitioning'][data-first-paint-phase='cover-registration'] .support-chamber,
body[data-first-paint-state='transitioning'][data-first-paint-phase='cover-registration'] .support-chamber__resume {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

body[data-first-paint-state='ready'] .shell,
body[data-display-ready='true'] .shell {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transition: opacity 140ms ease;
}

.shell-cover[data-cover-contract='synapse-cover-v2'][aria-busy='true'] .shell-cover__field,
.shell-cover[data-cover-contract='synapse-cover-v2']:not([data-cover-presented='true']) .shell-cover__field,
.shell-cover[data-cover-contract='synapse-cover-v2']:not([data-cover-presented='true']) .shell-cover__native-access-module,
.shell-cover[data-cover-contract='synapse-cover-v2']:not([data-cover-presented='true']) .shell-cover__native-sigil-badge,
.shell-cover[data-cover-contract='synapse-cover-v2']:not([data-cover-presented='true']) .synapse-cover-badge {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-presented='true'] .shell-cover__field,
.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-presented='true'] .shell-cover__native-access-module,
.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-presented='true'] .shell-cover__native-sigil-badge,
.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-presented='true'] .synapse-cover-badge {
  visibility: visible;
  opacity: 1;
}



/* =========================================================
   Stable Cover Fallback First Paint
   ---------------------------------------------------------
   First paint must never blank the shell on the resting cover. While the
   adaptive/spatial systems settle, keep a safe balanced cover surface visible
   and hold only unstable semantic/registered children until presentation.
   ========================================================= */
body[data-first-paint-state='holding'][data-shell-state='resting'] .shell,
body[data-first-paint-state='holding'][data-active-scene='cover'] .shell,
body[data-first-paint-state='transitioning'][data-first-paint-phase='cover-registration'][data-shell-state='resting'] .shell,
body[data-first-paint-state='transitioning'][data-first-paint-phase='cover-registration'][data-active-scene='cover'] .shell,
body[data-first-paint-cover-fallback='stable'] .shell {
  visibility: visible !important;
  opacity: 1 !important;
}

body[data-first-paint-cover-fallback='stable'] [data-shell-cover-layer],
body[data-first-paint-cover-fallback='stable'] .shell-cover[data-cover-contract='synapse-cover-v2'],
body[data-first-paint-cover-fallback='stable'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__surface,
body[data-first-paint-cover-fallback='stable'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__coordinate,
body[data-first-paint-cover-fallback='stable'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__registration-frame,
body[data-first-paint-cover-fallback='stable'] .shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-registration-frame],
body[data-first-paint-cover-fallback='stable'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__native-plane,
body[data-first-paint-cover-fallback='stable'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__trace-native,
body[data-first-paint-cover-fallback='stable'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__native-case,
body[data-first-paint-cover-fallback='stable'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__native-main-field,
body[data-first-paint-cover-fallback='stable'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__native-access-module {
  visibility: visible !important;
  opacity: 1 !important;
}

body[data-first-paint-cover-fallback='stable'] [data-shell-viewport-layer],
body[data-first-paint-cover-fallback='stable'] [data-shell-cover-proxy] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body[data-first-paint-cover-fallback='stable'] .shell-cover[data-cover-contract='synapse-cover-v2']:not([data-cover-presented='true']) {
  --cover-fit-inline: min(96%, calc(var(--shell-cover-chamber-inline, 100%) - 0.5rem));
  --cover-fit-block: min(96%, calc(var(--shell-cover-chamber-block, 100%) - 0.5rem));
  --cover-fit-offset-x: 0px;
  --cover-fit-offset-y: 0px;
  --cover-fit-scale: 1;
  --cover-canvas-ratio: var(--cover-display-frame-ratio, 1.55);
  --cover-canvas-fill-height: 96%;
  --cover-canvas-max-inline-size: 96%;
  --cover-canvas-max-block-size: 96%;
  --cover-tablet-casing-x: 0.95%;
  --cover-tablet-casing-y: 0.95%;
  --cover-tablet-casing-w: 98.1%;
  --cover-tablet-casing-h: 98.1%;
  --cover-diagnostic-screen-x: 4.2%;
  --cover-diagnostic-screen-y: 5.0%;
  --cover-diagnostic-screen-w: 91.6%;
  --cover-diagnostic-screen-h: 90.0%;
  --cover-access-module-x: 18%;
  --cover-access-module-y: 24%;
  --cover-access-module-w: 64%;
  --cover-access-module-h: 52%;
}

body[data-first-paint-cover-fallback='stable'] .shell-cover[data-cover-contract='synapse-cover-v2']:not([data-cover-presented='true']) .shell-cover__field,
body[data-first-paint-cover-fallback='stable'] .shell-cover[data-cover-contract='synapse-cover-v2']:not([data-cover-presented='true']) .shell-cover__content-card,
body[data-first-paint-cover-fallback='stable'] .shell-cover[data-cover-contract='synapse-cover-v2']:not([data-cover-presented='true']) .shell-cover__routes-zone,
body[data-first-paint-cover-fallback='stable'] .shell-cover[data-cover-contract='synapse-cover-v2']:not([data-cover-presented='true']) .shell-cover__route {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body[data-first-paint-cover-fallback='stable'] .shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-presented='true'] .shell-cover__field,
body[data-first-paint-cover-fallback='stable'] .shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-presented='true'] .shell-cover__content-card,
body[data-first-paint-cover-fallback='stable'] .shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-presented='true'] .shell-cover__routes-zone,
body[data-first-paint-cover-fallback='stable'] .shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-presented='true'] .shell-cover__route {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

@media (prefers-reduced-motion: reduce) {
  body[data-first-paint-state='ready'] .shell,
  body[data-display-ready='true'] .shell {
    transition: none;
  }
}
/* production-css: end shared/styles/shell/first-paint.css */


/* production-css: begin shared/styles/shell/display-bridge.css */
/* display-bridge.css
   Global Display Bridge Authority
   The platform can compute dynamically, but users only see admitted rested
   states or this authored bridge. This layer is global: cover, viewport,
   shell, and action chambers are all suppressed behind one invariant surface.
*/

html[data-display-bridge-authority='global-display-bridge-authority'],
body[data-display-bridge-authority='global-display-bridge-authority'] {
  --display-bridge-contract: synapse-global-display-bridge-contract-v1;
  --display-bridge-z: 2147481000;
  --display-bridge-field: rgba(8, 20, 37, 0.94);
  --display-bridge-glass: rgba(16, 41, 70, 0.78);
  --display-bridge-line: rgba(168, 217, 255, 0.32);
  --display-bridge-line-strong: rgba(195, 231, 255, 0.54);
  --display-bridge-glow: rgba(84, 183, 255, 0.28);
}

html[data-display-bridge-phase='bridge'][data-first-paint-state='holding'] body,
html[data-display-bridge-phase='committing'][data-first-paint-state='holding'] body,
body[data-display-bridge-phase='bridge'],
body[data-display-bridge-phase='committing'] {
  visibility: visible !important;
  opacity: 1 !important;
  background:
    radial-gradient(circle at 50% 44%, rgba(53, 145, 213, 0.22), transparent 31rem),
    linear-gradient(135deg, #071220 0%, #0a1d33 54%, #071426 100%) !important;
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

html[data-display-bridge-phase='bridge'][data-first-paint-state='holding'] .shell,
html[data-display-bridge-phase='committing'][data-first-paint-state='holding'] .shell,
body[data-display-bridge-phase='bridge'] .shell,
body[data-display-bridge-phase='committing'] .shell {
  visibility: visible !important;
  opacity: 1 !important;
}

body[data-display-bridge-phase='bridge'] *,
body[data-display-bridge-phase='committing'] * {
  -webkit-user-select: none;
  user-select: none;
}

body[data-display-bridge-phase='bridge'] input,
body[data-display-bridge-phase='bridge'] textarea,
body[data-display-bridge-phase='bridge'] select,
body[data-display-bridge-phase='bridge'] [contenteditable='true'],
body[data-display-bridge-phase='committing'] input,
body[data-display-bridge-phase='committing'] textarea,
body[data-display-bridge-phase='committing'] select,
body[data-display-bridge-phase='committing'] [contenteditable='true'] {
  -webkit-user-select: text;
  user-select: text;
}

body[data-display-bridge-phase='bridge'] .shell,
body[data-display-bridge-phase='committing'] .shell {
  pointer-events: none !important;
}

body[data-display-bridge-phase='bridge'] [data-shell-viewport-layer],
body[data-display-bridge-phase='bridge'] [data-action-chamber-root],
body[data-display-bridge-phase='bridge'] [data-support-chamber-root],
body[data-display-bridge-phase='bridge'] .shell-authbar,
body[data-display-bridge-phase='bridge'] .support-chamber__resume,
body[data-display-bridge-phase='committing'] [data-shell-viewport-layer],
body[data-display-bridge-phase='committing'] [data-action-chamber-root],
body[data-display-bridge-phase='committing'] [data-support-chamber-root],
body[data-display-bridge-phase='committing'] .shell-authbar,
body[data-display-bridge-phase='committing'] .support-chamber__resume {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: none !important;
  animation: none !important;
}

body[data-display-bridge-phase='bridge'] [data-shell-cover-layer],
body[data-display-bridge-phase='bridge'] [data-shell-cover-chamber],
body[data-display-bridge-phase='committing'] [data-shell-cover-layer],
body[data-display-bridge-phase='committing'] [data-shell-cover-chamber] {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: none !important;
  animation: none !important;
}

body[data-display-bridge-phase='bridge'] .shell-cover[data-cover-contract='synapse-cover-v2'],
body[data-display-bridge-phase='committing'] .shell-cover[data-cover-contract='synapse-cover-v2'] {
  visibility: hidden !important;
  opacity: 0 !important;
  filter: none !important;
  transition: none !important;
  animation: none !important;
}

body[data-display-bridge-phase='bridge'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__field,
body[data-display-bridge-phase='bridge'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__content-card,
body[data-display-bridge-phase='bridge'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__routes-zone,
body[data-display-bridge-phase='bridge'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__routes,
body[data-display-bridge-phase='bridge'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route,
body[data-display-bridge-phase='bridge'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__native-access-module,
body[data-display-bridge-phase='committing'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__field,
body[data-display-bridge-phase='committing'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__content-card,
body[data-display-bridge-phase='committing'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__routes-zone,
body[data-display-bridge-phase='committing'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__routes,
body[data-display-bridge-phase='committing'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route,
body[data-display-bridge-phase='committing'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__native-access-module {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: none !important;
  animation: none !important;
}

body[data-display-bridge-phase='bridge'] .shell__header,
body[data-display-bridge-phase='bridge'] .shell__footer,
body[data-display-bridge-phase='committing'] .shell__header,
body[data-display-bridge-phase='committing'] .shell__footer {
  opacity: 0.16 !important;
  filter: saturate(0.72) brightness(0.72);
  transition: none !important;
}

body[data-display-bridge-phase='bridge']::before,
body[data-display-bridge-phase='committing']::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: var(--display-bridge-z);
  pointer-events: none;
  opacity: 1;
  background:
    radial-gradient(circle at 50% 48%, rgba(111, 202, 255, 0.18), transparent 0 16rem, transparent 28rem),
    radial-gradient(circle at 50% 52%, rgba(19, 79, 126, 0.54), transparent 0 22rem, transparent 42rem),
    linear-gradient(135deg, rgba(8, 18, 33, 0.97), rgba(7, 25, 45, 0.96));
  backdrop-filter: blur(4px) saturate(0.94);
  -webkit-backdrop-filter: blur(4px) saturate(0.94);
}

body[data-display-bridge-phase='bridge']::after,
body[data-display-bridge-phase='committing']::after {
  content: "";
  position: fixed;
  left: 50%;
  top: 50%;
  z-index: calc(var(--display-bridge-z) + 1);
  inline-size: clamp(5.8rem, 19vmin, 12rem);
  aspect-ratio: 1;
  border-radius: 30% 42% 30% 42%;
  transform: translate(-50%, -50%) rotate(45deg) scale(1);
  transform-origin: center center;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 50%, rgba(213, 241, 255, 0.15), transparent 0 34%),
    linear-gradient(135deg, rgba(255,255,255,0.11), rgba(59,143,198,0.12));
  border: 1px solid var(--display-bridge-line-strong);
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.04) inset,
    0 0 3.25rem var(--display-bridge-glow),
    0 1.2rem 4.8rem rgba(0, 0, 0, 0.32);
  animation: synapse-display-bridge-aperture 360ms ease-out both;
}

body[data-display-bridge-phase='committing']::after {
  animation-duration: 300ms;
}

body[data-display-bridge-phase='rested']::before,
body[data-display-bridge-phase='rested']::after,
body[data-display-bridge-phase='released']::before,
body[data-display-bridge-phase='released']::after {
  opacity: 0;
  pointer-events: none;
}

@keyframes synapse-display-bridge-aperture {
  from {
    transform: translate(-50%, -50%) rotate(45deg) scale(0.985);
    filter: brightness(0.96) saturate(0.92);
  }
  to {
    transform: translate(-50%, -50%) rotate(45deg) scale(1.025);
    filter: brightness(1.08) saturate(1.04);
  }
}

@media (orientation: landscape) {
  body[data-display-bridge-phase='bridge']::after,
  body[data-display-bridge-phase='committing']::after {
    inline-size: clamp(5.2rem, 15vmin, 9.5rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-display-bridge-phase='bridge']::after,
  body[data-display-bridge-phase='committing']::after {
    animation: none;
  }

  body[data-display-bridge-phase='bridge']::before,
  body[data-display-bridge-phase='committing']::before {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}


/* Display Fabric Root compatibility: when the global cover core is safe, bridge
   requests are absorbed by the basement/fabric layer. The full black bridge may
   still appear for boot/failure, but normal recalibration preserves the core and
   washes out only enhancements. */
body[data-cover-core-safe='true'][data-display-bridge-phase='bridge']:not([data-display-bridge-severity='boot']) [data-shell-cover-layer],
body[data-cover-core-safe='true'][data-display-bridge-phase='bridge']:not([data-display-bridge-severity='boot']) [data-shell-cover-chamber],
body[data-cover-core-safe='true'][data-display-bridge-phase='committing'] [data-shell-cover-layer],
body[data-cover-core-safe='true'][data-display-bridge-phase='committing'] [data-shell-cover-chamber],
body[data-cover-core-safe='true'][data-display-bridge-phase='bridge']:not([data-display-bridge-severity='boot']) .shell-cover[data-cover-contract='synapse-cover-v2'],
body[data-cover-core-safe='true'][data-display-bridge-phase='committing'] .shell-cover[data-cover-contract='synapse-cover-v2'] {
  visibility: visible !important;
  opacity: 1 !important;
}

body[data-cover-core-safe='true'][data-display-bridge-phase='bridge']:not([data-display-bridge-severity='boot']) .shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-core-atom],
body[data-cover-core-safe='true'][data-display-bridge-phase='committing'] .shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-core-atom] {
  visibility: visible !important;
  opacity: 1 !important;
  animation: none !important;
}

body[data-cover-core-safe='true'][data-display-bridge-phase='bridge']:not([data-display-bridge-severity='boot']) .shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-enhancement-atom],
body[data-cover-core-safe='true'][data-display-bridge-phase='bridge']:not([data-display-bridge-severity='boot']) .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__field,
body[data-cover-core-safe='true'][data-display-bridge-phase='bridge']:not([data-display-bridge-severity='boot']) .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__content-card,
body[data-cover-core-safe='true'][data-display-bridge-phase='bridge']:not([data-display-bridge-severity='boot']) .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__routes-zone,
body[data-cover-core-safe='true'][data-display-bridge-phase='committing'] .shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-enhancement-atom],
body[data-cover-core-safe='true'][data-display-bridge-phase='committing'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__field,
body[data-cover-core-safe='true'][data-display-bridge-phase='committing'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__content-card,
body[data-cover-core-safe='true'][data-display-bridge-phase='committing'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__routes-zone {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body[data-cover-core-safe='true'][data-display-bridge-phase='bridge']:not([data-display-bridge-severity='boot'])::before,
body[data-cover-core-safe='true'][data-display-bridge-phase='committing']::before {
  opacity: 0.34;
  backdrop-filter: blur(1px) saturate(0.96);
  -webkit-backdrop-filter: blur(1px) saturate(0.96);
}

body[data-cover-core-safe='true'][data-display-bridge-phase='bridge']:not([data-display-bridge-severity='boot'])::after,
body[data-cover-core-safe='true'][data-display-bridge-phase='committing']::after {
  content: none !important;
  opacity: 0 !important;
  animation: none !important;
}

/* Runtime Activation Kernel patch: after the core cover or a last-good plan is
   safe, bridge/commit phases become soft recalibration. They may not blank the
   compiled cover or route tray. Boot/failure remains the only full bridge. */
body[data-display-fabric-root='true'][data-cover-display-hold-policy='preserve-last-good'][data-display-bridge-phase='bridge'] [data-shell-cover-layer],
body[data-display-fabric-root='true'][data-cover-display-hold-policy='preserve-last-good'][data-display-bridge-phase='bridge'] [data-shell-cover-chamber],
body[data-display-fabric-root='true'][data-cover-display-hold-policy='preserve-last-good'][data-display-bridge-phase='committing'] [data-shell-cover-layer],
body[data-display-fabric-root='true'][data-cover-display-hold-policy='preserve-last-good'][data-display-bridge-phase='committing'] [data-shell-cover-chamber],
body[data-display-fabric-root='true'][data-cover-display-hold-policy='preserve-last-good'] .shell-cover[data-cover-contract='synapse-cover-v2'],
body[data-display-fabric-root='true'][data-cover-display-hold-policy='preserve-last-good'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__field,
body[data-display-fabric-root='true'][data-cover-display-hold-policy='preserve-last-good'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__content-card,
body[data-display-fabric-root='true'][data-cover-display-hold-policy='preserve-last-good'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__routes-zone,
body[data-display-fabric-root='true'][data-cover-display-hold-policy='preserve-last-good'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__routes,
body[data-display-fabric-root='true'][data-cover-display-hold-policy='preserve-last-good'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route,
body[data-display-fabric-root='true'][data-cover-display-hold-policy='preserve-last-good'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__native-access-module {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  animation: none !important;
}

body[data-display-fabric-root='true'][data-cover-display-hold-policy='preserve-last-good'][data-display-bridge-phase='bridge']::before,
body[data-display-fabric-root='true'][data-cover-display-hold-policy='preserve-last-good'][data-display-bridge-phase='committing']::before {
  opacity: 0.08 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body[data-display-fabric-root='true'][data-cover-display-hold-policy='preserve-last-good'][data-display-bridge-phase='bridge']::after,
body[data-display-fabric-root='true'][data-cover-display-hold-policy='preserve-last-good'][data-display-bridge-phase='committing']::after {
  content: none !important;
  opacity: 0 !important;
  animation: none !important;
}
/* production-css: end shared/styles/shell/display-bridge.css */


/* production-css: begin css/lifecycle-authority.css */
/* Synapse Lifecycle Authority v1
   Shell/chamber ownership guard, presented-contract lock, and orientation
   transaction protection. This layer is intentionally structural: it prevents
   white document exposure and public cover geometry mutation during lifecycle
   transitions. */
html,
body {
  min-height: 100%;
  background: var(--synapse-shell-bg, #05080d);
}

html[data-platform-lifecycle='cold-boot'],
html[data-platform-lifecycle='boot-admission'],
html[data-platform-lifecycle='presentation-check'],
html[data-platform-lifecycle='first-reveal'],
html[data-platform-lifecycle='orientation-transaction'],
body[data-platform-lifecycle='cold-boot'],
body[data-platform-lifecycle='boot-admission'],
body[data-platform-lifecycle='presentation-check'],
body[data-platform-lifecycle='first-reveal'],
body[data-platform-lifecycle='orientation-transaction'] {
  overflow: hidden;
  background: var(--synapse-shell-bg, #05080d) !important;
}

html[data-orientation-transaction='holding'],
html[data-orientation-transaction='settling'],
html[data-orientation-transaction='commit-ready'],
body[data-orientation-transaction='holding'],
body[data-orientation-transaction='settling'],
body[data-orientation-transaction='commit-ready'] {
  overflow: hidden !important;
  background: var(--synapse-shell-bg, #05080d) !important;
}

html[data-shell-viewport-lock='active'] body,
body[data-shell-viewport-lock='active'],
html[data-orientation-transaction='holding'] body,
html[data-orientation-transaction='settling'] body,
html[data-orientation-transaction='commit-ready'] body {
  width: 100dvw;
  min-width: 100dvw;
  min-height: 100dvh;
  background: var(--synapse-shell-bg, #05080d) !important;
  overscroll-behavior: none;
}

html[data-shell-viewport-lock='active'] .shell,
html[data-shell-viewport-lock='active'] .shell__main,
html[data-shell-viewport-lock='active'] [data-shell-chamber-host],
html[data-shell-viewport-lock='active'] [data-shell-cover-layer],
html[data-shell-viewport-lock='active'] [data-shell-cover-chamber],
body[data-shell-viewport-lock='active'] .shell,
body[data-shell-viewport-lock='active'] .shell__main,
body[data-shell-viewport-lock='active'] [data-shell-chamber-host],
body[data-shell-viewport-lock='active'] [data-shell-cover-layer],
body[data-shell-viewport-lock='active'] [data-shell-cover-chamber] {
  min-height: 100dvh;
  width: 100dvw;
  max-width: 100dvw;
  overflow: hidden !important;
  background: var(--synapse-shell-bg, #05080d) !important;
}

html[data-shell-viewport-lock='active'] [data-shell-cover-layer],
body[data-shell-viewport-lock='active'] [data-shell-cover-layer] {
  position: fixed !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 20;
}

html[data-cover-presented-contract-lock='active'] [data-cover-atom-state],
body[data-cover-presented-contract-lock='active'] [data-cover-atom-state] {
  transition-property: opacity, filter, color, background-color, box-shadow !important;
  transition-duration: 140ms !important;
}

html[data-cover-presented-contract-lock='active'][data-orientation-transaction='idle'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
body[data-cover-presented-contract-lock='active'][data-orientation-transaction='idle'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] {
  will-change: auto;
}

html[data-orientation-transaction='holding'] [data-shell-viewport-layer],
html[data-orientation-transaction='settling'] [data-shell-viewport-layer],
body[data-orientation-transaction='holding'] [data-shell-viewport-layer],
body[data-orientation-transaction='settling'] [data-shell-viewport-layer] {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Boot Cover Construction v1: allow a richer first public cover to be built
   behind the veil, then freeze geometry once the presented contract is locked. */
html[data-platform-lifecycle="boot-construction"],
body[data-platform-lifecycle="boot-construction"] {
  --synapse-boot-construction-active: 1;
}

html[data-boot-cover-construction-ready="true"],
body[data-boot-cover-construction-ready="true"] {
  --cover-boot-construction-ready: 1;
}

[data-shell-cover][data-cover-first-public-complete="true"],
[data-shell-cover][data-cover-visual-construction-state="complete-first-public-cover"] {
  --cover-construct-route-opacity: 1;
  --cover-fidelity-route-opacity: 1;
  --cover-fidelity-sigil-opacity: max(var(--cover-fidelity-sigil-opacity, .9), .84);
}

html[data-cover-presented-lock="locked"] [data-shell-cover][data-cover-first-public-complete="true"],
body[data-cover-presented-lock="locked"] [data-shell-cover][data-cover-first-public-complete="true"] {
  contain: layout paint style;
}

/* Presentation Veil + Atomic Construction v1: shell owns the whole visual field
   whenever presentation is unsafe. */
html[data-presentation-veil-state='holding'],
html[data-presentation-veil-state='admitting'],
html[data-presentation-veil-state='collapsing'],
body[data-presentation-veil-state='holding'],
body[data-presentation-veil-state='admitting'],
body[data-presentation-veil-state='collapsing'] {
  width: 100dvw;
  min-height: 100dvh;
  overflow: hidden !important;
  background: var(--synapse-shell-bg, #05080d) !important;
}

html[data-platform-lifecycle='boot-construction'] [data-shell-cover],
body[data-platform-lifecycle='boot-construction'] [data-shell-cover] {
  contain: layout paint style;
}

html[data-cover-construction-visibility='private-constructing'] [data-shell-cover],
body[data-cover-construction-visibility='private-constructing'] [data-shell-cover],
html[data-cover-construction-visibility='private-complete'] [data-shell-cover],
body[data-cover-construction-visibility='private-complete'] [data-shell-cover] {
  will-change: transform, opacity;
}

html[data-orientation-transaction='holding'] #synapse-boot-veil,
html[data-orientation-transaction='settling'] #synapse-boot-veil,
html[data-orientation-transaction='commit-ready'] #synapse-boot-veil,
body[data-orientation-transaction='holding'] #synapse-boot-veil,
body[data-orientation-transaction='settling'] #synapse-boot-veil,
body[data-orientation-transaction='commit-ready'] #synapse-boot-veil {
  display: grid;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Viewport Sovereignty + Orientation Transaction v1
   The veil/shell must bind to the actual visual viewport during rotation, not
   to a collapsing app/root frame. */
html[data-viewport-sovereignty='active'],
body[data-viewport-sovereignty='active'] {
  width: 100vw !important;
  width: 100dvw !important;
  min-width: 100vw !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  overflow: hidden !important;
  overscroll-behavior: none !important;
  background: var(--synapse-shell-bg, #05080d) !important;
}
html[data-viewport-sovereignty='active'] body,
body[data-viewport-sovereignty='active'] {
  position: fixed !important;
  inset: 0 !important;
  width: var(--synapse-vv-width, 100dvw) !important;
  height: var(--synapse-vv-height, 100dvh) !important;
  min-height: var(--synapse-vv-height, 100dvh) !important;
  max-width: 100dvw !important;
  max-height: 100dvh !important;
}
html[data-viewport-sovereignty='active'] #synapse-boot-veil,
body[data-viewport-sovereignty='active'] #synapse-boot-veil,
#synapse-boot-veil[data-viewport-sovereignty='active'] {
  position: fixed !important;
  inset: auto !important;
  left: var(--synapse-vv-offset-left, 0px) !important;
  top: var(--synapse-vv-offset-top, 0px) !important;
  width: var(--synapse-vv-width, 100dvw) !important;
  height: var(--synapse-vv-height, 100dvh) !important;
  min-width: var(--synapse-vv-width, 100dvw) !important;
  min-height: var(--synapse-vv-height, 100dvh) !important;
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: translateZ(0) !important;
  background: var(--synapse-shell-bg, #05080d) !important;
  z-index: 2147483000 !important;
}
html[data-viewport-sovereignty='active'] .shell,
html[data-viewport-sovereignty='active'] .shell__main,
html[data-viewport-sovereignty='active'] [data-shell-chamber-host],
html[data-viewport-sovereignty='active'] [data-shell-cover-layer],
html[data-viewport-sovereignty='active'] [data-shell-cover-chamber],
body[data-viewport-sovereignty='active'] .shell,
body[data-viewport-sovereignty='active'] .shell__main,
body[data-viewport-sovereignty='active'] [data-shell-chamber-host],
body[data-viewport-sovereignty='active'] [data-shell-cover-layer],
body[data-viewport-sovereignty='active'] [data-shell-cover-chamber] {
  width: var(--synapse-vv-width, 100dvw) !important;
  min-height: var(--synapse-vv-height, 100dvh) !important;
  max-width: var(--synapse-vv-width, 100dvw) !important;
  overflow: hidden !important;
  background: var(--synapse-shell-bg, #05080d) !important;
}
html[data-viewport-sovereignty='active'] [data-shell-cover-layer],
body[data-viewport-sovereignty='active'] [data-shell-cover-layer] {
  position: fixed !important;
  inset: 0 !important;
  z-index: 18;
}

/* Presented State Commit Contract v1: the global shell/veil is never sized to
   visualViewport. visualViewport variables are reserved for internal safe-area
   positioning only. */
html[data-viewport-sovereignty='active'],
body[data-viewport-sovereignty='active'],
html[data-shell-viewport-lock='active'],
body[data-shell-viewport-lock='active'] {
  position: fixed !important;
  inset: 0 !important;
  width: 100dvw !important;
  height: 100dvh !important;
  min-width: 100dvw !important;
  min-height: 100dvh !important;
  max-width: 100dvw !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
  background: var(--synapse-shell-bg, #05080d) !important;
}
html[data-viewport-sovereignty='active'] #synapse-boot-veil,
body[data-viewport-sovereignty='active'] #synapse-boot-veil,
html[data-shell-viewport-lock='active'] #synapse-boot-veil,
body[data-shell-viewport-lock='active'] #synapse-boot-veil,
#synapse-boot-veil[data-viewport-sovereignty='active'] {
  position: fixed !important;
  inset: 0 !important;
  left: 0 !important;
  top: 0 !important;
  width: 100dvw !important;
  height: 100dvh !important;
  min-width: 100dvw !important;
  min-height: 100dvh !important;
  max-width: 100dvw !important;
  max-height: 100dvh !important;
}
html[data-viewport-sovereignty='active'] .shell,
html[data-viewport-sovereignty='active'] .shell__main,
html[data-viewport-sovereignty='active'] [data-shell-chamber-host],
html[data-viewport-sovereignty='active'] [data-shell-cover-layer],
html[data-viewport-sovereignty='active'] [data-shell-cover-chamber],
body[data-viewport-sovereignty='active'] .shell,
body[data-viewport-sovereignty='active'] .shell__main,
body[data-viewport-sovereignty='active'] [data-shell-chamber-host],
body[data-viewport-sovereignty='active'] [data-shell-cover-layer],
body[data-viewport-sovereignty='active'] [data-shell-cover-chamber] {
  width: 100dvw !important;
  min-height: 100dvh !important;
  max-width: 100dvw !important;
}
html[data-presentation-recovery-surface='emergency-graphite-shell'],
body[data-presentation-recovery-surface='emergency-graphite-shell'] {
  background: #05080d !important;
}

/* Presentation Lifecycle Kernel v1: lifecycle authority owns global shell/veil containment. */
html[data-presentation-screen-owner="veil"],
body[data-presentation-screen-owner="veil"],
html[data-presentation-lifecycle-phase="orientation-hold"],
body[data-presentation-lifecycle-phase="orientation-hold"],
html[data-presentation-lifecycle-phase="recovery"],
body[data-presentation-lifecycle-phase="recovery"] {
  width: 100dvw !important;
  min-width: 100dvw !important;
  max-width: 100dvw !important;
  min-height: 100dvh !important;
  overflow: hidden !important;
  background: var(--synapse-shell-bg, #05080d) !important;
}
html[data-presentation-screen-owner="veil"] .shell,
html[data-presentation-screen-owner="veil"] .shell__main,
html[data-presentation-screen-owner="veil"] [data-shell-chamber-host],
html[data-presentation-screen-owner="veil"] [data-shell-cover-layer],
html[data-presentation-screen-owner="veil"] [data-shell-cover-chamber],
body[data-presentation-screen-owner="veil"] .shell,
body[data-presentation-screen-owner="veil"] .shell__main,
body[data-presentation-screen-owner="veil"] [data-shell-chamber-host],
body[data-presentation-screen-owner="veil"] [data-shell-cover-layer],
body[data-presentation-screen-owner="veil"] [data-shell-cover-chamber] {
  width: 100dvw !important;
  min-width: 100dvw !important;
  max-width: 100dvw !important;
  min-height: 100dvh !important;
}
html[data-presentation-input-quarantine="active"],
body[data-presentation-input-quarantine="active"] {
  -webkit-user-select: none;
  user-select: none;
}

/* Presentation Ownership Invariant v1
   Readiness is evidence. Visibility requires explicit presentation ownership. */
html[data-presentation-ownership-assigned="true"][data-presentation-screen-owner="veil"] [data-shell-cover-layer],
body[data-presentation-ownership-assigned="true"][data-presentation-screen-owner="veil"] [data-shell-cover-layer] {
  pointer-events: none !important;
}

html[data-presentation-ownership-assigned="true"][data-presentation-screen-owner="cover"] [data-shell-cover-layer],
body[data-presentation-ownership-assigned="true"][data-presentation-screen-owner="cover"] [data-shell-cover-layer] {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

html[data-presentation-ownership-assigned="true"][data-presentation-screen-owner="cover"] [data-scene]:not([data-scene="cover"]),
body[data-presentation-ownership-assigned="true"][data-presentation-screen-owner="cover"] [data-scene]:not([data-scene="cover"]) {
  pointer-events: none;
}

html[data-presentation-ownership-assigned="true"][data-presentation-screen-owner="route"] [data-shell-cover-layer],
body[data-presentation-ownership-assigned="true"][data-presentation-screen-owner="route"] [data-shell-cover-layer] {
  pointer-events: none;
}

html[data-cover-first-load-gate-required="true"][data-cover-first-load-gate-passed="false"] #synapse-boot-veil,
body[data-cover-first-load-gate-required="true"][data-cover-first-load-gate-passed="false"] #synapse-boot-veil {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
/* production-css: end css/lifecycle-authority.css */


/* production-css: begin css/cover-truth-spine.css */
/* Cover Truth Spine v1
   The veil ring resolves into a cover state aperture. Truth owns condition;
   cover consumes the committed state and displays readiness without calculating it.
*/

.shell-cover[data-cover-contract='synapse-cover-v2'] {
  --cover-truth-aperture-size: clamp(0.46rem, min(1.12vw, 1.68vh), 0.86rem);
  --cover-truth-aperture-stroke: max(1px, calc(var(--cover-truth-aperture-size) * 0.082));
  --cover-truth-status-size: clamp(0.28rem, min(0.62vw, 1.04vh), 0.56rem);
  --cover-truth-phase-size: clamp(0.23rem, min(0.48vw, 0.82vh), 0.42rem);
  --cover-truth-ink: color-mix(in srgb, var(--shell-cover-ink, #172f4a) 72%, var(--synapse-truth-ring-color, rgba(15, 111, 120, 0.92)) 28%);
  --cover-truth-line: color-mix(in srgb, var(--synapse-truth-ring-color, rgba(15, 111, 120, 0.92)) 58%, rgba(255,255,255,0.32));
  --cover-truth-sheen: color-mix(in srgb, var(--synapse-truth-ring-glow, rgba(120, 175, 202, 0.20)) 70%, rgba(255,255,255,0.18));
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__identity[data-cover-truth-spine='identity-axis'] {
  position: relative !important;
  display: grid !important;
  grid-template-rows: auto auto auto !important;
  justify-items: center !important;
  align-items: center !important;
  gap: clamp(0.025rem, min(0.10vw, 0.16vh), 0.10rem) !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__truth-aperture {
  position: relative !important;
  display: block !important;
  inline-size: var(--cover-truth-aperture-size) !important;
  block-size: var(--cover-truth-aperture-size) !important;
  border-radius: 999px !important;
  flex: 0 0 auto !important;
  opacity: 0.92 !important;
  background:
    conic-gradient(var(--synapse-truth-ring-color, rgba(120, 175, 202, 0.92)) 0 var(--synapse-truth-ring-angle, 0deg), rgba(23,47,74,0.08) var(--synapse-truth-ring-angle, 0deg) 360deg) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.34),
    0 0 clamp(0.34rem, 0.68vw, 0.72rem) var(--synapse-truth-ring-glow, rgba(120, 175, 202, 0.20)),
    inset 0 0 0 1px rgba(23,47,74,0.10) !important;
  pointer-events: none !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__truth-aperture::before,
.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__truth-aperture::after {
  content: '' !important;
  position: absolute !important;
  border-radius: inherit !important;
  pointer-events: none !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__truth-aperture::before {
  inset: var(--cover-truth-aperture-stroke) !important;
  background:
    radial-gradient(circle at 46% 38%, rgba(255,255,255,0.82), rgba(238,248,239,0.54) 45%, rgba(7,17,28,0.08) 100%) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.46) !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__truth-aperture::after {
  inset: 34% !important;
  background: var(--synapse-truth-ring-color, rgba(120, 175, 202, 0.92)) !important;
  box-shadow: 0 0 clamp(0.22rem, 0.48vw, 0.54rem) var(--synapse-truth-ring-glow, rgba(120, 175, 202, 0.20)) !important;
  opacity: 0.62 !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'][data-runtime-condition='ready'] .shell-cover__truth-aperture,
.shell-cover[data-cover-contract='synapse-cover-v2'][data-state-light-v2='ready'] .shell-cover__truth-aperture {
  opacity: 1 !important;
  filter: saturate(1.04) contrast(1.02) !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'][data-runtime-condition='protected'] .shell-cover__truth-aperture,
.shell-cover[data-cover-contract='synapse-cover-v2'][data-runtime-condition='recovery'] .shell-cover__truth-aperture {
  opacity: 0.74 !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__divider-zone.shell-cover__truth-status-zone {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(0.16rem, 0.40vw, 0.42rem) !important;
  inline-size: 100% !important;
  min-inline-size: 0 !important;
  min-block-size: clamp(0.52rem, min(1.18vw, 1.72vh), 0.96rem) !important;
  height: 100% !important;
  padding: 0 clamp(0.14rem, 0.34vw, 0.34rem) !important;
  border-top: 0 !important;
  border-radius: 999px !important;
  background:
    linear-gradient(90deg, transparent, var(--cover-truth-sheen, rgba(120,175,202,0.14)) 18%, rgba(255,255,255,0.26) 50%, var(--cover-truth-sheen, rgba(120,175,202,0.14)) 82%, transparent),
    linear-gradient(90deg, transparent, color-mix(in srgb, var(--cover-truth-line, rgba(120,175,202,0.52)) 68%, transparent) 50%, transparent) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.42),
    inset 0 -1px 0 color-mix(in srgb, var(--cover-truth-line, rgba(120,175,202,0.52)) 48%, transparent) !important;
  opacity: 0.96 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  pointer-events: none !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__truth-status,
.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__truth-phase {
  display: inline-block !important;
  margin: 0 !important;
  max-inline-size: 100% !important;
  min-inline-size: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  font-family: var(--font-ui) !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  text-align: center !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__truth-status {
  color: var(--cover-truth-ink, var(--shell-cover-ink, #172f4a)) !important;
  font-size: var(--cover-truth-status-size) !important;
  font-weight: 780 !important;
  letter-spacing: clamp(0.11em, 0.22vw, 0.18em) !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__truth-phase {
  color: color-mix(in srgb, var(--cover-truth-ink, #172f4a) 54%, transparent) !important;
  font-size: var(--cover-truth-phase-size) !important;
  font-weight: 700 !important;
  letter-spacing: clamp(0.08em, 0.16vw, 0.14em) !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__truth-status::after {
  content: '' !important;
  display: inline-block !important;
  inline-size: 0.28em !important;
  block-size: 0.28em !important;
  margin-inline-start: 0.72em !important;
  border-radius: 999px !important;
  vertical-align: 0.15em !important;
  background: var(--synapse-truth-ring-color, rgba(120, 175, 202, 0.92)) !important;
  box-shadow: 0 0 0.4rem var(--synapse-truth-ring-glow, rgba(120, 175, 202, 0.20)) !important;
  opacity: 0.78 !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__routes-zone {
  position: relative !important;
  isolation: isolate !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__routes-zone::before {
  content: '' !important;
  position: absolute !important;
  inset: clamp(-0.18rem, -0.24vw, -0.08rem) clamp(-0.20rem, -0.30vw, -0.08rem) !important;
  z-index: -1 !important;
  border-radius: clamp(0.58rem, 0.95vw, 0.94rem) !important;
  border: 1px solid color-mix(in srgb, var(--cover-truth-line, rgba(120,175,202,0.42)) 46%, rgba(255,255,255,0.28)) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.20), rgba(221,244,240,0.08)),
    linear-gradient(90deg, rgba(15,111,120,0.06), rgba(255,255,255,0.12), rgba(185,163,109,0.06)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.30) !important;
  pointer-events: none !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route-icon-zone {
  border-color: color-mix(in srgb, var(--cover-truth-line, rgba(120,175,202,0.42)) 42%, rgba(23,47,74,0.10)) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.46), rgba(221,244,240,0.13)),
    linear-gradient(90deg, rgba(15,111,120,0.08), rgba(200,177,118,0.10), rgba(15,111,120,0.06)) !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route-label-zone {
  border-color: color-mix(in srgb, var(--cover-truth-line, rgba(120,175,202,0.42)) 36%, rgba(23,47,74,0.10)) !important;
  background: rgba(248, 252, 252, 0.34) !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-truth-safe-to-interact='true'] .shell-cover__routes-zone::before,
.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-truth-state='ready-access'] .shell-cover__routes-zone::before {
  border-color: color-mix(in srgb, var(--synapse-truth-ring-color, rgba(123,201,168,0.95)) 54%, rgba(255,255,255,0.28)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.34),
    0 0 clamp(0.32rem, 0.70vw, 0.80rem) color-mix(in srgb, var(--synapse-truth-ring-glow, rgba(123,201,168,0.24)) 52%, transparent) !important;
}

@media (max-width: 42rem) {
  .shell-cover[data-cover-contract='synapse-cover-v2'] {
    --cover-truth-aperture-size: clamp(0.38rem, 1.85vw, 0.62rem);
    --cover-truth-status-size: clamp(0.24rem, 1.10vw, 0.38rem);
    --cover-truth-phase-size: clamp(0.20rem, 0.90vw, 0.32rem);
  }

  .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__truth-phase {
    display: none !important;
  }

  .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__truth-status::after {
    margin-inline-start: 0.52em !important;
  }
}

@media (orientation: landscape) and (max-height: 35rem) {
  .shell-cover[data-cover-contract='synapse-cover-v2'] {
    --cover-truth-aperture-size: clamp(0.34rem, 1.48vh, 0.52rem);
    --cover-truth-status-size: clamp(0.22rem, 1.04vh, 0.34rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__truth-aperture,
  .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__truth-status-zone,
  .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__routes-zone::before {
    transition: none !important;
  }
}


/* Diagnostic debug expansion — visible only with ?diag=1 or ?regdebug=1. */
.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__truth-debug {
  display: none !important;
  inline-size: 100% !important;
  max-inline-size: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-family: var(--font-ui) !important;
  font-size: clamp(0.16rem, min(0.36vw, 0.62vh), 0.30rem) !important;
  line-height: 1 !important;
  letter-spacing: 0.05em !important;
  opacity: 0.62 !important;
  color: color-mix(in srgb, var(--cover-truth-ink, #172f4a) 52%, transparent) !important;
}

html[data-synapse-diagnostic-debug='true'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__divider-zone.shell-cover__truth-status-zone,
body[data-synapse-diagnostic-debug='true'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__divider-zone.shell-cover__truth-status-zone {
  flex-direction: column !important;
  gap: clamp(0.05rem, 0.12vw, 0.10rem) !important;
  min-block-size: clamp(0.86rem, min(1.80vw, 2.80vh), 1.46rem) !important;
}

html[data-synapse-diagnostic-debug='true'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__truth-debug,
body[data-synapse-diagnostic-debug='true'] .shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__truth-debug {
  display: block !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'][data-diagnostic-severity='blocked'] .shell-cover__truth-phase,
.shell-cover[data-cover-contract='synapse-cover-v2'][data-diagnostic-severity='timeout'] .shell-cover__truth-phase,
.shell-cover[data-cover-contract='synapse-cover-v2'][data-diagnostic-severity='stalled'] .shell-cover__truth-phase,
.shell-cover[data-cover-contract='synapse-cover-v2'][data-state-light-severity='blocked'] .shell-cover__truth-phase,
.shell-cover[data-cover-contract='synapse-cover-v2'][data-state-light-severity='timeout'] .shell-cover__truth-phase,
.shell-cover[data-cover-contract='synapse-cover-v2'][data-state-light-severity='stalled'] .shell-cover__truth-phase {
  display: inline-block !important;
}


/* Wave 6.4 — Cover Pulse alias.
   The existing truth spine remains the physical render; Cover Pulse is its signal outlet identity. */
.shell-cover[data-cover-pulse-outlet='cover-pulse'] .shell-cover__truth-status,
.shell-cover[data-cover-pulse-outlet='cover-pulse'] .shell-cover__truth-phase {
  text-rendering: geometricPrecision;
}

.shell-cover[data-cover-pulse-state='frame-boundary'] .shell-cover__truth-phase,
.shell-cover[data-cover-pulse-state='surface-held'] .shell-cover__truth-phase {
  color: color-mix(in srgb, var(--syn-casing-strong, rgba(218, 174, 71, 0.74)) 82%, rgba(255,255,255,0.18));
}
/* production-css: end css/cover-truth-spine.css */


/* production-css: begin shared/styles/chroma/public-page-chroma.css */
/* Public Page Chroma Projection v1
   Route-specific page chroma consumes page-surface tokens only. Cover chroma remains authority-separated. */
html[data-page-chroma-authority='synapse-page-surface-chroma-projection'],
body[data-page-chroma-authority='synapse-page-surface-chroma-projection'] {
  --synapse-public-page-chroma-build: 'wave6-public-page-chroma-pulse';
}

html[data-page-chroma-profile^='synapse-public-'] .shell__header,
body[data-page-chroma-profile^='synapse-public-'] .shell__header,
html[data-page-chroma-profile^='synapse-public-'] .shell__footer,
body[data-page-chroma-profile^='synapse-public-'] .shell__footer {
  background: linear-gradient(180deg, var(--synapse-page-surface-glass, rgba(246, 251, 245, 0.96)), var(--synapse-public-route-warmth, rgba(255, 249, 230, 0.84))) !important;
  border-color: var(--synapse-page-edge, rgba(47, 101, 106, 0.25)) !important;
}

html[data-page-chroma-profile^='synapse-public-'] .viewport-frame,
body[data-page-chroma-profile^='synapse-public-'] .viewport-frame,
html[data-page-chroma-profile^='synapse-public-'] .viewport-window,
body[data-page-chroma-profile^='synapse-public-'] .viewport-window,
html[data-page-chroma-profile^='synapse-public-'] .viewport-inner,
body[data-page-chroma-profile^='synapse-public-'] .viewport-inner,
html[data-page-chroma-profile^='synapse-public-'] [data-scene='primary'],
body[data-page-chroma-profile^='synapse-public-'] [data-scene='primary'] {
  background: var(--synapse-page-surface-glass, rgba(246, 251, 245, 0.96)) !important;
  border-color: var(--synapse-page-edge, rgba(47, 101, 106, 0.25)) !important;
  box-shadow: 0 1rem 2.4rem var(--synapse-page-frame-glow, rgba(47, 101, 106, 0.16));
}

html[data-page-chroma-profile^='synapse-public-'] .hero,
body[data-page-chroma-profile^='synapse-public-'] .hero,
html[data-page-chroma-profile^='synapse-public-'] .page-head,
body[data-page-chroma-profile^='synapse-public-'] .page-head {
  background: var(--synapse-page-hero-gradient, var(--synapse-page-card-gradient, rgba(246, 251, 245, 0.96))) !important;
  border-color: var(--synapse-page-edge, rgba(47, 101, 106, 0.25)) !important;
}

html[data-page-chroma-profile^='synapse-public-'] .panel,
body[data-page-chroma-profile^='synapse-public-'] .panel,
html[data-page-chroma-profile^='synapse-public-'] .clinic-panel,
body[data-page-chroma-profile^='synapse-public-'] .clinic-panel,
html[data-page-chroma-profile^='synapse-public-'] .content-panel,
body[data-page-chroma-profile^='synapse-public-'] .content-panel,
html[data-page-chroma-profile^='synapse-public-'] .section-shell,
body[data-page-chroma-profile^='synapse-public-'] .section-shell {
  background: var(--synapse-page-card-gradient, var(--synapse-page-surface, #f4f1e7)) !important;
  border-color: var(--synapse-page-edge, rgba(47, 101, 106, 0.25)) !important;
}

html[data-page-chroma-profile^='synapse-public-'] .button,
body[data-page-chroma-profile^='synapse-public-'] .button,
html[data-page-chroma-profile^='synapse-public-'] .shell-nav__link[aria-current='page'],
body[data-page-chroma-profile^='synapse-public-'] .shell-nav__link[aria-current='page'] {
  border-color: var(--synapse-public-route-accent, var(--synapse-teal-instrument)) !important;
}

html[data-page-chroma-profile^='synapse-public-'] .eyebrow,
body[data-page-chroma-profile^='synapse-public-'] .eyebrow,
html[data-page-chroma-profile^='synapse-public-'] .hero__eyebrow,
body[data-page-chroma-profile^='synapse-public-'] .hero__eyebrow,
html[data-page-chroma-profile^='synapse-public-'] .page-head__eyebrow,
body[data-page-chroma-profile^='synapse-public-'] .page-head__eyebrow,
html[data-page-chroma-profile^='synapse-public-'] .viewport-meta__label,
body[data-page-chroma-profile^='synapse-public-'] .viewport-meta__label {
  color: var(--synapse-public-route-accent, var(--synapse-teal-instrument)) !important;
}

html[data-page-chroma-profile^='synapse-public-'] .shell-cover[data-cover-contract='synapse-cover-v2'],
body[data-page-chroma-profile^='synapse-public-'] .shell-cover[data-cover-contract='synapse-cover-v2'] {
  /* Explicitly no page chroma writes here: cover chroma remains cover-profile-owned. */
  --synapse-public-page-chroma-cover-boundary: 'cover-authority-separated';
}
/* production-css: end shared/styles/chroma/public-page-chroma.css */

:root {
  --synapse-platform-css-build: "readout-admission-closure-wave-4 synapse-diagnostic-registry-reason-dominance-v1 synapse-diagnostic-registry-domain-ownership-visibility-v1";
  --synapse-platform-display-bridge-build: "global-display-bridge-authority-wave-1 display-fabric-global-cover-core-wave-2 substrate-latch-instrument-cover-wave-3 display-fabric-core-continuity-hardening-wave-2-1 substrate-ai-housing-v0-stabilized readout-admission-closure-wave-4";
}

/* Live-load proof. Inspect the .shell-cover element in DevTools; if this custom
   property is missing, the browser is not loading this platform.css file. */
.shell-cover[data-cover-contract='synapse-cover-v2'] {
  --synapse-platform-cover-proof: "platform-css-loaded-cover-wave23-canonical-display";
  --synapse-platform-cover-stack-order: "shell-chambers--trace-underlay--composition--visual-governance--shell-rail--shell-cover--native-sigil-badge--cover-stabilization--adaptive-governance--transition-governance--object-field--global-core--enhancements--admission-closure--display-fabric--substrate--ai-housing--global-first-paint--display-bridge";
}

/* Final shell-level cover guard. This is intentionally placed in platform.css
   because it validates that the active aggregate stylesheet can still protect
   the shell cover even if a page stylesheet tries to reveal the viewport. */
.shell-body[data-shell-state='resting'] [data-shell-cover-layer],
.shell-body[data-active-scene='cover'] [data-shell-cover-layer] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.shell-body[data-shell-state='resting'] [data-shell-viewport-layer],
.shell-body[data-active-scene='cover'] [data-shell-viewport-layer] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.shell-body[data-shell-state='resting'] [data-shell-cover-proxy],
.shell-body[data-active-scene='cover'] [data-shell-cover-proxy] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.skip-link {
  position: absolute;
  left: -999px;
  top: 0;
}

.skip-link:focus {
  left: 1rem;
  top: 1rem;
  z-index: 999;
  background: #fff;
  color: #000;
  padding: 0.6rem 0.8rem;
  border-radius: 0.8rem;
}

.state-debug {
  position: fixed;
  right: 0.75rem;
  bottom: 0.75rem;
  z-index: 40;
  padding: 0.8rem 0.9rem;
  border-radius: 1rem;
  background: rgba(19, 41, 71, 0.94);
  color: #fff;
  min-width: 15rem;
  box-shadow: 0 1rem 2rem rgba(9, 24, 45, 0.35);
}

.state-debug__title {
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.55rem;
}

.state-debug__grid {
  margin: 0;
  display: grid;
  gap: 0.45rem;
}

.state-debug dt {
  font-size: 0.72rem;
  color: rgba(255,255,255,0.7);
}

.state-debug dd {
  margin: 0;
  font-size: 0.84rem;
}

.has-state-debug .support-chamber__resume {
  bottom: 10rem;
}



/* Visual Runtime + Chroma Authority — inlined after legacy bridge/admission/display styles so runtime/chroma wins final presentation. */
:root { --synapse-platform-css-build: "synapse-diagnostic-registry-reason-dominance-v1 synapse-diagnostic-registry-domain-ownership-visibility-v1 chroma-engine-v1"; }

/* Inlined from shared/styles/chroma/synapse-chroma-tokens.css */
/* Synapse Chroma Authority v3
   Deterministic product chroma defaults. Runtime chroma writes the same
   semantic tokens; this file is the no-JS/early-load fallback. Dark graphite
   is reserved for veil/emergency tokens, not product substrate authority. */
:root,
.shell-body,
.shell-cover[data-cover-contract='synapse-cover-v2'] {
  --synapse-gold-primary: #b9a36d;
  --synapse-gold-strong: #c7a64a;
  --synapse-gold-soft: #f2e6bb;
  --synapse-gold-edge: #8f7937;
  --synapse-graphite-950: #05080d;
  --synapse-graphite-900: #080d13;
  --synapse-graphite-850: #0d131a;
  --synapse-navy-depth: #0c3442;
  --synapse-navy-glass: #214d57;
  --synapse-teal-instrument: #0f6f78;
  --synapse-teal-soft: #6fc7c0;
  --synapse-ivory: #f4f1e7;
  --synapse-ivory-warm: #fff9e6;
  --synapse-page-ink: #1c2d44;
  --synapse-page-muted: #65717b;
  --synapse-shadow-deep: rgba(15, 55, 58, 0.18);
  --synapse-shadow-glass: rgba(50, 109, 115, 0.16);
  --synapse-product-background: linear-gradient(135deg, #eef8ef 0%, #e7f2ef 48%, #fff9e6 100%);
  --synapse-document-bg: #eef8ef;
  --synapse-substrate-field: #eef8ef;
  --synapse-substrate-field-2: #e7f2ef;
  --synapse-substrate-field-3: #fff9e6;
  --synapse-substrate-gradient: radial-gradient(circle at 42% 28%, rgba(109, 179, 180, 0.22), transparent 18rem), radial-gradient(circle at 74% 62%, rgba(255, 249, 230, 0.62), transparent 24rem), linear-gradient(135deg, #eef8ef 0%, #e7f2ef 48%, #fff9e6 100%);
  --synapse-substrate-cover-field: radial-gradient(circle at 50% 38%, rgba(255, 255, 246, 0.84), transparent 18rem), radial-gradient(circle at 68% 62%, rgba(111, 199, 192, 0.18), transparent 26rem), linear-gradient(150deg, rgba(238, 248, 239, 0.98), rgba(221, 244, 240, 0.92) 52%, rgba(255, 249, 230, 0.96));
  --synapse-cover-casing: linear-gradient(145deg, rgba(255, 252, 235, 0.96), rgba(222, 239, 232, 0.94) 46%, rgba(94, 122, 122, 0.70));
  --synapse-cover-casing-edge: rgba(47, 101, 106, 0.58);
  --synapse-cover-glass: radial-gradient(circle at 50% 16%, rgba(255, 255, 246, 0.96), rgba(238, 248, 239, 0.84) 48%, rgba(255, 249, 230, 0.72) 100%), linear-gradient(180deg, rgba(255, 255, 246, 0.86), rgba(221, 244, 240, 0.52));
  --synapse-cover-glass-soft: rgba(238, 248, 239, 0.72);
  --synapse-route-surface: linear-gradient(180deg, rgba(255, 252, 232, 0.92), rgba(223, 247, 244, 0.82)), linear-gradient(180deg, rgba(18, 111, 120, 0.18), rgba(17, 137, 149, 0.10));
  --synapse-route-surface-active: linear-gradient(180deg, rgba(255, 253, 237, 0.96), rgba(222, 245, 241, 0.86)), linear-gradient(180deg, rgba(17, 137, 149, 0.18), rgba(185, 163, 109, 0.12));
  --synapse-route-icon: #0f7980;
  --synapse-route-label: #07343c;
  --synapse-page-surface: #f4f1e7;
  --synapse-page-surface-warm: #fff9e6;
  --synapse-page-surface-glass: rgba(246, 251, 245, 0.94);
  --synapse-page-edge: rgba(47, 101, 106, 0.25);
  --synapse-trace-line: rgba(48, 122, 125, 0.14);
  --synapse-trace-line-teal: rgba(15, 111, 120, 0.18);
  --synapse-trace-opacity: 0.18;
  --synapse-veil-bg: #07111c;
  --synapse-veil-gradient: radial-gradient(circle at 50% 38%, rgba(199, 166, 74, 0.14), transparent 18rem), radial-gradient(circle at 66% 58%, rgba(23, 127, 124, 0.14), transparent 24rem), linear-gradient(135deg, #05080d 0%, #07111c 52%, #12110d 100%);
  --synapse-boot-veil-bg: #07111c;
  --synapse-boot-veil-gold: rgba(199, 166, 74, 0.16);
  --synapse-boot-veil-teal: rgba(23, 127, 124, 0.14);
  --synapse-boot-veil-text: rgba(245, 239, 220, 0.82);
  --synapse-boot-veil-muted: rgba(245, 239, 220, 0.52);
  --synapse-emergency-background: #05080d;
}

html[data-chroma-profile='synapse-deep-veil'],
body[data-chroma-profile='synapse-deep-veil'],
html[data-chroma-state='veil'],
body[data-chroma-state='veil'] {
  --synapse-boot-veil-bg: #05080d;
}

html[data-chroma-profile='synapse-emergency-dark'],
body[data-chroma-profile='synapse-emergency-dark'],
html[data-chroma-state='emergency'],
body[data-chroma-state='emergency'] {
  --synapse-product-background: var(--synapse-emergency-background);
  --synapse-document-bg: var(--synapse-emergency-background);
  --synapse-substrate-gradient: linear-gradient(135deg, #05080d 0%, #07111c 56%, #0d131a 100%);
}

/* Inlined from shared/styles/visual-runtime/visual-runtime.css */
/* Visual Runtime Authority v1
   Single presenter path: compiled cover visible, bridge/admission support-only. */
html[data-visual-runtime-authority='synapse-visual-runtime-authority'],
body[data-visual-runtime-authority='synapse-visual-runtime-authority'] {
  --synapse-visual-runtime-build: 'visual-runtime-authority-v1';
}

html[data-visual-runtime-authority='synapse-visual-runtime-authority'] .shell,
body[data-visual-runtime-authority='synapse-visual-runtime-authority'] .shell,
html[data-visual-runtime-phase='committed'] .shell,
body[data-visual-runtime-phase='committed'] .shell {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

html[data-visual-runtime-authority='synapse-visual-runtime-authority'] [data-shell-cover-layer],
body[data-visual-runtime-authority='synapse-visual-runtime-authority'] [data-shell-cover-layer],
html[data-visual-runtime-phase='committed'] [data-shell-cover-layer],
body[data-visual-runtime-phase='committed'] [data-shell-cover-layer] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

html[data-visual-runtime-authority='synapse-visual-runtime-authority'][data-display-bridge-phase='released'] [data-shell-cover-layer],
body[data-visual-runtime-authority='synapse-visual-runtime-authority'][data-display-bridge-phase='released'] [data-shell-cover-layer],
html[data-visual-runtime-authority='synapse-visual-runtime-authority'][data-global-display-phase='rested'] [data-shell-cover-layer],
body[data-visual-runtime-authority='synapse-visual-runtime-authority'][data-global-display-phase='rested'] [data-shell-cover-layer] {
  transform: none;
  filter: none;
}

html[data-visual-runtime-phase='committed'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
body[data-visual-runtime-phase='committed'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
.shell-cover[data-cover-generation-authority='visual-runtime'] {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transform-origin: center center;
}

html[data-visual-runtime-phase='committed'] [data-first-paint-display='gated'],
body[data-visual-runtime-phase='committed'] [data-first-paint-display='gated'],
.shell-cover[data-cover-generation-state='compiled'] [data-first-paint-display='gated'] {
  visibility: visible !important;
  opacity: 1 !important;
}

html[data-visual-runtime-authority='synapse-visual-runtime-authority'] [data-shell-cover-proxy],
body[data-visual-runtime-authority='synapse-visual-runtime-authority'] [data-shell-cover-proxy] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html[data-visual-runtime-authority='synapse-visual-runtime-authority'][data-shell-state='resting'] [data-shell-viewport-layer],
body[data-visual-runtime-authority='synapse-visual-runtime-authority'][data-shell-state='resting'] [data-shell-viewport-layer],
body[data-visual-runtime-authority='synapse-visual-runtime-authority'][data-active-scene='cover'] [data-shell-viewport-layer] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

html[data-visual-runtime-authority='synapse-visual-runtime-authority'] [data-visual-runtime-surface='global-cover-root'],
body[data-visual-runtime-authority='synapse-visual-runtime-authority'] [data-visual-runtime-surface='global-cover-root'] {
  will-change: transform, opacity;
}

html[data-visual-runtime-audit='corrected'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] {
  outline: none;
}

/* Inlined from shared/styles/chroma/substrate-chroma.css */
/* Substrate Chroma v3
   Substrate carries atmosphere and continuity. Product pages default to the
   clinical-light packet; dark fields are legal only for veil/emergency states. */
html[data-substrate-palette-source='chroma-authority'],
html[data-chroma-profile='synapse-clinical-light'],
html[data-chroma-profile='synapse-clinical-glass'] {
  background: var(--synapse-document-bg, #eef8ef) !important;
}

html[data-substrate-palette-source='chroma-authority'] body,
body[data-substrate-palette-source='chroma-authority'],
.shell-body[data-substrate-palette-source='chroma-authority'] {
  background: var(--synapse-substrate-gradient, var(--synapse-product-background, #eef8ef)) !important;
}

html[data-chroma-profile='synapse-deep-veil'],
body[data-chroma-profile='synapse-deep-veil'],
html[data-chroma-state='veil'],
body[data-chroma-state='veil'],
html[data-chroma-profile='synapse-emergency-dark'],
body[data-chroma-profile='synapse-emergency-dark'],
html[data-chroma-state='emergency'],
body[data-chroma-state='emergency'] {
  background: var(--synapse-veil-gradient, var(--synapse-emergency-background, #05080d)) !important;
}

html[data-visual-runtime-authority='synapse-visual-runtime-authority'] body::before,
html[data-visual-runtime-authority='synapse-visual-runtime-authority'] body::after,
body[data-visual-runtime-authority='synapse-visual-runtime-authority']::before,
body[data-visual-runtime-authority='synapse-visual-runtime-authority']::after {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.shell__main,
[data-shell-chassis],
.shell-body[data-substrate-palette-source='chroma-authority'] .shell__main {
  background: var(--synapse-substrate-gradient, var(--synapse-product-background, #eef8ef)) !important;
}

[data-shell-cover-chamber],
.shell-cover-layer[data-shell-cover-layer] {
  background: var(--synapse-substrate-cover-field, var(--synapse-substrate-gradient, #eef8ef)) !important;
}

[data-shell-viewport-layer],
.viewport-shell {
  background: linear-gradient(180deg, rgba(239, 248, 239, 0.98), rgba(255, 249, 230, 0.96)) !important;
}

/* Inlined from shared/styles/chroma/cover-chroma-v2.css */
/* Cover Chroma v3: clinical-light glass, aqua route system, brass accents. */
.shell-cover[data-cover-contract='synapse-cover-v2'],
.shell-cover[data-chroma-profile='synapse-clinical-light'],
.shell-cover[data-chroma-profile='synapse-clinical-glass'] {
  --cover-chroma-profile: synapse-clinical-light;
  --cover-chroma-route-fill: var(--synapse-route-surface);
  --cover-chroma-route-active-fill: var(--synapse-route-surface-active);
  --cover-chroma-route-icon: var(--synapse-route-icon);
  --cover-chroma-route-label: var(--synapse-route-label);
  --cover-chroma-glass: var(--synapse-cover-glass);
  --cover-chroma-gold: var(--synapse-gold-primary);
  color: var(--synapse-page-ink, #1c2d44);
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__surface,
.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__coordinate {
  background: transparent !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__native-case,
.shell-cover[data-cover-contract='synapse-cover-v2'] [data-native-box='tabletCasing'] {
  background: var(--synapse-cover-casing) !important;
  border-color: var(--synapse-cover-casing-edge) !important;
  box-shadow:
    0 1.2rem 3rem var(--synapse-shadow-deep),
    inset 0 0 0 1px rgba(255,255,255,0.58),
    inset 0 1.2rem 2.4rem rgba(255, 249, 230, 0.26) !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__native-main-field,
.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__native-diagnostic-screen,
.shell-cover[data-cover-contract='synapse-cover-v2'] [data-native-box='diagnosticScreen'] {
  background: var(--synapse-cover-glass) !important;
  border-color: rgba(47, 101, 106, 0.20) !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__native-access-module,
.shell-cover[data-cover-contract='synapse-cover-v2'] [data-native-box='accessModule'] {
  background: linear-gradient(155deg, rgba(255, 253, 237, 0.74), rgba(221, 244, 240, 0.58) 42%, rgba(15, 111, 120, 0.16) 100%) !important;
  border-color: rgba(47, 101, 106, 0.24) !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__title,
.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__title-line,
.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__identity {
  color: var(--synapse-gold-primary) !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.46), 0 0.2rem 1rem rgba(185, 163, 109, 0.16) !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__subtitle {
  color: var(--synapse-navy-depth, #0c3442) !important;
  letter-spacing: 0.18em;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__divider-zone,
.shell-cover[data-cover-contract='synapse-cover-v2'] [data-native-box='statusLineZone'] {
  border-color: rgba(47, 101, 106, 0.24) !important;
  background: linear-gradient(90deg, transparent, rgba(47, 101, 106, 0.35), rgba(185, 163, 109, 0.24), transparent) !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route,
.shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-atom='semanticControls'] {
  background: var(--synapse-route-surface) !important;
  border-color: rgba(47, 101, 106, 0.25) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.52), 0 0.6rem 1.4rem rgba(47, 101, 106, 0.16) !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route--primary {
  background: var(--synapse-route-surface-active) !important;
}

/* Build 11.4: chroma may set glyph currentColor, but may not rewrite stroke/fill grammar. */
.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route-icon,
.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route-icon svg,
.shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-atom-chroma-role='route-icon'],
.shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-atom-chroma-role='route-icon'] svg {
  color: var(--synapse-route-icon) !important;
  --synapse-glyph-color: var(--synapse-route-icon);
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route-icon [data-glyph-fill-mode='none'],
.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route-icon [data-glyph-fill-mode='none'] [data-synapse-glyph-shape],
.shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-atom-chroma-role='route-icon'][data-glyph-fill-mode='none'],
.shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-atom-chroma-role='route-icon'][data-glyph-fill-mode='none'] [data-synapse-glyph-shape] {
  fill: none !important;
  stroke: currentColor !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route-label {
  color: var(--synapse-route-label, #07343c) !important;
  text-shadow: none !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] [data-synapse-glyph='synapse-sigil'],
.shell-cover[data-cover-contract='synapse-cover-v2'] [data-platform-glyph='synapse-sigil'],
.synapse-native-sigil--header [data-synapse-glyph='synapse-sigil'],
.synapse-native-sigil--header [data-platform-glyph='synapse-sigil'] {
  color: var(--synapse-gold-primary) !important;
  --synapse-glyph-color: var(--synapse-gold-primary);
}

.shell-cover[data-cover-contract='synapse-cover-v2'] [data-synapse-glyph='synapse-sigil'][data-glyph-fill-mode='none'] path,
.shell-cover[data-cover-contract='synapse-cover-v2'] [data-platform-glyph='synapse-sigil'][data-glyph-fill-mode='none'] path,
.synapse-native-sigil--header [data-synapse-glyph='synapse-sigil'][data-glyph-fill-mode='none'] path,
.synapse-native-sigil--header [data-platform-glyph='synapse-sigil'][data-glyph-fill-mode='none'] path {
  fill: none !important;
  stroke: currentColor !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .synapse-native-sigil__field,
.synapse-native-sigil--header .synapse-native-sigil__field {
  background: linear-gradient(145deg, rgba(255, 253, 237, 0.86), rgba(221, 244, 240, 0.72)) !important;
  border-color: rgba(47, 101, 106, 0.34) !important;
}

/* The veil/emergency profiles keep their own dark field without redefining product chroma. */
.shell-cover[data-chroma-profile='synapse-deep-veil'],
.shell-cover[data-chroma-profile='synapse-emergency-dark'] {
  --cover-chroma-profile: attr(data-chroma-profile);
}

/* Inlined from shared/styles/chroma/page-chroma.css */
/* Page Chroma v3: warm clinical content on the resolved product substrate. */
.shell__header,
.shell__footer {
  background: linear-gradient(180deg, rgba(237, 246, 239, 0.98), rgba(255, 249, 230, 0.96)) !important;
  border-color: rgba(47, 101, 106, 0.18) !important;
}

.identity-plate__name,
.shell-brand,
.shell-nav__link,
.shell-footer__brand,
.shell-footer__launcher {
  color: var(--synapse-page-ink) !important;
}

.identity-plate__separator,
.shell-nav__link[aria-current='page'],
.shell-nav__link:hover,
.shell-footer__launcher:hover {
  border-color: rgba(15, 111, 120, 0.34) !important;
}

.viewport-frame,
.viewport-window,
.viewport-inner,
.scene[data-scene='primary'],
.scene--primary,
.section-shell,
.panel,
.hero,
.page-head,
.portal-intake,
.clinic-panel,
.content-panel {
  background-color: var(--synapse-page-surface, #f4f1e7);
  color: var(--synapse-page-ink, #1c2d44);
}

.viewport-frame,
.viewport-window,
.section-shell,
.panel,
.hero,
.page-head,
.portal-intake,
.clinic-panel,
.content-panel {
  border-color: var(--synapse-page-edge, rgba(47, 101, 106, 0.25)) !important;
}

.viewport-meta,
.viewport-meta__label,
.viewport-meta__path,
.panel__eyebrow,
.hero__eyebrow,
.page-head__eyebrow,
.eyebrow {
  color: var(--synapse-teal-instrument, #0f6f78) !important;
}

.hero__title,
.panel__title,
.page-head__title,
.scene h1,
.scene h2 {
  color: var(--synapse-page-ink, #1c2d44) !important;
}

.hero__summary,
.panel__summary,
.scene p {
  color: var(--synapse-page-muted, #65717b);
}


/* Inlined from shared/styles/cover-atoms/cover-atom-core.css */
/* Cover atoms are designed states, not hidden fragments. */
.shell-cover[data-cover-atom-compiler='active'],
.shell-cover[data-cover-generation-authority='visual-runtime'] {
  --cover-atom-compile-mode: attr(data-cover-atom-mode);
}

[data-cover-atom-state] {
  transition: opacity 180ms ease, filter 180ms ease, transform 220ms ease;
}

[data-cover-atom-tier='core'],
[data-cover-atom-state='active'] {
  opacity: 1;
}

[data-cover-atom-id='identityPlate'][data-cover-atom-state='compressed'] .shell-cover__title,
[data-cover-atom-id='identityPlate'][data-cover-atom-state='minimal'] .shell-cover__title,
[data-cover-atom-id='identityPlate'][data-cover-atom-state='compressed'] .shell-cover__subtitle,
[data-cover-atom-id='identityPlate'][data-cover-atom-state='minimal'] .shell-cover__subtitle {
  letter-spacing: 0.12em;
}

[data-cover-atom-id='routeDeck'][data-cover-atom-state='compressed'] .shell-cover__routes,
[data-cover-atom-id='semanticControls'][data-cover-atom-state='compressed'] {
  gap: clamp(0.35rem, 1vw, 0.75rem);
}


/* Inlined from shared/styles/cover-atoms/cover-atom-adaptive.css */
[data-cover-atom-id='instrumentDock'][data-cover-atom-state='minimal'],
[data-cover-atom-id='sigilModule'][data-cover-atom-state='minimal'] {
  opacity: 0.72;
  filter: saturate(0.92) contrast(0.96);
}

[data-cover-atom-id='instrumentDock'][data-cover-atom-state='active'],
[data-cover-atom-id='sigilModule'][data-cover-atom-state='active'] {
  opacity: 1;
  filter: none;
}

html[data-cover-atom-mode='compact-landscape'] [data-cover-atom-id='identityPlate'],
body[data-cover-atom-mode='compact-landscape'] [data-cover-atom-id='identityPlate'] {
  transform: scale(0.94);
  transform-origin: center;
}

html[data-cover-atom-mode='compact-portrait'] [data-cover-atom-id='routeDeck'],
body[data-cover-atom-mode='compact-portrait'] [data-cover-atom-id='routeDeck'] {
  transform: translateY(0);
}


/* Inlined from shared/styles/cover-atoms/cover-atom-enhancements.css */
[data-cover-atom-id='traceLayer'][data-cover-atom-state='reduced'],
[data-cover-atom-id='traceLayer'][data-cover-atom-state='minimal'] {
  opacity: var(--synapse-trace-opacity, 0.18) !important;
  mix-blend-mode: screen;
}

[data-cover-atom-id='traceLayer'][data-cover-atom-state='active'] {
  opacity: min(var(--synapse-trace-opacity, 0.2), 0.22) !important;
}

[data-cover-atom-state='excluded'] {
  opacity: 0.001;
  pointer-events: none;
}


/* Inlined from shared/styles/cover-atoms/cover-atom-state.css */
html[data-cover-atom-validity='invalid'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
body[data-cover-atom-validity='invalid'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] {
  --cover-runtime-fallback-outline: rgba(224, 200, 117, 0.20);
}

html[data-cover-atom-density='workstation'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] {
  --synapse-trace-opacity: 0.2;
}

html[data-cover-atom-density='contained'] [data-shell-cover][data-cover-contract='synapse-cover-v2'],
body[data-cover-atom-density='contained'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] {
  --synapse-trace-opacity: 0.12;
}


/* Inlined from shared/styles/trace-underlay/trace-underlay.css */
/* Trace Underlay recovered as governed visual memory, not foreground content. */
[data-trace-underlay-authority='visual-runtime-trace-underlay-service'] [data-trace-underlay-part],
[data-trace-underlay-part] {
  opacity: var(--synapse-trace-opacity, 0.18);
  filter: saturate(0.78) contrast(0.86);
}

[data-trace-underlay-role='identity-memory'] {
  opacity: 0.30;
}

[data-trace-underlay-role='diagnostic-memory'],
[data-trace-underlay-role='calibration-memory'] {
  opacity: var(--synapse-trace-opacity, 0.18);
}

.shell-cover[data-trace-underlay-state='governed-depth-memory'] .shell-cover__clinical-detail-asset,
.shell-cover[data-trace-underlay-state='governed-depth-memory'] .shell-cover__screen-reflection-asset,
.shell-cover[data-trace-underlay-state='governed-depth-memory'] .shell-cover__route-tray-frame-asset {
  mix-blend-mode: screen;
}


/* synapse-cross-runtime-fabric: synapse-diagnostic-registry-domain-ownership-visibility-v1 */

/* Diagnostic visibility policy v1:
   Healthy route ownership is internal telemetry only. Route-ok receipts cannot
   promote the cover/boot veil over a valid route surface. */
html[data-presentation-domain="route"][data-presentation-domain-route-ready="true"] #synapse-boot-veil,
body[data-presentation-domain="route"][data-presentation-domain-route-ready="true"] #synapse-boot-veil,
#synapse-boot-veil[data-route-domain-veil-suppressed="true"],
#synapse-boot-veil[data-boot-veil-diagnostic-visibility="silent"],
#synapse-boot-veil[data-diagnostic-visibility="silent"] {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}


/* Route Ownership Hard Lock: once a valid route owns presentation, the cover veil cannot reclaim visual authority. */
html[data-route-ownership-hard-lock="true"] #synapse-boot-veil,
body[data-route-ownership-hard-lock="true"] #synapse-boot-veil,
html[data-route-veil-lockout="true"] #synapse-boot-veil,
body[data-route-veil-lockout="true"] #synapse-boot-veil,
html[data-route-ownership-latched="true"] #synapse-boot-veil,
body[data-route-ownership-latched="true"] #synapse-boot-veil,
#synapse-boot-veil[data-route-ownership-hard-lock="true"],
#synapse-boot-veil[data-route-veil-lockout="true"],
#synapse-boot-veil[data-route-domain-veil-suppressed="true"] {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  display: none !important;
  z-index: -1 !important;
}

/* User-surface latch: certified route/page surfaces keep presentation; diagnostics speak through shell popup. */
html[data-user-surface-veil-lockout="true"] #synapse-boot-veil,
body[data-user-surface-veil-lockout="true"] #synapse-boot-veil,
#synapse-boot-veil[data-user-surface-veil-lockout="true"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}


/* Inlined Wave 4 override from shared/styles/chroma/cover-chroma-v2.css */
/* Wave 4: profile-driven cover chroma projection. Chroma owns material only; surface profile owns layout. */
.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-chroma-profile='synapse-desktop-workstation-vibrant'],
.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-chroma-profile='synapse-desktop-square-vibrant'],
.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-chroma-profile='synapse-desktop-compressed-vibrant'],
.shell-cover[data-cover-contract='synapse-cover-v2'][data-cover-chroma-profile='synapse-mobile-landscape-vibrant'],
.shell-cover[data-cover-contract='synapse-cover-v2'][data-chroma-profile='synapse-desktop-workstation-vibrant'],
.shell-cover[data-cover-contract='synapse-cover-v2'][data-chroma-profile='synapse-desktop-square-vibrant'],
.shell-cover[data-cover-contract='synapse-cover-v2'][data-chroma-profile='synapse-desktop-compressed-vibrant'],
.shell-cover[data-cover-contract='synapse-cover-v2'][data-chroma-profile='synapse-mobile-landscape-vibrant'] {
  --cover-chroma-route-fill: var(--synapse-route-surface);
  --cover-chroma-route-active-fill: var(--synapse-route-surface-active);
  --cover-chroma-route-icon: var(--synapse-route-icon);
  --cover-chroma-route-label: var(--synapse-route-label);
  --cover-chroma-glass: var(--synapse-cover-glass);
  --cover-chroma-gold: var(--synapse-gold-primary);
  color: var(--synapse-page-ink, #1c2d44);
}

.shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-atom-chroma-role='cover-casing'] {
  background: var(--synapse-cover-casing) !important;
  border-color: var(--synapse-cover-casing-edge) !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-atom-chroma-role='cover-glass'] {
  background: var(--synapse-cover-glass) !important;
  border-color: color-mix(in srgb, var(--synapse-teal-instrument, #0f6f78) 24%, transparent) !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-atom-chroma-role='route-surface'] {
  background: var(--synapse-route-surface) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.52), 0 0.7rem 1.6rem var(--synapse-route-glow, rgba(47, 101, 106, 0.16)) !important;
}

/* Build 11.4: route icon chroma is currentColor-only. */
.shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-atom-chroma-role='route-icon'],
.shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-atom-chroma-role='route-icon'] svg {
  color: var(--synapse-route-icon) !important;
  --synapse-glyph-color: var(--synapse-route-icon);
}

.shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-atom-chroma-role='route-icon'][data-glyph-fill-mode='none'],
.shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-atom-chroma-role='route-icon'][data-glyph-fill-mode='none'] [data-synapse-glyph-shape] {
  fill: none !important;
  stroke: currentColor !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-atom-chroma-role='product-identity'] {
  color: var(--synapse-gold-primary) !important;
  text-shadow: 0 1px 0 rgba(255,255,255,0.42), 0 0.35rem 1.25rem var(--synapse-identity-glow, rgba(185,163,109,0.16)) !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-atom-chroma-role='trace-memory'] {
  opacity: var(--synapse-trace-opacity, 0.22) !important;
  color: var(--synapse-trace-line, rgba(48,122,125,0.18)) !important;
  filter: drop-shadow(0 0 0.7rem var(--synapse-trace-glow, rgba(14,177,184,0.12)));
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__native-case,
.shell-cover[data-cover-contract='synapse-cover-v2'] [data-native-box='tabletCasing'] {
  box-shadow:
    0 1.2rem 3rem var(--synapse-shadow-deep),
    0 0 2.3rem var(--synapse-cover-casing-glow, rgba(18,150,158,0.12)),
    inset 0 0 0 1px rgba(255,255,255,0.58),
    inset 0 1.2rem 2.4rem rgba(255, 249, 230, 0.26) !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__native-main-field,
.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__native-diagnostic-screen,
.shell-cover[data-cover-contract='synapse-cover-v2'] [data-native-box='diagnosticScreen'] {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.42), 0 0 2.2rem var(--synapse-cover-glass-glow, rgba(82,224,211,0.14)) !important;
}

.shell-cover[data-cover-contract='synapse-cover-v2'] .shell-cover__route,
.shell-cover[data-cover-contract='synapse-cover-v2'] [data-cover-atom='semanticControls'] {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.52), 0 0.6rem 1.4rem var(--synapse-route-glow, rgba(47, 101, 106, 0.16)) !important;
}


/* Build 11.4 — Glyph / Chroma Boundary final guard.
   Chroma may set currentColor only; glyph authority preserves drawing grammar after chroma rules. */
[data-synapse-glyph][data-glyph-fill-mode='none'],
[data-platform-glyph][data-glyph-fill-mode='none'],
[data-synapse-glyph][data-glyph-fill-mode='none'] .synapse-glyph__shape,
[data-platform-glyph][data-glyph-fill-mode='none'] .synapse-glyph__shape,
[data-synapse-glyph][data-glyph-fill-mode='none'] [data-synapse-glyph-shape],
[data-platform-glyph][data-glyph-fill-mode='none'] [data-synapse-glyph-shape] {
  fill: none !important;
  stroke: currentColor !important;
}

[data-synapse-glyph],
[data-platform-glyph] {
  pointer-events: none !important;
}

[data-shell-cover-route] [data-synapse-glyph],
[data-shell-cover-route] [data-platform-glyph] {
  color: var(--synapse-route-icon, currentColor) !important;
}


/* Build 11.4 final diagnostic text boundary: stop chroma/trace/material from tinting individual truth letters. */
.shell-cover__truth-status,
.shell-cover__truth-phase,
[data-cover-truth-status],
[data-cover-truth-phase],
[data-cover-pulse-status],
[data-cover-pulse-phase] {
  color: var(--synapse-truth-ink, currentColor) !important;
  -webkit-text-fill-color: currentColor !important;
  background-image: none !important;
  text-shadow: none !important;
}

/* Build 11.4 final glyph grammar guard: currentColor yes; forced fill/stroke rewrite no. */
[data-synapse-glyph][data-glyph-fill-mode='none'],
[data-platform-glyph][data-glyph-fill-mode='none'],
[data-synapse-glyph-svg][data-glyph-fill-mode='none'],
[data-synapse-glyph][data-glyph-fill-mode='none'] .synapse-glyph__shape,
[data-platform-glyph][data-glyph-fill-mode='none'] .synapse-glyph__shape,
[data-synapse-glyph][data-glyph-fill-mode='none'] [data-synapse-glyph-shape],
[data-platform-glyph][data-glyph-fill-mode='none'] [data-synapse-glyph-shape],
[data-synapse-glyph-svg][data-glyph-fill-mode='none'] [data-synapse-glyph-shape] {
  fill: none !important;
  stroke: currentColor !important;
}

[data-synapse-glyph][data-glyph-fill-mode='filled'] .synapse-glyph__shape,
[data-platform-glyph][data-glyph-fill-mode='filled'] .synapse-glyph__shape,
[data-synapse-glyph][data-glyph-fill-mode='filled'] [data-synapse-glyph-shape],
[data-platform-glyph][data-glyph-fill-mode='filled'] [data-synapse-glyph-shape] {
  fill: currentColor !important;
  stroke: none !important;
}


/* Build 7.6 — No-DevTools diagnostic overlay. Diagnostic URL only; fixed overlay does not participate in cover layout. */
.synapse-no-devtools-diagnostic-overlay {
  position: fixed;
  left: max(0.75rem, env(safe-area-inset-left));
  right: max(0.75rem, env(safe-area-inset-right));
  bottom: max(0.75rem, env(safe-area-inset-bottom));
  z-index: 2147483646;
  max-height: min(64vh, 30rem);
  overflow: auto;
  padding: 0.75rem;
  border: 1px solid rgba(118, 209, 214, 0.45);
  border-radius: 1rem;
  color: #e9fbff;
  background: rgba(7, 18, 22, 0.92);
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.42), inset 0 0 0 1px rgba(255,255,255,0.06);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  font: 500 0.72rem/1.35 ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  letter-spacing: 0.01em;
  pointer-events: auto;
}
.synapse-no-devtools-diagnostic-overlay[hidden] { display: none !important; }
#synapse-no-devtools-diagnostic-overlay[data-no-devtools-diagnostic-url-override="true"],
html[data-no-devtools-diagnostic-url-override="true"] #synapse-no-devtools-diagnostic-overlay,
body[data-no-devtools-diagnostic-url-override="true"] #synapse-no-devtools-diagnostic-overlay { display: block !important; visibility: visible !important; opacity: 1 !important; }
.synapse-ndto__header { display: flex; justify-content: space-between; align-items: center; gap: 0.75rem; margin-bottom: 0.45rem; }
.synapse-ndto__eyebrow { font-size: 0.68rem; letter-spacing: 0.14em; color: #8de8ee; }
.synapse-ndto__copy { border: 1px solid rgba(141,232,238,0.45); background: rgba(141,232,238,0.08); color: #e9fbff; border-radius: 999px; padding: 0.25rem 0.65rem; font: inherit; }
.synapse-ndto__title { font-size: 0.9rem; font-weight: 800; color: #ffffff; margin-bottom: 0.2rem; }
.synapse-ndto__line { color: #bfeff3; margin-bottom: 0.55rem; }
.synapse-ndto__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.35rem; margin-bottom: 0.55rem; }
.synapse-ndto__grid div { min-width: 0; padding: 0.35rem; border-radius: 0.55rem; background: rgba(255,255,255,0.055); }
.synapse-ndto__grid span { display: block; color: #8aaeb3; font-size: 0.62rem; letter-spacing: 0.1em; }
.synapse-ndto__grid strong { display: block; color: #f5ffff; overflow-wrap: anywhere; font-weight: 700; }

/* Build 13.10 — Diagnostics Adoption Panel. */
.synapse-ndto__adoption {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  margin: 0.45rem 0 0;
  padding: 0.45rem;
  border-radius: 0.55rem;
  background: rgba(141, 232, 238, 0.06);
  border: 1px solid rgba(141, 232, 238, 0.16);
  color: #d9fbff;
}
.synapse-ndto__adoption strong,
.synapse-ndto__adoption span { display: block; margin-bottom: 0.25rem; overflow-wrap: anywhere; }
.synapse-ndto__adoption pre { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 6rem; overflow: auto; margin: 0; color: #d9fbff; }
.synapse-no-devtools-diagnostic-overlay:not([data-no-devtools-diagnostic-expanded="true"]) .synapse-ndto__adoption { display: none !important; }

.synapse-ndto__detail,
.synapse-ndto__snapshot { white-space: pre-wrap; overflow-wrap: anywhere; margin: 0.45rem 0 0; padding: 0.45rem; border-radius: 0.55rem; background: rgba(0, 0, 0, 0.28); color: #d9fbff; }

html[data-diagnostic-blackbox-intent="true"] #synapse-preboot-diagnostic-blackbox:not([data-diagnostic-blackbox-emergency="true"]) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
html[data-diagnostic-blackbox-emergency="true"] #synapse-preboot-diagnostic-blackbox {
  display: block !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
@media (min-width: 720px) {
  .synapse-no-devtools-diagnostic-overlay { left: auto; width: min(34rem, calc(100vw - 2rem)); }
}

/* Build 7.8 — commercial diagnostic fallback UX (product-safe, passive) */
.synapse-commercial-diagnostic-fallback {
  position: fixed;
  left: clamp(1rem, 4vw, 2rem);
  right: clamp(1rem, 4vw, 2rem);
  bottom: clamp(1rem, 4vh, 2rem);
  z-index: 2147483001;
  max-width: 36rem;
  margin-inline: auto;
  padding: 0.875rem 1rem;
  border: 1px solid rgba(225, 232, 235, 0.32);
  border-radius: 1rem;
  background: rgba(13, 22, 26, 0.82);
  backdrop-filter: blur(14px);
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.28);
  color: rgba(249, 253, 253, 0.94);
  font: 500 0.875rem/1.45 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.synapse-commercial-diagnostic-fallback[hidden] {
  display: none !important;
}
.synapse-cdf__title {
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}
.synapse-cdf__line {
  margin-top: 0.18rem;
  opacity: 0.9;
}
.synapse-cdf__detail {
  margin-top: 0.35rem;
  font-size: 0.78rem;
  opacity: 0.75;
}

/* Build 12.16.1 — Diagnostic Surface Governor / single rail / non-gating presentation. */
:root {
  --synapse-z-base-surface: 0;
  --synapse-z-boot-veil: 2147483000;
  --synapse-z-diagnostic-rail: 2147483200;
  --synapse-z-diagnostic-drawer: 2147483300;
  --synapse-z-emergency-blackbox: 2147483500;
  --synapse-diagnostic-bottom-clearance: max(3.25rem, calc(env(safe-area-inset-bottom) + 0.75rem));
}
#synapse-diagnostic-surface-root #synapse-no-devtools-diagnostic-overlay[data-preboot-diagnostic-rail="true"] {
  display: none !important;
}
html[data-diagnostic-blackbox-intent="true"] #synapse-diagnostic-surface-root #synapse-no-devtools-diagnostic-overlay[data-preboot-diagnostic-rail="true"],
html[data-no-devtools-diagnostic-url-override="true"] #synapse-diagnostic-surface-root #synapse-no-devtools-diagnostic-overlay[data-preboot-diagnostic-rail="true"] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
#synapse-diagnostic-surface-root,
.synapse-diagnostic-surface-root {
  position: fixed !important;
  left: max(0.75rem, env(safe-area-inset-left)) !important;
  right: max(0.75rem, env(safe-area-inset-right)) !important;
  bottom: calc(var(--synapse-diagnostic-bottom-clearance) + 0.25rem) !important;
  z-index: var(--synapse-z-diagnostic-rail) !important;
  pointer-events: none !important;
  display: grid !important;
  justify-items: stretch !important;
  gap: 0.5rem !important;
  contain: layout style paint !important;
  isolation: isolate !important;
}
#synapse-diagnostic-surface-root > *,
.synapse-diagnostic-surface-root > * { pointer-events: auto !important; }
#synapse-diagnostic-surface-root .synapse-no-devtools-diagnostic-overlay,
.synapse-diagnostic-surface-root .synapse-no-devtools-diagnostic-overlay,
.synapse-no-devtools-diagnostic-overlay.synapse-diagnostic-rail {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  max-width: min(42rem, calc(100vw - 1.5rem)) !important;
  justify-self: end !important;
  z-index: var(--synapse-z-diagnostic-rail) !important;
  max-height: min(48dvh, 26rem) !important;
  padding: 0.54rem 0.62rem !important;
  border-radius: 0.9rem !important;
  background: rgba(3, 13, 18, 0.94) !important;
  box-shadow: 0 0.75rem 2.4rem rgba(0, 0, 0, 0.44), inset 0 0 0 1px rgba(255,255,255,0.07) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  contain: content !important;
}
.synapse-ndto__rail {
  display: grid !important;
  grid-template-columns: auto minmax(0, auto) minmax(0, 1fr) auto !important;
  gap: 0.45rem !important;
  align-items: center !important;
}
.synapse-ndto__rail-state,
.synapse-ndto__rail-line { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.synapse-ndto__actions { display: inline-flex !important; gap: 0.35rem !important; align-items: center !important; }
.synapse-ndto__toggle,
.synapse-ndto__copy {
  border: 1px solid rgba(141,232,238,0.48) !important;
  background: rgba(141,232,238,0.10) !important;
  color: #e9fbff !important;
  border-radius: 999px !important;
  min-height: 2.5rem !important;
  min-width: 3.4rem !important;
  padding: 0.45rem 0.75rem !important;
  font: inherit !important;
  line-height: 1 !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
  cursor: pointer !important;
}
.synapse-ndto__copy-feedback {
  margin-top: 0.28rem !important;
  color: rgba(233,251,255,0.68) !important;
  font-size: 0.62rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}
.synapse-ndto__drawer { display: none !important; margin-top: 0.5rem !important; }
.synapse-no-devtools-diagnostic-overlay[data-no-devtools-diagnostic-expanded="true"] .synapse-ndto__drawer { display: block !important; }
.synapse-ndto__tabs { color: #8de8ee !important; font-size: 0.62rem !important; letter-spacing: 0.08em !important; margin-bottom: 0.35rem !important; }
.synapse-no-devtools-diagnostic-overlay:not([data-no-devtools-diagnostic-expanded="true"]) .synapse-ndto__summary,
.synapse-no-devtools-diagnostic-overlay:not([data-no-devtools-diagnostic-expanded="true"]) .synapse-ndto__grid,
.synapse-no-devtools-diagnostic-overlay:not([data-no-devtools-diagnostic-expanded="true"]) .synapse-ndto__detail,
.synapse-no-devtools-diagnostic-overlay:not([data-no-devtools-diagnostic-expanded="true"]) .synapse-ndto__snapshot { display: none !important; }
html[data-diagnostic-surface-runtime-hydrated="true"] #synapse-preboot-diagnostic-blackbox,
body[data-diagnostic-surface-runtime-hydrated="true"] #synapse-preboot-diagnostic-blackbox,
#synapse-preboot-diagnostic-blackbox[data-diagnostic-blackbox-visual-state="collapsed-into-diagnostic-surface"] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
@media (min-width: 720px) {
  #synapse-diagnostic-surface-root,
  .synapse-diagnostic-surface-root { left: auto !important; width: min(42rem, calc(100vw - 2rem)) !important; }
}
@media (max-width: 640px) {
  #synapse-diagnostic-surface-root,
  .synapse-diagnostic-surface-root { bottom: calc(var(--synapse-diagnostic-bottom-clearance) + 0.85rem) !important; }
  .synapse-ndto__rail { grid-template-columns: auto minmax(0, 1fr) auto !important; }
  .synapse-ndto__rail-line { grid-column: 1 / -1 !important; font-size: 0.66rem !important; }
}

/* Build 12.17 — cover spatial seating certification.
   Measurement-safe visibility breaks the circular hold where cover atoms are hidden
   until admission, while admission requires the atoms to be measurable first. */
html[data-cover-spatial-seating-certification='active'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] .shell-cover__field,
html[data-cover-spatial-seating-certification='active'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] .shell-cover__content-card,
html[data-cover-spatial-seating-certification='active'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] .shell-cover__brand-zone,
html[data-cover-spatial-seating-certification='active'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] .shell-cover__routes-zone,
html[data-cover-spatial-seating-certification='active'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] .shell-cover__routes,
body[data-cover-spatial-seating-certification='active'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] .shell-cover__field,
body[data-cover-spatial-seating-certification='active'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] .shell-cover__content-card,
body[data-cover-spatial-seating-certification='active'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] .shell-cover__brand-zone,
body[data-cover-spatial-seating-certification='active'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] .shell-cover__routes-zone,
body[data-cover-spatial-seating-certification='active'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] .shell-cover__routes,
[data-shell-cover][data-cover-spatial-seating-certification='active'] .shell-cover__field,
[data-shell-cover][data-cover-spatial-seating-certification='active'] .shell-cover__content-card,
[data-shell-cover][data-cover-spatial-seating-certification='active'] .shell-cover__brand-zone,
[data-shell-cover][data-cover-spatial-seating-certification='active'] .shell-cover__routes-zone,
[data-shell-cover][data-cover-spatial-seating-certification='active'] .shell-cover__routes,
[data-cover-spatial-seating-visibility='measurement-safe'] {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
}

html[data-cover-spatial-seating-certification='active'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] .shell-cover__route,
body[data-cover-spatial-seating-certification='active'] [data-shell-cover][data-cover-contract='synapse-cover-v2'] .shell-cover__route,
[data-shell-cover][data-cover-spatial-seating-certification='active'] .shell-cover__route {
  visibility: visible !important;
  opacity: 1 !important;
}

html[data-cover-spatial-seating-certification='active']:not([data-cover-route-input-state='admitted']) [data-shell-cover][data-cover-contract='synapse-cover-v2'] .shell-cover__route,
body[data-cover-spatial-seating-certification='active']:not([data-cover-route-input-state='admitted']) [data-shell-cover][data-cover-contract='synapse-cover-v2'] .shell-cover__route,
[data-shell-cover][data-cover-spatial-seating-certification='active']:not([data-cover-route-input-state='admitted']) .shell-cover__route,
[data-cover-spatial-seating-input='withheld-until-cover-certified'] {
  pointer-events: none !important;
}

/* Build 13.11 — Cycle Guard + Proof Compaction */
[data-system-adoption-cycle-guard="blocked"],
[data-resource-diagnostic-adoption-cycle="blocked"] {
  --synapse-adoption-cycle-guard: cycle-blocked;
}
/* production-css: end css/platform.css */

