/* ============================================================
   GBV Empreendimentos - Design Tokens v2.0 (CSS Custom Properties)
   Fonte unica: tokens.json. Cores oficiais #3C3C3B / #6B1224.
   ============================================================ */
:root{
  --color-gbv-gray-25:#FBFBFA;
  --color-gbv-gray-50:#F7F7F6;
  --color-gbv-gray-100:#ECECEB;
  --color-gbv-gray-150:#E2E2E1;
  --color-gbv-gray-200:#DCDCDA;
  --color-gbv-gray-300:#C2C2C0;
  --color-gbv-gray-400:#9C9C9A;
  --color-gbv-gray-500:#777775;
  --color-gbv-gray-600:#5C5C5B;
  --color-gbv-gray-700:#504F4E;
  --color-gbv-gray-800:#444342;
  --color-gbv-gray-900:#3C3C3B;
  --color-gbv-gray-950:#232322;
  --color-gbv-red-25:#FBF3F5;
  --color-gbv-red-50:#F7ECEE;
  --color-gbv-red-100:#F2DAE0;
  --color-gbv-red-150:#EBC9D1;
  --color-gbv-red-200:#E2B3BE;
  --color-gbv-red-300:#CE8496;
  --color-gbv-red-400:#A63B52;
  --color-gbv-red-500:#8A2038;
  --color-gbv-red-600:#7A192E;
  --color-gbv-red-700:#6B1224;
  --color-gbv-red-800:#55101E;
  --color-gbv-red-900:#400C17;
  --color-gbv-red-950:#260810;
  --color-white:#FFFFFF;
  --color-off-white:#FBFBFA;
  --color-concrete-25:#F7F7F6;
  --color-concrete-50:#ECECEB;
  --color-concrete-100:#E2E2E1;
  --color-concrete-200:#DCDCDA;
  --color-concrete-300:#C2C2C0;
  --color-steel-400:#9C9C9A;
  --color-steel-500:#777775;
  --color-asphalt-700:#504F4E;
  --color-asphalt-800:#444342;
  --color-carbon-900:#3C3C3B;
  --color-carbon-950:#232322;
  --color-black-90:#1A1A1A;
  --color-overlay-black:rgba(26,26,26,0.60);
  --color-overlay-white:rgba(255,255,255,0.70);
  --color-scrim:rgba(26,26,26,0.72);
  --color-backdrop:rgba(35,35,34,0.55);
  --color-success-50:#E7F4EE;
  --color-success-500:#1E8E5A;
  --color-success-600:#157A4B;
  --color-success-700:#136B43;
  --color-warning-50:#FBF1DE;
  --color-warning-500:#C8860A;
  --color-warning-600:#A86F08;
  --color-warning-700:#976407;
  --color-error-50:#FEF3F2;
  --color-error-500:#D92D20;
  --color-error-600:#B42318;
  --color-error-700:#912018;
  --color-info-50:#E8F0F8;
  --color-info-500:#2563A8;
  --color-info-600:#1E5290;
  --color-info-700:#1B4A80;
  --color-data-1:#6B1224;
  --color-data-2:#2563A8;
  --color-data-3:#1E8E5A;
  --color-data-4:#C8860A;
  --color-data-5:#5C5C5B;
  --color-data-6:#7E4CA8;
  --color-positive:#1E8E5A;
  --color-negative:#D92D20;
  --color-neutral:#9C9C9A;
  --color-brand-primary:#6B1224;
  --color-brand-primary-hover:#55101E;
  --color-brand-primary-active:#400C17;
  --color-brand-primary-subtle:#F7ECEE;
  --color-brand-primary-contrast:#FFFFFF;
  --color-brand-secondary:#3C3C3B;
  --color-brand-secondary-hover:#232322;
  --color-brand-secondary-active:#1A1A1A;
  --color-background-default:#FFFFFF;
  --color-background-subtle:#E2E2E1;
  --color-background-muted:#F7F7F6;
  --color-background-dark:#3C3C3B;
  --color-background-brand:#6B1224;
  --color-background-inverse:#1A1A1A;
  --color-background-elevated:#FFFFFF;
  --color-surface-default:#FFFFFF;
  --color-surface-subtle:#F7F7F6;
  --color-surface-raised:#FFFFFF;
  --color-surface-sunken:#ECECEB;
  --color-surface-dark:#3C3C3B;
  --color-surface-brand:#6B1224;
  --color-surface-selected:#F7ECEE;
  --color-surface-premium:#1A1A1A;
  --color-text-primary:#3C3C3B;
  --color-text-secondary:#5C5C5B;
  --color-text-tertiary:#777775;
  --color-text-muted:#6E6E6C;
  --color-text-disabled:#C2C2C0;
  --color-text-inverse:#FFFFFF;
  --color-text-brand:#6B1224;
  --color-text-success:#136B43;
  --color-text-warning:#976407;
  --color-text-error:#B42318;
  --color-text-info:#1B4A80;
  --color-border-default:#C2C2C0;
  --color-border-subtle:#DCDCDA;
  --color-border-strong:#777775;
  --color-border-brand:#6B1224;
  --color-border-focus:#6B1224;
  --color-border-error:#D92D20;
  --color-border-success:#1E8E5A;
  --color-border-warning:#C8860A;
  --color-icon-default:#5C5C5B;
  --color-icon-muted:#9C9C9A;
  --color-icon-brand:#6B1224;
  --color-icon-inverse:#FFFFFF;
  --color-action-primary:#6B1224;
  --color-action-primary-hover:#55101E;
  --color-action-primary-active:#400C17;
  --color-action-secondary:#3C3C3B;
  --color-action-secondary-hover:#232322;
  --color-action-disabled:#DCDCDA;
  --color-feedback-success:#1E8E5A;
  --color-feedback-success-bg:#E7F4EE;
  --color-feedback-warning:#C8860A;
  --color-feedback-warning-bg:#FBF1DE;
  --color-feedback-error:#D92D20;
  --color-feedback-error-bg:#FEF3F2;
  --color-feedback-info:#2563A8;
  --color-feedback-info-bg:#E8F0F8;
  --color-focus-ring:#6B1224;
  --color-overlay:rgba(26,26,26,0.60);
  --color-backdrop:rgba(35,35,34,0.55);
  --color-skeleton-base:#ECECEB;
  --color-skeleton-highlight:#F7F7F6;
  --button-primary-bg:#6B1224;
  --button-primary-fg:#FFFFFF;
  --button-primary-hover:#55101E;
  --button-primary-active:#400C17;
  --button-secondary-bg:transparent;
  --button-secondary-fg:#6B1224;
  --button-secondary-border:#6B1224;
  --button-disabled-bg:#DCDCDA;
  --button-disabled-fg:#9C9C9A;
  --input-bg:#FFFFFF;
  --input-border:#C2C2C0;
  --input-border-focus:#6B1224;
  --input-fg:#3C3C3B;
  --input-placeholder:#9C9C9A;
  --card-bg:#FFFFFF;
  --card-border:#DCDCDA;
  --card-premium-bg:#1A1A1A;
  --card-shadow:0 4px 12px rgba(35,35,34,.10);
  --table-header-bg:#F7F7F6;
  --table-row-hover:#F7F7F6;
  --table-border:#DCDCDA;
  --badge-launch-bg:#6B1224;
  --badge-launch-fg:#FFFFFF;
  --badge-work-bg:#FBF1DE;
  --badge-work-fg:#976407;
  --badge-ready-bg:#E7F4EE;
  --badge-ready-fg:#136B43;
  --tooltip-bg:#232322;
  --tooltip-fg:#FFFFFF;
  --modal-bg:#FFFFFF;
  --drawer-bg:#FFFFFF;
  --font-family-logo:Nexa, Montserrat, sans-serif;
  --font-family-display:Nexa, Montserrat, sans-serif;
  --font-family-heading:Nexa, Montserrat, sans-serif;
  --font-family-body:Montserrat, sans-serif;
  --font-family-data:Nexa, Montserrat, sans-serif;
  --font-family-mono:ui-monospace, SFMono-Regular, Menlo, monospace;
  --font-display:var(--font-family-display);
  --font-heading:var(--font-family-heading);
  --font-body:var(--font-family-body);
  --font-logo:var(--font-family-logo);
  --font-data:var(--font-family-data);
  --font-weight-regular:400;
  --font-weight-medium:500;
  --font-weight-semibold:600;
  --font-weight-bold:700;
  --font-weight-extrabold:800;
  --fs-display-2xl:72px; --lh-display-2xl:76px; --fw-display-2xl:800; --ls-display-2xl:-0.03em;
  --fs-display-xl:64px; --lh-display-xl:68px; --fw-display-xl:800; --ls-display-xl:-0.03em;
  --fs-display-lg:56px; --lh-display-lg:60px; --fw-display-lg:800; --ls-display-lg:-0.025em;
  --fs-display-md:48px; --lh-display-md:54px; --fw-display-md:800; --ls-display-md:-0.025em;
  --fs-display-sm:40px; --lh-display-sm:46px; --fw-display-sm:800; --ls-display-sm:-0.01em;
  --fs-h1:40px; --lh-h1:46px; --fw-h1:700; --ls-h1:-0.01em;
  --fs-h2:32px; --lh-h2:38px; --fw-h2:700; --ls-h2:-0.01em;
  --fs-h3:26px; --lh-h3:32px; --fw-h3:700; --ls-h3:-0.005em;
  --fs-h4:22px; --lh-h4:28px; --fw-h4:600; --ls-h4:0;
  --fs-h5:18px; --lh-h5:24px; --fw-h5:600; --ls-h5:0;
  --fs-h6:16px; --lh-h6:22px; --fw-h6:600; --ls-h6:0.01em;
  --fs-subtitle-lg:20px; --lh-subtitle-lg:30px; --fw-subtitle-lg:500; --ls-subtitle-lg:0;
  --fs-subtitle-md:18px; --lh-subtitle-md:26px; --fw-subtitle-md:500; --ls-subtitle-md:0;
  --fs-subtitle-sm:16px; --lh-subtitle-sm:24px; --fw-subtitle-sm:500; --ls-subtitle-sm:0;
  --fs-body-xl:20px; --lh-body-xl:32px; --fw-body-xl:400; --ls-body-xl:0;
  --fs-body-lg:18px; --lh-body-lg:28px; --fw-body-lg:400; --ls-body-lg:0;
  --fs-body-md:16px; --lh-body-md:26px; --fw-body-md:400; --ls-body-md:0;
  --fs-body-sm:14px; --lh-body-sm:22px; --fw-body-sm:400; --ls-body-sm:0;
  --fs-body-xs:12px; --lh-body-xs:18px; --fw-body-xs:400; --ls-body-xs:0;
  --fs-label-lg:15px; --lh-label-lg:20px; --fw-label-lg:600; --ls-label-lg:0.01em;
  --fs-label-md:13px; --lh-label-md:16px; --fw-label-md:600; --ls-label-md:0.02em;
  --fs-label-sm:12px; --lh-label-sm:14px; --fw-label-sm:600; --ls-label-sm:0.02em;
  --fs-button-lg:16px; --lh-button-lg:20px; --fw-button-lg:600; --ls-button-lg:0.01em;
  --fs-button-md:15px; --lh-button-md:18px; --fw-button-md:600; --ls-button-md:0.01em;
  --fs-button-sm:13px; --lh-button-sm:16px; --fw-button-sm:600; --ls-button-sm:0.02em;
  --fs-caption:12px; --lh-caption:16px; --fw-caption:500; --ls-caption:0.01em;
  --fs-overline:12px; --lh-overline:16px; --fw-overline:700; --ls-overline:0.14em;
  --fs-eyebrow:13px; --lh-eyebrow:16px; --fw-eyebrow:700; --ls-eyebrow:0.12em;
  --fs-kpi-hero:56px; --lh-kpi-hero:60px; --fw-kpi-hero:800; --ls-kpi-hero:-0.01em;
  --fs-kpi-number:44px; --lh-kpi-number:48px; --fw-kpi-number:800; --ls-kpi-number:-0.01em;
  --fs-kpi-label:13px; --lh-kpi-label:16px; --fw-kpi-label:600; --ls-kpi-label:0.06em;
  --fs-table-header:13px; --lh-table-header:16px; --fw-table-header:600; --ls-table-header:0.04em;
  --fs-table-cell:14px; --lh-table-cell:20px; --fw-table-cell:400; --ls-table-cell:0;
  --fs-form-label:13px; --lh-form-label:16px; --fw-form-label:600; --ls-form-label:0.01em;
  --fs-form-helper:12px; --lh-form-helper:16px; --fw-form-helper:400; --ls-form-helper:0;
  --fs-form-error:12px; --lh-form-error:16px; --fw-form-error:500; --ls-form-error:0;
  --fs-nav-item:15px; --lh-nav-item:20px; --fw-nav-item:600; --ls-nav-item:0.01em;
  --fs-legal:11px; --lh-legal:16px; --fw-legal:400; --ls-legal:0;
  --fs-badge:12px; --lh-badge:14px; --fw-badge:700; --ls-badge:0.04em;
  --fs-tooltip:12px; --lh-tooltip:16px; --fw-tooltip:500; --ls-tooltip:0;
  --space-0:0px;
  --space-025:2px;
  --space-050:4px;
  --space-075:6px;
  --space-100:8px;
  --space-150:12px;
  --space-200:16px;
  --space-250:20px;
  --space-300:24px;
  --space-400:32px;
  --space-500:40px;
  --space-600:48px;
  --space-700:56px;
  --space-800:64px;
  --space-1000:80px;
  --space-1200:96px;
  --space-1600:128px;
  --space-2000:160px;
  --radius-none:0px;
  --radius-xs:2px;
  --radius-sm:4px;
  --radius-md:8px;
  --radius-lg:12px;
  --radius-xl:16px;
  --radius-2xl:24px;
  --radius-full:999px;
  --border-none:0;
  --border-hairline:1px;
  --border-sm:1px;
  --border-md:2px;
  --border-lg:4px;
  --shadow-none:none;
  --shadow-xs:0 1px 2px rgba(35,35,34,.06);
  --shadow-sm:0 1px 2px rgba(35,35,34,.04),0 2px 6px rgba(35,35,34,.06);
  --shadow-md:0 2px 4px rgba(35,35,34,.04),0 8px 20px rgba(35,35,34,.08);
  --shadow-lg:0 4px 10px rgba(35,35,34,.05),0 18px 44px rgba(35,35,34,.10);
  --shadow-xl:0 8px 18px rgba(35,35,34,.06),0 32px 64px rgba(35,35,34,.13);
  --shadow-2xl:0 12px 28px rgba(35,35,34,.08),0 44px 96px rgba(35,35,34,.17);
  --shadow-card:0 1px 3px rgba(35,35,34,.05),0 6px 18px rgba(35,35,34,.06);
  --shadow-card-hover:0 6px 14px rgba(35,35,34,.08),0 20px 50px rgba(35,35,34,.12);
  --shadow-dropdown:0 4px 12px rgba(35,35,34,.08),0 18px 44px rgba(35,35,34,.13);
  --shadow-modal:0 12px 32px rgba(0,0,0,.16),0 36px 84px rgba(0,0,0,.30);
  --shadow-drawer:-8px 0 32px rgba(0,0,0,.18);
  --shadow-toast:0 8px 24px rgba(35,35,34,.18);
  --shadow-focus:0 0 0 3px rgba(107,18,36,.35);
  --shadow-premium:0 8px 24px rgba(0,0,0,.32),0 36px 90px rgba(0,0,0,.55);
  --opacity-0:0;
  --opacity-5:0.05;
  --opacity-10:0.10;
  --opacity-20:0.20;
  --opacity-30:0.30;
  --opacity-40:0.40;
  --opacity-50:0.50;
  --opacity-60:0.60;
  --opacity-70:0.70;
  --opacity-80:0.80;
  --opacity-90:0.90;
  --opacity-100:1;
  --elevation-0:none;
  --elevation-1:0 1px 3px rgba(35,35,34,.05),0 6px 18px rgba(35,35,34,.06);
  --elevation-2:0 6px 14px rgba(35,35,34,.08),0 20px 50px rgba(35,35,34,.12);
  --elevation-3:0 8px 24px rgba(35,35,34,.16);
  --elevation-4:0 1px 3px rgba(35,35,34,.10);
  --elevation-5:-8px 0 32px rgba(0,0,0,.18);
  --elevation-6:0 24px 64px rgba(0,0,0,.28);
  --elevation-7:0 8px 24px rgba(35,35,34,.18);
  --elevation-8:0 20px 60px rgba(0,0,0,.45);
  --z-base:0;
  --z-raised:10;
  --z-dropdown:1000;
  --z-sticky:1100;
  --z-fixed:1150;
  --z-drawer:1200;
  --z-modal:1300;
  --z-popover:1350;
  --z-tooltip:1500;
  --z-toast:1400;
  --z-critical:1600;
  --bp-xs:360px;
  --bp-sm:390px;
  --bp-md:480px;
  --bp-lg:768px;
  --bp-xl:1024px;
  --bp-2xl:1280px;
  --bp-3xl:1440px;
  --bp-4xl:1600px;
  --bp-5xl:1920px;
  --container-fluid:100%;
  --container-full:100%;
  --container-wide:1600px;
  --container-default:1280px;
  --container-narrow:1024px;
  --container-text:720px;
  --container-form:560px;
  --container-dashboard:1600px;
  --container-modal:640px;
  --container-print:794px;
  --motion-duration-instant:80ms;
  --motion-duration-fast:120ms;
  --motion-duration-base:200ms;
  --motion-duration-slow:320ms;
  --motion-duration-slower:480ms;
  --motion-ease-linear:linear;
  --motion-ease-standard:cubic-bezier(.2,0,0,1);
  --motion-ease-out:cubic-bezier(0,0,.2,1);
  --motion-ease-in:cubic-bezier(.4,0,1,1);
  --motion-ease-emphasized:cubic-bezier(.05,.7,.1,1);
  --motion-delay-none:0ms;
  --motion-delay-short:60ms;
  --motion-delay-medium:120ms;
}
[data-theme="dark"], .theme-dark{
  --color-background-default:#1A1A1A;
  --color-background-subtle:#232322;
  --color-background-muted:#3C3C3B;
  --color-surface-default:#232322;
  --color-surface-raised:#3C3C3B;
  --color-surface-sunken:#1A1A1A;
  --color-text-primary:#FFFFFF;
  --color-text-secondary:#C2C2C0;
  --color-text-tertiary:#9C9C9A;
  --color-text-muted:#777775;
  --color-border-default:#504F4E;
  --color-border-subtle:#444342;
  --color-text-brand:#CE8496;
  --color-accent-red:#8A2038;
  --color-icon-default:#C2C2C0;
}
[data-theme="premium"], .theme-premium{
  --color-background-default:#0F0F0E;
  --color-background-subtle:#161615;
  --color-background-muted:#232322;
  --color-surface-default:#181817;
  --color-surface-raised:#232322;
  --color-surface-sunken:#0F0F0E;
  --color-text-primary:#FFFFFF;
  --color-text-secondary:#CAC8C4;
  --color-text-tertiary:#97948F;
  --color-text-muted:#6B6864;
  --color-border-default:#353430;
  --color-border-subtle:#262521;
  --color-text-brand:#D695A5;
  --color-accent-red:#8A2038;
  --color-icon-default:#CAC8C4;
  --color-surface-premium:#0A0A09;
}
[data-theme="hc"], .theme-hc{
  --color-text-primary:#000000;
  --color-background-default:#FFFFFF;
  --color-border-default:#000000;
  --color-border-subtle:#3C3C3B;
  --color-text-brand:#55101E;
  --color-focus-ring:#000000;
  --color-brand-primary:#55101E;
}
@media (prefers-reduced-motion: reduce){:root{--motion-duration-instant:0ms;--motion-duration-fast:0ms;--motion-duration-base:0ms;--motion-duration-slow:0ms;--motion-duration-slower:0ms;}}
