/* X9IA. Tema escuro com o amarelo-dourado do mascote. Mobile first (tráfego vem do Instagram). */
:root{
  --bg:#07090F;          /* fundo: preto azulado (mesmo tom do mascote) */
  --surface:#10141D;     /* cartões */
  --surface-2:#171C28;   /* caixas dentro dos cartões, campos */
  --line:#262D3C;        /* linhas e bordas */
  --text:#F4F5F7;        /* texto principal */
  --text-soft:#A7AEBC;   /* texto secundário */
  --neon:#F5B82E;        /* amarelo-dourado do chapéu do mascote (botões, destaques) */
  --neon-hover:#FFC94D;
  --neon-ink:#0A0A0A;    /* texto sobre o amarelo */
  --neon-bg:rgba(245,184,46,.10);
  --alto:#FF4D4D;  --alto-bg:rgba(255,77,77,.14);
  --medio:#FF8A3D; --medio-bg:rgba(255,138,61,.14);
  --baixo:#8C96A8; --baixo-bg:rgba(140,150,168,.16);
  --ok:#7CE38B;    --ok-bg:rgba(124,227,139,.12);
  --focus:#F5B82E;
}
*{box-sizing:border-box;}
[hidden]{display:none !important;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:'Montserrat',system-ui,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;
}
a{color:var(--neon);}
a:hover{color:var(--neon-hover);}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:2px;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.skip-link{position:absolute;left:-999px;top:8px;background:var(--neon);color:var(--neon-ink);padding:8px 12px;z-index:10;}
.skip-link:focus{left:8px;}

.wrap{max-width:760px;margin:0 auto;padding:24px 16px 64px;}

/* ---------- Abertura com o mascote ---------- */
.intro{position:fixed;inset:0;z-index:100;background:#000609;display:flex;align-items:center;justify-content:center;transition:opacity .6s ease;}
.intro video{width:100%;height:100%;object-fit:contain;}
.intro.saindo{opacity:0;pointer-events:none;}
.intro-skip{
  position:absolute;right:16px;bottom:24px;background:rgba(0,0,0,.55);color:#fff;border:1px solid rgba(255,255,255,.35);
  border-radius:20px;padding:8px 18px;font:600 13px 'Montserrat',sans-serif;cursor:pointer;
}
.intro-skip:hover{border-color:var(--neon);color:var(--neon);}
body.com-intro{overflow:hidden;}

/* ---------- Cabeçalho da marca ---------- */
.brand{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:28px;}
.brand a{text-decoration:none;}
.brand-name{font-family:'Montserrat',sans-serif;font-weight:800;font-size:28px;line-height:1.05;letter-spacing:-.02em;color:var(--text);display:block;}
.brand-name em{font-style:normal;color:var(--neon);}
.brand-sub{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft);font-weight:600;}
.brand-nav{display:flex;gap:16px;font-size:13.5px;font-weight:600;}
.brand-nav a{text-decoration:none;color:var(--text);}
.brand-nav a:hover{color:var(--neon);}

/* ---------- Títulos ---------- */
h1,h2,h3,h4{font-family:'Montserrat',sans-serif;color:var(--text);}
.hero{text-align:center;margin-bottom:24px;}
h1{font-weight:800;font-size:31px;line-height:1.15;letter-spacing:-.02em;margin:0 0 14px;}
.subtitle{font-size:15px;color:var(--text-soft);line-height:1.65;max-width:560px;margin:0 auto;}
.price-banner{
  margin:20px auto 0;background:var(--neon-bg);border:1.5px solid var(--neon);
  border-radius:10px;padding:12px 16px;font-size:14px;color:var(--text);max-width:560px;text-align:left;
}
.price-banner strong{color:var(--neon);}

.sub-bar{
  background:var(--ok-bg);border:1px solid rgba(124,227,139,.35);border-radius:10px;padding:10px 14px;font-size:13.5px;margin-bottom:16px;
  display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;
}
.notice{
  background:var(--medio-bg);border:1px solid rgba(255,138,61,.45);color:#FFB07A;border-radius:10px;
  padding:12px 16px;font-size:13.5px;line-height:1.6;margin-bottom:16px;
}
.notice.ok{background:var(--ok-bg);border-color:rgba(124,227,139,.35);color:var(--ok);}

/* ---------- Cartões e upload ---------- */
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px 16px;margin-bottom:24px;}
.dropzone{
  display:block;border:2px dashed var(--neon);border-radius:12px;padding:32px 16px;text-align:center;
  cursor:pointer;background:var(--neon-bg);transition:background .15s ease;
}
.dropzone:hover,.dropzone.dragover{background:rgba(245,184,46,.18);}
.dropzone:focus-within{outline:3px solid var(--focus);outline-offset:3px;}
.dropzone svg{display:block;width:36px;height:36px;stroke:var(--neon);margin:0 auto 10px;}
.dropzone-title{font-weight:700;font-size:15px;margin-bottom:4px;color:var(--text);}
.dropzone-hint{font-size:13px;color:var(--text-soft);line-height:1.6;}
.file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}
.file-chip{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-top:4px;font-size:14px;
}
.file-chip .name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}
.link-btn{background:none;border:none;color:var(--neon);font-size:13.5px;cursor:pointer;font-family:inherit;text-decoration:underline;padding:4px;}

.consent-row{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--text-soft);line-height:1.6;margin:18px 0 4px;}
.consent-row input{margin-top:3px;flex-shrink:0;width:18px;height:18px;accent-color:var(--neon);}
.cta-row{margin-top:20px;text-align:center;}
.hint{font-size:12.5px;color:var(--text-soft);margin-top:10px;line-height:1.55;}

/* ---------- Botões ---------- */
.btn{
  display:inline-block;background:var(--neon);color:var(--neon-ink);border:none;border-radius:10px;
  padding:14px 22px;font-family:'Montserrat',sans-serif;font-weight:800;font-size:14.5px;line-height:1.3;
  letter-spacing:.01em;cursor:pointer;text-decoration:none;transition:background .15s ease, transform .1s ease;min-height:50px;
}
.btn:hover{background:var(--neon-hover);color:var(--neon-ink);}
.btn:active{transform:scale(.98);}
.btn:disabled{background:#3A4050;color:#9AA1AE;cursor:not-allowed;}
.btn-block{display:block;width:100%;}
.btn-outline{
  display:inline-block;background:transparent;color:var(--neon);border:1.5px solid var(--neon);border-radius:10px;
  padding:12px 20px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;line-height:1.3;
  cursor:pointer;text-decoration:none;min-height:48px;
}
.btn-outline:hover{background:var(--neon-bg);color:var(--neon);}
.btn-outline:disabled{opacity:.5;cursor:not-allowed;}

/* ---------- Estados ---------- */
.status{text-align:center;font-size:14px;color:var(--text-soft);margin-top:16px;}
.spinner{
  display:inline-block;width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--neon);
  border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px;margin-right:8px;
}
@keyframes spin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s;}}
.error-box{
  background:var(--alto-bg);border:1px solid rgba(255,77,77,.5);color:#FF8A8A;border-radius:10px;
  padding:12px 16px;font-size:14px;line-height:1.6;margin-top:16px;
}
.success-box{
  background:var(--ok-bg);border:1px solid rgba(124,227,139,.35);color:var(--ok);border-radius:10px;
  padding:12px 16px;font-size:14px;line-height:1.6;margin-top:16px;
}

/* ---------- Relatório ---------- */
.ai-badge{
  display:inline-flex;align-items:center;gap:6px;background:var(--neon);color:var(--neon-ink);
  font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:5px 12px;border-radius:20px;margin-bottom:14px;
}
.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--neon);font-weight:700;margin-bottom:6px;}
.report h2{font-weight:800;font-size:24px;margin:0 0 12px;}
.summary-text{font-size:15px;line-height:1.75;margin:0 0 28px;color:var(--text);}
.section-title{
  font-weight:800;font-size:19px;margin:0 0 14px;border-bottom:1px solid var(--line);padding-bottom:8px;
}
.clause{border:1px solid var(--line);border-left:6px solid var(--baixo);border-radius:10px;padding:16px;margin-bottom:14px;background:var(--surface-2);}
.clause.alto{border-left-color:var(--alto);}
.clause.medio{border-left-color:var(--medio);}
.clause.baixo{border-left-color:var(--baixo);}
.badge{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:4px 10px;border-radius:20px;display:inline-block;margin-bottom:10px;}
.badge.alto{background:var(--alto-bg);color:#FF8A8A;}
.badge.medio{background:var(--medio-bg);color:#FFB07A;}
.badge.baixo{background:var(--baixo-bg);color:#C3CAD6;}
.clause-trecho{font-style:italic;font-size:15.5px;line-height:1.55;margin-bottom:12px;color:var(--text);}
.clause-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-soft);margin-bottom:2px;}
.clause-text{font-size:14px;line-height:1.65;margin:0 0 12px;}
.clause-text:last-child{margin-bottom:0;}
ul.ausentes{margin:0 0 8px;padding-left:20px;}
ul.ausentes li{font-size:14px;line-height:1.7;margin-bottom:6px;}
ul.ausentes li::marker{color:var(--neon);}
.muted{font-size:14px;color:var(--text-soft);}

.locked{
  border:2px solid var(--neon);border-radius:14px;padding:22px 16px;text-align:center;background:var(--neon-bg);margin:6px 0 8px;
}
.locked svg{width:28px;height:28px;stroke:var(--neon);margin-bottom:6px;}
.locked-count{font-weight:800;font-size:17px;margin-bottom:4px;}
.locked-hint{font-size:13.5px;color:var(--text-soft);margin:0 0 16px;}

.report-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:20px 0 4px;}

.disclaimer{
  font-size:12px;color:var(--text-soft);line-height:1.7;margin-top:28px;padding-top:16px;border-top:1px solid var(--line);
}

/* ---------- Camadas de serviço ---------- */
.tiers{margin-top:32px;}
.tiers-title{font-weight:800;font-size:21px;margin:0 0 14px;text-align:center;}
.tier{border:1px solid var(--line);border-radius:12px;padding:18px 16px;margin-bottom:14px;background:var(--surface-2);}
.tier.done{border-color:rgba(124,227,139,.35);background:var(--ok-bg);}
.tier-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px;}
.tier-name{font-weight:800;font-size:17px;margin:0;}
.tier-price{font-weight:800;font-size:15px;white-space:nowrap;color:var(--neon);}
.tier p{font-size:14px;color:var(--text-soft);margin:0 0 14px;}

/* ---------- Formulários ---------- */
.field{margin-bottom:14px;text-align:left;}
.field label{display:block;font-size:13px;font-weight:700;margin-bottom:4px;}
.field input,.field textarea,.field select{
  width:100%;font:inherit;font-size:16px;color:var(--text);background:var(--surface-2);border:1.5px solid #3A4252;border-radius:10px;padding:11px 12px;
}
.field textarea{min-height:96px;resize:vertical;}
.field input:focus,.field textarea:focus{border-color:var(--neon);outline:none;}
.field small{display:block;font-size:12px;color:var(--text-soft);margin-top:4px;}

/* ---------- Planos ---------- */
.plans-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:8px;}
.plan-card{
  background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px 18px;
  display:flex;flex-direction:column;position:relative;
}
.plan-card.featured{border:2px solid var(--neon);}
.plan-badge{
  position:absolute;top:-12px;left:18px;background:var(--neon);color:var(--neon-ink);
  font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:4px 12px;border-radius:20px;
}
.plan-name{font-weight:800;font-size:20px;margin:0 0 4px;}
.plan-price{font-size:30px;font-weight:800;margin-bottom:12px;}
.plan-price span{font-size:13px;font-weight:500;color:var(--text-soft);}
.plan-features{list-style:none;margin:0 0 18px;padding:0;flex-grow:1;}
.plan-features li{font-size:14px;line-height:1.55;margin-bottom:8px;padding-left:22px;position:relative;}
.plan-features li::before{content:"✓";position:absolute;left:0;color:var(--neon);font-weight:800;}
.trigger{font-size:22px;font-weight:800;color:var(--neon);text-align:center;margin:8px 0 18px;}
table.compare{width:100%;border-collapse:collapse;font-size:14px;background:var(--surface);}
table.compare th,table.compare td{border:1px solid var(--line);padding:10px;text-align:left;vertical-align:top;}
table.compare th{background:var(--surface-2);font-weight:700;}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}

/* ---------- Painel ---------- */
.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 20px;}
.stat{background:var(--surface-2);border-radius:10px;padding:12px;}
.stat-label{font-size:12px;color:var(--text-soft);}
.stat-value{font-size:20px;font-weight:800;}
table.history{width:100%;border-collapse:collapse;font-size:13.5px;}
table.history th,table.history td{border-bottom:1px solid var(--line);padding:8px 6px;text-align:left;}

/* ---------- Páginas de texto (Termos, Privacidade) ---------- */
.prose h1{font-size:30px;}
.prose h2{font-weight:800;font-size:19px;margin:28px 0 8px;}
.prose p,.prose li{font-size:15px;line-height:1.75;}
.prose .updated{font-size:13px;color:var(--text-soft);}

footer.site{text-align:center;font-size:12.5px;color:var(--text-soft);margin-top:40px;line-height:1.9;border-top:1px solid var(--line);padding-top:18px;}

@media (min-width:700px){
  .wrap{padding:32px 24px 80px;}
  h1{font-size:44px;}
  .card{padding:32px;}
  .plans-grid{grid-template-columns:repeat(3,1fr);}
  .stats{grid-template-columns:repeat(4,1fr);}
}

/* ---------- Impressão / "Baixar em PDF": sempre fundo branco e texto preto ---------- */
@media print{
  :root{--bg:#fff;--surface:#fff;--surface-2:#fff;--line:#ccc;--text:#000;--text-soft:#333;--neon:#000;--neon-ink:#fff;--neon-bg:#fff;}
  body{background:#fff;color:#000;font-size:12pt;}
  .no-print,.brand-nav,.tiers,.report-actions,footer.site,.sub-bar,.notice,#upload-card,.hero{display:none !important;}
  .card{border:none;padding:0;}
  .clause{break-inside:avoid;}
  .badge.alto,.badge.medio,.badge.baixo{background:#eee;color:#000;}
  .wrap{max-width:none;padding:0;}
  a{color:inherit;text-decoration:none;}
}
