/* EnvíaClaro design system v2 — palette:
   Primary ink navy #0F2A44 / hover #1B3F66 / tint #EDF2F7
   Accent action green #0E7C5B / hover #0A6248 / tint #E7F3EE
   Neutral: #FFFFFF surface, #F7F9FA page, #E3E9EC line, #4E6577 muted, #16232E ink
   Semantic: warn bg #FDF6E0 line #D9B93B text #6B5410; error #B42318 bg #FDF0EE */
:root{--navy:#0F2A44;--navy2:#1B3F66;--navytint:#EDF2F7;--green:#0E7C5B;--green2:#0A6248;--greentint:#E7F3EE;--ink:#16232E;--mut:#4E6577;--line:#E3E9EC;--bg:#F7F9FA;--warnbg:#FDF6E0;--warnline:#D9B93B;--warntx:#6B5410;--err:#B42318;--errbg:#FDF0EE;--radius:14px;--shadow:0 1px 2px rgba(15,42,68,.06),0 8px 24px rgba(15,42,68,.06)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased}
a{color:var(--green2);text-underline-offset:3px}
a:hover{color:var(--green)}
:focus-visible{outline:3px solid var(--green);outline-offset:2px;border-radius:4px}
::selection{background:var(--greentint)}
.topbar{display:none;background:#fff;border-bottom:1px solid var(--line);color:var(--navy);padding:10px 16px;font-weight:800;position:sticky;top:0;z-index:20;font-size:18px}
.topbar span{color:var(--green)}
.layout{display:flex;align-items:flex-start;max-width:1280px;margin:0 auto;gap:0}
/* ---------- side panel / calculator ---------- */
.calc-panel{width:360px;flex:0 0 360px;position:sticky;top:0;height:100vh;overflow:auto;background:#fff;border-right:1px solid var(--line);padding:26px 24px}
.calc-panel .brand{font-size:24px;font-weight:800;color:var(--navy);text-decoration:none;letter-spacing:-.02em}
.calc-panel .brand span{color:var(--green)}
.calc-panel nav{margin:14px 0 6px;display:flex;flex-direction:column;gap:2px}
.calc-panel nav a{color:var(--mut);text-decoration:none;padding:9px 10px;font-size:14.5px;border-radius:9px;min-height:44px;display:flex;align-items:center;gap:9px;transition:background .15s,color .15s}
.calc-panel nav a:hover{background:var(--navytint);color:var(--navy)}
.calc-panel nav a svg{flex:0 0 auto}
.calc-panel h2{font-size:17px;margin:20px 0 4px;color:var(--navy);letter-spacing:-.01em}
.calc-panel .sub{font-size:13.5px;color:var(--mut);margin:0 0 6px}
.calc-panel label{display:block;font-size:13px;font-weight:600;margin:14px 0 5px;color:var(--navy)}
.calc-panel input[type=number],.calc-panel select{width:100%;padding:11px 12px;border-radius:10px;border:1.5px solid var(--line);font-size:16px;background:#fff;color:var(--ink);min-height:48px;transition:border-color .15s,box-shadow .15s}
.calc-panel input[type=number]:hover,.calc-panel select:hover{border-color:#B9C8D2}
.calc-panel input[type=number]:focus,.calc-panel select:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--greentint);outline:none}
.calc-panel input[type=range]{width:100%;margin:10px 0 2px;accent-color:var(--green);height:32px;cursor:pointer}
.range-marks{display:flex;justify-content:space-between;font-size:11.5px;color:var(--mut)}
.calc-panel button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:16px;background:var(--green);color:#fff;border:0;padding:13px 16px;border-radius:11px;font-weight:700;font-size:15.5px;cursor:pointer;min-height:48px;transition:background .15s,transform .1s;text-decoration:none}
.calc-panel button:hover,.btn:hover{background:var(--green2);color:#fff}
.calc-panel button:active,.btn:active{transform:translateY(1px)}
.btn.ghost{background:#fff;color:var(--navy);border:1.5px solid var(--line);width:auto}
.btn.ghost:hover{border-color:var(--navy);background:var(--navytint)}
.calc-panel .note{font-size:12.5px;color:var(--mut);margin-top:12px}
.tax-chip{display:flex;gap:10px;align-items:flex-start;background:var(--warnbg);border:1px solid var(--warnline);color:var(--warntx);border-radius:11px;padding:11px 12px;font-size:13px;margin-top:14px;line-height:1.45}
.tax-chip svg{flex:0 0 auto;margin-top:1px}
/* ---------- main ---------- */
.main{flex:1;min-width:0;padding:34px 36px 80px}
h1{font-size:34px;line-height:1.18;margin:8px 0 14px;color:var(--navy);letter-spacing:-.025em;font-weight:800}
h2{color:var(--navy);margin:34px 0 12px;font-size:22px;letter-spacing:-.015em;font-weight:750}
h3{color:var(--navy);font-size:16.5px;margin:0 0 6px}
p{margin:0 0 14px}
.lede{font-size:18px;color:#33475A;max-width:62ch}
.fact{font-size:16.5px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:10px;padding:14px 16px;box-shadow:var(--shadow)}
.crumbs{font-size:13px;color:var(--mut);margin-bottom:6px}
.crumbs a{color:var(--mut)}
.alert{background:var(--warnbg);border:1px solid var(--warnline);color:var(--warntx);padding:13px 15px;border-radius:11px;font-size:14.5px;margin:16px 0}
.alert strong{color:var(--warntx)}
/* hero */
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:var(--shadow);margin-bottom:26px}
.hero h1{margin-top:0}
.hero-viz{width:100%;height:auto;display:block}
.hero-stats{display:flex;gap:22px;flex-wrap:wrap;margin-top:18px}
.hero-stats .hs b{display:block;font-size:24px;color:var(--navy);letter-spacing:-.02em}
.hero-stats .hs span{font-size:12.5px;color:var(--mut)}
/* result showcase */
.showcase{background:var(--navy);color:#fff;border-radius:18px;padding:24px 26px;margin:22px 0;box-shadow:var(--shadow)}
.showcase .sc-label{font-size:13px;color:#B9CBDD;letter-spacing:.04em;text-transform:uppercase;font-weight:700}
.showcase .sc-big{font-size:52px;font-weight:800;letter-spacing:-.03em;line-height:1.05;margin:6px 0 2px}
.showcase .sc-big small{font-size:22px;font-weight:700;color:#9FE8CF}
.showcase .sc-sub{color:#D7E3EE;font-size:14.5px;margin:0}
.showcase .sc-total{margin-top:12px;font-size:14px;color:#B9CBDD}
.showcase .sc-total b{color:#fff}
/* tables */
.tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}
table{border-collapse:collapse;width:100%;font-size:14.5px;background:#fff}
th,td{padding:11px 13px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
thead th{background:var(--navytint);color:var(--navy);font-size:13px;letter-spacing:.02em;border-bottom:2px solid var(--line)}
tbody tr{transition:background .12s}
tbody tr:hover{background:#FBFCFD}
tr.best td{background:var(--greentint);font-weight:600}
tr.best td:first-child{box-shadow:inset 4px 0 0 var(--green)}
.badge{display:inline-block;background:var(--green);color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;margin-left:7px;vertical-align:2px}
.main>table,.main .plain-table{border:1px solid var(--line);border-radius:12px}
/* fee composition chart */
.chartbox{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;box-shadow:var(--shadow);margin:20px 0}
.chartbox h3{margin-bottom:4px}
.chartbox .ch-note{font-size:13px;color:var(--mut);margin:0 0 12px}
.legend{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--mut);margin-top:10px}
.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
svg.feechart{width:100%;height:auto;display:block}
svg.feechart text{font-family:inherit}
/* states */
.state{display:none;border-radius:12px;padding:16px 18px;margin:16px 0;font-size:15px}
.state.show{display:block}
.state.empty{background:var(--navytint);color:var(--navy);border:1px dashed #A9BCD0}
.state.error{background:var(--errbg);color:var(--err);border:1px solid #F0C6C0}
.loading-row td{color:var(--mut)}
.shimmer{display:inline-block;width:70%;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--line) 25%,#F2F5F7 50%,var(--line) 75%);background-size:200% 100%;animation:sh 1.1s infinite}
@keyframes sh{to{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){.shimmer{animation:none}html{scroll-behavior:auto}}
/* cards */
.cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}
.card{border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:#fff;box-shadow:var(--shadow);transition:border-color .15s,transform .15s}
.card:hover{border-color:#B9C8D2;transform:translateY(-2px)}
.card p{font-size:14.5px;color:#33475A;margin:0}
.card .ic{width:38px;height:38px;border-radius:10px;background:var(--greentint);display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.card a{text-decoration:none}
.card a:hover{text-decoration:underline}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:16px 0}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.step .n{width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:14px;margin-bottom:10px}
.step p{font-size:14.5px;color:#33475A;margin:0}
.faq{border-top:1px solid var(--line);padding:14px 0}
.faq h3{margin-bottom:4px}
.faq p{color:#33475A;margin:0}
footer{border-top:1px solid var(--line);margin-top:40px;padding-top:16px;font-size:13.5px;color:var(--mut)}
footer a{font-weight:700}
.bottomnav{display:none}
form label{font-weight:600;font-size:14px;color:var(--navy)}
form input,form textarea{width:100%;padding:12px;border:1.5px solid var(--line);border-radius:10px;margin:5px 0 14px;font-size:16px;font-family:inherit;min-height:48px}
form textarea{min-height:120px}
form input:focus,form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--greentint);outline:none}
form button{background:var(--green);color:#fff;border:0;padding:13px 22px;border-radius:11px;font-weight:700;cursor:pointer;min-height:48px;font-size:15.5px;transition:background .15s}
form button:hover{background:var(--green2)}
#cstatus{font-size:14.5px;margin-top:10px}
#cstatus.ok{color:var(--green2);font-weight:600}
#cstatus.bad{color:var(--err);font-weight:600}
ul,ol{padding-left:22px}
li{margin-bottom:6px}
.kicker{font-size:12.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--green2);margin:0 0 8px}
@media(max-width:900px){.hero{grid-template-columns:1fr}.steps{grid-template-columns:1fr}}
@media(max-width:760px){
 .layout{display:block}
 .topbar{display:block}
 .calc-panel{position:static;width:auto;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:20px 16px}
 .calc-panel nav{display:none}
 .main{padding:22px 16px 96px}
 .cards{grid-template-columns:1fr}
 h1{font-size:27px}
 .hero{padding:22px 18px}
 .showcase .sc-big{font-size:40px}
 table{font-size:13.5px}
 th,td{padding:9px 10px}
 .bottomnav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);z-index:30;box-shadow:0 -4px 18px rgba(15,42,68,.08)}
 .bottomnav a{flex:1;color:var(--mut);text-align:center;padding:9px 4px 11px;text-decoration:none;font-size:11.5px;font-weight:600;min-height:52px;display:flex;flex-direction:column;align-items:center;gap:3px;justify-content:center}
 .bottomnav a:hover{color:var(--navy)}
}
