/* ==========================================================================
   INDPARTS — tokens de marca (fonte: Nova Identidade 2026/css/design-tokens.css)
   Reaproveitados 1:1 aqui. NAO inventar cores novas — apenas as duas cores
   institucionais (--ind-blue / --ind-gray) e suas variacoes tonais oficiais.
   ========================================================================== */

@font-face{
  font-family:"IBM Plex Sans"; font-style:normal; font-weight:400 700; font-display:swap;
  src:url("../fonts/IBMPlexSans-Variable.woff2") format("woff2");
}
@font-face{
  font-family:"IBM Plex Mono"; font-style:normal; font-weight:400; font-display:swap;
  src:url("../fonts/IBMPlexMono-Regular.woff2") format("woff2");
}
@font-face{
  font-family:"IBM Plex Mono"; font-style:normal; font-weight:500; font-display:swap;
  src:url("../fonts/IBMPlexMono-Medium.woff2") format("woff2");
}
@font-face{
  font-family:"IBM Plex Mono"; font-style:normal; font-weight:600; font-display:swap;
  src:url("../fonts/IBMPlexMono-SemiBold.woff2") format("woff2");
}
@font-face{
  font-family:"IBM Plex Mono"; font-style:normal; font-weight:700; font-display:swap;
  src:url("../fonts/IBMPlexMono-Bold.woff2") format("woff2");
}

:root{
  /* cores institucionais — nao alterar */
  --ind-blue:  #334570;
  --ind-gray:  #4B4B4D;
  --ind-white: #FFFFFF;

  --blue-50:  #EFF0F4;
  --blue-100: #DEE1E8;
  --blue-200: #C6CBD7;
  --blue-300: #A5ADC0;
  --blue-400: #7C88A3;
  --blue-500: #3F6BB0;
  --blue-600: #334570;
  --blue-700: #2D3D63;
  --blue-800: #253251;
  --blue-900: #232F4D;

  --gray-50:  #F4F4F4;
  --gray-100: #EEF0F0;
  --gray-200: #E6E6E6;
  --gray-300: #CDCDCD;
  --gray-400: #ACACAD;
  --gray-500: #88888A;
  --gray-600: #69696C;
  --gray-700: #4B4B4D;
  --gray-800: #343436;
  --gray-900: #272728;

  --color-bg:             var(--blue-50);
  --color-surface:        var(--ind-white);
  --color-surface-subtle: var(--gray-100);
  --color-text:           var(--blue-600);
  --color-text-muted:     #535D71;
  --color-text-inverse:   #FFFFFF;
  --color-border:         rgba(51,69,112,.16);
  --color-border-strong:  rgba(51,69,112,.40);
  --color-primary:        var(--blue-600);
  --color-primary-hover:  var(--blue-900);
  --color-primary-active: #1a2438;
  --color-focus:          var(--blue-500);
  --color-technical:      var(--gray-700);
  --color-link:           var(--blue-500);

  --color-success: #1E824C; --color-success-bg:#E5F3EC;
  --color-warning: #B45309; --color-warning-bg:#FBEDDD;
  --color-error:   #B3261E; --color-error-bg:  #FBEAE9;
  --color-info:    var(--blue-500); --color-info-bg: var(--blue-50);

  --font-sans: "IBM Plex Sans", ui-sans-serif, "Segoe UI", Arial, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, Consolas, monospace;

  --text-display: 44px;
  --text-h1: 32px;
  --text-h2: 24px;
  --text-h3: 19px;
  --text-h4: 16px;
  --text-body-lg: 17px;
  --text-body: 15px;
  --text-body-sm: 13px;
  --text-caption: 12px;
  --text-overline: 11px;

  --space-1:4px;  --space-2:8px;  --space-3:12px; --space-4:16px; --space-5:24px;
  --space-6:32px; --space-7:48px; --space-8:64px; --space-9:96px;

  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-lg: 16px;
  --radius-pill: 999px;

  --shadow-xs: 0 1px 0 rgba(35,47,77,.06);
  --shadow-sm: 0 1px 2px rgba(35,47,77,.05), 0 8px 20px -12px rgba(35,47,77,.14);
  --shadow-md: 0 2px 4px rgba(35,47,77,.05), 0 16px 32px -16px rgba(35,47,77,.18);

  --container-max: 1280px;
  --size-touch-min: 44px;

  --duration-fast: 120ms;
  --duration-base: 200ms;
  --ease-standard: cubic-bezier(.2,.7,.3,1);

  --z-header: 100;
  --z-modal-backdrop: 200;
  --z-modal: 210;
  --z-toast: 220;

  /* Sincronizado via JS (app.js) com a altura real do header, que agora e
     position:fixed. Valor aqui e so o fallback antes do JS rodar. */
  --header-h: 80px;
}

@media (prefers-reduced-motion: reduce){
  :root{ --duration-fast:0ms; --duration-base:0ms; }
  *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
}
