/* ═══════════════════════════════════════════════════════════════════════════
   FULL Geo Ops Design System — tokens canônicos (importados do projeto Claude
   Design "FULL Geo Ops Design System" 34e1f0bc, reconstruído do produto vivo
   com valores EXATOS; fonte interna: full-services-hub/full-design).
   Carregado APÓS tokens.css do handoff — em conflito, ESTE arquivo é canônico.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── tokens/colors.css — Color tokens (linha 4.0) ─────────────────────────── */
:root{
  /* ---- Brand yellow (the FULL color) ---- */
  --fs-yellow: #FFD910;          /* amarelo-mãe — CTAs, ações, estados ativos */
  --fs-yellow-hover: #EACD2F;    /* hover/mid */
  --fs-yellow-soft: #FFF9D8;     /* fundo suave (produto) */
  --fs-yellow-soft-web: #FFFBE4; /* fundo suave (web/LPs) */
  --fs-yellow-cream: #FFFDF0;    /* topo do gradiente-assinatura */
  --fs-on-yellow: #182230;       /* texto sobre amarelo */

  --fs-gold: #FFD700;            /* dourado secundário — detalhes de marca, logo */
  --fs-gold-text: #D19E00;       /* dourado tipográfico sobre claro (eyebrows, ícones) */
  --fs-gold-dark: #B39700;       /* hover/borda de dourado */

  /* ---- Ink / text (never pure black) ---- */
  --fs-ink: #13171E;             /* títulos */
  --fs-body: #334155;            /* texto-corpo — slate */
  --fs-muted: #667085;           /* texto secundário/metadados */
  --fs-ui-gray: #344054;         /* labels/ícones de UI */
  --fs-gray-strong: #475467;
  --fs-gray-400: #98A2B3;
  --fs-near-black: #0C111D;

  /* ---- Surfaces ---- */
  --fs-canvas: #FFFFFF;
  --fs-canvas-warm: #FFFDF0;
  --fs-surface-card: #FFFFFF;
  --fs-surface-soft: #F9FAFB;
  --fs-surface-alt: #F5F8FA;
  --fs-hairline: #E9ECF0;        /* bordas padrão (produto) */
  --fs-hairline-web: #E5E7EB;    /* bordas (web) */

  /* ---- Deep accent — sparingly, max 1 section per page ---- */
  --fs-deep-accent: #004437;

  /* ---- Semantic (always paired bg/text, pill radius) ---- */
  --fs-success: #039855;
  --fs-success-bg: #D1FADF;
  --fs-success-dot: #17B26A;
  --fs-danger: #E43B25;
  --fs-danger-bg: #FFE5E2;
  --fs-info: #1B4BF5;
  --fs-info-bg: #EEF1FE;
  --fs-warning: #A67102;
  --fs-warning-bg: #FFF9D8;

  --fs-scrim: rgba(0,0,0,.5);

  /* ---- Signature background gradient (content area only, never on cards) ---- */
  --fs-app-gradient:
    radial-gradient(ellipse 800px 500px at 10% 0%, rgba(255,217,16,.22) 0%, transparent 70%),
    radial-gradient(ellipse 600px 600px at 90% 30%, rgba(255,217,16,.12) 0%, transparent 70%),
    linear-gradient(180deg, #FFFDF0 0%, #FFFFFF 60%);
}

/* ── tokens/spacing.css — Spacing, radius, shadow, motion ─────────────────── */
:root{
  --fs-space-xs: 4px;
  --fs-space-sm: 8px;
  --fs-space-md: 12px;
  --fs-space-base: 16px;
  --fs-space-lg: 20px;
  --fs-space-xl: 24px;
  --fs-space-xxl: 32px;
  --fs-space-section: 28px;

  --fs-radius-xs: 2px;         /* underline details */
  --fs-radius-sm: 8px;
  --fs-radius-interact: 10px;  /* inputs & buttons — the "interaction" radius */
  --fs-radius-md: 12px;        /* default card radius */
  --fs-radius-lg: 16px;        /* large cards */
  --fs-radius-xl: 20px;
  --fs-radius-full: 999px;     /* pills, avatars, counters */

  --fs-shadow-card: 0 1px 2px rgba(16,24,40,.05);
  --fs-nav-shadow: 0 6px 24px rgba(16,24,40,.08);

  --fs-ease-out: cubic-bezier(.16,1,.3,1);
  --fs-duration-fast: .13s;
  --fs-duration-base: .4s;

  --fs-header-height: 60px;
  --fs-topbar-height: 62px;
  --fs-sidebar-width: 232px; /* produto real (handoff); DS dizia 212 e quebrava labels */
  --fs-bp-tablet: 768px;
  --fs-bp-mobile: 480px;
}

/* ── tokens/typography.css — Inter é a ÚNICA família; mono só p/ dado técnico ── */
:root{
  --fs-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --fs-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  --fs-text-display-xl: 700 48px/1.1 var(--fs-font-sans);   /* h1 / hero */
  --fs-text-display-lg: 700 36px/1.2 var(--fs-font-sans);   /* h2 */
  --fs-text-display-md: 600 28px/1.2 var(--fs-font-sans);   /* h3 */
  --fs-text-display-sm: 600 22px/1.2 var(--fs-font-sans);   /* h4 */

  --fs-text-page-title: 800 23px/1.2 var(--fs-font-sans);   /* greeting, tracking -0.3px */
  --fs-text-section-title: 700 15px/1.3 var(--fs-font-sans);
  --fs-text-metric: 800 26px/1.1 var(--fs-font-sans);       /* métricas, tabular-nums */

  --fs-text-body-md: 400 16px/1.5 var(--fs-font-sans);
  --fs-text-body-sm: 400 13.5px/1.5 var(--fs-font-sans);
  --fs-text-button: 600 13px/1.2 var(--fs-font-sans);
  --fs-text-label: 500 12.5px/1.3 var(--fs-font-sans);
  --fs-text-caption: 500 12px/1.35 var(--fs-font-sans);
  --fs-text-data-mono: 400 12px/1.4 var(--fs-font-mono);
}

/* ── tokens/figma-variables.css — camada primitiva (ramps) ────────────────── */
:root {
  --gray-25: rgb(252,252,253);
  --gray-50: rgb(249,250,251);
  --gray-100: rgb(242,244,247);
  --gray-200: rgb(234,236,240);
  --gray-300: rgb(208,213,221);
  --gray-400: rgb(152,162,179);
  --gray-500: rgb(102,112,133);
  --gray-600: rgb(71,84,103);
  --gray-700: rgb(52,64,84);
  --gray-800: rgb(24,34,48);
  --gray-900: rgb(16,24,40);
  --gray-950: rgb(12,17,29);

  --primary-50: rgb(255,252,235);
  --primary-100: rgb(255,249,216);
  --primary-200: rgb(255,236,136);
  --primary-300: rgb(255,221,74);
  --primary-400: rgb(255,203,32);
  --primary-500: rgb(255,215,0);
  --primary-600: rgb(209,158,0);
  --primary-700: rgb(166,113,2);
  --primary-800: rgb(137,88,10);
  --primary-900: rgb(116,72,15);
  --primary-950: rgb(68,38,4);

  --secondary-400: rgb(52,152,219);
  --secondary-600: rgb(23,111,178);

  --weight-regular: 400; --weight-medium: 500; --weight-semibold: 600;
  --weight-bold: 700; --weight-extra-bold: 800;
}
