/* GENERATED by scripts/build-theme-css.mjs from app/modules/theme/palettes.js — do not edit by hand.
 * Design System v2 (Clinical OS v2 Phase 2). Loaded FIRST. Every older variable family (--dd-*, the
 * legacy styles.css variables, --md-*) is re-pointed to these tokens in theme.css; never add new
 * hard-coded colours. Accent: html[data-accent] ∈ {green, blue, pink, orange, purple, teal} (default blue).
 * Theme: html[data-theme="dark"] forces dark; html[data-theme="auto"] follows prefers-color-scheme. */

html:root {
  color-scheme: light;
  --canvas: #F5F5F7;
  --surface-1: #FFFFFF;
  --surface-2: #FBFBFD;
  --surface-3: #F2F2F5;
  --elevated: #FFFFFF;
  --fill: #F2F2F5;
  --fill-strong: #E8E8ED;
  --line: #E3E3E8;
  --line-strong: #D2D2D7;
  --ink-1: #1D1D1F;
  --ink-2: #3A3A3C;
  --ink-3: #636368;
  --ink-4: #6E6E73;
  --success: #1A7A43;
  --success-soft: #E8F5EC;
  --warning: #9A5208;
  --warning-soft: #FFF4E5;
  --danger: #C0302C;
  --danger-soft: #FDECEB;
  --info: #0A66D8;
  --info-soft: #EAF2FD;
  --status-draft: #555D69;
  --status-draft-soft: #EEF0F3;
  --status-scheduled: #0A62CF;
  --status-scheduled-soft: #EAF2FD;
  --status-checked-in: #8A5300;
  --status-checked-in-soft: #FFF3D9;
  --status-in-progress: #6B35C0;
  --status-in-progress-soft: #F1EAFB;
  --status-completed: #1A7A43;
  --status-completed-soft: #E6F4EC;
  --status-cancelled: #A3322D;
  --status-cancelled-soft: #FBEAEA;
  --status-signed: #0F7068;
  --status-signed-soft: #E5F3F2;
  --status-expired: #735A3F;
  --status-expired-soft: #F4EEE7;
  --swatch-green: #18794E;
  --swatch-blue: #0A66D8;
  --swatch-pink: #C21E62;
  --swatch-orange: #B14E0A;
  --swatch-purple: #7438C8;
  --swatch-teal: #0F7068;
  --font-text: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI Variable Text", "Segoe UI", Roboto, "Plus Jakarta Sans", "Helvetica Neue", Arial, sans-serif;
  --font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI Variable Display", "Segoe UI", Roboto, "Plus Jakarta Sans", "Helvetica Neue", Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --type-display-size: 28px;
  --type-display-line: 34px;
  --type-page-title-size: 22px;
  --type-page-title-line: 28px;
  --type-section-size: 17px;
  --type-section-line: 22px;
  --type-section-weight: 600;
  --type-body-size: 15px;
  --type-body-line: 21px;
  --type-secondary-size: 13px;
  --type-secondary-line: 18px;
  --type-caption-size: 12px;
  --type-caption-line: 16px;
  --type-label-size: 12px;
  --type-label-line: 16px;
  --type-label-weight: 500;
  --type-value-size: 15px;
  --type-value-line: 20px;
  --sp-0-5: 2px;
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-8: 32px;
  --sp-10: 40px;
  --r-xs: 6px;
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-xl: 22px;
  --r-pill: 999px;
  --elev-0: none;
  --elev-1: 0 1px 2px rgba(0, 0, 0, .05);
  --elev-2: 0 1px 3px rgba(0, 0, 0, .06), 0 4px 14px rgba(0, 0, 0, .05);
  --elev-3: 0 2px 6px rgba(0, 0, 0, .07), 0 12px 28px rgba(0, 0, 0, .08);
  --elev-pop: 0 10px 34px rgba(0, 0, 0, .16), 0 0 0 1px rgba(0, 0, 0, .05);
  --hairline: 1px;
  --material-tint: 72%;
  --material-bg: color-mix(in oklab, var(--surface-1) var(--material-tint), transparent);
  --material-filter: saturate(180%) blur(20px);
  --material-fallback: var(--surface-1);
  --dur-instant: 90ms;
  --dur-fast: 140ms;
  --dur-base: 200ms;
  --dur-slow: 280ms;
  --ease-out: cubic-bezier(.2, .8, .2, 1);
  --ease-spring: cubic-bezier(.3, 1.25, .4, 1);
  --press-scale: .98;
  --motion-shift: 1;
  --touch-min: 32px;
  --control-h: 36px;
  --focus-ring: 0 0 0 2px var(--surface-1), 0 0 0 4px var(--accent-ring);
  --sidebar-w: 236px;
  --sidebar-w-collapsed: 72px;
  --topbar-h: 56px;
  --tabbar-h: 56px;
}

:root:not([data-accent]),
html:root[data-accent="blue"] {
  --accent: #0A66D8;
  --accent-hover: #0959BD;
  --accent-press: #084DA4;
  --accent-soft: #EAF2FD;
  --accent-on: #FFFFFF;
  --accent-ring: #0A66D8;
  --anatomy-mark: #C21E62;
  --chart-1: #0A66D8;
  --chart-2: #B14E0A;
  --chart-3: #18794E;
  --chart-4: #7438C8;
  --chart-5: #C21E62;
  --chart-6: #0F7068;
}

html:root[data-accent="green"] {
  --accent: #18794E;
  --accent-hover: #136A43;
  --accent-press: #0F5B39;
  --accent-soft: #E7F4EC;
  --accent-on: #FFFFFF;
  --accent-ring: #18794E;
  --anatomy-mark: #C21E62;
  --chart-1: #18794E;
  --chart-2: #0A66D8;
  --chart-3: #B14E0A;
  --chart-4: #7438C8;
  --chart-5: #C21E62;
  --chart-6: #0F7068;
}

html:root[data-accent="pink"] {
  --accent: #C21E62;
  --accent-hover: #AA1955;
  --accent-press: #931549;
  --accent-soft: #FCEAF1;
  --accent-on: #FFFFFF;
  --accent-ring: #C21E62;
  --anatomy-mark: #0A66D8;
  --chart-1: #C21E62;
  --chart-2: #0A66D8;
  --chart-3: #B14E0A;
  --chart-4: #18794E;
  --chart-5: #7438C8;
  --chart-6: #0F7068;
}

html:root[data-accent="orange"] {
  --accent: #B14E0A;
  --accent-hover: #9A4409;
  --accent-press: #843A07;
  --accent-soft: #FDF0E6;
  --accent-on: #FFFFFF;
  --accent-ring: #B14E0A;
  --anatomy-mark: #C21E62;
  --chart-1: #B14E0A;
  --chart-2: #0A66D8;
  --chart-3: #18794E;
  --chart-4: #7438C8;
  --chart-5: #C21E62;
  --chart-6: #0F7068;
}

html:root[data-accent="purple"] {
  --accent: #7438C8;
  --accent-hover: #6630B1;
  --accent-press: #58299A;
  --accent-soft: #F2ECFB;
  --accent-on: #FFFFFF;
  --accent-ring: #7438C8;
  --anatomy-mark: #C21E62;
  --chart-1: #7438C8;
  --chart-2: #0A66D8;
  --chart-3: #B14E0A;
  --chart-4: #18794E;
  --chart-5: #C21E62;
  --chart-6: #0F7068;
}

html:root[data-accent="teal"] {
  --accent: #0F7068;
  --accent-hover: #0C625B;
  --accent-press: #0A544E;
  --accent-soft: #E5F3F2;
  --accent-on: #FFFFFF;
  --accent-ring: #0F7068;
  --anatomy-mark: #C21E62;
  --chart-1: #0F7068;
  --chart-2: #0A66D8;
  --chart-3: #B14E0A;
  --chart-4: #18794E;
  --chart-5: #7438C8;
  --chart-6: #C21E62;
}

html:root[data-theme="dark"] {
  color-scheme: dark;
  --canvas: #111113;
  --surface-1: #1C1C1E;
  --surface-2: #202023;
  --surface-3: #2A2A2D;
  --elevated: #26262A;
  --fill: #2A2A2D;
  --fill-strong: #333336;
  --line: #2E2E31;
  --line-strong: #3A3A3D;
  --ink-1: #F2F2F7;
  --ink-2: #D1D1D6;
  --ink-3: #A1A1A6;
  --ink-4: #98989F;
  --success: #4CD07D;
  --success-soft: #18301F;
  --warning: #FFB340;
  --warning-soft: #36280F;
  --danger: #FF6961;
  --danger-soft: #3A1A18;
  --info: #64A8FF;
  --info-soft: #172638;
  --status-draft: #B5BCC7;
  --status-draft-soft: #2A2D33;
  --status-scheduled: #64A8FF;
  --status-scheduled-soft: #172638;
  --status-checked-in: #FFC266;
  --status-checked-in-soft: #36290F;
  --status-in-progress: #C3A2FF;
  --status-in-progress-soft: #2A2140;
  --status-completed: #4CD07D;
  --status-completed-soft: #18301F;
  --status-cancelled: #FF8A84;
  --status-cancelled-soft: #3A1A18;
  --status-signed: #45D3C5;
  --status-signed-soft: #16302E;
  --status-expired: #D6B892;
  --status-expired-soft: #33291E;
  --swatch-green: #3FC27A;
  --swatch-blue: #4C9BFF;
  --swatch-pink: #FF6FA8;
  --swatch-orange: #FF9F43;
  --swatch-purple: #B48CFF;
  --swatch-teal: #2EC4B6;
  --elev-1: 0 1px 2px rgba(0, 0, 0, .4);
  --elev-2: 0 1px 3px rgba(0, 0, 0, .45), 0 4px 14px rgba(0, 0, 0, .35);
  --elev-3: 0 2px 6px rgba(0, 0, 0, .5), 0 12px 28px rgba(0, 0, 0, .4);
  --elev-pop: 0 10px 34px rgba(0, 0, 0, .6), 0 0 0 1px rgba(255, 255, 255, .06);
}
html:root[data-theme="dark"]:not([data-accent]),
html:root[data-theme="dark"][data-accent="blue"] {
  --accent: #4C9BFF;
  --accent-hover: #66AAFF;
  --accent-press: #3F8DF0;
  --accent-soft: #1A2638;
  --accent-on: #06101F;
  --accent-ring: #4C9BFF;
  --anatomy-mark: #FF6FA8;
  --chart-1: #4C9BFF;
  --chart-2: #FF9F43;
  --chart-3: #3FC27A;
  --chart-4: #B48CFF;
  --chart-5: #FF6FA8;
  --chart-6: #2EC4B6;
}
html:root[data-theme="dark"][data-accent="green"] {
  --accent: #3FC27A;
  --accent-hover: #58CC8C;
  --accent-press: #35AE6C;
  --accent-soft: #1B2E23;
  --accent-on: #06140C;
  --accent-ring: #3FC27A;
  --anatomy-mark: #FF6FA8;
  --chart-1: #3FC27A;
  --chart-2: #4C9BFF;
  --chart-3: #FF9F43;
  --chart-4: #B48CFF;
  --chart-5: #FF6FA8;
  --chart-6: #2EC4B6;
}
html:root[data-theme="dark"][data-accent="pink"] {
  --accent: #FF6FA8;
  --accent-hover: #FF88B8;
  --accent-press: #F25D99;
  --accent-soft: #3A1D29;
  --accent-on: #1E0610;
  --accent-ring: #FF6FA8;
  --anatomy-mark: #4C9BFF;
  --chart-1: #FF6FA8;
  --chart-2: #4C9BFF;
  --chart-3: #FF9F43;
  --chart-4: #3FC27A;
  --chart-5: #B48CFF;
  --chart-6: #2EC4B6;
}
html:root[data-theme="dark"][data-accent="orange"] {
  --accent: #FF9F43;
  --accent-hover: #FFB062;
  --accent-press: #F2902F;
  --accent-soft: #3A2716;
  --accent-on: #1E1003;
  --accent-ring: #FF9F43;
  --anatomy-mark: #FF6FA8;
  --chart-1: #FF9F43;
  --chart-2: #4C9BFF;
  --chart-3: #3FC27A;
  --chart-4: #B48CFF;
  --chart-5: #FF6FA8;
  --chart-6: #2EC4B6;
}
html:root[data-theme="dark"][data-accent="purple"] {
  --accent: #B48CFF;
  --accent-hover: #C3A2FF;
  --accent-press: #A57AF5;
  --accent-soft: #2A2140;
  --accent-on: #120725;
  --accent-ring: #B48CFF;
  --anatomy-mark: #FF6FA8;
  --chart-1: #B48CFF;
  --chart-2: #4C9BFF;
  --chart-3: #FF9F43;
  --chart-4: #3FC27A;
  --chart-5: #FF6FA8;
  --chart-6: #2EC4B6;
}
html:root[data-theme="dark"][data-accent="teal"] {
  --accent: #2EC4B6;
  --accent-hover: #4DD0C3;
  --accent-press: #26B2A5;
  --accent-soft: #16302E;
  --accent-on: #03181A;
  --accent-ring: #2EC4B6;
  --anatomy-mark: #FF6FA8;
  --chart-1: #2EC4B6;
  --chart-2: #4C9BFF;
  --chart-3: #FF9F43;
  --chart-4: #3FC27A;
  --chart-5: #B48CFF;
  --chart-6: #FF6FA8;
}

@media (prefers-color-scheme: dark) {
  html:root[data-theme="auto"] {
    color-scheme: dark;
    --canvas: #111113;
    --surface-1: #1C1C1E;
    --surface-2: #202023;
    --surface-3: #2A2A2D;
    --elevated: #26262A;
    --fill: #2A2A2D;
    --fill-strong: #333336;
    --line: #2E2E31;
    --line-strong: #3A3A3D;
    --ink-1: #F2F2F7;
    --ink-2: #D1D1D6;
    --ink-3: #A1A1A6;
    --ink-4: #98989F;
    --success: #4CD07D;
    --success-soft: #18301F;
    --warning: #FFB340;
    --warning-soft: #36280F;
    --danger: #FF6961;
    --danger-soft: #3A1A18;
    --info: #64A8FF;
    --info-soft: #172638;
    --status-draft: #B5BCC7;
    --status-draft-soft: #2A2D33;
    --status-scheduled: #64A8FF;
    --status-scheduled-soft: #172638;
    --status-checked-in: #FFC266;
    --status-checked-in-soft: #36290F;
    --status-in-progress: #C3A2FF;
    --status-in-progress-soft: #2A2140;
    --status-completed: #4CD07D;
    --status-completed-soft: #18301F;
    --status-cancelled: #FF8A84;
    --status-cancelled-soft: #3A1A18;
    --status-signed: #45D3C5;
    --status-signed-soft: #16302E;
    --status-expired: #D6B892;
    --status-expired-soft: #33291E;
    --swatch-green: #3FC27A;
    --swatch-blue: #4C9BFF;
    --swatch-pink: #FF6FA8;
    --swatch-orange: #FF9F43;
    --swatch-purple: #B48CFF;
    --swatch-teal: #2EC4B6;
    --elev-1: 0 1px 2px rgba(0, 0, 0, .4);
    --elev-2: 0 1px 3px rgba(0, 0, 0, .45), 0 4px 14px rgba(0, 0, 0, .35);
    --elev-3: 0 2px 6px rgba(0, 0, 0, .5), 0 12px 28px rgba(0, 0, 0, .4);
    --elev-pop: 0 10px 34px rgba(0, 0, 0, .6), 0 0 0 1px rgba(255, 255, 255, .06);
  }
  html:root[data-theme="auto"]:not([data-accent]),
  html:root[data-theme="auto"][data-accent="blue"] {
    --accent: #4C9BFF;
    --accent-hover: #66AAFF;
    --accent-press: #3F8DF0;
    --accent-soft: #1A2638;
    --accent-on: #06101F;
    --accent-ring: #4C9BFF;
    --anatomy-mark: #FF6FA8;
    --chart-1: #4C9BFF;
    --chart-2: #FF9F43;
    --chart-3: #3FC27A;
    --chart-4: #B48CFF;
    --chart-5: #FF6FA8;
    --chart-6: #2EC4B6;
  }
  html:root[data-theme="auto"][data-accent="green"] {
    --accent: #3FC27A;
    --accent-hover: #58CC8C;
    --accent-press: #35AE6C;
    --accent-soft: #1B2E23;
    --accent-on: #06140C;
    --accent-ring: #3FC27A;
    --anatomy-mark: #FF6FA8;
    --chart-1: #3FC27A;
    --chart-2: #4C9BFF;
    --chart-3: #FF9F43;
    --chart-4: #B48CFF;
    --chart-5: #FF6FA8;
    --chart-6: #2EC4B6;
  }
  html:root[data-theme="auto"][data-accent="pink"] {
    --accent: #FF6FA8;
    --accent-hover: #FF88B8;
    --accent-press: #F25D99;
    --accent-soft: #3A1D29;
    --accent-on: #1E0610;
    --accent-ring: #FF6FA8;
    --anatomy-mark: #4C9BFF;
    --chart-1: #FF6FA8;
    --chart-2: #4C9BFF;
    --chart-3: #FF9F43;
    --chart-4: #3FC27A;
    --chart-5: #B48CFF;
    --chart-6: #2EC4B6;
  }
  html:root[data-theme="auto"][data-accent="orange"] {
    --accent: #FF9F43;
    --accent-hover: #FFB062;
    --accent-press: #F2902F;
    --accent-soft: #3A2716;
    --accent-on: #1E1003;
    --accent-ring: #FF9F43;
    --anatomy-mark: #FF6FA8;
    --chart-1: #FF9F43;
    --chart-2: #4C9BFF;
    --chart-3: #3FC27A;
    --chart-4: #B48CFF;
    --chart-5: #FF6FA8;
    --chart-6: #2EC4B6;
  }
  html:root[data-theme="auto"][data-accent="purple"] {
    --accent: #B48CFF;
    --accent-hover: #C3A2FF;
    --accent-press: #A57AF5;
    --accent-soft: #2A2140;
    --accent-on: #120725;
    --accent-ring: #B48CFF;
    --anatomy-mark: #FF6FA8;
    --chart-1: #B48CFF;
    --chart-2: #4C9BFF;
    --chart-3: #FF9F43;
    --chart-4: #3FC27A;
    --chart-5: #FF6FA8;
    --chart-6: #2EC4B6;
  }
  html:root[data-theme="auto"][data-accent="teal"] {
    --accent: #2EC4B6;
    --accent-hover: #4DD0C3;
    --accent-press: #26B2A5;
    --accent-soft: #16302E;
    --accent-on: #03181A;
    --accent-ring: #2EC4B6;
    --anatomy-mark: #FF6FA8;
    --chart-1: #2EC4B6;
    --chart-2: #4C9BFF;
    --chart-3: #FF9F43;
    --chart-4: #3FC27A;
    --chart-5: #B48CFF;
    --chart-6: #FF6FA8;
  }
}

/* 0.5 px hairlines on 2x screens */
@media (min-resolution: 2dppx) { html:root { --hairline: .5px; } }
/* Touch: 44 px targets under a coarse pointer */
@media (pointer: coarse) { html:root { --touch-min: 44px; --control-h: 44px; } }
/* Phones: compact top bar */
@media (max-width: 899px) { html:root { --topbar-h: 52px; } }
/* Reduced motion: opacity-only changes, at most 90 ms; no scale or slide */
@media (prefers-reduced-motion: reduce) { html:root { --dur-fast: 90ms; --dur-base: 90ms; --dur-slow: 90ms; --ease-spring: var(--ease-out); --press-scale: 1; --motion-shift: 0; } }
/* Reduced transparency / more contrast: materials become opaque */
@media (prefers-reduced-transparency: reduce) { html:root { --material-bg: var(--material-fallback); --material-filter: none; } }
@media (prefers-contrast: more) { html:root { --material-bg: var(--material-fallback); --material-filter: none; } }
