/* =====================================================================================================
   IvanImports Tools Lab · Calculadora del impuesto de matriculación (nov 2026)
   Va encima de tools-hub.css y tool-lab.css. Acento propio menta-turquesa (.tlx--tax). Todo bajo .imx o .tlx--tax.
   Sin animaciones infinitas; respeta prefers-reduced-motion. Controles de 48 px en móvil.
   ===================================================================================================== */
.tlx--tax{--tlx-acc:#4fe0c6;--tlx-acc-2:#a6f3e4;--tlx-acc-ink:#03302a;--tlx-acc-soft:rgba(79,224,198,.18)}
.tlx--tax .tl-hero h1{font-size:clamp(30px,7.8vw,52px);line-height:1.03}
.tlx--tax .tl-hero h1 em{font-size:.58em;letter-spacing:-.01em;margin-top:10px}

/* pieza del hero: recorrido del cálculo */
.tlx-tax-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:5px;border-radius:17px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);counter-reset:s}
.tlx-tax-bar label{position:relative;display:grid;justify-items:center;align-content:center;gap:5px;min-height:64px;padding:8px 4px;border-radius:12px;color:#c7d6ee;font:800 12.5px/1.1 var(--tl-display);text-align:center;cursor:pointer;background:rgba(255,255,255,.04);transition:background .25s,color .25s}
.tlx-tax-bar label b{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:rgba(79,224,198,.16);color:#7eead8;font:800 11px/1 var(--tl-mono)}
.tlx-tax-bar input:checked+label{background:linear-gradient(135deg,#4fe0c6,#a6f3e4);color:#03302a;box-shadow:0 12px 26px -14px #4fe0c6}
.tlx-tax-bar input:checked+label b{background:rgba(3,48,42,.16);color:#03302a}
.tlx-tax-bar input:focus-visible+label{outline:3px solid #8fc3ff;outline-offset:2px}
.tlx-tax-p{display:none;gap:4px;font-size:14.5px;line-height:1.5;color:#c7d6ee;margin:0}
.tlx-tax-p strong{font:800 18px/1.2 var(--tl-display);color:#fff}
.tlx-tax:has(#tlx-tax-tablas:checked) [data-tax="tablas"],.tlx-tax:has(#tlx-tax-edad:checked) [data-tax="edad"],.tlx-tax:has(#tlx-tax-residual:checked) [data-tax="residual"],.tlx-tax:has(#tlx-tax-epigrafe:checked) [data-tax="epigrafe"]{display:grid}
@supports not selector(:has(*)){.tlx-tax-p{display:grid}.tlx-tax-out{display:grid;gap:12px}}
.tlx-tax-out{min-height:92px;padding:4px 2px}

/* =====================================================================================================
   CALCULADORA
   ===================================================================================================== */
.tlx-sec--taxapp{padding:22px 0 30px}
.imx{--ix-acc:#0f9c8a;--ix-acc-ink:#0b6b62;--ix-acc-soft:#e3fbf6;--ix-line:#d9e4f1;--ix-mu:#56677f;--ix-ink:#0b1830;--ix-warn:#9a6200;--ix-warn-soft:#fff5e0;--ix-stop:#b4233a;--ix-stop-soft:#ffecef;
  font-family:var(--tl-sans,Inter,system-ui,sans-serif);color:var(--ix-ink)}
.imx *{box-sizing:border-box}
.imx-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}
.imx-steps{display:grid;gap:12px;min-width:0}
.imx-side{display:grid;gap:12px;min-width:0}

/* pasos */
.imx-step{min-width:0;background:#fff;border:1px solid var(--ix-line);border-radius:22px;box-shadow:0 1px 2px rgba(11,24,48,.05),0 14px 30px -22px rgba(11,24,48,.3);overflow:visible;animation:imxIn .35s var(--tl-ease,ease) both}
.imx-step-h{display:flex;align-items:center;gap:12px;padding:16px 16px 0}
.imx-step:not(.is-open) .imx-step-h{padding-bottom:16px}
.imx-step-h>div{flex:1;min-width:0}
.imx-step-h h2{font:800 18px/1.2 var(--tl-display,Manrope,sans-serif);letter-spacing:-.02em;margin:0}
.imx-step-n{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:11px;background:var(--ix-ink);color:#7eead8;font:800 14px/1 var(--tl-mono,monospace)}
.imx-step.is-done .imx-step-n{background:var(--ix-acc);color:#fff}
.imx-step-n svg{width:18px;height:18px;stroke-width:3}
.imx-step-sum{margin:3px 0 0;font-size:13.5px;color:var(--ix-mu);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.imx-step-b{display:grid;gap:14px;padding:14px 16px 18px}
.imx-edit,.imx-link{border:0;background:none;color:var(--ix-acc-ink);font:800 14px/1 var(--tl-sans,sans-serif);text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:10px 4px;min-height:44px}
@keyframes imxIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* campos */
.imx-grid2,.imx-grid3{display:grid;gap:12px}
.imx-f{display:grid;gap:6px;min-width:0}
.imx-f>span,.imx-f>label>span,.imx-combo>label,.imx-seg legend,.imx-vers legend{display:flex;align-items:center;gap:6px;font:700 14px/1.3 var(--tl-sans,sans-serif);color:var(--ix-ink)}
.imx-f small,.imx-fine{font-size:12.5px;line-height:1.45;color:var(--ix-mu)}
.imx-f small.imx-warn{color:var(--ix-warn)}
.imx input[type=date],.imx input[inputmode],.imx input[type=number],.imx select,.imx-combo-in input{width:100%;min-height:50px;padding:12px 14px;border:1.5px solid var(--ix-line);border-radius:14px;background:#f8fbff;font:600 16px/1.2 var(--tl-sans,sans-serif);color:var(--ix-ink);transition:border-color .2s,box-shadow .2s,background .2s}
.imx select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#56677f 50%),linear-gradient(135deg,#56677f 50%,transparent 50%);background-position:calc(100% - 20px) 22px,calc(100% - 15px) 22px;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}
.imx input:focus,.imx select:focus{outline:0;border-color:var(--ix-acc);box-shadow:0 0 0 4px rgba(15,156,138,.16);background:#fff}
.imx input:disabled{opacity:.55}
.imx-check{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;line-height:1.4;cursor:pointer;min-height:44px;padding:4px 0}
.imx-check input{width:22px;height:22px;margin:0;flex:none;accent-color:var(--ix-acc)}

/* segmentos (radios) */
.imx-seg{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.imx-seg legend{width:100%;margin-bottom:8px;padding:0}
.imx-seg-o{position:relative;flex:1 1 auto;min-width:0}
.imx-seg-o input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.imx-seg-o span{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:10px 14px;border-radius:14px;border:1.5px solid var(--ix-line);background:#f8fbff;font:700 14.5px/1.2 var(--tl-sans,sans-serif);text-align:center;transition:all .2s}
.imx-seg-o span small{font:700 11px/1 var(--tl-mono,monospace);color:var(--ix-mu);background:#eef3fa;padding:3px 6px;border-radius:6px}
.imx-seg-o input:checked+span{background:var(--ix-ink);border-color:var(--ix-ink);color:#fff}
.imx-seg-o input:checked+span small{background:rgba(255,255,255,.14);color:#cfe;}
.imx-seg-o input:focus-visible+span{outline:3px solid var(--ix-acc);outline-offset:2px}
.imx-seg-o input:disabled+span{opacity:.5}
.imx-seg-sm .imx-seg-o span{min-height:44px;font-size:14px}

/* combobox */
.imx-combo{position:relative;display:grid;gap:6px}
.imx-combo-in{position:relative}
.imx-combo-in>svg{position:absolute;left:14px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:var(--ix-mu);pointer-events:none}
.imx-combo-in input{padding-left:42px;padding-right:44px}
.imx-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:10px;background:transparent;font-size:22px;line-height:1;color:var(--ix-mu);cursor:pointer}
.imx-list{position:absolute;z-index:20;left:0;right:0;top:100%;margin:6px 0 0;padding:6px;list-style:none;max-height:min(340px,52vh);overflow:auto;background:#fff;border:1px solid var(--ix-line);border-radius:16px;box-shadow:0 24px 50px -20px rgba(11,24,48,.45);overscroll-behavior:contain}
.imx-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:46px;padding:10px 12px;border-radius:11px;font:600 15px/1.25 var(--tl-sans,sans-serif);cursor:pointer}
.imx-list li small{font:700 11px/1 var(--tl-mono,monospace);color:var(--ix-mu)}
.imx-list li[aria-selected=true],.imx-list li:hover{background:var(--ix-acc-soft);color:var(--ix-acc-ink)}
.imx-list .imx-list-empty{cursor:default;color:var(--ix-mu);font-weight:500;font-size:14px;background:none!important}

/* versiones */
.imx-vers{border:0;margin:0;padding:0;min-width:0;display:grid;gap:10px}
.imx-vers legend small{font:700 11px/1 var(--tl-mono,monospace);color:var(--ix-acc-ink);background:var(--ix-acc-soft);padding:4px 7px;border-radius:999px;margin-left:4px}
.imx-vers-l{display:grid;gap:8px;max-height:560px;overflow:auto;padding:2px}
.imx-ver{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:13px 14px;border:1.5px solid var(--ix-line);border-radius:15px;background:#fbfdff;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}
.imx-ver input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.imx-ver-t{grid-column:1/-1;font:800 15px/1.3 var(--tl-display,sans-serif);word-break:break-word}
.imx-ver-d{display:flex;flex-wrap:wrap;gap:5px;font-size:12.5px;color:var(--ix-mu)}
.imx-ver-d b{font-weight:700;background:#eef3fa;border-radius:7px;padding:4px 7px}
.imx-ver-d b.hl{background:#fff1cf;color:#6b4500}
.imx-ver-v{text-align:right;font:800 15px/1.1 var(--tl-display,sans-serif);align-self:end}
.imx-ver-v small{display:block;font:600 10.5px/1.3 var(--tl-sans,sans-serif);color:var(--ix-mu)}
.imx-ver.is-on,.imx-ver:has(input:checked){border-color:var(--ix-acc);background:var(--ix-acc-soft);box-shadow:0 10px 24px -16px rgba(15,156,138,.7)}
.imx-ver:has(input:focus-visible){outline:3px solid var(--ix-acc);outline-offset:2px}
.imx-ver.is-twin .imx-ver-t:after{content:"Mismo nombre: compara potencia y años";display:inline-block;margin-left:8px;font:700 10.5px/1 var(--tl-sans,sans-serif);color:#6b4500;background:#fff1cf;border-radius:999px;padding:4px 7px;vertical-align:2px}

/* notas, estados */
.imx-note{display:flex;gap:8px;align-items:flex-start;margin:0;font-size:14px;line-height:1.5;color:var(--ix-mu)}
.imx-note svg{width:18px;height:18px;flex:none;color:var(--ix-warn);margin-top:1px}
.imx-empty{margin:0;padding:14px;border-radius:14px;background:#f4f7fb;border:1px dashed var(--ix-line);font-size:14.5px;color:var(--ix-mu)}
.imx-loading{display:flex;align-items:center;gap:10px;margin:0;font-size:14.5px;color:var(--ix-mu)}
.imx-spin{width:18px;height:18px;border-radius:50%;border:2.5px solid var(--ix-acc-soft);border-top-color:var(--ix-acc);animation:imxSpin .8s linear infinite}
@keyframes imxSpin{to{transform:rotate(360deg)}}
.imx-alt{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;border-top:1px dashed var(--ix-line);padding-top:8px}
.imx-alt small{font-size:12.5px;color:var(--ix-mu)}
.imx-man{display:grid;gap:14px}
.imx-man-h{display:flex;gap:10px;margin:0;padding:12px 14px;border-radius:14px;background:var(--ix-warn-soft);color:#5d3c00;font-size:14px;line-height:1.5}
.imx-man-h svg{width:20px;height:20px;flex:none;margin-top:1px}

/* ayuda ⓘ */
.imx-i{display:inline-grid;place-items:center;width:28px;height:28px;margin:-6px 0;border:0;border-radius:50%;background:transparent;color:var(--ix-acc-ink);cursor:pointer;flex:none;vertical-align:middle}
.imx-i svg{width:17px;height:17px}
.imx-i[aria-expanded=true]{background:var(--ix-acc-soft)}
.imx-tip{display:block;margin:6px 0 2px;padding:10px 12px;border-radius:12px;background:#0b1830;color:#dbe8fb;font:500 13.5px/1.5 var(--tl-sans,sans-serif);text-transform:none;letter-spacing:0;width:100%}
.imx-tip[hidden]{display:none}

/* CO2 */
.imx-co2{display:grid;gap:14px}
.imx-co2-doc{display:none}
.imx-co2-paper{display:grid;gap:7px;padding:14px;border-radius:14px;background:linear-gradient(160deg,#f1f6ff,#fff);border:1px solid #d6e2f4;font:700 11px/1 var(--tl-mono,monospace);color:var(--ix-mu)}
.imx-co2-paper b{font:800 12px/1 var(--tl-display,sans-serif);color:var(--ix-ink);margin-bottom:4px}
.imx-co2-paper span{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:8px}
.imx-co2-paper i{font-style:normal}
.imx-co2-paper u{height:8px;border-radius:4px;background:#e4ecf7}
.imx-co2-paper .on{color:var(--ix-acc-ink)}
.imx-co2-paper .on u{background:linear-gradient(90deg,var(--ix-acc),#7eead8)}
.imx-co2-f{display:grid;gap:12px}

/* circunstancias */
.imx-circ{background:#fff;border:1px solid var(--ix-line);border-radius:22px;padding:4px 16px}
.imx-circ summary{cursor:pointer;min-height:52px;display:flex;align-items:center;font:800 16px/1.3 var(--tl-display,sans-serif);list-style:none}
.imx-circ summary::-webkit-details-marker{display:none}
.imx-circ summary:after{content:"+";margin-left:auto;font:700 22px/1 var(--tl-sans,sans-serif);color:var(--ix-acc-ink)}
.imx-circ[open] summary:after{content:"–"}
.imx-circ[open]{padding-bottom:14px}
.imx-circ>.imx-check,.imx-circ>.imx-note{margin-bottom:4px}


/* =====================================================================================================
   RESULTADO
   ===================================================================================================== */
.imx-res{position:relative;display:grid;gap:14px;padding:20px;border-radius:24px;background:#fff;border:1px solid var(--ix-line);box-shadow:0 2px 6px rgba(11,24,48,.06),0 30px 60px -30px rgba(11,24,48,.45);overflow:hidden}
.imx-res:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,#14b8a6,#4fe0c6,#3478f6)}
.imx-res--warn:before{background:linear-gradient(90deg,#f5b544,#ffd88a)}
.imx-res--mute:before{background:#d9e4f1}
.imx-res--stop:before{background:linear-gradient(90deg,#e4576d,#ff9aa9)}
.imx-res-h{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.imx-res-k{margin:0;font:800 11.5px/1.2 var(--tl-mono,monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--ix-mu)}
.imx-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font:800 12px/1 var(--tl-sans,sans-serif)}
.imx-badge--ok{background:var(--ix-acc-soft);color:var(--ix-acc-ink)}
.imx-badge--warn{background:var(--ix-warn-soft);color:var(--ix-warn)}
.imx-badge--mute{background:#eef3fa;color:var(--ix-mu)}
.imx-badge--stop{background:var(--ix-stop-soft);color:var(--ix-stop)}
.imx-amount{margin:0;font:800 clamp(42px,11vw,64px)/1 var(--tl-display,sans-serif);letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--ix-ink)}
.imx-amount--empty{color:#c3cfdf}
.imx-sub{margin:-6px 0 0;font-size:14px;color:var(--ix-mu)}
.imx-scen{display:flex;gap:10px;margin:0;padding:12px 14px;border-radius:14px;background:var(--ix-warn-soft);color:#5d3c00;font-size:14px;line-height:1.5}
.imx-scen--ok{background:var(--ix-acc-soft);color:#064a43}
.imx-scen svg{width:20px;height:20px;flex:none;margin-top:1px}
.imx-miss,.imx-block{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.imx-miss li{position:relative;padding:10px 12px 10px 34px;border-radius:12px;background:#f4f7fb;font-size:14px;line-height:1.45}
.imx-miss li:before{content:"";position:absolute;left:13px;top:15px;width:9px;height:9px;border-radius:50%;border:2px solid #9fb2cc}
.imx-block li{display:flex;gap:10px;padding:12px 14px;border-radius:14px;background:var(--ix-stop-soft);color:#6d1222;font-size:14.5px;line-height:1.5}
.imx-block svg{width:20px;height:20px;flex:none;margin-top:1px}

/* recorrido con barras reales */
.imx-flow{display:grid;gap:10px;margin:0;padding:12px;list-style:none;border-radius:16px;background:#f6f9fd}
.imx-flow li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;align-items:center}
.imx-flow-l{display:flex;align-items:center;gap:2px;flex-wrap:wrap;font:700 13px/1.3 var(--tl-sans,sans-serif);color:var(--ix-ink)}
.imx-flow-l .imx-tip{grid-column:1/-1}
.imx-flow b{font:800 14px/1 var(--tl-display,sans-serif);font-variant-numeric:tabular-nums;text-align:right}
.imx-flow-bar{grid-column:1/-1;height:10px;border-radius:6px;background:#e3eaf3;overflow:hidden}
.imx-flow-bar i{display:block;height:100%;width:var(--w);border-radius:6px;background:linear-gradient(90deg,#3478f6,#6ea2ff);transform-origin:left;animation:imxBar .7s var(--tl-ease,ease) both}
.imx-flow-calc .imx-flow-bar i{background:linear-gradient(90deg,#14b8a6,#4fe0c6)}
.imx-flow-usuario .imx-flow-bar i{background:repeating-linear-gradient(135deg,#f5b544 0 6px,#ffd88a 6px 12px)}
.imx-flow-tax .imx-flow-bar i{background:linear-gradient(90deg,#0b1830,#26395a)}
.imx-flow li:nth-child(2) i{animation-delay:.08s}.imx-flow li:nth-child(3) i{animation-delay:.16s}.imx-flow li:nth-child(4) i{animation-delay:.24s}
@keyframes imxBar{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* pendientes */
.imx-pend{padding:12px 14px;border-radius:14px;background:var(--ix-warn-soft);border:1px solid #f6dfae}
.imx-pend-h{display:flex;align-items:center;gap:8px;margin:0 0 6px;font:800 13.5px/1.2 var(--tl-sans,sans-serif);color:var(--ix-warn)}
.imx-pend-h svg{width:18px;height:18px}
.imx-pend ul{margin:0;padding-left:18px;display:grid;gap:5px;font-size:13.5px;line-height:1.5;color:#5d3c00}
.imx-avisos{margin:0;padding-left:18px;font-size:13px;line-height:1.5;color:var(--ix-mu);display:grid;gap:4px}

/* desglose */
.imx-dl{display:grid;margin:0;border-top:1px solid var(--ix-line)}
.imx-dl>div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:4px 12px;padding:10px 0;border-bottom:1px solid var(--ix-line)}
.imx-dl dt{display:flex;flex-wrap:wrap;align-items:center;gap:2px;font:700 13px/1.35 var(--tl-sans,sans-serif);color:var(--ix-mu)}
.imx-dl dd{margin:0;text-align:right;font:700 14px/1.4 var(--tl-sans,sans-serif);font-variant-numeric:tabular-nums;word-break:break-word}
.imx-dl dd small{display:block;font-weight:500;font-size:12px;color:var(--ix-mu)}
.imx-dl dd strong{font:800 17px/1.2 var(--tl-display,sans-serif)}
.imx-dl dt .imx-tip{grid-column:1/-1}
.imx-tag{display:inline-block;margin-left:6px;padding:3px 7px;border-radius:999px;font:800 10.5px/1.1 var(--tl-sans,sans-serif);vertical-align:1px;white-space:nowrap}
.imx-tag--of{background:var(--ix-acc-soft);color:var(--ix-acc-ink)}
.imx-tag--us{background:#e7efff;color:#1f5fd6}
.imx-tag--pe{background:var(--ix-warn-soft);color:var(--ix-warn)}

/* cálculo detallado (modo detallado: panel bajo el botón, sin cambiar de página) */
.imx-det{display:grid;gap:12px;padding:14px;border-radius:16px;background:#f6f9fd;border:1px solid #e3eaf3;animation:imxFade .22s var(--tl-ease,ease) both}
.imx-det[hidden]{display:none}
.imx-det .imx-dl-h{margin:6px 0 -4px}
.imx-det .imx-flow{background:#fff}
@keyframes imxFade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.imx-math{display:grid;gap:8px;margin:0 0 10px;padding:0;list-style:none}
.imx-math li{display:grid;gap:3px;font-size:13px;color:var(--ix-mu)}
.imx-math code{font:600 13px/1.45 var(--tl-mono,monospace);color:var(--ix-ink);background:#fff;border:1px solid var(--ix-line);border-radius:9px;padding:7px 9px;overflow-wrap:anywhere}

/* acciones */
.imx-acts{display:grid;gap:8px}
.imx-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:12px 18px;border-radius:999px;border:1.5px solid var(--ix-line);background:#fff;color:var(--ix-ink);font:800 15px/1.15 var(--tl-display,sans-serif);text-decoration:none;cursor:pointer;text-align:center}
.imx-btn svg{width:18px;height:18px;flex:none}
.imx-btn--main{border-color:transparent;background:linear-gradient(135deg,#14b8a6,#4fe0c6);color:#03302a;box-shadow:0 14px 30px -16px rgba(20,184,166,.9)}
.imx-btn:focus-visible,.imx-edit:focus-visible,.imx-link:focus-visible,.imx-i:focus-visible{outline:3px solid #3478f6;outline-offset:2px}
.imx-msg{margin:0;padding:10px 12px;border-radius:12px;background:#eef3fa;font-size:13.5px}

/* información de la página */
.tlx-sec--taxinfo{padding:6px 0 40px}
.imx-info{display:grid;gap:14px;padding:20px;border-radius:24px;background:#fff;border:1px solid var(--tl-line,#dde6f2)}
.imx-info h2{font:800 22px/1.15 var(--tl-display,sans-serif);letter-spacing:-.02em;margin:0}
.imx-info h3{font:800 15px/1.2 var(--tl-display,sans-serif);margin:0 0 6px}
.imx-info-g{display:grid;gap:14px}
.imx-info ul{margin:0;padding-left:18px;display:grid;gap:5px;font-size:14.5px;line-height:1.5;color:var(--tl-ink-2,#26395a)}
.imx-src{margin:0;font-size:13.5px;line-height:1.55;color:var(--tl-mu,#56677f)}
.imx-src a,.imx-fine a{color:var(--ix-acc-ink,#0b6b62);font-weight:700}

@media(min-width:560px){
  .imx-grid2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .imx-grid3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .imx-acts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .imx-co2{grid-template-columns:150px minmax(0,1fr);align-items:start}
  .imx-co2-doc{display:block}
  .imx-info-g{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:768px){
  .imx-step-h{padding:20px 22px 0}
  .imx-step:not(.is-open) .imx-step-h{padding-bottom:20px}
  .imx-step-b{padding:16px 22px 22px}
  .imx-res{padding:24px}
  .imx-info{padding:28px}
}
@media(min-width:1024px){
  .imx-layout{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:24px}
  .imx-side{position:sticky;top:18px}
  .imx-acts{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){
  .imx-step,.imx-flow-bar i,.imx-det{animation:none}
  .imx-spin{animation-duration:2s}
}

/* versión 2: filtro de versiones, trazabilidad */
.imx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.imx-vq .imx-combo-in input{min-height:46px}
.imx-ref code,.imx-dl code{font:600 11.5px/1.4 var(--tl-mono,monospace);background:#eef3fa;border-radius:6px;padding:2px 5px;word-break:break-all}
.imx-ref{word-break:break-word}

.imx-step-b>*,.imx-res>*{min-width:0}
.imx-seg-o span{overflow-wrap:anywhere}
/* Auditoría 11/2026: estados, importe provisional, desglose ordenado y navegación entre pasos */
.imx-state{margin:-6px 0 0;font-size:13.5px;line-height:1.5;color:var(--ix-mu)}
.imx-state--warn{color:#5d3c00}
.imx-state--stop{color:var(--ix-stop)}
.imx-amount--pend{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;color:#6b4a00}
.imx-amount-k{flex-basis:100%;font:800 12px/1 var(--tl-sans,sans-serif);letter-spacing:.08em;text-transform:uppercase;color:var(--ix-warn)}
.imx-dl-h{margin:4px 0 -6px;font:800 12.5px/1.2 var(--tl-sans,sans-serif);letter-spacing:.06em;text-transform:uppercase;color:var(--ix-mu)}
.imx-legend{margin:-4px 0 0;font-size:12.5px;line-height:1.9;color:var(--ix-mu)}
.imx-legend .imx-tag{margin-left:0}
.imx-next{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding-top:4px}
.imx-next small{font-size:12.5px;color:var(--ix-mu)}
.imx-btn--sm{min-height:44px;padding:10px 16px;font-size:14px}
.imx-empty--err{display:grid;gap:10px;justify-items:start;background:var(--ix-stop-soft);border:1px solid #f6c7cf;color:#6d1424}
.imx-empty--err p{margin:0}

/* =====================================================================================================
   Rediseño 11/2026 · móvil primero: fechas en tres desplegables, unidades, ayuda por potencia, casilla 03 visible,
   resultado simple con detalle desplegable, aviso de cambio de tramo y «Calcular otro vehículo».
   ===================================================================================================== */
.imx{scroll-margin-top:84px}
.imx input,.imx select,.imx button{scroll-margin:96px 0 120px} /* cabecera fija y barra inferior del móvil */
.imx-fs{border:0;margin:0;padding:0;min-width:0;display:grid;gap:8px}
.imx-fs>legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:0;margin-bottom:2px;font:800 15.5px/1.3 var(--tl-display,Manrope,sans-serif);color:var(--ix-ink)}
.imx-hint{margin:0;font-size:13px;line-height:1.45;color:var(--ix-mu)}
.imx-err{display:flex;gap:8px;align-items:flex-start;margin:0;padding:9px 11px;border-radius:12px;background:var(--ix-stop-soft);color:#7a1426;font-size:13.5px;line-height:1.45}
.imx-err svg,.imx-note svg{width:18px;height:18px;flex:none;margin-top:1px}
.imx-note--ask{color:#5d3c00}
.imx-link--sm{justify-self:start;min-height:40px;padding:8px 2px;font-size:13.5px}

/* fecha: día · mes · año */
.imx-date{display:grid;grid-template-columns:minmax(62px,.9fr) minmax(76px,1.2fr) minmax(82px,1.1fr);gap:8px;min-width:0}
.imx-date-c{display:grid;gap:4px;min-width:0}
.imx-date-c>span{font:700 11.5px/1 var(--tl-sans,sans-serif);letter-spacing:.04em;text-transform:uppercase;color:var(--ix-mu)}
.imx-date select{min-height:52px;padding-left:12px;padding-right:28px;background-position:calc(100% - 16px) 23px,calc(100% - 11px) 23px}
.imx-date select[aria-invalid=true]{border-color:#e4576d;background-color:#fff7f8}
.imx-date-y{align-self:end;display:grid;align-content:center;min-height:52px;padding:6px 12px;border-radius:14px;background:#eef3fa;border:1.5px dashed #c9d6e8}
.imx-date-y b{font:800 17px/1.1 var(--tl-display,sans-serif);color:var(--ix-ink)}
.imx-date-y small{font-size:11px;color:var(--ix-mu)}
.imx-date-row{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:end}
.imx-today{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:10px 16px;border-radius:999px;border:1.5px solid var(--ix-line);background:#fff;color:var(--ix-ink);font:800 14.5px/1 var(--tl-display,sans-serif);cursor:pointer;justify-self:start}
.imx-today svg{width:17px;height:17px}
.imx-today.is-on{background:var(--ix-acc-soft);border-color:#9fe6d8;color:var(--ix-acc-ink)}
.imx-today:focus-visible{outline:3px solid #3478f6;outline-offset:2px}

/* campos con unidad (g/km, km) y filtros de potencia y motorización */
.imx-unit{position:relative;display:flex;align-items:stretch;gap:8px;min-width:0}
.imx-unit>input{flex:1;min-width:0}
.imx-suf{position:absolute;right:14px;top:50%;transform:translateY(-50%);font:700 14px/1 var(--tl-sans,sans-serif);color:var(--ix-mu);pointer-events:none}
.imx-unit>input:has(+.imx-suf){padding-right:54px}
.imx-find{display:grid;gap:10px;padding:12px;border-radius:16px;background:#f4f8fd;border:1px solid #e1e9f4}
.imx-find-h{display:grid;gap:2px;margin:0}
.imx-find-h strong{font:800 14.5px/1.3 var(--tl-display,sans-serif)}
.imx-find-h small{font-size:12.5px;color:var(--ix-mu)}
.imx-find-g{display:grid;gap:10px}
.imx-find-n{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;margin:0;font:700 13.5px/1.3 var(--tl-sans,sans-serif)}
.imx .imx-find-n{color:var(--ix-acc-ink)}
.imx-ver-g{display:flex;align-items:center;gap:8px;margin:6px 2px 0;font:800 12px/1.2 var(--tl-sans,sans-serif);letter-spacing:.05em;text-transform:uppercase;color:var(--ix-mu)}
.imx-ver-g small{font:700 11px/1 var(--tl-mono,monospace);background:#eef3fa;border-radius:999px;padding:3px 7px;letter-spacing:0}
.imx-ver-g[data-group=exactas]{color:var(--ix-acc-ink)}
.imx-vers-l{max-height:none;overflow:visible}

/* CO₂: ayuda sin ficha española */
.imx-more{border-radius:12px;background:#f6f9fd;padding:0 12px}
.imx-more summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font:700 13.5px/1.3 var(--tl-sans,sans-serif);color:var(--ix-acc-ink)}
.imx-more p{margin:0 0 12px;font-size:13.5px;line-height:1.5;color:var(--ix-mu)}

/* tu caso (supuesto y categoría): plegado con el valor por defecto */
.imx-case{border-radius:16px;border:1px solid var(--ix-line);padding:0 12px}
.imx-case summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:56px;padding:8px 0}
.imx-case summary::-webkit-details-marker{display:none}
.imx-case summary>span:first-child{display:grid;gap:2px;font:700 14px/1.3 var(--tl-sans,sans-serif);min-width:0}
.imx-case summary small{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ix-mu)}
.imx-case-c{display:inline-flex;align-items:center;gap:4px;flex:none;font:800 13px/1 var(--tl-sans,sans-serif);color:var(--ix-acc-ink)}
.imx-case-c svg{width:16px;height:16px;transition:transform .2s}
.imx-case[open] .imx-case-c svg{transform:rotate(180deg)}
.imx-case[open]{display:grid;gap:12px;padding-bottom:14px}

/* resultado: casilla 03, vehículo, datos clave */
.imx-sub{margin:-6px 0 0;font:700 14px/1.4 var(--tl-sans,sans-serif);color:var(--ix-ink)}
.imx-c03{display:grid;gap:3px;padding:12px 14px;border-radius:16px;background:#0b1830;color:#fff}
.imx-c03-k{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin:0;font:800 11px/1.2 var(--tl-mono,monospace);letter-spacing:.1em;text-transform:uppercase;color:#7eead8}
.imx-c03-k .imx-i{color:#7eead8}
.imx-c03-k .imx-tip{background:#1b2c49}
.imx-c03-v{margin:0;font:800 22px/1.15 var(--tl-display,sans-serif);letter-spacing:-.02em}
.imx-c03-s{margin:0;font-size:13px;line-height:1.4;color:#a9bddb}
.imx-c03.is-pend{background:#f4f7fb;color:var(--ix-ink);border:1px dashed #c9d6e8}
.imx-c03.is-pend .imx-c03-k,.imx-c03.is-pend .imx-c03-k .imx-i{color:var(--ix-acc-ink)}
.imx-c03.is-pend .imx-c03-v{font-size:17px}
.imx-c03.is-pend .imx-c03-s{color:var(--ix-mu)}
.imx-veh{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:16px;background:#f6f9fd;border:1px solid #e3eaf3}
.imx-veh>svg{width:26px;height:26px;flex:none;color:var(--ix-acc)}
.imx-veh>span{display:grid;gap:3px;min-width:0}
.imx-veh strong{font:800 15px/1.3 var(--tl-display,sans-serif);overflow-wrap:anywhere}
.imx-veh small{font-size:12.5px;line-height:1.45;color:var(--ix-mu);overflow-wrap:anywhere}
.imx-key{display:grid;margin:0}
.imx-key>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px solid var(--ix-line)}
.imx-key>div:last-child{border-bottom:0}
.imx-key dt{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;font:600 13.5px/1.35 var(--tl-sans,sans-serif);color:var(--ix-mu);min-width:0}
.imx-key dt small{font:700 10.5px/1 var(--tl-mono,monospace);background:#eef3fa;border-radius:6px;padding:3px 5px}
.imx-key dt .imx-tip{flex-basis:100%}
.imx-key dd{margin:0;text-align:right;font:800 15px/1.3 var(--tl-display,sans-serif);font-variant-numeric:tabular-nums;white-space:nowrap}
.imx-src-o{color:var(--ix-acc-ink)!important;font-weight:600!important}
.imx-dl--src dd small{margin-top:2px}

/* aviso de cambio de tramo */
.imx-sav{display:grid;gap:8px;padding:14px;border-radius:16px;background:linear-gradient(160deg,#ecfdf8,#f4fbff);border:1px solid #b9ecdf}
.imx-sav--soft{background:#f6f9fd;border-color:#dbe6f3}
.imx-sav-h{display:flex;align-items:center;gap:8px;margin:0;font:800 15px/1.3 var(--tl-display,sans-serif);color:#064a43}
.imx-sav-h svg{width:20px;height:20px;flex:none}
.imx-sav>p{margin:0;font-size:14px;line-height:1.5;color:#1f3554}
.imx-sav-dl{display:grid;margin:0;border-radius:12px;background:#fff;padding:2px 12px}
.imx-sav-dl>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #e6eef6;font-size:13.5px}
.imx-sav-dl>div:last-child{border-bottom:0}
.imx-sav-dl dt{color:var(--ix-mu)}
.imx-sav-dl dd{margin:0;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.imx-sav-dl .is-sum dt,.imx-sav-dl .is-sum dd{color:#06766a;font-weight:800}
.imx-sav-f{font-size:12px!important;color:var(--ix-mu)!important}

/* botón del detalle y reinicio */
.imx-det-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:52px;padding:12px 16px;border:1.5px solid #cfe9e3;border-radius:14px;background:#f2fbf9;color:var(--ix-acc-ink);font:800 15px/1.2 var(--tl-display,sans-serif);cursor:pointer;text-align:left}
.imx-det-btn svg{width:20px;height:20px;flex:none;transition:transform .2s}
.imx-det-btn[aria-expanded=true] svg{transform:rotate(180deg)}
.imx-det-btn:focus-visible,.imx-btn--reset:focus-visible{outline:3px solid #3478f6;outline-offset:2px}
.imx-btn--reset{width:100%;border-style:dashed;background:#fbfdff;color:var(--ix-ink)}
.imx-btn--reset svg{color:var(--ix-acc-ink)}

@media(min-width:420px){
  .imx-date-row{grid-template-columns:minmax(0,1fr) auto}
}
@media(min-width:560px){
  .imx-find-g{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.imx-det-btn svg,.imx-case-c svg{transition:none}}

/* cabecera compacta en el móvil: el formulario empieza en la primera pantalla */
@media(max-width:719px){
  .tlx--tax .tl-hero{padding-bottom:14px}
  .tlx--tax .tlx-crumbs,.tlx--tax .tl-flags,.tlx--tax .tl-actions,.tlx--tax .tlx-play{display:none}
  .tlx--tax .tl-hero h1{font-size:clamp(27px,7.4vw,34px)}
  .tlx--tax .tl-hero h1 em{margin-top:6px}
  .tlx--tax .tl-lead{margin-top:10px;font-size:15.5px}
  .tlx-body--tax .tlx-sec--how{display:none}
  .tlx-sec--taxapp{padding-top:14px}
}

/* Colores de los párrafos de la calculadora. hub.css pinta «.hub-page p» en gris (más específico que una sola clase):
   aquí se repite el color con «.imx .clase» para que el importe, la casilla 03 y los avisos tengan el suyo
   (antes de 11/2026 el importe salía gris por esto). */
.imx p{color:inherit}
.imx .imx-amount{color:var(--ix-ink)}
.imx .imx-amount--empty{color:#c3cfdf}
.imx .imx-amount--pend{color:#6b4a00}
.imx .imx-sub{color:var(--ix-ink)}
.imx .imx-res-k,.imx .imx-state,.imx .imx-hint,.imx .imx-note,.imx .imx-fine,.imx .imx-legend,.imx .imx-step-sum,.imx .imx-loading,.imx .imx-ver-g,.imx .imx-more p,.imx .imx-empty,.imx .imx-alt small{color:var(--ix-mu)}
.imx .imx-state--warn,.imx .imx-note--ask,.imx .imx-man-h,.imx .imx-scen{color:#5d3c00}
.imx .imx-state--stop{color:var(--ix-stop)}
.imx .imx-scen--ok{color:#064a43}
.imx .imx-err{color:#7a1426}
.imx .imx-empty--err{color:#6d1424}
.imx .imx-pend-h{color:var(--ix-warn)}
.imx .imx-c03-v{color:#fff}
.imx .imx-c03-s{color:#a9bddb}
.imx .imx-c03-k{color:#7eead8}
.imx .imx-c03.is-pend .imx-c03-v{color:var(--ix-ink)}
.imx .imx-c03.is-pend .imx-c03-s{color:var(--ix-mu)}
.imx .imx-c03.is-pend .imx-c03-k{color:var(--ix-acc-ink)}
.imx .imx-sav-h{color:#064a43}
.imx .imx-sav>p{color:#1f3554}
.imx .imx-sav>.imx-sav-f{color:var(--ix-mu)}
.imx .imx-ver-g[data-group=exactas]{color:var(--ix-acc-ink)}
.imx .imx-find-h{color:var(--ix-ink)}
.imx .imx-msg{color:var(--ix-ink)}
