/* Zeliot design tokens — copiados de project/tokens/ (sem o @import de fontes; as fontes são carregadas no <head>). */
/* colors */
:root{
  /* Marca */
  --zl-ice-50:#EEFBFD; --zl-ice-100:#D4F5FA; --zl-ice-300:#8BE6F1; --zl-ice-500:#3FD6E8; --zl-ice-700:#138A9C;
  --zl-blue-100:#DCEBF8; --zl-blue-300:#7DB4E3; --zl-blue-500:#1478C8; --zl-blue-600:#0F62A6; --zl-blue-700:#0B4D84;
  --zl-navy-700:#1C4A78; --zl-navy-800:#16395F; --zl-navy-900:#0F2A4A; --zl-navy-950:#0A1B33;
  /* Neutros (frios) */
  --zl-gray-0:#FFFFFF; --zl-gray-50:#F4F7FA; --zl-gray-100:#E6ECF2; --zl-gray-200:#CBD5E0; --zl-gray-400:#8A9BB0; --zl-gray-600:#4A6480; --zl-gray-800:#243B55;
  /* Semânticas */
  --zl-green-100:#DDF5EA; --zl-green-500:#1FA971; --zl-green-700:#137A51;
  --zl-amber-100:#FDF0D5; --zl-amber-500:#F2A516; --zl-amber-700:#9A6300;
  --zl-red-100:#FCE3E4; --zl-red-500:#E5484D; --zl-red-700:#B42328;
  --zl-gradient-signal:linear-gradient(135deg,#3FD6E8 0%,#1478C8 100%);
  --zl-gradient-deep:linear-gradient(135deg,#0F2A4A 0%,#0A1B33 100%);

  /* Aliases semânticos */
  --zl-surface-page:var(--zl-gray-0);
  --zl-surface-subtle:var(--zl-gray-50);
  --zl-surface-card:var(--zl-gray-0);
  --zl-surface-inverse:var(--zl-navy-950);
  --zl-surface-inverse-raised:var(--zl-navy-900);
  --zl-text-strong:var(--zl-navy-900);
  --zl-text-body:var(--zl-gray-800);
  --zl-text-muted:var(--zl-gray-600);
  --zl-text-on-brand:#FFFFFF;
  --zl-text-inverse:#FFFFFF;
  --zl-text-inverse-muted:#A9BED6;
  --zl-text-link:var(--zl-blue-500);
  --zl-text-accent-inverse:var(--zl-ice-500);
  --zl-border-subtle:var(--zl-gray-100);
  --zl-border-strong:var(--zl-gray-200);
  --zl-border-inverse:rgba(169,190,214,.18);
  --zl-action-primary:var(--zl-blue-500);
  --zl-action-primary-hover:var(--zl-blue-600);
  --zl-action-accent:var(--zl-ice-500);
  --zl-status-ok:var(--zl-green-500);
  --zl-status-warn:var(--zl-amber-500);
  --zl-status-alert:var(--zl-red-500);
}

/* typography */
:root{
  --zl-font-sans:"Nunito",ui-rounded,system-ui,sans-serif;
  --zl-font-mono:"IBM Plex Mono",ui-monospace,monospace;
  --zl-fs-display:56px; --zl-lh-display:1.05;
  --zl-fs-h1:44px; --zl-lh-h1:1.1;
  --zl-fs-h2:34px; --zl-lh-h2:1.15;
  --zl-fs-h3:24px; --zl-lh-h3:1.25;
  --zl-fs-h4:19px; --zl-lh-h4:1.3;
  --zl-fs-lead:19px; --zl-lh-lead:1.55;
  --zl-fs-body:16px; --zl-lh-body:1.6;
  --zl-fs-sm:14px; --zl-lh-sm:1.5;
  --zl-fs-xs:12px; --zl-lh-xs:1.4;
  --zl-fs-reading:40px;
  --zl-fw-regular:400; --zl-fw-semibold:600; --zl-fw-bold:700; --zl-fw-extra:800;
  --zl-tracking-tight:-0.02em; --zl-tracking-eyebrow:0.14em;
}

/* spacing */
:root{
  --zl-space-1:4px; --zl-space-2:8px; --zl-space-3:12px; --zl-space-4:16px; --zl-space-5:24px;
  --zl-space-6:32px; --zl-space-7:48px; --zl-space-8:64px; --zl-space-9:96px; --zl-space-10:128px;
  --zl-container:1200px; --zl-gutter:24px;
  --zl-radius-sm:6px; --zl-radius-md:10px; --zl-radius-lg:16px; --zl-radius-xl:24px; --zl-radius-pill:999px;
}

/* effects */
:root{
  --zl-shadow-sm:0 1px 2px rgba(10,27,51,.06),0 1px 1px rgba(10,27,51,.04);
  --zl-shadow-md:0 6px 20px rgba(10,27,51,.08);
  --zl-shadow-lg:0 20px 48px rgba(10,27,51,.14);
  --zl-ring-focus:0 0 0 3px rgba(63,214,232,.5);
  --zl-ease:cubic-bezier(.2,.7,.2,1);
  --zl-dur-fast:120ms; --zl-dur-base:200ms; --zl-dur-slow:360ms;
}

/* base */
html,body{margin:0}
body{font-family:var(--zl-font-sans);font-size:var(--zl-fs-body);line-height:var(--zl-lh-body);color:var(--zl-text-body);background:var(--zl-surface-page);-webkit-font-smoothing:antialiased}
a{color:var(--zl-text-link);text-decoration:none}
a:hover{color:var(--zl-blue-700);text-decoration:underline}

