/* =============================================================================
   Portal do Colaborador — Design Tokens (Madesa)
   Fonte: manual de marca oficial (Madesa Design System, recebido 18/08/2026).
   Ver specs/013-sistema-design-visual/spec.md. Sem build — servido direto,
   igual ao resto do CSS do projeto (decisão P7/P61).
   ============================================================================= */

/* ---------- Fontes ---------- */
/* Os arquivos vivem em public/css/fonts/madesa/ (não public/fonts/madesa/)
   de propósito: a raiz do repositório é o docroot em produção, e só existe
   link simbólico pra css/js/images/livros/favicon.ico na raiz do servidor
   (ver CLAUDE.md, armadilha 6b) — "/fonts/..." cairia no Laravel e voltaria
   404. Ficando dentro de /css/ a fonte "pega carona" no link que já existe. */
@font-face {
  font-family: "Museo";
  src: url("/css/fonts/madesa/Museo-300.otf") format("opentype");
  font-weight: 300; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Museo";
  src: url("/css/fonts/madesa/Museo-500.otf") format("opentype");
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Museo";
  src: url("/css/fonts/madesa/Museo-700.otf") format("opentype");
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("/css/fonts/madesa/Roboto-Light.ttf") format("truetype");
  font-weight: 300; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("/css/fonts/madesa/Roboto-Regular.ttf") format("truetype");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("/css/fonts/madesa/Roboto-Medium.ttf") format("truetype");
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("/css/fonts/madesa/Roboto-Bold.ttf") format("truetype");
  font-weight: 700; font-style: normal; font-display: swap;
}

:root {
  /* ----- Vermelho de marca ----- */
  --red-50:  #FCF2F2;
  --red-100: #F3C6C7;
  --red-500: #E11923;   /* PRIMÁRIA — vermelho Madesa */
  --red-600: #C9161F;
  --red-800: #8E1016;

  /* ----- Ink (neutros escuros) ----- */
  --ink-900: #131614;
  --ink-800: #1C201E;
  --ink-700: #262C29;
  --ink-600: #36403C;
  --ink-500: #4B5852;

  /* ----- Paper (neutros quentes — fundo característico da marca) ----- */
  --paper-50:  #F8F8F6;
  --paper-100: #EEEEE7;
  --paper-200: #E2E2D5;
  --paper-300: #D7D7C4;
  --paper-400: #C5C5AA;

  /* ----- Slate (neutros frios) ----- */
  --slate-50:  #F4F5F5;
  --slate-100: #DFE2E0;
  --slate-200: #C9CFCC;
  --slate-300: #A4ADA8;
  --slate-500: #73827A;

  /* ----- Accents ----- */
  --orange-500: #FF7F21;
  --orange-700: #F26405;
  --green-50:  #DCF9E7;
  --green-500: #0BA360;
  --green-700: #077747;
  --green-900: #045633;
  --yellow-50:  #FEF6C3;
  --yellow-500: #FFB41F;
  --yellow-700: #F9A806;
  --teal-500: #027878;
  --blue-100: #C3E2FE;
  --blue-500: #0347A0;
  --blue-900: #022450;

  /* ----- Semânticos: superfície ----- */
  --bg:          var(--paper-50);
  --bg-elevated: #FFFFFF;
  --bg-sunken:   var(--paper-100);
  --bg-inverse:  var(--ink-800);

  /* ----- Semânticos: texto ----- */
  --fg-1: var(--ink-800);
  --fg-2: var(--ink-600);
  --fg-3: var(--slate-500);
  --fg-4: var(--slate-300);
  --fg-inverse: #FFFFFF;
  --fg-link: var(--red-600);
  --fg-link-hover: var(--red-800);

  /* ----- Semânticos: bordas ----- */
  --border-subtle:  var(--paper-200);
  --border-default: var(--slate-100);
  --border-strong:  var(--slate-300);
  --border-focus:   var(--red-500);

  /* ----- Semânticos: ações ----- */
  --action:         var(--red-500);
  --action-hover:   var(--red-600);
  --action-press:   var(--red-800);
  --action-fg:      #FFFFFF;
  --action-soft-bg: var(--red-50);
  --action-soft-fg: var(--red-800);

  /* ----- Semânticos: status (usados em badges/alertas do portal) ----- */
  --success:    var(--green-500);
  --success-bg: var(--green-50);
  --success-fg: var(--green-900);
  --warning:    var(--yellow-700);
  --warning-bg: var(--yellow-50);
  --warning-fg: var(--ink-800);
  --danger:     var(--red-500);
  --danger-bg:  var(--red-50);
  --danger-fg:  var(--red-800);
  --info:       var(--blue-500);
  --info-bg:    var(--blue-100);
  --info-fg:    var(--blue-900);

  /* ----- Raio / sombra / espaçamento ----- */
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 20px;
  --radius-pill: 999px;

  --shadow-xs: 0 1px 2px rgba(19, 22, 20, 0.04);
  --shadow-sm: 0 1px 3px rgba(19, 22, 20, 0.06), 0 1px 2px rgba(19, 22, 20, 0.04);
  --shadow-md: 0 4px 12px rgba(19, 22, 20, 0.08), 0 2px 4px rgba(19, 22, 20, 0.04);
  --shadow-lg: 0 12px 32px rgba(19, 22, 20, 0.10), 0 4px 8px rgba(19, 22, 20, 0.04);
  --shadow-xl: 0 24px 56px rgba(19, 22, 20, 0.14);
  --shadow-focus: 0 0 0 3px rgba(225, 25, 35, 0.24);

  --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;

  /* ----- Tipografia ----- */
  --font-display: "Museo", Georgia, "Times New Roman", serif;
  --font-body:    "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;

  --h1-size: 36px; --h1-lh: 1.15;
  --h2-size: 28px; --h2-lh: 1.20;
  --h3-size: 22px; --h3-lh: 1.25;
  --h4-size: 18px; --h4-lh: 1.35;
  --h5-size: 16px; --h5-lh: 1.40;
  --h6-size: 14px; --h6-lh: 1.40;

  --body-lg-size: 18px; --body-lg-lh: 1.55;
  --body-md-size: 16px; --body-md-lh: 1.55;
  --body-sm-size: 14px; --body-sm-lh: 1.50;
  --body-xs-size: 12px; --body-xs-lh: 1.45;

  --overline-size: 12px; --overline-lh: 1.2; --overline-tracking: 0.12em;
  --label-size: 13px; --label-lh: 1.3;
}
