/* =========================================================
   LIDER BPO — Portal de Solicitações DEV
   base.css: fontes locais, tokens de design e reset
   ========================================================= */

/* Fontes locais (sem dependência de internet). Licenças OFL em assets/fonts/. */
@font-face {
  font-family: "Inter";
  src: url("../fonts/inter-variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
/* Fonte manuscrita — apenas decorativa. Se faltar, usa fallback cursivo. */
@font-face {
  font-family: "Sacramento";
  src: url("../fonts/sacramento.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}

:root {
  /* Marca */
  --azul-50: #f3f8ff;
  --azul-100: #e7f1ff;
  --azul-150: #dcebfd;
  --azul-200: #cfe3fc;
  --azul-300: #9fcbfb;
  --azul-400: #56aefb;
  --azul-500: #1e90ff;
  --azul-600: #0b74f0;
  --azul-700: #0a5bd0;
  --marinho: #0c2a63;
  --marinho-2: #17346f;

  --grad-primario: linear-gradient(90deg, #22a2ff 0%, #0a6ef0 100%);
  --grad-menu-ativo: linear-gradient(90deg, #3b9ff5 0%, #6ab9fb 100%);
  --grad-banner: linear-gradient(100deg, #e4f0fe 0%, #d5e8fd 55%, #e8f3ff 100%);
  --grad-card-marca: linear-gradient(150deg, #1d8cf8 0%, #0a5fd8 100%);

  /* Texto */
  --texto: #2c3b5c;
  --texto-suave: #5d6c8c;
  --texto-fraco: #8a97b2;

  /* Superfícies */
  --fundo: #f2f7fe;
  --card: #ffffff;
  --borda: #e3edfa;
  --borda-forte: #cfdff4;
  --campo: #f4f9ff;

  /* Estados (status e urgência) */
  --verde: #1f9d57;      --verde-bg: #e3f7eb;      --verde-bd: #c3ebd2;
  --verde-agua: #0f9b8e; --verde-agua-bg: #dff6f3; --verde-agua-bd: #bdebe5;
  --amarelo: #c98500;    --amarelo-bg: #fff5d9;    --amarelo-bd: #fde6a8;
  --laranja: #e0670f;    --laranja-bg: #ffecdc;    --laranja-bd: #fdd4b2;
  --vermelho: #e2363f;   --vermelho-bg: #ffe5e6;   --vermelho-bd: #fcc8cb;
  --indigo: #5b5bd6;     --indigo-bg: #ebebfd;     --indigo-bd: #d4d4fa;
  --cinza: #6b7790;      --cinza-bg: #eef1f6;      --cinza-bd: #dde3ec;
  --badge: #f0424b;

  /* Forma */
  --raio-sm: 10px;
  --raio: 14px;
  --raio-lg: 18px;
  --raio-xl: 24px;
  --sombra-sm: 0 2px 8px rgba(23, 84, 170, 0.06);
  --sombra: 0 8px 24px rgba(23, 84, 170, 0.08);
  --sombra-lg: 0 18px 48px rgba(16, 70, 160, 0.14);
  --sombra-botao: 0 8px 18px rgba(11, 116, 240, 0.28);

  /* Layout */
  --menu-largura: 250px;
  --menu-recolhido: 86px;
  --cabecalho-altura: 78px;
  --transicao: 0.28s cubic-bezier(0.4, 0, 0.2, 1);

  --fonte: "Inter", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
  --fonte-manuscrita: "Sacramento", "Segoe Script", "Brush Script MT", cursive;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  font-family: var(--fonte);
  font-size: 15px;
  line-height: 1.5;
  color: var(--texto);
  background: var(--fundo);
  -webkit-font-smoothing: antialiased;
}

img,
svg {
  display: block;
  max-width: 100%;
}

a {
  color: var(--azul-600);
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
}

button {
  cursor: pointer;
}

h1,
h2,
h3,
h4 {
  margin: 0;
  color: var(--marinho);
  line-height: 1.2;
  letter-spacing: -0.01em;
}

p {
  margin: 0;
}

.ico {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

[hidden] {
  display: none !important;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

:focus-visible {
  outline: 3px solid rgba(30, 144, 255, 0.45);
  outline-offset: 2px;
}

.manuscrito {
  font-family: var(--fonte-manuscrita);
  font-weight: 400;
  letter-spacing: 0;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
