:root{
  --navy:#082b57; --navy2:#061f40; --blue:#1769e0; --green:#0a8a36;
  --green2:#06702a; --red:#dc2d2d; --text:#10233f; --muted:#60708a;
  --line:#dbe5f1; --card:#ffffff; --bg:#f8fbff; --shadow:0 12px 30px rgba(25,55,95,.10);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);
  background:radial-gradient(circle at 8% 12%,rgba(49,141,255,.10),transparent 24rem),
             radial-gradient(circle at 92% 18%,rgba(42,190,96,.08),transparent 26rem),var(--bg);
  transition:background .25s,color .25s;
}
body.dark{
  --text:#eaf2ff;--muted:#aab8cc;--line:#29405d;--card:#10243d;--bg:#07182b;
  --shadow:0 12px 30px rgba(0,0,0,.28);
  background:radial-gradient(circle at 8% 12%,rgba(49,141,255,.12),transparent 24rem),
             radial-gradient(circle at 92% 18%,rgba(42,190,96,.08),transparent 26rem),var(--bg);
}
button,input,select{font:inherit}
.wrap{width:min(1180px,calc(100% - 32px));margin:auto}

.topbar{background:linear-gradient(90deg,var(--navy2),var(--navy));color:#fff;font-size:13px}
.topbar-content{min-height:40px;display:flex;align-items:center;gap:28px}
.topbar-right{margin-left:auto}

.header{background:rgba(255,255,255,.96);border-bottom:1px solid #e5edf7;position:sticky;top:0;z-index:30;backdrop-filter:blur(12px)}
.dark .header{background:rgba(10,29,50,.94);border-color:var(--line)}
.header-content{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:14px;color:var(--navy);text-decoration:none}
.dark .brand{color:#fff}
.brand-icon{width:50px;height:58px;display:grid;place-items:center;border-radius:9px;background:linear-gradient(160deg,#2878ef,#0c55c5);color:#fff;font-size:35px;box-shadow:0 8px 18px rgba(23,105,224,.23)}
.brand strong{display:block;font-size:29px;line-height:1}.brand strong span{color:var(--green)}.brand small{display:block;color:var(--muted);margin-top:7px}
.nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nav a{color:var(--text);text-decoration:none;font-weight:700;padding:12px 13px;border-radius:9px}
.nav a:hover{background:rgba(23,105,224,.10);color:var(--blue)}
.theme-button{border:1px solid var(--line);background:var(--card);color:var(--text);width:44px;height:44px;border-radius:50%;cursor:pointer}

.hero{padding:28px 0;background:linear-gradient(135deg,rgba(229,241,255,.76),rgba(247,255,250,.65))}
.dark .hero{background:linear-gradient(135deg,rgba(17,61,105,.5),rgba(11,63,39,.35))}
.hero-content{display:flex;align-items:center;justify-content:space-between;gap:20px}
.hero h1{margin:0;font-size:clamp(30px,4vw,43px);color:var(--navy)}
.dark .hero h1{color:#fff}
.hero p{margin:10px 0 0;color:var(--muted);font-size:17px}
.hero-badge{background:#e9f3ff;color:#1760b4;padding:12px 16px;border-radius:8px;font-size:13px;white-space:nowrap}

.calculator-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:18px 0}
.panel{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:24px}
.panel-title{display:flex;align-items:center;gap:10px;margin-bottom:24px}
.panel-title h2{font-size:20px;margin:0}.panel-title.blue{color:var(--blue)}.panel-title.green{color:var(--green)}.panel-title>span:first-child{font-size:23px}
.currency-pill{margin-left:auto;padding:8px 12px;border-radius:999px;background:#e4f5e9;color:var(--green2);font-size:13px}

.form-grid{display:grid;gap:16px}.form-grid.two{grid-template-columns:1fr 1fr}.form-grid.three{grid-template-columns:repeat(3,1fr)}
.field{display:flex;flex-direction:column;gap:8px}.field label{font-weight:750;font-size:14px}
.field input,.field select{width:100%;min-height:46px;padding:11px 13px;border:1px solid #cfdbea;border-radius:8px;color:var(--text);background:var(--card);outline:none}
.field input:focus,.field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,105,224,.12)}
.field small{color:var(--muted)}.error{color:var(--red)!important;min-height:16px}

.check-line{display:flex;align-items:flex-start;gap:11px;margin:20px 0}
.check-line input{width:18px;height:18px;margin-top:2px;accent-color:var(--blue)}
.check-line label{display:flex;flex-direction:column;gap:4px}.check-line span{font-size:13px;color:var(--muted)}
.section-title{display:flex;align-items:center;gap:9px;margin:24px 0 14px}.section-title h3{font-size:17px;margin:0}
.section-title.purple{color:#6f42c1}.section-title.orange{color:#e87900}
.info-box{display:flex;align-items:flex-start;gap:12px;background:#f5f0ff;border:1px solid #dfd2fb;padding:14px;border-radius:9px;margin-top:16px;color:#4a3b69}
.dark .info-box{background:#251f3b;color:#d8cff7;border-color:#443967}
.info-box p{margin:0;font-size:14px;line-height:1.5}
.closing-field{max-width:360px;padding:14px;border-radius:10px;background:rgba(23,105,224,.04);border:1px dashed #c7d8ec}

.actions{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-top:20px}
.btn{border:0;min-height:48px;border-radius:8px;font-weight:800;cursor:pointer;padding:10px 14px;transition:.18s ease}
.btn:hover{transform:translateY(-2px);filter:brightness(1.03)}
.btn.primary{color:#fff;background:linear-gradient(135deg,#07943b,#08752f);box-shadow:0 8px 18px rgba(7,148,59,.20)}
.btn.secondary{color:var(--navy);background:var(--card);border:1px solid #cbd8e8}.dark .btn.secondary{color:#fff}
.privacy-note,.success-note{margin-top:14px;padding:12px;border-radius:8px;background:#edf9f0;color:#267342;font-size:13px}.dark .privacy-note,.dark .success-note{background:#133824;color:#a8e5bb}

.result-panel{min-height:610px}.empty-state{min-height:420px;display:grid;place-content:center;text-align:center;color:var(--muted)}
.empty-state span{font-size:54px}.empty-state h3{color:var(--text);margin:14px 0 5px}.empty-state p{margin:0}

.progress-wrap{min-height:370px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}
.progress{width:min(360px,80%);height:12px;background:#dbe5f1;border-radius:999px;overflow:hidden}
.progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--green));animation:load 700ms ease forwards}
@keyframes load{to{width:100%}}

.result-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:12px 0;border-bottom:1px dotted #c9d5e3}
.result-row strong{white-space:nowrap}.positive{color:var(--green)}
.total-line{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px -8px;padding:16px;background:linear-gradient(90deg,#eef9f0,#e5f6e9);color:var(--green2);border-radius:8px;font-weight:900}
.dark .total-line{background:#123b25;color:#a7e7bb}
.total-line strong{font-size:22px}.deductions{color:var(--red)}
.net-box{margin:18px 0 14px;padding:18px;border-radius:8px;text-align:center;color:#fff;background:linear-gradient(135deg,var(--green),var(--green2));box-shadow:0 10px 22px rgba(6,112,42,.22)}
.net-box span{display:block;text-transform:uppercase;font-weight:800}.net-box strong{display:block;font-size:36px;margin-top:5px}
.pulse{animation:pulse .5s ease}@keyframes pulse{50%{transform:scale(1.035)}}

.chart-card{display:grid;grid-template-columns:170px 1fr;align-items:center;gap:18px;margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:10px}
.donut{width:150px;height:150px;border-radius:50%;position:relative;background:#ddd}
.donut::after{content:"";position:absolute;inset:30px;background:var(--card);border-radius:50%}
.legend{display:grid;gap:8px}.legend div{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}
.legend i{width:12px;height:12px;border-radius:3px;display:inline-block;margin-right:7px}
.closing-result{background:#fff8e9;border:1px solid #f2dca9;border-radius:9px;padding:14px;margin:14px 0;color:#4c4025}
.result-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.blue-btn{background:var(--blue);color:#fff}.outline{background:var(--card);color:var(--blue);border:1px solid #a9c8f3}.pdf-btn{background:#18a94f;color:#fff}.share{background:var(--card);color:var(--green);border:1px solid #9ed7b1}

.explanation,.history-panel{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;margin-bottom:18px;box-shadow:var(--shadow)}
.explanation h2,.history-panel h2{font-size:18px;margin:0 0 18px}
.explanation-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.explanation article{padding:0 18px;border-right:1px solid var(--line)}.explanation article:first-child{padding-left:0}.explanation article:last-child{border-right:0}
.explanation p{margin:7px 0 0;color:var(--muted);line-height:1.45;font-size:14px}
.history-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.history-head button{border:0;background:transparent;color:var(--red);cursor:pointer;font-weight:700}
.history-list{display:grid;gap:10px}.history-item{display:flex;justify-content:space-between;gap:16px;padding:12px;border:1px solid var(--line);border-radius:8px}.history-item small{color:var(--muted)}.muted{color:var(--muted)}
.disclaimer{margin-bottom:24px;background:#edf5ff;border:1px solid #cfe1fb;border-radius:8px;padding:13px;color:#2f5683;font-size:13px}

footer{background:linear-gradient(90deg,var(--navy2),var(--navy));color:#fff}.footer-content{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px}
dialog{width:min(620px,calc(100% - 28px));border:0;border-radius:14px;padding:0;background:var(--card);color:var(--text);box-shadow:0 24px 70px rgba(0,0,0,.28)}
dialog::backdrop{background:rgba(4,24,48,.64)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}
.modal-head h2{font-size:20px;margin:0}.modal-head button{border:0;background:transparent;font-size:28px;cursor:pointer;color:var(--muted)}#conteudoDetalhes{padding:20px;line-height:1.7}.detail-note{background:rgba(23,105,224,.07);border-radius:8px;padding:12px;margin-top:12px;color:var(--muted)}

.reveal{animation:reveal .45s ease both}.delay{animation-delay:.1s}@keyframes reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

@media(max-width:900px){
  .calculator-grid{grid-template-columns:1fr}.result-panel{min-height:auto}.explanation-grid{grid-template-columns:1fr 1fr;gap:22px}
  .explanation article{border-right:0;padding:0}.nav{display:none}.hero-content{flex-direction:column;text-align:center}.hero-badge{white-space:normal}
}
@media(max-width:640px){
  .topbar-right{display:none}.topbar-content{justify-content:center;gap:12px;font-size:11px}.header-content{min-height:82px}
  .brand strong{font-size:22px}.brand-icon{width:42px;height:48px}.form-grid.two,.form-grid.three{grid-template-columns:1fr}
  .actions,.result-actions{grid-template-columns:1fr}.panel{padding:17px}.currency-pill{display:none}.explanation-grid{grid-template-columns:1fr}
  .net-box strong{font-size:30px}.chart-card{grid-template-columns:1fr;justify-items:center}.footer-content{flex-direction:column;justify-content:center;text-align:center;padding:16px 0}
}
@media print{
  .topbar,.header,.hero,form,.explanation,.history-panel,.disclaimer,footer,.result-actions,.chart-card,.modal-head{display:none!important}
  body{background:#fff}.calculator-grid{display:block;padding:0}.result-panel{box-shadow:none;border:0}#estadoInicial{display:none!important}
}
