/* =========================================================================
   NEXORA — DESIGN TOKENS
   Light design system for the Nexora financial admin panel, na linguagem
   visual do wireframe de referencia (Portal Terracina / Fosfo): fundo
   neutro claro, texto quase preto, tipografia Helvetica/sistema, sem
   gradientes ou glows decorativos. Acento de marca (verde-petroleo) usado
   com moderacao (links, foco, graficos) — nunca como base da interface.

   ⚠️ DECISAO FINAL DE DESIGN (nao reverter): o tema claro e a marca
   "Nexora" (nao "Vexora") sao definitivos, pedidos explicitamente pelo
   cliente. Ver STATUS.md. Se este arquivo aparecer com color-scheme:dark
   de novo, e uma regressao, nao uma correcao.

   These custom properties are the single source of truth for color,
   type, spacing, radius and elevation. Every screen and component
   consumes these — never hardcode a raw value in a page file.
   ========================================================================= */

:root {
  color-scheme: light;

  --bg-base:        #EFEFEC;
  --bg-sidebar:     #FFFFFF;
  --bg-surface:      #FFFFFF;
  --bg-surface-2:    #F4F4F1;
  --bg-surface-3:    #FFFFFF;
  --bg-surface-4:    #EAEAE5;
  --bg-overlay:       rgba(24, 24, 22, 0.45);

  --bg-input:         #F4F4F1;
  --bg-input-hover:   #EFEFEA;
  --bg-input-focus:   #FFFFFF;
  --bg-input-disabled:#F7F7F5;

  --border-subtle:  #E7E7E2;
  --border-default: #DCDCD6;
  --border-strong:  #C7C7BE;
  --border-focus:   #146A63;

  --text-primary:   #1C1C1A;
  --text-secondary: #55554E;
  --text-tertiary:  #6B6B62;
  --text-disabled:  #ACACA3;
  --text-inverse:   #FAFAF8;
  --text-link:      #146A63;

  --brand-100: #E3F1EE;
  --brand-300: #8FC9BE;
  --brand-400: #3E9C8D;
  --brand-500: #146A63;
  --brand-600: #0F5450;
  --brand-700: #0B403D;
  --brand-glow: rgba(20, 106, 99, 0.16);
  --brand-gradient: var(--text-primary);
  --brand-gradient-soft: rgba(20, 106, 99, 0.10);

  --status-pending:      #9A6A0A;
  --status-pending-bg:   rgba(154, 106, 10, 0.12);
  --status-pending-border: rgba(154, 106, 10, 0.3);

  --status-scheduled:      #2C6CA8;
  --status-scheduled-bg:   rgba(44, 108, 168, 0.12);
  --status-scheduled-border: rgba(44, 108, 168, 0.3);

  --status-confirmed:      #1C7A4D;
  --status-confirmed-bg:   rgba(28, 122, 77, 0.12);
  --status-confirmed-border: rgba(28, 122, 77, 0.3);

  --status-error:      #B3261E;
  --status-error-bg:   rgba(179, 38, 30, 0.12);
  --status-error-border: rgba(179, 38, 30, 0.3);

  --status-neutral:      #6B6B62;
  --status-neutral-bg:   rgba(107, 107, 98, 0.12);
  --status-neutral-border: rgba(107, 107, 98, 0.3);

  --chart-1: #146A63;
  --chart-2: #B7791F;
  --chart-3: #2C6CA8;
  --chart-4: #6B6B3D;
  --chart-5: #B3261E;
  --chart-6: #1C7A4D;
  --chart-grid: #E7E7E2;
  --chart-axis-text: #6B6B62;

  --font-sans: "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;

  --fs-h1: 32px;   --lh-h1: 40px;  --fw-h1: 700;
  --fs-h2: 26px;   --lh-h2: 34px;  --fw-h2: 700;
  --fs-h3: 21px;   --lh-h3: 28px;  --fw-h3: 600;
  --fs-h4: 17px;   --lh-h4: 24px;  --fw-h4: 600;
  --fs-h5: 15px;   --lh-h5: 22px;  --fw-h5: 600;
  --fs-h6: 13px;   --lh-h6: 18px;  --fw-h6: 600;

  --fs-body: 14px;    --lh-body: 21px;    --fw-body: 400;
  --fs-body-md: 14px;  --fw-body-md: 500;
  --fs-small: 13px;   --lh-small: 18px;
  --fs-caption: 12px; --lh-caption: 16px;
  --fs-mono-num: 14px;

  --tracking-eyebrow: 0.06em;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;

  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 20px;
  --radius-full: 999px;

  --shadow-sm: 0 1px 2px rgba(28, 28, 26, 0.06);
  --shadow-md: 0 4px 12px rgba(28, 28, 26, 0.08), 0 1px 2px rgba(28, 28, 26, 0.04);
  --shadow-lg: 0 12px 32px rgba(28, 28, 26, 0.10), 0 2px 6px rgba(28, 28, 26, 0.05);
  --shadow-xl: 0 24px 64px rgba(28, 28, 26, 0.14), 0 4px 12px rgba(28, 28, 26, 0.06);
  --shadow-focus: 0 0 0 3px var(--brand-glow);
  --shadow-glow-brand: none;

  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --duration-fast: 120ms;
  --duration-base: 200ms;
  --duration-slow: 320ms;

  --sidebar-width: 260px;
  --sidebar-width-collapsed: 76px;
  --topbar-height: 64px;
  --content-max-width: 1440px;
  --z-sidebar: 100;
  --z-topbar: 90;
  --z-dropdown: 200;
  --z-modal-backdrop: 300;
  --z-modal: 310;
  --z-toast: 400;
}

/* Tema alternativo explícito; claro permanece como padrão. */
:root[data-theme="dark"] {
 color-scheme:dark;
 --bg-base:#141817; --bg-sidebar:#1b201e; --bg-surface:#1b201e; --bg-surface-2:#242b28; --bg-surface-3:#202723; --bg-surface-4:#303b35;
 --bg-input:#242b28; --bg-input-hover:#2c3530; --bg-input-focus:#202723; --bg-input-disabled:#202522;
 --border-subtle:#303a34; --border-default:#404c44; --border-strong:#5a6b5f; --border-focus:#80cbb2;
 --text-primary:#edf2ee; --text-secondary:#becac1; --text-tertiary:#a2b0a6; --text-disabled:#748178; --text-link:#86d2ba;
 --brand-100:#263e34; --brand-300:#57977e; --brand-400:#80cbb2; --brand-500:#80cbb2; --brand-600:#a1e2cc;
 --brand-gradient:#d7e9df; --brand-gradient-soft:#263e34; --brand-glow:rgba(128,203,178,.2);
 --status-pending:#e4ba65; --status-pending-bg:rgba(228,186,101,.12); --status-pending-border:rgba(228,186,101,.3);
 --status-confirmed:#83d7aa; --status-confirmed-bg:rgba(131,215,170,.12); --status-confirmed-border:rgba(131,215,170,.3);
 --status-scheduled:#8fbfe9; --status-scheduled-bg:rgba(143,191,233,.12); --status-scheduled-border:rgba(143,191,233,.3);
 --status-error:#f19b93; --status-error-bg:rgba(241,155,147,.12); --status-error-border:rgba(241,155,147,.3);
 --status-neutral:#b3c0b7; --chart-1:#80cbb2; --chart-5:#f19b93; --chart-6:#83d7aa; --chart-grid:#354039;
 --bg-overlay:rgba(0,0,0,.65);
}
