:root {
  color-scheme: dark;

  --color-background: #0b0c0d;
  --color-background-subtle: #101214;
  --color-surface-sunken: #0f1113;
  --color-surface: #151719;
  --color-surface-raised: #1b1e21;
  --color-surface-hover: #22262a;
  --color-surface-inverse: #f6f1e7;
  --color-border: #2b2e31;
  --color-border-strong: #3c4044;
  --color-border-accent: rgb(211 172 74 / 34%);
  --color-text: #f7f5f0;
  --color-text-secondary: #b7b5af;
  --color-text-muted: #85837e;
  --color-text-inverse: #181714;
  --color-accent: #d3ac4a;
  --color-accent-hover: #e0be68;
  --color-accent-active: #b89135;
  --color-accent-soft: rgb(211 172 74 / 11%);
  --color-success: #64c48d;
  --color-success-soft: rgb(100 196 141 / 13%);
  --color-warning: #e2ae55;
  --color-warning-soft: rgb(226 174 85 / 14%);
  --color-danger: #eb7770;
  --color-danger-soft: rgb(235 119 112 / 13%);
  --color-info: #76a9e8;
  --color-info-soft: rgb(118 169 232 / 13%);
  --color-focus: #f2ca68;
  --color-overlay: rgb(0 0 0 / 72%);

  /* Marca do produto e personalização segura por tenant. */
  --tenant-primary: var(--color-accent);
  --tenant-secondary: #8f7650;
  --tenant-on-primary: #18140a;
  --tenant-primary-soft: var(--color-accent-soft);

  /* Estados de agenda: texto/ícone acompanha toda ocorrência de cor. */
  --appointment-scheduled: #76a9e8;
  --appointment-confirmed: #9a8fe8;
  --appointment-in-service: #e2ae55;
  --appointment-completed: #64c48d;
  --appointment-cancelled: #eb7770;
  --appointment-no-show: #a7a39a;

  /* Séries de gráficos, ordenadas para contraste em ambos os temas. */
  --chart-1: #d3ac4a;
  --chart-2: #76a9e8;
  --chart-3: #64c48d;
  --chart-4: #ba8ed8;
  --chart-5: #e48c6d;
  --chart-6: #6fc1ba;
  --chart-grid: rgb(183 181 175 / 16%);
  --chart-axis: var(--color-text-muted);
  --chart-tooltip: var(--color-surface-raised);

  --font-sans:
    'Barlow', Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    'Segoe UI', sans-serif;
  --font-display: var(--font-sans);
  --font-mono: 'SFMono-Regular', Consolas, 'Liberation Mono', monospace;

  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-md: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.375rem;
  --font-size-2xl: clamp(1.65rem, 2vw, 2rem);
  --font-size-3xl: clamp(2rem, 3vw, 2.75rem);
  --font-size-display: clamp(2.75rem, 6vw, 5rem);
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-display: 780;

  --line-height-tight: 1.15;
  --line-height-heading: 1.25;
  --line-height-body: 1.55;
  --letter-spacing-tight: -0.025em;
  --letter-spacing-wide: 0.08em;

  --space-0: 0;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;

  --radius-xs: 0.25rem;
  --radius-sm: 0.5rem;
  --radius-md: 0.75rem;
  --radius-lg: 1rem;
  --radius-xl: 1.25rem;
  --radius-2xl: 1.5rem;
  --radius-full: 999rem;

  --shadow-xs: 0 1px 2px rgb(0 0 0 / 28%);
  --shadow-sm: 0 4px 14px rgb(0 0 0 / 22%);
  --shadow-md: 0 14px 34px rgb(0 0 0 / 28%);
  --shadow-lg: 0 24px 64px rgb(0 0 0 / 38%);
  --shadow-focus: 0 0 0 3px rgb(242 202 104 / 26%);

  --duration-instant: 80ms;
  --duration-fast: 150ms;
  --duration-normal: 200ms;
  --duration-slow: 260ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-enter: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-exit: cubic-bezier(0.4, 0, 1, 1);
  --ease-spring: linear(
    0,
    0.009,
    0.036 2.1%,
    0.151 4.8%,
    0.644 12.7%,
    0.853 16.9%,
    0.975 21.5%,
    1.025 26.9%,
    1.032 33.8%,
    1.006 48.9%,
    1
  );

  --icon-xs: 0.875rem;
  --icon-sm: 1rem;
  --icon-md: 1.25rem;
  --icon-lg: 1.5rem;
  --icon-xl: 2rem;

  --sidebar-width: 17rem;
  --header-height: 4.5rem;
  --content-max: 100rem;
  --control-height-sm: 2.25rem;
  --control-height: 2.75rem;
  --control-height-lg: 3.125rem;
  --touch-target: 2.75rem;

  --z-base: 0;
  --z-raised: 10;
  --z-sticky: 100;
  --z-sidebar: 200;
  --z-dropdown: 400;
  --z-overlay: 600;
  --z-modal: 700;
  --z-toast: 800;
  --z-tooltip: 900;

  /* Compatibilidade com as folhas legadas. */
  --bg-primary: var(--color-background);
  --bg-secondary: var(--color-surface);
  --bg-tertiary: var(--color-surface-raised);
  --bg-sidebar: var(--color-background-subtle);
  --bg-card: var(--color-surface);
  --bg-card-hover: var(--color-surface-hover);
  --bg-glass: rgb(21 23 25 / 82%);
  --bg-glass-border: var(--color-border);
  --accent: var(--color-accent);
  --accent-light: var(--color-accent-hover);
  --accent-dark: var(--color-accent-active);
  --accent-glow: var(--color-accent-soft);
  --text-primary: var(--color-text);
  --text-secondary: var(--color-text-secondary);
  --text-tertiary: var(--color-text-muted);
  --success: var(--color-success);
  --success-bg: var(--color-success-soft);
  --warning: var(--color-warning);
  --warning-bg: var(--color-warning-soft);
  --danger: var(--color-danger);
  --danger-bg: var(--color-danger-soft);
  --info: var(--color-info);
  --info-bg: var(--color-info-soft);
  --transition-fast: var(--duration-fast) var(--ease-standard);
  --transition-base: var(--duration-normal) var(--ease-standard);
  --transition-slow: var(--duration-slow) var(--ease-standard);
}

.light-theme {
  color-scheme: light;
  --color-background: #f4f2ed;
  --color-background-subtle: #ebe7df;
  --color-surface-sunken: #eeebe4;
  --color-surface: #fffdf9;
  --color-surface-raised: #ffffff;
  --color-surface-hover: #f6f2ea;
  --color-border: #dcd6ca;
  --color-border-strong: #c7bfaf;
  --color-text: #22211e;
  --color-text-secondary: #595750;
  --color-text-muted: #77736b;
  --color-overlay: rgb(20 18 14 / 52%);
  --tenant-on-primary: #1d180c;
  --chart-grid: rgb(89 87 80 / 16%);
  --shadow-xs: 0 1px 2px rgb(42 36 24 / 8%);
  --shadow-sm: 0 5px 16px rgb(42 36 24 / 9%);
  --shadow-md: 0 16px 38px rgb(42 36 24 / 12%);
}
