/**
 * theme.css
 *
 * Design tokens comune ale platformei Contextual.ro, extrase din
 * template-ul original. Se include pe toate paginile, ca variabilele
 * de culoare/umbre să rămână identice peste tot.
 *
 * Notă: fonturile (Playfair Display, Plus Jakarta Sans) NU se încarcă
 * de pe Google Fonts CDN — vezi fonts.css, care le încarcă local din
 * /assets/fonts, conform cerinței "fără CDN-uri externe".
 */
:root {
  --white: #ffffff;
  --off: #F7F8FA;
  --ink: #0F1923;
  --ink-60: #6B7585;
  --ink-30: #C2C8D2;
  --ink-10: #EEF0F4;
  --blue: #1A56DB;
  --blue-light: #EBF0FD;
  --coral: #E8461A;
  --coral-light: #FDF0EC;
  --green: #0E9F6E;
  --green-light: #EDFAF4;
  --amber: #D97706;
  --amber-light: #FEF3C7;
  --violet: #7C3AED;
  --violet-light: #F0EBFD;
  --radius: 12px;
  --radius-lg: 20px;
  --shadow-sm: 0 1px 3px rgba(15,25,35,0.06), 0 1px 2px rgba(15,25,35,0.04);
  --shadow: 0 4px 16px rgba(15,25,35,0.08), 0 2px 4px rgba(15,25,35,0.04);
  --shadow-lg: 0 12px 40px rgba(15,25,35,0.12), 0 4px 12px rgba(15,25,35,0.06);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}

/* Mesaje flash uniforme — aceeași poziție, stil și paletă de culori
   pe toate paginile: verde = succes, roșu = eroare, portocaliu = informație. */
.flash-stack{position:fixed;top:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:10px;max-width:360px}
.flash{padding:14px 18px;border-radius:10px;font-family:'Plus Jakarta Sans',sans-serif;font-size:0.875rem;font-weight:600;box-shadow:var(--shadow);line-height:1.5}
.flash-success{background:var(--green-light);color:var(--green);border:1px solid rgba(14,159,110,0.2)}
.flash-error{background:var(--coral-light);color:var(--coral);border:1px solid rgba(232,70,26,0.2)}
.flash-warning{background:var(--amber-light);color:var(--amber);border:1px solid rgba(217,119,6,0.2)}
