/* ==========================================================================
   FAJ — Design tokens
   Identidade institucional. Ajustar aqui reflete em todo o sistema.
   ========================================================================== */

@font-face {
  font-family: 'Just Sans';
  src: url('../fonts/JUSTSans-ExLt.woff2') format('woff2');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Just Sans';
  src: url('../fonts/JUSTSans-Lt.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Just Sans';
  src: url('../fonts/JUSTSans-Rg.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Just Sans';
  src: url('../fonts/JUSTSans-Md.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Just Sans';
  src: url('../fonts/JUSTSans-SmBd.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Just Sans';
  src: url('../fonts/JUSTSans-Bd.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Just Sans';
  src: url('../fonts/JUSTSans-ExBd.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

:root {
  /* Cores institucionais FAJ */
  --faj-blue: #041942;
  --faj-blue-700: #0a2360;
  --faj-blue-600: #12336d;
  --faj-blue-500: #1c4590;
  --faj-blue-100: #e6ebf5;
  --faj-blue-50:  #f2f5fb;

  /* Neutras */
  --white:    #ffffff;
  --gray-50:  #f7f8fa;
  --gray-100: #eef0f4;
  --gray-200: #e2e5ec;
  --gray-300: #cfd4de;
  --gray-400: #a4abba;
  --gray-500: #737b8b;
  --gray-600: #4d5566;
  --gray-700: #2f3644;
  --gray-800: #1c2230;
  --gray-900: #0f131c;

  /* Estados */
  --success-50:  #eaf7f0;
  --success-100: #cdecd9;
  --success-600: #2f8f5b;
  --success-700: #23744a;

  --warning-50:  #fdf5e6;
  --warning-100: #fbe8be;
  --warning-600: #b7791f;
  --warning-700: #8f5f18;

  --danger-50:   #fbecec;
  --danger-100:  #f5cccc;
  --danger-600:  #b83636;
  --danger-700:  #8a2828;

  --info-50:  #eaf1fa;
  --info-100: #cddfef;
  --info-600: #2a68ad;
  --info-700: #1f5088;

  /* Superfícies e bordas */
  --bg-body:    var(--gray-50);
  --bg-surface: var(--white);
  --bg-muted:   var(--gray-100);
  --border:     var(--gray-200);
  --border-strong: var(--gray-300);

  /* Tipografia */
  --font-sans: 'Just Sans', 'Segoe UI', Arial, sans-serif;
  --fs-xs:   12px;
  --fs-sm:   13px;
  --fs-base: 14px;
  --fs-md:   15px;
  --fs-lg:   17px;
  --fs-xl:   20px;
  --fs-2xl:  24px;
  --fs-3xl:  28px;
  --fs-4xl:  34px;

  /* Espaçamento */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-7: 32px;
  --sp-8: 40px;
  --sp-9: 56px;
  --sp-10: 72px;

  /* Raio */
  --radius-sm: 3px;
  --radius:    6px;
  --radius-md: 8px;
  --radius-lg: 10px;
  --radius-pill: 999px;

  /* Elevação — muito discreta, quase editorial */
  --shadow-xs: 0 1px 0 rgba(15, 23, 42, 0.04);
  --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.05);
  --shadow-md: 0 3px 10px rgba(15, 23, 42, 0.06);
  --shadow-lg: 0 12px 32px rgba(15, 23, 42, 0.14);

  /* Layout */
  --sidebar-w: 232px;
  --sidebar-w-collapsed: 68px;
  --header-h: 56px;

  /* Motion */
  --ease: cubic-bezier(.2,.7,.3,1);
  --dur-fast: 120ms;
  --dur:      180ms;
  --dur-slow: 260ms;
}
