/* Identidade visual "Lavanda Premium" — tokens do sistema inteiro.
   Fonte única das variáveis: usada pelo app React (index.html) e pelo
   protocolo padrão (formulario-novo-paciente.html). As classes base
   (.btn, .input, .card…) ficam em src/styles/base.css.

   Paleta: Primary #5317A6 · Royal #7B4BBF · Pastel #9E82D9 ·
   Wisteria #C1A9D9 · Deep Navy #010440, sobre superfícies claras.

   Fonte servida pelo próprio sistema (Plus Jakarta Sans variável, subconjunto
   latin, de @fontsource-variable) — sem Google Fonts: a CSP só permite
   recursos do próprio domínio e o IP das usuárias não vai para terceiros.
   Licenças em /fonts/*-OFL.txt. */
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url("../fonts/PlusJakartaSans-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-display: swap;
  font-weight: 100 800;
  src: url("../fonts/JetBrainsMono-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  /* Marca */
  --brand-primary:#5317A6;  /* Primary Purple */
  --brand-royal:#7B4BBF;    /* Royal Purple */
  --brand-pastel:#9E82D9;   /* Pastel Purple */
  --brand-wisteria:#C1A9D9; /* Wisteria */
  --brand-navy:#010440;     /* Deep Navy */

  /* Violeta — escala primária (ancorada na paleta da marca) */
  --violeta-50:#F6F2FD;  --violeta-100:#F0EAFB; --violeta-200:#E1D5F6;
  --violeta-300:var(--brand-wisteria); --violeta-400:var(--brand-pastel);
  --violeta-500:var(--brand-royal);    --violeta-600:var(--brand-primary);
  --violeta-700:#44128A; --violeta-800:#360E6E; --violeta-900:#211544;

  /* Céu — secundária */
  --ceu-50:#F1F8FE; --ceu-100:#E5F2FC; --ceu-300:#8FC3E8;
  --ceu-500:#3E8FCB; --ceu-600:#2D76AE; --ceu-700:#22628F;

  /* Sol — destaque (pendências, nunca botão) */
  --sol-50:#FFF3DE; --sol-300:#FBD48A; --sol-500:#F2B33D; --sol-800:#7A4E00;

  /* Neutros (grafite lavanda) */
  --n-0:#FFFFFF;   --n-25:#FBFAFE;  --n-50:#F8F7FC;  --n-100:#F1EDF8;
  --n-200:#E8E2F2; --n-300:#D3CAE3; --n-400:#A59DB8; --n-500:#79728D;
  --n-700:#3E3854; --n-900:#171329;

  /* Semânticas: fundo / borda / texto / sólido */
  --ok-bg:#ECF8F1;   --ok-bd:#BFE5CF;   --ok-tx:#1F6B45;   --ok:#2E9461;
  --warn-bg:#FFF6E3; --warn-bd:#F7DCA3; --warn-tx:#7A4E00; --warn:#E0A100;
  --err-bg:#FDEEEC;  --err-bd:#F6C8C2;  --err-tx:#A3251B;  --err:#D23B2E;
  --info-bg:#F1F8FE; --info-bd:#C7E1F4; --info-tx:#22628F; --info:#3E8FCB;
  --danger:#C0352A; --danger-hover:#A12B21; --danger-press:#83211A;

  /* Papéis */
  --bg-app:var(--n-50); --bg-app-2:#F3F0FA; --bg-card:var(--n-0); --bg-subtle:var(--n-25);
  --text:var(--n-900); --text-body:var(--n-700); --text-2:var(--n-500); --text-placeholder:var(--n-400);
  --border:var(--n-200); --divider:var(--n-100);
  --primary:var(--violeta-600); --primary-hover:var(--violeta-700); --primary-press:var(--violeta-800);
  --primary-soft:var(--violeta-100); --primary-soft-hover:var(--violeta-200); --on-primary-soft:var(--violeta-700);
  --focus-ring:0 0 0 2px #FFFFFF, 0 0 0 5px rgba(123, 75, 191, .45);
  --input-focus:0 0 0 4px rgba(123, 75, 191, .14);

  /* Gradientes */
  --grad-primary:linear-gradient(135deg, #5317A6 0%, #7B4BBF 55%, #9E82D9 100%);
  --grad-primary-hover:linear-gradient(135deg, #4A1396 0%, #6E3FB3 55%, #8F72CF 100%);
  --grad-primary-press:linear-gradient(135deg, #3F1083 0%, #5F35A0 55%, #8166C0 100%);
  --grad-tech:linear-gradient(135deg, #010440 0%, #5317A6 50%, #9E82D9 100%);
  --grad-bg:linear-gradient(135deg, #F9F7FF 0%, #F0EAFF 50%, #E8E0FA 100%);
  --grad-sidebar:linear-gradient(180deg, #30205F 0%, #211544 100%);
  --grad-text:linear-gradient(135deg, #2A0E5C 0%, #5317A6 60%, #7B4BBF 100%);

  /* Vidro (soft glassmorphism) */
  --glass-bg:rgba(255, 255, 255, .78);
  --glass-bg-strong:rgba(255, 255, 255, .88);
  --glass-border:rgba(255, 255, 255, .7);
  --glass-blur:saturate(160%) blur(16px);

  /* Tipografia */
  --font-display:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --font-body:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --font-mono:"JetBrains Mono", ui-monospace, monospace;
  --fs-display:48px; --fs-h1:32px; --fs-h2:22px; --fs-h3:17px;
  --fs-body-lg:16px; --fs-body:15px; --fs-label:14px; --fs-caption:13px; --fs-overline:12px;
  --tracking-tight:-0.035em;

  /* Espaço, raios, sombras, controles */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-6:24px; --s-8:32px; --s-12:48px; --s-16:64px;
  --r-xs:8px; --r-sm:10px; --r-md:12px; --r-lg:20px; --r-xl:24px; --r-pill:999px;
  --sh-sm:0 1px 2px rgba(45, 24, 91, .04), 0 4px 24px rgba(45, 24, 91, .05);
  --sh-md:0 2px 6px rgba(45, 24, 91, .05), 0 12px 32px rgba(83, 23, 166, .10);
  --sh-lg:0 8px 20px rgba(45, 24, 91, .08), 0 30px 70px rgba(45, 24, 91, .18);
  --sh-primary:0 6px 18px rgba(83, 23, 166, .22);
  --sh-primary-hover:0 10px 28px rgba(83, 23, 166, .30);
  --h-sm:38px; --h-md:44px; --h-lg:52px; --h-field:48px;

  /* --- Complementos do sistema --- */
  --s-5:20px; --s-10:40px;
  --fs-page-title:40px;
  --icon-stroke:1.75;

  /* Atalhos de fonte (peso tamanho/altura família) */
  --type-body:400 var(--fs-body)/1.6 var(--font-body);
  --type-body-strong:600 var(--fs-body)/1.5 var(--font-body);
  --type-label:600 var(--fs-label)/1.4 var(--font-body);
  --type-caption:400 var(--fs-caption)/1.5 var(--font-body);
  --type-overline:700 var(--fs-overline)/1.4 var(--font-body);
  --type-h3:700 var(--fs-h3)/1.35 var(--font-display);
  --type-h2:700 var(--fs-h2)/1.3 var(--font-display);
  --type-h1:800 var(--fs-h1)/1.2 var(--font-display);

  /* Movimento */
  --ease:cubic-bezier(.32, .72, .3, 1);
  --dur-fast:140ms; --dur:220ms; --dur-slow:320ms;

  /* Camadas e layout */
  --overlay:rgba(23, 19, 41, .38);
  --sh-top:0 -8px 24px -14px rgba(45, 24, 91, .22);
  --sidebar-w:272px;
  --content-max:1240px;
  --card-pad:24px;
  --page-pad-x:var(--s-10);
  --page-pad-y:var(--s-8);
}
