/* ============================================================
   RADAR VIAGENS — Sistema visual oficial (Branding Kit)
   Paleta, tipografia e componentes padronizados.
   ============================================================ */
:root{
  /* -------- Paleta oficial -------- */
  --petro:#082A35;        /* Azul Petróleo — cor principal */
  --azul:#0E3A4A;         /* Azul Escuro — apoio */
  --gold:#D8A84B;         /* Dourado Principal — destaques */
  --gold2:#E7C979;        /* Dourado Claro — hover e detalhes */
  --white:#FFFFFF;
  --gray:#F4F6F8;         /* Cinza Claro — fundos alternados */
  --ink:#6D747A;          /* Cinza Texto — corpo/secundário */
  --line:#E4E7EB;         /* Bordas (derivado do cinza claro) */
  --muted:#6D747A;        /* Texto secundário/microcopy (corrige token ausente) */
  --gold-text:#8A6D1F;    /* Dourado acessível p/ TEXTO sobre fundo claro (contraste AA) */

  /* -------- Semânticos -------- */
  --bg:#FFFFFF;
  --head:#082A35;         /* títulos */
  --body:#3A424A;         /* corpo (leve variação do cinza texto p/ leitura) */

  /* -------- Tokens de componente -------- */
  --maxw:1720px;
  --radius-card:16px;
  --radius-btn:12px;
  --radius-sm:10px;
  --shadow-card:0 18px 40px -28px rgba(8,42,53,.28);
  --shadow-btn:0 10px 24px -10px rgba(216,168,75,.5);
  --ease:.2s cubic-bezier(.4,0,.2,1);
  --ff-head:'Poppins',system-ui,sans-serif;
  --ff-body:'Inter',system-ui,-apple-system,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--ff-body);background:var(--bg);color:var(--body);-webkit-font-smoothing:antialiased;line-height:1.55;letter-spacing:-.005em;overflow-x:hidden}
h1,h2,h3,h4,.ff-head{font-family:var(--ff-head);color:var(--head)}
a{text-decoration:none;color:inherit}
img{max-width:100%}
.wrap{max-width:1160px;margin:0 auto;padding:0 30px}
.skip{position:absolute;left:-9999px;top:0;background:var(--petro);color:#fff;padding:10px 16px;border-radius:8px;z-index:100}
.skip:focus{left:16px;top:12px}

/* ============================================================
   BOTÕES — componente único (primário dourado + secundário outline)
   ============================================================ */
.wa,.btn{font-family:var(--ff-head);background:var(--petro);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:50px;padding:0 26px;border-radius:var(--radius-btn);font-weight:600;font-size:14px;letter-spacing:.01em;line-height:1;border:none;cursor:pointer;white-space:nowrap;box-shadow:0 8px 20px -8px rgba(8,42,53,.45);transition:background var(--ease),transform var(--ease),box-shadow var(--ease)}
.wa:hover,.btn:hover{background:#061f27;transform:translateY(-2px);box-shadow:0 12px 26px -10px rgba(8,42,53,.55)}
.wa:active,.btn:active{transform:translateY(0)}
.wa svg,.btn svg{width:18px;height:18px;fill:#25D366;flex:none}
/* botões sobre fundos escuros (petróleo) usam dourado p/ contraste */
.err .wa,.hotel-cta .wa{background:var(--gold);color:var(--petro);box-shadow:var(--shadow-btn)}
.err .wa:hover,.hotel-cta .wa:hover{background:var(--gold2)}
.err .wa svg,.hotel-cta .wa svg{fill:var(--petro)}
/* secundário (outline) */
.btn-ghost{font-family:var(--ff-head);background:transparent;color:var(--petro);border:1.5px solid var(--gold);display:inline-flex;align-items:center;justify-content:center;gap:9px;height:50px;padding:0 24px;border-radius:var(--radius-btn);font-weight:600;font-size:14px;line-height:1;cursor:pointer;transition:all var(--ease)}
.btn-ghost:hover{background:rgba(216,168,75,.1);border-color:var(--gold);color:var(--petro);transform:translateY(-2px)}
/* link dourado com seta */
.link{font-family:var(--ff-head);font-weight:700;font-size:15.5px;color:var(--petro);display:inline-flex;gap:8px;align-items:center;transition:gap var(--ease)}
.link:hover{gap:12px}
.link .u{color:var(--gold)}

/* ============================================================
   LOGO LOCKUP
   ============================================================ */
.lock{display:flex;align-items:center;gap:13px}
.lock .sym{width:50px;height:50px;display:flex;align-items:center;justify-content:center;flex:none}
.lock .sym img{width:100%;height:100%;object-fit:contain;display:block}
.lock .wm{display:flex;flex-direction:column;line-height:1.04}
.lock .wm .r{font-family:var(--ff-head);font-size:18px;font-weight:700;letter-spacing:.12em;color:var(--petro)}
.lock .wm .v{font-family:var(--ff-head);font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-top:1px}
.lock .wm .tag{font-family:var(--ff-body);font-size:9px;font-weight:500;letter-spacing:.02em;color:var(--ink);margin-top:4px}

/* ============================================================
   HEADER / NAV
   ============================================================ */
header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:box-shadow var(--ease)}
header.scrolled{box-shadow:0 6px 24px -18px rgba(8,42,53,.5)}
.nav{display:flex;align-items:center;justify-content:space-between;height:80px;max-width:var(--maxw);margin:0 auto;padding:0 36px}
.menu{display:flex;gap:34px;font-family:var(--ff-body);font-size:14.5px;font-weight:500;color:var(--ink)}
.menu a{transition:color var(--ease)}
.menu a:hover{color:var(--petro)}
.menu-wa{display:none;color:var(--gold);font-weight:700}
.nav-right{display:flex;align-items:center;gap:18px}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:var(--radius-sm);width:44px;height:44px;cursor:pointer;align-items:center;justify-content:center}
.burger svg{width:20px;height:20px;stroke:var(--petro);stroke-width:2;fill:none;stroke-linecap:round}

/* ============================================================
   HERO
   ============================================================ */
.hero{display:grid;grid-template-columns:minmax(360px,1.2fr) minmax(430px,0.99fr);align-items:stretch;overflow:hidden;max-width:var(--maxw);margin:0 auto}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:18px 48px 18px 36px}
.hero-visual{position:relative;align-self:stretch;margin:0 -56px 0 0;padding:14px 0;transform:skewX(-3deg);transform-origin:top right;border-radius:32px;overflow:hidden;background:#001822;display:flex;align-items:center;justify-content:center;box-shadow:0 44px 90px -44px rgba(8,42,53,.55)}
.hero-visual::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(115% 92% at 50% 44%, rgba(0,0,0,0) 58%, rgba(3,15,20,.42) 100%)}
.hero-visual .globo{position:relative;z-index:1;max-height:100%;height:auto;width:auto;max-width:88%;object-fit:contain;transform:skewX(3deg) translateX(20px);display:block}
.hero-visual .fc{position:absolute;z-index:2;transform:skewX(3deg);background:rgba(8,42,53,.72);border:1px solid rgba(216,168,75,.42);border-radius:12px;padding:10px 16px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 14px 30px -12px rgba(0,0,0,.5)}
.hero-visual .fc .t{font-size:11px;color:var(--gold2);font-weight:600}
.hero-visual .fc .r{font-family:var(--ff-head);font-size:16px;font-weight:700;color:#fff;margin-top:2px}
.hero-visual .fc.a{top:13%;left:6%}
.hero-visual .fc.c{top:9%;right:5%}
.hero-visual .fc.b{bottom:13%;right:7%}
.pill{display:inline-flex;align-items:center;gap:9px;font-family:var(--ff-head);font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--petro);background:var(--gray);border:1px solid var(--line);padding:9px 16px;border-radius:999px;margin-bottom:14px;width:fit-content}
.pill b{width:6px;height:6px;border-radius:50%;background:var(--gold)}
h1{font-size:clamp(36px,3.6vw,54px);line-height:1.0;font-weight:700;letter-spacing:-.02em}
h1 .g{color:var(--gold)}
.lead{margin-top:12px;font-size:18px;line-height:1.45;color:var(--ink);max-width:480px;font-weight:400}
.actions{margin-top:20px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}

/* ============================================================
   FAIXA DE RECURSOS
   ============================================================ */
.feat{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--gray);padding:32px 0}
.featg{display:grid;grid-template-columns:repeat(4,1fr);align-items:center;padding:0 36px;max-width:var(--maxw);margin:0 auto}
.fi{display:flex;gap:14px;align-items:flex-start;padding:4px 28px;border-left:1px solid var(--line)}
.fi:first-child{border-left:none;padding-left:0}
.fi svg{width:29px;height:29px;stroke:var(--gold);fill:none;stroke-width:2;flex:none;margin-top:1px;stroke-linecap:round;stroke-linejoin:round}
.fi h4{font-family:var(--ff-head);font-size:15px;font-weight:600;color:var(--petro)}
.fi p{font-size:13px;color:var(--ink);font-weight:400;margin-top:4px;line-height:1.45}

/* ============================================================
   SECTIONS
   ============================================================ */
section{padding:56px 0}
.shead{max-width:1100px;margin-bottom:44px}
.shead p{max-width:1100px}
.kick{font-family:var(--ff-head);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-text)}
.shead h2{font-size:38px;line-height:1.14;font-weight:700;letter-spacing:-.02em;margin-top:14px}
.shead p{margin-top:15px;font-size:16.5px;color:var(--ink);font-weight:400;line-height:1.6}

/* cards de oportunidade */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.oc{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-card);padding:28px;transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease)}
.oc:hover{box-shadow:var(--shadow-card);transform:translateY(-4px);border-color:var(--gold)}
.oc .airline{font-size:12px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:7px}
.oc .airline b{width:5px;height:5px;border-radius:50%;background:var(--gold)}
.oc .route{font-family:var(--ff-head);font-size:22px;font-weight:700;letter-spacing:-.01em;margin:13px 0 22px;line-height:1.2;color:var(--petro)}
.oc .route span{color:var(--gold);font-weight:500;margin:0 5px}
.oc .dates{display:flex;gap:28px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.oc .dates .l{font-size:10.5px;color:var(--ink);font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.oc .dates .v{font-family:var(--ff-head);font-size:15px;font-weight:600;margin-top:3px;color:var(--petro)}
.oc .foot{display:flex;align-items:flex-end;justify-content:space-between;margin-top:18px}
.oc .price .l{font-size:11px;color:var(--ink);font-weight:600}
.oc .price .v{font-family:var(--ff-head);font-size:24px;font-weight:700;letter-spacing:-.01em;color:var(--petro)}
.oc .mini{font-family:var(--ff-head);font-size:13px;font-weight:600;border:1.5px solid var(--line);color:var(--petro);padding:10px 16px;border-radius:var(--radius-sm);transition:all var(--ease);cursor:pointer}
.oc .mini:hover{border-color:var(--gold);color:var(--gold)}

/* destinos */
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.dest{border:1px solid var(--line);border-radius:var(--radius-card);padding:22px;background:var(--white);transition:transform var(--ease),border-color var(--ease),box-shadow var(--ease)}
.dest:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:var(--shadow-card)}
.dest .arc{height:60px;border-radius:12px;background:var(--gray);border:1px solid var(--line);overflow:hidden;margin-bottom:16px;display:flex;align-items:center;justify-content:center;padding:6px 14px}
.dest .arc svg{width:100%;height:100%;display:block}
.dest h3{font-family:var(--ff-head);font-size:16px;font-weight:600;color:var(--petro)}
.dest .c{font-size:12.5px;color:var(--ink);font-weight:500;margin-top:2px}
.dest .pr{font-family:var(--ff-head);font-size:14px;font-weight:600;margin-top:13px;color:var(--petro)}
.dest .pr span{color:var(--ink);font-weight:500;font-size:12px}

/* categorias */
.cats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;background:var(--white)}
.catx{padding:32px 26px;border-right:1px solid var(--line);transition:background var(--ease)}
.catx:last-child{border-right:none}
.catx:hover{background:var(--gray)}
.catx svg{width:24px;height:24px;stroke:var(--gold);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.catx h3{font-family:var(--ff-head);font-size:15.5px;font-weight:600;margin-top:15px;color:var(--petro)}
.catx p{font-size:12.5px;color:var(--ink);font-weight:400;margin-top:5px}

/* como funciona */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}
.stp .n{font-family:var(--ff-head);font-size:14px;font-weight:700;color:var(--gold);letter-spacing:.05em}
.stp .bar{height:1px;background:var(--line);margin:15px 0 20px;position:relative}
.stp .bar::after{content:"";position:absolute;left:0;top:-1px;width:32px;height:3px;background:var(--gold);border-radius:2px}
.stp h3{font-family:var(--ff-head);font-size:19px;font-weight:600;letter-spacing:-.01em;color:var(--petro)}
.stp p{font-size:14.5px;color:var(--ink);margin-top:9px;line-height:1.6;font-weight:400}

/* FAQ */
.faq{max-width:840px}
.qa{border-bottom:1px solid var(--line)}
.qa-head{width:100%;background:none;border:none;cursor:pointer;text-align:left;padding:26px 0;display:flex;justify-content:space-between;gap:30px;align-items:center;font:inherit;color:inherit}
.qa-head h3{font-family:var(--ff-head);font-size:16.5px;font-weight:600;color:var(--petro)}
.qa .plus{color:var(--gold);font-size:22px;flex:none;transition:transform var(--ease);line-height:1}
.qa.open .plus{transform:rotate(45deg)}
.qa-body{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}
.qa-body p{font-size:14.5px;color:var(--ink);line-height:1.65;font-weight:400}
.qa.open .qa-body{max-height:240px;padding-bottom:26px}

/* CTA final */
.final{padding-top:30px;padding-bottom:30px}
.final .box{background:var(--gray);border:1px solid var(--line);border-radius:22px;padding:22px 40px;text-align:center;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center}
.final .box .rings{position:absolute;inset:0;pointer-events:none;display:flex;align-items:center;justify-content:center}
.final .box .rings i{position:absolute;border:1.5px solid rgba(216,168,75,.28);border-radius:50%}
.final .box .rings i:nth-child(1){border-color:rgba(216,168,75,.42)}
.final .box .rings i:nth-child(2){border-color:rgba(216,168,75,.28)}
.final .box .rings i:nth-child(3){border-color:rgba(216,168,75,.16)}
.final h2{font-size:31px;font-weight:700;letter-spacing:-.02em;line-height:1.14;position:relative}
.final p{color:var(--ink);font-size:16px;margin-top:8px;position:relative;font-weight:400}
.final .wa{margin-top:18px;position:relative}

/* ============================================================
   FOOTER (petróleo escuro on-brand)
   ============================================================ */
footer{background:var(--petro);color:#C7D2D4}
.fwrap{max-width:var(--maxw);margin:0 auto;padding:60px 36px 30px}
.fcols{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.25fr;gap:44px;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.1)}
.fbrand{max-width:340px}
footer .lock .wm .r{color:#fff}
footer .lock .wm .v{color:var(--gold)}
footer .lock .wm .tag{color:#8DA0A3}
.fdisc{margin-top:16px;font-size:12.5px;line-height:1.65;color:#8DA0A3;font-weight:400}
.fcol{display:flex;flex-direction:column}
.fcol h4{font-family:var(--ff-head);font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:2px 0 16px}
.fcol a{font-size:14px;font-weight:400;color:#C7D2D4;margin-bottom:12px;transition:color var(--ease);width:fit-content;display:inline-flex;align-items:center;gap:8px}
.fcol a:hover{color:var(--gold2)}
.fcol .fwa svg{width:16px;height:16px;fill:var(--gold);flex:none}
.fbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:24px}
.fbar span{font-size:13px;color:#8DA0A3;font-weight:400}
.fsoc{display:flex;gap:10px}
.fsoc a{width:36px;height:36px;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:border-color var(--ease)}
.fsoc a:hover{border-color:var(--gold)}
.fsoc svg{width:15px;height:15px;fill:#C7D2D4}
.fsoc a:hover svg{fill:var(--gold)}

/* ============================================================
   COOKIE
   ============================================================ */
.cookie{position:fixed;left:20px;right:20px;bottom:20px;z-index:60;max-width:640px;margin:0 auto;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:18px 20px;box-shadow:0 24px 60px -24px rgba(8,42,53,.35);display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.cookie[hidden]{display:none}
.cookie p{font-size:13px;color:var(--ink);flex:1;min-width:220px;line-height:1.5;margin:0}
.cookie a{color:var(--gold);font-weight:600}
.cookie .wa{height:42px;padding:0 20px;font-size:13.5px}

/* ============================================================
   PÁGINAS INSTITUCIONAIS
   ============================================================ */
.page-hero{background:linear-gradient(160deg,var(--petro) 0,var(--azul) 100%);color:#fff;padding:78px 0 70px}
.page-hero .wrap{max-width:820px}
.page-hero .kick{color:var(--gold)}
.page-hero h1{font-size:clamp(30px,4.4vw,46px);line-height:1.08;margin-top:14px;color:#fff;font-weight:700}
.page-hero p{margin-top:18px;font-size:17px;line-height:1.6;color:#B7C7C9;font-weight:400;max-width:640px}
.crumb{font-size:13px;color:#5A6B70;font-weight:500;margin-bottom:8px}
.crumb a:hover{color:var(--gold2)}
.prose{max-width:820px;margin:0 auto;padding:64px 30px 40px}
.prose h2{font-family:var(--ff-head);font-size:24px;font-weight:700;letter-spacing:-.01em;margin:46px 0 14px;color:var(--petro)}
.prose h2:first-child{margin-top:0}
.prose h3{font-family:var(--ff-head);font-size:17px;font-weight:600;margin:26px 0 10px;color:var(--petro)}
.prose p{font-size:15.5px;line-height:1.75;color:var(--body);margin-bottom:14px}
.prose ul{margin:0 0 16px 20px}
.prose li{font-size:15.5px;line-height:1.72;color:var(--body);margin-bottom:8px}
.prose a{color:var(--gold);font-weight:600}
.prose a:hover{text-decoration:underline}
.prose strong{color:var(--petro);font-weight:600}
.prose .updated{font-size:13px;color:var(--ink);font-weight:500;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.callout{background:var(--gray);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:12px;padding:20px 22px;margin:22px 0}
.callout p{margin:0;font-size:14.5px;color:var(--body)}

/* contato */
.contact-card{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:40px 34px;margin:26px 0;text-align:center;box-shadow:var(--shadow-card)}
.contact-card .lbl{font-family:var(--ff-head);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.contact-card .mail{font-family:var(--ff-head);font-size:22px;font-weight:700;letter-spacing:-.01em;color:var(--petro);margin:10px 0 24px;word-break:break-word}
.contact-card .btnrow{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ============================================================
   PÁGINAS DE ERRO
   ============================================================ */
.err{min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;text-align:center;padding:60px 30px;background:radial-gradient(120% 120% at 60% 30%,var(--azul) 0,var(--petro) 55%,#05161d 100%);color:#fff}
.err .code{font-family:var(--ff-head);font-size:clamp(80px,16vw,150px);font-weight:800;letter-spacing:-.03em;line-height:1;background:linear-gradient(120deg,#fff 30%,var(--gold));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.err h1{font-size:clamp(24px,3.4vw,34px);font-weight:700;margin-top:16px;color:#fff}
.err p{font-size:16px;color:#B7C7C9;margin-top:14px;max-width:440px;margin-left:auto;margin-right:auto;line-height:1.6}
.err .actions{justify-content:center;margin-top:32px}
.err .btn-ghost{color:#fff;border-color:rgba(255,255,255,.28)}
.err .btn-ghost:hover{border-color:var(--gold);color:var(--gold2);background:rgba(216,168,75,.08)}

/* ============================================================
   ACESSIBILIDADE
   ============================================================ */
a:focus-visible,.wa:focus-visible,.btn:focus-visible,.btn-ghost:focus-visible,button:focus-visible,.qa-head:focus-visible{outline:3px solid var(--gold-text);outline-offset:3px;border-radius:6px}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* ============================================================
   RESPONSIVO
   ============================================================ */
@media(max-width:1080px){
  .hero-copy{padding:40px 32px}
  .featg{grid-template-columns:1fr 1fr;row-gap:26px}
  .fi:nth-child(3){border-left:none;padding-left:0}
}
@media(max-width:920px){
  .menu{display:none}
  .menu.open{display:flex;position:absolute;top:80px;left:0;right:0;flex-direction:column;background:var(--bg);border-bottom:1px solid var(--line);padding:22px 36px;gap:18px;font-size:15.5px;box-shadow:0 20px 40px -24px rgba(8,42,53,.4)}
  .menu.open .menu-wa{display:block}
  .burger{display:flex}
  .hero{grid-template-columns:1fr}
  .hero-copy{padding:32px 22px 20px;max-width:100%;order:1}
  .hero-visual{order:2;transform:none;aspect-ratio:1426/1000;margin:0 20px;border-radius:28px}
  .hero-visual .globo{transform:none;max-width:100%}
  .hero-visual .fc{transform:none}
  .grid3,.steps{grid-template-columns:1fr}
  .grid4{grid-template-columns:repeat(2,1fr)}
  .cats{grid-template-columns:1fr 1fr}
  .catx{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .catx:nth-child(even){border-right:none}
  section{padding:48px 0}
  .shead h2{font-size:29px}.final h2{font-size:27px}
  .fcols{grid-template-columns:1fr 1fr;gap:32px}
  .fbrand{grid-column:1 / -1;max-width:100%}
}
@media(max-width:620px){
  .nav-right .wa{display:none}
  .nav{padding:0 20px}
  .featg{grid-template-columns:1fr;row-gap:22px}
  .fi{border-left:none;padding:0}
  .grid4,.cats{grid-template-columns:1fr}
  .catx:nth-child(odd){border-right:none}
  .fcols{grid-template-columns:1fr;gap:28px}
  .fbar{flex-direction:column;align-items:flex-start;gap:14px}
  .hero-visual .fc .r{font-size:13px}.hero-visual .fc{padding:7px 11px}
  .final .box{padding:40px 22px}
}

/* ---------- Widget de busca (Travelpayouts) ---------- */
.tp-widget{background:var(--gray);border:1px solid var(--line);border-radius:16px;padding:16px 18px;min-height:110px;box-shadow:var(--shadow-card)}
.tp-widget iframe{max-width:100%}
@media(max-width:620px){.tp-widget{padding:10px}}

/* ---------- CTA de Hotéis (Expedia/Hotels.com) ---------- */
.hotel-cta{background:linear-gradient(160deg,var(--petro) 0,var(--azul) 100%);border-radius:var(--radius-card);padding:34px 32px;box-shadow:var(--shadow-card)}
.hotel-cta-in{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.hotel-cta .hotel-ico{width:56px;height:56px;border-radius:14px;background:rgba(216,168,75,.14);display:flex;align-items:center;justify-content:center;flex:none}
.hotel-cta .hotel-ico svg{width:28px;height:28px;stroke:var(--gold);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hotel-cta .hotel-txt{flex:1;min-width:240px}
.hotel-cta h3{color:#fff;font-family:var(--ff-head);font-size:20px;font-weight:600;letter-spacing:-.01em}
.hotel-cta p{color:#B7C7C9;font-size:14.5px;margin-top:5px;line-height:1.55}
.hotel-cta .wa{flex:none}
@media(max-width:620px){.hotel-cta{padding:26px 20px}.hotel-cta .wa{width:100%}}

/* ============================================================
   RADAR NEWS
   ============================================================ */
.news-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:34px}
.news-head-txt h2{font-family:var(--ff-head);font-size:30px;font-weight:700;letter-spacing:-.02em;color:var(--petro)}
.news-head-txt p{font-size:15px;color:var(--ink);font-weight:400;margin-top:6px}
.news-all{flex:none}
.news-grid{align-items:stretch}
.ncard{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease);box-shadow:0 10px 30px -24px rgba(8,42,53,.22)}
.ncard:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 22px 44px -30px rgba(8,42,53,.3)}
.ncard-link{display:block;color:inherit}
.ncard-img{aspect-ratio:16/9;overflow:hidden;background:var(--gray)}
.ncard-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.ncard:hover .ncard-img img{transform:scale(1.04)}
.ncard-body{padding:24px 24px 22px}
.ncard-cat{font-family:var(--ff-head);font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.ncard-title{font-family:var(--ff-head);font-size:16.5px;font-weight:600;line-height:1.3;color:var(--petro);margin-top:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ncard-sum{font-size:14px;color:var(--ink);line-height:1.5;margin-top:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ncard-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.ncard-date{font-size:12.5px;color:var(--ink);font-weight:500}
.ncard-more{font-family:var(--ff-head);font-size:13px;font-weight:600;color:var(--gold)}
@media(max-width:620px){.news-head{flex-direction:column;align-items:flex-start;gap:10px}}

/* ---------- Aviso de transparência (afiliados) no rodapé ---------- */
.fnote{border-top:1px solid rgba(255,255,255,.1);margin-top:22px;padding-top:20px}
.fnote-text{font-size:12.5px;line-height:1.65;color:#8DA0A3;font-weight:400;max-width:900px}
.fnote-links{margin-top:14px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px}
.fnote-links a{color:#C7D2D4;font-weight:500;transition:color var(--ease)}
.fnote-links a:hover{color:var(--gold2)}
.fnote-links span{color:#4E6468}

/* ---------- Central de Ajuda / FAQ completa ---------- */
.faq-page{max-width:840px;margin:0 auto;padding:56px 30px 40px}
.faq-group{margin-top:40px}
.faq-group:first-child{margin-top:0}
.faq-group h2{font-family:var(--ff-head);font-size:21px;font-weight:700;letter-spacing:-.01em;color:var(--petro);margin-bottom:4px;padding-bottom:10px;border-bottom:2px solid var(--gold)}
.faq-help{margin-top:44px;padding-top:24px;border-top:1px solid var(--line);text-align:center}
.faq-help p{font-size:15px;color:var(--ink)}
.faq-help a{color:var(--gold);font-weight:600}

/* ============================================================
   Seletor de idioma (i18n)
   ============================================================ */
.langsel{position:relative;display:inline-block}
.lang-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--line);
  color:var(--petro);font-family:var(--ff-body,inherit);font-size:13.5px;font-weight:600;
  padding:7px 10px;border-radius:10px;cursor:pointer;line-height:1}
.lang-btn:hover{border-color:var(--gold)}
.lang-btn .flag{font-size:15px}
.lang-btn .caret{font-size:10px;color:var(--ink)}
.langsel .lang-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--bg);
  border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px rgba(8,42,53,.14);
  padding:6px;display:none;z-index:60}
.langsel.open .lang-menu{display:flex;gap:6px}
.lang-opt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  padding:9px 12px;border-radius:10px;min-width:56px;
  color:var(--petro);font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap;
  transition:background .18s ease}
.lang-opt:hover{background:#F3F5F7}
.lang-opt.active{background:rgba(216,168,75,.12);color:var(--gold);font-weight:700}
.lang-opt .flag{font-size:22px;line-height:1}
.lang-opt .lang-abbr{letter-spacing:.06em}
@media (max-width:860px){
  .lang-btn .lang-code{display:none}
  .langsel .lang-menu{right:auto;left:0}
}

/* ============================================================
   FASE 1 — Componentes padronizados (UI)
   ============================================================ */
/* Dropdown "Ferramentas" no menu */
.dropdown{position:relative;display:inline-block}
.drop-btn{display:inline-flex;align-items:center;gap:5px;background:none;border:0;cursor:pointer;
  font:inherit;color:inherit;padding:0}
.drop-btn .caret{font-size:10px;color:var(--ink)}
.dropdown .drop-menu{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);
  min-width:216px;background:var(--bg);border:1px solid var(--line);border-radius:14px;
  box-shadow:0 16px 40px rgba(8,42,53,.16);padding:8px;display:none;z-index:60}
.dropdown.open .drop-menu{display:block}
.drop-item{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:none;border:0;
  cursor:pointer;font:inherit;color:var(--petro);font-size:14.5px;font-weight:500;padding:10px 11px;
  border-radius:9px;text-decoration:none}
.drop-item:hover{background:#F3F5F7}
.drop-item .di-ico{font-size:16px;width:20px;text-align:center}

/* Botão-ícone (coração no header) */
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;
  border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--petro);cursor:pointer}
.icon-btn:hover{border-color:var(--gold);color:var(--gold)}
.icon-btn svg{width:19px;height:19px}

/* Selo "Em breve" */
.soon-badge{display:inline-block;vertical-align:middle;background:rgba(216,168,75,.16);color:#9a7420;
  font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;padding:3px 9px;
  border-radius:999px;margin-left:8px}
.soon-note{margin-top:24px;font-size:12.5px;color:var(--ink);text-align:center}

/* Coração de favorito nos cards */
.oc,.dest{position:relative}
.fav-btn{position:absolute;top:12px;right:12px;width:34px;height:34px;display:inline-flex;
  align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;
  background:var(--bg);color:var(--ink);cursor:pointer;z-index:3;transition:.15s}
.fav-btn svg{width:17px;height:17px}
.fav-btn:hover{border-color:var(--gold);color:var(--gold)}
.fav-btn.on{color:#e0554e;border-color:#e0554e}
.fav-btn.on svg{fill:#e0554e}
.dest .fav-btn{top:10px;right:10px}

/* ---------- Modais ---------- */
body.modal-lock{overflow:hidden}
.modal{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;
  padding:20px;background:rgba(6,32,43,.55);backdrop-filter:blur(2px)}
.modal[hidden]{display:none}
.modal-card{position:relative;width:100%;max-width:460px;max-height:90vh;overflow:auto;background:var(--bg);
  border-radius:18px;padding:26px 24px;box-shadow:0 24px 60px rgba(8,42,53,.3)}
.modal-x{position:absolute;top:12px;right:14px;background:none;border:0;font-size:26px;line-height:1;
  color:var(--ink);cursor:pointer}
.modal-head{display:flex;gap:13px;align-items:flex-start;margin-bottom:18px}
.modal-head .mk-ico{font-size:22px;line-height:1.4}
.modal-head h3{font-family:var(--ff-head,inherit);font-size:19px;color:var(--petro);margin:0 0 3px}
.modal-head p{font-size:13.5px;color:var(--ink);margin:0}

/* ---------- Formulários ---------- */
.form{display:flex;flex-direction:column;gap:15px}
.frow{display:flex;gap:13px}
.frow .field{flex:1}
.field{display:flex;flex-direction:column;gap:6px}
.field>span{font-size:12.5px;font-weight:600;color:var(--petro)}
.field input{border:1px solid var(--line);border-radius:10px;padding:11px 13px;font:inherit;font-size:14.5px;
  color:var(--petro);background:#fff;width:100%}
.field input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(216,168,75,.18)}
.field input::placeholder{color:#aab0b5}
.wa.full{width:100%;justify-content:center}
.form-note{font-size:12px;color:var(--ink);text-align:center;margin:2px 0 0}

/* Chips (radio/checkbox estilizados) */
.chips{display:flex;flex-wrap:wrap;gap:9px}
.chip{position:relative;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);
  border-radius:999px;padding:8px 14px;font-size:13.5px;font-weight:600;color:var(--petro);cursor:pointer}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip:has(input:checked){background:var(--petro);color:#fff;border-color:var(--petro)}

/* ---------- Favoritos (modal) ---------- */
.fav-list{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.fav-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);
  border-radius:12px;padding:13px 14px}
.fav-route{font-weight:700;color:var(--petro);font-size:14.5px}
.fav-meta{font-size:12.5px;color:var(--ink);margin-top:2px}
.fav-rm{background:none;border:0;color:var(--ink);cursor:pointer;padding:4px}
.fav-rm:hover{color:#e0554e}
.fav-rm svg{width:17px;height:17px}
.fav-empty{text-align:center;padding:18px 6px}
.fav-empty .empty-ico{font-size:30px;opacity:.4}
.fav-empty h4{margin:8px 0 4px;color:var(--petro)}
.fav-empty p{font-size:13.5px;color:var(--ink);margin:0 0 14px}

/* ---------- Ferramentas (páginas): wrap, painéis, stats, gráfico ---------- */
.tool-wrap{padding-top:48px;padding-bottom:64px}
@media(max-width:640px){.tool-wrap{padding-top:32px;padding-bottom:44px}}
.panel{background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:20px}
.route-picker .frow{align-items:flex-end}
.route-go{white-space:nowrap;height:44px}
.period-chips{margin-top:14px}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
.stat{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:16px}
.stat-l{font-size:12px;color:var(--ink);font-weight:600}
.stat-v{font-family:var(--ff-head,inherit);font-size:22px;font-weight:700;color:var(--petro);margin-top:4px}
.stat-v.trend-down{color:#2e9e6b;font-size:17px}
.chart-panel{padding:20px 20px 14px}
.price-chart{width:100%;height:200px;display:block}
.chart-cap{font-size:12px;color:var(--ink);text-align:center;margin:8px 0 0}
.insight{display:flex;gap:14px;align-items:flex-start;background:rgba(216,168,75,.08);
  border:1px solid rgba(216,168,75,.35);border-radius:16px;padding:20px}
.insight-ico{font-size:22px}
.insight h3{margin:0 0 5px;color:var(--petro);font-size:17px}
.insight p{margin:0 0 13px;font-size:14px;color:var(--ink)}

/* ---------- WhatsApp (landing + preferências) ---------- */
.wa-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;margin-bottom:20px}
.wa-benefits{display:flex;flex-direction:column;gap:14px}
.benefit{display:flex;gap:13px;align-items:flex-start;background:var(--bg);border:1px solid var(--line);
  border-radius:14px;padding:16px}
.benefit .b-ico{font-size:20px}
.benefit h3{margin:0 0 3px;font-size:16px;color:var(--petro)}
.benefit p{margin:0;font-size:13.5px;color:var(--ink)}
.wa-preview{background:#0b3b2e;border-radius:16px;padding:18px;display:flex;flex-direction:column}
.wa-preview-h{color:#cfe9dd;font-size:12px;font-weight:600;margin-bottom:12px;opacity:.85}
.wa-bubble{background:#dcf8c6;border-radius:12px;border-top-left-radius:2px;padding:13px 15px;
  align-self:flex-start;max-width:100%}
.wa-tag{font-size:12px;font-weight:700;color:#c0392b}
.wa-route{font-weight:800;color:#0b2a17;margin-top:3px}
.wa-price{color:#0b2a17;font-size:14px;margin-top:2px}
.wa-cta-mini{margin-top:8px;font-size:12.5px;font-weight:700;color:#0b6b3a}
.prefs{max-width:640px}
.prefs .form{max-width:none}

@media (max-width:760px){
  .frow{flex-direction:column}
  .stat-row{grid-template-columns:repeat(2,1fr)}
  .wa-grid{grid-template-columns:1fr}
}

/* Histórico — seletor + estado vazio + tendência up (Fase 4) */
.route-picker select{border:1px solid var(--line);border-radius:10px;padding:11px 13px;font:inherit;
  font-size:14.5px;color:var(--petro);background:#fff;width:100%}
.route-picker select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(216,168,75,.18)}
.stat-v.trend-up{color:#c0392b;font-size:17px}
.hist-empty{text-align:center;padding:30px 16px;border:1px dashed var(--line);border-radius:16px;margin-bottom:20px}
.hist-empty .empty-ico{font-size:30px;opacity:.4}
.hist-empty h4{margin:8px 0 4px;color:var(--petro)}
.hist-empty p{font-size:14px;color:var(--ink);margin:0}

/* Alertas — gerenciamento no modal (Fase 4) */
.alert-manage{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}
.alert-manage-h{font-family:var(--ff-head,inherit);font-size:15px;color:var(--petro);margin:0 0 12px}
.al-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);
  border-radius:12px;padding:11px 13px;margin-bottom:9px}
.al-route{font-weight:700;color:var(--petro);font-size:14px}
.al-meta{font-size:12px;color:var(--ink);margin-top:3px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.al-status{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px}
.al-status.active{background:rgba(46,158,107,.15);color:#2e9e6b}
.al-status.paused{background:#eef0f2;color:var(--ink)}
.al-status.matched{background:rgba(216,168,75,.18);color:#9a7420}
.al-actions{display:flex;gap:6px;flex-shrink:0}
.al-btn{width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:#fff;
  color:var(--petro);cursor:pointer;font-size:13px;line-height:1}
.al-btn:hover{border-color:var(--gold)}
.al-btn.al-del:hover{border-color:#e0554e;color:#e0554e}

/* Notificações — consentimento, erro e status de entrega (Fase 4) */
.consent{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--ink);line-height:1.4}
.consent input{margin-top:3px;flex-shrink:0}
.consent a{color:var(--gold);font-weight:600}
.form-err{color:#c0392b;font-size:12.5px;margin:0}
.al-deliv{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:999px}
.al-deliv.pending{background:#eef0f2;color:var(--ink)}
.al-deliv.sent{background:rgba(46,158,107,.15);color:#2e9e6b}
.al-deliv.failed{background:rgba(224,85,78,.15);color:#e0554e}
.al-deliv.skipped{background:#f3f0e6;color:#9a7420}

/* ---- Alerta: seletor de DDI (WhatsApp internacional) ---- */
.wa-phone{display:flex;gap:8px;align-items:stretch}
.wa-phone select[data-contact-ddi]{flex:0 0 auto;width:auto;min-width:96px;max-width:130px}
.wa-phone input[data-contact="whatsapp"]{flex:1 1 auto;min-width:0}
.field-hint{display:block;margin-top:4px;font-size:.78rem;color:#6b7280;line-height:1.35}

/* ---- Página WhatsApp: passos do "Personalize seus alertas" ---- */
.prefs-steps{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:12px}
.prefs-steps li{display:flex;align-items:center;gap:12px;font-size:.98rem;color:#1f2937}
.prefs-steps .ps-num{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:#0b3d2e;color:#fff;font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center}

/* ---- Alerta: rota por código IATA ---- */
.iata-row{align-items:center;gap:10px}
.iata-row input{flex:1 1 0;min-width:0;text-transform:uppercase;letter-spacing:.08em;font-weight:600;text-align:center}
.iata-row .iata-arrow{flex:0 0 auto;color:#0b3d2e;font-weight:700}
.route-toggle{background:none;border:0;padding:2px 0;margin:-6px 0 2px;color:#0b3d2e;font-size:.85rem;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.route-toggle:hover{opacity:.8}

/* ---- Fix: garantir que [hidden] realmente esconda (venci .field{display:flex}) ---- */
[hidden]{display:none !important}

/* ---- Cookie: botões Aceitar + Rejeitar (LGPD) ---- */
.cookie-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.cookie-btn{height:42px;padding:0 20px;font-size:13.5px;border-radius:10px;cursor:pointer}
.cookie-btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink);font-weight:600}
.cookie-btn.ghost:hover{background:#f3f5f6}


/* ============================================================
   PAINEL ADMINISTRATIVO (/painel) — mesma identidade Radar Viagens
   Fundo claro, cartões brancos, petróleo como base, dourado no destaque.
   ============================================================ */
.pn-body{background:linear-gradient(180deg,#FBFCFD 0%,var(--gray) 100%);min-height:100vh;color:var(--body)}

/* --- Cabeçalho (espelha o header do site) --- */
.pn-top{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.85);backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:box-shadow var(--ease)}
.pn-top.scrolled{box-shadow:0 6px 24px -18px rgba(8,42,53,.5)}
.pn-nav{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  max-width:1320px;margin:0 auto;padding:14px 30px}
.pn-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pn-status{display:inline-flex;align-items:center;gap:8px;font-family:var(--ff-head);font-size:11.5px;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;color:var(--petro);background:var(--gray);border:1px solid var(--line);
  padding:8px 14px;border-radius:999px}
.pn-status .dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.18);
  animation:pn-pulse 2s ease-in-out infinite}
@keyframes pn-pulse{0%,100%{box-shadow:0 0 0 3px rgba(34,197,94,.18)}50%{box-shadow:0 0 0 6px rgba(34,197,94,.06)}}
.pn-seg{display:inline-flex;background:var(--gray);border:1px solid var(--line);border-radius:999px;padding:3px}
.pn-seg button{font-family:var(--ff-head);font-size:12.5px;font-weight:600;color:var(--ink);background:none;border:0;
  padding:7px 15px;border-radius:999px;cursor:pointer;transition:all var(--ease)}
.pn-seg button.active{background:var(--petro);color:#fff;box-shadow:0 6px 14px -8px rgba(8,42,53,.6)}
.pn-refresh{font-family:var(--ff-head);display:inline-flex;align-items:center;gap:7px;background:transparent;
  color:var(--petro);border:1.5px solid var(--gold);border-radius:var(--radius-btn);height:42px;padding:0 16px;
  font-weight:600;font-size:13px;cursor:pointer;transition:all var(--ease)}
.pn-refresh:hover{background:rgba(216,168,75,.1);transform:translateY(-2px)}
.pn-refresh svg{width:15px;height:15px;stroke:var(--gold);fill:none;stroke-width:2}
.pn-refresh.spin svg{animation:pn-spin .7s linear infinite}
@keyframes pn-spin{to{transform:rotate(360deg)}}
.pn-back{font-family:var(--ff-head);font-size:13px;font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:6px;transition:color var(--ease)}
.pn-back:hover{color:var(--petro)}
.pn-admin{display:inline-flex;align-items:center;gap:8px}
.pn-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--petro),var(--azul));
  color:var(--gold2);display:flex;align-items:center;justify-content:center;font-family:var(--ff-head);font-weight:700;font-size:14px}

/* --- Conteúdo --- */
.pn-main{max-width:1320px;margin:0 auto;padding:28px 30px 70px}
.pn-sec{margin:0 0 40px;animation:pn-rise .5s cubic-bezier(.4,0,.2,1) both}
.pn-sec-head{margin-bottom:18px}
.pn-sec-head .kick{color:var(--gold)}
.pn-sec-head h2{font-family:var(--ff-head);color:var(--head);font-size:24px;line-height:1.15;font-weight:700;
  letter-spacing:-.02em;margin-top:6px}
@keyframes pn-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* --- Radar do Dia (hero executivo) --- */
.pn-hero{position:relative;overflow:hidden;border-radius:22px;background:linear-gradient(135deg,#082A35 0%,#0E3A4A 60%,#0b3446 100%);
  color:#fff;padding:26px 28px;box-shadow:0 40px 80px -44px rgba(8,42,53,.6)}
.pn-hero::after{content:"";position:absolute;top:-40%;right:-10%;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,rgba(216,168,75,.20) 0%,rgba(216,168,75,0) 70%);pointer-events:none}
.pn-hero-top{display:flex;align-items:center;gap:10px;margin-bottom:18px;position:relative;z-index:1}
.pn-hero-top .k{font-family:var(--ff-head);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold2)}
.pn-hero-top .date{margin-left:auto;font-size:12.5px;color:#bcd0d8}
.pn-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.pn-hero-item{background:rgba(255,255,255,.06);border:1px solid rgba(216,168,75,.22);border-radius:14px;padding:14px 16px;
  transition:transform var(--ease),background var(--ease)}
.pn-hero-item:hover{transform:translateY(-3px);background:rgba(255,255,255,.1)}
.pn-hero-item .ico{width:34px;height:34px;border-radius:10px;background:rgba(216,168,75,.16);display:flex;align-items:center;justify-content:center;margin-bottom:9px}
.pn-hero-item .ico svg{width:18px;height:18px;stroke:var(--gold2);fill:none;stroke-width:1.8}
.pn-hero-item .v{font-family:var(--ff-head);font-size:22px;font-weight:700;color:#fff;line-height:1}
.pn-hero-item .l{font-size:11.5px;color:#bcd0d8;margin-top:4px}

/* --- Cartões de indicador --- */
.pn-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(184px,1fr));gap:16px}
.pn-card{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-card);
  padding:20px;box-shadow:var(--shadow-card);transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease)}
.pn-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -30px rgba(8,42,53,.4);border-color:#d7dde2}
.pn-card .ico{width:44px;height:44px;border-radius:12px;background:rgba(8,42,53,.06);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.pn-card .ico svg{width:22px;height:22px;stroke:var(--petro);fill:none;stroke-width:1.8}
.pn-card.accent .ico{background:rgba(216,168,75,.16)}
.pn-card.accent .ico svg{stroke:var(--gold)}
.pn-card.accent::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:3px;background:linear-gradient(var(--gold),var(--gold2))}
.pn-card-v{font-family:var(--ff-head);font-size:30px;font-weight:700;color:var(--head);line-height:1;letter-spacing:-.02em}
.pn-card-l{font-size:12.5px;color:var(--ink);margin-top:7px;font-weight:500}
.pn-card-s{display:inline-block;font-size:11px;color:#2e9e6b;font-weight:700;margin-top:6px;background:rgba(46,158,107,.1);padding:2px 8px;border-radius:20px}

/* --- Painéis (blocos de gráfico/tabela) --- */
.pn-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.pn-grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.pn-panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-card);padding:20px 22px;
  box-shadow:var(--shadow-card)}
.pn-cards + .pn-grid2,.pn-cards + .pn-panel{margin-top:18px}
.pn-panel h3{font-family:var(--ff-head);font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gold);margin:0 0 14px;display:flex;align-items:center;gap:8px}
.pn-panel h3 svg{width:16px;height:16px;stroke:var(--gold);fill:none;stroke-width:1.8}
.pn-panel-head{font-size:13px;color:var(--ink);margin-bottom:12px}
.pn-panel-head b{color:var(--head);font-family:var(--ff-head)}
.pn-empty{font-size:13px;color:var(--ink);font-style:italic;margin:6px 0}

/* --- Barras --- */
.pn-bars{display:flex;flex-direction:column;gap:11px}
.pn-bar-row{display:grid;grid-template-columns:1fr 96px auto;align-items:center;gap:12px;font-size:13px}
.pn-bar-lbl{color:var(--body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}
.pn-bar-track{background:var(--gray);border-radius:8px;height:9px;overflow:hidden}
.pn-bar-fill{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold2));border-radius:8px;
  width:0;transition:width .9s cubic-bezier(.4,0,.2,1)}
.pn-bar-val{font-family:var(--ff-head);font-weight:700;color:var(--head);font-size:13px;min-width:40px;text-align:right}

/* --- Tabela --- */
.pn-table{width:100%;border-collapse:collapse;font-size:13px}
.pn-table th{text-align:left;font-family:var(--ff-head);color:var(--ink);font-weight:600;font-size:11px;letter-spacing:.05em;
  text-transform:uppercase;padding:8px 10px;border-bottom:2px solid var(--line)}
.pn-table td{padding:9px 10px;border-bottom:1px solid var(--line);color:var(--body)}
.pn-table tbody tr{transition:background var(--ease)}
.pn-table tbody tr:hover{background:var(--gray)}
.pn-table td:first-child{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--head)}

/* --- Badges de saúde --- */
.pn-badges{display:flex;flex-wrap:wrap;gap:9px}
.pn-badge{display:inline-flex;align-items:center;gap:7px;font-family:var(--ff-head);font-size:12px;font-weight:600;
  padding:7px 13px;border-radius:999px;border:1px solid var(--line);transition:transform var(--ease)}
.pn-badge:hover{transform:translateY(-2px)}
.pn-badge .d{width:7px;height:7px;border-radius:50%}
.pn-badge.on{background:#e9f9f0;color:#166534;border-color:#c3ecd2}
.pn-badge.on .d{background:#22c55e}
.pn-badge.off{background:var(--gray);color:#9aa1a8}
.pn-badge.off .d{background:#c2c8ce}
.pn-errs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.pn-errs li{font-size:12.5px;color:var(--body);border-bottom:1px dashed var(--line);padding-bottom:8px}
.pn-err-lvl{font-family:var(--ff-head);font-weight:700;font-size:10px;padding:2px 7px;border-radius:6px;margin-right:7px;letter-spacing:.03em}
.pn-err-lvl.WARNING{background:#fef3c7;color:#92600a}
.pn-err-lvl.ERROR,.pn-err-lvl.CRITICAL{background:#fee2e2;color:#991b1b}
.pn-err-t{color:var(--ink);font-size:11px;margin-right:6px}

/* --- Não configurado --- */
.pn-nc{border-style:dashed;text-align:center;background:linear-gradient(180deg,#fff,var(--gray))}
.pn-nc-badge{display:inline-flex;align-items:center;gap:7px;background:rgba(216,168,75,.14);color:#92600a;font-family:var(--ff-head);
  font-weight:700;font-size:12px;padding:5px 14px;border-radius:20px;margin-bottom:10px}
.pn-nc p{font-size:13px;color:var(--ink);margin:0;max-width:440px;margin-inline:auto}

@media(max-width:600px){
  .pn-nav{padding:12px 18px}
  .pn-main{padding:22px 18px 50px}
  .pn-bar-row{grid-template-columns:1fr 64px auto}
  .pn-card-v{font-size:26px}
}
@media (prefers-reduced-motion:reduce){.pn-sec{animation:none}.pn-bar-fill{transition:none}}

/* ============================================================
   PAINEL v3 — Sidebar colapsável + refinamentos SaaS premium
   ============================================================ */
.pn-shell{display:flex;min-height:100vh;background:linear-gradient(180deg,#FBFCFD 0%,var(--gray) 100%)}

/* --- Sidebar (petróleo, dourado no ativo) --- */
.pn-side{width:250px;flex:none;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;
  background:linear-gradient(180deg,#082A35 0%,#0b3140 100%);color:#cfdbe1;padding:18px 14px;gap:6px;
  transition:width var(--ease);z-index:60}
.pn-side-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 6px 14px;margin-bottom:8px;
  border-bottom:1px solid rgba(255,255,255,.08)}
.pn-logo{display:flex;align-items:center;gap:10px;min-width:0}
.pn-logo-sym{width:40px;height:40px;flex:none;display:flex;align-items:center;justify-content:center}
.pn-logo-sym img{width:100%;height:100%;object-fit:contain}
.pn-logo-wm{display:flex;flex-direction:column;line-height:1.05;white-space:nowrap;overflow:hidden}
.pn-logo-wm .r{font-family:var(--ff-head);font-size:16px;font-weight:700;letter-spacing:.12em;color:#fff}
.pn-logo-wm .v{font-family:var(--ff-head);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.pn-collapse{flex:none;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#cfdbe1;
  width:30px;height:30px;border-radius:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--ease)}
.pn-collapse:hover{background:rgba(255,255,255,.12)}
.pn-collapse svg{width:16px;height:16px;transition:transform var(--ease)}
.pn-navlist{display:flex;flex-direction:column;gap:3px;flex:1;overflow-y:auto}
.pn-navi{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:11px;color:#b9c8d0;
  font-family:var(--ff-head);font-size:13.5px;font-weight:500;cursor:pointer;transition:all var(--ease);white-space:nowrap;position:relative}
.pn-navi .ni-ic{flex:none;width:22px;height:22px;display:flex;align-items:center;justify-content:center}
.pn-navi .ni-ic svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8}
.pn-navi .ni-l{overflow:hidden;text-overflow:ellipsis}
.pn-navi:hover{background:rgba(255,255,255,.07);color:#fff}
.pn-navi.active{background:rgba(216,168,75,.14);color:#fff}
.pn-navi.active::before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:3px;background:linear-gradient(var(--gold),var(--gold2))}
.pn-navi.active .ni-ic svg{stroke:var(--gold2)}
.pn-navi-back{margin-top:8px;border-top:1px solid rgba(255,255,255,.08);border-radius:0 0 11px 11px;padding-top:14px}

/* Colapsado */
.pn-shell.collapsed .pn-side{width:74px}
.pn-shell.collapsed .pn-logo-wm,.pn-shell.collapsed .pn-navi .ni-l{opacity:0;width:0;pointer-events:none}
.pn-shell.collapsed .pn-side-top{justify-content:center}
.pn-shell.collapsed .pn-collapse svg{transform:rotate(180deg)}
.pn-shell.collapsed .pn-navi{justify-content:center;padding:11px 0}

.pn-side-scrim{display:none}

/* --- Área de conteúdo --- */
.pn-content{flex:1;min-width:0;display:flex;flex-direction:column}
.pn-top{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  background:rgba(251,252,253,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);padding:12px 26px;transition:box-shadow var(--ease)}
.pn-top.scrolled{box-shadow:0 6px 24px -18px rgba(8,42,53,.5)}
.pn-tools{margin-left:auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pn-burger{display:none;background:none;border:1px solid var(--line);border-radius:10px;width:40px;height:40px;
  cursor:pointer;align-items:center;justify-content:center;color:var(--petro)}
.pn-burger svg{width:20px;height:20px}
.pn-main{max-width:1200px;width:100%;margin:0 auto;padding:24px 26px 60px}
.pn-sec{margin:0 0 26px}
.pn-sec:last-child{margin-bottom:0}
.pn-sec-head{margin-bottom:14px}

/* --- Trend badges (indicadores de crescimento) --- */
.pn-trend{display:inline-flex;align-items:center;gap:3px;font-family:var(--ff-head);font-size:11px;font-weight:700;
  padding:2px 8px;border-radius:20px;margin-top:6px}
.pn-trend.up{background:rgba(34,197,94,.12);color:#15803d}
.pn-trend.down{background:rgba(214,69,69,.1);color:#c0392b}
.pn-trend.flat{background:var(--gray);color:var(--ink)}
.pn-card-foot{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}
.pn-vs{font-size:10.5px;color:var(--ink)}

/* --- Sparkline no Radar do Dia --- */
.pn-hero-spark{position:relative;z-index:1;margin-top:16px;background:rgba(255,255,255,.05);border:1px solid rgba(216,168,75,.18);
  border-radius:14px;padding:12px 16px}
.pn-hero-spark .sl{font-size:11px;color:#bcd0d8;margin-bottom:6px;font-family:var(--ff-head);letter-spacing:.04em}
.pn-hero-spark svg{width:100%;height:44px;display:block;overflow:visible}
.pn-hero-spark .ln{fill:none;stroke:var(--gold2);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pn-hero-spark .ar{fill:url(#pnspg)}
.pn-hero-spark .dt{fill:var(--gold2)}

/* --- Progress bars nos cartões (uso proporcional) --- */
.pn-prog{height:6px;background:var(--gray);border-radius:6px;overflow:hidden;margin-top:12px}
.pn-prog>span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold2));
  border-radius:6px;transition:width .9s cubic-bezier(.4,0,.2,1)}

/* --- Status states (Saúde do Sistema) --- */
.pn-badge.warn{background:#fef3c7;color:#92600a;border-color:#f5e0a3}
.pn-badge.warn .d{background:#f59e0b}
.pn-badge.error{background:#fee2e2;color:#991b1b;border-color:#f3c0c0}
.pn-badge.error .d{background:#ef4444}
.pn-health{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.pn-hitem{display:flex;align-items:center;gap:11px;background:var(--white);border:1px solid var(--line);
  border-radius:12px;padding:13px 15px;transition:transform var(--ease),box-shadow var(--ease)}
.pn-hitem:hover{transform:translateY(-2px);box-shadow:var(--shadow-card)}
.pn-hitem .hi-ic{width:34px;height:34px;border-radius:10px;flex:none;display:flex;align-items:center;justify-content:center}
.pn-hitem .hi-ic svg{width:18px;height:18px;fill:none;stroke-width:1.9}
.pn-hitem.online .hi-ic{background:rgba(34,197,94,.12)}.pn-hitem.online .hi-ic svg{stroke:#15803d}
.pn-hitem.offline .hi-ic{background:var(--gray)}.pn-hitem.offline .hi-ic svg{stroke:#9aa1a8}
.pn-hitem.warn .hi-ic{background:rgba(245,158,11,.14)}.pn-hitem.warn .hi-ic svg{stroke:#b45309}
.pn-hitem.error .hi-ic{background:rgba(239,68,68,.12)}.pn-hitem.error .hi-ic svg{stroke:#b91c1c}
.pn-hitem .hi-b{min-width:0}
.pn-hitem .hi-l{font-size:12.5px;color:var(--head);font-family:var(--ff-head);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pn-hitem .hi-s{font-size:11px;font-weight:700;margin-top:1px}
.pn-hitem.online .hi-s{color:#15803d}.pn-hitem.offline .hi-s{color:#9aa1a8}
.pn-hitem.warn .hi-s{color:#b45309}.pn-hitem.error .hi-s{color:#b91c1c}

/* --- Responsivo --- */
@media(max-width:980px){
  /* Drawer off-canvas: a barra lateral INTEIRA rola (não só a navlist), com
     altura de viewport dinâmica (dvh) p/ não ficar atrás da barra do navegador.
     Garante que Voltar/Sair no rodapé do menu sejam sempre acessíveis. */
  .pn-side{position:fixed;left:0;top:0;transform:translateX(-100%);box-shadow:0 30px 60px -20px rgba(8,42,53,.5);
    height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;
    overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:24px}
  .pn-navlist{flex:0 0 auto;overflow:visible}
  .pn-shell.side-open .pn-side{transform:none}
  .pn-shell.collapsed .pn-side{width:250px}
  .pn-shell.collapsed .pn-logo-wm,.pn-shell.collapsed .pn-navi .ni-l{opacity:1;width:auto}
  .pn-shell.side-open .pn-side-scrim{display:block;position:fixed;inset:0;background:rgba(8,42,53,.45);z-index:55}
  .pn-burger{display:flex}
  .pn-collapse{display:none}
  /* Alvos de toque confortáveis (≥44px) no menu do painel */
  .pn-navi{padding:13px 12px}
}
@media(max-width:600px){
  .pn-main{padding:18px 16px 46px}
  .pn-refresh-l{display:none}
  .pn-top{padding:10px 16px}
  /* Breadcrumb não empurra as ferramentas p/ fora da tela */
  .pn-crumb .c1,.pn-crumb .csep{display:none}
  .pn-crumb{flex:1;min-width:0}.pn-crumb .c2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  /* Hero e cabeçalhos mais compactos */
  .pn-hero{padding:22px 18px}
  .pn-hero-item .v{font-size:19px}
  /* Segmento de período: cabe na largura, toque confortável */
  .pn-seg{width:100%;justify-content:space-between}
  .pn-seg button{flex:1;padding:9px 6px}
  /* Tabelas: rolagem horizontal quando largas demais (não quebra o layout) */
  .pn-panel{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .pn-table{font-size:12.5px;min-width:max-content}
  .pn-table th,.pn-table td{padding:8px 8px}
  .pn-table td:first-child{max-width:150px}
  /* Cards do overview em 2 colunas confortáveis */
  .pn-cards{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
}

/* ---- Painel v4: modular SPA (view swap) ---- */
.pn-view{min-height:60vh}
.pn-viewin{animation:pn-rise .34s cubic-bezier(.4,0,.2,1) both}
.pn-viewin .pn-cards,.pn-viewin .pn-grid2,.pn-viewin .pn-grid3,.pn-viewin .pn-panel,.pn-viewin .pn-hero{margin-top:16px}
.pn-viewin .pn-sec-head + .pn-cards,.pn-viewin .pn-hero + *{margin-top:16px}
.pn-crumb{display:flex;align-items:center;gap:9px;font-family:var(--ff-head);font-size:14px;min-width:0}
.pn-crumb .c1{color:var(--ink);font-weight:500}
.pn-crumb .csep{color:var(--line)}
.pn-crumb .c2{color:var(--head);font-weight:700}
.pn-navsep{height:1px;background:rgba(255,255,255,.08);margin:10px 8px}
.pn-shell.collapsed .pn-navsep{margin:10px 12px}

/* ---- Painel v5: grupos de navegação + estado "soon" ---- */
.pn-navgrp{display:flex;flex-direction:column;gap:3px;margin-top:12px}
.pn-navgrp-l{font-family:var(--ff-head);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.38);padding:6px 12px 4px}
.pn-shell.collapsed .pn-navgrp-l{opacity:0;height:8px;padding:0;overflow:hidden}
.pn-hitem.soon{opacity:.75}
.pn-hitem.soon .hi-ic{background:rgba(216,168,75,.12)}
.pn-hitem.soon .hi-ic svg{stroke:var(--gold)}
.pn-hitem.soon .hi-s{color:var(--gold)}

/* ---- Resumo do Radar (abertura executiva da home) ---- */
.pn-resumo{display:flex;gap:16px;align-items:flex-start;background:var(--white);border:1px solid var(--line);
  border-left:4px solid var(--gold);border-radius:var(--radius-card);padding:18px 22px;margin-bottom:16px;box-shadow:var(--shadow-card)}
.pn-resumo-ic{flex:none;width:44px;height:44px;border-radius:12px;background:rgba(216,168,75,.14);display:flex;align-items:center;justify-content:center}
.pn-resumo-ic svg{width:22px;height:22px;stroke:var(--gold);fill:none;stroke-width:1.8}
.pn-resumo-b{min-width:0}
.pn-resumo-h{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:5px}
.pn-resumo-k{font-family:var(--ff-head);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.pn-resumo-greet{font-size:12px;color:var(--ink);text-transform:capitalize}
.pn-resumo-txt{font-size:15px;line-height:1.65;color:var(--head);font-weight:500;margin:0}
@media(max-width:600px){.pn-resumo{flex-direction:column;gap:10px}.pn-resumo-txt{font-size:14px}}

/* ---- Análise Inteligente (IA) — discreta e premium ---- */
.pn-ai{background:linear-gradient(180deg,#fff, #fbfbf7);border:1px solid var(--line);border-radius:var(--radius-card);
  padding:18px 22px;margin-bottom:16px;box-shadow:var(--shadow-card)}
.pn-ai-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.pn-ai-ic{width:42px;height:42px;flex:none;border-radius:12px;background:linear-gradient(135deg,#082A35,#0E3A4A);
  display:flex;align-items:center;justify-content:center}
.pn-ai-ic svg{width:22px;height:22px;stroke:var(--gold2)}
.pn-ai-t{font-family:var(--ff-head);font-size:15px;font-weight:700;color:var(--head);display:flex;align-items:center;gap:8px}
.pn-ai-badge{font-family:var(--ff-head);font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--petro);
  background:linear-gradient(135deg,var(--gold),var(--gold2));padding:2px 8px;border-radius:20px}
.pn-ai-s{font-size:12.5px;color:var(--ink);margin-top:2px}
.pn-ai-actions{display:flex;flex-wrap:wrap;gap:10px}
.pn-ai-btn{font-family:var(--ff-head);display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;
  border-radius:var(--radius-btn);padding:10px 16px;cursor:pointer;transition:all var(--ease);
  background:transparent;color:var(--petro);border:1.5px solid var(--line)}
.pn-ai-btn svg{width:16px;height:16px;stroke:var(--gold);fill:none}
.pn-ai-btn:hover{border-color:var(--gold);background:rgba(216,168,75,.08);transform:translateY(-2px)}
.pn-ai-btn.primary{background:var(--petro);color:#fff;border-color:var(--petro);box-shadow:0 10px 22px -12px rgba(8,42,53,.55)}
.pn-ai-btn.primary svg{stroke:var(--gold2)}
.pn-ai-btn.primary:hover{background:#061f27}
.pn-ai-btn:disabled{opacity:.55;cursor:default;transform:none}
.pn-ai-btn.loading svg{animation:pn-spin .8s linear infinite}
.pn-ai-out{margin-top:16px;border-top:1px solid var(--line);padding-top:16px;animation:pn-rise .3s both}
.pn-ai-loading{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:13.5px}
.pn-ai-loading svg{width:16px;height:16px;stroke:var(--gold);fill:none;animation:pn-spin .8s linear infinite}
.pn-ai-hint{font-size:13px;color:#92600a;background:#fef3c7;border-radius:10px;padding:12px 14px}
.pn-ai-res-h{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.pn-ai-res-t{font-family:var(--ff-head);font-size:13px;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.08em}
.pn-ai-tag{font-size:11px;font-weight:600;color:#15803d;background:rgba(34,197,94,.12);padding:3px 10px;border-radius:20px}
.pn-ai-tag.cache{color:var(--ink);background:var(--gray)}
.pn-ai-text{font-size:14.5px;line-height:1.65;color:var(--body)}
.pn-ai-text h4{font-family:var(--ff-head);font-size:13px;font-weight:700;color:var(--head);letter-spacing:.02em;margin:14px 0 6px}
.pn-ai-text h4:first-child{margin-top:0}
.pn-ai-text p{margin:0 0 8px}
.pn-ai-text p:last-child{margin-bottom:0}
.pn-ai-text strong{color:var(--head);font-weight:700}
.pn-ai-text ul{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:6px}
.pn-ai-text li{position:relative;padding-left:20px}
.pn-ai-text li::before{content:"";position:absolute;left:4px;top:9px;width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold2))}

/* ---- Centro de Inteligência: gráfico de linhas, insights, tempo real ---- */
.pn-chart{margin-top:4px}
.pn-legend{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:8px}
.pn-lg{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink);font-family:var(--ff-head);font-weight:600}
.pn-lg i{width:12px;height:3px;border-radius:3px;display:inline-block}
.pn-chart-svg{width:100%;height:auto;display:block;overflow:visible}
.pn-ins{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.pn-ins-item{background:var(--gray);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.pn-ins-l{font-size:11.5px;color:var(--ink);font-weight:500;margin-bottom:4px}
.pn-ins-v{font-family:var(--ff-head);font-size:18px;font-weight:700;color:var(--head);line-height:1.1;margin-bottom:6px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pn-rt{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pn-rt-dot{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.18);animation:pn-pulse 2s ease-in-out infinite}
.pn-rt-v{font-family:var(--ff-head);font-size:26px;font-weight:700;color:var(--head);line-height:1}
.pn-rt-l{font-size:13px;color:var(--ink)}
.pn-rt-c{font-size:12px;color:var(--ink);margin-left:auto}

/* ---- Core Web Vitals ---- */
.pn-cwv-top{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.pn-cwv-score{width:64px;height:64px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:conic-gradient(var(--c) calc(var(--c) * 0),var(--c),#eef1f3 0);position:relative;
  box-shadow:inset 0 0 0 6px #fff}
.pn-cwv-score{background:radial-gradient(closest-side,#fff 72%,transparent 73%),conic-gradient(var(--c) 100%,#eef1f3 0)}
.pn-cwv-score span{font-family:var(--ff-head);font-weight:700;font-size:20px;color:var(--c)}
.pn-cwv-sl{font-family:var(--ff-head);font-weight:700;font-size:13px;color:var(--head)}
.pn-cwv-src{font-size:11.5px;color:var(--ink);margin-top:2px}
.pn-cwv-m{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line)}
.pn-cwv-ml{font-size:13px;color:var(--body);font-weight:500}
.pn-cwv-mv{font-family:var(--ff-head);font-weight:700;font-size:14px;color:var(--head)}
.pn-cwv-rt{font-size:10.5px;font-weight:700;padding:2px 9px;border-radius:20px}
.pn-cwv-rt.good{background:#e9f9f0;color:#166534}
.pn-cwv-rt.ni{background:#fef3c7;color:#92600a}
.pn-cwv-rt.poor{background:#fee2e2;color:#991b1b}
.pn-cwv-rt.flat{background:var(--gray);color:var(--ink)}

/* ---- Tela de login do painel ---- */
.pn-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;
  background:linear-gradient(135deg,#082A35 0%,#0E3A4A 60%,#0b3446 100%)}
.pn-login-card{width:100%;max-width:380px;background:var(--white);border-radius:20px;padding:34px 30px;
  box-shadow:0 40px 90px -40px rgba(0,0,0,.6);display:flex;flex-direction:column;text-align:center}
.pn-login-logo{display:flex;align-items:center;justify-content:center;gap:11px;margin-bottom:18px}
.pn-login-logo .wm{display:flex;flex-direction:column;line-height:1.05;text-align:left}
.pn-login-logo .wm .r{font-family:var(--ff-head);font-size:18px;font-weight:700;letter-spacing:.12em;color:var(--petro)}
.pn-login-logo .wm .v{font-family:var(--ff-head);font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.pn-login-card h1{font-size:20px;font-weight:700;color:var(--head);margin:0}
.pn-login-sub{font-size:13px;color:var(--ink);margin:4px 0 20px}
.pn-login-err{background:#fee2e2;color:#991b1b;font-size:13px;font-weight:600;padding:10px 12px;border-radius:10px;margin:0 0 16px}
.pn-login-f{display:block;text-align:left;margin-bottom:14px}
.pn-login-f span{display:block;font-size:12.5px;font-weight:600;color:var(--head);margin-bottom:6px}
.pn-login-f input{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 14px;font:inherit;font-size:15px}
.pn-login-f input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(216,168,75,.18)}
.pn-login-card .wa.full{width:100%;margin-top:4px}
.pn-login-back{font-size:12.5px;color:var(--ink);margin-top:16px}
.pn-login-back:hover{color:var(--petro)}
.pn-navi-out .ni-ic svg{stroke:#e88}

/* ============================================================
   Painel — Visão Executiva (premium)
   ============================================================ */
.pn-ex-hero{position:relative;overflow:hidden;border-radius:24px;padding:26px 28px;margin-bottom:18px;
  background:radial-gradient(120% 140% at 100% 0%,#0E3A4A 0%,#082A35 55%,#06212b 100%);color:#eaf1f3;
  box-shadow:0 24px 60px -32px rgba(8,42,53,.6)}
.pn-ex-hero::after{content:"";position:absolute;top:-30%;right:-8%;width:360px;height:360px;border-radius:50%;
  background:radial-gradient(circle,rgba(216,168,75,.20),transparent 65%);pointer-events:none}
.pn-ex-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;position:relative;z-index:1;margin-bottom:20px}
.pn-ex-kick{font-family:var(--ff-head);font-size:19px;font-weight:700;letter-spacing:.01em;color:#fff}
.pn-ex-sub2{font-size:13px;color:#a7c0c7;margin-top:3px}
.pn-ex-date{font-size:12.5px;color:#bcd0d8;text-transform:capitalize;white-space:nowrap}
.pn-ex-tiles{position:relative;z-index:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.pn-ex-tile{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:18px 18px 16px;
  transition:transform var(--ease),background var(--ease),border-color var(--ease)}
.pn-ex-tile:hover{transform:translateY(-3px);background:rgba(255,255,255,.09);border-color:rgba(216,168,75,.35)}
.pn-ex-tile.gold{background:linear-gradient(150deg,rgba(216,168,75,.20),rgba(216,168,75,.05));border-color:rgba(216,168,75,.4)}
.pn-ex-ic{width:38px;height:38px;border-radius:11px;background:rgba(216,168,75,.16);display:flex;align-items:center;justify-content:center;margin-bottom:13px}
.pn-ex-ic svg{width:20px;height:20px;stroke:var(--gold2);fill:none;stroke-width:1.8}
.pn-ex-big{font-family:var(--ff-head);font-size:30px;font-weight:700;line-height:1;color:#fff;letter-spacing:-.01em}
.pn-ex-big span{font-family:inherit}
.pn-ex-l{font-size:12.5px;color:#bcd0d8;margin-top:8px;font-weight:500}
.pn-ex-sub{font-size:11.5px;color:#8fa9b1;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pn-ex-tile.gold .pn-ex-big{color:var(--gold2)}

/* Melhor barganha */
.pn-ex-deal{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(120deg,#fbf6ec,#fff);margin-bottom:12px}
.pn-ex-deal-k{font-family:var(--ff-head);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.pn-ex-deal-r{font-family:var(--ff-head);font-size:18px;font-weight:700;color:var(--head);margin-top:3px}
.pn-ex-deal-p{display:flex;align-items:baseline;gap:12px}
.pn-ex-deal-p .now{font-family:var(--ff-head);font-size:26px;font-weight:800;color:var(--head)}
.pn-ex-deal-p .was{font-size:14px;color:var(--ink);text-decoration:line-through}
.pn-ex-drop{display:inline-flex;align-items:center;gap:4px;font-family:var(--ff-head);font-size:13px;font-weight:700;
  color:#15803d;background:#e9f9f0;border:1px solid #c3ecd2;border-radius:999px;padding:4px 11px}
.pn-ex-drop.sm{font-size:11.5px;padding:2px 8px}

/* Destinos em alta */
.pn-ex-drow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 2px;border-bottom:1px solid var(--line)}
.pn-ex-drow:last-child{border-bottom:0}
.pn-ex-drow .d{font-size:14px;font-weight:500;color:var(--body)}
.pn-ex-drow .v{font-family:var(--ff-head);font-size:13px;font-weight:700}
.pn-ex-drow .v.down{color:#15803d}.pn-ex-drow .v.up{color:#c0392b}
.pn-ex-tbl td b{color:var(--head);font-family:var(--ff-head)}

/* Refinamento geral premium: mais respiro + cantos maiores */
.pn-main{padding:30px 30px 64px}
.pn-panel{border-radius:18px;padding:22px 24px}
.pn-cards{gap:18px}
@media(max-width:600px){
  .pn-ex-hero{padding:20px 18px;border-radius:20px}
  .pn-ex-big{font-size:26px}
  .pn-ex-hero-top{flex-direction:column;gap:6px}
  .pn-ex-date{order:-1}
}

/* ============================================================
   Painel — Radar Intelligence
   ============================================================ */
.pn-ri-ins{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.pn-ri-icard{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);
  border-radius:14px;background:linear-gradient(120deg,#fbfaf6,#fff)}
.pn-ri-icard .ic{flex:none;width:34px;height:34px;border-radius:10px;background:rgba(216,168,75,.14);
  display:flex;align-items:center;justify-content:center}
.pn-ri-icard .ic svg{width:18px;height:18px;stroke:var(--gold);fill:none;stroke-width:1.8}
.pn-ri-icard p{margin:0;font-size:13.5px;line-height:1.5;color:var(--body)}
.pn-ri-rank{display:flex;flex-direction:column}
.pn-ri-rrow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 2px;border-bottom:1px solid var(--line)}
.pn-ri-rrow:last-child{border-bottom:0}
.pn-ri-rrow .r{font-size:13.5px;color:var(--body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pn-ri-rrow .v{font-family:var(--ff-head);font-size:13px;font-weight:700;color:var(--head);white-space:nowrap}
.pn-ri-rrow .v b{color:var(--head)}

/* Recomendação (badge) */
.pn-rec{display:inline-block;font-family:var(--ff-head);font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap}
.pn-rec.buy{background:#e9f9f0;color:#15803d;border:1px solid #c3ecd2}
.pn-rec.good{background:#eef7ee;color:#3f7d20;border:1px solid #d3e8c8}
.pn-rec.wait{background:#fdecec;color:#c0392b;border:1px solid #f3c9c9}
.pn-rec.watch{background:#fff4e2;color:#b45309;border:1px solid #f3ddb4}
.pn-rec.flat{background:var(--gray);color:var(--ink);border:1px solid var(--line)}

/* Sazonalidade (mini gráfico de barras) */
.pn-sz{display:flex;align-items:flex-end;gap:6px;height:120px;padding:8px 2px 0}
.pn-sz-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:6px}
.pn-sz-bar{width:70%;max-width:26px;border-radius:6px 6px 0 0;background:linear-gradient(180deg,#9fb4bb,#7a929b);transition:height .8s cubic-bezier(.4,0,.2,1)}
.pn-sz-col.best .pn-sz-bar{background:linear-gradient(180deg,var(--gold2),var(--gold))}
.pn-sz-m{font-size:10.5px;color:var(--ink);font-weight:600}
.pn-sz-cap{margin-top:12px;font-size:13px;color:var(--body)}
.pn-sz-cap b{color:var(--gold);font-family:var(--ff-head)}
.pn-ri-tbl td b{color:var(--head);font-family:var(--ff-head)}

/* ============================================================
   Painel — Visão rica por rota (modal)
   ============================================================ */
.pn-rrow{cursor:pointer;transition:background var(--ease)}
.pn-rrow:hover{background:var(--gray)}
.pn-rrow td:first-child{position:relative}
.pn-rrow:hover td:first-child{color:var(--gold)}
body.pn-rm-lock{overflow:hidden}
.pn-rmodal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}
.pn-rmodal[hidden]{display:none}
.pn-rmodal-scrim{position:absolute;inset:0;background:rgba(8,42,53,.5);backdrop-filter:blur(3px)}
.pn-rmodal-card{position:relative;width:100%;max-width:760px;max-height:90vh;max-height:90dvh;overflow:auto;
  background:var(--bg);border-radius:22px;padding:26px 26px 22px;box-shadow:0 40px 90px -30px rgba(8,42,53,.6);
  animation:pn-rise .3s cubic-bezier(.4,0,.2,1) both}
.pn-rmodal-x{position:absolute;top:14px;right:16px;background:none;border:0;font-size:26px;line-height:1;color:var(--ink);cursor:pointer;z-index:2}
.pn-rmodal-x:hover{color:var(--head)}
.pn-rm-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px;padding-right:30px}
.pn-rm-rota{font-family:var(--ff-head);font-size:22px;font-weight:700;color:var(--head)}
.pn-rm-sub{font-size:12.5px;color:var(--ink);margin-top:2px}
.pn-rm-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin-bottom:18px}
.pn-rm-tile{background:var(--gray);border:1px solid var(--line);border-radius:14px;padding:14px}
.pn-rm-v{font-family:var(--ff-head);font-size:20px;font-weight:700;color:var(--head);line-height:1}
.pn-rm-l{font-size:11.5px;color:var(--ink);margin-top:6px}
.pn-rm-s{font-size:11px;margin-top:4px}
.pn-rm-s .down{color:#15803d}.pn-rm-s .up{color:#c0392b}
@media(max-width:600px){
  .pn-rmodal{padding:0}
  .pn-rmodal-card{max-width:100%;max-height:100dvh;border-radius:0;padding:22px 16px}
  .pn-rm-rota{font-size:19px}
}

/* WhatsApp panel bits */
.pn-status.off{color:#9aa1a8}.pn-status.off .dot{background:#c0392b}
.pn-hint-line{font-size:12.5px;color:var(--ink);background:var(--gray);border:1px solid var(--line);
  border-radius:10px;padding:10px 14px;margin:0 0 14px}

/* ============================================================
   Calculadora de Milhas (/calculadora-de-milhas)
   ============================================================ */
.mi-calc{display:grid;grid-template-columns:1.05fr 1fr;gap:22px;margin:8px 0 40px}
.mi-form{background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow-card)}
.mi-form .field{margin-bottom:14px}
.mi-personal-toggle{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--petro);font-weight:500;cursor:pointer;margin:4px 0 12px}
.mi-personal-toggle input{width:16px;height:16px;accent-color:var(--gold)}
.mi-result{background:linear-gradient(150deg,#082A35,#0E3A4A);color:#eaf1f3;border-radius:18px;padding:26px 24px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 20px 44px -26px rgba(8,42,53,.55)}
.mi-r-empty{color:#bcd0d8;font-size:14px}
.mi-r-label{font-size:12.5px;color:#a7c0c7;font-family:var(--ff-head);letter-spacing:.02em}
.mi-r-val{font-family:var(--ff-head);font-size:40px;font-weight:800;color:#fff;line-height:1.05;margin-top:4px}
.mi-r-per{font-size:15px;color:#bcd0d8;font-weight:600}
.mi-verdict{display:inline-flex;align-items:center;gap:8px;font-family:var(--ff-head);font-weight:700;font-size:15px;padding:9px 15px;border-radius:999px;margin-top:16px;align-self:flex-start}
.mi-verdict.good{background:#e9f9f0;color:#15803d}
.mi-verdict.mid{background:#fff4e2;color:#b45309}
.mi-verdict.bad{background:#fee2e2;color:#c0392b}
.mi-r-expl{font-size:12.5px;color:#bcd0d8;margin-top:14px;line-height:1.55}
/* Como funciona */
.mi-how{margin-bottom:40px}
.mi-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}
.mi-step{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:18px}
.mi-step h3{font-family:var(--ff-head);font-size:15px;color:var(--gold);margin:0 0 7px}
.mi-step p{font-size:13.5px;color:var(--body);margin:0;line-height:1.55}
.mi-ex{background:#fbf6ec;border:1px solid #eadbba;border-radius:12px;padding:14px 16px;font-size:13.5px;color:var(--petro);margin-bottom:14px}
.mi-note{font-size:12.5px;color:var(--ink);font-style:italic;margin:0 0 8px}
.mi-disc{font-size:12px;color:var(--ink);margin:0}
@media(max-width:820px){
  .mi-calc{grid-template-columns:1fr}
  .mi-steps{grid-template-columns:1fr}
  .mi-r-val{font-size:34px}
}

/* Ofertas — inteligência "quando comprar" (home) */
.oc-intel{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:2px 0 12px}
.oc-badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--ff-head);font-size:12px;font-weight:700;padding:4px 11px;border-radius:999px}
.oc-badge.buy{background:#e9f9f0;color:#15803d;border:1px solid #c3ecd2}
.oc-badge.good{background:#eef7ee;color:#3f7d20;border:1px solid #d3e8c8}
.oc-badge.wait{background:#fff4e2;color:#b45309;border:1px solid #f3ddb4}
.oc-media{font-size:11.5px;color:#15803d;font-weight:600}

/* ============================================================
   Radar Milhas — HUB (módulo)
   ============================================================ */
.rm-hero{background:radial-gradient(120% 140% at 100% 0%,#0E3A4A 0%,#082A35 55%,#06212b 100%);color:#eaf1f3;padding:56px 0 48px}
.rm-hero .crumb{font-size:12.5px;color:#8fa9b1;margin-bottom:14px}
.rm-hero .crumb a{color:#bcd0d8;text-decoration:none}
.rm-hero .kick{color:var(--gold)}
.rm-hero h1{font-family:var(--ff-head);font-size:clamp(28px,4.4vw,44px);font-weight:800;color:#fff;line-height:1.12;margin:8px 0 12px;max-width:14ch}
.rm-hero p{font-size:16px;color:#c7d5da;max-width:640px;margin:0}
.rm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.rm-card{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:24px;
  text-decoration:none;color:inherit;box-shadow:0 12px 30px -22px rgba(8,42,53,.22);transition:transform .2s,box-shadow .2s,border-color .2s;position:relative}
.rm-card:not(.is-soon):hover{transform:translateY(-4px);box-shadow:0 22px 44px -22px rgba(8,42,53,.34);border-color:var(--gold)}
.rm-ic{width:52px;height:52px;border-radius:14px;background:linear-gradient(150deg,rgba(216,168,75,.18),rgba(216,168,75,.06));
  display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:16px}
.rm-card h3{font-family:var(--ff-head);font-size:18px;color:var(--head);margin:0 0 8px}
.rm-card p{font-size:13.5px;color:var(--ink);line-height:1.55;margin:0 0 16px;flex:1}
.rm-status{font-family:var(--ff-head);font-size:12px;font-weight:700;align-self:flex-start}
.rm-status.ok{color:var(--gold)}
.rm-status.soon{color:var(--ink);background:var(--gray);border:1px solid var(--line);padding:4px 11px;border-radius:999px}
.rm-card.is-soon{opacity:.82}
.rm-card.is-soon .rm-ic{filter:grayscale(.3)}
.rm-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:34px 0 46px;
  background:linear-gradient(120deg,#fbf6ec,#fff);border:1px solid #eadbba;border-radius:18px;padding:26px 28px}
.rm-cta h2{font-family:var(--ff-head);font-size:20px;color:var(--head);margin:0 0 4px}
.rm-cta p{font-size:14px;color:var(--ink);margin:0}
.menu-milhas{color:var(--gold)!important;font-weight:700}
@media(max-width:620px){.rm-grid{grid-template-columns:1fr}.rm-cta{flex-direction:column;align-items:flex-start}}

/* Radar Milhas — páginas em construção + linkagem interna */
.rm-soon{text-align:center;background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:44px 24px;margin:8px 0 26px;box-shadow:var(--shadow-card)}
.rm-soon-ic{font-size:40px;margin-bottom:12px}
.rm-soon h2{font-family:var(--ff-head);font-size:22px;color:var(--head);margin:0 0 8px}
.rm-soon p{font-size:14.5px;color:var(--ink);max-width:520px;margin:0 auto 20px;line-height:1.6}
.rm-explore{margin:8px 0 6px}
.rm-explore .kick{margin-bottom:10px}
.rm-explore-links{display:flex;flex-wrap:wrap;gap:10px}
.rm-explore-links a{display:inline-flex;align-items:center;gap:6px;background:var(--gray);border:1px solid var(--line);
  border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;color:var(--petro);text-decoration:none;transition:all var(--ease)}
.rm-explore-links a:hover{border-color:var(--gold);background:#fffdf8;transform:translateY(-2px)}

/* ============================================================
   Radar Milhas — Promoções de Transferência (Fase A)
   ============================================================ */
.pt-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:6px 0 22px}
.pt-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pt-search{width:min(340px,80vw);border:1px solid var(--line);border-radius:12px;padding:11px 14px;font-size:14px;
  background:var(--bg);color:var(--head);font-family:inherit}
.pt-search:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(199,161,74,.16)}
.pt-min{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--ink);font-weight:600}
.pt-min select{border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:13.5px;background:var(--bg);color:var(--head);font-family:inherit;cursor:pointer}
.pt-count{font-family:var(--ff-head);font-size:13px;font-weight:700;color:var(--petro);background:var(--gray);border:1px solid var(--line);border-radius:999px;padding:6px 14px}
.pt-section{margin:0 0 30px}
.pt-h{font-family:var(--ff-head);font-size:18px;color:var(--head);margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.pt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:18px}
.pt-card{position:relative;display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line);border-radius:18px;
  padding:22px;box-shadow:var(--shadow-card);transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease)}
.pt-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -22px rgba(8,42,53,.34);border-color:var(--gold)}
.pt-card.is-featured{border-color:#eadbba;background:linear-gradient(160deg,#fbf6ec,#fff 60%)}
.pt-top{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.pt-tag{font-family:var(--ff-head);font-size:10.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
  color:var(--petro);background:var(--gray);border:1px solid var(--line);border-radius:999px;padding:4px 10px}
.pt-flag{font-family:var(--ff-head);font-size:10.5px;font-weight:700;color:#8a6d1f;background:#fbefd0;border:1px solid #eadbba;border-radius:999px;padding:4px 10px}
.pt-bonus{font-family:var(--ff-head);font-size:30px;font-weight:800;color:var(--gold);line-height:1;display:block;margin-bottom:12px}
.pt-bonus small{font-family:var(--ff-body);font-size:12.5px;font-weight:600;color:var(--ink);letter-spacing:0}
.pt-route{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.pt-prog{font-family:var(--ff-head);font-size:15px;font-weight:700;color:var(--head)}
.pt-arrow{color:var(--gold);font-weight:800}
/* G8 — programa como link para o miniportal (notícias, vitrine, calendário) */
a.pt-proglink{color:var(--head);text-decoration:none;border-bottom:1px dashed var(--gold);transition:color .15s}
a.pt-proglink:hover,a.nw-proglink:hover strong,a.rc-di-proglink:hover strong{color:var(--gold)}
a.nw-proglink,a.rc-di-proglink{color:inherit;text-decoration:none;border-bottom:1px dashed var(--gold)}
a.nw-proglink strong,a.rc-di-proglink strong{transition:color .15s}
.pt-desc{font-size:13px;color:var(--ink);line-height:1.55;margin:0 0 14px;flex:1}
.pt-time{font-family:var(--ff-head);font-size:13.5px;font-weight:700;color:var(--petro);background:var(--gray);
  border:1px solid var(--line);border-radius:10px;padding:9px 12px;margin:auto 0 14px;text-align:center}
.pt-time .pt-cd-label{font-weight:600;color:var(--ink);font-family:var(--ff-body);font-size:12px}
.pt-time.urgent{color:#b23b3b;background:#fdeeee;border-color:#f3caca}
.pt-time.perm{color:var(--ink);background:transparent;border-style:dashed}
.pt-time.ended{color:var(--ink);background:transparent;font-weight:600}
.pt-cta{display:inline-block;text-align:center;background:var(--gold);color:#1a1305;font-family:var(--ff-head);font-weight:700;
  font-size:14px;border-radius:12px;padding:11px 16px;text-decoration:none;transition:filter var(--ease),transform var(--ease)}
.pt-cta:hover{filter:brightness(1.05);transform:translateY(-1px)}
.pt-card.is-ended{opacity:.86;box-shadow:none}
.pt-card.is-ended:hover{transform:none;border-color:var(--line);box-shadow:none}
.pt-card.is-ended .pt-bonus{color:var(--ink)}
.pt-grid-ended{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.pt-empty{background:var(--gray);border:1px dashed var(--line);border-radius:16px;padding:30px 24px;text-align:center;
  color:var(--ink);font-size:14px;line-height:1.6}
@media(max-width:620px){.pt-grid{grid-template-columns:1fr}.pt-bar{flex-direction:column;align-items:stretch}}

/* ============================================================
   Painel — Módulo Promoções de Transferência (Fase A)
   ============================================================ */
.pr-form{display:flex;flex-direction:column;gap:14px}
.pr-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.pr-field{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;color:var(--ink)}
.pr-field input,.pr-field select,.pr-field textarea{border:1px solid var(--line);border-radius:10px;padding:10px 12px;
  font-size:14px;font-family:inherit;color:var(--head);background:var(--bg);font-weight:500}
.pr-field textarea{resize:vertical;min-height:44px}
.pr-field input:focus,.pr-field select:focus,.pr-field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(199,161,74,.16)}
.pr-check{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--head);cursor:pointer}
.pr-check input{width:16px;height:16px;accent-color:var(--gold)}
.pr-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px}
.pn-btn-primary{font-family:var(--ff-head);background:var(--petro);color:#fff;border:none;border-radius:12px;
  padding:11px 22px;font-size:14px;font-weight:700;cursor:pointer;transition:filter var(--ease),transform var(--ease)}
.pn-btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px)}
.pn-btn-primary:disabled{opacity:.6;cursor:default;transform:none}
.pn-btn-ghost{font-family:var(--ff-head);background:transparent;color:var(--petro);border:1.5px solid var(--line);
  border-radius:12px;padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:all var(--ease)}
.pn-btn-ghost:hover{border-color:var(--gold)}
.pr-msg{font-size:13px;font-weight:600;color:var(--petro)}
.pr-table-wrap{overflow-x:auto}
.pr-table{width:100%;border-collapse:collapse;font-size:13.5px}
.pr-table th{text-align:left;font-family:var(--ff-head);font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;
  color:var(--ink);padding:10px 12px;border-bottom:2px solid var(--line);white-space:nowrap}
.pr-table td{padding:12px;border-bottom:1px solid var(--line);color:var(--head);vertical-align:middle}
.pr-table tr:hover td{background:var(--gray)}
.pr-rt-sub{font-size:12px;color:var(--ink);font-weight:500;margin-top:2px}
.pr-bonus-c{font-family:var(--ff-head);font-weight:800;color:var(--gold);white-space:nowrap}
.pr-badge{font-family:var(--ff-head);font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap}
.pr-badge.ok{color:#1c6b3f;background:#e5f5ec;border:1px solid #bfe6cf}
.pr-badge.ended{color:var(--ink);background:var(--gray);border:1px solid var(--line)}
.pr-badge.draft{color:#8a6d1f;background:#fbefd0;border:1px solid #eadbba}
.pr-acts{white-space:nowrap}
.pr-mini{font-family:var(--ff-head);font-size:12px;font-weight:700;border:1px solid var(--line);background:var(--bg);
  color:var(--petro);border-radius:8px;padding:6px 12px;cursor:pointer;margin-right:6px;transition:all var(--ease)}
.pr-mini:hover{border-color:var(--gold)}
.pr-mini.danger{color:#b23b3b}
.pr-mini.danger:hover{border-color:#e0a3a3;background:#fdeeee}
.pr-mini.armed{background:#b23b3b;color:#fff;border-color:#b23b3b}

/* ============================================================
   Radar Milhas — Histórico de Bônus + Calendário (Fase B)
   ============================================================ */
.rh-bar{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin:6px 0 20px}
.rh-pick{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;color:var(--ink)}
.rh-pick select{border:1px solid var(--line);border-radius:12px;padding:11px 14px;font-size:14px;font-family:inherit;
  color:var(--head);background:var(--bg);min-width:min(320px,80vw);cursor:pointer}
.rh-pick select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(199,161,74,.16)}
.rh-clear{height:44px;padding:0 18px;font-size:13px}
.rh-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin:0 0 26px}
.rh-stat{background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:20px;text-align:center;box-shadow:var(--shadow-card)}
.rh-stat-v{font-family:var(--ff-head);font-size:28px;font-weight:800;color:var(--gold);line-height:1}
.rh-stat:first-child .rh-stat-v{color:var(--gold)}
.rh-stat-l{font-size:12.5px;color:var(--ink);margin-top:8px;font-weight:600}

/* Inteligência: veredito de bom momento */
.rh-verdict{background:linear-gradient(120deg,#082A35,#0E3A4A);color:#eaf1f3;border-radius:18px;padding:22px 24px;margin:0 0 26px;box-shadow:0 20px 44px -26px rgba(8,42,53,.55)}
.rh-vd-h{font-family:var(--ff-head);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--gold);margin-bottom:8px}
.rh-vd-msg{font-family:var(--ff-head);font-size:19px;font-weight:600;line-height:1.4;margin:0 0 8px;color:#fff}
.rh-vd-hint{font-size:13px;color:#bcd0d8;margin:0;line-height:1.5}

/* Gráfico de barras da evolução dos bônus */
.rh-chart{margin:6px 0 10px}
.rh-bars{display:flex;align-items:flex-end;gap:10px;height:180px;padding:10px 4px 0;overflow-x:auto}
.rh-bar-col{flex:1 0 26px;min-width:26px;height:100%;display:flex;align-items:flex-end;justify-content:center}
.rh-bar-fill{width:100%;max-width:46px;background:linear-gradient(180deg,#e4c05a,#c7a14a);border-radius:8px 8px 0 0;position:relative;display:flex;justify-content:center;transition:filter var(--ease)}
.rh-bar-fill.active{background:linear-gradient(180deg,#1f7a63,#0e5a48)}
.rh-bar-fill:hover{filter:brightness(1.08)}
.rh-bar-v{position:absolute;top:-18px;font-family:var(--ff-head);font-size:11px;font-weight:800;color:var(--head);white-space:nowrap}
.rh-bar-fill.active .rh-bar-v{color:#0e5a48}

.rc-summary{display:flex;gap:16px;flex-wrap:wrap;margin:0 0 22px}
.rc-sum-item{flex:1;min-width:180px;background:linear-gradient(120deg,#fbf6ec,#fff);border:1px solid #eadbba;border-radius:16px;padding:20px 22px;display:flex;flex-direction:column;gap:4px}
.rc-sum-v{font-family:var(--ff-head);font-size:26px;font-weight:800;color:var(--head);line-height:1.1}
.rc-sum-l{font-size:12.5px;color:var(--ink);font-weight:600}
.rc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:0 0 14px}
.rc-cell{border:1px solid var(--line);border-radius:14px;padding:16px;background:var(--bg);text-align:center;transition:transform var(--ease),box-shadow var(--ease)}
.rc-cell:hover{transform:translateY(-3px)}
.rc-cell.rc-click{cursor:pointer}
.rc-cell.rc-click:hover{box-shadow:0 10px 26px -16px rgba(8,42,53,.4)}
.rc-cell.is-open{box-shadow:0 0 0 2px var(--gold)}
/* Detalhe do mês (ao clicar): campanhas com fonte + link */
.rc-detail{border:1px solid var(--line);border-radius:18px;background:var(--white);padding:20px 22px;margin:4px 0 24px;box-shadow:var(--shadow-card)}
.rc-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.rc-detail-head h3{font-family:var(--ff-head);font-size:18px;color:var(--head);margin:0}
.rc-detail-x{border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:7px 12px;font-size:12.5px;font-weight:600;color:var(--ink);cursor:pointer}
.rc-detail-x:hover{border-color:var(--gold)}
.rc-detail-list{display:flex;flex-direction:column;gap:12px}
.rc-di{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.rc-di-bonus{font-family:var(--ff-head);font-size:20px;font-weight:800;color:var(--gold);flex-shrink:0;line-height:1.1}
.rc-di-route{font-size:14.5px;color:var(--head)}
.rc-di-title{font-size:13px;color:var(--ink);margin-top:2px}
.rc-di-desc{font-size:13px;color:var(--ink);line-height:1.55;margin-top:5px}
.rc-di-meta{font-size:12.5px;color:var(--muted,#7c8a90);margin-top:8px;display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.rc-di-src{color:var(--ink);font-weight:600}
.rc-di-link{color:var(--petro);font-weight:700;text-decoration:none}
.rc-di-link:hover{text-decoration:underline}
.rc-di-dot{opacity:.5}
.rc-m{font-family:var(--ff-head);font-size:14px;font-weight:700;color:var(--head);margin-bottom:8px}
.rc-c{font-family:var(--ff-head);font-size:18px;font-weight:800;color:var(--petro)}
.rc-c.rc-zero{color:var(--line);font-weight:600}
.rc-a{font-size:11.5px;color:var(--ink);margin-top:3px;font-weight:600}
.rc-cell.t1{background:#fbf4e4}
.rc-cell.t2{background:#f6e8c6;border-color:#eadbba}
.rc-cell.t3{background:#efd79b;border-color:#e2c470}
.rc-cell.t4{background:#e4c05a;border-color:#d3aa3c}
.rc-cell.t3 .rc-c,.rc-cell.t4 .rc-c{color:#5a4410}
.rc-cell.t3 .rc-a,.rc-cell.t4 .rc-a{color:#6b551c}
.rc-cell.is-best{box-shadow:0 0 0 2px var(--gold);position:relative}
.rc-legend{font-size:12.5px;color:var(--ink);margin:0 0 24px;font-style:italic}
@media(max-width:620px){.rc-grid{grid-template-columns:repeat(2,1fr)}.rh-stats{grid-template-columns:repeat(2,1fr)}}

/* ---- Painel: fila de pendentes (coleta automática) + badge ---- */
.pr-pend-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.pr-pend-list{display:flex;flex-direction:column;gap:12px}
.pr-pend{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:var(--bg)}
.pr-pend-main{display:flex;align-items:center;gap:16px;flex:1;min-width:220px}
.pr-pend-bonus{font-family:var(--ff-head);font-size:24px;font-weight:800;color:var(--gold);line-height:1;white-space:nowrap}
.pr-pend-route{font-family:var(--ff-head);font-size:15px;font-weight:700;color:var(--head)}
.pr-pend-meta{font-size:12px;color:var(--ink);margin-top:3px}
.pr-pend-src{color:var(--petro);font-weight:600;text-decoration:none}
.pr-pend-src:hover{text-decoration:underline}
.pr-pend-acts{display:flex;gap:8px;flex-shrink:0}
.pr-mini.ok{color:#1c6b3f}
.pr-mini.ok:hover{border-color:#bfe6cf;background:#e5f5ec}
.pn-nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;
  padding:0 5px;margin-left:auto;background:var(--gold);color:#1a1305;font-family:var(--ff-head);
  font-size:11px;font-weight:800;border-radius:999px;line-height:1}

/* ---- Simuladores (Fase C): linhas de resultado extras (reusa .mi-*) ---- */
.sim-rows{margin-top:16px;border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:10px}
.sim-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.sim-row-l{font-size:13px;color:var(--ink)}
.sim-row-v{font-family:var(--ff-head);font-size:16px;font-weight:800;color:var(--head);white-space:nowrap}
.mi-result .sim-rows{border-top-color:rgba(255,255,255,.14)}
.mi-result .sim-row-l{color:#bcd0d8}
.mi-result .sim-row-v{color:#fff}

/* ============================================================
   Radar Milhas — Ranking (Radar Score) + Comparador (Fase D)
   ============================================================ */
.rk-note{font-size:14px;color:var(--ink);line-height:1.6;background:var(--gray);border:1px solid var(--line);
  border-radius:14px;padding:16px 18px;margin:6px 0 22px}
/* Rankings por categoria (G5) */
.rkc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin:0 0 8px}
.rkc-card{background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:18px 20px;box-shadow:var(--shadow-card)}
.rkc-head{display:flex;align-items:center;gap:10px}
.rkc-ic{font-size:20px}
.rkc-head h3{font-family:var(--ff-head);font-size:16px;color:var(--head);margin:0}
.rkc-sub{font-size:12.5px;color:var(--ink);margin:6px 0 12px;line-height:1.5}
.rkc-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line);text-decoration:none;transition:transform var(--ease)}
.rkc-row:hover{transform:translateX(3px)}
.rkc-pos{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--gold);color:#1a1305;font-family:var(--ff-head);font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center}
.rkc-info{flex:1;min-width:0}
.rkc-name{display:block;font-family:var(--ff-head);font-weight:700;font-size:14px;color:var(--head)}
.rkc-reason{display:block;font-size:12.5px;color:var(--ink);line-height:1.45;margin-top:2px}
.rkc-arrow{color:var(--gold);font-weight:800;flex-shrink:0}
.rk-list{display:flex;flex-direction:column;gap:14px}
.rk-item{display:flex;gap:16px;background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:18px 20px;box-shadow:var(--shadow-card)}
.rk-item.is-top{border-color:#eadbba;background:linear-gradient(160deg,#fbf6ec,#fff 55%)}
.rk-item.is-nodata{opacity:.7;align-items:center}
.rk-rank{font-family:var(--ff-head);font-size:26px;font-weight:800;color:var(--gold);min-width:44px;text-align:center;line-height:1.3}
.rk-main{flex:1;min-width:0}
.rk-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.rk-name{font-family:var(--ff-head);font-size:18px;font-weight:700;color:var(--head)}
.rk-nodata{font-size:13px;color:var(--ink)}
.rk-score{text-align:right}
.rk-score-v{font-family:var(--ff-head);font-size:26px;font-weight:800;color:var(--petro)}
.rk-item.is-top .rk-score-v{color:var(--gold)}
.rk-score-l{display:block;font-size:11px;color:var(--ink);text-transform:uppercase;letter-spacing:.4px}
.rk-metrics{display:flex;flex-wrap:wrap;gap:14px;margin:10px 0 12px;font-size:13px;color:var(--ink)}
.rk-metrics b{font-family:var(--ff-head);color:var(--head)}
.rk-breakdown{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 20px}
.rk-bd{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink)}
.rk-bd-l{min-width:82px}
.rk-bd-bar{flex:1;height:7px;background:var(--gray);border-radius:999px;overflow:hidden}
.rk-bd-fill{display:block;height:100%;background:var(--gold);border-radius:999px;transition:width .8s cubic-bezier(.2,.7,.2,1)}
.rk-bd-v{font-family:var(--ff-head);font-weight:700;color:var(--head);min-width:24px;text-align:right}
@media(max-width:620px){.rk-breakdown{grid-template-columns:1fr}}

.cp-pick{margin:6px 0 20px}
.cp-pick .kick{margin-bottom:10px}
.cp-chips{display:flex;flex-wrap:wrap;gap:10px}
.cp-chip{font-family:var(--ff-head);font-size:13px;font-weight:600;border:1px solid var(--line);background:var(--bg);
  color:var(--petro);border-radius:999px;padding:9px 16px;cursor:pointer;transition:all var(--ease)}
.cp-chip:hover:not(:disabled){border-color:var(--gold)}
.cp-chip.on{background:var(--petro);color:#fff;border-color:var(--petro)}
.cp-chip:disabled{opacity:.4;cursor:default}
.cp-table-scroll{overflow-x:auto}
.cp-table{width:100%;border-collapse:collapse;font-size:14px}
.cp-table th,.cp-table td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:center}
.cp-table thead th{font-family:var(--ff-head);color:var(--head);font-size:15px;border-bottom:2px solid var(--line)}
.cp-table tbody th{text-align:left;font-weight:600;color:var(--ink);font-size:13px;white-space:nowrap}
.cp-table td b{font-family:var(--ff-head);font-size:16px;color:var(--head)}
.cp-table td.cp-best{background:#fbf4e4;position:relative}
.cp-table td.cp-best b{color:var(--gold)}

/* ============================================================
   Radar Milhas — Notícias + Academia + Alertas (Fase E)
   ============================================================ */
.nw-feed{display:flex;flex-direction:column;gap:12px}
.nw-item{display:flex;gap:16px;background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:16px 18px;box-shadow:var(--shadow-card)}
.nw-bonus{font-family:var(--ff-head);font-size:22px;font-weight:800;color:var(--gold);line-height:1;min-width:64px}
.nw-body{flex:1;min-width:0}
.nw-top{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.nw-tag{font-family:var(--ff-head);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:3px 9px;border-radius:999px}
.nw-tag.new{color:#1c6b3f;background:#e5f5ec;border:1px solid #bfe6cf}
.nw-tag.ended{color:var(--ink);background:var(--gray);border:1px solid var(--line)}
.nw-date{font-size:12px;color:var(--ink)}
.nw-route{font-family:var(--ff-head);font-size:15px;font-weight:700;color:var(--head)}
.nw-title{font-size:13px;color:var(--ink);margin-top:2px}
.nw-cta{font-size:13px;color:var(--ink);margin-top:6px}
.nw-cta a{color:var(--petro);font-weight:600;text-decoration:none}
.nw-cta a:hover{text-decoration:underline}
.nw-desc{font-size:13px;color:var(--ink);line-height:1.55;margin-top:6px}
.nw-meta{font-size:12.5px;color:var(--muted,#7c8a90);margin-top:8px;display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.nw-src{color:var(--ink);font-weight:600}
.nw-link{color:var(--petro);font-weight:700;text-decoration:none}
.nw-link:hover{text-decoration:underline}
.nw-dot{opacity:.5}
/* Vitrine de promoções: atribuição de fonte + link para a matéria */
.pt-src{font-size:12px;color:var(--ink);margin-top:10px;padding-top:10px;border-top:1px solid var(--line);line-height:1.5}
.pt-srclink{color:var(--petro);font-weight:700;text-decoration:none}
.pt-srclink:hover{text-decoration:underline}
.pt-dot{opacity:.5}

.ac-list{display:flex;flex-direction:column;gap:12px;margin:6px 0 8px}
.ac-item{border:1px solid var(--line);border-radius:16px;background:var(--bg);overflow:hidden;box-shadow:var(--shadow-card)}
.ac-q{cursor:pointer;list-style:none;padding:18px 20px;font-family:var(--ff-head);font-size:16px;font-weight:700;
  color:var(--head);display:flex;align-items:center;gap:12px;transition:background var(--ease)}
.ac-q::-webkit-details-marker{display:none}
.ac-q:hover{background:var(--gray)}
.ac-q::after{content:"+";margin-left:auto;font-size:22px;color:var(--gold);font-weight:400;transition:transform var(--ease)}
.ac-item[open] .ac-q::after{content:"–"}
.ac-lv{font-family:var(--ff-body);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;
  color:var(--petro);background:var(--gray);border:1px solid var(--line);border-radius:999px;padding:4px 10px}
.ac-a{padding:0 20px 20px;color:var(--ink);font-size:14.5px;line-height:1.65}
.ac-a p{margin:0 0 12px}.ac-a p:last-child{margin:0}
.ac-a b{color:var(--head)}

.al-cta{display:flex;gap:14px;flex-wrap:wrap;margin:26px 0 4px}

/* ---- Promoções G1: barra de estatísticas + selo 'últimos dias' ---- */
.pt-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:6px 0 22px}
.pt-stat{background:linear-gradient(135deg,var(--petro),#0a3542);color:#fff;border-radius:16px;padding:20px;text-align:center}
.pt-stat-v{font-family:var(--ff-head);font-size:28px;font-weight:800;color:var(--gold);line-height:1.1}
.pt-stat-l{font-size:12.5px;color:#c7d5da;margin-top:6px;font-weight:600}
.pt-flag.soon{color:#b23b3b;background:#fdeeee;border-color:#f3caca}
.pt-card.is-soon{border-color:#f3caca}
@media(max-width:620px){.pt-stats{grid-template-columns:1fr}}

/* ============================================================
   Radar Milhas — Miniportais dos programas (G6)
   ============================================================ */
.pg-quick{margin:2px 0 20px}
.pg-official{display:inline-flex;align-items:center;gap:6px;font-family:var(--ff-head);font-weight:700;font-size:13px;
  color:var(--petro);background:var(--gray);border:1px solid var(--line);border-radius:999px;padding:8px 16px;text-decoration:none;transition:all var(--ease)}
.pg-official:hover{border-color:var(--gold)}
.pg-sec{margin:0 0 24px}
.pg-p{font-size:15px;color:var(--ink);line-height:1.7;margin:0}
.pg-two{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.pg-list{margin:0;padding-left:20px;color:var(--ink);font-size:14.5px;line-height:1.6}
.pg-list li{margin-bottom:8px}
.pg-chips{display:flex;flex-wrap:wrap;gap:10px 10px;margin:4px 0}
.pg-chip{font-size:13px;font-weight:600;color:var(--petro);background:var(--gray);border:1px solid var(--line);border-radius:999px;padding:7px 14px;line-height:1.2}
.pg-scorebox{display:flex;align-items:center;gap:24px;flex-wrap:wrap;background:linear-gradient(135deg,var(--petro),#0a3542);
  color:#fff;border-radius:18px;padding:22px 26px;margin:6px 0 26px}
.pg-score-main{text-align:center}
.pg-score-v{font-family:var(--ff-head);font-size:42px;font-weight:800;color:var(--gold);line-height:1}
.pg-score-l{font-size:12px;color:#c7d5da;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}
.pg-score-side{display:flex;gap:22px;flex-wrap:wrap;font-size:13.5px;color:#c7d5da}
.pg-score-side b{font-family:var(--ff-head);color:#fff;font-size:16px}
.pg-cross{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0 10px;padding-top:26px;border-top:1px solid var(--line)}
.pg-cross-col h3{font-family:var(--ff-head);font-size:14px;color:var(--head);margin:0 0 12px}
.pg-cross-col a{display:block;font-size:13.5px;color:var(--petro);text-decoration:none;padding:5px 0;transition:color var(--ease)}
.pg-cross-col a:hover{color:var(--gold)}
.pg-source{font-size:12px;color:var(--muted,#8a9aa0);font-style:italic;margin:24px 0 0;line-height:1.5}
@media(max-width:640px){.pg-two,.pg-cross{grid-template-columns:1fr}}
.pg-note{font-size:12px;color:var(--muted,#8a9aa0);font-style:italic;margin:10px 0 0;line-height:1.5}

/* ============================================================
   Academia (artigos) + Glossário (G7)
   ============================================================ */
.ac-glossary-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  background:linear-gradient(120deg,#0E3A4A,#082A35);color:#fff;border-radius:18px;padding:22px 26px;margin:6px 0 26px}
.ac-glossary-cta .kick{color:var(--gold)}
.ac-glossary-cta p{font-size:14px;color:#c7d5da;margin:4px 0 0}
.ac-cat{margin:0 0 26px}
.ac-cat .kick{margin-bottom:12px}
.ac-card{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:22px;
  text-decoration:none;box-shadow:var(--shadow-card);transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease)}
.ac-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -22px rgba(8,42,53,.34);border-color:var(--gold)}
.ac-card-ic{font-size:26px;margin-bottom:10px}
.ac-card h3{font-family:var(--ff-head);font-size:17px;color:var(--head);margin:0 0 8px;line-height:1.25}
.ac-card p{font-size:13.5px;color:var(--ink);line-height:1.55;margin:0 0 14px;flex:1}
.ac-article{max-width:760px;font-size:16px;color:var(--ink);line-height:1.75}
.ac-article h3{font-family:var(--ff-head);font-size:20px;color:var(--head);margin:28px 0 10px}
.ac-article p{margin:0 0 16px}
.ac-article a{color:var(--petro);font-weight:600;text-decoration:underline;text-decoration-color:var(--line)}
.ac-article a:hover{text-decoration-color:var(--gold)}
.ac-article strong{color:var(--head)}
.gl-list{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;margin:6px 0 10px}
.gl-term{border-left:3px solid var(--gold);padding:4px 0 4px 16px}
.gl-t{font-family:var(--ff-head);font-size:16px;color:var(--head);margin:0 0 6px}
.gl-d{font-size:14px;color:var(--ink);line-height:1.6;margin:0}
@media(max-width:640px){.gl-list{grid-template-columns:1fr}.ac-glossary-cta{flex-direction:column;align-items:flex-start}}
.ac-glossary-cta .btn-ghost{color:#fff;border-color:var(--gold);background:transparent}
.ac-glossary-cta .btn-ghost:hover{background:var(--gold);color:var(--petro)}

/* ============================================================
   G7-Q1 — Revisão de espaçamento/tipografia/responsividade
   (Academia + páginas Radar Milhas)
   ============================================================ */
/* Artigos: leitura confortável e hierarquia clara */
.ac-article{max-width:760px}
.ac-article > *:first-child{margin-top:0}
.ac-article > p:first-of-type{font-size:17px;color:var(--head)}      /* parágrafo-lead */
.ac-article h2{font-family:var(--ff-head);font-size:23px;color:var(--head);margin:34px 0 12px;line-height:1.25}
.ac-article h3{font-size:20px;margin:30px 0 10px}
.ac-article ul,.ac-article ol{margin:0 0 18px;padding-left:22px}
.ac-article li{margin-bottom:9px;line-height:1.7}
.ac-article .mi-ex{margin:22px 0}
.ac-article + section{margin-top:8px}
/* Hero dos artigos/áreas: respiro consistente do conteúdo abaixo */
.rm-hero + .wrap.tool-wrap,.page-hero + .wrap.tool-wrap{padding-top:48px}
/* FAQ: confortável no mobile */
@media(max-width:640px){
  .ac-q{padding:15px 16px;font-size:15px;gap:8px}
  .ac-a{padding:0 16px 16px;font-size:14px}
  .ac-lv{font-size:10px;padding:3px 8px}
  .ac-article{font-size:15.5px}
  .ac-article h2{font-size:20px;margin:26px 0 10px}
  .ac-article h3{font-size:18px;margin:24px 0 8px}
  .ac-article > p:first-of-type{font-size:16px}
  .page-hero{padding:52px 0 44px}
  .rm-hero{padding:44px 0 36px}
}
/* Tablet: grids de cards em 2 colunas fluídas já cobertas; ajuste do cross-mesh */
@media(max-width:900px) and (min-width:641px){
  .pg-cross{grid-template-columns:1fr 1fr}
}

/* ============================================================
   Academia — componentes ricos de conteúdo (tabelas, prós/contras,
   checklist, callouts, exemplo numérico, nota de fonte)
   ============================================================ */
.ac-article .rich-table-wrap{overflow-x:auto;margin:20px 0}
.ac-article table.rich-table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:440px}
.ac-article .rich-table th,.ac-article .rich-table td{padding:11px 14px;border:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.55}
.ac-article .rich-table thead th{background:var(--gray);font-family:var(--ff-head);color:var(--head);font-size:13.5px}
.ac-article .rich-table tbody th{font-weight:700;color:var(--head);background:#fbfcfd;white-space:nowrap}
.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}
.pc-box{border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.pc-box h4{font-family:var(--ff-head);font-size:15px;margin:0 0 10px}
.pc-box ul{margin:0;padding-left:18px}.pc-box li{margin-bottom:7px;line-height:1.55}
.pc-pros{background:#f0f9f3;border-color:#bfe6cf}.pc-pros h4{color:#1c6b3f}
.pc-cons{background:#fdf1f1;border-color:#f3caca}.pc-cons h4{color:#b23b3b}
.ac-article ul.checklist{list-style:none;padding:0;margin:18px 0}
.ac-article ul.checklist li{position:relative;padding-left:32px;margin-bottom:11px;line-height:1.6}
.ac-article ul.checklist li::before{content:"✓";position:absolute;left:0;top:1px;color:#1c6b3f;font-weight:800;
  background:#e5f5ec;border-radius:50%;width:21px;height:21px;display:inline-flex;align-items:center;justify-content:center;font-size:12px}
.callout{border-radius:14px;padding:14px 18px;margin:22px 0;font-size:14.5px;line-height:1.6;border:1px solid}
.callout-warn{background:#fdf6e9;border-color:#eadbba;color:#6b551c}
.callout-warn strong{color:#8a6d1f}
.num-example{background:var(--gray);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:12px;padding:16px 18px;margin:22px 0;font-size:14.5px;line-height:1.65}
.num-example .ne-t{font-family:var(--ff-head);font-weight:700;color:var(--head);font-size:12px;text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px}
.source-note{display:flex;gap:10px;align-items:flex-start;background:#f2f7f8;border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:28px 0 0;font-size:12.5px;color:var(--ink);line-height:1.6}
.source-note .sn-ic{color:var(--petro);font-size:15px;flex-shrink:0}
.flow{display:flex;flex-direction:column;gap:12px;margin:22px 0}
.flow-step{position:relative;background:var(--gray);border:1px solid var(--line);border-left:3px solid var(--petro);border-radius:12px;padding:14px 16px 14px 52px;font-size:14.5px;line-height:1.55;color:var(--body)}
.flow-step .flow-n{position:absolute;left:14px;top:14px;width:26px;height:26px;border-radius:50%;background:var(--petro);color:#fff;font-family:var(--ff-head);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}
.flow-step em{color:var(--head);font-style:normal;display:block;margin-top:4px;font-size:13.5px}
@media(max-width:640px){.pros-cons{grid-template-columns:1fr}.num-example,.callout{font-size:14px}.flow-step{padding-left:48px;font-size:14px}}

/* Artigo: coluna de leitura centralizada e alinhada ao hero (corrige desalinhamento) */
.ac-wrap{max-width:860px;padding-top:56px}
.ac-wrap .ac-article{max-width:none}
@media(max-width:640px){.ac-wrap{padding-top:34px}}
/* Consistência de leitura: prosa dos miniportais com medida confortável */
.pg-p{max-width:820px}

/* ============================================================
   MÓDULO CARTÕES PREMIUM — Radar Score, ficha, ranking, roadmap
   ============================================================ */
/* Ficha do cartão (cabeçalho de fatos) */
.pg-cardhead{margin:8px 0 14px}
.pg-ch-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.pg-ch-issuer,.pg-ch-net{font-family:var(--ff-head);font-weight:700;font-size:13px;
  padding:4px 12px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--head);
  border:1px solid rgba(255,255,255,.12)}
.pg-ch-net{color:var(--gold);border-color:rgba(212,175,55,.4)}
.pg-ch-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pg-fact{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10);
  border-radius:12px;padding:12px 14px}
.pf-l{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
.pf-v{display:block;font-family:var(--ff-head);font-weight:700;color:var(--head);font-size:15px}
@media(max-width:640px){.pg-ch-facts{grid-template-columns:1fr}}

/* Radar Score do cartão */
.card-score{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center;
  background:linear-gradient(135deg,rgba(212,175,55,.10),rgba(255,255,255,.03));
  border:1px solid rgba(212,175,55,.30);border-radius:16px;padding:18px 20px;margin:6px 0 22px}
.cs-overall{text-align:center;border-right:1px solid rgba(255,255,255,.12);padding-right:12px}
.cs-o-num{display:block;font-family:var(--ff-head);font-weight:800;font-size:44px;color:var(--gold);line-height:1}
.cs-o-lbl{display:block;font-size:12px;color:var(--muted);margin-top:4px;text-transform:uppercase;letter-spacing:.5px}
.cs-bars{display:flex;flex-direction:column;gap:8px}
.cs-row{display:grid;grid-template-columns:1fr 120px 34px;gap:10px;align-items:center;font-size:13px}
.cs-lbl{color:var(--head)}
.cs-bar{background:rgba(255,255,255,.10);border-radius:999px;height:8px;overflow:hidden}
.cs-fill{display:block;height:100%;background:linear-gradient(90deg,var(--gold),#f0d97a);border-radius:999px}
.cs-val{font-family:var(--ff-head);font-weight:700;color:var(--gold);text-align:right}
@media(max-width:640px){.card-score{grid-template-columns:1fr}
  .cs-overall{border-right:0;border-bottom:1px solid rgba(255,255,255,.12);padding:0 0 12px;margin-bottom:6px}
  .cs-row{grid-template-columns:1fr 90px 30px}}

/* Chips de categoria clicáveis / taxonomia */
.rk-chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 4px}
.rk-chip{font-size:13px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);color:var(--head)}
.pg-chip-link{text-decoration:none;transition:border-color .15s,color .15s}
.pg-chip-link:hover{border-color:var(--gold);color:var(--gold)}

/* Tiles do ranking de cartões */
.card-tile .ct-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.ct-rank{font-family:var(--ff-head);font-weight:700;color:var(--muted);font-size:13px}
.ct-score{font-family:var(--ff-head);font-weight:800;color:var(--gold);font-size:20px}
.ct-meta{color:var(--muted);font-size:13px;margin:2px 0 8px}

/* Roadmap "em breve" agrupado por emissor */
.cs-soon{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-top:8px}
.cs-soon-col h4{font-family:var(--ff-head);font-size:14px;color:var(--gold);margin:0 0 8px}
.cs-soon-item{display:block;font-size:13px;color:var(--head);opacity:.85;padding:3px 0}

/* G8b — Fontes consultadas nos guias de cartão (transparência/E-E-A-T) */
.pg-sources{margin:20px 0 4px;border-top:1px solid var(--line);padding-top:14px}
.pg-sources summary{cursor:pointer;font-family:var(--ff-head);font-weight:600;font-size:14px;color:var(--petro)}
.pg-sources summary:hover{color:var(--gold)}
.pg-src-list{margin:10px 0 0;padding-left:18px}
.pg-src-list li{font-size:13px;color:var(--muted);margin:3px 0}
.pg-src-list a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
.pg-src-list a:hover{color:var(--gold)}

/* Critério informativo (peso 0) no Radar Score do cartão */
.cs-info{font-size:11px;color:var(--muted);font-weight:400;opacity:.8}

/* ============================================================
   Radar Milhas — bloco de descoberta na Home
   ============================================================ */
.rm-home-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:24px}
@media(max-width:1100px){.rm-home-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.rm-home-grid{grid-template-columns:1fr}}
.rmh-acad{font-size:.92rem;line-height:1.55;color:var(--muted,#555);margin:2px 0 0}
.rmh-mod{display:flex;flex-direction:column;background:var(--gray);border:1px solid var(--line);
  border-radius:16px;padding:20px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s}
a.rmh-mod:hover{border-color:var(--gold);box-shadow:0 6px 20px rgba(8,42,53,.08);transform:translateY(-2px)}
.rmh-top{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.rmh-ic{font-size:22px}
.rmh-top h3{font-family:var(--ff-head);font-size:17px;color:var(--head);margin:0}
.rmh-body{flex:1;min-height:96px}
.rmh-load{color:var(--muted)}
.rmh-empty{color:var(--muted);font-size:13.5px;line-height:1.5}
.rmh-cta{display:inline-block;margin-top:14px;font-family:var(--ff-head);font-weight:700;font-size:13.5px;color:var(--gold);text-decoration:none}
/* Promoções */
.rmh-stats{display:flex;gap:16px;margin-bottom:12px}
.rmh-stat{font-size:13px;color:var(--muted)}
.rmh-stat b{display:block;font-family:var(--ff-head);font-size:22px;color:var(--head);line-height:1.1}
.rmh-stat.rmh-gold b{color:var(--gold)}
.rmh-promo{display:flex;align-items:center;gap:10px;padding-top:10px;border-top:1px solid var(--line)}
.rmh-bonus{font-family:var(--ff-head);font-weight:800;color:var(--gold);font-size:16px}
.rmh-route{font-size:14px;color:var(--head)}
.rmh-route a{color:var(--head);text-decoration:none;border-bottom:1px dashed var(--gold)}
/* Notícias */
.rmh-news{display:flex;align-items:flex-start;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.rmh-news:last-child{border-bottom:0}
.rmh-nb{font-family:var(--ff-head);font-weight:700;color:var(--gold);flex:none}
.rmh-ntxt a{color:var(--head);text-decoration:none;border-bottom:1px dashed var(--gold)}
.rmh-tag{font-size:10px;font-weight:700;padding:1px 6px;border-radius:999px;text-transform:uppercase;letter-spacing:.4px}
.rmh-tag.new{background:rgba(46,160,90,.14);color:#2ea05a}
.rmh-tag.ended{background:rgba(120,120,120,.14);color:var(--muted)}
/* Cartões (estático) */
.rhx-list{display:flex;flex-direction:column;gap:8px}
.rhx-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;
  text-decoration:none;color:inherit;padding:8px 0;border-bottom:1px solid var(--line)}
.rhx-list .rhx-card:last-child{border-bottom:0}
.rhx-score{grid-row:1 / span 2;font-family:var(--ff-head);font-weight:800;color:var(--gold);font-size:20px}
.rhx-name{font-family:var(--ff-head);font-weight:700;color:var(--head);font-size:13.5px;line-height:1.2}
.rhx-meta{font-size:12px;color:var(--muted)}
.rhx-card:hover .rhx-name{color:var(--gold)}

/* CTA "Explorar o Radar Milhas" — centralizado abaixo dos módulos */
.rm-home-all{text-align:center;margin-top:26px}

/* Widget Expedia (voos + hotéis) na home */
.eg-widget-wrap{margin-top:8px;min-height:80px}

/* Chips de categoria clicáveis (páginas de categoria de cartões) */
a.rk-chip-link{text-decoration:none;transition:border-color .15s,color .15s,background .15s}
a.rk-chip-link:hover{border-color:var(--gold);color:var(--gold)}
a.rk-chip-link.is-active{background:var(--gold);color:#fff;border-color:var(--gold)}

/* Páginas comparativas de cartões */
.cmp-table th:first-child{width:34%;text-align:left}
.cmp-table thead th a{color:var(--head);font-family:var(--ff-head);font-weight:700;text-decoration:none;border-bottom:1px dashed var(--gold)}
.cmp-table td{text-align:center}
.cmp-win{color:var(--gold)}
.cmp-total th,.cmp-total td{border-top:2px solid var(--line);font-size:16px}
.cmp-reco{margin-top:12px;font-weight:600;color:var(--head)}
.cmp-card{display:flex;flex-direction:column;gap:8px}
.cmp-vs{font-family:var(--ff-head);font-weight:700;color:var(--head);display:flex;flex-direction:column;gap:2px;font-size:14px}
.cmp-x{color:var(--gold);font-size:12px}
.cmp-scores{color:var(--gold);font-family:var(--ff-head);font-weight:800}

/* --- Interligação na página do cartão (radar-cartao.js) --- */
.card-dyn .pg-note{margin:2px 0 14px}
.cd-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:720px){.cd-cols{grid-template-columns:1fr}}
.cd-h{font-size:.95rem;margin:0 0 8px;font-weight:700}
.cd-list{display:flex;flex-direction:column;gap:8px}
.cd-item{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  background:var(--card,#fff);border:1px solid var(--line,#e7e7ea);
  border-radius:12px;padding:9px 12px}
.cd-bonus{font-weight:800;color:var(--gold,#b8860b);white-space:nowrap}
.cd-route{flex:1;min-width:0;font-size:.9rem}
.cd-route a{text-decoration:none}
.cd-route a:hover{text-decoration:underline}
.cd-cta{white-space:nowrap;font-weight:700;font-size:.85rem;text-decoration:none}
.cd-cta:hover{text-decoration:underline}
.cd-tag{display:inline-block;font-size:.68rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.03em;padding:1px 7px;border-radius:999px;margin-right:2px}
.cd-tag.new{background:#eafaf0;color:#1a7f46}
.cd-tag.ended{background:#f2f2f4;color:#777}

/* Parágrafo de abertura das comparações (SEO — conteúdo único) */
.cmp-intro{font-size:1rem;line-height:1.6;color:var(--muted,#444);margin:6px 0 22px;max-width:900px}

/* Linha de autoria/revisão (E-E-A-T) */
.pg-byline{font-size:.82rem;color:var(--muted,#666);margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid var(--line,#eee)}

/* --- Busca global (radar-search.js) --- */
.site-search{position:fixed;inset:0;z-index:120;background:rgba(8,42,53,.55);display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 16px}
.site-search[hidden]{display:none}
.ss-box{width:100%;max-width:640px;background:var(--white);border-radius:16px;box-shadow:var(--shadow-card);overflow:hidden}
.ss-in{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
.ss-in svg{width:20px;height:20px;color:var(--muted);flex:none}
.ss-in input{flex:1;border:0;outline:0;font:16px/1.4 var(--ff-body);color:var(--head);background:transparent}
.ss-close{border:0;background:transparent;color:var(--muted);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:8px}
.ss-close:hover{background:var(--gray)}
.ss-results{list-style:none;margin:0;padding:6px;max-height:52vh;overflow:auto}
.ss-results li a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--head)}
.ss-results li a:hover{background:var(--gray)}
.ss-t{font-weight:600;font-size:.95rem}
.ss-k{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
.ss-empty{padding:16px;color:var(--muted);text-align:center;font-size:.92rem}

/* --- Coletor: tipo (transferência/notícia) no painel + card de notícia no bloco --- */
.pr-kind{display:inline-block;font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:999px}
.pr-kind-transfer{background:rgba(216,168,75,.16);color:#8A6D1F}
.pr-kind-news{background:#eef4f6;color:#0E3A4A}
.pr-pend-badge{font-size:1.2rem}
.pr-rt-desc{font-size:.85rem;color:var(--muted);margin:4px 0}
.nw-item.nw-news .nw-badge{font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;background:#eef4f6;color:#0E3A4A;border-radius:10px}
.nw-tag.cat{background:#eef4f6;color:#0E3A4A}
.rmh-nb-news{font-size:1rem}

/* Home — bloco Radar Milhas: trava a altura das notícias (2 linhas) para os
   cards NÃO crescerem conforme mais promoções/notícias são aprovadas. */
#radar-milhas-home .rmh-news{align-items:flex-start}
#radar-milhas-home .rmh-ntxt{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35}
