:root{--ink:#14213d;--mut:#5b6474;--bg:#f6f7fb;--card:#fff;--line:#e3e6ee;--acc:#0b7a5a;--acc2:#e9f6f1;--warn:#9a3412;--wbg:#fff4e8;--neg:#b42318}
*{box-sizing:border-box}
body{margin:0;font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg)}
.wrap{max-width:1080px;margin:0 auto;padding:0 18px}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.sr{position:absolute;left:-9999px}
.top{background:#fff;border-bottom:1px solid var(--line);padding:46px 0 10px}   /* the hub injects its language bar at top:8px right:12px */
.top .row{justify-content:space-between}
.brand{font-weight:800;color:var(--ink);text-decoration:none}
.langsel select{padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#fff}
.hero{background:linear-gradient(180deg,#fff 0,#f6f7fb 100%);padding:26px 0 10px}
.herogrid{display:grid;grid-template-columns:1.35fr 1fr;gap:18px 26px}
.ha{grid-column:1}.hcard{grid-column:2;grid-row:1/3;align-self:start}.hb{grid-column:1}
.kicker{display:inline-block;background:var(--acc2);color:var(--acc);font-weight:700;font-size:.9em;padding:5px 10px;border-radius:999px;margin:0 0 8px}
h1{font-size:2rem;line-height:1.2;margin:.2em 0 .4em}
.lead{font-size:1.08rem;color:#26324d;margin:0}
.loss{background:var(--wbg);color:var(--warn);border-left:4px solid #f59e0b;padding:8px 12px;border-radius:8px;margin:6px 0 10px;font-weight:600}
.points{padding-left:18px;margin:6px 0 12px}.points li{margin:4px 0}
.cta{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-block;border:1px solid var(--acc);color:var(--acc);background:#fff;padding:10px 14px;border-radius:10px;font-weight:700;cursor:pointer;text-decoration:none;font-size:.95rem}
.btn.primary{background:var(--acc);color:#fff}
.btn.locked::after{content:" · Pro";font-weight:600;opacity:.8}
.link{background:none;border:0;color:var(--acc);cursor:pointer;text-decoration:underline;padding:0 4px;font:inherit}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:0 2px 10px rgba(20,33,61,.05)}
.hq{display:flex;flex-direction:column;gap:4px;font-weight:700;margin:0 0 10px}.hq input{font-size:1.2rem;padding:10px 12px}
.hcard .hk{margin:0 0 8px;color:var(--mut);font-weight:600}
.hrow{display:flex;justify-content:space-between;gap:12px;margin:6px 0;border-bottom:1px dashed var(--line);padding-bottom:6px}
.hrow b{font-size:1.15rem}
.step{padding:22px 18px 6px;scroll-margin-top:60px}
h2{font-size:1.35rem;margin:.2em 0 .3em;display:flex;align-items:center;gap:10px}
h2 .n{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--acc);color:#fff;font-size:1rem}
h3{margin:.2em 0 .5em;font-size:1.05rem}
.sub{color:var(--mut);margin:0 0 10px}
.tag{font-size:.75rem;background:var(--acc2);color:var(--acc);padding:2px 8px;border-radius:999px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px 14px;margin:6px 0 10px}
.grid label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;color:#26324d}
input,select{font:inherit;padding:8px 10px;border:1px solid #cdd3df;border-radius:8px;background:#fff;min-width:0}
input:focus{outline:2px solid #9bd8c4;border-color:var(--acc)}
.cols{display:grid;grid-template-columns:1.25fr 1fr;gap:16px}
.tbl{width:100%;border-collapse:collapse;font-size:.92rem}
.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:6px 6px;text-align:left;vertical-align:top}
.tbl th{color:var(--mut);font-weight:600;font-size:.82rem}
.tbl .num{text-align:right;white-space:nowrap}
.tbl .ref{color:var(--mut);white-space:nowrap}
.tbl .tot td{font-weight:700;border-top:2px solid var(--ink)}
.neg{color:var(--neg)}
.code{color:var(--mut);font-size:.75rem}
.big{display:flex;justify-content:space-between;align-items:baseline;font-size:1.05rem;margin:10px 0 4px}
.big output{font-size:1.45rem;font-weight:800;color:var(--acc)}
.note{color:var(--mut);font-size:.88rem;margin:4px 0}
.warn{background:var(--wbg);color:var(--warn);padding:7px 10px;border-radius:8px;margin:6px 0;font-size:.92rem}
.checks{margin:12px 0}.checks ul{margin:0;padding-left:18px;font-size:.88rem;color:#26324d}
.out{margin:6px 0}
.tools{margin:10px 0}
.tabs .tab{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;cursor:pointer}
.tabs .tab.on{background:var(--acc);color:#fff;border-color:var(--acc)}
.ferl{padding-left:18px}
.filebtn input{display:none}
.plan ul{padding-left:18px}.plan.pro{border:2px solid var(--acc)}
.price{font-size:1.2rem;font-weight:800;margin:8px 0}
.keyrow{margin-top:10px}.keyrow input{flex:1;min-width:180px}
details{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:8px 0}
summary{cursor:pointer;font-weight:600}
.src{font-size:.88rem;color:#26324d}.src li{margin:4px 0}
.foot{padding:20px 0 40px;color:var(--mut);font-size:.85rem}
#print{display:none}
@media (max-width:820px){.herogrid,.cols{grid-template-columns:1fr}.hcard{grid-column:1;grid-row:auto}h1{font-size:1.55rem}}
@media print{
  body.printing>*:not(#print){display:none!important}
  body.printing #print{display:block}
  #print{font:11pt/1.35 Arial,sans-serif;color:#000}
  #print .via{border:1px solid #000;padding:10px 12px;margin:0 0 14px;page-break-inside:avoid}
  #print h2{font-size:13pt;margin:0 0 6px;display:block}
  #print table{width:100%;border-collapse:collapse;margin:6px 0}
  #print th,#print td{border:1px solid #777;padding:3px 5px;text-align:left}
  #print .num{text-align:right}
  #print .tot td{font-weight:700}
  #print .sm{font-size:9pt}
  #print .sig{margin-top:22px}
}
