/* [project]/apps/web/src/app/design-system.css [app-client] (css) */
@font-face {
  font-family: IRANYekan;
  src: url("/fonts/iran-yekan/IRANYekan-Light.ttf") format("truetype");
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}

@font-face {
  font-family: IRANYekan;
  src: url("/fonts/iran-yekan/IRANYekan-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: IRANYekan;
  src: url("/fonts/iran-yekan/IRANYekan-Medium.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

:root {
  --font-family-ui: "IRANYekan",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --brand: #7c1695;
  --brand-rgb: 124,22,149;
  --brand-hover: #931eb0;
  --brand-deep: #5c0f71;
  --brand-dark: #290433;
  --brand-soft: #fbf5fd;
  --brand-surface: #fdfafc;
  --accent: #9a6a32;
  --accent-rgb: 154,106,50;
  --accent-soft: #f8f1e7;
  --canvas: #f7f6fa;
  --surface: #fff;
  --ink: #17242d;
  --ink-soft: #40515d;
  --muted: #687985;
  --line: #e2dce6;
  --success: #277f70;
  --success-soft: #eaf5f1;
  --danger: #b2475a;
  --danger-soft: #faeef0;
  --radius-xs: 6px;
  --radius-sm: 9px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 20px;
  --radius-button: 10px;
  --radius-field: 12px;
  --radius-textarea: 12px;
  --radius-pill: 999px;
  --shadow-xs: 0 2px 8px #122e4008;
  --shadow-sm: 0 8px 24px #122e400d;
  --shadow-md: 0 16px 42px #122e4013;
  --shadow-lg: 0 26px 64px #0e27371f;
  --surface-border: #7c16951a;
  --surface-bg: #fffffffa;
  --surface-muted: #fbfafd;
  --focus-ring: 0 0 0 3px rgba(var(--brand-rgb),.16);
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 28px;
  --space-8: 32px;
  --space-9: 36px;
  --space-10: 40px;
  --font-ui: clamp(15px,.84vw,16px);
  --text-compact: .8125rem;
  --text-small: .875rem;
  --text-body: .9375rem;
  --text-control: .875rem;
  --title-display: clamp(1.7rem,2.4vw,2.35rem);
  --title-page: clamp(1.4rem,1.8vw,1.8rem);
  --title-card: clamp(1rem,1.08vw,1.1rem);
  --title-dialog: clamp(1.08rem,1.3vw,1.2rem);
  --page-gutter: clamp(20px,2.7vw,44px);
  --section-gap: clamp(22px,2.2vw,32px);
  --surface-padding: clamp(20px,2.2vw,30px);
  --modal-gutter: clamp(10px,2.4vh,24px);
  --form-gap: 16px;
  --form-action-gap: 16px;
  --content-max: 1680px;
  --content-readable: 72ch;
  --control-height: 46px;
  --field-height: 46px;
  --field-bg: #fff;
  --field-border: rgba(var(--brand-rgb),.2);
  --field-shadow: inset 0 1px 0 #ffffffeb,0 5px 16px #122e400a;
  --field-focus-shadow: 0 0 0 4px rgba(var(--brand-rgb),.12),0 10px 24px rgba(var(--brand-rgb),.07);
}

html[data-clinic-theme="dark"], body[data-clinic-theme="dark"], .clinic-theme-scope[data-clinic-theme="dark"] {
  --brand: #d066ef;
  --brand-rgb: 208,102,239;
  --brand-hover: #dc84f4;
  --brand-deep: #ba47db;
  --brand-dark: #f8e8fd;
  --brand-soft: #d066ef29;
  --brand-surface: #d066ef14;
  --accent: #d7a85f;
  --accent-rgb: 215,168,95;
  --accent-soft: #d7a85f1f;
  --canvas: #090e17;
  --surface: #101726;
  --ink: #edf8ff;
  --ink-soft: #c2d6e2;
  --muted: #8fa8b8;
  --line: #d066ef24;
  --success: #49c8a0;
  --success-soft: #49c8a01f;
  --danger: #ff748e;
  --danger-soft: #ff748e1c;
  --shadow-xs: 0 5px 16px #0000002e;
  --shadow-sm: 0 14px 34px #0000003d,inset 0 1px 0 #ffffff06;
  --shadow-md: 0 22px 54px #0000004d,inset 0 1px 0 #ffffff09;
  --shadow-lg: 0 32px 78px #0000006b;
  --surface-border: #d066ef26;
  --surface-bg: #131927c7;
  --surface-muted: #171f30ad;
  --surface-subtle: #090e17;
  --page-bg: #090e17;
  --focus-ring: 0 0 0 3px rgba(var(--brand-rgb),.24),0 0 26px rgba(var(--brand-rgb),.14);
  --field-bg: #131927c7;
  --field-border: rgba(var(--brand-rgb),.24);
  --field-shadow: inset 0 1px 0 #ffffff09,0 8px 22px #0000002e;
  --field-focus-shadow: 0 0 0 4px rgba(var(--brand-rgb),.14),0 0 28px rgba(var(--brand-rgb),.1);
  --lightningcss-light: ;
  --lightningcss-dark: initial;
  color-scheme: dark;
}

html[data-clinic-theme="dark"], body[data-clinic-theme="dark"] {
  color: #edf8ff;
  background-color: #07111b;
}

html {
  font-synthesis: none;
  font-variant-numeric: lining-nums proportional-nums;
}

h1, h2, h3, h4, h5, h6, strong, b {
  font-weight: 500;
}

.aitricho-wordmark {
  border-radius: var(--radius-button);
  flex: none;
  place-items: center;
  line-height: 1;
  display: inline-grid;
  overflow: hidden;
}

.aitricho-wordmark > img {
  object-fit: contain;
  width: 100%;
  height: 100%;
  display: block;
}

.aitricho-wordmark--navigation {
  width: clamp(48px, 4.2vw, 60px);
  height: clamp(48px, 4.2vw, 60px);
}

.aitricho-wordmark--sidebar {
  width: clamp(88px, 7vw, 104px);
  height: clamp(88px, 7vw, 104px);
}

.aitricho-wordmark--login {
  width: clamp(96px, 8vw, 116px);
  height: clamp(96px, 8vw, 116px);
}

.aitricho-wordmark--emblem, .aitricho-wordmark--product {
  width: 72px;
  height: 72px;
}

.ds-page {
  min-width: 0;
  min-height: 100dvh;
  color: var(--ink);
  background: var(--canvas);
}

.ds-page-shell {
  width: min(calc(100% - 2 * var(--page-gutter)),var(--content-max));
  gap: var(--section-gap);
  min-width: 0;
  padding-block: var(--section-gap) clamp(48px,5vw,80px);
  margin-inline: auto;
  display: grid;
}

.ds-section-stack {
  gap: var(--section-gap);
  min-width: 0;
  display: grid;
}

.ds-page-header {
  align-items: center;
  gap: var(--space-8);
  padding: var(--surface-padding);
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-xl);
  background: var(--surface-bg);
  box-shadow: var(--shadow-md);
  grid-template-columns: minmax(0, 1fr) auto;
  display: grid;
}

.ds-page-header__copy {
  gap: var(--space-2);
  min-width: 0;
  display: grid;
}

.ds-page-header__copy > span {
  color: var(--brand);
  font-size: var(--text-compact);
  font-weight: 500;
}

.ds-page-header__copy h1 {
  color: var(--ink);
  font-size: var(--title-page);
  margin: 0;
  font-weight: 500;
  line-height: 1.45;
}

.ds-page-header__copy p {
  max-width: var(--content-readable);
  color: var(--muted);
  font-size: var(--text-body);
  margin: 0;
  font-weight: 400;
  line-height: 1.85;
}

.ds-page-header__actions, .ds-action-row {
  justify-content: flex-end;
  align-items: center;
  gap: var(--space-3);
  flex-wrap: wrap;
  min-width: 0;
  display: flex;
}

.ds-surface, .ds-card {
  border: 1px solid var(--surface-border);
  background: var(--surface-bg);
  min-width: 0;
  box-shadow: var(--shadow-sm);
}

.ds-surface {
  padding: var(--surface-padding);
  border-radius: var(--radius-xl);
}

.ds-card {
  padding: var(--space-5);
  border-radius: var(--radius-md);
}

.ds-grid {
  grid-template-columns: repeat(auto-fit,minmax(min(100%,var(--ds-grid-min, 260px)),1fr));
  gap: var(--space-5);
  min-width: 0;
  display: grid;
}

.ds-action {
  min-height: var(--control-height);
  justify-content: center;
  align-items: center;
  gap: var(--space-2);
  padding-inline: var(--space-5);
  border-radius: var(--radius-button);
  font: inherit;
  font-size: var(--text-control);
  cursor: pointer;
  border: 1px solid #0000;
  font-weight: 500;
  text-decoration: none;
  transition: transform .18s, box-shadow .18s, border-color .18s, background .18s;
  display: inline-flex;
}

.ds-action--primary {
  color: #fff;
  background: var(--brand);
  box-shadow: 0 8px 20px rgba(var(--brand-rgb),.18);
}

.ds-action--secondary {
  border-color: var(--surface-border);
  color: var(--brand);
  background: var(--surface);
}

.ds-action:hover:not(:disabled) {
  box-shadow: var(--shadow-sm);
  transform: translateY(-1px);
}

.ds-action:focus-visible {
  box-shadow: var(--focus-ring);
  outline: 0;
}

.ds-action:disabled {
  opacity: .55;
  cursor: not-allowed;
  transform: none;
}

@media (max-width: 900px) {
  .ds-page-header {
    gap: var(--space-5);
    grid-template-columns: 1fr;
  }

  .ds-page-header__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 700px) {
  .ds-page-shell {
    gap: var(--space-4);
    width: calc(100% - 16px);
    padding-block: var(--space-3) var(--space-10);
  }

  .ds-section-stack {
    gap: var(--space-4);
  }

  .ds-page-header {
    gap: var(--space-4);
    border-radius: var(--radius-lg);
    padding: 18px 16px;
  }

  .ds-page-header__copy h1 {
    font-size: clamp(1.3rem, 6vw, 1.65rem);
  }

  .ds-page-header__copy p {
    font-size: var(--text-small);
  }

  .ds-surface {
    border-radius: var(--radius-lg);
    padding: 18px 15px;
  }

  .ds-card {
    padding: var(--space-4);
    border-radius: var(--radius-md);
  }

  .ds-grid {
    gap: var(--space-3);
  }

  .ds-page-header__actions, .ds-action-row {
    gap: var(--space-2);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    display: grid;
  }

  .ds-action {
    width: 100%;
    min-width: 0;
    padding-inline: var(--space-3);
  }
}

@media (max-width: 420px) {
  .ds-page-header__actions, .ds-action-row {
    grid-template-columns: 1fr;
  }
}

@media (max-height: 720px) {
  :root {
    --field-height: 42px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ds-action {
    transition: none;
  }

  .ds-action:hover:not(:disabled) {
    transform: none;
  }
}

/* [project]/apps/web/src/app/globals.css [app-client] (css) */
* {
  box-sizing: border-box;
  scrollbar-width: thin;
  scrollbar-color: rgba(var(--brand-rgb),.52) rgba(var(--brand-rgb),.055);
}

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: rgba(var(--brand-rgb),.045);
  border-radius: 999px;
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg,#a855f7e0,rgba(var(--brand-rgb),.9));
  background-clip: padding-box;
  border: 2px solid #0000;
  border-radius: 999px;
  min-height: 34px;
}

::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(#a855f7, #7c1695) padding-box padding-box;
}

::-webkit-scrollbar-corner {
  background: none;
}

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

html {
  scrollbar-gutter: stable;
}

body {
  color: var(--ink);
  font-size: var(--font-ui);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizelegibility;
  margin: 0;
  line-height: 1.6;
}

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

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

button:disabled {
  cursor: not-allowed;
}

select, summary, a[href] {
  cursor: pointer;
}

label:has(input:is([type="checkbox"], [type="radio"])) {
  cursor: pointer;
}

:where(button, a[href], input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid rgba(var(--brand-rgb),.2);
  outline-offset: 2px;
}

a {
  color: inherit;
}

.login-nav {
  justify-content: space-between;
  align-items: center;
  width: min(1320px, 100%);
  height: 42px;
  margin: 0 auto 12px;
  display: flex;
}

.brand {
  color: var(--ink);
  letter-spacing: -.02em;
  align-items: center;
  gap: 10px;
  font-size: 1.05rem;
  font-weight: 500;
  text-decoration: none;
  display: inline-flex;
}

.login-nav-actions {
  align-items: center;
  gap: 8px;
  display: flex;
}

.pwa-install-button {
  border: 1px solid rgba(var(--brand-rgb),.18);
  height: 38px;
  color: var(--brand);
  box-shadow: var(--shadow-sm);
  cursor: pointer;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #f8fbfee0;
  align-items: center;
  gap: 7px;
  padding: 4px 12px;
  font-size: .76rem;
  font-weight: 500;
  transition: all .18s;
  display: inline-flex;
}

.pwa-install-button:hover {
  border-color: rgba(var(--brand-rgb),.36);
  color: var(--brand-hover);
  background: #fff;
  transform: translateY(-1px);
}

.pwa-install-button svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7px;
  width: 16px;
  height: 16px;
}

.language-switcher {
  height: 38px;
  color: var(--ink-soft);
  box-shadow: var(--shadow-sm);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #ffffffb8;
  border: 1px solid #b3bec68c;
  align-items: center;
  gap: 8px;
  padding: 4px 9px 4px 11px;
  font-size: .78rem;
  font-weight: 500;
  text-decoration: none;
  transition: all .18s;
  display: inline-flex;
}

.language-switcher:hover {
  background: #fff;
  border-color: #a7becf;
  transform: translateY(-1px);
}

.language-switcher svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7px;
  width: 16px;
  height: 16px;
}

.language-flag {
  background: #edf0f3;
  border-radius: 8px;
  place-items: center;
  width: 25px;
  height: 25px;
  font-size: 1rem;
  line-height: 1;
  display: grid;
}

.install-hint-backdrop, .modal-backdrop {
  z-index: 70;
  -webkit-backdrop-filter: blur(9px);
  backdrop-filter: blur(9px);
  background: #0919249e;
  place-items: center;
  padding: 20px;
  display: grid;
  position: fixed;
  inset: 0;
}

.install-hint {
  text-align: center;
  background: #fff;
  border-radius: 25px;
  width: min(100%, 390px);
  padding: 30px;
  box-shadow: 0 34px 90px #00000047;
}

.install-hint img {
  border-radius: 18px;
  width: 72px;
  height: 72px;
}

.install-hint h2 {
  margin: 18px 0 8px;
  font-size: 1.25rem;
}

.install-hint p {
  color: var(--muted);
  margin: 0;
  font-size: .85rem;
  line-height: 1.8;
}

.install-hint button {
  color: #fff;
  background: var(--brand);
  cursor: pointer;
  border: 0;
  border-radius: 13px;
  width: 100%;
  min-height: 44px;
  margin-top: 22px;
  font-weight: 500;
}

.modal-card {
  border-radius: var(--radius-md);
  background: #fff;
  width: min(100%, 490px);
  max-height: 90vh;
  padding: 26px;
  overflow: auto;
  box-shadow: 0 34px 90px #00000047;
}

.modal-card > header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
  display: flex;
}

.modal-card h2 {
  margin: 0;
}

.modal-card header button {
  color: #7a6c7d;
  cursor: pointer;
  background: #eff3f6;
  border: 0;
  border-radius: 10px;
  place-items: center;
  width: 34px;
  height: 34px;
  font-size: 1.4rem;
  display: grid;
}

.modal-copy {
  color: var(--muted);
  margin: 0 0 4px;
  font-size: .84rem;
  line-height: 1.75;
}

.support-call {
  color: var(--brand);
  text-align: center;
  font-size: .84rem;
  text-decoration: none;
}

.support-pending {
  color: var(--muted);
  text-align: center;
}

.panel-shell {
  background: var(--canvas);
  grid-template-columns: 245px 1fr;
  min-height: 100vh;
  display: grid;
}

.panel-sidebar {
  border-left: 1px solid var(--line);
  background: #fff;
  flex-direction: column;
  padding: 30px 22px;
  display: flex;
}

.panel-sidebar nav {
  gap: 7px;
  margin-top: 50px;
  display: grid;
}

.panel-sidebar nav a {
  border-radius: 12px;
  padding: 12px 14px;
}

.panel-sidebar nav a.active {
  color: var(--brand);
  background: var(--brand-soft);
  font-weight: 500;
}

.panel-sidebar form {
  margin-top: auto;
}

.logout-button {
  border: 1px solid var(--line);
  color: #675a69;
  cursor: pointer;
  background: #fff;
  border-radius: 12px;
  width: 100%;
  padding: 11px;
}

.panel-content {
  padding: 40px clamp(25px, 5vw, 70px);
}

.panel-content > header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  display: flex;
}

.panel-content h1 {
  margin: 14px 0 6px;
}

.panel-content header p {
  color: var(--muted);
  margin: 0;
}

.preview-badge {
  color: var(--brand);
  background: var(--brand-soft);
  border-radius: 9px;
  padding: 6px 10px;
  font-size: .72rem;
  font-weight: 500;
  display: inline-block;
}

.panel-header-actions {
  align-items: center;
  gap: 10px;
  display: flex;
}

.avatar {
  color: #fff;
  background: var(--brand-deep);
  border-radius: 14px;
  place-items: center;
  width: 45px;
  height: 45px;
  font-size: .78rem;
  display: grid;
}

.metric-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 40px;
  display: grid;
}

.metric-grid article {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  background: #fff;
  gap: 12px;
  padding: 23px;
  display: grid;
}

.metric-grid span {
  color: var(--muted);
  font-size: .79rem;
}

.metric-grid strong {
  font-size: 2rem;
}

.metric-grid small {
  color: var(--success);
}

.empty-state {
  text-align: center;
  background: #ffffff8c;
  border: 1px dashed #c8d4dc;
  border-radius: 24px;
  align-content: center;
  place-items: center;
  min-height: 300px;
  margin-top: 20px;
  display: grid;
}

.empty-state h2 {
  margin: 12px 0 5px;
  font-size: 1.05rem;
}

.empty-state p {
  color: var(--muted);
  margin: 0;
  font-size: .83rem;
}

.empty-icon {
  width: 48px;
  height: 48px;
  color: var(--brand);
  background: var(--brand-soft);
  border-radius: 15px;
  place-items: center;
  font-size: 1.5rem;
  display: grid;
}

@media (max-width: 900px) {
  .panel-shell {
    grid-template-columns: 1fr;
  }

  .panel-sidebar {
    display: none;
  }

  .metric-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .login-nav {
    margin-bottom: 4px;
  }

  .pwa-install-button span {
    display: none;
  }

  .pwa-install-button {
    justify-content: center;
    width: 38px;
    padding: 0;
  }

  .panel-content {
    padding: 25px 18px;
  }
}

.admin-console {
  min-height: 100vh;
  color: var(--ink);
  background: linear-gradient(135deg, #f9fbfc 0%, #f3f6f8 100%);
  grid-template-columns: 272px minmax(0, 1fr);
  display: grid;
}

.admin-sidebar {
  border-inline-end: 1px solid rgba(var(--brand-rgb),.1);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  background: linear-gradient(#fffffff7, #f9fcfef0);
  flex-direction: column;
  height: 100dvh;
  min-height: 0;
  padding: 22px 14px 16px;
  display: flex;
  position: sticky;
  top: 0;
  overflow: hidden;
  box-shadow: 0 0 28px #173c580b;
}

.admin-sidebar-header {
  border-bottom: 1px solid rgba(var(--brand-rgb),.09);
  gap: 6px;
  margin: 0 6px 20px;
  padding: 2px 6px 20px;
  display: grid;
}

.admin-sidebar-header .brand {
  gap: 10px;
  width: max-content;
  padding: 0;
}

.admin-sidebar-header .brand-mark {
  box-shadow: 0 10px 24px rgba(var(--brand-rgb),.2);
}

.admin-sidebar-header small {
  letter-spacing: .02em;
  padding-inline-start: 49px;
  font-weight: 500;
}

.admin-nav-groups {
  overscroll-behavior: contain;
  scrollbar-width: none;
  align-content: start;
  gap: 22px;
  min-height: 0;
  padding: 0 4px 14px;
  display: grid;
  overflow-y: auto;
}

.admin-nav-groups::-webkit-scrollbar {
  display: none;
}

.admin-nav-group {
  gap: 8px;
  display: grid;
}

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

.admin-nav button {
  cursor: pointer;
  text-align: start;
  background: none;
  border: 1px solid #0000;
  border-radius: 14px;
  align-items: center;
  gap: 11px;
  width: 100%;
  min-height: 48px;
  padding: 0 13px;
  transition: color .18s, border-color .18s, background .18s, box-shadow .18s, transform .18s;
  display: flex;
  position: relative;
  overflow: hidden;
}

.admin-nav button:before {
  content: "";
  background: linear-gradient(180deg,#931eb0,var(--brand));
  border-radius: 99px;
  width: 3px;
  height: 0;
  transition: height .18s;
  position: absolute;
  inset-inline-start: 0;
}

.admin-nav button:hover {
  border-color: rgba(var(--brand-rgb),.08);
  color: var(--brand);
  background: #fbf5fdd1;
  transform: translateY(-1px);
}

.admin-nav button:focus-visible {
  outline: 3px solid rgba(var(--brand-rgb),.16);
  outline-offset: 2px;
}

.admin-nav button.active {
  border-color: rgba(var(--brand-rgb),.12);
  color: var(--brand);
  box-shadow: 0 8px 20px rgba(var(--brand-rgb),.08),inset 0 1px 0 #ffffffd9;
  background: linear-gradient(135deg, #fbf5fd, #f5e8fa);
  font-weight: 500;
}

.admin-nav button.active:before {
  height: 22px;
}

.admin-nav button svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.55px;
  flex: none;
  width: 19px;
  height: 19px;
}

.admin-nav button b {
  color: #fff;
  background: linear-gradient(135deg,#931eb0,var(--brand));
  min-width: 22px;
  height: 22px;
  box-shadow: 0 5px 12px rgba(var(--brand-rgb),.2);
  border-radius: 8px;
  place-items: center;
  margin-inline-start: auto;
  display: grid;
}

.admin-sidebar-footer {
  border: 1px solid rgba(var(--brand-rgb),.1);
  background: #ffffffbf;
  border-radius: 17px;
  flex: none;
  gap: 11px;
  margin-top: auto;
  padding: 12px;
  display: grid;
  box-shadow: 0 8px 24px #173c580b;
}

.admin-person {
  align-items: center;
  gap: 10px;
  display: flex;
}

.admin-person > span {
  flex: none;
  place-items: center;
  width: 38px;
  height: 38px;
  display: grid;
}

.admin-person div {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.admin-person strong, .admin-person small {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.admin-logout {
  border: 1px solid rgba(var(--brand-rgb),.09);
  cursor: pointer;
  text-align: center;
  padding: 0 11px;
  font-weight: 500;
  transition: all .18s;
}

.admin-logout:hover {
  border-color: rgba(var(--brand-rgb),.18);
  color: var(--brand);
  background: var(--brand-soft);
}

.admin-main {
  min-width: 0;
}

.admin-topbar {
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  min-height: 44px;
  margin-bottom: 30px;
  display: flex;
}

.admin-search {
  border: 1px solid var(--line);
  color: #968997;
  width: min(100%, 460px);
  height: 44px;
  box-shadow: var(--shadow-sm);
  background: #ffffffd6;
  border-radius: 14px;
  align-items: center;
  gap: 9px;
  padding-block: 0;
  padding-inline: 13px 7px;
  transition: border-color .18s, box-shadow .18s, background .18s;
  display: flex;
}

.admin-search:focus-within, .admin-search.has-value {
  border-color: rgba(var(--brand-rgb),.27);
  box-shadow: 0 0 0 4px rgba(var(--brand-rgb),.07),var(--shadow-sm);
  background: #fff;
}

.admin-search svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5px;
  flex: none;
  width: 17px;
  height: 17px;
}

.admin-search input {
  width: 100%;
  min-width: 0;
  color: var(--ink);
  background: none;
  border: 0;
  outline: 0;
}

.admin-search input::placeholder {
  color: #aa9eac;
}

.admin-search button {
  color: #8c7d8f;
  cursor: pointer;
  border: 0;
  flex: none;
  place-items: center;
  width: 30px;
  height: 30px;
  font-size: 1rem;
  display: grid;
}

.admin-search button:hover {
  color: var(--brand);
  background: var(--brand-soft);
}

.admin-header-actions {
  align-items: center;
  display: flex;
}

.admin-issue-button {
  color: #fff;
  cursor: pointer;
  border: 0;
  align-items: center;
  gap: 7px;
  padding: 0 12px;
  font-weight: 500;
  display: inline-flex;
}

.admin-issue-button span {
  border: 1px solid #ffffff8c;
  border-radius: 5px;
  place-items: center;
  width: 17px;
  height: 17px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  display: grid;
}

.admin-filter-bar {
  border: 1px solid rgba(var(--brand-rgb),.1);
  background: #ffffffc7;
  border-radius: 18px;
  align-items: flex-end;
  gap: 12px;
  padding: 14px;
  display: flex;
  box-shadow: 0 9px 26px #173c580a;
}

.admin-filter-title {
  align-items: center;
  gap: 9px;
  min-width: 132px;
  padding-bottom: 2px;
  display: flex;
}

.admin-filter-title > span {
  width: 34px;
  height: 34px;
  color: var(--brand);
  background: var(--brand-soft);
  border-radius: 11px;
  flex: none;
  place-items: center;
  font-size: 1rem;
  display: grid;
}

.admin-filter-title > div {
  gap: 3px;
  display: grid;
}

.admin-filter-title strong {
  color: var(--ink-soft);
}

.admin-filter-title small {
  color: var(--muted);
  white-space: nowrap;
}

.admin-filter-controls {
  flex: 1;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 9px;
  min-width: 0;
  display: grid;
}

.admin-filter-control {
  gap: 5px;
  min-width: 0;
  display: grid;
}

.admin-filter-control > span {
  color: #948697;
  padding-inline: 4px;
  font-weight: 500;
}

.admin-filter-control select {
  border: 1px solid var(--line);
  color: #586269;
  cursor: pointer;
  width: 100%;
  min-width: 0;
  height: 38px;
  font: inherit;
  background: #fff;
  border-radius: 12px;
  outline: none;
  padding: 0 11px;
}

.admin-filter-control select:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(var(--brand-rgb),.08);
}

.admin-filter-reset {
  border: 1px solid rgba(var(--brand-rgb),.12);
  min-height: 38px;
  color: var(--brand);
  cursor: pointer;
  background: #f5f9fc;
  border-radius: 12px;
  flex: none;
  padding: 0 12px;
  font-weight: 500;
}

.admin-filter-reset:disabled {
  opacity: .42;
  cursor: not-allowed;
}

.admin-result-total {
  min-height: 36px;
  color: var(--brand);
  background: var(--brand-soft);
  white-space: nowrap;
  border-radius: 12px;
  align-items: center;
  padding: 0 12px;
  display: inline-flex;
}

.admin-search-results {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
  display: grid;
}

.admin-search-results article {
  border: 1px solid var(--line);
  box-shadow: var(--shadow-sm);
  background: #ffffffdb;
  border-radius: 18px;
  overflow: hidden;
}

.admin-search-results article > header {
  border-bottom: 1px solid #e9eef1;
  justify-content: space-between;
  align-items: center;
  gap: 9px;
  padding: 14px 15px;
  display: flex;
}

.admin-search-results article > header span {
  color: var(--ink-soft);
  align-items: center;
  gap: 8px;
  font-size: .75rem;
  font-weight: 500;
  display: flex;
}

.admin-search-results article > header svg {
  fill: none;
  width: 18px;
  height: 18px;
  stroke: var(--brand);
  stroke-width: 1.6px;
}

.admin-search-results article > header button {
  color: var(--brand);
  cursor: pointer;
  background: none;
  border: 0;
  font-weight: 500;
}

.admin-search-results article > div {
  display: grid;
}

.admin-search-results article > div > button {
  min-height: 62px;
  color: inherit;
  cursor: pointer;
  text-align: start;
  background: none;
  border: 0;
  border-bottom: 1px solid #eef2f5;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 10px 15px;
  transition: background .16s;
  display: flex;
}

.admin-search-results article > div > button:last-child {
  border-bottom: 0;
}

.admin-search-results article > div > button:hover {
  background: #f8fbfe;
}

.admin-search-results article > div > button span {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.admin-search-results strong {
  color: var(--ink-soft);
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.admin-search-results small {
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.admin-search-results b {
  color: var(--brand);
  font-size: .85rem;
}

.admin-empty-state {
  border: 1px dashed rgba(var(--brand-rgb),.2);
  min-height: 300px;
  color: var(--muted);
  text-align: center;
  background: #ffffff94;
  border-radius: 20px;
  align-content: center;
  place-items: center;
  gap: 10px;
  display: grid;
}

.admin-empty-state svg {
  fill: none;
  width: 32px;
  height: 32px;
  stroke: var(--brand);
}

.admin-empty-state h2 {
  color: var(--ink-soft);
  margin: 0;
  font-size: .95rem;
}

.admin-empty-state p {
  margin: 0;
  font-size: .72rem;
}

.admin-notice {
  color: #176449;
  background: var(--success-soft);
  border: 1px solid #13795f29;
  border-radius: 12px;
  align-items: center;
  gap: 8px;
  max-width: 620px;
  margin: -12px 0 20px;
  padding: 10px 12px;
  font-size: .78rem;
  display: flex;
}

.admin-notice > span {
  color: #fff;
  background: var(--success);
  border-radius: 50%;
  place-items: center;
  width: 18px;
  height: 18px;
  display: grid;
}

.admin-notice button {
  color: #477765;
  cursor: pointer;
  background: none;
  border: 0;
  margin-inline-start: auto;
  font-size: 1.1rem;
}

.admin-page {
  display: grid;
}

.admin-page-heading {
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  display: flex;
}

.admin-page-heading > div > span, .admin-issue-modal header span {
  color: var(--brand);
  background: var(--brand-soft);
  border-radius: 8px;
  margin-bottom: 8px;
  padding: 5px 9px;
  font-weight: 500;
  display: inline-block;
}

.admin-page-heading h1 {
  margin: 0;
  font-weight: 500;
}

.admin-page-heading p {
  max-width: 72ch;
  color: var(--muted);
  margin: 6px 0 0;
  font-size: 13px;
  line-height: 1.85;
}

.admin-refresh {
  border: 1px solid var(--line);
  color: var(--brand);
  cursor: pointer;
  background: #fff;
  place-items: center;
  font-size: 1.05rem;
  display: grid;
}

.admin-kpis {
  grid-template-columns: repeat(4, 1fr);
  display: grid;
}

.admin-kpis article {
  background: #ffffffd9;
  border: 1px solid #e0e7ebe6;
  gap: 5px;
  min-height: 150px;
  padding: 18px;
  display: grid;
  position: relative;
  overflow: hidden;
}

.admin-kpi-icon {
  color: var(--brand);
  background: var(--brand-soft);
  place-items: center;
  margin-bottom: 5px;
  display: grid;
}

.admin-kpi-icon.i1 {
  color: var(--accent);
  background: var(--accent-soft);
}

.admin-kpi-icon.i2 {
  color: #277f70;
  background: #e8f6f2;
}

.admin-kpi-icon.i3 {
  color: #bd6434;
  background: #fff2e9;
}

.admin-kpi-icon svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5px;
  width: 19px;
  height: 19px;
}

.admin-kpis article > span {
  color: var(--muted);
}

.admin-kpis strong {
  line-height: 1.1;
}

.admin-kpis small {
  color: var(--success);
}

.admin-overview-grid {
  grid-template-columns: minmax(0, 1.55fr) minmax(290px, .8fr);
  gap: 18px;
  display: grid;
}

.admin-chart-card, .admin-alert-card, .admin-table-card {
  background: #ffffffd6;
  border: 1px solid #e0e7ebe6;
}

.admin-chart-card header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 15px;
  display: flex;
}

.admin-chart-card header span, .admin-alert-card header h2, .admin-table-card header > div > span {
  color: var(--muted);
}

.admin-chart-card h2 {
  margin: 5px 0 1px;
}

.admin-chart-card p {
  color: #958997;
  margin: 0;
}

.admin-chart-legend {
  color: #857989;
  align-items: center;
  gap: 6px;
  display: flex;
}

.admin-chart-legend i {
  background: var(--brand);
  border-radius: 50%;
  width: 8px;
  height: 8px;
}

.admin-chart {
  margin-top: 13px;
}

.admin-chart svg {
  width: 100%;
  height: 145px;
  display: block;
}

.admin-chart > div {
  color: #a397a6;
  justify-content: space-between;
  font-size: .63rem;
  display: flex;
}

.admin-demo-banner {
  border: 1px solid rgba(var(--brand-rgb),.16);
  color: #476073;
  box-shadow: 0 8px 22px rgba(var(--brand-rgb),.05);
  background: linear-gradient(135deg, #fbf5fd, #f5e8fa);
  border-radius: 16px;
  align-items: center;
  gap: 12px;
  padding: 12px 15px;
  display: flex;
}

.admin-demo-banner b {
  color: #fff;
  background: var(--brand);
  white-space: nowrap;
  border-radius: 99px;
  padding: 5px 9px;
}

.admin-demo-banner span {
  line-height: 1.7;
}

.admin-analytics-heading {
  gap: 4px;
  margin-bottom: -7px;
  display: grid;
}

.admin-analytics-heading span {
  color: var(--muted);
}

.admin-analytics-heading h2 {
  color: var(--ink-soft);
  margin: 0;
}

.admin-analytics-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  display: grid;
}

.admin-analytics-grid > .admin-chart-card {
  min-height: 300px;
}

.admin-analytics-wide {
  grid-column: span 8;
}

.admin-status-chart {
  grid-column: span 4;
}

.admin-flow-chart {
  grid-column: span 5;
}

.admin-geo-chart {
  grid-column: span 7;
}

.admin-geo-chart.city {
  grid-column: span 12;
  min-height: 260px;
}

.admin-activity-chart {
  background: radial-gradient(circle at 82% 8%,rgba(var(--brand-rgb),.07),transparent 35%),#ffffffe6;
  overflow: hidden;
}

.admin-chart-summary {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px 14px;
  display: flex;
}

.admin-chart-summary span {
  align-items: center;
  gap: 5px;
  display: flex;
}

.admin-chart-summary i {
  border-radius: 50%;
  width: 8px;
  height: 8px;
}

.admin-chart-summary i.patients {
  background: var(--brand);
}

.admin-chart-summary i.sessions {
  background: var(--accent);
}

.admin-chart-summary i.analyses {
  background: var(--success);
}

.admin-chart-summary b {
  color: var(--ink-soft);
}

.admin-activity-chart svg line {
  stroke: #e6ebef;
  stroke-width: 1px;
  vector-effect: non-scaling-stroke;
}

.admin-activity-chart svg polygon.patients-area {
  fill: url("#patient-area");
}

.admin-activity-chart svg polyline {
  fill: none;
  stroke-width: 3px;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.admin-activity-chart svg polyline.patients {
  stroke: var(--brand);
}

.admin-activity-chart svg polyline.sessions {
  stroke: var(--accent);
}

.admin-activity-chart svg polyline.analyses {
  stroke: var(--success);
}

.admin-activity-chart > footer {
  color: var(--muted);
  border-top: 1px solid #e9eef1;
  margin-top: 12px;
  padding-top: 11px;
}

.admin-donut-layout {
  grid-template-columns: minmax(128px, .8fr) minmax(130px, 1.2fr);
  align-items: center;
  gap: 20px;
  min-height: 205px;
  display: grid;
}

.admin-donut {
  aspect-ratio: 1;
  border-radius: 50%;
  place-items: center;
  width: min(100%, 168px);
  display: grid;
  box-shadow: 0 18px 38px #1b47661f;
}

.admin-donut:before {
  aspect-ratio: 1;
  content: "";
  background: linear-gradient(145deg, #fff, #f4f7fa);
  border-radius: 50%;
  grid-area: 1 / 1;
  width: 67%;
  box-shadow: inset 0 1px #fff, 0 7px 18px #1e364817;
}

.admin-donut > span {
  z-index: 1;
  text-align: center;
  grid-area: 1 / 1;
  gap: 2px;
  display: grid;
}

.admin-donut strong {
  font-size: 1.55rem;
}

.admin-donut small {
  color: var(--muted);
}

.admin-donut-legend {
  gap: 10px;
  display: grid;
}

.admin-donut-legend > div {
  grid-template-columns: 8px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 7px;
  display: grid;
}

.admin-donut-legend i {
  border-radius: 50%;
  width: 8px;
  height: 8px;
}

.admin-donut-legend span {
  color: #746878;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.admin-donut-legend strong {
  color: var(--ink-soft);
}

.admin-donut-legend small {
  min-width: 31px;
  color: var(--muted);
  text-align: end;
}

.admin-flow-chart > div {
  gap: 13px;
  margin-top: 18px;
  display: grid;
}

.admin-flow-chart section {
  grid-template-columns: minmax(100px, 1fr) auto;
  align-items: center;
  gap: 8px 12px;
  display: grid;
}

.admin-flow-chart section > span {
  color: #746878;
  align-items: center;
  gap: 8px;
  display: flex;
}

.admin-flow-chart section > span i {
  width: 23px;
  height: 23px;
  color: var(--brand);
  background: var(--brand-soft);
  border-radius: 8px;
  place-items: center;
  font-size: .56rem;
  font-style: normal;
  font-weight: 500;
  display: grid;
}

.admin-flow-chart section > strong {
  color: var(--ink-soft);
}

.admin-flow-chart section > div {
  background: #eaeef1;
  border-radius: 99px;
  grid-column: 1 / -1;
  height: 10px;
  overflow: hidden;
  box-shadow: inset 0 1px 2px #233f540f;
}

.admin-flow-chart section > div b {
  border-radius: inherit;
  background: linear-gradient(90deg,var(--brand),#931eb0);
  height: 100%;
  box-shadow: 0 4px 12px rgba(var(--brand-rgb),.2);
  display: block;
}

.admin-flow-chart section:nth-child(2) > div b {
  background: linear-gradient(90deg,var(--accent),#c89a61);
}

.admin-flow-chart section:nth-child(3) > div b {
  background: linear-gradient(90deg, #188267, #50b698);
}

.admin-flow-chart section:nth-child(4) > div b {
  background: linear-gradient(90deg, #d07833, #efad65);
}

.admin-geo-chart > header > strong {
  min-width: 38px;
  height: 38px;
  color: var(--brand);
  background: var(--brand-soft);
  border-radius: 12px;
  place-items: center;
  font-size: .73rem;
  display: grid;
}

.admin-geo-bars {
  gap: 11px;
  margin-top: 18px;
  display: grid;
}

.admin-geo-bars > div {
  grid-template-columns: minmax(100px, 150px) minmax(80px, 1fr) 28px;
  align-items: center;
  gap: 10px;
  display: grid;
}

.admin-geo-bars span {
  color: #716575;
  text-overflow: ellipsis;
  white-space: nowrap;
  align-items: center;
  gap: 7px;
  min-width: 0;
  display: flex;
  overflow: hidden;
}

.admin-geo-bars span i {
  width: 21px;
  height: 21px;
  color: var(--brand);
  background: var(--brand-soft);
  border-radius: 7px;
  flex: none;
  place-items: center;
  font-size: .52rem;
  font-style: normal;
  font-weight: 500;
  display: grid;
}

.admin-geo-bars > div > div {
  background: #e9eef1;
  border-radius: 99px;
  height: 9px;
  overflow: hidden;
}

.admin-geo-bars > div > div b {
  border-radius: inherit;
  background: linear-gradient(90deg,var(--brand),#931eb0);
  height: 100%;
  box-shadow: 0 4px 11px rgba(var(--brand-rgb),.18);
  display: block;
}

.admin-geo-chart.city .admin-geo-bars {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 24px;
}

.admin-geo-chart.city .admin-geo-bars > div {
  grid-template-columns: minmax(90px, 125px) minmax(70px, 1fr) 24px;
}

.admin-geo-chart.city .admin-geo-bars > div > div b {
  background: linear-gradient(90deg,var(--accent),#c89a61);
}

.admin-geo-bars > div > strong {
  color: var(--ink-soft);
  text-align: end;
}

.admin-alert-card {
  padding: 19px;
}

.admin-alert-card header, .admin-table-card header {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.admin-alert-card header h2 {
  color: var(--ink);
  margin: 0;
  font-size: .9rem;
}

.admin-alert-card header button, .admin-table-card header > button {
  color: var(--brand);
  cursor: pointer;
  background: none;
  border: 0;
  padding: 0;
  font-weight: 500;
}

.admin-activity {
  border-bottom: 1px solid #e9eef1;
  gap: 10px;
  padding: 14px 0;
  display: flex;
}

.admin-activity:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.admin-activity > i {
  background: var(--brand);
  width: 8px;
  height: 8px;
  box-shadow: 0 0 0 4px rgba(var(--brand-rgb),.1);
  border-radius: 50%;
  flex: none;
  margin-top: 5px;
}

.admin-activity > i.warning {
  background: #d88638;
  box-shadow: 0 0 0 4px #d886381a;
}

.admin-activity > i.accent {
  background: var(--accent);
  box-shadow: 0 0 0 4px rgba(var(--accent-rgb),.1);
}

.admin-activity div {
  gap: 3px;
  display: grid;
}

.admin-activity strong {
  color: var(--ink-soft);
}

.admin-activity p {
  color: #8d818f;
  margin: 0;
  line-height: 1.55;
}

.admin-activity small {
  color: #aa9eac;
}

.admin-events-card {
  min-height: 0;
}

.admin-events-scroll {
  margin-top: 7px;
  overscroll-behavior: contain;
  scrollbar-color: rgba(var(--brand-rgb),.62) rgba(var(--brand-rgb),.08);
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scroll-behavior: smooth;
  max-height: clamp(230px, 34vh, 380px);
  margin-inline-end: -8px;
  padding-inline-end: 8px;
  overflow-y: auto;
}

.admin-events-scroll:focus-visible {
  outline: 3px solid rgba(var(--brand-rgb),.12);
  outline-offset: 3px;
  border-radius: 12px;
}

.admin-events-scroll::-webkit-scrollbar {
  width: 8px;
}

.admin-events-scroll::-webkit-scrollbar-track {
  background: rgba(var(--brand-rgb),.07);
  border-radius: 99px;
}

.admin-events-scroll::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg,#931eb0,var(--brand));
  background-clip: padding-box;
  border: 2px solid #0000;
  border-radius: 99px;
  min-height: 44px;
}

.admin-events-scroll::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg,#a855f7,var(--brand-hover));
  background-clip: padding-box;
}

.admin-table-card {
  overflow: hidden;
}

.admin-table-card.full {
  min-height: 340px;
}

.admin-table-card header h2 {
  margin: 4px 0 0;
  font-size: .97rem;
}

.admin-table-scroll {
  overflow: auto;
}

.admin-table {
  border-spacing: 0;
  border-collapse: collapse;
  white-space: nowrap;
  width: 100%;
}

.admin-table th {
  text-align: start;
  border-top: 1px solid #e9eef1;
  border-bottom: 1px solid #e6ebef;
}

.admin-table td {
  border-bottom: 1px solid #eaeff2;
}

.admin-table tbody tr:last-child td {
  border-bottom: 0;
}

.admin-entity {
  align-items: center;
  gap: 9px;
  display: flex;
}

.admin-entity > span {
  width: 30px;
  height: 30px;
  color: var(--brand);
  background: var(--brand-soft);
  border-radius: 9px;
  place-items: center;
  font-weight: 500;
  display: grid;
}

.admin-entity div, .admin-code {
  gap: 2px;
  display: grid;
}

.admin-table code {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}

.admin-row-action {
  cursor: pointer;
  background: none;
  border: 0;
  font-weight: 500;
}

.admin-demo-badge {
  min-height: 20px;
  color: var(--brand);
  background: var(--brand-soft);
  vertical-align: middle;
  border-radius: 99px;
  align-items: center;
  padding: 2px 7px;
  font-size: .57rem;
  font-style: normal;
  font-weight: 500;
  display: inline-flex;
}

.admin-cell-subtitle {
  color: var(--muted);
  margin-top: 3px;
  display: block;
}

.admin-status {
  border-radius: 99px;
  align-items: center;
  min-height: 22px;
  padding: 3px 8px;
  font-weight: 500;
  display: inline-flex;
}

.admin-status.active {
  color: #13795f;
  background: #e7f6ef;
}

.admin-status.attention, .admin-status.expiring {
  color: #aa6427;
  background: #fff2e7;
}

.admin-status.suspended {
  color: #a23d55;
  background: #fcebf0;
}

.admin-status.issued {
  color: #80511f;
  background: var(--accent-soft);
}

.admin-status.rotating {
  color: var(--brand);
  background: var(--brand-soft);
}

.admin-agent-grid, .admin-credential-grid {
  grid-template-columns: repeat(3, 1fr);
  display: grid;
}

.admin-agent-grid article, .admin-credential-grid article {
  border: 1px solid var(--line);
  background: #ffffffd9;
  gap: 17px;
  padding: 18px;
  display: grid;
}

.admin-agent-card {
  min-height: 250px;
  padding: 22px !important;
}

.admin-agent-head {
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.admin-agent-head > span {
  color: #fff;
  background: linear-gradient(145deg,#931eb0,var(--brand));
  width: 46px;
  height: 46px;
  box-shadow: 0 10px 18px rgba(var(--brand-rgb),.16);
  border-radius: 15px;
  flex: none;
  place-items: center;
  font-size: .9rem;
  display: grid;
}

.admin-agent-head > div {
  flex: 1;
  gap: 4px;
  min-width: 0;
  padding-top: 2px;
  display: grid;
}

.admin-agent-head h2 {
  color: var(--ink-soft);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin: 0;
  font-size: .94rem;
  overflow: hidden;
}

.admin-agent-head p {
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin: 0;
  overflow: hidden;
}

.admin-agent-phone {
  direction: ltr;
  unicode-bidi: plaintext;
}

.admin-agent-head .admin-status {
  flex: none;
  margin-inline-start: auto;
}

.admin-agent-metrics {
  border-top: 1px solid #e9eef1;
  border-bottom: 1px solid #e9eef1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 14px 0;
  display: grid;
}

.admin-agent-metrics div {
  gap: 5px;
  min-width: 0;
  display: grid;
}

.admin-agent-metrics small {
  color: #9a8f9c;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.admin-agent-metrics strong {
  color: var(--ink-soft);
  white-space: nowrap;
  font-size: .9rem;
}

.admin-agent-grid footer, .admin-credential-grid footer {
  color: #807381;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.admin-agent-grid footer > span:last-child {
  gap: 14px;
  display: flex;
}

.admin-agent-grid footer button, .admin-credential-grid footer button {
  color: var(--brand);
  cursor: pointer;
  background: none;
  border: 0;
  padding: 0;
  font-weight: 500;
}

.admin-ticket-subject {
  color: var(--ink-soft);
  align-items: center;
  gap: 7px;
  display: flex;
}

.admin-ticket-subject b {
  background: #d88638;
  border-radius: 50%;
  width: 7px;
  height: 7px;
}

.admin-ticket-subject b.normal {
  background: var(--accent);
}

.admin-ticket-subject b.urgent {
  background: var(--danger);
}

.admin-credential-grid article {
  gap: 16px;
}

.admin-credential-grid header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.admin-credential-grid header > div {
  align-items: center;
  gap: 9px;
  display: flex;
}

.admin-ai-icon {
  width: 36px;
  height: 36px;
  color: var(--brand);
  background: var(--brand-soft);
  border-radius: 12px;
  place-items: center;
  font-size: 1.05rem;
  display: grid;
}

.admin-credential-grid small {
  color: #9a8f9c;
  font-size: .61rem;
}

.admin-credential-grid h2 {
  color: var(--ink-soft);
  margin: 2px 0 0;
  font-size: .75rem;
}

.admin-credential-secret {
  background: #f6f9fb;
  border-radius: 10px;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
  display: flex;
}

.admin-credential-secret > span {
  color: #3a5467;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .72rem;
}

.admin-quota {
  gap: 8px;
  display: grid;
}

.admin-quota > div {
  justify-content: space-between;
  gap: 7px;
  display: flex;
}

.admin-quota span {
  color: #938795;
  font-size: .64rem;
}

.admin-quota strong {
  color: var(--ink-soft);
  font-size: .65rem;
}

.admin-quota i {
  background: #e7ecef;
  border-radius: 99px;
  height: 7px;
  display: block;
  overflow: hidden;
}

.admin-quota b {
  border-radius: inherit;
  background: linear-gradient(90deg,var(--brand),#931eb0);
  height: 100%;
  display: block;
}

.admin-credential-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
}

.admin-credential-grid article {
  align-content: start;
  min-height: 390px;
}

.admin-credential-grid article.is-primary {
  border-color: rgba(var(--brand-rgb),.34);
  box-shadow: 0 18px 42px rgba(var(--brand-rgb),.1);
}

.admin-ai-badges {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.admin-ai-badges span {
  color: #786d7b;
  background: #f0f3f6;
  border-radius: 999px;
  padding: 5px 8px;
  font-size: .59rem;
  font-weight: 500;
}

.admin-ai-badges span.primary {
  color: var(--brand);
  background: var(--brand-soft);
}

.admin-ai-models {
  gap: 8px;
  margin: 0;
  display: grid;
}

.admin-ai-models div {
  grid-template-columns: minmax(85px, .7fr) minmax(0, 1.3fr);
  align-items: center;
  gap: 10px;
  display: grid;
}

.admin-ai-models dt {
  color: #938795;
  font-size: .62rem;
}

.admin-ai-models dd {
  color: var(--ink-soft);
  text-align: end;
  text-overflow: ellipsis;
  white-space: nowrap;
  direction: ltr;
  margin: 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .64rem;
  overflow: hidden;
}

.admin-ai-health {
  border: 1px solid #e7ecef;
  border-radius: 12px;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 5px 8px;
  padding: 10px;
  display: grid;
}

.admin-ai-health > span {
  color: #8a7d8d;
  align-items: center;
  gap: 6px;
  font-size: .62rem;
  display: flex;
}

.admin-ai-health i {
  background: #b2b9be;
  border-radius: 50%;
  width: 7px;
  height: 7px;
}

.admin-ai-health i.healthy {
  background: #39a078;
  box-shadow: 0 0 0 4px #39a0781a;
}

.admin-ai-health i.unhealthy {
  background: var(--danger);
  box-shadow: 0 0 0 4px #be40571a;
}

.admin-ai-health strong {
  color: var(--ink-soft);
  justify-self: end;
  font-size: .65rem;
}

.admin-ai-health small {
  text-overflow: ellipsis;
  white-space: nowrap;
  grid-column: 1 / -1;
  overflow: hidden;
}

.admin-credential-grid footer {
  border-top: 1px solid #e9eef1;
  margin-top: auto;
  padding-top: 13px;
}

.admin-credential-grid footer button:disabled {
  opacity: .48;
  cursor: not-allowed;
}

.ai-provider-warning {
  color: #8a5d20;
  background: #fff8ec;
  border: 1px solid #ca842640;
  border-radius: 12px;
  padding: 11px 13px;
  font-size: .7rem;
  line-height: 1.7;
}

.ai-credential-form input[dir="ltr"] {
  text-align: left;
}

.ai-credential-form .form-field-hint {
  background: #f6f9fb;
  border-radius: 10px;
  padding: 9px 11px;
}

.admin-ai-guide {
  border: 1px solid rgba(var(--brand-rgb),.17);
  box-shadow: var(--shadow-sm);
  background: linear-gradient(145deg, #fffffff5, #f4f9fcf0);
  border-radius: 22px;
  overflow: hidden;
}

.admin-ai-guide summary {
  cursor: pointer;
  align-items: center;
  gap: 12px;
  padding: 18px 20px;
  list-style: none;
  display: flex;
}

.admin-ai-guide summary::-webkit-details-marker {
  display: none;
}

.admin-ai-guide summary:after {
  content: "⌄";
  color: var(--brand);
  margin-inline-start: auto;
  font-size: 1.1rem;
  transition: transform .2s;
}

.admin-ai-guide[open] summary:after {
  transform: rotate(180deg);
}

.admin-ai-guide summary:focus-visible {
  outline: 3px solid rgba(var(--brand-rgb),.18);
  outline-offset: -3px;
}

.admin-ai-guide summary > span:nth-child(2) {
  gap: 4px;
  display: grid;
}

.admin-ai-guide summary strong {
  color: var(--ink-soft);
  font-size: .84rem;
}

.admin-ai-guide summary small {
  max-width: 900px;
  color: var(--muted);
  font-size: .67rem;
  font-weight: 400;
  line-height: 1.7;
}

.admin-ai-guide-icon {
  color: #fff;
  background: linear-gradient(145deg,#931eb0,var(--brand));
  width: 34px;
  height: 34px;
  box-shadow: 0 9px 18px rgba(var(--brand-rgb),.18);
  border-radius: 50%;
  flex: none;
  place-items: center;
  font-size: .82rem;
  font-weight: 500;
  display: grid;
}

.admin-ai-guide-body {
  border-top: 1px solid rgba(var(--brand-rgb),.1);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 16px;
  padding: 18px 20px 20px;
  display: grid;
}

.admin-ai-guide-body > section {
  border: 1px solid rgba(var(--brand-rgb),.1);
  background: #fffc;
  border-radius: 16px;
  min-width: 0;
  padding: 16px;
}

.admin-ai-guide-body h2 {
  color: var(--ink-soft);
  margin: 0 0 12px;
  font-size: .77rem;
}

.admin-ai-guide-body ol {
  color: #756978;
  gap: 8px;
  margin: 0;
  padding-inline-start: 20px;
  font-size: .68rem;
  line-height: 1.75;
  display: grid;
}

.admin-ai-economy {
  align-content: start;
  gap: 9px;
  display: grid;
}

.admin-ai-economy p {
  color: #756978;
  grid-template-columns: max-content 1fr;
  gap: 8px;
  margin: 0;
  font-size: .67rem;
  line-height: 1.75;
  display: grid;
}

.admin-ai-economy code {
  color: var(--brand);
  background: var(--brand-soft);
  direction: ltr;
  border-radius: 8px;
  align-self: start;
  padding: 3px 6px;
  font-size: .65rem;
}

.admin-ai-economy aside {
  border-inline-start: 3px solid var(--brand);
  color: #5b6b76;
  background: #f5f9fc;
  border-radius: 9px;
  margin-top: 3px;
  padding: 9px 11px;
  font-size: .65rem;
  line-height: 1.7;
}

.admin-ai-field-guide {
  grid-column: 1 / -1;
}

.admin-ai-field-guide dl {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  display: grid;
}

.admin-ai-field-guide dl > div {
  background: #f7f9fb;
  border-radius: 12px;
  align-content: start;
  gap: 5px;
  padding: 11px 12px;
  display: grid;
}

.admin-ai-field-guide dt {
  color: var(--brand);
  font-size: .66rem;
  font-weight: 500;
}

.admin-ai-field-guide dd {
  color: #817584;
  margin: 0;
  font-size: .62rem;
  line-height: 1.7;
}

.form-field-help {
  color: var(--muted);
  font-size: .61rem;
  font-weight: 400;
  line-height: 1.65;
}

.form-field-help-block {
  margin: 6px 3px 0;
  display: block;
}

.ai-provider-economy {
  border: 1px solid rgba(var(--brand-rgb),.14);
  color: #656f77;
  background: #f4f9fc;
  border-radius: 14px;
  gap: 6px;
  padding: 12px 14px;
  font-size: .65rem;
  line-height: 1.7;
  display: grid;
}

.ai-provider-economy strong {
  color: var(--brand);
  font-size: .68rem;
}

.ai-provider-economy span {
  display: block;
}

.ai-credential-form .operational-form-grid > label {
  align-content: start;
}

.admin-settings-card {
  border: 1px solid var(--line);
  width: min(100%, 820px);
  box-shadow: var(--shadow-sm);
  background: #ffffffe0;
  border-radius: 20px;
  padding: clamp(18px, 3vw, 28px);
}

.admin-settings-card label small {
  min-height: 2.8em;
  color: var(--muted);
  font-size: .64rem;
  font-weight: 400;
  line-height: 1.4;
}

.admin-settings-card .admin-checkbox {
  align-self: end;
}

.admin-settings-card footer {
  background: none;
}

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

.admin-license-policy-grid .admin-checkbox {
  line-height: 1.7;
  align-items: flex-start !important;
  min-height: 58px !important;
  padding-block: 12px !important;
}

.admin-modal-backdrop {
  z-index: 80;
  overscroll-behavior: contain;
  padding: var(--modal-gutter);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: #081e2d99;
  place-items: center;
  display: grid;
  position: fixed;
  inset: 0;
  overflow-y: auto;
}

.admin-modal-backdrop svg, .admin-issue-modal svg {
  flex-shrink: 0;
  max-width: 100%;
}

.admin-issue-modal {
  width: min(100%, 500px);
  max-height: calc(100dvh - (var(--modal-gutter) * 2));
  overscroll-behavior: contain;
  scrollbar-gutter: stable both-edges;
  border: 1px solid rgba(var(--brand-rgb),.12);
  box-shadow: var(--shadow-lg);
  background: linear-gradient(145deg, #fff, #f9fcfe);
  border-radius: 22px;
  gap: clamp(14px, 1.8vh, 20px);
  padding: clamp(18px, 2.5vw, 28px);
  display: grid;
  overflow: auto;
}

.admin-issue-modal-wide {
  width: min(100%, 720px);
}

.admin-issue-modal header {
  z-index: 1;
  background: linear-gradient(145deg, #fff, #f9fcfe);
  justify-content: space-between;
  align-items: flex-start;
  margin: -1px 0 0;
  padding: 1px 0 7px;
  display: flex;
  position: sticky;
  top: 0;
}

.admin-issue-modal h2 {
  color: var(--ink);
  margin: 0;
}

.admin-issue-modal header button {
  color: #6f7a83;
  cursor: pointer;
  background: #eff3f6;
  border: 0;
  border-radius: 9px;
  flex: none;
  place-items: center;
  width: 32px;
  height: 32px;
  font-size: 1.25rem;
  display: grid;
}

.admin-issue-modal > p {
  color: var(--muted);
  margin: 0;
  font-size: .78rem;
  line-height: 1.75;
}

.admin-issue-modal > form, .operational-form {
  min-width: 0;
  display: grid;
}

.admin-issue-modal label, .operational-form label {
  min-width: 0;
  color: var(--ink-soft);
  gap: 7px;
  font-size: .75rem;
  font-weight: 500;
  line-height: 1.5;
  display: grid;
}

.form-field-hint {
  color: var(--muted);
  margin: -4px 0 0;
  font-size: .68rem;
  line-height: 1.6;
}

.operational-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  display: grid;
}

.field-span-full {
  grid-column: 1 / -1;
}

.admin-issue-modal :is(input:not([type="checkbox"]), textarea, select), .operational-form :is(input:not([type="checkbox"]), textarea, select) {
  border: 1px solid var(--line);
  width: 100%;
  min-height: 46px;
  color: var(--ink);
  background: #ffffffeb;
  border-radius: 12px;
  outline: none;
  padding: 0 13px;
  transition: border-color .18s, box-shadow .18s, background .18s;
  box-shadow: inset 0 1px #ffffffbf;
}

.admin-issue-modal textarea, .operational-form textarea {
  resize: vertical;
  min-height: 94px;
  padding-top: 12px;
}

.admin-issue-modal :is(input:not([type="checkbox"]), textarea, select):focus, .operational-form :is(input:not([type="checkbox"]), textarea, select):focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 4px rgba(var(--brand-rgb),.1);
  background: #fff;
}

.admin-issue-modal :is(input:not([type="checkbox"]), textarea, select):read-only, .operational-form :is(input:not([type="checkbox"]), textarea, select):read-only {
  color: var(--ink-soft);
  background: var(--brand-surface);
}

.admin-issue-modal input[type="checkbox"], .operational-form input[type="checkbox"] {
  width: 17px;
  height: 17px;
  accent-color: var(--brand);
  margin: 0;
}

:is(.admin-issue-modal label:has(input[type="checkbox"]), .operational-form label:has(input[type="checkbox"])) {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 12px;
  align-items: center;
  gap: 9px;
  min-height: 46px;
  padding: 0 13px;
  display: flex;
}

.admin-issue-modal footer, .operational-form footer {
  background: linear-gradient(145deg, #fff, #f9fcfe);
  justify-content: flex-end;
  gap: 9px;
  margin: -1px 0 0;
  padding: 9px 0 1px;
  display: flex;
  position: sticky;
  bottom: -1px;
}

.admin-primary, .admin-secondary {
  cursor: pointer;
  border-radius: 12px;
  min-height: 42px;
  padding: 0 15px;
  font-size: .76rem;
  font-weight: 500;
  transition: transform .18s, box-shadow .18s, background .18s;
}

.admin-primary {
  color: #fff;
  border: 0;
}

.admin-primary:hover:not(:disabled) {
  box-shadow: 0 13px 25px rgba(var(--brand-rgb),.28);
  transform: translateY(-1px);
}

.admin-primary:disabled {
  opacity: .62;
  cursor: not-allowed;
}

.admin-primary[aria-busy="true"]:disabled {
  cursor: progress;
}

.admin-secondary {
  border: 1px solid var(--line);
}

.admin-secondary:hover {
  color: var(--brand);
  background: var(--brand-surface);
  border-color: #9bbad1;
}

@media (max-width: 1100px) {
  .admin-console {
    grid-template-columns: 228px minmax(0, 1fr);
  }

  .admin-main {
    padding-inline: 24px;
  }

  .admin-kpis, .admin-agent-grid, .admin-credential-grid, .admin-search-results {
    grid-template-columns: repeat(2, 1fr);
  }

  .admin-filter-bar {
    flex-wrap: wrap;
    align-items: stretch;
  }

  .admin-filter-title {
    min-width: 125px;
  }

  .admin-filter-controls {
    min-width: min(100%, 420px);
  }

  .admin-analytics-wide {
    grid-column: span 12;
  }

  .admin-status-chart, .admin-flow-chart, .admin-geo-chart, .admin-geo-chart.city {
    grid-column: span 6;
  }

  .admin-geo-chart.city .admin-geo-bars {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .admin-console {
    grid-template-columns: 1fr;
    width: 100%;
    min-width: 0;
    max-width: 100vw;
    overflow-x: hidden;
  }

  .admin-main {
    min-width: 0;
    max-width: 100%;
    padding: 14px 12px calc(env(safe-area-inset-bottom, 0px) + 28px);
    overflow-x: hidden;
  }

  .admin-sidebar {
    display: none !important;
  }

  .admin-sidebar-header {
    margin: 0 0 10px;
    padding: 0 2px 11px;
  }

  .admin-sidebar-header small, .admin-nav-label, .admin-sidebar-footer {
    display: none;
  }

  .admin-nav-groups {
    -webkit-overflow-scrolling: touch;
    gap: 8px;
    padding: 0 0 3px;
    display: flex;
    overflow-x: auto;
  }

  .admin-nav-group, .admin-nav {
    flex: none;
    gap: 7px;
    display: flex;
  }

  .admin-nav button {
    min-width: max-content;
    min-height: 40px;
    padding-inline: 12px;
  }

  .admin-nav button:before {
    width: 0;
  }

  .admin-nav button.active {
    box-shadow: none;
  }

  .admin-topbar {
    flex-direction: column;
    align-items: stretch;
    margin-bottom: 18px;
  }

  .admin-search {
    width: 100%;
  }

  .admin-header-actions {
    justify-content: space-between;
  }

  .admin-filter-bar {
    align-items: stretch;
    display: grid;
  }

  .admin-filter-title {
    min-width: 0;
  }

  .admin-filter-controls {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 0;
  }

  .admin-filter-reset {
    width: 100%;
  }

  .admin-overview-grid, .admin-search-results {
    grid-template-columns: 1fr;
  }

  .admin-table-card > header {
    padding-inline: 14px;
  }

  .admin-table th, .admin-table td {
    padding: 10px 12px;
    font-size: 12px;
  }

  .admin-table-scroll {
    -webkit-overflow-scrolling: touch;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    display: block;
    overflow-x: auto;
  }

  .admin-chart-summary {
    justify-content: flex-start;
  }

  .admin-analytics-grid > * {
    grid-column: 1 / -1 !important;
  }

  .admin-analytics-grid > .admin-chart-card {
    min-height: auto;
  }

  .admin-geo-chart.city .admin-geo-bars {
    grid-template-columns: 1fr;
  }

  .admin-modal-backdrop {
    padding: max(10px, env(safe-area-inset-top, 0px)) max(10px, env(safe-area-inset-right, 0px)) max(10px, env(safe-area-inset-bottom, 0px)) max(10px, env(safe-area-inset-left, 0px));
    align-items: safe center;
  }

  .admin-issue-modal, .admin-issue-modal-wide {
    width: 100% !important;
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 20px) !important;
    border-radius: 18px !important;
    padding: 16px 14px !important;
  }

  .admin-modal-backdrop svg, .admin-issue-modal svg {
    flex-shrink: 0;
    max-width: 100%;
  }

  .admin-issue-modal header button {
    border-radius: 10px;
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    font-size: 1.3rem;
  }

  .operational-form-grid, .admin-license-policy-grid {
    grid-template-columns: 1fr !important;
  }

  .admin-console :is(input, select, textarea), .admin-modal-backdrop :is(input, select, textarea) {
    font-size: 16px !important;
  }

  .admin-ticket-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .admin-ticket-reply {
    grid-template-columns: 1fr !important;
  }

  .admin-ticket-reply .admin-primary, .admin-ticket-conversation article {
    width: 100% !important;
  }

  .admin-row-action {
    background: rgba(var(--brand-rgb),.08);
    min-height: 36px;
    color: var(--brand);
    border-radius: 8px;
    justify-content: center;
    align-items: center;
    padding: 6px 12px;
    display: inline-flex;
  }
}

@media (max-height: 720px) and (min-width: 821px) {
  .admin-sidebar {
    padding-block: 15px 12px;
  }

  .admin-sidebar-header {
    margin-bottom: 12px;
    padding-bottom: 13px;
  }

  .admin-nav-groups {
    gap: 12px;
  }

  .admin-nav-group {
    gap: 5px;
  }

  .admin-nav {
    gap: 3px;
  }

  .admin-nav button {
    min-height: 40px;
  }

  .admin-sidebar-footer {
    padding: 9px;
  }

  .admin-person > span {
    width: 34px;
    height: 34px;
  }
}

@media (max-width: 560px) {
  .admin-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .admin-agent-grid, .admin-credential-grid, .operational-form-grid, .admin-filter-controls {
    grid-template-columns: 1fr;
  }

  .field-span-full {
    grid-column: auto;
  }

  .admin-chart-card {
    padding: 16px 14px 12px;
  }

  .admin-chart-card header {
    flex-direction: column;
    align-items: flex-start;
  }

  .admin-issue-button {
    flex: 1;
    justify-content: center;
  }

  .admin-page {
    gap: 16px;
    min-width: 0;
    max-width: 100%;
  }

  .admin-page-heading {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .admin-result-total {
    align-self: flex-start;
  }

  .admin-issue-modal {
    width: 100%;
    max-width: calc(100vw - 20px);
    max-height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 20px);
    border-radius: 18px;
  }

  .admin-demo-banner {
    flex-direction: column;
    align-items: flex-start;
  }

  .admin-donut-layout {
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .admin-donut-legend {
    width: 100%;
  }

  .admin-geo-chart.city .admin-geo-bars {
    grid-template-columns: 1fr;
  }

  .admin-geo-bars > div, .admin-geo-chart.city .admin-geo-bars > div {
    grid-template-columns: minmax(80px, 110px) minmax(55px, 1fr) 22px;
  }

  .admin-chart-summary {
    gap: 7px 10px;
  }

  .admin-license-policy-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .admin-ai-guide-body {
    grid-template-columns: 1fr;
  }

  .admin-ai-field-guide {
    grid-column: auto;
  }

  .admin-ai-field-guide dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .admin-ai-guide summary {
    align-items: flex-start;
    padding: 16px;
  }

  .admin-ai-guide-body {
    padding: 14px;
  }

  .admin-ai-field-guide dl, .admin-ai-economy p {
    grid-template-columns: 1fr;
  }

  .admin-ai-economy code {
    justify-self: start;
  }
}

@media (max-height: 720px) {
  .admin-issue-modal {
    gap: 12px;
  }

  .admin-issue-modal :is(input:not([type="checkbox"]), select), .operational-form :is(input:not([type="checkbox"]), select) {
    min-height: 42px;
  }

  .admin-issue-modal textarea, .operational-form textarea {
    min-height: 76px;
  }

  :is(.admin-issue-modal label:has(input[type="checkbox"]), .operational-form label:has(input[type="checkbox"])) {
    min-height: 42px;
  }

  .admin-primary, .admin-secondary {
    min-height: 40px;
  }
}

.admin-login-stage {
  align-items: center;
  gap: clamp(30px, 6vw, 90px);
}

.admin-login-visual {
  border-radius: var(--radius-xl);
  color: #fff;
  min-height: 540px;
  box-shadow: var(--shadow-lg);
  background: linear-gradient(145deg, #08151e, #102f44 55%, #0a1e2c);
  border: 1px solid #b8d9f21f;
  padding: clamp(32px, 5vw, 70px);
  position: relative;
  overflow: hidden;
}

.admin-login-visual:before {
  content: "";
  border: 1px solid #c7e3f82b;
  border-radius: 50%;
  width: 460px;
  height: 460px;
  position: absolute;
  top: 50%;
  left: 52%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 0 55px #c7e3f809, 0 0 0 110px #c7e3f806;
}

.admin-login-visual > span, .admin-login-visual h2, .admin-login-visual p, .admin-login-visual > div {
  z-index: 1;
  position: relative;
}

.admin-login-visual > span {
  color: #b6d5eb;
  letter-spacing: .09em;
  border: 1px solid #ffffff2b;
  border-radius: 99px;
  padding: 8px 11px;
  font-size: .66rem;
  display: inline-block;
}

.admin-login-visual h2 {
  max-width: 510px;
  margin: 26px 0 13px;
}

.admin-login-visual p {
  color: #bdcedb;
  max-width: 440px;
  font-size: .93rem;
  line-height: 1.9;
}

.admin-login-visual > div {
  color: #cbe1f1;
  align-items: center;
  gap: 9px;
  margin-top: 90px;
  font-size: .74rem;
  display: flex;
}

.admin-login-visual > div i {
  background: #69b4eb;
  border-radius: 50%;
  width: 6px;
  height: 6px;
  box-shadow: 0 0 0 4px #69b4eb24;
}

.admin-login-card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.admin-login-heading > span {
  border-radius: 99px;
  font-weight: 500;
  display: inline-block;
}

.admin-login-heading h1 {
  color: var(--ink);
}

.admin-login-heading p {
  color: var(--muted);
}

.admin-login-form label {
  color: var(--ink-soft);
  gap: 6px;
  font-size: .75rem;
  font-weight: 500;
  display: grid;
}

.admin-login-form input {
  border: 1px solid var(--line);
  min-height: 45px;
  color: var(--ink);
  background: #fff;
  border-radius: 11px;
  outline: 0;
  padding: 0 13px;
}

.admin-login-form input:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 4px rgba(var(--brand-rgb),.1);
}

.admin-login-submit {
  color: #fff;
  cursor: pointer;
  border: 0;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  display: flex;
}

.admin-login-submit:disabled {
  cursor: wait;
}

.admin-login-protected {
  line-height: 1.6;
}

.admin-login-protected svg {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.6px;
  flex: none;
  margin-top: 1px;
}

.admin-mfa-secret {
  color: #4b6476;
  background: #f7fafd;
  border: 1px dashed #a6becf;
  border-radius: 12px;
  gap: 6px;
  margin: -8px 0 18px;
  padding: 12px;
  display: grid;
}

.admin-mfa-secret small {
  color: #788792;
  font-size: .68rem;
}

.admin-mfa-secret code {
  overflow-wrap: anywhere;
  direction: ltr;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .78rem;
}

@media (max-width: 900px) {
  .admin-login-visual {
    display: none;
  }

  .admin-login-card {
    width: min(100%, 560px);
  }
}

.admin-login-page {
  --login-rgb: var(--brand-rgb);
  --login-secondary-rgb: var(--accent-rgb);
  isolation: isolate;
  height: 100dvh;
  min-height: 620px;
  display: grid;
  position: relative;
  overflow: hidden;
}

.admin-login-page--support {
  background: linear-gradient(145deg,#f8fafc 0%,#eff7fb 52%,var(--accent-soft) 100%);
}

.admin-login-page:before {
  z-index: -3;
  content: "";
  background-image: linear-gradient(#2e4a5f0b 1px, #0000 1px), linear-gradient(90deg, #2e4a5f0b 1px, #0000 1px);
  background-size: 46px 46px;
  position: absolute;
  inset: 0;
  -webkit-mask-image: radial-gradient(circle at 50% 47%, #000 0%, #0000 74%);
  mask-image: radial-gradient(circle at 50% 47%, #000 0%, #0000 74%);
}

.admin-login-atmosphere {
  z-index: -2;
  pointer-events: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.admin-login-atmosphere span {
  filter: blur(2px);
  border-radius: 50%;
  animation: 13s ease-in-out infinite alternate admin-atmosphere-float;
  display: block;
  position: absolute;
}

.admin-login-atmosphere span:first-child {
  top: -35%;
  background: radial-gradient(circle at 40% 42%,rgba(var(--login-rgb),.22),rgba(var(--login-rgb),.07) 48%,transparent 70%);
  width: clamp(390px, 42vw, 720px);
  height: clamp(390px, 42vw, 720px);
  inset-inline-end: -16%;
}

.admin-login-atmosphere span:nth-child(2) {
  bottom: -36%;
  background: radial-gradient(circle,rgba(var(--login-secondary-rgb),.18),rgba(var(--login-secondary-rgb),.055) 52%,transparent 72%);
  width: clamp(360px, 38vw, 650px);
  height: clamp(360px, 38vw, 650px);
  animation-duration: 16s;
  animation-delay: -5s;
  inset-inline-start: -14%;
}

.admin-login-atmosphere span:nth-child(3) {
  border: 1px solid rgba(var(--login-rgb),.08);
  width: clamp(240px, 27vw, 460px);
  height: clamp(240px, 27vw, 460px);
  box-shadow: 0 0 0 56px #ffffff21,0 0 0 112px rgba(var(--login-rgb),.025);
  background: #ffffff73;
  animation: 8s ease-in-out infinite admin-atmosphere-pulse;
  top: 32%;
  left: 50%;
  transform: translateX(-50%);
}

.admin-login-atmosphere > i {
  color: #0000;
  opacity: .035;
  -webkit-text-stroke: 2px rgb(var(--login-rgb));
  -webkit-user-select: none;
  user-select: none;
  font-family: -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: clamp(21rem, 40vw, 42rem);
  font-style: normal;
  font-weight: 500;
  line-height: .7;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -48%);
}

.admin-login-page .login-nav {
  z-index: 5;
  height: 48px;
  margin: 0 auto;
  position: relative;
}

.admin-login-page .language-switcher {
  background: #ffffffa8;
  border-color: #ffffffe0;
  height: 44px;
  padding-inline: 8px 12px;
  box-shadow: 0 10px 30px #192e3d12;
}

.admin-login-stage {
  grid-template-columns: minmax(0, 470px);
  place-content: center;
  width: min(100%, 1240px);
  height: 100%;
  min-height: 0;
  margin: 0 auto;
  display: grid;
  position: relative;
}

.admin-login-card {
  -webkit-backdrop-filter: blur(26px) saturate(1.15);
  backdrop-filter: blur(26px) saturate(1.15);
  border: 1px solid #ffffffeb;
  width: min(100%, 470px);
  padding: clamp(26px, 4.4vh, 40px) clamp(24px, 3.2vw, 38px) clamp(24px, 3.8vh, 34px);
  animation: .78s cubic-bezier(.16, 1, .3, 1) both admin-card-enter;
  position: relative;
  overflow: visible;
}

.admin-login-card:before {
  background: linear-gradient(90deg,transparent,rgba(var(--login-secondary-rgb),.62),rgba(var(--login-rgb),.82),transparent);
  border-radius: 0;
  height: 1px;
  inset: 0 28px auto;
}

.admin-login-card:after {
  z-index: -1;
  content: "";
  background: rgba(var(--login-rgb),.15);
  filter: blur(27px);
  border-radius: 32px;
  position: absolute;
  inset: 18px 28px -18px;
}

.admin-login-card-glow {
  z-index: -1;
  top: -70px;
  background: radial-gradient(circle,rgba(var(--login-rgb),.19),transparent 69%);
  pointer-events: none;
  border-radius: 50%;
  width: 190px;
  height: 190px;
  position: absolute;
  inset-inline-end: -54px;
}

.admin-login-heading {
  text-align: center;
  position: relative;
}

.admin-login-heading > span {
  min-height: 26px;
  color: rgb(var(--login-rgb));
  background: rgba(var(--login-rgb),.075);
  letter-spacing: .02em;
  padding: 5px 11px;
  font-size: .68rem;
}

.admin-login-heading h1 {
  margin: 13px 0 7px;
}

.admin-login-heading p {
  max-width: 340px;
  margin: 0 auto 22px;
  line-height: 1.8;
}

.admin-login-form {
  display: grid;
}

.admin-login-field {
  text-align: start;
  gap: 7px;
  display: grid;
}

.admin-login-field > label {
  color: #525c63;
  padding-inline: 7px;
  font-weight: 500;
}

.admin-login-control {
  background: #fff;
  border: 1px solid #5369792e;
  align-items: center;
  gap: 9px;
  min-height: 53px;
  padding: 0 14px;
  transition: border-color .22s, box-shadow .22s, background .22s, transform .22s;
  display: flex;
  position: relative;
}

.admin-login-control:hover {
  border-color: rgba(var(--login-rgb),.26);
  background: #fff;
}

.admin-login-control:focus-within {
  border-color: rgba(var(--login-rgb),.64);
  box-shadow: 0 0 0 5px rgba(var(--login-rgb),.09),0 12px 28px rgba(var(--login-rgb),.075);
  background: #fff;
  transform: translateY(-1px);
}

.admin-login-control > svg {
  fill: none;
  width: 19px;
  height: 19px;
  stroke: rgb(var(--login-rgb));
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.65px;
  opacity: .72;
  flex: none;
}

.admin-login-control > input {
  min-width: 0;
  min-height: 51px;
  color: var(--ink);
  outline: 0;
  flex: 1;
  padding: 0 2px;
  font-size: .83rem;
  box-shadow: none !important;
  background: none !important;
  border: 0 !important;
}

.admin-login-control > input:-webkit-autofill {
  caret-color: var(--ink);
  transition: background-color 9999s ease-out;
  -webkit-text-fill-color: var(--ink) !important;
  box-shadow: inset 0 0 0 1000px #fff !important;
}

.admin-login-control > input:-webkit-autofill:hover {
  caret-color: var(--ink);
  transition: background-color 9999s ease-out;
  -webkit-text-fill-color: var(--ink) !important;
  box-shadow: inset 0 0 0 1000px #fff !important;
}

.admin-login-control > input:-webkit-autofill:focus {
  caret-color: var(--ink);
  transition: background-color 9999s ease-out;
  -webkit-text-fill-color: var(--ink) !important;
  box-shadow: inset 0 0 0 1000px #fff !important;
}

.admin-login-control > input:autofill {
  color: var(--ink) !important;
  background: #fff !important;
  box-shadow: inset 0 0 0 1000px #fff !important;
}

.admin-login-control > input:disabled {
  opacity: .58;
}

.admin-password-toggle {
  width: 36px;
  height: 36px;
  color: var(--muted);
  background: rgba(var(--login-rgb),.055);
  cursor: pointer;
  border: 0;
  flex: none;
  place-items: center;
  transition: color .18s, background .18s, transform .18s;
  display: grid;
}

.admin-password-toggle:hover {
  color: rgb(var(--login-rgb));
  background: rgba(var(--login-rgb),.1);
  transform: scale(1.04);
}

.admin-password-toggle:focus-visible {
  outline: 3px solid rgba(var(--login-rgb),.18);
  outline-offset: 2px;
}

.admin-password-toggle svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.6px;
  width: 17px;
  height: 17px;
}

.admin-login-submit {
  border-radius: var(--radius-button);
  gap: 12px;
  min-height: 52px;
  font-size: .8rem;
  transition: transform .22s, box-shadow .22s, filter .22s;
  position: relative;
  overflow: hidden;
}

.admin-login-submit:before {
  content: "";
  background: linear-gradient(90deg, #0000, #ffffff4d, #0000);
  width: 38%;
  height: 180%;
  transition: left .55s;
  position: absolute;
  top: -40%;
  left: -52%;
  transform: skewX(-18deg);
}

.admin-login-submit:hover:not(:disabled) {
  filter: saturate(1.08);
  box-shadow: 0 19px 38px rgba(var(--login-rgb),.32);
  transform: translateY(-2px);
}

.admin-login-submit:hover:not(:disabled):before {
  left: 118%;
}

.admin-login-submit:active:not(:disabled) {
  box-shadow: 0 10px 22px rgba(var(--login-rgb),.22);
  transform: translateY(0);
}

.admin-login-submit:focus-visible {
  outline: 4px solid rgba(var(--login-rgb),.18);
  outline-offset: 3px;
}

.admin-login-submit:disabled {
  opacity: .65;
  filter: saturate(.7);
}

.admin-login-submit i {
  background: #ffffff24;
  border-radius: 50%;
  place-items: center;
  width: 25px;
  height: 25px;
  font-size: .78rem;
  font-style: normal;
  transition: transform .2s;
  display: grid;
}

.admin-login-submit:hover:not(:disabled) i {
  transform: translateX(-2px);
}

.admin-login-page[dir="ltr"] .admin-login-submit i {
  transform: scaleX(-1);
}

.admin-login-page[dir="ltr"] .admin-login-submit:hover:not(:disabled) i {
  transform: scaleX(-1)translateX(-2px);
}

.admin-login-protected {
  border: 1px solid rgba(var(--login-rgb),.09);
  color: var(--muted);
  background: rgba(var(--login-rgb),.035);
  text-align: start;
  border-radius: 18px;
  align-items: center;
  gap: 11px;
  margin: 18px 0 0;
  padding: 11px 13px;
  display: flex;
}

.admin-login-protected > span {
  width: 35px;
  height: 35px;
  color: rgb(var(--login-rgb));
  box-shadow: 0 5px 12px rgba(var(--login-rgb),.08);
  background: #ffffffc7;
  border-radius: 50%;
  flex: none;
  place-items: center;
  display: grid;
}

.admin-login-protected svg {
  stroke: currentColor;
  width: 16px;
  height: 16px;
  margin: 0;
}

.admin-login-protected > div {
  gap: 2px;
  display: grid;
}

.admin-login-protected strong {
  color: #4e5a62;
  font-size: .65rem;
}

.admin-login-protected p {
  margin: 0;
  line-height: 1.6;
}

.admin-login-page .form-error {
  text-align: center;
  background: #fcecf0b3;
  border: 1px solid #c43a5824;
  border-radius: 14px;
  padding: 9px 12px;
  font-size: .7rem;
}

@keyframes admin-card-enter {
  from {
    opacity: 0;
    transform: translateY(18px)scale(.975);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes admin-atmosphere-float {
  to {
    transform: translate3d(18px, 16px, 0)scale(1.04);
  }
}

@keyframes admin-atmosphere-pulse {
  50% {
    opacity: .68;
    transform: translateX(-50%)scale(1.06);
  }
}

@media (max-height: 800px) and (min-width: 701px) {
  .admin-login-page {
    min-height: 580px;
    padding-block: 12px 16px;
  }

  .admin-login-stage {
    padding: 2px 0 8px;
  }

  .admin-login-card {
    padding: 22px 34px 20px;
  }

  .admin-login-heading h1 {
    margin-top: 10px;
    font-size: 2rem;
  }

  .admin-login-heading p {
    margin-bottom: 14px;
  }

  .admin-login-form {
    gap: 11px;
  }

  .admin-login-control {
    min-height: 46px;
  }

  .admin-login-control > input {
    min-height: 44px;
  }

  .admin-login-submit {
    min-height: 47px;
    margin-top: 2px;
  }

  .admin-login-protected {
    margin-top: 12px;
    padding-block: 8px;
  }
}

@media (max-width: 900px) {
  .admin-login-page {
    height: auto;
    min-height: 100dvh;
    overflow: auto;
  }

  .admin-login-stage {
    grid-template-columns: minmax(0, 470px);
    height: auto;
    min-height: calc(100dvh - 72px);
    padding: 22px 0 36px;
  }

  .admin-login-card {
    margin: 0;
  }
}

@media (max-width: 520px) {
  .admin-login-page {
    grid-template-rows: 48px minmax(0, 1fr);
    padding: 14px 13px 22px;
  }

  .admin-login-page .login-nav {
    height: 44px;
  }

  .admin-login-page .language-switcher {
    height: 40px;
  }

  .admin-login-stage {
    min-height: calc(100dvh - 64px);
    padding: 18px 0 24px;
  }

  .admin-login-card {
    border-radius: 28px;
    padding: 25px 18px 22px;
  }

  .admin-login-card:after {
    inset: 18px 20px -12px;
  }

  .admin-login-heading h1 {
    font-size: 2rem;
  }

  .admin-login-heading p {
    margin-bottom: 18px;
  }

  .admin-login-control {
    min-height: 50px;
    padding-inline: 12px;
  }

  .admin-login-control > input {
    min-height: 48px;
  }

  .admin-login-submit {
    min-height: 50px;
  }

  .admin-login-protected {
    border-radius: 16px;
    padding: 10px 11px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .admin-login-card, .admin-login-atmosphere span {
    animation: none !important;
  }

  .admin-login-page :is(.admin-login-submit, .admin-login-control, .admin-password-toggle, .brand, .language-switcher) {
    transition: none !important;
  }
}

.clinic-workflow {
  z-index: 1000;
  height: 100dvh;
  color: var(--ink);
  background: radial-gradient(circle at 95% 0,rgba(var(--brand-rgb),.1),transparent 31rem),linear-gradient(145deg,#f8fafc,#f0f4f7 50%,#f6f9fa);
  grid-template-rows: auto auto minmax(0, 1fr);
  animation: .42s cubic-bezier(.16, 1, .3, 1) both clinic-workflow-enter;
  display: grid;
  position: fixed;
  inset: 0;
}

.clinic-workflow-header {
  border-bottom: 1px solid rgba(var(--brand-rgb),.08);
  -webkit-backdrop-filter: blur(22px);
  backdrop-filter: blur(22px);
  background: #ffffffd6;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  min-height: 66px;
  padding: 10px clamp(18px, 3vw, 44px);
  display: flex;
  box-shadow: 0 8px 28px #1f35460b;
}

.clinic-workflow-header > div {
  align-items: center;
  gap: 11px;
  display: flex;
}

.clinic-workflow-header > div > div {
  gap: 2px;
  display: grid;
}

.clinic-workflow-header small {
  color: var(--brand);
  font-size: .61rem;
  font-weight: 500;
}

.clinic-workflow-header strong {
  color: var(--ink-soft);
  font-size: .82rem;
}

.clinic-workflow-mark {
  color: #fff;
  background: linear-gradient(145deg,#3485c2,var(--brand-deep));
  width: 40px;
  height: 40px;
  box-shadow: 0 10px 22px rgba(var(--brand-rgb),.22);
  border-radius: 14px;
  place-items: center;
  font-size: .78rem;
  font-weight: 500;
  display: grid;
}

.clinic-workflow-header > button {
  border: 1px solid rgba(var(--brand-rgb),.11);
  color: #796b7c;
  width: 39px;
  height: 39px;
  box-shadow: var(--shadow-sm);
  cursor: pointer;
  background: #fff;
  place-items: center;
  font-size: 1.28rem;
  transition: all .18s;
  display: grid;
}

.clinic-workflow-header > button:hover {
  color: var(--brand);
  border-color: rgba(var(--brand-rgb),.25);
  transform: rotate(5deg);
}

.clinic-workflow-steps {
  box-sizing: border-box;
  border: 1px solid rgba(var(--brand-rgb),.1);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  background: linear-gradient(135deg, #fffffff2, #f5f9fce8);
  border-radius: 26px;
  gap: 0;
  width: min(100% - 32px, 980px);
  margin: 9px auto;
  padding: 8px 18px 7px;
  display: grid;
  position: relative;
  box-shadow: 0 10px 28px #21394a12, inset 0 1px #fff;
}

.clinic-workflow-steps > div {
  color: #958a98;
  justify-items: center;
  gap: 4px;
  min-width: 0;
  font-weight: 500;
  display: grid;
  position: relative;
}

.clinic-workflow-steps > div:not(:last-child):after {
  z-index: 0;
  top: 15px;
  content: "";
  background: linear-gradient(90deg, #dfe5ea, #d2dbe1);
  border-radius: 99px;
  width: calc(100% - 38px);
  height: 2px;
  position: absolute;
  inset-inline-start: calc(50% + 19px);
}

.clinic-workflow-steps i {
  z-index: 1;
  color: #948798;
  background: linear-gradient(145deg, #fff, #f7f9fb);
  border: 1px solid #cfd9e1;
  border-radius: 50%;
  place-items: center;
  width: 30px;
  height: 30px;
  font-size: .64rem;
  font-style: normal;
  transition: transform .24s cubic-bezier(.16, 1, .3, 1), box-shadow .24s;
  display: grid;
  position: relative;
  box-shadow: 0 4px 12px #1f354512, inset 0 1px #fff;
}

.clinic-workflow-steps span {
  z-index: 1;
  max-width: 100%;
  color: inherit;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .66rem;
  line-height: 1.35;
  position: relative;
  overflow: hidden;
}

.clinic-workflow-steps .active {
  color: var(--brand);
}

.clinic-workflow-steps .active i {
  color: #fff;
  border-color: rgba(var(--brand-rgb),.65);
  background: linear-gradient(145deg,#267cbd,var(--brand-deep));
  box-shadow: 0 0 0 5px rgba(var(--brand-rgb),.09),0 9px 19px rgba(var(--brand-rgb),.22);
  transform: translateY(-1px)scale(1.06);
}

.clinic-workflow-steps .active span {
  background: rgba(var(--brand-rgb),.07);
  border-radius: 99px;
  padding: 2px 9px;
}

.clinic-workflow-steps .done {
  color: #22785f;
}

.clinic-workflow-steps .done i {
  color: #fff;
  background: linear-gradient(145deg, #35a181, #22775f);
  border-color: #2a8b70;
  box-shadow: 0 6px 15px #237e632b;
}

.clinic-workflow-steps .done:after {
  background: linear-gradient(90deg, #2f9577, #8dcdb9) !important;
}

.clinic-workflow-body {
  overscroll-behavior: contain;
  scrollbar-color: rgba(var(--brand-rgb),.42) transparent;
  scrollbar-width: thin;
  min-height: 0;
  padding: clamp(20px, 3vw, 38px) clamp(18px, 4vw, 60px) 44px;
  overflow: auto;
}

.clinic-workflow-body::-webkit-scrollbar {
  width: 8px;
}

.clinic-workflow-body::-webkit-scrollbar-thumb {
  background: linear-gradient(#529ad1,var(--brand)) padding-box;
  border: 2px solid #0000;
  border-radius: 99px;
}

.clinic-intake-form, .clinic-camera-setup, .clinic-capture-stage, .clinic-workflow-complete {
  width: min(1120px, 100%);
  margin: 0 auto;
  animation: .46s cubic-bezier(.16, 1, .3, 1) both clinic-stage-enter;
}

.clinic-section-heading {
  margin: 0 0 22px;
}

.clinic-section-heading > span, .clinic-capture-heading > div > span {
  min-height: 25px;
  color: var(--brand);
  background: var(--brand-soft);
  border-radius: 99px;
  align-items: center;
  padding: 4px 10px;
  font-size: .62rem;
  font-weight: 500;
  display: inline-flex;
}

.clinic-section-heading h1, .clinic-capture-heading h1 {
  color: var(--ink);
  letter-spacing: -.035em;
  margin: 10px 0 7px;
  font-size: clamp(1.48rem, 2.4vw, 2.05rem);
}

.clinic-section-heading p, .clinic-capture-heading p {
  max-width: 780px;
  color: var(--muted);
  margin: 0;
  font-size: .72rem;
  line-height: 1.9;
}

.clinic-form-section {
  border: 1px solid rgba(var(--brand-rgb),.09);
  background: #ffffffe6;
  border-radius: 24px;
  grid-template-columns: minmax(180px, .32fr) minmax(0, 1fr);
  gap: clamp(18px, 3vw, 42px);
  padding: clamp(18px, 2.6vw, 28px);
  display: grid;
  box-shadow: 0 14px 36px #1f37480e;
}

.clinic-form-section + .clinic-form-section {
  margin-top: 14px;
}

.clinic-form-section > header h2 {
  color: var(--ink-soft);
  margin: 0;
  font-size: .88rem;
}

.clinic-form-section > header p {
  color: var(--muted);
  margin: 7px 0 0;
  font-size: .63rem;
  line-height: 1.75;
}

.clinic-form-section > div {
  gap: 18px;
  min-width: 0;
  display: grid;
}

.clinic-option-group {
  border: 0;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.clinic-option-group legend {
  color: var(--ink-soft);
  margin-bottom: 9px;
  font-size: .7rem;
  font-weight: 500;
}

.clinic-option-group > div {
  flex-wrap: wrap;
  gap: 7px;
  display: flex;
}

.clinic-option-group label {
  cursor: pointer;
  align-items: center;
  transition: all .16s;
  color: #776b79 !important;
  background: #fff !important;
  border: 1px solid #dce3e9 !important;
  border-radius: 99px !important;
  gap: 6px !important;
  min-height: 33px !important;
  padding: 5px 11px !important;
  font-size: .62rem !important;
  font-weight: 500 !important;
  display: flex !important;
}

.clinic-option-group label:hover {
  color: var(--brand) !important;
  border-color: #9bbad2 !important;
}

.clinic-option-group label.selected {
  box-shadow: 0 5px 13px rgba(var(--brand-rgb),.07);
  color: var(--brand) !important;
  border-color: rgba(var(--brand-rgb),.32) !important;
  background: var(--brand-soft) !important;
}

.clinic-option-group input {
  opacity: 0;
  position: absolute;
  width: 1px !important;
  height: 1px !important;
}

.clinic-inline-check, .clinic-consent, .clinic-light-confirm {
  align-items: flex-start !important;
  gap: 10px !important;
  display: flex !important;
}

.clinic-inline-check {
  background: none !important;
  border: 0 !important;
  min-height: auto !important;
  padding: 0 3px !important;
  font-size: .67rem !important;
}

.clinic-inline-check input, .clinic-consent input, .clinic-light-confirm input {
  accent-color: var(--brand);
  flex: none;
  width: 18px !important;
  height: 18px !important;
  margin-top: 2px !important;
}

.clinic-consent {
  border: 1px solid rgba(var(--brand-rgb),.13) !important;
  background: linear-gradient(145deg, #fff, #f5f9fc) !important;
  border-radius: 20px !important;
  min-height: auto !important;
  padding: 15px 17px !important;
}

.clinic-consent > span, .clinic-light-confirm > span {
  gap: 4px;
  display: grid;
}

.clinic-consent strong, .clinic-light-confirm strong {
  color: var(--ink-soft);
  font-size: .7rem;
}

.clinic-consent small, .clinic-light-confirm small {
  color: var(--muted);
  font-size: .61rem;
  font-weight: 400;
  line-height: 1.7;
}

.clinic-intake-form > footer {
  z-index: 3;
  border: 1px solid rgba(var(--brand-rgb),.08);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  border-radius: 20px;
  box-shadow: 0 -8px 28px #1331460d;
  background: #ffffffeb !important;
  padding: 10px 12px !important;
}

.clinic-setup-grid {
  display: grid;
}

.clinic-setup-grid article {
  border: 1px solid rgba(var(--brand-rgb),.09);
  display: grid;
}

.clinic-setup-grid i {
  color: #fff;
  background: linear-gradient(145deg,#3383bf,var(--brand));
  border-radius: 50%;
  place-items: center;
  font-style: normal;
  font-weight: 500;
  display: grid;
}

.clinic-setup-grid p {
  margin: 0;
}

.clinic-clinical-note {
  margin-top: 14px;
}

.clinic-clinical-note p {
  margin: 0;
}

.clinic-setup-actions {
  margin-top: 20px;
}

.clinic-capture-heading {
  justify-content: space-between;
  margin-bottom: 16px;
  display: flex;
}

.clinic-light-badge {
  border: 1px solid rgba(var(--brand-rgb),.1);
  min-width: 175px;
  box-shadow: var(--shadow-sm);
  background: #fff;
  border-radius: 20px;
  align-items: center;
  gap: 10px;
  padding: 11px 14px;
  display: flex;
}

.clinic-light-badge > i {
  background: var(--light-color);
  width: 35px;
  height: 35px;
  box-shadow: 0 0 0 1px #dfe6eb,0 0 20px var(--light-color);
  border: 6px solid #fff;
  border-radius: 50%;
  flex: none;
}

.clinic-light-badge > span {
  gap: 2px;
  display: grid;
}

.clinic-light-badge small {
  color: var(--muted);
  font-size: .57rem;
}

.clinic-light-badge strong {
  color: var(--ink-soft);
  font-size: .7rem;
}

.clinic-capture-layout {
  display: grid;
  overflow: hidden;
}

.clinic-capture-guide {
  display: grid;
}

.clinic-scalp-pulse {
  transform-origin: center;
  transform-box: fill-box;
  animation: 1.9s ease-in-out infinite clinic-map-pulse;
}

.clinic-position-tips {
  background: #eef5fa;
  display: grid;
}

.clinic-position-tips ul {
  margin: 0;
  padding-inline-start: 17px;
}

.clinic-step-dots > span {
  color: #978b99;
  background: #fff;
  border: 1px solid #d5dde3;
  border-radius: 50%;
  place-items: center;
  font-weight: 500;
  display: grid;
}

.clinic-step-dots .active {
  color: #fff;
  border-color: var(--brand);
  background: var(--brand);
}

.clinic-step-dots .done {
  color: #fff;
  background: #26836a;
  border-color: #26836a;
}

.clinic-camera-panel {
  gap: 12px;
  min-width: 0;
}

.clinic-live-frame {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.clinic-live-frame video, .clinic-live-frame > img {
  width: 100%;
  height: 100%;
}

.clinic-live-frame > img {
  z-index: 3;
  background: #121517;
  animation: .2s both clinic-freeze;
  position: absolute;
  inset: 0;
}

.clinic-frame-target {
  z-index: 2;
  aspect-ratio: 1;
  pointer-events: none;
  border: 1px solid #ffffff47;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 0 999px #080d1021;
}

.clinic-frame-target span {
  border-style: solid;
  border-color: #fff;
  width: 25px;
  height: 25px;
  position: absolute;
}

.clinic-frame-target span:first-child {
  border-width: 2px 0 0 2px;
  top: 12%;
  left: 12%;
}

.clinic-frame-target span:nth-child(2) {
  border-width: 2px 2px 0 0;
  top: 12%;
  right: 12%;
}

.clinic-frame-target span:nth-child(3) {
  border-width: 0 2px 2px 0;
  bottom: 12%;
  right: 12%;
}

.clinic-frame-target span:nth-child(4) {
  border-width: 0 0 2px 2px;
  bottom: 12%;
  left: 12%;
}

.clinic-live-label {
  z-index: 4;
  top: 11px;
  color: #fff;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: #0a10148f;
  border-radius: 99px;
  align-items: center;
  gap: 6px;
  min-height: 25px;
  padding: 4px 9px;
  font-size: .55rem;
  display: flex;
  position: absolute;
  inset-inline-start: 11px;
}

.clinic-live-label i {
  background: #e08793;
  border-radius: 50%;
  width: 6px;
  height: 6px;
  box-shadow: 0 0 0 4px #e0879321;
}

.clinic-live-label.is-live i {
  background: #5de3a6;
  box-shadow: 0 0 0 4px #5de3a621;
}

.clinic-camera-empty {
  z-index: 1;
  color: #c9d3db;
  place-content: center;
  justify-items: center;
  gap: 9px;
  display: grid;
  position: absolute;
  inset: 0;
}

.clinic-camera-empty i {
  font-size: 1.6rem;
  font-style: normal;
}

.clinic-camera-empty strong {
  font-size: .7rem;
}

.clinic-camera-empty button {
  color: #fff;
  cursor: pointer;
  background: #ffffff17;
  border: 1px solid #ffffff29;
  min-height: 34px;
  padding: 0 13px;
  font-size: .6rem;
}

.clinic-camera-select {
  align-items: center;
}

.clinic-camera-select select {
  border: 1px solid var(--line);
  padding: 0 12px;
}

.clinic-camera-message {
  color: #a23e50;
  background: #fff2f4;
  border: 1px solid #be495b24;
}

.clinic-hid-learning {
  border: 1px solid rgba(var(--brand-rgb),.15);
  color: var(--brand);
  background: var(--brand-soft);
  animation: 1.7s ease-in-out infinite clinic-hid-breathe;
}

.clinic-shutter-area {
  justify-items: center;
  gap: 10px;
  padding: 2px 0 0;
  display: grid;
}

.clinic-shutter {
  color: #fff;
  cursor: pointer;
  border: 0;
  grid-template-rows: auto auto;
  align-items: center;
  display: grid;
}

.clinic-shutter > i {
  border: 5px solid #ffffffe0;
  border-radius: 50%;
  grid-row: 1 / 3;
  display: block;
  box-shadow: inset 0 0 0 2px #ffffff4d;
}

.clinic-shutter > span {
  align-self: end;
}

.clinic-shutter > small {
  align-self: start;
}

.clinic-shutter:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.clinic-shutter-area > div {
  flex-wrap: wrap;
  justify-content: center;
  gap: 7px;
  display: flex;
}

.clinic-shutter-area > div > button {
  color: #66717a;
  cursor: pointer;
  background: #fff;
  border: 1px solid #d5dee5;
  min-height: 33px;
  padding: 0 11px;
  font-size: .57rem;
}

.clinic-capture-review {
  display: grid;
}

.clinic-quality {
  color: #176d56;
  background: #eefaf6;
  border: 1px solid #bde4d7;
  gap: 3px;
  display: grid;
}

.clinic-quality.warning {
  color: #8d6123;
  background: #fffaf0;
  border-color: #ead8b9;
}

.clinic-quality span, .clinic-quality small {
  line-height: 1.6;
}

.clinic-light-confirm {
  border: 1px solid rgba(var(--brand-rgb),.11) !important;
}

.clinic-capture-review > div:last-child {
  justify-content: flex-end;
}

.clinic-capture-footer {
  color: var(--muted);
  box-shadow: var(--shadow-sm);
  background: #ffffffd9;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 13px;
  font-size: .64rem;
  display: flex;
}

.clinic-workflow-complete {
  text-align: center;
  justify-items: center;
}

.clinic-complete-mark {
  color: #fff;
  border-radius: 50%;
  place-items: center;
  font-size: 1.4rem;
  display: grid;
}

.clinic-workflow-complete > span {
  color: #218166;
  font-size: .7rem;
  font-weight: 500;
}

.clinic-workflow-complete p {
  max-width: 600px;
  color: var(--muted);
  margin: 0;
}

.clinic-workflow-complete > div:last-child:not(.clinic-complete-shell) {
  gap: 9px;
  margin-top: 22px;
  display: flex;
}

@keyframes clinic-workflow-enter {
  from {
    opacity: 0;
    transform: scale(.992);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes clinic-stage-enter {
  from {
    opacity: 0;
    transform: translateY(12px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes clinic-map-pulse {
  50% {
    opacity: .52;
    transform: scale(1.22);
  }
}

@keyframes clinic-freeze {
  from {
    opacity: .2;
    transform: scale(1.015);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes clinic-hid-breathe {
  50% {
    border-color: rgba(var(--brand-rgb),.34);
    box-shadow: 0 0 0 5px rgba(var(--brand-rgb),.04);
  }
}

@media (max-width: 900px) {
  .clinic-form-section {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .clinic-capture-guide {
    border-inline-end: 0;
    border-bottom: 1px solid #e5ebef;
    grid-template-columns: 180px minmax(0, 1fr);
    align-items: center;
  }

  .clinic-step-dots {
    grid-column: 1 / -1;
  }

  .clinic-scalp-map {
    width: 175px;
  }

  .clinic-live-frame {
    max-height: 52vh;
  }
}

@media (max-width: 640px) {
  .clinic-workflow-header {
    min-height: 58px;
    padding: 8px 13px;
  }

  .clinic-workflow-header small {
    display: none;
  }

  .clinic-workflow-header strong {
    font-size: .7rem;
  }

  .clinic-workflow-steps {
    border-radius: 21px;
    width: calc(100% - 20px);
    margin-block: 6px;
    padding: 7px 10px;
  }

  .clinic-workflow-steps > div {
    gap: 0;
  }

  .clinic-workflow-steps > div span {
    width: 1px;
    height: 1px;
    position: absolute;
    overflow: hidden;
  }

  .clinic-workflow-steps > div:not(:last-child):after {
    top: 50%;
    width: calc(100% - 34px);
    inset-inline-start: calc(50% + 17px);
  }

  .clinic-workflow-steps i {
    width: 28px;
    height: 28px;
  }

  .clinic-workflow-body {
    padding: 16px 12px 34px;
  }

  .clinic-form-section {
    border-radius: 20px;
    padding: 16px 13px;
  }

  .clinic-capture-heading {
    gap: 13px;
    display: grid;
  }

  .clinic-light-badge {
    width: 100%;
    min-width: 0;
  }

  .clinic-scalp-map {
    width: 160px;
  }

  .clinic-camera-panel {
    padding: 12px;
  }

  .clinic-camera-select {
    grid-template-columns: 1fr;
  }

  .clinic-capture-footer {
    flex-direction: column;
    align-items: stretch;
  }

  .clinic-capture-footer button {
    width: 100%;
  }

  .clinic-workflow-complete > div:last-child:not(.clinic-complete-shell), .clinic-setup-actions {
    flex-direction: column-reverse;
    width: 100%;
  }

  .clinic-workflow-complete button, .clinic-setup-actions button {
    width: 100%;
  }
}

@media (max-height: 760px) and (min-width: 901px) {
  .clinic-workflow-header {
    min-height: 56px;
    padding-block: 6px;
  }

  .clinic-workflow-steps {
    padding-block: 7px;
  }

  .clinic-workflow-body {
    padding-top: 18px;
  }

  .clinic-scalp-map {
    width: 155px;
  }

  .clinic-capture-guide, .clinic-camera-panel {
    padding: 14px 18px;
  }

  .clinic-live-frame {
    max-height: 49vh;
  }

  .clinic-section-heading {
    margin-bottom: 15px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .clinic-workflow, .clinic-intake-form, .clinic-camera-setup, .clinic-capture-stage, .clinic-workflow-complete, .clinic-scalp-pulse, .clinic-live-frame > img {
    animation: none !important;
  }

  .clinic-workflow * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

.clinic-workflow.is-capture .clinic-workflow-header {
  min-height: 54px;
  padding-block: 6px;
}

.clinic-workflow.is-capture .clinic-workflow-steps {
  margin-block: 6px;
  padding-block: 7px 6px;
}

.clinic-workflow-body.is-capture, .clinic-workflow-body.is-complete {
  padding: 10px clamp(12px, 2.2vw, 32px) 12px;
  overflow: hidden;
}

.clinic-workflow-body.is-complete {
  background: radial-gradient(circle at 10% 10%,rgba(var(--brand-rgb),.08),transparent 25rem),
    radial-gradient(circle at 90% 88%,#2d997814,transparent 22rem);
}

.clinic-capture-stage {
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 8px;
  width: min(1480px, 100%);
  height: 100%;
  min-height: 0;
  display: grid;
}

.clinic-capture-stage.is-transitioning .clinic-guide-visual, .clinic-capture-stage.is-transitioning .clinic-guide-heading {
  opacity: 0;
  transform: translateX(18px)scale(.975);
}

.clinic-capture-heading {
  align-items: center;
  gap: 16px;
  min-height: 0;
  margin: 0;
  transition: opacity .2s, transform .2s;
  animation: .42s cubic-bezier(.16, 1, .3, 1) both clinic-capture-heading-in;
}

.clinic-capture-heading > div:first-child {
  min-width: 0;
}

.clinic-capture-heading > div > span {
  min-height: 22px;
  padding: 3px 9px;
  font-size: .57rem;
}

.clinic-capture-heading h1 {
  margin: 5px 0 2px;
  font-size: clamp(1.04rem, 1.7vw, 1.42rem);
}

.clinic-capture-heading p {
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  max-width: 850px;
  font-size: .64rem;
  line-height: 1.55;
  display: -webkit-box;
  overflow: hidden;
}

.clinic-capture-heading > div {
  transition: opacity .2s, transform .2s;
}

.clinic-light-instruction {
  -webkit-backdrop-filter: blur(28px) saturate(1.45);
  backdrop-filter: blur(28px) saturate(1.45);
  background: linear-gradient(135deg, #ffffffd1, #f1f7fc9e);
  border: 1px solid #ffffffc7;
  border-radius: 22px;
  grid-template-columns: 54px minmax(220px, 1fr) 102px;
  align-items: center;
  gap: 12px;
  width: min(620px, 100% - 92px);
  min-width: 0;
  padding: 9px 12px;
  display: grid;
  position: relative;
  overflow: hidden;
  box-shadow: 0 16px 42px #0e161c33, inset 0 1px #fffffffa;
}

.clinic-light-instruction:after {
  top: -80px;
  content: "";
  background: var(--light-color);
  filter: blur(16px);
  opacity: .42;
  pointer-events: none;
  border-radius: 50%;
  width: 130px;
  height: 130px;
  position: absolute;
  inset-inline-end: -38px;
}

.clinic-light-orb {
  z-index: 1;
  background: linear-gradient(145deg,var(--brand-deep),color-mix(in srgb,var(--brand) 78%,var(--light-color)));
  border: 1px solid #ffffffb8;
  border-radius: 18px;
  place-items: center;
  width: 50px;
  height: 50px;
  display: grid;
  position: relative;
  box-shadow: 0 11px 25px #19405d33, inset 0 1px #ffffff38;
}

.clinic-light-orb:before {
  border: 1px solid color-mix(in srgb,var(--light-color) 55%,#fff);
  content: "";
  box-shadow: 0 0 18px color-mix(in srgb,var(--light-color) 78%,transparent);
  border-radius: 50%;
  position: absolute;
  inset: 8px;
}

.clinic-light-orb > i {
  background: radial-gradient(circle at 35% 30%,#fff 0 12%,var(--light-color) 44%,color-mix(in srgb,var(--light-color) 76%,#7c98ab));
  width: 27px;
  height: 27px;
  box-shadow: 0 0 0 2px #fff3,0 0 22px var(--light-color);
  border: 4px solid #fffffff5;
  border-radius: 50%;
  position: relative;
}

.clinic-light-orb > b {
  color: #fff;
  background: linear-gradient(145deg,#3180bd,var(--brand-deep));
  width: 20px;
  height: 20px;
  box-shadow: 0 5px 12px rgba(var(--brand-rgb),.3);
  border: 3px solid #fff;
  border-radius: 50%;
  place-items: center;
  font-size: .55rem;
  display: grid;
  position: absolute;
  bottom: -5px;
  right: -5px;
}

.clinic-light-copy {
  z-index: 1;
  gap: 2px;
  min-width: 0;
  position: relative;
  min-height: 0 !important;
  color: inherit !important;
  background: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  display: grid !important;
}

.clinic-light-copy small {
  letter-spacing: .015em;
  font-weight: 500;
}

.clinic-light-copy strong {
  color: var(--ink);
  font-size: 1rem;
  line-height: 1.25;
}

.clinic-light-copy em {
  white-space: normal;
  font-style: normal;
  line-height: 1.4;
  overflow: visible;
}

.clinic-light-sequence {
  z-index: 1;
  direction: ltr;
  grid-template-columns: 22px 1fr 22px 1fr 22px;
  align-items: center;
  gap: 3px;
  display: grid;
  position: relative;
}

.clinic-light-sequence > b {
  color: #fff;
  background: linear-gradient(145deg,#2b79b4,var(--brand));
  width: 22px;
  height: 22px;
  box-shadow: 0 4px 10px rgba(var(--brand-rgb),.18);
  border-radius: 50%;
  place-items: center;
  font-size: .62rem;
  display: grid;
}

.clinic-light-sequence > i {
  background: rgba(var(--brand-rgb),.22);
  border-radius: 99px;
  height: 2px;
}

.clinic-light-sequence > small {
  color: #555f66;
  text-align: center;
  white-space: nowrap;
  grid-column: 1 / -1;
  margin-top: 3px;
  font-size: .6rem;
  font-weight: 500;
}

.clinic-capture-layout {
  border: 1px solid rgba(var(--brand-rgb),.09);
  background: #ffffffb3;
  border-radius: 30px;
  grid-template-columns: minmax(320px, .34fr) minmax(0, 1fr);
  height: 100%;
  min-height: 0;
  transition: opacity .2s, transform .2s;
  animation: .54s cubic-bezier(.16, 1, .3, 1) both clinic-capture-card-in;
  box-shadow: 0 28px 70px #1a2e3d1f;
}

.clinic-capture-guide {
  border-inline-end: 1px solid rgba(var(--brand-rgb),.08);
  background: linear-gradient(160deg, #fffffffa, #eef5faf0);
  grid-template-rows: auto minmax(0, 1fr) auto auto;
  align-content: stretch;
  min-height: 0;
  padding: 14px;
  overflow: hidden;
}

.clinic-guide-heading {
  gap: 3px;
  min-width: 0;
  padding: 0 3px;
  transition: opacity .2s, transform .2s;
  display: grid;
}

.clinic-guide-heading > span {
  color: var(--brand);
  background: var(--brand-soft);
  border-radius: 99px;
  justify-self: start;
  padding: 3px 9px;
  font-weight: 500;
}

.clinic-guide-heading h1 {
  color: var(--ink);
  margin: 3px 0 0;
  font-size: clamp(1rem, 1.45vw, 1.3rem);
  line-height: 1.35;
}

.clinic-guide-heading p {
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin: 0;
  display: -webkit-box;
  overflow: hidden;
}

.clinic-guide-visual {
  border: 1px solid rgba(var(--brand-rgb),.08);
  background: radial-gradient(circle at 50% 31%, #fff 0, #f6fafc 55%, #e1eaf1 100%);
  border-radius: 23px;
  place-items: center;
  min-height: 0;
  display: grid;
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 1px #fff, 0 15px 32px #223b4e12;
}

.clinic-photo-guide {
  aspect-ratio: 1;
  border: 1px solid rgba(var(--brand-rgb),.1);
  background: #fff;
  border-radius: 20px;
  width: min(100%, 420px);
  margin: 0;
  animation: .58s cubic-bezier(.16, 1, .3, 1) both clinic-photo-enter;
  position: relative;
  overflow: hidden;
  box-shadow: 0 16px 34px #20384a1c;
}

.clinic-photo-guide img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
  display: block;
}

.clinic-photo-guide.is-mirrored img {
  transform: scaleX(-1);
}

.clinic-photo-guide figcaption {
  clip: rect(0 0 0 0);
  white-space: nowrap;
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
}

.clinic-photo-target {
  z-index: 3;
  width: 64px;
  height: 64px;
  top: var(--guide-y);
  left: var(--guide-x);
  filter: drop-shadow(0 10px 18px #0c324e3d);
  pointer-events: none;
  border-radius: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
}

.clinic-photo-target:before {
  content: "";
  background: radial-gradient(circle,#ffffff80 0,#57a9e73d 42%,rgba(var(--brand-rgb),.08) 64%,transparent 72%);
  box-shadow: 0 0 0 1px rgba(var(--brand-rgb),.18),0 0 28px #2e83c45c,inset 0 0 14px #ffffff94;
  border: 1.5px solid #fffffff0;
  border-radius: 50%;
  animation: 1.9s cubic-bezier(.16, 1, .3, 1) infinite clinic-target-ring;
  position: absolute;
  inset: 3px;
}

.clinic-photo-target:after {
  content: "";
  background: rgba(var(--brand-rgb),.12);
  box-shadow: 0 0 0 1px rgba(var(--brand-rgb),.42),inset 0 1px 4px #ffffffd9;
  -webkit-backdrop-filter: blur(3px) saturate(1.25);
  backdrop-filter: blur(3px) saturate(1.25);
  border: 1.5px solid #fffffff0;
  border-radius: 50%;
  position: absolute;
  inset: 14px;
}

.clinic-photo-target > i {
  z-index: 2;
  background: linear-gradient(135deg,#398ccb,var(--brand) 62%,#0c4670);
  width: 14px;
  height: 14px;
  box-shadow: 0 4px 12px #143a565c,0 0 0 2px rgba(var(--brand-rgb),.14);
  border: 3px solid #fff;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.clinic-photo-target > i:after {
  content: "";
  background: #fff;
  border-radius: 50%;
  width: 4px;
  height: 4px;
  position: absolute;
  inset: 2px auto auto 2px;
  box-shadow: 0 0 8px #fffffff5;
}

.clinic-photo-target > b {
  z-index: 1;
  border-radius: 50%;
  width: 58px;
  height: 58px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.clinic-photo-target > b:before, .clinic-photo-target > b:after {
  content: "";
  border-radius: 99px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.clinic-photo-target > b:before {
  background: linear-gradient(90deg,transparent 0,transparent 7%,#fffffff2 7%,rgba(var(--brand-rgb),.9) 27%,transparent 27%,transparent 73%,rgba(var(--brand-rgb),.9) 73%,#fffffff2 93%,transparent 93%);
  width: 58px;
  height: 2px;
}

.clinic-photo-target > b:after {
  background: linear-gradient(180deg,transparent 0,transparent 7%,#fffffff2 7%,rgba(var(--brand-rgb),.9) 27%,transparent 27%,transparent 73%,rgba(var(--brand-rgb),.9) 73%,#fffffff2 93%,transparent 93%);
  width: 2px;
  height: 58px;
}

.clinic-scalp-map {
  filter: none;
  width: auto;
  max-width: 100%;
  height: 100%;
  max-height: 420px;
  margin: 0;
  animation: .58s cubic-bezier(.16, 1, .3, 1) both clinic-head-enter;
}

.clinic-head-rig {
  transform-box: fill-box;
  transform-origin: 50% 55%;
  animation: 5.2s ease-in-out infinite clinic-head-breathe;
}

.clinic-head-model {
  transform-box: fill-box;
  transform-origin: 50% 52%;
}

.clinic-scalp-map.is-front .clinic-head-model {
  animation: .72s cubic-bezier(.16, 1, .3, 1) both clinic-head-turn-front;
}

.clinic-scalp-map.is-side .clinic-head-model {
  animation: .78s cubic-bezier(.16, 1, .3, 1) both clinic-head-turn-side;
}

.clinic-scalp-map.is-back .clinic-head-model {
  animation: .82s cubic-bezier(.16, 1, .3, 1) both clinic-head-turn-back;
}

.clinic-guide-target {
  transform-box: fill-box;
  transform-origin: center;
  animation: .7s cubic-bezier(.16, 1, .3, 1) both clinic-target-settle;
}

.clinic-target-ring {
  transform-box: fill-box;
  transform-origin: center;
  animation: 1.8s ease-out infinite clinic-target-ring;
}

.clinic-guide-callout {
  animation: .62s cubic-bezier(.16, 1, .3, 1) .14s both clinic-callout-in;
}

.clinic-guide-caption {
  z-index: 4;
  bottom: 8px;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border: 1px solid #ffffffb8;
  border-radius: 13px;
  max-width: calc(100% - 20px);
  display: grid;
  position: absolute;
  inset-inline: 10px;
}

.clinic-guide-caption strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.clinic-position-tips {
  border-radius: 13px;
  gap: 4px;
  padding: 7px 10px;
}

.clinic-position-tips ul {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  padding: 0;
  line-height: 1.45;
  list-style: none;
  display: grid;
}

.clinic-position-tips li {
  padding-inline-start: 10px;
  position: relative;
}

.clinic-position-tips li:before {
  top: .32rem;
  content: "";
  background: var(--brand);
  width: 5px;
  height: 5px;
  box-shadow: 0 0 0 3px rgba(var(--brand-rgb),.08);
  border-radius: 50%;
  position: absolute;
  inset-inline-start: 0;
}

.clinic-step-dots > span {
  width: 23px;
  height: 23px;
  font-size: .51rem;
}

.clinic-step-dots .active {
  box-shadow: 0 0 0 3px rgba(var(--brand-rgb),.08);
}

.clinic-camera-panel {
  background: #111619;
  grid-template-rows: minmax(0, 1fr);
  align-content: stretch;
  min-height: 0;
  padding: 0;
  display: grid;
  position: relative;
  overflow: hidden;
}

.clinic-live-frame {
  aspect-ratio: auto;
  height: 100%;
  min-height: 220px;
  box-shadow: none;
  background: #111619;
  border-radius: 29px 0 0 29px;
}

.clinic-live-frame video, .clinic-live-frame > img {
  object-fit: cover;
  object-position: center;
}

.clinic-camera-flash {
  z-index: 8;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  background: #fff;
  position: absolute;
  inset: 0;
}

.clinic-camera-flash.is-active {
  visibility: visible;
  animation: .42s ease-out both clinic-camera-flash;
}

.clinic-frame-target {
  width: min(48%, 380px);
}

.clinic-camera-topbar {
  z-index: 7;
  pointer-events: none;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
  position: absolute;
  top: 13px;
  left: 13px;
  right: 13px;
}

.clinic-camera-topbar > * {
  pointer-events: auto;
}

.clinic-camera-topbar .clinic-live-label {
  top: auto;
  -webkit-backdrop-filter: blur(18px) saturate(1.3);
  backdrop-filter: blur(18px) saturate(1.3);
  background: #0d141994;
  border: 1px solid #ffffff38;
  flex: none;
  position: relative;
  inset: auto;
  box-shadow: 0 9px 24px #06090b33;
}

.clinic-camera-feedback {
  z-index: 7;
  gap: 6px;
  max-width: min(620px, 100% - 30px);
  display: grid;
  position: absolute;
  top: 88px;
  left: 50%;
  transform: translateX(-50%);
}

.clinic-camera-message, .clinic-hid-learning {
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  border-radius: 14px;
  max-height: 48px;
  margin: 0;
  padding: 7px 11px;
  font-size: .55rem;
  line-height: 1.5;
  overflow: hidden;
  box-shadow: 0 10px 28px #0c14192b;
}

.clinic-camera-dock {
  z-index: 7;
  border: 1px solid #ffffff9e;
  border-radius: 24px;
  align-items: center;
  display: grid;
  position: absolute;
  bottom: 13px;
  left: 13px;
  right: 13px;
}

.clinic-camera-dock:before {
  content: "";
  pointer-events: none;
  background: linear-gradient(90deg, #0000, #fffffff2, #0000);
  border-radius: 99px;
  height: 1px;
  position: absolute;
  top: 1px;
  left: 24px;
  right: 24px;
}

.clinic-camera-dock.is-review {
  display: block;
}

.clinic-camera-source {
  min-width: 0;
}

.clinic-camera-source > span {
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  overflow: hidden;
}

.clinic-camera-select {
  grid-template-columns: 1fr;
  gap: 3px;
  min-width: 0;
  display: grid;
}

.clinic-camera-select select {
  width: 100%;
}

.clinic-shutter {
  background: linear-gradient(125deg,#176fa8,var(--brand) 56%,#0a426b);
  box-shadow: 0 13px 28px rgba(var(--brand-rgb),.34),inset 0 1px 0 #ffffff47;
  transition: transform .2s cubic-bezier(.16, 1, .3, 1), box-shadow .2s, filter .2s;
}

.clinic-shutter:hover:not(:disabled) {
  filter: saturate(1.1);
  box-shadow: 0 18px 36px rgba(var(--brand-rgb),.4);
  transform: translateY(-2px)scale(1.018);
}

.clinic-shutter:active:not(:disabled) {
  transform: translateY(1px)scale(.985);
}

.clinic-camera-utilities {
  justify-content: flex-end;
  gap: 6px;
  min-width: 0;
  display: flex;
}

.clinic-camera-utilities > button {
  border: 1px solid rgba(var(--brand-rgb),.13);
  cursor: pointer;
  white-space: nowrap;
  padding: 0 11px;
}

.clinic-camera-utilities > button:hover {
  color: var(--brand);
  border-color: rgba(var(--brand-rgb),.28);
  background: #fff;
}

.clinic-capture-review {
  align-items: center;
}

.clinic-quality {
  border-radius: 12px;
  overflow: auto;
}

.clinic-light-confirm {
  background: #ffffffb3 !important;
  border-radius: 13px !important;
  min-height: 58px !important;
  padding: 7px 9px !important;
}

.clinic-light-confirm strong {
  font-size: .58rem;
}

.clinic-light-confirm small {
  font-size: .51rem;
  line-height: 1.45;
}

.clinic-capture-review > div:last-child button {
  white-space: nowrap;
}

.clinic-capture-footer {
  border-radius: 14px;
  min-height: 39px;
  margin: 0;
  padding: 5px 8px 5px 12px;
}

.clinic-capture-footer span {
  align-items: baseline;
  gap: 4px;
  display: flex;
}

.clinic-capture-footer span b {
  color: var(--brand);
  font-size: .88rem;
}

.clinic-capture-footer button {
  min-height: 34px;
}

.clinic-workflow-complete {
  place-content: center;
  height: 100%;
  min-height: 0;
  animation: .58s cubic-bezier(.16, 1, .3, 1) both clinic-complete-enter;
}

.clinic-complete-mark {
  background: linear-gradient(145deg, #31a47e, #19745b);
  border: 0;
  width: 68px;
  height: 68px;
  animation: .7s cubic-bezier(.16, 1, .3, 1) both clinic-complete-pop;
  position: relative;
  box-shadow: 0 18px 38px #21816638, 0 0 0 9px #e8f7f1;
}

.clinic-complete-mark:after {
  content: "";
  border: 1px solid #2a8b7047;
  border-radius: 50%;
  animation: 2.2s ease-out infinite clinic-success-ring;
  position: absolute;
  inset: -18px;
}

.clinic-complete-mark span {
  z-index: 1;
  position: relative;
}

.clinic-workflow-complete > span {
  margin-top: 15px;
}

.clinic-workflow-complete h1 {
  margin: 5px 0;
  font-size: clamp(1.35rem, 2.4vw, 1.9rem);
}

.clinic-workflow-complete p {
  font-size: .66rem;
  line-height: 1.7;
}

.clinic-analysis-choices {
  margin-top: 20px !important;
  display: grid !important;
}

.clinic-analysis-choice {
  border: 1px solid rgba(var(--brand-rgb),.12);
  color: var(--ink-soft);
  text-align: start;
  cursor: pointer;
  background: #ffffffeb;
  grid-template-columns: 54px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 13px;
  transition: transform .24s cubic-bezier(.16, 1, .3, 1), box-shadow .24s, border-color .24s;
  animation: .55s cubic-bezier(.16, 1, .3, 1) .18s both clinic-choice-enter;
  display: grid;
  position: relative;
  overflow: hidden;
  box-shadow: 0 14px 36px #1f374817;
}

.clinic-analysis-choice:nth-child(2) {
  animation-delay: .27s;
}

.clinic-analysis-choice:before {
  top: -80px;
  content: "";
  background: var(--brand-soft);
  border-radius: 50%;
  width: 140px;
  height: 140px;
  transition: transform .3s;
  position: absolute;
  inset-inline-end: -70px;
}

.clinic-analysis-choice:hover, .clinic-analysis-choice.selected {
  border-color: rgba(var(--brand-rgb),.3);
  transform: translateY(-5px);
  box-shadow: 0 22px 48px #1c496a2b;
}

.clinic-analysis-choice:hover:before, .clinic-analysis-choice.selected:before {
  transform: scale(1.35);
}

.clinic-analysis-choice > i {
  z-index: 1;
  color: #fff;
  background: linear-gradient(145deg,#3588c8,var(--brand-deep));
  width: 54px;
  height: 54px;
  box-shadow: 0 12px 24px rgba(var(--brand-rgb),.22);
  border-radius: 18px;
  place-items: center;
  font-size: .79rem;
  font-style: normal;
  font-weight: 500;
  display: grid;
  position: relative;
}

.clinic-analysis-choice.standard > i {
  color: var(--brand);
  box-shadow: none;
  background: #e6f0f8;
  font-size: 1.25rem;
}

.clinic-analysis-choice > span {
  z-index: 1;
  gap: 5px;
  display: grid;
  position: relative;
}

.clinic-analysis-choice small {
  line-height: 1.55;
}

.clinic-analysis-choice > b {
  z-index: 1;
  color: var(--brand);
  font-size: 1rem;
  transition: transform .22s;
  position: relative;
}

.clinic-analysis-choice:hover > b {
  transform: translateX(-5px);
}

.clinic-analysis-choice.selected {
  background: linear-gradient(145deg, #fff, #f2f8fc);
}

.clinic-analysis-note {
  min-height: 24px;
  font-weight: 500;
  animation: .3s both clinic-stage-enter;
  color: var(--brand) !important;
  margin: 10px 0 0 !important;
}

.clinic-complete-back {
  margin-top: 8px;
}

.clinic-complete-back:hover {
  color: var(--brand);
  background: var(--brand-soft);
}

@keyframes clinic-capture-heading-in {
  from {
    opacity: 0;
    transform: translateY(-9px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes clinic-capture-card-in {
  from {
    opacity: 0;
    filter: blur(3px);
    transform: translateX(-20px)scale(.99);
  }

  to {
    opacity: 1;
    filter: none;
    transform: none;
  }
}

@keyframes clinic-head-enter {
  from {
    opacity: 0;
    transform: translateY(12px)scale(.94);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes clinic-head-breathe {
  50% {
    transform: translateY(-3px)scale(1.008);
  }
}

@keyframes clinic-head-turn-front {
  from {
    opacity: .25;
    filter: blur(3px);
    transform: translateX(-14px)rotate(-7deg)scale(.92);
  }

  to {
    opacity: 1;
    filter: none;
    transform: none;
  }
}

@keyframes clinic-head-turn-side {
  from {
    opacity: .2;
    filter: blur(4px);
    transform: translateX(-32px)rotate(-16deg)scale(.9);
  }

  62% {
    filter: none;
    transform: translateX(3px)rotate(2deg)scale(1.01);
  }

  to {
    opacity: 1;
    filter: none;
    transform: none;
  }
}

@keyframes clinic-head-turn-back {
  from {
    opacity: .2;
    filter: blur(4px);
    transform: translateX(34px)rotate(15deg)scale(.9);
  }

  62% {
    filter: none;
    transform: translateX(-3px)rotate(-2deg)scale(1.01);
  }

  to {
    opacity: 1;
    filter: none;
    transform: none;
  }
}

@keyframes clinic-target-settle {
  from {
    opacity: 0;
    transform: scale(1.7);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes clinic-target-ring {
  0% {
    opacity: .95;
    transform: scale(.82);
  }

  72%, 100% {
    opacity: 0;
    transform: scale(1.36);
  }
}

@keyframes clinic-callout-in {
  from {
    opacity: 0;
    transform: translateY(7px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes clinic-camera-flash {
  0% {
    opacity: 0;
  }

  18% {
    opacity: .94;
  }

  100% {
    opacity: 0;
  }
}

@keyframes clinic-complete-enter {
  from {
    opacity: 0;
    transform: translateY(18px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes clinic-complete-pop {
  from {
    opacity: 0;
    transform: scale(.55)rotate(-18deg);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes clinic-success-ring {
  from {
    opacity: .8;
    transform: scale(.72);
  }

  to {
    opacity: 0;
    transform: scale(1.22);
  }
}

@keyframes clinic-choice-enter {
  from {
    opacity: 0;
    transform: translateY(16px)scale(.98);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes clinic-photo-enter {
  from {
    opacity: 0;
    filter: blur(4px);
    transform: scale(1.035);
  }

  to {
    opacity: 1;
    filter: none;
    transform: none;
  }
}

@media (max-width: 900px) {
  .clinic-capture-layout {
    grid-template-columns: minmax(250px, .38fr) minmax(0, 1fr);
  }

  .clinic-position-tips ul {
    grid-template-columns: 1fr;
    gap: 2px;
  }

  .clinic-light-instruction {
    grid-template-columns: 48px minmax(150px, 1fr);
    gap: 9px;
    width: min(100%, 500px);
    padding: 8px 10px;
  }

  .clinic-light-orb {
    border-radius: 16px;
    width: 45px;
    height: 45px;
  }

  .clinic-light-copy small {
    font-size: .64rem;
  }

  .clinic-light-copy strong {
    font-size: .9rem;
  }

  .clinic-light-copy em {
    font-size: .6rem;
  }

  .clinic-light-sequence {
    display: none;
  }

  .clinic-camera-dock {
    padding: 7px 8px;
  }

  .clinic-shutter {
    min-height: 49px;
  }

  .clinic-camera-utilities {
    gap: 4px;
  }

  .clinic-camera-utilities > button {
    min-height: 31px;
    padding-inline: 8px;
    font-size: .48rem;
  }
}

@media (max-width: 640px) {
  .clinic-workflow.is-capture .clinic-workflow-header {
    min-height: 49px;
  }

  .clinic-workflow.is-capture .clinic-workflow-mark {
    border-radius: 11px;
    width: 34px;
    height: 34px;
  }

  .clinic-workflow.is-capture .clinic-workflow-steps {
    padding-block: 4px;
  }

  .clinic-workflow-body.is-capture {
    padding: 6px 7px 7px;
  }

  .clinic-capture-stage {
    gap: 5px;
  }

  .clinic-light-instruction {
    border-radius: 15px;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 7px;
    width: calc(100% - 58px);
    min-width: 0;
    padding: 5px 7px;
  }

  .clinic-light-orb {
    border-radius: 11px;
    width: 32px;
    height: 32px;
  }

  .clinic-light-orb:before {
    inset: 5px;
  }

  .clinic-light-orb > i {
    border-width: 3px;
    width: 18px;
    height: 18px;
  }

  .clinic-light-orb > b {
    border-width: 2px;
    width: 15px;
    height: 15px;
    bottom: -3px;
    right: -3px;
  }

  .clinic-light-copy {
    gap: 1px;
  }

  .clinic-light-copy small {
    font-size: .55rem;
  }

  .clinic-light-copy strong {
    font-size: .74rem;
  }

  .clinic-light-copy em, .clinic-light-sequence {
    display: none;
  }

  .clinic-capture-layout {
    border-radius: 18px;
    grid-template-rows: minmax(0, .6fr) minmax(0, .4fr);
    grid-template-columns: 1fr;
  }

  .clinic-camera-panel {
    order: -1;
  }

  .clinic-live-frame {
    border-radius: 17px 17px 0 0;
    min-height: 120px;
  }

  .clinic-camera-topbar {
    gap: 5px;
    top: 6px;
    left: 6px;
    right: 6px;
  }

  .clinic-camera-topbar .clinic-live-label {
    min-height: 26px;
    padding: 4px 7px;
    font-size: .48rem;
  }

  .clinic-frame-target {
    width: min(38%, 155px);
  }

  .clinic-capture-guide {
    border-inline-end: 0;
    border-top: 1px solid #e5ebef;
    grid-template-rows: auto minmax(0, 1fr) auto;
    grid-template-columns: minmax(125px, .43fr) minmax(0, 1fr);
    gap: 5px;
    padding: 5px;
  }

  .clinic-guide-heading {
    grid-column: 2;
    padding: 2px 4px;
  }

  .clinic-guide-heading > span {
    padding: 2px 6px;
    font-size: .48rem;
  }

  .clinic-guide-heading h1 {
    margin-top: 1px;
    font-size: .7rem;
  }

  .clinic-guide-heading p {
    -webkit-line-clamp: 2;
    font-size: .46rem;
    line-height: 1.35;
  }

  .clinic-guide-visual {
    border-radius: 13px;
    grid-row: 1 / 4;
  }

  .clinic-photo-guide {
    border-radius: 12px;
    width: min(100%, 210px);
  }

  .clinic-photo-target {
    width: 48px;
    height: 48px;
  }

  .clinic-photo-target:after {
    inset: 11px;
  }

  .clinic-photo-target > b {
    width: 44px;
    height: 44px;
  }

  .clinic-photo-target > b:before {
    width: 44px;
  }

  .clinic-photo-target > b:after {
    height: 44px;
  }

  .clinic-guide-caption {
    bottom: 4px;
    inset-inline: 4px;
  }

  .clinic-position-tips {
    grid-column: 2;
    align-self: center;
    padding: 5px 7px;
  }

  .clinic-position-tips strong {
    font-size: .48rem;
  }

  .clinic-position-tips ul {
    gap: 2px;
    font-size: .43rem;
  }

  .clinic-step-dots {
    grid-column: 2;
  }

  .clinic-step-dots > span {
    width: 20px;
    height: 20px;
  }

  .clinic-camera-dock {
    border-radius: 17px;
    gap: 6px;
    padding: 5px 6px;
    bottom: 6px;
    left: 6px;
    right: 6px;
  }

  .clinic-shutter {
    padding: 4px 12px;
  }

  .clinic-shutter > i {
    width: 21px;
    height: 21px;
  }

  .clinic-camera-utilities {
    grid-template-columns: repeat(2, 1fr);
    gap: 4px;
    display: grid;
  }

  .clinic-camera-utilities > button {
    width: 34px;
    min-height: 32px;
    padding: 0 7px;
    overflow: hidden;
  }

  .clinic-camera-utilities > button:first-letter {
    font-size: .56rem;
  }

  .clinic-camera-feedback {
    top: 48px;
  }

  .clinic-capture-review {
    gap: 4px;
  }

  .clinic-quality {
    max-height: 57px;
    padding: 5px 7px;
  }

  .clinic-quality span {
    display: none;
  }

  .clinic-light-confirm {
    min-height: 52px !important;
    padding: 5px 7px !important;
  }

  .clinic-light-confirm small {
    display: none;
  }

  .clinic-capture-review > div:last-child button {
    min-height: 31px;
  }

  .clinic-capture-footer {
    min-height: 33px;
  }

  .clinic-capture-footer button {
    min-height: 29px;
    font-size: .54rem;
  }

  .clinic-workflow-body.is-complete {
    padding: 8px 12px;
  }

  .clinic-workflow-complete {
    justify-content: stretch;
  }

  .clinic-complete-mark {
    width: 55px;
    height: 55px;
  }

  .clinic-workflow-complete > span {
    margin-top: 11px;
  }

  .clinic-workflow-complete h1 {
    font-size: 1.15rem;
  }

  .clinic-workflow-complete p {
    font-size: .56rem;
  }

  .clinic-analysis-choices {
    gap: 8px !important;
    margin-top: 12px !important;
  }

  .clinic-analysis-choice {
    grid-template-columns: 42px minmax(0, 1fr) 18px;
  }

  .clinic-analysis-choice > i {
    border-radius: 14px;
    width: 42px;
    height: 42px;
  }

  .clinic-analysis-choice strong {
    font-size: .7rem;
  }

  .clinic-analysis-choice small {
    font-size: .51rem;
  }
}

@media (max-height: 700px) and (min-width: 641px) {
  .clinic-workflow.is-capture .clinic-workflow-header {
    min-height: 48px;
  }

  .clinic-workflow.is-capture .clinic-workflow-steps {
    padding-block: 4px;
  }

  .clinic-workflow-body.is-capture {
    padding-block: 6px;
  }

  .clinic-guide-heading p {
    -webkit-line-clamp: 1;
  }

  .clinic-capture-layout {
    grid-template-columns: minmax(280px, .32fr) minmax(0, 1fr);
  }

  .clinic-scalp-map {
    max-height: 275px;
  }

  .clinic-position-tips {
    padding-block: 5px;
  }

  .clinic-position-tips ul {
    font-size: .47rem;
  }

  .clinic-light-instruction, .clinic-camera-dock {
    padding-block: 6px;
  }

  .clinic-capture-review {
    grid-template-columns: minmax(130px, .65fr) minmax(190px, 1.35fr) auto;
  }

  .clinic-light-confirm small {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .clinic-head-rig, .clinic-head-model, .clinic-target-ring, .clinic-guide-target, .clinic-guide-callout, .clinic-camera-flash, .clinic-capture-layout, .clinic-capture-heading, .clinic-complete-mark, .clinic-complete-mark:after, .clinic-analysis-choice, .clinic-photo-guide, .clinic-photo-target:before {
    animation: none !important;
  }
}

.patient-portal-gate > header {
  z-index: 5;
  border-bottom: 1px solid rgba(var(--brand-rgb),.08);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  background: #ffffffb8;
  justify-content: space-between;
  align-items: center;
  min-height: 76px;
  padding: 12px clamp(16px, 4vw, 48px);
  display: flex;
  position: fixed;
  inset-block-start: 0;
  inset-inline: 0;
}

.patient-portal-static-brand {
  color: inherit;
  cursor: default;
  align-items: center;
  text-decoration: none;
  display: inline-flex;
}

.patient-portal-static-brand a {
  pointer-events: none;
  color: inherit;
  text-decoration: none;
}

.patient-record-public {
  min-height: 100dvh;
}

.patient-record-topbar {
  justify-content: space-between;
}

.patient-record-topbar .clinic-record-brand {
  cursor: default;
}

.patient-record-overview {
  grid-template-columns: 1fr;
  grid-template-areas: "identity"
                       "tabs";
}

.patient-record-overview .clinic-record-view-tabs {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  display: grid;
}

.patient-record-view-tabs > button.active {
  border-color: rgba(var(--brand-rgb),.2);
  color: var(--brand);
  box-shadow: 0 10px 25px rgba(var(--brand-rgb),.08);
  background: #fff;
}

.patient-capture-gallery > div > button {
  min-width: 0;
  font: inherit;
  text-align: inherit;
  cursor: zoom-in;
  background: none;
  border: 0;
  padding: 0;
}

.patient-capture-gallery > div > button figure {
  height: 100%;
  margin: 0;
}

.analysis-feature-evidence figure.is-clickable {
  cursor: zoom-in;
}

.analysis-feature-evidence figure.is-clickable:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 35px #1f34441f;
}

.patient-trend-embedded {
  background: none;
  min-height: 0;
}

.patient-trend-embedded .clinic-trend-shell {
  width: 100%;
  padding: 0;
}

.patient-trend-embedded .clinic-trend-hero {
  justify-content: space-between;
  align-items: center;
  gap: 22px;
}

.patient-trend-embedded .clinic-trend-hero > button {
  flex: none;
}

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

.patient-progress-bars article {
  border: 1px solid rgba(var(--brand-rgb),.08);
  background: #ffffffd1;
  border-radius: 16px;
  gap: 8px;
  padding: 13px 14px;
  display: grid;
}

.patient-progress-bars header {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.patient-progress-bars strong {
  color: #3a4852;
  font-size: 13px;
}

.patient-progress-bars header span {
  color: #7b6d7e;
  direction: ltr;
  font-size: 12px;
  font-weight: 500;
}

.patient-progress-bars .positive {
  color: var(--success);
}

.patient-progress-bars article > div {
  gap: 5px;
  display: grid;
}

.patient-progress-bars i, .patient-progress-bars b {
  background: #cad4dc;
  border-radius: 99px;
  height: 7px;
  display: block;
}

.patient-progress-bars b {
  background: linear-gradient(90deg,#4492cd,var(--brand));
}

.patient-progress-bars b.positive {
  background: linear-gradient(90deg,#52bca3,var(--success));
}

.patient-trend-embedded .clinic-trend-hero {
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 0;
  display: grid;
}

.patient-trend-embedded .clinic-trend-hero > div {
  aspect-ratio: auto;
  place-items: initial;
  width: auto;
  min-width: 0;
  color: inherit;
  box-shadow: none;
  background: none;
  border-radius: 0;
  gap: 6px;
  padding: 0;
  display: grid;
}

.patient-trend-embedded .clinic-trend-hero > div span {
  color: #6b8292;
  font-size: 13px;
  font-weight: 500;
}

.patient-trend-embedded .clinic-trend-hero > div h1 {
  color: #1b2a35;
  margin: 0;
  font-size: clamp(1.35rem, 2.8vw, 2rem);
  line-height: 1.25;
}

.patient-trend-embedded .clinic-trend-hero > div p {
  color: #616b72;
  margin: 0;
  font-size: 14px;
  line-height: 1.75;
}

.patient-scroll-hint {
  display: none;
}

.patient-scroll-hint > span {
  color: #fff;
  background: linear-gradient(135deg,#3587c6,var(--brand));
  width: 30px;
  height: 30px;
  box-shadow: 0 8px 18px rgba(var(--brand-rgb),.22);
  border-radius: 50%;
  flex: none;
  place-items: center;
  font-size: 16px;
  font-weight: 500;
  display: grid;
}

.patient-scroll-hint p {
  color: #3d4c57;
  flex: 1;
  min-width: 0;
  margin: 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.6;
}

.patient-scroll-hint small {
  color: var(--brand);
  flex: none;
  font-weight: 500;
}

@media (max-width: 900px) {
  .patient-record-overview {
    grid-template-columns: 1fr;
    grid-template-areas: "identity"
                         "summary"
                         "tabs";
  }

  .patient-progress-bars {
    grid-template-columns: 1fr;
  }

  .patient-trend-embedded .clinic-trend-hero {
    flex-direction: column;
    align-items: stretch;
  }
}

@media (max-width: 700px) {
  .patient-portal-gate {
    padding: 90px 12px 18px;
  }

  .patient-portal-gate > header {
    min-height: 68px;
    padding: 9px 12px;
  }

  .patient-portal-gate > section {
    border-radius: 26px;
    gap: 15px;
    padding: 26px 17px;
  }

  .patient-portal-gate h1 {
    font-size: clamp(23px, 7vw, 30px);
  }

  .patient-portal-gate p {
    font-size: 14px;
    line-height: 1.8;
  }

  .patient-record-topbar {
    min-height: 66px;
    padding: 9px 12px;
  }

  .patient-record-topbar .clinic-record-brand {
    min-width: 0;
  }

  .patient-record-overview {
    border-radius: 23px;
    gap: 12px;
    padding: 18px 13px;
  }

  .patient-record-overview .clinic-record-summary {
    gap: 7px;
  }

  .patient-record-overview .clinic-record-summary article {
    min-height: 67px;
    padding: 8px;
  }

  .patient-record-overview .clinic-record-view-tabs {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .patient-record-view-tabs > button {
    min-height: 60px;
  }

  .patient-record-public .clinic-session-list.clinic-session-strip {
    border-radius: 20px;
  }

  .patient-record-public .clinic-session-strip > header {
    padding-inline: 13px;
  }

  .patient-record-public .clinic-session-list.clinic-session-strip > div {
    padding-inline: 9px;
  }

  .patient-record-public .clinic-session-list.clinic-session-strip button {
    flex-basis: min(88vw, 285px);
    min-height: 76px;
  }

  .patient-record-public .analysis-results-hero {
    border-radius: 22px;
    padding: 17px 13px;
  }

  .patient-record-public .analysis-results-hero > header h1 {
    font-size: 1.35rem;
  }

  .patient-record-public .analysis-tab-rail {
    scroll-snap-type: x mandatory;
    gap: 8px;
    padding: 8px;
    display: flex;
    overflow-x: auto;
  }

  .patient-record-public .analysis-tab-rail button {
    scroll-snap-align: start;
    min-width: 165px;
    min-height: 54px;
  }

  .patient-record-public .analysis-section-workspace {
    gap: 13px;
  }

  .patient-record-public .analysis-section-header {
    border-radius: 22px;
    display: grid;
  }

  .patient-record-public .analysis-category-stage, .patient-record-public .analysis-chart-card, .patient-record-public .analysis-chart-summary-card, .patient-record-public .analysis-narrative-card, .patient-record-public .analysis-insight-card, .patient-record-public .analysis-evidence-card {
    border-radius: 20px;
  }

  .patient-record-public .analysis-category-stage {
    padding: 15px 12px;
    overflow-x: auto;
  }

  .patient-record-public .analysis-category-columns {
    min-width: 680px;
  }

  .patient-record-public .analysis-visual-stage, .patient-record-public .analysis-list-grid, .patient-record-public .analysis-overview-highlights {
    grid-template-columns: 1fr;
  }

  .patient-record-public .analysis-chart-card {
    min-width: 0;
    padding: 14px;
  }

  .patient-record-public .clinical-radar-canvas {
    overflow-x: auto;
  }

  .patient-record-public .clinical-radar-canvas svg {
    min-width: 620px;
  }

  .patient-record-public .analysis-evidence-card > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .patient-record-public .clinic-note-card, .patient-record-public .clinic-capture-gallery {
    border-radius: 21px;
    padding: 16px 13px;
  }

  .patient-capture-gallery > div {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }

  .patient-capture-gallery figcaption {
    padding: 10px !important;
  }

  .patient-trend-embedded .clinic-trend-shell {
    gap: 12px;
  }

  .patient-trend-embedded .clinic-trend-hero, .patient-trend-embedded .clinic-trend-overview, .patient-trend-embedded .clinic-trend-card {
    border-radius: 22px;
    padding: 16px 13px;
  }

  .patient-progress-bars article {
    padding: 12px;
  }

  .patient-progress-bars header {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  .patient-trend-embedded .clinic-trend-radar-card .clinical-radar-canvas {
    overflow-x: auto;
  }

  .patient-trend-embedded .clinic-trend-radar-card svg {
    min-width: 620px;
  }

  .patient-lightbox {
    padding: 10px;
  }

  .patient-lightbox img {
    border-radius: 18px;
    max-width: calc(100vw - 20px);
    max-height: 78vh;
  }

  .patient-lightbox > button {
    top: 12px;
    width: 46px;
    height: 46px;
    inset-inline-end: 12px;
  }
}

@media (max-width: 390px) {
  .patient-record-public .analysis-evidence-card > div, .patient-capture-gallery > div {
    grid-template-columns: 1fr !important;
  }

  .patient-record-public .analysis-tab-rail button {
    min-width: 150px;
  }

  .patient-record-public .clinic-session-list.clinic-session-strip button {
    flex-basis: calc(100vw - 50px);
  }
}

@media (max-width: 900px) {
  .patient-record-public .patient-scroll-hint {
    border: 1px solid rgba(var(--brand-rgb),.14);
    background: linear-gradient(120deg, #ffffffdb, #ecf4fae6);
    border-radius: 16px;
    align-items: center;
    gap: 9px;
    margin: 8px 12px 4px;
    padding: 8px 10px;
    animation: 1.9s ease-in-out infinite patient-scroll-pulse;
    display: flex;
    box-shadow: 0 8px 22px #2d485c14;
  }

  .patient-record-public .analysis-scroll-hint {
    margin: 0;
  }

  .patient-trend-embedded .clinic-trend-hero {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .patient-trend-embedded .clinic-trend-hero > button {
    justify-content: center;
    align-self: stretch;
    width: 100%;
  }

  .patient-trend-embedded .clinic-trend-overview, .patient-trend-embedded .clinic-trend-primary-chart {
    min-width: 0;
  }

  .patient-trend-embedded .clinic-trend-radar-card .patient-scroll-hint {
    margin-inline: 0;
  }

  .patient-trend-embedded .patient-progress-bars {
    min-width: 0;
  }
}

@media (max-width: 700px) {
  .patient-record-public .patient-scroll-hint {
    border-radius: 14px;
    margin-inline: 2px;
    padding: 8px 9px;
  }

  .patient-record-public .patient-scroll-hint p {
    font-size: 12px;
    line-height: 1.55;
  }

  .patient-record-public .patient-scroll-hint small {
    display: none;
  }

  .patient-trend-embedded .clinic-trend-hero {
    padding: 17px 15px;
  }

  .patient-trend-embedded .clinic-trend-hero > div h1 {
    font-size: 1.35rem;
  }

  .patient-trend-embedded .clinic-trend-hero > div p {
    font-size: 13px;
  }

  .patient-trend-embedded .clinic-trend-overview, .patient-trend-embedded .clinic-trend-card {
    min-width: 0;
  }

  .patient-trend-embedded .clinic-trend-primary-chart {
    overflow: hidden;
  }

  .patient-trend-embedded .patient-progress-bars {
    gap: 9px;
  }

  .patient-trend-embedded .patient-progress-bars article {
    min-width: 0;
  }

  .patient-trend-embedded .patient-progress-bars strong {
    overflow-wrap: anywhere;
  }
}

@keyframes patient-scroll-pulse {
  0%, 100% {
    border-color: rgba(var(--brand-rgb),.14);
    box-shadow: 0 8px 22px #2d485c14;
  }

  50% {
    box-shadow: 0 12px 28px rgba(var(--brand-rgb),.17);
    border-color: #3587c666;
  }
}

@media (prefers-reduced-motion: reduce) {
  .analysis-feature-evidence figure.is-clickable, .patient-progress-bars b {
    transition: none;
  }

  .patient-scroll-hint {
    animation: none !important;
  }
}

.clinic-patient-delivery {
  color: #176f5c;
  background: #effaf6;
  border: 1px solid #d9eee7;
  border-radius: 18px;
  gap: 5px;
  padding: 13px 16px;
  display: grid;
}

.clinic-patient-delivery.failed, .clinic-patient-delivery.phone_missing {
  color: #a43d50;
  background: #fff2f4;
  border-color: #f0d7dc;
}

.clinic-patient-delivery strong {
  font-size: var(--text-small);
}

.clinic-patient-delivery small {
  font-size: var(--text-compact);
  line-height: 1.7;
}

.patient-portal, .patient-portal-gate {
  color: #17252f;
  background: radial-gradient(circle at 80% 0,rgba(var(--brand-rgb),.11),transparent 34%),linear-gradient(145deg,#fff 0,#f6fafd 52%,#f3f6f8 100%);
  min-height: 100dvh;
  font-size: 15px;
}

.patient-portal-gate {
  place-items: center;
  padding: 24px;
  display: grid;
  position: relative;
  overflow: hidden;
}

.patient-portal-gate-orb {
  aspect-ratio: 1;
  background: conic-gradient(from 90deg,rgba(var(--brand-rgb),.17),#4cc3b01f,rgba(var(--brand-rgb),.04));
  filter: blur(55px);
  border-radius: 50%;
  width: min(78vw, 900px);
  animation: 13s linear infinite patient-orbit;
  position: absolute;
}

.patient-portal-gate > section {
  border: 1px solid rgba(var(--brand-rgb),.13);
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px);
  text-align: center;
  background: #ffffffd1;
  border-radius: 36px;
  justify-items: center;
  gap: 18px;
  width: min(100%, 520px);
  padding: clamp(28px, 5vw, 54px);
  display: grid;
  position: relative;
  box-shadow: 0 30px 80px #14354d24;
}

.patient-portal-gate > section > span, .patient-portal-hero span, .patient-report-content > header span, .patient-report-copy span, .patient-doctor-note > span, .patient-images header span {
  color: #22699f;
  font-weight: 500;
}

.patient-portal-gate h1 {
  margin: 4px 0 0;
  font-size: clamp(26px, 4vw, 38px);
  line-height: 1.35;
}

.patient-portal-gate p {
  color: #5c656c;
  margin: 0;
  font-size: 16px;
  line-height: 1.9;
}

.patient-portal-gate small {
  direction: ltr;
  font-size: 17px;
  font-weight: 500;
}

.patient-portal-gate button, .patient-portal-otp button {
  color: #fff;
  width: 100%;
  min-height: 58px;
  box-shadow: 0 16px 32px rgba(var(--brand-rgb),.25);
  cursor: pointer;
  background: linear-gradient(135deg, #2578b5, #124c76);
  border: 0;
  border-radius: 20px;
  font: 800 16px inherit;
  transition: all .25s;
}

.patient-portal-gate button:hover {
  box-shadow: 0 20px 38px rgba(var(--brand-rgb),.33);
  transform: translateY(-2px);
}

.patient-portal-gate button:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.patient-portal-otp {
  gap: 12px;
  width: 100%;
  display: grid;
}

.patient-portal-otp label {
  text-align: start;
  gap: 8px;
  font-weight: 500;
  display: grid;
}

.patient-portal-otp input {
  color: #17252f;
  text-align: center;
  letter-spacing: 8px;
  direction: ltr;
  background: #fff;
  border: 1px solid #d9e2e8;
  border-radius: 20px;
  outline: none;
  min-height: 58px;
  padding: 0 18px;
  font: 800 22px inherit;
}

.patient-portal-otp input:focus {
  box-shadow: 0 0 0 5px rgba(var(--brand-rgb),.1);
  border-color: #317eb8;
}

.patient-portal-gate em {
  color: #255b8d;
  font-style: normal;
  font-weight: 500;
}

.patient-portal-lock {
  color: #1f6ba4;
  background: #eaf3f9;
  border-radius: 50%;
  place-items: center;
  width: 76px;
  height: 76px;
  font-size: 34px;
  display: grid;
}

.patient-portal-loader {
  border: 6px solid #e3ebf1;
  border-top-color: #206ea7;
  border-radius: 50%;
  width: 68px;
  height: 68px;
  animation: .9s linear infinite patient-spin;
}

.patient-portal-topbar {
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  z-index: 30;
  background: #fffc;
  border-bottom: 1px solid #e4ebf0;
  justify-content: space-between;
  align-items: center;
  height: 82px;
  padding: 0 clamp(18px, 5vw, 72px);
  display: flex;
  position: sticky;
  top: 0;
}

.patient-portal-topbar > div {
  text-align: end;
  display: grid;
}

.patient-portal-topbar span {
  font-weight: 500;
}

.patient-portal-topbar small {
  color: #7b6e7e;
  font-size: 13px;
}

.patient-portal-shell {
  gap: 22px;
  width: min(1520px, 100% - clamp(24px, 5vw, 80px));
  margin: 0 auto;
  padding: 32px 0 72px;
  display: grid;
}

.patient-portal-hero {
  background: linear-gradient(125deg, #fff 35%, #ecf5fb);
  border: 1px solid #dfe7ed;
  border-radius: 32px;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: clamp(25px, 4vw, 46px);
  display: flex;
  box-shadow: 0 20px 54px #14354d14;
}

.patient-portal-hero h1 {
  margin: 9px 0;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.25;
}

.patient-portal-hero p {
  color: #746877;
  margin: 0;
  font-weight: 500;
}

.patient-portal-hero aside {
  background: #ffffffc7;
  border: 1px solid #dae5ed;
  border-radius: 24px;
  place-items: center;
  min-width: 130px;
  padding: 18px;
  display: grid;
}

.patient-portal-hero aside small {
  color: #766979;
  font-weight: 500;
}

.patient-portal-hero aside b {
  color: #1c659c;
  font-size: 36px;
}

.patient-session-strip, .patient-progress, .patient-report-content, .patient-doctor-note, .patient-images, .patient-progress-empty {
  background: #fff;
  border: 1px solid #dfe7ed;
  border-radius: 28px;
  box-shadow: 0 15px 42px #14354d0f;
}

.patient-session-strip {
  padding: 22px;
}

.patient-session-strip > header, .patient-progress > header, .patient-images > header {
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
  display: flex;
}

.patient-session-strip h2, .patient-progress h2, .patient-images h2, .patient-doctor-note h2 {
  margin: 0;
  font-size: 23px;
}

.patient-session-strip > header small {
  color: #786d7a;
  font-size: 13px;
}

.patient-session-strip > div {
  scrollbar-width: thin;
  scrollbar-color: #89adc8 transparent;
  gap: 10px;
  padding: 4px 2px 10px;
  display: flex;
  overflow-x: auto;
}

.patient-session-strip button {
  text-align: start;
  color: #303a42;
  cursor: pointer;
  background: #fff;
  border: 1px solid #dfe7ed;
  border-radius: 18px;
  flex: 0 0 190px;
  grid-template-columns: 1fr auto;
  gap: 5px;
  min-height: 78px;
  padding: 14px 16px;
  display: grid;
}

.patient-session-strip button.active {
  box-shadow: 0 8px 24px rgba(var(--brand-rgb),.12);
  background: #f0f7fc;
  border-color: #307db6;
}

.patient-session-strip button strong {
  font-size: 16px;
}

.patient-session-strip button small {
  color: #776a79;
  font-size: 13px;
}

.patient-session-strip button i {
  background: #d69b31;
  border-radius: 50%;
  grid-area: 1 / 2 / 3;
  align-self: center;
  width: 9px;
  height: 9px;
}

.patient-session-strip button i.ready {
  background: #279578;
}

.patient-progress {
  padding: 26px;
}

.patient-progress > header > div:first-child span {
  color: #807483;
}

.patient-progress > header > div:last-child {
  color: #5b646b;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  display: flex;
}

.patient-progress > header > div:last-child i {
  background: #cad6df;
  border-radius: 9px;
  width: 18px;
  height: 5px;
}

.patient-progress > header > div:last-child i:nth-of-type(2) {
  background: #29a183;
}

.patient-progress > div {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 24px;
  display: grid;
}

.patient-progress article {
  border-bottom: 1px solid #e9eff3;
  grid-template-columns: minmax(140px, 1fr) minmax(150px, 2fr) auto;
  align-items: center;
  gap: 14px;
  padding: 12px 0;
  display: grid;
}

.patient-progress article > span {
  font-weight: 500;
}

.patient-progress article > div {
  gap: 6px;
  display: grid;
}

.patient-progress article i, .patient-progress article b {
  background: #c9d5dd;
  border-radius: 10px;
  height: 7px;
  display: block;
}

.patient-progress article b {
  background: linear-gradient(90deg, #49bea2, #16856c);
}

.patient-progress article > strong {
  direction: ltr;
  font-size: 14px;
}

.patient-progress .positive {
  color: #13856d;
}

.patient-progress-empty {
  text-align: center;
  padding: 24px;
}

.patient-progress-empty h2 {
  margin: 0 0 8px;
}

.patient-progress-empty p {
  color: #796d7c;
  margin: 0;
}

.patient-report-layout {
  grid-template-columns: 250px minmax(0, 1fr);
  align-items: start;
  gap: 18px;
  display: grid;
}

.patient-report-tabs {
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  background: #ffffffeb;
  border: 1px solid #dfe7ed;
  border-radius: 26px;
  gap: 7px;
  padding: 12px;
  display: grid;
  position: sticky;
  top: 104px;
  box-shadow: 0 15px 42px #14354d0f;
}

.patient-report-tabs button {
  color: #4b555d;
  text-align: start;
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: 15px;
  min-height: 48px;
  padding: 10px 13px;
  font: 800 14px inherit;
}

.patient-report-tabs button:hover {
  color: var(--brand);
  background: #f1f7fc;
}

.patient-report-tabs button.active {
  color: #fff;
  box-shadow: 0 9px 22px rgba(var(--brand-rgb),.2);
  background: linear-gradient(135deg, #7c1695, #5c0f71);
}

.patient-report-tabs button:disabled {
  opacity: .38;
  cursor: not-allowed;
}

.patient-report-content {
  min-width: 0;
  padding: clamp(22px, 3.5vw, 42px);
}

.patient-report-content > header {
  border-bottom: 1px solid #e5ebf0;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding-bottom: 22px;
  display: flex;
}

.patient-report-content > header h2 {
  margin: 7px 0 0;
  font-size: clamp(24px, 3vw, 34px);
}

.patient-score {
  --score: 0deg;
  background: conic-gradient(#28a285 var(--score),#dde4ea 0);
  border-radius: 50%;
  flex: 0 0 116px;
  place-items: center;
  height: 116px;
  transition: all .35s;
  display: grid;
}

.patient-score.attention {
  background: conic-gradient(#d49222 var(--score),#f3e8d4 0);
}

.patient-score.high {
  background: conic-gradient(#d84e62 var(--score),#f6dce1 0);
}

.patient-score > div {
  text-align: center;
  background: #fff;
  border-radius: 50%;
  place-content: center;
  width: 88px;
  height: 88px;
  display: grid;
}

.patient-score b {
  font-size: 29px;
}

.patient-score small {
  color: #847787;
  font-size: 12px;
}

.patient-chart-grid {
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
  align-items: center;
  gap: 24px;
  padding: 22px 0;
  display: grid;
}

.patient-radar {
  min-width: 0;
}

.patient-radar .clinical-radar-chart {
  max-height: 580px;
}

.patient-category-bars {
  gap: 13px;
  display: grid;
}

.patient-category-bars > div {
  grid-template-columns: minmax(150px, 1fr) minmax(100px, 1.4fr) 34px;
  align-items: center;
  gap: 10px;
  display: grid;
}

.patient-category-bars span {
  font-weight: 500;
}

.patient-category-bars i, .patient-topic-chart i {
  background: #e5ebf0;
  border-radius: 10px;
  height: 9px;
  overflow: hidden;
}

.patient-category-bars i b, .patient-topic-chart i b {
  border-radius: inherit;
  background: #27a081;
  height: 100%;
  transition: width .7s;
  display: block;
}

.patient-category-bars i b.attention, .patient-topic-chart i b.attention {
  background: #dc9b2d;
}

.patient-category-bars i b.high, .patient-topic-chart i b.high {
  background: #d94c62;
}

.patient-category-bars strong {
  direction: ltr;
}

.patient-topic-chart {
  gap: 18px;
  padding: 32px 0;
  display: grid;
}

.patient-topic-chart > div {
  gap: 9px;
  display: grid;
}

.patient-topic-chart header {
  justify-content: space-between;
  font-weight: 500;
  display: flex;
}

.patient-topic-chart i {
  height: 14px;
}

.patient-report-copy {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
  display: grid;
}

.patient-report-copy section {
  background: #fafbfc;
  border: 1px solid #e4ebf0;
  border-radius: 20px;
  padding: 20px;
}

.patient-report-copy p, .patient-report-copy li {
  color: #485158;
  font-size: 15px;
  line-height: 2;
}

.patient-report-copy p {
  margin: 9px 0 0;
}

.patient-report-copy ul {
  margin: 10px 0 0;
  padding-inline-start: 20px;
}

.patient-report-empty {
  color: #776b7a;
  place-items: center;
  min-height: 360px;
  font-size: 18px;
  display: grid;
}

.patient-doctor-note {
  background: linear-gradient(135deg, #fff, #f0f6fb);
  padding: 28px 32px;
}

.patient-doctor-note h2 {
  margin: 8px 0;
}

.patient-doctor-note p {
  color: #495258;
  max-width: 1000px;
  margin: 0;
  font-size: 16px;
  line-height: 2;
}

.patient-images {
  padding: 26px;
}

.patient-images header b {
  color: #20669a;
  background: #e6f0f8;
  border-radius: 14px;
  place-items: center;
  width: 44px;
  height: 44px;
  font-size: 20px;
  display: grid;
}

.patient-images > div {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  display: grid;
}

.patient-images button {
  text-align: start;
  cursor: zoom-in;
  background: #fff;
  border: 1px solid #dde5eb;
  border-radius: 20px;
  min-width: 0;
  padding: 0 0 14px;
  transition: all .25s;
  position: relative;
  overflow: hidden;
}

.patient-images button:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 35px #183d5824;
}

.patient-images img {
  aspect-ratio: 1.15;
  object-fit: cover;
  width: 100%;
  margin-bottom: 12px;
  display: block;
}

.patient-images button span, .patient-images button small {
  padding: 0 13px;
  display: block;
}

.patient-images button span {
  font-weight: 500;
}

.patient-images button small {
  color: #7d7080;
  margin-top: 4px;
  font-size: 12px;
}

.patient-lightbox {
  z-index: 100;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  cursor: zoom-out;
  background: #08151fd6;
  place-items: center;
  padding: 30px;
  display: grid;
  position: fixed;
  inset: 0;
}

.patient-lightbox > button {
  top: 24px;
  color: #fff;
  cursor: pointer;
  background: #ffffff1f;
  border: 1px solid #ffffff4d;
  border-radius: 50%;
  width: 54px;
  height: 54px;
  font-size: 32px;
  position: absolute;
  inset-inline-end: 28px;
}

.patient-lightbox img {
  border-radius: 24px;
  max-width: min(1200px, 94vw);
  max-height: 82vh;
  box-shadow: 0 30px 100px #000;
}

.patient-lightbox > div {
  background: #ffffffe6;
  border-radius: 16px;
  gap: 12px;
  padding: 11px 18px;
  display: flex;
  position: absolute;
  bottom: 25px;
}

@keyframes patient-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes patient-orbit {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 1100px) {
  .patient-report-layout {
    grid-template-columns: 1fr;
  }

  .patient-report-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    position: static;
  }

  .patient-chart-grid {
    grid-template-columns: 1fr;
  }

  .patient-images > div {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .patient-progress > div {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .patient-portal-shell {
    width: min(100% - 20px, 1520px);
    padding-top: 14px;
  }

  .patient-portal-topbar {
    height: 70px;
    padding: 0 14px;
  }

  .patient-portal-topbar small {
    display: none;
  }

  .patient-portal-hero {
    border-radius: 24px;
    align-items: flex-start;
  }

  .patient-portal-hero h1 {
    font-size: 29px;
  }

  .patient-portal-hero aside {
    min-width: 92px;
  }

  .patient-session-strip, .patient-progress, .patient-report-content, .patient-doctor-note, .patient-images {
    border-radius: 22px;
  }

  .patient-report-tabs {
    border-radius: 22px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .patient-report-tabs button {
    font-size: 13px;
  }

  .patient-report-content {
    padding: 18px;
  }

  .patient-report-content > header {
    align-items: flex-start;
  }

  .patient-score {
    flex-basis: 88px;
    width: 88px;
    height: 88px;
  }

  .patient-score > div {
    width: 66px;
    height: 66px;
  }

  .patient-score b {
    font-size: 22px;
  }

  .patient-report-copy {
    grid-template-columns: 1fr;
  }

  .patient-images > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .patient-progress article {
    grid-template-columns: 1fr auto;
  }

  .patient-progress article > div {
    grid-column: 1 / -1;
  }

  .patient-chart-grid {
    padding-top: 10px;
  }

  .patient-category-bars > div {
    grid-template-columns: 1fr 38px;
  }

  .patient-category-bars i {
    grid-area: 2 / 1 / auto / -1;
  }

  .patient-lightbox {
    padding: 12px;
  }

  .patient-lightbox img {
    max-width: 96vw;
  }
}

@media (prefers-reduced-motion: reduce) {
  .patient-portal-gate-orb, .patient-portal-loader {
    animation: none;
  }

  .patient-images button, .patient-portal-gate button {
    transition: none;
  }
}

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

.admin-kpis-complete article {
  min-height: 132px;
}

.admin-analytics-roomy > .admin-analytics-wide {
  grid-column: span 12;
}

.admin-analytics-roomy > .admin-status-chart, .admin-analytics-roomy > .admin-flow-chart, .admin-analytics-roomy > .admin-geo-chart {
  grid-column: span 6;
}

.admin-analytics-roomy > .admin-geo-chart.city {
  grid-column: span 12;
}

.admin-overview-grid-single {
  grid-template-columns: 1fr;
}

.admin-support-summary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  display: grid;
}

.admin-support-summary article {
  background: linear-gradient(145deg, #fff, #f6fafd);
  border: 1px solid #dfe6ec;
  border-radius: 20px;
  gap: 6px;
  min-height: 126px;
  padding: 18px;
  display: grid;
  box-shadow: 0 12px 32px #173c570f;
}

.admin-support-summary span {
  color: var(--muted);
  font-size: var(--text-small);
  font-weight: 500;
}

.admin-support-summary strong {
  color: var(--ink);
  font-size: 1.65rem;
}

.admin-support-summary small {
  color: var(--muted);
  font-size: var(--text-compact);
}

.admin-support-summary .is-csat {
  background: linear-gradient(145deg, #fff, #f1fbf7);
}

.admin-support-summary .is-csat strong {
  color: #16846a;
}

.admin-ticket-identity, .admin-ticket-meta {
  gap: 4px;
  min-width: 180px;
  display: grid;
}

.admin-ticket-identity bdi {
  color: var(--brand);
  font-size: var(--text-compact);
  font-weight: 500;
}

.admin-ticket-identity strong, .admin-ticket-meta strong {
  font-size: var(--text-small);
  line-height: 1.55;
}

.admin-ticket-identity small, .admin-ticket-meta small {
  color: var(--muted);
  font-size: var(--text-compact);
}

.admin-ticket-modal {
  max-height: min(88vh, 900px);
  overflow: auto;
}

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

.admin-ticket-facts > div {
  background: #f9fbfd;
  border: 1px solid #dfe6ec;
  border-radius: 14px;
  gap: 4px;
  padding: 11px 13px;
  display: grid;
}

.admin-ticket-facts span {
  color: var(--muted);
  font-size: var(--text-compact);
}

.admin-ticket-facts strong {
  font-size: var(--text-small);
}

.admin-ticket-conversation article.is-admin {
  border: 1px solid rgba(var(--brand-rgb),.24);
  background: linear-gradient(145deg, #eaf3fa, #e3eff7);
  align-self: flex-end;
}

.ticket-admin-label {
  color: #fff;
  background: linear-gradient(135deg,var(--brand),#2c7dbb);
  border-radius: 99px;
  align-items: center;
  padding: 3px 8px;
  font-size: 12px;
  font-weight: 500;
  display: inline-flex;
}

.admin-ticket-reply {
  border: 1px solid rgba(var(--brand-rgb),.16);
  background: #f6fafd;
  border-radius: 18px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 12px;
  margin: 0 0 16px;
  padding: 14px;
  display: grid;
}

.admin-ticket-reply label {
  gap: 7px;
  display: grid;
}

.admin-ticket-reply label > span {
  font-size: var(--text-small);
  font-weight: 500;
}

.admin-ticket-reply textarea {
  resize: vertical;
  width: 100%;
  font: inherit;
  background: #fff;
  border: 1px solid #d8e0e6;
  border-radius: 14px;
  padding: 12px 14px;
  line-height: 1.8;
}

.ticket-message.is-admin {
  border-color: rgba(var(--brand-rgb),.25);
  background: linear-gradient(145deg, #fff, #eaf3fa);
  align-self: flex-start;
}

@media (max-width: 1100px) {
  .admin-support-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-analytics-roomy > .admin-status-chart, .admin-analytics-roomy > .admin-flow-chart, .admin-analytics-roomy > .admin-geo-chart, .admin-analytics-roomy > .admin-geo-chart.city {
    grid-column: span 12;
  }

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

@media (max-width: 620px) {
  .admin-kpis-complete, .admin-support-summary, .admin-ticket-facts, .admin-ticket-reply {
    grid-template-columns: 1fr;
  }

  .admin-ticket-reply .admin-primary {
    width: 100%;
  }
}

button, .pwa-install-button, .language-switcher {
  border-radius: var(--radius-button);
}

input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select {
  border-radius: var(--radius-field);
}

textarea {
  border-radius: var(--radius-textarea);
}

.access-form, .access-form.compact, .admin-login-form, .admin-issue-modal > form, .operational-form, .operational-form-grid {
  gap: var(--form-gap);
}

.access-form > :is(.primary-action, .secondary-action), .admin-login-submit {
  margin-top: var(--form-action-gap);
}

.admin-issue-modal footer, .operational-form footer {
  margin-top: var(--form-action-gap);
  padding-top: 12px;
}

.clinic-record-link {
  border: 1px solid rgba(var(--brand-rgb),.16);
  min-width: max-content;
  color: var(--brand);
  border-radius: var(--radius-button);
  background: #fff;
  align-items: center;
  gap: 7px;
  padding: 8px 13px;
  font-weight: 500;
  text-decoration: none;
  transition: transform .2s, box-shadow .2s, background .2s;
  display: inline-flex;
}

.clinic-record-link:hover {
  box-shadow: 0 8px 22px rgba(var(--brand-rgb),.12);
  background: #fbf5fd;
  transform: translateY(-1px);
}

.clinic-record-link.is-disabled {
  opacity: .42;
  pointer-events: none;
}

.clinic-record-page {
  background: radial-gradient(circle at 12% 4%,rgba(var(--brand-rgb),.09),transparent 24rem),linear-gradient(180deg,#fbf5fd 0,#f7f4f9 100%);
  color: #17242d;
  min-height: 100vh;
}

.clinic-record-topbar {
  z-index: 10;
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  background: #ffffffd1;
  border-bottom: 1px solid #7c16951a;
  justify-content: space-between;
  align-items: center;
  min-height: 72px;
  padding: 10px clamp(18px, 3vw, 48px);
  display: flex;
  position: relative;
  top: auto;
  box-shadow: 0 10px 30px #1d32410a;
}

.clinic-record-brand {
  color: inherit;
  text-decoration: none;
  display: inline-flex;
}

.clinic-record-topbar nav {
  align-items: center;
  gap: 10px;
  display: flex;
}

.clinic-record-back {
  border: 1px solid rgba(var(--brand-rgb),.14);
  color: #495761;
  border-radius: var(--radius-button);
  background: #fff;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  font-size: .76rem;
  font-weight: 500;
  text-decoration: none;
  transition: color .2s, transform .2s;
  display: inline-flex;
  box-shadow: 0 7px 20px #10293b0d;
}

.clinic-record-back:hover {
  color: var(--brand);
  transform: translateY(-1px);
}

.clinic-record-shell {
  margin: 0 auto;
  padding: clamp(22px, 3vw, 44px) 0 60px;
}

.clinic-record-hero {
  border: 1px solid rgba(var(--brand-rgb),.12);
  background: linear-gradient(128deg, #fff 10%, #fbf5fd 70%, #f5e8fa);
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  animation: .55s cubic-bezier(.2, .75, .25, 1) both clinic-record-rise;
  display: grid;
  overflow: hidden;
  box-shadow: 0 20px 54px #7c169512;
}

.clinic-record-avatar {
  aspect-ratio: 1;
  color: #fff;
  width: clamp(58px, 6vw, 78px);
  box-shadow: 0 13px 30px rgba(var(--brand-rgb),.24);
  background: linear-gradient(145deg, #7c1695, #5c0f71);
  border: 1px solid #fffc;
  border-radius: 24px;
  place-items: center;
  font-size: clamp(1.3rem, 2vw, 1.9rem);
  font-weight: 500;
  display: grid;
}

.clinic-record-hero > div:nth-child(2) > span, .clinic-record-chart header span, .clinic-session-list > header span, .clinic-capture-gallery > header span {
  margin-bottom: 5px;
  font-weight: 500;
  display: block;
}

.clinic-record-hero h1 {
  color: #15242f;
  margin: 0;
  line-height: 1.25;
}

.clinic-record-hero p {
  color: #6d7981;
  margin: 7px 0 0;
  font-size: .82rem;
}

.clinic-record-hero aside {
  text-align: center;
  border: 1px solid rgba(var(--brand-rgb),.11);
  background: #ffffffb8;
  border-radius: 20px;
  min-width: 105px;
  padding: 14px 18px;
  display: grid;
}

.clinic-record-hero aside b {
  color: var(--brand);
  font-size: 1.65rem;
}

.clinic-record-hero aside span {
  font-weight: 500;
}

.clinic-record-facts {
  display: grid;
}

.clinic-record-facts article {
  border: 1px solid #30424f17;
  border-radius: 18px;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  display: flex;
  box-shadow: 0 10px 30px #20334109;
}

.clinic-record-facts span {
  margin-bottom: 6px;
  font-weight: 500;
}

.clinic-record-facts strong {
  color: #35424b;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.clinic-record-layout {
  align-items: start;
}

.clinic-session-list {
  background: #ffffffe6;
  border: 1px solid #30424f1a;
  position: sticky;
  overflow: hidden;
}

.clinic-session-list > header {
  padding: 19px 18px 12px;
}

.clinic-session-list h2, .clinic-capture-gallery h2, .clinic-note-card h2, .clinic-record-chart h3, .clinic-analysis-summary h2 {
  color: #202c35;
  margin: 0;
  font-size: clamp(.92rem, 1.3vw, 1.08rem);
}

.clinic-session-list > div {
  scrollbar-width: thin;
  scrollbar-color: rgba(var(--brand-rgb),.35) transparent;
  gap: 7px;
  max-height: calc(100vh - 200px);
  padding: 0 9px 12px;
  display: grid;
  overflow: auto;
}

.clinic-session-list button {
  color: #3e4a53;
  text-align: start;
  cursor: pointer;
  background: #f8fafb;
  border: 1px solid #0000;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 12px;
  transition: border .2s, background .2s, transform .2s, box-shadow .2s;
  display: grid;
  border-radius: 18px !important;
}

.clinic-session-list button:hover {
  border-color: rgba(var(--brand-rgb),.12);
  background: #fff;
  transform: translateY(-1px);
}

.clinic-session-list button.active {
  border-color: rgba(var(--brand-rgb),.28);
  box-shadow: 0 10px 25px rgba(var(--brand-rgb),.09);
  background: linear-gradient(120deg, #fbf5fd, #f5e8fa);
}

.clinic-session-number {
  aspect-ratio: 1;
  width: 35px;
  color: var(--brand);
  box-shadow: 0 5px 14px rgba(var(--brand-rgb),.09);
  background: #fff;
  border-radius: 12px;
  place-items: center;
  font-weight: 500;
  display: grid;
}

.clinic-session-list button > span:nth-child(2) {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.clinic-session-list button small {
  color: #89959e;
}

.clinic-session-list button em {
  color: #6a7883;
  width: max-content;
  margin-top: 3px;
  font-style: normal;
}

.clinic-session-meta {
  justify-items: end;
  gap: 1px;
  display: grid;
}

.clinic-session-meta > b {
  color: #35444f;
  font-size: .76rem;
}

.clinic-session-meta i {
  color: #77848e;
  background: #edf0f3;
  border-radius: 999px;
  margin-top: 4px;
  padding: 3px 6px;
  font-style: normal;
}

.clinic-session-meta i.ready {
  color: #137759;
  background: #e6f6f0;
}

.clinic-session-detail {
  min-width: 0;
  display: grid;
}

.clinic-analysis-summary {
  border: 1px solid rgba(var(--brand-rgb),.12);
  background: linear-gradient(125deg, #fff 35%, #fbf5fd);
  border-radius: 24px;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  padding: clamp(18px, 2.4vw, 30px);
  display: grid;
  position: relative;
  overflow: hidden;
  box-shadow: 0 18px 44px #2035440f;
}

.clinic-analysis-summary:after {
  aspect-ratio: 1;
  background: radial-gradient(circle,rgba(var(--brand-rgb),.16),transparent 68%);
  content: "";
  width: 210px;
  position: absolute;
  inset: auto -50px -85px auto;
}

.clinic-analysis-summary header {
  grid-column: 1 / -1;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.clinic-analysis-summary header > div > span {
  color: #7f8c96;
  margin-bottom: 5px;
  display: block;
}

.clinic-review-badge {
  color: #8b6200;
  background: #fff5df;
  border-radius: 999px;
  padding: 7px 10px;
  font-weight: 500;
}

.clinic-review-badge.approved {
  color: #137759;
  background: #e6f6f0;
}

.clinic-review-badge.rejected {
  color: #b33b55;
  background: #fae9ed;
}

.clinic-analysis-summary > p {
  max-width: 780px;
  margin: 0;
  line-height: 2;
}

.clinic-analysis-score {
  z-index: 1;
  border: 1px solid rgba(var(--brand-rgb),.13);
  background: #ffffffc7;
  border-radius: 18px;
  grid-area: 2 / 2 / 4;
  align-items: center;
  gap: 9px;
  padding: 10px 15px;
  display: flex;
  position: relative;
}

.clinic-analysis-score > strong {
  color: var(--brand);
  font-size: 1.8rem;
}

.clinic-analysis-score > span {
  color: #57656f;
  font-weight: 500;
  display: grid;
}

.clinic-analysis-score small {
  color: #98a4ad;
}

.clinic-analysis-summary footer {
  color: #87949e;
  border-top: 1px solid #30414d14;
  grid-column: 1 / -1;
  padding-top: 12px;
}

.clinic-record-charts {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  display: grid;
}

.clinic-record-chart {
  background: #ffffffeb;
  border: 1px solid #30424f1a;
  border-radius: 24px;
  min-width: 0;
  padding: 18px;
  box-shadow: 0 16px 38px #20323f0d;
}

.clinic-record-chart:first-child {
  grid-column: 1 / -1;
}

.clinic-record-chart > header {
  margin-bottom: 10px;
}

.clinic-line-chart {
  place-items: center;
  min-height: 210px;
  display: grid;
  position: relative;
}

.clinic-line-chart svg {
  width: 100%;
  height: 220px;
  overflow: visible;
}

.clinic-line-chart line {
  stroke: #e7ecef;
  stroke-width: 1px;
}

.clinic-line-chart polyline {
  fill: none;
  stroke: #7c1695;
  stroke-width: 4px;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 5px 7px rgba(var(--brand-rgb),.18));
}

.clinic-line-point circle {
  fill: #fff;
  stroke: #7c1695;
  stroke-width: 4px;
}

.clinic-bar-chart {
  gap: 12px;
  padding: 10px 2px 4px;
  display: grid;
}

.clinic-bar-chart > div > header {
  color: #5e6b75;
  justify-content: space-between;
  margin-bottom: 5px;
  display: flex;
}

.clinic-bar-chart > div > header b {
  color: #35444f;
}

.clinic-bar-chart > div > div {
  background: #ebeff2;
  border-radius: 999px;
  height: 8px;
  overflow: hidden;
}

.clinic-bar-chart i {
  background: linear-gradient(90deg,#d066ef,var(--brand));
  border-radius: inherit;
  height: 100%;
  box-shadow: 0 4px 10px rgba(var(--brand-rgb),.22);
  transition: width .55s;
  display: block;
}

.clinic-radar-chart {
  place-items: center;
  min-height: 280px;
  display: grid;
}

.clinic-radar-chart svg {
  width: min(100%, 300px);
  overflow: visible;
}

.clinic-radar-chart .grid {
  fill: none;
  stroke: #e0e6eb;
  stroke-width: 1px;
}

.clinic-radar-chart line {
  stroke: #e4eaee;
}

.clinic-radar-chart .value {
  fill: rgba(var(--brand-rgb),.18);
  stroke: #7c1695;
  stroke-width: 2.5px;
  filter: drop-shadow(0 5px 8px rgba(var(--brand-rgb),.18));
}

.clinic-radar-chart text {
  font-weight: 500;
}

.clinic-note-card {
  border: 1px solid rgba(var(--brand-rgb),.1);
  background: #fff;
  border-radius: 20px;
  grid-template-columns: auto 1fr;
}

.clinic-note-card header span {
  background: var(--brand-soft);
  width: 34px;
  height: 34px;
  color: var(--brand);
  border-radius: 12px;
  place-items: center;
  display: grid;
}

.clinic-note-card h2 {
  align-self: center;
}

.clinic-capture-gallery {
  background: #fff;
  border: 1px solid #30424f1a;
  overflow: hidden;
}

.clinic-capture-gallery > header {
  border-bottom: 1px solid #30424f14;
  justify-content: space-between;
  align-items: center;
  padding: 18px 20px;
  display: flex;
}

.clinic-capture-gallery > header > b {
  background: var(--brand-soft);
  width: 34px;
  height: 34px;
  color: var(--brand);
  border-radius: 12px;
  place-items: center;
  font-size: .78rem;
  display: grid;
}

.clinic-capture-gallery > div {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  padding: 14px;
  display: grid;
}

.clinic-capture-gallery figure {
  background: #edf0f3;
  border-radius: 18px;
  min-width: 0;
  margin: 0;
  position: relative;
  overflow: hidden;
}

.clinic-capture-gallery img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100%;
  transition: transform .35s;
  display: block;
}

.clinic-capture-gallery figure:hover img {
  transform: scale(1.03);
}

.clinic-capture-gallery figcaption {
  background: #fff;
  grid-template-columns: 1fr auto;
  gap: 3px 8px;
  padding: 10px 12px;
  display: grid;
}

.clinic-capture-gallery figcaption span {
  color: #77848f;
}

.clinic-capture-gallery figcaption small {
  color: #929da6;
  grid-column: 1 / -1;
}

.clinic-record-empty {
  text-align: center;
  color: #89969f;
  margin: 0;
  padding: 30px;
}

.clinic-record-state {
  background: radial-gradient(circle at 50% 35%,rgba(var(--brand-rgb),.11),transparent 25rem),#f8fafc;
  color: #202e38;
  place-items: center;
  min-height: 100vh;
  display: grid;
}

.clinic-record-state > .aitricho-wordmark {
  top: 28px;
  position: fixed;
  inset-inline-start: 34px;
}

.clinic-record-loader, .clinic-record-error {
  text-align: center;
  justify-items: center;
  gap: 14px;
  display: grid;
}

.clinic-record-loader > span {
  aspect-ratio: 1;
  border: 4px solid #dde6ec;
  border-top-color: var(--brand);
  border-radius: 50%;
  width: 48px;
  animation: .8s linear infinite clinic-record-spin;
}

.clinic-record-state p {
  color: #66737d;
  margin: 0;
  font-size: .8rem;
}

.clinic-record-error > strong {
  aspect-ratio: 1;
  color: #b93a58;
  background: #fae9ee;
  border-radius: 18px;
  place-items: center;
  width: 50px;
  font-size: 1.3rem;
  display: grid;
}

.clinic-record-error button {
  background: var(--brand);
  color: #fff;
  cursor: pointer;
  border: 0;
  padding: 10px 20px;
  font-family: inherit;
  font-weight: 500;
}

.clinic-record-error {
  max-width: 420px;
  padding: 25px;
}

.clinic-record-error p {
  line-height: 1.8;
}

@keyframes clinic-record-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes clinic-record-rise {
  from {
    opacity: 0;
    transform: translateY(12px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 1100px) {
  .clinic-session-list {
    position: static;
  }

  .clinic-session-list > div {
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    max-height: none;
  }

  .clinic-record-charts {
    grid-template-columns: 1fr;
  }

  .clinic-record-chart:first-child {
    grid-column: auto;
  }
}

@media (max-width: 700px) {
  .clinic-record-topbar {
    min-height: 62px;
    padding: 8px 12px;
  }

  .clinic-record-topbar .language-switcher {
    padding-inline: 9px;
  }

  .clinic-record-back {
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    font-size: 0;
  }

  .clinic-record-back span {
    font-size: 1rem;
  }

  .clinic-record-shell {
    width: min(100% - 20px, 1540px);
    padding-top: 13px;
  }

  .clinic-record-hero {
    border-radius: 22px;
    grid-template-columns: auto 1fr;
    padding: 16px;
  }

  .clinic-record-avatar {
    border-radius: 18px;
    width: 54px;
  }

  .clinic-record-hero aside {
    grid-column: 1 / -1;
    grid-template-columns: auto auto;
    justify-content: center;
    gap: 7px;
    min-width: 0;
    padding: 8px;
  }

  .clinic-record-hero aside b {
    font-size: 1rem;
  }

  .clinic-record-hero p {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .clinic-record-facts article {
    min-height: 70px;
  }

  .clinic-session-list {
    border-radius: 20px;
  }

  .clinic-session-list > div {
    scroll-snap-type: x mandatory;
    padding-bottom: 12px;
    display: flex;
    overflow-x: auto;
  }

  .clinic-session-list button {
    scroll-snap-align: start;
    min-width: 260px;
  }

  .clinic-analysis-summary {
    grid-template-columns: 1fr;
  }

  .clinic-analysis-summary header {
    display: grid;
  }

  .clinic-analysis-score {
    grid-area: auto / 1;
    width: max-content;
  }

  .clinic-analysis-summary > p {
    line-height: 1.85;
  }

  .clinic-record-chart, .clinic-analysis-summary {
    border-radius: 20px;
    padding: 15px;
  }

  .clinic-line-chart svg {
    height: 190px;
  }

  .clinic-capture-gallery > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 9px;
  }

  .clinic-capture-gallery figcaption {
    grid-template-columns: 1fr;
    padding: 8px;
  }

  .clinic-capture-gallery figcaption span {
    grid-row: auto;
  }

  .clinic-note-card {
    grid-template-columns: auto 1fr;
  }

  .clinic-record-topbar .aitricho-wordmark {
    transform-origin: inline-start center;
    transform: scale(.9);
  }
}

@media (max-width: 420px) {
  .clinic-record-facts {
    grid-template-columns: 1fr 1fr;
  }

  .clinic-record-facts article:last-child {
    grid-column: 1 / -1;
  }

  .clinic-capture-gallery > div {
    grid-template-columns: 1fr;
  }

  .clinic-radar-chart {
    min-height: 250px;
  }

  .clinic-record-hero h1 {
    font-size: 1.35rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .clinic-record-hero, .clinic-record-loader > span, .clinic-bar-chart i, .clinic-capture-gallery img, .clinic-record-link, .clinic-record-back, .clinic-session-list button {
    transition: none;
    animation: none;
  }
}

.clinic-record-hero h1 {
  letter-spacing: -.018em;
  font-size: clamp(1.32rem, 2vw, 1.82rem);
  font-weight: 500;
}

.clinic-session-list h2, .clinic-capture-gallery h2, .clinic-note-card h2, .clinic-record-chart h3, .clinic-analysis-summary h2 {
  font-weight: 500;
}

.clinic-note-card {
  gap: 7px;
  padding: 18px 20px;
  display: grid;
}

.clinic-note-card header {
  display: block;
}

.clinic-note-card p {
  color: #56636d;
  grid-column: auto;
  margin: 0;
  font-weight: 500;
  line-height: 1.85;
}

:where(.access-form, .admin-issue-modal > form, .operational-form) label:not(:has(input[type="checkbox"], input[type="radio"])) {
  color: var(--ink-soft);
  gap: 7px;
  font-size: .75rem;
  font-weight: 500;
  line-height: 1.5;
}

:where(.access-form, .admin-issue-modal > form, .operational-form) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) {
  width: 100%;
  min-height: var(--field-height);
  border: 1px solid var(--field-border);
  color: var(--ink);
  background: var(--field-bg);
  box-shadow: var(--field-shadow);
  outline: 0;
  padding-inline: 14px;
  transition: border-color .2s, box-shadow .2s, background .2s, transform .2s;
}

:where(.access-form, .admin-issue-modal > form, .operational-form) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea):hover:not(:disabled) {
  border-color: rgba(var(--brand-rgb),.3);
  background: var(--field-bg);
}

:where(.access-form, .admin-issue-modal > form, .operational-form) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea):focus {
  border-color: rgba(var(--brand-rgb),.68);
  background: var(--field-bg);
  box-shadow: var(--field-focus-shadow);
  transform: translateY(-1px);
}

:where(.access-form, .admin-issue-modal > form, .operational-form) textarea {
  resize: vertical;
  min-height: 94px;
  padding-block: 12px;
}

:where(.access-form, .admin-issue-modal > form, .operational-form) :is(input, textarea)::placeholder {
  color: #aaa0ad;
  opacity: 1;
}

:where(.access-form, .admin-issue-modal > form, .operational-form) :is(input, select, textarea):disabled {
  color: #8d818f;
  box-shadow: none;
  cursor: not-allowed;
  opacity: .72;
  background: #f8fafb;
  border-color: #e7ecef;
}

:where(.access-form, .admin-issue-modal > form, .operational-form) :is(input, textarea):read-only:not(:disabled) {
  color: var(--ink-soft);
  background: #fafbfc;
}

:where(.access-form, .admin-issue-modal > form, .operational-form) input:-webkit-autofill {
  caret-color: var(--ink);
  transition: background-color 9999s ease-out;
  -webkit-text-fill-color: var(--ink) !important;
  -webkit-box-shadow: 0 0 0 1000px var(--field-bg) inset !important;
  box-shadow: 0 0 0 1000px var(--field-bg) inset !important;
}

:where(.access-form, .admin-issue-modal > form, .operational-form) input:-webkit-autofill:hover {
  caret-color: var(--ink);
  transition: background-color 9999s ease-out;
  -webkit-text-fill-color: var(--ink) !important;
  -webkit-box-shadow: 0 0 0 1000px var(--field-bg) inset !important;
  box-shadow: 0 0 0 1000px var(--field-bg) inset !important;
}

:where(.access-form, .admin-issue-modal > form, .operational-form) input:-webkit-autofill:focus {
  caret-color: var(--ink);
  transition: background-color 9999s ease-out;
  -webkit-text-fill-color: var(--ink) !important;
  -webkit-box-shadow: 0 0 0 1000px var(--field-bg) inset !important;
  box-shadow: 0 0 0 1000px var(--field-bg) inset !important;
}

:where(.access-form, .admin-issue-modal > form, .operational-form) input:autofill {
  color: var(--ink) !important;
  background: var(--field-bg) !important;
  box-shadow: 0 0 0 1000px var(--field-bg) inset !important;
}

:where(.primary-action, .secondary-action, .admin-primary, .admin-secondary) {
  min-height: 46px;
  padding-inline: 18px;
}

.form-error:not(.admin-login-page .form-error) {
  border-radius: var(--radius-sm);
  background: #fcecf0b8;
  border: 1px solid #c43a5826;
  width: 100%;
  padding: 10px 13px;
}

@media (max-height: 760px) and (min-width: 901px) {
  .access-form, .access-form.compact {
    gap: 12px;
  }

  .access-form > :is(.primary-action, .secondary-action) {
    margin-top: 6px;
  }
}

@media (max-height: 720px) {
  .admin-issue-modal > form, .operational-form, .operational-form-grid {
    gap: 12px;
  }

  .admin-issue-modal footer, .operational-form footer {
    margin-top: 6px;
    padding-top: 10px;
  }
}

.admin-login-visual h2 {
  font-size: var(--title-display);
  letter-spacing: -.045em;
  line-height: 1.2;
}

.admin-login-heading h1, .panel-content h1, .admin-page-heading h1 {
  font-size: var(--title-page);
  letter-spacing: -.04em;
  line-height: 1.2;
}

.admin-chart-card h2 {
  font-size: var(--title-card);
  letter-spacing: -.025em;
  line-height: 1.35;
}

.admin-analytics-heading h2 {
  font-size: 1rem;
  line-height: 1.4;
}

.modal-card h2, .admin-issue-modal h2 {
  font-size: var(--title-dialog);
  letter-spacing: -.02em;
  line-height: 1.35;
}

@media (max-height: 760px) and (min-width: 701px) {
  .admin-login-visual h2 {
    font-size: clamp(1.7rem, 2.8vw, 2.5rem);
  }

  .admin-login-heading h1, .panel-content h1, .admin-page-heading h1 {
    font-size: clamp(1.5rem, 2.2vw, 1.75rem);
  }
}

@media (max-width: 820px) {
  .admin-login-heading h1, .panel-content h1, .admin-page-heading h1 {
    font-size: clamp(1.45rem, 6vw, 1.75rem);
  }

  .admin-chart-card h2 {
    font-size: clamp(.92rem, 3.8vw, 1.05rem);
  }
}

.clinic-sidebar .admin-sidebar-header small {
  padding-inline-start: 0;
}

.clinic-sidebar .admin-sidebar-header .aitricho-wordmark {
  font-size: 1.24rem;
}

.clinic-sidebar .admin-sidebar-footer form, .clinic-sidebar .admin-logout {
  width: 100%;
}

.clinic-overview-hero {
  isolation: isolate;
  align-items: center;
  display: grid;
  position: relative;
}

.clinic-overview-hero:before {
  z-index: -1;
  border: 1px solid rgba(var(--brand-rgb),.1);
  content: "";
  width: 300px;
  height: 300px;
  box-shadow: 0 0 0 42px rgba(var(--brand-rgb),.025),0 0 0 86px rgba(var(--brand-rgb),.018);
  border-radius: 50%;
  position: absolute;
  inset-block-start: -175px;
  inset-inline-end: -155px;
}

.clinic-overview-copy {
  align-content: center;
  display: grid;
}

.clinic-overview-copy > span {
  width: max-content;
  color: var(--brand);
  background: var(--brand-soft);
  font-size: 12px;
  font-weight: 500;
}

.clinic-overview-copy h1 {
  color: var(--ink);
  margin: 0;
}

.clinic-overview-copy p {
  margin: 0;
  font-weight: 500;
}

.clinic-overview-actions button {
  cursor: pointer;
  text-align: start;
  align-items: center;
  display: grid;
  position: relative;
  overflow: hidden;
}

.clinic-capture-launch {
  isolation: isolate;
  color: #fff;
  background: linear-gradient(132deg,#2a7cba 0%,var(--brand) 52%,#0e4670 100%);
  border: 1px solid #ffffff80;
  grid-template-columns: 62px minmax(0, 1fr) 36px;
  gap: 16px;
  transition: transform .25s cubic-bezier(.2, .8, .2, 1), box-shadow .25s, filter .25s;
  transform: translateY(-2px);
  box-shadow: 0 7px #103e61, 0 21px 42px #11466c47, inset 0 1px #fff6, inset 0 -10px 24px #0521351f;
}

.clinic-capture-launch:before {
  z-index: -1;
  content: "";
  filter: blur(2px);
  background: linear-gradient(90deg, #0000, #ffffff38, #0000);
  width: 46%;
  height: 180%;
  animation: 4.2s ease-in-out infinite clinic-capture-shine;
  position: absolute;
  top: -40%;
  left: -60%;
  transform: rotate(18deg);
}

.clinic-capture-launch:after {
  z-index: -1;
  content: "";
  border: 1px solid #ffffff29;
  border-radius: 50%;
  width: 150px;
  height: 150px;
  position: absolute;
  inset-block-start: -90px;
  inset-inline-end: -62px;
  box-shadow: 0 0 0 30px #ffffff09;
}

.clinic-capture-launch:hover {
  filter: saturate(1.08);
  transform: translateY(-5px);
  box-shadow: 0 10px #103e61, 0 29px 52px #11466c59, inset 0 1px #ffffff75, inset 0 -10px 24px #0521351a;
}

.clinic-capture-launch:active {
  transform: translateY(3px);
  box-shadow: 0 3px #103e61, 0 11px 22px #11466c40, inset 0 1px #ffffff59;
}

.clinic-capture-launch > i {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: linear-gradient(145deg, #ffffff45, #ffffff1c);
  border: 1px solid #ffffff52;
  border-radius: 20px;
  place-items: center;
  width: 62px;
  height: 62px;
  font-style: normal;
  display: grid;
  box-shadow: 0 10px 22px #041c2e33, inset 0 1px #fff6;
}

.clinic-capture-launch svg {
  fill: none;
  stroke: #fff;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.55px;
  filter: drop-shadow(0 4px 7px #041d3047);
  width: 30px;
  height: 30px;
}

.clinic-overview-actions button > span {
  gap: 6px;
}

.clinic-capture-launch strong {
  color: #fff;
  text-overflow: ellipsis;
  text-shadow: 0 2px 10px #041d2f38;
  white-space: nowrap;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
  overflow: hidden;
}

.clinic-capture-launch small {
  color: #ffffffe0;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.65;
  overflow: hidden;
}

.clinic-capture-launch > b {
  color: #fff;
  background: #ffffff26;
  border-radius: 50%;
  place-items: center;
  width: 34px;
  height: 34px;
  font-size: 17px;
  display: grid;
  box-shadow: inset 0 1px #ffffff3d;
}

.clinic-patients-launch {
  border: 1px solid rgba(var(--brand-rgb),.14);
  color: var(--ink);
  -webkit-backdrop-filter: blur(16px) saturate(1.12);
  backdrop-filter: blur(16px) saturate(1.12);
  background: #ffffffc7;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 12px;
  transition: border-color .22s, background .22s, box-shadow .22s, transform .22s;
  box-shadow: 0 14px 30px #1f344412, inset 0 1px #fff;
}

.clinic-patients-launch:hover {
  border-color: rgba(var(--brand-rgb),.28);
  background: #fff;
  transform: translateY(-4px);
  box-shadow: 0 20px 42px #1f34441f, inset 0 1px #fff;
}

.clinic-patients-launch > svg {
  fill: none;
  width: 48px;
  height: 48px;
  stroke: var(--brand);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.55px;
  background: var(--brand-soft);
  border-radius: 16px;
  padding: 12px;
  box-shadow: inset 0 1px #fff;
}

.clinic-patients-launch strong {
  color: #3a464e;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  overflow: hidden;
}

.clinic-patients-launch small {
  color: #6d7880;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.65;
  overflow: hidden;
}

.clinic-patients-launch > b {
  color: var(--brand);
  font-size: 17px;
}

.clinic-console[dir="ltr"] .clinic-overview-actions button > b {
  transform: scaleX(-1);
}

.clinic-overview-kpis {
  margin-top: 2px;
}

.clinic-dashboard-grid {
  grid-template-columns: minmax(0, 1fr);
  display: grid;
}

.clinic-activity-card {
  overflow: hidden;
}

.clinic-activity-card > header > strong {
  min-width: 144px;
  min-height: 46px;
  color: var(--success);
  background: linear-gradient(145deg,#f7fffc,var(--success-soft));
  border: 1px solid #22917124;
  border-radius: 16px;
  align-content: center;
  justify-items: center;
  padding: 5px 11px;
  display: grid;
  box-shadow: inset 0 1px #fff;
}

.clinic-activity-card > header > strong b {
  font-size: .78rem;
  line-height: 1.2;
}

.clinic-activity-card > header > strong small {
  color: #397e6a;
  font-weight: 500;
}

.clinic-activity-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 15px;
  display: grid;
}

.clinic-activity-summary > div {
  border: 1px solid rgba(var(--brand-rgb),.09);
  align-content: center;
  gap: 3px;
  min-height: 82px;
  padding: 12px 14px;
  display: grid;
}

.clinic-activity-summary span, .clinic-activity-summary small {
  color: #657078;
  font-size: 12px;
  font-weight: 500;
}

.clinic-activity-summary strong {
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 20px;
  font-weight: 500;
  overflow: hidden;
}

.clinic-week-chart {
  border: 1px solid rgba(var(--brand-rgb),.08);
  background: repeating-linear-gradient(to top,rgba(var(--brand-rgb),.035) 0,rgba(var(--brand-rgb),.035) 1px,transparent 1px,transparent 48px),#ffffff94;
  border-radius: 20px;
  grid-template-columns: repeat(7, minmax(36px, 1fr));
  gap: clamp(7px, 1.5vw, 15px);
  height: 238px;
  margin-top: 14px;
  padding: 14px 12px 10px;
  display: grid;
}

.clinic-week-chart > div {
  border-radius: 15px;
  grid-template-rows: 29px minmax(0, 1fr) 30px;
  place-items: end center;
  min-width: 0;
  height: 100%;
  padding: 5px 4px 0;
  transition: background .22s, box-shadow .22s, transform .22s;
  display: grid;
}

.clinic-week-chart > div:hover {
  background: rgba(var(--brand-rgb),.065);
  box-shadow: inset 0 0 0 1px rgba(var(--brand-rgb),.08);
  transform: translateY(-3px);
}

.clinic-week-chart > div > strong {
  color: #58656f;
  background: #fff;
  border-radius: 9px;
  place-items: center;
  min-width: 28px;
  min-height: 24px;
  font-size: 12px;
  font-weight: 500;
  transition: color .22s, background .22s;
  display: grid;
  box-shadow: 0 5px 14px #1f344414;
}

.clinic-week-chart > div:hover > strong {
  color: #fff;
  background: var(--brand);
}

.clinic-week-chart > div > span {
  justify-content: center;
  align-items: flex-end;
  width: 100%;
  height: 100%;
  display: flex;
}

.clinic-week-chart > div > span > i {
  background: linear-gradient(180deg,#66a9dc 0%,var(--brand) 88%);
  width: min(42px, 62%);
  min-height: 16px;
  box-shadow: 0 10px 20px rgba(var(--brand-rgb),.18),inset 0 1px 0 #ffffff4d;
  transform-origin: bottom;
  border-radius: 12px 12px 5px 5px;
  transition: filter .22s, transform .22s;
  animation: .55s both clinic-bar-enter;
  display: block;
}

.clinic-week-chart > div:hover > span > i {
  filter: saturate(1.18) brightness(1.04);
  transform: scaleX(1.1);
}

.clinic-week-chart > div:nth-child(6) > span > i {
  background: linear-gradient(#58c9ac, #168f70);
  box-shadow: 0 10px 20px #168f7033;
}

.clinic-week-chart > div:nth-child(2) > span > i {
  animation-delay: 40ms;
}

.clinic-week-chart > div:nth-child(3) > span > i {
  animation-delay: 80ms;
}

.clinic-week-chart > div:nth-child(4) > span > i {
  animation-delay: .12s;
}

.clinic-week-chart > div:nth-child(5) > span > i {
  animation-delay: .16s;
}

.clinic-week-chart > div:nth-child(6) > span > i {
  animation-delay: .2s;
}

.clinic-week-chart > div:nth-child(7) > span > i {
  animation-delay: .24s;
}

.clinic-week-chart small {
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
  font-weight: 500;
  overflow: hidden;
}

.clinic-week-chart small > b {
  display: none;
}

.clinic-patient-status {
  border-radius: 99px;
  align-items: center;
  min-height: 24px;
  padding: 3px 9px;
  font-weight: 500;
  display: inline-flex;
}

.clinic-patient-status.ready {
  color: #116e57;
  background: #e5f5ef;
}

.clinic-patient-status.follow {
  color: #9d5a22;
  background: #fff0e2;
}

.clinic-patient-status.new {
  color: var(--brand);
  background: var(--brand-soft);
}

.clinic-module-placeholder {
  border: 1px dashed rgba(var(--brand-rgb),.2);
  min-height: clamp(330px, 56vh, 560px);
  color: var(--muted);
  background: radial-gradient(circle at 50% 35%,rgba(var(--brand-rgb),.07),transparent 36%),#ffffff94;
  text-align: center;
  border-radius: 22px;
  align-content: center;
  place-items: center;
  gap: 10px;
  padding: 30px;
  display: grid;
}

.clinic-module-placeholder > div {
  color: #fff;
  background: linear-gradient(145deg,#317eb8,var(--brand-deep));
  width: 58px;
  height: 58px;
  box-shadow: 0 15px 28px rgba(var(--brand-rgb),.21);
  border-radius: 50%;
  place-items: center;
  display: grid;
}

.clinic-module-placeholder svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5px;
  width: 25px;
  height: 25px;
}

.clinic-module-placeholder h2 {
  color: var(--ink-soft);
  font-size: var(--title-card);
  margin: 6px 0 0;
}

.clinic-module-placeholder p {
  max-width: 560px;
  margin: 0;
  line-height: 1.8;
}

@keyframes clinic-bar-enter {
  from {
    opacity: 0;
    transform: scaleY(.12);
  }

  to {
    opacity: 1;
    transform: scaleY(1);
  }
}

@keyframes clinic-capture-shine {
  0%, 48%, 100% {
    opacity: 0;
    left: -60%;
  }

  58% {
    opacity: 1;
  }

  76% {
    opacity: 0;
    left: 125%;
  }
}

@keyframes clinic-capture-orbit {
  0%, 100% {
    opacity: .68;
    transform: scale(.95)rotate(0);
  }

  50% {
    opacity: 1;
    transform: scale(1.04)rotate(8deg);
  }
}

@media (max-width: 980px) {
  .clinic-overview-actions {
    grid-template-columns: 1fr;
  }

  .clinic-overview-actions button {
    min-height: 104px;
  }
}

@media (max-width: 820px) {
  .clinic-sidebar .admin-sidebar-header .aitricho-wordmark {
    font-size: 1.08rem;
  }

  .clinic-main .admin-header-actions {
    flex-wrap: wrap;
  }

  .clinic-dashboard-grid {
    gap: 13px;
  }

  .clinic-week-chart {
    height: 210px;
  }

  .clinic-activity-summary {
    grid-template-columns: 1fr 1fr;
  }

  .clinic-activity-summary > div:first-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 560px) {
  .clinic-main .admin-header-actions {
    grid-template-columns: auto minmax(0, 1fr);
    display: grid;
  }

  .clinic-main .language-switcher {
    min-width: 0;
  }

  .clinic-activity-card > header {
    align-items: flex-start;
  }

  .clinic-activity-card > header > strong {
    min-width: 118px;
  }

  .clinic-activity-summary {
    grid-template-columns: 1fr;
  }

  .clinic-activity-summary > div:first-child {
    grid-column: auto;
  }

  .clinic-week-chart {
    grid-template-columns: repeat(7, minmax(28px, 1fr));
    gap: 3px;
    height: 190px;
    padding-inline: 6px;
  }

  .clinic-week-chart > div {
    padding-inline: 1px;
  }

  .clinic-week-chart > div > span > i {
    width: min(30px, 72%);
  }

  .clinic-week-chart small > span {
    display: none;
  }

  .clinic-week-chart small > b {
    display: inline;
  }

  .clinic-overview-hero {
    border-radius: 22px;
  }

  .clinic-capture-launch {
    grid-template-columns: 52px minmax(0, 1fr) 30px;
  }

  .clinic-capture-launch > i {
    border-radius: 17px;
    width: 52px;
    height: 52px;
  }

  .clinic-capture-launch strong {
    white-space: normal;
    font-size: 16px;
  }

  .clinic-capture-launch small, .clinic-patients-launch small {
    white-space: normal;
  }

  .clinic-module-placeholder {
    min-height: 320px;
    padding: 22px 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .clinic-week-chart > div > span > i, .clinic-capture-launch:before, .clinic-capture-launch:after {
    animation: none !important;
  }

  .clinic-capture-launch, .clinic-patients-launch, .clinic-week-chart > div {
    transition: none;
  }
}

.clinic-settings-page {
  scroll-behavior: smooth;
  gap: 16px;
}

html[data-aitricho-text-scale="large"] .clinic-console {
  font-size: 1.075rem;
}

html[data-aitricho-text-scale="xlarge"] .clinic-console {
  font-size: 1.15rem;
}

.clinic-settings-hero {
  isolation: isolate;
  border: 1px solid rgba(var(--brand-rgb),.13);
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
  align-items: center;
  gap: 22px;
  padding: clamp(24px, 3vw, 38px);
  display: grid;
  position: relative;
  overflow: hidden;
}

.clinic-settings-hero:after {
  z-index: -1;
  border: 1px solid rgba(var(--brand-rgb),.1);
  content: "";
  width: 240px;
  height: 240px;
  box-shadow: 0 0 0 42px rgba(var(--brand-rgb),.025);
  border-radius: 50%;
  position: absolute;
  inset-block-start: -135px;
  inset-inline-end: -110px;
}

.clinic-settings-hero > div {
  gap: 7px;
  display: grid;
}

.clinic-settings-hero > div > span {
  width: max-content;
  color: var(--brand);
  background: var(--brand-soft);
  font-size: 12px;
  font-weight: 500;
}

.clinic-settings-hero h1 {
  color: var(--ink);
  margin: 0;
  line-height: 1.35;
}

.clinic-settings-hero p {
  color: #5e6a72;
  max-width: 700px;
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.85;
}

.clinic-settings-hero > aside {
  border: 1px solid rgba(var(--brand-rgb),.13);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  background: #ffffffbd;
  border-radius: 22px;
  grid-template-columns: 64px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  padding: 16px;
  display: grid;
  box-shadow: 0 13px 28px #1f34440f, inset 0 1px #fff;
}

.clinic-settings-hero > aside > b {
  color: #fff;
  background: linear-gradient(145deg,#7c1695,var(--brand-deep));
  width: 64px;
  height: 64px;
  box-shadow: 0 10px 24px rgba(var(--brand-rgb),.23);
  border-radius: 20px;
  place-items: center;
  font-size: 18px;
  display: grid;
}

.clinic-settings-hero > aside > div {
  gap: 4px;
  display: grid;
}

.clinic-settings-hero > aside strong {
  color: #303d47;
  font-size: 14px;
  line-height: 1.65;
}

.clinic-settings-hero > aside small {
  color: #667179;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.7;
}

.clinic-settings-jump {
  z-index: 8;
  border: 1px solid rgba(var(--brand-rgb),.11);
  scrollbar-width: none;
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
  backdrop-filter: blur(18px) saturate(1.15);
  background: #ffffffd1;
  border-radius: 20px;
  gap: 7px;
  padding: 8px;
  display: flex;
  position: sticky;
  top: 10px;
  overflow-x: auto;
  box-shadow: 0 12px 28px #1f34440f;
}

.clinic-settings-jump::-webkit-scrollbar {
  display: none;
}

.clinic-settings-jump button {
  color: #56626b;
  cursor: pointer;
  white-space: nowrap;
  background: none;
  border: 0;
  flex: none;
  min-height: 38px;
  padding: 9px 13px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
  transition: color .2s, background .2s, transform .2s, box-shadow .2s;
  border-radius: 14px !important;
}

.clinic-settings-jump button:hover {
  color: var(--brand);
  background: var(--brand-soft);
  transform: translateY(-1px);
}

.clinic-settings-jump button.active {
  color: #fff;
  background: linear-gradient(135deg,#7c1695,var(--brand-deep));
  box-shadow: 0 8px 18px rgba(var(--brand-rgb),.2);
}

.clinic-settings-form {
  gap: 16px;
  display: grid;
}

.clinic-settings-section {
  border: 1px solid rgba(var(--brand-rgb),.1);
  background: #ffffffeb;
  border-radius: 26px;
  gap: 17px;
  padding: clamp(18px, 2.4vw, 28px);
  scroll-margin-top: 88px;
  display: grid;
  box-shadow: 0 15px 38px #20323f0b;
}

.clinic-settings-section > header {
  border-bottom: 1px solid #e5ebf0;
  align-items: center;
  gap: 11px;
  padding-bottom: 14px;
  display: flex;
}

.clinic-settings-section h2 {
  color: #28343d;
  margin: 0;
  font-size: clamp(1.05rem, 1.7vw, 1.35rem);
}

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

.clinic-settings-grid.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.clinic-settings-grid > label {
  color: #47525a;
  gap: 7px;
  min-width: 0;
  font-size: 13px;
  font-weight: 500;
  display: grid;
}

.clinic-settings-grid > label.wide {
  grid-column: 1 / -1;
}

.clinic-settings-grid :is(input, select, textarea) {
  border: 1px solid rgba(var(--brand-rgb),.14);
  color: #27323a;
  background: #fff;
  border-radius: 17px;
  outline: 0;
  width: 100%;
  min-width: 0;
  min-height: 54px;
  padding: 11px 16px;
  font-family: inherit;
  font-size: 14px;
  transition: border-color .2s, box-shadow .2s, transform .2s;
  box-shadow: 0 8px 20px #1f34440a, inset 0 1px #fff;
}

.clinic-settings-grid textarea {
  resize: vertical;
  min-height: 106px;
  line-height: 1.8;
}

.clinic-settings-grid :is(input, select, textarea):focus {
  border-color: rgba(var(--brand-rgb),.48);
  box-shadow: 0 0 0 4px rgba(var(--brand-rgb),.09),0 12px 24px #1f344412;
  transform: translateY(-1px);
}

.clinic-settings-grid :is(input, select):disabled {
  cursor: not-allowed;
  opacity: .56;
}

.clinic-settings-grid.single {
  grid-template-columns: minmax(280px, 620px);
}

.clinic-guide-setting {
  border: 1px solid rgba(var(--brand-rgb),.11);
  background: linear-gradient(145deg, #fff, #f6fafd);
  border-radius: 22px;
  gap: 14px;
  padding: 16px;
  display: grid;
  box-shadow: 0 12px 28px #1f34440b;
}

.clinic-guide-setting > header strong {
  color: #36454f;
  font-size: 14px;
}

.clinic-guide-setting > header p {
  color: #667179;
  max-width: 780px;
  margin: 4px 0 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.75;
}

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

.clinic-guide-model-options > button {
  min-height: 108px;
  color: inherit;
  cursor: pointer;
  text-align: start;
  background: #fff;
  border: 1px solid #e0e6eb;
  grid-template-columns: 88px minmax(0, 1fr);
  align-items: center;
  gap: 13px;
  padding: 9px;
  font-family: inherit;
  transition: border-color .2s, box-shadow .2s, transform .2s, background .2s;
  display: grid;
  overflow: hidden;
  box-shadow: 0 8px 20px #1f34440a;
  border-radius: 18px !important;
}

.clinic-guide-model-options > button:hover {
  border-color: rgba(var(--brand-rgb),.24);
  transform: translateY(-2px);
  box-shadow: 0 13px 26px #1f344414;
}

.clinic-guide-model-options > button.selected {
  border-color: rgba(var(--brand-rgb),.48);
  box-shadow: 0 0 0 4px rgba(var(--brand-rgb),.07),0 14px 28px #183f5b14;
  background: linear-gradient(135deg, #fff, #f1f8fd);
}

.clinic-guide-model-options img {
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 14px;
  width: 88px;
  display: block;
}

.clinic-guide-model-options span {
  gap: 5px;
  display: grid;
}

.clinic-guide-model-options strong {
  color: #333f48;
  font-size: 14px;
  font-weight: 500;
}

.clinic-guide-model-options small {
  color: #69747c;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.6;
}

.clinic-guide-model-options > button.selected small {
  color: var(--brand);
}

.clinic-guide-model-preview {
  border-top: 1px solid #e5ebf0;
  gap: 10px;
  padding-top: 14px;
  display: grid;
}

.clinic-guide-model-preview > header {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.clinic-guide-model-preview > header strong {
  color: #3b4750;
  font-size: 13px;
}

.clinic-guide-model-preview > header span {
  color: #6c777f;
  font-size: 12px;
  font-weight: 500;
}

.clinic-guide-model-preview > div {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  display: grid;
}

.clinic-guide-model-preview figure {
  aspect-ratio: 1;
  background: #fff;
  border: 1px solid #e0e6eb;
  border-radius: 16px;
  margin: 0;
  position: relative;
  overflow: hidden;
}

.clinic-guide-model-preview img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform .28s cubic-bezier(.16, 1, .3, 1);
  display: block;
}

.clinic-guide-model-preview figure:hover img {
  transform: scale(1.035);
}

.clinic-guide-model-preview i {
  color: #fff;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: #153851b8;
  border: 1px solid #ffffffb8;
  border-radius: 9px;
  place-items: center;
  width: 24px;
  height: 24px;
  font-style: normal;
  font-weight: 500;
  display: grid;
  position: absolute;
  inset: 8px 8px auto auto;
  box-shadow: 0 5px 12px #0e24342e;
}

.clinic-logo-control {
  border: 1px dashed rgba(var(--brand-rgb),.2);
  background: #f9fcfe;
  border-radius: 20px;
  grid-column: 1 / -1;
  grid-template-columns: 84px minmax(0, 1fr);
  align-items: center;
  gap: 15px;
  padding: 14px;
  display: grid;
}

.clinic-logo-control > div {
  width: 84px;
  height: 84px;
  color: var(--brand);
  background: #fff;
  border: 1px solid #dfe8ef;
  border-radius: 20px;
  place-items: center;
  font-size: 22px;
  font-weight: 500;
  display: grid;
  overflow: hidden;
}

.clinic-logo-control img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.clinic-logo-control label {
  justify-items: start;
  gap: 4px;
  display: grid;
}

.clinic-logo-control strong {
  color: #37434b;
  font-size: 14px;
}

.clinic-logo-control small {
  color: #786b7c;
  font-size: 12px;
}

.clinic-logo-control input {
  opacity: 0;
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
}

.clinic-logo-control b {
  color: var(--brand);
  background: var(--brand-soft);
  cursor: pointer;
  border-radius: 13px;
  margin-top: 4px;
  padding: 8px 13px;
  font-size: 12px;
}

.clinic-settings-local-hint, .clinic-settings-readonly {
  color: #5e6a72;
  background: #f4f9fc;
  border-radius: 15px;
  margin: 0;
  padding: 10px 13px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.75;
}

.clinic-device-actions, .clinic-data-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  display: flex;
}

.clinic-device-actions button, .clinic-data-actions button, .clinic-settings-danger {
  border: 1px solid rgba(var(--brand-rgb),.16);
  min-height: 42px;
  color: var(--brand);
  cursor: pointer;
  background: #fff;
  padding: 8px 15px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
  transition: transform .2s, box-shadow .2s, background .2s;
  box-shadow: 0 8px 18px #1f34440b;
  border-radius: 14px !important;
}

.clinic-device-actions button:hover, .clinic-data-actions button:hover, .clinic-settings-danger:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px #1f344417;
}

.clinic-device-actions button.primary {
  color: #fff;
  background: linear-gradient(135deg,#7c1695,var(--brand-deep));
  border-color: #0000;
}

.clinic-device-actions > span {
  color: var(--success);
  font-size: 12px;
  font-weight: 500;
}

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

.clinic-settings-toggle, .clinic-settings-toggles > article {
  cursor: pointer;
  background: #fbfcfd;
  border: 1px solid #e5ebf0;
  border-radius: 17px;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  min-width: 0;
  min-height: 60px;
  padding: 10px 13px;
  display: grid;
}

.clinic-settings-toggle input {
  opacity: 0;
  pointer-events: none;
  position: absolute;
}

.clinic-settings-toggle > span {
  background: #d0d7dc;
  border-radius: 99px;
  width: 44px;
  height: 25px;
  transition: background .2s;
  display: block;
  position: relative;
  box-shadow: inset 0 2px 5px #222f391f;
}

.clinic-settings-toggle > span:after {
  top: 3px;
  content: "";
  background: #fff;
  border-radius: 50%;
  width: 19px;
  height: 19px;
  transition: transform .22s;
  position: absolute;
  inset-inline-start: 3px;
  box-shadow: 0 3px 8px #222f392e;
}

.clinic-settings-toggle input:checked + span {
  background: linear-gradient(90deg,#931eb0,var(--brand));
}

.clinic-console[dir="rtl"] .clinic-settings-toggle input:checked + span:after {
  transform: translateX(-19px);
}

.clinic-console[dir="ltr"] .clinic-settings-toggle input:checked + span:after {
  transform: translateX(19px);
}

.clinic-settings-toggle strong, .clinic-settings-toggles > article strong {
  color: #424d55;
  font-size: 13px;
  line-height: 1.55;
}

.clinic-settings-toggles > article > span {
  background: #c6cdd2;
  border-radius: 50%;
  justify-self: center;
  width: 12px;
  height: 12px;
  box-shadow: 0 0 0 6px #edf0f3;
}

.clinic-settings-toggles > article > span.ready {
  background: var(--success);
  box-shadow: 0 0 0 6px var(--success-soft);
}

.clinic-settings-toggles > article > div {
  gap: 2px;
  display: grid;
}

.clinic-settings-toggles > article small {
  color: #786a7c;
  font-size: 12px;
  line-height: 1.6;
}

.clinic-settings-danger {
  color: #a33b52;
  background: #fff8fa;
  border-color: #b439532e;
  width: max-content;
}

.clinic-license-summary {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 9px;
  display: grid;
}

.clinic-license-summary article {
  background: #fafbfc;
  border: 1px solid #e4eaef;
  border-radius: 17px;
  align-content: center;
  gap: 6px;
  min-width: 0;
  min-height: 88px;
  padding: 12px 13px;
  display: grid;
}

.clinic-license-summary span {
  color: #677179;
  font-size: 12px;
}

.clinic-license-summary strong {
  color: #303a42;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 500;
  overflow: hidden;
}

.clinic-license-summary strong.positive {
  color: var(--success);
}

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

.clinic-data-summary article {
  border: 1px solid rgba(var(--brand-rgb),.09);
  background: linear-gradient(145deg, #fff, #f6fafc);
  border-radius: 18px;
  align-content: center;
  gap: 4px;
  min-height: 92px;
  padding: 13px 15px;
  display: grid;
}

.clinic-data-summary strong {
  color: var(--brand);
  font-size: 21px;
}

.clinic-data-summary span {
  color: #677179;
  font-size: 12px;
  font-weight: 500;
}

.clinic-data-actions button.danger {
  color: #a33b52;
  background: #fff8fa;
  border-color: #b4395329;
}

.clinic-subscription-card {
  background: radial-gradient(circle at 12% 12%, #3bbe951f, #0000 32%), linear-gradient(135deg, #fff, #f8fffc);
  border: 1px solid #2297772e;
  border-radius: 24px;
  grid-template-columns: 150px minmax(260px, 1fr) minmax(250px, .72fr);
  align-items: center;
  gap: 22px;
  padding: 22px;
  display: grid;
  overflow: hidden;
  box-shadow: 0 18px 44px #25745c14;
}

.clinic-subscription-card.expired {
  background: radial-gradient(circle at 12% 12%, #cd4a5f1a, #0000 32%), linear-gradient(135deg, #fff, #fff8fa);
  border-color: #bc43552e;
}

.clinic-subscription-ring {
  --subscription-progress: 0deg;
  aspect-ratio: 1;
  background: conic-gradient(#249875 var(--subscription-progress),#e8eeeb 0);
  border-radius: 50%;
  place-items: center;
  width: 132px;
  display: grid;
  box-shadow: 0 15px 28px #1d7a5e1f;
}

.clinic-subscription-ring:before {
  aspect-ratio: 1;
  content: "";
  background: #fff;
  border-radius: 50%;
  grid-area: 1 / 1;
  width: 102px;
  box-shadow: inset 0 0 0 1px #2297771a;
}

.clinic-subscription-ring > div {
  z-index: 1;
  text-align: center;
  grid-area: 1 / 1;
  place-items: center;
  gap: 1px;
  display: grid;
}

.clinic-subscription-ring strong {
  color: #1f8c6c;
  font-size: 28px;
  line-height: 1;
}

.clinic-subscription-ring span {
  color: #68766f;
  font-size: 12px;
  font-weight: 500;
}

.clinic-subscription-card.expired .clinic-subscription-ring {
  background: conic-gradient(#c14d61 360deg,#f1e5e8 0);
}

.clinic-subscription-card.expired .clinic-subscription-ring strong {
  color: #b43e53;
}

.clinic-subscription-copy {
  gap: 7px;
  display: grid;
}

.clinic-subscription-copy > span {
  color: #197d60;
  background: #e7f7f1;
  border-radius: 999px;
  width: max-content;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 500;
}

.clinic-subscription-card.expired .clinic-subscription-copy > span {
  color: #aa374d;
  background: #fdebef;
}

.clinic-subscription-copy h3 {
  color: #27323a;
  margin: 0;
  font-size: clamp(17px, 2vw, 22px);
}

.clinic-subscription-copy p {
  color: #646f76;
  margin: 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.8;
}

.clinic-subscription-copy button {
  color: #fff;
  background: linear-gradient(135deg,#7c1695,var(--brand-deep));
  width: max-content;
  min-height: 44px;
  box-shadow: 0 12px 24px rgba(var(--brand-rgb),.2);
  cursor: pointer;
  border: 0;
  padding: 9px 18px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 500;
  border-radius: 14px !important;
}

.clinic-entitlement-list {
  gap: 9px;
  display: grid;
}

.clinic-entitlement-list article {
  background: #ffffffd1;
  border: 1px solid #e1e7eb;
  border-radius: 16px;
  align-items: center;
  gap: 10px;
  padding: 11px;
  display: flex;
}

.clinic-entitlement-list article > span {
  background: #bdc6cc;
  border-radius: 50%;
  flex: none;
  width: 12px;
  height: 12px;
  box-shadow: 0 0 0 5px #eff2f5;
}

.clinic-entitlement-list article > span.on {
  background: #289a78;
  box-shadow: 0 0 0 5px #e4f5ef;
}

.clinic-entitlement-list article div {
  gap: 2px;
  display: grid;
}

.clinic-entitlement-list strong {
  color: #3b4750;
  font-size: 12px;
}

.clinic-entitlement-list small {
  color: #7b6d7f;
  font-size: 12px;
  font-weight: 500;
}

.clinic-settings-permanent {
  color: #426b5f;
  background: #f4fbf8;
  border: 1px solid #22977721;
  border-radius: 16px;
  margin: 0;
  padding: 11px 14px;
  font-size: 12px;
  font-weight: 500;
}

.clinic-settings-save {
  z-index: 1;
  border: 1px solid rgba(var(--brand-rgb),.15);
  -webkit-backdrop-filter: blur(20px) saturate(1.18);
  backdrop-filter: blur(20px) saturate(1.18);
  background: #ffffffe0;
  border-radius: 20px;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin-top: 28px;
  margin-bottom: 20px;
  padding: 10px 12px 10px 18px;
  display: flex;
  position: relative;
  bottom: auto;
  box-shadow: 0 18px 42px #1f344424;
}

.clinic-settings-save > div {
  color: #5d6971;
  font-size: 12px;
  font-weight: 500;
}

.clinic-settings-save button {
  color: #fff;
  background: linear-gradient(135deg,#7c1695,var(--brand-deep));
  min-width: 170px;
  min-height: 48px;
  box-shadow: 0 10px 24px rgba(var(--brand-rgb),.24);
  cursor: pointer;
  border: 0;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  border-radius: 16px !important;
}

.clinic-settings-save button:disabled {
  cursor: wait;
  opacity: .65;
}

.clinic-settings-notice {
  border-radius: 16px;
  padding: 11px 14px;
  font-size: 13px;
  font-weight: 500;
}

.clinic-settings-notice.is-success {
  color: #14795f;
  background: #e9f8f2;
}

.clinic-settings-notice.is-error {
  color: #a43b52;
  background: #fff0f3;
}

.clinic-settings-state {
  align-content: center;
  place-items: center;
  gap: 12px;
  min-height: 440px;
  display: grid;
}

.clinic-settings-state > span {
  border: 4px solid #dde6ec;
  border-top-color: var(--brand);
  border-radius: 50%;
  width: 44px;
  height: 44px;
  animation: .8s linear infinite clinic-record-spin;
}

.clinic-settings-state strong {
  color: #4d5962;
  font-size: 14px;
}

.clinic-settings-state button {
  color: #fff;
  background: var(--brand);
  cursor: pointer;
  border: 0;
  border-radius: 14px;
  padding: 10px 16px;
}

@media (max-width: 1050px) {
  .clinic-settings-hero {
    grid-template-columns: 1fr;
  }

  .clinic-license-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .clinic-subscription-card {
    grid-template-columns: 140px minmax(0, 1fr);
  }

  .clinic-entitlement-list {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .clinic-settings-grid, .clinic-settings-grid.three, .clinic-settings-toggles {
    grid-template-columns: 1fr;
  }

  .clinic-settings-grid > label.wide {
    grid-column: auto;
  }

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

  .clinic-data-summary {
    grid-template-columns: 1fr;
  }

  .clinic-settings-save {
    margin-top: 20px;
    bottom: auto;
  }

  .clinic-settings-save button {
    min-width: 142px;
  }

  .clinic-subscription-card {
    text-align: center;
    grid-template-columns: 1fr;
  }

  .clinic-subscription-ring {
    margin-inline: auto;
  }

  .clinic-subscription-copy {
    justify-items: center;
  }

  .clinic-entitlement-list {
    text-align: start;
    grid-column: auto;
    grid-template-columns: 1fr;
  }

  .clinic-guide-model-options {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .clinic-settings-hero {
    border-radius: 22px;
    padding: 19px;
  }

  .clinic-settings-hero > aside {
    grid-template-columns: 52px minmax(0, 1fr);
  }

  .clinic-settings-hero > aside > b {
    border-radius: 17px;
    width: 52px;
    height: 52px;
  }

  .clinic-settings-section {
    border-radius: 22px;
    padding: 16px;
  }

  .clinic-license-summary {
    grid-template-columns: 1fr;
  }

  .clinic-logo-control {
    grid-template-columns: 66px minmax(0, 1fr);
  }

  .clinic-logo-control > div {
    width: 66px;
    height: 66px;
  }

  .clinic-settings-save {
    flex-direction: column;
    align-items: stretch;
  }

  .clinic-settings-save button {
    width: 100%;
  }

  .clinic-device-actions, .clinic-data-actions {
    grid-template-columns: 1fr;
    display: grid;
  }

  .clinic-settings-danger {
    width: 100%;
  }

  .clinic-guide-setting {
    padding: 13px;
  }

  .clinic-guide-model-options > button {
    grid-template-columns: 72px minmax(0, 1fr);
    min-height: 92px;
  }

  .clinic-guide-model-options img {
    width: 72px;
  }

  .clinic-guide-model-preview > header {
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
  }

  .clinic-guide-model-preview > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  .clinic-settings-state > span {
    animation: none;
  }

  .clinic-settings-jump button, .clinic-settings-grid :is(input, select, textarea), .clinic-device-actions button, .clinic-data-actions button, .clinic-settings-toggle > span, .clinic-settings-toggle > span:after, .clinic-guide-model-options > button, .clinic-guide-model-preview img {
    transition: none;
  }
}

.localized-date-picker {
  width: 100%;
  position: relative;
}

.localized-date-native {
  display: none;
}

.localized-date-trigger {
  width: 100%;
  min-height: var(--field-height);
  border: 1px solid var(--field-border);
  color: #aaa0ad;
  background: var(--field-bg);
  box-shadow: var(--field-shadow);
  cursor: pointer;
  text-align: start;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding-inline: 14px;
  transition: border-color .2s, box-shadow .2s, transform .2s;
  display: flex;
}

.localized-date-trigger.has-value {
  color: var(--ink);
}

.localized-date-trigger i, .localized-date-trigger .localized-date-chevron {
  width: 28px;
  height: 28px;
  color: var(--brand);
  background: var(--brand-soft);
  border-radius: 8px;
  flex: none;
  place-items: center;
  font-size: 1rem;
  font-style: normal;
  transition: transform .2s, background .2s;
  display: grid;
}

.localized-date-trigger[aria-expanded="true"] .localized-date-chevron {
  transform: rotate(180deg);
}

.localized-calendar {
  z-index: 120;
  top: calc(100% + 9px);
  overscroll-behavior: contain;
  border: 1px solid rgba(var(--brand-rgb),.15);
  scrollbar-color: rgba(var(--brand-rgb),.38) transparent;
  scrollbar-width: thin;
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  transform-origin: top;
  background: #fffffffa;
  border-radius: 22px;
  width: min(340px, 100vw - 32px);
  max-height: min(440px, 100dvh - 120px);
  padding: 13px;
  animation: .24s cubic-bezier(.2, .8, .25, 1) both localized-calendar-open;
  position: absolute;
  inset-inline-start: 0;
  overflow: auto;
  box-shadow: 0 24px 65px #14334a2e;
}

.localized-calendar > header {
  grid-template-columns: 34px minmax(0, 1fr) 34px;
  align-items: center;
  gap: 7px;
  display: grid;
}

.localized-calendar > header > button {
  width: 34px;
  height: 34px;
  color: var(--brand);
  background: var(--brand-soft);
  cursor: pointer;
  border: 0;
  place-items: center;
  font-size: 1.15rem;
  display: grid;
}

.localized-calendar > header > button:disabled {
  cursor: not-allowed;
  opacity: .35;
}

.localized-calendar > header > div {
  grid-template-columns: minmax(0, 1fr) 84px;
  gap: 6px;
  display: grid;
}

.localized-calendar select {
  width: 100%;
  min-height: 34px;
  color: var(--ink-soft);
  background: #f9fbfd;
  border: 1px solid #e5ebf0;
  border-radius: 12px;
  outline: 0;
  padding: 4px 8px;
  font-family: inherit;
  font-weight: 500;
}

.localized-calendar-weekdays, .localized-calendar-days {
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  display: grid;
}

.localized-calendar-weekdays {
  text-align: center;
  margin: 12px 0 5px;
  font-weight: 500;
}

.localized-calendar-days button {
  aspect-ratio: 1;
  color: #4a5862;
  cursor: pointer;
  background: none;
  border: 0;
  place-items: center;
  min-width: 0;
  font-family: inherit;
  transition: color .16s, background .16s, transform .16s, box-shadow .16s;
  display: grid;
  border-radius: 12px !important;
}

.localized-calendar-days button:hover:not(:disabled) {
  color: var(--brand);
  background: var(--brand-soft);
  transform: translateY(-1px);
}

.localized-calendar-days button.selected {
  color: #fff;
  background: linear-gradient(145deg,#3284c1,var(--brand-deep));
  box-shadow: 0 7px 16px rgba(var(--brand-rgb),.24);
}

.localized-calendar-days button:disabled {
  cursor: not-allowed;
  opacity: .25;
}

.localized-calendar > footer {
  border-top: 1px solid #e9eef1;
  justify-content: space-between;
  align-items: center;
  margin-top: 9px;
  padding-top: 9px;
  display: flex;
}

.localized-calendar > footer button {
  color: var(--brand);
  background: var(--brand-soft);
  cursor: pointer;
  border: 0;
  padding: 6px 10px;
  font-weight: 500;
}

@keyframes localized-calendar-open {
  from {
    opacity: 0;
    transform: translateY(-8px)scale(.97);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.clinic-record-actions {
  display: grid;
}

.clinic-record-actions > aside {
  justify-content: center;
  align-items: baseline;
  gap: 7px;
  min-width: 0;
  padding: 9px 14px;
  display: flex;
}

.clinic-record-actions > aside b {
  font-size: 1.25rem;
}

.clinic-record-new-session, .clinic-record-trend-action {
  border: 1px solid rgba(var(--brand-rgb),.14);
  border-radius: var(--radius-button);
  min-width: 0;
  color: var(--ink-soft);
  cursor: pointer;
  text-align: start;
  background: #fff;
  align-items: center;
  gap: 1px 9px;
  text-decoration: none;
  transition: transform .2s, box-shadow .2s, border-color .2s;
  display: grid;
  box-shadow: 0 9px 24px #15364f12;
}

.clinic-record-new-session:hover, .clinic-record-trend-action:hover:not(:disabled) {
  border-color: rgba(var(--brand-rgb),.3);
  transform: translateY(-2px);
  box-shadow: 0 13px 28px #1c48681f;
}

.clinic-record-new-session > span, .clinic-record-trend-action > span {
  color: #fff;
  background: linear-gradient(145deg,#3588c6,var(--brand-deep));
  border-radius: 12px;
  grid-row: 1 / 3;
  place-items: center;
  font-size: .72rem;
  font-weight: 500;
  display: grid;
}

.clinic-record-new-session b, .clinic-record-trend-action b {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.clinic-record-new-session small, .clinic-record-trend-action small {
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.clinic-record-trend-action:disabled {
  cursor: not-allowed;
  filter: saturate(.3);
  opacity: .58;
}

.clinic-record-actions > p {
  color: #b24059;
  margin: 0;
  line-height: 1.6;
}

.clinic-progress-overview {
  border: 1px solid rgba(var(--brand-rgb),.11);
  background: linear-gradient(125deg, #fffffff5, #f1f7fce6);
  border-radius: 24px;
  grid-template-columns: minmax(0, 1.4fr) minmax(310px, .8fr);
  gap: 12px;
  margin-bottom: 16px;
  padding: 18px;
  display: grid;
  box-shadow: 0 16px 38px #20323f0d;
}

.clinic-progress-overview > header {
  grid-column: 1 / -1;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  display: flex;
}

.clinic-progress-overview > header span {
  display: block;
}

.clinic-progress-overview h2 {
  color: var(--ink);
  font-size: var(--title-card);
  margin: 4px 0 0;
}

.clinic-progress-overview > header > strong {
  color: var(--ink-soft);
  justify-items: end;
  font-size: 1.25rem;
  display: grid;
}

.clinic-progress-overview > header > strong.positive {
  color: var(--success);
}

.clinic-progress-overview > header > strong.negative {
  color: #b24059;
}

.clinic-progress-kpis {
  align-content: center;
  gap: 8px;
  display: grid;
}

.clinic-progress-kpis article {
  background: #fff;
  border: 1px solid #e6ebef;
  border-radius: 15px;
  justify-content: space-between;
  align-items: center;
  padding: 11px 13px;
  display: flex;
}

.clinic-progress-kpis b {
  color: var(--brand);
  font-size: .86rem;
}

.clinic-record-charts.is-session-only .clinic-record-chart:first-child {
  grid-column: auto;
}

.clinic-followup-page {
  background: #f3f7fa;
  min-height: 100vh;
}

.clinic-followup-page .clinic-workflow {
  position: fixed;
  inset: 0;
}

.clinic-followup-loader {
  text-align: center;
  align-content: center;
  place-items: center;
  gap: 10px;
  min-height: 420px;
  display: grid;
}

.clinic-followup-loader > span {
  aspect-ratio: 1;
  border: 4px solid #dde6ec;
  border-top-color: var(--brand);
  border-radius: 50%;
  width: 46px;
  animation: .8s linear infinite clinic-record-spin;
}

.clinic-followup-loader strong {
  color: var(--ink);
  font-size: .9rem;
}

.clinic-followup-loader p {
  margin: 0;
}

.clinic-followup-patient {
  border: 1px solid rgba(var(--brand-rgb),.14);
  background: linear-gradient(120deg, #fff, #ebf3fa);
  border-radius: 18px;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 2px 12px;
  padding: 11px 14px;
  display: grid;
}

.clinic-followup-patient > span {
  background: var(--brand);
  border-radius: 12px;
  grid-row: 1 / 3;
  align-self: stretch;
  place-items: center;
  width: max-content;
  padding: 0 12px;
  font-weight: 500;
  display: grid;
}

.clinic-followup-patient strong {
  color: var(--ink);
  font-size: .78rem;
}

.clinic-followup-patient small {
  line-height: 1.6;
}

.clinic-trend-page {
  min-height: 100vh;
  color: var(--ink);
  background: radial-gradient(circle at 10% 5%,rgba(var(--brand-rgb),.09),transparent 25rem),linear-gradient(180deg,#fbfdfe,#f0f5f8);
}

.clinic-trend-shell {
  gap: 16px;
  width: min(1540px, 100% - clamp(24px, 4vw, 72px));
  margin: 0 auto;
  padding: clamp(20px, 3vw, 42px) 0 60px;
  display: grid;
}

.clinic-trend-hero {
  border: 1px solid rgba(var(--brand-rgb), .15);
  background: linear-gradient(135deg, rgba(var(--brand-rgb), .03), rgba(var(--brand-rgb), .1) 100%);
  border-radius: 28px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  padding: 32px;
  display: grid;
  position: relative;
  overflow: hidden;
  box-shadow: 0 12px 32px #00000008;
}

.clinic-trend-hero:before {
  content: "";
  opacity: .8;
  z-index: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%230066ff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  position: absolute;
  inset: 0;
}

.clinic-trend-hero > * {
  z-index: 1;
  position: relative;
}

.clinic-trend-hero h1 {
  color: #1e293b;
  letter-spacing: -.02em;
  margin: 4px 0;
  font-size: clamp(1.6rem, 2.8vw, 2.2rem);
  font-weight: 800;
}

.clinic-trend-hero p {
  color: #64748b;
  margin: 0;
  font-size: 1.1rem;
  font-weight: 500;
}

.clinic-trend-hero > aside {
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: #ffffffb3;
  border: 1px solid #fff6;
  border-radius: 20px;
  grid-template-columns: auto auto auto auto;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  display: grid;
  box-shadow: 0 8px 16px #00000005;
}

.clinic-trend-hero > aside b {
  color: var(--brand);
  background: rgba(var(--brand-rgb), .1);
  border-radius: 12px;
  padding: 6px 14px;
  font-size: 1.1rem;
  font-weight: 700;
}

.clinic-trend-hero > aside span {
  color: #94a3b8;
}

.clinic-trend-kpis {
  gap: 12px;
  display: grid;
}

.clinic-trend-kpis article {
  background: #fff;
  border: 1px solid #2b3f4d17;
  border-radius: 20px;
  align-content: center;
  gap: 5px;
  min-height: 105px;
  padding: 16px 18px;
  display: grid;
  box-shadow: 0 12px 30px #2033410a;
}

.clinic-trend-kpis strong {
  color: var(--brand);
  font-size: 1.4rem;
}

.clinic-trend-kpis article.positive strong, .clinic-trend-kpis article.positive small {
  color: var(--success);
}

.clinic-trend-kpis article.negative strong, .clinic-trend-kpis article.negative small {
  color: #b24059;
}

.clinic-trend-ai {
  border: 1px solid rgba(var(--brand-rgb),.14);
  background: linear-gradient(125deg, #fff, #eff6fc);
  border-radius: 24px;
  gap: 12px;
  padding: 20px;
  display: grid;
  box-shadow: 0 16px 38px #20323f0d;
}

.clinic-trend-ai > header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.clinic-trend-ai > header > div {
  gap: 6px;
  display: grid;
}

.clinic-trend-ai h2 {
  font-size: var(--title-card);
  margin: 0;
}

.clinic-trend-ai .status {
  background: #fff0d5;
  border-radius: 99px;
  width: max-content;
  padding: 5px 9px;
  font-weight: 500;
}

.clinic-trend-ai .status.succeeded {
  color: var(--success);
  background: var(--success-soft);
}

.clinic-trend-ai .status.failed {
  color: #b24059;
  background: #fae9ed;
}

.clinic-trend-ai > p {
  color: #54616b;
  margin: 0;
  font-size: .75rem;
  line-height: 1.95;
}

.clinic-trend-ai > small {
  line-height: 1.8;
}

.clinic-trend-ai > footer {
  border-top: 1px solid #dfe7ed;
  padding-top: 11px;
}

.clinic-trend-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  display: grid;
}

.clinic-trend-card {
  background: #fff;
  border: 1px solid #2b3f4d17;
  border-radius: 24px;
  min-width: 0;
  box-shadow: 0 15px 36px #20323f0b;
}

.clinic-trend-card h2 {
  font-size: var(--title-card);
  margin: 4px 0 12px;
}

.clinic-trend-line svg, .clinic-metric-lines svg {
  width: 100%;
  height: 220px;
  display: block;
  overflow: visible;
}

.clinic-trend-line line, .clinic-metric-lines line {
  stroke: #e7ecef;
}

.clinic-trend-line polyline {
  fill: none;
  stroke-width: 2px;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.clinic-trend-line circle {
  fill: #fff;
  stroke-width: 2px;
}

.clinic-metric-lines polyline {
  fill: none;
  stroke-width: 2px;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.clinic-metric-lines > div {
  flex-wrap: wrap;
}

.clinic-metric-lines > div i {
  border-radius: 50%;
  width: 8px;
  height: 8px;
}

.clinic-comparison-bars {
  display: grid;
}

.clinic-comparison-bars header {
  justify-content: space-between;
  gap: 12px;
  display: flex;
}

.clinic-comparison-bars > div > div {
  gap: 2px;
  height: 9px;
  margin-top: 5px;
  display: grid;
  position: relative;
}

.clinic-comparison-bars i {
  border-radius: 99px;
  height: 2px;
  display: block;
  position: absolute;
  inset-inline-start: 0;
}

.clinic-comparison-bars i.baseline {
  background: #c9d5dd;
  top: 0;
}

.clinic-comparison-bars i.latest {
  background: linear-gradient(90deg,#519cd6,var(--brand));
  bottom: 0;
}

.clinic-trend-sessions {
  background: #fff;
  border: 1px solid #2b3f4d17;
  border-radius: 24px;
  overflow: hidden;
}

.clinic-trend-sessions > header {
  border-bottom: 1px solid #e7ecef;
  padding: 17px 19px;
}

.clinic-trend-sessions h2 {
  font-size: var(--title-card);
  margin: 0;
}

.clinic-trend-sessions > div {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 10px;
  padding: 12px;
  display: grid;
}

.clinic-trend-sessions article {
  background: #fafbfc;
  border: 1px solid #e7ecef;
  border-radius: 17px;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 11px;
  display: grid;
}

.clinic-trend-sessions article > span {
  aspect-ratio: 1;
  width: 36px;
  color: var(--brand);
  background: var(--brand-soft);
  border-radius: 12px;
  place-items: center;
  font-weight: 500;
  display: grid;
}

.clinic-trend-sessions article > div {
  gap: 3px;
  display: grid;
}

.clinic-trend-sessions em {
  grid-column: 2 / 4;
  width: max-content;
  font-style: normal;
}

.clinic-trend-sessions em.ready {
  color: var(--success);
}

@media (max-width: 1000px) {
  .clinic-record-actions {
    grid-column: 1 / -1;
    width: 100%;
  }

  .clinic-record-actions > p {
    grid-column: 1 / -1;
  }

  .clinic-progress-overview {
    grid-template-columns: 1fr;
  }

  .clinic-progress-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .clinic-trend-grid {
    grid-template-columns: 1fr;
  }

  .clinic-trend-card:first-child {
    grid-column: auto;
  }
}

@media (max-width: 700px) {
  .localized-calendar {
    transform-origin: center;
    width: min(360px, 100vw - 24px);
    animation: .24s both localized-calendar-open-mobile;
    position: fixed;
    top: 50%;
    left: 50%;
    right: auto;
    transform: translate(-50%, -50%);
  }

  .clinic-record-actions > aside {
    grid-template-columns: auto auto;
    display: grid;
  }

  .clinic-progress-kpis, .clinic-trend-kpis {
    grid-template-columns: 1fr;
  }

  .clinic-progress-overview {
    padding: 14px;
  }

  .clinic-trend-hero {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 20px;
  }

  .clinic-trend-hero > aside {
    grid-column: 1 / -1;
    grid-template-columns: 1fr auto 1fr;
    justify-items: center;
  }

  .clinic-trend-change-sessions {
    grid-column: 1 / -1;
    justify-content: center;
    width: 100%;
  }

  .clinic-trend-shell {
    width: calc(100% - 20px);
    padding-top: 13px;
  }

  .clinic-trend-ai > header {
    display: grid;
  }

  .clinic-trend-sessions > div {
    grid-template-columns: 1fr;
  }
}

@keyframes localized-calendar-open-mobile {
  from {
    opacity: 0;
    transform: translate(-50%, -46%)scale(.96);
  }

  to {
    opacity: 1;
    transform: translate(-50%, -50%)scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .localized-calendar, .localized-calendar-backdrop, .localized-date-trigger, .localized-calendar-days button, .clinic-record-new-session, .clinic-record-trend-action, .clinic-followup-loader > span, .clinic-trend-hero {
    transition: none !important;
    animation: none !important;
  }
}

.clinic-record-view-tabs {
  border: 1px solid rgba(var(--brand-rgb),.11);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  background: #ffffffc7;
  border-radius: 22px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 16px;
  padding: 8px;
  display: grid;
  box-shadow: 0 14px 34px #1e33430d;
}

.clinic-record-view-tabs > div, .clinic-record-view-tabs > button {
  color: #5a6872;
  text-align: start;
  background: none;
  border: 1px solid #0000;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 2px 11px;
  min-width: 0;
  min-height: 68px;
  padding: 10px 14px;
  display: grid;
  border-radius: 16px !important;
}

.clinic-record-view-tabs > div > span, .clinic-record-view-tabs > button > span {
  width: 42px;
  height: 42px;
  color: var(--brand);
  background: #e6f0f8;
  border-radius: 14px;
  grid-row: 1 / 3;
  place-items: center;
  font-size: 1rem;
  font-weight: 500;
  display: grid;
}

.clinic-record-view-tabs strong {
  color: #293741;
  font-size: var(--text-small);
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.clinic-record-view-tabs small {
  color: #6f7e89;
  font-size: var(--text-compact);
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.clinic-record-view-tabs > div.active {
  border-color: rgba(var(--brand-rgb),.22);
  box-shadow: 0 9px 24px rgba(var(--brand-rgb),.08);
  background: linear-gradient(125deg, #fff, #eaf4fb);
}

.clinic-record-view-tabs > div.active > span {
  color: #fff;
  box-shadow: 0 8px 18px rgba(var(--brand-rgb),.2);
  background: linear-gradient(145deg, #2c80be, #114f7c);
}

.clinic-record-view-tabs > button {
  cursor: pointer;
  font-family: inherit;
  transition: transform .2s, border-color .2s, box-shadow .2s;
}

.clinic-record-view-tabs > button:hover:not(:disabled) {
  border-color: rgba(var(--brand-rgb),.22);
  box-shadow: 0 10px 24px rgba(var(--brand-rgb),.09);
  background: #fff;
  transform: translateY(-1px);
}

.clinic-record-view-tabs > button:disabled {
  cursor: not-allowed;
  opacity: .52;
}

.clinic-record-view-tabs > button:disabled small {
  color: #5f7c91;
  font-weight: 500;
}

.clinic-record-view-tabs > p {
  color: #b24059;
  font-size: var(--text-compact);
  grid-column: 1 / -1;
  margin: 0;
  padding: 3px 10px;
}

.clinic-trend-locked {
  text-align: center;
  border: 1px solid rgba(var(--brand-rgb),.11);
  background: radial-gradient(circle at 50% 20%,rgba(var(--brand-rgb),.11),transparent 17rem),#ffffffe0;
  border-radius: 30px;
  align-content: center;
  place-items: center;
  gap: 13px;
  min-height: min(620px, 100vh - 150px);
  padding: 32px;
  display: grid;
  box-shadow: 0 22px 60px #1e334312;
}

.clinic-trend-locked > span {
  aspect-ratio: 1;
  color: #fff;
  width: 68px;
  box-shadow: 0 14px 32px rgba(var(--brand-rgb),.23);
  background: linear-gradient(145deg, #2b80c0, #104f7d);
  border-radius: 22px;
  place-items: center;
  font-size: 1.4rem;
  font-weight: 500;
  display: grid;
}

.clinic-trend-locked h1 {
  margin: 5px 0 0;
  font-size: clamp(1.35rem, 2.5vw, 2rem);
}

.clinic-trend-locked p {
  color: #66737d;
  max-width: 560px;
  font-size: var(--text-body);
  margin: 0;
  line-height: 1.9;
}

.clinic-trend-locked a {
  border: 1px solid rgba(var(--brand-rgb),.16);
  color: var(--brand);
  font-size: var(--text-small);
  border-radius: var(--radius-button);
  background: #fff;
  margin-top: 6px;
  padding: 11px 20px;
  font-weight: 500;
  text-decoration: none;
}

@media (max-width: 700px) {
  .clinic-record-view-tabs {
    grid-template-columns: 1fr;
  }

  .clinic-record-view-tabs > div, .clinic-record-view-tabs > button {
    min-height: 62px;
  }

  .analysis-results-embedded .analysis-results-hero {
    border-radius: 22px;
  }
}

:where(.admin-console, .clinic-record-page, .clinic-trend-page, .panel-shell, .admin-login-page, .login-page--clinic) small {
  color: var(--muted);
  font-size: max(var(--text-small),.8em);
  line-height: 1.6;
}

:where(.admin-console, .clinic-record-page, .clinic-trend-page, .panel-shell, .admin-login-page, .login-page--clinic) p {
  color: var(--muted);
  font-size: max(var(--text-small),.85em);
}

:where(.admin-console, .panel-shell, .admin-login-page, .login-page--clinic) label {
  color: var(--ink-soft);
  font-size: max(var(--text-small),.82em);
}

:where(.admin-console, .panel-shell, .admin-login-page, .login-page--clinic) :is(input, select, textarea, button) {
  font-size: max(var(--text-control),.82em);
}

:where(.admin-console, .panel-shell, .admin-login-page, .login-page--clinic) :is(input, textarea)::placeholder {
  color: #76697a;
  opacity: 1;
}

.admin-nav button, .panel-sidebar nav a {
  color: #535c63;
  font-size: var(--text-small);
}

.admin-sidebar-header small, .admin-person strong, .admin-person small, .admin-logout {
  color: var(--muted);
  font-size: var(--text-small);
}

.admin-login-heading p, .admin-login-field > label, .admin-login-protected, .admin-login-protected p, .admin-kpis article > span, .admin-kpis small, .admin-chart-card header span, .admin-table-card header > div > span, .admin-chart-card p, .admin-chart-legend, .admin-demo-banner span, .admin-analytics-heading span, .admin-activity strong, .admin-activity p, .admin-activity small, .admin-page-heading > div > span, .admin-issue-modal header span, .admin-filter-title strong, .admin-filter-title small, .admin-filter-control > span, .admin-filter-control select, .admin-filter-reset, .admin-result-total, .admin-search-results article > header button, .admin-search-results strong, .admin-search-results small, .admin-status, .admin-agent-head p, .admin-agent-metrics small, .admin-agent-grid footer, .admin-credential-grid footer {
  font-size: var(--text-small);
}

.admin-table td, .admin-entity strong, .admin-code strong, .admin-entity small, .admin-code small, .admin-time, .admin-table code, .admin-row-action {
  color: #535c63;
  font-size: var(--text-small);
}

.admin-donut small, .admin-donut-legend span, .admin-donut-legend strong, .admin-donut-legend small, .admin-flow-chart section > span, .admin-flow-chart section > strong, .admin-geo-bars span, .admin-geo-bars > div > strong, .admin-activity-chart > footer {
  font-size: var(--text-compact);
}

.clinic-week-chart small, .clinic-patient-status, .clinic-module-placeholder p, .clinic-record-hero > div:nth-child(2) > span, .clinic-record-chart header span, .clinic-session-list > header span, .clinic-capture-gallery > header span, .clinic-record-facts span, .clinic-record-hero aside span {
  color: var(--muted);
  font-size: var(--text-small);
}

.clinic-record-facts strong, .clinic-session-list button strong, .clinic-session-list button small, .clinic-session-list button em, .clinic-session-meta > small, .clinic-session-meta i, .clinic-analysis-summary header > div > span, .clinic-review-badge, .clinic-analysis-score > span, .clinic-analysis-score small, .clinic-analysis-summary footer, .clinic-bar-chart > div > header, .clinic-note-card p, .clinic-capture-gallery figcaption strong, .clinic-capture-gallery figcaption span, .clinic-capture-gallery figcaption small, .clinic-record-empty {
  font-size: var(--text-small);
}

.clinic-analysis-summary > p {
  color: #48545c;
  font-size: var(--text-body);
}

.clinic-line-chart text, .clinic-radar-chart text, .clinic-radar-chart tspan + tspan, .clinic-trend-line text, .clinic-metric-lines text {
  fill: #59636b;
  font-size: 12px;
}

.clinic-progress-overview > header span, .clinic-progress-overview > header > strong small, .clinic-progress-kpis span, .clinic-followup-loader p, .clinic-followup-patient > span, .clinic-followup-patient small, .clinic-trend-hero small, .clinic-trend-hero > aside span, .clinic-trend-kpis span, .clinic-trend-kpis small, .clinic-trend-ai .status, .clinic-trend-ai > header > small, .clinic-trend-ai > small, .clinic-trend-ai > footer, .clinic-trend-card > header span, .clinic-metric-lines > div span, .clinic-comparison-bars header, .clinic-trend-sessions strong, .clinic-trend-sessions small, .clinic-trend-sessions article > b, .clinic-trend-sessions em {
  color: var(--muted);
  font-size: var(--text-small);
}

.localized-calendar select, .localized-calendar-weekdays, .localized-calendar-days button, .localized-calendar > footer button, .localized-calendar > footer small {
  font-size: var(--text-compact);
}

.localized-calendar-weekdays, .localized-calendar > footer small {
  color: #616b73;
}

.clinic-record-actions {
  gap: 10px;
  width: min(100%, 360px);
}

.clinic-record-new-session {
  color: #fff;
  background: linear-gradient(135deg,#3283bf 0%,var(--brand) 56%,var(--brand-deep) 100%);
  min-height: 72px;
  box-shadow: 0 16px 34px rgba(var(--brand-rgb),.28),inset 0 1px 0 #ffffff38;
  border-color: #0000;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 2px 12px;
  padding: 12px 16px;
}

.clinic-record-new-session:hover {
  box-shadow: 0 20px 42px rgba(var(--brand-rgb),.35),inset 0 1px 0 #ffffff42;
  border-color: #0000;
  transform: translateY(-3px);
}

.clinic-record-new-session > span {
  color: #fff;
  background: #ffffff29;
  border: 1px solid #ffffff40;
  border-radius: 16px;
  width: 46px;
  height: 46px;
  font-size: 1.25rem;
  box-shadow: inset 0 1px #ffffff38;
}

.clinic-record-new-session b {
  color: #fff;
  font-size: .94rem;
  font-weight: 500;
}

.clinic-record-new-session small {
  color: #ffffffd1;
  font-size: .74rem;
}

.clinic-record-trend-action {
  grid-template-columns: 40px minmax(0, 1fr);
  min-height: 58px;
  padding: 10px 14px;
}

.clinic-record-trend-action > span {
  width: 40px;
  height: 40px;
}

.clinic-record-trend-action b {
  font-size: var(--text-small);
}

.clinic-record-trend-action small, .clinic-record-actions > p {
  font-size: var(--text-compact);
}

.clinic-light-copy small, .clinic-light-copy em, .clinic-guide-heading p, .clinic-position-tips strong, .clinic-position-tips ul {
  color: #4b545b;
  font-size: var(--text-compact);
}

.clinic-light-copy small, .clinic-position-tips strong {
  color: var(--brand);
}

@media (max-width: 700px) {
  .clinic-guide-heading > span, .clinic-guide-caption strong, .clinic-position-tips strong {
    font-size: .62rem;
  }

  .clinic-guide-heading p, .clinic-position-tips ul, .clinic-light-copy small {
    font-size: .6rem;
  }
}

.clinic-workflow-body.is-setup {
  padding: clamp(12px, 2vh, 22px) clamp(16px, 4vw, 58px) 18px;
}

.clinic-camera-setup {
  display: grid;
}

.clinic-setup-intro {
  align-items: stretch;
  gap: 16px;
  display: grid;
}

.clinic-setup-intro .clinic-section-heading {
  border: 1px solid rgba(var(--brand-rgb),.11);
  background: radial-gradient(circle at 92% 14%,rgba(var(--brand-rgb),.1),transparent 11rem),#ffffffe0;
  border-radius: 26px;
  align-content: center;
  margin: 0;
  display: grid;
  position: relative;
  overflow: hidden;
  box-shadow: 0 16px 38px #1f37480f, inset 0 1px #ffffffe6;
}

.clinic-setup-intro .clinic-section-heading:after {
  border: 1px solid rgba(var(--brand-rgb),.08);
  content: "";
  width: 180px;
  height: 180px;
  box-shadow: 0 0 0 28px rgba(var(--brand-rgb),.025),0 0 0 56px rgba(var(--brand-rgb),.018);
  border-radius: 50%;
  position: absolute;
  inset-block-end: -125px;
  inset-inline-end: -75px;
}

.clinic-setup-intro .clinic-section-heading > span {
  width: max-content;
}

.clinic-setup-intro .clinic-section-heading h1 {
  z-index: 1;
  margin-block: 9px 6px;
  position: relative;
}

.clinic-setup-intro .clinic-section-heading p {
  z-index: 1;
  color: #535c63;
  line-height: 1.7;
  position: relative;
}

.clinic-setup-intro .clinic-followup-patient {
  border: 1px solid rgba(var(--brand-rgb),.13);
  background: linear-gradient(145deg, #fff 12%, #ebf3fa);
  border-radius: 26px;
  grid-template-columns: 58px minmax(0, 1fr);
  align-content: center;
  align-items: center;
  gap: 6px 13px;
  padding: 18px;
  display: grid;
  position: relative;
  overflow: hidden;
  box-shadow: 0 16px 38px #1f37480f, inset 0 1px #ffffffeb;
}

.clinic-setup-intro .clinic-followup-patient:after {
  aspect-ratio: 1;
  content: "";
  background: radial-gradient(circle, #3589c829, #0000 68%);
  border-radius: 50%;
  width: 125px;
  position: absolute;
  inset-block-start: -58px;
  inset-inline-end: -46px;
}

.clinic-setup-intro .clinic-followup-patient > span {
  z-index: 1;
  color: #fff;
  background: linear-gradient(145deg,#2f82c0,var(--brand-deep));
  width: 58px;
  height: 58px;
  box-shadow: 0 12px 25px rgba(var(--brand-rgb),.23);
  border: 1px solid #ffffff47;
  border-radius: 19px;
  grid-row: 1 / 3;
  align-self: center;
  padding: 0 8px;
  font-size: .73rem;
  position: relative;
}

.clinic-setup-intro .clinic-followup-patient strong {
  z-index: 1;
  color: var(--ink);
  font-size: .92rem;
  position: relative;
}

.clinic-setup-intro .clinic-followup-patient small {
  z-index: 1;
  color: #59636a;
  font-size: var(--text-small);
  line-height: 1.75;
  position: relative;
}

.clinic-setup-grid {
  gap: 14px;
}

.clinic-setup-grid article {
  border-color: rgba(var(--brand-rgb),.11);
  background: linear-gradient(150deg, #fffffffa, #f8fbfde6);
  border-radius: 24px;
  gap: 7px;
  padding: 18px 20px;
  transition: border-color .2s, box-shadow .2s, transform .2s;
  position: relative;
  overflow: hidden;
  box-shadow: 0 14px 34px #1e34440e, inset 0 1px #fff;
}

.clinic-setup-grid article:before {
  content: "";
  background: linear-gradient(90deg,var(--brand),#529cd5);
  opacity: .72;
  height: 3px;
  position: absolute;
  inset: 0 0 auto;
}

.clinic-setup-grid article:after {
  aspect-ratio: 1;
  content: "";
  background: rgba(var(--brand-rgb),.035);
  border-radius: 50%;
  width: 112px;
  position: absolute;
  inset-block-end: -74px;
  inset-inline-end: -54px;
}

.clinic-setup-grid article:hover {
  border-color: rgba(var(--brand-rgb),.22);
  transform: translateY(-2px);
  box-shadow: 0 18px 40px #183d5817, inset 0 1px #fff;
}

.clinic-setup-grid article:nth-child(2):before {
  background: linear-gradient(90deg,var(--accent),#c89a61);
}

.clinic-setup-grid article:nth-child(3):before {
  background: linear-gradient(90deg, #27826b, #60b89e);
}

.clinic-setup-grid article:nth-child(2) i {
  background: linear-gradient(145deg, #b98548, #80511f);
}

.clinic-setup-grid article:nth-child(3) i {
  background: linear-gradient(145deg, #49a58b, #176b56);
}

.clinic-setup-grid i {
  z-index: 1;
  width: 38px;
  height: 38px;
  box-shadow: 0 9px 19px rgba(var(--brand-rgb),.2);
  font-size: .72rem;
  position: relative;
}

.clinic-setup-grid strong {
  z-index: 1;
  color: #2d3942;
  margin-top: 4px;
  position: relative;
}

.clinic-setup-grid p {
  z-index: 1;
  color: #665a69;
  line-height: 1.85;
  position: relative;
}

.clinic-clinical-note {
  border: 1px solid #bd84323d;
  background: linear-gradient(120deg, #fffcf6, #fff9eb);
  border-inline-start: 3px solid #bd8432;
  border-radius: 20px;
  grid-template-columns: 42px minmax(0, 1fr);
  align-content: center;
  gap: 4px 12px;
  min-height: 74px;
  margin: 0;
  padding: 11px 16px;
  display: grid;
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 26px #805b250e;
}

.clinic-clinical-note:before {
  color: #9c6a25;
  content: "i";
  background: #fff7e6;
  border: 1px solid #bd84322b;
  border-radius: 13px;
  grid-row: 1 / 3;
  place-items: center;
  width: 38px;
  height: 38px;
  font-family: Georgia, serif;
  font-size: 1rem;
  font-weight: 500;
  display: grid;
}

.clinic-clinical-note strong {
  color: #80551c;
}

.clinic-clinical-note p {
  color: #6f6252;
  line-height: 1.75;
}

.clinic-setup-actions {
  border-top: 1px solid rgba(var(--brand-rgb),.09);
  align-items: center;
  gap: 10px;
  min-height: 60px;
  margin: 0;
  padding: 10px 2px 0;
  display: flex;
}

.clinic-setup-actions .admin-primary {
  min-width: 220px;
  min-height: 48px;
  box-shadow: 0 14px 28px rgba(var(--brand-rgb),.24);
  font-size: var(--text-control);
  order: -1;
}

.clinic-setup-actions .admin-secondary {
  min-width: 140px;
  min-height: 48px;
  font-size: var(--text-control);
  background: #ffffffe0;
}

@media (max-width: 900px) {
  .clinic-setup-intro {
    grid-template-columns: 1fr;
  }

  .clinic-setup-intro .clinic-section-heading, .clinic-setup-intro .clinic-followup-patient {
    min-height: 130px;
  }
}

@media (max-width: 720px) {
  .clinic-workflow-body.is-setup {
    padding: 12px 12px 28px;
  }

  .clinic-camera-setup, .clinic-setup-intro {
    gap: 12px;
  }

  .clinic-setup-intro .clinic-section-heading {
    border-radius: 21px;
    min-height: 0;
    padding: 18px;
  }

  .clinic-setup-intro .clinic-followup-patient {
    border-radius: 21px;
    min-height: 112px;
    padding: 15px;
  }

  .clinic-setup-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .clinic-setup-grid article {
    border-radius: 19px;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 4px 11px;
    min-height: 0;
    padding: 15px;
  }

  .clinic-setup-grid article i {
    grid-row: 1 / 3;
  }

  .clinic-setup-grid article strong {
    margin-top: 0;
  }

  .clinic-setup-grid article p {
    grid-column: 2;
  }

  .clinic-clinical-note {
    border-radius: 18px;
    grid-template-columns: 36px minmax(0, 1fr);
    padding: 12px;
  }

  .clinic-clinical-note:before {
    width: 34px;
    height: 34px;
  }

  .clinic-setup-actions {
    z-index: 4;
    border: 1px solid rgba(var(--brand-rgb),.1);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    background: #ffffffeb;
    border-radius: 20px;
    flex-direction: column;
    padding: 10px;
    position: sticky;
    bottom: -1px;
    box-shadow: 0 -10px 28px #13314714;
  }

  .clinic-setup-actions .admin-primary, .clinic-setup-actions .admin-secondary {
    width: 100%;
    min-width: 0;
  }
}

.clinic-workflow.is-intake .clinic-workflow-header small, .clinic-workflow.is-intake .clinic-workflow-steps span, .clinic-workflow.is-intake .clinic-workflow-steps i {
  font-size: .75rem;
}

.clinic-workflow.is-intake .clinic-workflow-header small {
  font-weight: 500;
}

.clinic-workflow.is-intake .clinic-workflow-steps span {
  line-height: 1.5;
}

.clinic-intake-form {
  counter-reset: intake-section;
  gap: 18px;
}

.clinic-intake-form > .clinic-section-heading {
  border: 1px solid rgba(var(--brand-rgb),.12);
  background: radial-gradient(circle at 92% 12%,rgba(var(--brand-rgb),.13),transparent 13rem),
    radial-gradient(circle at 8% 100%,rgba(var(--accent-rgb),.08),transparent 15rem),
    linear-gradient(145deg,#fffffffa,#f5fafded);
  border-radius: 28px;
  margin: 0;
  padding: clamp(22px, 3vw, 34px);
  animation: .52s cubic-bezier(.16, 1, .3, 1) both clinic-intake-hero-in;
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 50px #15375014, inset 0 1px #fff;
}

.clinic-intake-form > .clinic-section-heading:after {
  aspect-ratio: 1;
  border: 1px solid rgba(var(--brand-rgb),.08);
  content: "";
  width: 190px;
  box-shadow: 0 0 0 30px rgba(var(--brand-rgb),.025),0 0 0 60px rgba(var(--brand-rgb),.016);
  pointer-events: none;
  border-radius: 50%;
  position: absolute;
  inset-block-end: -132px;
  inset-inline-end: -72px;
}

.clinic-workflow.is-intake .clinic-section-heading > span {
  z-index: 1;
  min-height: 30px;
  padding: 5px 12px;
  font-size: .75rem;
  position: relative;
}

.clinic-workflow.is-intake .clinic-section-heading h1 {
  z-index: 1;
  margin-block: 12px 8px;
  position: relative;
}

.clinic-workflow.is-intake .clinic-section-heading p {
  z-index: 1;
  color: #525c63;
  max-width: 850px;
  font-size: .82rem;
  line-height: 1.9;
  position: relative;
}

.clinic-workflow.is-intake .clinic-form-section {
  counter-increment: intake-section;
  border-color: rgba(var(--brand-rgb),.12);
  background: linear-gradient(145deg, #fffffffa, #f9fcfef0);
  border-radius: 28px;
  grid-template-columns: minmax(220px, .3fr) minmax(0, 1fr);
  gap: clamp(22px, 3.4vw, 48px);
  padding: clamp(22px, 2.8vw, 32px);
  transition: border-color .24s, box-shadow .24s, transform .24s;
  animation: .5s cubic-bezier(.16, 1, .3, 1) both clinic-intake-card-in;
  position: relative;
  overflow: hidden;
  box-shadow: 0 18px 44px #1d354611, inset 0 1px #fff;
}

.localized-calendar.localized-calendar-portal {
  z-index: 1210;
  transform-origin: center;
  width: min(390px, 100vw - 32px);
  max-height: calc(100dvh - 64px);
  animation: .24s cubic-bezier(.2, .8, .25, 1) both localized-calendar-intake-open;
  position: fixed;
  inset: 50% auto auto 50%;
}

.localized-calendar-backdrop {
  z-index: 1200;
  -webkit-backdrop-filter: blur(1.5px);
  backdrop-filter: blur(1.5px);
  background: #101d2614;
  animation: .2s both localized-calendar-backdrop-in;
  position: fixed;
  inset: 0;
}

@keyframes localized-calendar-intake-open {
  from {
    opacity: 0;
    transform: translate(-50%, -47%)scale(.97);
  }

  to {
    opacity: 1;
    transform: translate(-50%, -50%)scale(1);
  }
}

@keyframes localized-calendar-backdrop-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.clinic-workflow.is-intake .clinic-form-section:before {
  content: "";
  background: linear-gradient(90deg,var(--brand),#559ed7 55%,var(--accent));
  opacity: .72;
  height: 3px;
  position: absolute;
  inset: 0 0 auto;
}

.clinic-workflow.is-intake .clinic-form-section:hover {
  border-color: rgba(var(--brand-rgb),.2);
  transform: translateY(-2px);
  box-shadow: 0 22px 52px #173b5617, inset 0 1px #fff;
}

.clinic-intake-form > .clinic-form-section:nth-of-type(2) {
  animation-delay: 40ms;
}

.clinic-intake-form > .clinic-form-section:nth-of-type(3) {
  animation-delay: 80ms;
}

.clinic-intake-form > .clinic-form-section:nth-of-type(4) {
  animation-delay: .12s;
}

.clinic-workflow.is-intake .clinic-form-section > header {
  align-self: start;
  padding-inline-start: 48px;
  position: relative;
}

.clinic-workflow.is-intake .clinic-form-section > header:before {
  color: #fff;
  content: counter(intake-section);
  background: linear-gradient(145deg,#2d7fbd,var(--brand-deep));
  width: 36px;
  height: 36px;
  box-shadow: 0 9px 20px rgba(var(--brand-rgb),.2);
  border: 1px solid #ffffff8c;
  border-radius: 13px;
  place-items: center;
  font-size: .78rem;
  font-weight: 500;
  display: grid;
  position: absolute;
  inset-block-start: -5px;
  inset-inline-start: 0;
}

.clinic-workflow.is-intake .clinic-form-section > header h2 {
  color: #25313a;
  font-size: 1rem;
  line-height: 1.55;
}

.clinic-workflow.is-intake .clinic-form-section > header p {
  color: #5a646b;
  margin-top: 9px;
  font-size: .78rem;
  line-height: 1.85;
}

.clinic-workflow.is-intake .clinic-form-section > div {
  gap: 20px;
}

.clinic-intake-form .operational-form-grid {
  align-items: start;
  gap: 18px;
}

.clinic-intake-form .operational-form-grid > label {
  color: #3a464e;
  align-content: start;
  gap: 9px;
  font-size: .82rem;
  font-weight: 500;
}

.clinic-intake-form :is(input:not([type="checkbox"]):not([type="hidden"]), select, textarea), .clinic-intake-form .localized-date-trigger {
  color: #212d36;
  background: #fff;
  border-color: #53697938;
  min-height: 52px;
  padding-inline: 18px;
  font-size: .875rem;
  box-shadow: inset 0 1px #fffffff2, 0 8px 20px #1b31410b;
}

.clinic-intake-form :is(input:not([type="checkbox"]):not([type="hidden"]), select, textarea):hover, .clinic-intake-form .localized-date-trigger:hover {
  border-color: rgba(var(--brand-rgb),.34);
  box-shadow: inset 0 1px #fff, 0 10px 24px #1b476711;
}

.clinic-intake-form :is(input:not([type="checkbox"]):not([type="hidden"]), select, textarea):focus, .clinic-intake-form .localized-date-trigger[aria-expanded="true"] {
  border-color: rgba(var(--brand-rgb),.7);
  box-shadow: 0 0 0 4px rgba(var(--brand-rgb),.11),0 12px 26px rgba(var(--brand-rgb),.07);
}

.clinic-intake-form textarea {
  line-height: 1.75;
  min-height: 108px !important;
  padding-block: 15px !important;
}

.clinic-intake-form :is(input, textarea)::placeholder {
  color: #8f8392;
}

.clinic-workflow.is-intake .clinic-option-group {
  border: 1px solid rgba(var(--brand-rgb),.08);
  background: #f7f9fbb3;
  border-radius: 20px;
  padding: 15px;
}

.clinic-workflow.is-intake .clinic-option-group legend {
  margin-inline: 8px;
  color: #34414b;
  margin-bottom: 11px;
  padding-inline: 6px;
  font-size: .82rem;
  font-weight: 500;
}

.clinic-workflow.is-intake .clinic-option-group > div {
  gap: 9px;
}

.clinic-workflow.is-intake .clinic-option-group label {
  transition: border-color .2s, color .2s, background .2s, box-shadow .2s, transform .2s cubic-bezier(.16, 1, .3, 1);
  position: relative;
  box-shadow: 0 5px 14px #1b314108;
  color: #505a62 !important;
  border-color: #5369792b !important;
  gap: 9px !important;
  min-height: 42px !important;
  padding: 8px 14px !important;
  font-size: .78rem !important;
  font-weight: 500 !important;
}

.clinic-workflow.is-intake .clinic-option-group label:before {
  color: #fff;
  content: "";
  background: #fff;
  border: 1.5px solid #c0cbd3;
  border-radius: 7px;
  flex: none;
  place-items: center;
  width: 19px;
  height: 19px;
  font-size: .72rem;
  line-height: 1;
  transition: border-color .2s, background .2s, box-shadow .2s, transform .22s cubic-bezier(.16, 1, .3, 1);
  display: grid;
  box-shadow: inset 0 1px 2px #1626320a;
}

.clinic-workflow.is-intake .clinic-option-group label:hover {
  box-shadow: 0 9px 20px rgba(var(--brand-rgb),.07);
  transform: translateY(-1px);
  border-color: rgba(var(--brand-rgb),.3) !important;
  color: var(--brand) !important;
}

.clinic-workflow.is-intake .clinic-option-group label.selected {
  box-shadow: 0 10px 22px rgba(var(--brand-rgb),.1);
  animation: .28s cubic-bezier(.16, 1, .3, 1) clinic-option-select;
  border-color: rgba(var(--brand-rgb),.4) !important;
  background: linear-gradient(145deg, #f2f8fd, #e8f2f9) !important;
}

.clinic-workflow.is-intake .clinic-option-group label.selected:before {
  border-color: var(--brand);
  content: "✓";
  background: linear-gradient(145deg,#3183c1,var(--brand-deep));
  box-shadow: 0 5px 12px rgba(var(--brand-rgb),.22);
  transform: scale(1.06);
}

.clinic-workflow.is-intake .clinic-option-group label:has(input:focus-visible) {
  outline: 3px solid rgba(var(--brand-rgb),.18);
  outline-offset: 2px;
}

.clinic-workflow.is-intake .clinic-inline-check {
  cursor: pointer;
  line-height: 1.7;
  transition: border-color .2s, box-shadow .2s, transform .2s;
  box-shadow: 0 8px 20px #1b31410a;
  border: 1px solid rgba(var(--brand-rgb),.11) !important;
  color: #414c54 !important;
  background: #fff !important;
  border-radius: 18px !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 52px !important;
  padding: 12px 15px !important;
  font-size: .8rem !important;
}

.clinic-workflow.is-intake .clinic-inline-check:hover {
  box-shadow: 0 11px 24px rgba(var(--brand-rgb),.07);
  transform: translateY(-1px);
  border-color: rgba(var(--brand-rgb),.28) !important;
}

.clinic-workflow.is-intake .clinic-inline-check input, .clinic-workflow.is-intake .clinic-consent input {
  width: 21px !important;
  height: 21px !important;
  margin: 0 !important;
}

.clinic-workflow.is-intake .clinic-consent {
  cursor: pointer;
  transition: border-color .22s, box-shadow .22s, transform .22s;
  box-shadow: 0 16px 38px #16385212, inset 0 1px #fff;
  border-color: rgba(var(--brand-rgb),.18) !important;
  background: radial-gradient(circle at 94% 10%,rgba(var(--brand-rgb),.1),transparent 9rem),
    linear-gradient(145deg,#fff,#f1f7fc) !important;
  border-radius: 24px !important;
  align-items: center !important;
  gap: 14px !important;
  min-height: 88px !important;
  padding: 18px 20px !important;
}

.clinic-workflow.is-intake .clinic-consent:hover {
  transform: translateY(-1px);
  box-shadow: 0 20px 44px #19405c1a, inset 0 1px #fff;
  border-color: rgba(var(--brand-rgb),.3) !important;
}

.clinic-workflow.is-intake .clinic-consent > span {
  gap: 6px;
}

.clinic-workflow.is-intake .clinic-consent strong {
  color: #26343e;
  font-size: .86rem;
}

.clinic-workflow.is-intake .clinic-consent small {
  color: #556068;
  font-size: .75rem;
  line-height: 1.85;
}

.clinic-workflow.is-intake .clinic-intake-form > footer {
  border-color: rgba(var(--brand-rgb),.12);
  border-radius: 24px;
  align-items: center;
  gap: 12px;
  min-height: 72px;
  position: static;
  box-shadow: 0 -10px 32px #13314611, inset 0 1px #fff;
  padding: 11px 13px !important;
}

.clinic-workflow.is-intake .clinic-intake-form > footer button {
  min-width: 150px;
  min-height: 48px;
  font-size: .82rem;
}

.clinic-workflow.is-intake .clinic-intake-form > footer .admin-primary {
  min-width: 230px;
  box-shadow: 0 14px 28px rgba(var(--brand-rgb),.24);
}

.clinic-intake-readiness {
  color: #5d6870;
  flex: 1;
  align-items: center;
  gap: 9px;
  min-width: 0;
  margin-inline-end: auto;
  font-size: .75rem;
  font-weight: 500;
  line-height: 1.7;
  display: flex;
}

.clinic-intake-readiness i {
  width: 9px;
  height: 9px;
  box-shadow: 0 0 0 4px rgba(var(--brand-rgb),.06);
  background: #fff;
  border: 2px solid #8aabc4;
  border-radius: 50%;
  flex: none;
}

.clinic-intake-readiness.is-ready {
  color: #26745e;
}

.clinic-intake-readiness.is-ready i {
  background: #43a889;
  border-color: #2f9174;
  box-shadow: 0 0 0 4px #2f91741a;
}

@keyframes clinic-intake-hero-in {
  from {
    opacity: 0;
    transform: translateY(14px)scale(.99);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes clinic-intake-card-in {
  from {
    opacity: 0;
    transform: translateY(18px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes clinic-option-select {
  0% {
    transform: scale(.98);
  }

  70% {
    transform: scale(1.015);
  }

  100% {
    transform: none;
  }
}

@media (max-width: 900px) {
  .clinic-workflow.is-intake .clinic-form-section {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .clinic-workflow.is-intake .clinic-form-section > header {
    min-height: 42px;
  }
}

@media (max-width: 640px) {
  .clinic-intake-form {
    gap: 14px;
  }

  .clinic-intake-form > .clinic-section-heading, .clinic-workflow.is-intake .clinic-form-section {
    border-radius: 22px;
    padding: 18px 15px;
  }

  .clinic-workflow.is-intake .clinic-form-section > header {
    padding-inline-start: 45px;
  }

  .clinic-workflow.is-intake .clinic-form-section > header:before {
    width: 34px;
    height: 34px;
  }

  .clinic-intake-form .operational-form-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .clinic-workflow.is-intake .clinic-option-group {
    border-radius: 18px;
    padding: 13px 11px;
  }

  .clinic-workflow.is-intake .clinic-option-group label {
    flex: calc(50% - 9px);
    justify-content: flex-start;
  }

  .clinic-workflow.is-intake .clinic-consent {
    border-radius: 20px !important;
    padding: 16px !important;
  }

  .clinic-workflow.is-intake .clinic-intake-form > footer {
    border-radius: 20px;
    grid-template-columns: 1fr;
    display: grid;
  }

  .clinic-intake-readiness {
    margin: 0 2px 3px;
  }

  .clinic-workflow.is-intake .clinic-intake-form > footer button {
    width: 100%;
    min-width: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .clinic-intake-form > .clinic-section-heading, .clinic-workflow.is-intake .clinic-form-section, .clinic-workflow.is-intake .clinic-option-group label.selected {
    animation: none !important;
  }
}

.clinic-workflow-body.is-setup {
  place-items: center;
  display: grid;
}

.clinic-camera-setup {
  align-content: center;
  gap: 16px;
  width: min(1180px, 100%);
  margin: auto;
}

.clinic-setup-intro {
  grid-template-columns: 1fr;
}

.clinic-setup-intro:has(.clinic-followup-patient) {
  grid-template-columns: minmax(0, 1.35fr) minmax(310px, .65fr);
}

.clinic-setup-intro .clinic-section-heading {
  text-align: center;
  justify-items: center;
  min-height: 150px;
  padding: 24px clamp(24px, 5vw, 72px);
}

.clinic-setup-intro .clinic-section-heading > span {
  margin-inline: auto;
}

.clinic-setup-intro .clinic-section-heading p {
  max-width: 820px;
  font-size: max(12px,var(--text-small));
}

.clinic-setup-intro .clinic-followup-patient {
  justify-self: center;
  width: 100%;
  min-height: 150px;
}

.clinic-setup-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.clinic-setup-grid article {
  text-align: center;
  align-content: center;
  justify-items: center;
  min-height: 160px;
}

.clinic-setup-grid strong {
  font-size: max(14px, .86rem);
}

.clinic-setup-grid p, .clinic-clinical-note strong, .clinic-clinical-note p {
  font-size: max(12px,var(--text-small));
}

.clinic-clinical-note {
  width: 100%;
}

.clinic-setup-actions {
  justify-content: center;
  padding-top: 14px;
}

.clinic-setup-actions .clinic-setup-start {
  min-width: 280px;
  min-height: 56px;
  box-shadow: 0 18px 38px rgba(var(--brand-rgb),.34);
  isolation: isolate;
  justify-content: center;
  align-items: center;
  gap: 11px;
  font-size: 15px;
  display: inline-flex;
  position: relative;
  overflow: visible;
}

.clinic-setup-start:before, .clinic-setup-start:after {
  z-index: -1;
  border: 1px solid rgba(var(--brand-rgb),.32);
  border-radius: inherit;
  content: "";
  animation: 2.1s ease-out infinite clinic-start-ripple;
  position: absolute;
  inset: -1px;
}

.clinic-setup-start:after {
  animation-delay: 1.05s;
}

.clinic-setup-start > span {
  color: #bfe0f9;
  filter: drop-shadow(0 0 7px #fff);
  font-size: 12px;
  animation: 1.15s ease-in-out infinite clinic-start-dot;
}

.clinic-setup-start:disabled:before, .clinic-setup-start:disabled:after, .clinic-setup-start:disabled > span {
  animation: none;
}

.clinic-capture-guide {
  gap: 12px;
}

.clinic-guide-heading > span {
  font-size: 12px;
}

.clinic-guide-heading p {
  color: #49555d;
  font-size: 12px;
  line-height: 1.8;
}

.clinic-guide-caption {
  color: #fff;
  background: linear-gradient(118deg,#102a3df5,rgba(var(--brand-rgb),.94));
  text-shadow: 0 1px 2px #07121985;
  border-color: #ffffffd1;
  align-content: center;
  gap: 3px;
  min-height: 58px;
  padding: 9px 12px;
  box-shadow: 0 12px 28px #0f28394d, inset 0 1px #ffffff3d;
}

.clinic-guide-caption small {
  color: #daebf8;
  opacity: 1;
  font-size: 12px;
  font-weight: 500;
}

.clinic-guide-caption strong {
  color: #fff;
  font-size: 14px;
  font-weight: 500;
}

.clinic-step-dots {
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  display: flex;
}

.clinic-step-dots > button {
  color: #727e87;
  cursor: default;
  background: #fff;
  border: 1px solid #d2dbe2;
  place-items: center;
  width: 34px;
  height: 34px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
  transition: transform .2s, box-shadow .2s, border-color .2s;
  display: grid;
  box-shadow: 0 5px 12px #21394a0f;
  border-radius: 50% !important;
}

.clinic-step-dots > button.active {
  border-color: var(--brand);
  color: #fff;
  background: linear-gradient(145deg,#297ebf,var(--brand-deep));
  box-shadow: 0 0 0 6px rgba(var(--brand-rgb),.09),0 8px 18px rgba(var(--brand-rgb),.2);
}

.clinic-step-dots > button.done {
  color: #fff;
  background: #258267;
  border-color: #258267;
}

.clinic-capture-stage.is-reviewing .clinic-step-dots > button:not(:disabled) {
  cursor: pointer;
}

.clinic-capture-stage.is-reviewing .clinic-step-dots > button:not(:disabled):hover {
  transform: translateY(-2px)scale(1.05);
  box-shadow: 0 8px 18px #2d6f5738;
}

.clinic-live-frame.has-saved-preview .clinic-frame-target {
  opacity: 0;
}

.clinic-live-frame .clinic-reviewed-image {
  z-index: 3;
  object-fit: contain;
  background: #101518;
  width: 100%;
  height: 100%;
  animation: .32s cubic-bezier(.16, 1, .3, 1) both clinic-saved-preview-in;
  position: absolute;
  inset: 0;
}

.clinic-camera-dock {
  isolation: isolate;
  -webkit-backdrop-filter: blur(32px) saturate(1.18);
  background: radial-gradient(circle at 18% 0, #ffffff94, #0000 34%), radial-gradient(circle at 82% 100%, #ffffff47, #0000 38%), linear-gradient(135deg, #ffffff61, #ffffff2e);
  border-color: #ffffffc2;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 300px) minmax(0, 1fr);
  gap: clamp(14px, 2vw, 28px);
  padding: 11px 14px;
  box-shadow: 0 22px 52px #070b0e3d, inset 0 1px #fffffff2, inset 0 -1px #ffffff4d;
}

.clinic-camera-dock:after {
  z-index: -1;
  content: "";
  pointer-events: none;
  background: radial-gradient(#ffffff52, #0000 70%);
  border-radius: 50%;
  width: 42%;
  height: 70%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.clinic-camera-dock > * {
  z-index: 1;
  position: relative;
}

.clinic-camera-source {
  justify-self: start;
  width: min(240px, 100%);
}

.clinic-camera-source > span, .clinic-camera-select, .clinic-camera-select select {
  color: #272e33;
  text-shadow: 0 1px 1px #ffffffb8;
  font-size: 12px;
  font-weight: 500;
}

.clinic-camera-select select {
  text-shadow: none;
  background: #fffc;
  border-color: #fffc;
  padding-inline: 12px 34px;
  box-shadow: 0 8px 22px #0e161b1a, inset 0 1px #fff;
  min-height: 40px !important;
}

.clinic-shutter {
  grid-template-columns: 34px auto;
  justify-self: center;
  column-gap: 11px;
  width: 100%;
  min-width: 240px;
  min-height: 62px;
  padding: 8px 24px;
}

.clinic-shutter > i {
  width: 30px;
  height: 30px;
}

.clinic-shutter > span {
  color: #fff;
  text-shadow: 0 1px 2px #061a2857;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.35;
}

.clinic-shutter > small {
  color: #dbedfb;
  opacity: 1;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.35;
}

.clinic-camera-utilities > button {
  color: #333c42;
  text-shadow: 0 1px 1px #ffffffbf;
  background: #ffffffb8;
  border-color: #ffffffc7;
  min-height: 40px;
  font-size: 12px;
  font-weight: 500;
  box-shadow: 0 8px 20px #0e161b14, inset 0 1px #fff;
}

.clinic-camera-utilities {
  justify-self: end;
  width: min(100%, 360px);
}

.clinic-camera-dock.is-review {
  padding: 11px 13px;
}

.clinic-capture-review {
  grid-template-columns: minmax(190px, .85fr) minmax(220px, 1.15fr) auto;
  gap: 12px;
}

.clinic-quality {
  max-height: 90px;
  padding: 10px 12px;
}

.clinic-quality strong, .clinic-quality span, .clinic-quality small {
  font-size: 12px;
}

.clinic-review-copy {
  gap: 4px;
  min-width: 0;
  padding-inline: 4px;
  display: grid;
}

.clinic-review-copy strong {
  color: #2c3942;
  font-size: 13px;
}

.clinic-review-copy small {
  color: #59636a;
  font-size: 12px;
  line-height: 1.65;
}

.clinic-capture-review > div:last-child {
  flex-wrap: nowrap;
  gap: 8px;
  display: flex;
}

.clinic-capture-review > div:last-child button {
  min-height: 44px;
  padding-inline: 16px;
  font-size: 12px;
}

.clinic-confirm-capture {
  min-width: 170px;
  box-shadow: 0 12px 26px rgba(var(--brand-rgb),.27);
  background: linear-gradient(125deg, #1b6daa, #0b416a);
}

.clinic-saved-review-actions {
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  display: flex;
}

.clinic-saved-review-actions > span {
  gap: 3px;
  display: grid;
}

.clinic-saved-review-actions strong {
  color: #263038;
  font-size: 13px;
}

.clinic-saved-review-actions > span > em {
  color: #147259;
  background: #e7f7f1;
  border-radius: 999px;
  width: max-content;
  padding: 4px 9px;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  animation: .35s cubic-bezier(.16, 1, .3, 1) both clinic-review-notice-in;
}

.clinic-saved-review-actions small {
  color: #59636a;
  font-size: 12px;
}

.clinic-saved-review-actions > div {
  gap: 8px;
  display: flex;
}

.clinic-saved-review-actions button {
  min-height: 44px;
  padding-inline: 17px;
  font-size: 12px;
}

.clinic-retake-action {
  min-width: 210px;
  box-shadow: 0 12px 26px rgba(var(--brand-rgb),.24);
  background: linear-gradient(125deg, #2377b5, #104e7c);
}

.clinic-shutter.is-retake {
  background: linear-gradient(125deg, #0e5d95, #206ba1 58%, #0d4670);
  box-shadow: 0 16px 34px #20537766, inset 0 1px #ffffff4d;
}

.clinic-camera-utilities .clinic-cancel-retake {
  color: #fff;
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  width: max-content;
  min-height: 34px;
  text-shadow: none;
  background: #131c23ad;
  border-color: #ffffffc7;
  position: absolute;
  bottom: calc(100% + 15px);
  right: 0;
  box-shadow: 0 10px 24px #070b0e38, inset 0 1px #fff3;
}

.clinic-camera-utilities .clinic-cancel-retake:hover {
  color: #fff;
  background: #183f5bdb;
}

.clinic-review-step-grid {
  scrollbar-width: thin;
  scrollbar-color: rgba(var(--brand-rgb),.35) transparent;
  grid-template-rows: repeat(5, minmax(68px, 1fr));
  grid-template-columns: 1fr;
  gap: 7px;
  min-height: 0;
  padding: 2px;
  display: grid;
  overflow: hidden;
}

.clinic-review-step-grid > button {
  color: #424e56;
  text-align: start;
  cursor: pointer;
  background: #ffffffe6;
  border: 1px solid #394e5d1c;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  min-width: 0;
  min-height: 68px;
  padding: 7px 9px;
  transition: transform .2s, border-color .2s, box-shadow .2s, background .2s;
  display: grid;
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 20px #1f313e0d;
  border-radius: 17px !important;
}

.clinic-review-step-grid > button:hover {
  border-color: rgba(var(--brand-rgb),.26);
  background: #fff;
  transform: translateY(-2px);
  box-shadow: 0 12px 26px #1b46671a;
}

.clinic-review-step-grid > button.active {
  border-color: rgba(var(--brand-rgb),.48);
  box-shadow: 0 0 0 3px rgba(var(--brand-rgb),.08),0 13px 28px #1d4b6e21;
  background: linear-gradient(135deg, #fff, #ecf4fa);
}

.clinic-review-step-grid img, .clinic-review-step-grid > button > i {
  object-fit: cover;
  color: #8a97a1;
  background: #edf0f3;
  border-radius: 12px;
  place-items: center;
  width: 56px;
  height: 56px;
  font-style: normal;
  display: grid;
  overflow: hidden;
}

.clinic-review-step-grid > button > span {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.clinic-review-step-grid b, .clinic-review-step-grid small {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.clinic-review-step-grid b {
  color: var(--brand);
  font-size: 12px;
}

.clinic-review-step-grid strong {
  color: #303a42;
  white-space: normal;
  font-size: 13px;
  line-height: 1.45;
}

.clinic-review-step-grid small {
  color: #6c7880;
  font-size: 12px;
}

.clinic-review-step-grid > button > em {
  color: #268269;
  white-space: nowrap;
  background: #26826914;
  border-radius: 99px;
  justify-content: center;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  display: inline-flex;
}

.clinic-review-step-grid > button.active > em {
  color: var(--brand);
  background: rgba(var(--brand-rgb),.09);
  animation: 1.6s ease-in-out infinite clinic-review-active;
}

.clinic-capture-stage.is-reviewing:not(.is-retaking) .clinic-capture-layout {
  grid-template-columns: minmax(460px, .45fr) minmax(0, .55fr);
}

.clinic-capture-stage.is-reviewing:not(.is-retaking) .clinic-capture-guide {
  gap: 11px;
  padding: 17px 20px;
}

.clinic-capture-stage.is-reviewing:not(.is-retaking) .clinic-guide-heading {
  padding-bottom: 2px;
}

.clinic-capture-stage.is-reviewing:not(.is-retaking) .clinic-guide-heading h1 {
  margin-block: 8px 4px;
}

.clinic-capture-stage.is-reviewing:not(.is-retaking) .clinic-guide-heading p {
  max-width: 44rem;
  line-height: 1.72;
}

.clinic-workflow-complete {
  background: none;
  place-items: center;
  width: min(1180px, 100%);
  padding: 18px;
  display: grid;
  position: relative;
  overflow: hidden;
}

.clinic-complete-celebration {
  pointer-events: none;
  width: 320px;
  height: 210px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -62%);
}

.clinic-complete-celebration i {
  background: #4896d1;
  border-radius: 3px;
  width: 8px;
  height: 8px;
  animation: 1.35s cubic-bezier(.16, .72, .25, 1) both clinic-confetti;
  position: absolute;
  top: 48%;
  left: 48%;
}

.clinic-complete-celebration i:nth-child(2) {
  --x: 110px;
  --y: -76px;
  background: #45ad8b;
  animation-delay: 50ms;
}

.clinic-complete-celebration i:nth-child(3) {
  --x: -118px;
  --y: -62px;
  background: #7c6adc;
  animation-delay: .1s;
}

.clinic-complete-celebration i:nth-child(4) {
  --x: 136px;
  --y: 28px;
  background: #e5a93c;
  animation-delay: .15s;
}

.clinic-complete-celebration i:nth-child(5) {
  --x: -132px;
  --y: 34px;
  background: #cf5c80;
  animation-delay: .2s;
}

.clinic-complete-celebration i:nth-child(6) {
  --x: 12px;
  --y: -108px;
  background: #5ec8d2;
  animation-delay: .25s;
}

.clinic-workflow-complete > .clinic-complete-shell {
  z-index: 2;
  flex-direction: initial;
  border: 1px solid rgba(var(--brand-rgb),.12);
  -webkit-backdrop-filter: blur(24px) saturate(1.15);
  backdrop-filter: blur(24px) saturate(1.15);
  background: linear-gradient(145deg, #fffffff0, #f7fafddb);
  border-radius: 34px;
  gap: 15px;
  width: min(1080px, 100%);
  margin-top: 0;
  padding: clamp(20px, 2.4vw, 30px);
  display: grid;
  position: relative;
  overflow: hidden;
  box-shadow: 0 30px 80px #14354d1f, inset 0 1px #fff;
}

.clinic-complete-shell:before {
  top: -235px;
  content: "";
  pointer-events: none;
  background: radial-gradient(circle, #3e90cc29, #0000 68%);
  border-radius: 50%;
  width: 330px;
  height: 330px;
  position: absolute;
  inset-inline-end: -130px;
}

.clinic-complete-summary {
  text-align: start;
  border-bottom: 1px solid #35485717;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding-bottom: 17px;
  display: grid;
  position: relative;
}

.clinic-complete-summary > div:nth-child(2) {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.clinic-complete-summary > div:nth-child(2) > span {
  color: #198367;
  font-size: 13px;
  font-weight: 500;
}

.clinic-complete-summary h1 {
  color: #1b2730;
  margin: 0;
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  line-height: 1.35;
}

.clinic-complete-summary p {
  color: #58626a;
  max-width: 720px;
  margin: 0;
  font-size: 13px;
  line-height: 1.85;
}

.clinic-complete-summary > aside {
  border: 1px solid rgba(var(--brand-rgb),.1);
  background: #ffffffbf;
  border-radius: 22px;
  justify-items: center;
  min-width: 118px;
  padding: 11px 16px;
  display: grid;
  box-shadow: 0 12px 28px #22394a0f, inset 0 1px #fff;
}

.clinic-complete-summary > aside b {
  color: var(--brand);
  font-size: 1.55rem;
  line-height: 1;
}

.clinic-complete-summary > aside span {
  color: #404b53;
  margin-top: 4px;
  font-size: 12px;
  font-weight: 500;
}

.clinic-complete-summary > aside small {
  color: #8b7b8e;
  margin-top: 2px;
  font-size: 12px;
}

.clinic-analysis-heading {
  text-align: start;
  align-items: center;
  gap: 11px;
  display: flex;
}

.clinic-analysis-heading > span {
  color: #fff;
  width: 38px;
  height: 38px;
  box-shadow: 0 9px 20px rgba(var(--brand-rgb),.2);
  background: linear-gradient(145deg, #3485c2, #104c78);
  border-radius: 13px;
  place-items: center;
  font-size: 12px;
  font-weight: 500;
  display: grid;
}

.clinic-analysis-heading > div {
  gap: 2px;
  display: grid;
}

.clinic-analysis-heading strong {
  color: #26323b;
  font-size: 15px;
}

.clinic-analysis-heading small {
  color: #667078;
  font-size: 12px;
}

.clinic-analysis-choices {
  grid-template-columns: minmax(0, 1.3fr) minmax(300px, .7fr);
  width: 100%;
  gap: 12px !important;
  margin: 0 !important;
}

.clinic-analysis-choice {
  min-height: 132px;
  padding: 19px 22px;
  border-radius: 26px !important;
}

.clinic-analysis-choice strong {
  font-size: 15px;
}

.clinic-analysis-choice small {
  color: #545e66;
  font-size: 12px;
}

.clinic-analysis-choice.smart {
  isolation: isolate;
  color: #fff;
  background: radial-gradient(circle at 12% 20%, #a668ff8c, #0000 29%), linear-gradient(125deg, #084b78 0%, #1c69a2 48%, #0c446e 100%);
  border-color: #ffffff38;
  animation: 2.5s ease-in-out infinite clinic-smart-attention, .55s cubic-bezier(.16, 1, .3, 1) .18s both clinic-choice-enter;
  box-shadow: 0 22px 48px #184b714d, inset 0 1px #ffffff45;
}

.clinic-analysis-choice.smart:before {
  z-index: -1;
  top: -150px;
  background: radial-gradient(circle, #ffffff40, #0000 67%);
  width: 230px;
  height: 230px;
  inset-inline-end: -80px;
}

.clinic-analysis-choice.smart:after {
  z-index: -1;
  content: "";
  pointer-events: none;
  background: linear-gradient(90deg, #0000, #ffffff2e, #0000);
  width: 42%;
  animation: 3.4s ease-in-out 1s infinite clinic-smart-shine;
  position: absolute;
  top: -80%;
  bottom: -80%;
  left: -55%;
  transform: rotate(18deg);
}

.clinic-analysis-choice.smart > i {
  color: var(--brand);
  background: #fff;
  overflow: visible;
  box-shadow: 0 12px 26px #0816213d, 0 0 0 7px #ffffff1c;
}

.clinic-analysis-choice.smart > i > b {
  font-size: 15px;
}

.clinic-analysis-choice.smart > i > em {
  color: #fff;
  background: #4997cf;
  border: 2px solid #fffc;
  border-radius: 50%;
  place-items: center;
  width: 22px;
  height: 22px;
  font-size: 12px;
  font-style: normal;
  animation: 1.8s ease-in-out infinite clinic-ai-spark;
  display: grid;
  position: absolute;
  top: -8px;
  right: -7px;
  box-shadow: 0 5px 12px #091e2e40;
}

.clinic-analysis-choice.smart strong {
  color: #fff;
  font-size: 17px;
}

.clinic-analysis-choice.smart small {
  color: #ddecf7;
}

.clinic-analysis-choice.smart > span > small:first-child {
  color: #dcc8ff;
  font-weight: 500;
}

.clinic-analysis-choice.smart > b {
  color: #fff;
  background: #ffffff24;
  border-radius: 50%;
  place-items: center;
  width: 36px;
  height: 36px;
  display: grid;
  box-shadow: inset 0 1px #ffffff38;
}

.clinic-analysis-choice.review > i {
  color: var(--brand);
  box-shadow: none;
  background: #e4f0f8;
  font-size: 20px;
}

.clinic-analysis-choice:disabled {
  cursor: default;
}

.clinic-analysis-choice.smart.selected {
  color: #fff;
  background: linear-gradient(125deg, #21775f, #2c9b7b);
  border-color: #2b9677;
  animation: none;
}

.clinic-analysis-choice.review {
  border-color: rgba(var(--brand-rgb),.13);
  background: linear-gradient(145deg, #fff, #f6fafd);
}

.clinic-analysis-choice.review:hover {
  background: #fff;
}

.clinic-complete-footer {
  border-top: 1px solid #35485717;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding-top: 13px;
  display: flex;
}

.clinic-complete-footer > small {
  color: #7d6e81;
  font-size: 12px;
}

.clinic-complete-back {
  border: 1px solid rgba(var(--brand-rgb),.14);
  color: #54616b;
  cursor: pointer;
  background: #fff;
  min-height: 42px;
  margin: 0;
  padding: 0 18px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
}

@keyframes clinic-start-ripple {
  0% {
    opacity: .55;
    transform: scale(1);
  }

  75%, 100% {
    opacity: 0;
    transform: scale(1.12, 1.45);
  }
}

@keyframes clinic-start-dot {
  0%, 100% {
    opacity: .65;
    transform: scale(.76);
  }

  50% {
    opacity: 1;
    transform: scale(1.22);
  }
}

@keyframes clinic-saved-preview-in {
  from {
    opacity: 0;
    transform: scale(1.025);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes clinic-confetti {
  0% {
    opacity: 0;
    transform: translate(0)rotate(0)scale(.4);
  }

  20% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: translate(var(--x, 80px),var(--y, -80px)) rotate(260deg) scale(1);
  }
}

@keyframes clinic-smart-attention {
  0%, 100% {
    box-shadow: 0 22px 48px #184b714d, inset 0 1px #ffffff45;
  }

  50% {
    box-shadow: 0 27px 58px #184b7166,0 0 0 6px rgba(var(--brand-rgb),.06),inset 0 1px 0 #ffffff4d;
  }
}

@keyframes clinic-smart-shine {
  0%, 45% {
    opacity: 0;
    left: -55%;
  }

  58% {
    opacity: 1;
  }

  78%, 100% {
    opacity: 0;
    left: 120%;
  }
}

@keyframes clinic-ai-spark {
  0%, 100% {
    transform: translateY(0)rotate(0)scale(.92);
  }

  50% {
    transform: translateY(-2px)rotate(12deg)scale(1.08);
  }
}

@keyframes clinic-review-notice-in {
  from {
    opacity: 0;
    transform: translateY(5px)scale(.96);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes clinic-review-active {
  0%, 100% {
    opacity: .65;
    transform: scale(.85);
  }

  50% {
    opacity: 1;
    transform: scale(1.12);
  }
}

@media (max-width: 900px) {
  .clinic-setup-intro:has(.clinic-followup-patient) {
    grid-template-columns: 1fr;
  }

  .clinic-setup-intro .clinic-followup-patient {
    width: min(720px, 100%);
    min-height: 110px;
  }

  .clinic-setup-grid {
    grid-template-columns: 1fr;
  }

  .clinic-setup-grid article {
    text-align: start;
    grid-template-columns: 44px minmax(0, 1fr);
    justify-items: start;
    min-height: 0;
  }

  .clinic-setup-grid article i {
    grid-row: 1 / 3;
  }

  .clinic-setup-grid article p {
    grid-column: 2;
  }

  .clinic-camera-dock {
    grid-template-columns: minmax(0, 1fr) minmax(210px, 260px) minmax(0, 1fr);
    gap: 10px;
  }

  .clinic-shutter {
    min-width: 190px;
    padding-inline: 16px;
  }

  .clinic-capture-review {
    grid-template-columns: 1fr 1fr;
  }

  .clinic-capture-review > div:last-child {
    grid-column: 1 / -1;
    justify-content: center;
  }

  .clinic-capture-stage.is-reviewing .clinic-capture-guide {
    grid-template-rows: auto minmax(0, 1fr);
    grid-template-columns: 1fr;
  }

  .clinic-capture-stage.is-reviewing:not(.is-retaking) .clinic-capture-layout {
    grid-template-columns: 1fr;
  }

  .clinic-analysis-choices {
    grid-template-columns: minmax(0, 1.1fr) minmax(260px, .9fr);
  }
}

.clinic-record-shell {
  width: min(1640px, 100% - clamp(24px, 4vw, 72px));
}

.clinic-record-hero {
  border-radius: 24px;
  margin-bottom: 12px;
  padding: clamp(18px, 2vw, 26px);
}

.clinic-record-facts {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.clinic-record-facts article {
  background: #fffffff0;
  min-height: 72px;
  padding: 12px 16px;
}

.clinic-record-layout {
  grid-template-columns: minmax(270px, 300px) minmax(0, 1fr);
  gap: 20px;
}

.clinic-session-list {
  border-radius: 22px;
  top: 84px;
  box-shadow: 0 16px 42px #1f313e0e;
}

.clinic-session-detail {
  gap: 18px;
}

.clinic-session-detail > .clinic-note-card {
  order: 80;
}

.clinic-session-detail > .clinic-capture-gallery {
  order: 100;
}

.clinic-capture-gallery {
  border-radius: 22px;
  box-shadow: 0 18px 46px #1f32400d;
}

.clinic-record-chart, .clinic-note-card, .clinic-capture-gallery {
  transition: transform .25s cubic-bezier(.2, .8, .2, 1), box-shadow .25s, border-color .25s;
}

.clinic-record-chart:hover, .clinic-note-card:hover, .clinic-capture-gallery:hover {
  border-color: rgba(var(--brand-rgb),.18);
  transform: translateY(-3px);
  box-shadow: 0 25px 58px #1f34441a;
}

.clinic-trend-primary-chart {
  border-color: rgba(var(--brand-rgb),.14);
  background: linear-gradient(145deg, #fff, #f5f9fc);
  padding: clamp(20px, 2.2vw, 30px);
  transition: transform .28s cubic-bezier(.2, .8, .2, 1), box-shadow .28s;
  overflow: hidden;
  box-shadow: 0 24px 62px #1f344414;
}

.clinic-trend-primary-chart:hover {
  transform: translateY(-4px);
  box-shadow: 0 32px 76px #1f344421;
}

.clinic-trend-primary-chart > header {
  margin-bottom: 18px;
}

.clinic-trend-columns {
  grid-template-rows: auto minmax(0, 1fr);
  gap: 12px;
  display: grid;
}

.clinic-trend-columns > aside {
  grid-column: 1 / -1;
  justify-content: flex-end;
  align-items: center;
  gap: 18px;
  display: flex;
}

.clinic-trend-columns > aside span {
  color: var(--muted);
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 500;
  display: flex;
}

.clinic-trend-columns > aside i {
  border-radius: 4px;
  width: 11px;
  height: 11px;
  display: block;
}

.clinic-trend-columns > aside i.baseline {
  background: #c9d4dc;
}

.clinic-trend-columns > aside i.latest {
  background: var(--success);
}

.clinic-trend-column-scale {
  color: #859199;
  text-align: end;
  flex-direction: column;
  justify-content: space-between;
  padding-block: 2px;
  font-size: 12px;
  display: flex;
}

.clinic-trend-column-plot {
  min-width: 0;
  display: grid;
  position: relative;
}

.clinic-trend-column-plot:before {
  content: "";
  pointer-events: none;
  background: repeating-linear-gradient(#41536116 0 1px, #0000 1px 25%);
  position: absolute;
  inset: 0 0 74px;
}

.clinic-trend-column-plot article {
  z-index: 1;
  text-align: center;
  min-width: 0;
  transition: transform .24s;
  display: grid;
  position: relative;
}

.clinic-trend-column-plot article:hover {
  transform: translateY(-5px);
}

.clinic-trend-column-plot article > div {
  justify-content: center;
  align-items: flex-end;
  height: 100%;
  display: flex;
}

.clinic-trend-column-plot article i {
  transform-origin: bottom;
  min-height: 7px;
  transition: filter .24s, box-shadow .24s;
  animation: .58s cubic-bezier(.2, .8, .2, 1) both clinic-trend-column-rise;
  display: block;
  position: relative;
}

.clinic-trend-column-plot article i.baseline {
  background: linear-gradient(#e7ecf0, #c0cdd6);
}

.clinic-trend-column-plot article i.latest {
  background: linear-gradient(180deg,#4c97d0,var(--brand));
  box-shadow: 0 12px 26px rgba(var(--brand-rgb),.18);
}

.clinic-trend-column-plot article i.latest.improved {
  background: linear-gradient(180deg,#54bca3,var(--success));
  box-shadow: 0 12px 26px #13795f33;
}

.clinic-trend-column-plot article i > b {
  color: #404e59;
  font-style: normal;
  position: absolute;
  inset-block-start: -24px;
  inset-inline-start: 50%;
  transform: translateX(-50%);
}

.clinic-trend-column-plot article:hover i {
  filter: saturate(1.12);
  box-shadow: 0 18px 34px #1f344433;
}

.clinic-trend-grid {
  align-items: stretch;
}

.clinic-trend-card {
  transition: transform .26s cubic-bezier(.2, .8, .2, 1), box-shadow .26s, border-color .26s;
}

.clinic-trend-card:hover {
  border-color: rgba(var(--brand-rgb),.18);
  transform: translateY(-3px);
  box-shadow: 0 25px 58px #1f34441a;
}

.clinic-trend-ai {
  margin-top: 2px;
}

@keyframes clinic-trend-column-rise {
  from {
    opacity: .35;
    transform: scaleY(.08);
  }

  to {
    opacity: 1;
    transform: scaleY(1);
  }
}

.trend-3d-container {
  background: linear-gradient(#fff 0%, #f8fafc 100%);
  border: 1px solid #cbd5e1b3;
  border-radius: 20px;
  width: 100%;
  margin: 16px 0 8px;
  padding: 20px 16px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 24px -2px #0f172a0f, inset 0 1px #ffffffe6;
}

.trend-3d-legend {
  margin-bottom: 16px;
  background: #ffffffd9;
  border: 1px solid #cbd5e199;
  border-radius: 99px;
  justify-content: flex-end;
  align-items: center;
  gap: 20px;
  width: fit-content;
  margin-inline-start: auto;
  padding: 8px 16px;
  display: flex;
}

.trend-3d-legend span {
  color: #334155;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  display: inline-flex;
}

.trend-3d-legend i {
  border-radius: 50%;
  width: 12px;
  height: 12px;
  display: inline-block;
}

.trend-3d-legend-baseline i {
  background: linear-gradient(135deg, #94a3b8, #64748b);
  box-shadow: 0 0 6px #64748b80;
}

.trend-3d-legend-target i {
  background: linear-gradient(135deg, #a824c7, #7c1695);
  box-shadow: 0 0 6px #7c169580;
}

.trend-3d-scroll {
  scrollbar-width: thin;
  scrollbar-color: #cbd5e1 #f1f5f9;
  width: 100%;
  padding-bottom: 8px;
  position: relative;
  overflow: auto hidden;
}

.trend-3d-stage {
  flex-direction: column;
  min-width: 900px;
  height: 400px;
  display: flex;
  position: relative;
}

.trend-3d-grid {
  pointer-events: none;
  z-index: 1;
  position: absolute;
  inset: 24px 0 120px;
}

.trend-3d-grid-line {
  border-bottom: 1px dashed #cbd5e1bf;
  justify-content: flex-end;
  align-items: center;
  height: 1px;
  display: flex;
  position: absolute;
  left: 0;
  right: 0;
}

[dir="rtl"] .trend-3d-grid-line {
  justify-content: flex-start;
}

.trend-3d-grid-line > span {
  color: #94a3b8;
  background: #f8fafc;
  border: 1px solid #e2e8f0cc;
  border-radius: 4px;
  padding: 1px 6px;
  font-size: 11px;
  font-weight: 600;
  transform: translateY(-50%);
}

.trend-3d-plot {
  grid-template-columns: repeat(var(--trend-item-count, 15), minmax(0, 1fr));
  z-index: 2;
  gap: 8px;
  display: grid;
  position: absolute;
  inset: 24px 48px 120px;
}

.trend-3d-group {
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  height: 100%;
  transition: transform .25s cubic-bezier(.34, 1.56, .64, 1);
  display: flex;
  position: relative;
}

.trend-3d-group:hover {
  transform: translateY(-4px);
}

.trend-3d-group.unavailable {
  opacity: .45;
}

.trend-3d-pair {
  justify-content: center;
  align-items: flex-end;
  gap: 3px;
  height: 100%;
  display: flex;
}

.trend-3d-rail {
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  width: 18px;
  height: 100%;
  display: flex;
  position: relative;
}

.trend-3d-cylinder {
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 16px;
  transition: height .4s cubic-bezier(.2, .8, .2, 1);
  animation: .6s cubic-bezier(.2, .8, .2, 1) both clinic-trend-column-rise;
  display: flex;
  position: relative;
}

.trend-3d-cylinder.is-baseline .trend-3d-body {
  background: linear-gradient(90deg, #475569 0%, #94a3b8 28%, #cbd5e1 50%, #94a3b8 72%, #334155 100%);
}

.trend-3d-cylinder.is-baseline .trend-3d-cap {
  background: linear-gradient(#e2e8f0 0%, #94a3b8 100%);
  border: 1px solid #cbd5e1;
}

.trend-3d-cylinder.is-target .trend-3d-body {
  background: linear-gradient(90deg, #5c0f71 0%, #7c1695 28%, #d066ef 50%, #7c1695 72%, #5c0f71 100%);
}

.trend-3d-cylinder.is-target .trend-3d-cap {
  background: linear-gradient(#f8e8fd 0%, #d066ef 100%);
  border: 1px solid #d066ef;
}

.trend-3d-cylinder.is-bad .trend-3d-body {
  background: linear-gradient(90deg, #be123c 0%, #f43f5e 28%, #fda4af 50%, #f43f5e 72%, #9f1239 100%) !important;
}

.trend-3d-cylinder.is-bad .trend-3d-cap {
  background: linear-gradient(#fecdd3 0%, #fb7185 100%) !important;
  border: 1px solid #fda4af !important;
}

.trend-3d-cylinder.is-moderate .trend-3d-body {
  background: linear-gradient(90deg, #5c0f71 0%, #7c1695 28%, #d066ef 50%, #7c1695 72%, #5c0f71 100%) !important;
}

.trend-3d-cylinder.is-moderate .trend-3d-cap {
  background: linear-gradient(#f8e8fd 0%, #d066ef 100%) !important;
  border: 1px solid #d066ef !important;
}

.trend-3d-cylinder.is-good .trend-3d-body, .trend-3d-cylinder.is-target.is-improved .trend-3d-body {
  background: linear-gradient(90deg, #047857 0%, #10b981 28%, #6ee7b7 50%, #10b981 72%, #065f46 100%) !important;
}

.trend-3d-cylinder.is-good .trend-3d-cap, .trend-3d-cylinder.is-target.is-improved .trend-3d-cap {
  background: linear-gradient(#a7f3d0 0%, #34d399 100%) !important;
  border: 1px solid #6ee7b7 !important;
}

.trend-3d-cap {
  z-index: 5;
  border-radius: 50%;
  width: 16px;
  height: 10px;
  position: absolute;
  top: -5px;
  left: 0;
  box-shadow: 0 2px 4px #00000029, inset 0 2px 2px #ffffffd9;
}

.trend-3d-body {
  z-index: 4;
  border-radius: 0 0 8px 8px;
  width: 16px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  box-shadow: inset -2px 0 5px #00000038, inset 2px 0 5px #fff6;
}

.trend-3d-base-shadow {
  z-index: 2;
  filter: blur(1px);
  background: radial-gradient(#0f172a47 0%, #0f172a00 72%);
  border-radius: 50%;
  width: 22px;
  height: 8px;
  position: absolute;
  bottom: -4px;
}

.trend-3d-badge {
  white-space: nowrap;
  z-index: 6;
  pointer-events: none;
  background: #fff;
  border: 1px solid #e2e8f0e6;
  border-radius: 6px;
  padding: 2px 6px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.3;
  transition: transform .2s cubic-bezier(.34, 1.56, .64, 1);
  position: absolute;
  top: -28px;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 3px 10px #0f172a1f, 0 1px 2px #0f172a0f;
}

.trend-3d-badge.is-baseline span {
  color: #475569;
}

.trend-3d-badge.is-target span {
  color: #7c1695;
}

.trend-3d-badge.is-bad span {
  color: #be123c !important;
}

.trend-3d-badge.is-moderate span {
  color: #7c1695 !important;
}

.trend-3d-badge.is-good span {
  color: #047857 !important;
}

.trend-3d-group:hover .trend-3d-badge {
  transform: translateX(-50%)scale(1.12);
  box-shadow: 0 6px 16px #0f172a2e;
}

.trend-3d-label-wrap {
  pointer-events: none;
  width: 0;
  height: 0;
  position: absolute;
  top: 100%;
  left: 50%;
}

.trend-3d-label {
  color: #334155;
  white-space: nowrap;
  text-overflow: ellipsis;
  transform-origin: 0 0;
  pointer-events: auto;
  max-width: 110px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;
  transition: color .2s;
  position: absolute;
  top: 12px;
  left: 0;
  overflow: hidden;
  transform: rotate(45deg);
}

[dir="rtl"] .trend-3d-label {
  transform-origin: 100% 0;
  text-align: right;
  left: auto;
  right: 0;
  transform: rotate(-45deg);
}

.trend-3d-group:hover .trend-3d-label {
  color: #0d9488;
  font-weight: 700;
}

@media (max-width: 1100px) {
  .trend-3d-stage {
    min-width: 800px;
    height: 360px;
  }

  .trend-3d-plot {
    gap: 6px;
  }
}

@media (max-width: 700px) {
  .trend-3d-stage {
    min-width: 600px;
    height: 320px;
  }

  .trend-3d-plot {
    gap: 4px;
    inset: 24px 24px 100px;
  }

  .trend-3d-label {
    max-width: 80px;
    font-size: 10px;
  }

  .trend-3d-legend {
    gap: 12px;
    padding: 6px 12px;
  }

  .trend-3d-legend span {
    font-size: 11px;
  }
}

@media (max-width: 1100px) {
  .clinic-record-layout {
    grid-template-columns: 1fr;
  }

  .clinic-record-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .clinic-trend-primary-chart {
    min-height: 460px;
  }
}

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

  .clinic-trend-primary-chart {
    min-height: 0;
    padding: 16px;
  }

  .clinic-record-chart:hover, .clinic-note-card:hover, .clinic-capture-gallery:hover, .clinic-trend-primary-chart:hover, .clinic-trend-card:hover {
    transform: none;
  }
}

.clinic-record-layout {
  display: block;
}

.clinic-patient-info-trigger {
  border: 1px solid rgba(var(--brand-rgb),.14);
  color: #35434e;
  text-align: start;
  cursor: pointer;
  background: #ffffffe0;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  gap: 2px 11px;
  min-height: 58px;
  padding: 9px 13px;
  transition: transform .22s, border-color .22s, box-shadow .22s;
  display: grid;
  box-shadow: 0 10px 26px #1f34440f;
  border-radius: 18px !important;
}

.clinic-patient-info-trigger:hover {
  border-color: rgba(var(--brand-rgb),.28);
  box-shadow: 0 15px 32px rgba(var(--brand-rgb),.11);
  transform: translateY(-2px);
}

.clinic-patient-info-trigger > span {
  width: 40px;
  height: 40px;
  color: var(--brand);
  background: var(--brand-soft);
  border-radius: 13px;
  grid-row: 1 / 3;
  place-items: center;
  display: grid;
}

.clinic-patient-info-trigger svg, .clinic-record-view-tabs svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8px;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: 21px;
  height: 21px;
}

.clinic-patient-info-trigger b {
  font-size: var(--text-small);
  font-weight: 500;
}

.clinic-patient-info-trigger small {
  color: var(--muted);
  font-size: var(--text-compact);
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.clinic-record-view-tabs > div > span svg {
  width: 22px;
  height: 22px;
}

.clinic-session-list.clinic-session-strip {
  border-radius: 22px;
  margin: 0 0 16px;
  position: static;
  overflow: hidden;
}

.clinic-session-strip > header {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 13px 16px 9px;
  display: flex;
}

.clinic-session-strip > header > div {
  min-width: 0;
}

.clinic-session-strip > header > div > span {
  margin-bottom: 2px;
}

.clinic-session-strip > header > b {
  min-width: 34px;
  height: 30px;
  color: var(--brand);
  background: var(--brand-soft);
  font-size: var(--text-small);
  border-radius: 11px;
  place-items: center;
  display: grid;
}

.clinic-session-list.clinic-session-strip > div {
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  scrollbar-color: rgba(var(--brand-rgb),.38) rgba(var(--brand-rgb),.06);
  gap: 9px;
  max-height: none;
  padding: 0 11px 12px;
  display: flex;
  overflow: auto hidden;
}

.clinic-session-list.clinic-session-strip > div::-webkit-scrollbar {
  height: 7px;
}

.clinic-session-list.clinic-session-strip > div::-webkit-scrollbar-track {
  background: rgba(var(--brand-rgb),.06);
  border-radius: 999px;
}

.clinic-session-list.clinic-session-strip > div::-webkit-scrollbar-thumb {
  background: linear-gradient(90deg,#4895ce,var(--brand));
  border-radius: 999px;
}

.clinic-session-list.clinic-session-strip button {
  scroll-snap-align: start;
  flex: 0 0 clamp(225px, 21vw, 285px);
  min-height: 70px;
  padding: 9px 11px;
}

.clinic-session-list.clinic-session-strip button strong {
  font-weight: 500;
}

.clinic-session-list.clinic-session-strip button em {
  margin-top: 1px;
}

.clinic-patient-info-backdrop {
  z-index: 140;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  background: #141f274d;
  place-items: center;
  padding: 20px;
  animation: .22s both clinic-info-fade;
  display: grid;
  position: fixed;
  inset: 0;
}

.clinic-patient-info-modal {
  background: #fffffff2;
  border: 1px solid #ffffffc7;
  border-radius: 30px;
  width: min(720px, 100%);
  max-height: min(720px, 100vh - 40px);
  animation: .3s cubic-bezier(.16, 1, .3, 1) both clinic-info-rise;
  display: grid;
  overflow: auto;
  box-shadow: 0 34px 100px #10293a40;
}

.clinic-patient-info-modal > header {
  z-index: 2;
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  background: #ffffffe0;
  border-bottom: 1px solid #30424f14;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: 22px 24px 17px;
  display: flex;
  position: sticky;
  top: 0;
}

.clinic-patient-info-modal > header span {
  color: var(--muted);
  font-size: var(--text-small);
  display: block;
}

.clinic-patient-info-modal h2 {
  color: var(--ink);
  margin: 4px 0 0;
  font-size: clamp(1.2rem, 2vw, 1.55rem);
}

.clinic-patient-info-modal > header button {
  border: 1px solid rgba(var(--brand-rgb),.12);
  width: 42px;
  min-width: 42px;
  height: 42px;
  color: var(--brand);
  background: var(--brand-soft);
  cursor: pointer;
  place-items: center;
  font-family: inherit;
  font-size: 1.45rem;
  display: grid;
  border-radius: 14px !important;
}

.clinic-patient-info-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px;
  padding: 18px 24px;
  display: grid;
}

.clinic-patient-info-grid article {
  background: #f9fbfc;
  border: 1px solid #30424f17;
  border-radius: 17px;
  align-content: center;
  gap: 6px;
  min-height: 78px;
  padding: 13px 15px;
  display: grid;
}

.clinic-patient-info-grid span {
  color: var(--muted);
  font-size: var(--text-small);
}

.clinic-patient-info-grid strong {
  overflow-wrap: anywhere;
  color: #37444e;
  font-size: var(--text-body);
}

.clinic-patient-info-modal > footer {
  justify-content: flex-end;
  padding: 0 24px 22px;
  display: flex;
}

.clinic-patient-info-modal > footer button {
  color: #fff;
  background: linear-gradient(130deg,#2f82c0,var(--brand-deep));
  min-height: 45px;
  font-family: inherit;
  font-size: var(--text-small);
  box-shadow: 0 11px 26px rgba(var(--brand-rgb),.22);
  cursor: pointer;
  border: 0;
  padding: 0 25px;
  font-weight: 500;
  border-radius: 15px !important;
}

@keyframes clinic-info-fade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes clinic-info-rise {
  from {
    opacity: 0;
    transform: translateY(18px)scale(.97);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 1000px) {
  .clinic-record-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .clinic-record-actions > aside {
    grid-column: 1 / -1;
  }

  .clinic-record-new-session, .clinic-patient-info-trigger {
    min-height: 66px;
  }
}

@media (max-width: 700px) {
  .clinic-record-actions {
    grid-template-columns: 1fr;
  }

  .clinic-record-actions > aside {
    grid-column: auto;
  }

  .clinic-session-list.clinic-session-strip button {
    flex-basis: min(82vw, 270px);
  }

  .clinic-patient-info-grid {
    grid-template-columns: 1fr;
    padding: 14px;
  }

  .clinic-patient-info-modal > header {
    padding: 18px 16px 14px;
  }

  .clinic-patient-info-modal > footer {
    padding: 0 16px 17px;
  }

  .clinic-patient-info-modal > footer button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .clinic-patient-info-trigger, .clinic-patient-info-backdrop, .clinic-patient-info-modal {
    transition: none;
    animation: none;
  }

  .clinic-record-chart, .clinic-note-card, .clinic-capture-gallery, .clinic-trend-primary-chart, .clinic-trend-card, .clinic-trend-column-plot article, .clinic-trend-column-plot article i {
    transition: none !important;
    animation: none !important;
  }

  .clinic-record-chart:hover, .clinic-note-card:hover, .clinic-capture-gallery:hover, .clinic-trend-primary-chart:hover, .clinic-trend-card:hover, .clinic-trend-column-plot article:hover {
    transform: none;
  }
}

.clinic-trend-overview {
  background: radial-gradient(circle at 8% 0, #2aa18421, #0000 18rem), linear-gradient(135deg, #fffffffa, #f1fbf7f0);
  border: 1px solid #23977d33;
  border-radius: 26px;
  gap: 14px;
  padding: 20px;
  display: grid;
  overflow: hidden;
  box-shadow: 0 18px 44px #1e6b5912;
}

.clinic-trend-overview > header {
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
  display: flex;
}

.clinic-trend-overview > header > div {
  gap: 5px;
  display: grid;
}

.clinic-trend-overview > header span {
  color: #435059;
  font-size: 13px;
  font-weight: 500;
}

.clinic-trend-overview > header strong {
  font-size: clamp(22px, 2vw, 30px);
}

.clinic-trend-overview > header p {
  color: #4f685f;
  text-align: end;
  max-width: 520px;
  margin: 0;
  font-size: 12px;
  line-height: 1.8;
}

.clinic-trend-overview > div {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  display: grid;
}

.clinic-trend-overview article {
  background: #ffffffd9;
  border: 1px solid #2c71601c;
  border-radius: 18px;
  align-content: center;
  gap: 5px;
  min-height: 104px;
  padding: 14px 16px;
  display: grid;
  box-shadow: inset 0 1px #fff;
}

.clinic-trend-overview article > span {
  color: #5f6971;
  font-size: 12px;
  font-weight: 500;
}

.clinic-trend-overview article > strong {
  color: #243038;
  font-size: 17px;
}

.clinic-trend-overview article > strong small {
  font-size: 12px;
}

.clinic-trend-overview article > p {
  color: #6d7880;
  margin: 0;
  font-size: 12px;
}

.clinic-trend-page .positive {
  color: #168065 !important;
}

.clinic-trend-page .negative {
  color: #b24059 !important;
}

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

.clinic-trend-kpis article.positive {
  background: linear-gradient(145deg, #fff, #f2fbf7);
  border-color: #23977d33;
}

.clinic-trend-card {
  padding: 20px;
}

.clinic-trend-card > header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  min-height: 50px;
  margin-bottom: 10px;
  display: flex;
}

.clinic-trend-card > header > div {
  gap: 4px;
  display: grid;
}

.clinic-trend-card > header h2 {
  margin: 0;
}

.clinic-trend-card > header button {
  border: 1px solid rgba(var(--brand-rgb),.14);
  width: 38px;
  min-width: 38px;
  height: 38px;
  color: var(--brand);
  cursor: pointer;
  background: #f5f9fc;
  place-items: center;
  font-size: 16px;
  font-weight: 500;
  transition: transform .18s, box-shadow .18s, background .18s;
  display: grid;
  box-shadow: 0 8px 18px #233e5212;
  border-radius: 50% !important;
}

.clinic-trend-card > header button:hover {
  box-shadow: 0 11px 22px rgba(var(--brand-rgb),.14);
  background: #fff;
  transform: translateY(-2px);
}

.clinic-trend-line polyline {
  stroke: #23977d;
  filter: drop-shadow(0 5px 7px #23977d33);
}

.clinic-trend-line circle, .clinic-trend-line circle.positive {
  stroke: #23977d;
}

.clinic-trend-line .clinic-trend-point-value {
  fill: #168065;
  font-size: 12px;
  font-weight: 500;
}

.clinic-metric-lines > div {
  gap: 8px;
  display: grid;
}

.clinic-metric-lines > div span {
  background: #fafbfc;
  border: 1px solid #e7ecef;
  border-radius: 13px;
  grid-template-columns: 9px minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  min-height: 42px;
  padding: 7px 10px;
  display: grid;
}

.clinic-metric-lines > div span > b {
  color: #47525a;
  font-size: 12px;
}

.clinic-metric-lines > div span > small {
  white-space: nowrap;
  font-size: 12px;
  font-weight: 500;
}

.clinic-trend-metric-card {
  border-color: rgba(var(--brand-rgb),.13);
  background: radial-gradient(circle at 4% 0,rgba(var(--brand-rgb),.055),transparent 23rem),
    linear-gradient(145deg,#fff,#f9fcfe);
  padding: clamp(20px, 2.1vw, 30px);
  overflow: hidden;
}

.clinic-trend-metric-card > header {
  margin-bottom: 18px;
}

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

.clinic-metric-progress {
  background: radial-gradient(circle at 100% 0,color-mix(in srgb,var(--metric-accent) 9%,transparent),transparent 10rem),
    #ffffffe0;
  border: 1px solid #3042501a;
  border-radius: 19px;
  gap: 8px;
  min-width: 0;
  min-height: 226px;
  padding: 15px 16px 13px;
  transition: transform .26s cubic-bezier(.2, .8, .2, 1), border-color .26s, box-shadow .26s;
  display: grid;
  position: relative;
  overflow: hidden;
  box-shadow: 0 12px 28px #1f34440b;
}

.clinic-metric-progress:before {
  content: "";
  background: linear-gradient(90deg,transparent,var(--metric-accent),transparent);
  opacity: .72;
  height: 3px;
  position: absolute;
  inset: 0 0 auto;
}

.clinic-metric-progress:hover {
  z-index: 1;
  border-color: color-mix(in srgb,var(--metric-accent) 30%,#dce3e9);
  transform: translateY(-4px);
  box-shadow: 0 20px 42px #1f34441c;
}

.clinic-metric-progress > header {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  min-height: 32px;
  display: flex;
}

.clinic-metric-progress > header > div {
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.clinic-metric-progress > header i {
  background: var(--metric-accent);
  width: 9px;
  min-width: 9px;
  height: 9px;
  box-shadow: 0 0 0 5px color-mix(in srgb,var(--metric-accent) 11%,transparent);
  border-radius: 50%;
}

.clinic-metric-progress > header strong {
  color: #3b464e;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  overflow: hidden;
}

.clinic-metric-progress > header em {
  color: #716475;
  white-space: nowrap;
  background: #eff2f5;
  border-radius: 999px;
  flex: none;
  padding: 5px 8px;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
}

.clinic-metric-progress.improved > header em {
  color: #13795f;
  background: #e8f7f1;
}

.clinic-metric-progress.worsened > header em {
  color: #b24059;
  background: #fae9ed;
}

.clinic-metric-progress svg {
  width: 100%;
  height: 112px;
  display: block;
  overflow: visible;
}

.clinic-metric-progress svg line {
  stroke: #40505c1a;
  stroke-width: 1px;
  stroke-dasharray: 3 5;
}

.clinic-metric-progress svg polygon {
  fill: color-mix(in srgb,var(--metric-accent) 9%,transparent);
  transition: fill .24s;
}

.clinic-metric-progress svg polyline {
  fill: none;
  stroke: var(--metric-accent);
  stroke-width: 3.2px;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 5px 6px color-mix(in srgb,var(--metric-accent) 20%,transparent));
  transition: stroke-width .24s, filter .24s;
}

.clinic-metric-progress:hover svg polygon {
  fill: color-mix(in srgb,var(--metric-accent) 14%,transparent);
}

.clinic-metric-progress:hover svg polyline {
  stroke-width: 4px;
  filter: drop-shadow(0 7px 8px color-mix(in srgb,var(--metric-accent) 27%,transparent));
}

.clinic-metric-progress svg circle {
  fill: #fff;
  stroke: var(--metric-accent);
  stroke-width: 2.5px;
  transform-box: fill-box;
  transform-origin: center;
  transition: transform .2s, fill .2s;
}

.clinic-metric-progress svg g:last-of-type circle {
  fill: var(--metric-accent);
  stroke: #fff;
  stroke-width: 3px;
  filter: drop-shadow(0 4px 6px color-mix(in srgb,var(--metric-accent) 32%,transparent));
}

.clinic-metric-progress:hover svg circle {
  transform: scale(1.16);
}

.clinic-metric-progress svg text {
  fill: #897b8d;
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
}

.clinic-metric-progress > footer {
  border-top: 1px solid #30425014;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding-top: 9px;
  display: flex;
}

.clinic-metric-progress > footer span {
  align-items: baseline;
  gap: 5px;
  display: flex;
}

.clinic-metric-progress > footer small {
  color: #857789;
  font-size: 12px;
  font-weight: 500;
}

.clinic-metric-progress > footer b {
  color: #3e4a52;
  font-variant-numeric: tabular-nums;
  font-size: 13px;
}

.clinic-metric-progress > footer > i {
  color: #939fa7;
  font-size: 15px;
  font-style: normal;
}

.clinic-metric-progress.improved > footer span:last-child b {
  color: #13795f;
}

.clinic-metric-progress.unavailable {
  opacity: .58;
}

.clinic-trend-comparison-card {
  border-color: rgba(var(--brand-rgb),.13);
  background: radial-gradient(circle at 96% 0,rgba(var(--brand-rgb),.055),transparent 23rem),
    linear-gradient(145deg,#fff,#f9fcfe);
  padding: clamp(20px, 2.1vw, 30px);
  overflow: hidden;
}

.clinic-trend-comparison-card > header {
  margin-bottom: 18px;
}

.clinic-comparison-bars {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 18px;
}

.clinic-comparison-bars > aside {
  border-bottom: 1px solid #e7ecef;
  flex-wrap: wrap;
  grid-column: 1 / -1;
  gap: 12px;
  padding-bottom: 14px;
  display: flex;
}

.clinic-comparison-bars > aside > span {
  color: #576169;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 500;
  display: flex;
}

.clinic-comparison-bars > aside i {
  width: 20px;
  height: 6px;
  position: static;
}

.clinic-comparison-bars > div {
  background: #ffffffd1;
  border: 1px solid #30425017;
  border-radius: 16px;
  gap: 9px;
  min-width: 0;
  padding: 12px 14px;
  transition: border-color .22s, box-shadow .22s, transform .22s;
  display: grid;
  box-shadow: 0 9px 22px #1f344409;
}

.clinic-comparison-bars > div:hover {
  border-color: rgba(var(--brand-rgb),.18);
  transform: translateY(-2px);
  box-shadow: 0 14px 30px #1f344413;
}

.clinic-comparison-bars > div > header {
  align-items: center;
}

.clinic-comparison-bars > div > header span {
  color: #434e56;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  overflow: hidden;
}

.clinic-comparison-bars i.latest.improved {
  background: linear-gradient(90deg, #42b598, #168065);
}

.clinic-comparison-bars header b {
  color: #505a61;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  direction: ltr;
  font-size: 12px;
}

.clinic-trend-sessions article {
  align-content: center;
  min-height: 104px;
  position: relative;
}

.clinic-trend-sessions article > b {
  font-size: 13px;
  font-weight: 500;
}

.clinic-trend-session-gain {
  background: #e8f8f1;
  border-radius: 99px;
  grid-column: 2 / 4;
  width: max-content;
  padding: 3px 8px;
  font-weight: 500;
  font-size: 12px !important;
}

.clinic-chart-help-backdrop {
  z-index: 1000;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: #19262f47;
  place-items: center;
  padding: 20px;
  animation: .2s both clinic-chart-help-fade;
  display: grid;
  position: fixed;
  inset: 0;
}

.clinic-chart-help-dialog {
  background: radial-gradient(circle at 0 0,rgba(var(--brand-rgb),.11),transparent 15rem),
    #fffffff0;
  border: 1px solid #ffffffb3;
  border-radius: 28px;
  justify-items: start;
  gap: 10px;
  width: min(520px, 100%);
  padding: 26px;
  animation: .28s cubic-bezier(.2, .8, .2, 1) both clinic-chart-help-rise;
  display: grid;
  position: relative;
  overflow: hidden;
  box-shadow: 0 32px 90px #192a373b, inset 0 1px #fff;
}

.clinic-chart-help-dialog > span {
  color: #fff;
  width: 46px;
  height: 46px;
  box-shadow: 0 11px 25px rgba(var(--brand-rgb),.2);
  background: linear-gradient(145deg, #3383be, #114e7b);
  border-radius: 16px;
  place-items: center;
  font-size: 20px;
  font-weight: 500;
  display: grid;
}

.clinic-chart-help-dialog > small {
  color: var(--brand);
  font-size: 12px;
  font-weight: 500;
}

.clinic-chart-help-dialog h2 {
  color: #212d36;
  margin: 0;
  font-size: 20px;
}

.clinic-chart-help-dialog p {
  color: #545f67;
  margin: 0;
  font-size: 13px;
  line-height: 1.95;
}

.clinic-chart-help-dialog > div {
  color: #297661;
  background: #f0faf6;
  border: 1px solid #23977d29;
  border-radius: 14px;
  align-items: center;
  gap: 9px;
  padding: 10px 12px;
  font-size: 12px;
  line-height: 1.7;
  display: flex;
}

.clinic-chart-help-dialog > div i {
  background: #23977d;
  border-radius: 50%;
  width: 9px;
  min-width: 9px;
  height: 9px;
  box-shadow: 0 0 0 5px #23977d1a;
}

.clinic-chart-help-close {
  top: 16px;
  color: #5c6871;
  cursor: pointer;
  background: #ffffffd1;
  border: 1px solid #dfe6eb;
  place-items: center;
  width: 38px;
  height: 38px;
  font-size: 21px;
  display: grid;
  position: absolute;
  inset-inline-end: 16px;
  border-radius: 50% !important;
}

.clinic-chart-help-done {
  color: #fff;
  background: linear-gradient(135deg,#2678b5,var(--brand-deep));
  min-height: 42px;
  box-shadow: 0 10px 23px rgba(var(--brand-rgb),.19);
  cursor: pointer;
  border: 0;
  justify-self: end;
  padding: 0 20px;
  font-size: 13px;
  font-weight: 500;
  border-radius: var(--radius-button) !important;
}

@keyframes clinic-chart-help-fade {
  from {
    opacity: 0;
  }
}

@keyframes clinic-chart-help-rise {
  from {
    opacity: 0;
    transform: translateY(10px)scale(.98);
  }
}

@media (max-width: 1000px) {
  .clinic-trend-kpis, .clinic-metric-progress-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .clinic-comparison-bars {
    gap: 10px;
  }
}

@media (max-width: 700px) {
  .clinic-trend-overview > header {
    display: grid;
  }

  .clinic-trend-overview > header p {
    text-align: start;
  }

  .clinic-trend-overview > div, .clinic-trend-kpis {
    grid-template-columns: 1fr;
  }

  .clinic-trend-metric-card {
    padding: 16px;
  }

  .clinic-metric-progress-grid {
    grid-template-columns: 1fr;
  }

  .clinic-trend-comparison-card {
    padding: 16px;
  }

  .clinic-comparison-bars {
    grid-template-columns: 1fr;
  }

  .clinic-chart-help-dialog {
    padding: 22px 18px 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .clinic-chart-help-backdrop, .clinic-chart-help-dialog, .clinic-trend-card > header button, .clinic-metric-progress, .clinic-metric-progress svg polygon, .clinic-metric-progress svg polyline, .clinic-metric-progress svg circle {
    transition: none !important;
    animation: none !important;
  }
}

.clinic-trend-primary-chart {
  min-height: 480px;
}

.clinic-trend-columns {
  grid-template-columns: 34px minmax(0, 1fr);
  min-height: 380px;
  overflow: visible;
}

.clinic-trend-column-scale {
  height: 275px;
}

.clinic-trend-column-plot {
  grid-template-columns: repeat(var(--trend-metric-count, 15),minmax(0,1fr));
  gap: clamp(5px, .7vw, 11px);
  width: auto;
}

.clinic-trend-column-plot:before {
  inset-block-end: 74px;
}

.clinic-trend-column-plot article {
  grid-template-rows: 275px minmax(58px, auto);
  gap: 9px;
}

.clinic-trend-column-plot article > div {
  gap: 3px;
  padding-inline: 2px;
}

.clinic-trend-column-plot article i {
  border-radius: 4px;
  width: 12px;
  position: relative;
  box-shadow: inset -2px 0 6px #0000001a, 2px 2px 4px #0000000d;
}

.clinic-trend-column-plot article i:before {
  content: "";
  background: inherit;
  filter: brightness(1.15) contrast(1.1);
  border-radius: 50%;
  width: 100%;
  height: 6px;
  position: absolute;
  top: -4px;
  left: 0;
  box-shadow: inset 0 2px 2px #fff6;
}

.clinic-trend-column-plot article i:after {
  content: "";
  background: inherit;
  filter: brightness(.85);
  z-index: -1;
  border-radius: 50%;
  width: 100%;
  height: 6px;
  position: absolute;
  bottom: -3px;
  left: 0;
}

.clinic-trend-column-plot article i > b {
  color: #334155;
  background: #fffc;
  border-radius: 4px;
  padding: 1px 4px;
  font-size: 11px;
  font-weight: 700;
  position: absolute;
  top: -22px;
  left: 50%;
  transform: translateX(-50%);
}

.clinic-trend-column-plot article > span {
  color: #404c55;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  min-height: 38px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.45;
  display: -webkit-box;
  overflow: hidden;
}

.clinic-trend-column-plot article.unavailable {
  opacity: .58;
}

.clinic-trend-column-plot article.unavailable i {
  box-shadow: none;
  background: #e9ecef;
  border: 1px dashed #aab3ba;
}

.clinic-metric-lines > div {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.clinic-metric-lines > div span.unavailable, .clinic-comparison-bars > div.unavailable {
  opacity: .58;
}

.clinic-comparison-bars > div.unavailable i {
  background: #e9ecef;
  border: 1px dashed #aab3ba;
}

@media (max-width: 1100px) {
  .clinic-trend-columns {
    min-height: 350px;
  }

  .clinic-trend-column-scale {
    height: 245px;
  }

  .clinic-trend-column-plot {
    grid-template-columns: repeat(var(--trend-metric-count, 15),minmax(0,1fr));
    gap: 4px;
  }

  .clinic-trend-column-plot article {
    grid-template-rows: 245px minmax(58px, auto);
  }
}

@media (max-width: 700px) {
  .clinic-trend-columns {
    grid-template-columns: 1fr;
    min-height: 0;
    padding-bottom: 0;
    display: grid;
    overflow: visible;
  }

  .clinic-trend-columns > aside {
    width: auto;
    margin: 0 0 14px;
    position: static;
  }

  .clinic-trend-column-scale {
    display: none;
  }

  .clinic-trend-column-plot {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px 8px;
    width: auto;
  }

  .clinic-trend-column-plot:before {
    display: none;
  }

  .clinic-trend-column-plot article {
    grid-template-rows: 190px 54px;
  }

  .clinic-metric-lines > div {
    grid-template-columns: 1fr;
  }
}

.clinic-record-overview {
  --record-control-radius: 18px;
  border: 1px solid rgba(var(--brand-rgb),.12);
  background: radial-gradient(circle at 100% 0, #4191cc21, #0000 24rem), linear-gradient(135deg, #fffffffa, #f2f8fcf0);
  border-radius: 28px;
  grid-template-columns: minmax(280px, .72fr) minmax(570px, 1.28fr);
  grid-template-areas: "identity actions"
                       "tabs tabs";
  align-items: center;
  gap: 18px 26px;
  margin-bottom: 16px;
  padding: clamp(20px, 2vw, 26px);
  display: grid;
  position: relative;
  overflow: hidden;
  box-shadow: 0 22px 58px #1e334313, inset 0 1px #fff;
}

.clinic-record-overview:after {
  z-index: 0;
  border: 1px solid rgba(var(--brand-rgb),.06);
  content: "";
  width: 230px;
  height: 230px;
  box-shadow: 0 0 0 38px rgba(var(--brand-rgb),.018),0 0 0 76px rgba(var(--brand-rgb),.012);
  pointer-events: none;
  border-radius: 50%;
  position: absolute;
  inset-block-start: -170px;
  inset-inline-start: 18%;
}

.clinic-record-overview > * {
  z-index: 1;
  position: relative;
}

.clinic-record-identity {
  grid-area: identity;
  min-width: 0;
}

.clinic-record-identity > span {
  color: var(--brand);
  font-size: var(--text-small);
  margin-bottom: 5px;
  font-weight: 500;
  display: block;
}

.clinic-record-identity h1 {
  color: var(--ink);
  letter-spacing: -.02em;
  margin: 0;
  font-size: clamp(1.35rem, 1.8vw, 1.72rem);
  font-weight: 500;
}

.clinic-record-meta {
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 13px;
  display: flex;
}

.clinic-record-meta > span {
  border: 1px solid rgba(var(--brand-rgb),.1);
  color: #606b73;
  min-height: 32px;
  font-size: var(--text-compact);
  background: #ffffffb8;
  border-radius: 12px;
  align-items: center;
  gap: 6px;
  padding: 6px 11px;
  font-weight: 500;
  display: flex;
}

.clinic-record-meta b {
  color: var(--brand);
  font-size: 14px;
  font-weight: 500;
}

.clinic-record-identity p {
  color: #58646d;
  max-width: 680px;
  font-size: var(--text-small);
  margin: 7px 0 0;
  font-weight: 500;
  line-height: 1.75;
}

.clinic-record-summary {
  grid-area: summary;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  display: grid;
}

.clinic-record-summary article {
  border: 1px solid rgba(var(--brand-rgb),.1);
  border-radius: var(--record-control-radius);
  background: #ffffffc7;
  align-content: center;
  justify-items: center;
  gap: 3px;
  min-height: 76px;
  padding: 10px 12px;
  display: grid;
  box-shadow: 0 10px 24px #1e33430b, inset 0 1px #fff;
}

.clinic-record-summary b {
  color: var(--brand);
  font-size: 1.35rem;
  font-weight: 500;
  line-height: 1;
}

.clinic-record-summary span {
  color: #606b73;
  font-size: var(--text-compact);
  text-align: center;
  font-weight: 500;
}

.clinic-record-overview .clinic-record-actions {
  grid-area: actions;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
  display: grid;
}

.clinic-record-overview .clinic-patient-info-trigger, .clinic-record-overview .clinic-patient-link-trigger, .clinic-record-overview .clinic-record-new-session {
  min-height: 58px;
  padding: 9px 12px;
  overflow: visible;
  border-radius: var(--record-control-radius) !important;
}

.clinic-patient-link-trigger {
  border: 1px solid rgba(var(--brand-rgb),.14);
  color: #35434e;
  text-align: start;
  cursor: pointer;
  background: #ffffffe0;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  gap: 2px 11px;
  min-height: 58px;
  padding: 9px 13px;
  transition: transform .22s, border-color .22s, box-shadow .22s;
  display: grid;
  box-shadow: 0 10px 26px #1f34440f;
  border-radius: 18px !important;
}

.clinic-patient-link-trigger:hover:not(:disabled) {
  border-color: rgba(var(--brand-rgb),.28);
  box-shadow: 0 15px 32px rgba(var(--brand-rgb),.11);
  transform: translateY(-2px);
}

.clinic-patient-link-trigger > span {
  color: #148a70;
  background: #e6f6f1;
  border-radius: 13px;
  grid-row: 1 / 3;
  place-items: center;
  width: 40px;
  height: 40px;
  font-weight: 500;
  display: grid;
}

.clinic-patient-link-trigger b {
  font-size: var(--text-small);
  font-weight: 500;
}

.clinic-patient-link-trigger small {
  color: var(--muted);
  font-size: var(--text-compact);
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.clinic-patient-link-trigger:disabled {
  opacity: .6;
  cursor: wait;
}

.clinic-patient-link-notice {
  font-size: var(--text-compact);
  border-radius: 14px;
  grid-column: 1 / -1;
  margin: 0;
  padding: 10px 14px;
  font-weight: 500;
}

.clinic-patient-link-notice.success {
  color: #147960;
  background: #e7f6f1;
}

.clinic-patient-link-notice.error {
  color: #a83c50;
  background: #fbecef;
}

.clinic-record-overview .clinic-patient-info-trigger {
  grid-template-columns: 38px minmax(0, 1fr);
  box-shadow: 0 10px 24px #1e33430e;
}

.clinic-record-overview .clinic-patient-info-trigger > span {
  border-radius: 13px;
}

.clinic-record-overview .clinic-record-new-session {
  box-shadow: 0 14px 30px rgba(var(--brand-rgb),.24),inset 0 1px 0 #ffffff38;
  grid-template-columns: 38px minmax(0, 1fr);
}

.clinic-record-overview .clinic-record-new-session > span {
  border-radius: 13px;
  width: 38px;
  height: 38px;
}

.clinic-record-overview .clinic-record-actions b {
  text-overflow: clip;
  white-space: normal;
  line-height: 1.55;
  overflow: visible;
  font-size: 12.5px !important;
}

.clinic-record-overview .clinic-record-new-session b {
  font-size: 13px !important;
}

.clinic-record-overview .clinic-record-new-session small {
  font-size: var(--text-compact);
}

.clinic-record-overview .clinic-record-view-tabs {
  border: 0;
  border-top: 1px solid rgba(var(--brand-rgb),.1);
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  background: none;
  border-radius: 0;
  grid-area: tabs;
  margin: 0;
  padding: 16px 0 0;
}

.clinic-record-overview .clinic-record-view-tabs > div, .clinic-record-overview .clinic-record-view-tabs > button {
  background: #ffffffad;
  min-height: 64px;
  border-radius: var(--record-control-radius) !important;
}

.clinic-record-overview .clinic-record-view-tabs > div.active {
  box-shadow: 0 10px 25px rgba(var(--brand-rgb),.07);
  background: #ffffffe6;
}

.patient-record-public .clinic-record-view-tabs {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.patient-record-public .clinic-record-view-tabs > button > svg {
  width: 42px;
  height: 42px;
  color: var(--brand);
  background: #e6f0f8;
  border-radius: 14px;
  grid-row: 1 / 3;
  place-items: center;
  padding: 10px;
  display: grid;
}

.patient-record-public .patient-pdf-action {
  color: #176f5c;
  background: linear-gradient(130deg, #effaf6eb, #ffffffe6);
  border-color: #2e9a8029;
}

.patient-record-public .patient-pdf-action > svg {
  color: #fff;
  background: linear-gradient(145deg, #32aa8d, #16755f);
  box-shadow: 0 8px 18px #1a89702e;
}

.patient-analysis-overall {
  border: 1px solid rgba(var(--brand-rgb),.14);
  background: radial-gradient(circle at 100% 0,rgba(var(--brand-rgb),.14),transparent 34%),linear-gradient(135deg,#fff,#f6fafc);
  border-radius: 26px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  min-height: 158px;
  margin: 0 0 14px;
  padding: clamp(20px, 3vw, 30px);
  display: grid;
  overflow: hidden;
  box-shadow: 0 18px 45px #1f344412;
}

.patient-analysis-overall > div {
  gap: 7px;
  display: grid;
}

.patient-analysis-overall > div > span {
  color: #62727d;
  font-size: 13px;
  font-weight: 500;
}

.patient-analysis-overall > div > strong {
  color: #202d36;
  font-size: clamp(18px, 2vw, 25px);
  font-weight: 500;
}

.patient-analysis-overall > div > p {
  color: #64717a;
  margin: 0;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.75;
}

.patient-analysis-overall .analysis-score-ring {
  border: 1px solid rgba(var(--brand-rgb),.12);
  background: #ffffffdb;
  border-radius: 22px;
  min-width: 138px;
  padding: 14px 12px;
  box-shadow: 0 10px 26px #2d4c6214;
}

.patient-analysis-overall .analysis-score-ring > div {
  width: 88px;
}

.patient-analysis-overall .analysis-score-ring strong {
  font-size: 26px;
}

.patient-record-public .analysis-scroll-hint {
  margin: 14px 0 8px !important;
}

.patient-record-public .analysis-tab-rail {
  position: relative;
}

.patient-record-public .analysis-tab-rail:after {
  z-index: 2;
  content: "";
  pointer-events: none;
  background: linear-gradient(90deg, #0000, #fffffff5);
  width: 34px;
  position: absolute;
  inset-block: 7px;
  inset-inline-end: 7px;
}

@media (max-width: 700px) {
  .patient-analysis-overall > div {
    gap: 6px;
  }

  .patient-analysis-overall > div > strong {
    font-size: 21px;
  }

  .patient-analysis-overall > div > p {
    font-size: 13px;
  }

  .patient-analysis-overall .analysis-score-ring {
    border-radius: 19px;
    grid-template-columns: auto minmax(0, 1fr);
    place-items: center start;
    gap: 13px;
    width: 100%;
    padding: 15px 16px;
  }

  .patient-analysis-overall .analysis-score-ring > div {
    grid-row: 1 / 3;
    width: 104px;
  }

  .patient-analysis-overall .analysis-score-ring > span {
    margin: 0;
    font-size: 15px;
  }

  .patient-analysis-overall .analysis-score-ring strong {
    font-size: 31px;
  }

  .patient-analysis-overall .analysis-score-ring small {
    font-size: 13px;
  }

  .patient-record-public .analysis-scroll-hint {
    margin: 16px 2px 9px !important;
  }
}

.patient-record-public .analysis-tab-rail:after {
  display: none;
}

@media (max-width: 700px) {
  .patient-record-public .analysis-tab-rail {
    position: relative;
  }

  .patient-record-public .analysis-tab-rail:after {
    z-index: 2;
    content: "";
    pointer-events: none;
    background: linear-gradient(90deg, #0000, #fffffff5);
    width: 42px;
    display: block;
    position: absolute;
    inset-block: 7px;
    inset-inline-end: 7px;
  }
}

@media (max-width: 1180px) {
  .clinic-record-overview {
    grid-template-columns: 1fr;
    grid-template-areas: "identity"
                         "actions"
                         "tabs";
  }

  .clinic-record-overview .clinic-record-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .clinic-record-overview {
    border-radius: 24px;
    grid-template-columns: 1fr;
    grid-template-areas: "identity"
                         "actions"
                         "tabs";
    gap: 13px;
    padding: 18px 14px;
  }

  .clinic-record-identity h1 {
    font-size: 1.45rem;
  }

  .clinic-record-identity p {
    display: none;
  }

  .clinic-record-meta {
    margin-top: 10px;
  }

  .clinic-record-overview .clinic-record-actions {
    scroll-snap-type: x mandatory;
    scrollbar-color: rgba(var(--brand-rgb),.25) transparent;
    scrollbar-width: thin;
    grid-template-columns: none;
    grid-auto-columns: minmax(238px, 80vw);
    grid-auto-flow: column;
    gap: 10px;
    padding: 1px 1px 6px;
    scroll-padding-inline: 1px;
    overflow-x: auto;
  }

  .clinic-record-overview .clinic-record-actions > * {
    scroll-snap-align: start;
  }

  .clinic-record-overview .clinic-patient-info-trigger, .clinic-record-overview .clinic-patient-link-trigger, .clinic-record-overview .clinic-record-new-session {
    min-height: 62px;
  }

  .clinic-record-overview .clinic-record-view-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-top: 13px;
  }

  .clinic-record-overview .clinic-record-view-tabs > div, .clinic-record-overview .clinic-record-view-tabs > button {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 3px 8px;
    min-height: 84px;
    padding: 9px;
  }

  .clinic-record-overview .clinic-record-view-tabs > div > span, .clinic-record-overview .clinic-record-view-tabs > button > span {
    border-radius: 11px;
    width: 34px;
    height: 34px;
  }

  .clinic-record-overview .clinic-record-view-tabs strong {
    white-space: normal;
    font-size: 12px;
    line-height: 1.5;
  }

  .clinic-record-overview .clinic-record-view-tabs small {
    white-space: normal;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: 11px;
    line-height: 1.5;
    display: -webkit-box;
  }

  .patient-record-public .clinic-record-view-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding-top: 13px;
  }

  .patient-record-public .clinic-record-view-tabs > button {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 3px 9px;
    min-height: 88px;
    padding: 10px 11px;
  }

  .patient-record-public .clinic-record-view-tabs > button:first-child {
    grid-column: 1 / -1;
    min-height: 70px;
  }

  .patient-record-public .clinic-record-view-tabs > button > span, .patient-record-public .clinic-record-view-tabs > button > svg {
    border-radius: 12px;
    width: 38px;
    height: 38px;
    padding: 8px;
  }

  .patient-record-public .clinic-record-view-tabs strong {
    white-space: normal;
    font-size: 13px;
    line-height: 1.5;
  }

  .patient-record-public .clinic-record-view-tabs small {
    white-space: normal;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: 12px;
    line-height: 1.55;
    display: -webkit-box;
  }
}

@media (max-width: 360px) {
  .patient-record-public .clinic-record-view-tabs {
    grid-template-columns: 1fr;
  }

  .patient-record-public .clinic-record-view-tabs > button:first-child {
    grid-column: auto;
  }

  .patient-record-public .clinic-record-view-tabs > button {
    min-height: 70px;
  }
}

.clinic-support-page {
  gap: clamp(18px, 2vw, 28px);
}

.clinic-support-heading {
  align-items: flex-end;
}

.clinic-support-heading > div {
  max-width: 820px;
}

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

.ticket-metric-grid article {
  border: 1px solid rgba(var(--brand-rgb),.1);
  background: #ffffffe0;
  border-radius: 24px;
  min-height: 104px;
  padding: 20px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 18px 46px #13314612;
}

.ticket-metric-grid article:after {
  background: rgba(var(--brand-rgb),.08);
  content: "";
  border-radius: 50%;
  width: 84px;
  height: 84px;
  position: absolute;
  bottom: -32px;
  right: -24px;
}

.ticket-metric-grid span {
  color: var(--muted);
  font-size: max(13px,var(--text-compact));
  font-weight: 500;
  display: block;
}

.ticket-metric-grid strong {
  color: var(--ink);
  margin-top: 8px;
  font-size: clamp(25px, 2vw, 34px);
  display: block;
}

.ticket-workspace {
  border: 1px solid rgba(var(--brand-rgb),.12);
  background: #ffffffd6;
  border-radius: 30px;
  grid-template-columns: minmax(350px, 36%) minmax(0, 1fr);
  min-height: 650px;
  display: grid;
  overflow: hidden;
  box-shadow: 0 26px 70px #13314617;
}

.ticket-index {
  border-inline-end: 1px solid rgba(var(--brand-rgb),.1);
  background: #f7f9fbd6;
  flex-direction: column;
  min-width: 0;
  display: flex;
}

.ticket-index > header {
  border-bottom: 1px solid rgba(var(--brand-rgb),.09);
  gap: 10px;
  padding: 18px;
  display: grid;
}

.ticket-index > header input, .ticket-index > header select {
  border: 1px solid rgba(var(--brand-rgb),.14);
  border-radius: var(--radius-field);
  width: 100%;
  min-height: 48px;
  color: var(--ink);
  font: inherit;
  font-size: max(13px,var(--text-compact));
  background: #fff;
  padding: 0 16px;
}

.ticket-index > header > div {
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  display: grid;
}

.ticket-index-scroll, .ticket-thread-messages {
  scrollbar-color: rgba(var(--brand-rgb),.38) transparent;
  scrollbar-width: thin;
  min-height: 0;
  overflow: auto;
}

.ticket-index-scroll {
  align-content: start;
  gap: 10px;
  max-height: 690px;
  padding: 12px;
  display: grid;
}

.ticket-index-item {
  border: 1px solid rgba(var(--brand-rgb),.1);
  width: 100%;
  min-width: 0;
  color: inherit;
  text-align: start;
  cursor: pointer;
  background: #ffffffb8;
  gap: 8px;
  padding: 16px;
  transition: border-color .2s, background .2s, box-shadow .2s, transform .2s;
  display: grid;
  position: relative;
  overflow: hidden;
  box-shadow: 0 7px 22px #13314609;
  border-radius: 18px !important;
}

.ticket-index-item:after {
  background: linear-gradient(180deg,#3c8dcb,var(--brand));
  content: "";
  opacity: 0;
  border-radius: 0 99px 99px 0;
  width: 3px;
  transition: opacity .2s, transform .2s;
  position: absolute;
  inset-block: 14px;
  inset-inline-start: 0;
  transform: scaleY(.45);
}

[dir="rtl"] .ticket-index-item:after {
  border-radius: 99px 0 0 99px;
}

.ticket-index-item:hover {
  border-color: rgba(var(--brand-rgb),.2);
  background: #fff;
  transform: translateY(-1px);
  box-shadow: 0 11px 28px #19426013;
}

.ticket-index-item.is-active {
  border-color: rgba(var(--brand-rgb),.34);
  box-shadow: 0 12px 30px rgba(var(--brand-rgb),.1);
  background: linear-gradient(135deg, #fff 12%, #f3f9fd);
}

.ticket-index-item.is-active:after {
  opacity: 1;
  transform: scaleY(1);
}

.ticket-index-item:focus-visible {
  outline: 3px solid rgba(var(--brand-rgb),.18);
  outline-offset: 2px;
}

.ticket-index-item > div, .ticket-index-item > footer {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.ticket-index-item bdi {
  color: var(--brand);
  letter-spacing: .04em;
  font-size: 12px;
  font-weight: 500;
}

.ticket-index-item > strong {
  color: var(--ink);
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: 15px;
  line-height: 1.65;
  display: -webkit-box;
  overflow: hidden;
}

.ticket-index-item > p {
  color: var(--muted);
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin: 0;
  font-size: 13px;
  line-height: 1.8;
  display: -webkit-box;
  overflow: hidden;
}

.ticket-index-item > footer span, .ticket-index-item > footer time {
  color: var(--muted);
  font-size: 12px;
}

.ticket-index-item > footer b {
  background: var(--brand);
  color: #fff;
  border-radius: 50%;
  place-items: center;
  width: 25px;
  height: 25px;
  font-size: 12px;
  display: grid;
}

.ticket-status {
  min-height: 30px;
  color: var(--brand);
  white-space: nowrap;
  background: #edf3f7;
  border-radius: 999px;
  align-items: center;
  padding: 0 11px;
  font-size: 12px;
  font-weight: 500;
  display: inline-flex;
}

.ticket-status.is-resolved, .ticket-status.is-closed {
  color: #157b5f;
  background: #e7f7f1;
}

.ticket-status.is-waiting_for_clinic {
  color: #8b5a07;
  background: #fff3d9;
}

.ticket-thread {
  background: linear-gradient(#fffffff5, #f7f9fbdb);
  flex-direction: column;
  min-width: 0;
  display: flex;
}

.ticket-thread-empty {
  min-height: 480px;
  color: var(--muted);
  text-align: center;
  place-content: center;
  justify-items: center;
  gap: 14px;
  display: grid;
}

.ticket-thread-empty span {
  width: 64px;
  height: 64px;
  color: var(--brand);
  background: #e8f2f9;
  border-radius: 22px;
  place-items: center;
  font-size: 28px;
  font-weight: 500;
  display: grid;
}

.ticket-thread-header {
  border-bottom: 1px solid rgba(var(--brand-rgb),.09);
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  padding: 22px 24px;
  display: flex;
}

.ticket-thread-header > div > span {
  color: var(--brand);
  font-size: 12px;
  font-weight: 500;
}

.ticket-thread-header h2 {
  color: var(--ink);
  margin: 7px 0 5px;
  font-size: clamp(18px, 1.5vw, 23px);
}

.ticket-thread-header p {
  color: var(--muted);
  margin: 0;
  font-size: 13px;
}

.ticket-thread-messages {
  flex-direction: column;
  flex: 1;
  gap: 14px;
  min-height: 320px;
  max-height: 480px;
  padding: 22px;
  display: flex;
}

.ticket-message {
  border: 1px solid rgba(var(--brand-rgb),.1);
  background: #fff;
  border-radius: 22px;
  width: min(78%, 650px);
  padding: 15px 17px;
  box-shadow: 0 10px 28px #14344c0d;
}

.ticket-message.is-clinic {
  background: linear-gradient(135deg,var(--brand),#931eb0);
  color: #fff;
  border-radius: 22px 22px 4px;
  align-self: flex-end;
  margin-left: auto !important;
  margin-right: 0 !important;
}

.ticket-message.is-admin {
  border-radius: 22px 22px 22px 4px;
  align-self: flex-start;
  margin-left: 0 !important;
  margin-right: auto !important;
}

.ticket-message header {
  align-items: center;
  gap: 10px;
  display: flex;
}

.ticket-message header time {
  color: inherit;
  opacity: .72;
  margin-inline-start: auto;
  font-size: 12px;
}

.ticket-message p {
  color: inherit;
  white-space: pre-wrap;
  margin: 8px 0 0;
  font-size: 14px;
  line-height: 1.9;
}

.ticket-composer {
  border-top: 1px solid rgba(var(--brand-rgb),.09);
  background: #ffffffe6;
  padding: 16px 20px 20px;
}

.ticket-composer textarea {
  resize: vertical;
  border: 1px solid rgba(var(--brand-rgb),.15);
  border-radius: var(--radius-textarea);
  width: 100%;
  min-height: 92px;
  color: var(--ink);
  font: inherit;
  background: #fff;
  padding: 14px 16px;
  font-size: 14px;
  line-height: 1.8;
}

.ticket-composer footer, .ticket-thread-actions {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  display: flex;
}

.ticket-file-button {
  color: var(--brand);
  cursor: pointer;
  align-items: center;
  gap: 9px;
  display: flex;
}

.ticket-file-button input {
  opacity: 0;
  width: 1px;
  height: 1px;
  position: absolute;
}

.ticket-file-button small {
  color: var(--muted);
  font-size: 12px;
}

.ticket-thread-actions {
  border-top: 1px solid rgba(var(--brand-rgb),.08);
  padding: 16px 22px;
}

.ticket-thread-actions p {
  max-width: 600px;
  color: var(--muted);
  margin: 0;
  font-size: 12px;
  line-height: 1.8;
}

.ticket-thread-actions > div, .ticket-rating {
  align-items: center;
  gap: 8px;
  display: flex;
}

.ticket-rating button {
  color: #b9c7d1;
  cursor: pointer;
  background: none;
  border: 0;
  font-size: 22px;
}

.ticket-rating button:hover, .ticket-rating button.is-active {
  color: #f2b632;
}

.ticket-attachment-list {
  flex-wrap: wrap;
  gap: 10px;
  display: flex;
}

.ticket-attachment-list a {
  border: 1px solid rgba(var(--brand-rgb),.12);
  color: var(--ink);
  background: #fff;
  border-radius: 16px;
  align-items: center;
  gap: 10px;
  padding: 11px 13px;
  text-decoration: none;
  display: flex;
}

.ticket-empty {
  min-height: 280px;
  color: var(--muted);
  text-align: center;
  place-content: center;
  gap: 8px;
  padding: 22px;
  display: grid;
}

.ticket-create-modal {
  width: min(720px, 100vw - 32px);
}

.admin-ticket-modal {
  width: min(900px, 100vw - 32px);
}

.admin-ticket-conversation {
  border: 1px solid rgba(var(--brand-rgb),.1);
  scrollbar-color: rgba(var(--brand-rgb),.35) transparent;
  scrollbar-width: thin;
  background: #f7f9fb;
  border-radius: 20px;
  flex-direction: column;
  gap: 10px;
  max-height: 330px;
  margin: 0 0 18px;
  padding: 14px;
  display: flex;
  overflow: auto;
}

.admin-ticket-conversation > div {
  border-bottom: 1px solid rgba(var(--brand-rgb),.08);
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 0 4px 8px;
  display: flex;
}

.admin-ticket-conversation > div span {
  color: var(--muted);
  font-size: 12px;
}

.admin-ticket-conversation article {
  background: #fff;
  border-radius: 18px;
  width: min(78%, 620px);
  padding: 12px 14px;
}

.admin-ticket-conversation article.is-support {
  background: #7c169514;
  align-self: flex-end;
}

.admin-ticket-conversation article.is-internal {
  background: #fff9ea;
  border: 1px dashed #d69d35;
  width: 100%;
}

.admin-ticket-conversation article header {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.admin-ticket-conversation article header strong {
  font-size: 13px;
}

.admin-ticket-conversation article time {
  color: var(--muted);
  font-size: 12px;
}

.admin-ticket-conversation article p {
  white-space: pre-wrap;
  margin: 7px 0 0;
  font-size: 13px;
  line-height: 1.8;
}

@media (max-height: 760px) and (min-width: 901px) {
  .clinic-workflow-body.is-setup {
    padding-block: 8px 10px;
  }

  .clinic-camera-setup {
    gap: 9px;
  }

  .clinic-setup-intro {
    gap: 10px;
  }

  .clinic-setup-intro .clinic-section-heading, .clinic-setup-intro .clinic-followup-patient {
    min-height: 116px;
    padding-block: 14px;
  }

  .clinic-setup-intro .clinic-section-heading h1 {
    margin-block: 5px 3px;
  }

  .clinic-setup-grid {
    gap: 10px;
  }

  .clinic-setup-grid article {
    min-height: 118px;
    padding: 13px 16px;
  }

  .clinic-clinical-note {
    min-height: 62px;
    padding-block: 8px;
  }

  .clinic-setup-actions {
    min-height: 50px;
    padding-top: 5px;
  }

  .clinic-setup-actions .clinic-setup-start {
    min-height: 50px;
  }

  .clinic-workflow-complete > .clinic-complete-shell {
    gap: 10px;
    padding: 17px 20px;
  }

  .clinic-complete-summary {
    gap: 14px;
    padding-bottom: 11px;
  }

  .clinic-complete-mark {
    width: 58px;
    height: 58px;
  }

  .clinic-complete-summary p {
    line-height: 1.65;
  }

  .clinic-analysis-choice {
    min-height: 116px;
    padding-block: 15px;
  }

  .clinic-complete-footer {
    padding-top: 9px;
  }
}

@media (max-width: 640px) {
  .clinic-setup-intro .clinic-section-heading {
    padding: 20px 16px;
  }

  .clinic-setup-actions .clinic-setup-start {
    min-width: 0;
  }

  .clinic-guide-caption {
    min-height: 42px;
    padding: 6px 8px;
  }

  .clinic-guide-caption small {
    font-size: 12px;
    display: block;
  }

  .clinic-guide-caption strong {
    font-size: 12px;
  }

  .clinic-step-dots > button {
    width: 28px;
    height: 28px;
  }

  .clinic-camera-dock {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .clinic-camera-source {
    display: none;
  }

  .clinic-shutter {
    width: 100%;
    min-width: 0;
    min-height: 50px;
  }

  .clinic-shutter > span {
    font-size: 14px;
  }

  .clinic-shutter > small {
    font-size: 12px;
  }

  .clinic-camera-utilities > button {
    font-size: 0;
  }

  .clinic-capture-review {
    grid-template-columns: 1fr;
  }

  .clinic-review-copy {
    display: none;
  }

  .clinic-capture-review > div:last-child {
    grid-column: auto;
  }

  .clinic-capture-review > div:last-child button {
    flex: 1;
  }

  .clinic-saved-review-actions {
    gap: 8px;
    display: grid;
  }

  .clinic-saved-review-actions > div button {
    flex: 1;
  }

  .clinic-review-step-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 68px;
  }

  .clinic-review-step-grid > button:nth-child(5) {
    grid-column: auto;
  }

  .clinic-review-step-grid img, .clinic-review-step-grid > button > i {
    width: 48px;
    height: 48px;
  }

  .clinic-workflow-complete > .clinic-complete-shell {
    flex-direction: initial;
    border-radius: 25px;
    margin-top: 0;
    padding: 17px 14px;
    display: grid;
  }

  .clinic-complete-summary {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
  }

  .clinic-complete-summary > aside {
    grid-column: 1 / -1;
    grid-template-columns: auto auto auto;
    justify-content: center;
    align-items: center;
    gap: 6px;
    min-width: 0;
    padding: 8px 12px;
  }

  .clinic-complete-summary > aside span, .clinic-complete-summary > aside small {
    margin: 0;
  }

  .clinic-analysis-heading small, .clinic-complete-footer > small {
    display: none;
  }

  .clinic-analysis-choices {
    grid-template-columns: 1fr;
  }

  .clinic-analysis-choice {
    min-height: 112px;
    padding: 15px;
  }

  .clinic-complete-footer {
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .clinic-setup-start:before, .clinic-setup-start:after, .clinic-setup-start > span, .clinic-complete-celebration i, .clinic-analysis-choice.smart, .clinic-analysis-choice.smart:after, .clinic-analysis-choice.smart > i > em, .clinic-review-step-grid > button.active > em, .clinic-saved-review-actions > span > em, .clinic-live-frame .clinic-reviewed-image {
    animation: none !important;
  }
}

.patient-record-public {
  background: radial-gradient(circle at 8% 4%,rgba(var(--brand-rgb),.075),transparent 28rem),radial-gradient(circle at 94% 18%,#2e9a800d,transparent 25rem),linear-gradient(180deg,#f9fbfc 0%,#f3f6f8 100%);
}

.patient-record-public .clinic-record-shell {
  width: min(100% - 42px, 1480px);
  padding-block: 24px 72px;
}

.patient-record-public .patient-record-overview {
  background: linear-gradient(135deg, #fffffffa, #f7fafdf5);
  border-color: #3a52641a;
  border-radius: 30px;
  box-shadow: 0 24px 70px #1b314013, inset 0 1px #fff;
}

.patient-record-public .analysis-results-shell {
  gap: 18px;
}

.patient-record-public .patient-analysis-overall {
  border: 1px solid rgba(var(--brand-rgb),.13);
  background: radial-gradient(circle at 12% 12%,rgba(var(--brand-rgb),.1),transparent 17rem),linear-gradient(135deg,#fffffffc,#f3f8fcf5);
  border-radius: 28px;
  grid-area: hero;
  min-height: 176px;
  margin: 0;
  padding: 28px 32px;
  box-shadow: 0 22px 58px #1c324213, inset 0 1px #fff;
}

.patient-record-public .patient-analysis-overall > div > strong {
  font-size: clamp(22px, 2vw, 29px);
}

.patient-record-public .patient-analysis-overall > div > p {
  color: #57636c;
  max-width: 620px;
  font-size: 14px;
}

.patient-record-public .patient-analysis-overall .analysis-score-ring {
  background: #fffffff0;
  border-radius: 24px;
  min-width: 176px;
  padding: 18px 16px;
  box-shadow: 0 17px 38px #223a4b1a, inset 0 1px #fff;
}

.patient-record-public .patient-analysis-overall .analysis-score-ring > div {
  width: 112px;
}

.patient-record-public .patient-analysis-overall .analysis-score-ring strong {
  font-size: 32px;
}

.patient-record-public .analysis-tab-navigation {
  z-index: 20;
  grid-area: tabs;
  align-content: start;
  gap: 10px;
  min-width: 0;
  display: grid;
  position: sticky;
  inset-block-start: 84px;
}

.patient-record-public .analysis-tab-navigation > header {
  gap: 3px;
  padding: 2px 5px 0;
  display: grid;
}

.patient-record-public .analysis-tab-navigation > header strong {
  color: #24333d;
  font-size: 15px;
  font-weight: 500;
}

.patient-record-public .analysis-tab-navigation > header span {
  color: #748089;
  font-size: 12px;
  font-weight: 500;
}

.patient-record-public .analysis-tab-navigation > .analysis-scroll-hint {
  display: none;
}

.patient-record-public .analysis-tab-navigation .analysis-tab-rail {
  background: linear-gradient(155deg, #fffffff7, #f2f7fbf0);
  grid-area: auto;
  max-height: calc(100vh - 150px);
  margin: 0;
  position: static;
  inset: auto;
  box-shadow: 0 19px 48px #1d354614, inset 0 1px #fff;
}

.patient-record-public .analysis-section-workspace {
  background: #fffffff0;
  border-color: #3a52641a;
  grid-area: content;
  overflow: visible;
  box-shadow: 0 24px 64px #1b314012, inset 0 1px #fff;
}

.patient-record-public .analysis-section-header {
  z-index: 1;
  background: linear-gradient(120deg, #fff 0%, #f8fbfd 100%);
  gap: 28px;
  padding: 28px 30px;
  position: relative;
}

.patient-record-public .analysis-section-header h2 {
  color: #1d2931;
  margin: 7px 0 10px;
  font-size: clamp(22px, 2vw, 28px);
  font-weight: 500;
}

.patient-record-public .analysis-section-header p {
  color: #57626a;
  max-width: 820px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.9;
}

.patient-record-public .analysis-status-badge {
  border-radius: 20px;
  min-width: 238px;
  padding: 14px;
  box-shadow: inset 0 1px #ffffffe6;
}

@media (max-width: 980px) {
  .patient-record-public .analysis-results-embedded > .analysis-results-shell {
    grid-template-areas: "hero"
                         "tabs"
                         "content"
                         "footer";
    gap: 16px;
  }

  .patient-record-public .analysis-tab-navigation {
    z-index: 3;
    border: 1px solid rgba(var(--brand-rgb),.11);
    background: #fffffff0;
    border-radius: 23px;
    gap: 9px;
    padding: 12px;
    position: relative;
    inset: auto;
    box-shadow: 0 15px 38px #1e334211;
  }

  .patient-record-public .analysis-tab-navigation > header {
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 0 3px;
    display: flex;
  }

  .patient-record-public .analysis-tab-navigation > .analysis-scroll-hint {
    display: grid;
    margin: 0 !important;
  }

  .patient-record-public .analysis-tab-navigation .analysis-tab-rail {
    scroll-snap-type: x mandatory;
    max-height: none;
    margin: 0;
    padding: 7px;
    scroll-padding-inline: 7px;
    display: flex;
    overflow: auto hidden;
  }

  .patient-record-public .analysis-tab-navigation .analysis-tab-rail button {
    scroll-snap-align: start;
    flex: 0 0 184px;
  }

  .patient-record-public .analysis-tab-navigation .analysis-tab-rail:after {
    display: none;
  }
}

@media (max-width: 700px) {
  .patient-record-public .clinic-record-shell {
    width: min(100% - 18px, 1480px);
    padding-block: 12px 46px;
  }

  .patient-record-public .patient-record-overview {
    border-radius: 24px;
    padding: 18px 14px;
  }

  .patient-record-public .analysis-results-shell {
    gap: 14px;
  }

  .patient-record-public .patient-analysis-overall {
    text-align: start;
    background: linear-gradient(145deg, #fff, #f8fbfd);
    border-radius: 20px;
    grid-template-columns: 1fr;
    justify-items: stretch;
    gap: 13px;
    min-height: 0;
    padding: 16px;
    box-shadow: 0 14px 34px #1f344411;
  }

  .patient-record-public .patient-analysis-overall > div {
    border-bottom: 1px solid rgba(var(--brand-rgb),.09);
    justify-items: stretch;
    gap: 5px;
    padding: 0 2px 13px;
  }

  .patient-record-public .patient-analysis-overall > div > span {
    font-size: 12px;
  }

  .patient-record-public .patient-analysis-overall > div > strong {
    font-size: 21px;
    line-height: 1.4;
  }

  .patient-record-public .patient-analysis-overall > div > p {
    font-size: 12px;
    line-height: 1.7;
  }

  .patient-record-public .patient-analysis-overall .analysis-score-ring {
    text-align: start;
    width: 100%;
    min-width: 0;
    min-height: 86px;
    box-shadow: none;
    background: none;
    border: 0;
    border-radius: 0;
    grid-template-rows: 1fr;
    grid-template-columns: 86px minmax(0, 1fr);
    place-items: center stretch;
    gap: 14px;
    padding: 0 2px;
    display: grid;
  }

  .patient-record-public .patient-analysis-overall .analysis-score-ring > div {
    grid-area: 1 / 1;
    width: 86px;
  }

  .patient-record-public .patient-analysis-overall .analysis-score-ring strong {
    font-size: 28px;
  }

  .patient-record-public .patient-analysis-overall .analysis-score-ring small {
    font-size: 12px;
  }

  .patient-record-public .patient-analysis-overall .analysis-score-ring > span {
    color: #25343e;
    grid-area: 1 / 2;
    place-self: center stretch;
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;
  }

  .patient-record-public .analysis-tab-navigation {
    border-radius: 21px;
    padding: 12px 10px 10px;
  }

  .patient-record-public .analysis-tab-navigation .analysis-tab-rail {
    border-radius: 17px;
    gap: 8px;
    padding: 6px;
  }

  .patient-record-public .analysis-tab-navigation .analysis-tab-rail button {
    flex-basis: min(74vw, 238px);
    height: 62px;
    min-height: 62px;
    padding: 10px 14px;
    border-radius: 15px !important;
  }

  .patient-record-public .analysis-tab-navigation .analysis-tab-rail button > span {
    font-size: 14px;
    line-height: 1.5;
  }

  .patient-record-public .analysis-section-workspace {
    border-radius: 24px;
    overflow: hidden;
  }

  .patient-record-public .analysis-section-header {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 22px 17px;
  }

  .patient-record-public .analysis-section-header h2 {
    font-size: 22px;
    line-height: 1.45;
  }

  .patient-record-public .analysis-section-header p {
    font-size: 13px;
    line-height: 1.9;
  }

  .patient-record-public .analysis-status-badge {
    border-radius: 19px;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    gap: 11px;
    width: 100%;
    min-width: 0;
    padding: 14px;
  }

  .patient-record-public .analysis-status-badge > i {
    width: 46px;
  }

  .patient-record-public .analysis-status-badge > div > span {
    font-size: 14px;
  }

  .patient-record-public .analysis-status-badge > strong {
    font-size: 27px;
  }

  .patient-record-public .analysis-section-workspace > .analysis-scroll-hint {
    margin: 17px 12px 9px !important;
  }
}

@media (max-width: 390px) {
  .patient-record-public .patient-analysis-overall .analysis-score-ring {
    gap-inline: 12px;
    grid-template-columns: 82px minmax(0, 1fr);
    padding: 0;
  }

  .patient-record-public .patient-analysis-overall .analysis-score-ring > div {
    width: 82px;
  }
}

:where(.admin-console, .clinic-console, .support-console, .clinic-record-page, .patient-record-public, .patient-portal, .analysis-results-shell) :is(button, input, select, textarea) {
  font-size: max(12px,var(--text-control));
}

:is(.admin-console, .clinic-console, .support-console, .clinic-record-page, .patient-record-public, .patient-portal, .analysis-results-shell) :is(small, time, figcaption) {
  font-size: max(12px,var(--text-compact));
  line-height: 1.6;
}

:where(.admin-console, .clinic-console, .support-console, .clinic-record-page, .patient-record-public, .patient-portal, .analysis-results-shell) :is(button:not(:disabled), a[href], summary, select, label:has(input:is([type="checkbox"], [type="radio"]))) {
  cursor: pointer;
}

.admin-main, .support-main.admin-main {
  padding: 24px var(--page-gutter) 56px;
}

.admin-page, .support-page {
  gap: var(--section-gap);
}

.admin-kpis, .admin-analytics-grid, .admin-agent-grid, .admin-credential-grid {
  gap: var(--space-5);
}

.admin-kpis article, .admin-chart-card, .admin-alert-card, .admin-table-card, .admin-agent-grid article, .admin-credential-grid article, .support-metrics article, .support-desk {
  border-color: var(--surface-border);
  background-color: var(--surface-bg);
  box-shadow: var(--shadow-sm);
}

.admin-chart-card, .admin-alert-card, .admin-table-card, .admin-kpis article, .admin-agent-grid article, .admin-credential-grid article {
  border-radius: var(--radius-md);
}

.admin-alert-card header button, .admin-table-card header > button, .admin-cell-subtitle, .admin-agent-grid footer button, .admin-credential-grid footer button, .preview-entry button {
  font-size: var(--text-compact);
}

.patient-scroll-hint small, .clinic-activity-card > header > strong small, .clinic-guide-model-preview i, .clinic-trend-line text, .clinic-metric-lines text, .clinic-metric-lines > div span, .clinic-line-chart text, .clinic-radar-chart text, .clinic-radar-chart tspan + tspan {
  font-size: 12px;
}

@media (max-width: 820px) {
  .admin-main, .support-main.admin-main {
    padding: 20px 16px 40px;
  }

  .admin-page, .support-page {
    gap: var(--space-5);
  }
}

.admin-products-page {
  gap: clamp(24px, 2.4vw, 34px);
  padding-block-end: 20px;
  display: grid;
}

.admin-products-hero {
  border: 1px solid rgba(var(--brand-rgb),.12);
  background: radial-gradient(circle at 8% 10%,rgba(var(--brand-rgb),.11),transparent 25rem),linear-gradient(135deg,#fff,#f6fafc);
  border-radius: 30px;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 340px);
  align-items: center;
  gap: clamp(28px, 4vw, 64px);
  min-height: 210px;
  padding: clamp(30px, 3vw, 42px);
  display: grid;
  position: relative;
  overflow: hidden;
  box-shadow: 0 24px 64px #1d344513;
}

.admin-products-hero:after {
  aspect-ratio: 1;
  content: "";
  pointer-events: none;
  background: radial-gradient(circle,rgba(var(--brand-rgb),.08),transparent 70%);
  border-radius: 50%;
  width: 280px;
  position: absolute;
  inset-block-end: -125px;
  inset-inline-end: -95px;
}

.admin-products-hero-copy {
  z-index: 1;
  gap: 9px;
  max-width: 720px;
  display: grid;
  position: relative;
}

.admin-products-hero-copy > span {
  width: max-content;
  color: var(--brand);
  background: rgba(var(--brand-rgb),.075);
  border-radius: 9px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 500;
}

.admin-products-hero h1 {
  color: #202c35;
  letter-spacing: -.035em;
  margin: 0;
  font-size: clamp(27px, 2.35vw, 35px);
  font-weight: 500;
  line-height: 1.3;
}

.admin-products-hero p {
  color: #616b73;
  max-width: 670px;
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.95;
}

.admin-catalog-master-switch {
  z-index: 1;
  border: 1px solid rgba(var(--brand-rgb),.14);
  cursor: pointer;
  background: #ffffffeb;
  border-radius: 21px;
  grid-template-columns: 52px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  min-width: 0;
  padding: 19px 20px;
  transition: border-color .2s, box-shadow .2s, transform .2s;
  display: grid;
  position: relative;
  box-shadow: 0 16px 36px #1f374914;
}

.admin-catalog-master-switch:hover {
  border-color: rgba(var(--brand-rgb),.25);
  transform: translateY(-1px);
  box-shadow: 0 20px 42px #1f37491c;
}

.admin-catalog-master-switch > input, .admin-product-form-footer > label > input {
  opacity: 0;
  pointer-events: none;
  position: absolute;
}

.admin-catalog-master-switch > span, .admin-product-form-footer > label > span {
  background: #cfd5d9;
  border-radius: 999px;
  width: 48px;
  height: 28px;
  transition: background .2s;
  position: relative;
}

.admin-catalog-master-switch > span:after, .admin-product-form-footer > label > span:after {
  aspect-ratio: 1;
  content: "";
  background: #fff;
  border-radius: 50%;
  width: 20px;
  transition: transform .2s;
  position: absolute;
  inset-block-start: 4px;
  inset-inline-start: 4px;
  box-shadow: 0 3px 8px #18242c33;
}

.admin-catalog-master-switch > input:checked + span, .admin-product-form-footer > label > input:checked + span {
  background: var(--brand);
}

.admin-catalog-master-switch > input:checked + span:after, .admin-product-form-footer > label > input:checked + span:after {
  transform: translateX(20px);
}

[dir="rtl"] .admin-catalog-master-switch > input:checked + span:after, [dir="rtl"] .admin-product-form-footer > label > input:checked + span:after {
  transform: translateX(-20px);
}

.admin-catalog-master-switch > div, .admin-product-form-footer > label > div {
  gap: 3px;
  display: grid;
}

.admin-catalog-master-switch b, .admin-product-form-footer > label b {
  color: #293741;
  font-size: 14px;
  font-weight: 500;
}

.admin-catalog-master-switch small, .admin-product-form-footer > label small {
  color: #7c6e80;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.65;
}

.admin-products-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  display: grid;
}

.admin-products-summary article {
  background: #fffffff0;
  border: 1px solid #3d526218;
  border-radius: 22px;
  gap: 7px;
  min-width: 0;
  padding: 22px 24px;
  display: grid;
  position: relative;
  box-shadow: 0 14px 36px #1c2f3c0d;
}

.admin-products-summary article:before {
  content: "";
  background: linear-gradient(#3e90cc,var(--brand));
  border-radius: 0 4px 4px 0;
  width: 3px;
  position: absolute;
  inset-block: 20px;
  inset-inline-start: 0;
}

[dir="rtl"] .admin-products-summary article:before {
  border-radius: 4px 0 0 4px;
}

.admin-products-summary span {
  color: #68737b;
  font-size: 12px;
  font-weight: 500;
}

.admin-products-summary strong {
  color: #23303a;
  font-size: clamp(25px, 2.2vw, 32px);
  font-weight: 500;
  line-height: 1;
}

.admin-products-summary small {
  color: #848f97;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.65;
}

.admin-products-workspace {
  align-items: start;
  gap: 28px;
  display: grid;
}

.admin-product-form, .admin-product-library {
  background: #fffffff5;
  border: 1px solid #3d52621a;
  border-radius: 28px;
  min-width: 0;
  padding: clamp(26px, 2.6vw, 36px);
  box-shadow: 0 22px 58px #1c2f3c0f;
}

.admin-product-form > header, .admin-product-library > header {
  border-bottom: 1px solid #3d526217;
  justify-content: space-between;
  align-items: start;
  gap: 24px;
  margin-bottom: 26px;
  padding-bottom: 22px;
  display: flex;
}

.admin-product-form > header > div, .admin-product-library > header > div {
  gap: 5px;
  max-width: 720px;
  display: grid;
}

.admin-product-form > header span, .admin-product-library > header span {
  width: max-content;
  color: var(--brand);
  background: #eaf3fa;
  border-radius: 8px;
  padding: 5px 9px;
  font-size: 12px;
  font-weight: 500;
}

.admin-product-form h2, .admin-product-library h2 {
  color: #23303a;
  margin: 0;
  font-size: clamp(19px, 1.7vw, 23px);
  font-weight: 500;
  line-height: 1.45;
}

.admin-product-form > header p, .admin-product-library > header p {
  color: #7d6f81;
  margin: 0;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.85;
}

.admin-product-form > header > button {
  min-height: 40px;
  color: var(--brand);
  background: #e5f0f8;
  border: 0;
  border-radius: 12px;
  padding: 0 15px;
  font-size: 12px;
  font-weight: 500;
}

.admin-product-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 20px;
  display: grid;
}

.admin-product-fields label {
  color: #45535e;
  align-content: start;
  gap: 7px;
  font-size: 12px;
  font-weight: 500;
  display: grid;
}

.admin-product-fields label.wide {
  grid-column: 1 / -1;
}

.admin-product-fields input {
  width: 100%;
  min-height: 50px;
  font: inherit;
  background: #fff;
  border: 1px solid #d4dadf;
  border-radius: 15px;
  outline: none;
  padding: 11px 15px;
  font-size: 13px;
}

.admin-product-fields input:focus {
  box-shadow: 0 0 0 4px rgba(var(--brand-rgb),.075);
  border-color: #3e90cc;
}

.admin-product-fields input[type="file"] {
  padding: 9px;
}

.admin-product-fields small {
  color: #8a7b8e;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.65;
}

.admin-product-form fieldset {
  border: 1px solid rgba(var(--brand-rgb),.1);
  background: #f9fbfc;
  border-radius: 22px;
  margin: 30px 0 0;
  padding: 26px;
}

.admin-product-form legend {
  color: #33434f;
  background: #f9fbfc;
  padding: 0 9px;
  font-size: 14px;
  font-weight: 500;
}

.admin-product-form fieldset > p {
  color: #6c7880;
  margin: 0 0 18px;
  font-size: 12px;
  line-height: 1.75;
}

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

.admin-product-tags > label {
  cursor: pointer;
  background: #fff;
  border: 1px solid #d9e0e5;
  border-radius: 16px;
  grid-template-columns: 32px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  min-width: 0;
  min-height: 72px;
  padding: 13px 14px;
  transition: border-color .2s, background .2s, box-shadow .2s;
  display: grid;
}

.admin-product-tags > label:hover {
  border-color: rgba(var(--brand-rgb),.24);
  box-shadow: 0 8px 20px #253e500b;
}

.admin-product-tags > label.selected {
  border-color: rgba(var(--brand-rgb),.38);
  box-shadow: inset 0 0 0 1px rgba(var(--brand-rgb),.06);
  background: #f2f7fb;
}

.admin-product-tags input {
  opacity: 0;
  position: absolute;
}

.admin-product-tags > label > span {
  aspect-ratio: 1;
  color: #0000;
  background: #e9eef1;
  border-radius: 10px;
  place-items: center;
  width: 32px;
  display: grid;
}

.admin-product-tags > label.selected > span {
  color: #fff;
  background: var(--brand);
}

.admin-product-tags > label > div {
  gap: 3px;
  display: grid;
}

.admin-product-tags b {
  font-size: 13px;
  font-weight: 500;
}

.admin-product-tags small {
  color: #817285;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.6;
  display: -webkit-box;
  overflow: hidden;
}

.admin-product-form-footer {
  border-top: 1px solid #e7ecef;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-top: 28px;
  padding-top: 22px;
  display: flex;
}

.admin-product-form-footer > label {
  cursor: pointer;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  display: grid;
}

.admin-product-form-footer > .admin-primary {
  min-width: 180px;
  min-height: 46px;
}

.admin-product-library > div {
  gap: 16px;
  display: grid;
}

.admin-product-library article {
  background: #fff;
  border: 1px solid #dce2e7;
  border-radius: 22px;
  grid-template-columns: 124px minmax(0, 1fr);
  gap: 21px;
  min-width: 0;
  padding: 20px;
  transition: transform .2s, box-shadow .2s, border-color .2s;
  display: grid;
  box-shadow: 0 12px 30px #1f36460b;
}

.admin-product-library article:hover {
  border-color: rgba(var(--brand-rgb),.2);
  transform: translateY(-2px);
  box-shadow: 0 20px 44px #1f364616;
}

.admin-product-thumb {
  border: 1px solid rgba(var(--brand-rgb),.06);
  background: #eef5fb;
  border-radius: 16px;
  place-items: center;
  height: 124px;
  display: grid;
  overflow: hidden;
}

.admin-product-thumb img {
  object-fit: contain;
  width: 100%;
  height: 100%;
  padding: 9px;
}

.admin-product-thumb span {
  aspect-ratio: 1;
  color: #fff;
  background: var(--brand);
  border-radius: 14px;
  place-items: center;
  width: 50px;
  font-size: 22px;
  font-weight: 500;
  display: grid;
}

.admin-product-info {
  gap: 11px;
  min-width: 0;
  display: grid;
}

.admin-product-info > header {
  justify-content: space-between;
  align-items: start;
  gap: 16px;
  width: 100%;
  min-width: 0;
  display: flex;
}

.admin-product-info > header > div {
  min-width: 0;
}

.admin-product-info > header > .admin-status {
  width: max-content;
  max-width: 100%;
}

.admin-product-info h3 {
  color: #2b3842;
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
}

.admin-product-info header small {
  color: #8d7f91;
  text-overflow: ellipsis;
  white-space: nowrap;
  direction: ltr;
  max-width: 100%;
  margin-top: 4px;
  font-size: 12px;
  display: block;
  overflow: hidden;
}

.admin-product-info > div {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.admin-product-info > div span {
  color: #21577f;
  background: #e8f2f9;
  border-radius: 9px;
  padding: 5px 9px;
  font-size: 12px;
  font-weight: 500;
}

.admin-product-info footer {
  border-top: 1px solid #3d526214;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  margin-top: auto;
  padding-top: 10px;
  display: flex;
}

.admin-product-info footer a, .admin-product-info footer button {
  border: 1px solid rgba(var(--brand-rgb),.12);
  color: #355268;
  min-height: 40px;
  font: inherit;
  cursor: pointer;
  background: #fff;
  justify-content: center;
  align-items: center;
  gap: 7px;
  padding: 0 13px;
  font-size: 12px;
  font-weight: 500;
  text-decoration: none;
  transition: color .18s, background .18s, border-color .18s, box-shadow .18s, transform .18s;
  display: inline-flex;
  border-radius: 12px !important;
}

.admin-product-info footer svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.55px;
  flex: none;
  width: 17px;
  height: 17px;
}

.admin-product-info footer a:hover, .admin-product-info footer button:hover:not(:disabled) {
  border-color: rgba(var(--brand-rgb),.28);
  color: var(--brand);
  background: #f5f9fc;
  transform: translateY(-1px);
  box-shadow: 0 8px 18px #183d5814;
}

.admin-product-info footer a:active, .admin-product-info footer button:active:not(:disabled) {
  box-shadow: none;
  transform: translateY(0);
}

.admin-product-info footer a:focus-visible, .admin-product-info footer button:focus-visible {
  outline: 3px solid rgba(var(--brand-rgb),.16);
  outline-offset: 2px;
}

.admin-product-info footer .danger {
  color: #a63d4d;
  background: #fff;
  border-color: #a63d4d26;
  margin-inline-start: auto;
}

.admin-product-info footer .danger:hover:not(:disabled) {
  color: #922e3e;
  background: #fff5f6;
  border-color: #a63d4d4d;
}

.admin-product-empty {
  text-align: center;
  align-content: center;
  place-items: center;
  min-height: 250px;
}

.admin-product-empty b {
  aspect-ratio: 1;
  width: 62px;
  color: var(--brand);
  background: #e7f1f9;
  border-radius: 18px;
  place-items: center;
  font-size: 25px;
  display: grid;
}

.admin-product-empty p {
  color: #847488;
  font-size: 13px;
  font-weight: 500;
}

.admin-product-form {
  scroll-margin-block-start: 24px;
  transition: border-color .2s, box-shadow .2s;
}

.admin-product-form.is-editing {
  border-color: rgba(var(--brand-rgb),.24);
  box-shadow: 0 0 0 4px rgba(var(--brand-rgb),.045),0 24px 64px #1c2f3c13;
}

.admin-product-library-count {
  border: 1px solid rgba(var(--brand-rgb),.11);
  color: #616b73;
  background: #f6fafc;
  border-radius: 14px;
  flex: none;
  align-content: center;
  justify-items: center;
  gap: 3px;
  min-width: 124px;
  padding: 13px 17px;
  display: grid;
}

.admin-product-library-count strong {
  color: var(--brand);
  font-size: 22px;
  font-weight: 500;
  line-height: 1;
}

.admin-product-library-count span {
  white-space: nowrap;
  font-size: 12px;
  font-weight: 500;
}

.admin-product-library > .admin-product-library-toolbar {
  background: #f9fbfc;
  border: 1px solid #3d526217;
  border-radius: 20px;
  grid-template-columns: minmax(280px, 1fr) auto minmax(210px, 260px);
  align-items: end;
  gap: 18px;
  margin-bottom: 24px;
  padding: 20px;
  display: grid;
}

.admin-product-search, .admin-product-sort {
  color: #53616b;
  gap: 8px;
  font-size: 12px;
  font-weight: 500;
  display: grid;
}

.admin-product-search input, .admin-product-sort select {
  color: #2b3842;
  width: 100%;
  min-height: 46px;
  font: inherit;
  background: #fff;
  border: 1px solid #d1d8de;
  border-radius: 14px;
  outline: none;
  padding: 9px 14px;
  font-size: 12px;
  transition: border-color .18s, box-shadow .18s, background .18s;
}

.admin-product-search input:hover, .admin-product-sort select:hover {
  border-color: #bbc7d0;
}

.admin-product-search input:focus, .admin-product-sort select:focus {
  box-shadow: 0 0 0 4px rgba(var(--brand-rgb),.08);
  border-color: #3e90cc;
}

.admin-product-sort select {
  cursor: pointer;
}

.admin-product-status-filter {
  background: #fff;
  border: 1px solid #d5dce2;
  border-radius: 14px;
  align-items: center;
  gap: 4px;
  min-height: 46px;
  padding: 4px;
  display: flex;
}

.admin-product-status-filter button {
  color: #677179;
  height: 36px;
  font: inherit;
  cursor: pointer;
  background: none;
  border: 0;
  padding: 0 13px;
  font-size: 12px;
  font-weight: 500;
  transition: color .18s, background .18s, box-shadow .18s;
  border-radius: 10px !important;
}

.admin-product-status-filter button:hover:not(.active) {
  color: var(--brand);
  background: #eff4f8;
}

.admin-product-status-filter button:focus-visible {
  outline: 3px solid rgba(var(--brand-rgb),.16);
  outline-offset: 1px;
}

.admin-product-status-filter button.active {
  color: #fff;
  background: linear-gradient(135deg,#2573ad,var(--brand));
  box-shadow: 0 7px 16px rgba(var(--brand-rgb),.2);
}

.admin-product-library > .admin-product-library-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 520px), 1fr));
  gap: 18px;
  display: grid;
}

.admin-product-library article.is-hidden {
  opacity: .88;
  background: #fafbfc;
  border-style: dashed;
}

.admin-product-card-meta {
  color: #8a7b8e;
  margin: 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.7;
}

.admin-product-info footer .visibility {
  color: #fff;
  background: linear-gradient(135deg,#2573ad,var(--brand));
  box-shadow: 0 8px 18px rgba(var(--brand-rgb),.17);
  border-color: #0000;
}

.admin-product-info footer .visibility:hover:not(:disabled) {
  color: #fff;
  box-shadow: 0 11px 23px rgba(var(--brand-rgb),.24);
  background: linear-gradient(135deg, #2c7eba, #135789);
  border-color: #0000;
}

.admin-product-info footer .visibility.show {
  color: #14745c;
  box-shadow: none;
  background: #edf9f5;
  border-color: #14745c1f;
}

.admin-product-info footer .edit {
  color: #1b4767;
  background: #f1f6f9;
}

.admin-product-info footer button:disabled {
  cursor: wait;
  opacity: .62;
}

.admin-product-empty.filtered {
  gap: 10px;
}

.admin-product-empty.filtered button {
  min-height: 40px;
  color: var(--brand);
  cursor: pointer;
  background: #e5f0f8;
  border: 0;
  padding: 0 14px;
  font-size: 12px;
  font-weight: 500;
  border-radius: 12px !important;
}

@media (max-width: 1280px) {
  .admin-product-library > .admin-product-library-toolbar {
    grid-template-columns: minmax(220px, 1fr) auto minmax(190px, .72fr);
  }
}

@media (max-width: 900px) {
  .admin-products-hero {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .admin-products-summary {
    grid-template-columns: 1fr 1fr;
  }

  .admin-products-summary article:last-child {
    grid-column: 1 / -1;
  }

  .admin-product-form, .admin-product-library {
    padding: 24px;
  }
}

@media (max-width: 620px) {
  .admin-products-page {
    gap: 18px;
  }

  .admin-products-hero {
    border-radius: 24px;
    gap: 22px;
    padding: 22px;
  }

  .admin-products-hero p {
    font-size: 13px;
  }

  .admin-catalog-master-switch {
    width: 100%;
    padding: 16px;
  }

  .admin-products-summary {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .admin-products-summary article, .admin-products-summary article:last-child {
    grid-column: auto;
    padding: 18px 20px;
  }

  .admin-product-form, .admin-product-library {
    border-radius: 22px;
    padding: 19px;
  }

  .admin-product-form > header, .admin-product-library > header {
    gap: 14px;
    margin-bottom: 21px;
    padding-bottom: 18px;
    display: grid;
  }

  .admin-product-library-count {
    grid-template-columns: auto auto;
    justify-content: start;
    justify-items: start;
    gap: 8px;
    width: 100%;
    padding: 11px 13px;
  }

  .admin-product-library-count strong {
    font-size: 19px;
  }

  .admin-product-form > header > button {
    width: max-content;
  }

  .admin-product-fields, .admin-product-tags {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .admin-product-fields label.wide {
    grid-column: auto;
  }

  .admin-product-form fieldset {
    margin-top: 24px;
    padding: 18px 14px;
  }

  .admin-product-form-footer {
    display: grid;
  }

  .admin-product-form-footer > .admin-primary {
    width: 100%;
  }

  .admin-product-library > .admin-product-library-toolbar {
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 14px;
    padding: 15px;
  }

  .admin-product-status-filter {
    overflow-x: auto;
  }

  .admin-product-status-filter button {
    flex: 1;
    min-width: max-content;
  }

  .admin-product-library article {
    border-radius: 18px;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 13px;
    padding: 14px;
  }

  .admin-product-thumb {
    border-radius: 13px;
    height: 88px;
  }

  .admin-product-info > header {
    display: grid;
  }

  .admin-product-info footer {
    grid-column: 1 / -1;
    padding-top: 12px;
  }

  .admin-product-info footer a, .admin-product-info footer button {
    flex: calc(50% - 5px);
    padding-inline: 9px;
  }

  .admin-product-info footer .danger {
    margin-inline-start: 0;
  }
}

.admin-commerce-page {
  gap: 24px;
  padding-bottom: 30px;
  display: grid;
}

.admin-commerce-hero {
  border: 1px solid rgba(var(--brand-rgb),.12);
  background: radial-gradient(circle at 7% 8%,rgba(var(--brand-rgb),.11),transparent 26rem),linear-gradient(135deg,#fff,#f4f9fc);
  border-radius: 30px;
  grid-template-columns: minmax(0, 1fr) minmax(290px, 360px);
  align-items: center;
  gap: 42px;
  min-height: 220px;
  padding: clamp(30px, 3vw, 42px);
  display: grid;
  box-shadow: 0 24px 64px #1d344513;
}

.admin-commerce-hero > div {
  gap: 8px;
  display: grid;
}

.admin-commerce-hero > div > span, .admin-commerce-chart > header > div > span, .admin-commerce-products > header span {
  color: var(--brand);
  font-size: 12px;
  font-weight: 500;
}

.admin-commerce-hero h1 {
  color: #202c35;
  margin: 0;
  font-size: clamp(27px, 2.35vw, 35px);
  font-weight: 500;
  line-height: 1.35;
}

.admin-commerce-hero p {
  color: #616c74;
  max-width: 700px;
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.9;
}

.admin-commerce-hero > aside {
  background: #fff;
  border: 1px solid #3d52621a;
  border-radius: 20px;
  gap: 7px;
  padding: 21px 48px 21px 22px;
  display: grid;
  position: relative;
}

.admin-commerce-hero > aside small {
  color: #817285;
  font-size: 12px;
  font-weight: 500;
}

.admin-commerce-hero > aside strong {
  font-size: 13px;
  line-height: 1.7;
}

.admin-commerce-hero > aside i {
  aspect-ratio: 1;
  background: #d49320;
  border-radius: 50%;
  width: 15px;
  position: absolute;
  inset-block-start: 22px;
  inset-inline-end: 20px;
  box-shadow: 0 0 0 6px #d493201a;
}

.admin-commerce-hero > aside.ready i {
  background: #28997b;
  box-shadow: 0 0 0 6px #28997b1a;
}

.admin-commerce-period {
  justify-content: flex-end;
  gap: 7px;
  display: flex;
}

.admin-commerce-period button {
  color: #59666f;
  cursor: pointer;
  background: #fff;
  border: 1px solid #d9e0e5;
  border-radius: 12px;
  min-height: 40px;
  padding: 0 16px;
  font-size: 12px;
  font-weight: 500;
}

.admin-commerce-period button.active {
  border-color: var(--brand);
  color: #fff;
  background: var(--brand);
}

.admin-commerce-kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  display: grid;
}

.admin-commerce-kpis article {
  background: #fff;
  border: 1px solid #3d526218;
  border-radius: 22px;
  grid-template-columns: 1fr auto;
  gap: 8px;
  padding: 22px 23px;
  display: grid;
  box-shadow: 0 14px 36px #1c2f3c0b;
}

.admin-commerce-kpis article > span {
  color: #68737b;
  grid-column: 1 / -1;
  font-size: 12px;
  font-weight: 500;
}

.admin-commerce-kpis strong {
  white-space: nowrap;
  font-size: clamp(21px, 2vw, 29px);
  font-weight: 500;
}

.admin-commerce-kpis small {
  align-self: center;
  font-size: 12px;
  font-weight: 500;
}

.admin-commerce-kpis small.positive {
  color: #25866d;
}

.admin-commerce-kpis small.negative {
  color: #b34c56;
}

.admin-commerce-kpis em {
  color: #9b8e9e;
  grid-column: 1 / -1;
  font-size: 12px;
  font-style: normal;
}

.admin-commerce-chart, .admin-commerce-products {
  background: #fff;
  border: 1px solid #3d52621a;
  border-radius: 28px;
  padding: clamp(25px, 2.5vw, 34px);
  box-shadow: 0 20px 52px #1c2f3c0d;
}

.admin-commerce-chart > header, .admin-commerce-products > header {
  border-bottom: 1px solid #e7ecef;
  justify-content: space-between;
  align-items: start;
  gap: 20px;
  margin-bottom: 24px;
  padding-bottom: 20px;
  display: flex;
}

.admin-commerce-chart h2, .admin-commerce-products h2 {
  margin: 3px 0 0;
  font-size: 21px;
  font-weight: 500;
}

.admin-commerce-chart > header > div:last-child {
  color: #68737b;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 500;
  display: flex;
}

.admin-commerce-chart > header i, .admin-commerce-chart > header b {
  background: var(--brand);
  border-radius: 4px;
  width: 14px;
  height: 3px;
}

.admin-commerce-chart > header b {
  background: #2b9d80;
  margin-inline-start: 8px;
}

.admin-commerce-plot {
  background: linear-gradient(#f8fafc, #fff);
  border-bottom: 1px solid #dfe6eb;
  border-radius: 18px;
  height: 320px;
  position: relative;
  overflow: hidden;
}

.admin-commerce-plot:before {
  content: "";
  pointer-events: none;
  background: repeating-linear-gradient(#0000 0 63px, #3d526212 64px);
  position: absolute;
  inset: 0;
}

.admin-commerce-plot > svg {
  width: calc(100% - 36px);
  height: calc(100% - 62px);
  position: absolute;
  inset: 24px 18px 38px;
  overflow: visible;
}

.admin-commerce-plot > div {
  position: absolute;
  inset: 24px 18px 0;
}

.admin-commerce-plot > div > span {
  width: 10px;
  position: absolute;
  inset-block: 0;
  translate: -50%;
}

.admin-commerce-plot > div > span > i {
  background: #2b9d80;
  border-radius: 6px 6px 2px 2px;
  width: 8px;
  min-height: 3px;
  position: absolute;
  inset-block-end: 38px;
}

.admin-commerce-plot > div > span > b {
  white-space: nowrap;
  color: #8a7c8e;
  position: absolute;
  inset-block-end: 9px;
  translate: -45%;
}

.admin-commerce-plot > p, .admin-commerce-products > p {
  color: #8b7d8f;
  place-items: center;
  height: 100%;
  font-size: 13px;
  display: grid;
}

.admin-commerce-products > div {
  gap: 8px;
  display: grid;
}

.admin-commerce-products section {
  border: 1px solid #e7ecef;
  border-radius: 16px;
  grid-template-columns: 38px minmax(180px, 1.5fr) repeat(4, minmax(110px, 1fr));
  align-items: center;
  gap: 14px;
  min-height: 66px;
  padding: 10px 14px;
  display: grid;
}

.admin-commerce-products section > span {
  aspect-ratio: 1;
  width: 32px;
  color: var(--brand);
  background: #e6f0f8;
  border-radius: 10px;
  place-items: center;
  font-size: 12px;
  font-weight: 500;
  display: grid;
}

.admin-commerce-products section > strong {
  font-size: 13px;
  font-weight: 500;
}

.admin-commerce-products section > div {
  gap: 3px;
  display: grid;
}

.admin-commerce-products section small {
  color: #8b7d8f;
}

.admin-commerce-products section b {
  font-size: 12px;
}

.admin-commerce-loading {
  border: 3px solid #dde5eb;
  border-top-color: var(--brand);
  border-radius: 50%;
  width: 42px;
  height: 42px;
  animation: .8s linear infinite spin;
  inset: 50%;
}

.admin-commerce-plot > div > span > b, .admin-commerce-products section small {
  font-size: 12px;
}

@media (max-width: 1050px) {
  .admin-commerce-kpis {
    grid-template-columns: 1fr 1fr;
  }

  .admin-commerce-products section {
    grid-template-columns: 34px minmax(160px, 1fr) repeat(2, minmax(100px, 1fr));
  }

  .admin-commerce-products section > div:nth-last-child(-n+2) {
    display: none;
  }
}

@media (max-width: 700px) {
  .admin-commerce-page {
    gap: 17px;
    min-width: 0;
    max-width: 100%;
  }

  .admin-commerce-hero {
    border-radius: 20px;
    grid-template-columns: 1fr;
    gap: 16px;
    min-height: 0;
    padding: 18px 16px;
  }

  .admin-commerce-hero h1 {
    font-size: 20px;
  }

  .admin-commerce-period {
    -webkit-overflow-scrolling: touch;
    justify-content: stretch;
    overflow-x: auto;
  }

  .admin-commerce-period button {
    flex: 1;
    min-width: max-content;
    padding: 0 10px;
    font-size: 12px;
  }

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

  .admin-commerce-kpis article {
    border-radius: 16px;
    padding: 14px;
  }

  .admin-commerce-kpis strong {
    font-size: 18px;
  }

  .admin-commerce-chart, .admin-commerce-products {
    border-radius: 20px;
    min-width: 0;
    max-width: 100%;
    padding: 18px 14px;
  }

  .admin-commerce-chart > header {
    gap: 10px;
    display: grid;
  }

  .admin-commerce-plot {
    min-width: 0;
    max-width: 100%;
    height: 250px;
  }

  .admin-commerce-products {
    overflow: hidden;
  }

  .admin-commerce-products section {
    grid-template-columns: 28px minmax(0, 1fr) auto;
    gap: 10px;
    padding: 10px 12px;
  }

  .admin-commerce-products section > div {
    display: none;
  }

  .admin-commerce-products section > div:nth-child(3) {
    text-align: end;
    display: grid;
  }
}

.patient-report-branding {
  background: linear-gradient(145deg, #fffffffc, #f8fbfdf5);
  border: 1px solid #3d52621a;
  border-radius: 28px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(20px, 3vw, 38px);
  min-width: 0;
  padding: clamp(20px, 2.5vw, 30px);
  display: grid;
  overflow: hidden;
  box-shadow: 0 17px 42px #1c2f3c0d;
}

.patient-report-clinic-brand {
  align-items: center;
  gap: 16px;
  min-width: 0;
  display: flex;
}

.patient-report-clinic-brand > img, .patient-report-clinic-brand > span {
  object-fit: contain;
  width: 72px;
  height: 72px;
  color: var(--brand);
  background: #f4f9fc;
  border: 1px solid #dfe6eb;
  border-radius: 20px;
  flex: 0 0 72px;
  place-items: center;
  font-size: 24px;
  font-weight: 500;
  display: grid;
}

.patient-report-clinic-brand > div {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.patient-report-clinic-brand small {
  color: #8a7b8e;
  font-size: 12px;
  font-weight: 500;
}

.patient-report-clinic-brand h2 {
  overflow-wrap: anywhere;
  color: #222f38;
  margin: 0;
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 500;
  line-height: 1.45;
}

.patient-report-clinic-brand p {
  color: #677179;
  margin: 0;
  font-size: 12px;
  font-weight: 500;
}

.patient-report-clinic-brand address {
  color: #796b7d;
  flex-wrap: wrap;
  gap: 5px 12px;
  font-size: 12px;
  font-style: normal;
  line-height: 1.7;
  display: flex;
}

.patient-report-brand-actions {
  grid-template-columns: minmax(168px, 1fr) auto;
  align-items: center;
  gap: 14px;
  display: grid;
}

.patient-report-brand-actions > a {
  color: #fff;
  background: linear-gradient(135deg,#2774ad,var(--brand));
  min-height: 48px;
  box-shadow: 0 10px 24px rgba(var(--brand-rgb),.18);
  white-space: nowrap;
  border-radius: 15px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 0 18px;
  font-size: 12px;
  font-weight: 500;
  text-decoration: none;
  display: flex;
}

.patient-report-brand-actions > a:hover {
  box-shadow: 0 14px 30px rgba(var(--brand-rgb),.24);
  transform: translateY(-1px);
}

.patient-report-brand-actions > a:focus-visible {
  box-shadow: var(--focus-ring);
  outline: 0;
}

.patient-report-qr {
  grid-template-columns: 66px minmax(82px, 116px);
  align-items: center;
  gap: 10px;
  margin: 0;
  display: grid;
}

.patient-report-qr canvas {
  border: 1px solid #dfe6eb;
  border-radius: 12px;
  width: 66px;
  height: 66px;
  display: block;
}

.patient-report-qr figcaption {
  color: #606c74;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.6;
}

@media (max-width: 820px) {
  .patient-report-branding {
    grid-template-columns: 1fr;
  }

  .patient-report-brand-actions {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}

@media (max-width: 700px) {
  .patient-report-branding {
    border-radius: 23px;
    gap: 17px;
    padding: 18px 15px;
  }

  .patient-report-clinic-brand {
    align-items: flex-start;
  }

  .patient-report-clinic-brand > img, .patient-report-clinic-brand > span {
    border-radius: 17px;
    flex-basis: 58px;
    width: 58px;
    height: 58px;
  }

  .patient-report-brand-actions {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .patient-report-brand-actions > a {
    width: 100%;
    min-height: 48px;
  }

  .patient-report-qr {
    border: 1px solid rgba(var(--brand-rgb),.09);
    background: #fff;
    border-radius: 16px;
    grid-template-columns: 56px minmax(0, 1fr);
    justify-items: start;
    width: 100%;
    padding: 10px;
  }

  .patient-report-qr canvas {
    width: 56px;
    height: 56px;
  }

  .patient-report-qr figcaption {
    display: block;
  }
}

@media print {
  .patient-report-branding {
    box-shadow: none;
    border: 1px solid #d4dadf;
    border-radius: 5mm;
    margin-bottom: 8mm;
    padding: 5mm;
  }

  .patient-report-brand-actions > a {
    display: none;
  }

  .patient-report-qr {
    grid-template-columns: 24mm 30mm;
  }

  .patient-report-qr canvas {
    width: 24mm;
    height: 24mm;
  }

  .product-recommendations {
    break-inside: avoid;
    box-shadow: none;
  }
}

.clinic-trend-changes-summary {
  border: 1px solid var(--surface-border, #e2e8f0);
  background: linear-gradient(145deg, #fff, #f8fafc);
  border-radius: 24px;
  padding: 28px;
  box-shadow: 0 10px 30px #0f172a0a;
}

.clinic-trend-changes-summary > header {
  border-bottom: 1px solid #f1f5f9;
  margin-bottom: 20px;
  padding-bottom: 16px;
}

.clinic-trend-changes-summary > header h2 {
  color: #0f172a;
  margin: 0 0 4px;
  font-size: 20px;
  font-weight: 800;
}

.clinic-trend-changes-summary > header p {
  color: #64748b;
  margin: 0;
  font-size: 14px;
}

.clinic-trend-changes-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  display: grid;
}

.clinic-trend-change-group {
  border-radius: 18px;
  padding: 20px;
}

.clinic-trend-change-group.is-improved {
  background: linear-gradient(145deg, #f0fdf4, #ecfdf5);
  border: 1px solid #bbf7d0;
}

.clinic-trend-change-group.is-worsened {
  background: linear-gradient(145deg, #fef2f2, #fff1f2);
  border: 1px solid #fecaca;
}

.clinic-trend-change-group.is-stable {
  background: linear-gradient(145deg, #f8fafc, #f1f5f9);
  border: 1px solid #e2e8f0;
}

.clinic-trend-change-group h3 {
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
  font-size: 15px;
  font-weight: 700;
  display: flex;
}

.clinic-trend-change-group.is-improved h3 {
  color: #15803d;
}

.clinic-trend-change-group.is-worsened h3 {
  color: #dc2626;
}

.clinic-trend-change-group.is-stable h3 {
  color: #64748b;
}

.clinic-trend-change-group h3 > span {
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  width: 28px;
  height: 28px;
  font-size: 14px;
  font-weight: 800;
  display: grid;
}

.clinic-trend-change-group.is-improved h3 > span {
  color: #15803d;
  background: #dcfce7;
}

.clinic-trend-change-group.is-worsened h3 > span {
  color: #dc2626;
  background: #fee2e2;
}

.clinic-trend-change-group.is-stable h3 > span {
  color: #64748b;
  background: #e2e8f0;
}

.clinic-trend-change-item {
  background: #ffffffb3;
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  padding: 10px 14px;
  display: flex;
}

.clinic-trend-change-item:last-child {
  margin-bottom: 0;
}

.clinic-trend-change-item > span {
  color: #334155;
  font-size: 14px;
  font-weight: 600;
}

.clinic-trend-change-item > b {
  font-size: 13px;
  font-weight: 700;
}

.clinic-trend-change-sessions {
  border: 1px solid rgba(var(--brand-rgb, 8,75,120), .2);
  background: rgba(var(--brand-rgb, 8,75,120), .06);
  color: var(--brand, #084b78);
  cursor: pointer;
  border-radius: 12px;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  transition: all .2s;
  display: inline-flex;
}

.clinic-trend-change-sessions:hover {
  background: rgba(var(--brand-rgb, 8,75,120), .12);
  border-color: rgba(var(--brand-rgb, 8,75,120), .3);
}

/* [project]/apps/web/src/app/route-transitions.css [app-client] (css) */
.clinic-entry-intro {
  z-index: 20000;
  isolation: isolate;
  opacity: 1;
  background: #01050a;
  place-items: center;
  transition: opacity 1.1s cubic-bezier(.22, 1, .36, 1), transform 1.2s cubic-bezier(.16, 1, .3, 1), visibility linear;
  display: grid;
  position: fixed;
  inset: 0;
  overflow: hidden;
  transform: scale(1);
}

.clinic-entry-intro__video {
  z-index: -2;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  background: #01050a;
  width: 100%;
  height: 100%;
  transition: opacity .4s, transform 10s linear;
  display: block;
  position: absolute;
  inset: 0;
  transform: scale(1.012);
}

.clinic-entry-intro.is-playing .clinic-entry-intro__video, .clinic-entry-intro.is-exiting .clinic-entry-intro__video {
  opacity: 1;
  transform: scale(1.035);
}

.clinic-entry-intro__veil {
  z-index: -1;
  opacity: .72;
  background: radial-gradient(circle, #0000 44%, #01050a38 100%);
  transition: opacity 1.05s, background 1.05s, transform 1.2s cubic-bezier(.16, 1, .3, 1);
  position: absolute;
  inset: 0;
}

.clinic-entry-intro__skip {
  z-index: 2;
  cursor: pointer;
  touch-action: manipulation;
  background: none;
  border: 0;
  padding: 0;
  position: absolute;
  inset: 0;
}

.clinic-entry-intro__skip:focus-visible {
  outline-offset: -5px;
  outline: 2px solid #ffffffb8;
}

.clinic-entry-intro.is-exiting {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 1.1s cubic-bezier(.22, 1, .36, 1), transform 1.2s cubic-bezier(.16, 1, .3, 1), visibility 0s linear 1.1s;
  transform: scale(1.018);
}

.clinic-entry-intro.is-exiting .clinic-entry-intro__video {
  filter: blur(4px) saturate(.88);
  transform: scale(1.058);
}

.clinic-entry-intro.is-exiting .clinic-entry-intro__veil {
  opacity: .9;
  background: radial-gradient(circle at 50% 48%, #eff7fc2e, #05121c80 58%, #01050ad1);
  transform: scale(1.04);
}

.clinic-entry-intro__skip-pill {
  z-index: 10;
  -webkit-backdrop-filter: blur(16px);
  color: #fff;
  cursor: pointer;
  touch-action: manipulation;
  background: #0f172ab3;
  border: 1px solid #fff3;
  border-radius: 9999px;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  transition: all .22s;
  display: inline-flex;
  position: absolute;
  top: 24px;
  right: 24px;
}

.clinic-entry-intro__skip-pill:hover {
  background: #7c1695d9;
  border-color: #ffffff73;
  transform: translateY(-1px);
  box-shadow: 0 8px 24px #7c16954d;
}

@media (max-width: 600px) {
  .clinic-entry-intro__skip-pill {
    padding: 6px 13px;
    font-size: 12px;
    top: 16px;
    right: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .clinic-entry-intro, .clinic-entry-intro__video, .clinic-entry-intro__veil, .clinic-entry-intro__skip-pill {
    filter: none !important;
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
}

/* [project]/apps/web/src/app/premium-theme.css [app-client] (css) */
html, body {
  font-family: var(--font-family-ui);
  font-optical-sizing: auto;
}

body {
  background: var(--canvas);
}

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

:is(.admin-console, .clinic-console, .support-console.admin-console) {
  color: var(--ink);
  background: radial-gradient(circle at 7% 3%,rgba(var(--brand-rgb),.025),transparent 26rem),
    var(--canvas);
  grid-template-columns: 268px minmax(0, 1fr);
}

:is(.admin-sidebar, .support-sidebar.admin-sidebar) {
  border-inline-end: 1px solid var(--surface-border);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  background: #fffffffb;
  padding: 18px 14px 16px;
  box-shadow: 0 12px 32px #1e252a06;
}

:is(.admin-sidebar-header, .support-sidebar .admin-sidebar-header) {
  border-bottom: 1px solid var(--surface-border);
  background: none;
  margin: 0 2px 20px;
  padding: 2px 2px 18px;
  display: block;
}

.panel-sidebar-brand {
  width: max-content;
  min-width: 0;
  max-width: 100%;
  color: inherit;
  grid-template-columns: 60px auto;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  display: grid;
}

.panel-sidebar-brand__emblem.aitricho-wordmark--sidebar {
  border: 1px solid rgba(var(--accent-rgb),.35);
  background: #02070b;
  border-radius: 14px;
  width: 60px;
  height: 60px;
  overflow: hidden;
  box-shadow: 0 8px 20px #081e2d1f;
}

.panel-sidebar-brand__emblem > img {
  object-fit: contain;
  width: 100%;
  max-width: 100%;
  height: 100%;
  transform: none;
}

.panel-sidebar-brand__copy {
  text-align: start;
  justify-items: start;
  gap: 4px;
  min-width: 0;
  display: grid;
}

.panel-sidebar-brand__copy strong {
  color: var(--brand-dark);
  letter-spacing: .12em;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  overflow: hidden;
}

.panel-sidebar-brand__copy strong i {
  color: var(--brand);
  font-style: normal;
}

.panel-sidebar-brand__label {
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  display: block;
  overflow: hidden;
}

:is(.admin-nav-groups, .support-sidebar .admin-nav-groups) {
  gap: 18px;
  padding-inline: 0;
}

:is(.admin-nav-group, .support-sidebar .admin-nav-group) {
  gap: 7px;
}

.admin-nav-label {
  color: #7b8993;
  letter-spacing: .01em;
  padding-inline: 11px;
  font-size: 12px;
  font-weight: 400;
}

.admin-nav button b, .admin-person > span, .admin-demo-banner b, .admin-entity > span {
  font-size: 12px;
}

:is(.admin-nav, .support-sidebar .admin-nav) {
  gap: 5px;
}

:is(.admin-nav button, .support-sidebar .admin-nav button) {
  border-radius: var(--radius-button);
  min-height: 48px;
  color: var(--ink-soft);
  gap: 10px;
  padding-inline: 7px 11px;
  font-size: 13px;
  font-weight: 400;
}

:is(.admin-nav button, .support-sidebar .admin-nav button):hover {
  border-color: rgba(var(--brand-rgb),.1);
  color: var(--brand);
  background: var(--brand-surface);
  transform: none;
}

:is(.admin-nav button, .support-sidebar .admin-nav button).active {
  border-color: rgba(var(--brand-rgb),.11);
  color: var(--brand-deep);
  background: var(--brand-soft);
  box-shadow: none;
  font-weight: 500;
}

:is(.admin-nav button, .support-sidebar .admin-nav button).active:before {
  display: none;
}

:is(.admin-nav button, .support-sidebar .admin-nav button).active:after {
  border-radius: var(--radius-pill);
  content: "";
  background: var(--accent);
  width: 2px;
  height: 18px;
  position: absolute;
  inset-inline-end: 0;
}

.panel-nav-icon {
  border: 1px solid rgba(var(--brand-rgb),.09);
  color: #567285;
  background: #fff;
  border-radius: 9px;
  flex: none;
  place-items: center;
  width: 34px;
  height: 34px;
  transition: color .18s, border-color .18s, background .18s;
  display: grid;
}

.admin-nav button .panel-nav-icon svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65px;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: 18px;
  height: 18px;
}

:is(.admin-nav button, .support-sidebar .admin-nav button):hover .panel-nav-icon {
  border-color: rgba(var(--brand-rgb),.15);
  color: var(--brand);
  background: #fff;
}

:is(.admin-nav button, .support-sidebar .admin-nav button).active .panel-nav-icon {
  border-color: var(--brand);
  color: #fff;
  background: var(--brand);
}

:is(.admin-nav button, .support-sidebar .admin-nav button).active b {
  color: #fff;
  background: var(--brand-deep);
  box-shadow: none;
}

:is(.admin-sidebar-footer, .support-sidebar .admin-sidebar-footer) {
  border: 0;
  border-top: 1px solid var(--surface-border);
  box-shadow: none;
  background: none;
  border-radius: 0;
  gap: 11px;
  padding: 14px 2px 0;
}

.admin-person {
  padding-inline: 4px;
}

.admin-person > span {
  border: 1px solid rgba(var(--brand-rgb),.12);
  border-radius: var(--radius-button);
  color: var(--brand-deep);
  background: var(--brand-soft);
  box-shadow: none;
}

.admin-person strong {
  font-size: 13px;
}

.admin-person small {
  font-size: 12px;
}

.admin-logout {
  border-color: var(--line);
  border-radius: var(--radius-button);
  min-height: 40px;
  color: var(--muted);
  background: #fff;
  justify-content: center;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  display: flex;
}

.panel-logout-icon {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7px;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: 17px;
  height: 17px;
}

:is(.admin-main, .support-main.admin-main) {
  width: 100%;
  max-width: 1780px;
  padding: 24px var(--page-gutter) 64px;
  margin-inline: auto;
}

:is(.admin-topbar, .support-topbar.admin-topbar) {
  border-bottom: 1px solid var(--surface-border);
  gap: 18px;
  min-height: 56px;
  margin-bottom: 30px;
  padding-bottom: 14px;
}

.clinic-topbar {
  grid-template-columns: minmax(190px, .72fr) minmax(280px, 1.25fr) auto;
  align-items: center;
  display: grid;
}

.clinic-topbar-context {
  align-items: center;
  gap: 11px;
  min-width: 0;
  display: flex;
}

.clinic-topbar-context > span {
  border: 1px solid var(--surface-border);
  width: 42px;
  height: 42px;
  color: var(--brand);
  box-shadow: var(--shadow-xs);
  background: #fff;
  border-radius: 12px;
  flex: none;
  place-items: center;
  display: grid;
}

.clinic-topbar-context svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.55px;
  width: 20px;
  height: 20px;
}

.clinic-topbar-context > div {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.clinic-topbar-context strong {
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 500;
  overflow: hidden;
}

.clinic-topbar-context small {
  font-size: 12px;
}

:is(.admin-search, .support-topbar .admin-search) {
  border-color: var(--surface-border);
  border-radius: var(--radius-field);
  width: min(100%, 520px);
  height: 46px;
  box-shadow: var(--shadow-xs);
  background: #ffffffeb;
}

.admin-search input {
  font-size: 13px;
}

.admin-search button {
  background: var(--brand-soft);
  border-radius: 9px;
}

.admin-header-actions {
  gap: 10px;
}

.clinic-theme-toggle {
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-button);
  width: 42px;
  height: 38px;
  color: var(--brand-deep);
  box-shadow: var(--shadow-xs);
  cursor: pointer;
  isolation: isolate;
  background: #ffffffe0;
  flex: none;
  place-items: center;
  transition: border-color .24s, color .24s, background .24s, box-shadow .24s, transform .24s cubic-bezier(.2, .75, .25, 1);
  display: grid;
  position: relative;
  overflow: hidden;
}

.clinic-theme-toggle:hover {
  border-color: rgba(var(--brand-rgb),.35);
  color: var(--brand);
  box-shadow: 0 9px 24px rgba(var(--brand-rgb),.12);
  transform: translateY(-1px);
}

.clinic-theme-toggle:focus-visible {
  outline: 3px solid rgba(var(--brand-rgb),.2);
  outline-offset: 2px;
}

.clinic-theme-toggle:disabled {
  cursor: wait;
  opacity: .72;
}

.clinic-theme-toggle__halo {
  background: radial-gradient(circle,rgba(var(--brand-rgb),.15),transparent 68%);
  z-index: -1;
  border-radius: 50%;
  transition: transform .45s cubic-bezier(.2, .8, .2, 1), opacity .3s;
  position: absolute;
  inset: 5px;
  transform: scale(.68);
}

.clinic-theme-toggle:hover .clinic-theme-toggle__halo {
  transform: scale(1.15);
}

.clinic-theme-toggle svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.65px;
  width: 19px;
  height: 19px;
  transition: opacity .28s, transform .5s cubic-bezier(.2, .8, .2, 1);
  position: absolute;
}

.clinic-theme-toggle__sun {
  opacity: 0;
  transform: rotate(-70deg)scale(.55);
}

.clinic-theme-toggle__moon, .clinic-theme-toggle[aria-pressed="true"] .clinic-theme-toggle__sun {
  opacity: 1;
  transform: rotate(0)scale(1);
}

.clinic-theme-toggle[aria-pressed="true"] .clinic-theme-toggle__moon {
  opacity: 0;
  transform: rotate(70deg)scale(.55);
}

.clinic-theme-toggle[aria-busy="true"] .clinic-theme-toggle__halo {
  animation: .8s ease-in-out infinite alternate clinic-theme-toggle-busy;
}

.clinic-theme-transition {
  z-index: 9998;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  clip-path: circle(0 at var(--clinic-theme-origin-x, 50%) var(--clinic-theme-origin-y, 64px));
  will-change: clip-path,opacity;
  position: fixed;
  inset: 0;
}

.clinic-theme-scope[data-theme-transition="dark"] > .clinic-theme-transition {
  visibility: visible;
  background: radial-gradient(circle at 18% 12%, #10304a, #071521 46%, #040b12);
  animation: .68s cubic-bezier(.2, .72, .22, 1) both clinic-theme-reveal;
}

.clinic-theme-scope[data-theme-transition="light"] > .clinic-theme-transition {
  visibility: visible;
  background: radial-gradient(circle at 18% 12%, #fff, #f4f9fc 52%, #edf4f8);
  animation: .68s cubic-bezier(.2, .72, .22, 1) both clinic-theme-reveal;
}

@keyframes clinic-theme-reveal {
  0% {
    opacity: .98;
    clip-path: circle(0 at var(--clinic-theme-origin-x, 50%) var(--clinic-theme-origin-y, 64px));
  }

  72% {
    opacity: .96;
    clip-path: circle(150vmax at var(--clinic-theme-origin-x, 50%) var(--clinic-theme-origin-y, 64px));
  }

  100% {
    opacity: 0;
    clip-path: circle(150vmax at var(--clinic-theme-origin-x, 50%) var(--clinic-theme-origin-y, 64px));
  }
}

@keyframes clinic-theme-toggle-busy {
  to {
    opacity: .35;
    transform: scale(1.18);
  }
}

.admin-issue-button {
  border-radius: var(--radius-button);
  background: var(--brand);
  height: auto;
  min-height: 42px;
  box-shadow: 0 7px 16px rgba(var(--brand-rgb),.17);
  padding-inline: 15px;
  font-size: 13px;
}

:is(.admin-page, .support-page) {
  gap: var(--section-gap);
}

.admin-refresh {
  border-color: var(--surface-border);
  width: 42px;
  height: 42px;
  box-shadow: var(--shadow-xs);
  border-radius: 12px;
}

:is(.admin-kpis, .clinic-overview-kpis, .support-metrics) {
  gap: 16px;
}

:is(.admin-kpis article, .support-metrics article) {
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-md);
  background: var(--surface-bg);
  min-height: 142px;
  box-shadow: var(--shadow-sm);
  padding: 20px;
}

.admin-kpis article > span {
  font-size: 13px;
}

.admin-kpis strong {
  letter-spacing: -.025em;
  font-size: clamp(1.75rem, 2.2vw, 2.15rem);
  font-weight: 500;
}

.admin-kpis small {
  font-size: 12px;
}

.admin-kpi-icon {
  border-radius: 12px;
  width: 40px;
  height: 40px;
}

:is(.admin-chart-card, .admin-alert-card, .admin-table-card, .support-desk) {
  border-color: var(--surface-border);
  border-radius: var(--radius-md);
  background: var(--surface-bg);
  box-shadow: var(--shadow-sm);
}

.admin-chart-card {
  padding: 23px 23px 16px;
}

.admin-table-card > header {
  padding: 22px 22px 15px;
}

.admin-table th {
  color: #8d8391;
  background: var(--surface-muted);
  padding: 13px 20px;
  font-size: 12px;
  font-weight: 500;
}

.admin-table td {
  color: #615766;
  padding: 15px 20px;
  font-size: 12px;
}

.admin-table tbody tr:hover {
  background: var(--brand-surface);
}

.admin-entity strong, .admin-code strong, .admin-entity small, .admin-code small, .admin-time, .admin-row-action, .clinic-record-link {
  font-size: 12px;
}

:is(.admin-issue-modal, .modal-card, .clinic-patient-info-modal) {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  background: #fffffffa;
}

:is(.admin-issue-modal, .operational-form, .access-form) :is(input:not([type="checkbox"]), select, textarea) {
  border-color: var(--field-border);
  color: var(--ink);
  background: var(--field-bg);
  box-shadow: var(--field-shadow);
}

:is(.admin-issue-modal, .operational-form, .access-form) :is(input:not([type="checkbox"]), select) {
  min-height: var(--field-height);
  border-radius: var(--radius-field);
}

:is(.admin-issue-modal, .operational-form, .access-form) textarea {
  border-radius: var(--radius-textarea);
}

:is(.admin-issue-modal, .operational-form, .access-form) :is(input:not([type="checkbox"]), select, textarea):focus {
  border-color: rgba(var(--brand-rgb),.6);
  box-shadow: var(--field-focus-shadow);
}

:is(.admin-primary, .admin-secondary, .primary-action, .secondary-action, .admin-login-submit) {
  border-radius: var(--radius-button);
  min-height: 46px;
  font-size: 13px;
}

.admin-primary, .primary-action, .admin-login-submit {
  background: var(--brand);
  box-shadow: 0 8px 20px rgba(var(--brand-rgb),.18);
}

.admin-secondary, .secondary-action {
  border-color: var(--surface-border);
  color: var(--brand);
  background: #fff;
}

:is(.admin-primary, .admin-secondary, .primary-action, .secondary-action, .admin-refresh, .admin-issue-button):focus-visible {
  box-shadow: var(--focus-ring);
  outline: 0;
}

.sms-operations-heading, .sms-connection-hero, .sms-settings-card, .sms-test-card, .sms-log-panel {
  width: min(100%, 1120px);
}

.sms-operations-heading > div > span {
  color: #8b642f;
  background: #f7efe3;
}

.sms-connection-hero {
  border: 1px solid rgba(var(--brand-rgb),.18);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-soft);
  background: linear-gradient(135deg, #f8fcff 0%, #eef7fc 62%, #f8f1e7 140%);
  grid-template-columns: minmax(0, 1.3fr) minmax(260px, .7fr);
  display: grid;
  overflow: hidden;
}

.sms-connection-health {
  align-items: center;
  gap: 18px;
  padding: clamp(22px, 3.5vw, 34px);
  display: flex;
}

.sms-connection-symbol {
  border: 1px solid rgba(var(--brand-rgb),.18);
  width: 64px;
  height: 64px;
  box-shadow: 0 14px 32px rgba(var(--brand-rgb),.12);
  background: #ffffffd1;
  border-radius: 22px;
  flex: none;
  place-items: center;
  display: grid;
}

.sms-connection-symbol i {
  border: 2px solid var(--muted);
  border-radius: 50%;
  width: 18px;
  height: 18px;
  position: relative;
}

.sms-connection-symbol i:after {
  width: 6px;
  height: 10px;
  color: var(--muted);
  content: "";
  opacity: 0;
  border-bottom: 2px solid;
  border-right: 2px solid;
  margin: auto;
  position: absolute;
  inset: 0;
  transform: rotate(45deg)translate(-2px, -2px);
}

.sms-connection-hero.healthy .sms-connection-symbol {
  background: #ecf8f3;
  border-color: #1882673d;
}

.sms-connection-hero.healthy .sms-connection-symbol i {
  border-color: var(--success);
  background: var(--success);
}

.sms-connection-hero.healthy .sms-connection-symbol i:after {
  color: #fff;
  opacity: 1;
}

.sms-connection-hero.unhealthy .sms-connection-symbol {
  background: #fff2f4;
  border-color: #ad3f4f38;
}

.sms-connection-hero.unhealthy .sms-connection-symbol i {
  border-color: var(--danger);
  background: var(--danger);
}

.sms-connection-health small {
  color: var(--brand);
  font-size: 12px;
  font-weight: 500;
}

.sms-connection-health h2 {
  color: var(--ink);
  margin: 4px 0 5px;
  font-size: clamp(19px, 2.2vw, 24px);
  font-weight: 500;
}

.sms-connection-health p, .sms-connection-action p {
  color: var(--muted);
  margin: 0;
  font-size: 12px;
  line-height: 1.8;
}

.sms-connection-action {
  border-inline-start: 1px solid rgba(var(--brand-rgb),.12);
  background: #ffffff6b;
  align-content: center;
  justify-items: start;
  gap: 12px;
  padding: 24px;
  display: grid;
}

.sms-connection-action button {
  min-width: 152px;
}

.sms-connection-action button:disabled {
  cursor: not-allowed;
  opacity: .48;
}

.sms-connection-facts {
  border-top: 1px solid rgba(var(--brand-rgb),.12);
  background: #ffffffad;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  display: grid;
}

.sms-connection-facts article {
  min-width: 0;
  padding: 14px clamp(16px, 2.6vw, 26px);
}

.sms-connection-facts article + article {
  border-inline-start: 1px solid rgba(var(--brand-rgb),.1);
}

.sms-connection-facts small {
  color: var(--muted);
  font-size: 11px;
  display: block;
}

.sms-connection-facts strong {
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: 3px;
  font-size: 13px;
  font-weight: 500;
  display: block;
  overflow: hidden;
}

.sms-settings-card {
  border-color: var(--surface-border);
  border-radius: var(--radius-xl);
  background: var(--surface-raised);
  box-shadow: var(--shadow-soft);
}

.sms-section-heading {
  border-bottom: 1px solid var(--surface-border);
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 22px;
  padding-bottom: 18px;
  display: flex;
}

.sms-section-heading > div {
  align-items: center;
  gap: 10px;
  display: flex;
}

.sms-section-heading span, .sms-log-panel > header > div > span {
  width: 30px;
  height: 30px;
  color: var(--brand);
  background: var(--brand-surface);
  border-radius: 10px;
  place-items: center;
  font-size: 11px;
  font-weight: 500;
  display: grid;
}

.sms-section-heading h2, .sms-log-panel > header h2 {
  color: var(--ink);
  margin: 0;
  font-size: 17px;
  font-weight: 500;
}

.sms-section-heading p, .sms-log-panel > header p {
  color: var(--muted);
  margin: 0;
  font-size: 12px;
  line-height: 1.8;
}

.sms-pattern-setting {
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-card);
  background: var(--surface-muted);
  grid-column: 1 / -1;
  grid-template-columns: minmax(220px, 330px) minmax(0, 1fr);
  align-items: start;
  gap: 14px;
  padding: 15px;
  display: grid;
}

.sms-pattern-guide {
  border: 1px solid rgba(var(--brand-rgb),.12);
  border-radius: var(--radius-control);
  background: var(--surface-raised);
  overflow: hidden;
}

.sms-pattern-guide summary {
  color: var(--ink);
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  list-style: none;
  display: flex;
}

.sms-pattern-guide summary::-webkit-details-marker {
  display: none;
}

.sms-pattern-guide summary:after {
  color: var(--brand);
  content: "+";
  font-size: 18px;
}

.sms-pattern-guide[open] summary:after {
  content: "−";
}

.sms-pattern-guide summary span {
  gap: 2px;
  display: grid;
}

.sms-pattern-guide strong {
  font-size: 13px;
  font-weight: 500;
}

.sms-pattern-guide small, .sms-pattern-guide p {
  color: var(--muted);
  margin: 0;
  font-size: 12px;
  line-height: 1.7;
}

.sms-pattern-guide-body {
  gap: 10px;
  padding: 0 14px 14px;
  display: grid;
}

.sms-pattern-guide-body header {
  border-top: 1px solid var(--surface-border);
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding-top: 12px;
  display: flex;
}

.sms-pattern-guide pre {
  border: 1px solid rgba(var(--brand-rgb),.1);
  border-radius: var(--radius-control);
  color: var(--ink);
  background: var(--field-bg);
  font-family: var(--font-family-ui);
  white-space: pre-wrap;
  margin: 0;
  padding: 11px 12px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.8;
  overflow: auto;
}

.sms-pattern-guide p b {
  color: var(--brand);
  font-weight: 500;
}

.sms-pattern-guide button {
  border: 1px solid rgba(var(--brand-rgb),.16);
  border-radius: var(--radius-control);
  min-height: 36px;
  color: var(--brand);
  background: var(--brand-surface);
  font: inherit;
  cursor: pointer;
  flex: none;
  padding: 0 12px;
  font-size: 12px;
  font-weight: 500;
  transition: background .18s, border-color .18s, transform .18s;
}

.sms-pattern-guide button:hover {
  border-color: rgba(var(--brand-rgb),.34);
  transform: translateY(-1px);
}

.sms-pattern-guide button:focus-visible {
  box-shadow: var(--focus-ring);
  outline: 0;
}

.sms-test-card, .sms-log-panel {
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-xl);
  background: var(--surface-raised);
  box-shadow: var(--shadow-soft);
  gap: 18px;
  padding: clamp(18px, 3vw, 26px);
  display: grid;
}

.sms-test-intro h3 {
  color: var(--ink-soft);
  margin: 0;
  font-size: 13px;
  font-weight: 500;
}

.sms-test-card form {
  grid-template-columns: minmax(240px, 420px) max-content;
  align-items: end;
  gap: 12px;
  display: grid;
}

.sms-test-card label {
  color: var(--ink-soft);
  gap: 7px;
  font-size: 12px;
  font-weight: 500;
  display: grid;
}

.sms-test-card input, .sms-log-filters input, .sms-log-filters select {
  border: 1px solid var(--field-border);
  border-radius: var(--radius-control);
  min-height: 46px;
  color: var(--ink);
  background: var(--field-bg);
  font: inherit;
  outline: 0;
  padding: 0 13px;
  font-size: 13px;
}

.sms-test-card input:focus, .sms-log-filters input:focus, .sms-log-filters select:focus {
  border-color: rgba(var(--brand-rgb),.48);
  box-shadow: var(--focus-ring);
}

.sms-test-result {
  border-radius: var(--radius-control);
  margin: 0;
  padding: 11px 13px;
  font-size: 12px;
  font-weight: 500;
}

.sms-test-result.sent, .form-success {
  color: #126f59;
  background: #e7f6ef;
}

.sms-test-result.failed {
  color: #9b3548;
  background: #fcebf0;
}

.form-success {
  border-radius: var(--radius-control);
  padding: 10px 12px;
  font-size: 12px;
}

.sms-log-panel > header {
  justify-content: space-between;
  align-items: start;
  gap: 18px;
  display: flex;
}

.sms-log-panel > header > div {
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 4px 10px;
  display: grid;
}

.sms-log-panel > header > div > span {
  grid-row: 1 / 3;
}

.sms-log-panel > header .danger {
  color: var(--danger);
  background: #fff7f8;
  border-color: #ad3f4f29;
}

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

.sms-log-summary article {
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
  gap: 5px;
  padding: 13px 15px;
  display: grid;
}

.sms-log-summary small {
  color: var(--muted);
  font-size: 12px;
}

.sms-log-summary strong {
  color: var(--ink);
  font-size: 20px;
  font-weight: 500;
}

.sms-log-summary .sent strong {
  color: var(--success);
}

.sms-log-summary .failed strong {
  color: var(--danger);
}

.sms-log-filters {
  grid-template-columns: minmax(220px, 1.3fr) repeat(2, minmax(160px, .7fr));
  gap: 10px;
  display: grid;
}

.sms-log-table-wrap {
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-card);
  background: var(--surface-raised);
  overflow: auto;
}

.sms-log-table {
  border-collapse: collapse;
  white-space: nowrap;
  width: 100%;
}

.sms-log-table th, .sms-log-table td {
  border-bottom: 1px solid var(--surface-border);
  text-align: start;
  padding: 13px 15px;
  font-size: 12px;
}

.sms-log-table th {
  color: var(--muted);
  background: var(--surface-muted);
  font-weight: 500;
}

.sms-log-table td {
  color: var(--ink-soft);
}

.sms-log-table tbody tr:last-child td {
  border-bottom: 0;
}

.sms-log-table tbody tr:hover {
  background: var(--brand-surface);
}

.sms-log-empty {
  color: var(--muted);
  text-align: center;
  margin: 0;
  padding: 36px 18px;
  font-size: 12px;
}

.sms-log-pagination {
  color: var(--muted);
  justify-content: center;
  align-items: center;
  gap: 14px;
  font-size: 12px;
  display: flex;
}

.sms-log-pagination button {
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-control);
  min-height: 38px;
  color: var(--brand);
  background: var(--surface-raised);
  font: inherit;
  cursor: pointer;
  padding: 0 13px;
  font-size: 12px;
}

.sms-log-pagination button:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.email-operations-page {
  width: 100%;
  max-width: 1180px;
  margin-inline: auto;
}

.email-operations-heading, .email-connection-hero, .mailbox-access-card, .mailbox-inbox-panel, .email-action-grid, .email-settings-card, .email-log-panel {
  width: 100%;
}

.email-operations-heading {
  box-shadow: var(--shadow-sm);
}

.email-operations-heading .ds-action {
  min-width: 148px;
}

.email-connection-hero {
  border-color: var(--surface-border);
  background: var(--surface-bg);
  box-shadow: var(--shadow-sm);
  grid-template-columns: 1fr;
  overflow: hidden;
}

.email-connection-hero .sms-connection-health {
  padding: var(--surface-padding);
}

.email-connection-symbol {
  border-radius: var(--radius-lg);
  background: var(--brand-surface);
  width: 58px;
  height: 58px;
  box-shadow: none;
  position: relative;
}

.email-connection-symbol i {
  display: none;
}

.email-connection-symbol:after {
  border-radius: var(--radius-xs);
  width: 24px;
  height: 17px;
  color: var(--brand);
  content: "";
  border: 1.8px solid;
  position: absolute;
}

.email-connection-symbol:before {
  z-index: 1;
  width: 15px;
  height: 15px;
  color: var(--brand);
  content: "";
  border-bottom: 1.8px solid;
  border-left: 1.8px solid;
  position: absolute;
  transform: translateY(-4px)rotate(-45deg);
}

.email-connection-hero.healthy .email-connection-symbol {
  border-color: color-mix(in srgb,var(--success) 28%,transparent);
  background: var(--success-soft);
}

.email-connection-hero.healthy .email-connection-symbol:after, .email-connection-hero.healthy .email-connection-symbol:before {
  color: var(--success);
}

.email-connection-hero.unhealthy .email-connection-symbol {
  border-color: color-mix(in srgb,var(--danger) 28%,transparent);
  background: var(--danger-soft);
}

.email-connection-hero.unhealthy .email-connection-symbol:after, .email-connection-hero.unhealthy .email-connection-symbol:before {
  color: var(--danger);
}

.email-connection-hero .sms-connection-facts {
  background: var(--surface-muted);
}

.email-connection-hero .sms-connection-facts small {
  font-size: 12px;
}

.email-section-heading svg, .mailbox-inbox-panel > header svg, .email-log-panel > header svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5px;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: 18px;
  height: 18px;
}

.mailbox-access-card, .mailbox-inbox-panel, .mailbox-compose-card, .email-test-card, .email-settings-card, .email-log-panel {
  gap: var(--space-5);
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-xl);
  padding: var(--surface-padding);
  background: var(--surface-bg);
  box-shadow: var(--shadow-sm);
  display: grid;
}

.email-section-heading {
  margin-bottom: 0;
}

.email-section-heading > div > span, .mailbox-inbox-panel > header > div:first-child > span, .email-log-panel > header > div > span {
  border-radius: var(--radius-button);
  width: 38px;
  height: 38px;
}

.mailbox-access-layout {
  gap: var(--space-5);
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr);
  display: grid;
}

.mailbox-identity, .mailbox-access-form {
  align-content: start;
  gap: var(--space-4);
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-md);
  padding: var(--space-5);
  background: var(--surface-muted);
  display: grid;
}

.mailbox-identity {
  background: var(--brand-surface);
}

.mailbox-identity > strong {
  color: var(--brand-deep);
  letter-spacing: .015em;
  font-size: clamp(20px, 2.5vw, 28px);
  font-weight: 500;
}

.mailbox-readiness {
  border-radius: var(--radius-pill);
  width: max-content;
  color: var(--danger);
  background: var(--danger-soft);
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 500;
}

.mailbox-readiness.ready {
  color: var(--success);
  background: var(--success-soft);
}

.mailbox-server-facts {
  gap: var(--space-3);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  display: grid;
}

.mailbox-server-facts article {
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-button);
  padding: var(--space-3);
  background: var(--surface-bg);
  gap: 5px;
  display: grid;
}

.mailbox-server-facts small, .mailbox-access-form p, .mailbox-access-form label small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7;
}

.mailbox-server-facts b {
  color: var(--ink-soft);
  text-overflow: ellipsis;
  font-size: 12px;
  font-weight: 500;
  overflow: hidden;
}

.mailbox-access-form h3 {
  color: var(--ink);
  font-size: var(--title-card);
  margin: 0;
  font-weight: 500;
}

.mailbox-access-form p {
  margin: 3px 0 0;
}

.mailbox-access-form label, .mailbox-compose-form label {
  color: var(--ink-soft);
  gap: 7px;
  font-size: 12px;
  font-weight: 500;
  display: grid;
}

.mailbox-access-form input[type="password"], .mailbox-search, .mailbox-compose-form :is(input, textarea) {
  width: 100%;
  min-height: var(--field-height);
  border: 1px solid var(--field-border);
  border-radius: var(--radius-field);
  padding: 0 var(--space-3);
  color: var(--ink);
  background: var(--field-bg);
  box-shadow: var(--field-shadow);
  font: inherit;
  outline: 0;
  font-size: 13px;
}

.mailbox-access-form input[type="password"]:focus, .mailbox-search:focus, .mailbox-compose-form :is(input, textarea):focus {
  border-color: rgba(var(--brand-rgb),.48);
  box-shadow: var(--field-focus-shadow);
}

.mailbox-access-form button, .mailbox-compose-form button {
  justify-self: start;
}

.mailbox-inbox-panel > header {
  justify-content: space-between;
  align-items: start;
  gap: var(--space-5);
  display: flex;
}

.mailbox-inbox-panel > header > div:first-child {
  align-items: center;
  gap: 4px var(--space-3);
  grid-template-columns: auto 1fr;
  display: grid;
}

.mailbox-inbox-panel > header > div:first-child > span {
  color: var(--brand);
  background: var(--brand-surface);
  grid-row: 1 / 3;
  place-items: center;
  display: grid;
}

.mailbox-inbox-panel h2 {
  color: var(--ink);
  font-size: var(--title-card);
  margin: 0;
  font-weight: 500;
}

.mailbox-inbox-panel header p {
  color: var(--muted);
  margin: 0;
  font-size: 12px;
}

.mailbox-inbox-actions {
  align-items: center;
  gap: var(--space-3);
  color: var(--muted);
  font-size: 12px;
  display: flex;
}

.mailbox-workspace {
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-md);
  background: var(--surface-muted);
  grid-template-columns: minmax(290px, .72fr) minmax(0, 1.28fr);
  min-height: 480px;
  display: grid;
  overflow: hidden;
}

.mailbox-message-list {
  border-inline-end: 1px solid var(--surface-border);
  background: var(--surface-bg);
  max-height: 600px;
  overflow: auto;
}

.mailbox-message-list > button {
  border: 0;
  border-bottom: 1px solid var(--surface-border);
  width: 100%;
  padding: var(--space-4);
  color: var(--ink-soft);
  text-align: start;
  cursor: pointer;
  background: none;
  gap: 6px;
  transition: background .18s, color .18s;
  display: grid;
}

.mailbox-message-list > button:hover, .mailbox-message-list > button.active {
  color: var(--brand-deep);
  background: var(--brand-surface);
}

.mailbox-message-list > button:focus-visible {
  z-index: 1;
  box-shadow: var(--focus-ring);
  outline: 0;
  position: relative;
}

.mailbox-message-list > button.unread {
  box-shadow: inset 3px 0 0 var(--brand);
}

[dir="rtl"] .mailbox-message-list > button.unread {
  box-shadow: inset -3px 0 0 var(--brand);
}

.mailbox-message-list button > span {
  justify-content: space-between;
  align-items: center;
  gap: var(--space-3);
  display: flex;
}

.mailbox-message-list button strong, .mailbox-message-list button b {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 500;
  overflow: hidden;
}

.mailbox-message-list button time, .mailbox-message-list button small {
  color: var(--muted);
  font-size: 12px;
}

.mailbox-message-list button small {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.mailbox-message-list > p, .mailbox-reader > p {
  padding: var(--space-8);
  color: var(--muted);
  text-align: center;
  margin: auto;
  font-size: 12px;
}

.mailbox-reader {
  background: var(--surface-bg);
  align-content: start;
  min-width: 0;
  display: grid;
}

.mailbox-reader > header {
  justify-content: space-between;
  align-items: start;
  gap: var(--space-5);
  border-bottom: 1px solid var(--surface-border);
  padding: var(--space-5);
  display: flex;
}

.mailbox-reader > header > span {
  gap: 5px;
  display: grid;
}

.mailbox-reader > header strong {
  color: var(--ink);
  font-size: 15px;
  font-weight: 500;
}

.mailbox-reader > header small, .mailbox-reader > header time {
  color: var(--muted);
  font-size: 12px;
}

.mailbox-reader-body {
  min-height: 300px;
  padding: var(--space-6);
  color: var(--ink-soft);
  white-space: pre-wrap;
  word-break: break-word;
  font-size: 13px;
  line-height: 2;
}

.mailbox-reader > footer {
  gap: var(--space-2);
  border-top: 1px solid var(--surface-border);
  padding: var(--space-4) var(--space-5);
  flex-wrap: wrap;
  display: flex;
}

.mailbox-reader > footer strong {
  width: 100%;
  color: var(--ink);
  font-size: 12px;
}

.mailbox-reader > footer span {
  border-radius: var(--radius-pill);
  color: var(--muted);
  background: var(--surface-muted);
  padding: 6px 10px;
  font-size: 12px;
}

.email-action-grid {
  align-items: stretch;
  gap: var(--section-gap);
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  display: grid;
}

.mailbox-compose-form {
  gap: var(--space-4);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  display: grid;
}

.mailbox-compose-form textarea {
  min-height: 150px;
  padding-block: var(--space-3);
  resize: vertical;
}

.email-test-card {
  align-content: start;
}

.email-test-card form {
  grid-template-columns: 1fr;
  align-items: stretch;
}

.email-test-card form button {
  width: 100%;
}

.email-settings-card {
  padding: var(--surface-padding);
}

.email-log-summary {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.email-log-summary article {
  padding: var(--space-4);
  background: var(--surface-muted);
}

.email-delivery-status {
  border-radius: var(--radius-pill);
  min-height: 28px;
  color: var(--muted);
  background: var(--surface-muted);
  align-items: center;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 500;
  display: inline-flex;
}

.email-delivery-status.sent {
  color: var(--success);
  background: var(--success-soft);
}

.email-delivery-status.failed {
  color: var(--danger);
  background: var(--danger-soft);
}

.email-delivery-status.retrying {
  color: var(--accent);
  background: var(--accent-soft);
}

.email-delivery-status.sending, .email-delivery-status.queued {
  color: var(--brand);
  background: var(--brand-surface);
}

@media (max-width: 820px) {
  .sms-connection-hero {
    grid-template-columns: 1fr;
  }

  .sms-connection-action {
    border-inline-start: 0;
    border-top: 1px solid rgba(var(--brand-rgb),.12);
  }

  .sms-pattern-setting {
    grid-template-columns: 1fr;
  }

  .sms-section-heading {
    flex-direction: column;
    align-items: start;
  }

  .sms-test-card form, .sms-log-filters {
    grid-template-columns: 1fr;
  }

  .sms-test-card form button {
    width: 100%;
  }

  .sms-log-panel > header {
    flex-direction: column;
    align-items: stretch;
  }

  .sms-log-panel > header button {
    width: 100%;
  }
}

@media (max-width: 980px) {
  .email-action-grid, .mailbox-access-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .email-log-summary, .mailbox-server-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mailbox-workspace, .mailbox-compose-form {
    grid-template-columns: 1fr;
  }

  .mailbox-message-list {
    border-inline-end: 0;
    border-bottom: 1px solid var(--surface-border);
    max-height: 320px;
  }

  .mailbox-inbox-panel > header {
    flex-direction: column;
    align-items: stretch;
  }

  .mailbox-inbox-actions {
    justify-content: space-between;
  }
}

@media (max-width: 560px) {
  .email-operations-heading .ds-action {
    width: 100%;
  }

  .mailbox-access-card, .mailbox-inbox-panel, .mailbox-compose-card, .email-test-card, .email-settings-card, .email-log-panel {
    padding: var(--space-4);
    border-radius: var(--radius-lg);
  }

  .mailbox-server-facts, .email-log-summary {
    grid-template-columns: 1fr;
  }

  .email-section-heading {
    align-items: start;
  }

  .mailbox-inbox-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .mailbox-reader > header {
    flex-direction: column;
  }

  .mailbox-reader-body {
    padding: var(--space-4);
  }

  .sms-connection-health {
    align-items: flex-start;
  }

  .sms-connection-symbol {
    border-radius: 17px;
    width: 52px;
    height: 52px;
  }

  .sms-connection-facts, .sms-log-summary {
    grid-template-columns: 1fr;
  }

  .sms-connection-facts article + article {
    border-inline-start: 0;
    border-top: 1px solid rgba(var(--brand-rgb),.1);
  }
}

.clinic-overview-hero, .clinic-settings-hero {
  border-color: var(--surface-border);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-md);
  background: linear-gradient(145deg, #fffffffa, #f8fbfdf0);
}

.clinic-overview-hero {
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-xl);
  background: radial-gradient(circle at 12% 18%,rgba(var(--brand-rgb),.12),transparent 18rem),
    radial-gradient(circle at 96% 110%,rgba(var(--accent-rgb),.08),transparent 20rem),
    var(--surface-bg);
  min-height: 310px;
  box-shadow: var(--shadow-md);
  grid-template-columns: minmax(320px, .82fr) minmax(420px, 1.18fr);
  gap: clamp(28px, 4vw, 64px);
  padding: clamp(28px, 4vw, 54px);
  overflow: hidden;
}

.clinic-overview-hero:before {
  display: none;
}

.clinic-overview-copy {
  gap: 10px;
  max-width: 620px;
}

.clinic-overview-copy h1 {
  line-height: 1.4;
}

.clinic-overview-copy p {
  max-width: 560px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.9;
}

.clinic-overview-hero:before, .clinic-settings-hero:after {
  opacity: .42;
}

.clinic-overview-copy > span, .clinic-settings-hero > div > span {
  border-radius: 8px;
  padding: 5px 9px;
}

.clinic-overview-copy > span {
  align-items: center;
  gap: 7px;
  display: inline-flex;
}

.clinic-overview-copy > span svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6px;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: 16px;
  height: 16px;
}

.clinic-overview-copy > small {
  color: var(--ink-soft);
  align-items: center;
  gap: 8px;
  margin-top: 5px;
  font-size: 12px;
  line-height: 1.7;
  display: flex;
}

.clinic-overview-copy > small i {
  border-radius: var(--radius-pill);
  background: var(--success);
  width: 7px;
  height: 7px;
  box-shadow: 0 0 0 5px var(--success-soft);
  flex: none;
}

.clinic-overview-copy h1, .clinic-settings-hero h1 {
  font-size: var(--title-page);
  font-weight: 500;
}

.clinic-overview-actions {
  grid-template-columns: 1fr;
  align-content: center;
  gap: 12px;
  min-width: 0;
  display: grid;
}

.clinic-overview-actions button {
  border-radius: var(--radius-button);
  min-width: 0;
  box-shadow: var(--shadow-xs);
  transition: border-color .18s, background .18s, box-shadow .18s, transform .18s;
}

.clinic-overview-actions .clinic-capture-launch {
  width: 100%;
  min-height: 128px;
  box-shadow: 0 18px 38px rgba(var(--brand-rgb),.22);
  background: linear-gradient(135deg, #7c1695, #5c0f71);
  border-color: #ffffff2e;
  grid-template-columns: 64px minmax(0, 1fr) 38px;
  gap: 18px;
  padding: 22px;
  transform: none;
}

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

.clinic-overview-actions :is(.clinic-patients-launch, .clinic-overview-privacy-toggle) {
  border: 1px solid var(--surface-border);
  width: 100%;
  min-height: 58px;
  color: var(--ink);
  background: var(--surface);
  text-align: start;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  padding: 10px 12px;
}

.clinic-overview-actions .clinic-capture-launch:before, .clinic-overview-actions .clinic-capture-launch:after {
  display: none;
}

.clinic-overview-actions .clinic-capture-launch > i {
  border-radius: var(--radius-lg);
  background: #ffffff21;
  border: 1px solid #ffffff38;
  place-items: center;
  width: 64px;
  height: 64px;
  transition: background .2s, transform .25s cubic-bezier(.2, .8, .2, 1);
  display: grid;
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 1px #ffffff29;
}

.clinic-overview-actions .clinic-capture-launch > i:after {
  content: "";
  opacity: .45;
  background: #ffffffc7;
  width: 36px;
  height: 1px;
  animation: 2.8s ease-in-out infinite clinic-overview-scan;
  position: absolute;
  inset-block-start: 31px;
  inset-inline-start: 13px;
  box-shadow: 0 0 10px #ffffff75;
}

.clinic-overview-actions .clinic-capture-launch > i svg {
  stroke: currentColor;
  stroke-width: 1.55px;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: 31px;
  height: 31px;
  padding: 0;
}

.clinic-overview-actions :is(.clinic-patients-launch, .clinic-overview-privacy-toggle) > svg {
  fill: none;
  width: 36px;
  height: 36px;
  stroke: var(--brand);
  stroke-width: 1.55px;
  stroke-linecap: round;
  stroke-linejoin: round;
  background: var(--brand-soft);
  box-shadow: none;
  border-radius: 11px;
  padding: 9px;
}

.clinic-overview-actions button > span {
  min-width: 0;
  display: block;
}

.clinic-overview-actions .clinic-capture-launch > b {
  border-radius: var(--radius-pill);
  color: #fff;
  background: #ffffff1f;
  place-items: center;
  width: 38px;
  height: 38px;
  font-size: 18px;
  display: grid;
}

.clinic-overview-actions strong {
  text-overflow: clip;
  white-space: normal;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.55;
  display: block;
  overflow: visible;
}

.clinic-overview-actions .clinic-capture-launch strong {
  color: #fff;
  text-shadow: none;
}

.clinic-overview-actions .clinic-capture-launch small {
  color: #ffffffd1;
  white-space: normal;
  margin-top: 5px;
  font-size: 12px;
  line-height: 1.7;
  display: block;
}

.clinic-overview-actions :is(.clinic-patients-launch, .clinic-overview-privacy-toggle) strong {
  color: var(--ink);
}

.clinic-overview-actions .clinic-capture-launch:hover {
  filter: none;
  box-shadow: 0 22px 44px rgba(var(--brand-rgb),.28);
  background: #931eb0;
  transform: translateY(-2px);
}

.clinic-overview-actions .clinic-capture-launch:hover > i {
  background: #fff3;
  transform: scale(1.04);
}

.clinic-overview-actions :is(.clinic-patients-launch, .clinic-overview-privacy-toggle):hover {
  border-color: rgba(var(--brand-rgb),.24);
  background: var(--brand-surface);
  transform: translateY(-1px);
  box-shadow: 0 7px 16px #1f344412;
}

.clinic-overview-actions button:active {
  box-shadow: var(--shadow-xs);
  transform: none;
}

.clinic-overview-actions button:focus-visible {
  box-shadow: var(--focus-ring);
  outline: 0;
}

.clinic-overview-privacy {
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-xl);
  min-height: 205px;
  padding: var(--surface-padding);
  background: linear-gradient(135deg,var(--surface-bg),var(--brand-surface));
  box-shadow: var(--shadow-sm);
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 20px;
  display: grid;
}

.clinic-overview-privacy > i {
  border: 1px solid rgba(var(--brand-rgb),.16);
  border-radius: var(--radius-lg);
  width: 58px;
  height: 58px;
  color: var(--brand);
  background: var(--brand-soft);
  box-shadow: var(--shadow-xs);
  place-items: center;
  display: grid;
}

.clinic-overview-privacy > i svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55px;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: 28px;
  height: 28px;
}

.clinic-overview-privacy > div {
  gap: 5px;
  max-width: 650px;
  display: grid;
}

.clinic-overview-privacy span {
  color: var(--brand);
  font-size: 12px;
  font-weight: 500;
}

.clinic-overview-privacy h2 {
  color: var(--ink);
  font-size: var(--title-card);
  margin: 0;
  font-weight: 500;
  line-height: 1.55;
}

.clinic-overview-privacy p {
  color: var(--muted);
  margin: 0;
  font-size: 13px;
  line-height: 1.9;
}

.clinic-overview-insights {
  gap: var(--section-gap);
  animation: .3s cubic-bezier(.2, .8, .2, 1) both clinic-overview-reveal;
  display: grid;
}

.clinic-overview-insights[hidden] {
  display: none;
}

.clinic-overview > .admin-demo-banner {
  border-color: var(--surface-border);
  background: var(--surface-muted);
  min-height: 42px;
  box-shadow: none;
  border-radius: 13px;
  padding: 8px 12px;
}

.clinic-overview > .admin-demo-banner b {
  border-radius: 7px;
}

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

.clinic-overview-kpis article {
  min-height: 128px;
  padding: 18px;
}

.clinic-dashboard-grid {
  gap: 18px;
}

.clinic-activity-card {
  background: var(--surface-bg);
}

.clinic-activity-summary > div {
  border-color: var(--surface-border);
  border-radius: var(--radius-md);
  background: var(--surface-muted);
  box-shadow: none;
}

@keyframes clinic-overview-scan {
  0%, 100% {
    opacity: .25;
    transform: translateY(-13px);
  }

  50% {
    opacity: .85;
    transform: translateY(13px);
  }
}

@keyframes clinic-overview-reveal {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.clinic-crm-section {
  gap: 14px;
  display: grid;
}

.clinic-crm-heading {
  justify-content: space-between;
  align-items: end;
  gap: 24px;
  padding-inline: 2px;
  display: flex;
}

.clinic-crm-heading > div {
  gap: 4px;
  display: grid;
}

.clinic-crm-heading span, .clinic-crm-card header span {
  color: var(--brand);
  font-size: 12px;
  font-weight: 500;
}

.clinic-crm-heading h2 {
  font-size: clamp(1.15rem, 1.6vw, 1.45rem);
  font-weight: 500;
  line-height: 1.5;
}

.clinic-crm-heading p {
  max-width: 420px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.8;
}

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

.clinic-crm-card {
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-md);
  background: var(--surface-bg);
  min-width: 0;
  min-height: 330px;
  box-shadow: var(--shadow-sm);
  align-content: start;
  gap: 20px;
  padding: 20px;
  display: grid;
  overflow: hidden;
}

.clinic-crm-card header > div {
  gap: 4px;
  display: grid;
}

.clinic-crm-card h3 {
  color: var(--ink);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;
}

.clinic-crm-card header p {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.75;
}

.clinic-crm-segment-layout {
  grid-template-columns: 128px minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  display: grid;
}

.clinic-crm-donut {
  aspect-ratio: 1;
  background: conic-gradient(var(--brand) 0 var(--crm-first),#b854d4 var(--crm-first) var(--crm-returning),var(--success) var(--crm-returning) 360deg);
  width: 128px;
  box-shadow: inset 0 0 0 1px rgba(var(--brand-rgb),.05),0 14px 28px #27435817;
  border-radius: 50%;
  place-items: center;
  display: grid;
}

.clinic-crm-donut.is-empty {
  background: #e9ecef;
}

.clinic-crm-donut > div {
  aspect-ratio: 1;
  border: 1px solid var(--surface-border);
  background: #fff;
  border-radius: 50%;
  place-content: center;
  place-items: center;
  width: 82px;
  display: grid;
  box-shadow: 0 4px 18px #21303b12;
}

.clinic-crm-donut strong {
  color: var(--ink);
  font-size: 25px;
  font-weight: 500;
  line-height: 1.15;
}

.clinic-crm-donut span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 500;
}

.clinic-crm-legend {
  gap: 10px;
  min-width: 0;
  display: grid;
}

.clinic-crm-legend > div {
  border-bottom: 1px solid var(--surface-border);
  grid-template-columns: 9px minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  padding-bottom: 9px;
  display: grid;
}

.clinic-crm-legend > div:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.clinic-crm-legend i {
  background: var(--brand);
  border-radius: 50%;
  width: 9px;
  height: 9px;
}

.clinic-crm-legend i.returning {
  background: #b854d4;
}

.clinic-crm-legend i.loyal {
  background: var(--success);
}

.clinic-crm-legend span {
  color: #6f6575;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 500;
  overflow: hidden;
}

.clinic-crm-legend strong {
  color: var(--ink);
  font-size: 14px;
  font-weight: 500;
}

.clinic-crm-legend small {
  color: var(--muted);
  grid-column: 2 / 4;
  font-size: 12px;
}

.clinic-crm-journey > div {
  gap: 14px;
  display: grid;
}

.clinic-crm-journey section {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  display: grid;
}

.clinic-crm-journey section > span {
  color: #665c6b;
  align-items: center;
  gap: 8px;
  min-width: 0;
  font-size: 12px;
  font-weight: 500;
  display: flex;
}

.clinic-crm-journey section > span i {
  width: 25px;
  height: 25px;
  color: var(--brand);
  background: var(--brand-soft);
  border-radius: 8px;
  flex: none;
  place-items: center;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  display: grid;
}

.clinic-crm-journey section > strong {
  color: var(--ink);
  font-size: 16px;
  font-weight: 500;
}

.clinic-crm-journey section > div {
  background: #eceff1;
  border-radius: 999px;
  grid-column: 1 / -1;
  height: 9px;
  overflow: hidden;
}

.clinic-crm-journey section > div b {
  border-radius: inherit;
  background: linear-gradient(90deg,var(--brand),#d066ef);
  height: 100%;
  box-shadow: 0 4px 12px rgba(var(--brand-rgb),.18);
  display: block;
}

.clinic-crm-journey section:nth-child(2) > div b {
  background: linear-gradient(90deg, #931eb0, #d066ef);
}

.clinic-crm-journey section:nth-child(3) > div b {
  background: linear-gradient(90deg, #1a9877, #57c6a8);
}

.clinic-crm-followup > div:last-child {
  gap: 8px;
  display: grid;
}

.clinic-crm-followup > header {
  justify-content: space-between;
  align-items: start;
  gap: 12px;
  display: flex;
}

.clinic-crm-followup > header .admin-row-action {
  color: var(--brand);
  flex: none;
  padding-top: 2px;
  font-size: 12px;
}

.clinic-crm-followup a {
  min-width: 0;
  color: inherit;
  background: var(--surface-muted);
  cursor: pointer;
  border: 1px solid #0000;
  border-radius: 12px;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 8px;
  text-decoration: none;
  transition: border-color .18s, background .18s, transform .18s;
  display: grid;
}

.clinic-crm-followup a:hover {
  border-color: rgba(var(--brand-rgb),.13);
  background: var(--brand-surface);
  transform: translateY(-1px);
}

.clinic-crm-followup a.is-disabled {
  pointer-events: none;
  cursor: default;
}

.clinic-crm-followup a > span {
  width: 34px;
  height: 34px;
  color: var(--brand);
  background: var(--brand-soft);
  border-radius: 10px;
  place-items: center;
  font-size: 13px;
  font-weight: 500;
  display: grid;
}

.clinic-crm-followup a > div {
  gap: 1px;
  min-width: 0;
  display: grid;
}

.clinic-crm-followup a strong, .clinic-crm-followup a small {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.clinic-crm-followup a strong {
  color: var(--ink);
  font-size: 12px;
  font-weight: 500;
}

.clinic-crm-followup a small {
  color: var(--muted);
  font-size: 12px;
}

.clinic-crm-followup a > b {
  color: #1f775f;
  white-space: nowrap;
  background: #e8f7f1;
  border-radius: 7px;
  padding: 4px 6px;
  font-size: 12px;
  font-weight: 500;
}

.clinic-crm-followup a > b.medium {
  color: #8a5a0a;
  background: #fff4dc;
}

.clinic-crm-followup a > b.high {
  color: #ad3f50;
  background: #fff0f2;
}

.clinic-crm-followup a > b.unknown {
  color: #746a78;
  background: #e9ecef;
}

.clinic-crm-followup a > em {
  display: none;
}

.clinic-crm-empty {
  color: var(--muted);
  font-size: 12px;
}

:is(.clinic-record-page, .patient-portal, .clinic-trend-page) {
  font-family: var(--font-family-ui);
  background: radial-gradient(circle at 8% 2%,rgba(var(--brand-rgb),.035),transparent 26rem),var(--canvas);
}

.patient-record-surface .record-analysis-summary {
  border-color: var(--surface-border);
}

:is(.admin-login-page, .login-page) {
  font-family: var(--font-family-ui);
}

.admin-login-page {
  background: radial-gradient(circle at 85% 5%,rgba(var(--brand-rgb),.055),transparent 28rem),radial-gradient(circle at 10% 95%,rgba(var(--accent-rgb),.05),transparent 26rem),var(--canvas);
  grid-template-rows: minmax(0, 1fr);
  padding: 24px;
}

.admin-login-page:before {
  opacity: .11;
}

.login-language-control {
  z-index: 6;
  top: 22px;
  align-items: center;
  gap: 8px;
  display: flex;
  position: absolute;
  inset-inline-end: 24px;
}

.login-language-control :is(.language-switcher, .pwa-install-button) {
  border-color: var(--surface-border);
  box-shadow: var(--shadow-xs);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #ffffffe6;
}

.admin-login-stage {
  padding: 54px 0 24px;
}

.admin-login-card {
  border-color: var(--surface-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  background: #fffffff9;
}

.admin-login-card:after, .admin-login-card-glow {
  opacity: .16;
}

.admin-login-heading > .aitricho-wordmark--login {
  margin: 0 auto 16px;
  display: grid;
}

.admin-login-heading h1 {
  letter-spacing: -.015em;
  font-size: clamp(1.55rem, 2.15vw, 2rem);
  font-weight: 500;
}

.admin-login-control {
  border-radius: var(--radius-field);
  box-shadow: var(--field-shadow);
}

@media (max-height: 800px) and (min-width: 701px) {
  .admin-login-heading > .aitricho-wordmark--login {
    width: 104px;
    height: 104px;
    margin-bottom: 12px;
  }
}

@media (max-width: 520px) {
  .aitricho-wordmark--login {
    width: 92px;
    height: 92px;
  }

  .login-language-control {
    top: 12px;
    inset-inline-end: 12px;
  }
}

@media (max-width: 1280px) {
  :is(.admin-console, .clinic-console, .support-console.admin-console) {
    grid-template-columns: 246px minmax(0, 1fr);
  }
}

@media (max-width: 1180px) {
  .clinic-overview-hero {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .clinic-overview-copy {
    max-width: 760px;
  }

  .clinic-overview-actions {
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
    width: 100%;
  }

  .clinic-overview-secondary-actions {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  :is(.admin-console, .clinic-console, .support-console.admin-console) {
    grid-template-columns: 1fr;
  }

  :is(.admin-sidebar, .support-sidebar.admin-sidebar) {
    border-inline-end: 0;
    border-bottom: 1px solid var(--surface-border);
    height: auto;
    padding: 12px 14px;
    position: relative;
    box-shadow: 0 8px 24px #19283309;
  }

  :is(.admin-sidebar-header, .support-sidebar .admin-sidebar-header) {
    margin: 0 0 10px;
    padding: 0 2px 11px;
  }

  .panel-sidebar-brand {
    grid-template-columns: 46px auto;
    gap: 10px;
  }

  .panel-sidebar-brand__emblem.aitricho-wordmark--sidebar {
    border-radius: 11px;
    width: 46px;
    height: 46px;
  }

  .panel-sidebar-brand__copy {
    gap: 2px;
  }

  .panel-sidebar-brand__copy strong {
    font-size: 13px;
  }

  .panel-sidebar-brand__label {
    font-size: 12px;
  }

  :is(.admin-nav-groups, .support-sidebar .admin-nav-groups) {
    gap: 8px;
    padding: 0 0 3px;
    display: flex;
    overflow-x: auto;
  }

  :is(.admin-nav-group, .support-sidebar .admin-nav-group), :is(.admin-nav, .support-sidebar .admin-nav) {
    flex: none;
    gap: 6px;
    display: flex;
  }

  :is(.admin-nav-label, .admin-sidebar-footer, .support-sidebar .admin-sidebar-footer) {
    display: none;
  }

  :is(.admin-nav button, .support-sidebar .admin-nav button) {
    min-width: max-content;
    min-height: 42px;
    padding-inline: 6px 10px;
  }

  .panel-nav-icon {
    width: 30px;
    height: 30px;
  }

  :is(.admin-nav button, .support-sidebar .admin-nav button).active:after {
    display: none;
  }

  :is(.admin-main, .support-main.admin-main) {
    padding: 20px 16px 44px;
  }

  :is(.admin-topbar, .support-topbar.admin-topbar) {
    flex-direction: column;
    align-items: stretch;
    margin-bottom: 22px;
  }

  .clinic-topbar {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
  }

  .clinic-topbar .admin-search {
    grid-area: 2 / 1 / auto / -1;
    width: 100%;
  }

  .clinic-overview-hero {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .clinic-overview-actions {
    grid-template-columns: 1fr;
  }

  .clinic-overview-secondary-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .clinic-crm-heading {
    flex-direction: column;
    align-items: start;
    gap: 6px;
  }

  .clinic-crm-grid {
    grid-template-columns: 1fr 1fr;
  }

  .clinic-crm-followup {
    grid-column: 1 / -1;
  }
}

@media (max-width: 560px) {
  :is(.admin-main, .support-main.admin-main) {
    padding-inline: 12px;
  }

  :is(.admin-kpis article, .support-metrics article) {
    min-height: 112px;
    padding: 16px;
  }

  .clinic-topbar-context > div {
    display: none;
  }

  .clinic-overview-hero {
    min-height: 0;
    padding: 22px 18px;
  }

  .clinic-overview-actions {
    grid-template-columns: 1fr;
    width: 100%;
  }

  .clinic-overview-secondary-actions {
    grid-template-columns: 1fr;
  }

  .clinic-overview-actions .clinic-capture-launch {
    grid-template-columns: 54px minmax(0, 1fr) 32px;
    gap: 13px;
    min-height: 112px;
    padding: 17px 15px;
  }

  .clinic-overview-actions .clinic-capture-launch > i {
    width: 54px;
    height: 54px;
  }

  .clinic-overview-actions .clinic-capture-launch > b {
    width: 32px;
    height: 32px;
  }

  .clinic-overview-actions :is(strong, small) {
    white-space: normal;
  }

  .clinic-overview-privacy {
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 14px;
    min-height: 0;
    padding: 20px 16px;
  }

  .clinic-overview-privacy > i {
    border-radius: var(--radius-md);
    width: 46px;
    height: 46px;
  }

  .clinic-overview-kpis {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .clinic-overview-kpis article {
    min-height: 112px;
    padding: 15px;
  }

  .clinic-crm-grid {
    grid-template-columns: 1fr;
  }

  .clinic-crm-card {
    min-height: 0;
    padding: 16px;
  }

  .clinic-crm-followup {
    grid-column: auto;
  }

  .clinic-crm-segment-layout {
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 13px;
  }

  .clinic-crm-donut {
    width: 110px;
  }

  .clinic-crm-donut > div {
    width: 72px;
  }

  .clinic-crm-followup a {
    grid-template-columns: 32px minmax(0, 1fr);
  }

  .clinic-crm-followup a > b {
    grid-column: 2;
    justify-self: start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .clinic-theme-scope[data-clinic-theme="dark"] :is(.clinic-console, .clinic-record-page, .clinic-trend-page, .analysis-state-page, .clinic-followup-page, .clinic-record-state) {
    animation: none;
  }

  :is(.admin-nav button, .admin-primary, .admin-secondary, .primary-action, .secondary-action, .clinic-overview-actions button, .sms-pattern-guide header button) {
    transition: none;
  }

  .clinic-overview-actions .clinic-capture-launch > i:after, .clinic-overview-insights {
    animation: none;
  }

  .clinic-theme-toggle, .clinic-theme-toggle svg, .clinic-theme-toggle__halo {
    transition: none;
  }

  .clinic-theme-toggle[aria-busy="true"] .clinic-theme-toggle__halo {
    animation: none;
  }

  .clinic-theme-scope .clinic-theme-transition {
    display: none;
  }
}

/* [project]/apps/web/src/app/clinic-login.css [app-client] (css) */
html:has(:is(.login-page--clinic, .login-page--admin, .login-page--support)) {
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
}

body:has(:is(.login-page--clinic, .login-page--admin, .login-page--support)) {
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
}

.login-experience:has( > :is(.login-page--clinic, .login-page--admin, .login-page--support)) {
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
}

:is(.login-page--clinic, .login-page--admin, .login-page--support) {
  isolation: isolate;
  background: #f8fafc;
  width: 100%;
  height: 100dvh;
  min-height: 0;
  display: grid;
  position: relative;
  overflow: hidden;
}

:is(.login-page--clinic, .login-page--admin, .login-page--support) .login-stage {
  direction: ltr;
  grid-template-columns: minmax(0, 1.15fr) minmax(440px, 1fr);
  width: 100%;
  height: 100%;
  min-height: 0;
  display: grid;
}

.clinic-login-visual-panel {
  background: #01060c;
  height: 100%;
  min-height: 0;
  position: relative;
  overflow: hidden;
}

.clinic-login-image {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0;
}

.clinic-login-form-panel {
  overscroll-behavior: contain;
  background: radial-gradient(circle at 10% 10%, #7c16950a, #0000 45%), #f8fafc;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100dvh;
  min-height: 0;
  padding: 16px 24px;
  display: flex;
  position: relative;
  overflow: hidden auto;
}

.clinic-login-topbar {
  z-index: 10;
  flex-shrink: 0;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  width: min(100%, 420px);
  margin-bottom: 12px;
  display: flex;
}

.clinic-login-topbar:has(.pwa-install-button) {
  justify-content: space-between;
}

.clinic-login-topbar:empty {
  margin: 0;
  display: none;
}

.login-language-switcher {
  color: #334155;
  cursor: pointer;
  -webkit-backdrop-filter: blur(14px);
  -webkit-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  background: #fffffff0;
  border: 1.5px solid #7c169529;
  border-radius: 9999px;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding-block: 6px;
  padding-inline: 12px 14px;
  font-size: .825rem;
  font-weight: 500;
  text-decoration: none;
  transition: all .2s cubic-bezier(.16, 1, .3, 1);
  display: inline-flex;
  box-shadow: 0 2px 8px #0f172a0a, 0 1px 2px #7c16950a;
}

.login-language-switcher:hover {
  color: #7c1695;
  background: #fff;
  border-color: #7c16955c;
  transform: translateY(-1.5px);
  box-shadow: 0 6px 18px #7c16951f, 0 2px 6px #0f172a0d;
}

.login-language-switcher:active {
  color: #631276;
  background: #faf5fc;
  border-color: #7c1695;
  transform: translateY(0);
  box-shadow: 0 1px 3px #7c169529;
}

.login-language-switcher:focus-visible {
  outline-offset: 2px;
  border-color: #7c1695;
  outline: 2px solid #7c1695;
}

.login-language-switcher[aria-disabled="true"], .login-language-switcher.is-disabled {
  opacity: .55;
  pointer-events: none;
  cursor: not-allowed;
  box-shadow: none;
  transform: none;
}

.login-language-switcher[aria-busy="true"], .login-language-switcher.is-loading {
  opacity: .75;
  pointer-events: none;
  cursor: wait;
}

.login-language-switcher .language-switcher__icon {
  color: #7c1695;
  background: #7c169514;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 26px;
  height: 26px;
  transition: transform .22s, background-color .2s, color .2s;
  display: inline-flex;
}

.login-language-switcher:hover .language-switcher__icon {
  color: #631276;
  background: #7c169529;
  transform: rotate(18deg);
}

.login-language-switcher .language-switcher__icon svg {
  stroke: currentColor;
  stroke-width: 2px;
  width: 15px;
  height: 15px;
  display: block;
}

.login-language-switcher .language-name {
  letter-spacing: -.01em;
  font-weight: 500;
  line-height: 1;
}

.login-language-switcher .language-code-badge {
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: .04em;
  background: #f1f5f9;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  padding: 2px 6px;
  font-size: .68rem;
  font-weight: 600;
  line-height: 1;
  transition: background-color .2s, color .2s;
  display: inline-flex;
}

.login-language-switcher:hover .language-code-badge {
  color: #7c1695;
  background: #7c16951a;
}

.clinic-login-topbar .pwa-install-button {
  border-radius: 9999px;
  min-height: 44px;
  padding-inline: 14px;
}

:is(.login-page--clinic, .login-page--admin, .login-page--support) .access-card.clinic-auth-card {
  text-align: start;
  background: #fff;
  border: 1.5px solid #7c16951f;
  border-radius: 20px;
  flex-shrink: 0;
  width: min(100%, 420px);
  margin-block: auto;
  padding: 24px 26px 20px;
  position: relative;
  box-shadow: 0 20px 48px -12px #7c169514, 0 4px 16px #00000008;
}

.clinic-auth-segmented {
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  margin-bottom: 16px;
  padding: 4px;
  display: grid;
}

.clinic-auth-segmented__tab {
  color: #64748b;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  background: none;
  border: 0;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  gap: 7px;
  min-height: 40px;
  font-size: 13px;
  font-weight: 600;
  transition: all .22s cubic-bezier(.16, 1, .3, 1);
  display: flex;
}

.clinic-auth-segmented__tab .tab-svg-icon {
  opacity: .75;
  flex-shrink: 0;
  transition: transform .2s, opacity .2s;
}

.clinic-auth-segmented__tab:hover:not(.is-active):not(:disabled) {
  color: #1e293b;
  background: #fff9;
}

.clinic-auth-segmented__tab.is-active {
  color: #7c1695;
  background: #fff;
  font-weight: 700;
  box-shadow: 0 3px 12px #7c16951f, 0 1px 3px #0000000f;
}

.clinic-auth-segmented__tab.is-active .tab-svg-icon {
  opacity: 1;
  stroke: #7c1695;
}

.clinic-auth-body-animated {
  flex-direction: column;
  width: 100%;
  animation: .28s cubic-bezier(.16, 1, .3, 1) both clinic-auth-switch-in;
  display: flex;
}

@keyframes clinic-auth-switch-in {
  from {
    opacity: 0;
    transform: translateY(6px)scale(.99);
  }

  to {
    opacity: 1;
    transform: translateY(0)scale(1);
  }
}

.clinic-auth-header {
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 16px;
  display: flex;
}

.clinic-auth-title {
  color: #0f172a;
  letter-spacing: -.02em;
  outline: none;
  margin: 0;
  font-size: 18px;
  font-weight: 800;
}

.clinic-login-heading {
  text-align: start;
  justify-items: start;
  margin-bottom: 16px;
  display: grid;
}

:is(.login-page--clinic, .login-page--admin, .login-page--support) .access-heading h1 {
  color: #0f172a;
  letter-spacing: -.02em;
  outline: none;
  margin: 0 0 4px;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.4;
}

:is(.login-page--clinic, .login-page--admin, .login-page--support) .access-heading p {
  color: #64748b;
  max-width: 44ch;
  margin: 0;
  font-size: 12.5px;
  line-height: 1.6;
}

.clinic-auth-steps {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
  display: grid;
  position: relative;
}

.clinic-auth-steps li {
  color: #64748b;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  font-size: 12px;
  font-weight: 500;
  transition: all .2s;
  display: flex;
  position: relative;
}

.clinic-auth-steps li > span {
  color: #475569;
  background: #e2e8f0;
  border-radius: 50%;
  flex: 0 0 22px;
  place-items: center;
  width: 22px;
  height: 22px;
  font-size: 10.5px;
  font-weight: 700;
  display: grid;
}

.clinic-auth-steps li[aria-current="step"] {
  color: #7c1695;
  background: #7c16950d;
  border-color: #7c169540;
  font-weight: 700;
}

.clinic-auth-steps li[aria-current="step"] > span {
  color: #fff;
  background: #7c1695;
  box-shadow: 0 2px 6px #7c169559;
}

.clinic-auth-fields {
  border: 0;
  gap: 12px;
  min-width: 0;
  margin: 0;
  padding: 0;
  display: grid;
}

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

.clinic-field-label {
  color: #334155;
  margin-bottom: 4px;
  font-size: 12.5px;
  font-weight: 600;
  display: block;
}

:is(.login-page--clinic, .login-page--admin, .login-page--support) .access-form {
  gap: 12px;
  display: grid;
}

:is(.login-page--clinic, .login-page--admin, .login-page--support) .access-form label {
  color: #334155;
  text-align: start;
  gap: 2px;
  font-size: 12.5px;
  font-weight: 500;
  display: grid;
}

:is(.login-page--clinic, .login-page--admin, .login-page--support) .access-form :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select) {
  color: #0f172a;
  width: 100%;
  height: 44px;
  min-height: 44px;
  box-shadow: none;
  text-align: start;
  background: #f8fafc;
  border: 1.5px solid #e2e8f0;
  border-radius: 10px;
  outline: 0;
  padding-inline: 12px;
  font-size: 13.5px;
  font-weight: 500;
  transition: border-color .18s, box-shadow .18s, background-color .18s;
}

:is(.login-page--clinic, .login-page--admin, .login-page--support) .access-form :is(input, select):hover:not(:disabled) {
  background: #fff;
  border-color: #cbd5e1;
}

:is(.login-page--clinic, .login-page--admin, .login-page--support) .access-form :is(input, select):focus {
  background: #fff;
  border-color: #7c1695;
  transform: none;
  box-shadow: 0 0 0 3px #7c16951f;
}

:is(.login-page--clinic, .login-page--admin, .login-page--support) .access-form input::placeholder {
  color: #94a3b8;
  opacity: .8;
}

:is(.login-page--clinic, .login-page--admin, .login-page--support) .access-form input.clinic-auth-code {
  text-align: center;
  letter-spacing: .5em;
  font-family: monospace;
  font-size: 19px;
  font-weight: 700;
}

.clinic-auth-password {
  gap: 2px;
  display: grid;
}

.clinic-auth-label-row {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  min-height: 20px;
  display: flex;
}

:is(.login-page--clinic, .login-page--admin, .login-page--support) .clinic-auth-label-row .link-action {
  color: #7c1695;
  min-height: 24px;
  padding: 0;
  font-size: 12px;
  font-weight: 600;
}

.clinic-auth-password-control {
  direction: ltr;
  position: relative;
}

:is(.login-page--clinic, .login-page--admin, .login-page--support) .clinic-auth-password-control input {
  padding-right: 86px;
}

.clinic-password-toggle-btn {
  color: #64748b;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 8px;
  align-items: center;
  gap: 4px;
  min-height: 32px;
  padding: 3px 8px;
  font-size: 11.5px;
  font-weight: 600;
  transition: all .18s;
  display: inline-flex;
  position: absolute;
  top: 50%;
  right: 5px;
  transform: translateY(-50%);
}

.clinic-password-toggle-btn:hover:not(:disabled) {
  color: #7c1695;
  background: #7c169514;
}

.clinic-auth-fields small {
  color: #64748b;
  margin-top: -4px;
  font-size: 11px;
}

.clinic-auth-destination {
  color: #7c1695;
  text-align: start;
  letter-spacing: .04em;
  background: #7c16950f;
  border-radius: 8px;
  margin: 0 0 12px;
  padding: 6px 10px;
  font-size: 13.5px;
  font-weight: 600;
}

.clinic-auth-submit-btn {
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, #7c1695, #931eb0);
  border: 0;
  border-radius: 10px;
  width: 100%;
  min-height: 44px;
  margin-top: 4px;
  font-size: 14px;
  font-weight: 700;
  transition: all .2s;
  box-shadow: 0 4px 16px #7c169540;
}

.clinic-auth-submit-btn:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 6px 20px #7c169559;
}

.clinic-auth-submit-btn:active:not(:disabled) {
  transform: translateY(0);
}

.clinic-auth-divider {
  color: #94a3b8;
  text-align: center;
  align-items: center;
  gap: 10px;
  margin-block: 2px;
  font-size: 11.5px;
  font-weight: 500;
  display: flex;
}

.clinic-auth-divider:before, .clinic-auth-divider:after {
  content: "";
  background: #e2e8f0;
  flex: 1;
  height: 1px;
}

.clinic-auth-otp-btn {
  color: #7c1695;
  cursor: pointer;
  background: #7c169508;
  border: 1.5px solid #7c169533;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 40px;
  font-size: 13px;
  font-weight: 600;
  transition: all .2s;
  display: flex;
}

.clinic-auth-otp-btn:hover:not(:disabled) {
  background: #7c169514;
  border-color: #7c1695;
  transform: translateY(-1px);
}

.clinic-auth-navigation {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 6px 14px;
  margin-top: 2px;
  display: flex;
}

.clinic-auth-navigation > .link-action:only-child {
  margin-inline: auto;
}

:is(.login-page--clinic, .login-page--admin, .login-page--support) .access-card .link-action {
  color: #7c1695;
  cursor: pointer;
  background: none;
  border: 0;
  justify-content: center;
  align-items: center;
  min-height: 36px;
  padding: 2px 6px;
  font-size: 12.5px;
  font-weight: 600;
  text-decoration: none;
  transition: color .18s;
  display: inline-flex;
}

:is(.login-page--clinic, .login-page--admin, .login-page--support) .access-card .link-action:hover:not(:disabled) {
  color: #931eb0;
  text-underline-offset: 4px;
  text-decoration: underline;
}

:is(.login-page--clinic, .login-page--admin, .login-page--support) .form-error, :is(.login-page--clinic, .login-page--admin, .login-page--support) .form-success {
  border-radius: 8px;
  width: 100%;
  margin: 0;
  padding: 8px 12px;
  font-size: 12.5px;
  line-height: 1.6;
}

:is(.login-page--clinic, .login-page--admin, .login-page--support) .form-error {
  color: #dc2626;
  background: #fef2f2;
  border: 1px solid #fecaca;
}

:is(.login-page--clinic, .login-page--admin, .login-page--support) .form-success {
  color: #16a34a;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
}

.clinic-auth-cooldown {
  color: #64748b;
  text-align: center;
  margin-top: 4px;
  font-size: 12px;
}

.clinic-auth-support {
  color: #64748b;
  text-underline-offset: 4px;
  width: fit-content;
  margin: 14px auto 0;
  font-size: 12px;
  text-decoration: none;
  transition: color .18s;
  display: block;
}

.clinic-auth-support:hover {
  color: #7c1695;
  text-decoration: underline;
}

@media (max-width: 900px) {
  :is(.login-page--clinic, .login-page--admin, .login-page--support) .login-stage {
    grid-template-rows: 24dvh minmax(0, 1fr);
    grid-template-columns: 1fr;
  }

  .clinic-login-image {
    width: min(100%, 42dvh);
    margin-inline: auto;
  }

  .clinic-login-form-panel {
    justify-content: flex-start;
    height: auto;
    min-height: 0;
    padding: 20px 16px 36px;
  }

  :is(.login-page--clinic, .login-page--admin, .login-page--support) .access-card.clinic-auth-card {
    width: min(100%, 440px);
    padding: 24px 20px;
  }

  .clinic-login-topbar {
    width: min(100%, 440px);
    margin-bottom: 10px;
  }
}

@media (max-width: 520px) {
  :is(.login-page--clinic, .login-page--admin, .login-page--support) .login-stage {
    grid-template-rows: 20dvh minmax(0, 1fr);
  }

  .clinic-login-form-panel {
    padding: 14px 12px 28px;
  }

  .clinic-login-topbar {
    width: 100%;
    margin-bottom: 10px;
  }

  .login-language-switcher {
    min-height: 44px;
    padding-inline: 10px 12px;
    font-size: .8rem;
  }

  :is(.login-page--clinic, .login-page--admin, .login-page--support) .access-card.clinic-auth-card {
    border-radius: 18px;
    padding: 20px 16px;
  }

  .clinic-auth-title {
    font-size: 17px;
  }

  :is(.login-page--clinic, .login-page--admin, .login-page--support) .access-form :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select) {
    height: 44px;
    font-size: 16px;
  }

  .clinic-auth-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .clinic-auth-steps {
    grid-template-columns: 1fr;
    gap: 6px;
  }
}

@media (max-width: 380px) {
  .login-language-switcher .language-code-badge {
    display: none;
  }
}

@media (max-height: 640px) and (max-width: 900px) {
  :is(.login-page--clinic, .login-page--admin, .login-page--support) .login-stage {
    grid-template-rows: 0 minmax(0, 1fr);
  }

  .clinic-login-form-panel {
    padding-top: 40px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .clinic-auth-body-animated, .clinic-auth-segmented__tab, .clinic-auth-submit-btn, .login-language-switcher, .login-language-switcher .language-switcher__icon, :is(.login-page--clinic, .login-page--admin, .login-page--support) :is(button, input, select) {
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
}

/* [project]/apps/web/src/app/clinic-entry.css [app-client] (css) */
.clinic-entry {
  isolation: isolate;
  min-height: 100dvh;
  padding: clamp(64px,10vh,112px) var(--page-gutter);
  color: #edf8ff;
  background: #031629 url("/images/clinic-entry-background.webp") center / cover no-repeat;
  place-items: end center;
  animation: .38s cubic-bezier(.16, 1, .3, 1) both clinic-entry-reveal;
  display: grid;
  position: relative;
  overflow: hidden;
}

@keyframes clinic-entry-reveal {
  from {
    opacity: 0;
    transform: scale(1.02);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.clinic-entry__shade {
  z-index: -1;
  background: linear-gradient(#010d190a 38%, #010c1733 60%, #000811a3 100%);
  position: absolute;
  inset: 0;
}

.clinic-entry__language {
  z-index: 2;
  top: calc(env(safe-area-inset-top, 0px) + clamp(14px,2.8vw,30px));
  left: calc(env(safe-area-inset-left, 0px) + clamp(16px,2.8vw,34px));
  position: absolute;
}

[dir="rtl"] .clinic-entry__language {
  left: auto;
  right: calc(env(safe-area-inset-right, 0px) + clamp(16px,2.8vw,34px));
}

.clinic-entry__language .language-switcher {
  color: #e9f8ff;
  -webkit-backdrop-filter: blur(20px) saturate(1.18);
  backdrop-filter: blur(20px) saturate(1.18);
  background: #03182a6b;
  border-color: #93d8ff38;
  box-shadow: 0 12px 32px #0008143d, inset 0 1px #ffffff14;
}

.clinic-entry__language .language-switcher:hover {
  background: #06233ba8;
  border-color: #93d8ff6b;
}

.clinic-entry__actions {
  width: min(790px,calc(100vw - 2 * var(--page-gutter)));
  border-radius: var(--radius-xl);
  -webkit-backdrop-filter: blur(30px) saturate(1.28);
  direction: ltr;
  background: linear-gradient(#073354ad, #031d33c2);
  border: 1px solid #67cdffd1;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 1.25fr) minmax(0, 1fr);
  align-items: stretch;
  min-height: 184px;
  padding: 12px 18px;
  animation: .46s cubic-bezier(.16, 1, .3, 1) 60ms both clinic-entry-actions-float;
  display: grid;
  position: relative;
  overflow: hidden;
  box-shadow: 0 24px 64px #00071285, 0 0 0 1px #31a9e629, 0 0 28px #12a9f452, inset 0 1px #effbff4d, inset 0 -1px #49b8f257;
}

@keyframes clinic-entry-actions-float {
  from {
    opacity: 0;
    transform: translateY(22px)scale(.97);
  }

  to {
    opacity: 1;
    transform: translateY(0)scale(1);
  }
}

.clinic-entry__action {
  color: #eef9fff0;
  min-width: 0;
  min-height: 158px;
  font: inherit;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 0;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 15px;
  padding: 14px 10px;
  text-decoration: none;
  transition: transform .22s, color .22s, background .22s, filter .22s;
  display: flex;
}

[dir="rtl"] .clinic-entry__action {
  direction: rtl;
}

.clinic-entry__action strong {
  text-align: center;
  text-shadow: 0 2px 12px #001122ad;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.35;
}

.clinic-entry__icon {
  color: #c8eeff;
  filter: drop-shadow(0 0 9px #36beff80);
  flex: none;
  place-items: center;
  width: 64px;
  height: 64px;
  display: grid;
}

.clinic-entry__icon svg {
  stroke-width: 1.35px;
  width: 60px;
  height: 60px;
}

.clinic-entry__action:hover {
  color: #fff;
  filter: brightness(1.14);
  background: #1e7fb824;
  transform: translateY(-3px);
}

.clinic-entry__action:focus-visible {
  outline: 0;
  box-shadow: inset 0 0 0 3px #76d7ff61;
}

.clinic-entry__action--clients {
  grid-column: 1;
}

.clinic-entry__action--capture {
  color: #fff;
  background: linear-gradient(#1b7fbb21, #0d55830d);
  border-inline: 1px solid #30bcf8c2;
  grid-column: 2;
  gap: 8px;
  transition: transform .24s cubic-bezier(.2, .75, .25, 1), color .2s, background .24s, filter .24s, border-color .24s, box-shadow .24s;
  position: relative;
  box-shadow: inset 16px 0 28px -28px #2bc2ffe6, inset -16px 0 28px -28px #2bc2ffe6;
}

.clinic-entry__action--capture strong {
  text-shadow: 0 0 16px #3cc0ff7a, 0 3px 14px #000c1cc7;
  font-size: 1.7rem;
  font-weight: 500;
}

.clinic-entry__capture-symbol {
  color: #f4fbff;
  flex: none;
  place-items: center;
  width: 104px;
  height: 88px;
  transition: transform .3s cubic-bezier(.2, .8, .2, 1), color .24s, filter .3s;
  display: grid;
  position: relative;
  transform: translateZ(0);
}

.clinic-entry__capture-symbol:before {
  content: "";
  opacity: .7;
  background: radial-gradient(circle, #44c2ff2e 0, #2596d212 46%, #0000 72%);
  border: 1px solid #6fdaff57;
  border-radius: 50%;
  width: 76px;
  height: 76px;
  transition: opacity .26s, transform .34s cubic-bezier(.2, .8, .2, 1), border-color .26s, box-shadow .3s;
  position: absolute;
  transform: scale(.94);
  box-shadow: 0 0 24px #2dbbfa29, inset 0 0 18px #47c6ff14;
}

.clinic-entry__capture-icon {
  stroke-width: 1.35px;
  filter: drop-shadow(0 0 8px #48c5ffad);
  width: 76px;
  height: 76px;
  transition: filter .3s;
  position: relative;
}

.clinic-entry__action--capture:hover {
  filter: brightness(1.12);
  background: linear-gradient(#2897d53d, #115c8b1a);
  border-inline-color: #73ddfff5;
  transform: translateY(-4px);
  box-shadow: inset 18px 0 30px -28px #4cd2ff, inset -18px 0 30px -28px #4cd2ff, 0 0 26px #19adef1f;
}

.clinic-entry__action--capture:hover .clinic-entry__capture-symbol {
  color: #fff;
  filter: drop-shadow(0 8px 14px #0018314d);
  transform: translateY(-2px)scale(1.06);
}

.clinic-entry__action--capture:hover .clinic-entry__capture-symbol:before {
  opacity: 1;
  border-color: #8be5ffad;
  transform: scale(1.08);
  box-shadow: 0 0 30px #33c6ff47, inset 0 0 20px #5cd3ff1f;
}

.clinic-entry__action--capture:hover .clinic-entry__capture-icon {
  filter: drop-shadow(0 0 12px #63daffeb);
}

.clinic-entry__action--dashboard {
  grid-column: 3;
}

.clinic-entry__action:active {
  transform: translateY(1px);
}

.clinic-dashboard-home {
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-button);
  min-height: 38px;
  color: var(--ink-soft);
  background: var(--surface-bg);
  box-shadow: var(--shadow-xs);
  font-size: var(--text-compact);
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  font-weight: 500;
  text-decoration: none;
  transition: border-color .18s, color .18s, background .18s, transform .18s;
  display: inline-flex;
}

.clinic-dashboard-home:hover {
  border-color: rgba(var(--brand-rgb),.3);
  color: var(--brand);
  background: var(--brand-soft);
  transform: translateY(-1px);
}

.clinic-dashboard-home:focus-visible {
  box-shadow: var(--focus-ring);
  outline: 0;
}

.clinic-dashboard-home .panel-nav-icon {
  width: 24px;
  height: 24px;
  box-shadow: none;
  background: none;
  border: 0;
}

.clinic-dashboard-home .panel-nav-icon svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65px;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: 17px;
  height: 17px;
}

@media (max-width: 700px) {
  .clinic-entry {
    padding: calc(env(safe-area-inset-top, 0px) + 16px) 12px calc(env(safe-area-inset-bottom, 0px) + clamp(42px,7vh,70px));
    background-position: top;
    background-size: auto 88%;
  }

  .clinic-entry__actions {
    border-radius: var(--radius-lg);
    grid-template-columns: minmax(0, 1fr) minmax(112px, 1.18fr) minmax(0, 1fr);
    width: 100%;
    min-height: 134px;
    padding: 7px 5px;
  }

  .clinic-entry__action {
    gap: 9px;
    min-height: 118px;
    padding: 8px 3px;
  }

  .clinic-entry__action strong {
    font-size: .88rem;
  }

  .clinic-entry__icon {
    width: 44px;
    height: 44px;
  }

  .clinic-entry__icon svg {
    width: 42px;
    height: 42px;
  }

  .clinic-entry__action--capture {
    gap: 4px;
  }

  .clinic-entry__action--capture strong {
    font-size: 1rem;
  }

  .clinic-entry__capture-symbol {
    width: 68px;
    height: 64px;
  }

  .clinic-entry__capture-symbol:before {
    width: 52px;
    height: 52px;
  }

  .clinic-entry__capture-icon {
    width: 50px;
    height: 50px;
  }

  .clinic-dashboard-home {
    justify-content: center;
    width: 38px;
    padding: 0;
  }

  .clinic-dashboard-home > span {
    clip: rect(0 0 0 0);
    white-space: nowrap;
    width: 1px;
    height: 1px;
    position: absolute;
    overflow: hidden;
  }
}

@media (max-height: 700px) and (min-width: 701px) {
  .clinic-entry {
    padding-bottom: 40px;
  }

  .clinic-entry__actions {
    min-height: 150px;
  }

  .clinic-entry__action {
    min-height: 126px;
  }

  .clinic-entry__capture-symbol {
    width: 86px;
    height: 72px;
  }

  .clinic-entry__capture-symbol:before {
    width: 64px;
    height: 64px;
  }

  .clinic-entry__capture-icon {
    width: 62px;
    height: 62px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .clinic-entry__action, .clinic-entry__capture-symbol, .clinic-entry__capture-symbol:before, .clinic-entry__capture-icon, .clinic-dashboard-home {
    transition: none;
  }

  .clinic-entry__action:hover, .clinic-entry__action--capture:hover .clinic-entry__capture-symbol, .clinic-dashboard-home:hover {
    transform: none;
  }
}

/* [project]/apps/web/src/app/clinic-console.css [app-client] (css) */
.clinic-page-transition {
  animation: .28s cubic-bezier(.16, 1, .3, 1) forwards clinicFadeIn;
}

@keyframes clinicFadeIn {
  from {
    opacity: 0;
    transform: translateY(6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.clinic-console .clinic-svg-icon, .clinic-console .clinic-context-icon svg, .clinic-console .clinic-search-dock svg, .clinic-console .clinic-kpi-icon-wrap svg, .clinic-console .clinic-topbar-return-btn svg, .clinic-console .clinic-sidebar-return__link svg, .clinic-console .retention-metric-icon svg, .clinic-console .support-kpi-icon svg, .clinic-console .settings-section-icon svg, .clinic-console .clinic-overview-actions svg, .clinic-console .clinic-card-actions svg, .clinic-console .clinic-action-btn svg, .clinic-console .clinic-filter-toggle svg, .clinic-console .clinic-empty-state svg, .clinic-console .clinic-logout-btn svg {
  fill: none !important;
  stroke: currentColor !important;
}

.clinic-console {
  background: var(--surface-subtle, #f8fafc);
  min-width: 0;
  max-width: 100vw;
  min-height: 100dvh;
  color: var(--ink, #0f172a);
  grid-template-columns: 272px minmax(0, 1fr);
  font-family: inherit;
  line-height: 1.6;
  transition: opacity .22s cubic-bezier(.16, 1, .3, 1), transform .22s cubic-bezier(.16, 1, .3, 1), filter .22s cubic-bezier(.16, 1, .3, 1);
  display: grid;
  overflow-x: hidden;
}

.clinic-console.is-exiting {
  opacity: 0 !important;
  filter: blur(8px) !important;
  pointer-events: none !important;
  transform: scale(.985)translateY(6px) !important;
}

.clinic-console .clinic-sidebar-brand-row {
  display: contents;
}

.clinic-console .clinic-sidebar-mobile-actions {
  display: none !important;
}

.clinic-console .pillar-day-short {
  display: none;
}

.clinic-console .pillar-day-full {
  display: inline;
}

.clinic-console .clinic-sidebar {
  -webkit-backdrop-filter: blur(20px);
  z-index: 30;
  background: #ffffffe0;
  border-inline-end: 1px solid #e2e8f0cc;
  flex-direction: column;
  height: 100dvh;
  padding: 24px 16px 20px;
  display: flex;
  position: sticky;
  top: 0;
  box-shadow: 2px 0 24px #0f172a06;
}

.clinic-console .clinic-sidebar .admin-sidebar-header {
  border-bottom: 1px solid #e2e8f0cc;
  margin: 0 4px 20px;
  padding: 0 4px 16px;
}

.clinic-console .clinic-sidebar .admin-nav-groups {
  flex-direction: column;
  flex: 1;
  gap: 20px;
  display: flex;
  overflow-y: auto;
}

.clinic-console .clinic-sidebar .admin-nav-group {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.clinic-console .clinic-sidebar .admin-nav-label {
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--muted, #64748b);
  padding: 0 12px;
  font-size: 11px;
  font-weight: 700;
}

.clinic-console .clinic-sidebar .admin-nav {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.clinic-console .clinic-sidebar .admin-nav button {
  width: 100%;
  min-height: 44px;
  color: var(--ink-soft, #334155);
  text-align: start;
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: 14px;
  align-items: center;
  gap: 12px;
  padding: 8px 14px;
  font-size: 13.5px;
  font-weight: 500;
  transition: all .2s cubic-bezier(.16, 1, .3, 1);
  display: flex;
  position: relative;
}

.clinic-console .clinic-sidebar .admin-nav button:hover {
  color: var(--brand, #7c1695);
  background: #f1f5f9d9;
  transform: translateX(-2px);
}

.clinic-console .clinic-sidebar .admin-nav button.active {
  color: var(--brand, #7c1695);
  background: #7c169514;
  border-color: #7c169533;
  font-weight: 600;
  box-shadow: 0 2px 10px #7c16950f;
}

.clinic-console .clinic-sidebar .admin-nav button.active:before {
  content: "";
  background: var(--brand, #7c1695);
  border-radius: 4px;
  width: 4px;
  height: 20px;
  position: absolute;
  inset-inline-start: 4px;
  box-shadow: 0 0 10px #7c169580;
}

.clinic-console .clinic-sidebar .clinic-nav-text {
  flex: 1;
}

.clinic-console .clinic-sidebar .clinic-nav-badge {
  min-width: 22px;
  height: 20px;
  color: var(--ink, #1e293b);
  background: #e2e8f0cc;
  border-radius: 9999px;
  justify-content: center;
  align-items: center;
  padding: 0 6px;
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  display: inline-flex;
}

.clinic-console .clinic-sidebar .clinic-nav-badge.is-alert {
  color: #dc2626;
  background: #ef44441f;
}

.clinic-console .clinic-sidebar-return {
  border-top: 1px solid #e2e8f0cc;
  margin: 12px 0;
  padding-top: 12px;
}

.clinic-console .clinic-sidebar-return__link {
  color: #7c1695;
  text-align: start;
  cursor: pointer;
  background: #7c16950a;
  border: 1px solid #7c169529;
  border-radius: 12px;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 44px;
  padding: 8px 12px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: all .2s cubic-bezier(.16, 1, .3, 1);
  display: flex;
}

.clinic-console .clinic-sidebar-return__link svg {
  color: #7c1695;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  transition: transform .2s;
}

.clinic-console .clinic-sidebar-return__link:hover {
  color: #7c1695;
  background: linear-gradient(135deg, #7c16951f, #a855f72e);
  border-color: #7c16955c;
  transform: translateX(-2px);
  box-shadow: 0 4px 14px #7c16951f;
}

[dir="ltr"] .clinic-console .clinic-sidebar-return__link:hover {
  transform: translateX(2px);
}

.clinic-console .clinic-sidebar-return__link:hover svg {
  transform: scale(1.15);
}

.clinic-console .clinic-sidebar-footer {
  background: #f8fafce6;
  border: 1px solid #e2e8f0cc;
  border-radius: 16px;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-top: auto;
  padding: 12px 14px;
  display: flex;
  box-shadow: 0 2px 8px #0f172a05;
}

.clinic-console .clinic-person {
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.clinic-console .clinic-person-avatar {
  color: #fff;
  background: linear-gradient(135deg, #7c1695, #9c27b0);
  border-radius: 12px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  font-size: 12px;
  font-weight: 800;
  display: flex;
  box-shadow: 0 4px 12px #7c169540;
}

.clinic-console .clinic-person-info {
  flex-direction: column;
  min-width: 0;
  display: flex;
}

.clinic-console .clinic-person-info strong {
  color: var(--ink, #0f172a);
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 12.5px;
  font-weight: 600;
  overflow: hidden;
}

.clinic-console .clinic-person-info small {
  color: var(--muted, #64748b);
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 11px;
  overflow: hidden;
}

.clinic-console .clinic-logout-btn {
  width: 34px;
  height: 34px;
  color: var(--muted, #64748b);
  cursor: pointer;
  background: #fff;
  border: 1px solid #e2e8f0cc;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  transition: all .18s;
  display: inline-flex;
}

.clinic-console .clinic-logout-btn:hover {
  color: #ef4444;
  background: #ef444414;
  border-color: #ef444440;
}

.clinic-console .clinic-logout-btn span {
  display: none;
}

.clinic-console .clinic-main {
  flex-direction: column;
  min-width: 0;
  padding: 0 28px 48px;
  display: flex;
}

.clinic-console .clinic-topbar {
  z-index: 10;
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  background: #ffffffd9;
  border: 1px solid #e2e8f0d9;
  border-radius: 20px;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  min-height: 64px;
  margin: 14px 0 26px;
  padding: 10px 20px;
  transition: all .25s;
  display: flex;
  position: relative;
  top: auto;
  box-shadow: 0 4px 20px -2px #0f172a0a, 0 1px 3px #0f172a05;
}

.clinic-console .clinic-topbar-context {
  align-items: center;
  gap: 12px;
  display: flex;
}

.clinic-console .clinic-context-icon {
  width: 40px;
  height: 40px;
  color: var(--brand, #7c1695);
  background: #7c169514;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  display: flex;
  box-shadow: 0 2px 8px #7c16950f;
}

.clinic-console .clinic-context-icon svg {
  width: 20px;
  height: 20px;
  fill: none !important;
  stroke: currentColor !important;
}

.clinic-console .clinic-context-meta {
  flex-direction: column;
  display: flex;
}

.clinic-console .clinic-context-meta strong {
  color: var(--ink, #0f172a);
  font-size: 15px;
  font-weight: 700;
}

.clinic-console .clinic-context-meta small {
  color: var(--muted, #64748b);
  font-size: 12px;
}

.clinic-console .clinic-search-dock {
  background: #f8fafcd9;
  border: 1px solid #e2e8f0e6;
  border-radius: 9999px;
  align-items: center;
  width: min(100%, 360px);
  height: 42px;
  padding: 0 16px;
  transition: all .2s;
  display: flex;
  position: relative;
  box-shadow: 0 1px 4px #0f172a05;
}

.clinic-console .clinic-search-dock:focus-within {
  border-color: var(--brand, #7c1695);
  background: #fff;
  box-shadow: 0 0 0 3px #7c16951f, 0 4px 16px #0f172a0d;
}

.clinic-console .clinic-search-dock svg {
  width: 17px;
  height: 17px;
  color: var(--muted, #94a3b8);
  flex-shrink: 0;
  margin-inline-end: 10px;
  fill: none !important;
  stroke: currentColor !important;
}

.clinic-console .clinic-search-dock input {
  color: var(--ink, #0f172a);
  background: none;
  border: 0;
  outline: 0;
  flex: 1;
  font-family: inherit;
  font-size: 13px;
}

.clinic-console .clinic-search-kbd {
  color: var(--muted, #64748b);
  background: #f1f5f9e6;
  border: 1px solid #cbd5e199;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  padding: 2px 7px;
  font-family: monospace;
  font-size: 11px;
  display: inline-flex;
}

.clinic-console .clinic-search-clear {
  width: 22px;
  height: 22px;
  color: var(--muted, #64748b);
  cursor: pointer;
  background: #f1f5f9e6;
  border: 0;
  border-radius: 9999px;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  transition: all .15s;
  display: inline-flex;
}

.clinic-console .clinic-search-clear:hover {
  color: var(--ink, #0f172a);
  background: #e2e8f0e6;
}

.clinic-console .clinic-header-actions {
  align-items: center;
  gap: 10px;
  display: flex;
}

.clinic-console .clinic-topbar-return-btn {
  -webkit-backdrop-filter: blur(14px);
  height: 42px;
  color: var(--brand, #7c1695);
  cursor: pointer;
  background: linear-gradient(135deg, #7c169514, #a855f71a);
  border: 1.5px solid #7c169538;
  border-radius: 9999px;
  align-items: center;
  gap: 10px;
  padding: 0 18px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: all .22s cubic-bezier(.16, 1, .3, 1);
  display: inline-flex;
  position: relative;
  box-shadow: 0 2px 10px #7c169514;
}

.clinic-console .clinic-topbar-return-btn svg {
  color: currentColor;
  stroke-width: 2.2px;
  width: 17px;
  height: 17px;
  transition: transform .2s;
  fill: none !important;
  stroke: currentColor !important;
}

.clinic-console .clinic-topbar-return-btn:hover {
  color: #fff;
  background: linear-gradient(135deg, #7c1695, #931eb0);
  border-color: #0000;
  transform: translateY(-1.5px);
  box-shadow: 0 6px 20px #7c169552;
}

.clinic-console .clinic-topbar-return-btn:hover svg {
  transform: scale(1.15);
}

.clinic-console .clinic-topbar-return-btn:active {
  transform: translateY(.5px)scale(.98);
}

.clinic-console .clinic-header-actions .clinic-theme-toggle {
  -webkit-backdrop-filter: blur(14px);
  width: 42px;
  height: 42px;
  color: var(--brand, #7c1695);
  cursor: pointer;
  background: linear-gradient(135deg, #fffffff2, #fbf5fdd9);
  border: 1.5px solid #7c16952e;
  border-radius: 9999px;
  justify-content: center;
  align-items: center;
  transition: all .22s cubic-bezier(.16, 1, .3, 1);
  display: inline-flex;
  position: relative;
  box-shadow: 0 2px 8px #7c16950f;
}

.clinic-console .clinic-header-actions .clinic-theme-toggle:hover {
  color: var(--brand-hover, #931eb0);
  background: #fff;
  border-color: #7c169573;
  transform: translateY(-1.5px);
  box-shadow: 0 4px 14px #7c169529;
}

.clinic-console .clinic-header-actions .clinic-theme-toggle svg {
  width: 19px;
  height: 19px;
}

.clinic-console .clinic-header-actions .language-switcher {
  -webkit-backdrop-filter: blur(14px);
  height: 42px;
  color: var(--ink, #0f172a);
  cursor: pointer;
  background: linear-gradient(135deg, #fffffff2, #fbf5fdd9);
  border: 1.5px solid #7c16952e;
  border-radius: 9999px;
  align-items: center;
  gap: 8px;
  padding: 0 16px;
  font-size: 12.5px;
  font-weight: 600;
  text-decoration: none;
  transition: all .22s cubic-bezier(.16, 1, .3, 1);
  display: inline-flex;
  box-shadow: 0 2px 8px #7c16950f;
}

.clinic-console .clinic-header-actions .language-switcher:hover {
  color: var(--brand, #7c1695);
  background: #fff;
  border-color: #7c169573;
  transform: translateY(-1.5px);
  box-shadow: 0 4px 14px #7c169529;
}

.clinic-console .clinic-header-actions .language-switcher .language-flag {
  background: none;
  place-items: center;
  width: auto;
  height: auto;
  font-size: 15px;
  line-height: 1;
  display: grid;
}

.clinic-console .clinic-header-actions .language-switcher .language-name {
  font-size: 12.5px;
  font-weight: 600;
}

.clinic-console .clinic-return-ping {
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 10px;
  height: 10px;
  display: inline-flex;
  position: relative;
}

.clinic-console .clinic-return-ping__ring {
  background: #7c169559;
  border-radius: 9999px;
  animation: 2s cubic-bezier(0, 0, .2, 1) infinite clinic-radar-ping;
  position: absolute;
  inset: -4px;
}

.clinic-console .clinic-return-ping__dot {
  background: var(--brand, #7c1695);
  width: 8px;
  height: 8px;
  box-shadow: 0 0 8px var(--brand, #7c1695);
  border-radius: 9999px;
  transition: background .2s, box-shadow .2s;
  position: relative;
}

.clinic-console .clinic-topbar-return-btn:hover .clinic-return-ping__ring {
  background: #fff9;
}

.clinic-console .clinic-topbar-return-btn:hover .clinic-return-ping__dot {
  background: #fff;
  box-shadow: 0 0 10px #fff;
}

@keyframes clinic-radar-ping {
  0% {
    opacity: .9;
    transform: scale(.75);
  }

  70%, 100% {
    opacity: 0;
    transform: scale(2.2);
  }
}

.clinic-console .clinic-welcome-banner {
  background: linear-gradient(135deg, #fffffff2, #f0f9ffd9);
  border: 1px solid #e0f2fee6;
  border-radius: 24px;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  margin-bottom: 28px;
  padding: 28px 32px;
  display: flex;
  box-shadow: 0 4px 20px #7c16950a;
}

.clinic-console .clinic-welcome-content {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.clinic-console .clinic-welcome-eyebrow {
  color: var(--brand, #7c1695);
  letter-spacing: .02em;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
}

.clinic-console .clinic-welcome-dot {
  background: #10b981;
  border-radius: 9999px;
  width: 7px;
  height: 7px;
  box-shadow: 0 0 8px #10b981;
}

.clinic-console .clinic-welcome-title {
  color: var(--ink, #0f172a);
  margin: 0;
  font-size: 22px;
  font-weight: 800;
}

.clinic-console .clinic-welcome-desc {
  color: var(--muted, #64748b);
  max-width: 65ch;
  margin: 0;
  font-size: 13.5px;
  line-height: 1.7;
}

.clinic-console .clinic-primary-cta {
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  background: linear-gradient(135deg, #7c1695, #931eb0);
  border: 0;
  border-radius: 14px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  height: 46px;
  padding: 0 22px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  transition: all .2s cubic-bezier(.16, 1, .3, 1);
  display: inline-flex;
  box-shadow: 0 6px 20px #7c16954d;
}

.clinic-console .clinic-primary-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 26px #7c16956b;
}

.clinic-console .clinic-primary-cta:disabled {
  opacity: .6;
  pointer-events: none;
  transform: none;
}

.clinic-console .clinic-overview-kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 28px;
  display: grid;
}

.clinic-console .clinic-kpi-card {
  background: #fff;
  border: 1px solid #e2e8f0d9;
  border-radius: 20px;
  flex-direction: column;
  padding: 22px;
  transition: all .22s cubic-bezier(.16, 1, .3, 1);
  display: flex;
  box-shadow: 0 4px 16px #0f172a06;
}

.clinic-console .clinic-kpi-card:hover {
  border-color: #7c169547;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px #7c169512;
}

.clinic-console .clinic-kpi-header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
  display: flex;
}

.clinic-console .clinic-kpi-icon-wrap {
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  width: 42px;
  height: 42px;
  display: flex;
}

.clinic-console .clinic-kpi-icon-wrap svg {
  width: 20px;
  height: 20px;
  fill: none !important;
  stroke: currentColor !important;
}

.clinic-console .clinic-kpi-icon-wrap.i0 {
  color: #7c1695;
  background: #7c16951a;
}

.clinic-console .clinic-kpi-icon-wrap.i1 {
  color: #6366f1;
  background: #6366f11a;
}

.clinic-console .clinic-kpi-icon-wrap.i2 {
  color: #10b981;
  background: #10b9811a;
}

.clinic-console .clinic-kpi-icon-wrap.i3 {
  color: #f59e0b;
  background: #f59e0b1a;
}

.clinic-console .clinic-kpi-badge {
  color: var(--muted, #64748b);
  background: #f1f5f9d9;
  border-radius: 9999px;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 600;
  display: inline-flex;
}

.clinic-console .clinic-kpi-body {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.clinic-console .clinic-kpi-label {
  color: var(--muted, #64748b);
  font-size: 13px;
  font-weight: 500;
}

.clinic-console .clinic-kpi-value {
  color: var(--ink, #0f172a);
  font-size: 28px;
  font-weight: 800;
  line-height: 1.2;
}

.clinic-console .clinic-kpi-hint {
  color: var(--muted, #94a3b8);
  margin-top: 10px;
  font-size: 11.5px;
  line-height: 1.5;
}

.clinic-console .clinic-3d-hub {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 28px;
  display: grid;
}

.clinic-console .clinic-3d-card {
  background: #fff;
  border: 1px solid #e2e8f0e6;
  border-radius: 22px;
  flex-direction: column;
  justify-content: space-between;
  min-height: 295px;
  padding: 20px 22px 18px;
  transition: all .22s cubic-bezier(.16, 1, .3, 1);
  display: flex;
  position: relative;
  box-shadow: 0 4px 20px #0f172a08, 0 1px 3px #0f172a05;
}

.clinic-console .clinic-3d-card:hover {
  border-color: #7c16954d;
  box-shadow: 0 10px 30px #7c169512;
}

.clinic-console .clinic-3d-card-header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 8px;
  display: flex;
}

.clinic-console .clinic-3d-eyebrow {
  color: var(--brand, #7c1695);
  letter-spacing: .02em;
  font-size: 11px;
  font-weight: 600;
  display: block;
}

.clinic-console .clinic-3d-title {
  color: var(--ink, #0f172a);
  margin: 2px 0 0;
  font-size: 15.5px;
  font-weight: 800;
}

.clinic-console .clinic-3d-stat-badge {
  background: #7c169514;
  border: 1px solid #7c16952e;
  border-radius: 9999px;
  align-items: baseline;
  gap: 4px;
  padding: 4px 10px;
  display: flex;
}

.clinic-console .clinic-3d-stat-badge b {
  color: var(--brand, #7c1695);
  font-size: 15px;
  font-weight: 800;
}

.clinic-console .clinic-3d-stat-badge small {
  color: var(--muted, #64748b);
  font-size: 11px;
}

.clinic-console .clinic-3d-total-pill {
  color: var(--ink-soft, #334155);
  background: #f1f5f9e6;
  border-radius: 9999px;
  padding: 4px 10px;
  font-size: 11.5px;
  font-weight: 700;
}

.clinic-console .clinic-3d-retention-link {
  color: #059669;
  cursor: pointer;
  background: #10b98114;
  border: 0;
  border-radius: 9999px;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  font-size: 11.5px;
  font-weight: 700;
  transition: all .15s;
  display: inline-flex;
}

.clinic-console .clinic-3d-retention-link:hover {
  background: #10b98129;
  transform: translateX(-2px);
}

.clinic-console .clinic-3d-micro-stats {
  border-bottom: 1px dashed #e2e8f0cc;
  align-items: center;
  gap: 14px;
  padding: 4px 0 8px;
  display: flex;
}

.clinic-console .micro-stat-item {
  color: var(--muted, #64748b);
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  display: flex;
}

.clinic-console .micro-stat-item strong {
  color: var(--ink, #0f172a);
  font-weight: 700;
}

.clinic-console .micro-stat-item small {
  color: var(--brand, #7c1695);
  font-weight: 600;
}

.clinic-console .clinic-3d-pillars-stage {
  grid-template-columns: repeat(7, 1fr);
  align-items: flex-end;
  gap: 8px;
  height: 165px;
  margin-top: 6px;
  padding: 10px 4px 2px;
  display: grid;
  position: relative;
}

.clinic-console .pillars-grid-plane {
  pointer-events: none;
  z-index: 0;
  background: repeating-linear-gradient(to top, #e2e8f080 0 1px, #0000 1px 36px);
  position: absolute;
  inset: 12px 0 28px;
}

.clinic-console .clinic-pillar-3d {
  cursor: pointer;
  z-index: 1;
  --p-shadow: #7c1695;
  --p-front: #d066ef;
  --p-highlight: #bae6fd;
  --p-top: #e0f2fe;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  height: 100%;
  transition: transform .22s cubic-bezier(.34, 1.56, .64, 1);
  display: flex;
  position: relative;
}

.clinic-console .clinic-pillar-3d:hover {
  transform: translateY(-5px);
}

.clinic-console .pillar-shadow-floor {
  filter: blur(1.5px);
  pointer-events: none;
  z-index: 0;
  background: radial-gradient(#0f172a40 0%, #0f172a00 70%);
  border-radius: 50%;
  width: 26px;
  height: 8px;
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
}

.clinic-console .pillar-track-3d {
  background: linear-gradient(90deg, #e2e8f066 0%, #f1f5f9cc 50%, #cbd5e166 100%);
  border-radius: 10px / 6px;
  justify-content: center;
  align-items: flex-end;
  width: 20px;
  height: 120px;
  margin-bottom: 6px;
  display: flex;
  position: relative;
  box-shadow: inset 0 2px 4px #0000000a;
}

.clinic-console .pillar-fill-3d {
  width: 100%;
  height: var(--pillar-height, 10%);
  background: linear-gradient(90deg,
    var(--p-shadow) 0%,
    var(--p-front) 25%,
    var(--p-highlight) 50%,
    var(--p-front) 75%,
    var(--p-shadow) 100%);
  border-radius: 0 0 10px 10px / 0 0 6px 6px;
  min-height: 10px;
  transition: height .45s cubic-bezier(.16, 1, .3, 1), filter .2s;
  position: relative;
  box-shadow: inset -2px 0 4px #0003, inset 2px 0 4px #ffffff80, 0 4px 10px #7c169533;
}

.clinic-console .clinic-pillar-3d:hover .pillar-fill-3d {
  filter: brightness(1.12) saturate(1.15);
}

.clinic-console .pillar-top-3d {
  background: var(--p-top);
  z-index: 2;
  border: 1px solid #ffffffe6;
  border-radius: 50%;
  width: 100%;
  height: 8px;
  position: absolute;
  top: -4px;
  left: 0;
  box-shadow: inset 0 -1px 3px #00000026, inset 0 1px 2px #fffffff2;
}

.clinic-console .pillar-value-3d {
  bottom: calc(var(--pillar-height, 10%) + 10px);
  color: var(--ink, #0f172a);
  white-space: nowrap;
  pointer-events: none;
  z-index: 3;
  background: #fff;
  border: 1px solid #e2e8f0e6;
  border-radius: 6px;
  padding: 1px 5px;
  font-size: 10.5px;
  font-weight: 800;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 3px 8px #0f172a1a;
}

.clinic-console .pillar-day-3d {
  color: var(--muted, #64748b);
  white-space: nowrap;
  font-size: 11px;
  font-weight: 600;
}

.clinic-console .clinic-pillar-3d.is-peak {
  --p-shadow: #b45309;
  --p-front: #f59e0b;
  --p-highlight: #fef3c7;
  --p-top: #fffbeb;
}

.clinic-console .clinic-pillar-3d.is-peak .pillar-value-3d {
  color: #fff;
  background: linear-gradient(135deg, #f59e0b, #d97706);
  border-color: #f59e0b;
  box-shadow: 0 4px 12px #f59e0b59;
}

.clinic-console .clinic-pillar-3d.is-peak .pillar-day-3d {
  color: #d97706;
  font-weight: 800;
}

.clinic-console .clinic-3d-donut-layout {
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-top: 10px;
  display: flex;
}

.clinic-console .donut-3d-stage {
  perspective: 650px;
  flex-shrink: 0;
  place-items: center;
  width: 124px;
  height: 124px;
  display: grid;
  position: relative;
}

.clinic-console .donut-3d-floor-shadow {
  filter: blur(3px);
  pointer-events: none;
  background: radial-gradient(#0f172a47 0%, #0f172a00 70%);
  border-radius: 50%;
  width: 116px;
  height: 42px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.clinic-console .donut-3d-ring {
  width: 112px;
  height: 112px;
  transform-style: preserve-3d;
  background: conic-gradient(#7c1695 0deg var(--crm-first, 0deg),
    #10b981 var(--crm-first, 0deg) var(--crm-returning, 0deg),
    #8b5cf6 var(--crm-returning, 0deg) 360deg);
  border-radius: 50%;
  place-items: center;
  transition: transform .3s cubic-bezier(.16, 1, .3, 1);
  display: grid;
  position: relative;
  transform: rotateX(46deg)rotateZ(-18deg);
  box-shadow: 0 1px #1e293b, 0 2px #1e293b, 0 3px #1e293b, 0 4px #1e293b, 0 5px #1e293b, 0 6px #0f172a, 0 8px #0f172a, 0 10px #0f172a, 0 14px 22px #0f172a59;
}

.clinic-console .donut-3d-ring:hover {
  transform: rotateX(40deg)rotateZ(-14deg)translateY(-4px);
}

.clinic-console .donut-3d-ring.is-empty {
  background: #cbd5e1;
}

.clinic-console .donut-3d-core {
  background: linear-gradient(145deg, #fff, #f8fafc);
  border-radius: 50%;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 68px;
  height: 68px;
  display: flex;
  transform: translateZ(12px);
  box-shadow: inset 0 2px 5px #00000026, inset 0 -2px 4px #ffffffe6, 0 4px 8px #00000014;
}

.clinic-console .donut-3d-core strong {
  color: var(--ink, #0f172a);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.1;
}

.clinic-console .donut-3d-core span {
  color: var(--muted, #64748b);
  font-size: 10px;
  font-weight: 600;
}

.clinic-console .clinic-3d-legend {
  flex-direction: column;
  flex: 1;
  gap: 10px;
  display: flex;
}

.clinic-console .legend-3d-row {
  align-items: center;
  gap: 8px;
  font-size: 12px;
  display: flex;
}

.clinic-console .legend-gem-3d {
  border-radius: 50%;
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  box-shadow: 0 2px 5px #0000002e, inset -2px -2px 3px #00000040, inset 2px 2px 3px #fffc;
}

.clinic-console .legend-gem-3d.gem-first {
  background: radial-gradient(circle at 35% 35%, #f8e8fd 0%, #d066ef 50%, #7c1695 100%);
}

.clinic-console .legend-gem-3d.gem-returning {
  background: radial-gradient(circle at 35% 35%, #a7f3d0 0%, #10b981 50%, #047857 100%);
}

.clinic-console .legend-gem-3d.gem-loyal {
  background: radial-gradient(circle at 35% 35%, #ddd6fe 0%, #8b5cf6 50%, #6d28d9 100%);
}

.clinic-console .legend-3d-label {
  color: var(--ink-soft, #334155);
  flex: 1;
  font-weight: 500;
}

.clinic-console .legend-3d-count {
  color: var(--ink, #0f172a);
  font-weight: 700;
}

.clinic-console .legend-3d-pct {
  color: var(--muted, #64748b);
  text-align: end;
  min-width: 30px;
  font-size: 11px;
}

.clinic-console .journey-3d-pipeline {
  flex-direction: column;
  gap: 13px;
  margin: 6px 0 10px;
  display: flex;
}

.clinic-console .journey-pipe-item {
  flex-direction: column;
  gap: 5px;
  display: flex;
}

.clinic-console .journey-pipe-info {
  justify-content: space-between;
  align-items: center;
  font-size: 11.5px;
  display: flex;
}

.clinic-console .journey-pipe-label {
  color: var(--ink, #0f172a);
  align-items: center;
  gap: 6px;
  font-weight: 600;
  display: flex;
}

.clinic-console .pipe-dot-3d {
  border-radius: 50%;
  width: 8px;
  height: 8px;
  box-shadow: 0 1px 3px #0003;
}

.clinic-console .pipe-dot-3d.step-1 {
  background: #7c1695;
}

.clinic-console .pipe-dot-3d.step-2 {
  background: #10b981;
}

.clinic-console .pipe-dot-3d.step-3 {
  background: #8b5cf6;
}

.clinic-console .journey-pipe-metrics {
  align-items: baseline;
  gap: 4px;
  display: flex;
}

.clinic-console .journey-pipe-metrics strong {
  color: var(--ink, #0f172a);
  font-size: 12.5px;
  font-weight: 700;
}

.clinic-console .journey-pipe-metrics small {
  color: var(--muted, #64748b);
  font-size: 10.5px;
}

.clinic-console .journey-pipe-track {
  background: linear-gradient(#e2e8f0 0%, #f1f5f9 50%, #cbd5e1 100%);
  border-radius: 9999px;
  align-items: center;
  width: 100%;
  height: 12px;
  display: flex;
  position: relative;
  box-shadow: inset 0 2px 3px #0000001a, 0 1px #fffc;
}

.clinic-console .journey-pipe-fill {
  border-radius: 9999px;
  height: 100%;
  transition: width .5s cubic-bezier(.16, 1, .3, 1);
  position: relative;
  box-shadow: inset 0 1px 2px #ffffffb3, 0 2px 6px #00000026;
}

.clinic-console .journey-pipe-fill.fill-1 {
  background: linear-gradient(#f8e8fd 0%, #d066ef 40%, #7c1695 100%);
}

.clinic-console .journey-pipe-fill.fill-2 {
  background: linear-gradient(#a7f3d0 0%, #10b981 40%, #047857 100%);
}

.clinic-console .journey-pipe-fill.fill-3 {
  background: linear-gradient(#ddd6fe 0%, #8b5cf6 40%, #6d28d9 100%);
}

.clinic-console .journey-pipe-cap {
  top: 50%;
  background: radial-gradient(#fff 0%, #ffffff80 50%, #00000026 100%);
  border-radius: 50%;
  width: 8px;
  height: 12px;
  position: absolute;
  inset-inline-end: -1px;
  transform: translateY(-50%);
  box-shadow: 1px 0 2px #0003;
}

.clinic-console .journey-3d-footer {
  border-top: 1px dashed #e2e8f0cc;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding-top: 10px;
  font-size: 11px;
  display: flex;
}

.clinic-console .journey-footer-alert {
  color: var(--muted, #64748b);
  align-items: center;
  gap: 5px;
  display: flex;
}

.clinic-console .footer-alert-dot {
  background: #f59e0b;
  border-radius: 50%;
  width: 6px;
  height: 6px;
  box-shadow: 0 0 6px #f59e0b;
}

.clinic-console .journey-retention-rate-pill {
  color: var(--muted, #64748b);
}

.clinic-console .journey-retention-rate-pill b {
  color: #059669;
  font-weight: 800;
}

.clinic-console .clinic-directory-heading {
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 24px;
  display: flex;
}

.clinic-console .clinic-directory-title-row {
  align-items: center;
  gap: 12px;
  display: flex;
}

.clinic-console .clinic-directory-title-row h1 {
  color: var(--ink, #0f172a);
  margin: 0;
  font-size: 22px;
  font-weight: 800;
}

.clinic-console .clinic-count-pill {
  min-width: 28px;
  height: 24px;
  color: var(--brand, #7c1695);
  background: #7c16951a;
  border-radius: 9999px;
  justify-content: center;
  align-items: center;
  padding: 0 8px;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
}

.clinic-console .clinic-directory-meta p {
  color: var(--muted, #64748b);
  margin: 4px 0 0;
  font-size: 13.5px;
}

.clinic-console .clinic-patient-table-card {
  background: #fff;
  border: 1px solid #e2e8f0d9;
  border-radius: 24px;
  flex-direction: column;
  display: flex;
  overflow: hidden;
  box-shadow: 0 4px 16px #0f172a06;
}

.clinic-console .clinic-table-header {
  border-bottom: 1px solid #e2e8f0cc;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 20px 28px;
  display: flex;
}

.clinic-console .clinic-table-title-wrap {
  align-items: center;
  gap: 12px;
  display: flex;
}

.clinic-console .clinic-table-header h2 {
  color: var(--ink, #0f172a);
  margin: 0;
  font-size: 18px;
  font-weight: 800;
}

.clinic-console .clinic-table-header small {
  color: var(--muted, #64748b);
  font-size: 12px;
}

.clinic-console .clinic-table-header-actions {
  align-items: center;
  gap: 12px;
  display: flex;
}

.clinic-console .clinic-table-new-btn {
  background: var(--brand, #7c1695);
  color: #fff;
  cursor: pointer;
  border: none;
  border-radius: 12px;
  align-items: center;
  gap: 8px;
  padding: 9px 18px;
  font-size: 13px;
  font-weight: 700;
  transition: all .18s cubic-bezier(.16, 1, .3, 1);
  display: inline-flex;
  box-shadow: 0 2px 8px #7c169538;
}

.clinic-console .clinic-table-new-btn:hover {
  background: var(--brand-deep, #5c0f71);
  transform: translateY(-1px);
  box-shadow: 0 4px 14px #7c169552;
}

.clinic-console .clinic-view-all-btn {
  color: var(--brand, #7c1695);
  cursor: pointer;
  background: none;
  border: 0;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  transition: all .15s;
  display: inline-flex;
}

.clinic-console .clinic-view-all-btn:hover {
  color: var(--brand-deep, #5c0f71);
  gap: 9px;
}

.clinic-console .clinic-table-controls {
  background: #f8fafc99;
  border-bottom: 1px solid #e2e8f0cc;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 28px;
  display: flex;
}

.clinic-console .clinic-table-search {
  flex: 240px;
  align-items: center;
  max-width: 320px;
  display: flex;
  position: relative;
}

.clinic-console .clinic-table-search svg {
  color: var(--muted, #94a3b8);
  pointer-events: none;
  position: absolute;
  inset-inline-start: 12px;
}

.clinic-console .clinic-table-search input {
  width: 100%;
  height: 38px;
  color: var(--ink, #0f172a);
  background: #fff;
  border: 1px solid #cbd5e1d9;
  border-radius: 10px;
  outline: none;
  padding-inline: 36px 32px;
  font-size: 13px;
  transition: all .18s;
}

.clinic-console .clinic-table-search input:focus {
  border-color: var(--brand, #7c1695);
  box-shadow: 0 0 0 3px #7c16951f;
}

.clinic-console .clinic-table-search-clear {
  width: 22px;
  height: 22px;
  color: var(--muted, #64748b);
  cursor: pointer;
  background: #94a3b833;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  line-height: 1;
  display: flex;
  position: absolute;
  inset-inline-end: 8px;
}

.clinic-console .clinic-table-search-clear:hover {
  color: var(--ink, #0f172a);
  background: #94a3b859;
}

.clinic-console .clinic-table-filters {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  display: flex;
}

.clinic-console .clinic-filter-chip {
  color: var(--muted, #64748b);
  cursor: pointer;
  background: #fff;
  border: 1px solid #e2e8f0f2;
  border-radius: 9999px;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font-size: 12.5px;
  font-weight: 600;
  transition: all .18s;
  display: inline-flex;
}

.clinic-console .clinic-filter-chip:hover {
  color: var(--brand, #7c1695);
  border-color: #7c169566;
}

.clinic-console .clinic-filter-chip.is-active {
  color: var(--brand, #7c1695);
  background: #7c16951a;
  border-color: #7c169559;
  font-weight: 700;
}

.clinic-console .clinic-filter-count {
  background: #94a3b826;
  border-radius: 9999px;
  justify-content: center;
  align-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  font-size: 11px;
  font-weight: 700;
  display: inline-flex;
}

.clinic-console .clinic-filter-chip.is-active .clinic-filter-count {
  background: var(--brand, #7c1695);
  color: #fff;
}

.clinic-console .clinic-table-mode-toggle {
  align-items: center;
  margin-inline-start: auto;
  display: flex;
}

.clinic-console .clinic-selection-toggle-btn {
  color: var(--ink-soft, #475569);
  cursor: pointer;
  background: #fff;
  border: 1px solid #cbd5e1e6;
  border-radius: 10px;
  align-items: center;
  gap: 7px;
  padding: 7px 14px;
  font-size: 12.5px;
  font-weight: 600;
  transition: all .18s;
  display: inline-flex;
}

.clinic-console .clinic-selection-toggle-btn:hover {
  color: var(--ink, #0f172a);
  background: #f1f5f9cc;
  border-color: #94a3b899;
}

.clinic-console .clinic-selection-toggle-btn.is-active {
  border-color: var(--brand, #7c1695);
  color: var(--brand, #7c1695);
  background: #7c16951a;
  font-weight: 700;
}

.clinic-console .clinic-table-scroll {
  overflow-x: auto;
}

.clinic-console .clinic-modern-table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  font-size: 13.5px;
}

.clinic-console .clinic-modern-table th {
  color: var(--muted, #64748b);
  text-align: start;
  letter-spacing: .03em;
  background: #f8fafcb3;
  border-bottom: 1px solid #e2e8f0cc;
  padding: 14px 28px;
  font-size: 11.5px;
  font-weight: 700;
}

.clinic-console .clinic-modern-table td {
  vertical-align: middle;
  color: var(--ink-soft, #334155);
  border-bottom: 1px solid #f1f5f9e6;
  padding: 18px 28px;
}

.clinic-console .clinic-patient-row {
  transition: background .18s;
}

.clinic-console .clinic-patient-row:hover {
  background: #f8fafce6;
}

.clinic-console .clinic-patient-cell {
  align-items: center;
  gap: 14px;
  display: flex;
}

.clinic-console .clinic-avatar-circle {
  width: 40px;
  height: 40px;
  color: var(--brand, #7c1695);
  background: linear-gradient(135deg, #7c169524, #931eb014);
  border-radius: 12px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  font-weight: 700;
  display: flex;
}

.clinic-console .clinic-patient-meta {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.clinic-console .clinic-patient-name {
  color: var(--ink, #0f172a);
  font-size: 14px;
  font-weight: 700;
}

.clinic-console .clinic-patient-phone {
  color: var(--muted, #64748b);
  font-size: 12px;
}

.clinic-console .clinic-session-counter {
  color: var(--ink, #1e293b);
  background: #f1f5f9e6;
  border-radius: 8px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
}

.clinic-console .clinic-status-pill {
  border-radius: 9999px;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
}

.clinic-console .clinic-status-pill .status-dot {
  background: currentColor;
  border-radius: 9999px;
  width: 6px;
  height: 6px;
}

.clinic-console .clinic-status-pill.ready {
  color: #059669;
  background: #10b9811a;
}

.clinic-console .clinic-status-pill.follow {
  color: #7c1695;
  background: #7c16951a;
}

.clinic-console .clinic-status-pill.new {
  color: #6366f1;
  background: #6366f11a;
}

.clinic-console .clinic-action-link {
  color: var(--brand, #7c1695);
  background: #f1f5f9cc;
  border-radius: 10px;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  font-size: 12.5px;
  font-weight: 600;
  text-decoration: none;
  transition: all .18s;
  display: inline-flex;
}

.clinic-console .clinic-action-link:hover {
  color: var(--brand-deep, #5c0f71);
  background: #7c16951a;
  transform: translateX(-2px);
}

.clinic-console .clinic-action-link.is-disabled {
  opacity: .5;
  pointer-events: none;
}

.clinic-console .clinic-modern-table .th-select, .clinic-console .clinic-modern-table .td-select {
  text-align: center;
  width: 44px;
  padding: 14px 12px;
}

.clinic-console .clinic-checkbox {
  cursor: pointer;
  width: 18px;
  height: 18px;
  accent-color: var(--brand, #7c1695);
  vertical-align: middle;
  border-radius: 5px;
}

.clinic-console .clinic-patient-row.is-selected {
  background: #7c169514;
}

.clinic-console .clinic-action-group {
  align-items: center;
  gap: 8px;
  display: inline-flex;
}

.clinic-console .clinic-row-delete-btn {
  color: #ef4444;
  cursor: pointer;
  background: #fef2f2b3;
  border: 1px solid #ef444433;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  transition: all .18s;
  display: inline-flex;
}

.clinic-console .clinic-row-delete-btn:hover {
  color: #dc2626;
  background: #ef44442e;
  border-color: #ef44448c;
  transform: translateY(-1px);
}

.clinic-console .clinic-bulk-bar {
  background: linear-gradient(135deg, #7c169514, #931eb00f);
  border: 1px solid #7c169540;
  border-radius: 14px;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin: 0 0 16px;
  padding: 12px 20px;
  display: flex;
}

.clinic-console .clinic-bulk-info {
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  display: flex;
}

.clinic-console .clinic-bulk-badge {
  background: var(--brand, #7c1695);
  color: #fff;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-width: 24px;
  height: 24px;
  padding: 0 8px;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
}

.clinic-console .clinic-bulk-actions {
  align-items: center;
  gap: 10px;
  display: flex;
}

.clinic-console .clinic-bulk-clear-btn {
  color: var(--muted, #64748b);
  cursor: pointer;
  background: none;
  border: 1px solid #94a3b880;
  border-radius: 9px;
  padding: 7px 14px;
  font-size: 12.5px;
  font-weight: 600;
  transition: all .18s;
}

.clinic-console .clinic-bulk-clear-btn:hover {
  color: var(--ink, #0f172a);
  background: #94a3b81a;
}

.clinic-console .clinic-bulk-delete-btn {
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, #ef4444, #dc2626);
  border: none;
  border-radius: 9px;
  align-items: center;
  gap: 6px;
  padding: 7px 16px;
  font-size: 12.5px;
  font-weight: 700;
  transition: all .18s;
  display: inline-flex;
  box-shadow: 0 4px 14px #ef444440;
}

.clinic-console .clinic-bulk-delete-btn:disabled {
  opacity: .45;
  cursor: not-allowed;
  box-shadow: none;
  transform: none;
}

.clinic-console .clinic-bulk-delete-btn:not(:disabled):hover {
  background: linear-gradient(135deg, #dc2626, #b91c1c);
  transform: translateY(-1px);
  box-shadow: 0 6px 18px #ef444459;
}

.clinic-console .clinic-bulk-exit-btn {
  color: var(--muted, #64748b);
  cursor: pointer;
  background: none;
  border: 1px solid #94a3b866;
  border-radius: 9px;
  padding: 7px 14px;
  font-size: 12.5px;
  font-weight: 600;
  transition: all .18s;
}

.clinic-console .clinic-bulk-exit-btn:hover {
  color: var(--ink, #0f172a);
  background: #94a3b826;
}

.clinic-delete-modal-overlay {
  -webkit-backdrop-filter: blur(8px);
  z-index: 9999;
  background: #0f172aa6;
  place-items: center;
  padding: 20px;
  display: grid;
  position: fixed;
  inset: 0;
}

.clinic-delete-modal {
  text-align: center;
  background: #fff;
  border: 1px solid #e2e8f0cc;
  border-radius: 20px;
  width: 100%;
  max-width: 460px;
  padding: 32px 28px 24px;
  box-shadow: 0 24px 60px #00000040;
}

.clinic-delete-modal .delete-modal-icon-ring {
  color: #ef4444;
  background: #ef44441f;
  border-radius: 50%;
  place-items: center;
  width: 56px;
  height: 56px;
  margin: 0 auto 16px;
  display: grid;
}

.clinic-delete-modal h3 {
  color: #0f172a;
  margin: 0 0 10px;
  font-size: 19px;
  font-weight: 800;
}

.clinic-delete-modal p {
  color: #64748b;
  margin: 0 0 10px;
  font-size: 14px;
  line-height: 1.8;
}

.clinic-delete-modal .delete-modal-warning {
  color: #ef4444;
  font-size: 13px;
  font-weight: 700;
}

.clinic-delete-modal .delete-modal-error {
  color: #b91c1c;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 8px;
  margin: 12px 0 0;
  padding: 10px 14px;
  font-size: 13px;
}

.clinic-delete-modal-actions {
  justify-content: center;
  gap: 12px;
  margin-top: 24px;
  display: flex;
}

.delete-modal-cancel {
  color: #475569;
  cursor: pointer;
  background: #f8fafc;
  border: 1px solid #cbd5e1cc;
  border-radius: 12px;
  flex: 1;
  padding: 11px 20px;
  font-size: 14px;
  font-weight: 600;
  transition: all .18s;
}

.delete-modal-cancel:hover {
  color: #1e293b;
  background: #f1f5f9;
}

.delete-modal-confirm {
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, #ef4444, #dc2626);
  border: none;
  border-radius: 12px;
  flex: 1;
  padding: 11px 20px;
  font-size: 14px;
  font-weight: 700;
  transition: all .18s;
  box-shadow: 0 4px 14px #ef444459;
}

.delete-modal-confirm:hover {
  background: linear-gradient(135deg, #dc2626, #b91c1c);
  transform: translateY(-1px);
}

.delete-modal-confirm:disabled, .delete-modal-cancel:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.clinic-console .empty-state-box {
  color: var(--muted, #94a3b8);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 48px 24px;
  display: flex;
}

.clinic-console .empty-state-box strong {
  color: var(--ink-soft, #64748b);
  font-size: 14px;
}

.clinic-console .patient-retention-center {
  flex-direction: column;
  gap: 24px;
  display: flex;
}

.clinic-console .patient-retention-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  display: grid;
}

.clinic-console .retention-metric-card {
  background: #fff;
  border: 1px solid #e2e8f0d9;
  border-radius: 20px;
  flex-direction: column;
  gap: 6px;
  padding: 20px 22px;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 16px #0f172a06;
}

.clinic-console .retention-metric-bar {
  top: 0;
  background: #7c1695;
  height: 3px;
  position: absolute;
  inset-inline: 0;
}

.clinic-console .retention-metric-card.i-1 .retention-metric-bar {
  background: #931eb0;
}

.clinic-console .retention-metric-card.i-2 .retention-metric-bar {
  background: #f59e0b;
}

.clinic-console .retention-metric-card.i-3 .retention-metric-bar, .clinic-console .retention-metric-card.is-urgent .retention-metric-bar {
  background: #ef4444;
}

.clinic-console .retention-metric-head {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.clinic-console .retention-metric-label {
  color: var(--muted, #64748b);
  font-size: 13px;
  font-weight: 500;
}

.clinic-console .retention-metric-icon {
  color: #7c1695;
  background: #7c169514;
  border-radius: 10px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  display: inline-flex;
}

.clinic-console .retention-metric-card.i-1 .retention-metric-icon {
  color: #931eb0;
  background: #931eb014;
}

.clinic-console .retention-metric-card.i-2 .retention-metric-icon {
  color: #f59e0b;
  background: #f59e0b14;
}

.clinic-console .retention-metric-card.i-3 .retention-metric-icon, .clinic-console .retention-metric-card.is-urgent .retention-metric-icon {
  color: #ef4444;
  background: #ef444414;
}

.clinic-console .retention-metric-val {
  color: var(--ink, #0f172a);
  font-size: 26px;
  font-weight: 800;
}

.clinic-console .patient-retention-guide-modern {
  background: linear-gradient(135deg, #fffffff2, #f0f9ffb3);
  border: 1px solid #e0f2fee6;
  border-radius: 18px;
  flex-direction: column;
  gap: 14px;
  padding: 18px 24px;
  display: flex;
}

.clinic-console .guide-header-row {
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  display: flex;
}

.clinic-console .guide-title-pill {
  color: var(--brand, #7c1695);
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  display: flex;
}

.clinic-console .guide-privacy-note {
  color: var(--muted, #64748b);
  font-size: 11.5px;
}

.clinic-console .guide-steps-row {
  flex-wrap: wrap;
  gap: 12px;
  display: flex;
}

.clinic-console .guide-step-chip {
  background: #fff;
  border: 1px solid #e2e8f0cc;
  border-radius: 10px;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  font-size: 12px;
  display: inline-flex;
}

.clinic-console .guide-step-num {
  width: 18px;
  height: 18px;
  color: var(--brand, #7c1695);
  background: #7c16951a;
  border-radius: 5px;
  justify-content: center;
  align-items: center;
  font-size: 10.5px;
  font-weight: 700;
  display: flex;
}

.clinic-console .guide-step-text {
  color: var(--ink-soft, #334155);
}

.clinic-console .patient-retention-workspace {
  background: #fff;
  border: 1px solid #e2e8f0d9;
  border-radius: 24px;
  flex-direction: column;
  display: flex;
  overflow: hidden;
  box-shadow: 0 4px 16px #0f172a06;
}

.clinic-console .patient-retention-toolbar {
  border-bottom: 1px solid #e2e8f0cc;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 18px 24px;
  display: flex;
}

.clinic-console .patient-retention-filters {
  align-items: center;
  gap: 8px;
  display: flex;
}

.clinic-console .retention-filter-pill {
  height: 36px;
  color: var(--ink-soft, #475569);
  cursor: pointer;
  background: #fff;
  border: 1px solid #e2e8f0cc;
  border-radius: 10px;
  align-items: center;
  gap: 6px;
  padding: 0 14px;
  font-size: 12.5px;
  font-weight: 500;
  transition: all .18s;
  display: inline-flex;
}

.clinic-console .retention-filter-pill:hover {
  background: #f1f5f9d9;
}

.clinic-console .retention-filter-pill.active {
  color: var(--brand-deep, #5c0f71);
  background: #7c16951a;
  border-color: #7c16954d;
  font-weight: 600;
}

.clinic-console .retention-filter-count {
  background: #e2e8f0cc;
  border-radius: 9999px;
  padding: 1px 6px;
  font-size: 10.5px;
  font-weight: 700;
  display: inline-flex;
}

.clinic-console .retention-filter-pill.active .retention-filter-count {
  background: var(--brand, #7c1695);
  color: #fff;
}

.clinic-console .patient-retention-search {
  background: #f8fafccc;
  border: 1px solid #e2e8f0e6;
  border-radius: 10px;
  align-items: center;
  gap: 8px;
  height: 38px;
  padding: 0 14px;
  display: flex;
  position: relative;
}

.clinic-console .patient-retention-search svg {
  color: var(--muted, #94a3b8);
}

.clinic-console .patient-retention-search input {
  color: var(--ink, #0f172a);
  background: none;
  border: 0;
  outline: 0;
  font-family: inherit;
  font-size: 13px;
}

.clinic-console .retention-call-btn {
  color: #fff;
  background: #10b981;
  border-radius: 8px;
  align-items: center;
  gap: 6px;
  height: 32px;
  padding: 0 12px;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  transition: all .15s;
  display: inline-flex;
}

.clinic-console .retention-call-btn:hover {
  background: #059669;
  transform: translateY(-1px);
}

.clinic-console .retention-record-btn {
  height: 32px;
  color: var(--brand, #7c1695);
  background: #f1f5f9e6;
  border-radius: 8px;
  align-items: center;
  gap: 6px;
  padding: 0 12px;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  transition: all .15s;
  display: inline-flex;
}

.clinic-console .retention-record-btn:hover {
  background: #7c16951a;
}

.clinic-console .clinic-support-page {
  flex-direction: column;
  gap: 24px;
  display: flex;
}

.clinic-console .clinic-support-heading {
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  display: flex;
}

.clinic-console .clinic-support-topbar {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  display: flex;
}

.clinic-console .clinic-support-topbar-title {
  align-items: center;
  gap: 12px;
  display: flex;
}

.clinic-console .clinic-support-topbar-title h2 {
  color: var(--ink, #0f172a);
  margin: 0;
  font-size: 20px;
  font-weight: 800;
}

.clinic-console .clinic-support-eyebrow {
  text-transform: uppercase;
  color: var(--brand, #7c1695);
  font-size: 12px;
  font-weight: 700;
}

.clinic-console .clinic-support-title {
  color: var(--ink, #0f172a);
  margin: 2px 0 0;
  font-size: 22px;
  font-weight: 800;
}

.clinic-console .clinic-support-desc {
  color: var(--muted, #64748b);
  max-width: 65ch;
  margin: 4px 0 0;
  font-size: 13.5px;
}

.clinic-console .ticket-metric-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  display: grid;
}

.clinic-console .support-kpi-card {
  background: #fff;
  border: 1px solid #e2e8f0d9;
  border-radius: 20px;
  flex-direction: column;
  gap: 8px;
  padding: 20px 22px;
  display: flex;
  box-shadow: 0 4px 16px #0f172a06;
}

.clinic-console .support-kpi-head {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.clinic-console .support-kpi-label {
  color: var(--muted, #64748b);
  font-size: 12.5px;
  font-weight: 500;
}

.clinic-console .support-kpi-icon {
  border-radius: 10px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  display: inline-flex;
}

.clinic-console .support-kpi-card.is-open .support-kpi-icon {
  color: #7c1695;
  background: #7c169514;
}

.clinic-console .support-kpi-card.is-waiting .support-kpi-icon {
  color: #f59e0b;
  background: #f59e0b14;
}

.clinic-console .support-kpi-card.is-resolved .support-kpi-icon {
  color: #10b981;
  background: #10b98114;
}

.clinic-console .support-kpi-card.is-unread .support-kpi-icon {
  color: #6366f1;
  background: #6366f114;
}

.clinic-console .support-kpi-val {
  color: var(--ink, #0f172a);
  font-size: 26px;
  font-weight: 800;
}

.clinic-console .support-kpi-card.is-open .support-kpi-val {
  color: #7c1695;
}

.clinic-console .support-kpi-card.is-waiting .support-kpi-val {
  color: #f59e0b;
}

.clinic-console .support-kpi-card.is-resolved .support-kpi-val {
  color: #10b981;
}

.clinic-console .support-kpi-card.is-unread .support-kpi-val {
  color: #6366f1;
}

.clinic-console .ticket-workspace {
  background: #fff;
  border: 1px solid #e2e8f0d9;
  border-radius: 24px;
  grid-template-columns: 360px minmax(0, 1fr);
  min-height: 640px;
  display: grid;
  overflow: hidden;
  box-shadow: 0 4px 20px #0f172a08;
}

.clinic-console .ticket-index {
  background: #f8fafc99;
  border-inline-end: 1px solid #e2e8f0cc;
  flex-direction: column;
  display: flex;
}

.clinic-console .ticket-index-header {
  border-bottom: 1px solid #e2e8f0cc;
  flex-direction: column;
  gap: 10px;
  padding: 16px;
  display: flex;
}

.clinic-console .ticket-index-search {
  background: #fff;
  border: 1px solid #e2e8f0e6;
  border-radius: 10px;
  align-items: center;
  gap: 8px;
  height: 38px;
  padding: 0 12px;
  display: flex;
  position: relative;
}

.clinic-console .ticket-index-search input {
  background: none;
  border: 0;
  outline: 0;
  flex: 1;
  font-family: inherit;
  font-size: 12.5px;
}

.clinic-console .ticket-index-filters {
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  display: grid;
}

.clinic-console .ticket-index-filters select {
  height: 34px;
  color: var(--ink-soft, #334155);
  background: #fff;
  border: 1px solid #e2e8f0e6;
  border-radius: 8px;
  padding: 0 8px;
  font-size: 12px;
}

.clinic-console .ticket-index-scroll {
  flex-direction: column;
  flex: 1;
  max-height: 540px;
  display: flex;
  overflow-y: auto;
}

.clinic-console .ticket-index-item {
  text-align: start;
  cursor: pointer;
  background: none;
  border: 0;
  border-bottom: 1px solid #e2e8f0b3;
  flex-direction: column;
  gap: 6px;
  padding: 16px 18px;
  transition: all .18s;
  display: flex;
  position: relative;
}

.clinic-console .ticket-index-item:hover {
  background: #ffffffe6;
}

.clinic-console .ticket-index-item.is-active {
  background: #fff;
  box-shadow: inset 0 0 0 1px #7c169533;
}

.clinic-console .ticket-index-item.is-active:before {
  content: "";
  inset-inline-start: 0;
  background: var(--brand, #7c1695);
  width: 4px;
  position: absolute;
  top: 0;
  bottom: 0;
}

.clinic-console .ticket-item-top {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.clinic-console .ticket-ref-tag {
  color: var(--muted, #64748b);
  font-family: monospace;
  font-size: 11px;
  font-weight: 700;
}

.clinic-console .ticket-item-subject {
  color: var(--ink, #0f172a);
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.4;
}

.clinic-console .ticket-item-preview {
  color: var(--muted, #64748b);
  white-space: nowrap;
  text-overflow: ellipsis;
  margin: 0;
  font-size: 12px;
  overflow: hidden;
}

.clinic-console .ticket-item-footer {
  justify-content: space-between;
  align-items: center;
  margin-top: 4px;
  display: flex;
}

.clinic-console .ticket-item-date {
  color: var(--muted, #94a3b8);
  font-size: 11px;
}

.clinic-console .ticket-unread-pill {
  color: #fff;
  background: #ef4444;
  border-radius: 9999px;
  padding: 1px 7px;
  font-size: 10.5px;
  font-weight: 700;
  display: inline-flex;
}

.clinic-console .ticket-thread {
  background: #fff;
  flex-direction: column;
  min-height: 560px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.clinic-console .ticket-thread-loading {
  min-height: 500px;
  color: var(--muted, #64748b);
  flex-direction: column;
  flex: 1;
  justify-content: center;
  align-items: center;
  gap: 16px;
  animation: .2s ticket-thread-fade-in;
  display: flex;
}

.clinic-console .ticket-thread-empty {
  min-height: 500px;
  color: var(--muted, #64748b);
  flex-direction: column;
  flex: 1;
  justify-content: center;
  align-items: center;
  gap: 12px;
  display: flex;
}

.clinic-console .thread-spinner {
  border: 3.5px solid #7c169526;
  border-top-color: #7c1695;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: .75s linear infinite clinic-spin;
}

.clinic-console .ticket-loading-label {
  color: #7c1695;
  margin: 0;
  font-size: 13.5px;
  font-weight: 600;
}

.clinic-console .ticket-thread-body {
  flex-direction: column;
  flex: 1;
  min-height: 0;
  animation: .28s cubic-bezier(.16, 1, .3, 1) both ticket-thread-fade-in;
  display: flex;
}

@keyframes clinic-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes ticket-thread-fade-in {
  from {
    opacity: 0;
    transform: translateY(6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.clinic-console .ticket-thread-header {
  border-bottom: 1px solid #e2e8f0cc;
  justify-content: space-between;
  align-items: flex-start;
  padding: 24px 28px;
  display: flex;
}

.clinic-console .thread-ref-badge {
  color: var(--brand, #7c1695);
  font-family: monospace;
  font-size: 11.5px;
  font-weight: 700;
}

.clinic-console .ticket-thread-header h2 {
  color: var(--ink, #0f172a);
  margin: 4px 0 6px;
  font-size: 18px;
  font-weight: 800;
}

.clinic-console .thread-meta-tags {
  color: var(--muted, #64748b);
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 12px;
  display: flex;
}

.clinic-console .ticket-thread-messages {
  flex-direction: column;
  flex: 1;
  gap: 16px;
  max-height: 440px;
  padding: 24px 28px;
  display: flex;
  overflow-y: auto;
}

.clinic-console .ticket-message {
  border-radius: 18px;
  flex-direction: column;
  gap: 8px;
  max-width: 82%;
  padding: 16px 20px;
  font-size: 13.5px;
  display: flex;
}

.clinic-console .ticket-message.is-clinic {
  color: #fff;
  background: linear-gradient(135deg, #7c1695, #931eb0);
  border-radius: 18px 18px 4px;
  align-self: flex-end;
  margin-left: auto !important;
  margin-right: 0 !important;
}

.clinic-console .ticket-message.is-clinic header strong {
  color: #fff;
}

.clinic-console .ticket-message.is-clinic time {
  color: #ffffffb3;
}

.clinic-console .ticket-message.is-admin {
  color: var(--ink, #0f172a);
  background: #f1f5f9e6;
  border-radius: 18px 18px 18px 4px;
  align-self: flex-start;
  margin-left: 0 !important;
  margin-right: auto !important;
}

.clinic-console .ticket-admin-label {
  color: #7c1695;
  background: #7c169526;
  border-radius: 4px;
  margin-inline-start: 6px;
  padding: 2px 6px;
  font-size: 10px;
  font-weight: 700;
  display: inline-flex;
}

.clinic-console .ticket-composer {
  border-top: 1px solid #e2e8f0cc;
  flex-direction: column;
  gap: 12px;
  padding: 16px 28px;
  display: flex;
}

.clinic-console .ticket-composer textarea {
  resize: vertical;
  background: #f8fafc99;
  border: 1px solid #e2e8f0e6;
  border-radius: 14px;
  outline: 0;
  width: 100%;
  min-height: 84px;
  padding: 12px 14px;
  font-family: inherit;
  font-size: 13.5px;
  transition: all .2s;
}

.clinic-console .ticket-composer textarea:focus {
  border-color: var(--brand, #7c1695);
  background: #fff;
  box-shadow: 0 0 0 3px #7c16951a;
}

.clinic-console .ticket-composer footer {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.clinic-console .ticket-file-button {
  color: var(--muted, #64748b);
  cursor: pointer;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  display: inline-flex;
}

.clinic-console .ticket-file-button input {
  display: none;
}

.clinic-console .ticket-thread-actions {
  background: #f8fafc66;
  border-top: 1px solid #e2e8f0cc;
  justify-content: space-between;
  align-items: center;
  padding: 14px 28px;
  display: flex;
}

.clinic-console .ticket-sms-hint {
  color: var(--muted, #94a3b8);
  margin: 0;
  font-size: 11.5px;
}

.clinic-console .ticket-rating button {
  color: #cbd5e1;
  cursor: pointer;
  background: none;
  border: 0;
  padding: 0 2px;
  font-size: 18px;
}

.clinic-console .ticket-rating button.is-active {
  color: #f59e0b;
}

.clinic-console .ticket-secondary-btn {
  height: 38px;
  color: var(--ink-soft, #334155);
  cursor: pointer;
  background: #fff;
  border: 1px solid #e2e8f0e6;
  border-radius: 10px;
  align-items: center;
  gap: 6px;
  padding: 0 16px;
  font-size: 13px;
  font-weight: 500;
  transition: all .15s;
  display: inline-flex;
}

.clinic-console .ticket-secondary-btn:hover {
  background: #f1f5f9d9;
}

.clinic-console .clinic-settings-minimal {
  flex-direction: column;
  gap: 24px;
  display: flex;
}

.clinic-console .clinic-settings-nav {
  z-index: 5;
  -webkit-backdrop-filter: blur(16px);
  scrollbar-width: none;
  background: #ffffffe0;
  border: 1.5px solid #7c169524;
  border-radius: 9999px;
  margin-bottom: 8px;
  padding: 6px;
  position: relative;
  top: auto;
  overflow-x: auto;
  box-shadow: 0 4px 20px #7c16950a;
}

.clinic-console .clinic-settings-nav::-webkit-scrollbar {
  display: none;
}

.clinic-console .clinic-settings-nav-inner {
  align-items: center;
  gap: 6px;
  min-width: max-content;
  display: flex;
}

.clinic-console .clinic-settings-nav-btn {
  color: var(--muted, #64748b);
  cursor: pointer;
  white-space: nowrap;
  background: none;
  border: 1px solid #0000;
  border-radius: 9999px;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  font-size: 13.5px;
  font-weight: 600;
  transition: all .2s cubic-bezier(.16, 1, .3, 1);
  display: inline-flex;
}

.clinic-console .clinic-settings-nav-btn .nav-btn-icon {
  justify-content: center;
  align-items: center;
  transition: transform .2s;
  display: inline-flex;
}

.clinic-console .clinic-settings-nav-btn:hover {
  color: #7c1695;
  background: #7c16950f;
}

.clinic-console .clinic-settings-nav-btn:hover .nav-btn-icon {
  transform: scale(1.1);
}

.clinic-console .clinic-settings-nav-btn.is-active {
  color: #fff;
  background: #7c1695;
  border-color: #7c1695;
  font-weight: 700;
  box-shadow: 0 4px 14px #7c169547;
}

.clinic-console .clinic-settings-notice {
  border-radius: 14px;
  align-items: center;
  gap: 10px;
  padding: 12px 18px;
  font-size: 13.5px;
  font-weight: 600;
  display: flex;
}

.clinic-console .clinic-settings-notice.is-success {
  color: #059669;
  background: #10b9811a;
  border: 1px solid #10b98140;
}

.clinic-console .clinic-settings-notice.is-error {
  color: #dc2626;
  background: #ef44441a;
  border: 1px solid #ef444440;
}

.clinic-console .clinic-settings-minimal__form {
  flex-direction: column;
  gap: 24px;
  display: flex;
}

.clinic-console .clinic-settings-minimal__section {
  background: #fff;
  border: 1.5px solid #7c16951a;
  border-radius: 24px;
  flex-direction: column;
  gap: 22px;
  padding: 30px;
  transition: border-color .2s, box-shadow .2s;
  display: flex;
  box-shadow: 0 4px 20px #0f172a06;
}

.clinic-console .clinic-settings-minimal__section:hover {
  border-color: #7c16952e;
  box-shadow: 0 8px 30px #7c16950d;
}

.clinic-console .settings-section-header {
  border-bottom: 1px solid #7c169514;
  align-items: center;
  gap: 14px;
  padding-bottom: 18px;
  display: flex;
}

.clinic-console .settings-section-icon {
  color: #7c1695;
  background: linear-gradient(135deg, #7c16951f, #931eb00a);
  border: 1px solid #7c16951f;
  border-radius: 14px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 42px;
  height: 42px;
  display: inline-flex;
}

.clinic-console .settings-section-titles {
  flex-direction: column;
  gap: 3px;
  display: flex;
}

.clinic-console .settings-section-titles h2 {
  color: var(--ink, #0f172a);
  margin: 0;
  font-size: 17px;
  font-weight: 800;
}

.clinic-console .settings-section-subtitle {
  color: var(--muted, #64748b);
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
}

.clinic-console .clinic-settings-minimal__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  display: grid;
}

.clinic-console .clinic-form-field {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.clinic-console .clinic-form-field.is-wide {
  grid-column: 1 / -1;
}

.clinic-console .field-label {
  color: var(--ink-soft, #334155);
  font-size: 13px;
  font-weight: 600;
}

.clinic-console .field-hint {
  color: var(--muted, #64748b);
  margin-top: 2px;
  font-size: 12px;
}

.clinic-console .clinic-form-field input, .clinic-console .clinic-form-field select, .clinic-console .clinic-form-field textarea {
  width: 100%;
  min-height: 44px;
  color: var(--ink, #0f172a);
  background: #f8fafcb3;
  border: 1.5px solid #e2e8f0e6;
  border-radius: 14px;
  outline: 0;
  padding: 10px 16px;
  font-family: inherit;
  font-size: 13.5px;
  transition: all .2s cubic-bezier(.16, 1, .3, 1);
}

.clinic-console .clinic-form-field textarea {
  resize: vertical;
  min-height: 80px;
}

.clinic-console .clinic-form-field input:focus, .clinic-console .clinic-form-field select:focus, .clinic-console .clinic-form-field textarea:focus {
  border-color: var(--brand, #7c1695);
  background: #fff;
  box-shadow: 0 0 0 3.5px #7c16951f;
}

.clinic-console .clinic-settings-toggle-modern {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  align-items: center;
  gap: 12px;
  display: inline-flex;
}

.clinic-console .clinic-settings-toggle-modern input {
  display: none;
}

.clinic-console .toggle-switch-track {
  background: #cbd5e1;
  border-radius: 9999px;
  width: 46px;
  height: 26px;
  transition: background .22s;
  position: relative;
}

.clinic-console .toggle-switch-thumb {
  top: 2px;
  background: #fff;
  border-radius: 9999px;
  width: 22px;
  height: 22px;
  transition: transform .22s cubic-bezier(.16, 1, .3, 1);
  position: absolute;
  inset-inline-start: 2px;
  box-shadow: 0 2px 6px #0000002e;
}

.clinic-console .clinic-settings-toggle-modern input:checked + .toggle-switch-track {
  background: #10b981;
}

.clinic-console .clinic-settings-toggle-modern input:checked + .toggle-switch-track .toggle-switch-thumb {
  transform: translateX(-20px);
}

[dir="ltr"] .clinic-console .clinic-settings-toggle-modern input:checked + .toggle-switch-track .toggle-switch-thumb {
  transform: translateX(20px);
}

.clinic-console .toggle-label-text {
  color: var(--ink, #0f172a);
  font-size: 13.5px;
  font-weight: 500;
}

.clinic-console .clinic-branding-access {
  background: #7c169505;
  border: 1.5px solid #7c16951f;
  border-radius: 18px;
  margin-top: 12px;
  padding: 22px;
}

.clinic-console .branding-access-header {
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  display: flex;
}

.clinic-console .branding-icon-badge {
  color: #7c1695;
  background: #7c16951a;
  border-radius: 10px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  display: flex;
}

.clinic-console .branding-access-header strong {
  color: var(--ink, #0f172a);
  font-size: 14px;
  font-weight: 700;
  display: block;
}

.clinic-console .branding-access-header small {
  color: var(--muted, #64748b);
  margin-top: 2px;
  font-size: 12.5px;
  display: block;
}

.clinic-console .branding-fieldset {
  border: 0;
  flex-direction: column;
  gap: 16px;
  margin: 0;
  padding: 0;
  display: flex;
}

.clinic-console .clinic-branding-name-preview {
  background: #fff;
  border: 1px solid #7c16951a;
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  padding: 12px 18px;
  font-size: 13.5px;
  display: flex;
}

.clinic-console .clinic-logo-control {
  align-items: center;
  gap: 16px;
  display: flex;
}

.clinic-console .clinic-logo-avatar {
  background: #fff;
  border: 1.5px solid #7c16952e;
  border-radius: 16px;
  justify-content: center;
  align-items: center;
  width: 56px;
  height: 56px;
  display: flex;
  overflow: hidden;
  box-shadow: 0 2px 10px #7c169514;
}

.clinic-console .clinic-logo-avatar img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.clinic-console .clinic-logo-avatar span {
  color: #7c1695;
  font-size: 16px;
  font-weight: 800;
}

.clinic-console .clinic-logo-picker {
  cursor: pointer;
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.clinic-console .clinic-logo-picker input {
  display: none;
}

.clinic-console .logo-upload-btn {
  color: #7c1695;
  background: #7c169514;
  border: 1px solid #7c169533;
  border-radius: 10px;
  align-items: center;
  gap: 6px;
  width: fit-content;
  margin-top: 4px;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  transition: all .2s;
  display: inline-flex;
}

.clinic-console .logo-upload-btn:hover {
  color: #fff;
  background: #7c1695;
}

.clinic-console .clinic-branding-lock {
  text-align: center;
  background: #f8fafcd9;
  border: 1.5px dashed #7c169540;
  border-radius: 16px;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
  padding: 24px;
  display: flex;
}

.clinic-console .clinic-branding-lock .lock-icon {
  color: #7c1695;
  background: #7c169514;
  border-radius: 14px;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  display: inline-flex;
}

.clinic-console .clinic-branding-lock p {
  color: var(--muted, #64748b);
  max-width: 380px;
  margin: 0;
  font-size: 13.5px;
  line-height: 1.6;
}

.clinic-console .theme-toggle-cards {
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 4px;
  display: grid;
}

.clinic-console .theme-card {
  cursor: pointer;
  background: #fff;
  border: 2px solid #e2e8f0d9;
  border-radius: 16px;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 14px;
  transition: all .2s;
  display: flex;
}

.clinic-console .theme-card:hover {
  border-color: #7c16954d;
  transform: translateY(-1px);
}

.clinic-console .theme-card.active {
  border-color: var(--brand, #7c1695);
  background: #7c16950a;
  box-shadow: 0 4px 14px #7c169524;
}

.clinic-console .theme-card-preview {
  border-radius: 10px;
  width: 100%;
  height: 42px;
}

.clinic-console .theme-card-preview.light-mode {
  background: linear-gradient(135deg, #fff, #f1f5f9);
  border: 1px solid #e2e8f0;
}

.clinic-console .theme-card-preview.dark-mode {
  background: linear-gradient(135deg, #0f172a, #1e293b);
  border: 1px solid #334155;
}

.clinic-console .theme-card-label {
  color: var(--ink, #0f172a);
  font-size: 13px;
  font-weight: 600;
}

.clinic-console .theme-hint {
  color: var(--muted, #64748b);
  margin-top: 2px;
  font-size: 12px;
}

.clinic-console .clinic-settings-minimal__summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 6px 0;
  display: grid;
}

.clinic-console .storage-stat-card {
  background: linear-gradient(135deg, #fffffff2, #f8fafccc);
  border: 1.5px solid #7c16951a;
  border-radius: 18px;
  align-items: center;
  gap: 16px;
  padding: 18px 22px;
  transition: transform .2s, border-color .2s;
  display: flex;
  box-shadow: 0 4px 16px #0f172a05;
}

.clinic-console .storage-stat-card:hover {
  border-color: #7c169540;
  transform: translateY(-2px);
}

.clinic-console .storage-stat-icon {
  color: #7c1695;
  background: #7c169514;
  border-radius: 12px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  display: flex;
}

.clinic-console .storage-stat-content {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.clinic-console .storage-val {
  color: var(--ink, #0f172a);
  font-size: 22px;
  font-weight: 800;
  line-height: 1.2;
}

.clinic-console .storage-label {
  color: var(--muted, #64748b);
  font-size: 12.5px;
  font-weight: 500;
}

.clinic-console .clinic-storage-security-badge {
  color: #7c1695;
  background: #7c16950a;
  border: 1px solid #7c16951f;
  border-radius: 12px;
  align-items: center;
  gap: 8px;
  width: fit-content;
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 600;
  display: inline-flex;
}

.clinic-console .clinic-settings-minimal__data-actions {
  align-items: center;
  gap: 12px;
  margin-top: 4px;
  display: flex;
}

.clinic-console .clinic-settings-save-bar {
  -webkit-backdrop-filter: blur(20px);
  z-index: 1;
  background: #ffffffeb;
  border: 1.5px solid #7c16952e;
  border-radius: 9999px;
  justify-content: space-between;
  align-items: center;
  margin-top: 32px;
  margin-bottom: 24px;
  padding: 14px 24px;
  display: flex;
  position: relative;
  bottom: auto;
  box-shadow: 0 10px 32px #7c16951f;
}

.clinic-console .status-saving {
  color: var(--brand, #7c1695);
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  font-weight: 600;
  display: inline-flex;
}

.clinic-console .status-saved {
  color: #10b981;
  font-size: 13.5px;
  font-weight: 600;
}

.clinic-console .status-error {
  color: #ef4444;
  font-size: 13.5px;
  font-weight: 600;
}

.clinic-console .clinic-settings-save-bar .clinic-primary-cta {
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, #7c1695, #931eb0);
  border: none;
  border-radius: 9999px;
  padding: 10px 28px;
  font-size: 14px;
  font-weight: 700;
  transition: all .2s;
  box-shadow: 0 4px 16px #7c16954d;
}

.clinic-console .clinic-settings-save-bar .clinic-primary-cta:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 6px 20px #7c169566;
}

.admin-modal-backdrop {
  -webkit-backdrop-filter: blur(16px);
  z-index: 9999;
  background: #0f172a99;
  justify-content: center;
  align-items: center;
  padding: 24px;
  animation: .2s forwards clinicFadeIn;
  display: flex;
  position: fixed;
  inset: 0;
}

.ticket-create-modal {
  background: #fff;
  border: 1px solid #e2e8f0e6;
  border-radius: 24px;
  width: min(100%, 560px);
  animation: .26s cubic-bezier(.16, 1, .3, 1) forwards modalSlideUp;
  overflow: hidden;
  box-shadow: 0 20px 50px #0003;
}

@keyframes modalSlideUp {
  from {
    opacity: 0;
    transform: translateY(20px)scale(.97);
  }

  to {
    opacity: 1;
    transform: translateY(0)scale(1);
  }
}

.ticket-modal-header {
  border-bottom: 1px solid #e2e8f0cc;
  justify-content: space-between;
  align-items: center;
  padding: 22px 28px;
  display: flex;
}

.modal-title-row {
  align-items: center;
  gap: 12px;
  display: flex;
}

.modal-title-badge {
  width: 36px;
  height: 36px;
  color: var(--brand, #7c1695);
  background: #7c16951a;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  display: flex;
}

.ticket-modal-header h2 {
  color: var(--ink, #0f172a);
  margin: 0;
  font-size: 18px;
  font-weight: 800;
}

.modal-close-btn {
  width: 32px;
  height: 32px;
  color: var(--muted, #64748b);
  cursor: pointer;
  background: #f1f5f9e6;
  border: 0;
  border-radius: 9999px;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  transition: all .15s;
  display: flex;
}

.modal-close-btn:hover {
  color: #ef4444;
  background: #ef44441a;
}

.ticket-create-modal .operational-form {
  padding: 24px 28px;
}

.ticket-create-modal .operational-form-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.ticket-create-modal .field-span-full {
  grid-column: 1 / -1;
}

.ticket-create-modal label {
  color: var(--ink-soft, #334155);
  flex-direction: column;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  display: flex;
}

.ticket-create-modal input, .ticket-create-modal select, .ticket-create-modal textarea {
  width: 100%;
  color: var(--ink, #0f172a);
  background: #f8fafc99;
  border: 1px solid #e2e8f0e6;
  border-radius: 12px;
  outline: 0;
  padding: 10px 14px;
  font-family: inherit;
  font-size: 13.5px;
  transition: all .18s;
}

.ticket-create-modal input:focus, .ticket-create-modal select:focus, .ticket-create-modal textarea:focus {
  border-color: var(--brand, #7c1695);
  background: #fff;
  box-shadow: 0 0 0 3px #7c16951a;
}

.ticket-modal-footer {
  border-top: 1px solid #e2e8f0cc;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
  padding-top: 18px;
  display: flex;
}

@media (max-width: 1180px) {
  .clinic-console .clinic-overview-kpis, .clinic-console .patient-retention-metrics, .clinic-console .ticket-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .clinic-console .clinic-3d-hub {
    grid-template-columns: 1fr;
  }

  .clinic-console .ticket-workspace {
    grid-template-columns: 320px minmax(0, 1fr);
  }
}

.clinic-console .clinic-mobile-header, .clinic-mobile-offcanvas, .clinic-console .ticket-mobile-back-to-list {
  display: none !important;
}

@media (max-width: 860px) {
  .clinic-console {
    grid-template-columns: 1fr;
    min-width: 0;
    max-width: 100vw;
    overflow-x: hidden;
  }

  .clinic-console .clinic-sidebar, .clinic-console .clinic-topbar {
    display: none !important;
  }

  .clinic-console .clinic-mobile-header {
    z-index: 90;
    width: 100%;
    min-height: 60px;
    padding-top: max(12px, env(safe-area-inset-top, 0px));
    padding-inline: max(16px, env(safe-area-inset-left, 0px)) max(16px, env(safe-area-inset-right, 0px));
    -webkit-backdrop-filter: blur(24px);
    box-sizing: border-box;
    background: #fffffff5;
    border-bottom: 1px solid #e2e8f0d9;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding-bottom: 12px;
    position: sticky;
    top: 0;
    box-shadow: 0 4px 24px -4px #0f172a0f;
    margin: 0 !important;
    display: flex !important;
  }

  .clinic-mobile-header-start {
    flex-shrink: 1;
    align-items: center;
    gap: 12px;
    min-width: 0;
    display: flex;
  }

  .clinic-mobile-hamburger {
    cursor: pointer;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    padding: 0;
    transition: all .2s cubic-bezier(.16, 1, .3, 1);
    box-shadow: 0 2px 8px #0f172a0a;
    color: #1e293b !important;
    background: #fff !important;
    border: 1px solid #e2e8f0e6 !important;
    border-radius: 12px !important;
    width: 42px !important;
    height: 42px !important;
    display: inline-flex !important;
  }

  .clinic-mobile-hamburger:hover, .clinic-mobile-hamburger:active {
    transform: scale(.96);
    color: #7c1695 !important;
    background: #7c169514 !important;
    border-color: #7c16954d !important;
  }

  .clinic-mobile-hamburger svg {
    display: block;
    stroke-width: 2.2px !important;
    stroke: currentColor !important;
    width: 22px !important;
    height: 22px !important;
  }

  .clinic-mobile-brand {
    background: none !important;
    border: none !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-decoration: none !important;
    display: flex !important;
  }

  .clinic-mobile-brand-emblem {
    background: linear-gradient(135deg, #7c169524, #7c16950a) !important;
    border: 1px solid #7c169538 !important;
    border-radius: 11px !important;
    flex-shrink: 0 !important;
    place-items: center !important;
    width: 36px !important;
    height: 36px !important;
    display: grid !important;
    box-shadow: 0 2px 8px #7c169526 !important;
  }

  .clinic-mobile-brand-emblem img {
    object-fit: contain !important;
    width: 24px !important;
    height: 24px !important;
    display: block !important;
  }

  .clinic-mobile-brand-copy {
    flex-direction: column !important;
    gap: 1px !important;
    min-width: 0 !important;
    line-height: 1.15 !important;
    display: flex !important;
  }

  .clinic-mobile-brand-title {
    color: #0f172a !important;
    letter-spacing: -.02em !important;
    white-space: nowrap !important;
    font-size: 15px !important;
    font-weight: 800 !important;
  }

  .clinic-mobile-brand-badge {
    color: #7c1695 !important;
    white-space: nowrap !important;
    background: #7c169514 !important;
    border-radius: 6px !important;
    width: fit-content !important;
    padding: 1px 7px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    display: inline-block !important;
  }

  .clinic-mobile-header-end {
    flex-shrink: 0;
    align-items: center;
    gap: 8px;
    display: flex;
  }

  .clinic-mobile-active-pill {
    color: #7c1695 !important;
    box-sizing: border-box !important;
    background: #7c169514 !important;
    border: 1px solid #7c169533 !important;
    border-radius: 12px !important;
    align-items: center !important;
    gap: 6px !important;
    height: 38px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    display: inline-flex !important;
  }

  .clinic-mobile-active-pill svg {
    stroke-width: 2.2px !important;
    stroke: currentColor !important;
    fill: none !important;
    flex-shrink: 0 !important;
    width: 17px !important;
    height: 17px !important;
  }

  .clinic-mobile-active-label {
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    max-width: 110px !important;
    overflow: hidden !important;
  }

  .clinic-mobile-quick-return {
    color: #475569 !important;
    cursor: pointer !important;
    background: #fff !important;
    border: 1px solid #e2e8f0e6 !important;
    border-radius: 12px !important;
    justify-content: center !important;
    align-items: center !important;
    width: 38px !important;
    height: 38px !important;
    transition: all .2s cubic-bezier(.16, 1, .3, 1) !important;
    display: inline-flex !important;
    box-shadow: 0 2px 8px #0f172a0a !important;
  }

  .clinic-mobile-quick-return:hover, .clinic-mobile-quick-return:active {
    transform: scale(.96);
    color: #7c1695 !important;
    background: #7c16950f !important;
    border-color: #7c16954d !important;
  }

  .clinic-mobile-quick-return svg {
    stroke-width: 2.2px !important;
    stroke: currentColor !important;
    fill: none !important;
    width: 19px !important;
    height: 19px !important;
  }

  @media (max-width: 390px) {
    .clinic-mobile-header {
      gap: 8px !important;
      padding-inline: 12px !important;
    }

    .clinic-mobile-header-start {
      gap: 8px !important;
    }

    .clinic-mobile-brand-title {
      font-size: 14px !important;
    }

    .clinic-mobile-brand-badge {
      display: none !important;
    }

    .clinic-mobile-active-pill {
      justify-content: center !important;
      width: 38px !important;
      padding: 0 !important;
    }

    .clinic-mobile-active-label {
      display: none !important;
    }
  }

  .clinic-mobile-offcanvas {
    pointer-events: none;
    visibility: hidden;
    transition: visibility .28s;
    z-index: 1000 !important;
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
  }

  .clinic-mobile-offcanvas.is-open {
    pointer-events: auto;
    visibility: visible;
  }

  .clinic-offcanvas-backdrop {
    -webkit-backdrop-filter: blur(10px);
    opacity: 0;
    cursor: pointer;
    background: #0f172a8c;
    transition: opacity .28s;
    position: absolute;
    inset: 0;
  }

  .clinic-mobile-offcanvas.is-open .clinic-offcanvas-backdrop {
    opacity: 1;
  }

  .clinic-offcanvas-panel {
    top: 0;
    bottom: 0;
    width: min(320px, 84vw);
    padding-top: max(18px, env(safe-area-inset-top, 0px));
    padding-inline: 18px;
    padding-bottom: max(20px, env(safe-area-inset-bottom, 0px));
    box-sizing: border-box;
    pointer-events: auto;
    background: #fff;
    flex-direction: column;
    transition: transform .32s cubic-bezier(.16, 1, .3, 1);
    display: flex;
    position: absolute;
    inset-inline-start: 0;
    overflow-y: auto;
    box-shadow: 0 0 50px #00000040;
  }

  [dir="rtl"] .clinic-offcanvas-panel {
    transform: translateX(105%);
  }

  [dir="ltr"] .clinic-offcanvas-panel {
    transform: translateX(-105%);
  }

  .clinic-mobile-offcanvas.is-open .clinic-offcanvas-panel {
    transform: translateX(0) !important;
  }

  .clinic-offcanvas-top {
    border-bottom: 1px solid #e2e8f0d9;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
    padding-bottom: 16px;
    display: flex;
  }

  .clinic-offcanvas-profile {
    align-items: center;
    gap: 12px;
    min-width: 0;
    display: flex;
  }

  .clinic-offcanvas-profile .clinic-person-avatar {
    color: #fff;
    background: linear-gradient(135deg, #7c1695, #a855f7);
    border-radius: 14px;
    flex-shrink: 0;
    place-items: center;
    width: 44px;
    height: 44px;
    font-size: 15px;
    font-weight: 700;
    display: grid;
    box-shadow: 0 4px 14px #7c169540;
  }

  .clinic-offcanvas-clinic-info {
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    display: flex;
  }

  .clinic-offcanvas-clinic-info strong {
    color: #0f172a;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 15px;
    font-weight: 700;
    overflow: hidden;
  }

  .clinic-offcanvas-clinic-info small {
    color: #64748b;
    font-size: 12px;
  }

  .clinic-offcanvas-close-btn {
    color: #475569;
    cursor: pointer;
    background: #f8fafc;
    border: 1px solid #e2e8f0d9;
    border-radius: 12px;
    place-items: center;
    width: 38px;
    height: 38px;
    padding: 0;
    transition: all .18s;
    display: grid;
  }

  .clinic-offcanvas-close-btn:hover, .clinic-offcanvas-close-btn:active {
    color: #0f172a;
    background: #f1f5f9;
  }

  .clinic-offcanvas-close-btn svg {
    stroke-width: 2.2px;
    stroke: currentColor;
    fill: none;
    width: 20px;
    height: 20px;
  }

  .clinic-offcanvas-nav-groups {
    flex-direction: column;
    flex: 1;
    gap: 18px;
    display: flex;
    overflow-y: auto;
  }

  .clinic-offcanvas-group-title {
    text-transform: uppercase;
    color: #94a3b8;
    letter-spacing: .05em;
    margin-bottom: 8px;
    padding-inline: 6px;
    font-size: 12px;
    font-weight: 700;
    display: block;
  }

  .clinic-offcanvas-nav {
    flex-direction: column;
    gap: 6px;
    display: flex;
  }

  .clinic-offcanvas-item {
    color: #334155;
    cursor: pointer;
    text-align: start;
    box-sizing: border-box;
    background: none;
    border: 1px solid #0000;
    border-radius: 14px;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 50px;
    padding: 10px 14px;
    font-size: 14.5px;
    font-weight: 600;
    transition: all .2s cubic-bezier(.16, 1, .3, 1);
    display: flex;
  }

  .clinic-offcanvas-item:hover {
    color: #7c1695;
    background: #7c16950f;
  }

  .clinic-offcanvas-item.is-active {
    color: #7c1695;
    background: #7c16951a;
    border-color: #7c169533;
    font-weight: 700;
  }

  .clinic-offcanvas-item-icon {
    color: #64748b;
    background: #f1f5f9;
    border-radius: 11px;
    flex-shrink: 0;
    place-items: center;
    width: 38px;
    height: 38px;
    transition: all .2s;
    display: grid;
  }

  .clinic-offcanvas-item.is-active .clinic-offcanvas-item-icon {
    color: #fff;
    background: #7c1695;
  }

  .clinic-offcanvas-item-icon .panel-nav-icon {
    width: 100% !important;
    height: 100% !important;
    box-shadow: none !important;
    color: inherit !important;
    background: none !important;
    border: none !important;
    place-items: center !important;
    display: grid !important;
  }

  .clinic-offcanvas-item-icon .panel-nav-icon svg {
    stroke-width: 2.2px !important;
    stroke: currentColor !important;
    fill: none !important;
    width: 20px !important;
    height: 20px !important;
  }

  .clinic-offcanvas-item-text {
    flex: 1;
    font-size: 14.5px;
  }

  .clinic-offcanvas-nav-groups .clinic-nav-badge {
    border-radius: 11px;
    justify-content: center;
    align-items: center;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    font-size: 12px;
    font-weight: 700;
    display: inline-flex;
  }

  .clinic-offcanvas-footer {
    border-top: 1px solid #e2e8f0d9;
    flex-direction: column;
    gap: 12px;
    margin-top: auto;
    padding-top: 16px;
    display: flex;
  }

  .clinic-offcanvas-footer-actions {
    align-items: center;
    gap: 10px;
    display: flex;
  }

  .clinic-offcanvas-return-btn {
    color: #334155;
    cursor: pointer;
    background: #f8fafc;
    border: 1px solid #e2e8f0e6;
    border-radius: 12px;
    flex: 1;
    justify-content: center;
    align-items: center;
    gap: 8px;
    min-height: 46px;
    font-size: 14px;
    font-weight: 600;
    transition: all .18s;
    display: inline-flex;
  }

  .clinic-offcanvas-return-btn:hover {
    color: #7c1695;
    background: #7c169514;
    border-color: #7c169540;
  }

  .clinic-offcanvas-return-btn svg {
    stroke-width: 2.2px;
    stroke: currentColor;
    fill: none;
    width: 18px;
    height: 18px;
  }

  .clinic-offcanvas-logout-form {
    width: 100%;
    margin: 0;
  }

  .clinic-offcanvas-logout-btn {
    color: #dc2626 !important;
    cursor: pointer !important;
    background: #fef2f2b3 !important;
    border: 1px solid #fecaca99 !important;
    border-radius: 12px !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-height: 46px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    transition: all .18s !important;
    display: flex !important;
  }

  .clinic-offcanvas-logout-btn:hover {
    background: #ef444424 !important;
  }

  .clinic-offcanvas-logout-btn svg {
    stroke-width: 2.2px !important;
    stroke: currentColor !important;
    fill: none !important;
    width: 18px !important;
    height: 18px !important;
  }

  .clinic-console .clinic-main {
    min-width: 0;
    max-width: 100vw;
    overflow-x: hidden;
    padding: 12px 14px 48px !important;
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 48px) !important;
  }

  .clinic-console .clinic-search-dock {
    order: 3;
    width: 100%;
  }

  .clinic-console .ticket-mobile-back-to-list {
    color: #334155;
    cursor: pointer;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    display: inline-flex !important;
  }

  .clinic-console .ticket-workspace {
    border-radius: 20px;
    min-height: auto;
    grid-template-columns: 1fr !important;
  }

  .clinic-console .ticket-workspace .ticket-index {
    border-inline-end: 0 !important;
    width: 100% !important;
    max-height: none !important;
    display: flex !important;
  }

  .clinic-console .ticket-workspace .ticket-thread, .clinic-console .ticket-workspace.has-active-ticket .ticket-index {
    display: none !important;
  }

  .clinic-console .ticket-workspace.has-active-ticket .ticket-thread {
    flex-direction: column !important;
    width: 100% !important;
    display: flex !important;
  }

  .clinic-console .clinic-table-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 14px 16px;
  }

  .clinic-console .clinic-table-header-actions {
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    width: 100%;
    display: flex;
  }

  .clinic-console .clinic-table-controls {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 10px 16px;
  }

  .clinic-console .clinic-table-search {
    width: 100%;
    max-width: 100%;
  }

  .clinic-console .clinic-table-search input {
    border-radius: 12px !important;
    height: 46px !important;
    font-size: 16px !important;
  }

  .clinic-console .clinic-table-filters {
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    flex-wrap: nowrap;
    width: 100%;
    padding-bottom: 2px;
    overflow-x: auto;
    gap: 8px !important;
  }

  .clinic-console .clinic-table-filters::-webkit-scrollbar {
    display: none;
  }

  .clinic-console .clinic-filter-chip {
    flex: none;
    border-radius: 10px !important;
    min-height: 38px !important;
    padding: 6px 14px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
  }

  .clinic-console .clinic-table-mode-toggle {
    width: 100%;
    margin-inline-start: 0;
  }

  .clinic-console .clinic-selection-toggle-btn {
    justify-content: center;
    width: 100%;
    border-radius: 12px !important;
    min-height: 44px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
  }

  .clinic-console .clinic-table-scroll {
    -webkit-overflow-scrolling: touch;
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
  }

  .clinic-console .clinic-modern-table th, .clinic-console .clinic-modern-table td {
    white-space: nowrap;
    padding: 10px 14px;
  }

  .clinic-console .clinic-bulk-bar {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 10px 14px;
  }

  .clinic-console .clinic-bulk-actions {
    flex-wrap: wrap;
    gap: 6px;
  }

  .clinic-console .clinic-bulk-actions button {
    flex: 1;
    justify-content: center;
    min-width: 110px;
  }
}

@media (max-width: 600px) {
  .clinic-console .clinic-sidebar {
    padding-top: max(8px, env(safe-area-inset-top, 0px));
    padding-inline: max(10px, env(safe-area-inset-left, 0px)) max(10px, env(safe-area-inset-right, 0px));
  }

  .clinic-console .clinic-sidebar .panel-sidebar-brand__label, .clinic-console .clinic-mobile-return-btn span {
    display: none;
  }

  .clinic-console .clinic-mobile-return-btn {
    justify-content: center;
    padding: 0 8px;
  }

  .clinic-console .clinic-support-topbar {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .clinic-console .clinic-support-topbar .clinic-primary-cta {
    justify-content: center;
    width: 100%;
  }

  .clinic-console .clinic-overview-kpis, .clinic-console .patient-retention-metrics, .clinic-console .ticket-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .clinic-console .clinic-kpi-card, .clinic-console .patient-retention-metrics article, .clinic-console .support-kpi-card {
    flex-direction: column;
    justify-content: space-between;
    display: flex;
    border-radius: 16px !important;
    padding: 14px !important;
  }

  .clinic-console .clinic-kpi-header {
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
    display: flex;
  }

  .clinic-console .clinic-kpi-icon-wrap, .clinic-console .retention-metric-icon, .clinic-console .support-kpi-icon {
    place-items: center;
    display: grid;
    border-radius: 11px !important;
    width: 38px !important;
    height: 38px !important;
  }

  .clinic-console .clinic-kpi-icon-wrap svg, .clinic-console .retention-metric-icon svg, .clinic-console .support-kpi-icon svg {
    stroke-width: 2.2px !important;
    stroke: currentColor !important;
    fill: none !important;
    width: 20px !important;
    height: 20px !important;
  }

  .clinic-console .clinic-kpi-badge {
    border-radius: 8px !important;
    padding: 3px 8px !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
  }

  .clinic-console .clinic-kpi-value, .clinic-console .patient-retention-metrics strong, .clinic-console .support-kpi-val {
    font-size: 24px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
  }

  .clinic-console .clinic-kpi-label, .clinic-console .patient-retention-metrics span {
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
  }

  .clinic-console .clinic-kpi-hint {
    color: #94a3b8 !important;
    font-size: 11.5px !important;
    line-height: 1.4 !important;
  }

  .clinic-console .clinic-3d-hub {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .clinic-console .clinic-3d-card {
    border-radius: 18px !important;
    padding: 16px 14px !important;
  }

  .clinic-console .clinic-3d-card-header {
    margin-bottom: 10px;
  }

  .clinic-console .clinic-3d-title {
    font-size: 16px !important;
    font-weight: 700 !important;
  }

  .clinic-console .clinic-3d-stat-badge {
    border-radius: 10px !important;
    padding: 4px 10px !important;
  }

  .clinic-console .clinic-3d-stat-badge b {
    font-size: 16px !important;
  }

  .clinic-console .clinic-3d-stat-badge small {
    font-size: 12px !important;
  }

  .clinic-console .clinic-3d-micro-stats {
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-bottom: 10px !important;
  }

  .clinic-console .micro-stat-item {
    gap: 5px !important;
    font-size: 12.5px !important;
  }

  .clinic-console .micro-stat-item strong {
    font-size: 13px !important;
  }

  .clinic-console .clinic-3d-pillars-stage {
    gap: 4px !important;
    height: 165px !important;
    padding: 10px 0 4px !important;
  }

  .clinic-console .pillar-day-full {
    display: none;
  }

  .clinic-console .pillar-day-short {
    display: inline;
    font-size: 12px !important;
    font-weight: 700 !important;
  }

  .clinic-console .pillar-track-3d {
    width: 18px !important;
  }

  .clinic-console .pillar-value-3d {
    border-radius: 5px !important;
    padding: 2px 4px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
  }

  .clinic-console .pillar-shadow-floor {
    width: 22px !important;
    height: 6px !important;
  }

  .clinic-console .journey-3d-pipeline {
    gap: 10px !important;
  }

  .clinic-console .journey-pipe-info {
    font-size: 13px !important;
  }

  .clinic-console .journey-pipe-label {
    font-size: 13.5px !important;
    font-weight: 600 !important;
  }

  .clinic-console .journey-pipe-metrics strong {
    font-size: 14px !important;
    font-weight: 800 !important;
  }

  .clinic-console .journey-pipe-metrics small {
    font-size: 12px !important;
  }

  .clinic-console .journey-pipe-track {
    border-radius: 6px !important;
    height: 10px !important;
  }

  .clinic-console .journey-3d-footer {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
    margin-top: 10px !important;
    padding-top: 10px !important;
  }

  .clinic-console .journey-footer-alert {
    font-size: 13px !important;
    font-weight: 600 !important;
  }

  .clinic-console .journey-retention-rate-pill {
    text-align: center !important;
    justify-content: center !important;
    padding: 4px 10px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
  }

  .clinic-console .clinic-welcome-banner {
    flex-direction: column;
    align-items: flex-start;
    padding: 16px 14px;
  }

  .clinic-console .clinic-settings-minimal__grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .clinic-console .clinic-settings-minimal__summary {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .clinic-console .clinic-settings-nav {
    margin-bottom: 12px;
    padding: 4px;
  }

  .clinic-console .clinic-settings-nav-btn {
    gap: 6px;
    padding: 6px 12px;
    font-size: 12px;
  }

  .clinic-console .clinic-settings-save-bar {
    bottom: auto;
    border-radius: 14px;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    margin-top: 20px;
    padding: 10px 14px;
    position: relative;
    inset-inline: auto;
  }

  .clinic-console .clinic-settings-save-bar .clinic-primary-cta {
    justify-content: center;
    width: 100%;
  }

  .clinic-console .clinic-settings-minimal__section {
    border-radius: 16px;
    padding: 16px 14px;
  }

  .clinic-console .clinic-activity-summary-pills {
    flex-direction: column;
    gap: 6px;
  }
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console {
  color: #f1f5f9;
  background: #090e17;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-sidebar {
  background: #0f172ad9;
  border-color: #1e293bcc;
  box-shadow: 2px 0 24px #00000040;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-sidebar .admin-nav button {
  color: #94a3b8;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-sidebar .admin-nav button:hover {
  color: #d066ef;
  background: #1e293b99;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-sidebar .admin-nav button.active {
  color: #d066ef;
  background: #7c16952e;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-sidebar-footer, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-kpi-card, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-3d-card, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-patient-table-card, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .patient-retention-workspace, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .retention-metric-card, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .support-kpi-card, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .ticket-workspace, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .ticket-thread, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-settings-minimal__section {
  color: #f1f5f9;
  background: #0f172a;
  border-color: #1e293bd9;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-welcome-banner {
  background: linear-gradient(135deg, #0f172af2, #082f4966);
  border-color: #0e749059;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-welcome-title, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-kpi-value, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-3d-title, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-directory-title-row h1, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-table-header h2, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-support-topbar-title h2, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-patient-name, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .retention-metric-val, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .support-kpi-val, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .settings-section-header h2 {
  color: #f8fafc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-search-dock, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-form-field input, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-form-field select, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-form-field textarea, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .ticket-index-search, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .ticket-index-filters select, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .ticket-composer textarea {
  color: #f1f5f9;
  background: #1e293b;
  border-color: #334155;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-modern-table th {
  color: #94a3b8;
  background: #0f172ae6;
  border-color: #1e293bcc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-modern-table td {
  color: #cbd5e1;
  border-color: #1e293b99;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-patient-row:hover {
  background: #1e293b66;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-patient-row.is-selected {
  background: #7c169524;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-row-delete-btn {
  color: #f87171;
  background: #ef444424;
  border-color: #ef444459;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-row-delete-btn:hover {
  color: #fca5a5;
  background: #ef444442;
  border-color: #ef4444a6;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-bulk-bar {
  background: linear-gradient(135deg, #0f172aeb, #1e293bd9);
  border-color: #d066ef4d;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-bulk-clear-btn {
  color: #94a3b8;
  border-color: #334155cc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-bulk-clear-btn:hover {
  color: #f8fafc;
  background: #33415580;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-bulk-exit-btn {
  color: #94a3b8;
  border-color: #334155cc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-bulk-exit-btn:hover {
  color: #f8fafc;
  background: #33415580;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-table-controls {
  background: #0f172a99;
  border-color: #1e293bcc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-table-search input {
  color: #f1f5f9;
  background: #1e293b;
  border-color: #334155cc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-table-search input:focus {
  border-color: #d066ef;
  box-shadow: 0 0 0 3px #d066ef26;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-table-search-clear {
  color: #94a3b8;
  background: #33415599;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-filter-chip {
  color: #94a3b8;
  background: #1e293b;
  border-color: #334155cc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-filter-chip:hover {
  color: #d066ef;
  border-color: #d066ef80;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-filter-chip.is-active {
  color: #d066ef;
  background: #7c169533;
  border-color: #d066ef73;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-filter-count {
  color: #cbd5e1;
  background: #334155cc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-filter-chip.is-active .clinic-filter-count {
  background: var(--brand, #7c1695);
  color: #fff;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-selection-toggle-btn {
  color: #cbd5e1;
  background: #1e293b;
  border-color: #334155cc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-selection-toggle-btn:hover {
  color: #f8fafc;
  background: #334155b3;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-selection-toggle-btn.is-active {
  color: #d066ef;
  background: #7c169533;
  border-color: #d066ef;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-delete-modal {
  color: #f8fafc;
  background: #0f172a;
  border-color: #334155d9;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-delete-modal h3 {
  color: #f8fafc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-delete-modal p {
  color: #94a3b8;
}

.clinic-theme-scope[data-clinic-theme="dark"] .delete-modal-cancel {
  color: #cbd5e1;
  background: #1e293b;
  border-color: #334155cc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .delete-modal-cancel:hover {
  color: #fff;
  background: #334155;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-3d-total-pill {
  color: #cbd5e1;
  background: #1e293b;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-3d-micro-stats, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .journey-3d-footer {
  border-color: #33415599;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .micro-stat-item strong {
  color: #f8fafc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .pillars-grid-plane {
  background: repeating-linear-gradient(to top, #33415566 0 1px, #0000 1px 36px);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .pillar-track-3d {
  background: linear-gradient(90deg, #1e293b66 0%, #334155b3 50%, #1e293b66 100%);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .pillar-shadow-floor, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .donut-3d-floor-shadow {
  background: radial-gradient(#0009 0%, #0000 70%);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .pillar-value-3d {
  color: #f8fafc;
  background: #1e293b;
  border-color: #334155;
  box-shadow: 0 4px 12px #0006;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .donut-3d-core {
  background: linear-gradient(145deg, #1e293b, #0f172a);
  box-shadow: inset 0 2px 5px #0006, inset 0 -2px 3px #ffffff0d, 0 4px 8px #0000004d;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .donut-3d-core strong {
  color: #f8fafc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .legend-3d-label, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .journey-pipe-label {
  color: #e2e8f0;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .legend-3d-count, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .journey-pipe-metrics strong {
  color: #f8fafc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .journey-pipe-track {
  background: linear-gradient(#1e293b 0%, #334155 50%, #1e293b 100%);
  box-shadow: inset 0 2px 3px #0006, 0 1px #ffffff0d;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .followup-item {
  background: #1e293b66;
  border-color: #33415599;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .followup-item:hover {
  border-color: var(--brand, #7c1695);
  background: #1e293bcc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .followup-info strong {
  color: #f8fafc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .ticket-index {
  background: #0b1120;
  border-color: #1e293bcc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .ticket-index-item:hover {
  background: #1e293b66;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .ticket-index-item.is-active {
  background: #0f172a;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .ticket-item-subject {
  color: #f8fafc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .ticket-message.is-admin {
  color: #f1f5f9;
  background: #1e293b;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-settings-save-bar {
  background: #0f172af2;
  border-color: #334155cc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .ticket-create-modal {
  color: #f8fafc;
  background: #0f172a;
  border-color: #334155cc;
  box-shadow: 0 25px 60px -12px #000000b3;
}

.clinic-theme-scope[data-clinic-theme="dark"] .ticket-create-modal header {
  background: #1e293b80;
  border-color: #33415599;
}

.clinic-theme-scope[data-clinic-theme="dark"] .ticket-create-modal header h3 {
  color: #f8fafc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .ticket-create-modal .ticket-create-modal-close {
  color: #94a3b8;
  background: #1e293b;
  border-color: #334155;
}

.clinic-theme-scope[data-clinic-theme="dark"] .ticket-create-modal .ticket-create-modal-close:hover {
  color: #f8fafc;
  background: #334155;
}

.clinic-theme-scope[data-clinic-theme="dark"] .ticket-create-modal footer {
  background: #1e293b80;
  border-color: #33415599;
}

.clinic-theme-scope[data-clinic-theme="dark"] .ticket-create-modal input, .clinic-theme-scope[data-clinic-theme="dark"] .ticket-create-modal select, .clinic-theme-scope[data-clinic-theme="dark"] .ticket-create-modal textarea {
  color: #f1f5f9;
  background: #1e293b;
  border-color: #334155;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-topbar {
  background: #0f172ad9;
  border-color: #334155b3;
  box-shadow: 0 4px 24px -2px #0006;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-search-dock {
  box-shadow: none;
  background: #1e293b99;
  border-color: #334155b3;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-search-dock:focus-within {
  background: #1e293bf2;
  border-color: #d066ef;
  box-shadow: 0 0 0 3px #d066ef26;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-topbar-return-btn {
  color: #d066ef;
  background: #d066ef1f;
  border-color: #d066ef59;
  box-shadow: 0 2px 10px #00000040;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-topbar-return-btn svg {
  color: #d066ef;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-topbar-return-btn:hover {
  color: #fff;
  background: linear-gradient(135deg, #7c1695, #931eb0);
  border-color: #0000;
  box-shadow: 0 6px 20px #d066ef4d;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-return-ping__ring {
  background: #d066ef66;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-return-ping__dot {
  background: #d066ef;
  box-shadow: 0 0 10px #d066ef;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-header-actions .clinic-theme-toggle, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-header-actions .language-switcher {
  color: #f1f5f9;
  background: linear-gradient(135deg, #131927eb, #1e182ae0);
  border-color: #d066ef38;
  box-shadow: 0 2px 10px #0003;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-header-actions .clinic-theme-toggle:hover, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-header-actions .language-switcher:hover {
  color: #d066ef;
  background: #1e182afa;
  border-color: #d066ef80;
  box-shadow: 0 4px 18px #d066ef33;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-sidebar-return {
  border-top-color: #334155cc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-sidebar-return__link {
  color: #d066ef;
  background: #d066ef14;
  border-color: #d066ef40;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-sidebar-return__link:hover {
  color: #dc84f4;
  background: #a855f72e;
  border-color: #d066ef73;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-sidebar-return__link svg {
  color: #d066ef;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .settings-section-icon {
  color: #d066ef;
  background: #a855f726;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-branding-lock {
  background: #1e293b99;
  border-color: #334155cc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-branding-lock .lock-icon {
  color: #fbbf24;
  background: #f59e0b26;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-kpi-badge {
  color: #94a3b8;
  background: #1e293bcc;
  border: 1px solid #33415599;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-kpi-card.kpi-2 .clinic-kpi-badge {
  color: #34d399;
  background: #10b98126;
  border-color: #10b98159;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-3d-retention-link {
  color: #34d399;
  background: #10b98129;
  border: 1px solid #10b9814d;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-view-all-btn {
  color: #d066ef;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-session-counter {
  color: #cbd5e1;
  background: #1e293bcc;
  border: 1px solid #334155b3;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-action-link {
  color: #d066ef;
  background: #a855f71f;
  border: 1px solid #d066ef4d;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-action-link:hover {
  color: #dc84f4;
  background: #a855f73d;
  border-color: #d066ef80;
  transform: translateX(-2px);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-action-link.is-disabled {
  color: #64748b;
  background: #1e293b66;
  border-color: #33415566;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-status-pill.ready {
  color: #34d399;
  background: #10b9812e;
  border: 1px solid #10b9814d;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-status-pill.follow {
  color: #d066ef;
  background: #7c16952e;
  border: 1px solid #d066ef4d;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-status-pill.new {
  color: #a5b4fc;
  background: #6366f12e;
  border: 1px solid #6366f14d;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-avatar-circle {
  color: #d066ef;
  background: linear-gradient(135deg, #7c169540, #931eb040);
  border: 1px solid #d066ef4d;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-search-kbd {
  color: #94a3b8;
  background: #0f172acc;
  border-color: #334155cc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-search-clear {
  color: #cbd5e1;
  background: #334155cc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .empty-state-box strong {
  color: #cbd5e1;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .retention-record-btn {
  color: #d066ef;
  background: #a855f71f;
  border: 1px solid #d066ef4d;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .retention-record-btn:hover {
  color: #dc84f4;
  background: #a855f73d;
  border-color: #d066ef80;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .retention-filter-pill {
  color: #cbd5e1;
  background: #1e293b99;
  border-color: #334155b3;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .retention-filter-pill:hover {
  color: #f8fafc;
  background: #1e293be6;
  border-color: #64748b;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .retention-filter-pill.active {
  color: #d066ef;
  background: #a855f72e;
  border-color: #d066ef;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .retention-filter-count {
  color: #cbd5e1;
  background: #334155cc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .retention-filter-pill.active .retention-filter-count {
  color: #fff;
  background: #7c1695;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .guide-step-chip {
  background: #1e293b99;
  border-color: #334155b3;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .guide-step-text {
  color: #cbd5e1;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .guide-step-num {
  color: #d066ef;
  background: #a855f733;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .patient-retention-search {
  background: #1e293b99;
  border-color: #334155b3;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .patient-retention-search input {
  color: #f1f5f9;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .retention-session-pill {
  color: #cbd5e1;
  background: #1e293bcc;
  border: 1px solid #334155b3;
  border-radius: 8px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .ticket-composer {
  background: #0f172a !important;
  border-top-color: #334155cc !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .ticket-file-button {
  color: #94a3b8;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .ticket-file-button:hover {
  color: #d066ef;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .ticket-thread-actions {
  background: #090e17 !important;
  border-top-color: #334155b3 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .ticket-sms-hint {
  color: #94a3b8;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .ticket-secondary-btn {
  color: #cbd5e1;
  background: #1e293bcc;
  border-color: #334155cc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .ticket-secondary-btn:hover {
  color: #f8fafc;
  background: #334155e6;
  border-color: #64748b;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-settings-nav {
  background: #0f172ae0;
  border-color: #334155cc;
  box-shadow: 0 4px 20px #0000004d;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-settings-nav-btn {
  color: #94a3b8;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-settings-nav-btn:hover {
  color: #f8fafc;
  background: #d066ef1f;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-settings-nav-btn.is-active {
  color: #fff;
  background: #7c1695;
  border-color: #d066ef;
  box-shadow: 0 4px 16px #d066ef4d;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .settings-section-subtitle {
  color: #94a3b8;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-settings-minimal__section {
  background: #0f172a;
  border-color: #334155d9;
  box-shadow: 0 4px 20px #00000040;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .settings-section-header {
  border-bottom-color: #33415599;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .storage-stat-card {
  background: #1e293b99;
  border-color: #334155cc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .storage-stat-card:hover {
  border-color: #d066ef66;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .storage-stat-icon {
  color: #d066ef;
  background: #d066ef1f;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .storage-val {
  color: #f8fafc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .storage-label {
  color: #94a3b8;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-storage-security-badge {
  color: #d066ef;
  background: #d066ef14;
  border-color: #d066ef40;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-branding-name-preview {
  color: #f1f5f9;
  background: #1e293b;
  border-color: #334155cc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-logo-avatar {
  background: #1e293b;
  border-color: #334155e6;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-branding-lock p {
  color: #cbd5e1;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-branding-lock .ticket-secondary-btn {
  color: #d066ef;
  background: #1e293bd9;
  border-color: #334155cc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-branding-lock .ticket-secondary-btn:hover {
  color: #dc84f4;
  background: #a855f733;
  border-color: #d066ef;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .theme-card {
  background: #1e293b99;
  border-color: #334155b3;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .theme-card:hover {
  background: #1e293be6;
  border-color: #d066ef80;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .theme-card.is-active, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .theme-card.active {
  background: #a855f726;
  border-color: #d066ef;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .theme-card-label {
  color: #f1f5f9;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .toggle-switch-track {
  background: #334155;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .toggle-label-text {
  color: #e2e8f0;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-settings-save-bar {
  background: #0f172aeb;
  border-color: #d066ef40;
  box-shadow: 0 10px 30px #00000080;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-logout-btn {
  color: #cbd5e1;
  background: #1e293bb3;
  border-color: #334155cc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-logout-btn:hover {
  color: #f87171;
  background: #ef444426;
  border-color: #ef444466;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-mobile-return-btn, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-mobile-logout-btn {
  color: #cbd5e1;
  background: #1e293b;
  border-color: #334155cc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-mobile-return-btn:hover {
  color: #d066ef;
  background: #7c169533;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-mobile-logout-btn:hover {
  color: #f87171;
  background: #ef444433;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-mobile-header {
  background: #0f172af5 !important;
  border-bottom-color: #334155d9 !important;
  box-shadow: 0 4px 24px -4px #0006 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-mobile-brand-title {
  color: #f8fafc !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-mobile-brand-badge {
  color: #d066ef !important;
  background: #7c169533 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-mobile-active-pill {
  color: #e9d5ff !important;
  background: #7c169533 !important;
  border-color: #d066ef59 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-mobile-hamburger, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .clinic-mobile-quick-return {
  color: #f8fafc !important;
  background: #1e293b !important;
  border-color: #334155d9 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-mobile-offcanvas .clinic-offcanvas-panel {
  background: #0f172a;
  border-inline-start: 1px solid #334155d9;
  box-shadow: 0 0 50px #0009;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-mobile-offcanvas .clinic-offcanvas-top, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-mobile-offcanvas .clinic-offcanvas-footer {
  border-color: #334155d9;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-mobile-offcanvas .clinic-offcanvas-clinic-info strong {
  color: #f8fafc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-mobile-offcanvas .clinic-offcanvas-close-btn {
  color: #94a3b8;
  background: #1e293b;
  border-color: #334155d9;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-mobile-offcanvas .clinic-offcanvas-item {
  color: #94a3b8;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-mobile-offcanvas .clinic-offcanvas-item-icon {
  color: #94a3b8;
  background: #1e293b;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-mobile-offcanvas .clinic-offcanvas-item:hover {
  color: #d066ef;
  background: #7c16952e;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-mobile-offcanvas .clinic-offcanvas-item.is-active {
  color: #f8fafc;
  background: #7c169540;
  border-color: #d066ef66;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-mobile-offcanvas .clinic-offcanvas-return-btn, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .ticket-mobile-back-to-list {
  color: #f8fafc;
  background: #1e293b;
  border-color: #334155d9;
}

/* [project]/apps/web/src/app/patient-retention.css [app-client] (css) */
.patient-retention-center {
  min-width: 0;
}

.patient-retention-metrics {
  gap: var(--space-4);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  min-width: 0;
  display: grid;
}

.patient-retention-metrics article {
  gap: var(--space-2);
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-md);
  min-width: 0;
  padding: var(--space-5);
  background: var(--surface-bg);
  box-shadow: var(--shadow-sm);
  display: grid;
}

.patient-retention-metrics article.urgent {
  background: linear-gradient(135deg,var(--surface-bg),var(--danger-soft));
  border-color: #bd3f5933;
}

.patient-retention-metrics span {
  color: var(--muted);
  font-size: var(--text-small);
  font-weight: 500;
  line-height: 1.6;
}

.patient-retention-metrics strong {
  color: var(--ink);
  font-size: clamp(1.55rem, 2.5vw, 2.15rem);
  font-weight: 500;
  line-height: 1;
}

.patient-retention-metrics article.urgent strong {
  color: var(--danger);
}

.patient-retention-guide {
  align-items: center;
  gap: var(--space-6);
  grid-template-columns: minmax(0, 1fr) minmax(260px, .48fr);
  display: grid;
}

.patient-retention-guide > div {
  gap: var(--space-3);
  display: grid;
}

.patient-retention-guide > div > span {
  color: var(--brand);
  font-size: var(--text-small);
  font-weight: 500;
}

.patient-retention-guide > div > div {
  gap: var(--space-3);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  display: grid;
}

.patient-retention-guide p {
  align-items: center;
  gap: var(--space-2);
  min-width: 0;
  color: var(--ink-soft);
  font-size: var(--text-small);
  margin: 0;
  font-weight: 500;
  line-height: 1.7;
  display: flex;
}

.patient-retention-guide p b {
  border-radius: var(--radius-xs);
  width: 26px;
  height: 26px;
  color: var(--brand);
  background: var(--brand-soft);
  flex: none;
  place-items: center;
  font-size: 12px;
  display: grid;
}

.patient-retention-guide > small {
  border-inline-start: 3px solid var(--brand);
  color: var(--muted);
  font-size: var(--text-small);
  padding-inline-start: var(--space-4);
  font-weight: 500;
  line-height: 1.85;
}

.patient-retention-workspace {
  gap: var(--space-5);
  padding: 0;
  display: grid;
  overflow: hidden;
}

.patient-retention-toolbar {
  align-items: end;
  gap: var(--space-5);
  padding: var(--surface-padding) var(--surface-padding) 0;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 330px);
  display: grid;
}

.patient-retention-filters {
  gap: var(--space-2);
  flex-wrap: wrap;
  min-width: 0;
  display: flex;
}

.patient-retention-filters button {
  align-items: center;
  gap: var(--space-2);
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-button);
  min-height: 42px;
  padding-inline: var(--space-4);
  color: var(--ink-soft);
  background: var(--surface);
  font: inherit;
  font-size: var(--text-control);
  cursor: pointer;
  font-weight: 500;
  transition: border-color .18s, background .18s, color .18s, box-shadow .18s;
  display: inline-flex;
}

.patient-retention-filters button b {
  border-radius: var(--radius-xs);
  min-width: 23px;
  height: 23px;
  color: var(--muted);
  background: var(--surface-muted);
  place-items: center;
  font-size: 12px;
  display: grid;
}

.patient-retention-filters button:hover {
  border-color: rgba(var(--brand-rgb),.22);
  color: var(--brand);
}

.patient-retention-filters button:focus-visible {
  box-shadow: var(--focus-ring);
  outline: 0;
}

.patient-retention-filters button.active {
  border-color: rgba(var(--brand-rgb),.2);
  color: var(--brand);
  background: var(--brand-soft);
}

.patient-retention-filters button.active b {
  color: #fff;
  background: var(--brand);
}

.patient-retention-search {
  gap: var(--space-2);
  display: grid;
}

.patient-retention-search span {
  color: var(--muted);
  font-size: var(--text-small);
  font-weight: 500;
}

.patient-retention-search input {
  width: 100%;
  height: var(--field-height);
  border: 1px solid var(--field-border);
  border-radius: var(--radius-field);
  padding-inline: var(--space-4);
  color: var(--ink);
  background: var(--field-bg);
  box-shadow: var(--field-shadow);
  font: inherit;
  font-size: var(--text-control);
}

.patient-retention-search input:focus {
  border-color: rgba(var(--brand-rgb),.38);
  box-shadow: var(--field-focus-shadow);
  outline: 0;
}

.patient-retention-table-wrap {
  min-width: 0;
  overflow: auto;
}

.patient-retention-table {
  border-spacing: 0;
  border-collapse: collapse;
  white-space: nowrap;
  width: 100%;
}

.patient-retention-table th, .patient-retention-table td {
  padding: 14px var(--space-4);
  border-bottom: 1px solid var(--line);
  text-align: start;
  vertical-align: middle;
}

.patient-retention-table th {
  color: var(--muted);
  background: var(--surface-muted);
  font-size: var(--text-small);
  font-weight: 500;
}

.patient-retention-table td {
  color: var(--ink-soft);
  font-size: var(--text-small);
}

.patient-retention-table tbody tr:last-child td {
  border-bottom: 0;
}

.patient-retention-table tbody tr:hover {
  background: var(--brand-surface);
}

.patient-retention-person {
  align-items: center;
  gap: var(--space-3);
  min-width: 190px;
  display: flex;
}

.patient-retention-person > span {
  border-radius: var(--radius-sm);
  width: 38px;
  height: 38px;
  color: var(--brand);
  background: var(--brand-soft);
  font-size: var(--text-body);
  flex: none;
  place-items: center;
  font-weight: 500;
  display: grid;
}

.patient-retention-person > div {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.patient-retention-person strong, .patient-retention-person small {
  text-overflow: ellipsis;
  max-width: 220px;
  overflow: hidden;
}

.patient-retention-person strong, .patient-retention-clinic {
  color: var(--ink);
  font-size: var(--text-body);
  font-weight: 500;
}

.patient-retention-person small {
  color: var(--muted);
  font-size: var(--text-small);
}

.patient-retention-badges {
  flex-wrap: wrap;
  gap: 6px;
  max-width: 230px;
  display: flex;
}

.patient-retention-badges span {
  border-radius: var(--radius-xs);
  padding: 5px 8px;
  font-size: 12px;
  font-weight: 500;
}

.patient-retention-badges .single {
  color: var(--brand);
  background: var(--brand-soft);
}

.patient-retention-badges .overdue {
  color: #8a5a0a;
  background: #fff4dc;
}

.patient-retention-badges .urgent {
  color: var(--danger);
  background: var(--danger-soft);
}

.patient-retention-actions {
  align-items: center;
  gap: var(--space-2);
  display: flex;
}

.patient-retention-actions .ds-action {
  min-height: 38px;
  padding-inline: var(--space-3);
}

.patient-retention-no-action {
  min-width: 38px;
  color: var(--muted);
  place-items: center;
  display: grid;
}

.patient-retention-table td.patient-retention-empty {
  height: 180px;
  color: var(--muted);
  text-align: center;
}

@media (max-width: 1100px) {
  .patient-retention-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .patient-retention-guide {
    grid-template-columns: 1fr;
  }

  .patient-retention-guide > small {
    border-inline-start: 0;
    border-top: 1px solid var(--line);
    padding: var(--space-3) 0 0;
  }

  .patient-retention-toolbar {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .patient-retention-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-bottom: 14px !important;
    display: grid !important;
  }

  .patient-retention-metrics article {
    border-radius: 18px !important;
    padding: 14px 16px !important;
    box-shadow: 0 4px 16px #0f172a08 !important;
  }

  .patient-retention-metrics strong {
    font-size: 24px !important;
    font-weight: 800 !important;
  }

  .patient-retention-guide {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    grid-template-columns: 1fr;
    margin-bottom: 14px;
    padding: 16px;
  }

  .patient-retention-guide > div > div {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .patient-retention-toolbar {
    gap: 12px !important;
    padding: 16px 14px 12px !important;
  }

  .patient-retention-filters {
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 6px !important;
    width: 100% !important;
    padding-bottom: 4px !important;
    display: flex !important;
    overflow-x: auto !important;
  }

  .patient-retention-filters::-webkit-scrollbar {
    display: none !important;
  }

  .patient-retention-filters button {
    white-space: nowrap !important;
    border-radius: 9999px !important;
    flex: none !important;
    gap: 6px !important;
    min-height: 38px !important;
    padding: 6px 14px !important;
    font-size: 12px !important;
  }

  .patient-retention-search input {
    border-radius: 12px !important;
    height: 42px !important;
    font-size: 13px !important;
  }

  .patient-retention-table-wrap {
    overflow: visible !important;
  }

  .patient-retention-table, .patient-retention-table tbody {
    flex-direction: column !important;
    width: 100% !important;
    display: flex !important;
  }

  .patient-retention-table thead {
    display: none !important;
  }

  .patient-retention-table tbody {
    gap: 12px !important;
    padding: 0 14px 16px !important;
  }

  .patient-retention-table tr {
    box-sizing: border-box !important;
    background: #fff !important;
    border: 1px solid #e2e8f0e6 !important;
    border-radius: 20px !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 16px !important;
    display: flex !important;
    box-shadow: 0 4px 18px #0f172a08 !important;
  }

  .patient-retention-table td {
    white-space: normal !important;
    border-bottom: none !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 0 !important;
    font-size: 12.5px !important;
    display: flex !important;
  }

  .patient-retention-table td:before {
    color: var(--muted, #64748b) !important;
    content: attr(data-label) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
  }

  .patient-retention-table td[data-label="کلاینت"], .patient-retention-table td[data-label="Client"] {
    border-bottom: 1px solid #f1f5f9e6 !important;
    width: 100% !important;
    margin-bottom: 2px !important;
    padding-bottom: 8px !important;
  }

  .patient-retention-table td[data-label="کلاینت"]:before, .patient-retention-table td[data-label="Client"]:before {
    display: none !important;
  }

  .patient-retention-person {
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    display: flex !important;
  }

  .patient-retention-person .retention-avatar {
    color: #7c1695 !important;
    background: #7c169514 !important;
    border-radius: 12px !important;
    width: 40px !important;
    height: 40px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
  }

  .retention-person-name {
    color: #0f172a !important;
    font-size: 14px !important;
    font-weight: 700 !important;
  }

  .retention-person-phone {
    color: #64748b !important;
    font-size: 12px !important;
  }

  .patient-retention-table td[data-label="اقدام"], .patient-retention-table td[data-label="Action"] {
    border-top: 1px solid #f1f5f9e6 !important;
    width: 100% !important;
    margin-top: 2px !important;
    padding-top: 10px !important;
  }

  .patient-retention-table td[data-label="اقدام"]:before, .patient-retention-table td[data-label="Action"]:before {
    display: none !important;
  }

  .patient-retention-actions {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    display: grid !important;
  }

  .retention-call-btn {
    color: #fff !important;
    background: linear-gradient(135deg, #10b981, #059669) !important;
    border-radius: 12px !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 6px !important;
    height: 42px !important;
    padding: 0 12px !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    box-shadow: 0 4px 12px #10b98140 !important;
  }

  .retention-record-btn {
    color: #7c1695 !important;
    background: #7c169514 !important;
    border: 1px solid #7c169540 !important;
    border-radius: 12px !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 6px !important;
    height: 42px !important;
    padding: 0 12px !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    display: inline-flex !important;
  }

  .patient-retention-table td.patient-retention-empty {
    height: auto !important;
    padding: 36px 16px !important;
    display: block !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .patient-retention-filters button {
    transition: none;
  }
}

/* [project]/apps/web/src/app/analysis.css [app-client] (css) */
.analysis-state-page {
  color: #17242d;
  background: #fff;
  place-items: center;
  min-height: 100vh;
  padding: clamp(24px, 5vw, 70px);
  display: grid;
}

.analysis-state-brand {
  position: fixed;
  inset-block-start: 24px;
  inset-inline-start: clamp(22px, 4vw, 56px);
}

.analysis-loading-card {
  text-align: center;
  justify-items: center;
  gap: 18px;
  width: min(280px, 100%);
  padding: 24px;
  display: grid;
}

.analysis-loader-visual {
  width: 64px;
  height: 64px;
  position: relative;
}

.analysis-loader-visual:before {
  border: 2px solid #dce6ed;
  border-block-start-color: var(--brand);
  content: "";
  border-radius: 50%;
  animation: 1s linear infinite analysis-spin;
  position: absolute;
  inset: 0;
}

.analysis-loader-visual > span {
  background: var(--brand);
  border-radius: 50%;
  animation: 1.4s ease-in-out infinite analysis-pulse;
  display: block;
  position: absolute;
  inset: 27px;
}

.analysis-loading-card > p {
  color: #5b6871;
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.8;
}

.analysis-failure-card {
  text-align: center;
  background: #fff;
  border: 1px solid #e2e9ee;
  border-radius: 18px;
  justify-items: center;
  width: min(620px, 100%);
  padding: clamp(30px, 5vw, 54px);
  display: grid;
}

.analysis-failure-card > span {
  aspect-ratio: 1;
  color: #fff;
  background: var(--brand);
  border-radius: 14px;
  place-items: center;
  width: 58px;
  margin-bottom: 15px;
  font-size: 18px;
  font-weight: 500;
  display: grid;
}

.analysis-failure-card > small {
  color: var(--brand);
  font-size: 13px;
  font-weight: 500;
}

.analysis-failure-card h1 {
  margin: 8px 0;
  font-size: clamp(23px, 3vw, 32px);
}

.analysis-failure-card p {
  color: #66737c;
  max-width: 490px;
  margin: 0 0 24px;
  font-size: 14px;
  line-height: 1.9;
}

.analysis-failure-card > div {
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  display: flex;
}

.analysis-failure-card a, .analysis-failure-card button {
  color: #41515c;
  cursor: pointer;
  background: #fff;
  border: 1px solid #d9e4eb;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  min-height: 46px;
  padding: 0 18px;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  display: inline-flex;
}

.analysis-failure-card button {
  border-color: var(--brand);
  color: #fff;
  background: var(--brand);
}

.analysis-failure-card button:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.analysis-embedded-state {
  background: #fff;
  border-block: 1px solid #e6edf1;
  place-items: center;
  min-height: 240px;
  padding: 20px;
  display: grid;
}

.analysis-embedded-state .analysis-loading-card, .analysis-embedded-state .analysis-failure-card {
  width: min(100%, 760px);
  margin: 0;
}

.analysis-embedded-state .analysis-state-brand {
  display: none;
}

.analysis-results-page {
  color: #17242d;
  background: #fff;
  min-height: 100vh;
}

.analysis-results-topbar {
  z-index: 10;
  background: #fff;
  border-bottom: 1px solid #e6edf1;
  justify-content: space-between;
  align-items: center;
  min-height: 68px;
  padding: 10px clamp(18px, 3vw, 52px);
  display: flex;
  position: relative;
  inset-block-start: auto;
}

.analysis-results-topbar > a {
  color: inherit;
  text-decoration: none;
}

.analysis-results-topbar nav {
  align-items: center;
  gap: 8px;
  display: flex;
}

.analysis-results-topbar nav > a {
  color: #42515b;
  background: #fff;
  border: 1px solid #dce6ec;
  border-radius: 9px;
  align-items: center;
  gap: 7px;
  min-height: 40px;
  padding: 0 13px;
  font-size: 12px;
  font-weight: 500;
  text-decoration: none;
  display: inline-flex;
}

.analysis-back-link b {
  font-size: 15px;
}

.analysis-results-shell {
  width: min(1260px, 100% - clamp(28px, 7vw, 152px));
  margin: 0 auto;
  padding: 0 0 clamp(44px, 6vw, 82px);
}

.analysis-results-embedded > .analysis-results-shell {
  width: 100%;
  padding: 0;
}

.analysis-report {
  isolation: isolate;
}

.analysis-report--clinic {
  color: inherit;
  background: none;
}

.analysis-report .analysis-report-header {
  border-bottom: 1px solid #e6edf1;
  justify-content: space-between;
  align-items: center;
  gap: 28px;
  min-height: 112px;
  padding: 24px 0;
  display: flex;
}

.analysis-report .analysis-report-identity {
  gap: 5px;
  min-width: 0;
  display: grid;
}

.analysis-report .analysis-report-identity > span {
  color: #63737e;
  font-size: 13px;
  font-weight: 500;
}

.analysis-report .analysis-report-identity h1 {
  color: #111c24;
  letter-spacing: -.02em;
  margin: 0;
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 500;
  line-height: 1.2;
}

.analysis-report .analysis-report-meta {
  border-inline-start: 1px solid #e3eaee;
  align-items: stretch;
  gap: 0;
  margin: 0;
  display: flex;
}

.analysis-report .analysis-report-meta > div {
  align-content: center;
  gap: 5px;
  min-width: 112px;
  padding: 0 18px;
  display: grid;
}

.analysis-report .analysis-report-meta > div + div {
  border-inline-start: 1px solid #e3eaee;
}

.analysis-report .analysis-report-meta dt {
  color: #74828b;
  font-size: 12px;
  font-weight: 500;
}

.analysis-report .analysis-report-meta dd {
  color: #17242d;
  margin: 0;
  font-size: 22px;
  font-weight: 500;
  line-height: 1;
}

.analysis-report .analysis-report-meta dd small {
  color: #7b8992;
  font-size: 12px;
  font-weight: 500;
}

.analysis-report .analysis-report-meta .is-good dd {
  color: #17866e;
}

.analysis-report .analysis-report-meta .is-attention dd {
  color: #247ab8;
}

.analysis-report .analysis-report-meta .is-high dd {
  color: #c53e50;
}

.analysis-report .analysis-tab-navigation {
  border-bottom: 1px solid #e6edf1;
  gap: 12px;
  padding: 18px 0 16px;
  display: grid;
}

.analysis-report .analysis-tab-navigation > header {
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  min-width: 0;
  display: flex;
}

.analysis-report .analysis-tab-navigation > header > div {
  gap: 3px;
  display: grid;
}

.analysis-report .analysis-tab-navigation > header strong {
  color: #17242d;
  font-size: 15px;
  font-weight: 500;
}

.analysis-report .analysis-tab-navigation > header span {
  color: #74828b;
  font-size: 12px;
  font-weight: 500;
}

.analysis-progress-link {
  color: #7c1695;
  background: #fff;
  border: 1px solid #cfdde5;
  border-radius: 9px;
  justify-content: center;
  align-items: center;
  min-height: 40px;
  padding: 0 14px;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  transition: border-color .18s, color .18s, background .18s;
  display: inline-flex;
}

.analysis-progress-link:hover {
  border-color: var(--brand);
  color: #fff;
  background: var(--brand);
}

.analysis-report .analysis-tab-rail {
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 4px;
  display: grid;
}

.analysis-report .analysis-tab-rail button {
  color: #63717a;
  min-width: 0;
  min-height: 40px;
  font: inherit;
  text-align: center;
  cursor: pointer;
  background: none;
  border: 0;
  border-bottom: 2px solid #0000;
  padding: 6px 8px;
  transition: border-color .2s, color .2s, background .2s;
}

.analysis-report .analysis-tab-rail button:hover {
  color: #7c1695;
  background: #fbf5fd;
}

.analysis-report .analysis-tab-rail button.active {
  border-bottom-color: var(--brand);
  color: #5c0f71;
  background: #fbf5fd;
}

.analysis-report .analysis-tab-rail button > span {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.55;
  display: block;
  overflow: hidden;
}

.analysis-report .analysis-scroll-hint {
  display: none;
}

.analysis-report .analysis-section-workspace {
  background: #fff;
  padding-top: clamp(26px, 4vw, 48px);
  scroll-margin-block-start: 82px;
  animation: .28s both analysis-section-in;
}

.analysis-report .analysis-section-header {
  border-bottom: 1px solid #e6edf1;
  justify-content: space-between;
  align-items: end;
  gap: 24px;
  padding-bottom: 22px;
  display: flex;
}

.analysis-report .analysis-section-header > div:first-child {
  gap: 5px;
  display: grid;
}

.analysis-report .analysis-section-header > div:first-child > span {
  color: #667782;
  font-size: 13px;
  font-weight: 500;
}

.analysis-report .analysis-section-header h2 {
  color: #111c24;
  letter-spacing: -.02em;
  margin: 0;
  font-size: clamp(25px, 3vw, 34px);
  font-weight: 500;
  line-height: 1.3;
}

.analysis-report .analysis-status-badge {
  --damage: #17866e;
  color: #45545e;
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.analysis-report .analysis-status-badge > i {
  background: var(--damage);
  border-radius: 50%;
  flex: none;
  width: 8px;
  height: 8px;
  display: block;
}

.analysis-report .analysis-status-badge > div {
  gap: 2px;
  display: grid;
}

.analysis-report .analysis-status-badge > div > span, .analysis-report .analysis-status-badge > div > small {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.45;
}

.analysis-report .analysis-status-badge > div > small {
  color: #72808a;
}

.analysis-report .analysis-status-badge > strong {
  color: var(--damage);
  white-space: nowrap;
  font-size: 21px;
  font-weight: 500;
}

.analysis-report .analysis-status-badge > strong small {
  color: #77858e;
  font-size: 12px;
  font-weight: 500;
}

.analysis-report .analysis-status-badge.is-attention {
  --damage: #247ab8;
}

.analysis-report .analysis-status-badge.is-high {
  --damage: #c53e50;
}

.analysis-report .analysis-status-badge.is-none {
  --damage: #7c8890;
}

.analysis-report .analysis-category-stage {
  border-bottom: 1px solid #e6edf1;
  padding: 28px 0 34px;
}

.analysis-report .analysis-category-stage > header {
  justify-content: space-between;
  align-items: end;
  gap: 18px;
  margin-bottom: 18px;
  display: flex;
}

.analysis-report .analysis-category-stage > header > div {
  gap: 5px;
  display: grid;
}

.analysis-report .analysis-category-stage > header span {
  color: #74828b;
  font-size: 13px;
  font-weight: 500;
}

.analysis-report .analysis-category-stage h3 {
  color: #17242d;
  margin: 0;
  font-size: 19px;
  font-weight: 500;
}

.analysis-chart-key {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
  display: flex;
}

.analysis-chart-key span {
  color: #65737c;
  white-space: nowrap;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 500;
  display: inline-flex;
}

.analysis-chart-key i {
  background: #17866e;
  border-radius: 50%;
  width: 7px;
  height: 7px;
}

.analysis-chart-key .is-attention i {
  background: #247ab8;
}

.analysis-chart-key .is-high i {
  background: #c53e50;
}

.analysis-report .analysis-category-columns {
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 14px;
  min-width: 0;
  display: grid;
}

.analysis-report .analysis-category-scale {
  color: #84919a;
  text-align: end;
  align-content: space-between;
  height: 304px;
  padding-bottom: 0;
  font-size: 12px;
  font-weight: 500;
  display: grid;
}

.analysis-report .analysis-category-plot {
  grid-template-columns: repeat(var(--category-count),minmax(0,1fr));
  gap: 7px;
  min-width: 0;
  display: grid;
  position: relative;
}

.analysis-report .analysis-category-plot:before {
  z-index: 0;
  content: "";
  background: repeating-linear-gradient(#0000 0 calc(25% - 1px), #edf1f4 calc(25% - 1px) 25%);
  border-block: 1px solid #edf1f4;
  position: absolute;
  inset: 0 0 70px;
}

.analysis-report .analysis-category-plot article {
  z-index: 1;
  cursor: pointer;
  outline: none;
  grid-template-rows: 22px 282px minmax(64px, auto);
  align-items: end;
  min-width: 0;
  display: grid;
  position: relative;
}

.analysis-report .analysis-category-plot article:focus-visible {
  box-shadow: var(--focus-ring);
}

.analysis-report .analysis-category-plot article > b {
  color: #697780;
  justify-self: center;
  font-size: 12px;
  font-weight: 500;
}

.analysis-report .analysis-category-plot article > div {
  justify-content: center;
  align-items: end;
  height: 282px;
  display: flex;
}

.analysis-report .analysis-category-plot article i {
  background: #17866e;
  border-radius: 99px;
  width: 4px;
  min-height: 4px;
  transition: height .32s cubic-bezier(.2, .8, .2, 1), width .2s;
  display: block;
}

.analysis-report .analysis-category-plot article:hover i {
  width: 6px;
}

.analysis-report .analysis-category-plot article.is-attention i {
  background: #247ab8;
}

.analysis-report .analysis-category-plot article.is-high i {
  background: #c53e50;
}

.analysis-report .analysis-category-plot article.is-none {
  opacity: .42;
}

.analysis-report .analysis-category-plot article > span {
  color: #45535c;
  white-space: nowrap;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  place-self: start center;
  margin-top: 10px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.35;
  display: block;
  overflow: visible;
  transform: rotate(180deg);
}

.analysis-report .analysis-visual-stage {
  border-bottom: 1px solid #e6edf1;
  padding: 34px 0;
}

.analysis-report .analysis-feature-chart {
  background: #fff;
  padding: 0;
}

.analysis-report .analysis-feature-chart > header {
  justify-content: space-between;
  align-items: end;
  gap: 16px;
  margin-bottom: 16px;
  display: flex;
}

.analysis-report .analysis-feature-chart > header > div {
  gap: 4px;
  display: grid;
}

.analysis-report .analysis-feature-chart > header span {
  color: #74828b;
  font-size: 13px;
  font-weight: 500;
}

.analysis-report .analysis-feature-chart > header strong {
  color: #17242d;
  font-size: 19px;
  font-weight: 500;
}

.analysis-report .analysis-feature-chart > header > b {
  color: #7c1695;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 500;
}

.analysis-report .analysis-overview-radar {
  min-height: 0;
}

.analysis-report .analysis-topic-profile {
  gap: 26px;
  display: grid;
}

.analysis-report .analysis-damage-scale {
  gap: 8px;
  display: grid;
}

.analysis-report .analysis-damage-scale header, .analysis-report .analysis-damage-scale footer {
  color: #71808a;
  justify-content: space-between;
  gap: 10px;
  font-size: 12px;
  font-weight: 500;
  display: flex;
}

.analysis-report .analysis-damage-scale > div {
  border-radius: 999px;
  grid-template-columns: 2fr 1.5fr 1.5fr;
  height: 8px;
  display: grid;
  position: relative;
  overflow: visible;
}

.analysis-report .analysis-damage-scale > div i {
  display: block;
}

.analysis-report .analysis-damage-scale > div .good {
  background: #dff2ec;
  border-radius: 999px 0 0 999px;
}

.analysis-report .analysis-damage-scale > div .attention {
  background: #dfeef8;
}

.analysis-report .analysis-damage-scale > div .high {
  background: #f9e1e5;
  border-radius: 0 999px 999px 0;
}

.analysis-report .analysis-damage-scale > div b {
  background: #17242d;
  width: 3px;
  height: 20px;
  position: absolute;
  inset-block-start: -6px;
}

.analysis-report .analysis-damage-scale > div b span {
  color: #fff;
  background: #17242d;
  border-radius: 5px;
  padding: 3px 6px;
  font-size: 12px;
  font-weight: 500;
  position: absolute;
  inset-block-end: 24px;
  inset-inline-start: 50%;
  transform: translateX(-50%);
}

.analysis-report .analysis-topic-breakdown > header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  display: flex;
}

.analysis-report .analysis-topic-breakdown > header strong {
  font-size: 14px;
}

.analysis-report .analysis-topic-breakdown > header small {
  color: #74828b;
  font-size: 12px;
}

.analysis-report .analysis-topic-breakdown > div {
  gap: 10px;
  display: grid;
}

.analysis-report .analysis-topic-breakdown article > header {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 5px;
  display: flex;
}

.analysis-report .analysis-topic-breakdown article span, .analysis-report .analysis-topic-breakdown article b {
  font-size: 13px;
  font-weight: 500;
}

.analysis-report .analysis-topic-breakdown article > div {
  background: #e9eff3;
  border-radius: 99px;
  height: 4px;
}

.analysis-report .analysis-topic-breakdown article i {
  background: var(--brand);
  border-radius: inherit;
  height: 100%;
  display: block;
}

.analysis-report .analysis-unavailable-chart {
  color: #687680;
  text-align: center;
  border-block: 1px dashed #dce6eb;
  align-content: center;
  place-items: center;
  gap: 10px;
  min-height: 180px;
  display: grid;
}

.analysis-report .analysis-unavailable-chart > span {
  font-size: 24px;
  font-weight: 500;
}

.analysis-report .analysis-unavailable-chart strong {
  max-width: 340px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.8;
}

.analysis-report .analysis-text-stage {
  border-bottom: 1px solid #e6edf1;
  padding: 34px 0;
}

.analysis-report .analysis-primary-column {
  gap: 30px;
  display: grid;
}

.analysis-report .analysis-evidence-section {
  padding: 34px 0 0;
}

.analysis-report .analysis-feature-evidence {
  padding: 0;
}

.analysis-report .analysis-feature-evidence > header {
  justify-content: space-between;
  align-items: end;
  gap: 12px;
  margin-bottom: 16px;
  display: flex;
}

.analysis-report .analysis-feature-evidence > header > div {
  gap: 4px;
  display: grid;
}

.analysis-report .analysis-feature-evidence > header span {
  color: #74828b;
  font-size: 13px;
  font-weight: 500;
}

.analysis-report .analysis-feature-evidence > header strong {
  font-size: 19px;
}

.analysis-report .analysis-feature-evidence > header b {
  aspect-ratio: 1;
  color: #7c1695;
  background: #fbf5fd;
  border-radius: 8px;
  place-items: center;
  width: 30px;
  font-size: 12px;
  display: grid;
}

.analysis-report .analysis-feature-evidence > div {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  display: grid;
}

.analysis-report .analysis-feature-evidence figure {
  background: #fff;
  border: 1px solid #e2e9ee;
  border-radius: 10px;
  min-width: 0;
  margin: 0;
  overflow: hidden;
}

.analysis-report .analysis-feature-evidence figure.is-clickable {
  cursor: zoom-in;
}

.analysis-report .analysis-feature-evidence img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100%;
  display: block;
}

.analysis-report .analysis-feature-evidence figcaption {
  color: #5f6d76;
  padding: 9px 10px;
}

.analysis-report .analysis-feature-evidence figcaption span {
  font-size: 12px;
  font-weight: 500;
}

.analysis-report .analysis-feature-evidence > p {
  color: #71808a;
  text-align: start;
  margin: 0;
  padding: 18px 0;
  font-size: 13px;
}

.analysis-score-ring {
  text-align: center;
  align-content: center;
  place-items: center;
  gap: 7px;
  min-width: 110px;
  padding: 10px;
  display: grid;
}

.analysis-score-ring > div {
  aspect-ratio: 1;
  background: radial-gradient(circle closest-side,#fff 76%,transparent 78% 100%),conic-gradient(var(--brand) calc(var(--score)*1%),#e0e9ee 0);
  border-radius: 50%;
  align-content: center;
  place-items: center;
  width: 62px;
  display: grid;
}

.analysis-score-ring strong {
  font-size: 20px;
  line-height: 1;
}

.analysis-score-ring small {
  font-size: 12px;
}

.analysis-score-ring > span {
  color: #677681;
  font-size: 12px;
  font-weight: 500;
}

.analysis-score-ring > span small {
  color: #84919a;
  margin-top: 3px;
  display: block;
}

.analysis-score-ring.damage-good > div {
  background: radial-gradient(circle closest-side,#fff 76%,transparent 78% 100%),conic-gradient(#17866e calc(var(--score)*1%),#dff2ec 0);
}

.analysis-score-ring.damage-attention > div {
  background: radial-gradient(circle closest-side,#fff 76%,transparent 78% 100%),conic-gradient(#247ab8 calc(var(--score)*1%),#dfeef8 0);
}

.analysis-score-ring.damage-high > div {
  background: radial-gradient(circle closest-side,#fff 76%,transparent 78% 100%),conic-gradient(#c53e50 calc(var(--score)*1%),#f9e1e5 0);
}

.analysis-score-ring.damage-none > div {
  background: radial-gradient(circle closest-side,#fff 76%,transparent 78% 100%),conic-gradient(#7c8890 calc(var(--score)*1%),#e3e8eb 0);
}

.clinical-radar {
  gap: 10px;
  width: 100%;
  min-width: 0;
  padding: 0;
  display: grid;
}

.clinical-radar-canvas {
  width: 100%;
  min-width: 0;
  overflow: hidden;
}

.clinical-radar svg {
  width: min(100%, 920px);
  height: auto;
  margin-inline: auto;
  display: block;
  overflow: visible;
}

.clinical-radar-surface {
  fill: #fff;
  stroke: #edf2f5;
  stroke-width: 1px;
}

.clinical-radar-grid {
  fill: #7c169504;
  stroke: #dce5eb;
  stroke-width: 1px;
}

.clinical-radar-spoke {
  stroke: #dce5eb;
  stroke-width: 1px;
}

.clinical-radar-axis {
  pointer-events: none;
}

.clinical-radar-axis-label {
  fill: #51616c;
  font-family: inherit;
  font-size: 13px;
  font-weight: 500;
}

.clinical-radar-halo {
  display: none;
}

.clinical-radar-area {
  fill: #7c16951a;
  stroke: #7c1695;
  stroke-width: 1.5px;
  stroke-linejoin: round;
  animation: .45s both clinical-radar-enter;
}

.clinical-radar-partial {
  fill: none;
  stroke: #7c1695;
  stroke-width: 1.5px;
  stroke-dasharray: 4 5;
}

.clinical-radar-point {
  fill: #fff;
  stroke: #7c1695;
  stroke-width: 1.5px;
}

.clinical-radar-point.is-actionable {
  cursor: pointer;
}

.clinical-radar-point.is-actionable:focus-visible {
  filter: drop-shadow(0 0 3px rgba(var(--brand-rgb),.5));
  outline: none;
}

.clinical-radar-center {
  fill: #7c1695;
  stroke: #fff;
  stroke-width: 2px;
}

.clinical-radar.is-comparison .clinical-radar-dataset.is-primary .clinical-radar-area {
  fill: #5b6c780f;
  stroke: #778791;
}

.clinical-radar.is-comparison .clinical-radar-dataset.is-primary .clinical-radar-point {
  stroke: #778791;
}

.clinical-radar.is-comparison .clinical-radar-dataset.is-secondary .clinical-radar-area {
  fill: #17866e1a;
  stroke: #17866e;
}

.clinical-radar.is-comparison .clinical-radar-dataset.is-secondary .clinical-radar-point {
  stroke: #17866e;
}

.clinical-radar-legend {
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 12px;
  display: flex;
}

.clinical-radar-legend span, .clinical-radar-legend small {
  color: #687781;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  font-size: 12px;
  font-weight: 500;
  display: inline-flex;
}

.clinical-radar-legend i {
  background: #7c1695;
  border-radius: 50%;
  width: 7px;
  height: 7px;
  display: block;
}

.clinical-radar-legend .is-secondary i {
  background: #17866e;
}

@keyframes analysis-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes analysis-pulse {
  50% {
    opacity: .48;
    transform: scale(.88);
  }
}

@keyframes analysis-section-in {
  from {
    opacity: .3;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes clinical-radar-enter {
  from {
    opacity: .35;
    transform: scale(.96);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@media (max-width: 1100px) {
  .analysis-results-shell {
    width: min(100% - 36px, 920px);
  }

  .analysis-report .analysis-tab-rail {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .analysis-report .analysis-category-plot {
    gap: 5px;
  }

  .analysis-report .analysis-category-plot article {
    grid-template-rows: 22px 252px minmax(64px, auto);
  }

  .analysis-report .analysis-category-plot article > div {
    height: 252px;
  }

  .analysis-report .analysis-category-scale {
    height: 274px;
  }
}

@media (max-width: 700px) {
  .analysis-state-page {
    padding: 84px 16px 24px;
  }

  .analysis-results-topbar {
    min-height: 62px;
    padding: 8px 14px;
  }

  .analysis-results-topbar nav > a {
    white-space: nowrap;
    justify-content: center;
    width: 40px;
    min-width: 40px;
    padding: 0;
    overflow: hidden;
  }

  .analysis-results-topbar .language-switcher > span:not(.language-flag), .analysis-results-topbar .language-switcher > svg, .analysis-back-link > span {
    display: none;
  }

  .analysis-results-shell {
    width: calc(100% - 28px);
  }

  .analysis-report .analysis-report-header {
    flex-direction: column;
    align-items: start;
    gap: 18px;
    min-height: 0;
    padding: 22px 0;
  }

  .analysis-report .analysis-report-identity h1 {
    font-size: 28px;
  }

  .analysis-report .analysis-report-meta {
    border-inline-start: 0;
    border-top: 1px solid #e3eaee;
    width: 100%;
    padding-top: 14px;
  }

  .analysis-report .analysis-report-meta > div {
    padding: 0 14px 0 0;
  }

  .analysis-report .analysis-report-meta > div + div {
    border-inline-start: 1px solid #e3eaee;
    padding-inline: 14px;
  }

  .analysis-report .analysis-tab-navigation {
    gap: 10px;
    padding: 15px 0;
  }

  .analysis-report .analysis-tab-navigation > header {
    flex-direction: column;
    align-items: flex-start;
  }

  .analysis-progress-link {
    width: 100%;
  }

  .analysis-report .analysis-tab-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3px;
  }

  .analysis-report .analysis-tab-rail button {
    min-height: 42px;
  }

  .analysis-report .analysis-section-workspace {
    padding-top: 28px;
  }

  .analysis-report .analysis-section-header {
    flex-direction: column;
    align-items: start;
    gap: 14px;
    padding-bottom: 18px;
  }

  .analysis-report .analysis-section-header h2 {
    font-size: 26px;
  }

  .analysis-report .analysis-status-badge {
    width: 100%;
  }

  .analysis-report .analysis-category-stage {
    padding: 24px 0;
  }

  .analysis-report .analysis-category-stage > header {
    flex-direction: column;
    align-items: start;
  }

  .analysis-chart-key {
    justify-content: flex-start;
  }

  .analysis-report .analysis-category-columns {
    grid-template-columns: 1fr;
  }

  .analysis-report .analysis-category-scale {
    display: none;
  }

  .analysis-report .analysis-category-plot {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 13px 7px;
  }

  .analysis-report .analysis-category-plot:before {
    display: none;
  }

  .analysis-report .analysis-category-plot article {
    grid-template-rows: 21px 180px 62px;
  }

  .analysis-report .analysis-category-plot article > div {
    background: repeating-linear-gradient(#0000 0 calc(25% - 1px), #edf1f4 calc(25% - 1px) 25%);
    height: 180px;
  }

  .analysis-report .analysis-visual-stage, .analysis-report .analysis-text-stage, .analysis-report .analysis-evidence-section {
    padding: 26px 0;
  }

  .analysis-report .analysis-feature-chart > header {
    flex-direction: column;
    align-items: start;
  }

  .analysis-report .analysis-feature-chart > header strong, .analysis-report .analysis-feature-evidence > header strong {
    font-size: 18px;
  }

  .analysis-report .analysis-feature-evidence > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .clinical-radar svg {
    width: 100%;
    max-width: 560px;
  }

  .clinical-radar-axis-label {
    font-size: 12px;
  }
}

@media (max-width: 390px) {
  .analysis-report .analysis-category-plot {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .analysis-report .analysis-feature-evidence > div {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .analysis-loader-visual:before, .analysis-loader-visual > span, .analysis-section-workspace, .clinical-radar-area {
    animation: none !important;
  }

  .analysis-progress-link, .analysis-report .analysis-tab-rail button, .analysis-report .analysis-category-plot article i {
    transition: none !important;
  }
}

.analysis-results-embedded.analysis-report .analysis-tab-navigation {
  border: 0;
  box-shadow: none;
  background: #fff;
  border-bottom: 1px solid #e6edf1;
  margin: 0;
  padding: 18px 0 16px;
  position: static;
  inset: auto;
}

.analysis-results-embedded.analysis-report .analysis-tab-rail {
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  background: none;
  border: 0;
  border-radius: 0;
  margin: 0;
  padding: 0;
  position: static;
  inset: auto;
}

.analysis-results-embedded.analysis-report .analysis-section-workspace {
  box-shadow: none;
  border: 0;
  border-radius: 0;
  display: block;
  overflow: visible;
}

.analysis-results-embedded.analysis-report .analysis-section-workspace.is-overview {
  direction: inherit;
  gap: 0;
  display: block;
}

.analysis-results-embedded.analysis-report .analysis-section-workspace.is-overview > * {
  direction: inherit;
}

.analysis-results-embedded.analysis-report .analysis-section-workspace.is-overview > .analysis-category-stage {
  box-shadow: none;
  background: none;
  border-radius: 0;
  margin: 0;
  padding: 28px 0 34px;
}

.analysis-results-embedded.analysis-report .analysis-section-workspace.is-overview .analysis-category-columns {
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 14px;
  min-height: 0;
  padding: 0;
  overflow: visible;
}

.analysis-results-embedded.analysis-report .analysis-section-workspace.is-overview .analysis-category-scale {
  height: 304px;
  font-size: 12px;
  display: grid;
}

.analysis-results-embedded.analysis-report .analysis-section-workspace.is-overview .analysis-category-plot {
  grid-template-columns: repeat(var(--category-count),minmax(0,1fr));
  gap: 7px;
  width: auto;
}

.analysis-results-embedded.analysis-report .analysis-section-workspace.is-overview .analysis-category-plot:before {
  display: block;
  inset: 0 0 70px;
}

.analysis-results-embedded.analysis-report .analysis-section-workspace.is-overview .analysis-category-plot article {
  grid-template-rows: 22px 282px minmax(64px, auto);
}

.analysis-results-embedded.analysis-report .analysis-section-workspace.is-overview .analysis-category-plot article > div {
  background: none;
  border: 0;
  border-radius: 0;
  width: auto;
  height: 282px;
  padding: 0;
}

.analysis-results-embedded.analysis-report .analysis-section-workspace.is-overview .analysis-category-plot article > span {
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.35;
}

.analysis-results-embedded.analysis-report .analysis-section-workspace.is-overview > .analysis-visual-stage {
  background: #fff;
  margin: 0;
  padding: 34px 0;
}

.analysis-results-embedded.analysis-report .analysis-section-workspace.is-overview .analysis-feature-chart {
  border-radius: 0;
  min-height: 0;
  padding: 0;
}

.analysis-results-embedded.analysis-report .analysis-section-workspace.is-overview .analysis-overview-radar {
  min-height: 0;
}

.analysis-results-embedded.analysis-report .analysis-text-stage {
  background: #fff;
  padding: 34px 0;
}

.analysis-results-embedded.analysis-report .analysis-text-stage .analysis-primary-column {
  grid-template-columns: 1fr;
  gap: 30px;
}

.analysis-results-embedded.analysis-report .analysis-evidence-section {
  padding: 34px 0 0;
}

.analysis-results-embedded.analysis-report .analysis-evidence-section .analysis-feature-evidence {
  border-radius: 0;
  padding: 0;
}

.analysis-results-embedded.analysis-report .analysis-evidence-section .analysis-feature-evidence > div {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}

@media (max-width: 700px) {
  .analysis-results-embedded.analysis-report .analysis-section-workspace.is-overview > .analysis-category-stage {
    margin: 0;
    padding: 24px 0;
  }

  .analysis-results-embedded.analysis-report .analysis-section-workspace.is-overview .analysis-category-columns {
    grid-template-columns: 1fr;
    display: grid;
  }

  .analysis-results-embedded.analysis-report .analysis-section-workspace.is-overview .analysis-category-scale {
    display: none;
  }

  .analysis-results-embedded.analysis-report .analysis-section-workspace.is-overview .analysis-category-plot {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 13px 7px;
  }

  .analysis-results-embedded.analysis-report .analysis-section-workspace.is-overview .analysis-category-plot:before {
    display: none;
  }

  .analysis-results-embedded.analysis-report .analysis-section-workspace.is-overview .analysis-category-plot article {
    grid-template-rows: 21px 180px 62px;
  }

  .analysis-results-embedded.analysis-report .analysis-section-workspace.is-overview .analysis-category-plot article > div {
    background: repeating-linear-gradient(#0000 0 calc(25% - 1px), #edf1f4 calc(25% - 1px) 25%);
    height: 180px;
  }

  .analysis-results-embedded.analysis-report .analysis-text-stage, .analysis-results-embedded.analysis-report .analysis-evidence-section {
    padding: 26px 0;
  }
}

.clinic-analysis-page {
  color: #132333;
  background: radial-gradient(circle at 82% 2%, #7c169514, #0000 28%), linear-gradient(#fbf5fd 0, #fff 480px);
  min-height: 100dvh;
}

.analysis-record-topbar {
  z-index: 10;
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  background: #ffffffeb;
  border-bottom: 1px solid #7c169524;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  min-height: 64px;
  padding: 8px clamp(22px, 3.4vw, 54px);
  display: flex;
  position: relative;
  inset-block-start: auto;
  box-shadow: 0 8px 30px #7c16950a;
}

.analysis-record-primary-nav, .analysis-record-actions {
  align-items: center;
  min-width: 0;
  display: flex;
}

.analysis-record-primary-nav {
  gap: 18px;
}

.analysis-record-actions {
  justify-content: flex-end;
  gap: 6px;
}

.analysis-record-brand {
  color: #102536;
  white-space: nowrap;
  align-items: center;
  gap: 9px;
  font-size: 18px;
  font-weight: 500;
  text-decoration: none;
  display: inline-flex;
}

.analysis-record-brand .aitricho-wordmark {
  border-radius: 10px;
  width: 36px;
  height: 36px;
  box-shadow: 0 8px 18px #7c169524;
}

.analysis-record-back, .analysis-record-actions > a, .analysis-record-actions > button {
  color: #40515d;
  white-space: nowrap;
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  gap: 7px;
  min-height: 40px;
  padding: 7px 11px;
  font: 500 12px / 1.5 inherit;
  text-decoration: none;
  transition: border-color .2s, color .2s, background .2s, transform .2s;
  display: inline-flex;
}

.analysis-record-back {
  border-inline-start-color: #7c16952e;
  border-radius: 0;
  padding-inline-start: 16px;
}

.analysis-record-back svg, .analysis-record-actions svg {
  stroke-width: 1.7px;
  flex: none;
  width: 18px;
  height: 18px;
}

.analysis-record-actions > a:hover, .analysis-record-actions > button:hover {
  color: var(--brand);
  background: var(--brand-soft);
  border-color: #7c16952e;
  transform: translateY(-1px);
}

.analysis-record-notice {
  z-index: 60;
  background: #fff;
  border: 1px solid #7c169540;
  border-radius: 12px;
  max-width: min(420px, 100% - 48px);
  margin: 0;
  padding: 11px 15px;
  font-size: 12px;
  line-height: 1.8;
  position: fixed;
  inset-block-start: 76px;
  inset-inline-end: 24px;
  box-shadow: 0 18px 44px #7c16951a;
}

.analysis-record-notice.is-sent {
  color: #176f5c;
}

.analysis-record-notice.is-failed {
  color: #ad364a;
}

.analysis-record-shell {
  width: min(100% - clamp(36px, 7vw, 104px), 1440px);
  margin-inline: auto;
  padding: 30px 0 76px;
  display: block;
}

.analysis-record-hero {
  background: radial-gradient(circle at 12% 0, #7c16951a, #0000 34%), linear-gradient(120deg, #fffffffa, #fbf5fdf0);
  border: 1px solid #7c169529;
  border-radius: 20px;
  grid-template-columns: minmax(240px, .7fr) minmax(680px, 1.3fr);
  align-items: center;
  gap: 28px;
  min-height: 136px;
  padding: 22px clamp(24px, 3vw, 44px);
  display: grid;
  position: relative;
  overflow: hidden;
  box-shadow: 0 22px 60px #7c169514;
}

.analysis-record-hero:after {
  content: "";
  pointer-events: none;
  border: 1px solid #7c16951a;
  border-radius: 50%;
  width: 250px;
  height: 250px;
  position: absolute;
  inset-block-start: -90px;
  inset-inline-end: 10%;
  box-shadow: 0 0 0 32px #7c169509, 0 0 0 64px #7c169505;
}

.analysis-record-hero > header, .analysis-hero-actions {
  z-index: 1;
  position: relative;
}

.analysis-record-hero > header {
  min-width: 0;
}

.analysis-record-hero-tags {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.analysis-hero-tag {
  color: var(--brand);
  font-size: 12px;
  font-weight: 700;
}

.analysis-hero-phone-pill, .analysis-hero-sessions-pill {
  background: var(--brand-soft);
  color: var(--brand);
  border-radius: 6px;
  align-items: center;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 600;
  display: inline-flex;
}

.analysis-record-hero h1 {
  color: #081b29;
  letter-spacing: -.02em;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin: 4px 0 0;
  font-size: clamp(30px, 2.6vw, 40px);
  font-weight: 500;
  line-height: 1.3;
  overflow: hidden;
}

.analysis-hero-actions {
  grid-template-columns: repeat(3, max-content);
  justify-content: end;
  gap: 8px;
  display: grid;
}

.analysis-hero-actions > a, .analysis-hero-actions > button {
  min-width: 0;
  min-height: 42px;
  color: var(--ink);
  white-space: nowrap;
  cursor: pointer;
  background: #fffc;
  border: 1px solid #7c169533;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  font: 500 12px / 1.45 inherit;
  text-decoration: none;
  transition: transform .2s, box-shadow .2s, background .2s;
  display: inline-flex;
  box-shadow: 0 8px 18px #7c16950d;
}

.analysis-hero-actions svg {
  stroke-width: 1.7px;
  flex: none;
  width: 17px;
  height: 17px;
}

.analysis-hero-actions > a:hover, .analysis-hero-actions > button:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px #7c16951f;
}

.analysis-hero-actions > .is-primary {
  color: #fff;
  background: linear-gradient(135deg, #7c1695, #5c0f71);
  border-color: #0000;
  box-shadow: 0 12px 26px #7c169538;
}

.analysis-hero-actions > button:disabled, .analysis-hero-actions > button.is-disabled {
  opacity: .38 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
  filter: grayscale(.85) !important;
  box-shadow: none !important;
  background: #dcdcdc66 !important;
  border-color: #8c8c8c33 !important;
  transform: none !important;
}

.analysis-session-strip {
  margin-top: 18px;
  display: block;
}

.analysis-session-strip > div {
  scrollbar-width: thin;
  gap: 8px;
  min-width: 0;
  padding: 2px 2px 8px;
  display: flex;
  overflow-x: auto;
}

.analysis-session-strip button {
  color: #273e4d;
  min-width: 142px;
  min-height: 58px;
  font: inherit;
  text-align: start;
  cursor: pointer;
  background: #ffffffe0;
  border: 1px solid #7c16952e;
  border-radius: 12px;
  align-content: center;
  gap: 3px;
  padding: 9px 14px;
  transition: border-color .2s, transform .2s, box-shadow .2s;
  display: grid;
  position: relative;
  box-shadow: 0 7px 18px #7c16950b;
}

.analysis-session-strip button:before {
  content: "";
  background: #2a9b82;
  border-radius: 0 3px 3px 0;
  width: 3px;
  position: absolute;
  inset-block: 9px;
  inset-inline-start: 0;
}

.analysis-session-strip button.is-attention:before {
  background: #931eb0;
}

.analysis-session-strip button.is-high {
  background: #fff8f9;
  border-color: #cd4f6038;
}

.analysis-session-strip button.is-high:before {
  background: #ca4a5c;
}

.analysis-session-strip button:hover, .analysis-session-strip button.active {
  transform: translateY(-1px);
  box-shadow: 0 11px 23px #7c169517;
}

.analysis-session-strip button.active {
  background: #fff;
  border-color: #7c16958c;
}

.analysis-session-strip button > span {
  font-size: 12px;
  font-weight: 500;
}

.analysis-session-strip button > time {
  color: #81919b;
  font-size: 11px;
}

.clinic-analysis-page .clinic-record-layout, .clinic-analysis-page .clinic-session-detail {
  min-width: 0;
  display: block;
}

.clinic-analysis-page .clinic-session-detail {
  gap: 32px;
  display: grid;
}

.clinic-analysis-page .analysis-results-embedded {
  width: 100%;
  margin: 30px 0 0;
}

.clinic-analysis-page .analysis-results-embedded > .analysis-results-shell {
  flex-direction: column;
  gap: 28px;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  display: flex;
}

.clinic-analysis-page .analysis-results-embedded .analysis-tab-navigation {
  background: #ffffffe6;
  border: 1px solid #7c169526;
  border-radius: 20px;
  order: 1;
  margin: 0;
  padding: 20px;
  box-shadow: 0 14px 40px #7c16950d;
}

.clinic-analysis-page .analysis-results-embedded .analysis-tab-navigation .analysis-progress-link {
  display: none;
}

.clinic-analysis-page .analysis-results-embedded .analysis-tab-navigation > header {
  margin-bottom: 4px;
}

.clinic-analysis-page .analysis-results-embedded .analysis-tab-rail {
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 8px;
}

.clinic-analysis-page .analysis-results-embedded .analysis-tab-rail button {
  min-height: 54px;
  color: var(--ink-soft);
  background: #f6f9fb;
  border: 1px solid #0000;
  border-radius: 11px;
  padding: 8px 9px;
}

.clinic-analysis-page .analysis-results-embedded .analysis-tab-rail button > span {
  white-space: normal;
  font-size: 11px;
  line-height: 1.55;
}

.clinic-analysis-page .analysis-results-embedded .analysis-tab-rail button:hover {
  background: var(--brand-soft);
  border-color: #7c169533;
}

.clinic-analysis-page .analysis-results-embedded .analysis-tab-rail button.active {
  color: var(--brand);
  background: linear-gradient(135deg, #fbf5fd, #f5e8fa);
  border-color: #7c169557;
  box-shadow: inset 0 0 0 1px #fffc, 0 8px 18px #7c169514;
}

.clinic-analysis-page .analysis-results-embedded .analysis-section-workspace {
  box-shadow: none;
  background: none;
  border: 0;
  border-radius: 0;
  order: 2;
  margin: 0;
  padding-top: 0;
  overflow: visible;
}

.clinic-analysis-page .analysis-results-embedded .analysis-section-workspace.is-overview > .analysis-section-header {
  display: none;
}

.clinic-analysis-page .analysis-results-embedded .analysis-section-workspace.is-overview > .analysis-category-stage, .clinic-analysis-page .analysis-results-embedded .analysis-section-workspace.is-overview > .analysis-visual-stage {
  background: linear-gradient(145deg, #fffffffa, #fbf5fdf2);
  border: 1px solid #7c169524;
  border-radius: 22px;
  margin: 0 0 26px;
  padding: 26px 28px 30px;
  box-shadow: 0 18px 46px #7c16950f;
}

.clinic-analysis-page .analysis-results-embedded .analysis-category-stage > header {
  margin-bottom: 20px;
}

.clinic-analysis-page .analysis-results-embedded .analysis-category-stage h3 {
  font-size: 23px;
}

.clinic-analysis-page .analysis-results-embedded.analysis-report .analysis-section-workspace.is-overview .analysis-category-columns {
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 16px;
}

.clinic-analysis-page .analysis-results-embedded.analysis-report .analysis-section-workspace.is-overview .analysis-category-scale {
  box-sizing: border-box;
  height: 248px;
  padding-block-start: 24px;
}

.clinic-analysis-page .analysis-results-embedded.analysis-report .analysis-section-workspace.is-overview .analysis-category-plot:before {
  background: repeating-linear-gradient(#0000 0 calc(25% - 1px), #7c169514 calc(25% - 1px) 25%);
  border-color: #7c169524;
  inset: 24px 0 174px;
}

.clinic-analysis-page .analysis-results-embedded .analysis-feature-chart {
  min-height: 0;
  box-shadow: none;
  background: none;
  padding: 0;
}

.clinic-analysis-page .analysis-results-embedded .analysis-feature-chart > header {
  margin-bottom: 6px;
}

.clinic-analysis-page .analysis-results-embedded .analysis-overview-radar {
  max-width: 980px;
  margin-inline: auto;
}

.clinic-analysis-page .analysis-results-embedded .clinical-radar svg {
  width: min(100%, 920px);
}

.clinic-analysis-page .analysis-results-embedded .clinical-radar-axis-label {
  unicode-bidi: plaintext;
  font-size: 13px;
}

.clinic-analysis-page .analysis-results-embedded .clinical-radar-surface {
  fill: #ffffffb8;
  filter: drop-shadow(0 24px 34px #7c16950f);
}

.clinic-analysis-page .analysis-results-embedded .clinical-radar-area {
  fill: #7c169524;
  filter: drop-shadow(0 9px 15px #7c169524);
}

.clinic-analysis-page .analysis-results-embedded .analysis-text-stage {
  box-shadow: none;
  background: none;
  border: 0;
  border-radius: 0;
  margin: 0;
  padding: 0;
}

.clinic-analysis-page .analysis-results-embedded.analysis-report .analysis-text-stage .analysis-primary-column {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 24px;
}

.clinic-analysis-page .analysis-results-embedded .analysis-report-stack {
  flex-direction: column;
  height: 100%;
  display: flex;
}

.clinic-analysis-page .analysis-topic-profile {
  background: linear-gradient(145deg, #fff, #fbf5fd);
  border: 1px solid #7c169524;
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 16px 38px #7c16950f;
}

.clinic-analysis-page .analysis-topic-breakdown article > div {
  background: #f5e8fa;
  height: 9px;
  overflow: visible;
  box-shadow: inset 0 2px 3px #7c169514;
}

.clinic-analysis-page .analysis-topic-breakdown article i {
  background: linear-gradient(#dc84f4, #7c1695 70%, #5c0f71);
  position: relative;
  box-shadow: 0 5px 10px #7c169533, inset 0 1px #ffffff73;
}

.clinic-analysis-page .clinic-capture-gallery {
  background: #fff;
  border: 1px solid #7c169524;
  border-radius: 22px;
  margin: 0;
  overflow: hidden;
  box-shadow: 0 18px 46px #7c16950f;
}

.clinic-analysis-page .clinic-capture-gallery > header {
  border: 0;
  padding: 24px 28px 18px;
}

.clinic-analysis-page .clinic-capture-gallery > div {
  gap: 14px;
  padding: 0 28px 28px;
}

.clinic-analysis-page .clinic-capture-gallery figure {
  background: #fff;
  border: 1px solid #7c169524;
  border-radius: 14px;
  box-shadow: 0 10px 24px #7c16950f;
}

@media (max-width: 1240px) {
  .analysis-record-hero {
    grid-template-columns: 1fr;
  }

  .analysis-hero-actions {
    justify-content: start;
    width: 100%;
  }

  .analysis-record-shell {
    width: calc(100% - 36px);
  }

  .clinic-analysis-page .analysis-results-embedded .analysis-tab-rail {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .analysis-record-topbar {
    z-index: 50 !important;
    min-height: 54px !important;
    padding: max(8px, env(safe-area-inset-top, 0px)) 12px 8px !important;
    -webkit-backdrop-filter: blur(16px) !important;
    background: #fffffff0 !important;
    border-bottom: 1px solid #e2e8f0d9 !important;
    gap: 8px !important;
    position: sticky !important;
    top: 0 !important;
    box-shadow: 0 4px 20px -4px #0f172a0d !important;
  }

  .analysis-record-primary-nav {
    gap: 8px !important;
  }

  .analysis-record-brand bdi {
    display: none !important;
  }

  .analysis-record-brand .aitricho-wordmark {
    border-radius: 9px !important;
    width: 32px !important;
    height: 32px !important;
  }

  .analysis-record-back {
    background: #fff !important;
    border: 1px solid #e2e8f0e6 !important;
    border-radius: 9px !important;
    align-items: center !important;
    gap: 4px !important;
    height: 34px !important;
    padding: 0 8px !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    display: inline-flex !important;
  }

  .analysis-record-back span {
    display: inline-block !important;
  }

  .analysis-record-actions {
    gap: 6px !important;
  }

  .analysis-record-actions > button, .analysis-record-actions > a {
    background: #fff !important;
    border: 1px solid #e2e8f0e6 !important;
    border-radius: 9px !important;
    justify-content: center !important;
    align-items: center !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    display: inline-flex !important;
  }

  .analysis-record-actions button > span {
    display: none !important;
  }

  .analysis-record-actions svg {
    width: 16px !important;
    height: 16px !important;
  }

  .analysis-record-shell {
    width: 100% !important;
    max-width: 100vw !important;
    padding: 12px 14px 64px !important;
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 64px) !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  .analysis-record-hero {
    background: linear-gradient(135deg, #fff 0%, #fafcff 100%) !important;
    border: 1px solid #e2e8f0e6 !important;
    border-radius: 20px !important;
    flex-direction: column !important;
    gap: 14px !important;
    margin-bottom: 12px !important;
    padding: 18px 16px !important;
    display: flex !important;
    box-shadow: 0 4px 18px #0f172a0a !important;
  }

  .analysis-record-hero > header {
    flex-direction: column !important;
    gap: 4px !important;
    display: flex !important;
  }

  .analysis-record-hero > header span {
    color: var(--brand, #7c1695) !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
  }

  .analysis-record-hero h1 {
    color: #0f172a !important;
    white-space: normal !important;
    margin: 0 !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
  }

  .analysis-hero-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    justify-content: stretch !important;
    gap: 8px !important;
    width: 100% !important;
    display: grid !important;
  }

  .analysis-hero-actions > .is-primary {
    border-radius: 12px !important;
    grid-column: 1 / -1 !important;
    height: 44px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
  }

  .analysis-hero-actions > button:not(.is-primary), .analysis-hero-actions > a:not(.is-primary) {
    border-radius: 12px !important;
    height: 40px !important;
    padding: 0 8px !important;
    font-size: 12px !important;
  }

  .analysis-session-strip {
    width: 100% !important;
    margin-top: 10px !important;
    margin-bottom: 12px !important;
  }

  .analysis-session-strip > div {
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 8px !important;
    padding: 2px 2px 6px !important;
    display: flex !important;
    overflow-x: auto !important;
  }

  .analysis-session-strip > div::-webkit-scrollbar {
    display: none !important;
  }

  .analysis-session-strip button {
    border-radius: 12px !important;
    flex: none !important;
    min-width: 118px !important;
    min-height: 50px !important;
    padding: 6px 12px !important;
  }

  .clinic-analysis-page .analysis-results-embedded {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 10px !important;
    overflow-x: hidden !important;
  }

  .clinic-analysis-page .analysis-results-embedded .analysis-tab-navigation {
    background: #fff !important;
    border: 1px solid #e2e8f0e6 !important;
    border-radius: 18px !important;
    padding: 12px 14px !important;
    box-shadow: 0 4px 18px #0f172a08 !important;
  }

  .clinic-analysis-page .analysis-results-embedded .analysis-tab-rail {
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    flex-direction: row !important;
    grid-template-columns: none !important;
    gap: 6px !important;
    width: 100% !important;
    padding: 2px 0 !important;
    display: flex !important;
    overflow-x: auto !important;
  }

  .clinic-analysis-page .analysis-results-embedded .analysis-tab-rail::-webkit-scrollbar {
    display: none !important;
  }

  .clinic-analysis-page .analysis-results-embedded .analysis-tab-rail button {
    white-space: nowrap !important;
    border-radius: 9999px !important;
    flex: none !important;
    min-height: 38px !important;
    padding: 6px 14px !important;
    font-size: 12px !important;
  }

  .clinic-analysis-page .analysis-results-embedded .analysis-section-workspace.is-overview > .analysis-category-stage, .clinic-analysis-page .analysis-results-embedded .analysis-section-workspace.is-overview > .analysis-visual-stage {
    box-sizing: border-box !important;
    background: #fff !important;
    border: 1px solid #e2e8f0e6 !important;
    border-radius: 20px !important;
    margin-bottom: 16px !important;
    padding: 16px 14px !important;
    overflow-x: hidden !important;
    box-shadow: 0 4px 18px #0f172a08 !important;
  }

  .clinic-analysis-page .analysis-results-embedded .analysis-category-columns {
    -webkit-overflow-scrolling: touch !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    overflow-x: auto !important;
  }

  .clinic-analysis-page .analysis-results-embedded .analysis-category-plot {
    min-width: 600px !important;
    padding-bottom: 12px !important;
  }

  .clinic-analysis-page .analysis-results-embedded .clinical-radar svg {
    width: min(100%, 300px) !important;
    height: auto !important;
    margin: 0 auto !important;
    display: block !important;
  }

  .analysis-ai-insights-grid {
    flex-direction: column !important;
    gap: 14px !important;
    width: 100% !important;
    display: flex !important;
  }

  :is(.analysis-narrative-card, .analysis-insight-card), .clinic-analysis-page :is(.analysis-narrative-card, .analysis-insight-card) {
    box-sizing: border-box !important;
    border-radius: 20px !important;
    width: 100% !important;
    padding: 18px 16px 16px !important;
    box-shadow: 0 4px 18px #0f172a08 !important;
  }

  .analysis-narrative-text {
    font-size: 13.5px !important;
    line-height: 1.8 !important;
  }

  .clinic-analysis-page .clinic-capture-gallery {
    box-sizing: border-box !important;
    background: #fff !important;
    border: 1px solid #e2e8f0e6 !important;
    border-radius: 20px !important;
    box-shadow: 0 4px 18px #0f172a08 !important;
  }

  .clinic-analysis-page .clinic-capture-gallery > header {
    padding: 16px 16px 12px !important;
  }

  .clinic-analysis-page .clinic-capture-gallery > div {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding: 0 14px 16px !important;
    display: grid !important;
  }

  .clinic-analysis-page .clinic-capture-gallery figure {
    border-radius: 14px !important;
    overflow: hidden !important;
  }
}

.analysis-ai-narrative-section {
  box-sizing: border-box;
  width: 100%;
  margin-top: 8px;
  margin-bottom: 30px;
  background: none !important;
  border: none !important;
  padding: 0 !important;
}

.analysis-ai-insights-grid {
  box-sizing: border-box;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 24px;
  width: 100%;
  display: grid;
}

.analysis-insight-card-wrapper {
  flex-direction: column;
  min-width: 0;
  height: 100%;
  display: flex;
}

:is(.analysis-narrative-card, .analysis-insight-card), .analysis-report :is(.analysis-narrative-card, .analysis-insight-card), .analysis-results-embedded :is(.analysis-narrative-card, .analysis-insight-card), .clinic-analysis-page :is(.analysis-narrative-card, .analysis-insight-card), .analysis-ai-insights-grid :is(.analysis-narrative-card, .analysis-insight-card) {
  flex-direction: column;
  height: 100%;
  transition: transform .25s, box-shadow .25s, border-color .25s;
  display: flex;
  position: relative;
  overflow: hidden;
  box-sizing: border-box !important;
  background: linear-gradient(#fff 0%, #fafcff 100%) !important;
  border: 1px solid #91b3c859 !important;
  border-radius: 24px !important;
  padding: 28px 28px 22px !important;
  box-shadow: 0 10px 30px -4px #1b31400d, 0 2px 6px #1b314005 !important;
}

:is(.analysis-narrative-card, .analysis-insight-card):hover {
  transform: translateY(-2px);
  border-color: #91b3c880 !important;
  box-shadow: 0 18px 42px -4px #1b314014, 0 4px 10px #1b314008 !important;
}

.analysis-narrative-ambient {
  top: 0;
  pointer-events: none;
  z-index: 0;
  background: radial-gradient(circle, #7c169512 0%, #0000 70%);
  border-radius: 50%;
  width: 220px;
  height: 220px;
  position: absolute;
  inset-inline-end: 0;
  transform: translate(25%, -25%);
}

.analysis-insight-ambient {
  top: 0;
  pointer-events: none;
  z-index: 0;
  background: radial-gradient(circle, #10b98114 0%, #0000 70%);
  border-radius: 50%;
  width: 220px;
  height: 220px;
  position: absolute;
  inset-inline-end: 0;
  transform: translate(25%, -25%);
}

:is(.analysis-narrative-header, .analysis-insight-header), :is(.analysis-narrative-card, .analysis-insight-card) > header, .analysis-report :is(.analysis-narrative-card, .analysis-insight-card) > header {
  z-index: 1;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  display: flex;
  position: relative;
  border: none !important;
  border-bottom: 1px solid #91b3c82e !important;
  margin: 0 0 20px !important;
  padding: 0 0 18px !important;
}

.analysis-narrative-header-start, .analysis-insight-header-start {
  align-items: center;
  gap: 14px;
  min-width: 0;
  display: flex;
}

.analysis-card-title-group {
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  display: flex;
}

.analysis-narrative-icon {
  color: #7c1695;
  background: linear-gradient(135deg, #7c16951f, #6366f129);
  border: 1px solid #7c169533;
  border-radius: 14px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  display: flex;
  box-shadow: 0 4px 14px #7c169517;
}

.analysis-insight-icon {
  color: #059669;
  background: linear-gradient(135deg, #10b9811f, #0d948829);
  border: 1px solid #10b98133;
  border-radius: 14px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  display: flex;
  box-shadow: 0 4px 14px #10b98117;
}

.analysis-ai-badge {
  color: #7c1695;
  background: #7c169514;
  border: 1px solid #7c16952e;
  border-radius: 999px;
  align-items: center;
  gap: 5px;
  width: fit-content;
  padding: 2px 9px;
  font-size: 11px;
  font-weight: 700;
  display: inline-flex;
}

.analysis-ai-sparkle {
  color: #9333ea;
  font-size: 12px;
}

.analysis-insight-badge {
  color: #059669;
  background: #10b98114;
  border: 1px solid #10b9812e;
  border-radius: 999px;
  align-items: center;
  gap: 5px;
  width: fit-content;
  padding: 2px 9px;
  font-size: 11px;
  font-weight: 700;
  display: inline-flex;
}

.analysis-insight-dot {
  color: #10b981;
  font-size: 8px;
}

:is(.analysis-narrative-title, .analysis-insight-title), :is(.analysis-narrative-card, .analysis-insight-card) h3, .analysis-report :is(.analysis-narrative-card, .analysis-insight-card) h3 {
  letter-spacing: -.3px;
  color: #1e293b !important;
  margin: 0 !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

.analysis-insight-count-pill {
  color: #047857;
  white-space: nowrap;
  background: #10b98117;
  border: 1px solid #10b98133;
  border-radius: 999px;
  align-items: center;
  padding: 4px 12px;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
}

.analysis-narrative-body, .analysis-insight-body {
  z-index: 1;
  flex-direction: column;
  flex: auto;
  display: flex;
  position: relative;
}

.analysis-narrative-body {
  position: relative;
  padding: 4px 0 10px !important;
}

.analysis-narrative-lead-quote {
  top: -14px;
  color: #7c16951f;
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
  font-family: Georgia, serif;
  font-size: 44px;
  line-height: 1;
  position: absolute;
  inset-inline-start: -6px;
}

.analysis-narrative-text, :is(.analysis-narrative-card, .analysis-insight-card) > p, .analysis-narrative-card p, .analysis-report :is(.analysis-narrative-card, .analysis-insight-card) > p, .analysis-report .analysis-narrative-card p {
  z-index: 1;
  position: relative;
  color: #2d3f50 !important;
  text-align: justify !important;
  text-align-last: start !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 14.5px !important;
  font-weight: 450 !important;
  line-height: 2.15 !important;
}

.analysis-insight-body {
  padding: 2px 0 6px !important;
}

.analysis-insight-list, .analysis-insight-card ul, .analysis-report .analysis-insight-card ul {
  flex-direction: column !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: flex !important;
}

.analysis-insight-item, .analysis-insight-card li, .analysis-report .analysis-insight-card li {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0f2 !important;
  border-radius: 14px !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  transition: all .2s !important;
  display: flex !important;
  box-shadow: 0 1px 3px #0f172a08 !important;
}

.analysis-insight-card li + li, .analysis-report .analysis-insight-card li + li {
  border-top: 1px solid #e2e8f0f2 !important;
}

.analysis-insight-item:hover {
  transform: translateX(-3px);
  background: #fff !important;
  border-color: #10b98159 !important;
  box-shadow: 0 6px 16px -2px #10b98114 !important;
}

[dir="ltr"] .analysis-insight-item:hover {
  transform: translateX(3px);
}

.analysis-insight-index {
  color: #fff;
  background: linear-gradient(135deg, #10b981, #059669);
  border-radius: 7px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  margin-top: 2px;
  font-size: 11.5px;
  font-weight: 700;
  display: flex;
  box-shadow: 0 2px 6px #10b98138;
}

.analysis-insight-item-text, .analysis-insight-card li > p, .analysis-insight-card li p, .analysis-report .analysis-insight-card li > p, .analysis-report .analysis-insight-card li p {
  color: #1e293b !important;
  text-align: justify !important;
  text-align-last: start !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 14px !important;
  font-weight: 450 !important;
  line-height: 1.85 !important;
}

.analysis-insight-empty-state {
  color: #94a3b8;
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 28px 14px;
  display: flex;
}

.analysis-insight-empty-state p {
  margin: 0;
  font-size: 13.5px;
  font-weight: 500;
}

.analysis-card-footer, :is(.analysis-narrative-card, .analysis-insight-card) > footer, .analysis-report :is(.analysis-narrative-card, .analysis-insight-card) > footer {
  z-index: 1;
  align-items: center;
  display: flex;
  position: relative;
  border: none !important;
  border-top: 1px solid #91b3c829 !important;
  margin-top: auto !important;
  padding-top: 14px !important;
}

.analysis-footer-tag {
  color: #64748b;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  font-weight: 500;
  line-height: 1.5;
  display: inline-flex;
}

.analysis-footer-tag svg {
  opacity: .75;
  flex-shrink: 0;
}

@media (max-width: 960px) {
  .analysis-ai-insights-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  :is(.analysis-narrative-card, .analysis-insight-card), .analysis-report :is(.analysis-narrative-card, .analysis-insight-card), .clinic-analysis-page :is(.analysis-narrative-card, .analysis-insight-card), .clinic-analysis-page .analysis-results-embedded :is(.analysis-narrative-card, .analysis-insight-card) {
    border-radius: 20px !important;
    padding: 22px 20px 18px !important;
  }
}

.analysis-topic-hero {
  background: linear-gradient(135deg, #fffffffa, #f4fafef0);
  border: 1px solid #91b3c852;
  border-radius: 24px;
  margin-bottom: 28px;
  padding: 30px 36px;
  transition: border-color .25s, box-shadow .25s;
  position: relative;
  overflow: hidden;
  box-shadow: 0 16px 44px #1d4e6c14, 0 2px 10px #1d4e6c08;
}

.analysis-topic-hero-ambient {
  top: 0;
  pointer-events: none;
  background: radial-gradient(circle, #1478af12 0%, #0000 70%);
  border-radius: 50%;
  width: 320px;
  height: 320px;
  position: absolute;
  inset-inline-end: 0;
  transform: translate(25%, -25%);
}

.analysis-topic-hero.is-good .analysis-topic-hero-ambient {
  background: radial-gradient(circle, #16a34a14 0%, #0000 70%);
}

.analysis-topic-hero.is-attention .analysis-topic-hero-ambient {
  background: radial-gradient(circle, #d9770614 0%, #0000 70%);
}

.analysis-topic-hero.is-high .analysis-topic-hero-ambient {
  background: radial-gradient(circle, #e11d4814 0%, #0000 70%);
}

.analysis-topic-hero-main {
  z-index: 1;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 36px;
  display: grid;
  position: relative;
}

.analysis-topic-hero-identity {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.analysis-topic-hero-badge-row {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: flex;
}

.analysis-topic-category-pill {
  color: #1565c0;
  background: #1565c014;
  border: 1px solid #1565c029;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
}

.analysis-topic-ping-badge {
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  padding: 5px 14px;
  font-size: 12.5px;
  font-weight: 700;
  transition: all .25s;
  display: inline-flex;
}

.ping-dot-container {
  justify-content: center;
  align-items: center;
  width: 10px;
  height: 10px;
  display: inline-flex;
  position: relative;
}

.ping-dot-core {
  border-radius: 50%;
  width: 8px;
  height: 8px;
  display: inline-block;
  position: relative;
}

.ping-dot-ring {
  border-radius: 50%;
  animation: 2s cubic-bezier(0, 0, .2, 1) infinite analysisPingPulse;
  position: absolute;
  inset: -2px;
}

@keyframes analysisPingPulse {
  0% {
    opacity: .8;
    transform: scale(.9);
  }

  75%, 100% {
    opacity: 0;
    transform: scale(2.3);
  }
}

.analysis-topic-ping-badge.is-good {
  color: #059669;
  background: #10b9811f;
  border: 1px solid #10b98140;
}

.analysis-topic-ping-badge.is-good .ping-dot-core {
  background: #10b981;
}

.analysis-topic-ping-badge.is-good .ping-dot-ring {
  background: #10b98173;
}

.analysis-topic-ping-badge.is-attention {
  color: #d97706;
  background: #f59e0b1f;
  border: 1px solid #f59e0b40;
}

.analysis-topic-ping-badge.is-attention .ping-dot-core {
  background: #f59e0b;
}

.analysis-topic-ping-badge.is-attention .ping-dot-ring {
  background: #f59e0b73;
}

.analysis-topic-ping-badge.is-high {
  color: #e11d48;
  background: #f43f5e1f;
  border: 1px solid #f43f5e40;
}

.analysis-topic-ping-badge.is-high .ping-dot-core {
  background: #f43f5e;
}

.analysis-topic-ping-badge.is-high .ping-dot-ring {
  background: #f43f5e73;
}

.analysis-topic-ping-badge.is-neutral {
  color: #64748b;
  background: #94a3b81f;
  border: 1px solid #94a3b840;
}

.analysis-topic-ping-badge.is-neutral .ping-dot-core {
  background: #94a3b8;
}

.analysis-topic-ping-badge.is-neutral .ping-dot-ring {
  display: none;
}

.analysis-topic-hero-title {
  color: #0f172a;
  letter-spacing: -.02em;
  margin: 0;
  font-size: clamp(24px, 2.4vw, 32px);
  font-weight: 800;
  line-height: 1.3;
}

.analysis-topic-hero-subtitle {
  color: #475569;
  max-width: 640px;
  margin: 0;
  font-size: 15px;
  line-height: 1.8;
}

.analysis-topic-hero-meter {
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  display: flex;
}

.analysis-topic-compact-meter {
  background: #ffffffeb;
  border: 1px solid #91b3c859;
  border-radius: 16px;
  flex-direction: column;
  gap: 8px;
  min-width: 230px;
  padding: 14px 18px;
  display: flex;
  box-shadow: 0 4px 16px #1d4e6c0d;
}

.compact-meter-head {
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  display: flex;
}

.compact-meter-label {
  color: #475569;
  font-size: 13px;
  font-weight: 700;
}

.compact-meter-score {
  align-items: baseline;
  gap: 3px;
  display: flex;
}

.compact-meter-score strong {
  color: #0f172a;
  font-size: 26px;
  font-weight: 800;
  line-height: 1;
}

.compact-meter-score small {
  color: #94a3b8;
  font-size: 13px;
  font-weight: 600;
}

.compact-meter-track {
  background: #cbd5e166;
  border-radius: 999px;
  width: 100%;
  height: 8px;
  overflow: hidden;
}

.compact-meter-fill {
  border-radius: 999px;
  height: 100%;
  transition: width .8s cubic-bezier(.16, 1, .3, 1);
}

.compact-meter-fill.is-good {
  background: linear-gradient(90deg, #10b981, #059669);
  box-shadow: 0 0 8px #10b98166;
}

.compact-meter-fill.is-attention {
  background: linear-gradient(90deg, #f59e0b, #d97706);
  box-shadow: 0 0 8px #f59e0b66;
}

.compact-meter-fill.is-high {
  background: linear-gradient(90deg, #f43f5e, #e11d48);
  box-shadow: 0 0 8px #f43f5e66;
}

.compact-meter-fill.is-neutral {
  background: #94a3b8;
}

.analysis-topic-micro-metrics {
  border-top: 1px solid #91b3c838;
  margin-top: 26px;
  padding-top: 22px;
}

.micro-metrics-header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
  display: flex;
}

.micro-metrics-header strong {
  color: #1e293b;
  font-size: 13.5px;
  font-weight: 700;
}

.micro-metrics-header span {
  color: #64748b;
  font-size: 12px;
}

.micro-metrics-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  display: grid;
}

.micro-metric-card {
  background: #ffffffd9;
  border: 1px solid #cbd5e180;
  border-radius: 14px;
  flex-direction: column;
  gap: 8px;
  padding: 12px 14px;
  display: flex;
  box-shadow: 0 2px 8px #1d4e6c05;
}

.micro-metric-info {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.micro-metric-label {
  color: #334155;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 12.5px;
  font-weight: 600;
  overflow: hidden;
}

.micro-metric-val {
  font-size: 13px;
  font-weight: 800;
}

.micro-metric-val.is-good {
  color: #16a34a;
}

.micro-metric-val.is-attention {
  color: #d97706;
}

.micro-metric-val.is-high {
  color: #e11d48;
}

.micro-metric-bar-bg {
  background: #f1f5f9;
  border-radius: 999px;
  height: 6px;
  overflow: hidden;
}

.micro-metric-bar-fill {
  border-radius: 999px;
  height: 100%;
  transition: width .6s cubic-bezier(.16, 1, .3, 1);
}

.micro-metric-bar-fill.is-good {
  background: linear-gradient(90deg, #4ade80, #16a34a);
}

.micro-metric-bar-fill.is-attention {
  background: linear-gradient(90deg, #fcd34d, #d97706);
}

.micro-metric-bar-fill.is-high {
  background: linear-gradient(90deg, #fb7185, #e11d48);
}

.analysis-neural-scanner-stage {
  place-items: center;
  min-height: 480px;
  padding: 40px 20px;
  display: grid;
}

.analysis-neural-scanner-card {
  text-align: center;
  background: radial-gradient(circle at 50% 0, #7c169514 0%, #0000 60%), linear-gradient(#fff 0%, #f8fafc 100%);
  border: 1px solid #91b3c859;
  border-radius: 28px;
  flex-direction: column;
  align-items: center;
  width: min(620px, 100%);
  padding: 44px 36px 40px;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 24px 60px #0e3c5a17, 0 4px 16px #0e3c5a08;
}

.neural-scanner-visual {
  place-items: center;
  width: 120px;
  height: 120px;
  margin-bottom: 28px;
  display: grid;
  position: relative;
}

.neural-pulse-glow {
  background: radial-gradient(circle, #7c169538 0%, #0000 70%);
  border-radius: 50%;
  animation: 2.2s ease-in-out infinite alternate neural-pulse;
  position: absolute;
  inset: -16px;
}

.neural-ring {
  border-radius: 50%;
  position: absolute;
}

.neural-ring.outer {
  border: 2px dashed #7c169573;
  animation: 12s linear infinite neural-spin-cw;
  inset: 0;
}

.neural-ring.middle {
  border: 2px solid #0000;
  border-color: #7c1695 #0000 #d066ef;
  animation: 5s linear infinite neural-spin-ccw;
  inset: 12px;
}

.neural-core {
  color: #fff;
  background: linear-gradient(135deg, #7c1695, #5c0f71);
  border-radius: 50%;
  place-items: center;
  width: 68px;
  height: 68px;
  display: grid;
  position: relative;
  box-shadow: 0 8px 24px #7c169566, inset 0 2px 4px #ffffff4d;
}

.neural-scanner-content {
  flex-direction: column;
  align-items: center;
  width: 100%;
  display: flex;
}

.neural-scanner-eyebrow {
  color: #7c1695;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
}

.neural-ai-badge {
  letter-spacing: .05em;
  background: #7c16951a;
  border-radius: 6px;
  padding: 3px 9px;
  font-size: 11px;
}

.neural-live-dot {
  background: #10b981;
  border-radius: 50%;
  width: 6px;
  height: 6px;
  animation: 1.4s ease-in-out infinite neural-live-pulse;
  box-shadow: 0 0 0 3px #10b98140;
}

.neural-scanner-title {
  color: #0f172a;
  margin: 0 0 16px;
  font-size: clamp(20px, 2.2vw, 24px);
  font-weight: 800;
  line-height: 1.4;
}

.neural-stage-rotator {
  justify-content: center;
  align-items: center;
  min-height: 48px;
  margin-bottom: 20px;
  display: flex;
}

.neural-stage-message {
  color: #334155;
  margin: 0;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.7;
  animation: .4s ease-out neural-msg-enter;
}

.neural-progress-track {
  background: #e2e8f0;
  border-radius: 999px;
  width: min(380px, 100%);
  height: 6px;
  margin-bottom: 18px;
  position: relative;
  overflow: hidden;
}

.neural-progress-bar {
  background: linear-gradient(90deg, #d066ef, #7c1695, #931eb0);
  border-radius: 999px;
  width: 45%;
  animation: 2s ease-in-out infinite neural-progress-sweep;
  position: absolute;
  top: 0;
  bottom: 0;
}

.neural-scanner-meta {
  color: #64748b;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 600;
  display: flex;
}

@keyframes neural-spin-cw {
  to {
    transform: rotate(360deg);
  }
}

@keyframes neural-spin-ccw {
  to {
    transform: rotate(-360deg);
  }
}

@keyframes neural-pulse {
  0% {
    opacity: .4;
    transform: scale(.94);
  }

  100% {
    opacity: .9;
    transform: scale(1.08);
  }
}

@keyframes neural-live-pulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }

  50% {
    opacity: .4;
    transform: scale(.85);
  }
}

@keyframes neural-msg-enter {
  from {
    opacity: 0;
    transform: translateY(6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes neural-progress-sweep {
  0% {
    left: -45%;
  }

  50% {
    left: 45%;
  }

  100% {
    left: 100%;
  }
}

@media (max-width: 768px) {
  .analysis-topic-hero {
    border-radius: 18px;
    padding: 24px 20px;
  }

  .analysis-topic-hero-main {
    text-align: center;
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .analysis-topic-hero-identity {
    align-items: center;
  }

  .analysis-topic-scale-bar {
    justify-content: center;
  }

  .analysis-neural-scanner-card {
    padding: 32px 20px;
  }
}

html[data-clinic-theme="dark"] .analysis-topic-hero, body[data-clinic-theme="dark"] .analysis-topic-hero, .clinic-theme-scope[data-clinic-theme="dark"] .analysis-topic-hero {
  background: linear-gradient(135deg, #0f172a 0%, #09131f 100%) !important;
  border-color: #334155d9 !important;
  box-shadow: 0 16px 44px #00000080 !important;
}

html[data-clinic-theme="dark"] .analysis-topic-hero-title, body[data-clinic-theme="dark"] .analysis-topic-hero-title, .clinic-theme-scope[data-clinic-theme="dark"] .analysis-topic-hero-title {
  color: #f8fafc !important;
}

html[data-clinic-theme="dark"] .analysis-topic-hero-subtitle, body[data-clinic-theme="dark"] .analysis-topic-hero-subtitle, .clinic-theme-scope[data-clinic-theme="dark"] .analysis-topic-hero-subtitle {
  color: #94a3b8 !important;
}

html[data-clinic-theme="dark"] .analysis-topic-category-pill, body[data-clinic-theme="dark"] .analysis-topic-category-pill, .clinic-theme-scope[data-clinic-theme="dark"] .analysis-topic-category-pill {
  color: #d066ef !important;
  background: #d066ef1f !important;
  border-color: #d066ef47 !important;
}

html[data-clinic-theme="dark"] .analysis-topic-ping-badge.is-good, body[data-clinic-theme="dark"] .analysis-topic-ping-badge.is-good, .clinic-theme-scope[data-clinic-theme="dark"] .analysis-topic-ping-badge.is-good {
  color: #4ade80 !important;
  background: #10b9812e !important;
  border-color: #4ade8059 !important;
}

html[data-clinic-theme="dark"] .analysis-topic-ping-badge.is-attention, body[data-clinic-theme="dark"] .analysis-topic-ping-badge.is-attention, .clinic-theme-scope[data-clinic-theme="dark"] .analysis-topic-ping-badge.is-attention {
  color: #fbbf24 !important;
  background: #f59e0b2e !important;
  border-color: #fbbf2459 !important;
}

html[data-clinic-theme="dark"] .analysis-topic-ping-badge.is-high, body[data-clinic-theme="dark"] .analysis-topic-ping-badge.is-high, .clinic-theme-scope[data-clinic-theme="dark"] .analysis-topic-ping-badge.is-high {
  color: #fb7185 !important;
  background: #f43f5e2e !important;
  border-color: #fb718559 !important;
}

html[data-clinic-theme="dark"] .analysis-topic-ping-badge.is-neutral, body[data-clinic-theme="dark"] .analysis-topic-ping-badge.is-neutral, .clinic-theme-scope[data-clinic-theme="dark"] .analysis-topic-ping-badge.is-neutral {
  color: #94a3b8 !important;
  background: #94a3b826 !important;
  border-color: #94a3b84d !important;
}

html[data-clinic-theme="dark"] .analysis-topic-compact-meter, body[data-clinic-theme="dark"] .analysis-topic-compact-meter, .clinic-theme-scope[data-clinic-theme="dark"] .analysis-topic-compact-meter {
  background: #0f172abf !important;
  border-color: #334155cc !important;
  box-shadow: 0 8px 24px #0006 !important;
}

html[data-clinic-theme="dark"] .compact-meter-label, body[data-clinic-theme="dark"] .compact-meter-label, .clinic-theme-scope[data-clinic-theme="dark"] .compact-meter-label {
  color: #94a3b8 !important;
}

html[data-clinic-theme="dark"] .compact-meter-score strong, body[data-clinic-theme="dark"] .compact-meter-score strong, .clinic-theme-scope[data-clinic-theme="dark"] .compact-meter-score strong {
  color: #f8fafc !important;
}

html[data-clinic-theme="dark"] .compact-meter-score small, body[data-clinic-theme="dark"] .compact-meter-score small, .clinic-theme-scope[data-clinic-theme="dark"] .compact-meter-score small {
  color: #64748b !important;
}

html[data-clinic-theme="dark"] .compact-meter-track, body[data-clinic-theme="dark"] .compact-meter-track, .clinic-theme-scope[data-clinic-theme="dark"] .compact-meter-track {
  background: #1e293bcc !important;
}

html[data-clinic-theme="dark"] .analysis-neural-scanner-card, body[data-clinic-theme="dark"] .analysis-neural-scanner-card, .clinic-theme-scope[data-clinic-theme="dark"] .analysis-neural-scanner-card {
  background: radial-gradient(circle at 50% 0, #7c169526 0%, #0000 60%), linear-gradient(#0f172a 0%, #09131f 100%) !important;
  border-color: #334155d9 !important;
  box-shadow: 0 24px 60px #00000080 !important;
}

html[data-clinic-theme="dark"] .neural-scanner-title, body[data-clinic-theme="dark"] .neural-scanner-title, .clinic-theme-scope[data-clinic-theme="dark"] .neural-scanner-title {
  color: #f8fafc !important;
}

html[data-clinic-theme="dark"] .neural-stage-message, body[data-clinic-theme="dark"] .neural-stage-message, .clinic-theme-scope[data-clinic-theme="dark"] .neural-stage-message {
  color: #cbd5e1 !important;
}

html[data-clinic-theme="dark"] .neural-progress-track, body[data-clinic-theme="dark"] .neural-progress-track, .clinic-theme-scope[data-clinic-theme="dark"] .neural-progress-track {
  background: #1e293b !important;
}

html[data-clinic-theme="dark"] .clinic-analysis-page, body[data-clinic-theme="dark"] .clinic-analysis-page, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-analysis-page {
  color: #f1f5f9 !important;
  background: #07111b !important;
}

html[data-clinic-theme="dark"] .analysis-report--clinic, body[data-clinic-theme="dark"] .analysis-report--clinic, .clinic-theme-scope[data-clinic-theme="dark"] .analysis-report--clinic {
  color: inherit !important;
  background: none !important;
}

html[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded .analysis-tab-navigation, body[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded .analysis-tab-navigation, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded .analysis-tab-navigation {
  background: #0f172a !important;
  border-color: #334155d9 !important;
  box-shadow: 0 14px 40px #0006 !important;
}

html[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded .analysis-section-workspace.is-overview > .analysis-category-stage, html[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded .analysis-section-workspace.is-overview > .analysis-visual-stage, body[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded .analysis-section-workspace.is-overview > .analysis-category-stage, body[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded .analysis-section-workspace.is-overview > .analysis-visual-stage, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded .analysis-section-workspace.is-overview > .analysis-category-stage, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded .analysis-section-workspace.is-overview > .analysis-visual-stage {
  background: #0f172a !important;
  border-color: #334155d9 !important;
  box-shadow: 0 16px 44px #00000073 !important;
}

html[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded .analysis-narrative-card, html[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded .analysis-insight-card, body[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded .analysis-narrative-card, body[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded .analysis-insight-card, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded .analysis-narrative-card, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded .analysis-insight-card {
  background: #0f172a !important;
  border-color: #334155d9 !important;
  box-shadow: 0 16px 44px #0006 !important;
}

html[data-clinic-theme="dark"] .clinic-analysis-page .analysis-topic-profile, body[data-clinic-theme="dark"] .clinic-analysis-page .analysis-topic-profile, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-analysis-page .analysis-topic-profile, html[data-clinic-theme="dark"] .clinic-analysis-page .clinic-capture-gallery, body[data-clinic-theme="dark"] .clinic-analysis-page .clinic-capture-gallery, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-analysis-page .clinic-capture-gallery {
  background: #0f172a !important;
  border-color: #334155d9 !important;
}

html[data-clinic-theme="dark"] .clinic-analysis-page .clinic-capture-gallery figure, body[data-clinic-theme="dark"] .clinic-analysis-page .clinic-capture-gallery figure, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-analysis-page .clinic-capture-gallery figure {
  background: #1e293b !important;
  border-color: #334155b3 !important;
}

/* [project]/apps/web/src/app/patient-record.css [app-client] (css) */
.patient-record-surface {
  --patient-record-safe-padding: clamp(22px,2.4vw,32px);
}

.patient-record-surface .clinic-record-shell {
  display: grid;
}

.patient-record-surface .clinic-record-shell > * {
  min-width: 0;
  margin-block: 0;
}

.patient-record-surface .clinic-record-overview, .patient-record-surface .patient-report-branding, .patient-record-surface .clinic-session-list.clinic-session-strip, .patient-record-surface .analysis-section-workspace, .patient-record-surface .x-product-recommendations, .patient-record-surface .clinic-capture-gallery {
  border-radius: var(--patient-record-surface-radius);
}

.patient-record-surface .patient-record-header {
  padding: var(--patient-record-safe-padding);
  grid-template-columns: minmax(320px, .9fr) minmax(430px, 1.1fr);
  grid-template-areas: "identity summary"
                       "actions actions"
                       "tabs tabs";
  align-items: stretch;
  gap: clamp(22px, 2.2vw, 34px);
}

.patient-record-surface .record-analysis-summary {
  grid-area: summary;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  min-width: 0;
  display: grid;
}

.patient-record-surface .record-analysis-summary > div {
  gap: 7px;
  min-width: 0;
  display: grid;
}

.patient-record-surface .record-analysis-summary > div > span {
  font-size: 12px;
}

.patient-record-surface .record-analysis-summary > div > strong {
  color: var(--ink);
  line-height: 1.55;
}

.patient-record-surface .record-analysis-summary > div > p {
  margin: 0;
}

.patient-record-surface .record-analysis-summary .analysis-score-ring > span {
  gap: 2px;
  font-size: 13px;
  line-height: 1.55;
  display: grid;
}

.patient-record-surface .record-analysis-summary .record-score-ring > span > small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.6;
}

.patient-record-surface .analysis-summary-print-only {
  display: none;
}

.patient-record-surface .clinic-record-identity {
  max-width: 780px;
  display: grid;
}

.patient-record-surface .clinic-record-identity h1 {
  margin-block: 6px 8px;
}

.patient-record-surface .clinic-record-meta {
  gap: 8px;
  margin-top: 14px;
}

.patient-record-surface .clinic-record-actions {
  width: 100%;
}

.patient-record-surface .clinic-record-overview .clinic-record-actions > * {
  border-radius: 16px;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 3px 12px;
  min-width: 0;
  min-height: 82px;
  padding: 12px 14px;
  text-decoration: none;
}

.patient-record-surface .clinic-record-actions > * > small {
  text-overflow: clip;
  white-space: normal;
  display: block;
  overflow: visible;
}

.patient-record-surface .patient-record-products-action {
  border: 1px solid rgba(var(--brand-rgb),.14);
  min-width: 0;
  color: var(--ink);
  text-align: start;
  cursor: pointer;
  background: #ffffffe6;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 3px 12px;
  font-family: inherit;
  transition: transform .2s, border-color .2s, box-shadow .2s;
  display: grid;
  box-shadow: 0 10px 26px #1f34440f;
}

.patient-record-surface .patient-record-products-action:hover {
  border-color: rgba(var(--brand-rgb),.3);
  box-shadow: 0 15px 32px rgba(var(--brand-rgb),.11);
  transform: translateY(-2px);
}

.patient-record-surface .patient-record-products-action:focus-visible {
  box-shadow: var(--focus-ring);
  outline: 0;
}

.patient-record-surface .patient-record-products-action > span, .patient-record-surface .patient-record-products-action > svg {
  width: 44px;
  height: 44px;
  color: var(--brand);
  background: var(--brand-soft);
  border-radius: 12px;
  grid-row: 1 / 3;
  place-items: center;
  padding: 10px;
  display: grid;
}

.patient-record-surface .patient-record-products-action svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8px;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.patient-record-surface .patient-record-products-action b {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.55;
}

.patient-record-surface .patient-record-products-action small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.patient-record-surface [id^="x-product-recommendations-"] {
  scroll-margin-top: 96px;
}

.patient-record-surface .clinic-record-overview .clinic-record-view-tabs {
  gap: 12px;
  padding-top: 22px;
}

.patient-record-surface .clinic-record-view-tabs > div, .patient-record-surface .clinic-record-view-tabs > button {
  min-width: 0;
  border-radius: 16px !important;
}

.patient-record-surface .clinic-record-view-tabs strong {
  text-overflow: clip;
  white-space: normal;
  line-height: 1.55;
  overflow: visible;
}

.patient-record-surface .clinic-record-view-tabs small {
  white-space: normal;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  line-height: 1.55;
  display: -webkit-box;
  overflow: hidden;
}

.patient-record-surface .patient-report-branding {
  padding: var(--patient-record-safe-padding);
  gap: clamp(20px, 2.6vw, 38px);
}

.patient-record-surface .patient-record-overview .patient-record-view-tabs {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.patient-record-surface .patient-record-overview > .patient-report-branding {
  grid-area: brand;
}

.patient-record-surface .patient-record-overview .patient-report-brand-actions {
  grid-template-columns: none;
  justify-content: flex-end;
  display: flex;
}

.patient-record-surface .patient-record-overview .patient-report-brand-actions > a {
  min-width: 190px;
}

.patient-record-surface .patient-report-locked-fields {
  align-items: center;
  gap: var(--space-2);
  border-top: 1px solid var(--surface-border);
  padding: var(--space-4) 0 0;
  color: var(--muted);
  font-size: var(--text-small);
  flex-wrap: wrap;
  display: flex;
}

.patient-record-surface .patient-report-locked-fields strong {
  color: var(--ink-soft);
  font-size: var(--text-small);
  font-weight: 500;
}

.patient-record-surface .patient-report-locked-fields b {
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-sm);
  padding: var(--space-2) var(--space-3);
  color: var(--ink);
  background: var(--surface-muted);
  font-size: var(--text-small);
  font-weight: 500;
}

.patient-record-surface .patient-report-clinic-brand p, .patient-record-surface .patient-report-clinic-brand address {
  line-height: 1.75;
}

.patient-record-surface .clinic-session-list.clinic-session-strip {
  overflow: hidden;
}

.patient-record-surface .clinic-session-list.clinic-session-strip > div {
  gap: 10px;
  padding: 0 14px 14px;
  scroll-padding-inline: 14px;
}

.patient-record-surface[dir] .clinic-session-strip button {
  flex-basis: clamp(230px, 20vw, 292px);
  min-height: 78px;
  padding: 11px 12px;
  border-radius: 17px !important;
}

.patient-record-surface .clinic-record-layout, .patient-record-surface .clinic-session-detail {
  min-width: 0;
}

.patient-record-surface .analysis-results-shell {
  gap: var(--patient-record-section-gap);
}

.patient-record-surface .patient-analysis-overall {
  border-radius: var(--patient-record-surface-radius);
}

.patient-record-surface .analysis-tab-navigation .analysis-tab-rail {
  border-radius: var(--patient-record-inner-radius);
}

.patient-record-surface .analysis-tab-rail button {
  border-radius: 14px !important;
}

.patient-record-surface .analysis-section-header {
  padding: clamp(22px, 2.3vw, 30px);
}

.patient-record-surface .analysis-section-header h2 {
  font-size: clamp(21px, 1.85vw, 27px);
  line-height: 1.4;
}

.patient-record-surface .analysis-section-header p {
  max-width: 76ch;
  font-size: 14px;
  line-height: 1.9;
}

.patient-record-surface .analysis-primary-column, .patient-record-surface .analysis-list-grid, .patient-record-surface .analysis-overview-highlights {
  gap: 14px;
}

.patient-record-surface .analysis-narrative-card {
  padding: clamp(18px, 1.8vw, 24px);
}

.patient-record-surface .analysis-narrative-card h3, .patient-record-surface .analysis-insight-card h3 {
  font-size: 15px;
  line-height: 1.55;
}

.patient-record-surface .analysis-narrative-card > p {
  max-width: 92ch;
  margin-block: 14px 0;
  font-size: 14px;
  line-height: 2;
}

.patient-record-surface .analysis-insight-card {
  padding: clamp(17px, 1.6vw, 22px);
}

.patient-record-surface .analysis-insight-card li > p, .patient-record-surface .analysis-insight-card > p {
  font-size: 13px;
  line-height: 1.85;
}

.patient-record-surface .x-product-recommendations {
  margin-top: 0;
}

.patient-record-surface .clinic-capture-gallery figcaption {
  padding: 11px 13px;
}

@media (min-width: 1800px) {
  .patient-record-surface .clinic-record-shell {
    width: min(100% - 96px, 1680px);
  }

  .patient-record-surface .analysis-section-header p, .patient-record-surface .analysis-narrative-card > p {
    max-width: 88ch;
  }
}

@media (max-width: 1180px) {
  .patient-record-surface {
    --patient-record-section-gap: 18px;
    --patient-record-surface-radius: 26px;
  }

  .patient-record-surface .clinic-record-shell {
    width: min(100% - 28px, 1060px);
  }

  .patient-record-surface .clinic-record-overview {
    padding: 24px;
  }

  .patient-record-surface .patient-record-header {
    grid-template-areas: "identity summary"
                         "actions actions"
                         "tabs tabs";
  }

  .patient-record-surface .patient-record-overview.patient-record-header {
    grid-template-areas: "identity summary"
                         "brand brand"
                         "tabs tabs";
  }
}

@media (max-width: 820px) {
  .patient-record-clinic .clinic-record-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .patient-record-surface .patient-record-overview .clinic-record-view-tabs > button:first-child {
    grid-column: 1 / -1;
  }

  .patient-record-surface .patient-report-branding {
    grid-template-columns: 1fr;
  }

  .patient-record-surface .patient-record-overview .patient-report-brand-actions {
    justify-content: stretch;
  }

  .patient-record-surface .patient-record-overview .patient-report-brand-actions > a {
    width: 100%;
    min-width: 0;
  }

  .patient-record-surface .patient-report-locked-fields {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 700px) {
  .patient-record-surface {
    --patient-record-safe-padding: 17px 15px;
  }

  .patient-record-surface .clinic-record-topbar {
    padding: 8px 12px;
  }

  .patient-record-surface .clinic-record-overview {
    padding: var(--patient-record-safe-padding);
    gap: 14px;
  }

  .patient-record-surface .record-analysis-summary {
    min-height: 0;
  }

  .patient-record-surface .record-analysis-summary .analysis-score-ring {
    min-width: 0;
  }

  .patient-record-surface .record-analysis-summary .analysis-score-ring > div {
    width: 64px;
  }

  .patient-record-surface .record-analysis-summary .analysis-score-ring strong {
    font-size: 24px;
  }

  .patient-record-surface .clinic-record-identity h1 {
    margin-block: 4px 6px;
  }

  .patient-record-surface:not(.patient-record-public) .clinic-record-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-columns: auto;
    grid-auto-flow: row;
    gap: 9px;
    padding: 0;
    display: grid;
    overflow: visible;
  }

  .patient-record-surface:not(.patient-record-public) .clinic-record-actions > * {
    scroll-snap-align: none;
  }

  .patient-record-surface:not(.patient-record-public) .clinic-record-new-session {
    grid-column: 1 / -1;
  }

  .patient-record-surface .clinic-record-overview .clinic-record-actions > * {
    min-height: 64px;
    padding: 10px;
  }

  .patient-record-surface .clinic-record-overview .clinic-record-view-tabs {
    gap: 8px;
    padding-top: 14px;
  }

  .patient-record-surface .clinic-record-view-tabs > div, .patient-record-surface .clinic-record-view-tabs > button {
    border-radius: 14px !important;
  }

  .patient-record-surface .clinic-record-view-tabs strong {
    font-size: 12px;
  }

  .patient-record-surface .clinic-record-view-tabs small {
    font-size: 12px;
    line-height: 1.5;
  }

  .patient-record-surface .patient-report-branding {
    gap: 16px;
    padding: 18px 15px;
  }

  .patient-record-surface .patient-record-overview > .patient-report-branding {
    gap: 14px;
  }

  .patient-record-surface .patient-report-clinic-brand {
    gap: 12px;
  }

  .patient-record-surface .patient-report-clinic-brand > img, .patient-record-surface .patient-report-clinic-brand > span {
    border-radius: 16px;
  }

  .patient-record-surface .patient-report-brand-actions {
    gap: 9px;
  }

  .patient-record-surface .clinic-session-list.clinic-session-strip > div {
    gap: 8px;
    padding: 0 10px 11px;
    scroll-padding-inline: 10px;
  }

  .patient-record-surface .clinic-session-list.clinic-session-strip button {
    flex-basis: min(82vw, 286px);
    min-height: 76px;
    padding: 10px;
    border-radius: 15px !important;
  }

  .patient-record-surface .patient-analysis-overall, .patient-record-surface .analysis-tab-navigation {
    border-radius: var(--patient-record-surface-radius);
  }

  .patient-record-surface .analysis-tab-navigation .analysis-tab-rail {
    border-radius: 16px;
  }

  .patient-record-surface .analysis-section-workspace {
    border-radius: var(--patient-record-surface-radius);
  }

  .patient-record-surface .analysis-section-header {
    gap: 14px;
    padding: 20px 16px;
  }

  .patient-record-surface .analysis-section-header h2 {
    font-size: 20px;
    line-height: 1.45;
  }

  .patient-record-surface .analysis-section-header p {
    font-size: 13px;
    line-height: 1.85;
  }

  .patient-record-surface .analysis-section-grid, .patient-record-surface .analysis-primary-column, .patient-record-surface .analysis-list-grid, .patient-record-surface .analysis-overview-highlights {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .patient-record-surface .analysis-list-grid > .analysis-insight-card:last-child {
    grid-column: auto;
  }

  .patient-record-surface .analysis-narrative-card, .patient-record-surface .analysis-insight-card {
    padding: 16px;
  }

  .patient-record-surface .analysis-narrative-card > p {
    font-size: 13px;
    line-height: 1.95;
  }

  .patient-record-surface .analysis-insight-card li > p, .patient-record-surface .analysis-insight-card > p {
    font-size: 13px;
    line-height: 1.8;
  }

  .patient-record-surface .x-product-recommendations {
    border-radius: var(--patient-record-surface-radius);
  }

  .patient-record-surface .clinic-capture-gallery > div {
    gap: 10px;
  }

  .patient-record-surface .clinic-capture-gallery figure {
    border-radius: 16px;
  }
}

@media (max-width: 420px) {
  .patient-record-surface .record-analysis-summary .analysis-score-ring {
    text-align: start;
    justify-items: start;
  }

  .patient-record-surface .record-analysis-summary .analysis-score-ring > span {
    align-self: center;
    margin: 0;
  }

  .patient-record-surface:not(.patient-record-public) .clinic-record-actions {
    grid-template-columns: 1fr;
  }

  .patient-record-surface:not(.patient-record-public) .clinic-record-new-session, .patient-record-surface .patient-record-overview .clinic-record-view-tabs > button:first-child {
    grid-column: auto;
  }

  .patient-record-surface .clinic-record-view-tabs > div, .patient-record-surface .clinic-record-view-tabs > button {
    min-height: 68px;
  }

  .patient-record-surface .clinic-session-list.clinic-session-strip button {
    flex-basis: calc(100vw - 48px);
  }

  .patient-record-surface .analysis-status-badge {
    grid-template-columns: 40px minmax(0, 1fr) auto;
    padding: 12px;
  }

  .patient-record-surface .analysis-status-badge > i {
    width: 40px;
  }
}

@media print {
  .patient-record-surface .analysis-summary-print-only {
    display: grid;
  }
}

.patient-record-surface {
  --patient-record-section-gap: 18px;
  --patient-record-surface-radius: 22px;
  --patient-record-inner-radius: 16px;
  color: var(--ink);
  background: radial-gradient(circle at 12% 0,rgba(var(--brand-rgb),.035),transparent 28rem),
    #f6f7f8;
}

.patient-record-surface .clinic-record-topbar {
  border-bottom: 1px solid var(--surface-border);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  background: #fffffff0;
  min-height: 68px;
  box-shadow: 0 8px 28px #1e2b3509;
}

.patient-record-surface .clinic-record-shell {
  width: min(100% - clamp(28px, 4vw, 64px), 1540px);
  padding-block: 26px 72px;
}

.patient-record-surface .clinic-record-overview {
  border: 1px solid var(--surface-border);
  border-radius: var(--patient-record-surface-radius);
  background: #fff;
  grid-template-columns: minmax(280px, .85fr) minmax(420px, 1.15fr);
  grid-template-areas: "identity summary"
                       "actions actions"
                       "tabs tabs";
  align-items: center;
  gap: 20px 28px;
  margin: 0;
  padding: 28px;
  display: grid;
  overflow: visible;
  box-shadow: 0 14px 40px #1e2b350e;
}

.patient-record-surface .patient-record-header:after {
  display: none;
}

.patient-record-surface .clinic-record-identity {
  align-content: center;
}

.patient-record-surface .clinic-record-identity > span {
  width: max-content;
  color: var(--brand);
  background: var(--brand-soft);
  border-radius: 8px;
  margin: 0 0 9px;
  padding: 4px 9px;
  font-size: 12px;
  font-weight: 500;
}

.patient-record-surface .clinic-record-identity h1 {
  color: var(--ink);
  letter-spacing: -.025em;
  margin: 0;
  font-size: clamp(24px, 2.1vw, 32px);
  font-weight: 500;
  line-height: 1.35;
}

.patient-record-surface .clinic-record-identity p {
  max-width: 58ch;
  color: var(--muted);
  margin: 8px 0 0;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.8;
}

.patient-record-surface .record-analysis-summary {
  border: 1px solid var(--surface-border);
  border-radius: var(--patient-record-inner-radius);
  min-height: 146px;
  box-shadow: none;
  background: #f9fafb;
  gap: 22px;
  padding: 18px 20px;
}

.patient-record-surface .record-analysis-summary > div > span {
  color: var(--brand);
  font-weight: 500;
}

.patient-record-surface .record-analysis-summary > div > strong {
  font-size: clamp(17px, 1.45vw, 20px);
  font-weight: 500;
}

.patient-record-surface .record-analysis-summary > div > p {
  color: var(--muted);
  font-size: 12px;
  font-weight: 500;
}

.patient-record-surface .record-analysis-summary .analysis-score-ring {
  border-color: var(--surface-border);
  text-align: start;
  background: #fff;
  border-radius: 14px;
  grid-template-columns: 78px minmax(0, 1fr);
  place-items: center start;
  gap: 0 12px;
  min-width: 230px;
  padding: 13px 12px;
  box-shadow: 0 6px 18px #1e2b350b;
}

.patient-record-surface .record-analysis-summary .analysis-score-ring > div {
  grid-row: 1 / 3;
  width: 78px;
}

.patient-record-surface .record-analysis-summary .analysis-score-ring > span {
  align-self: center;
  margin: 0;
}

.patient-record-surface .record-analysis-summary .analysis-score-ring strong {
  font-size: 25px;
}

.patient-record-surface .clinic-record-actions {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding-top: 2px;
}

.patient-record-surface .patient-record-header .clinic-record-actions > * {
  border: 1px solid var(--surface-border);
  min-height: 66px;
  color: var(--ink);
  box-shadow: none;
  background: #fff;
  border-radius: 14px;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 2px 10px;
  padding: 10px 12px;
  transition: border-color .18s, background .18s, box-shadow .18s, transform .18s;
  overflow: hidden;
}

.patient-record-surface .patient-record-header .clinic-record-actions > :hover:not(:disabled) {
  border-color: rgba(var(--brand-rgb),.22);
  background: var(--brand-surface);
  transform: translateY(-1px);
  box-shadow: 0 7px 18px #1e2b350e;
}

.patient-record-surface .clinic-record-actions > * > span, .patient-record-surface .patient-record-products-action > svg {
  width: 38px;
  height: 38px;
  color: var(--brand);
  background: var(--brand-soft);
  border-radius: 10px;
  padding: 9px;
}

.patient-record-surface .clinic-record-actions > * > b {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
}

.patient-record-surface .clinic-record-actions > * > small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.patient-record-surface .patient-record-header .clinic-record-new-session {
  color: #fff;
  background: var(--brand);
  box-shadow: 0 8px 18px rgba(var(--brand-rgb),.18);
  border-color: #0000;
}

.patient-record-surface .patient-record-header .clinic-record-new-session:hover {
  background: var(--brand-hover);
  box-shadow: 0 10px 22px rgba(var(--brand-rgb),.22);
  border-color: #0000;
}

.patient-record-surface .patient-record-header .clinic-record-new-session > span {
  color: #fff;
  background: #ffffff24;
}

.patient-record-surface .patient-record-header .clinic-record-new-session small {
  color: #ffffffc7;
}

.patient-record-surface .patient-record-header .clinic-record-view-tabs {
  border-top: 1px solid var(--surface-border);
  gap: 8px;
  margin: 0;
  padding: 16px 0 0;
}

.patient-record-surface .clinic-record-view-tabs > div, .patient-record-surface .clinic-record-view-tabs > button {
  min-height: 60px;
  color: var(--muted);
  box-shadow: none;
  background: none;
  border: 1px solid #0000;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 2px 9px;
  padding: 9px 12px;
}

.patient-record-surface .clinic-record-view-tabs > div > span, .patient-record-surface .clinic-record-view-tabs > button > span, .patient-record-surface .patient-record-view-tabs > button > svg {
  width: 36px;
  height: 36px;
  color: var(--brand);
  background: var(--brand-soft);
  box-shadow: none;
  border-radius: 10px;
  padding: 8px;
}

.patient-record-surface .clinic-record-view-tabs > div.active, .patient-record-surface .clinic-record-view-tabs > button.active {
  border-color: rgba(var(--brand-rgb),.13);
  color: var(--ink);
  box-shadow: none;
  background: #f7f9fb;
}

.patient-record-surface .clinic-record-view-tabs strong {
  font-size: 12px;
  font-weight: 500;
}

.patient-record-surface .clinic-record-view-tabs small {
  color: var(--muted);
  font-size: 12px;
}

.patient-record-surface .patient-record-overview.patient-record-header {
  grid-template-columns: minmax(260px, .78fr) minmax(390px, 1.22fr);
  grid-template-areas: "identity summary"
                       "brand brand"
                       "tabs tabs";
}

.patient-record-surface .patient-record-overview > .patient-report-branding {
  border: 1px solid var(--surface-border);
  box-shadow: none;
  background: #f9fafb;
  border-radius: 14px;
  gap: 16px;
  padding: 14px 16px;
}

.patient-record-surface .patient-report-clinic-brand > img, .patient-record-surface .patient-report-clinic-brand > span {
  background: #fff;
  border-radius: 14px;
  flex-basis: 56px;
  width: 56px;
  height: 56px;
}

.patient-record-surface .patient-report-clinic-brand h2 {
  font-size: 18px;
  font-weight: 500;
}

.patient-record-surface .patient-report-brand-actions > a {
  border: 1px solid rgba(var(--brand-rgb),.14);
  min-height: 44px;
  color: var(--brand);
  box-shadow: none;
  background: #fff;
  border-radius: 12px;
}

.patient-record-surface .patient-report-brand-actions > a:hover {
  background: var(--brand-surface);
  box-shadow: none;
  transform: none;
}

.patient-record-surface .clinic-session-strip {
  border: 1px solid var(--surface-border);
  box-shadow: none;
  background: #fff;
  margin: 0;
}

.patient-record-surface .clinic-session-strip > header span {
  color: var(--muted);
  font-size: 12px;
}

.patient-record-surface .clinic-session-strip > header h2 {
  font-weight: 500;
}

.patient-record-surface .clinic-session-strip > div {
  scroll-padding-inline: 12px;
}

.patient-record-surface .clinic-session-strip button {
  border: 1px solid var(--surface-border);
  min-height: 74px;
  box-shadow: none;
  background: #f9fafb;
  border-radius: 14px;
  flex-basis: clamp(224px, 19vw, 274px);
  padding: 10px;
  transition: border-color .18s, background .18s;
}

.patient-record-surface .clinic-session-strip button:hover {
  border-color: rgba(var(--brand-rgb),.18);
  background: #fff;
  transform: none;
}

.patient-record-surface .clinic-session-strip button.active {
  border-color: rgba(var(--brand-rgb),.34);
  background: var(--brand-surface);
  box-shadow: inset 3px 0 0 var(--brand);
}

.patient-record-surface[dir="rtl"] .clinic-session-strip button.active {
  box-shadow: inset -3px 0 0 var(--brand);
}

.patient-record-surface .clinic-session-number {
  border: 1px solid var(--surface-border);
  box-shadow: none;
  border-radius: 10px;
}

.patient-record-surface .analysis-results-hero, .patient-record-surface .analysis-section-workspace, .patient-record-surface [id^="x-product-recommendations-"], .patient-record-surface .clinic-capture-gallery {
  border: 1px solid var(--surface-border);
  border-radius: var(--patient-record-surface-radius);
  background: #fff;
  box-shadow: 0 10px 30px #1e2b350a;
}

.patient-record-surface .analysis-results-hero {
  background: #fff;
  min-height: 112px;
  padding: 20px 22px;
}

.patient-record-surface .analysis-results-hero > .analysis-score-ring {
  border: 1px solid var(--surface-border);
  box-shadow: none;
  background: #f9fafb;
}

.patient-record-surface .analysis-results-embedded .analysis-tab-navigation .analysis-tab-rail {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.patient-record-surface .analysis-results-embedded .analysis-tab-rail button {
  color: #525b61;
  box-shadow: none;
  border-inline-start: 0;
  transition: border-color .18s, background .18s, color .18s;
}

.patient-record-surface .analysis-results-embedded .analysis-tab-rail button:hover {
  border-color: var(--surface-border);
  box-shadow: none;
  background: #f9fafb;
  transform: none;
}

.patient-record-surface .analysis-results-embedded .analysis-tab-rail button.active {
  border-color: rgba(var(--brand-rgb),.13);
  color: var(--brand);
  background: var(--brand-soft);
  box-shadow: none;
}

.patient-record-surface .analysis-section-workspace {
  overflow: hidden;
}

.patient-record-surface .analysis-section-workspace > header {
  border-bottom: 1px solid var(--surface-border);
  background: #fff;
  gap: 18px;
}

.patient-record-surface .analysis-section-workspace > header h2 {
  font-weight: 500;
  line-height: 1.4;
}

.patient-record-surface .analysis-status-badge {
  background: var(--damage-soft);
  border-radius: 14px;
}

.patient-record-surface .analysis-section-grid {
  background: #f9fafb;
  gap: 12px;
  padding: 14px;
}

.patient-record-surface .analysis-narrative-card, .patient-record-surface .analysis-insight-card, .patient-record-surface .analysis-evidence-card, .patient-record-surface .analysis-chart-card {
  border: 1px solid var(--surface-border);
  border-radius: var(--patient-record-inner-radius);
  box-shadow: none;
  background: #fff;
}

.patient-record-surface .analysis-result-overview {
  border-inline-start: 3px solid var(--brand);
}

.patient-record-surface .analysis-text-stage .analysis-narrative-card h3, .patient-record-surface .analysis-text-stage .analysis-insight-card h3 {
  font-size: clamp(17px, 1.35vw, 20px);
  line-height: 1.65;
}

.patient-record-surface .clinic-capture-gallery > header {
  border-bottom: 1px solid var(--surface-border);
  padding: 18px;
}

.patient-record-surface .clinic-capture-gallery > div {
  gap: 10px;
  padding: 12px;
}

.patient-record-surface .clinic-capture-gallery figure {
  border: 1px solid var(--surface-border);
  background: #f9fafb;
  border-radius: 14px;
}

.patient-record-surface .clinic-capture-gallery img {
  transition: transform .25s;
}

.patient-record-surface .clinic-capture-gallery figure:hover img {
  transform: scale(1.015);
}

@media (max-width: 1180px) {
  .patient-record-surface .patient-record-header, .patient-record-surface .patient-record-overview.patient-record-header {
    grid-template-columns: minmax(0, 1fr) minmax(300px, .78fr);
  }

  .patient-record-surface .clinic-record-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .patient-record-surface .patient-record-header, .patient-record-surface .patient-record-overview.patient-record-header {
    grid-template-columns: 1fr;
    grid-template-areas: "identity"
                         "summary"
                         "brand"
                         "actions"
                         "tabs";
    padding: 22px;
  }

  .patient-record-surface .record-analysis-summary {
    min-height: 0;
  }

  .patient-record-surface .patient-record-overview .clinic-record-view-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .patient-record-surface {
    --patient-record-section-gap: 12px;
    --patient-record-surface-radius: 18px;
    --patient-record-inner-radius: 14px;
  }

  .patient-record-surface .clinic-record-topbar {
    min-height: 62px;
  }

  .patient-record-surface .clinic-record-shell {
    gap: 12px;
    width: calc(100% - 16px);
    padding-block: 10px 42px;
  }

  .patient-record-surface .patient-record-header, .patient-record-surface .patient-record-overview.patient-record-header {
    gap: 14px;
    padding: 16px 14px;
  }

  .patient-record-surface .clinic-record-identity > span {
    margin-bottom: 7px;
  }

  .patient-record-surface .clinic-record-identity h1 {
    font-size: 22px;
  }

  .patient-record-surface .clinic-record-identity p {
    font-size: 12px;
    line-height: 1.7;
    display: block;
  }

  .patient-record-surface .record-analysis-summary {
    grid-template-columns: minmax(0, 1fr) 124px;
    gap: 10px;
    padding: 11px;
  }

  .patient-record-surface .record-analysis-summary .analysis-score-ring {
    padding: 9px 7px;
  }

  .patient-record-clinic .clinic-record-actions {
    gap: 8px;
  }

  .patient-record-surface .patient-record-header .clinic-record-actions > * {
    min-height: 62px;
    padding: 9px;
  }

  .patient-record-surface .patient-record-header .clinic-record-view-tabs {
    gap: 7px;
    padding-top: 12px;
  }

  .patient-record-surface .clinic-record-view-tabs > div, .patient-record-surface .clinic-record-view-tabs > button {
    min-height: 62px;
    padding: 8px 9px;
  }

  .patient-record-surface .patient-record-overview > .patient-report-branding {
    padding: 12px;
  }

  .patient-record-surface .patient-report-clinic-brand > img, .patient-record-surface .patient-report-clinic-brand > span {
    flex-basis: 50px;
    width: 50px;
    height: 50px;
  }

  .patient-record-surface .analysis-section-workspace > header {
    gap: 14px;
  }

  .patient-record-surface .analysis-section-workspace > header h2 {
    font-size: 22px;
  }

  .patient-record-surface .analysis-section-grid {
    padding: 10px;
  }

  .patient-record-surface .analysis-results-hero {
    padding: 16px 14px;
  }

  .patient-record-surface .clinic-capture-gallery > header {
    padding: 15px 13px;
  }

  .patient-record-surface .clinic-capture-gallery > div {
    padding: 9px;
  }
}

@media (max-width: 420px) {
  .patient-record-surface .record-analysis-summary {
    grid-template-columns: 1fr;
  }

  .patient-record-surface .record-analysis-summary .analysis-score-ring {
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 11px;
    width: 100%;
    padding: 10px 12px;
  }

  .patient-record-surface .record-analysis-summary .analysis-score-ring > div {
    grid-row: 1 / 3;
    width: 68px;
  }

  .patient-record-surface .patient-record-overview .clinic-record-view-tabs {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 1181px) {
  .patient-record-clinic {
    grid-template-rows: auto minmax(0, 1fr);
    align-items: start;
    min-height: 100dvh;
    display: grid;
  }

  .patient-record-clinic .patient-record-sidebar {
    z-index: 40;
    border-inline-end: 1px solid var(--surface-border);
    background: #fffffffb;
    grid-area: 1 / 1 / 3;
    height: 100dvh;
    display: flex;
    position: sticky;
    inset-block-start: 0;
    box-shadow: 8px 0 30px #1e2b3509;
  }

  .patient-record-clinic .clinic-record-topbar, .patient-record-clinic .clinic-record-shell {
    grid-column: 2;
  }
}

.patient-record-sidebar .admin-nav-groups {
  flex: none;
}

.patient-record-sidebar .patient-record-action-panel.is-sidebar {
  margin-top: 20px;
}

.patient-record-clinic .clinic-record-topbar {
  min-height: 56px;
  box-shadow: none;
  background: #fff;
  padding-inline: 18px;
}

.patient-record-clinic .clinic-record-topbar .clinic-record-brand {
  display: none;
}

.patient-record-clinic .clinic-record-shell {
  gap: 12px;
  width: min(100% - 28px, 1680px);
  padding-block: 14px 54px;
}

.patient-record-clinic .patient-record-header {
  box-shadow: 0 8px 26px #1e2b3509;
}

.patient-record-clinic .clinic-record-identity {
  grid-area: identity;
  padding-inline: 6px;
}

.patient-record-clinic .clinic-record-identity h1 {
  color: var(--brand);
}

.patient-record-clinic .record-analysis-summary {
  grid-template-columns: 1fr;
  place-items: center;
}

.patient-record-clinic .record-analysis-summary > div {
  display: none;
}

.patient-record-clinic .record-analysis-summary .analysis-score-ring {
  width: 100%;
  min-width: 0;
  box-shadow: none;
  text-align: center;
  border: 0;
  grid-template-columns: 1fr;
  justify-items: center;
}

.patient-record-clinic .record-analysis-summary .analysis-score-ring > div {
  grid-row: auto;
}

.patient-record-clinic .record-analysis-summary .analysis-score-ring > span {
  justify-items: center;
  font-weight: 500;
}

.patient-record-clinic .clinic-record-quick-facts {
  grid-area: facts;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  display: grid;
}

.patient-record-clinic .clinic-record-quick-facts article {
  border: 1px solid var(--surface-border);
  background: #fff;
  align-content: center;
  min-width: 0;
  display: grid;
}

.patient-record-clinic .clinic-record-quick-facts span, .patient-record-clinic .clinic-record-quick-facts small {
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.patient-record-clinic .clinic-record-quick-facts strong {
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 500;
  overflow: hidden;
}

.patient-record-clinic .clinic-record-actions {
  grid-area: actions;
  align-self: center;
  padding: 0;
}

.patient-record-clinic .patient-record-header .clinic-record-view-tabs {
  grid-area: tabs;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.patient-record-clinic .clinic-session-strip {
  align-items: stretch;
  display: grid;
}

.patient-record-clinic .clinic-session-strip > header {
  align-items: center;
  display: flex;
}

.patient-record-clinic .clinic-session-strip button {
  position: relative;
}

.patient-record-clinic .clinic-session-strip button:after {
  content: "";
  border-top: 1px dashed #c5cdd2;
  width: 18px;
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: -9px;
}

.patient-record-clinic .clinic-session-strip button:last-child:after {
  display: none;
}

.patient-record-clinic .clinic-session-number {
  background: conic-gradient(var(--brand) calc(var(--session-score)*1%),#e8edf0 0);
  border: 0;
  border-radius: 50%;
  place-items: center;
  font-weight: 500;
  display: grid;
  position: relative;
  overflow: hidden;
}

.patient-record-clinic .clinic-session-number:before {
  content: "";
  background: #fff;
  border-radius: 50%;
  position: absolute;
}

.patient-record-clinic .clinic-session-number {
  isolation: isolate;
}

.patient-record-clinic .clinic-session-number:before {
  z-index: -1;
}

.patient-record-clinic .clinic-session-strip button em, .patient-record-clinic .clinic-session-meta {
  display: none;
}

.patient-record-surface .analysis-section-workspace.is-overview {
  align-items: start;
}

.patient-record-surface .analysis-section-workspace.is-overview > .analysis-category-stage, .patient-record-surface .analysis-section-workspace.is-overview > .analysis-visual-stage {
  align-self: start;
  min-width: 0;
}

.patient-record-surface .analysis-section-workspace.is-overview .analysis-feature-chart {
  height: auto;
  box-shadow: none;
}

.patient-record-surface .analysis-text-stage .analysis-primary-column {
  width: 100%;
  display: grid;
}

.patient-record-surface .analysis-text-stage .analysis-list-grid > .analysis-insight-card:last-child {
  grid-column: auto;
}

.patient-record-surface .analysis-text-stage .analysis-narrative-card {
  border-color: #1f8e5d73;
}

.patient-record-surface .analysis-text-stage .analysis-insight-card {
  border-color: #d6971c6b;
}

.patient-record-surface .analysis-text-stage .analysis-insight-card.featured {
  background: #fff;
  border-color: #1f8e5d6b;
}

.patient-record-surface .analysis-evidence-section .analysis-feature-evidence figure {
  border-radius: 12px;
}

.patient-record-surface .clinic-session-detail {
  align-items: start;
}

.patient-record-surface .clinic-session-detail > [id^="x-product-recommendations-"] .x-product-recommendation-grid {
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  overflow-x: auto;
}

.patient-record-surface .clinic-session-detail > [id^="x-product-recommendations-"] .x-product-recommendation-card {
  scroll-snap-align: start;
}

.patient-record-surface .clinic-session-detail > .clinic-capture-gallery figure {
  height: 100%;
}

.patient-record-surface .clinic-session-detail > .clinic-capture-gallery img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

@media (max-width: 1480px) and (min-width: 1181px) {
  .patient-record-clinic .patient-record-header {
    grid-template-columns: 200px minmax(0, 1fr) minmax(410px, 1.1fr);
  }

  .patient-record-clinic .clinic-record-quick-facts article:nth-child(3) {
    display: none;
  }

  .patient-record-clinic .clinic-record-quick-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .patient-record-surface .analysis-section-workspace.is-overview {
    grid-template-columns: minmax(0, 1.45fr) minmax(290px, .75fr);
  }

  .patient-record-surface .analysis-section-workspace.is-overview .analysis-category-columns {
    gap: 16px;
    width: 100%;
    min-height: 520px;
    padding: 10px 20px 20px 0;
    display: flex;
    position: relative;
  }

  .patient-record-surface .analysis-section-workspace.is-overview .analysis-category-scale {
    color: #7b8e9b;
    border-right: 2px dashed #91b3c840;
    flex-direction: column;
    justify-content: space-between;
    height: 360px;
    padding-right: 12px;
    font-size: 13px;
    font-weight: 500;
    display: flex;
  }

  .patient-record-surface .analysis-section-workspace.is-overview .analysis-category-plot {
    grid-template-columns: repeat(var(--category-count, 16), minmax(0, 1fr));
    flex-grow: 1;
    align-items: end;
    gap: 12px;
    height: 480px;
    display: grid;
    position: relative;
  }

  .patient-record-surface .analysis-section-workspace.is-overview .analysis-category-plot:before {
    content: "";
    pointer-events: none;
    z-index: 0;
    background: repeating-linear-gradient(#0000 0 calc(25% - 1px), #99b4c526 calc(25% - 1px) 25%);
    height: 360px;
    position: absolute;
    bottom: 120px;
    left: 0;
    right: 0;
  }

  .patient-record-surface .analysis-section-workspace.is-overview > .analysis-visual-stage {
    grid-column: 1;
    margin: 10px;
    padding: 0 14px 14px;
  }

  .patient-record-surface .analysis-section-workspace.is-overview .analysis-category-columns {
    min-height: 650px;
  }
}

@media (max-width: 900px) {
  .patient-record-surface .analysis-text-stage .analysis-narrative-card {
    min-height: 0;
  }

  .patient-record-surface .clinic-session-detail {
    grid-template-columns: 1fr;
  }

  .patient-record-surface .clinic-session-detail > [id^="x-product-recommendations-"], .patient-record-surface .clinic-session-detail > .clinic-capture-gallery {
    grid-column: 1;
  }

  .patient-record-surface .clinic-session-detail > [id^="x-product-recommendations-"] .x-product-recommendation-grid {
    display: grid;
    overflow: visible;
  }

  .patient-record-surface .clinic-session-detail > [id^="x-product-recommendations-"] .x-product-recommendation-card {
    width: auto;
  }

  .patient-record-surface .clinic-session-detail > .clinic-capture-gallery figcaption span, .patient-record-surface .clinic-session-detail > .clinic-capture-gallery figcaption small {
    display: block;
  }
}

@media (max-width: 700px) {
  .patient-record-surface .analysis-text-stage .analysis-primary-column {
    grid-template-columns: 1fr;
  }

  .patient-record-surface .analysis-text-stage .analysis-narrative-card {
    grid-column: auto;
  }

  .patient-record-surface .analysis-text-stage .analysis-narrative-card, .patient-record-surface .analysis-text-stage .analysis-insight-card {
    min-height: 0;
  }

  .patient-record-surface .analysis-evidence-section .analysis-feature-evidence > div {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 420px) {
  .patient-record-clinic .clinic-record-actions {
    grid-template-columns: 1fr;
  }

  .patient-record-clinic .clinic-record-new-session {
    grid-column: auto;
  }
}

.patient-record-surface .clinic-record-shell {
  gap: 20px;
}

.patient-record-clinic .patient-record-header {
  border-radius: 22px;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px 20px;
  padding: 18px 22px;
}

.patient-record-clinic .clinic-record-identity {
  align-self: center;
  padding: 4px;
}

.patient-record-clinic .clinic-record-identity h1 {
  margin: 0;
  font-size: clamp(24px, 1.9vw, 30px);
}

.patient-record-clinic .clinic-record-session-count {
  border-inline-start: 1px solid var(--surface-border);
  text-align: start;
  grid-area: session;
  align-content: center;
  gap: 2px;
  min-width: 112px;
  padding-inline-start: 20px;
  display: grid;
}

.patient-record-clinic .clinic-record-session-count > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
}

.patient-record-clinic .clinic-record-session-count > strong {
  color: var(--brand);
  font-size: 22px;
  font-weight: 500;
  line-height: 1.1;
}

.patient-record-clinic .record-analysis-summary {
  background: #f9fafb;
  border-radius: 18px;
  min-height: 196px;
  padding: 20px;
}

.patient-record-clinic .record-analysis-summary .analysis-score-ring {
  gap: 10px;
  padding: 10px;
}

.patient-record-clinic .record-analysis-summary .analysis-score-ring > div {
  width: 112px;
}

.patient-record-clinic .record-analysis-summary .analysis-score-ring strong {
  font-size: 34px;
}

.patient-record-clinic .record-analysis-summary .analysis-score-ring > span {
  gap: 4px;
  font-size: 15px;
  line-height: 1.55;
}

.patient-record-clinic .clinic-record-quick-facts {
  gap: 12px;
}

.patient-record-clinic .clinic-record-quick-facts article {
  border-radius: 14px;
  gap: 5px;
  min-height: 78px;
  padding: 13px 15px;
}

.patient-record-clinic .clinic-record-quick-facts span, .patient-record-clinic .clinic-record-quick-facts small {
  font-size: 13px;
}

.patient-record-clinic .clinic-record-quick-facts strong {
  font-size: 16px;
}

.patient-record-clinic .clinic-record-actions {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  padding-top: 2px;
}

.patient-record-clinic .patient-record-header .clinic-record-actions > * {
  border-radius: 14px;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 3px 12px;
  min-height: 82px;
  padding: 13px 14px;
}

.patient-record-clinic .clinic-record-actions > * > span, .patient-record-clinic .patient-record-products-action > svg {
  border-radius: 11px;
  width: 44px;
  height: 44px;
  padding: 10px;
}

.patient-record-clinic .clinic-record-actions > * > span > svg, .patient-record-clinic .clinic-record-view-tabs span > svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7px;
  width: 22px;
  height: 22px;
}

.patient-record-clinic .clinic-record-actions > * > b {
  font-size: 14px;
  line-height: 1.5;
}

.patient-record-clinic .clinic-record-actions > * > small {
  color: var(--muted);
  white-space: normal;
  font-size: 12px;
  line-height: 1.6;
  display: block;
  overflow: visible;
}

.patient-record-clinic .patient-record-header .clinic-record-new-session small {
  color: #ffffffd1;
}

.patient-record-clinic .patient-record-header .clinic-record-view-tabs {
  gap: 12px;
  padding-top: 18px;
}

.patient-record-clinic .clinic-record-view-tabs > div, .patient-record-clinic .clinic-record-view-tabs > button {
  border-radius: 14px;
  gap: 3px 11px;
  min-height: 70px;
  padding: 11px 14px;
}

.patient-record-clinic .clinic-record-view-tabs strong {
  font-size: 14px;
}

.patient-record-clinic .clinic-record-view-tabs small {
  font-size: 12px;
  line-height: 1.55;
  display: block;
}

.patient-record-clinic .clinic-session-strip {
  border-radius: 20px;
  grid-template-columns: 190px minmax(0, 1fr);
}

.patient-record-clinic .clinic-session-strip > header {
  border-inline-end: 1px solid var(--surface-border);
  padding: 20px;
}

.patient-record-clinic .clinic-session-strip > header span {
  font-size: 12px;
  display: block;
}

.patient-record-clinic .clinic-session-strip > header h2 {
  font-size: 18px;
}

.patient-record-clinic .clinic-session-strip > div {
  gap: 12px;
  padding: 14px 16px;
}

.patient-record-clinic .clinic-session-strip button {
  border: 1px solid var(--surface-border);
  background: #f9fafb;
  border-radius: 15px;
  flex-basis: 190px;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 11px;
  min-height: 92px;
  padding: 10px 12px;
}

.patient-record-clinic .clinic-session-strip button:after {
  display: none;
}

.patient-record-clinic .clinic-session-number {
  width: 54px;
  height: 54px;
  font-size: 15px;
}

.patient-record-clinic .clinic-session-number:before {
  inset: 6px;
}

.patient-record-clinic .clinic-session-strip button > span:nth-child(2) {
  gap: 4px;
}

.patient-record-clinic .clinic-session-strip button > span:nth-child(2) > strong {
  font-size: 14px;
}

.patient-record-clinic .clinic-session-strip button > span:nth-child(2) > small {
  font-size: 12px;
}

.patient-record-clinic .clinic-session-strip button em {
  width: max-content;
  color: var(--brand);
  background: var(--brand-soft);
  border-radius: 7px;
  margin-top: 2px;
  padding: 2px 7px;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  display: block;
}

.patient-record-surface .analysis-results-embedded > .analysis-results-shell {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "hero"
                       "tabs"
                       "content"
                       "footer";
  gap: 20px;
}

.patient-record-surface .analysis-results-embedded .analysis-tab-navigation {
  border: 1px solid var(--surface-border);
  background: #fff;
  border-radius: 20px;
  gap: 14px;
  padding: 18px;
  display: grid;
  position: static;
  inset: auto;
  box-shadow: 0 10px 30px #1e2b350a;
}

.patient-record-surface .analysis-tab-navigation > header {
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding-inline: 2px;
  display: flex;
}

.patient-record-surface .analysis-tab-navigation > header strong {
  color: var(--ink);
  font-size: 17px;
  font-weight: 500;
}

.patient-record-surface .analysis-tab-navigation > header span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 500;
}

.patient-record-surface .analysis-results-embedded .analysis-tab-navigation .analysis-tab-rail {
  max-height: none;
  box-shadow: none;
  background: none;
  border: 0;
  border-radius: 0;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 9px;
  padding: 0;
  display: grid;
  overflow: visible;
}

.patient-record-surface .analysis-results-embedded .analysis-tab-rail button {
  border: 1px solid var(--surface-border);
  background: #f9fafb;
  border-radius: 12px;
  align-items: center;
  gap: 8px;
  width: 100%;
  height: auto;
  min-height: 64px;
  max-height: none;
  padding: 10px 12px;
}

.patient-record-surface .analysis-results-embedded .analysis-tab-rail button > span {
  -webkit-line-clamp: 2;
  font-size: 13px;
  line-height: 1.55;
}

.patient-record-surface .analysis-results-embedded .analysis-tab-rail button > small {
  width: 25px;
  height: 25px;
  color: var(--muted);
  background: #fff;
  border-radius: 7px;
  place-items: center;
  font-size: 12px;
  font-weight: 500;
  display: grid;
}

.patient-record-surface .analysis-results-embedded .analysis-tab-rail button.active > small {
  color: #fff;
  background: var(--brand);
}

.patient-record-surface .analysis-section-workspace {
  border-radius: 22px;
  scroll-margin-block-start: 76px;
}

.patient-record-surface .analysis-section-workspace > header {
  padding: 28px 30px;
}

.patient-record-surface .analysis-section-workspace > header h2 {
  font-size: clamp(26px, 2.2vw, 34px);
}

.patient-record-surface .analysis-section-workspace.is-overview {
  direction: ltr;
  grid-template-columns: 1fr;
  gap: 0;
  display: grid;
}

.patient-record-surface[dir="rtl"] .analysis-section-workspace.is-overview > * {
  direction: rtl;
}

.patient-record-surface .analysis-section-workspace.is-overview > header, .patient-record-surface .analysis-section-workspace.is-overview > .analysis-category-stage, .patient-record-surface .analysis-section-workspace.is-overview > .analysis-visual-stage, .patient-record-surface .analysis-section-workspace.is-overview > .analysis-text-stage, .patient-record-surface .analysis-section-workspace.is-overview > .analysis-evidence-section {
  grid-column: 1;
}

.patient-record-surface .analysis-section-workspace.is-overview > .analysis-category-stage {
  box-shadow: none;
  border-radius: 18px;
  margin: 20px 20px 10px;
  padding: 24px;
}

.patient-record-surface .analysis-section-workspace.is-overview .analysis-category-stage > header {
  margin-bottom: 18px;
}

.patient-record-surface .analysis-section-workspace.is-overview .analysis-category-stage > header h3 {
  font-size: 20px;
}

.patient-record-surface .analysis-section-workspace.is-overview > .analysis-visual-stage {
  background: #fff;
  margin: 10px 20px 20px;
  padding: 0;
}

.patient-record-surface .analysis-section-workspace.is-overview .analysis-feature-chart {
  border-radius: 18px;
  min-height: 760px;
  padding: 26px;
}

.patient-record-surface .analysis-section-workspace.is-overview .analysis-overview-radar {
  min-height: 670px;
}

.patient-record-surface .analysis-section-workspace.is-overview .analysis-feature-chart .analysis-radar {
  grid-template-columns: 1fr;
  gap: 18px;
  padding: 0;
}

.patient-record-surface .analysis-section-workspace.is-overview .analysis-feature-chart .analysis-radar svg {
  width: min(100%, 900px);
  max-height: none;
}

.patient-record-surface .analysis-results-embedded .analysis-visual-stage.is-single .analysis-feature-chart.chart-topic-profile {
  min-height: 560px;
  margin: 6px;
}

.patient-record-surface .analysis-text-stage {
  background: #f9fafb;
  padding: 20px;
}

.patient-record-surface .analysis-text-stage .analysis-primary-column {
  grid-template-columns: 1fr;
  gap: 16px;
}

.patient-record-surface .analysis-text-stage .analysis-report-stack {
  grid-template-columns: 1fr;
}

.patient-record-surface .analysis-text-stage .analysis-narrative-card, .patient-record-surface .analysis-text-stage .analysis-insight-card {
  border-radius: 16px;
  min-height: 0;
  padding: 24px;
}

.patient-record-surface .analysis-text-stage .analysis-narrative-card > p {
  font-size: clamp(17px, 1.25vw, 19px);
  line-height: 2.05;
}

.patient-record-surface .analysis-text-stage .analysis-insight-card li > p, .patient-record-surface .analysis-text-stage .analysis-insight-card > p {
  font-size: clamp(16px, 1.08vw, 18px);
  line-height: 2;
}

.patient-record-surface .analysis-evidence-section {
  padding: 0 20px 20px;
}

.patient-record-surface .analysis-evidence-section .analysis-feature-evidence {
  border-radius: 18px;
  padding: 22px;
}

.patient-record-surface .analysis-evidence-section .analysis-feature-evidence > div {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.patient-record-surface .clinic-session-detail {
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
  display: grid;
}

.patient-record-surface .clinic-session-detail > .analysis-results-embedded, .patient-record-surface .clinic-session-detail > [id^="x-product-recommendations-"], .patient-record-surface .clinic-session-detail > .clinic-capture-gallery {
  grid-column: 1;
  width: 100%;
  margin: 0;
}

.patient-record-surface .clinic-session-detail > [id^="x-product-recommendations-"] {
  border-radius: 22px;
  padding: 24px;
}

.patient-record-surface .clinic-session-detail > [id^="x-product-recommendations-"] .x-product-recommendation-grid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
  padding-bottom: 0;
  display: grid;
  overflow: visible;
}

.patient-record-surface .clinic-session-detail > [id^="x-product-recommendations-"] .x-product-recommendation-card {
  flex: auto;
  width: auto;
}

.patient-record-surface .clinic-session-detail > .clinic-capture-gallery {
  border-radius: 22px;
}

.patient-record-surface .clinic-session-detail > .clinic-capture-gallery > div {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  padding: 16px;
}

.patient-record-surface .clinic-session-detail > .clinic-capture-gallery figcaption {
  gap: 4px;
  padding: 11px;
  display: grid;
}

.patient-record-surface .clinic-session-detail > .clinic-capture-gallery figcaption span, .patient-record-surface .clinic-session-detail > .clinic-capture-gallery figcaption small {
  display: block;
}

@media (min-width: 1181px) {
  .patient-record-clinic {
    grid-template-columns: 268px minmax(0, 1fr);
  }

  .patient-record-clinic .patient-record-sidebar {
    width: 268px;
    padding: 18px 14px 16px;
  }

  .patient-record-clinic .clinic-record-shell {
    width: min(100% - 40px, 1720px);
    padding-block: 20px 64px;
  }
}

@media (max-width: 1180px) {
  .patient-record-clinic .patient-record-header {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .patient-record-clinic .clinic-record-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .patient-record-surface .analysis-section-workspace.is-overview .analysis-category-columns {
    padding-bottom: 10px;
    overflow: auto hidden;
  }
}

@media (max-width: 900px) {
  .patient-record-surface .analysis-results-embedded .analysis-tab-navigation {
    padding: 14px;
  }

  .patient-record-surface .analysis-results-embedded .analysis-tab-navigation .analysis-tab-rail {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    display: grid;
    overflow: visible;
  }

  .patient-record-surface .analysis-results-embedded .analysis-tab-rail button {
    min-width: 0;
  }

  .patient-record-surface .analysis-text-stage .analysis-primary-column {
    grid-template-columns: 1fr;
  }

  .patient-record-surface .analysis-text-stage .analysis-narrative-card {
    grid-column: auto;
  }

  .patient-record-surface .analysis-evidence-section .analysis-feature-evidence > div, .patient-record-surface .clinic-session-detail > [id^="x-product-recommendations-"] .x-product-recommendation-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .patient-record-surface .clinic-session-detail > .clinic-capture-gallery > div {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .patient-record-clinic .patient-record-header {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    padding: 16px;
  }

  .patient-record-clinic .clinic-record-identity h1 {
    font-size: 24px;
  }

  .patient-record-clinic .clinic-record-session-count {
    min-width: 0;
    padding-inline-start: 12px;
  }

  .patient-record-clinic .record-analysis-summary {
    min-height: 0;
  }

  .patient-record-clinic .clinic-record-actions {
    grid-template-columns: 1fr;
  }

  .patient-record-clinic .clinic-record-new-session {
    grid-column: auto;
  }

  .patient-record-clinic .clinic-record-quick-facts {
    grid-template-columns: 1fr 1fr;
  }

  .patient-record-clinic .clinic-record-quick-facts article:nth-child(3) {
    grid-column: 1 / -1;
  }

  .patient-record-clinic .clinic-session-strip {
    display: block;
  }

  .patient-record-clinic .clinic-session-strip > header {
    border-inline-end: 0;
    padding: 16px;
  }

  .patient-record-clinic .clinic-session-strip > div {
    padding: 0 12px 14px;
  }

  .patient-record-clinic .clinic-session-strip button {
    flex-basis: 190px;
  }

  .patient-record-surface .analysis-tab-navigation > header {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  .patient-record-surface .analysis-results-embedded .analysis-tab-navigation .analysis-tab-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .patient-record-surface .analysis-section-workspace > header {
    align-items: flex-start;
    padding: 22px 18px;
  }

  .patient-record-surface .analysis-section-workspace.is-overview > .analysis-category-stage {
    margin: 14px 10px 8px;
    padding: 16px;
  }

  .patient-record-surface .analysis-section-workspace.is-overview .analysis-category-columns {
    min-height: 0;
    display: block;
  }

  .patient-record-surface .analysis-section-workspace.is-overview .analysis-category-scale {
    display: none;
  }

  .patient-record-surface .analysis-section-workspace.is-overview > .analysis-visual-stage {
    margin: 8px 10px 14px;
    padding: 0;
  }

  .patient-record-surface .analysis-section-workspace.is-overview .analysis-feature-chart {
    min-height: 470px;
    padding: 18px;
  }

  .patient-record-surface .analysis-section-workspace.is-overview .analysis-overview-radar {
    min-height: 380px;
  }

  .patient-record-surface .analysis-text-stage {
    padding: 12px;
  }

  .patient-record-surface .analysis-text-stage .analysis-narrative-card, .patient-record-surface .analysis-text-stage .analysis-insight-card {
    padding: 18px;
  }

  .patient-record-surface .analysis-evidence-section {
    padding: 0 12px 12px;
  }

  .patient-record-surface .clinic-session-detail > [id^="x-product-recommendations-"] {
    padding: 18px;
  }

  .patient-record-surface .clinic-session-detail > [id^="x-product-recommendations-"] .x-product-recommendation-grid {
    grid-template-columns: 1fr;
  }

  .patient-record-surface .clinic-session-detail > .clinic-capture-gallery > div {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 420px) {
  .patient-record-clinic .clinic-record-quick-facts {
    grid-template-columns: 1fr;
  }

  .patient-record-clinic .clinic-record-quick-facts article:nth-child(3) {
    grid-column: auto;
  }

  .patient-record-surface .analysis-evidence-section .analysis-feature-evidence > div, .patient-record-surface .clinic-session-detail > .clinic-capture-gallery > div {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .patient-record-surface .analysis-visual-stage.is-single .analysis-overview-radar .clinical-radar svg {
    width: 100%;
    max-width: 540px;
    max-height: none;
  }
}

.patient-record-clinic .patient-record-header {
  grid-template-areas: "identity session";
}

.patient-record-action-panel {
  gap: 12px;
  display: grid;
}

.patient-record-action-panel > header {
  gap: 3px;
  display: grid;
}

.patient-record-action-panel > header span {
  color: var(--brand);
  font-size: 12px;
  font-weight: 500;
}

.patient-record-action-panel > header strong {
  color: var(--ink);
  font-size: 15px;
  font-weight: 500;
}

.patient-record-action-panel > div {
  gap: 8px;
  display: grid;
}

.patient-record-action-panel > div > a, .patient-record-action-panel > div > button {
  border: 1px solid var(--surface-border);
  min-width: 0;
  min-height: 48px;
  color: var(--ink);
  text-align: start;
  cursor: pointer;
  background: #fff;
  border-radius: 12px;
  align-items: center;
  padding: 10px 13px;
  text-decoration: none;
  transition: border-color .18s, background .18s, color .18s, box-shadow .18s;
  display: flex;
}

.patient-record-action-panel > div > a:hover, .patient-record-action-panel > div > button:hover {
  border-color: rgba(var(--brand-rgb),.2);
  background: var(--brand-surface);
}

.patient-record-action-panel > div > a:focus-visible, .patient-record-action-panel > div > button:focus-visible {
  box-shadow: var(--focus-ring);
  outline: 0;
}

.patient-record-action-panel b {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.6;
}

.patient-record-action-panel > div > .is-primary {
  color: #fff;
  background: var(--brand);
  box-shadow: 0 10px 22px rgba(var(--brand-rgb),.2);
  border-color: #0000;
  order: -1;
}

.patient-record-action-panel > div > .is-primary:hover {
  color: #fff;
  background: var(--brand-hover);
  box-shadow: 0 13px 27px rgba(var(--brand-rgb),.25);
  border-color: #0000;
}

.patient-record-action-panel > p {
  border-radius: 10px;
  margin: 0;
  padding: 8px 9px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.65;
}

.patient-record-action-panel > p.success {
  color: #18765f;
  background: #ebf8f3;
}

.patient-record-action-panel > p.error {
  color: #a53a4c;
  background: #fff0f2;
}

.patient-record-action-panel.is-sidebar {
  border-top: 1px solid var(--surface-border);
  margin-top: 20px;
  padding: 18px 4px 0;
}

.patient-record-action-panel.is-mobile {
  display: none;
}

.patient-record-surface .clinic-session-strip {
  border-radius: 16px;
  grid-template-columns: 142px minmax(0, 1fr);
  width: min(100%, 720px);
  margin-inline-start: auto;
}

.patient-record-surface .clinic-session-strip > header {
  justify-content: center;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 11px 14px;
  display: flex;
}

.patient-record-surface .clinic-session-strip > header > div {
  align-items: center;
  min-width: 0;
  display: flex;
}

.patient-record-surface .clinic-session-strip > header > b {
  flex: none;
  align-self: center;
  min-width: 30px;
  height: 30px;
  margin: 0;
  padding: 0 8px;
  display: inline-grid;
  position: static;
}

.patient-record-surface .clinic-session-strip > header span {
  display: none;
}

.patient-record-surface .clinic-session-strip > header h2 {
  white-space: nowrap;
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
}

.patient-record-surface .clinic-session-strip > div {
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
}

.patient-record-surface .clinic-session-list.clinic-session-strip button {
  border-radius: 11px;
  flex: 0 0 166px;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 8px;
  min-height: 62px;
  padding: 7px 8px;
}

.patient-record-surface .clinic-session-number {
  width: 38px;
  height: 38px;
  font-size: 12px;
}

.patient-record-surface .clinic-session-number:before {
  inset: 4px;
}

.patient-record-surface .clinic-session-strip button > span:nth-child(2) {
  align-content: center;
  gap: 3px;
  overflow: visible;
}

.patient-record-surface .clinic-session-strip button > span:nth-child(2) > strong {
  white-space: nowrap;
  font-size: 12px;
  line-height: 1.5;
  overflow: visible;
}

.patient-record-surface .clinic-session-strip button > span:nth-child(2) > small {
  white-space: nowrap;
  font-size: 11px;
  line-height: 1.5;
  overflow: visible;
}

.patient-record-surface .analysis-results-embedded .analysis-tab-rail button {
  text-align: start;
  grid-template-columns: minmax(0, 1fr);
}

.patient-record-surface .analysis-results-embedded .analysis-tab-rail button > span {
  text-align: start;
  width: 100%;
}

.patient-record-surface .analysis-text-stage .analysis-narrative-card {
  border-inline-start-width: 1px;
  grid-column: 1 / -1;
  width: 100%;
}

.patient-record-surface .analysis-text-stage .analysis-narrative-card > p {
  font-weight: 500;
}

.patient-record-surface .clinic-session-detail [id^="x-product-recommendations-"] .x-product-recommendation-grid {
  grid-template-columns: repeat(auto-fill, minmax(236px, 260px));
  justify-content: start;
  gap: 14px;
}

.patient-record-surface .clinic-session-detail [id^="x-product-recommendations-"] .x-product-recommendation-card {
  grid-template-rows: auto minmax(0, 1fr);
  justify-self: start;
  width: 100%;
  max-width: 260px;
}

.patient-record-surface .clinic-session-detail > [id^="x-product-recommendations-"] {
  border: 0;
}

.patient-record-surface .x-product-recommendation-image {
  aspect-ratio: 1;
  background: #fff;
  border-bottom: 1px solid #334a5b14;
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
}

.patient-record-surface .x-product-recommendation-image img {
  object-fit: contain;
  object-position: center;
  background: #fff;
  width: 100%;
  height: 100%;
  padding: 14px;
  display: block;
  position: absolute;
  inset: 0;
}

@media (max-width: 1180px) {
  .patient-record-clinic .patient-record-header {
    grid-template-areas: "identity session";
  }

  .patient-record-action-panel.is-sidebar {
    display: none;
  }

  .patient-record-action-panel.is-mobile {
    border: 1px solid var(--surface-border);
    background: #fff;
    border-radius: 20px;
    padding: 18px;
    display: grid;
    box-shadow: 0 10px 30px #1e2b350a;
  }

  .patient-record-action-panel.is-mobile > div {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .patient-record-action-panel.is-mobile > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .patient-record-clinic .patient-record-header {
    grid-template-areas: "identity session";
  }

  .patient-record-action-panel.is-mobile {
    border-radius: 18px;
    padding: 15px;
  }

  .patient-record-surface .clinic-session-strip {
    width: 100%;
  }

  .patient-record-surface .clinic-session-strip > header {
    padding: 12px 14px;
  }

  .patient-record-surface .clinic-session-strip > div {
    padding: 0 10px 11px;
  }

  .patient-record-surface[dir] .clinic-session-strip button {
    flex-basis: 166px;
    min-height: 62px;
  }
}

@media (max-width: 620px) {
  .patient-record-surface .clinic-session-detail [id^="x-product-recommendations-"] .x-product-recommendation-grid {
    grid-template-columns: 1fr;
    justify-content: stretch;
  }

  .patient-record-surface .clinic-session-detail [id^="x-product-recommendations-"] .x-product-recommendation-card {
    grid-template-rows: minmax(178px, auto);
    grid-template-columns: 112px minmax(0, 1fr);
    width: 100%;
    max-width: none;
  }

  .patient-record-surface .x-product-recommendation-image {
    aspect-ratio: 1;
    border-bottom: 0;
    border-inline-end: 1px solid #334a5b14;
    align-self: start;
    width: 112px;
    height: 112px;
  }

  .patient-record-surface .x-product-recommendation-image img {
    padding: 9px;
  }
}

@media (max-width: 480px) {
  .patient-record-action-panel.is-mobile > div {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .patient-record-surface .analysis-section-workspace.is-overview .analysis-category-columns {
    padding-bottom: 20px;
    overflow: auto hidden;
  }

  .patient-record-surface .analysis-section-workspace.is-overview .analysis-category-plot {
    min-width: 800px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .patient-record-surface .analysis-section-workspace.is-overview .analysis-category-scale {
    z-index: 10;
    background: #fff;
    position: sticky;
    left: 0;
  }
}

.patient-portal-page {
  background: radial-gradient(circle at 10% 0, #7c16950a, #0000 30rem), #f8fafc;
  min-height: 100dvh;
}

.patient-portal-gate {
  background: radial-gradient(circle at 50% 15%, #7c16950f, #0000 32rem), #f8fafc;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 100dvh;
  padding: 24px 16px;
  display: flex;
}

.patient-portal-minimal-topbar {
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  z-index: 10;
  background: #ffffffd9;
  border-bottom: 1px solid #e2e8f0cc;
  justify-content: space-between;
  align-items: center;
  padding: 14px clamp(16px, 4vw, 40px);
  display: flex;
  position: fixed;
  inset-block-start: 0;
  inset-inline: 0;
}

.patient-portal-loading-card, .patient-portal-error-card {
  text-align: center;
  background: #fff;
  border: 1px solid #7c16951f;
  border-radius: 28px;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 480px;
  padding: clamp(32px, 6vw, 48px) clamp(24px, 5vw, 40px);
  display: flex;
  position: relative;
  box-shadow: 0 16px 40px -8px #7c169514;
}

.patient-portal-loading-card h1, .patient-portal-error-card h1 {
  color: #1e293b;
  margin: 18px 0 8px;
  font-size: clamp(20px, 4vw, 24px);
  font-weight: 700;
}

.patient-portal-loading-card p, .patient-portal-error-card p {
  color: #64748b;
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
}

.patient-portal-spinner {
  border: 4px solid #7c16951f;
  border-top-color: #7c1695;
  border-radius: 50%;
  width: 52px;
  height: 52px;
  animation: .85s cubic-bezier(.5, .1, .4, .9) infinite patient-portal-spin;
}

@keyframes patient-portal-spin {
  to {
    transform: rotate(360deg);
  }
}

.patient-portal-lock-symbol {
  color: #dc2626;
  background: #fee2e2;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 64px;
  height: 64px;
  font-size: 32px;
  font-weight: 700;
  display: inline-flex;
}

.patient-portal-retry-btn {
  color: #fff;
  cursor: pointer;
  background: #7c1695;
  border: 0;
  border-radius: 14px;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
  padding: 12px 24px;
  font-size: 15px;
  font-weight: 600;
  transition: transform .2s, box-shadow .2s;
  display: inline-flex;
  box-shadow: 0 8px 20px #7c169540;
}

.patient-portal-retry-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 24px #7c169552;
}

.patient-portal-topbar .patient-portal-clinic-tag {
  color: #7c1695;
  background: #7c16950a;
  border: 1px solid #7c169526;
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  padding: 4px 12px 4px 6px;
  font-size: 13px;
  font-weight: 600;
  display: inline-flex;
}

.patient-portal-topbar .patient-portal-clinic-tag img {
  object-fit: cover;
  border-radius: 50%;
  width: 24px;
  height: 24px;
}

.patient-portal-clinic-emblem {
  background: #7c1695;
  border-radius: 50%;
  width: 10px;
  height: 10px;
  display: inline-block;
}

.patient-btn-print-top {
  color: #7c1695;
  cursor: pointer;
  background: #fff;
  border: 1px solid #7c169533;
  border-radius: 12px;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  transition: all .2s;
  display: inline-flex;
  box-shadow: 0 2px 8px #7c16950f;
}

.patient-btn-print-top:hover {
  background: #7c16950d;
  border-color: #7c1695;
  transform: translateY(-1px);
}

.patient-portal-hero {
  background: #fff;
  border: 1px solid #e2e8f0e6;
  border-radius: 24px;
  padding: clamp(20px, 3.2vw, 32px);
  position: relative;
  box-shadow: 0 10px 30px -4px #0f172a0a;
}

.patient-portal-hero-meta {
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
  display: flex;
}

.patient-portal-badge {
  color: #7c1695;
  background: #7c169514;
  border-radius: 8px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 700;
  display: inline-block;
}

.patient-portal-official-tag {
  color: #64748b;
  background: #f1f5f9;
  border-radius: 6px;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 600;
  display: inline-block;
}

.patient-portal-hero h1 {
  color: #0f172a;
  margin: 4px 0 6px;
  font-size: clamp(22px, 3.5vw, 32px);
  font-weight: 700;
}

.patient-portal-hero p {
  color: #64748b;
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
}

.patient-portal-contact-strip {
  margin-top: 14px;
}

.patient-portal-call-btn {
  color: #059669;
  background: #10b98114;
  border: 1px solid #10b98140;
  border-radius: 12px;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: all .2s;
  display: inline-flex;
}

.patient-portal-call-btn:hover {
  background: #10b98126;
  transform: translateY(-1px);
}

.patient-portal-tabs {
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
  display: flex;
}

.patient-portal-tabs button {
  cursor: pointer;
  border-radius: 14px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  padding: 10px 18px;
  font-size: 14px;
  font-weight: 600;
  transition: all .2s;
  display: inline-flex;
}

.patient-portal-print-hero-btn {
  color: #7c1695;
  background: #fff;
  border: 1px solid #7c169533;
}

.patient-portal-print-hero-btn:hover {
  background: #7c16950f;
  border-color: #7c1695;
}

.patient-session-rail {
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  align-items: stretch;
  gap: 10px;
  padding: 6px 2px 14px;
  display: flex;
  overflow-x: auto;
}

.patient-session-rail button {
  scroll-snap-align: start;
  flex-direction: column;
  flex: none;
  justify-content: center;
  gap: 4px;
  min-width: 140px;
  display: flex;
}

.patient-session-title {
  color: #0f172a;
  font-size: 13px;
  font-weight: 700;
}

.patient-session-img-count {
  color: #64748b;
  font-size: 11px;
}

.patient-capture-thumb-btn {
  cursor: pointer;
  text-align: start;
  background: none;
  border: 0;
  border-radius: 16px;
  padding: 0;
  font-family: inherit;
  transition: transform .2s, box-shadow .2s;
  overflow: hidden;
}

.patient-capture-thumb-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px -4px #7c16951f;
}

.patient-capture-thumb-btn figure {
  background: #fff;
  border: 1px solid #e2e8f0e6;
  border-radius: 16px;
  margin: 0;
  position: relative;
  overflow: hidden;
}

.patient-capture-thumb-btn img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: #f8fafc;
  width: 100%;
  display: block;
}

.patient-capture-thumb-btn figcaption {
  background: #fff;
  border-top: 1px solid #e2e8f0b3;
  flex-direction: column;
  gap: 3px;
  padding: 10px 14px;
  display: flex;
}

.patient-capture-thumb-btn figcaption strong {
  color: #0f172a;
  font-size: 13px;
  font-weight: 600;
}

.patient-capture-thumb-btn figcaption small {
  color: #64748b;
  font-size: 11px;
}

.patient-lightbox {
  z-index: 99999;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #0f172ae0;
  justify-content: center;
  align-items: center;
  padding: 20px;
  animation: .2s patient-lightbox-fade;
  display: flex;
  position: fixed;
  inset: 0;
}

@keyframes patient-lightbox-fade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.patient-lightbox-container {
  background: #000;
  border-radius: 20px;
  flex-direction: column;
  max-width: min(92vw, 1100px);
  max-height: 90vh;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 25px 50px -12px #00000080;
}

.patient-lightbox-container img {
  object-fit: contain;
  width: 100%;
  max-height: 80vh;
  display: block;
}

.patient-lightbox-caption {
  color: #fff;
  background: #111827;
  justify-content: space-between;
  align-items: center;
  padding: 14px 20px;
  display: flex;
}

.patient-lightbox-caption strong {
  font-size: 14px;
  font-weight: 600;
}

.patient-lightbox-caption span {
  color: #94a3b8;
  font-size: 12px;
}

.patient-lightbox-close {
  color: #fff;
  cursor: pointer;
  z-index: 100000;
  background: #fff3;
  border: 0;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  font-size: 26px;
  line-height: 1;
  transition: background .2s;
  display: flex;
  position: absolute;
  top: 16px;
  right: 16px;
}

.patient-lightbox-close:hover {
  background: #ffffff59;
}

.patient-trend-hero header {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  display: flex;
}

.patient-trend-back-btn {
  color: #7c1695;
  cursor: pointer;
  background: #fff;
  border: 1px solid #7c169533;
  border-radius: 12px;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  transition: all .2s;
  display: inline-flex;
}

.patient-trend-back-btn:hover {
  background: #7c16950f;
}

.patient-progress-bars {
  gap: 14px;
  display: grid;
}

.patient-progress-bar-item {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  flex-direction: column;
  gap: 8px;
  padding: 14px 18px;
  display: flex;
}

.patient-progress-bar-item header {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.patient-progress-bar-item header strong {
  color: #0f172a;
  font-size: 13px;
  font-weight: 600;
}

.patient-progress-bar-item header span {
  color: #475569;
  background: #e2e8f0;
  border-radius: 6px;
  padding: 3px 8px;
  font-size: 12px;
  font-weight: 700;
}

.patient-progress-bar-item header span.positive {
  color: #059669;
  background: #d1fae5;
}

.patient-progress-bar-item header span.negative {
  color: #dc2626;
  background: #fee2e2;
}

.patient-progress-bar-track {
  background: #e2e8f0;
  border-radius: 999px;
  height: 8px;
  position: relative;
  overflow: hidden;
}

.patient-progress-bar-base {
  opacity: .6;
  background: #94a3b8;
  border-radius: 999px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}

.patient-progress-bar-target {
  background: #7c1695;
  border-radius: 999px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}

.patient-progress-bar-target.positive {
  background: #10b981;
}

.patient-progress-bar-target.negative {
  background: #ef4444;
}

@media (max-width: 768px) {
  .patient-portal-page {
    overflow-x: hidden;
  }

  .patient-portal-topbar {
    gap: 8px;
    padding: 10px 14px;
  }

  .patient-portal-topbar .patient-portal-clinic-tag {
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 140px;
    overflow: hidden;
  }

  .patient-portal-hero {
    border-radius: 20px;
    padding: 18px 16px;
  }

  .patient-portal-hero h1 {
    font-size: 22px;
  }

  .patient-portal-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    display: grid;
  }

  .patient-portal-tabs .patient-portal-print-hero-btn {
    grid-column: 1 / -1;
  }

  .patient-session-rail {
    padding: 4px 2px 10px;
  }

  .patient-capture-gallery div {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .patient-capture-thumb-btn figcaption {
    padding: 8px 10px;
  }

  .patient-capture-thumb-btn figcaption strong {
    font-size: 11px;
    line-height: 1.4;
  }
}

/* [project]/apps/web/src/app/clinical-3d-barchart.css [app-client] (css) */
.c3d-container {
  box-sizing: border-box;
  background: linear-gradient(#fff 0%, #f8fafc 100%);
  border: 1px solid #cbd5e1b3;
  border-radius: 20px;
  width: 100%;
  margin: 16px 0 24px;
  padding: 24px 20px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 24px -2px #0f172a0f, inset 0 1px #ffffffe6;
}

.c3d-scroll-shell {
  scrollbar-width: thin;
  scrollbar-color: #cbd5e1 #f1f5f9;
  width: 100%;
  padding-bottom: 16px;
  position: relative;
  overflow: auto hidden;
}

.c3d-chart-stage {
  flex-direction: column;
  min-width: 1060px;
  height: 480px;
  display: flex;
  position: relative;
}

.c3d-grid-lines {
  pointer-events: none;
  z-index: 1;
  position: absolute;
  inset: 48px 0 150px;
}

.c3d-grid-line {
  border-bottom: 1px dashed #cbd5e1bf;
  justify-content: flex-end;
  align-items: center;
  height: 1px;
  display: flex;
  position: absolute;
  left: 0;
  right: 0;
}

[dir="rtl"] .c3d-grid-line {
  justify-content: flex-start;
}

.c3d-grid-label {
  color: #94a3b8;
  background: #f8fafc;
  border: 1px solid #e2e8f0cc;
  border-radius: 4px;
  padding: 1px 6px;
  font-size: 11px;
  font-weight: 600;
  transform: translateY(-50%);
}

.c3d-plot-area {
  grid-template-columns: repeat(var(--item-count, 16), minmax(0, 1fr));
  z-index: 2;
  gap: 16px;
  display: grid;
  position: absolute;
  inset: 48px 60px 150px;
}

.c3d-item {
  cursor: pointer;
  outline: none;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  height: 100%;
  transition: transform .25s cubic-bezier(.34, 1.56, .64, 1);
  display: flex;
  position: relative;
}

.c3d-item:hover, .c3d-item:focus-visible {
  transform: translateY(-5px);
}

.c3d-rail {
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  width: 26px;
  height: 100%;
  display: flex;
  position: relative;
}

.c3d-cylinder {
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 24px;
  transition: height .35s cubic-bezier(.2, .8, .2, 1);
  display: flex;
  position: relative;
}

.c3d-cap {
  z-index: 5;
  border-radius: 50%;
  width: 24px;
  height: 14px;
  position: absolute;
  top: -7px;
  left: 0;
  box-shadow: 0 2px 4px #00000029, inset 0 2px 2px #ffffffd9;
}

.c3d-body {
  z-index: 4;
  border-radius: 0 0 12px 12px;
  width: 24px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  box-shadow: inset -3px 0 6px #00000038, inset 3px 0 6px #fff6;
}

.c3d-base-shadow {
  z-index: 2;
  filter: blur(1.5px);
  background: radial-gradient(#0f172a52 0%, #0f172a00 72%);
  border-radius: 50%;
  width: 32px;
  height: 10px;
  position: absolute;
  bottom: -5px;
}

.c3d-badge {
  white-space: nowrap;
  z-index: 6;
  pointer-events: none;
  background: #fff;
  border: 1px solid #e2e8f0e6;
  border-radius: 8px;
  padding: 3px 8px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  transition: transform .2s cubic-bezier(.34, 1.56, .64, 1), box-shadow .2s;
  position: absolute;
  top: -34px;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 4px 12px #0f172a1f, 0 1px 2px #0f172a0f;
}

.c3d-item:hover .c3d-badge {
  transform: translateX(-50%)scale(1.12);
  box-shadow: 0 8px 20px #0f172a2e;
}

.c3d-no-score {
  color: #94a3b8;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 600;
}

.c3d-item.is-good .c3d-body {
  background: linear-gradient(90deg, #047857 0%, #10b981 28%, #6ee7b7 50%, #10b981 72%, #065f46 100%);
}

.c3d-item.is-good .c3d-cap {
  background: linear-gradient(#a7f3d0 0%, #34d399 100%);
  border: 1px solid #6ee7b7;
}

.c3d-item.is-good .c3d-badge {
  color: #047857;
  border-color: #10b98166;
}

.c3d-item.is-attention .c3d-body {
  background: linear-gradient(90deg, #5c0f71 0%, #7c1695 28%, #d066ef 50%, #7c1695 72%, #5c0f71 100%);
}

.c3d-item.is-attention .c3d-cap {
  background: linear-gradient(#f8e8fd 0%, #d066ef 100%);
  border: 1px solid #d066ef;
}

.c3d-item.is-attention .c3d-badge {
  color: #5c0f71;
  border-color: #a855f766;
}

.c3d-item.is-high .c3d-body {
  background: linear-gradient(90deg, #be123c 0%, #f43f5e 28%, #fda4af 50%, #f43f5e 72%, #9f1239 100%);
}

.c3d-item.is-high .c3d-cap {
  background: linear-gradient(#fecdd3 0%, #fb7185 100%);
  border: 1px solid #fda4af;
}

.c3d-item.is-high .c3d-badge {
  color: #be123c;
  border-color: #f43f5e66;
}

.c3d-item.is-none .c3d-body {
  background: linear-gradient(90deg, #64748b 0%, #94a3b8 50%, #475569 100%);
}

.c3d-item.is-none .c3d-cap {
  background: #cbd5e1;
  border: 1px solid #94a3b8;
}

.c3d-label-wrap {
  pointer-events: none;
  width: 0;
  height: 0;
  position: absolute;
  top: 100%;
  left: 50%;
}

.c3d-label {
  color: #334155;
  white-space: nowrap;
  text-overflow: ellipsis;
  transform-origin: 0 0;
  pointer-events: auto;
  max-width: 140px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  transition: color .2s;
  position: absolute;
  top: 14px;
  left: 0;
  overflow: hidden;
  transform: rotate(45deg);
}

[dir="rtl"] .c3d-label {
  transform-origin: 100% 0;
  text-align: right;
  left: auto;
  right: 0;
  transform: rotate(-45deg);
}

.c3d-item:hover .c3d-label {
  color: #7c1695;
  font-weight: 700;
}

.clinical-radar {
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin: 12px 0 20px;
  padding: 10px 0;
  display: flex;
}

.clinical-radar-canvas {
  justify-content: center;
  width: 100%;
  display: flex;
  overflow: visible;
}

.clinical-radar svg {
  filter: drop-shadow(0 14px 36px #0f172a0f);
  width: min(100%, 900px);
  height: auto;
  display: block;
  overflow: visible;
}

.clinical-radar-surface, .clinical-radar-area {
  transition: all .3s;
}

.clinical-radar-node {
  cursor: pointer;
  transform-box: fill-box;
  transform-origin: center;
  outline: none;
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
}

.clinical-radar-node:hover, .clinical-radar-node.is-hovered {
  transform: scale(1.6);
}

.clinical-radar-point-halo {
  transition: r .3s cubic-bezier(.34, 1.56, .64, 1), fill .3s, filter .3s;
}

.clinical-radar-point-halo.is-primary {
  fill: #a855f747;
}

.clinical-radar-point-halo.is-secondary {
  fill: #10b98147;
}

.clinical-radar-node:hover .clinical-radar-point-halo.is-primary, .clinical-radar-node.is-hovered .clinical-radar-point-halo.is-primary {
  r: 16;
  fill: #a855f7bf;
  filter: drop-shadow(0 0 8px #d066ef);
}

.clinical-radar-node:hover .clinical-radar-point-halo.is-secondary, .clinical-radar-node.is-hovered .clinical-radar-point-halo.is-secondary {
  r: 16;
  fill: #10b981bf;
  filter: drop-shadow(0 0 8px #34d399);
}

.clinical-radar-point-core {
  stroke: #fff;
  stroke-width: 1.8px;
  transition: fill .3s, r .3s cubic-bezier(.34, 1.56, .64, 1);
}

.clinical-radar-point-core.is-primary {
  fill: #7c1695;
}

.clinical-radar-point-core.is-secondary {
  fill: #059669;
}

.clinical-radar-node:hover .clinical-radar-point-core, .clinical-radar-node.is-hovered .clinical-radar-point-core {
  r: 5.5;
}

.clinical-radar-point-dot {
  fill: #fff;
}

.clinical-radar-axis {
  cursor: pointer;
  transition: all .3s;
}

.clinical-radar-axis-label {
  fill: #334155;
  -webkit-user-select: none;
  user-select: none;
  font-size: 15px;
  font-weight: 700;
  transition: fill .3s, text-shadow .3s, transform .3s cubic-bezier(.34, 1.56, .64, 1);
}

.clinical-radar-axis:hover .clinical-radar-axis-label, .clinical-radar-axis.is-hovered .clinical-radar-axis-label {
  fill: #7c1695;
  text-shadow: 0 0 12px #7c169566;
}

.clinical-radar-axis-score-group {
  transform-box: fill-box;
  transform-origin: center;
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
}

.clinical-radar-axis:hover .clinical-radar-axis-score-group, .clinical-radar-axis.is-hovered .clinical-radar-axis-score-group {
  transform: scale(1.15);
}

.clinical-radar-axis-score-bg {
  fill: #fbf5fd;
  stroke: #e9d5ff;
  stroke-width: 1.2px;
  transition: all .3s;
}

.clinical-radar-axis-score-bg.is-alert {
  fill: #fef2f2;
  stroke: #f87171;
}

.clinical-radar-axis:hover .clinical-radar-axis-score-bg, .clinical-radar-axis.is-hovered .clinical-radar-axis-score-bg {
  fill: #f3e8ff;
  stroke: #d066ef;
  filter: drop-shadow(0 4px 8px #a855f740);
}

.clinical-radar-axis-score {
  fill: #5c0f71;
  font-size: 14px;
  font-weight: 800;
  transition: fill .3s;
}

.clinical-radar-axis-score.is-alert {
  fill: #dc2626;
}

.clinical-radar-axis:hover .clinical-radar-axis-score, .clinical-radar-axis.is-hovered .clinical-radar-axis-score {
  fill: #7c1695;
}

.c-radar-alert-pill-bg {
  fill: #fef2f2;
  stroke: #ef4444;
}

.c-radar-alert-pill-text {
  fill: #b91c1c;
}

.c-radar-center-hub-bg {
  fill: #fff;
}

.clinical-radar-axis:hover line.clinical-radar-spoke, .clinical-radar-axis.is-hovered line.clinical-radar-spoke {
  stroke: #d066ef;
  stroke-width: 2.5px;
  filter: drop-shadow(0 0 4px #d066ef80);
}

.c-radar-center-ring {
  transform-origin: 500px 470px;
  animation: 25s linear infinite c-radar-spin;
}

@keyframes c-radar-spin {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

.clinical-radar-legend {
  background: #ffffffe6;
  border: 1px solid #cbd5e1cc;
  border-radius: 99px;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 14px 22px;
  margin-top: 20px;
  padding: 10px 24px;
  display: flex;
  box-shadow: 0 4px 16px #0f172a0a;
}

.clinical-radar-legend span {
  color: #334155;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  display: inline-flex;
}

.clinical-radar-legend i {
  border-radius: 50%;
  width: 10px;
  height: 10px;
  display: inline-block;
}

.clinical-radar-legend .is-primary i {
  background: #7c1695;
  box-shadow: 0 0 8px #7c1695b3;
}

.clinical-radar-legend .is-secondary i {
  background: #10b981;
  box-shadow: 0 0 8px #10b981b3;
}

.clinical-radar-legend small {
  color: #64748b;
  font-size: 12px;
  font-weight: 500;
}

.c3d-alert {
  white-space: nowrap;
  z-index: 10;
  pointer-events: none;
  background: #fef2f2fa;
  border: 1px solid #ef444499;
  border-radius: 999px;
  flex-direction: row;
  align-items: center;
  gap: 5px;
  padding: 3px 8px;
  animation: 2s ease-in-out infinite alternate float-text;
  display: flex;
  position: absolute;
  top: -68px;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 4px 12px #ef44442e, 0 1px 3px #0000000f;
}

.c3d-alert-dot {
  background-color: #ef4444;
  border-radius: 50%;
  flex-shrink: 0;
  width: 7px;
  height: 7px;
  animation: 1.4s infinite pulse-red;
  box-shadow: 0 0 6px #ef4444e6;
}

.c3d-alert-text {
  color: #b91c1c;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}

@keyframes pulse-red {
  0% {
    transform: scale(.95);
    box-shadow: 0 0 #ef4444b3;
  }

  70% {
    transform: scale(1);
    box-shadow: 0 0 0 6px #ef444400;
  }

  100% {
    transform: scale(.95);
    box-shadow: 0 0 #ef444400;
  }
}

@keyframes float-text {
  0% {
    transform: translateY(0)translateX(-50%);
  }

  100% {
    transform: translateY(-4px)translateX(-50%);
  }
}

html[data-clinic-theme="dark"] .c3d-container, body[data-clinic-theme="dark"] .c3d-container, .clinic-theme-scope[data-clinic-theme="dark"] .c3d-container {
  background: linear-gradient(#0f172a 0%, #090e17 100%) !important;
  border-color: #334155d9 !important;
  box-shadow: 0 12px 36px #00000080, inset 0 1px #ffffff0d !important;
}

html[data-clinic-theme="dark"] .c3d-grid-line, body[data-clinic-theme="dark"] .c3d-grid-line, .clinic-theme-scope[data-clinic-theme="dark"] .c3d-grid-line {
  border-bottom-color: #33415599 !important;
}

html[data-clinic-theme="dark"] .c3d-grid-label, body[data-clinic-theme="dark"] .c3d-grid-label, .clinic-theme-scope[data-clinic-theme="dark"] .c3d-grid-label {
  color: #94a3b8 !important;
  background: #1e293b !important;
  border-color: #334155cc !important;
}

html[data-clinic-theme="dark"] .c3d-rail-core, body[data-clinic-theme="dark"] .c3d-rail-core, .clinic-theme-scope[data-clinic-theme="dark"] .c3d-rail-core {
  background: linear-gradient(#1e293bb3 0%, #0f172af2 100%) !important;
  border: 1px solid #33415573 !important;
}

html[data-clinic-theme="dark"] .c3d-badge, body[data-clinic-theme="dark"] .c3d-badge, .clinic-theme-scope[data-clinic-theme="dark"] .c3d-badge {
  color: #f8fafc !important;
  background: #1e293b !important;
  border-color: #334155e6 !important;
  box-shadow: 0 4px 14px #00000073 !important;
}

html[data-clinic-theme="dark"] .c3d-item.is-good .c3d-badge, body[data-clinic-theme="dark"] .c3d-item.is-good .c3d-badge, .clinic-theme-scope[data-clinic-theme="dark"] .c3d-item.is-good .c3d-badge {
  color: #34d399 !important;
  border-color: #34d39973 !important;
}

html[data-clinic-theme="dark"] .c3d-item.is-attention .c3d-badge, body[data-clinic-theme="dark"] .c3d-item.is-attention .c3d-badge, .clinic-theme-scope[data-clinic-theme="dark"] .c3d-item.is-attention .c3d-badge {
  color: #d066ef !important;
  border-color: #d066ef73 !important;
}

html[data-clinic-theme="dark"] .c3d-item.is-high .c3d-badge, body[data-clinic-theme="dark"] .c3d-item.is-high .c3d-badge, .clinic-theme-scope[data-clinic-theme="dark"] .c3d-item.is-high .c3d-badge {
  color: #fb7185 !important;
  border-color: #fb718573 !important;
}

html[data-clinic-theme="dark"] .c3d-label, body[data-clinic-theme="dark"] .c3d-label, .clinic-theme-scope[data-clinic-theme="dark"] .c3d-label {
  color: #cbd5e1 !important;
}

html[data-clinic-theme="dark"] .c3d-item:hover .c3d-label, body[data-clinic-theme="dark"] .c3d-item:hover .c3d-label, .clinic-theme-scope[data-clinic-theme="dark"] .c3d-item:hover .c3d-label {
  color: #d066ef !important;
}

html[data-clinic-theme="dark"] .clinical-radar-legend, body[data-clinic-theme="dark"] .clinical-radar-legend, .clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-legend {
  background: #1e293bd9 !important;
  border-color: #334155cc !important;
  box-shadow: 0 4px 16px #0000004d !important;
}

html[data-clinic-theme="dark"] .clinical-radar-legend span, body[data-clinic-theme="dark"] .clinical-radar-legend span, .clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-legend span {
  color: #e2e8f0 !important;
}

html[data-clinic-theme="dark"] .clinical-radar-legend small, body[data-clinic-theme="dark"] .clinical-radar-legend small, .clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-legend small {
  color: #94a3b8 !important;
}

html[data-clinic-theme="dark"] .c3d-scroll-shell, body[data-clinic-theme="dark"] .c3d-scroll-shell, .clinic-theme-scope[data-clinic-theme="dark"] .c3d-scroll-shell {
  scrollbar-color: #334155 #0f172a !important;
}

html[data-clinic-theme="dark"] .clinical-radar-surface, body[data-clinic-theme="dark"] .clinical-radar-surface, .clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-surface {
  fill: #0c1c2a !important;
  stroke: #d066ef38 !important;
  filter: drop-shadow(0 20px 40px #00000080) !important;
}

html[data-clinic-theme="dark"] .clinical-radar-spoke, body[data-clinic-theme="dark"] .clinical-radar-spoke, .clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-spoke {
  stroke: #334155b3 !important;
}

html[data-clinic-theme="dark"] .clinical-radar-axis-label, body[data-clinic-theme="dark"] .clinical-radar-axis-label, .clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-axis-label {
  fill: #f8fafc !important;
}

html[data-clinic-theme="dark"] .clinical-radar-axis:hover .clinical-radar-axis-label, html[data-clinic-theme="dark"] .clinical-radar-axis.is-hovered .clinical-radar-axis-label, body[data-clinic-theme="dark"] .clinical-radar-axis:hover .clinical-radar-axis-label, body[data-clinic-theme="dark"] .clinical-radar-axis.is-hovered .clinical-radar-axis-label, .clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-axis:hover .clinical-radar-axis-label, .clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-axis.is-hovered .clinical-radar-axis-label {
  fill: #d066ef !important;
  text-shadow: 0 0 12px #d066ef80 !important;
}

html[data-clinic-theme="dark"] .clinical-radar-axis-score-bg, body[data-clinic-theme="dark"] .clinical-radar-axis-score-bg, .clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-axis-score-bg {
  fill: #0f273d !important;
  stroke: #7c1695 !important;
}

html[data-clinic-theme="dark"] .clinical-radar-axis-score-bg.is-alert, body[data-clinic-theme="dark"] .clinical-radar-axis-score-bg.is-alert, .clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-axis-score-bg.is-alert {
  fill: #450a0a !important;
  stroke: #ef4444 !important;
}

html[data-clinic-theme="dark"] .clinical-radar-axis:hover .clinical-radar-axis-score-bg, html[data-clinic-theme="dark"] .clinical-radar-axis.is-hovered .clinical-radar-axis-score-bg, body[data-clinic-theme="dark"] .clinical-radar-axis:hover .clinical-radar-axis-score-bg, body[data-clinic-theme="dark"] .clinical-radar-axis.is-hovered .clinical-radar-axis-score-bg, .clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-axis:hover .clinical-radar-axis-score-bg, .clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-axis.is-hovered .clinical-radar-axis-score-bg {
  fill: #16384b !important;
  stroke: #d066ef !important;
  filter: drop-shadow(0 4px 10px #d066ef4d) !important;
}

html[data-clinic-theme="dark"] .clinical-radar-axis-score, body[data-clinic-theme="dark"] .clinical-radar-axis-score, .clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-axis-score {
  fill: #d066ef !important;
  font-weight: 800 !important;
}

html[data-clinic-theme="dark"] .clinical-radar-axis-score.is-alert, body[data-clinic-theme="dark"] .clinical-radar-axis-score.is-alert, .clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-axis-score.is-alert {
  fill: #fca5a5 !important;
  font-weight: 800 !important;
}

html[data-clinic-theme="dark"] .clinical-radar-axis:hover .clinical-radar-axis-score, html[data-clinic-theme="dark"] .clinical-radar-axis.is-hovered .clinical-radar-axis-score, body[data-clinic-theme="dark"] .clinical-radar-axis:hover .clinical-radar-axis-score, body[data-clinic-theme="dark"] .clinical-radar-axis.is-hovered .clinical-radar-axis-score, .clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-axis:hover .clinical-radar-axis-score, .clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-axis.is-hovered .clinical-radar-axis-score {
  fill: #d066ef !important;
}

html[data-clinic-theme="dark"] .clinical-radar-tier-tag-bg, body[data-clinic-theme="dark"] .clinical-radar-tier-tag-bg, .clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-tier-tag-bg {
  fill: #1e293b !important;
  stroke: #334155 !important;
}

html[data-clinic-theme="dark"] .clinical-radar-tier-tag-text, body[data-clinic-theme="dark"] .clinical-radar-tier-tag-text, .clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-tier-tag-text {
  fill: #94a3b8 !important;
}

html[data-clinic-theme="dark"] .c-radar-alert-pill-bg, body[data-clinic-theme="dark"] .c-radar-alert-pill-bg, .clinic-theme-scope[data-clinic-theme="dark"] .c-radar-alert-pill-bg {
  fill: #450a0a !important;
  stroke: #ef4444 !important;
}

html[data-clinic-theme="dark"] .c-radar-alert-pill-text, body[data-clinic-theme="dark"] .c-radar-alert-pill-text, .clinic-theme-scope[data-clinic-theme="dark"] .c-radar-alert-pill-text {
  fill: #fca5a5 !important;
}

html[data-clinic-theme="dark"] .c-radar-center-hub-bg, body[data-clinic-theme="dark"] .c-radar-center-hub-bg, .clinic-theme-scope[data-clinic-theme="dark"] .c-radar-center-hub-bg {
  fill: #0c1c2a !important;
  stroke: #7c1695 !important;
}

html[data-clinic-theme="dark"] .c3d-alert, body[data-clinic-theme="dark"] .c3d-alert, .clinic-theme-scope[data-clinic-theme="dark"] .c3d-alert {
  background: #450a0af2 !important;
  border-color: #ef4444b3 !important;
}

html[data-clinic-theme="dark"] .c3d-alert-text, body[data-clinic-theme="dark"] .c3d-alert-text, .clinic-theme-scope[data-clinic-theme="dark"] .c3d-alert-text {
  color: #fca5a5 !important;
}

/* [project]/apps/web/src/app/clinic-workflow.css [app-client] (css) */
.clinic-intake-disclosure {
  border: 1px solid rgba(var(--brand-rgb),.14);
  border-radius: var(--radius-lg);
  background: var(--surface-bg);
  box-shadow: var(--shadow-xs);
  transition: border-color .18s, box-shadow .18s;
  overflow: hidden;
}

.clinic-intake-disclosure > summary {
  justify-content: space-between;
  align-items: center;
  gap: var(--space-5);
  padding: var(--space-5) var(--space-6);
  color: var(--ink);
  cursor: pointer;
  list-style: none;
  display: flex;
}

.clinic-intake-disclosure > summary::-webkit-details-marker {
  display: none;
}

.clinic-intake-disclosure > summary > span {
  gap: var(--space-1);
  display: grid;
}

.clinic-intake-disclosure > summary strong {
  font-size: .9rem;
  font-weight: 500;
}

.clinic-intake-disclosure > summary small {
  max-width: 68ch;
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.8;
}

.clinic-intake-disclosure-icon {
  border: 1px solid rgba(var(--brand-rgb),.12);
  border-radius: var(--radius-sm);
  width: 2rem;
  height: 2rem;
  color: var(--brand);
  background: var(--brand-soft);
  flex: none;
  place-items: center;
  transition: color .18s, background .18s, transform .2s;
  display: grid;
}

.clinic-intake-disclosure-icon svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7px;
  width: 1rem;
  height: 1rem;
}

.clinic-intake-disclosure:hover {
  border-color: rgba(var(--brand-rgb),.28);
  box-shadow: var(--shadow-sm);
}

.clinic-intake-disclosure > summary:hover .clinic-intake-disclosure-icon {
  color: var(--brand-hover);
  background: rgba(var(--brand-rgb),.12);
}

.clinic-intake-disclosure[open] {
  border-color: rgba(var(--brand-rgb),.24);
}

.clinic-intake-disclosure[open] .clinic-intake-disclosure-icon {
  transform: rotate(180deg);
}

.clinic-intake-disclosure > summary:focus-visible {
  box-shadow: inset var(--focus-ring);
  outline: 0;
}

.clinic-intake-disclosure-content {
  gap: var(--space-5);
  border-top: 1px solid var(--surface-border);
  padding: var(--space-6);
  background: none;
  display: grid;
}

.clinic-workflow.is-intake .clinic-intake-disclosure-content .clinic-form-section {
  gap: var(--space-4);
  box-shadow: none;
  counter-increment: none;
  background: none;
  border: 0;
  border-radius: 0;
  grid-template-columns: minmax(0, 1fr);
  margin: 0;
  padding: 0;
  transition: none;
  animation: none;
  display: grid;
  overflow: visible;
  transform: none;
}

.clinic-workflow.is-intake .clinic-intake-disclosure-content .clinic-form-section + .clinic-form-section {
  border-top: 1px solid var(--surface-border);
  padding-top: var(--space-5);
}

.clinic-workflow.is-intake .clinic-intake-disclosure-content .clinic-form-section:before {
  display: none;
}

.clinic-workflow.is-intake .clinic-intake-disclosure-content .clinic-form-section:hover {
  box-shadow: none;
  border-color: #0000;
  transform: none;
}

.clinic-workflow.is-intake .clinic-intake-disclosure-content .clinic-form-section > header {
  align-items: center;
  column-gap: var(--space-3);
  grid-template-columns: auto minmax(0, 1fr);
  padding-inline-start: 0;
  display: grid;
}

.clinic-workflow.is-intake .clinic-intake-disclosure-content .clinic-form-section > header:before {
  display: none;
}

.clinic-workflow.is-intake .clinic-intake-disclosure-content .clinic-form-section > header:after {
  content: "";
  background: var(--surface-border);
  width: 100%;
  height: 1px;
}

.clinic-workflow.is-intake .clinic-intake-disclosure-content .clinic-form-section > header h2 {
  align-items: center;
  gap: var(--space-2);
  color: var(--ink);
  font-size: var(--title-card);
  margin: 0;
  font-weight: 500;
  line-height: 1.6;
  display: flex;
}

.clinic-workflow.is-intake .clinic-intake-disclosure-content .clinic-form-section > header h2:before {
  border-radius: var(--radius-pill);
  content: "";
  background: var(--brand);
  flex: none;
  width: 6px;
  height: 6px;
}

.clinic-workflow.is-intake .clinic-intake-disclosure-content .clinic-form-section > header p {
  max-width: var(--content-readable);
  margin-top: var(--space-2);
  color: var(--muted);
  font-size: var(--text-compact);
  grid-column: 1 / -1;
  line-height: 1.75;
}

.clinic-workflow.is-intake .clinic-intake-disclosure-content .clinic-form-section > div {
  gap: var(--space-4);
}

.clinic-workflow.is-intake .clinic-intake-disclosure-content .operational-form-grid {
  gap: var(--space-3);
}

.clinic-workflow.is-intake .clinic-intake-disclosure-content .clinic-intake-choice-group {
  min-width: 0;
  color: var(--ink-soft);
  background: none;
  border: 0;
  margin: 0;
  padding: 0;
}

.clinic-workflow.is-intake .clinic-intake-disclosure-content .clinic-intake-choice-group legend {
  margin: 0 0 var(--space-2);
  color: var(--ink-soft);
  font-size: var(--text-compact);
  padding: 0;
  font-weight: 500;
}

.clinic-workflow.is-intake .clinic-intake-disclosure-content .clinic-intake-choice-group > div {
  gap: var(--space-2) var(--space-4);
  flex-wrap: wrap;
  display: flex;
}

.clinic-workflow.is-intake .clinic-intake-disclosure-content .clinic-intake-choice-group label {
  align-items: center;
  gap: var(--space-2);
  min-height: 32px;
  color: var(--ink-soft);
  box-shadow: none;
  cursor: pointer;
  font-size: var(--text-compact);
  background: none;
  border: 0;
  border-radius: 0;
  padding: 0;
  font-weight: 400;
  line-height: 1.7;
  display: inline-flex;
}

.clinic-workflow.is-intake .clinic-intake-disclosure-content .clinic-intake-choice-group label.selected {
  color: var(--ink);
  font-weight: 500;
}

.clinic-workflow.is-intake .clinic-intake-disclosure-content .clinic-intake-choice-group input {
  border: 1.5px solid rgba(var(--brand-rgb),.38);
  border-radius: var(--radius-xs);
  appearance: none;
  background: var(--surface-bg);
  cursor: pointer;
  background-position: center;
  background-repeat: no-repeat;
  background-size: .84rem;
  flex: none;
  width: 20px;
  height: 20px;
  margin: 0;
  transition: border-color .16s, background-color .16s, box-shadow .16s, transform .16s;
  box-shadow: inset 0 1px #ffffffc7;
}

.clinic-workflow.is-intake .clinic-intake-disclosure-content .clinic-intake-choice-group label:hover input {
  border-color: var(--brand);
  background-color: var(--brand-soft);
}

.clinic-workflow.is-intake .clinic-intake-disclosure-content .clinic-intake-choice-group input:checked {
  border-color: var(--brand);
  background-color: var(--brand);
  box-shadow: 0 2px 6px rgba(var(--brand-rgb),.2);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3.4 8.1 2.8 2.8 6.4-6.3' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.clinic-workflow.is-intake .clinic-intake-disclosure-content .clinic-intake-choice-group input:focus-visible {
  box-shadow: var(--focus-ring);
  outline: 0;
}

@media (max-width: 640px) {
  .clinic-intake-disclosure > summary {
    padding: var(--space-4);
  }

  .clinic-intake-disclosure-content {
    gap: var(--space-4);
    padding: var(--space-4);
  }
}

@media (prefers-reduced-motion: reduce) {
  .clinic-intake-disclosure, .clinic-intake-disclosure-icon, .clinic-intake-choice-group input {
    transition: none;
  }
}

.clinic-hair-shaft-light-note {
  align-items: center;
  gap: var(--space-3);
  border: 1px solid rgba(var(--brand-rgb),.18);
  border-radius: var(--radius-md);
  padding: var(--space-3);
  color: var(--ink);
  background: var(--brand-surface);
  display: flex;
}

.clinic-hair-shaft-light-note > i {
  border: 5px solid var(--surface);
  border-radius: var(--radius-pill);
  width: 24px;
  height: 24px;
  box-shadow: 0 0 0 1px rgba(var(--brand-rgb),.18),0 0 16px #f6f1dfb8;
  background: #f6f1df;
  flex: none;
}

.clinic-hair-shaft-light-note > span {
  gap: 2px;
  display: grid;
}

.clinic-hair-shaft-light-note strong {
  font-size: var(--text-compact);
  font-weight: 500;
  line-height: 1.55;
}

.clinic-hair-shaft-light-note small {
  color: var(--muted);
  font-size: var(--text-small);
  line-height: 1.65;
}

@media (max-width: 640px) {
  .clinic-hair-shaft-light-note {
    grid-column: 2;
    padding: 6px 8px;
  }

  .clinic-hair-shaft-light-note > i {
    border-width: 4px;
    width: 18px;
    height: 18px;
  }

  .clinic-hair-shaft-light-note strong {
    font-size: 12px;
  }

  .clinic-hair-shaft-light-note small {
    display: none;
  }
}

.clinic-setup-modern {
  flex-direction: column;
  gap: 24px;
  margin: 0 auto;
  padding: 10px 0 30px;
  width: min(980px, 100%) !important;
  display: flex !important;
}

.clinic-setup-hero-card {
  background: linear-gradient(135deg, #fffffffa, #f4fafef0);
  border: 1px solid #91b3c852;
  border-radius: 24px;
  justify-content: space-between;
  align-items: center;
  gap: 28px;
  padding: 32px 36px;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 16px 44px #1d4e6c14, 0 2px 10px #1d4e6c08;
}

.clinic-setup-hero-content {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.clinic-setup-eyebrow {
  align-items: center;
  gap: 10px;
  display: flex;
}

.clinic-setup-step-badge {
  color: #7c1695;
  background: #7c16951a;
  border: 1px solid #7c169533;
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 11.5px;
  font-weight: 700;
}

.clinic-setup-patient-pill {
  color: #334155;
  background: #f1f5f9;
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  padding: 4px 12px;
  font-size: 12px;
  display: inline-flex;
}

.clinic-setup-patient-pill strong {
  font-weight: 700;
}

.clinic-setup-patient-pill small {
  color: #64748b;
}

.clinic-setup-title {
  color: #0f172a;
  letter-spacing: -.02em;
  margin: 0;
  font-size: clamp(24px, 2.4vw, 30px);
  font-weight: 800;
}

.clinic-setup-desc {
  color: #475569;
  max-width: 580px;
  margin: 0;
  font-size: 14.5px;
  line-height: 1.8;
}

.clinic-setup-device-status {
  flex-shrink: 0;
}

.device-status-indicator {
  color: #15803d;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 14px;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  font-size: 13px;
  font-weight: 700;
  display: inline-flex;
  box-shadow: 0 4px 14px #16a34a14;
}

.device-status-dot {
  background: #16a34a;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  animation: 1.6s ease-in-out infinite neural-live-pulse;
  box-shadow: 0 0 0 3px #16a34a40;
}

.clinic-setup-cards-row {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  display: grid;
}

.clinic-setup-card {
  background: #fff;
  border: 1px solid #91b3c842;
  border-radius: 20px;
  flex-direction: column;
  gap: 16px;
  padding: 26px 24px;
  transition: transform .22s, box-shadow .22s, border-color .22s;
  display: flex;
  position: relative;
  box-shadow: 0 10px 30px #1d4e6c0d;
}

.clinic-setup-card:hover {
  border-color: #7c169566;
  transform: translateY(-3px);
  box-shadow: 0 16px 36px #1d4e6c1a;
}

.setup-card-icon {
  color: #7c1695;
  background: linear-gradient(135deg, #f0f9ff, #e0f2fe);
  border-radius: 16px;
  place-items: center;
  width: 52px;
  height: 52px;
  display: grid;
  box-shadow: 0 6px 14px #7c16951f;
}

.setup-card-body {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.setup-card-num {
  color: #7c1695;
  letter-spacing: .05em;
  font-size: 11.5px;
  font-weight: 800;
}

.setup-card-body h3 {
  color: #0f172a;
  margin: 0;
  font-size: 16.5px;
  font-weight: 800;
}

.setup-card-body p {
  color: #64748b;
  margin: 0;
  font-size: 13.5px;
  line-height: 1.7;
}

.clinic-setup-actions-modern {
  justify-content: flex-end;
  align-items: center;
  gap: 14px;
  padding-top: 10px;
  display: flex;
}

.clinic-setup-cancel {
  color: #475569;
  cursor: pointer;
  background: #fff;
  border: 1px solid #91b3c866;
  border-radius: 14px;
  min-height: 48px;
  padding: 0 24px;
  font-size: 14px;
  font-weight: 600;
  transition: all .2s;
}

.clinic-setup-cancel:hover {
  color: #0f172a;
  background: #f8fafc;
}

.clinic-setup-start-btn {
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, #7c1695, #5c0f71);
  border: none;
  border-radius: 16px;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 32px;
  font-size: 15px;
  font-weight: 700;
  transition: transform .2s, box-shadow .2s;
  display: inline-flex;
  position: relative;
  box-shadow: 0 14px 34px #7c169559;
}

.clinic-setup-start-btn:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 18px 40px #7c169573;
}

.clinic-setup-start-btn:disabled {
  opacity: .6;
  cursor: not-allowed;
  box-shadow: none;
}

.btn-glow-dot {
  background: #d066ef;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  animation: 1.2s ease-in-out infinite neural-live-pulse;
  box-shadow: 0 0 8px #fff;
}

.clinic-video-enhanced {
  filter: contrast(1.08) saturate(1.12) brightness(1.02);
  will-change: filter;
  transition: filter .3s;
}

.clinic-viewfinder-hud {
  pointer-events: none;
  z-index: 2;
  position: absolute;
  inset: 0;
}

.vf-corner {
  filter: drop-shadow(0 0 5px #d066ef80);
  border-style: solid;
  border-color: #d066efd9;
  width: 24px;
  height: 24px;
  position: absolute;
}

.vf-corner.tl {
  border-width: 2.5px 0 0 2.5px;
  border-top-left-radius: 6px;
  top: 18px;
  left: 18px;
}

.vf-corner.tr {
  border-width: 2.5px 2.5px 0 0;
  border-top-right-radius: 6px;
  top: 18px;
  right: 18px;
}

.vf-corner.bl {
  border-width: 0 0 2.5px 2.5px;
  border-bottom-left-radius: 6px;
  bottom: 84px;
  left: 18px;
}

.vf-corner.br {
  border-width: 0 2.5px 2.5px 0;
  border-bottom-right-radius: 6px;
  bottom: 84px;
  right: 18px;
}

.vf-crosshair {
  border: 1px dashed #ffffff59;
  border-radius: 50%;
  place-items: center;
  width: 80px;
  height: 80px;
  display: grid;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.vf-crosshair span {
  border: 1.5px solid #d066efcc;
  border-radius: 50%;
  width: 14px;
  height: 14px;
}

.vf-crosshair i {
  background: #d066ef;
  border-radius: 50%;
  width: 4px;
  height: 4px;
  position: absolute;
  box-shadow: 0 0 6px #d066ef;
}

.clinic-complete-gallery-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 24px 0 28px;
  display: grid;
}

.complete-step-thumb-card {
  background: #fff;
  border: 1px solid #91b3c847;
  border-radius: 18px;
  flex-direction: column;
  gap: 10px;
  padding: 12px;
  display: flex;
  box-shadow: 0 8px 24px #1d4e6c0d;
}

.thumb-img-wrapper {
  aspect-ratio: 4 / 3;
  background: #0f172a;
  border-radius: 12px;
  width: 100%;
  position: relative;
  overflow: hidden;
}

.thumb-img-wrapper img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.thumb-img-empty {
  color: #64748b;
  place-items: center;
  height: 100%;
  font-size: 18px;
  display: grid;
}

.thumb-step-num {
  top: 8px;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  color: #fff;
  background: #0f172abf;
  border: 1px solid #ffffff4d;
  border-radius: 50%;
  place-items: center;
  width: 24px;
  height: 24px;
  font-size: 11px;
  font-weight: 800;
  display: grid;
  position: absolute;
  inset-inline-start: 8px;
}

.thumb-caption {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.thumb-caption strong {
  color: #0f172a;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 13px;
  font-weight: 700;
  overflow: hidden;
}

.thumb-light-pill {
  color: #475569;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 600;
  display: inline-flex;
}

.thumb-light-pill:before {
  content: "";
  background: var(--light-color, #94a3b8);
  width: 8px;
  height: 8px;
  box-shadow: 0 0 4px var(--light-color, #94a3b8);
  border-radius: 50%;
}

.clinic-complete-ai-loading {
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 420px;
  padding: 60px 24px;
  display: flex;
}

@media (max-width: 860px) {
  .clinic-setup-hero-card {
    flex-direction: column;
    align-items: flex-start;
    padding: 24px 20px;
  }

  .clinic-setup-cards-row {
    grid-template-columns: 1fr;
    gap: 12px;
  }

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

.clinic-capture-modern-stage {
  flex-direction: column;
  gap: 14px;
  height: 100%;
  min-height: 0;
  margin: 0 auto;
  animation: .46s cubic-bezier(.16, 1, .3, 1) both clinic-stage-enter;
  width: min(1200px, 100%) !important;
  display: flex !important;
}

.clinic-capture-top-rail {
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  background: linear-gradient(135deg, #fffffff5, #f3f8fceb);
  border: 1px solid #91b3c847;
  border-radius: 20px;
  flex-shrink: 0;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 10px 18px;
  display: flex;
  box-shadow: 0 8px 24px #1d4e6c0d;
}

.capture-steps-pills-scroll {
  scrollbar-width: none;
  flex: 1;
  min-width: 0;
  overflow-x: auto;
}

.capture-steps-pills-scroll::-webkit-scrollbar {
  display: none;
}

.capture-steps-pills {
  align-items: center;
  gap: 10px;
  min-width: max-content;
  display: flex;
}

.capture-step-pill {
  color: #475569;
  cursor: pointer;
  background: #fff;
  border: 1px solid #91b3c842;
  border-radius: 14px;
  align-items: center;
  gap: 10px;
  padding: 6px 14px;
  font-size: 13px;
  transition: all .2s cubic-bezier(.16, 1, .3, 1);
  display: inline-flex;
}

.capture-step-pill:hover:not(:disabled) {
  background: #f8fafc;
  border-color: #7c169566;
  transform: translateY(-1px);
}

.capture-step-pill.is-active {
  color: #5c0f71;
  background: linear-gradient(135deg, #f0f9ff, #e0f2fe);
  border-color: #7c1695;
  font-weight: 700;
  box-shadow: 0 4px 16px #7c169529;
}

.capture-step-pill.is-done {
  color: #166534;
  background: #f0fdf4;
  border-color: #22c55e59;
}

.capture-step-pill:disabled {
  cursor: default;
  opacity: .65;
}

.step-pill-indicator {
  color: #475569;
  background: #e2e8f0;
  border-radius: 50%;
  place-items: center;
  width: 24px;
  height: 24px;
  font-size: 11px;
  font-weight: 800;
  transition: all .2s;
  display: grid;
}

.capture-step-pill.is-active .step-pill-indicator {
  color: #fff;
  background: #7c1695;
  box-shadow: 0 0 10px #7c169573;
}

.capture-step-pill.is-done .step-pill-indicator {
  color: #fff;
  background: #16a34a;
}

.step-pill-info {
  text-align: start;
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.step-pill-info strong {
  color: #0f172a;
  font-size: 12.5px;
  font-weight: 700;
}

.step-pill-light-tag {
  color: #64748b;
  align-items: center;
  gap: 5px;
  font-size: 10.5px;
  display: inline-flex;
}

.step-pill-light-tag:before {
  content: "";
  background: var(--pill-light-color, #94a3b8);
  width: 7px;
  height: 7px;
  box-shadow: 0 0 4px var(--pill-light-color, #94a3b8);
  border-radius: 50%;
}

.capture-top-rail-aside {
  flex-shrink: 0;
  align-items: center;
  gap: 12px;
  display: flex;
}

.capture-active-light-badge {
  border: 1.5px solid var(--light-theme-color, #7c1695);
  background: #fff;
  border-radius: 14px;
  align-items: center;
  gap: 10px;
  padding: 6px 14px;
  display: inline-flex;
  box-shadow: 0 4px 14px #0000000a;
}

.light-glow-orb {
  background: var(--light-theme-color, #7c1695);
  width: 22px;
  height: 22px;
  box-shadow: 0 0 12px var(--light-theme-color, #7c1695);
  border-radius: 50%;
  place-items: center;
  display: grid;
}

.light-glow-orb i {
  background: #fff;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  box-shadow: 0 0 4px #fff;
}

.light-badge-text {
  flex-direction: column;
  gap: 1px;
  display: flex;
}

.light-badge-text small {
  color: #64748b;
  font-size: 10px;
  font-weight: 600;
}

.light-badge-text strong {
  color: #0f172a;
  font-size: 12.5px;
  font-weight: 800;
}

.capture-stream-badge {
  color: #64748b;
  background: #f1f5f9;
  border-radius: 12px;
  align-items: center;
  gap: 7px;
  padding: 7px 14px;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
}

.capture-stream-badge.is-live {
  color: #166534;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
}

.stream-dot {
  background: #94a3b8;
  border-radius: 50%;
  width: 7px;
  height: 7px;
}

.capture-stream-badge.is-live .stream-dot {
  background: #22c55e;
  animation: 1.4s ease-in-out infinite neural-live-pulse;
  box-shadow: 0 0 0 3px #22c55e40;
}

.clinic-capture-viewport-container {
  background: #060b14;
  border: 1.5px solid #a855f747;
  border-radius: 26px;
  flex-direction: column;
  flex: 1;
  min-height: 420px;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 24px 60px #02061759;
}

.clinic-capture-canvas-wrapper {
  background: #060b14;
  flex: 1;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  min-height: 420px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.clinic-capture-canvas-wrapper video {
  object-fit: contain;
  width: 100%;
  height: 100%;
  max-height: calc(100vh - 270px);
  display: block;
}

.modern-vf-brackets {
  pointer-events: none;
  z-index: 3;
  position: absolute;
  inset: 0;
}

.vf-b {
  filter: drop-shadow(0 0 6px #d066ef99);
  border-style: solid;
  border-color: #d066ef;
  width: 32px;
  height: 32px;
  position: absolute;
}

.vf-b.tl {
  border-width: 3px 0 0 3px;
  border-top-left-radius: 8px;
  top: 20px;
  left: 20px;
}

.vf-b.tr {
  border-width: 3px 3px 0 0;
  border-top-right-radius: 8px;
  top: 20px;
  right: 20px;
}

.vf-b.bl {
  border-width: 0 0 3px 3px;
  border-bottom-left-radius: 8px;
  bottom: 20px;
  left: 20px;
}

.vf-b.br {
  border-width: 0 3px 3px 0;
  border-bottom-right-radius: 8px;
  bottom: 20px;
  right: 20px;
}

.modern-vf-center-target {
  pointer-events: none;
  width: 110px;
  height: 110px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.target-outer-circle {
  border: 1.5px dashed #ffffff4d;
  border-radius: 50%;
  width: 100%;
  height: 100%;
}

.target-crosshair {
  position: absolute;
  inset: 0;
}

.target-crosshair:before, .target-crosshair:after {
  content: "";
  background: #d066ef66;
  position: absolute;
}

.target-crosshair:before {
  height: 1px;
  top: 50%;
  left: 10px;
  right: 10px;
  transform: translateY(-50%);
}

.target-crosshair:after {
  width: 1px;
  top: 10px;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
}

.target-center-dot {
  background: #d066ef;
  border-radius: 50%;
  width: 6px;
  height: 6px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 8px #d066ef;
}

.modern-vf-light-hint {
  z-index: 5;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  color: #fff;
  pointer-events: none;
  background: #0f172acc;
  border: 1px solid #ffffff2e;
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  padding: 7px 18px;
  font-size: 12.5px;
  font-weight: 600;
  display: inline-flex;
  position: absolute;
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 8px 24px #0000004d;
}

.hint-indicator {
  background: var(--hint-color, #d066ef);
  width: 8px;
  height: 8px;
  box-shadow: 0 0 8px var(--hint-color, #d066ef);
  border-radius: 50%;
}

.clinic-floating-scalp-hud {
  top: 16px;
  z-index: 6;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  background: #0f172ac2;
  border: 1px solid #ffffff24;
  border-radius: 18px;
  flex-direction: column;
  gap: 8px;
  width: 155px;
  padding: 12px;
  transition: opacity .2s;
  display: flex;
  position: absolute;
  inset-inline-end: 16px;
  box-shadow: 0 12px 30px #00000059;
}

.scalp-hud-header {
  color: #94a3b8;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  display: flex;
}

.scalp-hud-pulse {
  background: #d066ef;
  border-radius: 50%;
  width: 6px;
  height: 6px;
  box-shadow: 0 0 6px #d066ef;
}

.scalp-hud-map-wrap {
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 115px;
  display: flex;
  overflow: hidden;
}

.scalp-hud-map-wrap .clinic-photo-guide {
  aspect-ratio: auto !important;
  width: 100% !important;
  height: 100% !important;
  box-shadow: none !important;
  background: none !important;
  border: none !important;
  border-radius: 12px !important;
  margin: 0 !important;
}

.scalp-hud-map-wrap .clinic-photo-guide img {
  border-radius: 12px;
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
}

.scalp-hud-map-wrap svg {
  filter: drop-shadow(0 4px 10px #0006);
  width: auto;
  max-height: 100%;
}

.scalp-hud-info {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.scalp-hud-info strong {
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}

.scalp-hud-info small {
  color: #94a3b8;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: 10.5px;
  line-height: 1.4;
  display: -webkit-box;
  overflow: hidden;
}

.scalp-hud-shaft-note {
  color: #fbbf24;
  background: #f59e0b26;
  border: 1px solid #f59e0b4d;
  border-radius: 8px;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  font-size: 10px;
  font-weight: 600;
  display: flex;
}

.scalp-hud-shaft-note i {
  background: #fbbf24;
  border-radius: 50%;
  width: 6px;
  height: 6px;
  box-shadow: 0 0 4px #fbbf24;
}

.clinic-modern-camera-offline {
  z-index: 5;
  text-align: center;
  color: #fff;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: #060b14f0;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 24px;
  display: flex;
  position: absolute;
  inset: 0;
}

.offline-icon {
  color: #ef4444;
  background: #ef444426;
  border: 1px solid #ef44444d;
  border-radius: 20px;
  place-items: center;
  width: 68px;
  height: 68px;
  display: grid;
}

.clinic-modern-camera-offline h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
}

.clinic-modern-camera-offline p {
  color: #94a3b8;
  max-width: 440px;
  margin: 0;
  font-size: 13.5px;
}

.clinic-modern-camera-offline button {
  color: #fff;
  cursor: pointer;
  background: #7c1695;
  border: none;
  border-radius: 12px;
  margin-top: 6px;
  padding: 10px 24px;
  font-weight: 700;
  box-shadow: 0 8px 20px #7c16954d;
}

.clinic-pending-preview-overlay, .clinic-saved-preview-overlay {
  z-index: 4;
  background: #060b14;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0;
}

.clinic-pending-preview-overlay img, .clinic-saved-preview-overlay img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.clinic-modern-camera-banner {
  z-index: 7;
  flex-direction: column;
  gap: 8px;
  width: min(90%, 540px);
  display: flex;
  position: absolute;
  top: 65px;
  left: 50%;
  transform: translateX(-50%);
}

.banner-alert {
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  text-align: center;
  border-radius: 12px;
  padding: 8px 16px;
  font-size: 12.5px;
  font-weight: 600;
}

.banner-alert.error {
  color: #fff;
  background: #ef4444e6;
  box-shadow: 0 6px 18px #ef44444d;
}

.banner-alert.learning {
  color: #fff;
  background: #7c1695e6;
  box-shadow: 0 6px 18px #7c16954d;
}

.clinic-modern-capture-dock {
  z-index: 8;
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  background: linear-gradient(135deg, #fffffff5, #f5fafeeb);
  border: 1px solid #91b3c852;
  border-radius: 22px;
  flex-shrink: 0;
  padding: 12px 24px;
  position: relative;
  box-shadow: 0 12px 36px #1d4e6c14;
}

.modern-dock-capture {
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 20px;
  display: grid;
}

.dock-tool-side {
  align-items: center;
  display: flex;
}

.dock-tool-side.start {
  justify-content: flex-start;
}

.dock-tool-side.end {
  justify-content: flex-end;
}

.dock-hardware-pill {
  color: #166534;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 12px;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
}

.hw-dot {
  background: #16a34a;
  border-radius: 50%;
  width: 7px;
  height: 7px;
  box-shadow: 0 0 6px #16a34a;
}

.dock-camera-select-pill {
  color: #475569;
  background: #f8fafc;
  border: 1px solid #91b3c866;
  border-radius: 12px;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  font-size: 12.5px;
  display: inline-flex;
}

.dock-camera-select-pill select {
  color: #0f172a;
  cursor: pointer;
  background: none;
  border: none;
  outline: none;
  font-size: 12.5px;
  font-weight: 600;
}

.dock-shutter-center {
  flex-direction: column;
  align-items: center;
  gap: 6px;
  display: flex;
}

.modern-tactile-shutter {
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, #7c1695, #5c0f71);
  border: none;
  border-radius: 50%;
  place-items: center;
  width: 70px;
  height: 70px;
  transition: transform .18s cubic-bezier(.16, 1, .3, 1), box-shadow .18s;
  display: grid;
  position: relative;
  box-shadow: 0 10px 28px #7c169573;
}

.modern-tactile-shutter.is-retake {
  background: linear-gradient(135deg, #f59e0b, #d97706);
  box-shadow: 0 10px 28px #f59e0b73;
}

.shutter-halo {
  border: 2px solid #7c169566;
  border-radius: 50%;
  animation: 1.8s ease-in-out infinite neural-live-pulse;
  position: absolute;
  inset: -6px;
}

.modern-tactile-shutter:hover:not(:disabled) {
  transform: scale(1.06);
  box-shadow: 0 14px 36px #7c16958c;
}

.modern-tactile-shutter:active:not(:disabled) {
  transform: scale(.96);
}

.modern-tactile-shutter:disabled {
  opacity: .5;
  cursor: not-allowed;
  box-shadow: none;
}

.shutter-caption {
  flex-direction: column;
  align-items: center;
  gap: 2px;
  display: flex;
}

.shutter-caption strong {
  color: #0f172a;
  font-size: 13.5px;
  font-weight: 800;
}

.shutter-caption small {
  color: #64748b;
  font-size: 11px;
}

.dock-cancel-retake-btn {
  color: #475569;
  cursor: pointer;
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  padding: 8px 16px;
  font-size: 12.5px;
  font-weight: 600;
}

.dock-hid-btn {
  color: #7c1695;
  cursor: pointer;
  background: #f0f9ff;
  border: 1px solid #7c16954d;
  border-radius: 12px;
  padding: 8px 16px;
  font-size: 12.5px;
  font-weight: 600;
  transition: all .2s;
}

.dock-hid-btn:hover {
  background: #e0f2fe;
}

.modern-dock-pending, .modern-dock-saved {
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  width: 100%;
  display: flex;
}

.dock-quality-badge-wrap {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.dock-quality-pill {
  border-radius: 10px;
  align-items: center;
  gap: 8px;
  width: fit-content;
  padding: 5px 12px;
  font-size: 12.5px;
  font-weight: 700;
  display: inline-flex;
}

.dock-quality-pill.accepted {
  color: #166534;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
}

.dock-quality-pill.needs_review {
  color: #b45309;
  background: #fffbeb;
  border: 1px solid #fde68a;
}

.quality-dot {
  background: currentColor;
  border-radius: 50%;
  width: 7px;
  height: 7px;
}

.dock-specs-row {
  color: #64748b;
  align-items: center;
  gap: 8px;
  font-size: 11.5px;
  display: flex;
}

.dock-pending-actions, .dock-saved-actions {
  align-items: center;
  gap: 12px;
  display: flex;
}

.dock-retake-btn {
  cursor: pointer;
  border-radius: 14px;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  padding: 0 20px;
  font-size: 13.5px;
  font-weight: 600;
  display: inline-flex;
}

.dock-confirm-btn {
  cursor: pointer;
  border-radius: 14px;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 26px;
  font-size: 14px;
  font-weight: 700;
  transition: transform .2s, box-shadow .2s;
  display: inline-flex;
  color: #fff !important;
  background: linear-gradient(135deg, #16a34a, #15803d) !important;
  border: none !important;
  box-shadow: 0 10px 24px #16a34a59 !important;
}

.dock-confirm-btn:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px #16a34a73 !important;
}

.dock-saved-info {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.dock-saved-notice {
  color: #16a34a;
  font-size: 12px;
  font-weight: 700;
}

.dock-saved-info strong {
  color: #0f172a;
  font-size: 14.5px;
  font-weight: 800;
}

.dock-saved-info small {
  color: #64748b;
  font-size: 12px;
}

.dock-retake-step-btn {
  border-radius: 14px;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  padding: 0 22px;
  font-size: 13.5px;
  font-weight: 700;
  display: inline-flex;
}

@media (max-width: 860px) {
  .clinic-capture-top-rail {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .capture-top-rail-aside {
    justify-content: space-between;
  }

  .clinic-floating-scalp-hud {
    width: 120px;
    padding: 8px;
  }

  .scalp-hud-map-wrap {
    height: 80px;
  }

  .modern-dock-capture {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .dock-tool-side.start, .dock-tool-side.end {
    justify-content: center;
  }

  .modern-dock-pending, .modern-dock-saved {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }

  .dock-pending-actions, .dock-saved-actions {
    justify-content: stretch;
  }

  .dock-pending-actions button, .dock-saved-actions button {
    flex: 1;
    justify-content: center;
  }
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-capture-top-rail, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-modern-capture-dock {
  background: #0f172aeb !important;
  border-color: #ffffff1f !important;
  box-shadow: 0 12px 36px #0006 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .capture-step-pill {
  color: #cbd5e1 !important;
  background: #1e293bb3 !important;
  border-color: #ffffff1a !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .capture-step-pill:hover:not(:disabled) {
  background: #1e293bf2 !important;
  border-color: #d066ef66 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .capture-step-pill.is-active {
  color: #d066ef !important;
  background: #7c169533 !important;
  border-color: #7c1695 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .step-pill-info strong {
  color: #f8fafc !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .capture-active-light-badge {
  border-color: var(--light-theme-color, #7c1695) !important;
  background: #1e293bcc !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .light-badge-text strong {
  color: #f8fafc !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .dock-camera-select-pill {
  color: #cbd5e1 !important;
  background: #1e293bcc !important;
  border-color: #ffffff26 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .dock-camera-select-pill select, .clinic-theme-scope[data-clinic-theme="dark"] .shutter-caption strong, .clinic-theme-scope[data-clinic-theme="dark"] .dock-saved-info strong {
  color: #f8fafc !important;
}

.clinic-workflow.is-intake {
  z-index: 1000 !important;
  -webkit-backdrop-filter: blur(16px) !important;
  overscroll-behavior: contain !important;
  background: #0a101ab8 !important;
  grid-template-rows: 1fr !important;
  justify-content: center !important;
  align-items: center !important;
  padding: clamp(16px, 3.5vw, 36px) clamp(12px, 3vw, 24px) !important;
  display: flex !important;
  position: fixed !important;
  inset: 0 !important;
  overflow-y: auto !important;
}

.clinic-workflow.is-intake .clinic-workflow-body {
  background: none !important;
  width: 100% !important;
  max-width: 780px !important;
  margin: auto !important;
  padding: 0 !important;
  overflow: visible !important;
}

.clinic-intake-wrapper {
  justify-content: center;
  width: 100%;
  margin: auto;
  display: flex;
}

.clinic-intake-card {
  background: var(--surface-bg, #fff);
  border: 1px solid var(--surface-border, #00000014);
  border-radius: 24px;
  flex-direction: column;
  width: 100%;
  max-width: 780px;
  animation: .35s cubic-bezier(.16, 1, .3, 1) both clinicIntakeCardEnter;
  display: flex;
  overflow: hidden;
  box-shadow: 0 24px 64px #0f172a29, 0 4px 16px #0f172a0f;
}

@keyframes clinicIntakeCardEnter {
  from {
    opacity: 0;
    transform: translateY(16px)scale(.985);
  }

  to {
    opacity: 1;
    transform: translateY(0)scale(1);
  }
}

.clinic-intake-topbar {
  border-bottom: 1px solid var(--line, #0000000f);
  background: linear-gradient(180deg, rgba(var(--brand-rgb, 124, 22, 149), .03), transparent);
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 22px 28px 18px;
  display: flex;
}

.clinic-intake-title-group {
  align-items: center;
  gap: 14px;
  display: flex;
}

.clinic-intake-badge-icon {
  background: rgba(var(--brand-rgb, 124, 22, 149), .08);
  width: 42px;
  height: 42px;
  color: var(--brand, #7c1695);
  border-radius: 12px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  display: flex;
}

.clinic-intake-title {
  color: var(--ink, #0f172a);
  letter-spacing: -.02em;
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
}

.clinic-intake-subtitle {
  color: var(--muted, #64748b);
  margin: 3px 0 0;
  font-size: .78rem;
  font-weight: 400;
}

.clinic-intake-close-btn {
  border: 1px solid var(--surface-border, #00000014);
  background: var(--surface-bg, #fff);
  width: 36px;
  height: 36px;
  color: var(--muted, #64748b);
  cursor: pointer;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  transition: all .18s;
  display: flex;
}

.clinic-intake-close-btn:hover {
  color: var(--ink, #0f172a);
  border-color: rgba(var(--brand-rgb, 124, 22, 149), .3);
  background: rgba(var(--brand-rgb, 124, 22, 149), .06);
  transform: rotate(90deg);
}

.clinic-intake-form-body {
  scrollbar-width: thin;
  flex-direction: column;
  gap: 20px;
  max-height: calc(84vh - 140px);
  padding: 24px 28px 20px;
  display: flex;
  overflow-y: auto;
}

.clinic-intake-grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 16px 20px;
  display: grid;
}

.clinic-input-group {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.clinic-input-label {
  color: var(--ink-soft, #334155);
  align-items: center;
  gap: 4px;
  font-size: .8rem;
  font-weight: 600;
  display: flex;
}

.clinic-req-star {
  color: #ef4444;
  font-weight: 700;
}

.clinic-modern-input {
  border: 1.5px solid var(--surface-border, #0000001f);
  background: var(--surface-bg, #fff);
  width: 100%;
  height: 44px;
  color: var(--ink, #0f172a);
  border-radius: 12px;
  outline: none;
  padding: 0 14px;
  font-family: inherit;
  font-size: .88rem;
  transition: border-color .18s, box-shadow .18s, background .18s;
}

.clinic-modern-input:focus {
  border-color: var(--brand, #7c1695);
  box-shadow: 0 0 0 3px rgba(var(--brand-rgb, 124, 22, 149), .14);
}

.clinic-modern-input::placeholder {
  color: #94a3b8;
  font-size: .82rem;
}

.clinic-input-with-icon {
  align-items: center;
  width: 100%;
  display: flex;
  position: relative;
}

.clinic-input-with-icon .clinic-modern-input {
  width: 100%;
}

.clinic-input-with-icon .clinic-modern-input[dir="ltr"], .clinic-input-with-icon input[dir="ltr"] {
  text-align: left;
  direction: ltr;
  padding-left: 44px !important;
  padding-right: 14px !important;
}

.clinic-input-affix {
  color: #94a3b8;
  pointer-events: none;
  z-index: 2;
  justify-content: center;
  align-items: center;
  width: 18px;
  height: 18px;
  display: flex;
  position: absolute;
  left: 14px !important;
  right: auto !important;
}

.clinic-gender-segmented {
  background: rgba(var(--brand-rgb, 124, 22, 149), .04);
  border: 1.5px solid var(--surface-border, #00000014);
  border-radius: 12px;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  padding: 4px;
  display: grid;
}

.clinic-gender-btn {
  height: 36px;
  color: var(--muted, #64748b);
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  font-family: inherit;
  font-size: .82rem;
  font-weight: 500;
  transition: all .18s;
  display: flex;
}

.clinic-gender-btn:hover {
  color: var(--ink, #0f172a);
  background: rgba(var(--brand-rgb, 124, 22, 149), .06);
}

.clinic-gender-btn.is-active {
  background: var(--surface-bg, #fff);
  color: var(--brand, #7c1695);
  border-color: rgba(var(--brand-rgb, 124, 22, 149), .2);
  font-weight: 600;
  box-shadow: 0 2px 8px #0000000f;
}

.clinic-intake-disclosure {
  border: 1px solid var(--surface-border, #00000014);
  background: rgba(var(--brand-rgb, 124, 22, 149), .02);
  border-radius: 16px;
  transition: border-color .2s, background .2s;
}

.clinic-intake-disclosure[open] {
  border-color: rgba(var(--brand-rgb, 124, 22, 149), .22);
  background: rgba(var(--brand-rgb, 124, 22, 149), .03);
}

.clinic-intake-disclosure-summary {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  justify-content: space-between;
  align-items: center;
  padding: 14px 18px;
  list-style: none;
  display: flex;
}

.clinic-intake-disclosure-summary::-webkit-details-marker {
  display: none;
}

.clinic-intake-disclosure-title {
  color: var(--ink-soft, #334155);
  align-items: center;
  gap: 10px;
  font-size: .84rem;
  font-weight: 600;
  display: flex;
}

.clinic-intake-disclosure-title svg {
  color: var(--brand, #7c1695);
}

.clinic-intake-disclosure-count {
  background: var(--brand, #7c1695);
  color: #fff;
  border-radius: 99px;
  padding: 2px 8px;
  font-size: .72rem;
  font-weight: 700;
}

.clinic-intake-disclosure-chevron {
  color: var(--muted, #64748b);
  transition: transform .22s;
}

.clinic-intake-disclosure[open] .clinic-intake-disclosure-chevron {
  transform: rotate(180deg);
}

.clinic-intake-disclosure-body {
  border-top: 1px solid var(--surface-border, #0000000f);
  flex-direction: column;
  gap: 16px;
  padding: 16px 18px 20px;
  display: flex;
}

.clinic-intake-opt-section {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.clinic-intake-opt-title {
  color: var(--ink-soft, #334155);
  margin: 0;
  font-size: .78rem;
  font-weight: 600;
}

.clinic-option-chips-group {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.clinic-option-chips {
  flex-wrap: wrap;
  gap: 6px 8px;
  display: flex;
}

.clinic-option-chip {
  border: 1px solid var(--surface-border, #0000001a);
  background: var(--surface-bg, #fff);
  color: var(--ink-soft, #334155);
  cursor: pointer;
  border-radius: 99px;
  align-items: center;
  gap: 6px;
  padding: 6px 13px;
  font-family: inherit;
  font-size: .76rem;
  font-weight: 500;
  transition: all .16s;
  display: inline-flex;
}

.clinic-option-chip:hover {
  border-color: rgba(var(--brand-rgb, 124, 22, 149), .4);
  color: var(--brand, #7c1695);
  background: rgba(var(--brand-rgb, 124, 22, 149), .04);
}

.clinic-option-chip.is-selected {
  background: rgba(var(--brand-rgb, 124, 22, 149), .1);
  border-color: var(--brand, #7c1695);
  color: var(--brand, #7c1695);
  font-weight: 600;
}

.clinic-intake-textarea-row {
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  display: grid;
}

.clinic-modern-textarea {
  border: 1.5px solid var(--surface-border, #0000001a);
  background: var(--surface-bg, #fff);
  width: 100%;
  color: var(--ink, #0f172a);
  resize: vertical;
  border-radius: 12px;
  outline: none;
  min-height: 60px;
  padding: 10px 12px;
  font-family: inherit;
  font-size: .8rem;
  transition: border-color .18s, box-shadow .18s;
}

.clinic-modern-textarea:focus {
  border-color: var(--brand, #7c1695);
  box-shadow: 0 0 0 3px rgba(var(--brand-rgb, 124, 22, 149), .12);
}

.clinic-intake-error {
  color: #dc2626;
  background: #ef444414;
  border: 1px solid #ef444440;
  border-radius: 12px;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  font-size: .82rem;
  font-weight: 500;
  display: flex;
}

.clinic-intake-footer {
  border-top: 1px solid var(--line, #0000000f);
  background: rgba(var(--brand-rgb, 124, 22, 149), .02);
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  padding: 16px 28px;
  display: flex;
}

.clinic-intake-cancel-btn {
  border: 1px solid var(--surface-border, #0000001f);
  background: var(--surface-bg, #fff);
  color: var(--muted, #64748b);
  cursor: pointer;
  border-radius: 12px;
  padding: 10px 20px;
  font-family: inherit;
  font-size: .86rem;
  font-weight: 600;
  transition: all .18s;
}

.clinic-intake-cancel-btn:hover:not(:disabled) {
  color: var(--ink, #0f172a);
  background: #0000000a;
}

.clinic-intake-submit-btn {
  background: linear-gradient(135deg, var(--brand, #7c1695), #931eb0);
  color: #fff;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(var(--brand-rgb, 124, 22, 149), .35);
  border: none;
  border-radius: 12px;
  align-items: center;
  gap: 10px;
  padding: 11px 24px;
  font-family: inherit;
  font-size: .9rem;
  font-weight: 700;
  transition: all .2s cubic-bezier(.16, 1, .3, 1);
  display: inline-flex;
}

.clinic-intake-submit-btn:hover:not(:disabled) {
  box-shadow: 0 6px 20px rgba(var(--brand-rgb, 124, 22, 149), .45);
  transform: translateY(-1px);
}

.clinic-intake-submit-btn:disabled {
  opacity: .6;
  cursor: not-allowed;
  transform: none;
}

@keyframes clinicIntakeSpin {
  to {
    transform: rotate(360deg);
  }
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-workflow.is-intake {
  background: #060a10d1 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-intake-card {
  background: #111823 !important;
  border-color: #ffffff1a !important;
  box-shadow: 0 24px 64px #000000a6, 0 0 0 1px #ffffff0d !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-intake-topbar {
  background: linear-gradient(#7c169524, #0000) !important;
  border-bottom-color: #ffffff14 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-intake-title {
  color: #f1f5f9 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-intake-subtitle {
  color: #94a3b8 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-intake-close-btn {
  color: #94a3b8 !important;
  background: #ffffff0f !important;
  border-color: #ffffff1a !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-intake-close-btn:hover {
  color: #fff !important;
  background: #ffffff1f !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-input-label {
  color: #cbd5e1 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-modern-input, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-modern-textarea {
  color: #f1f5f9 !important;
  background: #16202e !important;
  border-color: #ffffff1f !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-modern-input:focus, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-modern-textarea:focus {
  border-color: #d066ef !important;
  box-shadow: 0 0 0 3px #d066ef29 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-modern-input::placeholder, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-modern-textarea::placeholder {
  color: #64748b !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-gender-segmented {
  background: #ffffff0a !important;
  border-color: #ffffff14 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-gender-btn {
  color: #94a3b8 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-gender-btn.is-active {
  color: #d066ef !important;
  background: #1e293b !important;
  border-color: #d066ef4d !important;
  box-shadow: 0 2px 8px #0000004d !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-intake-disclosure {
  background: #ffffff05 !important;
  border-color: #ffffff14 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-intake-disclosure[open] {
  background: #ffffff08 !important;
  border-color: #d066ef40 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-intake-disclosure-title {
  color: #e2e8f0 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-intake-disclosure-body {
  border-top-color: #ffffff14 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-intake-opt-title {
  color: #cbd5e1 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-option-chip {
  color: #cbd5e1 !important;
  background: #16202e !important;
  border-color: #ffffff1a !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-option-chip:hover {
  color: #d066ef !important;
  background: #1e293b !important;
  border-color: #d066ef66 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-option-chip.is-selected {
  color: #d066ef !important;
  background: #7c169533 !important;
  border-color: #d066ef !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-intake-footer {
  background: #ffffff05 !important;
  border-top-color: #ffffff14 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-intake-cancel-btn {
  color: #cbd5e1 !important;
  background: #ffffff0f !important;
  border-color: #ffffff1f !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-intake-cancel-btn:hover:not(:disabled) {
  color: #fff !important;
  background: #ffffff1a !important;
}

@media (max-width: 720px) {
  .clinic-intake-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .clinic-intake-textarea-row {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .clinic-intake-topbar {
    padding: 18px 20px 14px;
  }

  .clinic-intake-form-body {
    max-height: calc(85vh - 130px);
    padding: 18px 20px 16px;
  }

  .clinic-intake-footer {
    padding: 14px 20px;
  }
}

@media (max-width: 480px) {
  .clinic-workflow.is-intake {
    padding: 8px !important;
  }

  .clinic-intake-card {
    border-radius: 18px;
    max-height: calc(100dvh - 16px);
  }

  .clinic-intake-title {
    font-size: 1.05rem;
  }

  .clinic-intake-subtitle {
    font-size: .72rem;
  }

  .clinic-intake-badge-icon {
    width: 36px;
    height: 36px;
  }

  .clinic-intake-footer {
    flex-direction: column-reverse;
    gap: 8px;
  }

  .clinic-intake-cancel-btn, .clinic-intake-submit-btn {
    justify-content: center;
    width: 100%;
  }
}

.clinic-theme-scope.clinic-intake-theme-root {
  flex-direction: column;
  min-height: 100dvh;
  display: flex;
}

.clinic-intake-page {
  background: radial-gradient(circle at 85% 0%, rgba(var(--brand-rgb, 124, 22, 149), .08), transparent 32rem), linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  width: 100%;
  min-height: 100dvh;
  color: var(--ink, #0f172a);
  flex-direction: column;
  flex: 1;
  display: flex;
}

.clinic-intake-nav {
  z-index: 20;
  background: var(--surface-bg, #fff);
  border-bottom: 1px solid var(--surface-border, #00000014);
  position: relative;
  box-shadow: 0 2px 12px #0f172a08;
}

.clinic-intake-nav-inner {
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 8px 28px;
  display: flex;
}

.clinic-intake-nav-start {
  align-items: center;
  gap: 12px;
  display: flex;
}

.clinic-intake-nav-back {
  border: 1px solid var(--surface-border, #0000001a);
  background: var(--surface-bg, #fff);
  color: var(--ink-soft, #334155);
  border-radius: 99px;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  font-size: .82rem;
  font-weight: 600;
  text-decoration: none;
  transition: all .18s;
  display: inline-flex;
}

.clinic-intake-nav-back:hover {
  border-color: rgba(var(--brand-rgb, 124, 22, 149), .4);
  color: var(--brand, #7c1695);
  background: rgba(var(--brand-rgb, 124, 22, 149), .04);
  transform: translateY(-1px);
}

.clinic-intake-nav-center {
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  display: flex;
}

.clinic-intake-nav-badge {
  background: rgba(var(--brand-rgb, 124, 22, 149), .08);
  color: var(--brand, #7c1695);
  letter-spacing: .02em;
  border-radius: 99px;
  align-items: center;
  gap: 5px;
  padding: 2px 8px;
  font-size: .7rem;
  font-weight: 700;
  display: inline-flex;
}

.clinic-intake-nav-dot {
  background: var(--brand, #7c1695);
  width: 5px;
  height: 5px;
  box-shadow: 0 0 8px var(--brand, #7c1695);
  border-radius: 50%;
  animation: 2s ease-in-out infinite clinicIntakeDotPulse;
}

@keyframes clinicIntakeDotPulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }

  50% {
    opacity: .5;
    transform: scale(.8);
  }
}

.clinic-intake-nav-tag {
  line-height: 1;
}

.clinic-intake-nav-title {
  color: var(--ink, #0f172a);
  letter-spacing: -.02em;
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
}

.clinic-intake-nav-end {
  align-items: center;
  gap: 10px;
  display: flex;
}

.clinic-intake-container {
  box-sizing: border-box;
  width: 100%;
  max-width: 860px;
  margin: auto;
  padding: 16px 20px 24px;
}

.clinic-intake-form {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.clinic-intake-card-section {
  background: var(--surface-bg, #fff);
  border: 1px solid var(--surface-border, #00000014);
  border-radius: 18px;
  padding: 18px 22px;
  transition: border-color .2s, box-shadow .2s;
  box-shadow: 0 6px 20px #0f172a0a, 0 1px 3px #0f172a05;
}

.clinic-intake-form .clinic-modern-input {
  border-radius: 10px;
  height: 44px;
  font-size: .86rem;
}

.clinic-intake-form .localized-date-trigger {
  box-sizing: border-box !important;
  border: 1.5px solid var(--surface-border, #0000001f) !important;
  background: var(--surface-bg, #fff) !important;
  height: 44px !important;
  min-height: 44px !important;
  box-shadow: none !important;
  color: var(--ink, #0f172a) !important;
  border-radius: 10px !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 0 12px !important;
  font-size: .86rem !important;
  display: flex !important;
}

.clinic-intake-form .localized-date-trigger:hover {
  border-color: rgba(var(--brand-rgb, 124, 22, 149), .5) !important;
}

.clinic-intake-form .localized-date-trigger:focus, .clinic-intake-form .localized-date-trigger[aria-expanded="true"] {
  border-color: var(--brand, #7c1695) !important;
  box-shadow: 0 0 0 3px rgba(var(--brand-rgb, 124, 22, 149), .14) !important;
}

.localized-date-chevron {
  width: 24px;
  height: 24px;
  color: var(--brand, #7c1695);
  background: rgba(var(--brand-rgb, 124, 22, 149), .08);
  border-radius: 6px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  transition: transform .22s cubic-bezier(.16, 1, .3, 1), background .18s;
  display: inline-flex;
}

.localized-date-trigger:hover .localized-date-chevron {
  background: rgba(var(--brand-rgb, 124, 22, 149), .14);
}

.localized-date-trigger[aria-expanded="true"] .localized-date-chevron {
  background: rgba(var(--brand-rgb, 124, 22, 149), .2);
  transform: rotate(180deg);
}

.clinic-intake-form .clinic-gender-segmented {
  box-sizing: border-box;
  background: rgba(var(--brand-rgb, 124, 22, 149), .04);
  border: 1.5px solid var(--surface-border, #0000001f);
  border-radius: 10px;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  gap: 3px;
  height: 44px;
  padding: 3px;
  display: grid;
}

.clinic-intake-form .clinic-gender-btn {
  height: 100%;
  color: var(--muted, #64748b);
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  background: none;
  border: 1px solid #0000;
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  gap: 5px;
  font-size: .82rem;
  font-weight: 600;
  transition: all .18s cubic-bezier(.16, 1, .3, 1);
  display: flex;
}

.clinic-intake-form .clinic-gender-btn:hover {
  color: var(--ink, #0f172a);
  background: rgba(var(--brand-rgb, 124, 22, 149), .06);
}

.clinic-intake-form .clinic-gender-btn.is-active {
  background: var(--surface-bg, #fff);
  color: var(--brand, #7c1695);
  border-color: rgba(var(--brand-rgb, 124, 22, 149), .25);
  font-weight: 700;
  box-shadow: 0 2px 6px #7c16951f, 0 1px 2px #0000000a;
}

.clinic-intake-card-section.clinic-intake-accordion {
  padding: 0;
  transition: border-color .2s, box-shadow .2s;
  overflow: hidden;
}

.clinic-intake-card-section.clinic-intake-accordion.is-collapsed:hover {
  border-color: rgba(var(--brand-rgb, 124, 22, 149), .3);
  box-shadow: 0 10px 28px #0f172a0f, 0 1px 3px #0f172a05;
}

.clinic-accordion-header-btn {
  text-align: start;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 12px 18px;
  font-family: inherit;
  transition: background .18s;
  display: flex;
}

.clinic-accordion-header-btn:hover {
  background: rgba(var(--brand-rgb, 124, 22, 149), .025);
}

.clinic-accordion-header-start {
  flex: 1;
  align-items: center;
  gap: 12px;
  display: flex;
}

.clinic-accordion-header-start .clinic-card-section-icon {
  border-radius: 9px;
  width: 34px;
  height: 34px;
}

.clinic-accordion-count-badge {
  color: #0d9488;
  background: #14b8a61f;
  border: 1px solid #14b8a640;
  border-radius: 99px;
  align-items: center;
  padding: 2px 8px;
  font-size: .72rem;
  font-weight: 700;
  display: inline-flex;
}

.clinic-accordion-header-end {
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
  display: flex;
}

.clinic-accordion-chevron {
  background: rgba(var(--brand-rgb, 124, 22, 149), .08);
  width: 30px;
  height: 30px;
  color: var(--brand, #7c1695);
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  transition: transform .25s cubic-bezier(.16, 1, .3, 1), background .18s;
  display: inline-flex;
}

.clinic-accordion-header-btn:hover .clinic-accordion-chevron {
  background: rgba(var(--brand-rgb, 124, 22, 149), .16);
}

.clinic-intake-accordion.is-expanded .clinic-accordion-chevron {
  transform: rotate(180deg);
}

.clinic-accordion-body {
  border-top: 1px solid var(--line, #0000000f);
  padding: 8px 20px 20px;
  animation: .22s ease-out clinicAccordionFadeIn;
}

@keyframes clinicAccordionFadeIn {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.clinic-card-section-header {
  border-bottom: 1px solid var(--line, #0000000f);
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  padding-bottom: 12px;
  display: flex;
}

.clinic-card-section-icon {
  background: rgba(var(--brand-rgb, 124, 22, 149), .08);
  width: 36px;
  height: 36px;
  color: var(--brand, #7c1695);
  border-radius: 10px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  display: flex;
}

.clinic-card-section-icon.clinic-icon--teal {
  color: #0d9488;
  background: #14b8a61a;
}

.clinic-card-section-title-wrap {
  flex: 1;
}

.clinic-card-section-title-row {
  align-items: center;
  gap: 10px;
  display: flex;
}

.clinic-card-section-title {
  color: var(--ink, #0f172a);
  letter-spacing: -.01em;
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
}

.clinic-card-badge-optional {
  color: #64748b;
  background: #64748b1a;
  border-radius: 99px;
  align-items: center;
  padding: 2px 8px;
  font-size: .7rem;
  font-weight: 600;
  display: inline-flex;
}

.clinic-card-section-desc {
  color: var(--muted, #64748b);
  margin: 2px 0 0;
  font-size: .78rem;
  line-height: 1.4;
}

.clinic-clinical-groups {
  flex-direction: column;
  gap: 22px;
  display: flex;
}

.clinic-clinical-block {
  background: rgba(var(--brand-rgb, 124, 22, 149), .025);
  border: 1px solid var(--surface-border, #0000000f);
  border-radius: 18px;
  padding: 18px 22px;
  transition: all .2s;
}

.clinic-clinical-block:hover {
  background: rgba(var(--brand-rgb, 124, 22, 149), .035);
  border-color: rgba(var(--brand-rgb, 124, 22, 149), .18);
}

.clinic-clinical-block-header {
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  display: flex;
}

.clinic-clinical-block-bullet {
  background: var(--brand, #7c1695);
  border-radius: 3px;
  flex-shrink: 0;
  width: 5px;
  height: 18px;
}

.clinic-clinical-block-title {
  color: var(--ink, #0f172a);
  margin: 0;
  font-size: .92rem;
  font-weight: 700;
}

.clinic-pill-chips {
  flex-wrap: wrap;
  gap: 9px 12px;
  display: flex;
}

.clinic-pill-chip {
  border: 1.5px solid var(--surface-border, #0000001a);
  background: var(--surface-bg, #fff);
  color: var(--ink-soft, #334155);
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  border-radius: 99px;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  font-family: inherit;
  font-size: .88rem;
  font-weight: 500;
  transition: all .18s cubic-bezier(.16, 1, .3, 1);
  display: inline-flex;
  box-shadow: 0 1px 3px #00000008;
}

.clinic-pill-chip:hover {
  border-color: rgba(var(--brand-rgb, 124, 22, 149), .45);
  color: var(--brand, #7c1695);
  background: rgba(var(--brand-rgb, 124, 22, 149), .04);
  transform: translateY(-1px);
  box-shadow: 0 3px 8px #0f172a0f;
}

.clinic-pill-chip.is-active {
  border-color: var(--brand, #7c1695);
  background: linear-gradient(135deg, rgba(var(--brand-rgb, 124, 22, 149), .12), rgba(var(--brand-rgb, 124, 22, 149), .05));
  color: var(--brand, #7c1695);
  box-shadow: 0 4px 12px rgba(var(--brand-rgb, 124, 22, 149), .18);
  font-weight: 700;
}

.clinic-pill-chip.is-none.is-active {
  color: #475569;
  box-shadow: none;
  background: #64748b1a;
  border-color: #64748b;
}

.clinic-pill-chip-check {
  justify-content: center;
  align-items: center;
  width: 16px;
  height: 16px;
  display: flex;
}

.clinic-pill-chip-dot {
  background: #cbd5e1;
  border-radius: 50%;
  width: 6px;
  height: 6px;
  transition: background .18s;
}

.clinic-pill-chip:hover .clinic-pill-chip-dot {
  background: var(--brand, #7c1695);
}

.clinic-clinical-text-grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  display: grid;
}

.clinic-spacious-textarea {
  border: 1.5px solid var(--surface-border, #0000001a);
  background: var(--surface-bg, #fff);
  width: 100%;
  min-height: 84px;
  color: var(--ink, #0f172a);
  resize: vertical;
  border-radius: 14px;
  outline: none;
  padding: 12px 16px;
  font-family: inherit;
  font-size: .86rem;
  line-height: 1.6;
  transition: border-color .18s, box-shadow .18s;
}

.clinic-spacious-textarea:focus {
  border-color: var(--brand, #7c1695);
  box-shadow: 0 0 0 3px rgba(var(--brand-rgb, 124, 22, 149), .14);
}

.clinic-spacious-textarea::placeholder {
  color: #94a3b8;
  font-size: .82rem;
}

.clinic-intake-error-box {
  color: #dc2626;
  background: #ef444414;
  border: 1.5px solid #ef44444d;
  border-radius: 14px;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  font-size: .88rem;
  font-weight: 600;
  animation: .3s ease-in-out clinicShake;
  display: flex;
}

@keyframes clinicShake {
  0%, 100% {
    transform: translateX(0);
  }

  25% {
    transform: translateX(-4px);
  }

  75% {
    transform: translateX(4px);
  }
}

.clinic-intake-bottom-actions {
  background: var(--surface-bg, #fff);
  border: 1px solid var(--surface-border, #00000014);
  border-radius: 14px;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 10px 18px;
  display: flex;
  box-shadow: 0 8px 24px #0f172a0d, 0 1px 3px #0f172a05;
}

.clinic-intake-actions-left {
  align-items: center;
  display: flex;
}

.clinic-intake-cancel-link {
  border: 1.5px solid var(--surface-border, #0000001f);
  height: 42px;
  color: var(--muted, #64748b);
  cursor: pointer;
  background: none;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  padding: 0 16px;
  font-size: .84rem;
  font-weight: 600;
  text-decoration: none;
  transition: all .18s;
  display: inline-flex;
}

.clinic-intake-cancel-link:hover {
  color: var(--ink, #0f172a);
  background: #00000005;
  border-color: #00000040;
}

.clinic-intake-actions-right {
  align-items: center;
  gap: 12px;
  display: flex;
}

.clinic-intake-badge-summary {
  background: rgba(var(--brand-rgb, 124, 22, 149), .08);
  color: var(--brand, #7c1695);
  border-radius: 99px;
  align-items: center;
  padding: 5px 12px;
  font-size: .78rem;
  font-weight: 700;
  display: inline-flex;
}

.clinic-intake-submit-cta {
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, #7c1695 0%, #5c0f71 100%);
  border: none;
  border-radius: 11px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  height: 44px;
  padding: 0 22px;
  font-family: inherit;
  font-size: .9rem;
  font-weight: 700;
  transition: all .2s cubic-bezier(.16, 1, .3, 1);
  display: inline-flex;
  box-shadow: 0 6px 18px #7c16954d;
}

.clinic-intake-submit-cta:hover:not(:disabled) {
  background: linear-gradient(135deg, #931eb0 0%, #5c0f71 100%);
  transform: translateY(-1px);
  box-shadow: 0 8px 24px #7c169566;
}

.clinic-intake-submit-cta:disabled {
  opacity: .65;
  cursor: not-allowed;
}

.clinic-intake-spinner {
  border: 2.5px solid #ffffff4d;
  border-top-color: #fff;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  animation: .75s linear infinite clinicSpin;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-intake-page {
  color: #f1f5f9;
  background: radial-gradient(circle at 85% 0, #7c169529, #0000 36rem), linear-gradient(#090e17 0%, #0d1420 100%);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-intake-nav {
  background: #0d1420e0;
  border-bottom-color: #ffffff14;
  box-shadow: 0 4px 24px #0000004d;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-intake-nav-back {
  color: #cbd5e1;
  background: #ffffff0d;
  border-color: #ffffff1a;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-intake-nav-back:hover {
  color: #d066ef;
  background: #7c169526;
  border-color: #7c169580;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-intake-nav-title {
  color: #f8fafc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-intake-card-section {
  background: #111827;
  border-color: #ffffff14;
  box-shadow: 0 16px 48px #00000073;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-intake-form .localized-date-trigger {
  color: #f1f5f9 !important;
  background: #0f172a !important;
  border-color: #ffffff1a !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .localized-date-chevron {
  color: #d066ef;
  background: #d066ef1f;
}

.clinic-theme-scope[data-clinic-theme="dark"] .localized-date-trigger[aria-expanded="true"] .localized-date-chevron {
  background: #d066ef38;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-intake-form .clinic-gender-segmented {
  background: #ffffff08;
  border-color: #ffffff1a;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-intake-form .clinic-gender-btn {
  color: #94a3b8;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-intake-form .clinic-gender-btn:hover {
  color: #f1f5f9;
  background: #ffffff0f;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-intake-form .clinic-gender-btn.is-active {
  color: #d066ef;
  background: #1e293b;
  border-color: #d066ef66;
  box-shadow: 0 2px 8px #0000004d;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-accordion-header-btn:hover {
  background: #ffffff05;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-accordion-chevron {
  color: #d066ef;
  background: #d066ef1a;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-accordion-header-btn:hover .clinic-accordion-chevron {
  background: #d066ef33;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-accordion-body {
  border-top-color: #ffffff0f;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-accordion-count-badge {
  color: #2dd4bf;
  background: #14b8a626;
  border-color: #14b8a64d;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-card-section-header {
  border-bottom-color: #ffffff0f;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-card-section-title {
  color: #f8fafc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-card-section-desc {
  color: #94a3b8;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-clinical-block {
  background: #ffffff05;
  border-color: #ffffff0f;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-clinical-block:hover {
  background: #ffffff09;
  border-color: #7c16954d;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-clinical-block-title {
  color: #f1f5f9;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-pill-chip {
  color: #cbd5e1;
  background: #1e293b;
  border-color: #ffffff1a;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-pill-chip:hover {
  color: #d066ef;
  background: #d066ef14;
  border-color: #d066ef;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-pill-chip.is-active {
  color: #d066ef;
  background: #a855f729;
  border-color: #d066ef;
  box-shadow: 0 4px 16px #a855f740;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-pill-chip.is-none.is-active {
  color: #94a3b8;
  background: #64748b33;
  border-color: #64748b;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-pill-chip-dot {
  background: #475569;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-spacious-textarea {
  color: #f1f5f9;
  background: #0f172a;
  border-color: #ffffff1a;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-spacious-textarea:focus {
  border-color: #d066ef;
  box-shadow: 0 0 0 3px #a855f733;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-intake-bottom-actions {
  background: #111827;
  border-color: #ffffff14;
  box-shadow: 0 16px 48px #00000080;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-intake-cancel-link {
  color: #94a3b8;
  border-color: #ffffff1f;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-intake-cancel-link:hover {
  color: #f1f5f9;
  background: #ffffff0a;
  border-color: #ffffff40;
}

@media (max-width: 768px) {
  .clinic-intake-container {
    margin: 12px auto 48px;
    padding: 14px 14px 40px;
  }

  .clinic-intake-nav-inner {
    padding: 10px 14px;
  }

  .clinic-intake-nav-title {
    font-size: 1rem;
  }

  .clinic-intake-nav-back span {
    display: none;
  }

  .clinic-intake-nav-back {
    border-radius: 50%;
    padding: 8px;
  }

  .clinic-intake-card-section {
    border-radius: 18px;
    padding: 20px 16px;
  }

  .clinic-accordion-header-btn {
    padding: 18px 16px;
  }

  .clinic-accordion-body {
    padding: 8px 16px 24px;
  }

  .clinic-intake-grid {
    grid-template-columns: 1fr !important;
  }

  .clinic-clinical-text-grid {
    grid-template-columns: 1fr;
  }

  .clinic-intake-bottom-actions {
    flex-direction: column-reverse;
    gap: 12px;
    padding: 16px;
  }

  .clinic-intake-actions-left, .clinic-intake-actions-right, .clinic-intake-cancel-link, .clinic-intake-submit-cta {
    width: 100%;
  }

  .clinic-intake-actions-right {
    flex-direction: column;
    gap: 10px;
  }

  .clinic-intake-badge-summary {
    align-self: center;
  }
}

/* [project]/apps/web/src/app/clinic-capture-studio.css [app-client] (css) */
.clinic-workflow.is-capture {
  z-index: 99999 !important;
  width: 100vw !important;
  max-width: 100vw !important;
  height: 100dvh !important;
  max-height: 100vh !important;
  box-shadow: none !important;
  background: #060b17 !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  position: fixed !important;
  inset: 0 !important;
  overflow: hidden !important;
}

.clinic-workflow.is-capture .clinic-workflow-header, .clinic-workflow.is-capture .clinic-workflow-steps {
  display: none !important;
}

.clinic-workflow.is-capture .clinic-workflow-body {
  background: none !important;
  border: none !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  position: absolute !important;
  inset: 0 !important;
  overflow: hidden !important;
}

.clinic-capture-studio {
  width: 100vw;
  max-width: 100vw;
  height: 100dvh;
  min-height: 100vh;
  box-shadow: none;
  color: #f8fafc;
  box-sizing: border-box;
  background: radial-gradient(circle at 50% 20%, #0d1933 0%, #060b17 60%, #040711 100%);
  border: none;
  border-radius: 0;
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
  margin: 0;
  padding: 14px 24px 20px;
  font-family: inherit;
  transition: background .45s cubic-bezier(.4, 0, .2, 1), color .35s;
  display: flex;
  position: relative;
  overflow: hidden;
}

.clinic-capture-studio.is-loading, .studio-loading-container {
  justify-content: center;
  align-items: center;
  display: flex;
}

.studio-topbar {
  z-index: 50;
  flex-shrink: 0;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  width: 100%;
  height: 48px;
  display: flex;
  position: relative;
}

.studio-topbar-side {
  align-items: center;
  gap: 12px;
  display: flex;
}

.studio-topbar-center {
  flex: 1;
  justify-content: center;
  align-items: center;
  display: flex;
}

.studio-topbar-chip {
  letter-spacing: -.01em;
  color: #bae6fd;
  -webkit-backdrop-filter: blur(12px);
  background: #0f172aa6;
  border: 1px solid #d066ef40;
  border-radius: 999px;
  align-items: center;
  gap: 9px;
  padding: 6px 16px;
  font-size: 12px;
  font-weight: 700;
  transition: all .35s;
  display: inline-flex;
  box-shadow: 0 2px 10px #00000040;
}

.studio-chip-pulse {
  background: #d066ef;
  border-radius: 50%;
  width: 7px;
  height: 7px;
  animation: 2s cubic-bezier(.4, 0, .6, 1) infinite studioChipPulse;
  box-shadow: 0 0 10px #d066ef;
}

@keyframes studioChipPulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }

  50% {
    opacity: .4;
    transform: scale(.85);
  }
}

.studio-header-back-btn, .studio-header-close-btn {
  color: #f1f5f9;
  cursor: pointer;
  -webkit-backdrop-filter: blur(12px);
  background: #0f172aa6;
  border: 1px solid #ffffff26;
  border-radius: 999px;
  align-items: center;
  gap: 10px;
  padding: 8px 18px 8px 14px;
  font-size: 13px;
  font-weight: 700;
  transition: all .25s cubic-bezier(.16, 1, .3, 1);
  display: inline-flex;
  box-shadow: 0 4px 16px #00000040;
}

.studio-header-back-btn svg, .studio-header-close-btn svg {
  color: #f87171;
  transition: transform .2s, color .2s;
}

.studio-header-back-btn:hover, .studio-header-close-btn:hover {
  color: #fca5a5;
  background: #ef444433;
  border-color: #ef44448c;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px #ef44444d;
}

.studio-header-back-btn:hover svg, .studio-header-close-btn:hover svg {
  color: #ef4444;
  transform: rotate(90deg)scale(1.1);
}

.studio-corner-close-btn {
  z-index: 1000;
  color: #f1f5f9;
  cursor: pointer;
  -webkit-backdrop-filter: blur(16px);
  background: #0f172ae0;
  border: 1px solid #ffffff2e;
  border-radius: 999px;
  align-items: center;
  gap: 10px;
  padding: 10px 22px;
  font-size: 14px;
  font-weight: 700;
  transition: all .25s cubic-bezier(.16, 1, .3, 1);
  display: inline-flex;
  position: fixed;
  bottom: 24px;
  right: 24px;
  box-shadow: 0 8px 32px #00000073;
}

.studio-corner-close-btn svg {
  color: #f87171;
  transition: transform .25s, color .25s;
}

.studio-corner-close-btn:hover {
  color: #fff;
  background: #ef444447;
  border-color: #ef4444a6;
  transform: translateY(-2px);
  box-shadow: 0 12px 32px #ef444459;
}

.studio-corner-close-btn:hover svg {
  color: #ef4444;
  transform: rotate(90deg)scale(1.15);
}

.studio-theme-toggle-wrapper {
  align-items: center;
  display: flex;
}

.studio-theme-toggle-wrapper .clinic-theme-toggle {
  color: #f1f5f9;
  -webkit-backdrop-filter: blur(12px);
  cursor: pointer;
  background: #0f172aa6;
  border: 1px solid #ffffff29;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 42px;
  height: 42px;
  transition: all .3s cubic-bezier(.16, 1, .3, 1);
  display: flex;
  position: relative;
  box-shadow: 0 4px 16px #00000040;
}

.studio-theme-toggle-wrapper .clinic-theme-toggle:hover {
  color: #d066ef;
  background: #d066ef29;
  border-color: #d066ef80;
  transform: scale(1.08)rotate(15deg);
  box-shadow: 0 0 20px #d066ef59;
}

.studio-main-deck {
  flex: 1;
  grid-template-columns: 310px minmax(0, 1.4fr) 320px;
  align-items: stretch;
  gap: 24px;
  width: 100%;
  min-height: 0;
  display: grid;
}

.studio-rail-left {
  flex-direction: column;
  gap: 16px;
  height: 100%;
  padding: 4px 4px 12px;
  display: flex;
  overflow-y: auto;
}

.studio-stepper-wrapper {
  flex-direction: column;
  flex: 1;
  gap: 12px;
  display: flex;
}

.studio-brand {
  align-items: center;
  gap: 12px;
  display: flex;
}

.studio-brand-logo {
  background: radial-gradient(circle at 35% 30%, #d066ef40, #7c16950d);
  border: 1px solid #d066ef59;
  border-radius: 12px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  display: flex;
  box-shadow: 0 0 20px #7c169533;
}

.studio-brand-logo svg {
  color: #d066ef;
  filter: drop-shadow(0 0 8px #d066ef99);
  width: 24px;
  height: 24px;
}

.studio-brand-text {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.studio-brand-title {
  letter-spacing: .06em;
  color: #fff;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.2;
}

.studio-brand-subtitle {
  letter-spacing: .12em;
  color: #94a3b8;
  text-transform: uppercase;
  font-size: 8.5px;
  font-weight: 700;
}

.studio-stepper {
  flex-direction: column;
  gap: 14px;
  width: 100%;
  margin: auto 0;
  padding: 6px 0;
  display: flex;
  position: relative;
}

.studio-step-node {
  z-index: 2;
  text-align: start;
  cursor: pointer;
  -webkit-backdrop-filter: blur(12px);
  background: #0f172a8c;
  border: 1px solid #ffffff14;
  border-radius: 18px;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 80px;
  padding: 15px 16px;
  transition: all .28s cubic-bezier(.16, 1, .3, 1);
  display: flex;
  position: relative;
  box-shadow: 0 4px 16px -2px #0000004d;
}

.studio-step-node:hover:not(:disabled) {
  background: #1e293bb3;
  border-color: #fff3;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px -4px #00000073;
}

.studio-step-node:disabled {
  cursor: default;
  opacity: .6;
}

.studio-step-badge {
  color: #94a3b8;
  background: #081020;
  border: 1.5px solid #ffffff29;
  border-radius: 14px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  font-size: 16px;
  font-weight: 800;
  transition: all .3s cubic-bezier(.16, 1, .3, 1);
  display: flex;
  position: relative;
}

.studio-step-node.is-active {
  background: linear-gradient(135deg, #7c169538, #0f172ad9);
  border-color: #d066ef;
  transform: scale(1.02);
  box-shadow: 0 0 25px #d066ef47, 0 10px 30px -5px #00000080;
}

.studio-step-node.is-active .studio-step-badge {
  color: #fff;
  background: linear-gradient(135deg, #7c1695, #2563eb);
  border-color: #d066ef;
  box-shadow: 0 0 20px #d066efcc, 0 0 40px #2563eb66;
}

.studio-step-node.is-active .studio-step-badge:after {
  content: "";
  border: 1.5px solid #d066ef80;
  border-radius: 17px;
  animation: 2s ease-out infinite studioPulse;
  position: absolute;
  inset: -5px;
}

@keyframes studioPulse {
  0% {
    opacity: .8;
    transform: scale(.92);
  }

  50% {
    opacity: 0;
    transform: scale(1.15);
  }

  100% {
    opacity: 0;
    transform: scale(.92);
  }
}

.studio-step-node.is-saved {
  background: #10b98114;
  border-color: #10b98152;
}

.studio-step-node.is-saved .studio-step-badge {
  color: #10b981;
  background: #10b9812e;
  border-color: #10b981;
  box-shadow: 0 0 14px #10b9814d;
}

.studio-step-info {
  flex-direction: column;
  flex: 1;
  gap: 4px;
  min-width: 0;
  display: flex;
}

.studio-step-title {
  color: #94a3b8;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  transition: color .2s;
}

.studio-step-node.is-active .studio-step-title {
  color: #fff;
  font-weight: 800;
}

.studio-step-node.is-saved .studio-step-title {
  color: #f1f5f9;
}

.studio-step-desc {
  color: #64748b;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 12px;
  line-height: 1.4;
  overflow: hidden;
}

.studio-step-node.is-active .studio-step-desc {
  color: #d066ef;
  font-weight: 600;
}

.studio-rail-footer {
  flex-direction: column;
  gap: 12px;
  padding-top: 12px;
  display: flex;
}

.studio-exit-btn {
  color: #94a3b8;
  cursor: pointer;
  background: #ffffff0d;
  border: 1px solid #ffffff1a;
  border-radius: 12px;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-top: 4px;
  padding: 8px 14px;
  font-size: 12px;
  font-weight: 600;
  transition: all .2s;
  display: inline-flex;
}

.studio-exit-btn:hover {
  color: #ef4444;
  background: #ef44441f;
  border-color: #ef444459;
}

.studio-center-stage {
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  min-width: 0;
  height: 100%;
  display: flex;
}

.studio-viewfinder {
  aspect-ratio: 16 / 10;
  background: #000;
  border: 1.5px solid #ffffff1f;
  border-radius: 24px;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-height: 560px;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 60px -10px #000000e6, inset 0 0 24px #000c;
}

.studio-video-feed, .studio-preview-feed {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.studio-vf-badge-live {
  top: 18px;
  z-index: 10;
  -webkit-backdrop-filter: blur(10px);
  color: #f8fafc;
  letter-spacing: .02em;
  -webkit-user-select: none;
  user-select: none;
  background: #080e1ab8;
  border: 1px solid #ffffff1f;
  border-radius: 9999px;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  font-size: 12.5px;
  font-weight: 700;
  display: inline-flex;
  position: absolute;
  inset-inline-start: 20px;
}

.studio-live-dot {
  background: #10b981;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  animation: 1.8s infinite liveDotPulse;
  box-shadow: 0 0 10px #10b981;
}

.studio-live-dot.is-offline {
  background: #ef4444;
  animation: none;
  box-shadow: 0 0 10px #ef4444;
}

@keyframes liveDotPulse {
  0% {
    opacity: .9;
    transform: scale(.9);
  }

  50% {
    opacity: 1;
    transform: scale(1.3);
    box-shadow: 0 0 14px #10b981;
  }

  100% {
    opacity: .9;
    transform: scale(.9);
  }
}

.studio-vf-badge-zoom {
  top: 18px;
  z-index: 10;
  -webkit-backdrop-filter: blur(10px);
  color: #f8fafc;
  letter-spacing: .04em;
  -webkit-user-select: none;
  user-select: none;
  background: #080e1ab8;
  border: 1px solid #ffffff1f;
  border-radius: 9999px;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 700;
  display: inline-flex;
  position: absolute;
  inset-inline-end: 20px;
}

.studio-reticle {
  pointer-events: none;
  z-index: 8;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0;
}

.studio-reticle-box {
  width: 140px;
  height: 140px;
  position: relative;
}

.studio-bracket {
  border-style: solid;
  border-color: #ffffffbf;
  width: 22px;
  height: 22px;
  position: absolute;
}

.studio-bracket.tl {
  border-width: 2px 0 0 2px;
  border-top-left-radius: 4px;
  top: 0;
  left: 0;
}

.studio-bracket.tr {
  border-width: 2px 2px 0 0;
  border-top-right-radius: 4px;
  top: 0;
  right: 0;
}

.studio-bracket.bl {
  border-width: 0 0 2px 2px;
  border-bottom-left-radius: 4px;
  bottom: 0;
  left: 0;
}

.studio-bracket.br {
  border-width: 0 2px 2px 0;
  border-bottom-right-radius: 4px;
  bottom: 0;
  right: 0;
}

.studio-crosshair {
  width: 18px;
  height: 18px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.studio-crosshair:before, .studio-crosshair:after {
  content: "";
  background: #ffffffd9;
  position: absolute;
}

.studio-crosshair:before {
  height: 2px;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
}

.studio-crosshair:after {
  width: 2px;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.studio-flash-overlay {
  z-index: 25;
  opacity: 0;
  pointer-events: none;
  background: #fff;
  transition: opacity .25s ease-out;
  position: absolute;
  inset: 0;
}

.studio-flash-overlay.is-active {
  opacity: .95;
  transition: none;
}

.studio-offline-dialog {
  text-align: center;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #0f172ad9;
  border: 1px solid #ffffff1f;
  border-radius: 20px;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  max-width: 360px;
  padding: 24px;
  display: flex;
}

.studio-offline-dialog svg {
  color: #ef4444;
  width: 44px;
  height: 44px;
}

.studio-offline-dialog h3 {
  color: #fff;
  margin: 0;
  font-size: 16px;
  font-weight: 700;
}

.studio-offline-dialog p {
  color: #94a3b8;
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
}

.studio-reconnect-btn {
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, #7c1695, #2563eb);
  border: none;
  border-radius: 12px;
  margin-top: 6px;
  padding: 8px 18px;
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 4px 14px #7c169566;
}

.studio-action-dock {
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-bottom: 8px;
  display: flex;
}

.studio-shutter-trigger {
  cursor: pointer;
  background: none;
  border: 3px solid #d066ef;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 76px;
  height: 76px;
  padding: 0;
  transition: all .22s cubic-bezier(.16, 1, .3, 1);
  display: flex;
  position: relative;
  box-shadow: 0 0 24px #d066ef8c, inset 0 0 12px #d066ef40;
}

.studio-shutter-inner {
  background: linear-gradient(135deg, #7c1695, #1d4ed8);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  transition: transform .15s, background .2s;
  display: flex;
  box-shadow: inset 0 2px 4px #ffffff4d;
}

.studio-shutter-inner svg {
  color: #fff;
  width: 28px;
  height: 28px;
}

.studio-shutter-trigger:hover {
  transform: scale(1.05);
  box-shadow: 0 0 32px #d066efcc, inset 0 0 16px #d066ef66;
}

.studio-shutter-trigger:active .studio-shutter-inner {
  transform: scale(.92);
}

.studio-shutter-label {
  color: #94a3b8;
  letter-spacing: -.01em;
  font-size: 13.5px;
  font-weight: 700;
}

.studio-review-dock {
  flex-direction: column;
  align-items: center;
  gap: 14px;
  width: 100%;
  max-width: 480px;
  display: flex;
}

.studio-quality-specs {
  color: #94a3b8;
  background: #0f172ad9;
  border: 1px solid #ffffff1a;
  border-radius: 9999px;
  align-items: center;
  gap: 12px;
  padding: 6px 16px;
  font-size: 12px;
  display: inline-flex;
}

.studio-quality-pill {
  color: #10b981;
  font-weight: 700;
}

.studio-quality-pill.warning {
  color: #f59e0b;
}

.studio-review-actions {
  align-items: center;
  gap: 14px;
  width: 100%;
  display: flex;
}

.studio-btn-retake {
  color: #fff;
  cursor: pointer;
  background: #ffffff14;
  border: 1px solid #ffffff24;
  border-radius: 14px;
  flex: 1;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  font-size: 13.5px;
  font-weight: 700;
  transition: all .2s;
  display: inline-flex;
}

.studio-btn-retake:hover {
  background: #ffffff24;
  border-color: #ffffff40;
}

.studio-btn-confirm {
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, #7c1695, #2563eb);
  border: 1px solid #d066ef66;
  border-radius: 14px;
  flex: 1.4;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  font-size: 13.5px;
  font-weight: 800;
  transition: all .2s;
  display: inline-flex;
  box-shadow: 0 4px 20px #7c169573;
}

.studio-btn-confirm:hover {
  background: linear-gradient(135deg, #5c0f71, #1d4ed8);
  transform: translateY(-1px);
  box-shadow: 0 6px 24px #7c169599;
}

.studio-thumbnail-strip {
  justify-content: center;
  align-items: center;
  gap: 12px;
  width: 100%;
  max-width: 680px;
  margin: 0 auto;
  padding: 4px 0;
  display: flex;
}

.studio-thumb-item {
  cursor: pointer;
  background: #0b1324a6;
  border: 1.5px solid #ffffff1a;
  border-radius: 14px;
  align-items: center;
  gap: 8px;
  min-width: 120px;
  padding: 6px 12px 6px 8px;
  transition: all .22s cubic-bezier(.16, 1, .3, 1);
  display: flex;
  position: relative;
  box-shadow: 0 4px 14px #00000040;
}

.studio-thumb-item:disabled {
  cursor: default;
  opacity: .65;
}

.studio-thumb-item:not(:disabled):hover {
  border-color: #d066ef80;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px #7c169540;
}

.studio-thumb-item.is-current {
  background: #7c169529;
  border-color: #d066ef;
  box-shadow: 0 0 16px #d066ef59;
}

.studio-thumb-item.is-saved {
  border-color: #10b98180;
}

.studio-thumb-item.is-inspecting {
  border-color: #d066ef;
  box-shadow: 0 0 20px #d066ef99;
}

.studio-thumb-media {
  background: #02040a;
  border: 1px solid #ffffff1f;
  border-radius: 10px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.studio-thumb-media img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.studio-thumb-empty {
  color: #64748b;
  background: #ffffff0a;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  font-size: 13px;
  font-weight: 800;
  display: flex;
}

.studio-thumb-check {
  top: 2px;
  color: #fff;
  background: #10b981;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 15px;
  height: 15px;
  display: flex;
  position: absolute;
  inset-inline-end: 2px;
  box-shadow: 0 0 6px #10b981cc;
}

.studio-thumb-pulse-dot {
  top: 4px;
  background: #d066ef;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  animation: 1.6s infinite liveDotPulse;
  position: absolute;
  inset-inline-end: 4px;
  box-shadow: 0 0 8px #d066ef;
}

.studio-thumb-meta {
  text-align: start;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  display: flex;
}

.studio-thumb-idx {
  color: #64748b;
  font-size: 10px;
  font-weight: 700;
}

.studio-thumb-label {
  color: #f1f5f9;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 700;
}

.studio-thumb-item.is-current .studio-thumb-label {
  color: #d066ef;
}

.studio-smart-analysis-dock {
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
  animation: .3s ease-out studioFadeIn;
  display: flex;
  position: relative;
}

.studio-smart-analysis-trigger {
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, #7c1695 0%, #5c0f71 100%);
  border: 1.5px solid #d066ef;
  border-radius: 9999px;
  justify-content: center;
  align-items: center;
  padding: 16px 44px;
  font-size: 16px;
  font-weight: 800;
  transition: all .25s cubic-bezier(.16, 1, .3, 1);
  display: inline-flex;
  position: relative;
  overflow: visible;
  box-shadow: 0 0 35px #d066ef99, 0 10px 25px #7c169566;
}

.studio-smart-analysis-trigger:hover {
  transform: translateY(-2px)scale(1.03);
  box-shadow: 0 0 50px #d066efd9, 0 14px 30px #7c16958c;
}

.studio-smart-analysis-trigger:active {
  transform: translateY(0)scale(.98);
}

.studio-radar-ping-ring {
  pointer-events: none;
  border: 2px solid #d066ef;
  border-radius: 9999px;
  animation: 2.4s cubic-bezier(0, .2, .8, 1) infinite radarPingPulse;
  position: absolute;
  inset: -6px;
}

.studio-radar-ping-ring.ping-2 {
  animation-delay: .8s;
}

.studio-radar-ping-ring.ping-3 {
  animation-delay: 1.6s;
}

@keyframes radarPingPulse {
  0% {
    opacity: .85;
    transform: scale(1);
  }

  70% {
    opacity: .25;
    transform: scale(1.35);
  }

  100% {
    opacity: 0;
    transform: scale(1.6);
  }
}

.studio-smart-btn-content {
  z-index: 2;
  align-items: center;
  gap: 12px;
  display: flex;
  position: relative;
}

.studio-smart-ai-badge {
  color: #fff;
  letter-spacing: .04em;
  background: #fff3;
  border: 1px solid #ffffff59;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  font-size: 12px;
  font-weight: 900;
  display: flex;
}

.studio-smart-btn-title {
  letter-spacing: .02em;
  font-size: 16px;
  font-weight: 800;
}

.studio-smart-arrow {
  transition: transform .2s;
}

.studio-smart-analysis-trigger:hover .studio-smart-arrow {
  transform: translateX(-3px);
}

.studio-ai-loading-backdrop {
  z-index: 999;
  -webkit-backdrop-filter: blur(32px) saturate(1.4);
  background: #030712e0;
  justify-content: center;
  align-items: center;
  padding: 24px;
  animation: .35s ease-out both studioFadeIn;
  display: flex;
  position: absolute;
  inset: 0;
}

.studio-ai-scanning-deck {
  text-align: center;
  color: #fff;
  box-sizing: border-box;
  background: radial-gradient(circle at 50% 0, #d066ef29 0%, #0d1933bf 55%, #060b17f2 100%);
  border: 1px solid #d066ef59;
  border-radius: 28px;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  width: 100%;
  max-width: 660px;
  padding: 34px 30px 28px;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 60px #000000b3, 0 0 35px #d066ef38, inset 0 1px #ffffff26;
}

.studio-ai-scanning-deck:before {
  content: "";
  background: linear-gradient(90deg, #0000, #d066ef, #38bdf8, #0000);
  height: 2px;
  position: absolute;
  top: 0;
  left: 18%;
  right: 18%;
  box-shadow: 0 0 16px #d066ef;
}

.studio-ai-holo-spinner {
  justify-content: center;
  align-items: center;
  width: 120px;
  height: 120px;
  display: flex;
  position: relative;
}

.studio-ai-holo-spinner .ring-outer {
  border: 2px dashed #d066efd9;
  border-radius: 50%;
  animation: 5s linear infinite holoRotateCW;
  position: absolute;
  inset: 0;
  box-shadow: 0 0 25px #d066ef80, inset 0 0 20px #d066ef40;
}

.studio-ai-holo-spinner .ring-middle {
  filter: drop-shadow(0 0 10px #d066ef);
  border: 2.5px solid #0000;
  border-color: #d066ef #0000 #38bdf8;
  border-radius: 50%;
  animation: 2.2s cubic-bezier(.45, .05, .55, .95) infinite holoRotateCCW;
  position: absolute;
  inset: 13px;
}

.studio-ai-holo-spinner .ring-inner {
  background: radial-gradient(circle, #d066ef59 0%, #7c169514 70%, #0000 100%);
  border: 1.5px solid #ffffff73;
  border-radius: 50%;
  animation: 1.8s ease-in-out infinite holoCorePulse;
  position: absolute;
  inset: 26px;
}

.studio-ai-holo-spinner .core-ai {
  z-index: 5;
  color: #fff;
  background: linear-gradient(135deg, #7c1695, #2563eb);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 42px;
  height: 42px;
  display: flex;
  position: relative;
  box-shadow: 0 0 30px #d066ef, 0 0 60px #d066ef80;
}

.studio-ai-holo-spinner .core-ai svg {
  filter: drop-shadow(0 0 6px #fffc);
  width: 22px;
  height: 22px;
  animation: 2s ease-in-out infinite holoIconBreathe;
}

.studio-ai-progress-hud {
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 100%;
  max-width: 440px;
  display: flex;
}

.studio-ai-percent-wrap {
  justify-content: center;
  align-items: baseline;
  gap: 3px;
  display: flex;
}

.studio-ai-percent-num {
  letter-spacing: -.02em;
  background: linear-gradient(135deg, #fff 40%, #e879f9 100%);
  -webkit-text-fill-color: transparent;
  text-shadow: 0 0 24px #d066ef99;
  font-variant-numeric: tabular-nums;
  -webkit-background-clip: text;
  font-size: 36px;
  font-weight: 800;
  line-height: 1;
}

.studio-ai-percent-sign {
  color: #d066ef;
  font-size: 20px;
  font-weight: 700;
}

.studio-ai-progress-track {
  background: #ffffff14;
  border: 1px solid #ffffff1f;
  border-radius: 999px;
  width: 100%;
  height: 8px;
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 1px 3px #0006;
}

.studio-ai-progress-fill {
  background: linear-gradient(90deg, #7c1695 0%, #d066ef 50%, #38bdf8 100%);
  border-radius: 999px;
  height: 100%;
  transition: width .35s cubic-bezier(.4, 0, .2, 1);
  position: relative;
  box-shadow: 0 0 16px #d066efcc;
}

.studio-ai-progress-laser-head {
  background: #fff;
  border-radius: 50%;
  width: 12px;
  position: absolute;
  top: -2px;
  bottom: -2px;
  right: -2px;
  box-shadow: 0 0 14px #fff, 0 0 24px #38bdf8;
}

[dir="rtl"] .studio-ai-progress-laser-head {
  left: -2px;
  right: auto;
}

.studio-ai-status-deck {
  flex-direction: column;
  align-items: center;
  gap: 8px;
  max-width: 520px;
  display: flex;
}

.studio-ai-badge-row {
  letter-spacing: .04em;
  color: #e879f9;
  background: #d066ef1f;
  border: 1px solid #d066ef4d;
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  padding: 4px 12px;
  font-size: 11px;
  font-weight: 600;
  display: flex;
}

.studio-ai-brand-badge {
  color: #38bdf8;
  letter-spacing: .08em;
  font-weight: 800;
}

.studio-ai-live-pulse-dot {
  background: #38bdf8;
  border-radius: 50%;
  width: 6px;
  height: 6px;
  animation: 1.4s ease-in-out infinite pulseDot;
  box-shadow: 0 0 8px #38bdf8;
}

.studio-ai-headline {
  color: #f8fafc;
  margin: 0;
  font-size: 18.5px;
  font-weight: 700;
  line-height: 1.4;
}

.studio-ai-stage-desc {
  color: #e2e8f0d9;
  min-height: 22px;
  margin: 0;
  font-size: 13.5px;
  font-weight: 400;
  line-height: 1.55;
}

.studio-ai-captures-deck {
  box-sizing: border-box;
  background: #060b17a6;
  border: 1px solid #ffffff17;
  border-radius: 18px;
  width: 100%;
  max-width: 520px;
  padding: 12px 14px;
  position: relative;
  overflow: hidden;
}

.studio-ai-scanline {
  z-index: 10;
  pointer-events: none;
  background: linear-gradient(#0000, #38bdf8 30%, #d066ef 70%, #0000);
  width: 3px;
  animation: 2.8s ease-in-out infinite alternate cyberScanlineSweep;
  position: absolute;
  top: 0;
  bottom: 0;
  box-shadow: 0 0 20px #38bdf8, 0 0 12px #d066ef;
}

@keyframes cyberScanlineSweep {
  0% {
    opacity: .8;
    left: 2%;
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: .8;
    left: 97%;
  }
}

.studio-ai-thumbs-row {
  z-index: 2;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  width: 100%;
  display: grid;
  position: relative;
}

.studio-ai-thumb-card {
  flex-direction: column;
  align-items: center;
  gap: 6px;
  min-width: 0;
  display: flex;
}

.studio-ai-thumb-preview {
  aspect-ratio: 4 / 3;
  background: #040812;
  border: 1px solid #ffffff1f;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
  position: relative;
  overflow: hidden;
}

.studio-ai-thumb-card.is-ready .studio-ai-thumb-preview {
  border-color: #d066ef80;
  box-shadow: 0 0 10px #d066ef26;
}

.studio-ai-thumb-preview img {
  object-fit: cover;
  filter: contrast(1.05) saturate(1.1);
  width: 100%;
  height: 100%;
}

.studio-ai-thumb-placeholder {
  color: #ffffff4d;
  font-size: 16px;
}

.studio-ai-thumb-step-tag {
  color: #fff;
  background: #000000b3;
  border: 1px solid #fff3;
  border-radius: 5px;
  justify-content: center;
  align-items: center;
  width: 18px;
  height: 18px;
  font-size: 10px;
  font-weight: 700;
  display: flex;
  position: absolute;
  bottom: 4px;
  right: 4px;
}

[dir="rtl"] .studio-ai-thumb-step-tag {
  left: 4px;
  right: auto;
}

.studio-ai-thumb-checked-mark {
  color: #fff;
  background: #10b981;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 16px;
  height: 16px;
  font-size: 10px;
  font-weight: 800;
  display: flex;
  position: absolute;
  top: 4px;
  right: 4px;
  box-shadow: 0 0 8px #10b981b3;
}

[dir="rtl"] .studio-ai-thumb-checked-mark {
  left: 4px;
  right: auto;
}

.studio-ai-thumb-label {
  color: #e2e8f0cc;
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 100%;
  font-size: 11px;
  font-weight: 500;
  overflow: hidden;
}

.studio-ai-error-banner {
  color: #fca5a5;
  background: #ef444426;
  border: 1px solid #ef444466;
  border-radius: 12px;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 12px 18px;
  font-size: 13px;
  font-weight: 500;
  display: flex;
}

.studio-ai-retry-btn {
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, #7c1695, #2563eb);
  border: none;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  font-size: 13px;
  font-weight: 600;
  transition: transform .2s, box-shadow .2s;
  display: inline-flex;
  box-shadow: 0 0 16px #d066ef66;
}

.studio-ai-retry-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 0 24px #d066ef99;
}

.studio-vf-badges-row {
  z-index: 20;
  align-items: center;
  gap: 8px;
  display: flex;
  position: absolute;
  top: 14px;
  left: 16px;
}

[dir="rtl"] .studio-vf-badges-row {
  left: auto;
  right: 16px;
}

.studio-vf-badge-handpiece {
  color: #34d399;
  background: #10b98126;
  border: 1px solid #10b98166;
  border-radius: 999px;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  font-size: 11.5px;
  font-weight: 600;
  display: inline-flex;
  box-shadow: 0 0 10px #10b98133;
}

.studio-handpiece-auto-notice {
  color: #38bdf8;
  background: #38bdf81a;
  border: 1px solid #38bdf840;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin: 12px 0 0;
  padding: 8px 12px;
  font-size: 12.5px;
  line-height: 1.4;
  display: flex;
}

.studio-pulse-sparkle {
  background: #38bdf8;
  border-radius: 50%;
  flex-shrink: 0;
  width: 7px;
  height: 7px;
  animation: 1.4s ease-in-out infinite pulseDot;
  box-shadow: 0 0 8px #38bdf8;
}

@keyframes holoRotateCW {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes holoRotateCCW {
  from {
    transform: rotate(360deg);
  }

  to {
    transform: rotate(0);
  }
}

@keyframes holoCorePulse {
  0%, 100% {
    opacity: .7;
    transform: scale(.92);
  }

  50% {
    opacity: 1;
    transform: scale(1.08);
  }
}

@keyframes holoIconBreathe {
  0%, 100% {
    transform: scale(.95);
  }

  50% {
    transform: scale(1.05);
  }
}

.studio-deck-right {
  flex-direction: column;
  gap: 16px;
  height: 100%;
  display: flex;
}

.studio-card {
  -webkit-backdrop-filter: blur(14px);
  background: #0b1221c7;
  border: 1px solid #ffffff14;
  border-radius: 20px;
  flex-direction: column;
  gap: 14px;
  padding: 18px 20px;
  display: flex;
  box-shadow: 0 10px 30px -5px #0006;
}

.studio-card-header {
  flex-direction: column;
  gap: 3px;
  display: flex;
}

.studio-card-title-row {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.studio-card-title {
  color: #fff;
  letter-spacing: -.01em;
  margin: 0;
  font-size: 15px;
  font-weight: 800;
}

.studio-card-subtitle {
  color: #94a3b8;
  margin: 0;
  font-size: 11.5px;
  line-height: 1.45;
}

.studio-lights-row {
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  display: grid;
}

.studio-light-btn {
  color: #94a3b8;
  cursor: pointer;
  background: #0f172a8c;
  border: 1px solid #ffffff1a;
  border-radius: 14px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 14px 8px;
  transition: all .22s cubic-bezier(.16, 1, .3, 1);
  display: flex;
}

.studio-light-btn svg {
  stroke-width: 1.8px;
  width: 26px;
  height: 26px;
  transition: transform .2s;
}

.studio-light-btn span {
  letter-spacing: -.01em;
  font-size: 12px;
  font-weight: 700;
}

.studio-light-btn:hover {
  color: #fff;
  background: #ffffff14;
  border-color: #fff3;
}

.studio-light-btn.is-white.is-active {
  color: #fff;
  background: #ffffff1f;
  border-color: #fff;
  box-shadow: 0 0 18px #ffffffbf, 0 0 35px #ffffff4d, inset 0 0 12px #fff3;
}

.studio-light-btn.is-white.is-active svg {
  color: #fff;
  filter: drop-shadow(0 0 10px #fff);
  transform: scale(1.1);
}

.studio-light-btn.is-polarized.is-active {
  color: #d066ef;
  background: #d066ef29;
  border-color: #d066ef;
  box-shadow: 0 0 18px #d066efcc, 0 0 35px #d066ef59, inset 0 0 12px #d066ef38;
}

.studio-light-btn.is-polarized.is-active svg {
  color: #d066ef;
  filter: drop-shadow(0 0 10px #d066ef);
  transform: scale(1.1);
}

.studio-light-btn.is-uv.is-active {
  color: #c084fc;
  background: #a855f72e;
  border-color: #c084fc;
  box-shadow: 0 0 20px #c084fcd9, 0 0 40px #a855f773, inset 0 0 12px #a855f747;
}

.studio-light-btn.is-uv.is-active svg {
  color: #c084fc;
  filter: drop-shadow(0 0 10px #c084fc);
  transform: scale(1.1);
}

.studio-card-region, .studio-region-body {
  flex-direction: column;
  gap: 14px;
  display: flex;
}

.studio-region-visual {
  background: #020617;
  border: 1px solid #d066ef59;
  border-radius: 16px;
  flex-shrink: 0;
  width: 100%;
  height: 180px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 24px -4px #0009, inset 0 0 20px #d066ef1a;
}

.studio-region-visual img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform .4s cubic-bezier(.16, 1, .3, 1);
  display: block;
}

.studio-card-region:hover .studio-region-visual img {
  transform: scale(1.04);
}

.studio-region-badge {
  z-index: 2;
  position: absolute;
  top: 10px;
  right: 12px;
}

.studio-region-tag {
  letter-spacing: .05em;
  color: #d066ef;
  -webkit-backdrop-filter: blur(8px);
  background: #0f172ad1;
  border: 1px solid #d066ef73;
  border-radius: 8px;
  align-items: center;
  padding: 4px 10px;
  font-size: 10px;
  font-weight: 800;
  display: inline-flex;
  box-shadow: 0 2px 8px #0006;
}

.studio-region-meta {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.studio-region-name {
  color: #d066ef;
  letter-spacing: -.01em;
  font-size: 16px;
  font-weight: 800;
}

.studio-region-instruction {
  color: #94a3b8;
  margin: 0;
  font-size: 12.5px;
  line-height: 1.6;
}

.studio-card-tips {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.studio-card-badge-info {
  color: #d066ef;
  background: #d066ef1a;
  border: 1px solid #d066ef40;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  display: inline-flex;
}

.studio-tips-list {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.studio-tip-item {
  background: #0f172a73;
  border: 1px solid #ffffff0f;
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  transition: all .25s cubic-bezier(.16, 1, .3, 1);
  display: flex;
}

.studio-tip-item:hover {
  background: #1e293b99;
  border-color: #d066ef4d;
  transform: translateX(-2px);
}

.studio-tip-main {
  flex: 1;
  align-items: center;
  gap: 12px;
  min-width: 0;
  display: flex;
}

.studio-tip-icon {
  border-radius: 10px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 34px;
  height: 34px;
  transition: all .25s;
  display: flex;
}

.studio-tip-icon svg {
  width: 19px;
  height: 19px;
}

.studio-tip-icon.is-target {
  color: #d066ef;
  background: #d066ef1f;
  border: 1px solid #d066ef4d;
}

.studio-tip-icon.is-pressure {
  color: #c084fc;
  background: #a855f71f;
  border: 1px solid #a855f74d;
}

.studio-tip-icon.is-focus {
  color: #34d399;
  background: #10b9811f;
  border: 1px solid #10b9814d;
}

.studio-tip-text {
  color: #cbd5e1;
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1.45;
}

.studio-tip-check {
  color: #d066ef;
  opacity: .85;
  flex-shrink: 0;
  width: 17px;
  height: 17px;
}

@media (max-width: 1200px) {
  .studio-main-deck {
    grid-template-columns: 280px minmax(0, 1fr) 290px;
    gap: 18px;
  }
}

@media (max-width: 1024px) {
  .clinic-capture-studio {
    overflow-y: auto;
  }

  .studio-main-deck {
    max-height: unset;
    grid-template-columns: 1fr;
    min-height: auto;
    overflow-y: visible;
  }

  .studio-rail-left {
    flex-flow: wrap;
    justify-content: space-between;
    align-items: center;
  }

  .studio-stepper {
    flex-direction: row;
    width: 100%;
    margin: 0;
    overflow-x: auto;
  }

  .studio-stepper-line {
    display: none;
  }

  .studio-deck-right {
    grid-template-columns: repeat(2, 1fr);
    display: grid;
  }

  .studio-deck-right .studio-card:last-child {
    grid-column: span 2;
  }
}

@media (max-width: 640px) {
  .clinic-capture-studio {
    border-radius: 18px;
    padding: 14px;
  }

  .studio-deck-right {
    grid-template-columns: 1fr;
  }

  .studio-deck-right .studio-card:last-child {
    grid-column: span 1;
  }
}

.clinic-workflow.is-capture, .clinic-workflow.is-capture[data-clinic-theme="light"], .clinic-workflow.is-capture[data-clinic-theme="dark"], [data-clinic-theme="light"] .clinic-workflow.is-capture, [data-clinic-theme="dark"] .clinic-workflow.is-capture {
  color: #f8fafc !important;
  background: #060b17 !important;
}

.clinic-capture-studio, .clinic-capture-studio[data-clinic-theme="light"], .clinic-capture-studio[data-clinic-theme="dark"], [data-clinic-theme="light"] .clinic-capture-studio, [data-clinic-theme="dark"] .clinic-capture-studio {
  color: #f8fafc !important;
  background: radial-gradient(circle at 50% 20%, #0d1933 0%, #060b17 60%, #040711 100%) !important;
}

.studio-card, .studio-topbar-chip, .studio-header-back-btn, .studio-theme-toggle-wrapper .clinic-theme-toggle, .studio-light-btn, .studio-step-node, .studio-tip-item, .studio-thumb-item {
  transition: background .35s, background-color .35s, border-color .35s, color .25s, box-shadow .35s;
}

.studio-handpiece-overlay {
  z-index: 99999;
  -webkit-backdrop-filter: blur(28px) saturate(140%);
  background: #030712e0;
  justify-content: center;
  align-items: center;
  padding: 24px;
  animation: .35s cubic-bezier(.16, 1, .3, 1) both studioFadeIn;
  display: flex;
  position: fixed;
  inset: 0;
}

.studio-handpiece-modal {
  text-align: center;
  background: linear-gradient(175deg, #161b2cf7 0%, #0c101cfc 100%);
  border: 1px solid #f59e0b47;
  border-radius: 24px;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  width: 100%;
  max-width: 440px;
  padding: 32px 28px 24px;
  animation: .35s cubic-bezier(.16, 1, .3, 1) both studioModalPop;
  display: flex;
  position: relative;
  box-shadow: 0 24px 60px -12px #000000e6, 0 0 40px #f59e0b14, inset 0 1px #ffffff14;
}

@keyframes studioModalPop {
  0% {
    opacity: 0;
    transform: scale(.94)translateY(14px);
  }

  100% {
    opacity: 1;
    transform: scale(1)translateY(0);
  }
}

.studio-handpiece-icon-ring {
  color: #fbbf24;
  background: radial-gradient(circle, #f59e0b2e 0%, #f59e0b0a 70%);
  border: 1.5px solid #f59e0b73;
  border-radius: 20px;
  justify-content: center;
  align-items: center;
  width: 64px;
  height: 64px;
  margin-bottom: 2px;
  display: flex;
  box-shadow: 0 0 28px #f59e0b38;
  animation: none !important;
}

.studio-handpiece-icon-ring svg {
  filter: drop-shadow(0 2px 8px #f59e0b66);
  width: 32px;
  height: 32px;
}

.studio-handpiece-title {
  color: #fff;
  letter-spacing: -.01em;
  margin: 0;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.4;
}

.studio-handpiece-desc {
  color: #cbd5e1;
  text-align: center;
  max-width: 380px;
  margin: 0;
  font-size: 13.5px;
  font-weight: 500;
  line-height: 1.7;
}

.studio-handpiece-error {
  color: #fca5a5;
  text-align: right;
  background: #ef44441f;
  border: 1px solid #ef444459;
  border-radius: 10px;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 8px 12px;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.5;
  display: flex;
}

.studio-handpiece-actions {
  flex-direction: column;
  gap: 10px;
  width: 100%;
  margin-top: 6px;
  display: flex;
}

.studio-handpiece-order-btn {
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, #7c1695 0%, #931eb0 100%);
  border: 1px solid #d066ef80;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 44px;
  padding: 12px 20px;
  font-size: 14px;
  font-weight: 700;
  transition: all .2s cubic-bezier(.16, 1, .3, 1);
  display: inline-flex;
  box-shadow: 0 4px 16px #7c169566;
}

.studio-handpiece-order-btn:hover {
  border-color: #d066ef;
  transform: translateY(-1px);
  box-shadow: 0 6px 22px #d066ef99;
}

.studio-handpiece-back-btn {
  color: #cbd5e1;
  cursor: pointer;
  background: #ffffff0d;
  border: 1px solid #ffffff1f;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 42px;
  padding: 10px 20px;
  font-size: 13.5px;
  font-weight: 600;
  transition: all .2s;
  display: inline-flex;
}

.studio-handpiece-back-btn:hover {
  color: #fff;
  background: #ffffff1a;
  border-color: #ffffff3d;
  transform: translateY(-1px);
}

.studio-handpiece-retry-link {
  color: #64748b;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 6px;
  align-items: center;
  gap: 6px;
  margin-top: 2px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 600;
  transition: all .2s;
  display: inline-flex;
}

.studio-handpiece-retry-link:hover {
  color: #d066ef;
  background: #d066ef14;
}

.studio-handpiece-retry-link:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.studio-handpiece-retry-link svg.is-spinning {
  animation: 1s linear infinite studioSpin;
}

@keyframes studioSpin {
  100% {
    transform: rotate(360deg);
  }
}

.clinic-theme-scope:not([data-clinic-theme="dark"]) .studio-handpiece-overlay, .clinic-theme-scope[data-clinic-theme="light"] .studio-handpiece-overlay {
  -webkit-backdrop-filter: blur(28px) saturate(140%);
  background: #f1f5f9e0;
}

.clinic-theme-scope:not([data-clinic-theme="dark"]) .studio-handpiece-modal, .clinic-theme-scope[data-clinic-theme="light"] .studio-handpiece-modal {
  background: #fff;
  border-color: #94a3b859;
  box-shadow: 0 25px 50px -12px #0f172a26, 0 0 30px #7c169514;
}

.clinic-theme-scope:not([data-clinic-theme="dark"]) .studio-handpiece-title, .clinic-theme-scope[data-clinic-theme="light"] .studio-handpiece-title {
  color: #0f172a;
}

.clinic-theme-scope:not([data-clinic-theme="dark"]) .studio-handpiece-desc, .clinic-theme-scope[data-clinic-theme="light"] .studio-handpiece-desc {
  color: #1e293b;
}

.clinic-theme-scope:not([data-clinic-theme="dark"]) .studio-handpiece-subdesc, .clinic-theme-scope[data-clinic-theme="light"] .studio-handpiece-subdesc {
  color: #64748b;
}

.clinic-theme-scope:not([data-clinic-theme="dark"]) .studio-handpiece-back-btn, .clinic-theme-scope[data-clinic-theme="light"] .studio-handpiece-back-btn {
  color: #334155;
  background: #f1f5f9;
  border-color: #cbd5e1;
}

.clinic-theme-scope:not([data-clinic-theme="dark"]) .studio-handpiece-back-btn:hover, .clinic-theme-scope[data-clinic-theme="light"] .studio-handpiece-back-btn:hover {
  color: #0f172a;
  background: #e2e8f0;
}

.studio-stage-error-banner {
  -webkit-backdrop-filter: blur(14px);
  z-index: 40;
  background: #e11d4829;
  border: 1px solid #f43f5e6b;
  border-radius: 14px;
  align-items: center;
  gap: 12px;
  width: 100%;
  max-width: 620px;
  margin: 14px auto 0;
  padding: 11px 16px;
  animation: .28s cubic-bezier(.16, 1, .3, 1) studio-error-slide;
  display: flex;
  box-shadow: 0 8px 28px #e11d4838, 0 0 16px #0009;
}

.studio-stage-error-icon {
  color: #fb7185;
  background: #f43f5e38;
  border-radius: 10px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  display: flex;
}

.studio-stage-error-body {
  text-align: right;
  flex-direction: column;
  flex: 1;
  gap: 2px;
  min-width: 0;
  display: flex;
}

[dir="ltr"] .studio-stage-error-body {
  text-align: left;
}

.studio-stage-error-title {
  color: #fda4af;
  letter-spacing: -.01em;
  font-size: 11.5px;
  font-weight: 700;
}

.studio-stage-error-text {
  color: #fff;
  word-break: break-word;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.55;
}

.studio-stage-error-dismiss {
  color: #fecdd3;
  cursor: pointer;
  background: #ffffff14;
  border: 1px solid #ffffff1f;
  border-radius: 8px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  transition: all .18s;
  display: flex;
}

.studio-stage-error-dismiss:hover {
  color: #fff;
  background: #f43f5e52;
  border-color: #f43f5e8c;
  transform: scale(1.05);
}

@keyframes studio-error-slide {
  from {
    opacity: 0;
    transform: translateY(10px)scale(.97);
  }

  to {
    opacity: 1;
    transform: translateY(0)scale(1);
  }
}

.clinic-capture-studio .form-error {
  color: #fff !important;
  text-align: center !important;
  -webkit-backdrop-filter: blur(14px) !important;
  background: #e11d4829 !important;
  border: 1px solid #f43f5e6b !important;
  border-radius: 14px !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 620px !important;
  margin: 12px auto 0 !important;
  padding: 12px 18px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
  display: flex !important;
  box-shadow: 0 8px 28px #e11d4838, 0 0 16px #0009 !important;
}

/* [project]/apps/web/src/app/licensing.css [app-client] (css) */
.clinic-license-gate {
  min-height: 100dvh;
  padding: var(--page-gutter);
  background: var(--canvas);
  place-items: center;
  display: grid;
}

.clinic-license-gate > section {
  width: min(100%, 620px);
  padding: var(--surface-padding);
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-xl);
  background: var(--surface);
  box-shadow: var(--shadow-md);
}

.clinic-license-gate > section > span {
  color: var(--brand);
  margin-block-start: var(--space-6);
  font-weight: 500;
  display: block;
}

.clinic-license-gate h1 {
  margin: var(--space-2) 0;
  font-size: var(--title-page);
  line-height: 1.35;
}

.clinic-license-gate p {
  color: var(--muted);
  line-height: 1.9;
}

.clinic-license-gate form {
  gap: var(--space-4);
  margin-block-start: var(--space-6);
  display: grid;
}

.clinic-license-gate label {
  gap: var(--space-2);
  font-weight: 500;
  display: grid;
}

.clinic-license-gate input {
  min-height: 52px;
  padding-inline: var(--space-4);
  border: 1px solid var(--field-border);
  border-radius: var(--radius-field);
  font: inherit;
}

.clinic-license-gate button {
  border-radius: var(--radius-button);
  color: #fff;
  background: var(--brand);
  min-height: 50px;
  font: inherit;
  cursor: pointer;
  border: 0;
  font-weight: 500;
}

.clinic-license-gate button:focus-visible, .clinic-license-gate input:focus-visible {
  box-shadow: var(--focus-ring);
  outline: 0;
}

.clinic-license-gate button:disabled {
  opacity: .6;
  cursor: wait;
}

.admin-handpiece-licensing {
  gap: var(--section-gap);
  display: grid;
}

.admin-handpiece-licensing > header {
  justify-content: space-between;
  align-items: end;
  gap: var(--space-6);
  padding: var(--surface-padding);
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-xl);
  background: var(--surface-bg);
  box-shadow: var(--shadow-sm);
  display: flex;
}

.admin-handpiece-licensing > header span {
  color: var(--brand);
  font-weight: 500;
}

.admin-handpiece-licensing h1, .admin-handpiece-licensing h2 {
  margin: 0;
}

.admin-handpiece-licensing > header p {
  margin: var(--space-2) 0 0;
  color: var(--muted);
}

.admin-handpiece-licensing-guide {
  gap: var(--space-5);
  padding: var(--surface-padding);
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-xl);
  background: var(--brand-surface);
  display: grid;
}

.admin-handpiece-licensing-guide > div {
  gap: var(--space-1);
  display: grid;
}

.admin-handpiece-licensing-guide > div > span {
  color: var(--brand);
  font-size: var(--text-small);
  font-weight: 500;
}

.admin-handpiece-licensing-guide ol {
  gap: var(--space-4);
  counter-reset: handpiece-guide;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.admin-handpiece-licensing-guide li {
  column-gap: var(--space-3);
  row-gap: var(--space-1);
  padding: var(--space-4);
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-md);
  background: var(--surface);
  counter-increment: handpiece-guide;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  display: grid;
}

.admin-handpiece-licensing-guide li:before {
  color: #fff;
  background: var(--brand);
  content: counter(handpiece-guide);
  width: 28px;
  height: 28px;
  font-size: var(--text-small);
  border-radius: 999px;
  place-items: center;
  font-weight: 500;
  display: grid;
}

.admin-handpiece-licensing-guide li strong, .admin-handpiece-licensing-guide li span {
  min-width: 0;
}

.admin-handpiece-licensing-guide li span {
  color: var(--muted);
  font-size: var(--text-small);
  grid-column: 2;
  line-height: 1.75;
}

.admin-handpiece-licensing-guide > p {
  color: var(--muted);
  font-size: var(--text-small);
  margin: 0;
  line-height: 1.8;
}

.admin-handpiece-licensing label {
  gap: var(--space-2);
  font-size: var(--text-small);
  font-weight: 500;
  display: grid;
}

.admin-handpiece-licensing input {
  min-height: var(--field-height);
  border: 1px solid var(--field-border);
  padding-inline: var(--space-3);
  border-radius: var(--radius-field);
  font: inherit;
}

.admin-licensing-forms, .admin-licensing-tables {
  gap: var(--space-5);
  grid-template-columns: minmax(0, 1fr);
  display: grid;
}

.admin-licensing-forms form, .admin-licensing-tables article {
  gap: var(--space-4);
  min-width: 0;
  padding: var(--surface-padding);
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-xl);
  background: var(--surface);
  display: grid;
}

.admin-handpiece-licensing button {
  min-height: var(--control-height);
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-button);
  padding-inline: var(--space-4);
  color: var(--brand);
  background: var(--surface);
  font: inherit;
  cursor: pointer;
  font-weight: 500;
}

.admin-licensing-forms button {
  color: #fff;
  background: var(--brand);
  border-color: #0000;
}

.admin-licensing-tables article > div {
  overflow: auto;
}

.admin-licensing-tables table {
  border-collapse: collapse;
  width: 100%;
}

.admin-licensing-tables th, .admin-licensing-tables td {
  padding: var(--space-3);
  border-block-end: 1px solid var(--line);
  text-align: start;
  white-space: nowrap;
}

.admin-handpiece-licensing > footer {
  justify-content: center;
  align-items: center;
  gap: var(--space-3);
  display: flex;
}

.admin-handpiece-licensing > .is-error {
  color: var(--danger);
  background: var(--danger-soft);
}

.admin-handpiece-licensing > .is-success {
  color: var(--success);
  background: var(--success-soft);
}

.admin-handpiece-licensing > .is-error, .admin-handpiece-licensing > .is-success {
  padding: var(--space-3);
  border-radius: var(--radius-sm);
  margin: 0;
  font-weight: 500;
}

.admin-licensing-excel {
  gap: var(--space-5);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  display: grid;
}

.admin-licensing-excel > div {
  justify-content: space-between;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-4);
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-md);
  background: var(--surface);
  display: flex;
}

.admin-licensing-excel a {
  color: var(--brand);
  font-weight: 500;
}

.admin-licensing-excel label {
  cursor: pointer;
}

.admin-licensing-excel input {
  max-width: 220px;
  padding: var(--space-2);
}

.admin-platform-license-summary {
  justify-content: space-between;
  align-items: center;
  gap: var(--space-4);
  margin: var(--space-4) var(--surface-padding) 0;
  padding: var(--space-4);
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-md);
  background: var(--brand-surface);
  display: flex;
}

.admin-platform-license-summary > div {
  gap: var(--space-1);
  display: grid;
}

.admin-platform-license-summary span, .admin-platform-license-summary small {
  color: var(--muted);
}

.admin-platform-license-summary button {
  min-height: var(--control-height);
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-button);
  padding-inline: var(--space-4);
  color: var(--brand);
  background: var(--surface);
  font: inherit;
  cursor: pointer;
  font-weight: 500;
}

.clinic-camera-utilities > label {
  align-items: center;
  gap: var(--space-2);
  min-width: min(100%, 240px);
  color: var(--text);
  grid-template-columns: auto minmax(120px, 1fr);
  font-size: 12px;
  font-weight: 500;
  display: grid;
}

.clinic-camera-utilities > label select {
  border: 1px solid var(--field-border);
  border-radius: var(--radius-field);
  min-width: 0;
  min-height: 40px;
  padding-inline: var(--space-3);
  color: var(--text);
  background: var(--surface);
  font: inherit;
  cursor: pointer;
}

.clinic-camera-utilities > label select:focus-visible {
  box-shadow: var(--focus-ring);
  outline: 0;
}

@media (max-width: 900px) {
  .admin-licensing-forms, .admin-licensing-tables, .admin-licensing-excel, .admin-handpiece-licensing-guide ol {
    grid-template-columns: 1fr;
  }

  .admin-handpiece-licensing > header {
    flex-direction: column;
    align-items: stretch;
  }
}

@media (max-width: 560px) {
  .admin-platform-license-summary {
    flex-direction: column;
    align-items: stretch;
  }

  .clinic-camera-utilities > label {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
    width: 100%;
  }
}

@media (max-width: 420px) {
  .admin-handpiece-licensing button {
    min-height: 46px;
  }

  .admin-handpiece-licensing > header {
    padding: var(--space-5);
  }
}

/* [project]/apps/web/src/app/clinic-settings.css [app-client] (css) */
.clinic-branding-access {
  gap: var(--space-4);
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
  background: var(--surface-muted);
  display: grid;
  position: relative;
  overflow: hidden;
}

.clinic-branding-access > header {
  gap: var(--space-1);
  display: grid;
}

.clinic-branding-access > header strong {
  color: var(--ink);
  font-size: var(--title-card);
}

.clinic-branding-access > header small {
  color: var(--muted);
  font-size: var(--text-small);
  line-height: 1.75;
}

.clinic-branding-access fieldset {
  align-items: center;
  gap: var(--space-3);
  border: 0;
  grid-template-columns: minmax(180px, .5fr) minmax(0, 1fr) minmax(220px, .55fr);
  min-width: 0;
  margin: 0;
  padding: 0;
  display: grid;
}

.clinic-branding-name-preview {
  align-content: center;
  gap: var(--space-2);
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-md);
  min-height: 84px;
  padding: var(--space-4);
  background: var(--surface);
  display: grid;
}

.clinic-branding-name-preview span {
  color: var(--muted);
  font-size: var(--text-small);
}

.clinic-branding-name-preview strong {
  color: var(--ink);
  font-size: var(--text-body);
}

.clinic-branding-access .clinic-logo-control {
  grid-column: auto;
}

.clinic-branding-access.is-locked fieldset {
  filter: blur(5px);
  opacity: .48;
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
}

.clinic-branding-lock {
  z-index: 2;
  align-content: center;
  place-items: center;
  gap: var(--space-3);
  padding: var(--space-5);
  text-align: center;
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  background: #ffffff70;
  display: grid;
  position: absolute;
  inset: 0;
}

.clinic-branding-lock > span {
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-md);
  width: 42px;
  height: 42px;
  color: var(--brand);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
  place-items: center;
  font-size: 1.35rem;
  display: grid;
}

.clinic-branding-lock p {
  max-width: 54ch;
  color: var(--ink);
  font-size: var(--text-body);
  margin: 0;
  font-weight: 500;
  line-height: 1.85;
}

.clinic-branding-lock button {
  min-height: var(--control-height);
  border-radius: var(--radius-button);
  padding-inline: var(--space-5);
  color: #fff;
  background: var(--brand);
  box-shadow: var(--shadow-sm);
  cursor: pointer;
  font: inherit;
  font-size: var(--text-control);
  border: 0;
  font-weight: 500;
}

.clinic-branding-lock button:hover {
  background: var(--brand-hover);
}

.clinic-branding-lock button:focus-visible {
  box-shadow: var(--focus-ring);
  outline: 0;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-branding-lock {
  background: #07111b85;
}

@media (max-width: 760px) {
  .clinic-branding-access fieldset {
    grid-template-columns: 1fr;
  }

  .clinic-branding-lock {
    padding: var(--space-4);
  }

  .clinic-branding-lock button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .clinic-branding-lock button {
    transition: none;
  }
}

.clinic-settings-minimal, .clinic-settings-minimal__form {
  gap: var(--section-gap);
  display: grid;
}

.clinic-settings-minimal__section {
  gap: var(--space-5);
  display: grid;
}

.clinic-settings-minimal__section > header {
  border-bottom: 1px solid var(--surface-border);
  padding-bottom: var(--space-3);
}

.clinic-settings-minimal__section h2 {
  color: var(--ink);
  font-size: var(--title-card);
  margin: 0;
  line-height: 1.5;
}

.clinic-settings-minimal__grid {
  gap: var(--space-4);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  display: grid;
}

.clinic-settings-minimal__grid > label {
  gap: var(--space-2);
  min-width: 0;
  color: var(--ink-soft);
  font-size: var(--text-small);
  font-weight: 500;
  display: grid;
}

.clinic-settings-minimal__grid > label.is-wide {
  grid-column: 1 / -1;
}

.clinic-settings-minimal__grid :is(input, select, textarea) {
  width: 100%;
  min-width: 0;
  min-height: var(--field-height);
  border: 1px solid var(--field-border);
  border-radius: var(--radius-field);
  padding: 0 var(--space-3);
  color: var(--ink);
  background: var(--field-bg);
  box-shadow: var(--field-shadow);
  font: inherit;
  font-size: var(--text-control);
}

.clinic-settings-minimal__grid textarea {
  min-height: 112px;
  padding-block: var(--space-3);
  resize: vertical;
  line-height: 1.8;
}

.clinic-settings-minimal__grid :is(input, select, textarea):focus {
  border-color: var(--brand);
  box-shadow: var(--field-focus-shadow);
  outline: 0;
}

.clinic-settings-minimal__grid small {
  color: var(--muted);
  font-size: var(--text-compact);
  font-weight: 400;
  line-height: 1.7;
}

.clinic-settings-minimal__toggles {
  gap: var(--space-3);
  grid-template-columns: minmax(0, 1fr);
  display: grid;
}

.clinic-settings-minimal .clinic-branding-access {
  margin-top: var(--space-2);
}

.clinic-settings-minimal__hint {
  color: var(--muted);
  font-size: var(--text-small);
  margin: 0;
  line-height: 1.8;
}

.clinic-settings-minimal__summary {
  gap: var(--space-3);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  display: grid;
}

.clinic-settings-minimal__summary article {
  align-content: center;
  gap: var(--space-1);
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-md);
  min-height: 92px;
  padding: var(--space-4);
  background: var(--surface-muted);
  display: grid;
}

.clinic-settings-minimal__summary strong {
  color: var(--ink);
  font-size: var(--title-card);
  font-weight: 500;
}

.clinic-settings-minimal__summary span {
  color: var(--muted);
  font-size: var(--text-small);
}

.clinic-settings-minimal__data-actions {
  justify-content: flex-start;
}

.clinic-settings-minimal__save {
  z-index: 1;
  margin-top: var(--space-6);
  justify-content: space-between;
  align-items: center;
  gap: var(--space-4);
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-lg);
  padding: var(--space-3) var(--space-4);
  background: var(--surface-bg);
  box-shadow: var(--shadow-md);
  display: flex;
  position: relative;
  bottom: auto;
}

.clinic-settings-minimal__save > span {
  min-width: 0;
  color: var(--muted);
  font-size: var(--text-small);
}

.clinic-settings-minimal__save .ds-action {
  min-width: 164px;
}

.clinic-app-about__layout {
  align-items: stretch;
  gap: var(--space-5);
  grid-template-columns: minmax(0, 1fr) minmax(176px, .3fr);
  display: grid;
}

.clinic-app-about__content {
  gap: var(--space-4);
  min-width: 0;
  display: grid;
}

.clinic-app-about__identity {
  align-items: center;
  gap: var(--space-3);
  min-width: 0;
  display: flex;
}

.clinic-app-about__logo {
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-md);
  width: 54px;
  height: 54px;
  padding: var(--space-2);
  background: var(--surface-muted);
  flex: none;
  place-items: center;
  display: grid;
}

.clinic-app-about__logo img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.clinic-app-about__identity > div {
  gap: var(--space-1);
  min-width: 0;
  display: grid;
}

.clinic-app-about__identity strong {
  color: var(--ink);
  font-size: var(--title-card);
  letter-spacing: .04em;
  text-align: start;
  font-weight: 500;
}

.clinic-app-about__identity span {
  color: var(--muted);
  font-size: var(--text-small);
  line-height: 1.7;
}

.clinic-app-about__details {
  gap: var(--space-3) var(--space-5);
  border-top: 1px solid var(--surface-border);
  padding-top: var(--space-4);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  display: grid;
}

.clinic-app-about__details > div {
  gap: var(--space-1);
  text-align: start;
  min-width: 0;
  display: grid;
}

.clinic-app-about__details dt {
  color: var(--muted);
  font-size: var(--text-compact);
}

.clinic-app-about__details dd {
  color: var(--ink);
  font-size: var(--text-small);
  text-align: start;
  margin: 0;
  font-weight: 500;
  line-height: 1.7;
}

.clinic-app-about__seal {
  align-content: center;
  justify-items: start;
  gap: var(--space-3);
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-md);
  min-width: 0;
  padding: var(--space-4);
  background: var(--surface-muted);
  text-align: start;
  display: grid;
}

.clinic-app-about__seal > span {
  color: var(--muted);
  font-size: var(--text-compact);
}

.clinic-app-about__seal a {
  border-radius: var(--radius-field);
  min-height: 42px;
  color: var(--brand);
  outline-offset: 3px;
  place-items: center;
  text-decoration: none;
  display: grid;
}

.clinic-app-about__seal a:focus-visible {
  outline: 3px solid rgba(var(--brand-rgb),.22);
}

.clinic-app-about__seal strong {
  font-size: var(--text-small);
  font-weight: 500;
  line-height: 1.7;
}

.clinic-app-about__seal img {
  object-fit: contain;
  width: 96px;
  height: 96px;
  display: block;
}

@media (max-width: 768px) {
  .clinic-settings-minimal {
    gap: 16px;
  }

  .clinic-settings-minimal__section {
    background: #fff;
    border: 1px solid #e2e8f0e6;
    border-radius: 20px;
    gap: 16px;
    padding: 20px 16px;
    box-shadow: 0 4px 18px #0f172a08;
  }

  .clinic-settings-minimal__section > header {
    border-bottom: 1px solid #f1f5f9e6;
    padding-bottom: 12px;
  }

  .clinic-settings-minimal__section h2 {
    font-size: 16px;
    font-weight: 800;
  }

  .clinic-settings-minimal__grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .clinic-settings-minimal__grid > label.is-wide {
    grid-column: auto;
  }

  .clinic-settings-minimal__grid :is(input, select) {
    border-radius: 12px;
    min-height: 46px;
    padding: 0 12px;
    font-size: 13.5px;
  }

  .clinic-settings-minimal__grid textarea {
    border-radius: 12px;
    min-height: 96px;
    padding: 10px 12px;
    font-size: 13.5px;
  }

  .clinic-settings-minimal__summary {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .clinic-settings-minimal__summary article {
    border-radius: 14px;
    padding: 12px 14px;
  }

  .clinic-app-about__layout, .clinic-app-about__details {
    grid-template-columns: 1fr;
  }

  .clinic-app-about__seal {
    justify-items: start;
  }

  .clinic-settings-minimal__save {
    bottom: max(10px, env(safe-area-inset-bottom, 0px));
    z-index: 50;
    -webkit-backdrop-filter: blur(16px);
    background: #fffffff0;
    border: 1px solid #e2e8f0e6;
    border-radius: 18px;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    margin-top: 20px;
    padding: 12px 16px;
    position: sticky;
    box-shadow: 0 -4px 20px #0f172a14;
  }

  .clinic-settings-minimal__save .ds-action {
    border-radius: 12px;
    width: 100%;
    min-height: 44px;
    font-weight: 700;
  }
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-settings-minimal__section {
  color: #f8fafc;
  background: #0f172a;
  border-color: #334155cc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-settings-minimal__save {
  background: #0f172af0;
  border-color: #334155cc;
}

/* [project]/apps/web/src/app/admin-clinic-modal.css [app-client] (css) */
.admin-modal-backdrop {
  z-index: 100;
  -webkit-backdrop-filter: blur(12px);
  background: #0f172aa6;
  justify-content: center;
  align-items: center;
  padding: clamp(14px, 3vw, 28px);
  animation: .22s ease-out admin-modal-fade-in;
  display: flex;
  position: fixed;
  inset: 0;
}

@keyframes admin-modal-fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.admin-clinic-modal {
  background: #fff;
  border: 1px solid #e2e8f0f2;
  border-radius: 22px;
  flex-direction: column;
  width: min(860px, 100vw - 32px);
  max-height: min(90dvh, 840px);
  animation: .24s cubic-bezier(.16, 1, .3, 1) admin-modal-pop;
  display: flex;
  overflow: hidden;
  box-shadow: 0 24px 60px -12px #0f172a40, inset 0 0 1px 1px #ffffffe6;
}

@keyframes admin-modal-pop {
  from {
    opacity: 0;
    transform: scale(.96)translateY(8px);
  }

  to {
    opacity: 1;
    transform: scale(1)translateY(0);
  }
}

.admin-clinic-modal > header {
  background: linear-gradient(#fff 0%, #f8fafc 100%);
  border-bottom: 1px solid #e2e8f0e6;
  flex-shrink: 0;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 18px 24px 16px;
  display: flex;
}

.admin-clinic-modal-title-wrap {
  align-items: center;
  gap: 14px;
  min-width: 0;
  display: flex;
}

.admin-clinic-modal-avatar {
  color: #fff;
  background: linear-gradient(135deg, #7c1695 0%, #5c0f71 100%);
  border-radius: 12px;
  flex-shrink: 0;
  place-items: center;
  width: 44px;
  height: 44px;
  font-size: 17px;
  font-weight: 800;
  display: grid;
  box-shadow: 0 3px 8px #7c169540;
}

.admin-clinic-modal-title-copy {
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  display: flex;
}

.admin-clinic-modal-title-row {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.admin-clinic-modal > header h2 {
  color: #0f172a;
  margin: 0;
  font-size: 17.5px;
  font-weight: 800;
  line-height: 1.3;
}

.admin-clinic-modal > header p {
  color: #64748b;
  margin: 0;
  font-size: 12.5px;
  font-weight: 500;
}

.admin-clinic-close-btn {
  color: #64748b;
  cursor: pointer;
  background: #fff;
  border: 1px solid #e2e8f0e6;
  border-radius: 10px;
  flex-shrink: 0;
  place-items: center;
  width: 36px;
  height: 36px;
  transition: all .2s;
  display: grid;
  box-shadow: 0 1px 2px #00000005;
}

.admin-clinic-close-btn:hover {
  color: #dc2626;
  background: #fee2e2;
  border-color: #fca5a5;
  transform: scale(1.05);
}

.admin-clinic-close-btn svg {
  stroke: currentColor;
  stroke-width: 2.2px;
  width: 16px;
  height: 16px;
}

.admin-clinic-tabs-nav {
  scrollbar-width: none;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0d9;
  flex-shrink: 0;
  align-items: center;
  gap: 6px;
  padding: 10px 24px;
  display: flex;
  overflow-x: auto;
}

.admin-clinic-tabs-nav::-webkit-scrollbar {
  display: none;
}

.admin-clinic-tab-btn {
  color: #64748b;
  cursor: pointer;
  white-space: nowrap;
  background: none;
  border: 1px solid #0000;
  border-radius: 9px;
  align-items: center;
  gap: 8px;
  height: 36px;
  padding: 0 14px;
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 600;
  transition: all .2s cubic-bezier(.16, 1, .3, 1);
  display: inline-flex;
}

.admin-clinic-tab-btn:hover {
  color: #0f172a;
  background: #f1f5f9e6;
}

.admin-clinic-tab-btn.active {
  color: #7c1695;
  background: #fff;
  border-color: #cbd5e1d9;
  box-shadow: 0 2px 6px #0f172a0a;
}

.admin-clinic-tab-btn svg {
  stroke: currentColor;
  stroke-width: 1.8px;
  fill: none;
  width: 16px;
  height: 16px;
}

.admin-clinic-tab-badge {
  color: #7c1695;
  background: #7c16951a;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  min-width: 19px;
  height: 19px;
  padding: 0 5px;
  font-size: 11px;
  font-weight: 700;
  display: inline-flex;
}

.admin-clinic-tab-btn.active .admin-clinic-tab-badge {
  color: #fff;
  background: #7c1695;
}

.admin-clinic-tab-body {
  scrollbar-width: thin;
  flex-direction: column;
  flex: 1;
  gap: 20px;
  padding: 22px 24px 26px;
  display: flex;
  overflow-y: auto;
}

.admin-clinic-modal-error {
  color: #b91c1c;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 12px;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  font-size: 12.5px;
  font-weight: 500;
  display: flex;
}

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

.admin-clinic-fact-card {
  background: #f8fafc;
  border: 1px solid #e2e8f0d9;
  border-radius: 12px;
  flex-direction: column;
  gap: 5px;
  padding: 14px 16px;
  transition: all .18s;
  display: flex;
}

.admin-clinic-fact-card:hover {
  background: #fff;
  border-color: #cbd5e1;
  box-shadow: 0 2px 8px #0f172a08;
}

.admin-clinic-fact-card.full-width {
  grid-column: 1 / -1;
}

.admin-clinic-fact-card span {
  color: #64748b;
  letter-spacing: .01em;
  font-size: 11.5px;
  font-weight: 600;
}

.admin-clinic-fact-card strong, .admin-clinic-fact-card bdi {
  color: #0f172a;
  word-break: break-word;
  font-size: 13.5px;
  font-weight: 600;
}

.admin-platform-license-box {
  background: linear-gradient(135deg, #f0f9ffe6 0%, #f8fafce6 100%);
  border: 1px solid #bae6fdd9;
  border-radius: 14px;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 18px 20px;
  display: flex;
  box-shadow: 0 2px 10px #7c16950a;
}

.admin-platform-license-info {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.admin-platform-license-header-row {
  align-items: center;
  gap: 10px;
  display: flex;
}

.admin-platform-license-title {
  color: #0f172a;
  font-size: 14px;
  font-weight: 700;
}

.admin-platform-license-badge {
  border-radius: 99px;
  align-items: center;
  padding: 2px 9px;
  font-size: 11px;
  font-weight: 700;
  display: inline-flex;
}

.admin-platform-license-badge.active {
  color: #15803d;
  background: #dcfce7;
  border: 1px solid #86efac;
}

.admin-platform-license-badge.inactive {
  color: #b91c1c;
  background: #fee2e2;
  border: 1px solid #fca5a5;
}

.admin-platform-license-meta {
  color: #64748b;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 12px;
  font-weight: 500;
}

.admin-license-toggle-btn {
  cursor: pointer;
  white-space: nowrap;
  border-radius: 10px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  height: 38px;
  padding: 0 16px;
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 600;
  transition: all .2s cubic-bezier(.16, 1, .3, 1);
  display: inline-flex;
}

.admin-license-toggle-btn.btn-disable {
  color: #dc2626;
  background: #fff;
  border: 1px solid #fca5a5;
}

.admin-license-toggle-btn.btn-disable:hover:not(:disabled) {
  color: #fff;
  background: #dc2626;
  box-shadow: 0 3px 10px -2px #dc262659;
}

.admin-license-toggle-btn.btn-enable {
  color: #fff;
  background: #7c1695;
  border: 1px solid #7c1695;
}

.admin-license-toggle-btn.btn-enable:hover:not(:disabled) {
  background: #5c0f71;
  box-shadow: 0 3px 10px -2px #7c169559;
}

.admin-license-toggle-btn:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.admin-capability-panel {
  background: none;
  border: none;
  flex-direction: column;
  gap: 20px;
  padding: 0;
  display: flex;
}

.admin-capability-intro {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.admin-capability-intro span {
  color: #7c1695;
  letter-spacing: .02em;
  text-transform: uppercase;
  font-size: 11.5px;
  font-weight: 700;
}

.admin-capability-intro h3 {
  color: #0f172a;
  margin: 0;
  font-size: 15px;
  font-weight: 800;
}

.admin-capability-intro p {
  color: #64748b;
  margin: 0;
  font-size: 12.5px;
  line-height: 1.6;
}

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

.admin-capability-card {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  background: #fff;
  border: 1.5px solid #e2e8f0f2;
  border-radius: 14px;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  transition: all .2s cubic-bezier(.16, 1, .3, 1);
  display: flex;
  position: relative;
  box-shadow: 0 1px 3px #00000005;
}

.admin-capability-card:hover {
  background: #f8fafccc;
  border-color: #7c169559;
}

.admin-capability-card input[type="checkbox"] {
  opacity: 0;
  pointer-events: none;
  position: absolute;
}

.admin-capability-text {
  flex-direction: column;
  flex: 1;
  gap: 3px;
  min-width: 0;
  display: flex;
}

.admin-capability-text strong {
  color: #0f172a;
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.4;
}

.admin-capability-text small {
  color: #64748b;
  font-size: 11.5px;
  line-height: 1.5;
}

.admin-capability-switch {
  background: #cbd5e1;
  border-radius: 99px;
  flex-shrink: 0;
  width: 44px;
  height: 24px;
  transition: background .24s cubic-bezier(.16, 1, .3, 1);
  position: relative;
}

.admin-capability-switch:after {
  content: "";
  top: 2px;
  background: #fff;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  transition: transform .24s cubic-bezier(.16, 1, .3, 1);
  position: absolute;
  inset-inline-start: 2px;
  box-shadow: 0 2px 5px #0f172a2e;
}

.admin-capability-card input:checked ~ .admin-capability-switch {
  background: #7c1695;
}

.admin-capability-card input:checked ~ .admin-capability-switch:after {
  transform: translateX(20px);
}

[dir="rtl"] .admin-capability-card input:checked ~ .admin-capability-switch:after {
  transform: translateX(-20px);
}

.admin-capability-card:has(input:checked) {
  background: #f0f9ff66;
  border-color: #7c169566;
}

.admin-capability-footer-box {
  background: #f8fafc;
  border: 1px solid #e2e8f0e6;
  border-radius: 14px;
  align-items: flex-end;
  gap: 14px;
  padding: 16px 18px;
  display: flex;
}

.admin-capability-footer-box label {
  flex-direction: column;
  flex: 1;
  gap: 6px;
  min-width: 0;
  display: flex;
}

.admin-capability-footer-box label span {
  color: #334155;
  font-size: 12px;
  font-weight: 600;
}

.admin-capability-footer-box input {
  color: #0f172a;
  background: #fff;
  border: 1px solid #e2e8f0f2;
  border-radius: 10px;
  outline: none;
  height: 40px;
  padding: 0 14px;
  font-family: inherit;
  font-size: 13px;
  transition: all .2s;
}

.admin-capability-footer-box input:focus {
  border-color: #7c1695;
  box-shadow: 0 0 0 3px #7c16951f;
}

.admin-capability-footer-box button {
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  background: #7c1695;
  border: 1px solid #7c1695;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  height: 40px;
  padding: 0 20px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  transition: all .2s cubic-bezier(.16, 1, .3, 1);
  display: inline-flex;
}

.admin-capability-footer-box button:hover:not(:disabled) {
  background: #5c0f71;
  transform: translateY(-1px);
  box-shadow: 0 3px 10px -2px #7c169559;
}

.admin-capability-footer-box button:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.admin-patient-list-wrap {
  flex-direction: column;
  gap: 14px;
  display: flex;
}

.admin-patient-section-header {
  border-bottom: 1px solid #e2e8f0d9;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding-bottom: 12px;
  display: flex;
}

.admin-patient-section-header h3 {
  color: #0f172a;
  margin: 0;
  font-size: 14.5px;
  font-weight: 700;
}

.admin-patient-section-header span {
  color: #64748b;
  font-size: 12px;
}

.admin-patient-card {
  background: #fff;
  border: 1px solid #e2e8f0e6;
  border-radius: 14px;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  transition: all .18s;
  display: flex;
  box-shadow: 0 1px 3px #00000005;
}

.admin-patient-card:hover {
  border-color: #cbd5e1;
  box-shadow: 0 4px 14px -2px #0f172a0d;
}

.admin-patient-card-head {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.admin-patient-identity {
  align-items: center;
  gap: 10px;
  display: flex;
}

.admin-patient-avatar {
  color: #fff;
  background: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);
  border-radius: 9px;
  flex-shrink: 0;
  place-items: center;
  width: 34px;
  height: 34px;
  font-size: 13px;
  font-weight: 700;
  display: grid;
}

.admin-patient-identity strong {
  color: #0f172a;
  font-size: 13.5px;
  font-weight: 700;
}

.admin-patient-identity small {
  color: #64748b;
  font-size: 11.5px;
}

.admin-patient-meta-grid {
  background: #f8fafc;
  border-radius: 10px;
  flex-wrap: wrap;
  gap: 8px 18px;
  padding: 10px 12px;
  display: flex;
}

.admin-patient-meta-item {
  align-items: center;
  gap: 6px;
  font-size: 12px;
  display: flex;
}

.admin-patient-meta-item dt {
  color: #64748b;
  font-weight: 500;
}

.admin-patient-meta-item dd {
  color: #0f172a;
  margin: 0;
  font-weight: 700;
}

.admin-capture-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 4px;
  display: grid;
}

.admin-capture-item {
  background: #f8fafc;
  border: 1px solid #e2e8f0e6;
  border-radius: 11px;
  flex-direction: column;
  transition: transform .18s;
  display: flex;
  overflow: hidden;
}

.admin-capture-item:hover {
  transform: translateY(-2px);
}

.admin-capture-item img {
  aspect-ratio: 16 / 10;
  object-fit: cover;
  background: #e2e8f0;
  width: 100%;
}

.admin-capture-info {
  flex-direction: column;
  gap: 4px;
  padding: 8px 10px;
  display: flex;
}

.admin-capture-region-badge {
  color: #7c1695;
  font-size: 11px;
  font-weight: 700;
}

.admin-capture-light-badge {
  color: #64748b;
  font-size: 10.5px;
}

.admin-capture-metrics-chips {
  flex-wrap: wrap;
  gap: 4px;
  padding: 0 10px 8px;
  display: flex;
}

.admin-capture-metrics-chips small {
  color: #334155;
  background: #e2e8f0b3;
  border-radius: 5px;
  padding: 2px 6px;
  font-size: 10px;
  font-weight: 600;
}

.admin-clinic-status-card {
  background: #fff;
  border: 1px solid #e2e8f0e6;
  border-radius: 16px;
  flex-direction: column;
  gap: 18px;
  padding: 20px;
  display: flex;
}

.admin-clinic-current-status-banner {
  background: #f8fafc;
  border: 1px solid #e2e8f0d9;
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  display: flex;
}

.admin-clinic-current-status-banner span {
  color: #475569;
  font-size: 12.5px;
  font-weight: 600;
}

.admin-clinic-current-status-banner strong {
  border-radius: 99px;
  align-items: center;
  padding: 4px 12px;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
}

.admin-clinic-current-status-banner strong.status-active {
  color: #15803d;
  background: #dcfce7;
  border: 1px solid #86efac;
}

.admin-clinic-current-status-banner strong.status-pending {
  color: #a16207;
  background: #fef9c3;
  border: 1px solid #fde047;
}

.admin-clinic-current-status-banner strong.status-suspended {
  color: #b91c1c;
  background: #fee2e2;
  border: 1px solid #fca5a5;
}

.admin-clinic-current-status-banner strong.status-archived {
  color: #475569;
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
}

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

.admin-status-form-field {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.admin-status-form-field.full-width {
  grid-column: 1 / -1;
}

.admin-status-form-field label {
  color: #334155;
  font-size: 12px;
  font-weight: 600;
}

.admin-status-form-field select, .admin-status-form-field input, .admin-status-form-field textarea {
  color: #0f172a;
  background: #fff;
  border: 1px solid #e2e8f0f2;
  border-radius: 10px;
  outline: none;
  font-family: inherit;
  font-size: 13px;
  transition: all .2s;
}

.admin-status-form-field select, .admin-status-form-field input {
  height: 40px;
  padding: 0 14px;
}

.admin-status-form-field textarea {
  resize: vertical;
  min-height: 80px;
  padding: 10px 14px;
}

.admin-status-form-field select:focus, .admin-status-form-field input:focus, .admin-status-form-field textarea:focus {
  border-color: #7c1695;
  box-shadow: 0 0 0 3px #7c16951f;
}

.admin-status-form-footer {
  border-top: 1px solid #e2e8f0cc;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  padding-top: 14px;
  display: flex;
}

.admin-status-form-footer button {
  cursor: pointer;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  height: 40px;
  padding: 0 20px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  transition: all .2s cubic-bezier(.16, 1, .3, 1);
  display: inline-flex;
}

.admin-status-form-footer .admin-cancel-btn {
  color: #64748b;
  background: #fff;
  border: 1px solid #e2e8f0e6;
}

.admin-status-form-footer .admin-cancel-btn:hover {
  color: #0f172a;
  background: #f1f5f9;
}

.admin-status-form-footer .admin-submit-btn {
  color: #fff;
  background: #7c1695;
  border: 1px solid #7c1695;
}

.admin-status-form-footer .admin-submit-btn:hover:not(:disabled) {
  background: #5c0f71;
  transform: translateY(-1px);
  box-shadow: 0 3px 10px -2px #7c169559;
}

.admin-status-form-footer .admin-submit-btn:disabled {
  opacity: .5;
  cursor: not-allowed;
}

@media (max-width: 820px) {
  .admin-modal-backdrop {
    padding: max(10px, env(safe-area-inset-top, 0px)) max(10px, env(safe-area-inset-right, 0px)) max(10px, env(safe-area-inset-bottom, 0px)) max(10px, env(safe-area-inset-left, 0px));
  }

  .admin-clinic-modal {
    width: 100%;
    max-width: calc(100vw - 16px);
    max-height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 16px);
    border-radius: 18px;
  }

  .admin-clinic-modal svg {
    flex-shrink: 0;
    max-width: 100%;
  }

  .admin-clinic-close-btn {
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
  }

  .admin-clinic-modal > header {
    padding: 12px 16px;
  }

  .admin-clinic-modal-title-wrap {
    gap: 10px;
  }

  .admin-clinic-modal-avatar {
    border-radius: 10px;
    width: 38px;
    height: 38px;
    font-size: 15px;
  }

  .admin-clinic-modal > header h2 {
    font-size: 15.5px;
  }

  .admin-clinic-modal > header p {
    font-size: 11.5px;
  }

  .admin-clinic-tabs-nav {
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    flex-wrap: nowrap;
    width: 100%;
    padding: 8px 12px;
    overflow-x: auto;
  }

  .admin-clinic-tabs-nav::-webkit-scrollbar {
    display: none;
  }

  .admin-clinic-tab-btn {
    flex-shrink: 0;
    height: 34px;
    padding: 0 10px;
    font-size: 12px;
  }

  .admin-clinic-tab-body {
    padding: 14px 16px;
    overflow-x: hidden;
  }

  .admin-clinic-facts-grid, .admin-capability-grid, .admin-status-form-fields, .admin-capture-grid {
    grid-template-columns: 1fr;
  }

  .admin-capability-footer-box {
    flex-direction: column;
    align-items: stretch;
  }

  .admin-capability-footer-box button {
    width: 100%;
  }

  .admin-platform-license-box {
    flex-direction: column;
    align-items: stretch;
  }

  .admin-license-toggle-btn {
    width: 100%;
  }

  .admin-clinic-modal .admin-table-scroll {
    -webkit-overflow-scrolling: touch;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    display: block;
    overflow-x: auto;
  }

  .admin-clinic-modal .admin-table th, .admin-clinic-modal .admin-table td {
    padding: 9px 11px;
    font-size: 12px;
  }

  .admin-status-form-footer {
    flex-direction: column-reverse;
    gap: 8px;
  }

  .admin-status-form-footer button {
    width: 100%;
  }
}

/* [project]/apps/web/src/app/clinic-theme.css [app-client] (css) */
.clinic-theme-scope {
  min-height: 100dvh;
}

.clinic-theme-scope[data-clinic-theme="dark"] {
  --lightningcss-light: ;
  --lightningcss-dark: initial;
  color-scheme: dark;
  background: radial-gradient(circle at 12% 10%,rgba(var(--brand-rgb),.15),transparent 30rem),
    radial-gradient(circle at 88% 82%,rgba(var(--accent-rgb),.09),transparent 27rem),
    linear-gradient(145deg,#050e17 0%,#091824 54%,#06121d 100%);
  background-size: 125% 125%, 135% 135%, 100% 100%;
  animation: 18s ease-in-out infinite alternate clinic-dark-ambient;
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.clinic-console, .clinic-record-page, .clinic-analysis-page, .analysis-report--clinic, .clinic-trend-page, .analysis-state-page, .analysis-results-page, .clinic-followup-page, .clinic-record-state, .clinic-workflow, .clinic-license-gate) {
  color: var(--ink);
  background: none;
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.admin-sidebar, .patient-record-sidebar) {
  border-color: var(--surface-border);
  -webkit-backdrop-filter: blur(28px) saturate(1.12);
  backdrop-filter: blur(28px) saturate(1.12);
  background: #05111bdb;
  box-shadow: 14px 0 42px #0000004d;
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.admin-topbar, .clinic-record-topbar, .analysis-results-topbar, .clinic-workflow-header) {
  border-color: var(--surface-border);
  -webkit-backdrop-filter: blur(24px) saturate(1.1);
  backdrop-filter: blur(24px) saturate(1.1);
  background: #06141fb8;
  box-shadow: 0 12px 34px #00000029;
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.panel-sidebar-brand__copy strong, .admin-person strong, .clinic-topbar-context strong, h1, h2, h3, h4, strong) {
  color: var(--ink);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.admin-nav-label, .panel-sidebar-brand__label, .admin-person small, .clinic-topbar-context small, p, small) {
  color: var(--muted);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.panel-nav-icon, .admin-logout, .clinic-topbar-context > span, .admin-search, .admin-secondary, .secondary-action, .ds-action--secondary, .admin-row-action, .analysis-results-topbar nav > a) {
  border-color: var(--surface-border);
  color: var(--ink-soft);
  box-shadow: var(--shadow-xs);
  background: #0d1f2bc7;
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.admin-nav button, .support-sidebar .admin-nav button):hover {
  color: var(--brand);
  background: rgba(var(--brand-rgb),.09);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.admin-nav button, .support-sidebar .admin-nav button).active {
  border-color: rgba(var(--brand-rgb),.24);
  color: var(--ink);
  background: linear-gradient(90deg,rgba(var(--brand-rgb),.18),rgba(var(--brand-rgb),.07));
  box-shadow: inset 0 0 22px rgba(var(--brand-rgb),.04);
}

.clinic-theme-scope[data-clinic-theme="dark"] .admin-nav button.active .panel-nav-icon {
  border-color: rgba(var(--brand-rgb),.5);
  color: var(--ink);
  background: rgba(var(--brand-rgb),.2);
  box-shadow: 0 0 20px rgba(var(--brand-rgb),.14);
}

.clinic-theme-scope[data-clinic-theme="dark"] .language-switcher {
  border-color: rgba(var(--brand-rgb),.2);
  color: var(--ink-soft);
  box-shadow: var(--shadow-xs);
  -webkit-backdrop-filter: blur(18px) saturate(1.12);
  backdrop-filter: blur(18px) saturate(1.12);
  background: #0b1d29db;
}

.clinic-theme-scope[data-clinic-theme="dark"] .language-switcher:hover {
  border-color: rgba(var(--brand-rgb),.42);
  color: var(--ink);
  background: #102736f5;
}

.clinic-theme-scope[data-clinic-theme="dark"] .language-switcher svg {
  color: var(--brand);
}

.clinic-theme-scope[data-clinic-theme="dark"] .language-flag {
  background: #edf8ff17;
  box-shadow: inset 0 0 0 1px #edf8ff14;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-theme-toggle {
  border-color: rgba(var(--brand-rgb),.24);
  color: #e7f7ff;
  -webkit-backdrop-filter: blur(18px) saturate(1.12);
  backdrop-filter: blur(18px) saturate(1.12);
  background: #0b1d29e0;
  box-shadow: 0 0 0 1px #ffffff05, 0 8px 22px #0003;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-theme-toggle:hover {
  border-color: rgba(var(--brand-rgb),.48);
  color: #fff;
  box-shadow: 0 0 24px rgba(var(--brand-rgb),.15);
  background: #102736fa;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-theme-toggle__halo {
  background: radial-gradient(circle,rgba(var(--brand-rgb),.3),transparent 68%);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.ds-page-header, .ds-surface, .ds-card, .admin-kpis article, .admin-chart-card, .admin-alert-card, .admin-table-card, .clinic-overview-hero, .clinic-overview-privacy, .clinic-crm-card, .clinic-settings-hero, .clinic-settings-section, .clinic-module-placeholder, .patient-retention-metrics article, .patient-retention-guide, .patient-retention-workspace, .ticket-metric-grid article, .ticket-workspace, .ticket-index, .ticket-thread, .ticket-message, .clinic-license-gate > section, .clinic-license-card, .clinic-license-summary, .clinic-subscription-card) {
  border-color: var(--surface-border);
  background: var(--surface-bg);
  box-shadow: var(--shadow-sm);
  -webkit-backdrop-filter: blur(22px) saturate(1.1);
  backdrop-filter: blur(22px) saturate(1.1);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.clinic-activity-summary > div, .clinic-crm-followup a, .clinic-crm-legend > div, .clinic-crm-journey section, .clinic-settings-local-hint, .clinic-settings-readonly, .clinic-guide-setting, .clinic-guide-model-options > button, .clinic-logo-control, .clinic-logo-control > div, .clinic-settings-toggle, .clinic-settings-toggles > article, .clinic-license-summary article, .clinic-data-summary article, .clinic-entitlement-list article, .patient-retention-filters button, .ticket-index button, .ticket-empty, .ticket-thread-empty, .ticket-attachment-list a) {
  border-color: var(--surface-border);
  color: var(--ink-soft);
  background: var(--surface-muted);
  box-shadow: var(--shadow-xs);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .admin-demo-banner {
  border-color: rgba(var(--brand-rgb),.2);
  color: var(--ink-soft);
  background: linear-gradient(120deg,rgba(var(--brand-rgb),.1),rgba(var(--accent-rgb),.07)),#091925e6;
  box-shadow: var(--shadow-xs);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .admin-demo-banner span {
  color: var(--ink-soft);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-console .admin-demo-banner b {
  color: #f3fbff;
  background: linear-gradient(135deg,var(--brand),var(--brand-deep));
  box-shadow: 0 0 18px rgba(var(--brand-rgb),.14);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-crm-donut > div {
  border-color: var(--surface-border);
  background: #0d2230;
  box-shadow: inset 0 1px #ffffff09, 0 8px 24px #00000038;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-crm-donut.is-empty {
  background: #95c2dc24;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-crm-legend span {
  color: var(--ink-soft);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-crm-legend strong {
  color: var(--ink);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-crm-legend small {
  color: var(--muted);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-activity-card > header > strong {
  color: var(--success);
  background: linear-gradient(145deg, #49c8a021, #0b1d29e6);
  border-color: #49c8a038;
  box-shadow: inset 0 1px #ffffff09, 0 0 22px #49c8a00f;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-activity-card > header > strong small {
  color: #8fdcc4;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-week-chart {
  border-color: var(--surface-border);
  background: repeating-linear-gradient(to top, #95c2dc12 0 1px, #0000 1px 48px), #05131d94;
  box-shadow: inset 0 1px #ffffff05;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-week-chart > div > strong {
  color: var(--ink-soft);
  box-shadow: 0 6px 16px #0003,inset 0 0 0 1px var(--surface-border);
  background: #0e2331f2;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-week-chart > div > span {
  color: inherit;
  background: none;
  border-color: #0000;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-week-chart small {
  color: var(--muted);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.clinic-settings-jump, .clinic-settings-save, .clinic-setup-actions) {
  border-color: var(--surface-border);
  box-shadow: var(--shadow-md);
  -webkit-backdrop-filter: blur(26px) saturate(1.15);
  backdrop-filter: blur(26px) saturate(1.15);
  background: #071621e0;
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.clinic-settings-section > header, .clinic-guide-model-preview, .patient-retention-table th, .patient-retention-table td, .admin-table th, .admin-table td, .ticket-thread-header, .ticket-composer, .ticket-thread-actions) {
  border-color: var(--line);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.patient-retention-table th, .admin-table th) {
  color: var(--muted);
  background: #081823bd;
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.patient-retention-table tbody tr:hover, .admin-table tbody tr:hover) {
  background: rgba(var(--brand-rgb),.06);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), select, textarea) {
  border-color: var(--field-border);
  color: var(--ink);
  background: var(--field-bg);
  box-shadow: var(--field-shadow);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(input, textarea)::placeholder {
  color: #718c9d;
  opacity: 1;
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(input, select, textarea):focus {
  border-color: rgba(var(--brand-rgb),.5);
  box-shadow: var(--field-focus-shadow);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.clinic-patients-launch, .clinic-overview-privacy-toggle, .clinic-record-link, .product-recommendation-actions > button, .product-alternatives-modal > header > button, .localized-date-trigger, .localized-calendar > footer button, .clinic-record-trend-action) {
  border-color: var(--surface-border);
  color: var(--ink-soft);
  box-shadow: var(--shadow-xs);
  background: #0b1d29e0;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-record-link:hover {
  border-color: rgba(var(--brand-rgb),.36);
  color: var(--brand);
  background: rgba(var(--brand-rgb),.1);
  box-shadow: 0 0 22px rgba(var(--brand-rgb),.09);
  transform: translateY(-1px);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.clinic-settings-permanent, .clinic-subscription-copy > span, .clinic-patient-status.active, .clinic-trend-ai .status.ready) {
  color: var(--success);
  background: var(--success-soft);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.patient-retention-badges .overdue, .analysis-demo-chip) {
  color: #f0c47c;
  background: rgba(var(--accent-rgb),.14);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.patient-retention-badges .urgent, .clinic-record-view-tabs > p) {
  color: var(--danger);
  background: var(--danger-soft);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.clinic-workflow-steps, .clinic-workflow-body, .clinic-intake-form, .clinic-camera-setup) {
  border-color: var(--surface-border);
  background: none;
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.clinic-section-heading, .clinic-form-section, .clinic-option-group, .clinic-option-group label, .clinic-consent, .clinic-setup-intro .clinic-section-heading, .clinic-setup-intro .clinic-followup-patient, .clinic-setup-grid article, .clinic-camera-card, .clinic-device-card, .clinic-capture-stage, .clinic-review-card, .clinic-capture-gallery figure) {
  border-color: var(--surface-border);
  color: var(--ink-soft);
  background: var(--surface-bg);
  box-shadow: var(--shadow-sm);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.clinic-option-group label:hover, .clinic-option-group label.selected, .clinic-workflow-steps > div.active) {
  border-color: rgba(var(--brand-rgb),.32);
  background: rgba(var(--brand-rgb),.11);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.clinic-clinical-note, .clinic-light-copy, .clinic-position-tips) {
  border-color: rgba(var(--accent-rgb),.25);
  background: rgba(var(--accent-rgb),.1);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.clinic-clinical-note strong, .clinic-clinical-note p) {
  color: #e0c08d;
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.patient-record-action-panel, .clinic-record-hero, [class~="clinic-record-overview"], [class~="clinic-session-list"], .clinic-session-detail, .clinic-progress-overview, .clinic-trend-hero, .clinic-trend-card, .clinic-trend-ai, .clinic-trend-locked, .clinic-record-chart, .clinic-analysis-summary, .clinic-capture-gallery, .clinic-note-card, .clinic-record-view-tabs, .clinic-trend-sessions) {
  border-color: var(--surface-border);
  background: var(--surface-bg);
  box-shadow: var(--shadow-sm);
  -webkit-backdrop-filter: blur(22px) saturate(1.1);
  backdrop-filter: blur(22px) saturate(1.1);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.clinic-record-facts > div, [class~="clinic-session-list"] button, .clinic-session-meta, .clinic-progress-kpis article, .clinic-trend-hero > aside, .clinic-trend-overview article, .clinic-trend-kpis article, .clinic-trend-sessions article, .clinic-record-view-tabs > div, .clinic-record-view-tabs > button, .clinic-comparison-bars > div, .clinic-metric-lines article, .clinic-metric-progress) {
  border-color: var(--surface-border);
  color: var(--ink-soft);
  background: var(--surface-muted);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.clinic-trend-hero > aside, .clinic-trend-overview article) {
  box-shadow: var(--shadow-xs);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.clinic-trend-hero > aside span, .clinic-trend-overview > header span, .clinic-trend-overview > header p, .clinic-trend-overview article > span, .clinic-trend-overview article > p) {
  color: var(--muted);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-trend-overview article > strong {
  color: var(--ink);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-trend-sessions > header {
  border-color: var(--line);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-trend-sessions article > span {
  color: #dff6ff;
  background: rgba(var(--brand-rgb),.18);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-trend-session-gain {
  color: var(--success);
  background: var(--success-soft);
}

.clinic-theme-scope[data-clinic-theme="dark"] .trend-3d-container {
  background: var(--surface-bg);
  border-color: var(--surface-border);
  box-shadow: var(--shadow-sm);
}

.clinic-theme-scope[data-clinic-theme="dark"] .trend-3d-legend {
  border-color: var(--surface-border);
  background: #ffffff0f;
}

.clinic-theme-scope[data-clinic-theme="dark"] .trend-3d-legend span {
  color: var(--ink-soft);
}

.clinic-theme-scope[data-clinic-theme="dark"] .trend-3d-grid-line {
  border-color: var(--line);
}

.clinic-theme-scope[data-clinic-theme="dark"] .trend-3d-grid-line > span {
  color: var(--muted);
  background: var(--surface-muted);
  border-color: var(--surface-border);
}

.clinic-theme-scope[data-clinic-theme="dark"] .trend-3d-badge {
  background: var(--surface-muted);
  border-color: var(--surface-border);
  box-shadow: 0 3px 10px #0000004d;
}

.clinic-theme-scope[data-clinic-theme="dark"] .trend-3d-badge.is-baseline span {
  color: #94a3b8;
}

.clinic-theme-scope[data-clinic-theme="dark"] .trend-3d-badge.is-target span {
  color: #2dd4bf;
}

.clinic-theme-scope[data-clinic-theme="dark"] .trend-3d-label {
  color: var(--ink-soft);
}

.clinic-theme-scope[data-clinic-theme="dark"] .trend-3d-base-shadow {
  background: radial-gradient(#00000073 0%, #0000 72%);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-comparison-bars > aside {
  border-color: var(--line);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-comparison-bars > aside > span, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-comparison-bars > div > header span, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-comparison-bars header b {
  color: var(--ink-soft);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-comparison-bars i.baseline {
  background: #6f8796;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-metric-progress > header strong, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-metric-progress > footer b {
  color: var(--ink-soft);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-metric-progress > header em {
  color: var(--muted);
  background: #8fa8b81c;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-metric-progress.improved > header em {
  color: #73d9ba;
  background: #49c8a01f;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-metric-progress.worsened > header em {
  color: #ff8da0;
  background: #ff748e1f;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-metric-progress svg line {
  stroke: #8fbbd62e;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-metric-progress svg circle {
  fill: #102332;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-metric-progress svg g:last-of-type circle {
  stroke: #102332;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-metric-progress svg text, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-metric-progress > footer small, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-metric-progress > footer > i {
  fill: var(--muted);
  color: var(--muted);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-metric-progress > footer {
  border-color: var(--line);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is([class~="clinic-session-list"] button.active, .clinic-record-view-tabs > div.active, .clinic-record-view-tabs > button:hover:not(:disabled)) {
  border-color: rgba(var(--brand-rgb),.32);
  background: linear-gradient(125deg,rgba(var(--brand-rgb),.14),#0b1d29e6);
  box-shadow: 0 0 26px rgba(var(--brand-rgb),.08);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.clinic-line-chart text, .clinic-radar-chart text, .clinic-radar-chart tspan + .clinic-radar-chart tspan, .clinic-trend-line text, .clinic-metric-lines text) {
  fill: var(--muted);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.clinic-line-chart line, .clinic-radar-chart line, .clinic-trend-line line, .clinic-metric-lines line) {
  stroke: var(--line);
}

.clinic-theme-scope[data-clinic-theme="dark"] .patient-record-surface :is(.patient-record-header, .record-analysis-summary, .clinic-record-quick-facts article, .clinic-session-strip, .clinic-session-strip button, .clinic-session-number, .analysis-results-hero, .analysis-tab-navigation, .analysis-tab-rail button, .analysis-section-workspace, .analysis-section-workspace > header, .analysis-category-stage, .analysis-feature-chart, .analysis-chart-summary-card, .analysis-narrative-card, .analysis-insight-card, .analysis-evidence-card, .analysis-feature-evidence, .analysis-chart-card, .clinic-capture-gallery, .clinic-capture-gallery figure) {
  border-color: var(--surface-border);
  color: var(--ink);
  background: var(--surface-bg);
  box-shadow: var(--shadow-sm);
}

.clinic-theme-scope[data-clinic-theme="dark"] .patient-record-surface :is(.record-analysis-summary, .clinic-record-quick-facts article, .clinic-session-strip button, .analysis-tab-rail button, .analysis-score-ring, .analysis-chart-summary-card .analysis-score-ring) {
  background: var(--surface-muted);
  box-shadow: var(--shadow-xs);
}

.clinic-theme-scope[data-clinic-theme="dark"] .patient-record-surface :is(.analysis-section-grid, .analysis-text-stage, .analysis-visual-stage, .analysis-evidence-section, .analysis-section-workspace.is-overview > .analysis-visual-stage) {
  border-color: var(--surface-border);
  color: var(--ink-soft);
  background: #06151f94;
}

.clinic-theme-scope[data-clinic-theme="dark"] .patient-record-surface .analysis-tab-rail button:hover {
  border-color: rgba(var(--brand-rgb),.28);
  color: var(--ink);
  background: rgba(var(--brand-rgb),.1);
  box-shadow: var(--shadow-xs);
}

.clinic-theme-scope[data-clinic-theme="dark"] .patient-record-surface .analysis-tab-rail button.active {
  border-color: rgba(var(--brand-rgb),.4);
  color: #f3fbff;
  background: linear-gradient(125deg,var(--brand-deep),var(--brand),#0d4f78);
  box-shadow: 0 10px 24px rgba(var(--brand-rgb),.16);
}

.clinic-theme-scope[data-clinic-theme="dark"] .patient-record-surface .analysis-tab-rail button > small {
  color: var(--ink-soft);
  background: #edf8ff14;
}

.clinic-theme-scope[data-clinic-theme="dark"] .patient-record-surface .analysis-tab-rail button.active > small {
  color: #fff;
  background: #ffffff29;
}

.clinic-theme-scope[data-clinic-theme="dark"] .patient-record-surface :is(.analysis-category-stage > header > b, .analysis-narrative-card header i, .analysis-insight-card header i, .analysis-evidence-card > header b) {
  color: var(--brand);
  background: rgba(var(--brand-rgb),.12);
}

.clinic-theme-scope[data-clinic-theme="dark"] .patient-record-surface :is(.analysis-category-stage > header h3, .analysis-narrative-card h3, .analysis-insight-card h3, .analysis-chart-card strong) {
  color: var(--ink);
}

.clinic-theme-scope[data-clinic-theme="dark"] .patient-record-surface :is(.analysis-category-stage > header span, .analysis-category-plot article > span, .analysis-narrative-card > p, .analysis-insight-card li > p, .analysis-insight-card > p, .analysis-chart-summary-card > p, .analysis-chart-card > header span) {
  color: var(--muted);
}

.clinic-theme-scope[data-clinic-theme="dark"] .patient-record-surface :is(.analysis-narrative-card > div, .analysis-evidence-card > p, .analysis-unavailable-chart) {
  border-color: var(--surface-border);
  color: var(--ink-soft);
  background: #081924c2;
}

.clinic-theme-scope[data-clinic-theme="dark"] .patient-record-surface :is(.analysis-radar svg polygon, .analysis-radar svg line) {
  stroke: #8fbbd640;
}

.clinic-theme-scope[data-clinic-theme="dark"] .patient-record-surface .analysis-radar svg circle {
  stroke: #102332;
}

.clinic-theme-scope[data-clinic-theme="dark"] .patient-record-surface .clinic-capture-gallery figcaption {
  border-color: var(--surface-border);
  background: #07151fe6;
}

.clinic-theme-scope[data-clinic-theme="dark"] .patient-record-surface .clinic-session-number {
  background: conic-gradient(var(--brand) calc(var(--session-score)*1%),#96bed626 0);
}

.clinic-theme-scope[data-clinic-theme="dark"] .patient-record-surface .clinic-session-number:before {
  background: #102332;
}

.clinic-theme-scope[data-clinic-theme="dark"] .patient-record-surface .clinic-session-strip button:after {
  border-color: #96bed633;
}

.clinic-theme-scope[data-clinic-theme="dark"] .patient-record-surface :is(.patient-record-action-panel > div > a, .patient-record-action-panel > div > button, .clinic-analysis-score, .clinic-review-badge) {
  border-color: var(--surface-border);
  color: var(--ink-soft);
  background: var(--surface-muted);
  box-shadow: var(--shadow-xs);
}

.clinic-theme-scope[data-clinic-theme="dark"] .patient-record-surface :is(.patient-record-action-panel > div > a, .patient-record-action-panel > div > button):hover {
  border-color: rgba(var(--brand-rgb),.3);
  color: var(--ink);
  background: rgba(var(--brand-rgb),.1);
}

.clinic-theme-scope[data-clinic-theme="dark"] .patient-record-surface .patient-record-action-panel > div > .is-primary {
  color: #fff;
  background: var(--brand);
  box-shadow: 0 10px 24px rgba(var(--brand-rgb),.18);
  border-color: #0000;
}

.clinic-theme-scope[data-clinic-theme="dark"] .patient-record-surface .patient-record-action-panel > p.success {
  color: var(--success);
  background: var(--success-soft);
}

.clinic-theme-scope[data-clinic-theme="dark"] .patient-record-surface .patient-record-action-panel > p.error {
  color: var(--danger);
  background: var(--danger-soft);
}

.clinic-theme-scope[data-clinic-theme="dark"] .patient-record-surface :is(.analysis-insight-card li > span, .analysis-chart-legend, .analysis-chart-summary-card > div, .analysis-evidence-card > p) {
  color: var(--ink-soft);
  background: #081924c2;
}

.clinic-theme-scope[data-clinic-theme="dark"] .patient-record-surface :is(.clinic-bar-chart > div > div, .analysis-bars > div > div) {
  background: #96bed624;
}

.clinic-theme-scope[data-clinic-theme="dark"] .patient-record-surface .clinic-line-point circle {
  fill: #102332;
  stroke: var(--brand);
}

.clinic-theme-scope[data-clinic-theme="dark"] .patient-record-surface :is(.clinic-analysis-summary > p, .clinic-analysis-score > span, .clinic-analysis-score small, .clinic-analysis-summary footer, .clinic-bar-chart > div > header) {
  color: var(--muted);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-analysis-page, html[data-clinic-theme="dark"] .clinic-analysis-page, body[data-clinic-theme="dark"] .clinic-analysis-page {
  color: #f1f5f9 !important;
  background: #07111b !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .analysis-report--clinic, html[data-clinic-theme="dark"] .analysis-report--clinic, body[data-clinic-theme="dark"] .analysis-report--clinic {
  color: inherit !important;
  background: none !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .analysis-record-topbar, html[data-clinic-theme="dark"] .analysis-record-topbar, body[data-clinic-theme="dark"] .analysis-record-topbar {
  background: #0b1926e0 !important;
  border-bottom: 1px solid #334155cc !important;
  box-shadow: 0 8px 30px #0000004d !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .analysis-record-brand, html[data-clinic-theme="dark"] .analysis-record-brand, body[data-clinic-theme="dark"] .analysis-record-brand {
  color: #f8fafc !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .analysis-record-back, html[data-clinic-theme="dark"] .analysis-record-back, body[data-clinic-theme="dark"] .analysis-record-back {
  color: #cbd5e1 !important;
  background: #1e293b99 !important;
  border: 1px solid #334155cc !important;
  border-radius: 10px !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 6px 14px !important;
  transition: all .2s !important;
  display: inline-flex !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .analysis-record-back:hover, html[data-clinic-theme="dark"] .analysis-record-back:hover, body[data-clinic-theme="dark"] .analysis-record-back:hover {
  color: #d066ef !important;
  background: #a855f726 !important;
  border-color: #d066ef73 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .analysis-record-actions > a, .clinic-theme-scope[data-clinic-theme="dark"] .analysis-record-actions > button, html[data-clinic-theme="dark"] .analysis-record-actions > a, html[data-clinic-theme="dark"] .analysis-record-actions > button {
  color: #cbd5e1 !important;
  background: #1e293b99 !important;
  border-color: #334155cc !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .analysis-record-actions > a:hover, .clinic-theme-scope[data-clinic-theme="dark"] .analysis-record-actions > button:hover, html[data-clinic-theme="dark"] .analysis-record-actions > a:hover, html[data-clinic-theme="dark"] .analysis-record-actions > button:hover {
  color: #d066ef !important;
  background: #d066ef1a !important;
  border-color: #d066ef !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .analysis-record-hero, html[data-clinic-theme="dark"] .analysis-record-hero, body[data-clinic-theme="dark"] .analysis-record-hero {
  background: linear-gradient(135deg, #0f172af2, #082f4973) !important;
  border-color: #334155d9 !important;
  box-shadow: 0 16px 40px #0006 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .analysis-record-hero > header span, html[data-clinic-theme="dark"] .analysis-record-hero > header span {
  color: #d066ef !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .analysis-record-hero h1, html[data-clinic-theme="dark"] .analysis-record-hero h1 {
  color: #f8fafc !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .analysis-hero-actions a, .clinic-theme-scope[data-clinic-theme="dark"] .analysis-hero-actions button, html[data-clinic-theme="dark"] .analysis-hero-actions a, html[data-clinic-theme="dark"] .analysis-hero-actions button {
  color: #e2e8f0 !important;
  background: #1e293bb3 !important;
  border-color: #334155d9 !important;
  box-shadow: 0 8px 18px #00000040 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .analysis-hero-actions a:hover, .clinic-theme-scope[data-clinic-theme="dark"] .analysis-hero-actions button:hover, html[data-clinic-theme="dark"] .analysis-hero-actions a:hover, html[data-clinic-theme="dark"] .analysis-hero-actions button:hover {
  color: #fff !important;
  border-color: #d066ef !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .analysis-hero-actions > .is-primary, html[data-clinic-theme="dark"] .analysis-hero-actions > .is-primary {
  color: #fff !important;
  background: linear-gradient(135deg, #7c1695, #5c0f71) !important;
  border-color: #d066ef !important;
  box-shadow: 0 8px 24px #7c169566 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .analysis-hero-actions button:disabled, .clinic-theme-scope[data-clinic-theme="dark"] .analysis-hero-actions button.is-disabled, html[data-clinic-theme="dark"] .analysis-hero-actions button:disabled, html[data-clinic-theme="dark"] .analysis-hero-actions button.is-disabled {
  opacity: .35 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
  filter: grayscale(.9) !important;
  box-shadow: none !important;
  background: #ffffff0d !important;
  border-color: #ffffff14 !important;
  transform: none !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .analysis-session-strip button, html[data-clinic-theme="dark"] .analysis-session-strip button, body[data-clinic-theme="dark"] .analysis-session-strip button {
  color: #cbd5e1 !important;
  background: #0f172a !important;
  border-color: #334155cc !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .analysis-session-strip button > span, html[data-clinic-theme="dark"] .analysis-session-strip button > span {
  color: #f8fafc !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .analysis-session-strip button > time, html[data-clinic-theme="dark"] .analysis-session-strip button > time {
  color: #94a3b8 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .analysis-session-strip button.active, html[data-clinic-theme="dark"] .analysis-session-strip button.active {
  color: #fff !important;
  background: linear-gradient(135deg, #7c169540, #0f172af2) !important;
  border-color: #d066ef !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .analysis-tab-navigation, html[data-clinic-theme="dark"] .analysis-tab-navigation, body[data-clinic-theme="dark"] .analysis-tab-navigation, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded .analysis-tab-navigation, html[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded .analysis-tab-navigation, body[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded .analysis-tab-navigation {
  background: #0f172a !important;
  border-color: #334155d9 !important;
  box-shadow: 0 14px 40px #0006 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .analysis-tab-navigation > header strong, html[data-clinic-theme="dark"] .analysis-tab-navigation > header strong {
  color: #f8fafc !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .analysis-tab-navigation > header span, html[data-clinic-theme="dark"] .analysis-tab-navigation > header span {
  color: #94a3b8 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded .analysis-tab-rail button, html[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded .analysis-tab-rail button {
  color: #cbd5e1 !important;
  background: #1e293b !important;
  border-color: #33415599 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded .analysis-tab-rail button:hover, html[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded .analysis-tab-rail button:hover {
  color: #fff !important;
  background: #28374d !important;
  border-color: #d066ef66 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded .analysis-tab-rail button.active, html[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded .analysis-tab-rail button.active {
  color: #fff !important;
  background: linear-gradient(135deg, #7c1695, #2563eb) !important;
  border-color: #d066ef !important;
}

html[data-clinic-theme="dark"] .analysis-section-workspace, body[data-clinic-theme="dark"] .analysis-section-workspace, .clinic-theme-scope[data-clinic-theme="dark"] .analysis-section-workspace {
  background: none !important;
  border-color: #0000 !important;
}

html[data-clinic-theme="dark"] :is(.analysis-category-stage, .analysis-visual-stage), body[data-clinic-theme="dark"] :is(.analysis-category-stage, .analysis-visual-stage), .clinic-theme-scope[data-clinic-theme="dark"] :is(.analysis-category-stage, .analysis-visual-stage), .clinic-theme-scope[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded .analysis-section-workspace.is-overview > :is(.analysis-category-stage, .analysis-visual-stage), html[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded .analysis-section-workspace.is-overview > :is(.analysis-category-stage, .analysis-visual-stage), body[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded .analysis-section-workspace.is-overview > :is(.analysis-category-stage, .analysis-visual-stage) {
  color: #f8fafc !important;
  background: #0f172a !important;
  border-color: #334155d9 !important;
  box-shadow: 0 16px 44px #00000073 !important;
}

html[data-clinic-theme="dark"] .analysis-category-stage > header span, body[data-clinic-theme="dark"] .analysis-category-stage > header span, .clinic-theme-scope[data-clinic-theme="dark"] .analysis-category-stage > header span {
  color: #94a3b8 !important;
}

html[data-clinic-theme="dark"] .analysis-category-stage > header h3, body[data-clinic-theme="dark"] .analysis-category-stage > header h3, .clinic-theme-scope[data-clinic-theme="dark"] .analysis-category-stage > header h3 {
  color: #f8fafc !important;
}

html[data-clinic-theme="dark"] .analysis-chart-key span, body[data-clinic-theme="dark"] .analysis-chart-key span, .clinic-theme-scope[data-clinic-theme="dark"] .analysis-chart-key span {
  color: #cbd5e1 !important;
}

html[data-clinic-theme="dark"] :is(.analysis-narrative-card, .analysis-insight-card), body[data-clinic-theme="dark"] :is(.analysis-narrative-card, .analysis-insight-card), .clinic-theme-scope[data-clinic-theme="dark"] :is(.analysis-narrative-card, .analysis-insight-card), .clinic-theme-scope[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded :is(.analysis-narrative-card, .analysis-insight-card), html[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded :is(.analysis-narrative-card, .analysis-insight-card), body[data-clinic-theme="dark"] .clinic-analysis-page .analysis-results-embedded :is(.analysis-narrative-card, .analysis-insight-card) {
  color: #f8fafc !important;
  background: #0f172a !important;
  border-color: #334155d9 !important;
  box-shadow: 0 16px 44px #0006 !important;
}

html[data-clinic-theme="dark"] :is(.analysis-narrative-header, .analysis-insight-header), body[data-clinic-theme="dark"] :is(.analysis-narrative-header, .analysis-insight-header), .clinic-theme-scope[data-clinic-theme="dark"] :is(.analysis-narrative-header, .analysis-insight-header) {
  border-bottom-color: #33415599 !important;
}

html[data-clinic-theme="dark"] .analysis-narrative-icon, body[data-clinic-theme="dark"] .analysis-narrative-icon, .clinic-theme-scope[data-clinic-theme="dark"] .analysis-narrative-icon {
  color: #d066ef !important;
  background: linear-gradient(135deg, #7c169540, #2563eb40) !important;
}

html[data-clinic-theme="dark"] .analysis-insight-icon, body[data-clinic-theme="dark"] .analysis-insight-icon, .clinic-theme-scope[data-clinic-theme="dark"] .analysis-insight-icon {
  color: #4ade80 !important;
  background: linear-gradient(135deg, #16a34a40, #10b98140) !important;
}

html[data-clinic-theme="dark"] :is(.analysis-narrative-title, .analysis-insight-title, .analysis-narrative-card h3, .analysis-insight-card h3), body[data-clinic-theme="dark"] :is(.analysis-narrative-title, .analysis-insight-title, .analysis-narrative-card h3, .analysis-insight-card h3), .clinic-theme-scope[data-clinic-theme="dark"] :is(.analysis-narrative-title, .analysis-insight-title, .analysis-narrative-card h3, .analysis-insight-card h3) {
  color: #f8fafc !important;
}

html[data-clinic-theme="dark"] :is(.analysis-narrative-text, .analysis-narrative-card > p, .analysis-narrative-card p), body[data-clinic-theme="dark"] :is(.analysis-narrative-text, .analysis-narrative-card > p, .analysis-narrative-card p), .clinic-theme-scope[data-clinic-theme="dark"] :is(.analysis-narrative-text, .analysis-narrative-card > p, .analysis-narrative-card p) {
  color: #cbd5e1 !important;
}

html[data-clinic-theme="dark"] :is(.analysis-insight-item, .analysis-insight-card li), body[data-clinic-theme="dark"] :is(.analysis-insight-item, .analysis-insight-card li), .clinic-theme-scope[data-clinic-theme="dark"] :is(.analysis-insight-item, .analysis-insight-card li) {
  background: #1e293bb3 !important;
  border: 1px solid #334155d9 !important;
  border-radius: 14px !important;
  padding: 12px 16px !important;
  box-shadow: 0 1px 3px #0003 !important;
}

html[data-clinic-theme="dark"] :is(.analysis-insight-item:hover, .analysis-insight-card li:hover), body[data-clinic-theme="dark"] :is(.analysis-insight-item:hover, .analysis-insight-card li:hover), .clinic-theme-scope[data-clinic-theme="dark"] :is(.analysis-insight-item:hover, .analysis-insight-card li:hover) {
  background: #1e293bf2 !important;
  border-color: #34d39966 !important;
}

html[data-clinic-theme="dark"] .analysis-card-footer, body[data-clinic-theme="dark"] .analysis-card-footer, .clinic-theme-scope[data-clinic-theme="dark"] .analysis-card-footer {
  border-top-color: #33415599 !important;
}

html[data-clinic-theme="dark"] .analysis-footer-tag, body[data-clinic-theme="dark"] .analysis-footer-tag, .clinic-theme-scope[data-clinic-theme="dark"] .analysis-footer-tag {
  color: #94a3b8 !important;
}

html[data-clinic-theme="dark"] .analysis-ai-badge, body[data-clinic-theme="dark"] .analysis-ai-badge, .clinic-theme-scope[data-clinic-theme="dark"] .analysis-ai-badge {
  color: #d8b4fe !important;
  background: #9333ea2e !important;
  border-color: #9333ea59 !important;
}

html[data-clinic-theme="dark"] .analysis-insight-badge, body[data-clinic-theme="dark"] .analysis-insight-badge, .clinic-theme-scope[data-clinic-theme="dark"] .analysis-insight-badge, html[data-clinic-theme="dark"] .analysis-insight-count-pill, body[data-clinic-theme="dark"] .analysis-insight-count-pill, .clinic-theme-scope[data-clinic-theme="dark"] .analysis-insight-count-pill {
  color: #6ee7b7 !important;
  background: #10b9812e !important;
  border-color: #10b98159 !important;
}

html[data-clinic-theme="dark"] .analysis-insight-check, body[data-clinic-theme="dark"] .analysis-insight-check, .clinic-theme-scope[data-clinic-theme="dark"] .analysis-insight-check {
  color: #4ade80 !important;
  background: #10b98133 !important;
}

html[data-clinic-theme="dark"] :is(.analysis-insight-item-text, .analysis-insight-card li > p, .analysis-insight-card li p, .analysis-insight-card > p), body[data-clinic-theme="dark"] :is(.analysis-insight-item-text, .analysis-insight-card li > p, .analysis-insight-card li p, .analysis-insight-card > p), .clinic-theme-scope[data-clinic-theme="dark"] :is(.analysis-insight-item-text, .analysis-insight-card li > p, .analysis-insight-card li p, .analysis-insight-card > p) {
  color: #f1f5f9 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-analysis-page .analysis-topic-profile, html[data-clinic-theme="dark"] .clinic-analysis-page .analysis-topic-profile, .clinic-theme-scope[data-clinic-theme="dark"] .clinic-analysis-page .clinic-capture-gallery, html[data-clinic-theme="dark"] .clinic-analysis-page .clinic-capture-gallery {
  background: #0f172a !important;
  border-color: #334155d9 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-analysis-page .clinic-capture-gallery figure, html[data-clinic-theme="dark"] .clinic-analysis-page .clinic-capture-gallery figure {
  background: #1e293b !important;
  border-color: #334155d9 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-gallery-figcaption, html[data-clinic-theme="dark"] .clinic-gallery-figcaption {
  background: #1e293b !important;
  border-top: 1px solid #334155cc !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-gallery-title, html[data-clinic-theme="dark"] .clinic-gallery-title {
  color: #f8fafc !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-gallery-meta, html[data-clinic-theme="dark"] .clinic-gallery-meta {
  color: #94a3b8 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-gallery-light, html[data-clinic-theme="dark"] .clinic-gallery-light {
  color: #d066ef !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-trend-changes-summary, html[data-clinic-theme="dark"] .clinic-trend-changes-summary, body[data-clinic-theme="dark"] .clinic-trend-changes-summary {
  background: #0f172a !important;
  border-color: #334155d9 !important;
  box-shadow: 0 12px 36px #00000059 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-trend-changes-summary > header, html[data-clinic-theme="dark"] .clinic-trend-changes-summary > header {
  border-bottom-color: #334155d9 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-trend-changes-summary > header h2, html[data-clinic-theme="dark"] .clinic-trend-changes-summary > header h2 {
  color: #f8fafc !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-trend-changes-summary > header p, html[data-clinic-theme="dark"] .clinic-trend-changes-summary > header p {
  color: #94a3b8 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-trend-change-group.is-improved, html[data-clinic-theme="dark"] .clinic-trend-change-group.is-improved {
  background: linear-gradient(145deg, #10b9811f, #064e3b40) !important;
  border: 1px solid #34d39959 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-trend-change-group.is-worsened, html[data-clinic-theme="dark"] .clinic-trend-change-group.is-worsened {
  background: linear-gradient(145deg, #ef44441f, #7f1d1d40) !important;
  border: 1px solid #f8717159 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-trend-change-group.is-stable, html[data-clinic-theme="dark"] .clinic-trend-change-group.is-stable {
  background: linear-gradient(145deg, #33415566, #1e293b99) !important;
  border: 1px solid #47556980 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-trend-change-group.is-improved h3, html[data-clinic-theme="dark"] .clinic-trend-change-group.is-improved h3 {
  color: #4ade80 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-trend-change-group.is-worsened h3, html[data-clinic-theme="dark"] .clinic-trend-change-group.is-worsened h3 {
  color: #f87171 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-trend-change-group.is-stable h3, html[data-clinic-theme="dark"] .clinic-trend-change-group.is-stable h3 {
  color: #94a3b8 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-trend-change-group.is-improved h3 > span, html[data-clinic-theme="dark"] .clinic-trend-change-group.is-improved h3 > span {
  color: #4ade80 !important;
  background: #10b98133 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-trend-change-group.is-worsened h3 > span, html[data-clinic-theme="dark"] .clinic-trend-change-group.is-worsened h3 > span {
  color: #f87171 !important;
  background: #ef444433 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-trend-change-group.is-stable h3 > span, html[data-clinic-theme="dark"] .clinic-trend-change-group.is-stable h3 > span {
  color: #94a3b8 !important;
  background: #94a3b833 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-trend-change-item, html[data-clinic-theme="dark"] .clinic-trend-change-item {
  background: #0f172abf !important;
  border: 1px solid #33415599 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-trend-change-item > span, html[data-clinic-theme="dark"] .clinic-trend-change-item > span {
  color: #e2e8f0 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-trend-change-item > b, html[data-clinic-theme="dark"] .clinic-trend-change-item > b {
  color: #f8fafc !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-trend-change-sessions, html[data-clinic-theme="dark"] .clinic-trend-change-sessions {
  color: #d066ef !important;
  background: #d066ef1f !important;
  border-color: #d066ef4d !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-analysis-page :is(.analysis-record-topbar, .analysis-record-notice, .analysis-section-workspace, .analysis-category-stage, .analysis-visual-stage, .analysis-text-stage, .clinic-capture-gallery) {
  border-color: var(--surface-border);
  color: var(--ink);
  background: var(--surface-bg);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-analysis-page :is(.analysis-record-brand, .analysis-record-summary h1, .analysis-record-session-select select, .analysis-narrative-card h3, .analysis-insight-card h3) {
  color: var(--ink);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-analysis-page :is(.analysis-record-session-select > span, .analysis-record-session-select small, .analysis-record-score > span, .analysis-record-score > small, .analysis-narrative-card > p, .analysis-insight-card li > p, .analysis-insight-card > p) {
  color: var(--muted);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.analysis-loading-card, .analysis-failure-card, .analysis-results-hero, .analysis-embedded-state, .analysis-section, .analysis-feature-card, .analysis-feature-chart, .analysis-chart-summary-card, .analysis-narrative-card, .analysis-chart-card, .analysis-evidence-card, .analysis-insight-card, .analysis-record-loading, .analysis-section-workspace, .analysis-unavailable-chart, .analysis-feature-evidence, .analysis-topic-breakdown, .analysis-topic-breakdown article, .analysis-damage-scale, [class~="product-recommendations"], .product-recommendation-card, .product-alternatives-modal) {
  border-color: var(--surface-border);
  color: var(--ink);
  background: var(--surface-bg);
  box-shadow: var(--shadow-sm);
  -webkit-backdrop-filter: blur(22px) saturate(1.1);
  backdrop-filter: blur(22px) saturate(1.1);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.analysis-tab-rail, .analysis-score-ring, .analysis-hero-kpis > article, .analysis-category-plot article, .analysis-topic-breakdown article > div, .clinical-radar-legend span, .clinical-radar-legend small, [class~="product-recommendations"] > header > aside, .product-recommendation-focus span, .product-recommendation-actions > button) {
  border-color: var(--surface-border);
  color: var(--ink-soft);
  background: var(--surface-muted);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is([class~="analysis-section-header"], .analysis-tab-navigation, .analysis-category-stage, .analysis-text-stage, .analysis-visual-stage, .analysis-bars) {
  border-color: var(--surface-border);
  color: var(--ink-soft);
  background: #0f172a;
}

.clinic-theme-scope[data-clinic-theme="dark"] .analysis-tab-rail button.active {
  color: var(--ink);
  background: rgba(var(--brand-rgb),.14);
  box-shadow: inset 3px 0 0 var(--brand);
}

.clinic-theme-scope[data-clinic-theme="dark"] .analysis-score-ring > div {
  background: radial-gradient(circle closest-side,#102332 77%,transparent 79% 100%),conic-gradient(var(--brand) calc(var(--score)*1%),#96bed629 0);
}

.clinic-theme-scope[data-clinic-theme="dark"] .analysis-score-ring.damage-good > div {
  background: radial-gradient(circle closest-side,#102332 77%,transparent 79% 100%),conic-gradient(var(--success) calc(var(--score)*1%),#96bed629 0);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.analysis-category-plot, .analysis-topic-breakdown article > div, .analysis-damage-scale > div) {
  background: #94bfd81f;
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.clinical-radar-grid, .clinical-radar-spoke, .clinical-radar-leader, .analysis-overview-radar .grid, .analysis-overview-radar line) {
  stroke: #8fbbd640;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-surface {
  fill: #0b1f2d;
  stroke: #7fc4eb29;
  filter: drop-shadow(0 20px 34px #0000003d);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-grid {
  fill: rgba(var(--brand-rgb),.025);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-axis-label {
  fill: #f8fafc !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-axis:hover .clinical-radar-axis-label, .clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-axis.is-hovered .clinical-radar-axis-label {
  fill: #d066ef !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-axis-score-bg {
  fill: #0f273d !important;
  stroke: #7c1695 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-axis-score-bg.is-alert {
  fill: #450a0a !important;
  stroke: #ef4444 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-axis:hover .clinical-radar-axis-score-bg, .clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-axis.is-hovered .clinical-radar-axis-score-bg {
  fill: #16384b !important;
  stroke: #d066ef !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-axis-score {
  fill: #d066ef !important;
  font-weight: 800 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-axis-score.is-alert {
  fill: #fca5a5 !important;
  font-weight: 800 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-tier-tag-bg {
  fill: #1e293b !important;
  stroke: #334155 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-tier-tag-text {
  fill: #94a3b8 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .c-radar-alert-pill-bg {
  fill: #450a0a !important;
  stroke: #ef4444 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .c-radar-alert-pill-text {
  fill: #fca5a5 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .c-radar-center-hub-bg {
  fill: #0c1c2a !important;
  stroke: #7c1695 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-label-card {
  fill: #102a3a;
  stroke: #7fc4eb2e;
  filter: drop-shadow(0 9px 17px #00000038);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-axis:hover .clinical-radar-label-card, .clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-axis:focus .clinical-radar-label-card {
  fill: #16384b;
  stroke: rgba(var(--brand-rgb),.5);
  filter: drop-shadow(0 12px 24px rgba(var(--brand-rgb),.14));
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.clinical-radar-axis-name, .clinical-radar-axis-value, .clinical-radar-axis-comparison, .analysis-overview-radar text) {
  fill: var(--ink-soft);
  color: var(--ink-soft);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-axis-name {
  fill: #d9edf7;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-axis-value {
  fill: #72c8f4;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-axis-comparison .is-primary {
  fill: #a8bdc9;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-axis-comparison .is-arrow {
  fill: #6f8999;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-axis-comparison .is-secondary {
  fill: #65d0af;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-axis.is-worse .clinical-radar-axis-comparison .is-secondary {
  fill: #ff8da0;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-point {
  fill: #102332;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-center {
  stroke: #102332;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar.is-comparison .clinical-radar-dataset.is-primary .clinical-radar-point {
  fill: #102332;
  stroke: #9eb3c0;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-legend span, .clinic-theme-scope[data-clinic-theme="dark"] .clinical-radar-legend small {
  color: var(--ink-soft);
  box-shadow: var(--shadow-xs);
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendations {
  background: linear-gradient(135deg,#0c1d29f5,#081723e6 62%,rgba(var(--brand-rgb),.1));
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendations:before {
  background: radial-gradient(circle,rgba(var(--brand-rgb),.16),transparent 67%);
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendations > header > div {
  background: none;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendations > header > div > span {
  color: var(--brand);
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendations > header h2 {
  color: var(--ink);
  background: none;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendations > header p {
  color: var(--muted);
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendations > header > aside {
  border-color: rgba(var(--brand-rgb),.22);
  color: var(--ink);
  background: #0b1f2ce6;
  box-shadow: inset 0 1px #ffffff09, 0 10px 24px #0000002e;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendations > header > aside > small {
  color: var(--muted);
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendation-card {
  background: linear-gradient(160deg, #102736f5, #091b27f0);
  border-color: #7ec0e52b;
  box-shadow: inset 0 1px #ffffff06, 0 14px 32px #0003;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendation-card:hover {
  border-color: rgba(var(--brand-rgb),.4);
  box-shadow: inset 0 1px 0 #ffffff09,0 18px 40px #0000003d,0 0 24px rgba(var(--brand-rgb),.08);
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendation-image {
  border-color: var(--surface-border);
  background: linear-gradient(145deg, #102838, #091a27);
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendation-image img {
  background: none;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendation-focus small {
  color: var(--muted);
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendation-focus span {
  border-color: rgba(var(--brand-rgb),.2);
  color: #bfe8ff;
  background: rgba(var(--brand-rgb),.12);
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendation-body h3 {
  color: var(--ink);
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendation-actions > a {
  color: #fff;
  background: linear-gradient(125deg,#2776ad,var(--brand-hover));
  box-shadow: 0 10px 24px rgba(var(--brand-rgb),.2);
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendation-actions > a strong {
  color: #fff;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendation-actions > a small {
  color: #fffc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendation-actions > button:hover {
  border-color: rgba(var(--brand-rgb),.38);
  color: var(--ink);
  background: rgba(var(--brand-rgb),.14);
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendation-actions > button i {
  color: #bfe8ff;
  background: rgba(var(--brand-rgb),.16);
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendations > footer {
  border-color: var(--line);
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendations > footer > span {
  color: #bfe8ff;
  background: rgba(var(--brand-rgb),.14);
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendations > footer p {
  color: var(--muted);
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-alternatives-backdrop {
  background: #01070cc2;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-alternatives-modal > header {
  border-color: var(--line);
  background: linear-gradient(#0d202e 82%, #0d202e00);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.clinic-camera-dock, .clinic-camera-empty, .clinic-camera-message, .clinic-camera-select, .clinic-camera-utilities, .clinic-capture-guide, .clinic-capture-layout, .clinic-photo-guide, .clinic-photo-target, .clinic-quality, .clinic-complete-shell, .clinic-complete-summary, .clinic-workflow-complete, .clinic-intake-readiness, .clinic-patient-delivery, .clinic-patient-info-grid, .clinic-record-summary, .clinic-record-quick-facts, .clinic-trend-overview, .clinic-trend-primary-chart, .clinic-trend-radar-card, .clinic-trend-comparison-card, .clinic-trend-metric-card, .clinic-review-step-grid, .clinic-analysis-choice, .clinic-chart-help-dialog, .clinic-patient-info-modal, .clinic-settings-notice, .clinic-settings-danger) {
  border-color: var(--surface-border);
  color: var(--ink-soft);
  background: var(--surface-bg);
  box-shadow: var(--shadow-sm);
  -webkit-backdrop-filter: blur(22px) saturate(1.1);
  backdrop-filter: blur(22px) saturate(1.1);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.clinic-record-meta, .clinic-session-strip, .clinic-session-number, .clinic-review-badge, .clinic-analysis-score, .clinic-metric-progress, .clinic-step-dots, .clinic-inline-check, .clinic-patient-link-notice, .clinic-light-instruction, .clinic-light-confirm, .clinic-data-actions, .clinic-device-actions, .clinic-capture-footer, .ticket-index-item, .ticket-status) {
  border-color: var(--surface-border);
  color: var(--ink-soft);
  background: var(--surface-muted);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.clinic-record-back, .clinic-complete-back, .clinic-patient-info-trigger, .clinic-patient-link-trigger, .clinic-chart-help-close) {
  border-color: var(--surface-border);
  color: var(--ink-soft);
  box-shadow: var(--shadow-xs);
  background: #0b1d29e6;
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.clinic-record-back, .clinic-complete-back):hover {
  color: #d066ef;
  background: #a855f726;
  border-color: #d066ef73;
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.clinic-record-error, .clinic-settings-danger) {
  color: var(--danger);
  background: var(--danger-soft);
  border-color: #ff748e33;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-subscription-ring:before {
  background: #0d2230;
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.clinic-guide-visual, .clinic-light-orb, .clinic-shutter-area) {
  border-color: var(--surface-border);
  background: #06131deb;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-patient-info-backdrop {
  -webkit-backdrop-filter: blur(16px) saturate(.9);
  backdrop-filter: blur(16px) saturate(.9);
  background: #01070cbd;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-patient-info-modal {
  color: var(--ink);
  background: linear-gradient(145deg, #0d1f2cfa, #071520fa);
  border-color: #7ec0e52e;
  box-shadow: 0 34px 90px #0000007a, inset 0 1px #ffffff09;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-patient-info-modal > header {
  border-color: var(--line);
  -webkit-backdrop-filter: blur(22px) saturate(1.08);
  backdrop-filter: blur(22px) saturate(1.08);
  background: #0a1b27f0;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-patient-info-modal > header span {
  color: var(--muted);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-patient-info-modal > header h2 {
  color: var(--ink);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-patient-info-modal > header button {
  border-color: rgba(var(--brand-rgb),.28);
  color: #bfe8ff;
  background: rgba(var(--brand-rgb),.12);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-patient-info-modal > header button:hover {
  border-color: rgba(var(--brand-rgb),.48);
  color: #fff;
  background: rgba(var(--brand-rgb),.2);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-patient-info-grid {
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  background: none;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-patient-info-grid article {
  border-color: var(--surface-border);
  background: var(--surface-muted);
  box-shadow: inset 0 1px #ffffff06;
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-patient-info-grid span {
  color: var(--muted);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-patient-info-grid strong {
  color: var(--ink-soft);
}

.clinic-theme-scope[data-clinic-theme="dark"] .clinic-patient-info-modal > footer {
  border-top: 1px solid var(--line);
  background: #071520b8;
  padding-top: 18px;
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.admin-modal, .admin-issue-modal, .localized-calendar, .clinic-modal, .clinic-confirm-modal) {
  border-color: var(--surface-border);
  color: var(--ink);
  box-shadow: var(--shadow-lg);
  background: linear-gradient(145deg, #0e202dfa, #081722fa);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.localized-calendar-header, .localized-calendar-weekdays, .localized-calendar > footer) {
  border-color: var(--line);
  background: none;
}

.clinic-theme-scope[data-clinic-theme="dark"] .localized-calendar-days button {
  color: var(--ink-soft);
  background: none;
}

.clinic-theme-scope[data-clinic-theme="dark"] .localized-calendar-days button:hover {
  background: rgba(var(--brand-rgb),.1);
}

.clinic-theme-scope[data-clinic-theme="dark"] :is(.admin-modal-backdrop, .localized-calendar-backdrop, .clinic-modal-backdrop) {
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #01070cb8;
}

@keyframes clinic-dark-ambient {
  0% {
    background-position: 0 0, 100% 100%, 0 0;
  }

  100% {
    background-position: 12% 8%, 86% 90%, 0 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .clinic-theme-scope[data-clinic-theme="dark"] {
    animation: none;
  }
}

/* [project]/apps/web/src/app/product-recommendations.css [app-client] (css) */
.product-recommendations {
  -webkit-backdrop-filter: blur(16px);
  background: linear-gradient(145deg, #fffffffa, #f8fafceb);
  border: 1px solid #e2e8f0f2;
  border-radius: 24px;
  flex-direction: column;
  gap: 20px;
  margin-top: 28px;
  padding: 24px 28px;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 32px -6px #0f172a0a, 0 2px 6px #0f172a05;
}

.product-recommendations:before {
  content: "";
  top: 0;
  pointer-events: none;
  background: radial-gradient(circle, #7c16950f 0%, #0000 70%);
  border-radius: 50%;
  width: 220px;
  height: 220px;
  position: absolute;
  inset-inline-end: 0;
  transform: translate(25%, -25%);
}

.product-recommendations-header {
  z-index: 1;
  border-bottom: 1px solid #e2e8f0cc;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  padding-bottom: 18px;
  display: flex;
  position: relative;
}

.product-recommendations-meta {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.product-section-eyebrow {
  color: #7c1695;
  letter-spacing: -.01em;
  background: #7c169514;
  border: 1px solid #7c169533;
  border-radius: 9999px;
  align-items: center;
  gap: 6px;
  width: fit-content;
  padding: 3px 10px;
  font-size: 11.5px;
  font-weight: 700;
  display: inline-flex;
}

.product-section-sparkle {
  color: #7c1695;
  font-size: 11px;
}

.product-recommendations-title {
  color: var(--ink, #0f172a);
  letter-spacing: -.02em;
  margin: 0;
  font-size: 19px;
  font-weight: 800;
  line-height: 1.35;
}

.product-recommendations-hint {
  color: var(--muted, #64748b);
  max-width: 680px;
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
}

.product-section-counter {
  background: #fff;
  border: 1px solid #7c169533;
  border-radius: 14px;
  flex-shrink: 0;
  align-items: center;
  gap: 7px;
  padding: 6px 14px;
  display: inline-flex;
  box-shadow: 0 2px 8px #7c16950d;
}

.product-counter-badge {
  color: #fff;
  background: linear-gradient(135deg, #7c1695, #5c0f71);
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  min-width: 24px;
  height: 24px;
  padding: 0 5px;
  font-size: 13px;
  font-weight: 800;
  display: inline-flex;
}

.product-section-counter small {
  color: var(--ink, #1e293b);
  font-size: 12px;
  font-weight: 700;
}

.product-recommendation-grid {
  z-index: 1;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: stretch;
  gap: 16px;
  display: grid;
  position: relative;
}

.product-recommendation-card {
  background: #fff;
  border: 1px solid #e2e8f0e6;
  border-radius: 18px;
  flex-direction: column;
  height: 100%;
  transition: transform .25s cubic-bezier(.16, 1, .3, 1), box-shadow .25s cubic-bezier(.16, 1, .3, 1), border-color .25s;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 3px 12px -2px #0f172a08, 0 1px 2px #0f172a05;
}

.product-recommendation-card:hover {
  border-color: #7c169561;
  transform: translateY(-4px);
  box-shadow: 0 12px 28px -4px #0f172a14, 0 4px 12px -2px #7c169514;
}

.product-recommendation-card[data-essential="true"] {
  border-color: #f59e0b73;
  box-shadow: 0 3px 16px -2px #f59e0b24, 0 1px 3px #0f172a08;
}

.product-recommendation-card[data-essential="true"]:hover {
  border-color: #f59e0bbf;
  transform: translateY(-5px);
  box-shadow: 0 14px 34px -4px #f59e0b38, 0 4px 14px -2px #f59e0b14;
}

.product-essential-badge {
  top: 8px;
  z-index: 5;
  color: #fff;
  letter-spacing: .01em;
  -webkit-user-select: none;
  user-select: none;
  background: linear-gradient(135deg, #d97706, #b45309);
  border-radius: 9999px;
  align-items: center;
  gap: 4px;
  padding: 3.5px 8px;
  font-size: 10px;
  font-weight: 800;
  display: inline-flex;
  position: absolute;
  inset-inline-start: 8px;
  box-shadow: 0 3px 10px #d9770659;
}

.product-essential-badge__pulse {
  z-index: -1;
  background: #f59e0b80;
  border-radius: 9999px;
  animation: 2.2s cubic-bezier(0, 0, .2, 1) infinite product-essential-ping;
  position: absolute;
  inset: -2px;
}

@keyframes product-essential-ping {
  0% {
    opacity: .9;
    transform: scale(.85);
  }

  70%, 100% {
    opacity: 0;
    transform: scale(1.6);
  }
}

.product-essential-badge__icon {
  fill: currentColor;
  flex-shrink: 0;
  width: 11px;
  height: 11px;
}

.product-recommendation-image {
  background: radial-gradient(circle, #fff 40%, #f8fafc 100%);
  border-bottom: 1px solid #e2e8f0d9;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 168px;
  padding: 8px 10px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.product-image-container {
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
}

.product-image {
  object-fit: contain;
  object-position: center;
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  transition: transform .32s cubic-bezier(.16, 1, .3, 1);
  display: block;
}

.product-recommendation-card:hover .product-image {
  transform: scale(1.05);
}

.product-placeholder-wrap {
  opacity: .4;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  display: flex;
}

.product-recommendation-body {
  flex-direction: column;
  flex-grow: 1;
  gap: 8px;
  padding: 12px 14px 14px;
  display: flex;
}

.product-recommendation-focus {
  flex-direction: column;
  gap: 3px;
  display: flex;
}

.product-focus-label {
  color: var(--muted, #64748b);
  font-size: 11px;
  font-weight: 600;
}

.product-tag-pill {
  color: #7c1695;
  white-space: nowrap;
  text-overflow: ellipsis;
  background: #7c169514;
  border: 1px solid #7c169533;
  border-radius: 8px;
  align-items: center;
  gap: 5px;
  width: fit-content;
  max-width: 100%;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 700;
  transition: all .2s;
  display: inline-flex;
  overflow: hidden;
}

.product-tag-pill[data-accent="priority"] {
  color: #b45309;
  background: #f59e0b1a;
  border-color: #f59e0b4d;
}

.product-tag-dot {
  background: currentColor;
  border-radius: 50%;
  flex-shrink: 0;
  width: 5px;
  height: 5px;
}

.product-card-title {
  color: var(--ink, #0f172a);
  -webkit-line-clamp: 2;
  text-overflow: ellipsis;
  word-break: break-word;
  -webkit-box-orient: vertical;
  min-height: 36px;
  max-height: 36px;
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  display: -webkit-box;
  overflow: hidden;
}

.product-recommendation-actions {
  flex-direction: column;
  gap: 6px;
  margin-top: auto;
  padding-top: 4px;
  display: flex;
}

.product-btn-primary {
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, #7c1695, #5c0f71);
  border-radius: 11px;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 8px 12px;
  text-decoration: none;
  transition: all .2s cubic-bezier(.16, 1, .3, 1);
  display: flex;
  box-shadow: 0 2px 8px #7c169533;
}

.product-btn-primary:hover {
  background: linear-gradient(135deg, #5c0f71, #075985);
  transform: translateY(-1px);
  box-shadow: 0 4px 14px #7c169552;
}

.product-btn-info {
  flex-direction: column;
  gap: 1px;
  display: flex;
  overflow: hidden;
}

.product-btn-info strong {
  color: #fff;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  overflow: hidden;
}

.product-btn-info small {
  color: #ffffffd9;
  white-space: nowrap;
  font-size: 10px;
  font-weight: 500;
}

.product-btn-arrow {
  stroke-width: 2.2px;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  transition: transform .2s;
}

.product-btn-primary:hover .product-btn-arrow {
  transform: translateX(-3px);
}

[dir="ltr"] .product-btn-primary:hover .product-btn-arrow {
  transform: translateX(3px);
}

.product-btn-secondary {
  color: #334155;
  cursor: pointer;
  background: #f1f5f9d9;
  border: 1px solid #e2e8f0e6;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 6px 10px;
  font-family: inherit;
  font-size: 11.5px;
  font-weight: 600;
  transition: all .2s;
  display: flex;
}

.product-btn-secondary:hover {
  color: #7c1695;
  background: #fff;
  border-color: #7c169559;
  box-shadow: 0 2px 6px #0f172a0a;
}

.product-btn-plus {
  color: currentColor;
  flex-shrink: 0;
  width: 12px;
  height: 12px;
}

.product-alternatives-backdrop {
  z-index: 9999;
  -webkit-backdrop-filter: blur(10px);
  background: #0f172a8c;
  justify-content: center;
  align-items: center;
  padding: 20px;
  animation: .25s cubic-bezier(.16, 1, .3, 1) forwards productModalBackdropFade;
  display: flex;
  position: fixed;
  inset: 0;
}

@keyframes productModalBackdropFade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.product-alternatives-modal {
  background: #fff;
  border: 1px solid #e2e8f0e6;
  border-radius: 24px;
  flex-direction: column;
  width: 100%;
  max-width: 860px;
  max-height: calc(100vh - 48px);
  animation: .35s cubic-bezier(.175, .885, .32, 1.15) forwards productModalSpringIn;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 25px 60px -12px #0f172a47, 0 8px 24px -4px #0f172a14;
}

@keyframes productModalSpringIn {
  0% {
    opacity: 0;
    transform: scale(.92)translateY(18px);
  }

  60% {
    opacity: 1;
    transform: scale(1.008)translateY(-2px);
  }

  100% {
    opacity: 1;
    transform: scale(1)translateY(0);
  }
}

.product-alternatives-header {
  background: linear-gradient(#fff 0%, #f8fafc 100%);
  border-bottom: 1px solid #e2e8f0d9;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 20px 24px;
  display: flex;
}

.product-alternatives-header > div {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.product-alternatives-tag {
  color: #7c1695;
  background: #7c169514;
  border: 1px solid #7c169533;
  border-radius: 9999px;
  width: fit-content;
  padding: 2.5px 9px;
  font-size: 11px;
  font-weight: 700;
  display: inline-flex;
}

.product-alternatives-header h3 {
  color: var(--ink, #0f172a);
  letter-spacing: -.01em;
  margin: 0;
  font-size: 17px;
  font-weight: 800;
}

.product-alternatives-header p {
  color: var(--muted, #64748b);
  margin: 0;
  font-size: 12.5px;
  line-height: 1.5;
}

.product-alternatives-close {
  width: 32px;
  height: 32px;
  color: var(--muted, #64748b);
  cursor: pointer;
  background: #fff;
  border: 1px solid #e2e8f0e6;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  transition: all .25s cubic-bezier(.16, 1, .3, 1);
  display: flex;
}

.product-alternatives-close svg {
  width: 16px;
  height: 16px;
}

.product-alternatives-close:hover {
  color: #ef4444;
  background: #ef444414;
  border-color: #ef44444d;
  transform: rotate(90deg)scale(1.06);
}

.product-alternatives-grid {
  background: #fafbfc;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 14px;
  max-height: calc(82vh - 110px);
  padding: 20px 24px;
  display: grid;
  overflow-y: auto;
}

.product-alternatives-grid::-webkit-scrollbar {
  width: 6px;
}

.product-alternatives-grid::-webkit-scrollbar-track {
  background: none;
}

.product-alternatives-grid::-webkit-scrollbar-thumb {
  background: #cbd5e1cc;
  border-radius: 3px;
}

.product-alternatives-grid::-webkit-scrollbar-thumb:hover {
  background: #94a3b8e6;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendations {
  background: linear-gradient(145deg, #0f172aeb, #0b1d29f2);
  border-color: #334155b3;
  box-shadow: 0 10px 40px #0006;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendations:before {
  background: radial-gradient(circle, #d066ef1a 0%, #0000 70%);
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendations-header {
  border-bottom-color: #33415599;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-section-eyebrow {
  color: #d066ef;
  background: #d066ef1f;
  border-color: #d066ef4d;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-section-sparkle {
  color: #d066ef;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendations-title {
  color: #f8fafc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendations-hint {
  color: #94a3b8;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-section-counter {
  background: #1e293bd9;
  border-color: #d066ef4d;
  box-shadow: 0 2px 10px #00000040;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-section-counter small {
  color: #e2e8f0;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendation-card {
  background: #0f172ae0;
  border-color: #334155b3;
  box-shadow: 0 4px 16px #0000004d;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendation-card:hover {
  border-color: #d066ef73;
  box-shadow: 0 16px 36px -6px #00000080, 0 0 24px #d066ef1a;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendation-card[data-essential="true"] {
  border-color: #f59e0b99;
  box-shadow: 0 4px 20px -2px #f59e0b2e, 0 0 16px #f59e0b14;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendation-card[data-essential="true"]:hover {
  border-color: #f59e0be6;
  box-shadow: 0 18px 42px -6px #f59e0b4d, 0 0 24px #f59e0b29;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-recommendation-image {
  background: radial-gradient(circle, #1e293b 40%, #0f172a 100%);
  border-bottom-color: #33415599;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-focus-label {
  color: #94a3b8;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-tag-pill {
  color: #d066ef;
  background: #d066ef1f;
  border-color: #d066ef4d;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-tag-pill[data-accent="priority"] {
  color: #fbbf24;
  background: #f59e0b26;
  border-color: #f59e0b66;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-card-title {
  color: #f8fafc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-btn-secondary {
  color: #cbd5e1;
  background: #1e293bb3;
  border-color: #334155cc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-btn-secondary:hover {
  color: #d066ef;
  background: #1e293bf2;
  border-color: #d066ef66;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-alternatives-modal {
  background: #0f172a;
  border-color: #334155cc;
  box-shadow: 0 25px 70px -12px #000000b3;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-alternatives-header {
  background: #1e293b99;
  border-bottom-color: #334155b3;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-alternatives-header h3 {
  color: #f8fafc;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-alternatives-header p {
  color: #94a3b8;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-alternatives-close {
  color: #94a3b8;
  background: #1e293b;
  border-color: #334155;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-alternatives-close:hover {
  color: #f8fafc;
  background: #334155;
}

.clinic-theme-scope[data-clinic-theme="dark"] .product-alternatives-grid {
  background: #0b1329;
}

@media (max-width: 1180px) {
  .product-recommendation-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
  }
}

@media (max-width: 920px) {
  .product-recommendation-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
  }

  .product-recommendations {
    border-radius: 20px;
    padding: 20px;
  }

  .product-recommendations-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
}

@media (max-width: 680px) {
  .product-recommendation-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .product-recommendation-image {
    height: 155px;
    padding: 8px;
  }

  .product-recommendation-body {
    padding: 10px 12px 12px;
  }

  .product-card-title {
    min-height: 34px;
    max-height: 34px;
    font-size: 12px;
  }
}

@media (max-width: 480px) {
  .product-recommendation-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .product-recommendations {
    border-radius: 18px;
    margin-top: 20px;
    padding: 16px;
  }

  .product-recommendation-image {
    height: 185px;
    padding: 10px;
  }

  .product-alternatives-modal {
    border-radius: 18px;
  }

  .product-alternatives-header {
    padding: 16px 18px;
  }

  .product-alternatives-grid {
    grid-template-columns: 1fr;
    padding: 14px 16px;
  }
}

/* [project]/apps/web/src/app/session-picker.css [app-client] (css) */
@keyframes session-picker-fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes session-picker-slide-up {
  from {
    opacity: 0;
    transform: translateY(24px)scale(.97);
  }

  to {
    opacity: 1;
    transform: translateY(0)scale(1);
  }
}

.session-picker-backdrop {
  -webkit-backdrop-filter: blur(4px);
  z-index: 9999;
  background-color: #0006;
  place-items: center;
  padding: 16px;
  animation: .2s ease-out session-picker-fade-in;
  display: grid;
  position: fixed;
  inset: 0;
}

.session-picker-dialog {
  background-color: var(--surface-bg, #fff);
  border-radius: 28px;
  flex-direction: column;
  width: 100%;
  max-width: 880px;
  max-height: 85vh;
  animation: .3s cubic-bezier(.16, 1, .3, 1) session-picker-slide-up;
  display: flex;
  overflow: hidden;
  box-shadow: 0 24px 48px #0000001f, 0 8px 16px #00000014;
}

.session-picker-dialog > header {
  border-bottom: 1px solid var(--line, #e2e8f0);
  background: linear-gradient(to bottom, rgba(var(--brand-rgb, 124, 22, 149), .03), transparent);
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 24px 32px;
  display: flex;
}

.session-picker-dialog > header > div {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.session-picker-dialog > header h2 {
  color: var(--ink, #1e293b);
  margin: 0;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.2;
}

.session-picker-dialog > header p {
  color: var(--muted, #64748b);
  margin: 0;
  font-size: 14px;
}

.session-picker-dialog > header button.close-btn {
  width: 32px;
  height: 32px;
  color: var(--muted, #64748b);
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  margin: -4px;
  font-size: 20px;
  transition: all .2s;
  display: grid;
}

.session-picker-dialog > header button.close-btn:hover {
  background-color: var(--surface-bg, #f1f5f9);
  color: var(--ink, #1e293b);
}

.session-picker-columns {
  flex: 1;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  min-height: 0;
  padding: 24px 32px;
  display: grid;
  overflow-y: auto;
}

.session-picker-column, .session-picker-list {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.session-picker-column > label {
  color: var(--brand, #7c1695);
  border-bottom: 1px solid var(--line, #e2e8f0);
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
  padding-bottom: 12px;
  font-size: 14px;
  font-weight: 700;
  display: flex;
}

.session-picker-column > label:before {
  content: "";
  background-color: var(--brand, #7c1695);
  border-radius: 50%;
  width: 6px;
  height: 6px;
  display: block;
}

.session-picker-card {
  background-color: var(--surface-bg, #fff);
  cursor: pointer;
  text-align: start;
  border: 1.5px solid #0000;
  border-radius: 16px;
  flex-direction: row;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  transition: all .2s ease-out;
  display: flex;
  box-shadow: 0 2px 4px #00000005;
}

.session-picker-card:hover:not(.disabled) {
  border-color: var(--surface-border, #e2e8f0);
  box-shadow: var(--shadow-sm, 0 4px 6px -1px #0000000d);
  transform: translateY(-2px);
}

.session-picker-card.active {
  border-color: var(--brand, #7c1695);
  background: linear-gradient(to right, rgba(var(--brand-rgb, 124, 22, 149), .05), transparent);
  box-shadow: 0 0 0 3px rgba(var(--brand-rgb, 124, 22, 149), .15), var(--shadow-sm, 0 4px 6px -1px #0000000d);
}

.session-picker-card.disabled {
  opacity: .6;
  pointer-events: none;
  background-color: #f8fafc;
  border-color: #0000;
}

.session-picker-card > .session-picker-visit {
  background: linear-gradient(135deg, var(--brand, #7c1695), rgba(var(--brand-rgb, 124, 22, 149), .7));
  color: #fff;
  width: 44px;
  height: 44px;
  box-shadow: 0 4px 10px rgba(var(--brand-rgb, 124, 22, 149), .3);
  border-radius: 14px;
  flex-shrink: 0;
  place-items: center;
  font-size: 16px;
  font-weight: 800;
  display: grid;
}

.session-picker-card > .session-picker-info {
  flex-direction: column;
  flex: 1;
  gap: 2px;
  min-width: 0;
  display: flex;
}

.session-picker-card > .session-picker-info strong {
  color: var(--ink, #1e293b);
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 15px;
  font-weight: 600;
  overflow: hidden;
}

.session-picker-card > .session-picker-info small {
  color: var(--muted, #64748b);
  font-size: 13px;
}

.session-picker-card > .session-picker-info span {
  color: var(--muted, #64748b);
  margin-top: 2px;
  font-size: 12px;
}

.session-picker-card > .session-picker-status {
  background-color: var(--surface-bg, #f1f5f9);
  width: 28px;
  height: 28px;
  color: var(--muted, #64748b);
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  display: grid;
}

.session-picker-card > .session-picker-status.analyzed {
  background-color: rgba(var(--success-rgb, 34, 197, 94), .1);
  color: var(--success, #22c55e);
}

.session-picker-card > .session-picker-score {
  background-color: var(--surface-bg, #f1f5f9);
  border-radius: 10px;
  padding: 4px 8px;
  font-size: 13px;
  font-weight: 700;
}

.session-picker-card > .session-picker-score.good {
  background-color: rgba(var(--success-rgb, 34, 197, 94), .1);
  color: var(--success, #22c55e);
}

.session-picker-card > .session-picker-score.warning {
  color: #f59e0b;
  background-color: #f59e0b1a;
}

.session-picker-card > .session-picker-score.danger {
  color: #ef4444;
  background-color: #ef44441a;
}

.session-picker-footer {
  border-top: 1px solid var(--line, #e2e8f0);
  background-color: #00000005;
  justify-content: space-between;
  align-items: center;
  padding: 20px 32px 28px;
  display: flex;
}

.session-picker-hint {
  color: var(--muted, #64748b);
  max-width: 60%;
  font-size: 13px;
}

.session-picker-start {
  background: linear-gradient(135deg, var(--brand, #7c1695), rgba(var(--brand-rgb, 124, 22, 149), .8));
  color: #fff;
  cursor: pointer;
  box-shadow: 0 8px 16px -4px rgba(var(--brand-rgb, 124, 22, 149), .4);
  border: none;
  border-radius: 16px;
  align-items: center;
  gap: 8px;
  padding: 14px 32px;
  font-size: 15px;
  font-weight: 700;
  transition: all .2s;
  display: flex;
}

.session-picker-start:hover:not(:disabled) {
  filter: brightness(.9);
  box-shadow: 0 12px 20px -4px rgba(var(--brand-rgb, 124, 22, 149), .5);
  transform: translateY(-1px);
}

.session-picker-start:disabled {
  background: var(--surface-border, #e2e8f0);
  color: var(--muted, #64748b);
  box-shadow: none;
  cursor: not-allowed;
  pointer-events: none;
}

.clinic-theme-scope[data-clinic-theme="dark"] .session-picker-dialog, html[data-clinic-theme="dark"] .session-picker-dialog, body[data-clinic-theme="dark"] .session-picker-dialog {
  background-color: #0f172a !important;
  border: 1px solid #d066ef40 !important;
  box-shadow: 0 25px 50px #000000b3, 0 0 35px #d066ef1a !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .session-picker-dialog > header, html[data-clinic-theme="dark"] .session-picker-dialog > header, body[data-clinic-theme="dark"] .session-picker-dialog > header {
  background: linear-gradient(#d066ef14, #0000) !important;
  border-bottom-color: #334155cc !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .session-picker-dialog > header h2, html[data-clinic-theme="dark"] .session-picker-dialog > header h2, body[data-clinic-theme="dark"] .session-picker-dialog > header h2 {
  color: #f8fafc !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .session-picker-dialog > header p, html[data-clinic-theme="dark"] .session-picker-dialog > header p, body[data-clinic-theme="dark"] .session-picker-dialog > header p, .clinic-theme-scope[data-clinic-theme="dark"] .session-picker-dialog > header button.close-btn, html[data-clinic-theme="dark"] .session-picker-dialog > header button.close-btn, body[data-clinic-theme="dark"] .session-picker-dialog > header button.close-btn {
  color: #94a3b8 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .session-picker-dialog > header button.close-btn:hover, html[data-clinic-theme="dark"] .session-picker-dialog > header button.close-btn:hover, body[data-clinic-theme="dark"] .session-picker-dialog > header button.close-btn:hover {
  color: #f8fafc !important;
  background-color: #1e293b !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .session-picker-column > label, html[data-clinic-theme="dark"] .session-picker-column > label, body[data-clinic-theme="dark"] .session-picker-column > label {
  color: #d066ef !important;
  border-bottom-color: #334155cc !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .session-picker-card, html[data-clinic-theme="dark"] .session-picker-card, body[data-clinic-theme="dark"] .session-picker-card {
  color: #f8fafc !important;
  background-color: #1e293b !important;
  border-color: #334155cc !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .session-picker-card:hover:not(.disabled), html[data-clinic-theme="dark"] .session-picker-card:hover:not(.disabled), body[data-clinic-theme="dark"] .session-picker-card:hover:not(.disabled) {
  background-color: #243447 !important;
  border-color: #d066ef80 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .session-picker-card.active, html[data-clinic-theme="dark"] .session-picker-card.active, body[data-clinic-theme="dark"] .session-picker-card.active {
  background: linear-gradient(135deg, #7c169540, #0f172af2) !important;
  border-color: #d066ef !important;
  box-shadow: 0 0 0 3px #d066ef40 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .session-picker-card.disabled, html[data-clinic-theme="dark"] .session-picker-card.disabled, body[data-clinic-theme="dark"] .session-picker-card.disabled {
  opacity: .45 !important;
  background-color: #0f172a !important;
  border-color: #33415566 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .session-picker-card > .session-picker-info strong, html[data-clinic-theme="dark"] .session-picker-card > .session-picker-info strong, body[data-clinic-theme="dark"] .session-picker-card > .session-picker-info strong {
  color: #f8fafc !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .session-picker-card > .session-picker-info small, html[data-clinic-theme="dark"] .session-picker-card > .session-picker-info small, body[data-clinic-theme="dark"] .session-picker-card > .session-picker-info small {
  color: #94a3b8 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .session-picker-card > .session-picker-info span, html[data-clinic-theme="dark"] .session-picker-card > .session-picker-info span, body[data-clinic-theme="dark"] .session-picker-card > .session-picker-info span {
  color: #cbd5e1 !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .session-picker-footer, html[data-clinic-theme="dark"] .session-picker-footer, body[data-clinic-theme="dark"] .session-picker-footer {
  background-color: #0b1521 !important;
  border-top-color: #334155cc !important;
}

.clinic-theme-scope[data-clinic-theme="dark"] .session-picker-hint, html[data-clinic-theme="dark"] .session-picker-hint, body[data-clinic-theme="dark"] .session-picker-hint {
  color: #94a3b8 !important;
}

@media (max-width: 700px) {
  .session-picker-columns {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 20px 24px;
  }

  .session-picker-dialog > header {
    padding: 24px 24px 16px;
  }

  .session-picker-footer {
    text-align: center;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    padding: 16px 24px 24px;
  }

  .session-picker-hint {
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  .session-picker-dialog {
    border-radius: 20px;
    max-height: 90vh;
  }

  .session-picker-backdrop {
    padding: 12px;
  }

  .session-picker-dialog > header h2 {
    font-size: 20px;
  }

  .session-picker-columns {
    padding: 16px;
  }
}

/* [project]/apps/web/src/app/clinical-pdf-report.css [app-client] (css) */
@media screen {
  .clinical-pdf-report {
    display: none !important;
  }
}

@media print {
  @page {
    size: A4 portrait;
    margin: 8mm;
  }

  html, body {
    color: #0f172a !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    background: #fff !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
  }

  .clinic-analysis-page > :not(.clinical-pdf-report), .patient-portal-page > :not(.clinical-pdf-report), .analysis-record-topbar, .analysis-record-hero, .analysis-hero-actions, .analysis-session-strip, .analysis-tab-navigation, .clinic-session-detail, .clinic-record-layout, .clinic-capture-gallery, .patient-portal-topbar, .patient-portal-hero, .patient-portal-tabs, .patient-portal-contact-strip, .patient-btn-print-top, .patient-portal-print-hero-btn, .patient-trend-back-btn, .patient-lightbox, .patient-scroll-hint, .clinic-patient-info-backdrop, .clinic-record-shell, .dashboard-shell, .c3d-container {
    display: none !important;
  }

  .clinical-pdf-report {
    direction: inherit;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 194mm !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: block !important;
  }

  .cpdf-page {
    box-sizing: border-box !important;
    background: #fff !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    overflow: hidden !important;
  }

  .cpdf-page-1 {
    page-break-after: always !important;
    break-after: page !important;
    height: 274mm !important;
    max-height: 274mm !important;
  }

  .cpdf-page-2 {
    page-break-after: auto !important;
    break-after: auto !important;
    min-height: 270mm !important;
  }

  .cpdf-card {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    box-sizing: border-box !important;
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    margin-bottom: 8px !important;
    padding: 8px 12px !important;
  }

  .cpdf-card-heading {
    border-bottom: 1px solid #f1f5f9 !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    margin-bottom: 6px !important;
    padding-bottom: 4px !important;
    display: flex !important;
  }

  .cpdf-card-kicker {
    letter-spacing: .08em !important;
    color: #7c1695 !important;
    text-transform: uppercase !important;
    font-size: 8px !important;
    font-weight: 700 !important;
  }

  .cpdf-card-title {
    color: #1e293b !important;
    margin: 0 !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
  }

  .cpdf-header {
    background: linear-gradient(135deg, #faf5ff 0%, #fff 100%) !important;
    border: 1.5px solid #e9d5ff !important;
    border-radius: 8px !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 8px !important;
    padding: 8px 12px !important;
    display: flex !important;
  }

  .cpdf-header-start {
    align-items: center !important;
    gap: 10px !important;
    display: flex !important;
  }

  .cpdf-brand-mark {
    color: #fff !important;
    background: #7c1695 !important;
    border-radius: 6px !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 4px 10px !important;
    display: flex !important;
  }

  .cpdf-logo-dot {
    background: #d8b4fe !important;
    border-radius: 50% !important;
    width: 6px !important;
    height: 6px !important;
  }

  .cpdf-brand-title {
    letter-spacing: .05em !important;
    font-size: 13px !important;
    font-weight: 800 !important;
  }

  .cpdf-header-subtitle-group {
    flex-direction: column !important;
    display: flex !important;
  }

  .cpdf-header-eyebrow {
    color: #7c1695 !important;
    font-size: 8.5px !important;
    font-weight: 600 !important;
  }

  .cpdf-header-title {
    color: #0f172a !important;
    margin: 0 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
  }

  .cpdf-header-end {
    text-align: end !important;
    align-items: center !important;
    gap: 12px !important;
    display: flex !important;
  }

  .cpdf-clinic-meta {
    flex-direction: column !important;
    display: flex !important;
  }

  .cpdf-clinic-name {
    color: #0f172a !important;
    font-size: 11px !important;
    font-weight: 700 !important;
  }

  .cpdf-clinic-phone {
    color: #64748b !important;
    font-size: 9px !important;
  }

  .cpdf-badge-official {
    color: #475569 !important;
    background: #f1f5f9 !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    padding: 3px 8px !important;
    font-size: 9px !important;
    font-weight: 700 !important;
  }

  .cpdf-patient-strip {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 6px !important;
    margin-bottom: 8px !important;
    padding: 6px 10px !important;
    display: grid !important;
  }

  .cpdf-strip-item {
    flex-direction: column !important;
    display: flex !important;
  }

  .cpdf-strip-label {
    color: #64748b !important;
    margin-bottom: 2px !important;
    font-size: 8px !important;
  }

  .cpdf-strip-value {
    color: #0f172a !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    overflow: hidden !important;
  }

  .cpdf-executive-grid {
    grid-template-columns: 1fr 1.25fr !important;
    gap: 8px !important;
    margin-bottom: 8px !important;
    display: grid !important;
  }

  .cpdf-score-card {
    flex-direction: column !important;
    justify-content: space-between !important;
    display: flex !important;
  }

  .cpdf-score-display {
    align-items: center !important;
    gap: 12px !important;
    padding: 4px 0 !important;
    display: flex !important;
  }

  .cpdf-score-ring {
    flex-shrink: 0 !important;
    width: 84px !important;
    height: 84px !important;
    position: relative !important;
  }

  .cpdf-score-svg {
    width: 100% !important;
    height: 100% !important;
    transform: rotate(-90deg) !important;
  }

  .cpdf-score-bg-ring {
    fill: none !important;
    stroke: #e2e8f0 !important;
    stroke-width: 8px !important;
  }

  .cpdf-score-fg-ring {
    fill: none !important;
    stroke-width: 8px !important;
    stroke-linecap: round !important;
  }

  .cpdf-score-card.is-good .cpdf-score-fg-ring {
    stroke: #10b981 !important;
  }

  .cpdf-score-card.is-attention .cpdf-score-fg-ring {
    stroke: #f59e0b !important;
  }

  .cpdf-score-card.is-high .cpdf-score-fg-ring {
    stroke: #f43f5e !important;
  }

  .cpdf-score-card.is-neutral .cpdf-score-fg-ring {
    stroke: #94a3b8 !important;
  }

  .cpdf-score-center {
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    display: flex !important;
    position: absolute !important;
    inset: 0 !important;
  }

  .cpdf-score-num {
    color: #0f172a !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
  }

  .cpdf-score-max {
    color: #64748b !important;
    font-size: 8px !important;
    font-weight: 600 !important;
  }

  .cpdf-score-verdict {
    flex-direction: column !important;
    gap: 4px !important;
    display: flex !important;
  }

  .cpdf-status-pill {
    border-radius: 99px !important;
    align-items: center !important;
    gap: 5px !important;
    width: fit-content !important;
    padding: 3px 8px !important;
    font-size: 9.5px !important;
    font-weight: 700 !important;
    display: inline-flex !important;
  }

  .cpdf-status-dot {
    border-radius: 50% !important;
    width: 6px !important;
    height: 6px !important;
  }

  .cpdf-status-pill.is-good {
    color: #065f46 !important;
    background: #ecfdf5 !important;
    border: 1px solid #a7f3d0 !important;
  }

  .cpdf-status-pill.is-good .cpdf-status-dot {
    background: #10b981 !important;
  }

  .cpdf-status-pill.is-attention {
    color: #92400e !important;
    background: #fffbeb !important;
    border: 1px solid #fde68a !important;
  }

  .cpdf-status-pill.is-attention .cpdf-status-dot {
    background: #f59e0b !important;
  }

  .cpdf-status-pill.is-high {
    color: #9f1239 !important;
    background: #fff1f2 !important;
    border: 1px solid #fecdd3 !important;
  }

  .cpdf-status-pill.is-high .cpdf-status-dot {
    background: #f43f5e !important;
  }

  .cpdf-status-pill.is-neutral {
    color: #475569 !important;
    background: #f8fafc !important;
    border: 1px solid #cbd5e1 !important;
  }

  .cpdf-verdict-desc {
    color: #475569 !important;
    margin: 0 !important;
    font-size: 8.5px !important;
    line-height: 1.4 !important;
  }

  .cpdf-radar-card {
    flex-direction: column !important;
    align-items: center !important;
    display: flex !important;
  }

  .cpdf-radar-wrapper {
    justify-content: center !important;
    width: 100% !important;
    max-width: 200px !important;
    display: flex !important;
  }

  .cpdf-radar-svg {
    width: 100% !important;
    height: 130px !important;
    overflow: visible !important;
  }

  .cpdf-radar-grid {
    fill: #f1f5f980 !important;
    stroke: #cbd5e1 !important;
    stroke-width: .8px !important;
  }

  .cpdf-radar-spoke {
    stroke: #cbd5e1 !important;
    stroke-width: .8px !important;
  }

  .cpdf-radar-polygon {
    fill: #7c169529 !important;
    stroke: #7c1695 !important;
    stroke-width: 2px !important;
    stroke-linejoin: round !important;
  }

  .cpdf-radar-point {
    fill: #fff !important;
    stroke: #7c1695 !important;
    stroke-width: 1.8px !important;
  }

  .cpdf-radar-axis-text {
    fill: #334155 !important;
    font-size: 8px !important;
    font-weight: 600 !important;
  }

  .cpdf-ai-grid {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    grid-template-columns: 1.1fr 1fr !important;
    gap: 8px !important;
    margin-bottom: 8px !important;
    display: grid !important;
  }

  .cpdf-ai-overview-card, .cpdf-ai-actions-card {
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    margin-bottom: 0 !important;
    padding: 7px 10px !important;
    display: flex !important;
  }

  .cpdf-ai-overview-card {
    background: linear-gradient(#faf5ff 0%, #fff 100%) !important;
    border-color: #e9d5ff !important;
  }

  .cpdf-ai-body {
    flex-direction: column !important;
    flex: 1 !important;
    justify-content: flex-start !important;
    display: flex !important;
  }

  .cpdf-ai-text {
    color: #334155 !important;
    text-align: justify !important;
    margin: 0 !important;
    font-size: 8.5px !important;
    line-height: 1.55 !important;
  }

  .cpdf-actions-count-pill {
    color: #7c1695 !important;
    white-space: nowrap !important;
    background: #f3e8ff !important;
    border: 1px solid #e9d5ff !important;
    border-radius: 10px !important;
    padding: 1px 6px !important;
    font-size: 7.5px !important;
    font-weight: 700 !important;
  }

  .cpdf-empty-text {
    color: #94a3b8 !important;
    margin: 0 !important;
    padding: 4px 0 !important;
    font-size: 8px !important;
    font-style: italic !important;
  }

  .cpdf-matrix-card {
    flex-direction: column !important;
    flex: 1 !important;
    display: flex !important;
  }

  .cpdf-matrix-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 4px 12px !important;
    display: grid !important;
  }

  .cpdf-matrix-item {
    background: #f8fafc !important;
    border: 1px solid #edf2f7 !important;
    border-radius: 4px !important;
    flex-direction: column !important;
    padding: 3.5px 6px !important;
    display: flex !important;
  }

  .cpdf-matrix-info {
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 2px !important;
    display: flex !important;
  }

  .cpdf-matrix-label {
    color: #1e293b !important;
    font-size: 8.5px !important;
    font-weight: 600 !important;
  }

  .cpdf-matrix-metric {
    align-items: center !important;
    gap: 6px !important;
    display: flex !important;
  }

  .cpdf-matrix-num {
    color: #0f172a !important;
    font-size: 9px !important;
    font-weight: 700 !important;
  }

  .cpdf-matrix-tag {
    border-radius: 3px !important;
    padding: 1px 5px !important;
    font-size: 7.5px !important;
    font-weight: 700 !important;
  }

  .cpdf-matrix-tag.is-good {
    color: #15803d !important;
    background: #dcfce7 !important;
  }

  .cpdf-matrix-tag.is-attention {
    color: #b45309 !important;
    background: #fef3c7 !important;
  }

  .cpdf-matrix-tag.is-high {
    color: #be123c !important;
    background: #ffe4e6 !important;
  }

  .cpdf-matrix-tag.is-neutral {
    color: #64748b !important;
    background: #e2e8f0 !important;
  }

  .cpdf-matrix-track {
    background: #e2e8f0 !important;
    border-radius: 99px !important;
    width: 100% !important;
    height: 3px !important;
    overflow: hidden !important;
  }

  .cpdf-matrix-bar {
    border-radius: 99px !important;
    height: 100% !important;
  }

  .cpdf-matrix-bar.is-good {
    background: #10b981 !important;
  }

  .cpdf-matrix-bar.is-attention {
    background: #f59e0b !important;
  }

  .cpdf-matrix-bar.is-high {
    background: #f43f5e !important;
  }

  .cpdf-matrix-bar.is-neutral {
    background: #94a3b8 !important;
  }

  .cpdf-footer {
    color: #94a3b8 !important;
    border-top: 1px solid #e2e8f0 !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-top: 4px !important;
    padding-top: 4px !important;
    font-size: 8px !important;
    display: flex !important;
  }

  .cpdf-page2-top-strip {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 8px !important;
    padding: 5px 10px !important;
    font-size: 9px !important;
    display: flex !important;
  }

  .cpdf-p2-patient-ref {
    color: #334155 !important;
    align-items: center !important;
    gap: 6px !important;
    display: flex !important;
  }

  .cpdf-p2-clinic-ref {
    color: #7c1695 !important;
    font-weight: 700 !important;
  }

  .cpdf-card-icon-title {
    align-items: center !important;
    gap: 6px !important;
    display: flex !important;
  }

  .cpdf-icon-badge {
    color: #fff !important;
    background: #7c1695 !important;
    border-radius: 4px !important;
    padding: 1px 5px !important;
    font-size: 8px !important;
    font-weight: 800 !important;
  }

  .cpdf-narrative-text {
    color: #334155 !important;
    text-align: justify !important;
    margin: 0 !important;
    font-size: 9px !important;
    line-height: 1.6 !important;
  }

  .cpdf-actions-list {
    flex-direction: column !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: flex !important;
  }

  .cpdf-action-item {
    background: #fdf4ff !important;
    border: 1px solid #f5d0fe !important;
    border-radius: 5px !important;
    align-items: flex-start !important;
    gap: 6px !important;
    padding: 3px 6px !important;
    display: flex !important;
  }

  .cpdf-action-num {
    color: #fff !important;
    background: #7c1695 !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
    justify-content: center !important;
    align-items: center !important;
    width: 14px !important;
    height: 14px !important;
    font-size: 7.5px !important;
    font-weight: 700 !important;
    display: flex !important;
  }

  .cpdf-action-text {
    color: #4a044e !important;
    font-size: 8px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
  }

  .cpdf-images-card {
    flex-direction: column !important;
    flex: 1 !important;
    display: flex !important;
  }

  .cpdf-images-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
    margin-top: 4px !important;
    display: grid !important;
  }

  .cpdf-capture-item {
    background: #f8fafc !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    overflow: hidden !important;
  }

  .cpdf-capture-media {
    aspect-ratio: 4 / 3 !important;
    background: #0f172a !important;
    width: 100% !important;
    position: relative !important;
    overflow: hidden !important;
  }

  .cpdf-capture-media img {
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
  }

  .cpdf-capture-step {
    top: 4px !important;
    color: #fff !important;
    -webkit-backdrop-filter: blur(2px) !important;
    backdrop-filter: blur(2px) !important;
    background: #0f172acc !important;
    border-radius: 3px !important;
    padding: 1px 5px !important;
    font-size: 7.5px !important;
    font-weight: 700 !important;
    position: absolute !important;
    inset-inline-start: 4px !important;
  }

  .cpdf-capture-caption {
    background: #fff !important;
    border-top: 1px solid #f1f5f9 !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 3px 6px !important;
    font-size: 7.5px !important;
    display: flex !important;
  }

  .cpdf-capture-light {
    color: #7c1695 !important;
    font-weight: 700 !important;
  }

  .cpdf-capture-region {
    color: #64748b !important;
  }

  .cpdf-empty-note {
    color: #94a3b8 !important;
    text-align: center !important;
    margin: 0 !important;
    padding: 12px 0 !important;
    font-size: 9px !important;
  }

  .cpdf-products-row {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
    display: grid !important;
  }

  .cpdf-product-pill {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 4px 8px !important;
    display: flex !important;
  }

  .cpdf-prod-thumb {
    object-fit: contain !important;
    border-radius: 4px !important;
    width: 24px !important;
    height: 24px !important;
  }

  .cpdf-prod-text {
    flex-direction: column !important;
    display: flex !important;
  }

  .cpdf-prod-title {
    color: #0f172a !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    font-size: 8.5px !important;
    overflow: hidden !important;
  }

  .cpdf-prod-meta {
    color: #64748b !important;
    font-size: 7.5px !important;
  }

  .cpdf-signoff-row {
    break-inside: avoid !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
    grid-template-columns: 2fr 1fr 1fr !important;
    gap: 8px !important;
    margin-top: 6px !important;
    padding: 8px 10px !important;
    display: grid !important;
  }

  .cpdf-disclaimer-box {
    flex-direction: column !important;
    gap: 2px !important;
    display: flex !important;
  }

  .cpdf-disclaimer-title {
    color: #475569 !important;
    font-size: 7.5px !important;
    font-weight: 700 !important;
  }

  .cpdf-disclaimer-text {
    color: #64748b !important;
    margin: 0 !important;
    font-size: 7px !important;
    line-height: 1.35 !important;
  }

  .cpdf-signature-box {
    border-inline-start: 1px dashed #cbd5e1 !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    padding-inline-start: 8px !important;
    display: flex !important;
  }

  .cpdf-sig-label {
    color: #475569 !important;
    font-size: 7.5px !important;
    font-weight: 700 !important;
  }

  .cpdf-sig-line {
    border-bottom: 1px solid #94a3b8 !important;
    margin-top: 14px !important;
    padding-bottom: 2px !important;
  }

  .cpdf-doctor-name {
    color: #0f172a !important;
    font-size: 8px !important;
    font-weight: 600 !important;
  }

  .cpdf-stamp-box {
    border-inline-start: 1px dashed #cbd5e1 !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding-inline-start: 8px !important;
    display: flex !important;
  }

  .cpdf-stamp-label {
    color: #475569 !important;
    font-size: 7.5px !important;
    font-weight: 700 !important;
  }

  .cpdf-stamp-circle {
    text-align: center !important;
    color: #94a3b8 !important;
    border: 1.5px dashed #cbd5e1 !important;
    border-radius: 50% !important;
    justify-content: center !important;
    align-items: center !important;
    width: 44px !important;
    height: 44px !important;
    margin-top: 4px !important;
    padding: 4px !important;
    font-size: 6.5px !important;
    display: flex !important;
  }
}

/* [project]/apps/web/src/app/patient-portal.css [app-client] (css) */
.patient-portal-page {
  color: #0f172a;
  box-sizing: border-box;
  background: radial-gradient(circle at 85% 0, #7c16950d 0%, #0000 45%), linear-gradient(#faf5ff 0%, #f8fafc 240px, #fff 100%);
  width: 100%;
  min-height: 100dvh;
  overflow-x: hidden !important;
}

.patient-portal-shell {
  box-sizing: border-box;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  padding: 16px 16px 72px;
  display: flex;
}

.patient-portal-topbar {
  z-index: 40;
  -webkit-backdrop-filter: blur(16px);
  box-sizing: border-box;
  background: #fffffff0;
  border-bottom: 1px solid #e2e8f0d9;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  width: 100%;
  height: 54px;
  padding: 0 clamp(12px, 3vw, 24px);
  display: flex;
  position: sticky;
  top: 0;
  box-shadow: 0 4px 20px -4px #0f172a0a;
  flex-wrap: nowrap !important;
}

.patient-portal-brand-group {
  flex-shrink: 0;
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: flex;
  flex-wrap: nowrap !important;
}

.patient-portal-brand-link {
  flex-shrink: 0;
  align-items: center;
  text-decoration: none;
  display: inline-flex;
}

.patient-portal-brand-emblem {
  object-fit: cover;
  background: #02070b;
  border: 1px solid #7c169540;
  border-radius: 9px;
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  display: block;
  box-shadow: 0 2px 8px #0000001f;
}

.patient-portal-clinic-emblem-badge {
  color: #334155;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  flex-shrink: 0;
  align-items: center;
  gap: 6px;
  max-width: 180px;
  padding: 3px 10px;
  font-size: 11.5px;
  font-weight: 600;
  display: flex;
  overflow: hidden;
}

@media (max-width: 520px) {
  .patient-portal-clinic-emblem-badge {
    display: none !important;
  }
}

.patient-portal-clinic-logo {
  object-fit: cover;
  border-radius: 50%;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
}

.patient-portal-clinic-dot {
  background: #7c1695;
  border-radius: 50%;
  flex-shrink: 0;
  width: 6px;
  height: 6px;
}

.patient-portal-nav-actions {
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
  display: flex;
  flex-wrap: nowrap !important;
}

.patient-portal-topbar .patient-header-action-btn {
  box-sizing: border-box !important;
  white-space: nowrap !important;
  border-radius: 9px !important;
  flex-shrink: 0 !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 6px !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 12px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 32px !important;
  text-decoration: none !important;
  transition: all .2s !important;
  display: inline-flex !important;
}

.patient-portal-topbar .patient-btn-export-pdf {
  color: #7c1695 !important;
  cursor: pointer !important;
  background: #fff !important;
  border: 1px solid #7c169540 !important;
  box-shadow: 0 1px 3px #7c16950f !important;
}

.patient-portal-topbar .patient-btn-export-pdf:hover {
  background: #faf5ff !important;
  border-color: #7c1695 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 3px 8px #7c16951f !important;
}

.patient-btn-export-pdf-short {
  display: none;
}

@media (max-width: 520px) {
  .patient-btn-export-pdf-label {
    display: none;
  }

  .patient-btn-export-pdf-short {
    display: inline;
  }
}

.patient-portal-topbar .language-switcher {
  color: #334155 !important;
  cursor: pointer !important;
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 1px 3px #0f172a0a !important;
}

.patient-portal-topbar .language-switcher:hover {
  color: #0f172a !important;
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 3px 8px #0f172a14 !important;
}

.patient-portal-topbar .language-switcher .language-flag {
  align-items: center !important;
  font-size: 14px !important;
  line-height: 1 !important;
  display: inline-flex !important;
}

.patient-portal-topbar .language-switcher .language-name {
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

@media (max-width: 480px) {
  .patient-portal-topbar {
    gap: 8px;
    height: 48px;
    padding: 0 10px;
  }

  .patient-portal-brand-emblem {
    border-radius: 8px;
    width: 32px;
    height: 32px;
  }

  .patient-portal-topbar .patient-header-action-btn {
    border-radius: 8px !important;
    gap: 4px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    padding: 0 9px !important;
    font-size: 11px !important;
    line-height: 30px !important;
  }

  .patient-portal-topbar .language-switcher .language-flag {
    font-size: 13px !important;
  }

  .patient-portal-topbar .language-switcher .language-name {
    font-size: 11px !important;
  }
}

.patient-portal-hero-card {
  background: #fff;
  border: 1px solid #e2e8f0e6;
  border-radius: 22px;
  flex-direction: column;
  gap: 14px;
  padding: 20px;
  display: flex;
  position: relative;
  box-shadow: 0 10px 30px -4px #0f172a0a;
}

.patient-hero-top-meta {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.patient-hero-badge-group {
  align-items: center;
  gap: 8px;
  display: flex;
}

.patient-portal-pill-badge {
  color: #7c1695;
  background: #7c169514;
  border-radius: 20px;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  font-size: 11px;
  font-weight: 700;
  display: inline-flex;
}

.patient-portal-verified-tag {
  color: #64748b;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  font-size: 10.5px;
  font-weight: 600;
  display: inline-flex;
}

.patient-hero-main-title {
  color: #0f172a;
  margin: 0;
  font-size: clamp(20px, 4vw, 28px);
  font-weight: 800;
  line-height: 1.3;
}

.patient-hero-subtitle {
  color: #64748b;
  margin: 0;
  font-size: 12.5px;
  line-height: 1.6;
}

.patient-hero-actions-row {
  border-top: 1px solid #f1f5f9;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding-top: 10px;
  display: flex;
}

.patient-call-clinic-btn {
  color: #065f46;
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  border-radius: 12px;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  font-size: 12.5px;
  font-weight: 700;
  text-decoration: none;
  transition: all .2s;
  display: inline-flex;
}

.patient-call-clinic-btn:hover {
  background: #d1fae5;
  transform: translateY(-1px);
}

.patient-view-segmented-tabs {
  background: #f1f5f9;
  border-radius: 12px;
  align-items: center;
  gap: 6px;
  padding: 3px;
  display: flex;
}

.patient-view-tab-btn {
  color: #64748b;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 9px;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  transition: all .18s;
  display: inline-flex;
}

.patient-view-tab-btn.active {
  color: #7c1695;
  background: #fff;
  font-weight: 700;
  box-shadow: 0 2px 6px #0f172a14;
}

.patient-view-tab-btn:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.patient-session-rail-section {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.patient-session-rail-header {
  justify-content: space-between;
  align-items: center;
  padding: 0 2px;
  display: flex;
}

.patient-session-rail-header strong {
  color: #1e293b;
  font-size: 13px;
  font-weight: 700;
}

.patient-session-rail-header span {
  color: #94a3b8;
  font-size: 11px;
}

.patient-session-rail {
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  scrollbar-color: #cbd5e1 transparent;
  align-items: stretch;
  gap: 10px;
  padding: 4px 2px 10px;
  display: flex;
  overflow-x: auto;
}

.patient-session-rail::-webkit-scrollbar {
  height: 4px;
}

.patient-session-rail::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}

.patient-session-card {
  scroll-snap-align: start;
  cursor: pointer;
  text-align: start;
  background: #fff;
  border: 1.5px solid #e2e8f0;
  border-radius: 14px;
  flex-direction: column;
  flex: none;
  justify-content: space-between;
  gap: 6px;
  min-width: 145px;
  max-width: 190px;
  padding: 10px 12px;
  font-family: inherit;
  transition: all .2s cubic-bezier(.4, 0, .2, 1);
  display: flex;
  box-shadow: 0 2px 8px #0f172a05;
}

.patient-session-card:hover {
  border-color: #cbd5e1;
  transform: translateY(-1px);
}

.patient-session-card.active {
  background: linear-gradient(135deg, #faf5ff 0%, #fff 100%);
  border-color: #7c1695;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px -2px #7c16951f;
}

.patient-session-card-title {
  color: #0f172a;
  justify-content: space-between;
  align-items: center;
  font-size: 12.5px;
  font-weight: 700;
  display: flex;
}

.patient-session-card-date {
  color: #64748b;
  font-size: 10.5px;
}

.patient-session-card-footer {
  border-top: 1px solid #f1f5f9;
  justify-content: space-between;
  align-items: center;
  margin-top: 4px;
  padding-top: 4px;
  display: flex;
}

.patient-session-score-pill {
  border-radius: 8px;
  padding: 1px 6px;
  font-size: 10px;
  font-weight: 700;
}

.patient-session-score-pill.is-good {
  color: #059669;
  background: #ecfdf5;
}

.patient-session-score-pill.is-attention {
  color: #d97706;
  background: #fffbeb;
}

.patient-session-score-pill.is-high {
  color: #dc2626;
  background: #fef2f2;
}

.patient-session-score-pill.is-none {
  color: #64748b;
  background: #f1f5f9;
}

.patient-session-img-pill {
  color: #94a3b8;
  font-size: 9.5px;
}

.patient-score-card {
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #e2e8f0e6;
  border-radius: 20px;
  align-items: center;
  gap: 20px;
  padding: 18px 20px;
  display: flex;
  box-shadow: 0 6px 24px -2px #0f172a0a;
}

.patient-score-gauge {
  flex-shrink: 0;
  place-items: center;
  width: 90px;
  height: 90px;
  display: grid;
  position: relative;
}

.patient-score-svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.patient-score-gauge-center {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
}

.patient-score-gauge-num {
  color: #0f172a;
  font-size: 22px;
  font-weight: 800;
  line-height: 1;
}

.patient-score-gauge-max {
  color: #94a3b8;
  font-size: 10px;
  font-weight: 600;
}

.patient-score-details {
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  display: flex;
}

.patient-score-status-pill {
  border-radius: 20px;
  align-self: flex-start;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  font-size: 11.5px;
  font-weight: 700;
  display: inline-flex;
}

.patient-score-status-pill.is-good {
  color: #059669;
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
}

.patient-score-status-pill.is-attention {
  color: #d97706;
  background: #fffbeb;
  border: 1px solid #fde68a;
}

.patient-score-status-pill.is-high {
  color: #dc2626;
  background: #fef2f2;
  border: 1px solid #fecaca;
}

.patient-score-headline {
  color: #1e293b;
  margin: 2px 0 0;
  font-size: 14px;
  font-weight: 700;
}

.patient-score-desc {
  color: #64748b;
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
}

.patient-ai-grid {
  grid-template-columns: 1fr;
  gap: 14px;
  display: grid;
}

@media (min-width: 768px) {
  .patient-ai-grid {
    grid-template-columns: 1.15fr 1fr;
  }
}

.patient-card {
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #e2e8f0e6;
  border-radius: 20px;
  padding: 16px 18px;
  box-shadow: 0 6px 24px -2px #0f172a0a;
}

.patient-ai-overview-card {
  background: linear-gradient(#faf5ff 0%, #fff 100%);
  border-color: #e9d5ff;
}

.patient-card-header {
  border-bottom: 1px solid #e2e8f099;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 8px;
  display: flex;
}

.patient-card-title-group {
  align-items: center;
  gap: 8px;
  display: flex;
}

.patient-icon-badge {
  color: #fff;
  background: #7c1695;
  border-radius: 8px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 26px;
  height: 26px;
  font-size: 11px;
  font-weight: 800;
  display: inline-flex;
}

.patient-card-title {
  color: #1e293b;
  margin: 0;
  font-size: 14px;
  font-weight: 700;
}

.patient-ai-text {
  color: #334155;
  text-align: justify;
  margin: 0;
  font-size: 13px;
  line-height: 1.8;
}

.patient-actions-list {
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.patient-action-item {
  background: #fdf4ff;
  border: 1px solid #f5d0fe;
  border-radius: 12px;
  align-items: flex-start;
  gap: 10px;
  padding: 8px 12px;
  display: flex;
}

.patient-action-num {
  color: #fff;
  background: #7c1695;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  margin-top: 1px;
  font-size: 10px;
  font-weight: 700;
  display: flex;
}

.patient-action-text {
  color: #4a044e;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
}

.patient-actions-count-badge {
  color: #7c1695;
  background: #f3e8ff;
  border: 1px solid #e9d5ff;
  border-radius: 12px;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 700;
}

.patient-radar-card {
  flex-direction: column;
  align-items: center;
  display: flex;
}

.patient-radar-wrapper {
  justify-content: center;
  width: 100%;
  max-width: 440px;
  margin: 0 auto;
  display: flex;
}

.patient-radar-wrapper .clinical-radar {
  width: 100%;
}

.patient-radar-wrapper .clinical-radar-canvas svg {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 440px !important;
  height: auto !important;
}

.patient-matrix-card {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.patient-matrix-header {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.patient-matrix-toggle {
  background: #f1f5f9;
  border-radius: 10px;
  align-items: center;
  gap: 4px;
  padding: 2px;
  display: inline-flex;
}

.patient-matrix-toggle-btn {
  color: #64748b;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 8px;
  padding: 5px 12px;
  font-family: inherit;
  font-size: 11.5px;
  font-weight: 600;
  transition: all .15s;
}

.patient-matrix-toggle-btn.active {
  color: #7c1695;
  background: #fff;
  font-weight: 700;
  box-shadow: 0 2px 4px #0f172a0f;
}

.patient-metrics-grid {
  grid-template-columns: 1fr;
  gap: 8px;
  display: grid;
}

@media (min-width: 540px) {
  .patient-metrics-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 900px) {
  .patient-metrics-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.patient-metric-item {
  cursor: pointer;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  flex-direction: column;
  gap: 6px;
  padding: 10px 12px;
  transition: all .18s;
  display: flex;
}

.patient-metric-item:hover {
  background: #f1f5f9;
  border-color: #cbd5e1;
}

.patient-metric-item.is-expanded {
  background: #faf5ff;
  border-color: #d8b4fe;
}

.patient-metric-top-row {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.patient-metric-name {
  color: #1e293b;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12.5px;
  font-weight: 700;
  overflow: hidden;
}

.patient-metric-score-pill {
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 800;
}

.patient-metric-score-pill.is-good {
  color: #059669;
}

.patient-metric-score-pill.is-attention {
  color: #d97706;
}

.patient-metric-score-pill.is-high {
  color: #dc2626;
}

.patient-metric-bar-track {
  background: #e2e8f0;
  border-radius: 4px;
  width: 100%;
  height: 5px;
  overflow: hidden;
}

.patient-metric-bar-fill {
  border-radius: 4px;
  height: 100%;
  transition: width .4s;
}

.patient-metric-bar-fill.is-good {
  background: #10b981;
}

.patient-metric-bar-fill.is-attention {
  background: #f59e0b;
}

.patient-metric-bar-fill.is-high {
  background: #ef4444;
}

.patient-metric-status-row {
  color: #64748b;
  justify-content: space-between;
  align-items: center;
  font-size: 10.5px;
  display: flex;
}

.patient-metric-expand-cue {
  color: #7c1695;
  font-size: 10px;
  font-weight: 600;
}

.patient-metric-expanded-content {
  color: #475569;
  text-align: justify;
  border-top: 1px dashed #e2e8f0;
  margin-top: 6px;
  padding-top: 6px;
  font-size: 11.5px;
  line-height: 1.6;
}

.patient-barchart-scroll-shell {
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  width: 100%;
  max-width: 100%;
  padding: 8px;
  overflow-x: auto;
}

.patient-chart-swipe-hint {
  color: #7c1695;
  background: #faf5ff;
  border: 1px solid #e9d5ff;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 600;
  display: flex;
}

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

@media (min-width: 640px) {
  .patient-gallery-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
  }
}

@media (min-width: 960px) {
  .patient-gallery-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.patient-capture-card {
  cursor: pointer;
  text-align: start;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  flex-direction: column;
  padding: 0;
  font-family: inherit;
  transition: transform .2s, box-shadow .2s;
  display: flex;
  position: relative;
  overflow: hidden;
}

.patient-capture-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px -2px #0f172a14;
}

.patient-capture-media {
  aspect-ratio: 4 / 3;
  background: #0f172a;
  width: 100%;
  position: relative;
  overflow: hidden;
}

.patient-capture-media img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.patient-capture-step-badge {
  top: 6px;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  color: #fff;
  background: #0f172abf;
  border-radius: 4px;
  padding: 2px 6px;
  font-size: 9.5px;
  font-weight: 700;
  position: absolute;
  inset-inline-start: 6px;
}

.patient-capture-caption {
  flex-direction: column;
  gap: 2px;
  padding: 6px 8px;
  display: flex;
}

.patient-capture-title {
  color: #1e293b;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
  font-weight: 700;
  overflow: hidden;
}

.patient-capture-sub {
  color: #64748b;
  font-size: 9.5px;
}

.patient-footer-signoff {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  flex-direction: column;
  gap: 8px;
  padding: 14px 18px;
  display: flex;
}

.patient-signoff-row {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  display: flex;
}

.patient-signoff-clinician {
  color: #7c1695;
  font-weight: 700;
}

.patient-disclaimer-text {
  color: #94a3b8;
  text-align: justify;
  margin: 0;
  font-size: 10.5px;
  line-height: 1.6;
}

@media (max-width: 480px) {
  .patient-portal-shell {
    gap: 12px;
    padding: 12px 10px 60px;
  }

  .patient-portal-hero-card {
    border-radius: 18px;
    padding: 16px 14px;
  }

  .patient-score-card {
    border-radius: 18px;
    gap: 14px;
    padding: 14px;
  }

  .patient-score-gauge {
    width: 76px;
    height: 76px;
  }

  .patient-score-gauge-num {
    font-size: 19px;
  }

  .patient-card {
    border-radius: 18px;
    padding: 14px;
  }

  .patient-view-tab-btn {
    padding: 6px 10px;
    font-size: 11px;
  }

  .patient-call-clinic-btn {
    justify-content: center;
    width: 100%;
  }

  .patient-session-card {
    min-width: 135px;
    padding: 8px 10px;
  }
}

.patient-portal-spinner {
  border: 3.5px solid #7c169526;
  border-top-color: #7c1695;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: .85s cubic-bezier(.5, .1, .4, .9) infinite patient-portal-spin;
}

@keyframes patient-portal-spin {
  to {
    transform: rotate(360deg);
  }
}

.patient-trend-embedded {
  background: none;
  width: 100%;
  min-height: auto;
}

.patient-trend-embedded .clinic-trend-shell {
  flex-direction: column;
  gap: 16px;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  display: flex;
}

.patient-trend-hero {
  background: linear-gradient(135deg, #fff 0%, #faf5ff 100%);
  border: 1px solid #7c169529;
  border-radius: 20px;
  flex-direction: column;
  gap: 14px;
  padding: clamp(16px, 2.5vw, 24px);
  display: flex;
  box-shadow: 0 10px 30px -8px #7c169512;
}

.patient-trend-hero-header {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.patient-trend-eyebrow {
  color: #7c1695;
  text-transform: uppercase;
  letter-spacing: .5px;
  margin-bottom: 4px;
  font-size: 11px;
  font-weight: 700;
  display: inline-block;
}

.patient-trend-title {
  color: #0f172a;
  margin: 0;
  font-size: clamp(17px, 3.2vw, 21px);
  font-weight: 800;
}

.patient-trend-subtitle {
  color: #64748b;
  margin: 4px 0 0;
  font-size: 12.5px;
}

.patient-trend-back-btn {
  color: #475569;
  cursor: pointer;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  font-size: 12px;
  font-weight: 600;
  transition: all .2s;
  display: inline-flex;
}

.patient-trend-back-btn:hover {
  color: #0f172a;
  background: #f8fafc;
  border-color: #cbd5e1;
}

.patient-trend-session-picker-bar {
  border-top: 1px solid #7c16951a;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding-top: 12px;
  display: flex;
}

.patient-trend-select-pair {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.patient-trend-select-label {
  color: #475569;
  flex-direction: column;
  gap: 3px;
  font-size: 11px;
  font-weight: 600;
  display: flex;
}

.patient-trend-select {
  appearance: none;
  color: #0f172a;
  cursor: pointer;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237c1695' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") calc(100% - 10px) no-repeat;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  min-height: 34px;
  padding: 6px 28px 6px 12px;
  font-size: 12px;
  font-weight: 600;
  transition: all .2s;
}

[dir="rtl"] .patient-trend-select {
  background-position: 10px;
  padding: 6px 12px 6px 28px;
}

.patient-trend-select:hover, .patient-trend-select:focus {
  border-color: #7c1695;
  outline: none;
  box-shadow: 0 0 0 3px #7c169514;
}

.patient-trend-arrow {
  color: #94a3b8;
  padding-top: 14px;
  font-size: 16px;
  font-weight: 700;
}

.patient-trend-picker-btn {
  color: #7c1695;
  cursor: pointer;
  background: #fff;
  border: 1px solid #7c16954d;
  border-radius: 10px;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 6px 14px;
  font-size: 12px;
  font-weight: 700;
  transition: all .2s;
  display: inline-flex;
}

.patient-trend-picker-btn:hover {
  background: #faf5ff;
  border-color: #7c1695;
  transform: translateY(-1px);
}

.patient-trend-kpi-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  display: grid;
}

@media (max-width: 768px) {
  .patient-trend-kpi-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.patient-trend-kpi-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  flex-direction: column;
  gap: 4px;
  padding: 12px 14px;
  display: flex;
  box-shadow: 0 4px 12px -2px #0f172a08;
}

.patient-trend-kpi-label {
  color: #64748b;
  font-size: 11.5px;
  font-weight: 600;
}

.patient-trend-kpi-val {
  color: #0f172a;
  font-size: clamp(20px, 3.5vw, 24px);
  font-weight: 800;
}

.patient-trend-kpi-val.positive {
  color: #059669;
}

.patient-trend-kpi-val.negative {
  color: #dc2626;
}

.patient-trend-kpi-hint {
  color: #94a3b8;
  font-size: 11px;
}

.patient-trend-kpi-badges {
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
  display: flex;
}

.patient-trend-kpi-pill {
  border-radius: 12px;
  padding: 2px 8px;
  font-size: 10.5px;
  font-weight: 700;
}

.patient-trend-kpi-pill.positive {
  color: #059669;
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
}

.patient-trend-kpi-pill.negative {
  color: #dc2626;
  background: #fef2f2;
  border: 1px solid #fecaca;
}

.patient-radar-trend-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: clamp(16px, 2.5vw, 24px);
  box-shadow: 0 10px 30px -8px #0f172a0a;
}

.patient-radar-trend-header {
  margin-bottom: 16px;
}

.patient-radar-trend-eyebrow {
  color: #7c1695;
  margin-bottom: 4px;
  font-size: 11px;
  font-weight: 700;
  display: inline-block;
}

.patient-radar-trend-title {
  color: #0f172a;
  margin: 0;
  font-size: clamp(16px, 2.6vw, 19px);
  font-weight: 800;
}

.patient-radar-trend-hint {
  color: #64748b;
  margin: 4px 0 0;
  font-size: 12px;
}

.patient-entry-intro {
  z-index: 99999 !important;
  background: #01050a !important;
  position: fixed !important;
  inset: 0 !important;
}

.patient-entry-intro.is-exiting {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity .55s cubic-bezier(.22, 1, .36, 1), transform .6s cubic-bezier(.16, 1, .3, 1), visibility 0s linear .55s !important;
  transform: scale(1.02) !important;
}

[dir="rtl"] .patient-entry-intro .clinic-entry-intro__skip-pill {
  left: 20px !important;
  right: auto !important;
}

@media (max-width: 600px) {
  .patient-entry-intro .clinic-entry-intro__skip-pill {
    top: max(16px, env(safe-area-inset-top, 16px)) !important;
    padding: 6px 14px !important;
    font-size: 12px !important;
  }

  [dir="rtl"] .patient-entry-intro .clinic-entry-intro__skip-pill {
    left: 14px !important;
    right: auto !important;
  }
}

.patient-portal-page--loading {
  background: #01050a;
  min-height: 100dvh;
}

.patient-portal-ambient-loader {
  background: #01050a;
  justify-content: center;
  align-items: center;
  min-height: 100dvh;
  display: flex;
}

.patient-portal-ambient-emblem {
  background: #02070b;
  border: 1px solid #7c169566;
  border-radius: 16px;
  width: 58px;
  height: 58px;
  animation: 1.8s ease-in-out infinite aitrichoAmbientPulse;
  box-shadow: 0 0 35px #7c169559;
}

@keyframes aitrichoAmbientPulse {
  0%, 100% {
    opacity: .85;
    transform: scale(1);
  }

  50% {
    opacity: 1;
    transform: scale(1.08);
    box-shadow: 0 0 50px #7c16958c;
  }
}

@media print {
  .patient-entry-intro, .patient-portal-ambient-loader {
    display: none !important;
  }
}

/*# sourceMappingURL=apps_web_src_app_0gqtrjv._.css.map*/