/* ═══════════════════════════════════════════════════════════════════════════
   PerfilScore v3 — "PROVA CORRIGIDA" · sistema completo (9 páginas)
   A interface inteira é um documento de revisão: papel, tinta e caneta vermelha.

   Diretrizes — coding/prompting_for_frontend_aesthetics.ipynb:
   · tipografia distintiva: Bricolage Grotesque + Newsreader + DM Mono
     (zero Inter/Roboto/Open Sans/Lato/system; Space Grotesk evitado de propósito)
   · extremos de peso: corpo 200/300 contra display 800
   · dominante papel+tinta com UM acento cortante (vermelho de revisão)
   · fundo com atmosfera: pauta impressa + grão, não cor sólida
   · carregamento orquestrado com revelações escalonadas

   TEMA: o app usa `body.light-mode-active` (+ `#page-landing.light-mode`) para CLARO,
   e claro é o padrão na primeira visita. Portanto:
     :root                      → negativo (tinta), opt-in
     body.light-mode-active     → papel (padrão)
   ═══════════════════════════════════════════════════════════════════════════ */

:root{
  /* Primitivos */
  --paper:#F2EDE4; --paper-2:#EAE3D6; --paper-3:#DED5C4; --paper-hi:#FBF8F2;
  --ink:#14130E;   --ink-2:#3F3B31;   --ink-3:#5F5A4A;
  --pen-red:#C7280F;
  /* Azul LinkedIn — cor de acao e marca */
  --li:#0A66C2;        /* oficial: fundo de botao, branco por cima = 5.69:1 */
  --li-txt:#0959AB;    /* texto pequeno sobre papel = 5.43:1 no fundo mais tingido */
  --li-dark:#70B5F9;   /* variante do LinkedIn para tema escuro = 7.66:1 */

  --display:"Bricolage Grotesque",Georgia,sans-serif;
  --serif:"Newsreader",Georgia,serif;
  --code:"DM Mono",ui-monospace,Menlo,monospace;

  --t-micro:.75rem; --t-xs:.8125rem; --t-sm:.9375rem; --t-body:1.0625rem;
  --t-lead:1.5rem; --t-h3:2.25rem; --t-h2:3.5rem; --t-h1:6.5rem;

  --u1:4px; --u2:8px; --u3:12px; --u4:16px; --u5:24px; --u6:32px;
  --u7:48px; --u8:64px; --u9:96px; --u10:128px;
  --maxw:1240px;

  /* ── NEGATIVO (opt-in) ── */
  --bg:#14130E; --bg-2:#1C1A14; --surface:#211E17; --surface-2:#2A261D;
  --fg:#F4EFE5; --fg-2:#C0B9A7; --fg-3:#9E9784;
  --rule:rgba(244,239,229,.18); --rule-2:rgba(244,239,229,.32);
  --pen:var(--li-dark); --pen-txt:var(--li-dark); --pen-btn:var(--li); --pen-wash:rgba(112,181,249,.13);
  /* marcas de revisao seguem vermelhas: riscado, ondulado, carimbo, anotacao */
  --mark:#F2542D; --mark-txt:#FF8A66; --mark-wash:rgba(242,84,45,.13);
  --ok:#7FC49A; --ok-wash:rgba(127,196,154,.13);
  --warn:#E8B45C; --warn-wash:rgba(232,180,92,.13);
  --bad:#F2857A; --bad-wash:rgba(242,133,122,.13);
  --shadow-solid:rgba(0,0,0,.5);

  --tick:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");

  /* Tokens LEGADOS (usados por style inline no HTML/JS) */
  --font:var(--display); --body:var(--serif); --mono:var(--code);
  --black:var(--bg); --dark:var(--bg-2);
  --border:var(--rule); --border2:var(--rule-2);
  --text:var(--fg); --muted:var(--fg-2); --muted2:var(--fg-3);
  --blue:var(--pen); --blue-dark:var(--pen-btn); --accent:var(--pen);
  --green:var(--ok); --red:var(--bad); --yellow:var(--warn);
}

/* ── PAPEL (padrão na primeira visita) ── */
body.light-mode-active, #page-landing.light-mode{
  --bg:var(--paper); --bg-2:var(--paper-2); --surface:var(--paper-hi); --surface-2:var(--paper-2);
  --fg:var(--ink); --fg-2:var(--ink-2); --fg-3:var(--ink-3);
  --rule:rgba(20,19,14,.16); --rule-2:rgba(20,19,14,.30);
  --pen:var(--li); --pen-txt:var(--li-txt); --pen-btn:var(--li); --pen-wash:rgba(10,102,194,.09);
  --mark:var(--pen-red); --mark-txt:#B0220C; --mark-wash:rgba(199,40,15,.09);
  --ok:#2C6B45; --ok-wash:rgba(44,107,69,.10);
  --warn:#8A5B10; --warn-wash:rgba(138,91,16,.10);
  --bad:#A8362C; --bad-wash:rgba(168,54,44,.09);
  --shadow-solid:var(--paper-3);
  --surface:var(--paper-hi);
  --text:var(--fg); --muted:var(--fg-2); --muted2:var(--fg-3);
  --blue:var(--pen-txt); --blue-dark:var(--pen-btn); --accent:var(--pen-txt);
  --green:var(--ok); --red:var(--bad); --yellow:var(--warn);
  --black:var(--paper); --dark:var(--paper-2);
}

/* ═══ BASE ═══ */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip;}
body{
  background:var(--bg); color:var(--fg);
  font-family:var(--serif); font-size:var(--t-body); font-weight:300; line-height:1.62;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
  transition:background .4s ease,color .4s ease;
}
body::before{ /* pauta impressa */
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.5;
  background-image:repeating-linear-gradient(0deg,transparent 0 39px,rgba(244,239,229,.05) 39px 40px);
  mask-image:linear-gradient(180deg,#000 0%,transparent 22%);
  -webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 22%);
}
body.light-mode-active::before{
  background-image:repeating-linear-gradient(0deg,transparent 0 39px,rgba(20,19,14,.045) 39px 40px);
}
body::after{ /* grão de impressão */
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.3;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");
}
nav,.nav-drawer,#page-landing,#page-tool,#page-auth,#page-loading,#page-paywall,
#page-results,#page-perfil,#page-historico,#page-jobs,.toast,.cpf-modal-overlay{position:relative;z-index:1;}
img{max-width:100%;display:block;}
button,input,textarea,select{font:inherit;color:inherit;}
a{color:inherit;}
ul,ol{list-style:none;}
::placeholder{color:var(--fg-3);opacity:.8;}
::selection{background:var(--pen);color:#FFF6F2;}
:where(a,button,input,textarea,select,[tabindex]):focus-visible{
  outline:2px solid var(--pen); outline-offset:3px;
}

/* Revelação escalonada */
@keyframes rise{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:none;}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes penIn{from{opacity:0;transform:translate(-6px,4px) rotate(-2deg);}to{opacity:1;transform:none;}}
@keyframes stampIn{0%{opacity:0;transform:rotate(-14deg) scale(1.5);}60%{opacity:1;transform:rotate(-9deg) scale(.96);}100%{opacity:1;transform:rotate(-9deg) scale(1);}}
@keyframes strike{from{transform:scaleX(0);}to{transform:scaleX(1);}}
@keyframes spin{to{transform:rotate(360deg);}}
@keyframes drift{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
.r,.fi{animation:rise .8s cubic-bezier(.2,.7,.3,1) both;}
.d1{animation-delay:.05s}.d2{animation-delay:.14s}.d3{animation-delay:.24s}
.d4{animation-delay:.34s}.d5{animation-delay:.46s}.d6{animation-delay:.6s}

/* Páginas: estado pré-JS (show() aplica display inline) */
#page-landing{display:block;}
#page-tool,#page-auth,#page-loading,#page-paywall,
#page-results,#page-perfil,#page-historico,#page-jobs{display:none;}
#page-tool,#page-results,#page-jobs,#page-perfil,#page-historico,#page-paywall,#page-loading{
  min-height:100vh;
}
#page-auth,#page-loading,#page-paywall{align-items:center;justify-content:center;}

/* ═══════════ MASTHEAD (nav compartilhada) ═══════════ */
nav{
  position:fixed;top:0;left:0;right:0;z-index:50;height:64px;
  display:flex;align-items:center;justify-content:space-between;gap:var(--u5);
  padding:0 var(--u6);
  background:color-mix(in srgb,var(--bg) 97%,transparent);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--rule);
}
.logo{
  font-family:var(--display);font-weight:800;font-size:1.35rem;letter-spacing:-.035em;
  font-variation-settings:"wdth" 88;
  display:flex;align-items:baseline;gap:var(--u2);color:var(--fg);
}
.logo-badge{
  font-family:var(--code);font-size:.55rem;font-weight:400;letter-spacing:.14em;
  text-transform:uppercase;color:var(--pen-txt);background:none;padding:0;
}
.nav-guest-group,.nav-user{display:flex;align-items:center;gap:var(--u3);}
.nav-user{display:none;}
.nav-cta,.nav-jobs-btn,.nav-theme-toggle{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--u2);
  font-family:var(--code);font-size:var(--t-xs);font-weight:500;
  letter-spacing:.06em;text-transform:uppercase;
  min-height:44px;padding:0 var(--u4);border-radius:0;cursor:pointer;
  border:1px solid var(--fg);background:var(--fg);color:var(--bg);
  transition:background .18s,color .18s,transform .12s,box-shadow .18s;
}
.nav-cta:hover{background:var(--pen-btn);border-color:var(--pen-btn);color:#FFF6F2;
  transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--fg);}
.nav-jobs-btn,.nav-theme-toggle{background:none;color:var(--fg-2);border-color:var(--rule-2);}
.nav-theme-toggle{width:44px;padding:0;}
.nav-jobs-btn:hover,.nav-theme-toggle:hover{border-color:var(--fg);color:var(--fg);}
.nav-user-email{font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);}
.nav-plan-badge{
  font-family:var(--code);font-size:.6rem;font-weight:500;letter-spacing:.12em;
  text-transform:uppercase;padding:3px var(--u2);
  background:var(--pen-btn);color:#FFF6F2;
}
.badge-free{background:none;color:var(--fg-3);border:1px solid var(--rule-2);}
.nav-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:10px;z-index:200;}
.nav-hamburger span{display:block;width:22px;height:2px;background:var(--fg);transition:transform .22s,opacity .22s;}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-hamburger.open span:nth-child(2){opacity:0;}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.nav-hamburger-logged{display:none;}
.nav-drawer{
  display:none;position:fixed;top:64px;right:0;width:252px;z-index:99;
  flex-direction:column;gap:2px;padding:var(--u3);
  background:var(--surface);border-left:1px solid var(--rule-2);
  border-bottom:1px solid var(--rule-2);box-shadow:-6px 6px 0 var(--shadow-solid);
}
.nav-drawer.open{display:flex;}
.nav-drawer-email{font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);
  padding:var(--u2) var(--u3);background:var(--bg-2);margin-bottom:var(--u1);word-break:break-all;}
.nav-drawer-btn{background:none;border:none;text-align:left;width:100%;
  padding:var(--u3);font-size:var(--t-sm);color:var(--fg-2);cursor:pointer;
  transition:background .15s,color .15s;}
.nav-drawer-btn:hover{background:var(--pen-wash);color:var(--fg);}
.nav-drawer-btn.blue{color:var(--pen-txt);}
.nav-drawer-btn.red{color:var(--bad);}
.nav-drawer-theme-row{display:flex;align-items:center;justify-content:space-between;width:100%;
  padding:var(--u3);cursor:pointer;background:none;border:none;font-size:var(--t-sm);color:var(--fg-2);
  transition:background .15s;}
.nav-drawer-theme-row:hover{background:var(--pen-wash);}
.nav-drawer-theme-label{display:flex;align-items:center;gap:var(--u2);}
.nav-drawer-switch{width:42px;height:24px;background:var(--surface-2);border:1px solid var(--rule-2);
  position:relative;transition:background .2s;flex-shrink:0;}
.nav-drawer-switch.on{background:var(--pen-btn);border-color:var(--pen-btn);}
.nav-drawer-switch-thumb{width:18px;height:18px;background:var(--fg);position:absolute;top:2px;left:2px;transition:transform .2s;}
.nav-drawer-switch.on .nav-drawer-switch-thumb{transform:translateX(18px);background:#FFF6F2;}
.nav-drawer-plan{display:inline-block;margin-left:var(--u2);font-family:var(--code);font-size:var(--t-micro);padding:2px var(--u2);}

/* ═══════════ BOTÕES GLOBAIS (estilo prova: canto reto, sombra sólida) ═══════════ */
.btn,.btn--ghost,.btn--pen,.btn--lg,.btn--sm{font-family:var(--code);}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--u2);
  font-size:var(--t-xs);font-weight:500;letter-spacing:.06em;text-transform:uppercase;
  text-decoration:none;padding:0 var(--u5);min-height:46px;
  border:1px solid var(--fg);background:var(--fg);color:var(--bg);
  cursor:pointer;border-radius:0;
  transition:background .18s,color .18s,transform .12s,box-shadow .18s;
}
.btn:hover{background:var(--pen-btn);border-color:var(--pen-btn);color:#FFF6F2;
  transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--fg);}
.btn:active{transform:none;box-shadow:none;}
.btn--ghost{background:none;color:var(--fg);}
.btn--ghost:hover{background:var(--fg);color:var(--bg);border-color:var(--fg);box-shadow:4px 4px 0 var(--pen);}
.btn--pen{background:var(--pen-btn);border-color:var(--pen-btn);color:#FFF6F2;}
.btn--pen:hover{background:#074E93;border-color:#074E93;box-shadow:4px 4px 0 var(--fg);}
.btn--lg{min-height:60px;padding:0 var(--u7);font-size:var(--t-sm);}
.btn--sm{min-height:44px;padding:0 var(--u4);}

/* ═══════════════════ LANDING ═══════════════════ */
#page-landing{padding-top:64px;}
.hero{max-width:var(--maxw);margin:0 auto;padding:var(--u9) var(--u6) var(--u8);}
.kicker{display:flex;align-items:center;gap:var(--u3);margin-bottom:var(--u6);
  font-family:var(--code);font-size:var(--t-micro);letter-spacing:.16em;
  text-transform:uppercase;color:var(--pen-txt);}
.kicker::after{content:"";flex:1;height:1px;background:var(--pen);opacity:.4;max-width:180px;}
.kicker b{font-weight:500;}
#page-landing h1{
  font-family:var(--display);font-weight:800;
  font-size:clamp(3rem,9.2vw,var(--t-h1));
  font-variation-settings:"wdth" 85,"opsz" 96;
  line-height:.88;letter-spacing:-.05em;max-width:16ch;margin-bottom:var(--u6);
}
#page-landing h1 em{font-style:normal;color:var(--pen);}
.dek{font-family:var(--serif);font-weight:200;font-size:var(--t-lead);line-height:1.45;
  max-width:36ch;color:var(--fg-2);margin-bottom:var(--u7);}
.dek b{font-weight:500;color:var(--fg);}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(340px,.98fr);gap:var(--u8);align-items:start;}
.cta-row{display:flex;gap:var(--u3);flex-wrap:wrap;align-items:center;margin-bottom:var(--u5);}
.fineprint{font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);}

/* A PROVA */
.proof{position:relative;background:var(--surface);border:1px solid var(--rule-2);
  padding:var(--u6) var(--u6) var(--u7);box-shadow:10px 10px 0 var(--shadow-solid);overflow:visible;}
.proof-tab{position:absolute;top:-1px;left:-1px;background:var(--fg);color:var(--bg);
  font-family:var(--code);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;padding:var(--u1) var(--u3);}
.proof-head{display:flex;align-items:center;gap:var(--u3);padding-top:var(--u4);padding-bottom:var(--u4);
  border-bottom:1px dashed var(--rule-2);margin-bottom:var(--u5);}
.avatar{width:44px;height:44px;flex-shrink:0;border-radius:50%;background:var(--surface-2);
  color:var(--fg-3);display:grid;place-items:center;font-family:var(--code);font-size:.7rem;
  border:1px solid var(--rule-2);}
.proof-name{font-family:var(--display);font-weight:700;font-size:1.05rem;letter-spacing:-.02em;}
.proof-sub{font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);}
.line{margin-bottom:var(--u5);position:relative;}
.line-lbl{font-family:var(--code);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--fg-3);display:block;margin-bottom:var(--u2);}
.line-txt{font-family:var(--serif);font-size:1.02rem;font-weight:300;line-height:1.5;color:var(--fg-2);}
.strike{position:relative;display:inline;}
.strike::after{content:"";position:absolute;left:-2px;right:-2px;top:52%;height:2px;
  background:var(--mark);transform-origin:left;animation:strike .5s cubic-bezier(.2,.7,.3,1) both;animation-delay:1.15s;}
.squiggle{text-decoration:underline wavy var(--mark);text-decoration-thickness:1.5px;text-underline-offset:4px;}
.note{font-family:var(--code);font-size:var(--t-micro);line-height:1.4;color:var(--mark-txt);
  background:var(--mark-wash);border-left:2px solid var(--mark);padding:var(--u2) var(--u3);
  margin-top:var(--u3);animation:penIn .5s cubic-bezier(.2,.7,.3,1) both;}
.note--1{animation-delay:1.35s}.note--2{animation-delay:1.55s}.note--3{animation-delay:1.75s}
.note b{font-weight:500;}
.verdict{display:flex;align-items:center;justify-content:space-between;gap:var(--u4);
  margin-top:var(--u6);padding-top:var(--u5);border-top:2px solid var(--fg);position:relative;z-index:2;}
.verdict-lbl{font-family:var(--code);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-3);}
.verdict-val{font-family:var(--display);font-weight:800;font-size:2.6rem;line-height:1;
  letter-spacing:-.04em;font-variation-settings:"wdth" 85;}
.verdict-val small{font-family:var(--code);font-size:.8rem;font-weight:400;color:var(--fg-3);letter-spacing:0;}
.stamp{position:absolute;right:var(--u4);top:var(--u5);
  font-family:var(--display);font-weight:800;font-size:1.15rem;letter-spacing:.06em;
  color:var(--mark);border:3px solid var(--mark);padding:var(--u2) var(--u4);
  text-transform:uppercase;transform:rotate(-9deg);opacity:.9;
  animation:stampIn .55s cubic-bezier(.2,.9,.3,1) both;animation-delay:2s;}

/* Faixa de dados */
.strip{border-block:1px solid var(--rule);background:var(--bg-2);}
.strip-in{max-width:var(--maxw);margin:0 auto;padding:var(--u5) var(--u6);
  display:grid;grid-template-columns:repeat(4,1fr);gap:var(--u5);}
.stat-n{font-family:var(--display);font-weight:800;font-size:2.4rem;line-height:1;
  letter-spacing:-.045em;font-variation-settings:"wdth" 82;margin-bottom:var(--u1);}
.stat-l{font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);line-height:1.35;}

/* Seções da landing */
#page-landing section{max-width:var(--maxw);margin:0 auto;padding:var(--u10) var(--u6);}
.sec-head{display:grid;grid-template-columns:auto 1fr;gap:var(--u6);align-items:start;margin-bottom:var(--u8);}
.sec-num{font-family:var(--code);font-size:var(--t-micro);letter-spacing:.16em;color:var(--pen-txt);
  padding-top:.7em;white-space:nowrap;}
#page-landing h2{font-family:var(--display);font-weight:800;
  font-size:clamp(2rem,5.6vw,var(--t-h2));font-variation-settings:"wdth" 86,"opsz" 72;
  line-height:.95;letter-spacing:-.04em;max-width:20ch;}
#page-landing h2 em{font-style:normal;color:var(--pen);}
.sec-dek{font-weight:200;font-size:var(--t-lead);line-height:1.45;color:var(--fg-2);max-width:44ch;margin-top:var(--u4);}

.reasons{border-top:2px solid var(--fg);}
.reason{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1.15fr);gap:var(--u6);
  align-items:start;padding:var(--u6) 0;border-bottom:1px solid var(--rule);transition:background .25s;}
.reason:hover{background:var(--pen-wash);}
.reason-n{font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);letter-spacing:.1em;padding-top:.45em;}
.reason-t{font-family:var(--display);font-weight:700;font-size:1.5rem;letter-spacing:-.03em;
  line-height:1.1;font-variation-settings:"wdth" 90;}
.reason-d{font-weight:300;color:var(--fg-2);line-height:1.6;}
.reason-d b{color:var(--pen-txt);font-weight:500;}

.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--fg);}
.step{padding:var(--u6) var(--u5) var(--u6) 0;border-right:1px solid var(--rule);}
.step:last-child{border-right:none;}
.step-n{font-family:var(--display);font-weight:800;font-size:3.2rem;line-height:.9;
  letter-spacing:-.06em;color:var(--pen);font-variation-settings:"wdth" 80;margin-bottom:var(--u4);}
.step-t{font-family:var(--display);font-weight:700;font-size:1.15rem;letter-spacing:-.02em;margin-bottom:var(--u2);}
.step-d{font-weight:300;font-size:var(--t-sm);color:var(--fg-2);line-height:1.55;}

.deliver{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--u5);}
.card{border:1px solid var(--rule-2);background:var(--surface);padding:var(--u6);position:relative;
  transition:transform .22s,box-shadow .22s,border-color .22s;}
.card:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--fg);border-color:var(--fg);}
.card--wide{grid-column:span 7;} .card--tall{grid-column:span 5;}
.card--half{grid-column:span 6;}
.card--full{grid-column:span 12;display:grid;grid-template-columns:auto 1fr;gap:var(--u6);align-items:center;}
.card-tag{font-family:var(--code);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--pen-txt);margin-bottom:var(--u4);display:block;}
.card-t{font-family:var(--display);font-weight:800;font-size:1.7rem;letter-spacing:-.035em;
  line-height:1.05;font-variation-settings:"wdth" 88;margin-bottom:var(--u3);}
.card--wide .card-t{font-size:2.1rem;}
.card-d{font-weight:300;color:var(--fg-2);line-height:1.6;font-size:var(--t-sm);}
.rewrite{margin-top:var(--u5);border-top:1px dashed var(--rule-2);padding-top:var(--u4);}
.rewrite-row{display:grid;grid-template-columns:auto 1fr;gap:var(--u3);align-items:start;margin-bottom:var(--u3);}
.rewrite-row:last-child{margin-bottom:0;}
.rw-tag{font-family:var(--code);font-size:.6rem;letter-spacing:.1em;padding:2px var(--u2);white-space:nowrap;}
.rw-tag--old{background:var(--mark-wash);color:var(--mark-txt);}
.rw-tag--new{background:var(--fg);color:var(--bg);}
.rw-txt{font-family:var(--serif);font-size:var(--t-sm);line-height:1.5;}
.rw-txt.old{color:var(--fg-3);text-decoration:line-through;text-decoration-color:var(--mark);}

.plans{border-top:2px solid var(--fg);}
.plan{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr) auto auto;gap:var(--u6);
  align-items:center;padding:var(--u6) 0;border-bottom:1px solid var(--rule);transition:background .25s;}
.plan:hover{background:var(--pen-wash);}
.plan-name{font-family:var(--display);font-weight:800;font-size:1.6rem;letter-spacing:-.035em;
  font-variation-settings:"wdth" 88;display:flex;align-items:baseline;gap:var(--u3);flex-wrap:wrap;}
.plan-flag{font-family:var(--code);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;
  background:var(--pen-btn);color:#FFF6F2;padding:3px var(--u2);}
.plan-inc{font-weight:300;font-size:var(--t-sm);color:var(--fg-2);line-height:1.55;}
.plan-price{font-family:var(--display);font-weight:800;font-size:2.1rem;letter-spacing:-.04em;
  font-variation-settings:"wdth" 84;white-space:nowrap;text-align:right;}
.plan-price small{display:block;font-family:var(--code);font-size:.62rem;font-weight:400;
  color:var(--fg-3);text-align:right;margin-top:2px;}
.plan--feat{background:var(--pen-wash);}

/* FAQ — usa as classes que o toggleFaq do app espera */
.faq-list{border-top:2px solid var(--fg);max-width:860px;}
.faq-item{border-bottom:1px solid var(--rule);}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--u5);
  background:none;border:none;cursor:pointer;text-align:left;padding:var(--u5) 0;min-height:56px;
  font-family:var(--display);font-weight:700;font-size:1.2rem;letter-spacing:-.02em;color:var(--fg);
  transition:color .18s;}
.faq-q:hover{color:var(--pen-txt);}
.q-mark{font-family:var(--code);font-size:1.1rem;color:var(--pen-txt);flex-shrink:0;transition:transform .28s;}
.faq-q[aria-expanded="true"]{color:var(--pen-txt);}
.faq-q[aria-expanded="true"] .q-mark{transform:rotate(45deg);}
.faq-a{display:none;padding:0 0 var(--u5);max-width:62ch;color:var(--fg-2);font-weight:300;line-height:1.65;}
.faq-a.open{display:block;animation:rise .4s cubic-bezier(.2,.7,.3,1) both;}

.close{border-top:2px solid var(--fg);border-bottom:2px solid var(--fg);background:var(--bg-2);}
.close-in{max-width:var(--maxw);margin:0 auto;padding:var(--u10) var(--u6);text-align:center;}
.close h2{max-width:22ch;margin:0 auto var(--u5);}
.close .sec-dek{margin:0 auto var(--u7);}

#page-landing footer{max-width:var(--maxw);margin:0 auto;padding:var(--u7) var(--u6);}
.foot{display:flex;justify-content:space-between;gap:var(--u6);flex-wrap:wrap;align-items:flex-start;}
.foot-nav{display:flex;gap:var(--u7);flex-wrap:wrap;}
.foot-col{display:flex;flex-direction:column;gap:var(--u3);}
.foot-h{font-family:var(--code);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-3);}
.foot-col a{font-size:var(--t-sm);font-weight:300;text-decoration:none;color:var(--fg-2);transition:color .16s;}
.foot-col a:hover{color:var(--pen-txt);}
.foot-base{display:flex;justify-content:space-between;gap:var(--u4);flex-wrap:wrap;
  margin-top:var(--u7);padding-top:var(--u4);border-top:1px solid var(--rule);
  font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);}

/* ═══════════════════ PADRÕES COMPARTILHADOS DO APP ═══════════════════ */
.doc{background:var(--surface);border:1px solid var(--rule-2);padding:var(--u6);margin-bottom:var(--u5);}
.lbl{font-family:var(--code);font-size:.62rem;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--fg-3);display:block;margin-bottom:var(--u3);}

/* ═══ FERRAMENTA ═══ */
#page-tool{max-width:820px;margin:0 auto;padding:calc(64px + var(--u8)) var(--u6) var(--u10);}
.tool-header{margin-bottom:var(--u7);padding-bottom:var(--u5);border-bottom:2px solid var(--fg);}
.tool-header h2{font-family:var(--display);font-weight:800;font-size:clamp(2rem,5vw,3rem);
  letter-spacing:-.04em;line-height:.98;font-variation-settings:"wdth" 86;margin-bottom:var(--u3);}
.tool-header p{font-weight:300;color:var(--fg-2);}
.tool-card{background:var(--surface);border:1px solid var(--rule-2);box-shadow:8px 8px 0 var(--shadow-solid);}
.tool-card-head{padding:var(--u5) var(--u6);border-bottom:1px solid var(--rule);background:var(--bg-2);}
.tool-card-body{padding:var(--u6);}
.field-lbl{display:block;font-family:var(--code);font-size:.62rem;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--fg-3);margin-bottom:var(--u3);}
.req{color:var(--pen-txt);}
.analysis-mode-wrap{display:flex;align-items:center;gap:var(--u3);margin-bottom:var(--u5);}
.analysis-mode-label{font-size:var(--t-sm);color:var(--fg-2);}
.obj-chips{display:flex;flex-wrap:wrap;gap:var(--u2);margin-bottom:var(--u4);}
.obj-chip{padding:var(--u2) var(--u4);background:none;border:1px solid var(--rule-2);color:var(--fg-2);
  font-family:var(--code);font-size:var(--t-xs);cursor:pointer;transition:all .18s;}
.obj-chip:hover{border-color:var(--fg);color:var(--fg);}
.obj-chip.active{background:var(--pen-btn);border-color:var(--pen-btn);color:#FFF6F2;}
.obj-textarea,.vaga-textarea,.manual-textarea,.jm-textarea,
.perfil-input,.auth-input,.cpf-modal-input{
  width:100%;padding:var(--u4);background:var(--bg);color:var(--fg);
  border:1px solid var(--rule-2);border-radius:0;
  font-family:var(--serif);font-size:var(--t-body);font-weight:300;line-height:1.6;
  transition:border-color .18s,box-shadow .18s;
}
.obj-textarea,.vaga-textarea,.manual-textarea,.jm-textarea{resize:vertical;min-height:120px;}
.obj-textarea:focus,.vaga-textarea:focus,.manual-textarea:focus,.jm-textarea:focus,
.perfil-input:focus,.auth-input:focus,.cpf-modal-input:focus{
  outline:none;border-color:var(--pen);box-shadow:3px 3px 0 var(--pen-wash);
}
.vaga-wrap{display:none;margin-bottom:var(--u5);}
.divider{display:flex;align-items:center;gap:var(--u4);margin:var(--u7) 0 var(--u5);}
.div-line{flex:1;height:1px;background:var(--rule);}
.div-lbl{font-family:var(--code);font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);}
.input-mode-toggle{display:flex;gap:0;margin-bottom:var(--u5);border:1px solid var(--rule-2);}
.input-mode-btn{flex:1;min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:var(--u2);
  background:none;border:none;border-right:1px solid var(--rule-2);color:var(--fg-2);
  font-family:var(--code);font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase;
  cursor:pointer;transition:all .18s;}
.input-mode-btn:last-child{border-right:none;}
.input-mode-btn:hover{color:var(--fg);background:var(--pen-wash);}
.input-mode-btn.active{background:var(--fg);color:var(--bg);}
.manual-input-wrap{display:none;margin-bottom:var(--u5);}
.manual-hint{font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);margin-top:var(--u2);line-height:1.5;}
.manual-ok{display:none;font-family:var(--code);font-size:var(--t-micro);color:var(--ok);margin-top:var(--u2);}
.upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--u3);margin-bottom:var(--u5);}
.slot{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:var(--u5) var(--u3);min-height:156px;justify-content:center;
  background:var(--bg);border:1px dashed var(--rule-2);cursor:pointer;transition:all .2s;}
.slot:hover{border-color:var(--pen);background:var(--pen-wash);}
.slot input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;}
.slot-icon{color:var(--fg-3);margin-bottom:var(--u3);}
.slot-icon svg{width:26px;height:26px;stroke:currentColor;fill:none;}
.slot-prev{display:none;width:52px;height:52px;object-fit:cover;margin-bottom:var(--u2);}
.slot-name{font-family:var(--display);font-weight:700;font-size:var(--t-sm);margin-bottom:var(--u1);}
.slot-hint{font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);}
.slot-req{margin-top:var(--u2);font-family:var(--code);font-size:.6rem;letter-spacing:.1em;
  text-transform:uppercase;padding:2px var(--u2);background:var(--pen-wash);color:var(--pen-txt);}
.slot-ok{display:none;margin-top:var(--u2);font-family:var(--code);font-size:.6rem;letter-spacing:.1em;
  text-transform:uppercase;padding:2px var(--u2);background:var(--ok-wash);color:var(--ok);}
.slot-fname{display:none;font-family:var(--code);font-size:var(--t-micro);color:var(--ok);margin-top:var(--u1);
  max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.slot-pdf-wrap{display:block;}
.deep-toggle-wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--u4);
  padding:var(--u4) var(--u5);margin-bottom:var(--u5);background:var(--bg);
  border:1px solid var(--rule-2);cursor:pointer;transition:all .2s;}
.deep-toggle-wrap:hover{border-color:var(--pen);background:var(--pen-wash);}
.deep-toggle-left{display:flex;align-items:center;gap:var(--u3);flex:1;min-width:0;}
.deep-toggle-icon{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;
  background:var(--warn-wash);border:1px solid var(--warn);color:var(--warn);}
.deep-toggle-text{min-width:0;}
.deep-toggle-title{font-family:var(--display);font-weight:700;font-size:var(--t-sm);
  display:flex;align-items:center;gap:var(--u2);flex-wrap:wrap;}
.deep-toggle-badge{font-family:var(--code);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;
  padding:2px var(--u2);background:var(--ok-wash);color:var(--ok);}
.deep-toggle-desc{font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);margin-top:2px;}
.deep-toggle-wrap.locked{opacity:.6;}
.toggle-switch{position:relative;width:46px;height:26px;flex-shrink:0;}
.toggle-track{position:absolute;inset:0;background:var(--surface-2);border:1px solid var(--rule-2);transition:all .2s;}
.toggle-knob{position:absolute;top:3px;left:3px;width:18px;height:18px;background:var(--fg-3);transition:all .2s;}
.toggle-switch.on .toggle-track{background:var(--pen-btn);border-color:var(--pen-btn);}
.toggle-switch.on .toggle-knob{transform:translateX(20px);background:#FFF6F2;}
.btn-analyze{width:100%;min-height:60px;display:inline-flex;align-items:center;justify-content:center;gap:var(--u3);
  background:var(--pen-btn);color:#FFF6F2;border:1px solid var(--pen-btn);border-radius:0;
  font-family:var(--code);font-size:var(--t-sm);font-weight:500;letter-spacing:.06em;text-transform:uppercase;
  cursor:pointer;transition:all .18s;}
.btn-analyze:hover{background:#074E93;border-color:#074E93;transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--fg);}
.btn-analyze:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none;}
.note-free{text-align:center;font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);margin-top:var(--u3);}
.quota-info{display:flex;align-items:center;justify-content:space-between;gap:var(--u3);flex-wrap:wrap;
  padding:var(--u3) var(--u4);margin-bottom:var(--u5);background:var(--bg-2);border:1px solid var(--rule);}
.quota-txt{font-family:var(--code);font-size:var(--t-micro);color:var(--fg-2);}
.quota-upgrade{background:none;border:none;font-family:var(--code);font-size:var(--t-micro);
  color:var(--pen-txt);cursor:pointer;text-decoration:underline;}
.free-tag{display:inline-flex;align-items:center;gap:var(--u2);font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);}
.free-dot{width:6px;height:6px;background:var(--ok);}

/* ═══ AUTH ═══ */
#page-auth{padding:calc(64px + var(--u8)) var(--u5) var(--u10);}
.auth-card{width:100%;max-width:440px;margin:0 auto;background:var(--surface);
  border:1px solid var(--rule-2);padding:var(--u8);box-shadow:10px 10px 0 var(--shadow-solid);}
.auth-logo{font-family:var(--display);font-weight:800;font-size:1.5rem;letter-spacing:-.035em;
  text-align:center;margin-bottom:var(--u7);}
.auth-logo span{font-family:var(--code);font-size:.55rem;font-weight:400;letter-spacing:.14em;
  text-transform:uppercase;color:var(--pen-txt);vertical-align:super;}
.auth-h{font-family:var(--display);font-weight:800;font-size:2rem;letter-spacing:-.04em;
  line-height:1;text-align:center;margin-bottom:var(--u3);}
.auth-sub{font-weight:300;font-size:var(--t-sm);color:var(--fg-2);text-align:center;line-height:1.6;margin-bottom:var(--u7);}
.auth-step{display:none;} .auth-step.active{display:block;animation:fadeIn .3s ease both;}
.auth-field{margin-bottom:var(--u4);}
.auth-label{display:block;font-family:var(--code);font-size:.62rem;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--fg-3);margin-bottom:var(--u2);}
.auth-btn{width:100%;min-height:52px;margin-top:var(--u4);background:var(--pen-btn);color:#FFF6F2;
  border:1px solid var(--pen-btn);border-radius:0;font-family:var(--code);font-size:var(--t-xs);
  font-weight:500;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all .18s;}
.auth-btn:hover{background:#074E93;transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--fg);}
.auth-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none;}
.auth-hint{font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);text-align:center;margin-top:var(--u4);line-height:1.55;}
.auth-err{display:none;font-size:var(--t-sm);color:var(--bad);text-align:center;margin-top:var(--u3);}
.auth-email-badge{display:block;font-family:var(--code);font-size:var(--t-sm);color:var(--pen-txt);
  text-align:center;padding:var(--u2);background:var(--pen-wash);margin-bottom:var(--u4);word-break:break-all;}
.otp-input{text-align:center;font-family:var(--code);font-size:2rem;letter-spacing:.4em;padding:var(--u4);}
.lgpd-wrap{display:flex;align-items:flex-start;gap:var(--u2);margin-top:var(--u4);}
.lgpd-check{margin-top:3px;accent-color:var(--pen-btn);width:16px;height:16px;flex-shrink:0;}
.lgpd-label{font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);line-height:1.55;}

/* ═══ LOADING ═══ */
#page-loading{flex-direction:column;text-align:center;padding:var(--u10) var(--u5);}
.load-orb{width:96px;height:96px;margin-bottom:var(--u8);border:2px solid var(--rule-2);
  border-top-color:var(--pen);animation:spin 1.15s cubic-bezier(.6,.15,.4,.85) infinite;}
.load-title{font-family:var(--display);font-weight:800;font-size:2.2rem;letter-spacing:-.04em;margin-bottom:var(--u3);}
.load-step{font-family:var(--code);font-size:var(--t-sm);color:var(--fg-2);min-height:1.6em;margin-bottom:var(--u6);}
.load-bar-wrap{width:min(360px,80vw);height:2px;background:var(--rule-2);overflow:hidden;}
.load-bar{height:100%;width:0;background:var(--pen);transition:width .5s ease;}
.load-error{display:none;max-width:460px;margin-top:var(--u8);padding:var(--u5);
  background:var(--bad-wash);border-left:2px solid var(--bad);}
.load-error-msg{font-family:var(--code);font-size:var(--t-sm);color:var(--bad);line-height:1.6;margin-bottom:var(--u4);}
.load-error-btn{min-height:44px;padding:0 var(--u5);background:none;border:1px solid var(--rule-2);
  border-radius:0;color:var(--fg-2);font-family:var(--code);font-size:var(--t-xs);
  letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all .18s;}
.load-error-btn:hover{color:var(--fg);border-color:var(--fg);}

/* ═══ RESULTADOS ═══ */
#page-results{padding:calc(64px + var(--u6)) var(--u6) var(--u10);}
.wrap{max-width:1040px;margin:0 auto;}
.res-topbar{display:flex;align-items:center;gap:var(--u4);flex-wrap:wrap;
  padding-bottom:var(--u5);border-bottom:2px solid var(--fg);margin-bottom:var(--u7);}
.res-avatar{width:56px;height:56px;object-fit:cover;flex-shrink:0;background:var(--surface-2);border:1px solid var(--rule-2);}
.res-avatar img{width:100%;height:100%;object-fit:cover;}
.res-info{flex:1;min-width:0;}
.res-name{font-family:var(--display);font-weight:800;font-size:1.7rem;letter-spacing:-.035em;}
.res-obj{font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);margin-top:2px;}
.res-actions{display:flex;gap:var(--u2);flex-wrap:wrap;}
.btn-sm{min-height:44px;padding:0 var(--u4);display:inline-flex;align-items:center;gap:var(--u2);
  background:none;border:1px solid var(--rule-2);border-radius:0;color:var(--fg-2);
  font-family:var(--code);font-size:var(--t-micro);letter-spacing:.05em;cursor:pointer;
  text-decoration:none;transition:all .18s;}
.btn-sm:hover{color:var(--fg);border-color:var(--fg);}
.score-banner{display:flex;align-items:center;gap:var(--u7);flex-wrap:wrap;
  background:var(--surface);border:1px solid var(--rule-2);
  border-left:6px solid var(--grade,var(--pen));
  padding:var(--u7) var(--u7);margin-bottom:var(--u6);
  box-shadow:10px 10px 0 var(--shadow-solid);}
.score-banner.grade-good{--grade:var(--ok);}
.score-banner.grade-ok{--grade:var(--pen);}
.score-banner.grade-warn{--grade:var(--warn);}
.score-banner.grade-bad{--grade:var(--bad);}
.score-ring{display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:130px;height:130px;flex-shrink:0;border:3px solid var(--grade,var(--pen));}
.score-n{font-family:var(--display);font-weight:800;font-size:3.4rem;letter-spacing:-.05em;
  line-height:1;font-variant-numeric:tabular-nums;color:var(--grade,var(--fg));}
.score-d{font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);margin-top:2px;}
.score-copy{flex:1;min-width:240px;}
.score-verdict{font-family:var(--display);font-weight:800;font-size:2rem;letter-spacing:-.04em;
  line-height:1.05;margin-bottom:var(--u3);}
.score-sub{font-weight:300;color:var(--fg-2);line-height:1.65;}
.score-tags{display:flex;flex-wrap:wrap;gap:var(--u2);margin-top:var(--u4);}
.sg{font-family:var(--code);font-size:var(--t-micro);padding:var(--u1) var(--u3);
  background:var(--ok-wash);color:var(--ok);border:1px solid var(--ok);}
.sg.red{background:var(--bad-wash);color:var(--bad);border-color:var(--bad);}
.meta-bar{display:flex;align-items:center;gap:var(--u3);flex-wrap:wrap;
  font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);margin-bottom:var(--u7);}
.meta-sep{opacity:.5;}
.context-block,.benchmark-block,.signal-fraco-block,.gap-block,.strat-block,.action-plan,.bot-card{
  background:var(--surface);border:1px solid var(--rule-2);padding:var(--u6);margin-bottom:var(--u5);}
.ctx-title,.benchmark-title,.signal-fraco-title,.gap-title,.strat-title,.action-plan-title,.bot-title{
  font-family:var(--display);font-weight:800;font-size:1.6rem;letter-spacing:-.035em;margin-bottom:var(--u5);}
.ctx-impression{font-weight:300;color:var(--fg-2);line-height:1.7;margin-bottom:var(--u5);}
.ctx-row{display:flex;gap:var(--u4);padding:var(--u3) 0;border-bottom:1px solid var(--rule);}
.ctx-row:last-child{border-bottom:none;}
.ctx-row-lbl{font-family:var(--code);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--fg-3);min-width:96px;flex-shrink:0;padding-top:3px;}
.ctx-row-val{font-weight:300;font-size:var(--t-sm);color:var(--fg-2);line-height:1.6;}
.ctx-checks,.ctx-probs{display:flex;flex-wrap:wrap;gap:var(--u2);}
.ctx-check{font-family:var(--code);font-size:var(--t-micro);padding:var(--u1) var(--u3);
  background:var(--ok-wash);color:var(--ok);}
/* ── Diagnóstico de rubrica (só currículo) ── */
.rub-sec{padding:var(--u5) 0;border-bottom:1px solid var(--rule);}
.rub-sec:last-child{border-bottom:none;padding-bottom:0;}
.rub-sec:first-child{padding-top:0;}
.rub-head{display:flex;align-items:baseline;gap:var(--u3);flex-wrap:wrap;margin-bottom:var(--u3);}
.rub-name{font-family:var(--display);font-weight:700;font-size:var(--t-body);}
.rub-grav{font-family:var(--code);font-size:var(--t-micro);letter-spacing:.1em;
  text-transform:uppercase;padding:2px var(--u2);border:1px solid;}
.rub-grav.g-alta{color:var(--bad);border-color:var(--bad);background:var(--bad-wash);}
.rub-grav.g-media{color:var(--warn);border-color:var(--warn);background:var(--warn-wash);}
.rub-grav.g-baixa{color:var(--pen-txt);border-color:var(--pen);background:var(--pen-wash);}
.rub-grav.g-nenhuma{color:var(--ok);border-color:var(--ok);background:var(--ok-wash);}
.rub-freq{font-weight:300;font-size:var(--t-sm);color:var(--fg-2);line-height:1.6;
  margin-bottom:var(--u4);}
/* Par original -> reescrita: a marca de correção do revisor. */
.rub-par{border-left:2px solid var(--rule-2);padding-left:var(--u4);margin-bottom:var(--u4);}
.rub-par:last-child{margin-bottom:0;}
.rub-linha{display:flex;gap:var(--u3);align-items:flex-start;margin-bottom:var(--u2);}
.rub-linha:last-child{margin-bottom:0;}
.rub-tag{font-family:var(--code);font-size:var(--t-micro);flex-shrink:0;padding-top:3px;
  min-width:14px;}
.rub-tag-antes{color:var(--mark);}
.rub-tag-depois{color:var(--pen-txt);}
.rub-antes{font-weight:300;font-size:var(--t-sm);color:var(--fg-3);line-height:1.6;
  text-decoration:line-through;text-decoration-color:var(--mark);
  text-decoration-thickness:1px;}
.rub-depois{font-weight:400;font-size:var(--t-sm);color:var(--fg);line-height:1.6;}
.rub-item{padding:var(--u3) 0;border-bottom:1px solid var(--rule);}
.rub-item:last-child{border-bottom:none;padding-bottom:0;}
.rub-item-t{font-family:var(--code);font-size:var(--t-sm);color:var(--fg);margin-bottom:2px;}
.rub-item-b{font-weight:300;font-size:var(--t-sm);color:var(--fg-2);line-height:1.6;}
.rub-sug{display:inline-block;margin-top:var(--u2);font-family:var(--code);
  font-size:var(--t-micro);padding:2px var(--u2);border:1px solid var(--rule-2);
  color:var(--fg-2);}
.rub-sug.s-cortar{color:var(--bad);border-color:var(--bad);background:var(--bad-wash);}
.rub-sug.s-manter{color:var(--ok);border-color:var(--ok);background:var(--ok-wash);}
.dim{background:var(--surface);border:1px solid var(--rule);padding:var(--u5);margin-bottom:var(--u3);
  transition:border-color .2s;}
.dim:hover{border-color:var(--rule-2);}
.dim-top{display:flex;align-items:center;gap:var(--u3);margin-bottom:var(--u3);}
.dim-left{display:flex;align-items:center;gap:var(--u3);flex:1;min-width:0;}
.dim-icon{width:32px;height:32px;display:grid;place-items:center;background:var(--bg-2);flex-shrink:0;}
.dim-name{font-family:var(--display);font-weight:700;font-size:var(--t-body);}
.dim-prog{height:4px;background:var(--surface-2);overflow:hidden;margin-bottom:var(--u3);}
.dim-fill{height:100%;transition:width .8s cubic-bezier(.2,.7,.3,1);}
.dim-diag{font-weight:300;font-size:var(--t-sm);color:var(--fg-2);line-height:1.68;margin-bottom:var(--u3);}
.dim-problema{font-size:var(--t-sm);color:var(--bad);line-height:1.6;padding:var(--u3);
  background:var(--bad-wash);border-left:2px solid var(--bad);margin-bottom:var(--u3);}
.dim-rw{border:1px solid var(--rule);}
.dim-rw-toggle{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;
  gap:var(--u3);padding:var(--u3) var(--u4);background:var(--bg-2);border:none;cursor:pointer;transition:background .15s;}
.dim-rw-toggle:hover{background:var(--pen-wash);}
.dim-rw-lbl{font-family:var(--code);font-size:.62rem;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:var(--pen-txt);}
.dim-rw-arrow{color:var(--pen-txt);transition:transform .25s;flex-shrink:0;}
.dim-rw-toggle.open .dim-rw-arrow{transform:rotate(180deg);}
.dim-rw-body{display:none;padding:var(--u4);border-top:1px solid var(--rule);}
.dim-rw-body.open{display:block;animation:fadeIn .25s ease both;}
.dim-rw-txt{font-family:var(--serif);font-weight:300;font-size:var(--t-sm);color:var(--fg-2);line-height:1.75;white-space:pre-wrap;}
.strategic-grid,.cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--u5);margin-bottom:var(--u5);}
.strat-label{font-family:var(--code);font-size:.62rem;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:var(--fg-3);margin-bottom:var(--u2);}
.strat-verdict{font-family:var(--display);font-weight:700;font-size:1.3rem;letter-spacing:-.03em;margin-bottom:var(--u2);}
.strat-body{font-weight:300;font-size:var(--t-sm);color:var(--fg-2);line-height:1.68;}
.strat-bottleneck{border-left:2px solid var(--warn);padding-left:var(--u4);}
.strat-risk{border-left:2px solid var(--bad);padding-left:var(--u4);}
.strat-ats{border-left:2px solid var(--pen);padding-left:var(--u4);}
.risk-items{display:flex;flex-direction:column;gap:var(--u2);margin-top:var(--u3);}
.risk-items li{display:flex;align-items:flex-start;gap:var(--u2);font-weight:300;font-size:var(--t-sm);color:var(--fg-2);line-height:1.55;}
.risk-dot{width:5px;height:5px;background:var(--bad);margin-top:9px;flex-shrink:0;}
.ats-label-wrap{display:flex;align-items:center;gap:var(--u2);margin-bottom:var(--u3);}
.ats-tooltip-icon{width:16px;height:16px;display:inline-grid;place-items:center;background:var(--surface-2);
  color:var(--fg-3);font-family:var(--code);font-size:10px;cursor:help;position:relative;}
.ats-tooltip{position:absolute;bottom:130%;left:50%;transform:translateX(-50%);width:220px;padding:var(--u3);
  background:var(--fg);color:var(--bg);font-family:var(--code);font-size:var(--t-micro);line-height:1.5;
  opacity:0;pointer-events:none;transition:opacity .2s;z-index:20;}
.ats-tooltip-icon:hover .ats-tooltip{opacity:1;}
.ats-score-ring{display:flex;align-items:flex-start;gap:var(--u4);margin-bottom:var(--u4);}
.ats-ring{
  width:64px;height:64px;flex-shrink:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  border:2px solid var(--pen);background:var(--pen-wash);
}
.ats-n{font-family:var(--display);font-weight:800;font-size:1.5rem;line-height:1;
  font-variant-numeric:tabular-nums;color:var(--fg);}
.ats-d{font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);}
.ats-kw-label{font-family:var(--code);font-size:var(--t-micro);color:var(--pen-txt);
  text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--u2);}
.ats-keywords{display:flex;flex-wrap:wrap;gap:var(--u2);margin-top:var(--u3);}
.ats-keywords span{font-family:var(--code);font-size:var(--t-micro);padding:var(--u1) var(--u2);
  background:var(--bad-wash);color:var(--bad);}
.gap-legend{display:flex;gap:var(--u5);flex-wrap:wrap;margin-bottom:var(--u5);}
.gap-leg-item{display:flex;align-items:center;gap:var(--u2);font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);}
.gap-leg-dot{width:9px;height:9px;}
.gap-label{display:flex;align-items:center;justify-content:space-between;font-size:var(--t-sm);color:var(--fg-2);margin-bottom:var(--u2);}
.gap-bar-wrap{position:relative;height:8px;background:var(--surface-2);margin-bottom:var(--u4);overflow:hidden;}
.gap-bar-obj{position:absolute;inset:0 auto 0 0;height:100%;background:var(--pen-wash);}
.gap-bar-atual{position:absolute;inset:0 auto 0 0;height:100%;background:var(--pen);transition:width .8s cubic-bezier(.2,.7,.3,1);}
.benchmark-header{display:flex;align-items:center;gap:var(--u5);flex-wrap:wrap;margin-bottom:var(--u5);}
.benchmark-percentil-wrap{text-align:center;flex-shrink:0;}
.benchmark-percentil-n{font-family:var(--display);font-weight:800;font-size:3rem;letter-spacing:-.05em;
  color:var(--pen);line-height:1;}
.benchmark-percentil-lbl{font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);
  text-transform:uppercase;letter-spacing:.1em;}
.benchmark-desc{font-weight:300;color:var(--fg-2);line-height:1.7;flex:1;min-width:220px;}
.benchmark-faltando-title{font-family:var(--code);font-size:.62rem;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:var(--fg-3);margin-bottom:var(--u3);}
.benchmark-faltando-list{display:flex;flex-direction:column;gap:var(--u2);}
.benchmark-faltando-list li{display:flex;align-items:flex-start;gap:var(--u2);font-weight:300;
  font-size:var(--t-sm);color:var(--fg-2);line-height:1.55;}
.signal-fraco-list{display:flex;flex-direction:column;gap:var(--u3);}
.signal-fraco-list li{display:flex;align-items:flex-start;gap:var(--u3);font-weight:300;font-size:var(--t-sm);
  color:var(--fg-2);line-height:1.6;padding:var(--u3);background:var(--warn-wash);border-left:2px solid var(--warn);}
.action-plan{position:relative;}
.action-items{display:flex;flex-direction:column;gap:var(--u4);}
.action-item{display:flex;gap:var(--u4);padding:var(--u5);background:var(--bg);border:1px solid var(--rule);transition:border-color .2s;}
.action-item:hover{border-color:var(--pen);}
.action-check-icon,.action-item-check{width:28px;height:28px;flex-shrink:0;display:grid;place-items:center;
  background:var(--pen-btn);color:#FFF6F2;font-family:var(--code);font-size:var(--t-micro);font-weight:500;}
.action-content{flex:1;min-width:0;}
.action-urgencia{display:inline-block;font-family:var(--code);font-size:var(--t-micro);letter-spacing:.1em;
  text-transform:uppercase;margin-bottom:var(--u2);}
.action-urgencia.u-1{color:var(--mark-txt);}
.action-urgencia.u-2{color:var(--warn);}
.action-urgencia.u-3{color:var(--fg-3);}
.action-title{font-family:var(--display);font-weight:700;font-size:var(--t-body);margin-bottom:var(--u2);}
.action-desc{font-weight:300;font-size:var(--t-sm);color:var(--fg-2);line-height:1.66;margin-bottom:var(--u3);}
.action-tempo,.action-impact{display:inline-flex;align-items:center;gap:var(--u1);
  font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);margin-right:var(--u4);}
.action-locked-wrap{position:relative;}
.action-locked-blur{filter:blur(5px);opacity:.5;user-select:none;pointer-events:none;}
.action-locked-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:var(--u4);text-align:center;padding:var(--u6);
  background:color-mix(in srgb,var(--surface) 82%,transparent);}
.action-locked-overlay p{font-weight:300;font-size:var(--t-sm);color:var(--fg-2);max-width:40ch;}
.action-locked-btn{min-height:46px;padding:0 var(--u6);background:var(--pen-btn);color:#FFF6F2;
  border:1px solid var(--pen-btn);border-radius:0;font-family:var(--code);font-size:var(--t-xs);
  letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all .18s;}
.action-locked-btn:hover{background:#074E93;transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--fg);}
.pri-list{display:flex;flex-direction:column;gap:var(--u3);}
.pri-txt{font-weight:300;font-size:var(--t-sm);color:var(--fg-2);line-height:1.66;}
.sf-arr{color:var(--pen-txt);}
.res-footer{margin-top:var(--u10);padding-top:var(--u7);border-top:2px solid var(--fg);text-align:center;}
.res-footer-btns{display:flex;gap:var(--u3);justify-content:center;flex-wrap:wrap;}
.btn-nova-analise{min-height:52px;padding:0 var(--u8);background:var(--pen-btn);color:#FFF6F2;
  border:1px solid var(--pen-btn);border-radius:0;font-family:var(--code);font-size:var(--t-xs);
  letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all .18s;}
.btn-nova-analise:hover{background:#074E93;transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--fg);}
.btn-white,.btn-outline-white{min-height:46px;padding:0 var(--u5);border-radius:0;
  font-family:var(--code);font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all .18s;}
.btn-white{background:var(--fg);color:var(--bg);border:1px solid var(--fg);}
.btn-white:hover{background:var(--pen-btn);border-color:var(--pen-btn);color:#FFF6F2;}
.btn-outline-white{background:none;color:var(--fg-2);border:1px solid var(--rule-2);}
.btn-outline-white:hover{color:var(--fg);border-color:var(--fg);}
.bottom-row{display:flex;gap:var(--u5);flex-wrap:wrap;margin-top:var(--u5);}
.bot-card{flex:1;min-width:260px;}
/* ── Nota por dimensão (chip) ── */
.note-badge{font-family:var(--code);font-size:var(--t-xs);font-weight:500;
  font-variant-numeric:tabular-nums;padding:var(--u1) var(--u3);flex-shrink:0;
  border:1px solid;}
.note-badge.nb-g{color:var(--ok);border-color:var(--ok);background:var(--ok-wash);}
.note-badge.nb-y{color:var(--warn);border-color:var(--warn);background:var(--warn-wash);}
.note-badge.nb-r{color:var(--bad);border-color:var(--bad);background:var(--bad-wash);}
.dim-icon.nb-g{color:var(--ok);background:var(--ok-wash);}
.dim-icon.nb-y{color:var(--warn);background:var(--warn-wash);}
.dim-icon.nb-r{color:var(--bad);background:var(--bad-wash);}
.dim-icon svg{width:16px;height:16px;}

/* ── Veredito de contratação (carimbo editorial) ── */
.verdict-badge{display:inline-block;font-family:var(--display);font-weight:800;
  font-size:var(--t-sm);letter-spacing:.05em;text-transform:uppercase;
  padding:var(--u1) var(--u3);border:2px solid;margin-bottom:var(--u3);
  transform:rotate(-1.5deg);}
.verdict-badge.vb-yes{color:var(--ok);border-color:var(--ok);}
.verdict-badge.vb-no{color:var(--mark);border-color:var(--mark);}
.verdict-badge.vb-maybe{color:var(--warn);border-color:var(--warn);}

/* ── Tags do banner ── */
.stag{font-family:var(--code);font-size:var(--t-micro);padding:var(--u1) var(--u3);
  border:1px solid var(--rule-2);color:var(--fg-2);}
.stag-green{color:var(--ok);border-color:var(--ok);background:var(--ok-wash);}
.stag-red{color:var(--bad);border-color:var(--bad);background:var(--bad-wash);}

/* ── Prioridades / riscos críticos ── */
.pri-item{display:flex;gap:var(--u3);align-items:flex-start;padding:var(--u3) 0;
  border-bottom:1px solid var(--rule);}
.pri-item:last-child{border-bottom:none;}
.pri-num{width:26px;height:26px;flex-shrink:0;display:grid;place-items:center;
  font-family:var(--code);font-size:var(--t-micro);font-weight:500;
  background:var(--fg);color:var(--bg);}
.pri-txt{font-weight:300;font-size:var(--t-sm);color:var(--fg-2);line-height:1.6;}
.pri-txt strong{display:block;font-family:var(--display);font-weight:700;
  font-size:var(--t-base,1rem);color:var(--fg);margin-bottom:2px;}

/* ── Rank e check do plano de ação ── */
.action-rank{width:26px;height:26px;flex-shrink:0;display:grid;place-items:center;
  font-family:var(--code);font-size:var(--t-micro);font-weight:500;color:#FFF6F2;}
.action-rank.ar-1{background:var(--mark);}
.action-rank.ar-2{background:var(--warn);}
.action-rank.ar-3{background:var(--fg-3);}
.action-item-check{width:22px;height:22px;flex-shrink:0;margin-top:2px;
  display:grid;place-items:center;border:2px solid var(--rule-2);background:transparent;
  transition:background .18s,border-color .18s;}
.action-item{cursor:pointer;}
.action-item--done .action-item-check{background:var(--ok);border-color:var(--ok);}

/* ── Checks da triagem/auditoria ── */
.ctx-check{font-family:var(--code);font-size:var(--t-micro);padding:var(--u1) var(--u2);
  border:1px solid;}
.ctx-check.ctx-yes{color:var(--ok);border-color:var(--ok);background:var(--ok-wash);}
.ctx-check.ctx-no{color:var(--bad);border-color:var(--bad);background:var(--bad-wash);}
.ctx-probs ul{list-style:none;display:flex;flex-direction:column;gap:var(--u1);}
.ctx-probs li{font-weight:300;font-size:var(--t-sm);color:var(--fg-2);line-height:1.5;}

/* ── Gap: .gap-track é a LINHA (label + barra), não a barra ── */
.gap-track{margin-bottom:var(--u4);}
.gap-track:last-child{margin-bottom:0;}
.gap-label{display:flex;align-items:baseline;justify-content:space-between;gap:var(--u3);
  font-size:var(--t-sm);color:var(--fg-2);margin-bottom:var(--u2);}
.gap-label span:last-child{font-family:var(--code);font-size:var(--t-micro);
  font-variant-numeric:tabular-nums;white-space:nowrap;}
.gap-bar-wrap{position:relative;height:10px;background:var(--surface-2);overflow:visible;}
.gap-bar-atual{position:absolute;left:0;top:0;bottom:0;background:var(--pen);
  transition:width .8s cubic-bezier(.2,.7,.3,1);}
.gap-bar-obj{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--fg);opacity:.65;}

/* ── Sinais fracos: título clicável ── */
.signal-fraco-title{display:flex;align-items:center;justify-content:space-between;
  gap:var(--u3);min-height:44px;cursor:pointer;
  font-family:var(--display);font-weight:700;font-size:var(--t-body);}
.sf-arr{font-family:var(--code);color:var(--pen-txt);}

/* ── Selo Deep Analysis ── */
.deep-badge{display:none;align-items:center;gap:var(--u1);width:fit-content;
  margin-top:var(--u1);padding:2px var(--u2);
  font-family:var(--code);font-size:var(--t-micro);font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;
  color:var(--warn);border:1px solid var(--warn);}

/* ── Rodapé do resultado ── */
.res-footer h3{font-family:var(--display);font-weight:800;font-size:1.8rem;
  letter-spacing:-.03em;margin-bottom:var(--u2);}
.res-footer p{font-weight:300;color:var(--fg-2);margin-bottom:var(--u5);}

.job-ctx-bar{display:flex;align-items:center;gap:var(--u3);padding:var(--u3) var(--u4);
  background:var(--pen-wash);border-left:2px solid var(--pen);margin-bottom:var(--u5);font-size:var(--t-sm);}

/* ═══ JOB MATCHER ═══ */
#page-jobs{padding:calc(64px + var(--u8)) var(--u6) var(--u10);}
.jm-inner{max-width:1040px;margin:0 auto;}
.jm-header{margin-bottom:var(--u7);padding-bottom:var(--u5);border-bottom:2px solid var(--fg);}
.jm-pro-badge{display:inline-flex;align-items:center;gap:var(--u2);width:fit-content;
  font-family:var(--code);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;
  padding:var(--u1) var(--u3);margin-bottom:var(--u4);background:var(--ok-wash);color:var(--ok);
  border:1px solid var(--ok);}
.jm-title{font-family:var(--display);font-weight:800;font-size:clamp(2rem,5vw,3rem);
  letter-spacing:-.04em;line-height:.98;font-variation-settings:"wdth" 86;}
.jm-hl{color:var(--pen);}
.jm-gradient-bar{height:2px;max-width:240px;margin:var(--u4) 0 var(--u3);background:var(--pen);}
.jm-subtitle{font-weight:300;color:var(--fg-2);line-height:1.66;max-width:60ch;}
.jm-input-card{background:var(--surface);border:1px solid var(--rule-2);padding:var(--u6);
  margin-bottom:var(--u6);box-shadow:8px 8px 0 var(--shadow-solid);}
.jm-upload-zone{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:var(--u8) var(--u5);background:var(--bg);border:1px dashed var(--rule-2);cursor:pointer;transition:all .2s;}
.jm-upload-zone:hover,.jm-upload-zone.dragover{border-color:var(--pen);background:var(--pen-wash);}
.jm-upload-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;}
.jm-upload-icon{color:var(--pen);margin-bottom:var(--u3);}
.jm-upload-title{font-family:var(--display);font-weight:700;font-size:var(--t-body);margin-bottom:var(--u2);}
.jm-upload-hint{font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);line-height:1.6;}
.jm-upload-file-row{display:none;align-items:center;gap:var(--u2);}
.jm-upload-zone.has-file .jm-upload-default-content{display:none;}
.jm-upload-zone.has-file .jm-upload-file-row{display:flex;}
.jm-upload-zone.has-file{border-style:solid;border-color:var(--ok);background:var(--ok-wash);}
.jm-upload-file-name{font-family:var(--code);font-size:var(--t-sm);color:var(--ok);
  max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.jm-upload-clear{background:none;border:none;color:var(--fg-3);cursor:pointer;padding:var(--u1);
  position:relative;z-index:2;transition:color .15s;}
.jm-upload-clear:hover{color:var(--bad);}
.jm-divider{display:flex;align-items:center;gap:var(--u4);margin:var(--u6) 0;}
.jm-divider::before,.jm-divider::after{content:"";flex:1;height:1px;background:var(--rule);}
.jm-divider-text{font-family:var(--code);font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);}
.jm-label{display:block;font-family:var(--code);font-size:.62rem;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--fg-3);margin-bottom:var(--u2);}
.jm-label-hint{font-weight:400;text-transform:none;letter-spacing:0;opacity:.8;}
.jm-textarea{min-height:160px;}
.jm-char-count{font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);text-align:right;margin-top:var(--u2);}
.jm-btn-find{width:100%;min-height:56px;margin-top:var(--u4);display:inline-flex;align-items:center;
  justify-content:center;gap:var(--u3);background:var(--pen-btn);color:#FFF6F2;
  border:1px solid var(--pen-btn);border-radius:0;font-family:var(--code);font-size:var(--t-xs);
  font-weight:500;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all .18s;}
.jm-btn-find:hover{background:#074E93;transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--fg);}
.jm-btn-find:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;}
.jm-status{display:none;align-items:center;justify-content:center;gap:var(--u3);padding:var(--u8);
  font-family:var(--code);font-size:var(--t-sm);color:var(--fg-2);}
.jm-spinner{width:20px;height:20px;border:2px solid var(--rule-2);border-top-color:var(--pen);
  animation:spin 1s linear infinite;flex-shrink:0;}
.jm-btn-spinner{width:14px;height:14px;border:2px solid rgba(255,246,242,.35);border-top-color:#FFF6F2;
  animation:spin .8s linear infinite;display:inline-block;}
.jm-results-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--u4);
  flex-wrap:wrap;margin-bottom:var(--u5);padding-bottom:var(--u3);border-bottom:2px solid var(--fg);}
.jm-results-count{font-family:var(--display);font-weight:800;font-size:1.6rem;letter-spacing:-.035em;}
.jm-results-sort{font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);}
.jm-result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--u4);}
.job-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--rule);
  border-left:2px solid var(--pen);padding:var(--u5);transition:transform .22s,box-shadow .22s,border-color .22s;}
.job-card:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--fg);}
.job-card--green-accent{border-left-color:var(--ok);}
.job-card--amber-accent{border-left-color:var(--warn);}
.job-card--blue-accent{border-left-color:var(--pen);}
.job-card.jm-saved-card{border-left-color:var(--warn);}
.job-card-company-row{display:flex;align-items:center;gap:var(--u2);margin-bottom:var(--u2);}
.job-card-company-icon{color:var(--fg-3);flex-shrink:0;}
.job-card-company{font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);
  text-transform:uppercase;letter-spacing:.08em;}
.job-card-title{font-family:var(--display);font-weight:700;font-size:1.25rem;letter-spacing:-.03em;
  line-height:1.15;margin-bottom:var(--u2);}
.job-card-location{display:flex;align-items:center;gap:var(--u2);font-family:var(--code);
  font-size:var(--t-micro);color:var(--fg-3);margin-bottom:var(--u3);}
.jm-kw-chips{display:flex;flex-wrap:wrap;gap:var(--u1);margin-bottom:var(--u3);}
.jm-kw-chip{font-family:var(--code);font-size:var(--t-micro);padding:2px var(--u2);
  background:var(--pen-wash);color:var(--pen-txt);}
.jm-match-badge{display:inline-flex;align-items:center;gap:var(--u1);width:fit-content;
  font-family:var(--code);font-size:var(--t-micro);padding:2px var(--u2);
  background:var(--ok-wash);color:var(--ok);margin-bottom:var(--u3);}
.job-card-excerpt{font-weight:300;font-size:var(--t-sm);color:var(--fg-3);line-height:1.6;font-style:italic;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:var(--u4);}
.jm-card-actions{display:flex;align-items:center;gap:var(--u2);flex-wrap:wrap;margin-top:auto;}
.jm-view-btn{display:inline-flex;align-items:center;gap:var(--u1);min-height:44px;padding:0 var(--u3);
  border:1px solid var(--rule-2);color:var(--fg-2);font-family:var(--code);font-size:var(--t-micro);
  letter-spacing:.05em;text-decoration:none;transition:all .18s;}
.jm-view-btn:hover{color:var(--pen-txt);border-color:var(--pen);}
.jm-fit-btn{flex:1;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:var(--u2);
  padding:0 var(--u3);background:var(--pen-btn);color:#FFF6F2;border:1px solid var(--pen-btn);border-radius:0;
  font-family:var(--code);font-size:var(--t-micro);letter-spacing:.05em;text-transform:uppercase;
  cursor:pointer;transition:all .18s;}
.jm-fit-btn:hover{background:#074E93;}
.jm-fit-btn:disabled,.jm-fit-btn.loading{opacity:.72;cursor:wait;}
.jm-save-row{margin-top:var(--u2);}
.jm-save-btn{width:100%;min-height:40px;display:inline-flex;align-items:center;justify-content:center;
  gap:var(--u2);background:none;border:1px solid var(--rule);border-radius:0;color:var(--fg-3);
  font-family:var(--code);font-size:var(--t-micro);letter-spacing:.05em;cursor:pointer;transition:all .18s;}
.jm-save-btn:hover{color:var(--pen-txt);border-color:var(--pen);}
.jm-save-btn.saved{color:var(--warn);border-color:var(--warn);background:var(--warn-wash);}
.jm-saved-header{display:flex;align-items:center;justify-content:space-between;gap:var(--u4);flex-wrap:wrap;
  margin:var(--u9) 0 var(--u5);padding-top:var(--u6);border-top:2px solid var(--fg);}
.jm-saved-title-wrap{display:flex;align-items:center;gap:var(--u3);}
.jm-saved-title-icon{width:32px;height:32px;display:grid;place-items:center;
  background:var(--warn-wash);border:1px solid var(--warn);color:var(--warn);}
.jm-saved-title{font-family:var(--display);font-weight:800;font-size:1.5rem;letter-spacing:-.035em;}
.jm-saved-count{font-family:var(--code);font-size:var(--t-micro);padding:2px var(--u2);
  background:var(--warn-wash);color:var(--warn);}
.jm-saved-clear{min-height:40px;padding:0 var(--u4);background:none;border:1px solid var(--rule-2);
  border-radius:0;color:var(--fg-3);font-family:var(--code);font-size:var(--t-micro);
  letter-spacing:.05em;cursor:pointer;transition:all .18s;}
.jm-saved-clear:hover{color:var(--bad);border-color:var(--bad);}
.jm-empty,.jm-error{display:flex;flex-direction:column;align-items:center;gap:var(--u3);text-align:center;
  padding:var(--u10) var(--u6);background:var(--surface);border:1px dashed var(--rule-2);
  color:var(--fg-3);font-weight:300;line-height:1.66;}
.jm-error{color:var(--bad);border-color:var(--bad);background:var(--bad-wash);}

/* ═══ HISTÓRICO ═══ */
#page-historico{max-width:1040px;margin:0 auto;padding:calc(64px + var(--u8)) var(--u6) var(--u10);}
.hist-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--u4);flex-wrap:wrap;
  padding-bottom:var(--u5);border-bottom:2px solid var(--fg);margin-bottom:var(--u7);}
.hist-header h2{font-family:var(--display);font-weight:800;font-size:clamp(2rem,5vw,3rem);
  letter-spacing:-.04em;font-variation-settings:"wdth" 86;}
.hist-count{font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);}
.hist-actions{display:flex;gap:var(--u2);flex-wrap:wrap;}
.hist-sort-btn,.hist-period-btn{min-height:40px;padding:0 var(--u4);background:none;
  border:1px solid var(--rule-2);border-radius:0;color:var(--fg-2);font-family:var(--code);
  font-size:var(--t-micro);letter-spacing:.05em;cursor:pointer;transition:all .18s;}
.hist-sort-btn:hover,.hist-period-btn:hover{color:var(--fg);border-color:var(--fg);}
.hist-period-btn.active{background:var(--fg);color:var(--bg);border-color:var(--fg);}
.hist-chart-section{background:var(--surface);border:1px solid var(--rule-2);padding:var(--u6);margin-bottom:var(--u7);}
.hist-chart-header{display:flex;align-items:center;justify-content:space-between;gap:var(--u4);flex-wrap:wrap;margin-bottom:var(--u5);}
.hist-chart-title{font-family:var(--display);font-weight:800;font-size:1.5rem;letter-spacing:-.035em;}
.hist-chart-filters,.hist-filter-row{display:flex;gap:var(--u2);align-items:center;flex-wrap:wrap;}
.hist-filter-label{font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);}
.hist-chart-wrap{position:relative;height:270px;}









/* ── Histórico: .hist-card é o cartão, .hist-info é o texto dentro dele ── */
.hist-grid{display:flex;flex-direction:column;gap:var(--u3);}
.hist-card{
  display:flex;align-items:center;gap:var(--u4);
  background:var(--surface);border:1px solid var(--rule);padding:var(--u4) var(--u5);
  cursor:pointer;transition:transform .22s,box-shadow .22s,border-color .22s;
}
.hist-card:hover{border-color:var(--fg);transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--pen);}
/* o disco recebe um gradiente inline do JS — texto sempre claro por cima */
.hist-score-ring{
  width:54px;height:54px;flex-shrink:0;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.hist-score-n{font-family:var(--display);font-weight:800;font-size:1.2rem;line-height:1;color:#FFF6F2;}
.hist-score-d{font-family:var(--code);font-size:.58rem;color:rgba(255,246,242,.72);}
.hist-info{flex:1;min-width:0;}
.hist-verdict{font-family:var(--display);font-weight:700;font-size:var(--t-body);
  line-height:1.25;color:var(--fg);margin-bottom:2px;}
.hist-obj{display:flex;align-items:center;gap:var(--u2);font-weight:300;font-size:var(--t-sm);
  color:var(--fg-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px;}
.hist-date{font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);}
.dim-card,.pri-item,.risk-item{background:var(--surface);border:1px solid var(--rule);
  padding:var(--u5);margin-bottom:var(--u3);}

.hist-type-badge{font-family:var(--code);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;padding:2px var(--u2);}
.hist-type-linkedin{background:var(--pen-wash);color:var(--pen-txt);}
.hist-type-vaga{background:var(--warn-wash);color:var(--warn);}
.hist-arrow{color:var(--fg-3);flex-shrink:0;}
.hist-delete-btn{background:none;border:none;color:var(--fg-3);cursor:pointer;padding:var(--u2);transition:color .15s;}
.hist-delete-btn:hover{color:var(--bad);}
.hist-empty,.hist-loading{display:flex;flex-direction:column;align-items:center;gap:var(--u4);
  text-align:center;padding:var(--u10) var(--u6);color:var(--fg-3);font-weight:300;}
.hist-empty-icon{color:var(--fg-3);opacity:.5;}

/* ═══ PERFIL ═══ */
#page-perfil{max-width:760px;margin:0 auto;padding:calc(64px + var(--u8)) var(--u6) var(--u10);}
.perfil-header{padding-bottom:var(--u5);border-bottom:2px solid var(--fg);margin-bottom:var(--u7);}
.perfil-header h2{font-family:var(--display);font-weight:800;font-size:clamp(2rem,5vw,3rem);
  letter-spacing:-.04em;font-variation-settings:"wdth" 86;}
.perfil-block{background:var(--surface);border:1px solid var(--rule-2);padding:var(--u6);margin-bottom:var(--u5);}
.perfil-block--plan{border-left:3px solid var(--pen);}
.perfil-block--danger{border-left:3px solid var(--bad);}
.perfil-block-title{font-family:var(--display);font-weight:800;font-size:1.5rem;letter-spacing:-.035em;margin-bottom:var(--u5);}
.perfil-row{display:flex;align-items:center;justify-content:space-between;gap:var(--u4);
  padding:var(--u3) 0;border-bottom:1px solid var(--rule);flex-wrap:wrap;}
.perfil-row:last-child{border-bottom:none;}
.perfil-row-label{font-family:var(--code);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);}
.perfil-row-value{font-size:var(--t-sm);color:var(--fg);}
.perfil-usage-bar{height:6px;background:var(--surface-2);overflow:hidden;margin-top:var(--u3);}
.perfil-usage-fill{height:100%;background:var(--pen);transition:width .8s cubic-bezier(.2,.7,.3,1);}
.perfil-btn{min-height:46px;padding:0 var(--u5);border-radius:0;font-family:var(--code);
  font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;
  border:1px solid transparent;transition:all .18s;}
.perfil-btn-primary{background:var(--pen-btn);color:#FFF6F2;border-color:var(--pen-btn);}
.perfil-btn-primary:hover{background:#074E93;transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--fg);}
.perfil-btn-ghost{background:none;color:var(--fg-2);border-color:var(--rule-2);}
.perfil-btn-ghost:hover{color:var(--fg);border-color:var(--fg);}
.perfil-btn-danger{background:none;color:var(--bad);border-color:var(--bad);}
.perfil-btn-danger:hover{background:var(--bad-wash);}
.perfil-email-form{display:flex;gap:var(--u2);flex-wrap:wrap;margin-top:var(--u3);}
.perfil-email-form .perfil-input{flex:1;min-width:200px;}
.perfil-err{font-size:var(--t-sm);color:var(--bad);margin-top:var(--u2);}
.perfil-ok{font-size:var(--t-sm);color:var(--ok);margin-top:var(--u2);}
.perfil-canceling-label{font-family:var(--code);font-size:var(--t-micro);color:var(--warn);}

/* ═══ PAYWALL ═══ */
#page-paywall{flex-direction:column;padding:calc(64px + var(--u9)) var(--u6) var(--u10);text-align:center;}
#page-paywall .plans-grid{margin-top:var(--u8);text-align:left;max-width:1100px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:var(--u4);align-items:start;}
#page-paywall .plan-landing-card{background:var(--surface);border:1px solid var(--rule-2);
  padding:var(--u6);display:flex;flex-direction:column;position:relative;transition:all .22s;}
#page-paywall .plan-landing-card:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--fg);border-color:var(--fg);}
#page-paywall .plan-card-starter{border-color:var(--pen);border-width:2px;}
#page-paywall .plan-landing-name{font-family:var(--code);font-size:.62rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--fg-3);margin-bottom:var(--u3);}
#page-paywall .plan-landing-price{font-family:var(--display);font-weight:800;font-size:2.2rem;
  letter-spacing:-.045em;line-height:1;margin-bottom:var(--u1);}
#page-paywall .plan-landing-period{font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);
  margin-bottom:var(--u5);min-height:2.6em;line-height:1.4;}
#page-paywall .plan-landing-items{display:flex;flex-direction:column;gap:var(--u3);flex:1;margin-bottom:var(--u5);}
#page-paywall .plan-landing-items li{display:flex;align-items:flex-start;gap:var(--u2);
  font-weight:300;font-size:var(--t-sm);color:var(--fg-2);line-height:1.45;}
#page-paywall .plan-landing-items li::before{content:"";flex-shrink:0;width:15px;height:15px;margin-top:3px;
  background-color:var(--pen);-webkit-mask:var(--tick) center/contain no-repeat;mask:var(--tick) center/contain no-repeat;}
#page-paywall .plan-landing-badge{position:absolute;top:calc(var(--u3) * -1);left:var(--u5);
  font-family:var(--code);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;
  padding:3px var(--u2);background:var(--pen-btn);color:#FFF6F2;white-space:nowrap;}
#page-paywall .plan-landing-btn{width:100%;min-height:46px;background:none;border:1px solid var(--fg);
  border-radius:0;color:var(--fg);font-family:var(--code);font-size:var(--t-xs);
  letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all .18s;}
#page-paywall .plan-landing-btn:hover{background:var(--fg);color:var(--bg);}
#page-paywall .plan-card-starter .plan-landing-btn{background:var(--pen-btn);border-color:var(--pen-btn);color:#FFF6F2;}
#page-paywall .plan-card-starter .plan-landing-btn:hover{background:#074E93;}

/* ═══ MODAL CPF + TOAST ═══ */
.cpf-modal-overlay{display:none;position:fixed;inset:0;z-index:300;align-items:center;justify-content:center;
  padding:var(--u5);background:rgba(12,10,7,.78);backdrop-filter:blur(3px);}
.cpf-modal-overlay.open{display:flex;}
.cpf-modal{width:100%;max-width:440px;background:var(--surface);border:1px solid var(--rule-2);
  padding:var(--u8);box-shadow:12px 12px 0 var(--shadow-solid);}
.cpf-modal-title{font-family:var(--display);font-weight:800;font-size:1.6rem;letter-spacing:-.035em;margin-bottom:var(--u3);}
.cpf-modal-sub{font-weight:300;font-size:var(--t-sm);color:var(--fg-2);line-height:1.66;margin-bottom:var(--u5);}
.cpf-modal-err{font-size:var(--t-sm);color:var(--bad);min-height:1.3em;margin-top:var(--u2);}
.cpf-modal-btn{width:100%;min-height:50px;margin-top:var(--u4);background:var(--pen-btn);color:#FFF6F2;
  border:1px solid var(--pen-btn);border-radius:0;font-family:var(--code);font-size:var(--t-xs);
  letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all .18s;}
.cpf-modal-btn:hover{background:#074E93;}
.cpf-modal-cancel{width:100%;min-height:44px;margin-top:var(--u2);background:none;border:none;
  color:var(--fg-3);font-family:var(--code);font-size:var(--t-micro);cursor:pointer;text-decoration:underline;}
.cpf-modal-lgpd{font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);line-height:1.55;margin-top:var(--u4);}
.toast{position:fixed;left:50%;bottom:var(--u6);transform:translate(-50%,20px);z-index:400;
  max-width:min(460px,90vw);padding:var(--u3) var(--u5);background:var(--fg);color:var(--bg);
  font-family:var(--code);font-size:var(--t-xs);opacity:0;pointer-events:none;
  transition:opacity .3s,transform .3s;}
.toast.show{opacity:1;transform:translate(-50%,0);}

/* Botoes de texto sem classe (voltar / nova analise) — alvo de toque de 44px */
#page-tool button:not([class]),#page-paywall button:not([class]),
#page-perfil button:not([class]),#page-jobs button:not([class]),
#page-results button:not([class]),#page-historico button:not([class]){
  min-height:44px;display:inline-flex;align-items:center;justify-content:center;
  padding:0 var(--u3);font-family:var(--code);font-size:var(--t-micro);letter-spacing:.05em;
}


/* ═══════════════════════════════════════════════════════════════════════════
   ESTADOS CONTROLADOS PELO JS
   O JS liga/desliga estas classes com classList.toggle(). Sem as regras abaixo,
   os blocos condicionais nunca aparecem (foi o que aconteceu: "Vaga específica"
   e "Colar texto" ficavam invisíveis, e o menu do perfil sumia no desktop).
   Ao mexer no CSS, conferir se toda classe usada no JS tem regra aqui.
   ═══════════════════════════════════════════════════════════════════════════ */

/* Blocos condicionais da ferramenta */
.vaga-wrap.visible{display:block;}
.manual-input-wrap.visible{display:block;}
.lgpd-wrap.visible{display:flex;align-items:flex-start;gap:var(--u3);}
.ats-tooltip.visible{opacity:1;}

/* Slot de PDF desabilitado no modo "colar texto" */
.slot-pdf-wrap.disabled{opacity:.4;pointer-events:none;}
.slot-pdf-wrap.disabled .slot{cursor:not-allowed;}

/* Upload: arquivo aceito / com erro */
.slot.done{border-style:solid;border-color:var(--ok);background:var(--ok-wash);}
.slot.done .slot-req{display:none;}
.slot.done .slot-ok{display:inline-block;}
.slot.done .slot-fname{display:block;}
.slot.err{border-color:var(--bad);background:var(--bad-wash);}

/* Campos com erro de validação */
.auth-input.err,.perfil-input.err,.cpf-modal-input.err{border-color:var(--bad);}

/* Barra de uso do perfil perto do limite */
.perfil-usage-fill.danger{background:var(--bad);}

/* Zona de upload do Job Matcher processando o PDF */
.jm-upload-zone.processing{cursor:wait;}
.jm-upload-zone.processing .jm-upload-icon{animation:spin .8s linear infinite;}

/* Item do plano de ação marcado como feito */
.action-item--done{opacity:.5;}
.action-item--done .action-title{text-decoration:line-through;}

/* Histórico sem dados no gráfico */
.hist-chart-empty{text-align:center;padding:var(--u10) var(--u5);color:var(--fg-3);
  font-family:var(--code);font-size:var(--t-sm);}

/* Palavra-chave ausente no ATS */
.ats-kw{display:inline-block;font-family:var(--code);font-size:var(--t-micro);
  padding:var(--u1) var(--u2);border:1px solid var(--rule-2);color:var(--fg-2);}
.ats-kw.missing{background:var(--bad-wash);color:var(--bad);border-color:var(--bad);}

/* Etiqueta de status (stag) */
.stag{display:inline-block;font-family:var(--code);font-size:var(--t-micro);font-weight:500;
  padding:var(--u1) var(--u3);border:1px solid var(--rule-2);}

/* Cartões gerados pelo JS com nomes próprios */



/* Fundo das páginas internas (o show() liga esta classe no body) */
body.analysis-page{background:var(--bg);}

/* Exportação para PDF: força tema claro e evita quebra no meio dos blocos */
#page-results.pdf-mode{--bg:#FFFFFF;--surface:#FFFFFF;--fg:#14130E;--fg-2:#3F3B31;--fg-3:#5F5A4A;}
.pdf-mode *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;}
.pdf-mode .score-banner,.pdf-mode .gap-block,.pdf-mode .action-plan,
.pdf-mode .dim,.pdf-mode .dim-card,.pdf-mode .benchmark-block{
  break-inside:avoid!important;page-break-inside:avoid!important;}

/* Hamburger do usuário logado — sem isto não há como abrir o drawer no desktop,
   e o drawer é o único caminho para "Meu perfil" e "Minhas análises". */
.nav-hamburger-logged{display:flex;}

/* ═══ RESPONSIVO ═══ */
@media(max-width:1000px){
  .hero-grid{grid-template-columns:1fr;gap:var(--u7);}
  .proof{max-width:560px;}
  .reason{grid-template-columns:1fr;gap:var(--u3);}
  .steps{grid-template-columns:repeat(2,1fr);}
  .step{border-bottom:1px solid var(--rule);}
  .deliver{grid-template-columns:1fr;}
  .card--wide,.card--tall,.card--half,.card--full{grid-column:span 1;}
  .card--full{grid-template-columns:1fr;gap:var(--u4);}
  .plan{grid-template-columns:1fr;gap:var(--u3);align-items:start;}
  .plan-price,.plan-price small{text-align:left;}
  .strategic-grid,.cards-grid{grid-template-columns:1fr;}
  .jm-result-grid{grid-template-columns:1fr;}
  #page-paywall .plans-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:780px){
  nav{padding:0 var(--u4);}
  .nav-guest-group .nav-cta,.nav-user,.nav-jobs-btn{display:none;}
  .nav-hamburger{display:flex;}
  .nav-hamburger-logged{display:none!important;}
  .hero{padding:var(--u8) var(--u5) var(--u7);}
  #page-landing section{padding:var(--u8) var(--u5);}
  .sec-head{grid-template-columns:1fr;gap:var(--u4);}
  .strip-in{grid-template-columns:repeat(2,1fr);gap:var(--u5) var(--u4);padding:var(--u5) var(--u5);}
  .steps{grid-template-columns:1fr;}
  .step{padding-right:0;border-right:none;}
  .close-in{padding:var(--u8) var(--u5);}
  #page-landing footer{padding:var(--u6) var(--u5);}
  .foot-nav{gap:var(--u6);}
  .upload-grid{grid-template-columns:1fr;}
  #page-tool,#page-results,#page-jobs,#page-historico,#page-perfil,#page-paywall{
    padding-left:var(--u4);padding-right:var(--u4);}
  .score-banner{padding:var(--u5);gap:var(--u5);}
  .auth-card{padding:var(--u6);}
  #page-paywall .plans-grid{grid-template-columns:1fr;}
  .hist-grid{grid-template-columns:1fr;}
}
@media(max-width:620px){
  .kicker{flex-wrap:wrap;gap:var(--u1) var(--u3);}
  .kicker::after{display:none;}
  .cta-row{flex-direction:column;align-items:stretch;}
  .cta-row .btn,.plan .btn{width:100%;}
  .proof{padding:var(--u5) var(--u4) var(--u6);box-shadow:6px 6px 0 var(--shadow-solid);}
  .stamp{right:var(--u3);font-size:.95rem;}
  #page-landing h1{letter-spacing:-.042em;}
  .res-footer-btns{flex-direction:column;}
  .res-footer-btns > *{width:100%;}
}

/* ═══ MOVIMENTO REDUZIDO ═══ */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important;}
}

/* ═══ IMPRESSÃO ═══ */
@media print{
  /* Cromo da interface some */
  nav,.nav-drawer,.no-print,.res-actions,.res-footer,.toast,
  .hist-actions,.hist-arrow,.hist-delete-btn,.hist-chart-section,
  .neg-toggle,.skip,.btn-nova-analise{display:none!important;}

  /* Papel branco, tinta preta, sem textura */
  html,body,#page-results,#page-historico,#page-perfil{
    background:#FFF!important;color:#000!important;}
  body::before,body::after{display:none!important;}
  .print-header{display:block!important;}

  /* Tokens fixos: as cores do tema não valem no papel */
  :root,body,body.light-mode-active{
    --bg:#FFF; --bg-2:#FFF; --surface:#FFF; --surface-2:#F4F4F5;
    --fg:#000; --fg-2:#333; --fg-3:#555;
    --rule:#CCC; --rule-2:#999;
  }
  *{box-shadow:none!important;text-shadow:none!important;
    -webkit-print-color-adjust:exact;print-color-adjust:exact;}

  /* Larguras: sem isto o flex colapsa e o texto quebra letra a letra */
  #page-historico,#page-results,#page-perfil{
    padding:0!important;max-width:100%!important;width:100%!important;}
  .wrap,.hist-grid{max-width:100%!important;width:100%!important;}

  /* Cartões do histórico inteiros, um por linha, sem quebrar no meio */
  .hist-card{
    display:flex!important;width:100%!important;
    border:1px solid #CCC!important;padding:10px 12px!important;
    break-inside:avoid!important;page-break-inside:avoid!important;
    transform:none!important;
  }
  .hist-info{flex:1 1 auto!important;min-width:0!important;}
  .hist-obj{white-space:normal!important;overflow:visible!important;}
  .hist-verdict,.hist-obj,.hist-date{word-break:normal!important;overflow-wrap:anywhere;}
  .hist-score-ring{width:44px!important;height:44px!important;flex:0 0 44px!important;}

  /* Blocos do resultado não partem entre páginas */
  .dim,.dim-card,.strat-block,.action-plan,.gap-block,.benchmark-block,
  .context-block,.bot-card,.score-banner,.signal-fraco-block{
    break-inside:avoid!important;page-break-inside:avoid!important;
    border-color:#CCC!important;}

  a[href]::after{content:"";}   /* não imprimir a URL depois dos links */
}
.print-header,.print-footer{display:none;}
.print-header-logo{font-family:var(--display);font-weight:800;font-size:1.5rem;}
.print-header-sub{font-family:var(--code);font-size:var(--t-micro);color:var(--fg-3);}
