/* ============================================= */
/*  FPFtech Design System — CSS Custom Properties */
/*  v1.0.0                                        */
/* ============================================= */

/*  VENDORED ARTEFACT — DO NOT EDIT.
 *
 *  The institutional token export, verbatim, from the Design System's
 *  handoff page (http://design-system.net.dev.fpf/tokens). Kept byte-for-byte
 *  so a future export can be dropped in and diffed.
 *
 *  Anything this project needs on top - an explicitly chosen theme rather
 *  than the system one, the dark sidebar surface, shadows - lives in
 *  theme.css, which loads after this and never edits it.
 */

/* ---------- Light Mode ---------- */
:root {
  --fpf-bg-base: #FFFFFF;
  --fpf-bg-subtle: #F4F4F4;
  --fpf-bg-muted: #EAEAEA;
  --fpf-bg-elevated: #FFFFFF;
  --fpf-surface-default: #FFFFFF;
  --fpf-surface-raised: #FFFFFF;
  --fpf-surface-sunken: #F4F4F4;
  --fpf-border-default: #DFDEDE;
  --fpf-border-strong: #C8C8C8;
  --fpf-border-focus: #B3C50E;
  --fpf-content-primary: #383839;
  --fpf-content-secondary: #4A4A4B;
  --fpf-content-tertiary: #8C8C8C;
  --fpf-content-disabled: #A0A0A0;
  --fpf-content-inverse: #FFFFFF;
  --fpf-link-default: #7A8A09;
  --fpf-interactive-primary-default: #B3C50E;
  --fpf-interactive-primary-hover: #8FA00B;
  --fpf-interactive-primary-active: #7A8A09;
  --fpf-interactive-primary-subtle: #EEF3C0;
  --fpf-interactive-primary-on: #383839;
  --fpf-interactive-secondary-default: #383839;
  --fpf-interactive-secondary-hover: #474647;
  --fpf-interactive-secondary-on: #FFFFFF;
  --fpf-interactive-accent-default: #34AE53;
  --fpf-interactive-accent-hover: #28924A;
  --fpf-interactive-accent-subtle: rgba(52,174,83,0.10);
  --fpf-interactive-accent-on: #FFFFFF;
  --fpf-status-success-bg: rgba(52,174,83,0.10);
  --fpf-status-success-border: rgba(52,174,83,0.30);
  --fpf-status-success-content: #1E7A3A;
  --fpf-status-success-solid: #34AE53;
  --fpf-status-warning-bg: rgba(229,160,32,0.10);
  --fpf-status-warning-border: rgba(229,160,32,0.30);
  --fpf-status-warning-content: #C8860A;
  --fpf-status-warning-solid: #E5A020;
  --fpf-status-danger-bg: rgba(217,64,64,0.10);
  --fpf-status-danger-border: rgba(217,64,64,0.25);
  --fpf-status-danger-content: #B83535;
  --fpf-status-danger-solid: #D94040;
  --fpf-status-info-bg: rgba(45,143,212,0.10);
  --fpf-status-info-border: rgba(45,143,212,0.25);
  --fpf-status-info-content: #1666A0;
  --fpf-status-info-solid: #2D8FD4;

  /* Typography */
  --fpf-font-family: DM Sans;
  --fpf-font-size-xs: 10px;
  --fpf-font-size-sm: 12px;
  --fpf-font-size-md: 14px;
  --fpf-font-size-base: 16px;
  --fpf-font-size-lg: 18px;
  --fpf-font-size-xl: 22px;
  --fpf-font-size-2xl: 28px;
  --fpf-font-size-3xl: 36px;
  --fpf-font-size-4xl: 48px;
  --fpf-font-weight-regular: 400;
  --fpf-font-weight-medium: 500;
  --fpf-font-weight-semibold: 600;
  --fpf-font-weight-bold: 700;
  --fpf-font-weight-extrabold: 800;
  --fpf-font-weight-black: 900;
  --fpf-lineHeight-tight: 1.1;
  --fpf-lineHeight-normal: 1.5;
  --fpf-lineHeight-relaxed: 1.65;
  --fpf-letterSpacing-tight: -0.03em;
  --fpf-letterSpacing-normal: 0em;
  --fpf-letterSpacing-wider: 0.08em;
  --fpf-letterSpacing-widest: 0.18em;

  /* Layout */
  --fpf-space-1: 4px;
  --fpf-space-2: 8px;
  --fpf-space-3: 12px;
  --fpf-space-4: 16px;
  --fpf-space-5: 20px;
  --fpf-space-6: 24px;
  --fpf-space-8: 32px;
  --fpf-space-12: 48px;
  --fpf-space-16: 64px;
  --fpf-radius-xs: 4px;
  --fpf-radius-sm: 6px;
  --fpf-radius-md: 10px;
  --fpf-radius-lg: 16px;
  --fpf-radius-xl: 24px;
  --fpf-radius-2xl: 32px;
  --fpf-radius-full: 9999px;
}

/* ---------- Dark Mode ---------- */
@media (prefers-color-scheme: dark) {
  :root {
    --fpf-bg-base: #222223;
    --fpf-bg-subtle: #383839;
    --fpf-bg-muted: rgba(255,255,255,0.05);
    --fpf-bg-elevated: #383839;
    --fpf-surface-default: #1E1E1F;
    --fpf-surface-raised: #2A2A2B;
    --fpf-surface-sunken: rgba(0,0,0,0.20);
    --fpf-border-default: rgba(255,255,255,0.10);
    --fpf-border-strong: rgba(255,255,255,0.18);
    --fpf-border-focus: #B3C50E;
    --fpf-content-primary: rgba(255,255,255,0.95);
    --fpf-content-secondary: rgba(255,255,255,0.65);
    --fpf-content-tertiary: rgba(255,255,255,0.40);
    --fpf-content-disabled: rgba(255,255,255,0.25);
    --fpf-content-inverse: #222223;
    --fpf-link-default: #C4D218;
    --fpf-interactive-primary-default: #B3C50E;
    --fpf-interactive-primary-hover: #C4D218;
    --fpf-interactive-primary-active: #D4E038;
    --fpf-interactive-primary-subtle: rgba(179,197,14,0.15);
    --fpf-interactive-primary-on: #222223;
    --fpf-interactive-secondary-default: rgba(255,255,255,0.12);
    --fpf-interactive-secondary-hover: rgba(255,255,255,0.18);
    --fpf-interactive-secondary-on: rgba(255,255,255,0.95);
    --fpf-interactive-accent-default: #50C96C;
    --fpf-interactive-accent-hover: #34AE53;
    --fpf-interactive-accent-subtle: rgba(52,174,83,0.15);
    --fpf-interactive-accent-on: #222223;
    --fpf-status-success-bg: rgba(52,174,83,0.15);
    --fpf-status-success-border: rgba(52,174,83,0.30);
    --fpf-status-success-content: #50C96C;
    --fpf-status-success-solid: #34AE53;
    --fpf-status-warning-bg: rgba(229,160,32,0.15);
    --fpf-status-warning-border: rgba(229,160,32,0.30);
    --fpf-status-warning-content: #FFBA42;
    --fpf-status-warning-solid: #E5A020;
    --fpf-status-danger-bg: rgba(217,64,64,0.15);
    --fpf-status-danger-border: rgba(217,64,64,0.30);
    --fpf-status-danger-content: #E85555;
    --fpf-status-danger-solid: #D94040;
    --fpf-status-info-bg: rgba(45,143,212,0.15);
    --fpf-status-info-border: rgba(45,143,212,0.30);
    --fpf-status-info-content: #52AAEA;
    --fpf-status-info-solid: #2D8FD4;
  }
}

/* Classe utilitaria para forcar dark mode */
.fpf-dark {
  --fpf-bg-base: #222223;
  --fpf-bg-subtle: #383839;
  --fpf-bg-muted: rgba(255,255,255,0.05);
  --fpf-bg-elevated: #383839;
  --fpf-surface-default: #1E1E1F;
  --fpf-surface-raised: #2A2A2B;
  --fpf-surface-sunken: rgba(0,0,0,0.20);
  --fpf-border-default: rgba(255,255,255,0.10);
  --fpf-border-strong: rgba(255,255,255,0.18);
  --fpf-border-focus: #B3C50E;
  --fpf-content-primary: rgba(255,255,255,0.95);
  --fpf-content-secondary: rgba(255,255,255,0.65);
  --fpf-content-tertiary: rgba(255,255,255,0.40);
  --fpf-content-disabled: rgba(255,255,255,0.25);
  --fpf-content-inverse: #222223;
  --fpf-link-default: #C4D218;
  --fpf-interactive-primary-default: #B3C50E;
  --fpf-interactive-primary-hover: #C4D218;
  --fpf-interactive-primary-active: #D4E038;
  --fpf-interactive-primary-subtle: rgba(179,197,14,0.15);
  --fpf-interactive-primary-on: #222223;
  --fpf-interactive-secondary-default: rgba(255,255,255,0.12);
  --fpf-interactive-secondary-hover: rgba(255,255,255,0.18);
  --fpf-interactive-secondary-on: rgba(255,255,255,0.95);
  --fpf-interactive-accent-default: #50C96C;
  --fpf-interactive-accent-hover: #34AE53;
  --fpf-interactive-accent-subtle: rgba(52,174,83,0.15);
  --fpf-interactive-accent-on: #222223;
  --fpf-status-success-bg: rgba(52,174,83,0.15);
  --fpf-status-success-border: rgba(52,174,83,0.30);
  --fpf-status-success-content: #50C96C;
  --fpf-status-success-solid: #34AE53;
  --fpf-status-warning-bg: rgba(229,160,32,0.15);
  --fpf-status-warning-border: rgba(229,160,32,0.30);
  --fpf-status-warning-content: #FFBA42;
  --fpf-status-warning-solid: #E5A020;
  --fpf-status-danger-bg: rgba(217,64,64,0.15);
  --fpf-status-danger-border: rgba(217,64,64,0.30);
  --fpf-status-danger-content: #E85555;
  --fpf-status-danger-solid: #D94040;
  --fpf-status-info-bg: rgba(45,143,212,0.15);
  --fpf-status-info-border: rgba(45,143,212,0.30);
  --fpf-status-info-content: #52AAEA;
  --fpf-status-info-solid: #2D8FD4;
}
