/* Cubo Health — Design System tokens (concatenado de _ds_extract/tokens).
   Ordem: @import de fontes primeiro, depois paleta, tipografia, espaçamento,
   raio, elevação, movimento, semântica e, por fim, estilos-base de elementos. */

/* fonts.css — webfonts (stand-ins do DS) */
@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=IBM+Plex+Mono:wght@400;500;600&display=swap");

/* colors.css — base palette */
:root{
  --white:#ffffff;

  --navy-50:#eef1f7;--navy-100:#d6deec;--navy-200:#afc0d9;--navy-300:#7e94bc;--navy-400:#4f6899;
  --navy-500:#2a4a80;--navy-600:#1b3669;--navy-700:#162c55;--navy-800:#102040;--navy-900:#0a162c;

  --blue-50:#e7f0f9;--blue-100:#c3dbf0;--blue-200:#89b6de;--blue-300:#4a8cc7;--blue-400:#1b64ab;
  --blue-500:#023a72;--blue-600:#022f5d;--blue-700:#012448;

  --teal-50:#e0f5f5;--teal-100:#b3e7e8;--teal-200:#6fd3d6;--teal-300:#26b8bd;--teal-400:#009fa6;
  --teal-500:#008b92;--teal-600:#007177;--teal-700:#00585d;

  --orange-50:#fff4e4;--orange-100:#ffe3bc;--orange-200:#ffc97f;--orange-300:#fdb04a;--orange-400:#fc9621;
  --orange-500:#e8810c;--orange-600:#c26709;--orange-700:#944e06;

  --gray-25:#fafbfd;--gray-50:#f4f6fa;--gray-100:#e9edf4;--gray-200:#d8dee9;--gray-300:#b9c2d2;
  --gray-400:#8f9aae;--gray-500:#6b7688;--gray-600:#4e5868;--gray-700:#39414e;--gray-800:#262c36;--gray-900:#171b22;

  --green-50:#e3f6ef;--green-400:#0e9f6e;--green-600:#0a7451;
  --red-50:#fdece9;--red-400:#d8442f;--red-600:#a83122;

  --brand-navy:var(--navy-600);
  --brand-blue:var(--blue-500);
  --brand-teal:var(--teal-400);
  --brand-orange:var(--orange-400);
}

/* typography.css */
:root{
  --font-display:"Space Grotesk","Space Grotesk Fallback",system-ui,sans-serif;
  --font-sans:"IBM Plex Sans",system-ui,-apple-system,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,monospace;

  --text-12:12px;--text-13:13px;--text-14:14px;--text-16:16px;--text-18:18px;--text-20:20px;
  --text-24:24px;--text-30:30px;--text-36:36px;--text-48:48px;--text-60:60px;--text-72:72px;

  --leading-tight:1.08;--leading-snug:1.2;--leading-normal:1.5;--leading-relaxed:1.65;

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

  --tracking-tight:-0.02em;--tracking-snug:-0.01em;--tracking-normal:0;--tracking-wide:0.04em;--tracking-caps:0.08em;
}

/* spacing.css */
:root{
  --space-0:0px;--space-1:2px;--space-2:4px;--space-3:8px;--space-4:12px;--space-5:16px;
  --space-6:20px;--space-7:24px;--space-8:32px;--space-9:40px;--space-10:48px;
  --space-11:64px;--space-12:80px;--space-13:96px;--space-14:128px;

  --gutter-page:24px;--gutter-page-lg:48px;--max-content:1200px;--max-prose:68ch;--section-y:96px;
}

/* radius.css */
:root{
  --radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;
  --radius-pill:999px;--radius-tile:22%;--border-hairline:1px;--border-strong:2px;
}

/* elevation.css */
:root{
  --shadow-xs:0 1px 2px rgba(10,22,44,.06);
  --shadow-sm:0 1px 3px rgba(10,22,44,.08),0 1px 2px rgba(10,22,44,.04);
  --shadow-md:0 4px 12px rgba(10,22,44,.08),0 1px 3px rgba(10,22,44,.05);
  --shadow-lg:0 12px 32px rgba(10,22,44,.10),0 2px 6px rgba(10,22,44,.05);
  --shadow-xl:0 24px 60px rgba(10,22,44,.14);
  --shadow-inset:inset 0 1px 0 rgba(255,255,255,.5);
  --ring-focus:0 0 0 3px rgba(0,159,166,.35);
  --ring-focus-navy:0 0 0 3px rgba(27,54,105,.25);
}

/* motion.css */
:root{
  --dur-instant:80ms;--dur-fast:120ms;--dur-base:180ms;--dur-slow:240ms;--dur-slower:400ms;
  --ease-standard:cubic-bezier(.2,.8,.25,1);--ease-out:cubic-bezier(.16,1,.3,1);--ease-in:cubic-bezier(.4,0,1,1);
  --transition-control:background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard);
}

/* semantic.css — aliases (componentes referenciam ESTES) */
:root{
  --surface-page:var(--gray-25);--surface-card:var(--white);--surface-sunken:var(--gray-50);
  --surface-muted:var(--gray-100);--surface-inverse:var(--navy-600);--surface-inverse-deep:var(--navy-800);
  --surface-brand-soft:var(--navy-50);--surface-teal-soft:var(--teal-50);--surface-orange-soft:var(--orange-50);

  --text-heading:var(--navy-800);--text-body:var(--gray-700);--text-muted:var(--gray-500);
  --text-subtle:var(--gray-400);--text-on-inverse:var(--white);--text-on-inverse-muted:var(--navy-200);
  --text-link:var(--teal-500);--text-link-hover:var(--teal-600);--text-accent:var(--brand-teal);

  --border-subtle:var(--gray-100);--border-default:var(--gray-200);--border-strong-color:var(--gray-300);
  --border-inverse:rgba(255,255,255,.16);

  --action-primary-bg:var(--navy-600);--action-primary-bg-hover:var(--navy-700);--action-primary-bg-active:var(--navy-800);
  --action-primary-fg:var(--white);--action-accent-bg:var(--teal-400);--action-accent-bg-hover:var(--teal-500);
  --action-accent-fg:var(--white);--action-highlight-bg:var(--orange-400);--action-highlight-bg-hover:var(--orange-500);
  --action-highlight-fg:var(--navy-800);

  --feedback-success-fg:var(--green-600);--feedback-success-bg:var(--green-50);
  --feedback-warning-fg:var(--orange-600);--feedback-warning-bg:var(--orange-50);
  --feedback-danger-fg:var(--red-600);--feedback-danger-bg:var(--red-50);
  --feedback-info-fg:var(--teal-600);--feedback-info-bg:var(--teal-50);

  --data-1:var(--teal-400);--data-2:var(--navy-600);--data-3:var(--orange-400);
  --data-4:var(--blue-400);--data-5:var(--teal-200);--data-6:var(--navy-300);
}

/* base.css — estilos-base de elementos */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--font-sans);font-size:var(--text-16);line-height:var(--leading-normal);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-heading);letter-spacing:var(--tracking-tight);line-height:var(--leading-snug);margin:0}
p{margin:0}
a{color:var(--text-link);text-decoration:none;transition:color var(--dur-fast) var(--ease-standard)}
a:hover{color:var(--text-link-hover);text-decoration:underline;text-underline-offset:3px}
:focus-visible{outline:none;box-shadow:var(--ring-focus)}
code,kbd{font-family:var(--font-mono);font-size:.9em}
