/* PRAETOR — tokens do design system (modelo Console).

   ARQUIVO GERADO. Nao edite aqui: rode _build/gerar_tokens.py apontando para a
   pasta do kit e ele reescreve tudo.

   Cuidado ao mexer neste cabecalho: comentario CSS nao aninha. Se colar aqui um
   trecho que ja contenha um par de barra-asterisco, o primeiro fechamento
   encerra ESTE comentario e o resto vaza como CSS solto. Foi assim que o tema
   claro quebrou uma vez.
*/
@import url('https://fonts.googleapis.com/css2?family=Schibsted+Grotesk:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;700&display=swap');

/* ===== tokens/fonts.css ===== */
/* PRAETOR — font loading. Modelo Console.
   Schibsted Grotesk (títulos + corpo) · JetBrains Mono (dados, labels, números).
   Grotesca nórdica de jornal + a mono de quem escreve código de verdade:
   "ferramenta de engenharia usada por profissionais". As duas marcas irmãs
   (Consulting / Sec) dividem a mesma família — a fonte nunca é o que as separa. */

/* ===== tokens/colors.css ===== */
/* PRAETOR — color tokens. Duas marcas irmãs (data-brand: consulting | sec) × dois temas (data-theme: dark | light).
   Default (sem atributos) = tema escuro, marca Consulting. */
:root,[data-theme="dark"]{
  --bg:#0A0A0A;
  --bg-deep:#060606;
  --surface-1:#0D0D0D;
  --surface-2:#121212;
  --surface-3:#181818;
  --line-1:#242422;
  --line-soft:#1A1A18;
  --line-2:#33332F;
  --line-3:#3F3F3A;
  --white:#FFFFFF;
  --paper:#EDEDEA;
  --text-primary:#CFCFCB;
  --text-secondary:#8F8F8B;
  --text-tertiary:#5C5C58;
  --text-quaternary:#2E2E2C;
  --text-numeral:#5F5F57; /* numeral gigante decorativo: 3,07:1, AA para texto grande */
  --text-on-white:#060606;
  --invert-bg:var(--paper);
  --invert-text:#060606;
  --invert-text-secondary:#3B3B38;
  --invert-text-tertiary:#5C5C58;
  --invert-line:rgba(6,6,6,.14);
  --safe:#37E0A0;
  --safe-on-light:#189267;
  --sev-critical:#E54B3E;
  --sev-high:#E8834A;
  --sev-medium:#D9B94C;
  --sev-low:#8F8F8B;
  --sev-info:#5783A2;
}
[data-theme="light"]{
  /* Regra crítica: no escuro, elevar = clarear a superfície. No claro isso não
     funciona — a hierarquia se perde. Superfície elevada é BRANCA COM SOMBRA
     (ver tokens/motifs.css .pt-panel + guidelines/light-theme-rules.html), e
     faixas recuadas (bg-deep, surface bands) ficam MAIS ESCURAS que a página. */
  --bg:#E9E9E5;
  --bg-deep:#E0E0DB;
  --surface-1:#F6F6F3;
  --surface-2:#FFFFFF;
  --surface-3:#FFFFFF;
  --line-1:#D5D5CE;
  --line-soft:#E2E2DD;
  --line-2:#BEBEB6;
  --line-3:#9E9E96;
  --white:#FFFFFF;
  --paper:#EDEDEA;
  --text-primary:#060606;
  --text-secondary:#3B3B38;
  --text-tertiary:#5C5C58;
  --text-quaternary:#8F8F8B;
  --text-numeral:#85857C; /* 3,06:1 sobre --bg */
  --text-on-white:#060606;
  --invert-bg:#060606;
  --invert-text:#FFFFFF;
  --invert-text-secondary:#CFCFCB;
  --invert-text-tertiary:#8F8F8B;
  --invert-line:rgba(255,255,255,.14);
  --safe:#0C6B49; /* escurecido de #189267 (3.35:1, falhava AA) para 5.57:1 */
  --safe-on-light:#0C6B49;
  --sev-critical:#C81E1E;
  --sev-high:#AA4B15;
  --sev-medium:#7B651A;
  --sev-low:#3B3B38;
  --sev-info:#3B6E92;
  --sombra-1:0 1px 2px rgba(6,6,6,.04), 0 6px 18px -14px rgba(6,6,6,.30);
  --sombra-2:0 1px 3px rgba(6,6,6,.06), 0 14px 34px -20px rgba(6,6,6,.34);
}

/* Consulting (default): vermelho é excecão deliberada — ~5% da composição */
:root,[data-brand="consulting"]{
  --accent:#E33A2C;
  --accent-hover:#FF5348;
  --accent-deep:#7A1210;
  --accent-soft:rgba(227,58,44,.12);
  --accent-glow:rgba(227,58,44,.26);
  --accent-text:#E33A2C; /* 4.74:1 vs #0A0A0A — AA para texto pequeno */
}
[data-brand="consulting"][data-theme="light"]{
  --accent:#C81E1E;
  --accent-hover:#A81616;
  --accent-deep:#7A1210;
  --accent-soft:rgba(200,30,30,.08);
  --accent-glow:rgba(200,30,30,.18);
  --accent-text:#C11D1D; /* 4,58:1 sobre --bg-deep, 6,07:1 sobre branco */
}

/* Sec: vermelho é dominante — a cor primária da composição */
[data-brand="sec"]{
  --bg:#0A0A0C;
  --bg-deep:#060608;
  --surface-1:#101114;
  --surface-2:#16171C;
  --surface-3:#1C1E24;
  --line-1:#20222A;
  --line-soft:#171920;
  --line-2:#2C2F39;
  --line-3:#3A3E4A;
  --text-primary:#F2F3F5;
  --text-secondary:#E1E3E7;
  --text-tertiary:#9BA1AC;
  --text-quaternary:#71757E;
  --accent:#FF2D20;
  --accent-hover:#FF5348;
  --accent-deep:#7E140C;
  --accent-soft:rgba(255,45,32,.12);
  --accent-glow:rgba(255,45,32,.30);
  --accent-text:#FF2D20; /* 5.45:1 vs #060608 */
  --safe:#37E0A0;
}
/* Sec no claro: o #FF2D20 saturado perde legibilidade no papel — cai para o vermelho mais fundo do Consulting */
[data-brand="sec"][data-theme="light"]{
  --bg:#E9E9E5;
  --bg-deep:#E0E0DB;
  --surface-1:#F6F6F3;
  --surface-2:#FFFFFF;
  --surface-3:#FFFFFF;
  --line-1:#D5D5CE;
  --line-soft:#E2E2DD;
  --line-2:#BEBEB6;
  --line-3:#9E9E96;
  --text-primary:#0A0A0C;
  --text-secondary:#3B3B38;
  --text-tertiary:#5C5C58;
  --text-quaternary:#8F8F8B;
  --accent:#C81E1E;
  --accent-hover:#A81616;
  --accent-deep:#7A1210;
  --accent-soft:rgba(200,30,30,.10);
  --accent-glow:rgba(200,30,30,.20);
  --safe:#0C6B49; /* escurecido de #189267 (3.35:1, falhava AA) para 5.57:1 */
}

/* ===== tokens/typography.css ===== */
:root{
  --font-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --font-body:'Schibsted Grotesk',system-ui,sans-serif;
  --font-display:var(--font-body);
}
/* Modelo Console: as duas marcas dividem a MESMA família tipográfica.
   Consulting e Sec se diferenciam pela dominância do vermelho e pela densidade
   de dados — nunca pela fonte. */
:root{
  --fs-display:clamp(41px,5.9vw,80px); /* @kind font */
  --lh-display:.97; /* @kind other */
  --fs-h1:clamp(38px,5.4vw,68px); /* @kind font */
  --lh-h1:.98; /* @kind other */
  --fs-h2:clamp(28px,4.2vw,46px); /* @kind font */
  --lh-h2:1.05; /* @kind other */
  --fs-h3:21px; /* @kind font */
  --lh-h3:1.25; /* @kind other */
  --fs-h4:17px; /* @kind font */
  --lh-h4:1.3; /* @kind other */
  --fs-body-lg:17px; /* @kind font */
  --fs-body:15.5px; /* @kind font */
  --fs-body-sm:14.4px; /* @kind font */
  --fs-caption:13px; /* @kind font */
  --fs-micro:11px; /* @kind font */
  --fs-meta:10.5px; /* @kind font */
  --lh-body:1.72; /* @kind other */
  --lh-body-tight:1.64; /* @kind other */
  --tracking-display:-.035em; /* @kind other */
  --tracking-tight:-.03em; /* @kind other */
  --tracking-eyebrow:.2em; /* @kind other */
  --tracking-meta:.18em; /* @kind other */
  --tracking-mono-label:.08em; /* @kind other */
  --fw-display:800; /* @kind other */
  --fw-heading:700; /* @kind other */
  --fw-mono-label:500; /* @kind other */
}

/* ===== tokens/spacing.css ===== */
:root{
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-7:32px;
  --space-8:40px;
  --space-9:48px;
  --space-10:64px;
  --space-11:80px;
  --space-12:104px;
  --container-max:1180px;
  --bp-mobile:640px; /* @kind other */
  --bp-tablet:900px; /* @kind other */
  --bp-desktop:1200px; /* @kind other */
  /* Console: cantos retos em todo o sistema. O chanfro (notch) do modelo
     anterior foi removido e não deve voltar. */
  --radius-sm:0px;
  --radius-md:2px;
  --radius-lg:3px;
}
[data-brand="sec"]{ --container-max:1160px; }

/* ===== tokens/motion.css ===== */
:root{
  --ease-standard:cubic-bezier(.4,0,.2,1); /* @kind other */
  --ease-enter:cubic-bezier(0,0,.2,1); /* @kind other */
  --ease-exit:cubic-bezier(.4,0,1,1); /* @kind other */
  --ease-bounce:cubic-bezier(.34,1.56,.64,1); /* @kind other */
  --dur-micro:120ms; /* @kind other */
  --dur-fast:150ms; /* @kind other */
  --dur-base:200ms; /* @kind other */
  --dur-reveal:700ms; /* @kind other */
  --dur-drama:2000ms; /* @kind other */
  --dur-rail:1100ms; /* @kind other */
  --dur-orbit-slow:90s; /* @kind other */
  --dur-orbit-slower:140s; /* @kind other */
  --dur-float:9s; /* @kind other */
  --dur-gauge:1600ms; /* @kind other */
  --dur-pulse:1.2s; /* @kind other */
  --dur-pulse-slow:2.2s; /* @kind other */
  --stagger-delay:100ms; /* @kind other */
}
@keyframes praetor-rail{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes praetor-spin{to{transform:rotate(360deg)}}
@keyframes praetor-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes praetor-gauge{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes praetor-pulse{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes praetor-reveal{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes praetor-reveal-left{from{opacity:0;transform:translateX(-22px)}to{opacity:1;transform:none}}
@keyframes praetor-reveal-right{from{opacity:0;transform:translateX(22px)}to{opacity:1;transform:none}}
@keyframes praetor-reveal-scale{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}
@keyframes praetor-skeleton{0%,100%{background-color:var(--surface-1)}50%{background-color:var(--surface-2)}}
@keyframes praetor-toast-in{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes praetor-decode{0%{opacity:.15}50%{opacity:.7}100%{opacity:1}}
@keyframes praetor-count-tick{from{opacity:.4}to{opacity:1}}
/* Removidos no modelo Console (não recriar): scanline, glitch cromático, blueprint
   draw, cursor piscando, canto chanfrado. O emblema orbital (praetor-spin) foi
   mantido por decisão de marca — é herança, não decoração hacker. */
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
}

/* ===== tokens/motifs.css ===== */
/* PRAETOR — motifs gráficos assinatura. MODELO CONSOLE.
   Metáfora: painel de operação / instrumento de precisão. Cantos retos,
   hairlines, dados em mono, estados sinalizados. Sóbrio — sem estética
   hacker-clichê. Removidos do modelo anterior: .pt-notch (canto chanfrado),
   .pt-bp-grid (blueprint), .pt-stamp (carimbo), .pt-scan-line, .pt-glitch-once,
   .pt-cursor-blink. Ver guidelines/motifs.html. */

/* 1. BRACKET — o motif assinatura. Colchete de medição sob a palavra em
   destaque do título. Único lugar do Consulting onde o vermelho aparece em
   escala. Regra: uma vez por página. */
.pt-bracket{font-style:normal;color:inherit;position:relative;display:inline-block}
.pt-bracket::after{content:"";position:absolute;left:0;right:0;bottom:-.09em;height:.11em;border:1px solid var(--accent);border-top:0;opacity:.95}
.pt-bracket-soft::after{border-color:var(--line-3);opacity:.85}

/* 2. EYEBROW — label mono com prefixo //, acima de todo heading */
.pt-eyebrow{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:var(--fw-mono-label);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-secondary);display:inline-flex;align-items:center;gap:10px}
.pt-eyebrow::before{content:"//";color:var(--text-tertiary);letter-spacing:0}
[data-brand="sec"] .pt-eyebrow{color:var(--accent)}
[data-brand="sec"] .pt-eyebrow::before{color:var(--accent-deep)}
.pt-meta{font-family:var(--font-mono);font-size:var(--fs-meta);font-weight:400;letter-spacing:var(--tracking-meta);text-transform:uppercase;color:var(--text-secondary)}

/* 3. STATUS DOTS — branco=normal / vermelho=atenção / verde=protegido */
.pt-dot{width:7px;height:7px;border-radius:50%;background:var(--text-tertiary);display:inline-block;flex:none}
.pt-dot-live{background:var(--paper);box-shadow:0 0 0 3px rgba(237,237,234,.13)}
.pt-dot-warn{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.pt-dot-safe{background:var(--safe);box-shadow:0 0 0 3px rgba(55,224,160,.13)}
.pt-dot-pulse{animation:praetor-pulse var(--dur-pulse-slow) infinite}
[data-theme="light"] .pt-dot-live{background:var(--text-primary);box-shadow:0 0 0 3px rgba(6,6,6,.10)}

/* 4. RAIL — trilho fino que varre a base da nav / topo de seção, uma vez */
.pt-rail{display:block;height:1px;width:100%;transform-origin:left;background:linear-gradient(90deg,var(--accent),transparent);animation:praetor-rail 1.1s var(--ease-enter) both}

/* 5. GAUGE — medidor fino, preenche na entrada. Mede escopo, cobertura, risco. */
.pt-gauge{height:3px;background:var(--line-1);overflow:hidden;display:block;width:100%}
.pt-gauge>i{display:block;height:100%;width:100%;background:var(--paper);transform-origin:left;animation:praetor-gauge 1.6s var(--ease-enter) both;animation-delay:calc(var(--i,0) * 200ms)}
.pt-gauge-accent>i{background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}
[data-theme="light"] .pt-gauge>i{background:var(--text-primary)}

/* 6. PANEL — painel de instrumentos: cabeça (status) / corpo / rodapé (meta) */
.pt-panel{background:var(--surface-1);border:1px solid var(--line-1);position:relative}
.pt-panel::before,.pt-panel::after{content:"";position:absolute;width:10px;height:10px;border:1px solid var(--paper);opacity:.55}
.pt-panel::before{top:-1px;left:-1px;border-right:0;border-bottom:0}
.pt-panel::after{bottom:-1px;right:-1px;border-left:0;border-top:0}
.pt-panel-head,.pt-panel-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 20px}
.pt-panel-head{border-bottom:1px solid var(--line-1)}
.pt-panel-foot{border-top:1px solid var(--line-1);background:var(--surface-2)}
.pt-panel-body{padding:8px 20px 14px}
[data-theme="light"] .pt-panel{background:var(--surface-2);box-shadow:var(--sombra-2)}
[data-theme="light"] .pt-panel::before,[data-theme="light"] .pt-panel::after{border-color:var(--text-primary);opacity:.4}
[data-theme="light"] .pt-panel-head{background:var(--surface-1)}

/* 7. READOUT — linha de leitura: label · barra · valor */
.pt-readout{display:flex;align-items:center;gap:16px}
.pt-readout .pt-gauge{flex:1;min-width:60px}

/* 8. CHIP — tag mono para stack, frameworks, tecnologias */
.pt-chip{font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:var(--tracking-mono-label);color:var(--text-secondary);border:1px solid var(--line-2);padding:5px 9px;display:inline-block;transition:border-color var(--dur-base),color var(--dur-base)}
.pt-chip:hover{border-color:var(--line-3);color:var(--text-primary)}

/* 9. HAIRLINE — divisor */
.pt-hairline{height:1px;background:var(--line-1);border:0;margin:0}
.pt-hairline-accent{background:linear-gradient(90deg,var(--accent),var(--line-1) 30%,var(--line-1))}

/* 10. REDACTED — tarja de censura. Sec: prova de sigilo. */
.pt-redacted{display:inline-block;background:var(--surface-3);color:transparent;height:.95em;vertical-align:middle;user-select:none;box-shadow:inset 0 0 0 1px var(--line-1);transition:background var(--dur-base),color var(--dur-base)}
.pt-redacted:hover{background:var(--accent);color:var(--paper)}
[data-theme="light"] .pt-redacted{background:var(--text-primary)}
[data-theme="light"] .pt-redacted:hover{background:var(--accent);color:#fff}

/* 11. REVEAL — entrada com stagger */
.pt-reveal{opacity:0;transform:translateY(22px);transition:opacity var(--dur-reveal) ease,transform var(--dur-reveal) ease}
.pt-reveal.in{opacity:1;transform:none}
.pt-reveal-left{opacity:0;transform:translateX(-22px);transition:opacity var(--dur-reveal) ease,transform var(--dur-reveal) ease}
.pt-reveal-left.in{opacity:1;transform:none}
.pt-reveal-right{opacity:0;transform:translateX(22px);transition:opacity var(--dur-reveal) ease,transform var(--dur-reveal) ease}
.pt-reveal-right.in{opacity:1;transform:none}
.pt-reveal-scale{opacity:0;transform:scale(.95);transition:opacity var(--dur-reveal) ease,transform var(--dur-reveal) ease}
.pt-reveal-scale.in{opacity:1;transform:none}
.pt-stagger>*{transition-delay:calc(var(--i,0) * var(--stagger-delay))}

/* 12. MICRO-INTERAÇÕES — precisas, sem clip-path (cantos são retos) */
.pt-btn{transition:transform var(--dur-micro) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),background var(--dur-base),color var(--dur-base),border-color var(--dur-base)}
.pt-btn:hover{transform:translateY(-1px)}
.pt-btn:active{transform:scale(.98)}
.pt-btn-accent:hover{box-shadow:0 0 0 5px var(--accent-soft)}
.pt-btn .pt-arw{transition:transform var(--dur-base) var(--ease-standard);display:inline-block}
.pt-btn:hover .pt-arw{transform:translateX(4px)}
.pt-card-hover{transition:border-color var(--dur-base) var(--ease-standard),background var(--dur-reveal)}
.pt-card-hover:hover{border-color:var(--line-3);background:var(--surface-2)}
.pt-card-idx{transition:color var(--dur-base)}
.pt-card-hover:hover .pt-card-idx{color:var(--accent)}
.pt-tag-hover{transition:border-color var(--dur-base),color var(--dur-base)}
.pt-tag-hover:hover{border-color:var(--line-3);color:var(--text-primary)}
.pt-nav-link{position:relative;text-decoration:none}
.pt-nav-link::after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:var(--paper);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-base) var(--ease-standard)}
.pt-nav-link:hover::after{transform:scaleX(1)}
[data-theme="light"] .pt-nav-link::after{background:var(--text-primary)}
.pt-badge-pulse{animation:praetor-pulse var(--dur-pulse-slow) infinite}
.pt-badge-pulse:hover{animation-duration:var(--dur-pulse)}
.pt-skeleton{animation:praetor-skeleton 1.6s ease-in-out infinite}
.pt-toast-enter{animation:praetor-toast-in var(--dur-base) var(--ease-exit)}
@media (prefers-reduced-motion:reduce){
  .pt-rail,.pt-gauge>i{animation:none}
  .pt-gauge>i{transform:scaleX(1)}
  .pt-reveal,.pt-reveal-left,.pt-reveal-right,.pt-reveal-scale{opacity:1;transform:none}
}

/* 13. GRID — grade técnica fina para fundos (social, print, capas) */
.pt-grid{position:absolute;inset:0;pointer-events:none;opacity:.45;background-image:linear-gradient(var(--line-1) 1px,transparent 1px),linear-gradient(90deg,var(--line-1) 1px,transparent 1px);background-size:48px 48px}
.pt-grid-fine{background-size:24px 24px;opacity:.35}

/* 14. EMBLEMA ORBITAL — herança da marca. Dois anéis tracejados girando em
   sentidos opostos (90s / 140s) + flutuação vertical suave. É o único
   movimento herdado do modelo anterior — vive atrás do conteúdo do hero em
   opacidade baixa, atmosfera, nunca decoração de fundo genérica. */
.pt-emblem{position:absolute;pointer-events:none;z-index:0;animation:praetor-float var(--dur-float) ease-in-out infinite}
.pt-emblem svg{width:100%;height:100%;display:block}
.pt-orbit-slow{animation:praetor-spin var(--dur-orbit-slow) linear infinite;transform-origin:center}
.pt-orbit-slower{animation:praetor-spin var(--dur-orbit-slower) linear infinite reverse;transform-origin:center}
@media (prefers-reduced-motion:reduce){.pt-emblem,.pt-orbit-slow,.pt-orbit-slower{animation:none}}

/* 15. REDACTED-LINE / SEVERITY — usados nas peças de relatório */
.pt-sev{display:flex;gap:1px;background:var(--line-1);border:1px solid var(--line-1)}
.pt-sev>div{flex:1;background:var(--surface-1);padding:14px 16px;text-align:center}
[data-theme="light"] .pt-sev>div{background:#FFFFFF}
.pt-sev b{display:block;font-family:var(--font-display);font-weight:800;font-size:1.7rem;line-height:1}
.pt-sev span{display:block;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);margin-top:7px}
.pt-sev .crit b{color:var(--accent)}
.pt-sev .alta b{color:#E8834A}
.pt-sev .media b{color:#D9B94C}
.pt-sev .baixa b{color:var(--text-secondary)}

/* ===== tokens/base.css ===== */
*{box-sizing:border-box}
body{font-family:var(--font-body);background:var(--bg);color:var(--text-primary);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}
a{color:var(--accent-text)} /* -text, nao --accent: no claro o accent puro da 4,33:1 sobre faixa recuada */
a:hover{color:var(--accent-hover)}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--fw-display);line-height:var(--lh-h1);letter-spacing:var(--tracking-tight);color:var(--paper)}
h3,h4{font-weight:var(--fw-heading);letter-spacing:-.015em}
[data-theme="light"] h1,[data-theme="light"] h2,[data-theme="light"] h3,[data-theme="light"] h4{color:var(--text-primary)}
::selection{background:var(--accent);color:var(--white)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.pt-container{max-width:var(--container-max);margin:0 auto;padding:0 24px}
.pt-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}

/* ===== tokens/print.css ===== */
/* PRAETOR — sistema de impressão. Regra inegociável: a versão impressa usa
   SEMPRE o tema claro, mesmo que a tela esteja no escuro — metade da entrega
   da Praetor vira PDF, e tema escuro não vai para o papel. Tudo aqui vive
   dentro de @media print — não afeta a tela. */
@media print{
  :root,[data-theme="dark"],[data-theme="light"],[data-brand="sec"],[data-brand="consulting"]{
    --bg:#EDEDEA!important;--bg-deep:#E0E0DB!important;--surface-1:#F6F6F3!important;--surface-2:#FFFFFF!important;--surface-3:#FFFFFF!important;
    --line-1:#D5D5CE!important;/* @kind color */--line-soft:#E2E2DD!important;/* @kind color */--line-2:#BEBEB6!important;/* @kind color */--line-3:#9E9E96!important;/* @kind color */
    --text-primary:#060606!important;--text-secondary:#3B3B38!important;--text-tertiary:#5C5C58!important;--text-quaternary:#8F8F8B!important;
    --paper:#060606!important;/* @kind color */--accent:#C81E1E!important;--accent-text:#C11D1D!important;/* @kind color *//* @kind color */--accent-hover:#A81616!important;/* @kind color */--accent-deep:#7A1210!important;/* @kind color */--safe:#0C6B49!important;--sev-critical:#C81E1E!important;--sev-high:#AA4B15!important;--sev-medium:#7B651A!important;--sev-low:#3B3B38!important;--sev-info:#3B6E92!important;--text-numeral:#85857C!important;/* @kind color *//* @kind color */
  }
  body{background:#fff!important;color:#111!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  /* cromo de navegacao nunca vai para o papel */
  .no-print,nav,[role="navigation"],.skip,.themetog,.navtoggle{display:none!important}
  a{text-decoration:none}
  /* órfãs e viúvas */
  p,li{orphans:3;widows:3}
  h1,h2,h3,h4{page-break-after:avoid;break-after:avoid}
  table,figure,.pt-panel{page-break-inside:avoid;break-inside:avoid}

  /* quebra de página explícita entre peças (capa, contracapa, cada capítulo) */
  .print-page-break{page-break-before:always;break-before:page}
  .print-avoid-break{page-break-inside:avoid;break-inside:avoid}

  /* numeração de página — suportado por motores de paginação (ex. impressão
     para PDF); degrada sem erro em navegadores que ignoram @page margin boxes */
  @page{
    margin:2.2cm 1.8cm;
    @bottom-center{content:"Página " counter(page) " de " counter(pages);font-family:'JetBrains Mono',monospace;font-size:9px;color:#5C5C58}
  }

  /* URL expandida em nota — só dentro de documentos de prosa, nunca na nav */
  .print-doc a[href]::after{content:" (" attr(href) ")";font-size:.78em;color:#5C5C58}

  /* marca d'água CONFIDENCIAL para minuta */
  .print-watermark-confidencial{position:fixed;top:45%;left:0;right:0;text-align:center;
    font-family:'Schibsted Grotesk',sans-serif;font-weight:800;font-size:64px;letter-spacing:.06em;
    color:rgba(200,30,30,.14);transform:rotate(-28deg);z-index:9999;pointer-events:none}

  /* sumário com numeração automática de seções (h2 = capítulo) */
  .print-doc{counter-reset:print-chapter}
  .print-doc h2{counter-increment:print-chapter}
  .print-doc h2::before{content:counter(print-chapter) ". ";color:#C81E1E}
}
