:root{--bg:#0b1410;--green:#1fe59b;--green2:#cffff0;--text:#f5fff9;--muted:#a9c2b6;--line:rgba(255,255,255,.13);--yellow:#ffd36a}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:radial-gradient(circle at top right,rgba(31,229,155,.20),transparent 340px),linear-gradient(180deg,var(--bg),#050807);color:var(--text)}
.wrap{max-width:760px;margin:0 auto;padding:18px 16px 50px}.hero{padding:18px 0}.top{display:flex;justify-content:space-between;align-items:center;gap:10px}.brand{font-size:30px;font-weight:950;letter-spacing:-.06em}.brand span{color:var(--green);margin-left:3px}.tag{font-size:13px;font-weight:800;border:1px solid rgba(31,229,155,.4);border-radius:99px;padding:7px 10px;color:var(--green2);background:rgba(31,229,155,.09)}
h1{font-size:clamp(32px,8vw,50px);letter-spacing:-.065em;line-height:.95;margin:24px 0 12px}h2{font-size:22px;margin:0 0 14px;letter-spacing:-.03em}.mini-title{margin-top:24px}p{color:var(--muted);line-height:1.5}.privacy{margin-top:16px;padding:13px;border:1px solid rgba(31,229,155,.38);background:rgba(31,229,155,.10);border-radius:16px;color:var(--green2);font-weight:650;line-height:1.4}
.card{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));border:1px solid var(--line);border-radius:25px;padding:18px;margin:16px 0;box-shadow:0 24px 60px rgba(0,0,0,.22)}
.tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:rgba(0,0,0,.25);padding:6px;border-radius:16px;margin-bottom:16px}.tabs button{border:0;border-radius:12px;background:transparent;color:var(--muted);padding:13px;font-weight:900}.tabs button.active{background:var(--green);color:#06120d}
label{display:block;color:var(--green2);font-weight:850;margin:14px 0 7px}label span{font-weight:600;color:var(--muted);font-size:13px}input,select{width:100%;padding:15px;border-radius:15px;border:1px solid var(--line);background:rgba(0,0,0,.22);color:var(--text);font-size:18px;outline:none}input:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(31,229,155,.13)}
button{cursor:pointer}#calc,#save{width:100%;border:0;border-radius:16px;background:var(--green);color:#06120d;padding:16px;font-size:18px;font-weight:950;margin-top:18px}.ghost{width:100%;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.06);color:var(--text);padding:14px;font-weight:850}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hero-result{background:rgba(31,229,155,.12);border:1px solid rgba(31,229,155,.42);border-radius:20px;padding:18px;margin-bottom:14px;text-align:center}.hero-result small{display:block;color:var(--green2);font-weight:900}.hero-result strong{display:block;font-size:48px;letter-spacing:-.05em;color:var(--green);margin-top:4px}
.kpis{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.box{border:1px solid var(--line);background:rgba(0,0,0,.22);border-radius:18px;padding:14px}.box small{display:block;color:var(--muted);font-weight:800}.box strong{display:block;font-size:27px;margin-top:4px;color:var(--green2)}.box .sub{margin-top:7px;color:var(--muted);font-size:13px}
.invoice{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:rgba(0,0,0,.18)}.row{display:flex;justify-content:space-between;gap:14px;padding:12px 13px;border-bottom:1px solid var(--line)}.row:last-child{border:0}.row strong{text-align:right}.total{background:rgba(31,229,155,.13);font-size:20px;color:var(--green2);font-weight:950}
.note{margin-top:14px;border-radius:16px;padding:14px;border:1px solid rgba(31,229,155,.3);background:rgba(31,229,155,.08);color:var(--green2);line-height:1.45}.warn{border-color:rgba(255,211,106,.35);background:rgba(255,211,106,.11);color:#ffe6a2}.muted{color:var(--muted)}.histItem{border:1px solid var(--line);border-radius:16px;padding:12px;margin-top:10px;background:rgba(0,0,0,.18)}.histItem strong{color:var(--green2)}
@media(max-width:560px){.kpis,.actions{grid-template-columns:1fr}.row{font-size:15px}.row.total{font-size:18px}.hero-result strong{font-size:42px}}

.tariff-hero{border:1px solid rgba(31,229,155,.55);background:linear-gradient(135deg,rgba(31,229,155,.18),rgba(31,229,155,.06));border-radius:24px;padding:18px;margin:0 0 16px;box-shadow:0 18px 50px rgba(0,0,0,.22)}
.tariff-hero .label{color:var(--green2);font-weight:900;font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.tariff-hero .name{font-size:42px;line-height:1;letter-spacing:-.06em;font-weight:1000;color:#fff;margin:8px 0 6px}
.tariff-hero .mode{font-size:19px;color:var(--green);font-weight:900;margin-bottom:10px}
.tariff-hero .desc{color:var(--green2);line-height:1.45}
.big-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.big-compare .now,.big-compare .ours{border-radius:20px;padding:16px;border:1px solid var(--line);background:rgba(0,0,0,.22)}
.big-compare .ours{border-color:rgba(31,229,155,.45);background:rgba(31,229,155,.10)}
.big-compare small{display:block;color:var(--muted);font-weight:900}
.big-compare strong{display:block;font-size:38px;letter-spacing:-.05em;margin-top:4px;color:var(--green2)}
.minimum-box{border:1px solid rgba(255,211,106,.48);background:rgba(255,211,106,.12);border-radius:22px;padding:16px;margin-top:16px}
.minimum-box h3{margin:0 0 10px;font-size:22px;color:#ffe6a2}
.minimum-box p{margin:8px 0;color:#ffe6a2}
.minimum-box .threshold{font-size:32px;line-height:1.05;letter-spacing:-.04em;color:#fff;font-weight:1000;margin:8px 0}
.minimum-box .small-threshold{font-size:18px;color:#ffe6a2;font-weight:850}
@media(max-width:560px){.big-compare{grid-template-columns:1fr}.tariff-hero .name{font-size:36px}.big-compare strong{font-size:34px}.minimum-box .threshold{font-size:28px}}

.section-title-soft{font-size:24px;margin:18px 0 10px;letter-spacing:-.04em}
.two-panels{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}
.panel-clear{border:1px solid var(--line);background:rgba(0,0,0,.22);border-radius:22px;padding:16px}
.panel-clear.proposal{border-color:rgba(31,229,155,.45);background:rgba(31,229,155,.09)}
.panel-clear h3{font-size:26px;letter-spacing:-.05em;margin:0 0 12px;color:#fff}
.panel-line{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.panel-line:last-child{border-bottom:0}
.panel-line span{color:var(--muted)}
.panel-line strong{text-align:right;color:var(--green2)}
.hidden-cost{margin-top:12px;border-radius:16px;padding:13px;font-weight:900;line-height:1.35}
.hidden-cost.yes{background:rgba(255,211,106,.14);border:1px solid rgba(255,211,106,.45);color:#ffe6a2}
.hidden-cost.no{background:rgba(31,229,155,.10);border:1px solid rgba(31,229,155,.35);color:var(--green2)}
@media(max-width:560px){.two-panels{grid-template-columns:1fr}}

.field-help{font-size:13px;margin:6px 0 0;color:var(--muted);line-height:1.35}
.cost-detected{margin-top:12px;border-radius:16px;padding:13px;font-weight:850;line-height:1.35;background:rgba(255,211,106,.14);border:1px solid rgba(255,211,106,.45);color:#ffe6a2}
.cost-detected strong{color:#fff}

.tariff-card-main{
 position:relative;
 overflow:hidden;
 border:1px solid rgba(31,229,155,.70);
 background:
 radial-gradient(circle at top right, rgba(31,229,155,.35), transparent 260px),
 linear-gradient(135deg, rgba(31,229,155,.20), rgba(0,0,0,.32));
 border-radius:28px;
 padding:20px;
 margin:0 0 16px;
 box-shadow:0 28px 80px rgba(0,0,0,.35);
}
.tariff-card-main:before{
 content:"";
 position:absolute;
 inset:-80px auto auto -80px;
 width:180px;
 height:180px;
 border-radius:50%;
 background:rgba(31,229,155,.18);
}
.tariff-card-main .eyebrow{
 display:inline-block;
 border:1px solid rgba(31,229,155,.45);
 background:rgba(31,229,155,.14);
 color:var(--green2);
 border-radius:999px;
 padding:7px 10px;
 font-size:12px;
 font-weight:950;
 text-transform:uppercase;
 letter-spacing:.06em;
}
.tariff-card-main .tariff-name{
 font-size:clamp(42px,12vw,68px);
 line-height:.92;
 letter-spacing:-.075em;
 font-weight:1000;
 color:#fff;
 margin:14px 0 8px;
}
.tariff-card-main .tariff-sub{
 font-size:22px;
 color:var(--green);
 font-weight:950;
 margin-bottom:14px;
}
.tariff-reminder{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:10px;
 margin-top:14px;
}
.reminder-pill{
 border:1px solid rgba(255,255,255,.14);
 background:rgba(0,0,0,.24);
 border-radius:18px;
 padding:13px;
}
.reminder-pill span{
 display:block;
 color:var(--muted);
 font-size:12px;
 font-weight:850;
 text-transform:uppercase;
 letter-spacing:.04em;
}
.reminder-pill strong{
 display:block;
 color:var(--green2);
 font-size:20px;
 margin-top:4px;
}
.reminder-pill.warning{
 border-color:rgba(255,211,106,.55);
 background:rgba(255,211,106,.13);
}
.reminder-pill.warning strong{color:#ffe6a2}
.tariff-description{
 margin-top:14px;
 color:var(--green2);
 line-height:1.45;
 font-weight:700;
}
@media(max-width:560px){.tariff-reminder{grid-template-columns:1fr}.tariff-card-main{padding:17px}}

.alert-profile{
 margin-top:12px;
 border:1px solid rgba(255,211,106,.52);
 background:rgba(255,211,106,.12);
 color:#ffe6a2;
 border-radius:18px;
 padding:13px;
 line-height:1.4;
 font-weight:850;
}
.alert-profile strong{color:#fff}

.special-rates{
 margin-top:12px;
 display:grid;
 gap:8px;
}
.special-rate-line{
 display:flex;
 justify-content:space-between;
 gap:10px;
 padding:10px 0;
 border-top:1px solid rgba(255,255,255,.13);
}
.special-rate-line span{color:#ffe6a2}
.special-rate-line strong{color:#fff;text-align:right}

.form-card{
 transition:all .25s ease;
}
.accordion-summary{
 list-style:none;
 cursor:pointer;
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:14px;
 padding:2px 0 10px;
}
.accordion-summary::-webkit-details-marker{display:none}
.accordion-summary strong{
 display:block;
 font-size:22px;
 letter-spacing:-.04em;
 color:#fff;
}
.accordion-summary small{
 display:block;
 color:var(--muted);
 margin-top:3px;
 font-size:13px;
}
.accordion-summary em{
 font-style:normal;
 border:1px solid rgba(31,229,155,.42);
 color:var(--green2);
 background:rgba(31,229,155,.10);
 border-radius:999px;
 padding:8px 11px;
 font-size:13px;
 font-weight:900;
}
.accordion-body{
 padding-top:4px;
}
.form-card:not([open]){
 border-color:rgba(31,229,155,.38);
 background:rgba(31,229,155,.08);
}
.form-card:not([open]) .accordion-summary{
 padding-bottom:0;
}
.form-card:not([open]) .accordion-summary em::before{
 content:"Abrir ";
}
.result-focus{
 animation:resultPulse .45s ease;
}
@keyframes resultPulse{
 0%{transform:translateY(6px);opacity:.85}
 100%{transform:translateY(0);opacity:1}
}

.mode-options{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin:12px 0 4px;
}
.mode-option{
  position:relative;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(0,0,0,.24);
  border-radius:18px;
  padding:12px;
  cursor:pointer;
  transition:.18s ease;
}
.mode-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.mode-option span{
  display:block;
  color:#fff;
  font-weight:950;
  font-size:15px;
}
.mode-option small{
  display:block;
  color:var(--muted);
  margin-top:4px;
  line-height:1.25;
}
.mode-option:has(input:checked){
  border-color:rgba(31,229,155,.75);
  background:rgba(31,229,155,.14);
  box-shadow:0 12px 40px rgba(31,229,155,.10);
}
.mode-option:has(input:checked)::after{
  content:"✓";
  position:absolute;
  top:10px;
  right:10px;
  width:22px;
  height:22px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:var(--green2);
  color:#07150f;
  font-weight:1000;
}
.mode-note{
  color:var(--muted);
  font-size:13px;
  line-height:1.35;
  margin:6px 0 12px;
}
@media(max-width:560px){
  .mode-options{grid-template-columns:1fr}
}

.app{
  width:min(100%, 980px);
  margin:0 auto;
  padding:22px;
  box-sizing:border-box;
}
.result-card,
.history-card{
  margin-top:18px;
}
.actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:18px 0;
}
@media(max-width:560px){
  .app{padding:14px}
  .actions{grid-template-columns:1fr}
}

.pdf-card{
  margin-top:18px;
}
.pdf-card .primary{
  width:100%;
}
.form-card:not([open]){
  padding-bottom:18px;
}
.form-card:not([open]) .accordion-summary{
  padding-bottom:0;
}

.brand-green{
  color:var(--green2);
  font-weight:1000;
}
.hero h1 span,
.hero h1 strong{
  display:inline;
}
.calc-button{
  display:block !important;
  width:100%;
  margin-top:20px;
  font-size:20px;
  min-height:60px;
  border-radius:18px;
}
.form-card[open] .calc-button{
  display:block !important;
}

.calc-button{
  display:block !important;
  width:100% !important;
  margin-top:22px !important;
  min-height:64px !important;
  font-size:20px !important;
  border-radius:18px !important;
  cursor:pointer !important;
  pointer-events:auto !important;
}
