/* =============================================================
 * ELITE.CSS — camada de LUXO do Elite+ (carrega por ÚLTIMO).
 * Redefine a paleta para preto + ouro + serifado executivo.
 * Tema escuro = padrão · html.tema-claro = versão creme.
 * ============================================================= */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700;800&family=Cormorant+Garamond:wght@600;700&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --serif:'Playfair Display','Cormorant Garamond',Georgia,serif;
  /* ---- tema ESCURO (padrão) ---- */
  --bg:#0a0a0c; --bg-2:#0e0e11; --panel:#141417; --panel-2:#191a1e;
  --border:#262019; --border-2:#3a3024;
  --text:#ece5d6; --muted:#a59c89; --muted-2:#7e7565;
  --primary:#c9a227; --primary-rgb:201,162,39; --primary-2:#e6c976; --primary-3:#f3e3ac;
  --accent:#c9a227; --gold:#e6c976; --success:#9fb37a; --error:#cf7a68; --warning:#d6a44c;
  --code-bg:#0c0c0e; --track:#2a2418;
  --surface:linear-gradient(165deg,var(--panel),#0f0f12);
  --shadow-elev:0 16px 40px -20px rgba(0,0,0,.82);
  --shadow-glow:0 0 28px -8px rgba(var(--primary-rgb),.5);
}
/* ---- tema CLARO (creme/ivory) ---- */
html.tema-claro{
  --bg:#f4efe4; --bg-2:#efe7d7; --panel:#fbf8f1; --panel-2:#f2ebdb;
  --border:#e6dcc6; --border-2:#d6c9a9;
  --text:#241f16; --muted:#73695a; --muted-2:#9d9279;
  --primary:#b8901f; --primary-rgb:184,144,31; --primary-2:#caa233; --primary-3:#9a7714;
  --gold:#b8901f; --code-bg:#17150f; --track:#e6ddc6;
  --surface:linear-gradient(165deg,#fbf8f1,#f3ecdc);
  --shadow-elev:0 16px 36px -22px rgba(120,100,40,.38);
}

body{ font-family:'Inter',system-ui,sans-serif; color:var(--text);
  background:radial-gradient(130% 95% at 0% 0%,rgba(var(--primary-rgb),.09),transparent 46%), var(--bg); background-attachment:fixed; }

/* ---------- tipografia serifada de revista ---------- */
h1,h2,.serif,.pagina-titulo,.dash-saudacao h1,.brief-saud,.rh-rank,.logo-tx,.auth-logo,
.plano-hero h1,.bol-hero h1,.conq-hero-num,.rank-hero h1,.metodo h1,.mast-area,.empty-t,.modal-tit,.lu-nivel{
  font-family:var(--serif); }
.dash-saudacao h1,.pagina-titulo,.brief-saud{ letter-spacing:.2px; font-weight:700; }

/* foil dourado no logo e em números-herói */
.gold-foil,.logo-tx b{ background:linear-gradient(95deg,var(--primary),var(--primary-3) 45%,var(--primary) 72%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.logo-tx{ font-weight:800; }

/* ---------- botões dourados ---------- */
.btn-primary{ background:linear-gradient(135deg,var(--primary-2),var(--primary)); color:#1c1606; border:none;
  box-shadow:0 8px 22px -8px rgba(var(--primary-rgb),.55); font-weight:600; }
.btn-primary:hover{ filter:brightness(1.07); transform:translateY(-1px); }
html.tema-claro .btn-primary{ color:#241803; }

/* ---------- nav / sidebar dourada ---------- */
.nav-link.ativo{ background:linear-gradient(90deg,rgba(var(--primary-rgb),.16),transparent); color:var(--primary-3); box-shadow:inset 2px 0 0 var(--primary); }
.nav-link.ativo .nav-ic{ background:linear-gradient(135deg,var(--primary),var(--primary-2)); box-shadow:0 5px 14px -4px rgba(var(--primary-rgb),.6); }
.sidebar,.topbar{ border-color:var(--border); }
.logo-mark,.logo svg{ filter:drop-shadow(0 0 8px rgba(var(--primary-rgb),.4)); }

/* ---------- cards com fio dourado + sombra quente ---------- */
.card,.stat,.rail-card,.area-card,.briefing,.bol-stat,.mast-card,.conq-card,.tier,.meta-card,.aposta-card{ border-color:var(--border); box-shadow:var(--shadow-elev); }
.area-card:hover,.tier:hover,.mast-card:hover{ border-color:var(--primary); }

/* selos: glow dourado na Eminência */
.rank-emb.glow{ animation:seloGlow 2.8s ease-in-out infinite; }
@keyframes seloGlow{ 0%,100%{ filter:drop-shadow(0 0 7px rgba(var(--primary-rgb),.45)); } 50%{ filter:drop-shadow(0 0 18px rgba(var(--primary-rgb),.9)); } }
.tier-emblema .rank-emb{ width:50px; } .rh-emblema .rank-emb{ width:64px; }

/* chips / tags douradas */
.skill-tag,.nivel-tag,.tag-resolvido,.card-sub{ border-color:var(--border-2); }
.streak-chip.aceso,.nivel-chip{ border-color:var(--border-2); }

/* hero do ranking/plano/boletim com brilho dourado */
.rank-hero,.plano-hero,.bol-hero,.briefing{ background:radial-gradient(120% 150% at 100% 0%,rgba(var(--primary-rgb),.14),transparent 52%),var(--surface); border-color:var(--border-2); }

/* scrollbar dourada */
*{ scrollbar-color:var(--border-2) transparent; }
*::-webkit-scrollbar-thumb{ background:var(--border-2); }

/* ---------- toggle de tema (sol/lua) ---------- */
.tema-toggle{ width:34px;height:34px;border-radius:10px;border:1px solid var(--border-2);background:rgba(var(--primary-rgb),.07);color:var(--primary-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:.18s; }
.tema-toggle:hover{ border-color:var(--primary); color:var(--primary-3); }
.tema-toggle .ic{ width:17px; height:17px; }
.tema-toggle span{ display:inline-flex; } .tema-toggle .ti-l{ display:none; }
html.tema-claro .tema-toggle .ti-d{ display:none; } html.tema-claro .tema-toggle .ti-l{ display:inline-flex; }

/* ---------- áreas "Em breve" (vitrine bloqueada) ---------- */
.embreve-sec{ margin-top:28px; }
.embreve-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:14px; }
.embreve-card{ position:relative; border:1px solid var(--border); border-radius:14px; padding:18px; background:var(--surface); opacity:.72; overflow:hidden; }
.embreve-card::after{ content:'EM BREVE'; position:absolute; top:11px; right:11px; font-size:8.5px; letter-spacing:.14em; font-weight:700; color:#1c1606; background:linear-gradient(135deg,var(--primary-2),var(--primary)); padding:3px 7px; border-radius:999px; }
.embreve-ic{ width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(var(--primary-rgb),.12);border:1px solid rgba(var(--primary-rgb),.3);margin-bottom:10px; }
.embreve-ic .ic{ width:22px;color:var(--primary-2); }
.embreve-nome{ font-family:var(--serif); font-weight:700; font-size:16px; }
.embreve-sub{ font-size:11.5px; color:var(--muted); margin-top:2px; }
.embreve-cad{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.embreve-cad .ic{ width:30px; color:var(--muted-2); opacity:.5; }

/* ============================================================
 * VARREDURA — tira as cores CHUMBADAS (dark/roxo) do CSS base
 * e joga tudo pra TOKEN, pra funcionar no claro E no escuro.
 * ============================================================ */

/* ---- SIDEBAR ---- */
.sidebar{ background:linear-gradient(180deg, var(--panel), var(--bg)); border-right:1px solid var(--border); }
.nav-group{ color:var(--muted-2); }
.nav-link{ color:var(--muted); }
.nav-link:hover{ background:rgba(var(--primary-rgb),.08); color:var(--text); }
.nav-link .nav-ic{ background:rgba(var(--primary-rgb),.08); }
.nav-link:hover .nav-ic{ background:rgba(var(--primary-rgb),.18); }
.nav-link.ativo{ background:linear-gradient(90deg,rgba(var(--primary-rgb),.18),transparent); color:var(--primary-3); }
.nav-link.ativo .nav-ic{ background:linear-gradient(135deg,var(--primary),var(--primary-2)); box-shadow:0 5px 14px -4px rgba(var(--primary-rgb),.6); }
.nav-link.ativo::before{ background:var(--primary); box-shadow:0 0 12px var(--primary); }
.nav-badge{ background:var(--primary); color:#1c1606; }
.logo, .logo-tx{ color:var(--text); }
.logo-mark,.logo-svg{ filter:drop-shadow(0 0 8px rgba(var(--primary-rgb),.45)); }
.logo-tx b{ background:linear-gradient(120deg,var(--primary),var(--primary-3)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }
.avatar{ background:linear-gradient(135deg,var(--primary),var(--primary-3)); color:#1c1606; box-shadow:0 5px 16px -4px rgba(var(--primary-rgb),.5); }
.mini-perfil{ background:var(--panel-2); border-color:var(--border); }
.btn-sair:hover{ color:var(--error); background:rgba(207,122,104,.14); }

/* ---- TOPBAR (some o fundo escuro fixo) ---- */
.topbar{ background:color-mix(in srgb, var(--bg) 80%, transparent); border-bottom:1px solid var(--border); }
.menu-toggle,.search,.streak-chip,.nivel-chip{ background:var(--panel-2); border-color:var(--border); color:var(--text); }
.search:focus-within{ border-color:var(--primary); box-shadow:0 0 0 3px rgba(var(--primary-rgb),.18); }

/* ---- SUPERFÍCIES (2º stop #101019 -> token) ---- */
.area-card,.trilha-card,.rail-card,.enunciado,.modulo-card,.ex-card,.mast-card,.conq-card,.stat,
.dominado-chip,.calib-bar,.drill-box,.rev-area{ background:var(--surface); border-color:var(--border); }
.confianca-box,.passos-box,.dica-box,.exemplo{ background:var(--surface)!important; }
.conq-hero{ background:radial-gradient(135deg, rgba(var(--primary-rgb),.16), var(--panel) 70%); }

/* ---- BARRAS (#2a2a3e -> --track) ---- */
.nivel-chip .xp-bar,.rail-xp-bar,.rh-bar,.mast-bar,.conq-hero-bar,.calib-bar{ background:var(--track); }
.fraco-ring{ background:conic-gradient(var(--c) calc(var(--p)*1%), var(--track) 0); }
.conq-ring{ background:conic-gradient(var(--primary) calc(var(--p)*1%), var(--track) 0); }

/* ---- acentos ROXOS sobrando -> OURO ---- */
.skill-tag{ background:rgba(var(--primary-rgb),.14); color:var(--primary-2); }
.area-card::before,.trilha-card::before{ background:linear-gradient(135deg,rgba(var(--primary-rgb),.5),transparent 40%); }
.rail-upgrade{ background:linear-gradient(150deg,rgba(var(--primary-rgb),.2),rgba(var(--primary-rgb),.05)); border-color:rgba(var(--primary-rgb),.4); }
.rail-upgrade::after{ background:radial-gradient(circle,rgba(var(--primary-rgb),.35),transparent 70%); }
.ru-badge{ background:var(--primary); color:#1c1606; }
.conquista-toast{ background:var(--surface); border-color:var(--primary); box-shadow:0 18px 46px -16px rgba(var(--primary-rgb),.6), 0 0 0 1px rgba(var(--primary-rgb),.2); }
.rail-link:hover{ background:rgba(var(--primary-rgb),.07); }

/* ---- tema CLARO: contraste final ---- */
html.tema-claro .nav-link:hover{ color:var(--text); }
html.tema-claro .avatar,html.tema-claro .nav-badge,html.tema-claro .ru-badge{ color:#fffdf8; }
html.tema-claro .streak-chip.aceso{ background:linear-gradient(135deg,rgba(214,164,76,.22),rgba(184,144,31,.08)); border-color:rgba(184,144,31,.45); }
html.tema-claro .code-win-head,html.tema-claro .runner-out{ color:#ece5d6; }

/* ---- VARREDURA 2: painéis-herói escuros, textos sumindo, ícones nav, botões ouro ---- */
.briefing,.bol-hero,.plano-hero{ background:radial-gradient(120% 160% at 100% 0%, rgba(var(--primary-rgb),.12), transparent 55%), var(--surface); border-color:var(--border-2); }
.ct-nome,.dyn-pergunta,.conq-ring span b,.ds-num{ color:var(--text); }
.nav-link .nav-ic{ color:var(--muted); }
.nav-link:hover .nav-ic{ color:var(--text); }
.nav-link.ativo .nav-ic{ color:#1c1606; }
.btn-primary,.modulo-num{ color:#1c1606; }
.combo-chip.t3{ background:linear-gradient(135deg,var(--primary),var(--primary-3)); box-shadow:0 10px 28px -8px rgba(var(--primary-rgb),.6); }
.tag-dinamico{ background:rgba(var(--primary-rgb),.16); color:var(--primary-2); }
.tier-tag.ok{ background:rgba(var(--primary-rgb),.16); color:var(--primary-3); }
.nivel-tag.nivel-intermediario{ color:var(--primary-2); } .nivel-tag.nivel-avancado{ color:#c98a2e; }

/* ---- CURSOS EXCLUSIVOS: vídeo-aulas + selo ---- */
.videos-sec{ margin:16px 0 6px; }
.videos-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:14px; }
.video-card{ background:var(--surface); border:1px solid var(--border); border-radius:14px; overflow:hidden; }
.video-frame{ position:relative; aspect-ratio:16/9; background:#000; }
.video-frame iframe,.video-frame video{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.video-info{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 14px; font-size:13.5px; }
.video-info span{ color:var(--muted); font-size:12px; flex:none; }
.video-ph{ display:flex; align-items:center; gap:12px; padding:16px; background:var(--surface); border:1px dashed rgba(var(--primary-rgb),.45); border-radius:14px; }
.video-ph .vp-ic{ width:38px; height:38px; flex:none; border-radius:10px; display:flex; align-items:center; justify-content:center; background:rgba(var(--primary-rgb),.12); color:var(--primary-2); }
.video-ph strong{ display:block; font-size:13.5px; }
.video-ph span{ color:var(--muted); font-size:12.5px; }
.selo-exclusivo{ display:inline-flex; align-items:center; vertical-align:middle; font-size:10px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:#1c1606; background:linear-gradient(135deg,var(--primary-2),var(--primary)); padding:2.5px 9px; border-radius:9px; margin-left:6px; }

/* ---- RELATÓRIO AVANÇADO ---- */
.kpi-band{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin:18px 0 26px; }
.kpi{ position:relative; display:flex; align-items:center; gap:12px; padding:16px 16px 15px; background:var(--surface); border:1px solid var(--border); border-radius:16px; overflow:hidden; }
.kpi::before{ content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,transparent,rgba(var(--primary-rgb),.7),transparent); }
.kpi-ic{ flex:none; width:38px; height:38px; display:flex; align-items:center; justify-content:center; border-radius:12px; background:rgba(var(--primary-rgb),.1); color:var(--primary-2); }
.kpi-ic .ic{ width:18px; height:18px; }
.kpi-tx{ min-width:0; }
.kpi-v{ font-family:var(--serif,Georgia,serif); font-size:21px; font-weight:800; line-height:1.1; }
.kpi-l{ font-size:11px; color:var(--muted); letter-spacing:.03em; margin-top:2px; }
.rl-sec{ background:var(--surface); border:1px solid var(--border); border-radius:18px; padding:20px 22px; margin-bottom:18px; }
.rl-sec-head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:16px; }
.rl-sec-head h2{ font-family:var(--serif,Georgia,serif); font-size:18px; font-weight:700; margin:0; }
.rl-count{ font-size:11.5px; color:var(--muted-2); letter-spacing:.05em; text-transform:uppercase; font-weight:700; }
.rl-leg{ display:flex; gap:14px; font-size:11.5px; color:var(--muted); }
.rl-leg i{ display:inline-block; width:9px; height:9px; border-radius:3px; margin-right:5px; }
.rl-leg .lg-a{ background:linear-gradient(180deg,var(--primary-2),var(--primary)); }
.rl-leg .lg-e{ background:var(--error,#cf7a68); opacity:.75; }
.rl-chart{ display:flex; align-items:flex-end; gap:4px; height:160px; padding-top:6px; }
.rl-bar{ flex:1; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; height:100%; min-width:0; }
.rl-col{ width:100%; max-width:20px; border-radius:5px 5px 2px 2px; background:rgba(207,122,104,.55); overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; }
.rl-col.vazio{ background:transparent; }
.rl-col i{ display:block; width:100%; background:linear-gradient(180deg,var(--primary-2),var(--primary)); }
.rl-bar span{ font-size:8px; color:var(--muted-2); margin-top:4px; }
.rl-trks{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:14px; }
.rl-trk{ padding:14px 16px; border:1px solid var(--border); border-radius:14px; background:var(--panel-2); }
.rl-trk-top{ display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:9px; font-size:13.5px; }
.rl-chip{ flex:none; font-size:10px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; padding:3px 9px; border-radius:9px; background:rgba(var(--primary-rgb),.12); color:var(--primary-2); }
.rl-trk-bar{ height:7px; background:var(--track); border-radius:7px; overflow:hidden; }
.rl-trk-bar div{ height:100%; border-radius:7px; background:linear-gradient(90deg,var(--primary),var(--primary-2)); }
.rl-trk-sub{ display:flex; justify-content:space-between; margin-top:8px; font-size:11.5px; color:var(--muted); }
.rl-trk-sub b{ color:var(--primary-2); }
.rl-erros{ display:flex; flex-direction:column; gap:8px; }
.rl-erro{ display:flex; align-items:center; gap:13px; padding:12px 15px; background:var(--panel-2); border:1px solid var(--border); border-radius:14px; text-decoration:none; color:var(--text); transition:border-color .16s, transform .13s, box-shadow .16s; }
.rl-erro:hover{ border-color:rgba(var(--primary-rgb),.55); transform:translateX(3px); box-shadow:0 6px 20px -12px rgba(var(--primary-rgb),.5); }
.rl-st{ flex:none; width:30px; height:30px; display:flex; align-items:center; justify-content:center; border-radius:9px; background:rgba(207,122,104,.13); color:var(--error,#cf7a68); }
.rl-st .ic{ width:15px; height:15px; }
.rl-erro.ok .rl-st{ background:rgba(var(--primary-rgb),.12); color:var(--primary-2); }
.rl-cod{ flex:none; font-family:'JetBrains Mono',Consolas,monospace; font-size:11px; color:var(--muted); background:var(--surface); border:1px solid var(--border); padding:3px 8px; border-radius:7px; }
.rl-tit{ flex:1; min-width:0; font-size:13.5px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rl-tit em{ display:block; font-style:normal; font-weight:400; font-size:11.5px; color:var(--muted-2); margin-top:1px; }
.rl-nums{ flex:none; display:flex; gap:14px; }
.rl-nums .n{ display:flex; flex-direction:column; align-items:center; font-size:9.5px; color:var(--muted-2); text-transform:uppercase; letter-spacing:.05em; }
.rl-nums .n b{ font-size:15px; line-height:1.1; }
.rl-nums .n-err b{ color:var(--error,#cf7a68); }
.rl-nums .n-ok b{ color:var(--primary-2); }
.rl-tag{ flex:none; font-size:9.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; padding:4px 10px; border-radius:9px; background:rgba(207,122,104,.13); color:var(--error,#cf7a68); }
.rl-erro.ok .rl-tag{ background:rgba(var(--primary-rgb),.12); color:var(--primary-2); }
.rl-suadas{ display:flex; flex-direction:column; gap:8px; }
.rl-suada{ display:flex; align-items:center; gap:12px; padding:11px 15px; background:var(--panel-2); border:1px solid var(--border); border-radius:13px; text-decoration:none; color:var(--text); font-size:13px; transition:border-color .15s; }
.rl-suada:hover{ border-color:rgba(var(--primary-rgb),.5); }
.rl-suada-ic{ flex:none; width:28px; height:28px; display:flex; align-items:center; justify-content:center; border-radius:9px; background:rgba(var(--primary-rgb),.1); color:var(--primary-2); }
.rl-suada-ic .ic{ width:14px; }
.rl-suada-tx{ flex:1; min-width:0; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rl-suada-tx em{ font-style:normal; font-weight:400; color:var(--muted-2); margin-left:6px; }
.rl-suada b{ flex:none; font-size:12px; color:var(--muted); }
.rl-concs{ display:flex; flex-direction:column; }
.rl-conc{ display:flex; align-items:center; gap:14px; padding:9px 0; }
.rl-conc+.rl-conc{ border-top:1px solid var(--border); }
.rl-conc-n{ flex:none; width:190px; font-size:12.5px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rl-conc-b{ flex:1; height:7px; background:var(--track); border-radius:7px; overflow:hidden; }
.rl-conc-b div{ height:100%; border-radius:7px; }
.rl-conc-b .ok{ background:linear-gradient(90deg,var(--primary),var(--primary-2)); }
.rl-conc-b .meio{ background:#c98a2e; }
.rl-conc-b .baixo{ background:var(--error,#cf7a68); }
.rl-conc-v{ flex:none; width:88px; text-align:right; font-size:12.5px; font-weight:800; }
.rl-conc-v em{ display:block; font-style:normal; font-weight:400; font-size:10.5px; color:var(--muted-2); }

/* ---- PERFIL ---- */
.pf-hero{ position:relative; display:flex; align-items:center; gap:30px; padding:32px 34px; border-radius:22px; border:1px solid var(--border-2); background:radial-gradient(130% 170% at 0% 0%, rgba(var(--primary-rgb),.15), transparent 55%), var(--surface); margin-bottom:18px; flex-wrap:wrap; overflow:hidden; }
.pf-hero::after{ content:''; position:absolute; top:0; left:34px; right:34px; height:1px; background:linear-gradient(90deg,transparent,rgba(var(--primary-rgb),.6),transparent); }
.pf-emblema{ flex:none; filter:drop-shadow(0 10px 30px rgba(var(--primary-rgb),.4)); }
.pf-id{ flex:1; min-width:250px; }
.pf-nome{ font-family:var(--serif,Georgia,serif); font-size:32px; font-weight:800; margin:0 0 8px; letter-spacing:.01em; }
.pf-rankline{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.pf-rank-chip{ display:inline-flex; align-items:center; gap:7px; padding:5px 14px; border-radius:11px; background:linear-gradient(135deg,var(--primary-2),var(--primary)); color:#1c1606; font-size:12.5px; letter-spacing:.05em; text-transform:uppercase; }
.pf-rank-chip .ic{ width:13px; height:13px; }
.pf-rank-chip b{ font-weight:800; }
.pf-lv{ font-size:13px; color:var(--muted); font-weight:600; }
.pf-xpbar{ height:8px; max-width:380px; background:var(--track); border-radius:8px; overflow:hidden; }
.pf-xpbar div{ height:100%; border-radius:8px; background:linear-gradient(90deg,var(--primary),var(--primary-2)); box-shadow:0 0 10px rgba(var(--primary-rgb),.5); }
.pf-xpinfo{ display:flex; justify-content:space-between; max-width:380px; margin-top:6px; font-size:11px; color:var(--muted); }
.pf-meta{ display:flex; gap:20px; margin-top:14px; font-size:12.5px; color:var(--muted); flex-wrap:wrap; }
.pf-meta span{ display:inline-flex; align-items:center; gap:6px; }
.pf-meta .ic{ width:13px; height:13px; color:var(--primary-2); }
.pf-badges{ display:grid; grid-template-columns:repeat(auto-fill,minmax(148px,1fr)); gap:11px; }
.pf-badge{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; padding:16px 10px 13px; border-radius:15px; border:1px solid var(--border); background:var(--panel-2); transition:transform .14s, box-shadow .16s, border-color .16s; }
.pf-badge.won{ border-color:rgba(var(--primary-rgb),.45); }
.pf-badge.won:hover{ transform:translateY(-3px); box-shadow:0 10px 26px -14px rgba(var(--primary-rgb),.6); }
.pf-coin{ width:46px; height:46px; display:flex; align-items:center; justify-content:center; border-radius:50%; }
.pf-badge.won .pf-coin{ background:radial-gradient(circle at 32% 28%, #f3e3ac, var(--primary) 62%, #8a6c14); color:#1c1606; box-shadow:0 4px 14px -4px rgba(var(--primary-rgb),.65), inset 0 0 0 2px rgba(255,255,255,.22); }
.pf-badge.lock .pf-coin{ background:var(--track); color:var(--muted-2); }
.pf-coin .ic{ width:20px; height:20px; }
.pf-badge.lock{ opacity:.5; }
.pf-b-tx{ font-size:11.5px; font-weight:700; line-height:1.25; }
.pf-b-dt{ font-size:10px; color:var(--muted-2); }
.pf-areas{ display:flex; flex-direction:column; gap:4px; }
.pf-area{ display:flex; align-items:center; gap:14px; padding:10px 0; }
.pf-area+.pf-area{ border-top:1px solid var(--border); }
.pf-area-ic{ flex:none; width:36px; height:36px; display:flex; align-items:center; justify-content:center; border-radius:11px; background:var(--panel-2); border:1px solid var(--border); }
.pf-area-ic .ic{ width:17px; height:17px; }
.pf-area-mid{ flex:1; min-width:0; }
.pf-area-top{ display:flex; justify-content:space-between; gap:10px; font-size:13px; margin-bottom:6px; }
.pf-area-top span{ color:var(--muted); font-size:12px; }
.pf-area-p{ flex:none; width:44px; text-align:right; font-family:var(--serif,Georgia,serif); font-size:16px; color:var(--primary-2); }
.pf-foot{ text-align:center; color:var(--muted-2); font-size:12px; margin:24px 0 6px; letter-spacing:.04em; }
.avatar-sm{ cursor:pointer; transition:transform .14s, box-shadow .16s; text-decoration:none; }
.avatar-sm:hover{ transform:scale(1.07); box-shadow:0 0 0 2px rgba(var(--primary-rgb),.5); }
@media(max-width:640px){ .rl-cod{ display:none; } .rl-nums .n i{ display:none; } .pf-hero{ padding:24px 20px; gap:18px; } .pf-nome{ font-size:25px; } .rl-conc-n{ width:120px; } }

/* ---- PREMIUM / TIERS ---- */
.selo-premium{ display:inline-flex; align-items:center; gap:4px; vertical-align:middle; font-size:9.5px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:#1c1606; background:linear-gradient(135deg,var(--primary-3),var(--primary)); padding:2.5px 9px 2.5px 7px; border-radius:9px; margin-left:6px; }
.selo-premium .ic{ width:11px; height:11px; }
.trilha-locked{ position:relative; }
.trilha-locked .trilha-ordem{ background:rgba(var(--primary-rgb),.14); color:var(--primary-2); }
.tl-lock{ display:inline-flex; } .tl-lock .ic{ width:16px; height:16px; }
.trilha-locked:hover{ border-color:rgba(var(--primary-rgb),.5); }
.premium-lock{ max-width:560px; margin:36px auto; text-align:center; padding:40px 30px; border-radius:24px; border:1px solid var(--border-2); background:radial-gradient(130% 130% at 50% 0%,rgba(var(--primary-rgb),.16),transparent 60%),var(--surface); box-shadow:var(--shadow-elev); }
.pl-coin{ width:78px; height:78px; margin:0 auto 18px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:radial-gradient(circle at 32% 28%,#f3e3ac,var(--primary) 62%,#8a6c14); color:#1c1606; box-shadow:0 10px 30px -8px rgba(var(--primary-rgb),.6), inset 0 0 0 2px rgba(255,255,255,.25); }
.pl-coin .ic{ width:34px; height:34px; }
.pl-eyebrow{ display:inline-block; font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--primary-2); margin-bottom:8px; }
.premium-lock h1{ font-family:var(--serif,Georgia,serif); font-size:30px; font-weight:800; margin:0 0 12px; }
.premium-lock p{ color:var(--muted); font-size:14.5px; line-height:1.6; margin:0 auto 18px; max-width:420px; }
.pl-price{ margin:6px 0 18px; } .pl-price b{ font-family:var(--serif,Georgia,serif); font-size:40px; color:var(--primary-2); } .pl-price span{ color:var(--muted); font-size:15px; }
.pl-perks{ display:grid; grid-template-columns:1fr 1fr; gap:9px 18px; max-width:440px; margin:0 auto 24px; text-align:left; }
.pl-perks-wide{ grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); max-width:820px; margin-top:20px; }
.pl-perks span{ display:flex; align-items:center; gap:9px; font-size:13px; color:var(--text); }
.pl-perks .ic{ width:15px; height:15px; color:var(--primary-2); flex:none; }
.pl-cta{ display:inline-flex; padding:13px 30px; font-size:15px; }
.pl-alt{ display:block; margin-top:14px; color:var(--muted-2); font-size:12.5px; text-decoration:none; }
.pl-alt:hover{ color:var(--muted); } .pl-alt-p{ text-align:center; color:var(--muted-2); font-size:12.5px; margin-top:16px; }
.plans-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; max-width:620px; margin:8px 0 20px; }
.plan{ position:relative; border:1px solid var(--border); border-radius:18px; padding:26px 22px; text-align:center; background:var(--surface); }
.plan-hot{ border-color:var(--primary); box-shadow:0 12px 34px -16px rgba(var(--primary-rgb),.55); }
.plan-tag{ position:absolute; top:-11px; left:50%; transform:translateX(-50%); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#1c1606; background:linear-gradient(135deg,var(--primary-3),var(--primary)); padding:4px 12px; border-radius:999px; }
.plan-nome{ font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); font-weight:700; }
.plan-preco{ margin:10px 0 18px; } .plan-preco b{ font-family:var(--serif,Georgia,serif); font-size:34px; } .plan-preco span{ display:block; font-size:12px; color:var(--muted); margin-top:2px; }
.plan-cta{ width:100%; }
.btn-ghost{ background:transparent; border:1px solid var(--primary); color:var(--primary-2); }
.btn-ghost:hover{ background:rgba(var(--primary-rgb),.08); }
.premium-note{ display:flex; align-items:flex-start; gap:10px; font-size:13px; color:var(--muted); line-height:1.55; margin:6px 0 20px; padding:14px 16px; }
.premium-note .ic{ width:16px; height:16px; color:var(--primary-2); flex:none; margin-top:2px; }
.sm-hero{ display:flex; align-items:center; gap:20px; padding:24px; margin-bottom:20px; }
.sm-ic{ flex:none; width:60px; height:60px; display:flex; align-items:center; justify-content:center; border-radius:16px; background:rgba(var(--primary-rgb),.12); color:var(--primary-2); }
.sm-ic .ic{ width:28px; height:28px; }
.sm-hero h2{ font-family:var(--serif,Georgia,serif); font-size:19px; margin:0 0 6px; }
.sm-hero p{ color:var(--muted); font-size:13.5px; margin:0; line-height:1.55; }
.sm-steps{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px; margin-bottom:22px; }
.sm-step{ text-align:center; padding:20px 14px; border:1px solid var(--border); border-radius:16px; background:var(--panel-2); }
.sm-step span{ display:inline-flex; width:40px; height:40px; align-items:center; justify-content:center; border-radius:12px; background:rgba(var(--primary-rgb),.1); color:var(--primary-2); margin-bottom:8px; }
.sm-step span .ic{ width:19px; height:19px; }
.sm-step b{ display:block; font-size:14px; } .sm-step em{ font-style:normal; font-size:12px; color:var(--muted); }
.sm-cta{ display:inline-flex; gap:8px; padding:13px 28px; } .sm-cta .ic{ width:16px; height:16px; }
.sm-form{ padding:24px; max-width:640px; display:flex; flex-direction:column; gap:14px; }
.sm-form-tit{ font-family:var(--serif,Georgia,serif); font-size:19px; margin:0 0 2px; }
.sm-form label{ display:flex; flex-direction:column; gap:6px; font-size:12.5px; font-weight:600; color:var(--muted); }
.sm-form input, .sm-form textarea{ font-family:inherit; font-size:14px; color:var(--text); background:var(--panel-2); border:1px solid var(--border); border-radius:11px; padding:11px 13px; outline:none; transition:border-color .15s, box-shadow .15s; }
.sm-form input::placeholder, .sm-form textarea::placeholder{ color:var(--muted-2); }
.sm-form input:focus, .sm-form textarea:focus{ border-color:var(--primary); box-shadow:0 0 0 3px rgba(var(--primary-rgb),.15); }
.sm-form textarea{ resize:vertical; }
.sm-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.sm-form .sm-cta{ align-self:flex-start; margin-top:4px; }
.sm-ok{ text-align:center; padding:26px; font-size:14.5px; line-height:1.7; color:var(--text); }
.sm-ok strong{ color:var(--primary-2); font-size:18px; font-family:var(--serif,Georgia,serif); }
@media(max-width:560px){ .sm-row{ grid-template-columns:1fr; } }

/* ============================================================
   CONVERSÃO — banners premium, cadeados de área, CTAs de upgrade
   ============================================================ */
.up-banner{ position:relative; overflow:hidden; margin:22px 0 10px; padding:26px 28px;
  border:1px solid var(--border-2); border-radius:18px;
  background:radial-gradient(120% 150% at 10% 0%, rgba(var(--primary-rgb),.16), transparent 55%), linear-gradient(160deg,var(--panel-2),var(--bg-2));
  box-shadow:var(--shadow-elev); }
.up-banner .up-glow{ position:absolute; inset:-45% -12% auto auto; width:300px; height:300px;
  background:radial-gradient(circle, rgba(var(--primary-rgb),.24), transparent 70%); pointer-events:none; }
.up-body{ position:relative; z-index:1; }
.up-eyebrow{ display:inline-flex; align-items:center; gap:6px; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--primary-2); font-weight:700; }
.up-eyebrow svg{ width:15px; height:15px; }
.up-tit{ font-family:var(--serif); font-size:clamp(20px,3.4vw,27px); color:var(--text); margin:9px 0 6px; font-weight:700; }
.up-sub{ color:var(--muted); font-size:15px; max-width:62ch; margin:0 0 18px; line-height:1.55; }
.up-sub strong{ color:var(--primary-2); }
.up-acoes{ display:flex; flex-wrap:wrap; gap:12px; }
.up-cta{ font-weight:700; }
.up-alt{ display:inline-flex; align-items:center; gap:8px; } .up-alt svg{ width:16px; height:16px; }

/* cadeado de área na home */
.area-card{ position:relative; }
.area-card.area-premium .area-ico{ opacity:.7; }
.area-selo{ position:absolute; top:10px; right:10px; display:inline-flex; align-items:center; gap:5px;
  font-size:10.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#1a1408;
  background:linear-gradient(135deg,var(--primary-2),var(--primary)); padding:4px 9px; border-radius:999px;
  box-shadow:0 4px 12px -4px rgba(var(--primary-rgb),.6); }
.area-selo svg{ width:12px; height:12px; }
.area-prem-tx{ display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600; color:var(--primary-2); }
.area-prem-tx svg{ width:14px; height:14px; }
.area-dev{ display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; color:var(--warning); }
.area-dev svg{ width:14px; height:14px; }

/* banners dentro do conteúdo (área/módulo) */
.cbanner{ display:flex; align-items:center; gap:14px; margin:18px 0; padding:16px 18px;
  border:1px solid var(--border-2); border-radius:14px; text-decoration:none;
  background:linear-gradient(160deg,var(--panel-2),var(--bg-2)); transition:transform .12s, border-color .12s, box-shadow .12s; }
.cbanner:hover{ transform:translateY(-2px); border-color:var(--primary); box-shadow:var(--shadow-glow); }
.cb-ic{ flex:0 0 auto; width:44px; height:44px; display:grid; place-items:center; border-radius:12px; color:var(--primary-2);
  background:radial-gradient(circle at 30% 30%, rgba(var(--primary-rgb),.28), rgba(var(--primary-rgb),.08)); }
.cb-ic svg{ width:22px; height:22px; }
.cb-tx{ flex:1; display:flex; flex-direction:column; gap:2px; }
.cb-tx b{ color:var(--text); font-size:15px; font-weight:700; }
.cb-tx em{ color:var(--muted); font-style:normal; font-size:13px; }
.cb-arr{ color:var(--primary-2); font-size:20px; font-weight:700; }

/* rail lateral: CTA premium */
a.rail-upgrade{ display:block; text-decoration:none; position:relative; overflow:hidden;
  background:radial-gradient(120% 120% at 100% 0%, rgba(var(--primary-rgb),.18), transparent 60%), linear-gradient(160deg,var(--panel-2),var(--bg-2));
  border:1px solid var(--border-2); transition:transform .12s, box-shadow .12s, border-color .12s; }
a.rail-upgrade:hover{ transform:translateY(-2px); box-shadow:var(--shadow-glow); border-color:var(--primary); }
.ru-badge{ display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--primary-2); }
.ru-badge svg{ width:13px; height:13px; }
.ru-t{ font-family:var(--serif); font-size:19px; color:var(--text); font-weight:700; margin:6px 0 4px; }
.ru-s{ color:var(--muted); font-size:12.5px; line-height:1.45; }
.ru-cta{ display:inline-block; margin-top:12px; color:var(--primary-2); font-weight:700; font-size:13px; }
.rail-premium-on{ display:flex; gap:12px; align-items:center; }
.rail-premium-on .rp-ic{ color:var(--primary-2); } .rail-premium-on .rp-ic svg{ width:26px; height:26px; }
.rail-premium-on .rp-t{ font-weight:700; color:var(--text); }
.rail-premium-on .rp-s{ font-size:12px; color:var(--muted); }
a.rail-sob{ display:flex; align-items:center; gap:11px; text-decoration:none; }
a.rail-sob .rs-ic{ color:var(--primary-2); } a.rail-sob .rs-ic svg{ width:22px; height:22px; }
a.rail-sob .rs-tx{ flex:1; display:flex; flex-direction:column; }
a.rail-sob .rs-tx b{ color:var(--text); font-size:13.5px; } a.rail-sob .rs-tx em{ color:var(--muted); font-style:normal; font-size:12px; }
a.rail-sob .rs-arr{ color:var(--primary-2); font-weight:700; }

/* ============================================================
   MOBILE — tráfego do LinkedIn é majoritariamente celular
   ============================================================ */
@media (max-width:760px){
  .conteudo{ padding:16px 14px 96px; }
  .pagina-titulo{ font-size:22px; }
  .home-main{ order:1; } .home-aside{ order:2; }          /* conteúdo antes do rail */
  .areas-grid{ grid-template-columns:repeat(2,1fr); gap:10px; }
  .area-card{ padding:14px; } .area-nome{ font-size:14px; }
  .trilhas-grid{ grid-template-columns:1fr; }
  /* topbar mais limpa */
  .topbar{ gap:8px; padding:10px 12px; }
  .search{ flex:1 1 auto; min-width:0; } .search input{ width:100%; }
  .foco-toggle,.nivel-chip{ display:none; }
  /* banners e paywall */
  .up-banner{ padding:18px 16px; } .up-acoes{ flex-direction:column; }
  .up-acoes .btn{ width:100%; text-align:center; }
  .cbanner{ padding:14px; gap:11px; } .cb-tx b{ font-size:14px; }
  .plans-grid{ grid-template-columns:1fr; }
  .premium-lock{ padding:28px 18px; } .pl-perks{ grid-template-columns:1fr; }
}
@media (max-width:430px){ .areas-grid{ grid-template-columns:1fr; } }
/* alvos de toque confortáveis no celular */
@media (hover:none){ .btn,.nav-link,.area-card,.trilha-card,.modulo-card{ min-height:44px; } }

/* ============================================================
   PAINEL DO DONO (admin)
   ============================================================ */
.adm-kpis{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:18px 0 8px; }
.adm-kpi{ background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:16px 18px; }
.adm-kpi .ak-ic{ width:34px; height:34px; display:grid; place-items:center; border-radius:9px; color:var(--primary-2); background:rgba(var(--primary-rgb),.12); margin-bottom:8px; }
.adm-kpi .ak-ic svg{ width:18px; height:18px; }
.adm-kpi .ak-ic.gold{ color:var(--gold); } .adm-kpi .ak-ic.ok{ color:var(--success); }
.adm-kpi .ak-v{ font-family:var(--serif); font-size:24px; font-weight:700; color:var(--text); }
.adm-kpi .ak-l{ font-size:12px; color:var(--muted); }
.adm-sec{ margin-top:18px; }
.adm-count{ background:rgba(var(--primary-rgb),.15); color:var(--primary-2); font-size:12px; padding:2px 8px; border-radius:999px; margin-left:6px; }
.adm-leads{ display:flex; flex-direction:column; gap:12px; }
.adm-lead{ border:1px solid var(--border); border-left:3px solid var(--border-2); border-radius:12px; padding:14px 16px; background:var(--panel-2); }
.adm-lead.lead-novo{ border-left-color:var(--primary); box-shadow:0 0 0 1px rgba(var(--primary-rgb),.12); }
.adm-lead.lead-concluido{ opacity:.6; } .adm-lead.lead-arquivado{ opacity:.42; }
.al-top{ display:flex; justify-content:space-between; align-items:center; gap:10px; }
.al-obj{ font-weight:700; color:var(--text); font-size:15px; }
.al-badge{ font-size:11px; padding:2px 9px; border-radius:999px; white-space:nowrap; }
.al-badge.st-novo{ background:rgba(var(--primary-rgb),.18); color:var(--primary-2); }
.al-badge.st-em_andamento{ background:rgba(214,164,76,.18); color:var(--warning); }
.al-badge.st-concluido{ background:rgba(159,179,122,.18); color:var(--success); }
.al-badge.st-arquivado{ background:var(--panel); color:var(--muted); }
.al-meta{ font-size:13px; color:var(--muted); margin:6px 0; } .al-meta b{ color:var(--text); }
.al-contato{ color:var(--primary-2); font-weight:600; }
.al-det{ font-size:13px; color:var(--muted-2); margin:4px 0 8px; line-height:1.5; }
.al-acoes{ display:flex; flex-wrap:wrap; gap:8px; }
.btn-pequeno{ font-size:12px; padding:5px 12px; border-radius:8px; }
.adm-form{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.adm-form input,.adm-form select{ padding:10px 12px; border:1px solid var(--border-2); border-radius:9px; background:var(--panel); color:var(--text); font-size:14px; }
.adm-form input{ flex:1; min-width:220px; }
.adm-msg{ margin-top:10px; font-size:13px; } .adm-msg .ok{ color:var(--success); } .adm-msg .erro{ color:var(--error); }
.adm-tabela-wrap{ overflow-x:auto; }
.adm-tabela{ width:100%; border-collapse:collapse; font-size:13.5px; }
.adm-tabela th{ text-align:left; color:var(--muted); font-weight:600; padding:8px 10px; border-bottom:1px solid var(--border-2); font-size:12px; text-transform:uppercase; letter-spacing:.04em; }
.adm-tabela td{ padding:9px 10px; border-bottom:1px solid var(--border); color:var(--text); }
.st-sub{ font-size:11px; padding:2px 8px; border-radius:999px; }
.st-sub.st-aprovado{ background:rgba(159,179,122,.18); color:var(--success); }
.st-sub.st-pendente{ background:rgba(214,164,76,.18); color:var(--warning); }
.st-sub.st-rejeitado,.st-sub.st-cancelado{ background:rgba(207,122,104,.16); color:var(--error); }
.adm-vazio{ color:var(--muted); font-size:13.5px; padding:14px; text-align:center; }
@media (max-width:760px){ .adm-kpis{ grid-template-columns:1fr 1fr; } .adm-form input{ min-width:100%; } }
.st-assin{ font-size:11px; padding:2px 8px; border-radius:999px; white-space:nowrap; }
.st-assin.st-ativo{ background:rgba(159,179,122,.18); color:var(--success); }
.st-assin.st-expira{ background:rgba(214,164,76,.18); color:var(--warning); }
.st-assin.st-expirado{ background:rgba(207,122,104,.16); color:var(--error); }
.adm-voce{ font-size:11px; color:var(--muted); }
.adm-teste-p{ color:var(--muted); font-size:13.5px; margin-bottom:12px; line-height:1.5; }

/* CTA "Trilha sob medida" na sidebar (o diferencial de maior margem) */
.side-cta{ display:flex; align-items:center; gap:10px; margin:10px 12px 4px; padding:11px 13px; border-radius:12px; text-decoration:none;
  background:radial-gradient(120% 130% at 100% 0%, rgba(var(--primary-rgb),.22), transparent 62%), linear-gradient(160deg,var(--panel-2),var(--bg-2));
  border:1px solid var(--border-2); transition:transform .12s, box-shadow .12s, border-color .12s; }
.side-cta:hover{ transform:translateY(-1px); border-color:var(--primary); box-shadow:var(--shadow-glow); }
.side-cta-ic{ color:var(--primary-2); display:grid; place-items:center; } .side-cta-ic svg{ width:20px; height:20px; }
.side-cta-tx{ display:flex; flex-direction:column; line-height:1.25; }
.side-cta-tx b{ color:var(--text); font-size:13px; } .side-cta-tx em{ color:var(--primary-2); font-style:normal; font-size:11px; }

/* banner de renovação / expiração do premium */
.renov-banner{ display:flex; align-items:center; gap:12px; margin:0 0 16px; padding:14px 18px; border-radius:14px; }
.renov-banner .rb-ic{ flex:0 0 auto; display:grid; place-items:center; } .renov-banner .rb-ic svg{ width:22px; height:22px; }
.renov-banner .rb-tx{ flex:1; font-size:14px; color:var(--text); line-height:1.5; } .renov-banner .rb-tx b{ font-weight:700; }
.renov-banner .rb-cta{ flex:0 0 auto; white-space:nowrap; }
.renov-aviso{ background:rgba(214,164,76,.12); border:1px solid rgba(214,164,76,.4); } .renov-aviso .rb-ic{ color:var(--warning); }
.renov-expirado{ background:rgba(207,122,104,.12); border:1px solid rgba(207,122,104,.4); } .renov-expirado .rb-ic{ color:var(--error); }
@media (max-width:760px){ .renov-banner{ flex-wrap:wrap; } .renov-banner .rb-cta{ width:100%; text-align:center; } }

/* ============================================================
   LANDING (tela de entrada — tráfego frio do LinkedIn)
   ============================================================ */
.landing{ min-height:100vh; display:grid; grid-template-columns:1.1fr .9fr; }
.lp-hero{ padding:clamp(28px,6vw,80px); display:flex; flex-direction:column; justify-content:center;
  background:radial-gradient(120% 100% at 0% 0%, rgba(var(--primary-rgb),.14), transparent 55%), linear-gradient(160deg,var(--bg-2),var(--bg)); }
.lp-hero .auth-logo{ font-family:var(--serif); font-size:44px; font-weight:800; color:var(--text); margin-bottom:22px; }
.lp-h1{ font-family:var(--serif); font-size:clamp(28px,4vw,44px); line-height:1.12; color:var(--text); font-weight:700; margin:0 0 16px; max-width:17ch; }
.lp-sub{ color:var(--muted); font-size:clamp(15px,1.6vw,18px); line-height:1.55; max-width:46ch; margin:0 0 28px; }
.lp-feats{ display:grid; grid-template-columns:1fr 1fr; gap:16px 20px; margin-bottom:26px; max-width:520px; }
.lp-feat{ display:flex; gap:11px; align-items:flex-start; }
.lp-feat-ic{ color:var(--primary-2); flex:0 0 auto; margin-top:2px; } .lp-feat-ic svg{ width:20px; height:20px; }
.lp-feat-tx b{ display:block; color:var(--text); font-size:15px; } .lp-feat-tx em{ color:var(--muted); font-style:normal; font-size:13px; }
.lp-free{ display:inline-block; color:var(--text); font-size:14px; background:rgba(var(--primary-rgb),.1); border:1px solid var(--border-2); padding:10px 16px; border-radius:999px; }
.lp-free b{ color:var(--primary-2); }
.landing .auth-card{ align-self:center; justify-self:center; width:min(400px,92%); margin:0; }
.auth-logo-sm{ font-family:var(--serif); font-size:30px; font-weight:800; color:var(--text); text-align:center; margin-bottom:14px; }
.auth-foot{ text-align:center; margin-top:16px; font-size:12.5px; color:var(--muted); }
.auth-foot a{ color:var(--muted); text-decoration:underline; } .auth-foot a:hover{ color:var(--primary-2); }
@media (max-width:900px){
  .landing{ grid-template-columns:1fr; }
  .lp-hero{ padding:38px 22px 8px; text-align:center; align-items:center; }
  .lp-h1,.lp-sub{ max-width:none; } .lp-feats{ grid-template-columns:1fr; text-align:left; max-width:340px; }
  .lp-hero .auth-logo{ display:none; }
  .landing .auth-card{ margin:8px auto 40px; }
}

/* ===== PÁGINAS LEGAIS (Termos / Privacidade) ===== */
.legal-wrap{ min-height:100vh; padding:40px 20px 60px; background:var(--bg); display:flex; justify-content:center; }
.legal-card{ width:min(760px,100%); }
.legal-back{ color:var(--muted); text-decoration:none; font-size:14px; } .legal-back:hover{ color:var(--primary-2); }
.legal-card .auth-logo-sm{ text-align:left; margin:18px 0 6px; }
.legal-h1{ font-family:var(--serif); font-size:30px; color:var(--text); font-weight:700; margin:0 0 8px; }
.legal-body{ color:var(--muted); font-size:15px; line-height:1.7; }
.legal-body h2{ color:var(--text); font-size:17px; font-weight:700; margin:22px 0 6px; font-family:var(--serif); }
.legal-body p{ margin:0 0 6px; } .legal-body b{ color:var(--text); }
.legal-upd{ font-size:13px; color:var(--muted-2); font-style:italic; margin-bottom:10px; }
.legal-foot{ margin-top:30px; padding-top:16px; border-top:1px solid var(--border); font-size:13px; color:var(--muted); }
.legal-foot a{ color:var(--muted); text-decoration:underline; } .legal-foot a:hover{ color:var(--primary-2); }
.premium-legal{ text-align:center; color:var(--muted-2); font-size:12.5px; margin-top:18px; }
.premium-legal a{ color:var(--muted); text-decoration:underline; } .premium-legal a:hover{ color:var(--primary-2); }

/* ===== Trilhas profissionais sob encomenda (ímã de lead) — seção em destaque ===== */
.prof-sec{ padding:18px 20px 22px; border-radius:16px; border:1px solid var(--border-2); margin:4px 0 10px;
  background:radial-gradient(120% 100% at 0% 0%, rgba(var(--primary-rgb),.1), transparent 60%), linear-gradient(160deg,var(--panel-2),var(--bg-2)); }
.prof-sec .grupo-titulo{ margin-top:0; }
.prof-sec .prof-sub{ color:var(--muted); font-size:14px; margin:-6px 0 14px; }
.prof-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:12px; }
.prof-card{ position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:6px; padding:16px; border-radius:14px; text-decoration:none;
  border:1px solid var(--border-2); background:linear-gradient(160deg,var(--panel-2),var(--bg-2)); transition:transform .12s, border-color .12s, box-shadow .12s; }
.prof-card:hover{ transform:translateY(-2px); border-color:var(--primary); box-shadow:var(--shadow-glow); }
.prof-lock{ position:absolute; top:10px; right:10px; color:var(--primary-2); } .prof-lock svg{ width:15px; height:15px; }
.prof-ic{ color:var(--primary-2); } .prof-ic svg{ width:26px; height:26px; }
.prof-nome{ color:var(--text); font-weight:700; font-size:15px; }
.prof-cta{ color:var(--primary-2); font-size:12.5px; font-weight:600; }
@media (max-width:760px){ .prof-grid{ grid-template-columns:1fr 1fr; } }

/* Reset do gradiente azul herdado (inteligencia.css) nos logos Elite */
.boot-logo, .boot-logo span{ background:none; -webkit-text-fill-color:currentColor; }
.lp-hero .auth-logo, .auth-logo-sm{ background:none; -webkit-text-fill-color:var(--text); }
.lp-hero .auth-logo .gold-foil, .auth-logo-sm .gold-foil{ -webkit-text-fill-color:transparent; }

/* Módulo "em produção" (vitrine premium sem exercícios) */
.emp-breve{ text-align:center; padding:32px 22px; }
.emp-breve .eb-ic{ color:var(--primary-2); display:inline-flex; margin-bottom:8px; } .emp-breve .eb-ic svg{ width:34px; height:34px; }
.emp-breve h3{ font-family:var(--serif); color:var(--text); font-size:20px; margin:4px 0 6px; }
.emp-breve p{ color:var(--muted); font-size:14px; max-width:46ch; margin:0 auto; line-height:1.6; }
.emp-breve a{ color:var(--primary-2); font-weight:600; text-decoration:none; }

/* Histórico de premium (auditoria) */
.hist-acao{ font-size:11px; padding:2px 8px; border-radius:999px; white-space:nowrap; }
.hist-acao.ha-conceder{ background:rgba(159,179,122,.18); color:var(--success); }
.hist-acao.ha-pagamento{ background:rgba(var(--primary-rgb),.16); color:var(--primary-2); }
.hist-acao.ha-remover{ background:rgba(207,122,104,.16); color:var(--error); }

/* ============================================================
   FEEDBACK — botão flutuante + modal + painel
   ============================================================ */
.fab-feedback{ position:fixed; right:20px; bottom:20px; z-index:60; display:inline-flex; align-items:center; gap:8px;
  padding:12px 18px; border-radius:999px; border:none; cursor:pointer; font-weight:700; font-size:14px; color:#1a1408;
  background:linear-gradient(135deg,var(--primary),var(--primary-2)); box-shadow:0 10px 26px -8px rgba(var(--primary-rgb),.7);
  transition:transform .12s, box-shadow .12s; }
.fab-feedback:hover{ transform:translateY(-2px); box-shadow:0 14px 30px -8px rgba(var(--primary-rgb),.85); }
.fab-feedback svg{ width:18px; height:18px; }
@media (max-width:600px){ .fab-feedback{ right:14px; bottom:76px; padding:13px; } .fab-feedback .fab-tx{ display:none; } }

.fb-overlay{ position:fixed; inset:0; z-index:120; background:rgba(0,0,0,.55); display:flex; align-items:center; justify-content:center; padding:18px; }
.fb-modal{ position:relative; width:min(480px,100%); background:var(--panel); border:1px solid var(--border-2); border-radius:16px; padding:24px; box-shadow:var(--shadow-elev); }
.fb-close{ position:absolute; top:10px; right:14px; background:none; border:none; color:var(--muted); font-size:24px; line-height:1; cursor:pointer; }
.fb-close:hover{ color:var(--text); }
.fb-tit{ font-family:var(--serif); font-size:20px; color:var(--text); margin:0 0 4px; }
.fb-sub{ color:var(--muted); font-size:13.5px; margin:0 0 14px; line-height:1.5; }
.fb-tipos{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.fb-tipo{ padding:7px 14px; border-radius:999px; border:1px solid var(--border-2); background:var(--panel-2); color:var(--muted); font-size:13px; cursor:pointer; }
.fb-tipo.ativo{ background:rgba(var(--primary-rgb),.16); border-color:var(--primary); color:var(--primary-2); font-weight:700; }
.fb-modal textarea{ width:100%; padding:12px; border:1px solid var(--border-2); border-radius:10px; background:var(--panel-2); color:var(--text); font-size:14px; resize:vertical; font-family:inherit; }
.fb-msg-erro{ color:var(--error); font-size:13px; min-height:16px; margin-top:6px; }
.fb-acoes{ display:flex; justify-content:flex-end; gap:10px; margin-top:8px; }

.fb-item.fb-resolvido{ opacity:.55; } .fb-item.fb-visto{ opacity:.82; }
.fb-tipo-badge{ font-size:11px; font-weight:700; padding:2px 9px; border-radius:999px; }
.fb-tipo-badge.ft-erro{ background:rgba(207,122,104,.16); color:var(--error); }
.fb-tipo-badge.ft-dificuldade{ background:rgba(214,164,76,.18); color:var(--warning); }
.fb-tipo-badge.ft-sugestao{ background:rgba(159,179,122,.18); color:var(--success); }
.fb-tipo-badge.ft-outro{ background:var(--panel); color:var(--muted); }
.fb-texto{ color:var(--text); font-size:14px; margin:8px 0 6px; line-height:1.5; white-space:pre-wrap; }
.al-meta code{ background:var(--panel); padding:1px 6px; border-radius:5px; font-size:12px; color:var(--primary-2); }
.adm-kpis{ grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); }

/* ============================================================
   CHAT DE AJUDA — botão, painel, bolhas + inbox no painel
   ============================================================ */
.fab-chat{ position:fixed; right:20px; bottom:76px; z-index:60; display:inline-flex; align-items:center; gap:8px;
  padding:12px 18px; border-radius:999px; border:1px solid var(--border-2); cursor:pointer; font-weight:700; font-size:14px;
  background:var(--panel); color:var(--text); box-shadow:var(--shadow-elev); transition:transform .12s, border-color .12s; }
.fab-chat:hover{ transform:translateY(-2px); border-color:var(--primary); }
.fab-chat svg{ width:18px; height:18px; color:var(--primary-2); }
.fab-badge{ position:absolute; top:-6px; right:-6px; min-width:20px; height:20px; padding:0 5px; border-radius:999px;
  background:var(--error); color:#fff; font-size:11px; font-weight:700; display:grid; place-items:center; }
@media (max-width:600px){ .fab-chat{ bottom:132px; padding:13px; } }

.chat-panel{ position:fixed; right:20px; bottom:20px; z-index:130; width:min(360px,calc(100vw - 32px)); height:min(520px,72vh);
  display:flex; flex-direction:column; background:var(--panel); border:1px solid var(--border-2); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-elev); }
.chat-head{ display:flex; align-items:center; justify-content:space-between; padding:12px 16px; border-bottom:1px solid var(--border); background:var(--panel-2); }
.chat-titulo{ display:inline-flex; align-items:center; gap:8px; font-weight:700; color:var(--text); }
.chat-titulo svg{ width:18px; height:18px; color:var(--primary-2); }
.chat-close{ background:none; border:none; color:var(--muted); font-size:22px; line-height:1; cursor:pointer; } .chat-close:hover{ color:var(--text); }
.chat-body{ flex:1; overflow-y:auto; padding:14px; display:flex; flex-direction:column; gap:8px; }
.chat-vazio{ color:var(--muted); font-size:13.5px; text-align:center; margin:auto; padding:20px; }
.chat-bolha{ max-width:82%; }
.cb-mine{ align-self:flex-end; } .cb-theirs{ align-self:flex-start; }
.cb-msg{ padding:8px 12px; border-radius:12px; font-size:14px; line-height:1.45; white-space:pre-wrap; }
.cb-mine .cb-msg{ background:linear-gradient(135deg,var(--primary),var(--primary-2)); color:#1a1408; border-bottom-right-radius:4px; }
.cb-theirs .cb-msg{ background:var(--panel-2); color:var(--text); border:1px solid var(--border); border-bottom-left-radius:4px; }
.cb-hora{ font-size:10.5px; color:var(--muted-2); margin-top:2px; } .cb-mine .cb-hora{ text-align:right; }
.chat-input{ display:flex; gap:8px; padding:10px; border-top:1px solid var(--border); }
.chat-input input{ flex:1; padding:10px 12px; border:1px solid var(--border-2); border-radius:10px; background:var(--panel-2); color:var(--text); font-size:14px; }
.chat-input .btn{ padding:8px 14px; }

.adm-convs{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:10px; }
.adm-conv{ text-align:left; cursor:pointer; border:1px solid var(--border); border-radius:12px; padding:12px 14px; background:var(--panel-2); transition:border-color .12s, transform .12s; }
.adm-conv:hover{ border-color:var(--primary); transform:translateY(-1px); }
.adm-conv.tem-novo{ border-left:3px solid var(--primary); }
.ac-top{ display:flex; align-items:center; justify-content:space-between; color:var(--text); }
.ac-badge{ background:var(--error); color:#fff; font-size:11px; font-weight:700; padding:1px 7px; border-radius:999px; }
.ac-ult{ color:var(--muted); font-size:13px; margin:4px 0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ac-meta{ color:var(--muted-2); font-size:11.5px; }
.cadm-modal{ display:flex; flex-direction:column; max-height:82vh; }
.cadm-body{ min-height:240px; max-height:52vh; border:1px solid var(--border); border-radius:12px; margin:8px 0; }
.cadm-modal .chat-input{ border-top:none; padding:0; }

/* FIX tema claro: blocos de código da teoria têm fundo escuro nos 2 temas,
   então o texto precisa ser claro sempre (senão fica invisível no modo claro). */
.teoria pre, .teoria pre code{ color:#ece5d6; }
html.tema-claro .teoria pre, html.tema-claro .teoria pre code,
html.tema-claro .enunciado pre, html.tema-claro .exemplo pre, html.tema-claro .passo-txt pre{ color:#ece5d6; }

/* CTA de exploração sem conta (landing) — porta de entrada do tráfego pago.
   Botão primário: navegar o catálogo é a ação principal; o login fica secundário. */
.lp-explorar{ display:inline-flex; align-items:center; gap:8px; margin-top:18px; padding:13px 24px;
  background:linear-gradient(135deg,var(--primary),var(--primary-2)); color:#1c1606; font-weight:800;
  font-size:15.5px; text-decoration:none; border-radius:12px; box-shadow:0 8px 22px -8px rgba(var(--primary-rgb),.75);
  transition:transform .14s, box-shadow .16s; }
.lp-explorar:hover{ transform:translateY(-2px); box-shadow:0 12px 28px -8px rgba(var(--primary-rgb),.9); }
.lp-explorar-sub{ margin-top:9px; font-size:12.5px; color:var(--muted-2); }
.auth-motivo{ color:var(--primary-2) !important; background:rgba(var(--primary-rgb),.1); border:1px solid rgba(var(--primary-rgb),.3); border-radius:10px; padding:10px 12px; font-size:13.5px; line-height:1.45; }
.visitante-nota{ margin-top:8px; font-size:11.5px; color:var(--muted-2); text-align:center; line-height:1.4; }

/* Assinatura recorrente — tela Premium */
.plan-nota{ margin-top:8px; font-size:11.5px; color:var(--muted-2); }
.plan-avulso{ display:block; margin-top:6px; font-size:12px; color:var(--muted); text-decoration:underline; }
.plan-avulso:hover{ color:var(--primary-2); }
.ass-status{ margin:14px auto 4px; max-width:520px; padding:12px 16px; border-radius:12px; background:rgba(var(--primary-rgb),.1); border:1px solid rgba(var(--primary-rgb),.28); font-size:13.5px; line-height:1.5; }
.ass-status em{ display:block; color:var(--muted); font-style:normal; font-size:12.5px; margin-top:2px; }
.ass-status .btn{ margin-top:10px; }
