/*
 * Ashford Hub · tokens de design (docs/design/CONTRACT.md §1).
 *
 * Fonte unica de cor, tipo, raio, sombra e espaco do painel cliente, do shell
 * admin e das telas publicas. Valores do contrato sao [est.]; os pares de texto
 * foram escurecidos onde o mockup nao atingia WCAG AA (razoes no comentario).
 * Tema unico claro: modo escuro e opcional no brief e fica fora do 1o release.
 */
:root {
  color-scheme: light;

  /* superficies */
  --bg: #f6f8f7;              /* fundo da pagina e da sidebar cliente */
  --surface: #ffffff;         /* card, drawer, tabela */
  --surface-2: #f4f6f5;       /* thead, bloco de dica */
  --surface-3: #eef1ef;       /* hover neutro */
  --border: #e3e8e5;          /* divisores e cards (decorativo) */
  --border-strong: #cbd3cf;   /* botao secundario */
  --border-control: #7d8a83;  /* contorno de input/checkbox: 3.6:1 no branco (WCAG 1.4.11) */

  /* texto */
  --text: #0f1b2d;            /* 16.2:1 em --bg */
  --text-2: #5b6673;          /* 5.5:1 em --bg */
  --muted: #5f6b77;           /* substitui #8A949E do mockup (3.1:1) — 5.0:1 em --surface-2 */
  --placeholder: #6b7580;     /* 4.7:1 no branco */

  /* acao (verde) */
  --green-600: #0e7a5b;       /* branco sobre ele 5.3:1 */
  --green-700: #0b6149;
  --green-50: #e5f3ec;
  --green-200: #8fd6b6;

  /* acento admin (violeta) */
  --violet-600: #5b3fd1;      /* branco sobre ele 6.8:1 */
  --violet-700: #4a32b0;      /* sobre --violet-50 7.5:1 */
  --violet-50: #eeeafc;
  --violet-300: #a78bfa;

  /* acento ativo: verde no cliente; .shell-admin troca para violeta */
  --accent: var(--green-600);
  --accent-hover: var(--green-700);
  --accent-soft: var(--green-50);
  --accent-ink: var(--green-700);   /* texto do item ativo sobre --accent-soft: 6.5:1 */
  --accent-text: #ffffff;

  /* estados: texto >= 4.5:1 sobre o proprio fundo */
  --ok: #146c43;              /* mockup #15803D daria 4.4:1 */
  --ok-dot: #22a05a;
  --ok-soft: #e3f5ea;
  --warn: #9a4a06;            /* mockup #B45309 daria 4.6:1; margem para o ponto */
  --warn-dot: #f59e0b;
  --warn-soft: #fef3e2;
  --warn-border: #f8d9a8;
  --danger: #b91c1c;          /* 5.7:1 */
  --danger-dot: #dc2626;
  --danger-soft: #fdecec;
  --danger-border: #f5c2c2;
  --danger-solid: #b91c1c;    /* botao solido: branco 6.5:1 (#DC2626 daria 4.8:1) */
  --info: #1d4ed8;            /* mockup #2563EB daria 4.6:1 */
  --info-soft: #eaf2fe;
  --neutral: #4b5563;
  --neutral-dot: #8a949e;
  --neutral-soft: #eef0f2;

  /* codigo e graficos */
  --code-bg: #101b2e;
  --code-text: #e6edf3;
  --chart-1: var(--green-600);
  --chart-2: var(--green-200);

  /* tipografia: pilha de sistema, sem fonte remota */
  --sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  --fs-display: 44px;
  --fs-h1: 32px;
  --fs-h1-mobile: 24px;
  --fs-subtitle: 16px;
  --fs-h2: 18px;
  --fs-kpi: 28px;
  --fs-body: 14px;
  --fs-th: 13px;
  --fs-meta: 13px;
  --fs-overline: 12px;

  /* raio e sombra */
  --radius-sm: 8px;           /* input, botao */
  --radius: 12px;             /* card */
  --radius-lg: 16px;          /* modal */
  --radius-pill: 999px;
  --shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);
  --shadow: 0 4px 16px rgba(16, 24, 40, .08);
  --shadow-drawer: -8px 0 24px rgba(16, 24, 40, .08);
  --shadow-lg: 0 18px 48px rgba(16, 24, 40, .16);

  /* espaco: grade de 8px */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space: var(--space-4);

  /* layout */
  --sidebar-w: 256px;
  --header-h: 60px;
  --content-max: 1440px;
  --target-min: 44px;
  --control-h: 40px;
}

/* Shell admin: mesmo sistema, acento violeta. Estados seguem semanticos. */
.shell-admin {
  --accent: var(--violet-600);
  --accent-hover: var(--violet-700);
  --accent-soft: var(--violet-50);
  --accent-ink: var(--violet-700);
  --chart-1: var(--violet-600);
  --chart-2: var(--violet-300);
}
