/* ==========================================================================
   valor-utm.cl · capa «lab-exp» (rediseño total, 30-09-2026)
   Se carga DESPUÉS de styles.css, converter-period.css y mis-calculos.css y
   gana sobre ellas. Primero redefine los tokens (letra, color, radios), que
   toda la base ya consume; después reescribe cada componente visible.
   Dirección elegida por Pablo: «Transferencia» (la calculadora manda, como
   una app de banco) + lo mejor de «Panel» (el mes a mes y el comprobante).
   Nicho: quien paga algo este mes y necesita el monto exacto en pesos.
   ========================================================================== */

@font-face{font-family:"Host Grotesk";src:url("/assets/fonts/host-grotesk-latin-wght.woff2") format("woff2");font-weight:300 800;font-style:normal;font-display:swap}

/* --- Tokens ------------------------------------------------------------- */
:root{
  --font-display:"Host Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ink:#0f1f18;--ink-soft:#4f5e57;--ink-3:#748680;
  --paper:#fff;--surface:#f4f7f5;--surface-2:#e9efec;--line:#dbe4df;--line-2:#c9d6cf;
  --green:#0b6b45;--green-2:#0e8a59;--green-soft:#e3f2ea;--green-mid:#a9d8c1;--action:#0b6b45;
  --gold:#f5b82e;--gold-ink:#3b2d00;--gold-soft:#fff3d1;
  --red:#c23b48;--navy:#064d31;
  --banda:#0b6b45;--banda-honda:#064d31;--banda-tinta:#fff;--banda-suave:rgba(255,255,255,.14);
  --radius:18px;--control:12px;--r-mini:8px;--r-chip:999px;
  --shell:1160px;
  --sombra-escalon:0 4px 0 var(--banda-honda);
  font-family:var(--font-display);
  font-size:16px
}
:root[data-theme="dark"]{
  --ink:#eef4f0;--ink-soft:#a7b5ad;--ink-3:#7f8f87;
  --paper:#0d1713;--surface:#132019;--surface-2:#1a2a22;--line:#27392f;--line-2:#34493d;
  --green:#3ccf8e;--green-2:#5ddca3;--green-soft:#153224;--green-mid:#1f5a3f;--action:#1f8a5b;
  --gold:#e6b33a;--gold-ink:#2b2000;--gold-soft:#3a2d0a;
  --red:#ff7b87;--navy:#07110d;
  --banda:#0a4a31;--banda-honda:#06301f;--banda-tinta:#f2f7f4;--banda-suave:rgba(255,255,255,.1);
  --sombra-escalon:0 4px 0 #04241a
}
:root{--shell:1160px}
@media(min-width:1400px){:root{--shell:1240px}}

/* --- Base ---------------------------------------------------------------- */
html{background:var(--paper)}
body{font-family:var(--font-display);color:var(--ink);background:var(--paper);line-height:1.5;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:inherit}
h1,h2,h3,h4,.brand,.current-value,strong[data-utm-result],.page-hero aside strong,.workspace-results strong{font-family:var(--font-display);letter-spacing:-.02em}
h1,h2,h3{font-weight:750}
a{color:inherit}
.shell{width:min(calc(100% - 48px),var(--shell))}
@media(max-width:640px){.shell{width:min(calc(100% - 32px),var(--shell))}}
:root{--t-pagina:clamp(2rem,1.4rem + 2vw,2.75rem);--t-seccion:clamp(1.5rem,1.2rem + 1vw,1.75rem);--t-panel:1.2rem;--t-tarjeta:1.05rem}
.eyebrow{display:inline-block;margin:0 0 6px;color:var(--green);font-size:.85rem;font-weight:700;letter-spacing:0;text-transform:none}
:focus-visible{outline:3px solid var(--green);outline-offset:2px}
.skip-link{border-radius:var(--control)}
table{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
::selection{background:var(--gold);color:var(--gold-ink)}
@media(prefers-reduced-motion:no-preference){
  a,button,.money-field,.tool-link,.reference-item,.recent-month-card,.mes-boton{transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}
}

/* --- Cabecera ------------------------------------------------------------ */
.site-header{position:sticky;top:0;z-index:40;background:var(--paper);border-bottom:1px solid var(--line)}
.header-inner{min-height:64px;display:flex;align-items:center;gap:26px}
.brand{display:inline-flex;align-items:center;gap:10px;font-size:1.25rem;font-weight:700;text-decoration:none}
.brand-mark{width:40px;height:40px;border-radius:var(--control)}
.brand strong{color:var(--green);font-weight:800}
.desktop-nav{display:flex;gap:2px;margin-left:4px}
.desktop-nav a{display:block;padding:8px 12px;border-radius:var(--r-mini);color:var(--ink-soft);font-size:.95rem;font-weight:550;text-decoration:none;border:0}
.desktop-nav a:hover{background:var(--surface);color:var(--ink)}
.desktop-nav a.active{color:var(--ink);background:transparent;box-shadow:inset 0 -3px 0 var(--green);border-radius:0}
.header-actions{margin-left:auto;display:flex;align-items:center;gap:8px}
.text-size{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-mini);overflow:hidden}
.text-size button{min-width:40px;height:40px;padding:0 10px;border:0;background:var(--paper);color:var(--ink);font-weight:700;font-size:.9rem;cursor:pointer}
.text-size button+button{border-left:1px solid var(--line)}
.text-size button[aria-pressed="true"]{background:var(--surface-2);color:var(--green)}
.icon-button,.menu-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:40px;height:40px;padding:0 10px;border:1px solid var(--line);border-radius:var(--r-mini);background:var(--paper);color:var(--ink);font-weight:600;font-size:.9rem;cursor:pointer}
.icon-button:hover,.menu-button:hover{border-color:var(--line-2);background:var(--surface)}
.menu-button{padding:0 12px}
.menu-button .menu-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}
.mobile-nav{border-radius:0 0 var(--radius) var(--radius);border:1px solid var(--line);background:var(--paper);color:var(--ink)}
.mobile-nav>header{font-weight:700}
.mobile-nav-links a{border-radius:var(--control);color:var(--ink)}
.mobile-nav-links a.active{background:var(--green-soft);color:var(--green)}
.mobile-nav-links a svg{stroke:var(--green)}
.mobile-install{border-radius:var(--control);border:1px solid var(--line)}
@media(max-width:980px){.header-inner{min-height:58px;gap:12px}.brand{font-size:1.15rem}.brand-mark{width:36px;height:36px}.desktop-nav,.text-size{display:none}.menu-button{display:inline-flex}}

/* --- Portada: la banda de marca ----------------------------------------- */
.hero{background:var(--banda);color:var(--banda-tinta);border:0;padding:16px 0 28px}
.hero .hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px 44px;min-height:0;padding-top:0;padding-bottom:0;align-items:start}
.hero-grid>*{min-width:0}
.hero-value{padding:0;display:block}
.hero-value h1{margin:0;font-size:clamp(2rem,1.5rem + 1.6vw,2.6rem);line-height:1.04;letter-spacing:-.025em;font-weight:800;color:var(--banda-tinta)}
.hero-value h1 .h1-tail{display:block;margin-top:4px;font-size:1.2rem;font-weight:500;letter-spacing:-.005em;opacity:.88;color:var(--banda-tinta)}
.value-heading-row{display:flex;align-items:center;gap:10px;margin:18px 0 0;flex-wrap:wrap}
.value-label{font-size:.95rem;font-weight:600;color:var(--banda-tinta);opacity:.95}
.hero-utility-actions{display:inline-flex;gap:6px}
.hero .value-heading-row .hero-utility-actions{display:inline-flex;gap:6px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;height:auto}
.hero .hero-utility-actions .hero-utility-button{width:34px;height:34px;min-width:0;padding:0;display:grid;place-items:center;border:1px solid rgba(255,255,255,.38);border-radius:var(--r-mini);background:transparent;color:var(--banda-tinta);box-shadow:none;cursor:pointer}
.hero .value-meta .variation{width:auto;justify-self:start}
.hero .hero-utility-actions .hero-utility-button:hover{background:var(--banda-suave);border-color:rgba(255,255,255,.6)}
.hero .hero-utility-actions .hero-utility-button svg{width:18px;height:18px;fill:none;stroke:var(--banda-tinta);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.hero .value-meta .variation b{background:transparent;padding:0;border:0;color:var(--banda-tinta);font-weight:800;font-size:1rem}
.hero .value-meta .variation span{color:var(--banda-tinta)}
.hero .hero-next-month strong,.hero .hero-next-month .hero-next-kicker,.hero .hero-next-month .hero-next-link,:root[data-theme="dark"] .hero .hero-next-month strong,:root[data-theme="dark"] .hero .hero-next-month .hero-next-kicker,:root[data-theme="dark"] .hero .hero-next-month .hero-next-link,:root[data-theme="dark"] .hero .hero-next-month p{color:var(--gold-ink);opacity:1}
.hero h2.hero-nicho-title{margin:0 0 8px;font-size:1rem;line-height:1.3;font-weight:700;letter-spacing:0;color:var(--banda-tinta)}
.hero-utility-button[data-tooltip]::after{border-radius:var(--r-mini)}
.current-value{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:12px;margin:6px 0 0;font-size:clamp(3.4rem,2.4rem + 4vw,5.25rem);line-height:1;font-weight:800;letter-spacing:-.045em;color:var(--banda-tinta);font-variant-numeric:tabular-nums}
.current-value .value-currency{font-size:1.1rem;font-weight:700;letter-spacing:0;opacity:.82;color:var(--banda-tinta)}
.value-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0 0}
.value-unit{font-size:.95rem;font-weight:600;opacity:.9;color:var(--banda-tinta)}
.variation{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:var(--r-mini);background:var(--banda-honda);color:var(--banda-tinta);font-size:.95rem;font-weight:500;border:0}
.variation b{font-weight:750;color:var(--banda-tinta)}
.hero[data-future-period="true"] .variation{background:var(--gold);color:var(--gold-ink)}
.hero[data-future-period="true"] .variation b{color:var(--gold-ink)}
.hero[data-future-period="true"] [data-period-value],.hero[data-future-period="true"] [data-period-heading]{color:var(--gold)}
/* Mes siguiente ya publicado: un botón amarillo, entero clicable. */
.hero-next-month{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:14px;width:100%;max-width:460px;margin:16px 0 0;padding:10px 14px 10px 16px;border:0;border-radius:var(--control);background:var(--gold);color:var(--gold-ink);text-align:left;font:inherit;cursor:pointer}
.hero-next-month:hover{background:#ffc94d}
.hero-next-month .hero-next-kicker{grid-column:1;display:block;font-size:.82rem;font-weight:600;line-height:1.2;color:var(--gold-ink);text-transform:none;letter-spacing:0}
.hero-next-month strong{grid-column:1;display:block;margin-top:2px;font-size:1.1rem;font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums}
.hero-next-month .hero-next-link{grid-column:2;grid-row:1/span 2;display:inline-flex;align-items:center;gap:6px;font-size:.92rem;font-weight:750;white-space:nowrap;text-decoration:none;color:inherit;background:none;border:0;padding:0}
/* Nicho: lo que la persona viene a pagar. */
.hero-nicho{margin:18px 0 0}
.hero-nicho-title{margin:0 0 8px;font-size:.98rem;font-weight:700;letter-spacing:0;color:var(--banda-tinta)}
.hero-nicho-links{display:flex;flex-wrap:wrap;gap:6px}
.hero-nicho-links a{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 12px 0 9px;border:1px solid rgba(255,255,255,.4);border-radius:var(--r-mini);color:var(--banda-tinta);font-size:.92rem;font-weight:600;text-decoration:none;white-space:nowrap}
.hero-nicho-links a:hover{background:var(--banda-honda);border-color:var(--banda-honda)}
.hero-nicho-links svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.hero-links{display:flex;flex-wrap:wrap;gap:6px 18px;margin:14px 0 0;font-size:.95rem;font-weight:600}
.hero-links a{color:var(--banda-tinta);text-decoration:none;border-bottom:1.5px solid rgba(255,255,255,.5);padding-bottom:1px}
.hero-links a:hover{border-color:var(--banda-tinta)}
.hero-links strong{font-weight:800}
.hero .hero-answer{margin:16px 0 0;padding:0;border:0;background:transparent;font-size:.95rem;line-height:1.5;color:var(--banda-tinta);opacity:.92;max-width:52ch}
.hero .hero-answer strong{font-weight:750;color:var(--banda-tinta)}
.hero .hero-links a.hero-uta{padding:0;border:0;border-bottom:1.5px solid rgba(255,255,255,.5);background:transparent;color:var(--banda-tinta);font-weight:600}
.hero .hero-links a.hero-uta strong,.hero .hero-links a.hero-uta span{color:var(--banda-tinta)}
.source-line{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 0;font-size:.85rem;color:var(--banda-tinta);opacity:.85}
.source-line a{color:var(--banda-tinta);font-weight:600}
.source-line .live-dot,.console-note .live-dot,.footer-brand .live-dot{background:var(--gold);box-shadow:none}
.hero-task-column{display:block;margin:0;padding:0}
.ad-zone.hero-ad-zone{margin-top:14px}
.ad-zone.hero-ad-zone .ad-reserved{border-radius:var(--control);border-color:rgba(255,255,255,.25)}

/* --- La tarjeta de la calculadora --------------------------------------- */
#conversor.period-dialog-converter{display:grid;grid-template:none;grid-template-areas:none;grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-flow:row;gap:0;margin:0;padding:14px 18px 16px!important;border:0;border-radius:var(--radius);background:var(--paper);color:var(--ink);box-shadow:0 6px 0 var(--banda-honda)}
#conversor.period-dialog-converter>*,#conversor.period-dialog-converter .calm-primary-actions,#conversor.period-dialog-converter .calm-utilities{grid-area:auto;grid-column:1;grid-row:auto;min-width:0;width:auto;max-width:none}
#conversor.period-dialog-converter .console-heading>.converter-heading{flex:1 1 auto;min-width:0}
#conversor.period-dialog-converter .console-heading h2{white-space:nowrap}
.hero #conversor.period-dialog-converter{width:100%;max-width:none;align-self:start}
/* Orden de lectura: título → campos → cuenta → botones → mes → más buscados → nota. */
#conversor.period-dialog-converter .console-heading{order:1}
#conversor.period-dialog-converter .converter-row{order:2}
#conversor.period-dialog-converter .equation{order:3}
#conversor.period-dialog-converter .calm-control-row{display:contents}
#conversor.period-dialog-converter .calm-primary-actions{order:4;margin-top:12px}
#conversor.period-dialog-converter .mes-tira-titulo{order:5}
#conversor.period-dialog-converter .mes-tira{order:6}
#conversor.period-dialog-converter .calm-utilities{order:7;margin-top:12px}
#conversor.period-dialog-converter .converter-footer-row{order:8}
#conversor.period-dialog-converter .console-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px}
#conversor.period-dialog-converter .console-heading>.converter-heading{display:flex;align-items:center;gap:10px;grid-template-columns:none;grid-template-rows:none}
#conversor.period-dialog-converter .console-heading h2{margin:0;font-size:1.15rem;line-height:1.2;font-weight:750;letter-spacing:-.01em}
#conversor.period-dialog-converter .period-return{color:var(--green);font-weight:700}
#conversor.period-dialog-converter .period-trigger{min-width:0;min-height:44px;padding:6px 10px 6px 12px;border:1px solid var(--line);border-radius:var(--control);background:var(--surface);gap:8px}
#conversor.period-dialog-converter .period-trigger small{font-size:.8rem;color:var(--ink-3)}
#conversor.period-dialog-converter .period-trigger strong{font-size:.92rem;font-weight:700}
#conversor.period-dialog-converter .period-trigger svg{stroke:var(--green)}
#conversor.period-dialog-converter[data-historical-period="true"] .period-trigger{border-color:var(--gold);background:var(--gold-soft)}
/* Los dos campos, uno sobre otro: «tienes» arriba, «son» abajo, y la cuenta en medio. */
#conversor.period-dialog-converter .converter-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:center;margin:0}
#conversor.period-dialog-converter .money-field{grid-column:1/-1;position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;column-gap:8px;height:auto;min-height:0;max-height:none;padding:7px 14px 8px 16px;border:1.5px solid var(--line);border-radius:var(--control);background:var(--paper)}
#conversor.period-dialog-converter .money-field:focus-within{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}
#conversor.period-dialog-converter .money-field>.field-label-row{grid-column:1/-1;display:flex;align-items:baseline;gap:10px;margin:0;color:var(--ink-3);font-size:.82rem;font-weight:600}
#conversor.period-dialog-converter .field-label-row>span{margin-right:auto}
#conversor.period-dialog-converter .field-label-row>strong,#conversor.period-dialog-converter .field-label-row>small{font-size:.8rem;font-weight:800;color:var(--ink);padding:2px 9px;border-radius:var(--r-chip);background:var(--surface);border:1px solid var(--line)}
#conversor.period-dialog-converter .field-label-row>.converter-clear{font-size:.8rem;font-weight:700;text-decoration:none;color:var(--ink-soft)}
#conversor.period-dialog-converter .field-label-row>.converter-clear:hover{color:var(--green);text-decoration:underline}
#conversor.period-dialog-converter .money-field>div:last-child{grid-column:1/-1;display:block;width:100%;height:auto;min-height:0}
#conversor.period-dialog-converter .money-field input{display:block;width:100%;height:44px;padding:0;border:0;background:transparent;color:var(--ink);font-size:2rem;line-height:1.2;font-weight:750;letter-spacing:-.03em;font-variant-numeric:tabular-nums;outline:0}
#conversor.period-dialog-converter .money-field input::placeholder{color:var(--ink-3);font-weight:500;letter-spacing:0;font-size:1rem}
#conversor.period-dialog-converter .result-field{background:var(--green-soft);border-color:var(--green-soft)}
#conversor.period-dialog-converter .result-field:focus-within{box-shadow:none}
#conversor.period-dialog-converter .result-field strong[data-utm-result]{display:block;height:44px;line-height:44px;font-size:2rem;font-weight:800;letter-spacing:-.03em;color:var(--banda-honda);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:root[data-theme="dark"] #conversor.period-dialog-converter .result-field strong[data-utm-result]{color:var(--green-2)}
/* La cuenta, en medio: «× $71.721 · septiembre 2026», con el botón de dar vuelta. */
#conversor.period-dialog-converter .rate-pill{display:inline-flex;align-items:center;gap:6px;height:auto;min-height:38px;padding:0 0 0 30px;margin:0;position:relative;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--ink-soft);font-size:.92rem;font-weight:500;letter-spacing:0;text-transform:none;white-space:normal}
#conversor.period-dialog-converter .rate-pill::before{content:"";position:absolute;left:21px;top:-7px;bottom:-7px;width:2px;background:var(--green-mid)}
#conversor.period-dialog-converter .rate-pill::after{content:"";position:absolute;left:16px;top:50%;width:8px;height:8px;margin-top:-6px;border-radius:50%;background:var(--paper);border:2px solid var(--green)}
#conversor.period-dialog-converter .rate-pill.is-historical{color:var(--gold-ink)}
:root[data-theme="dark"] #conversor.period-dialog-converter .rate-pill.is-historical{color:var(--gold)}
#conversor.period-dialog-converter .swap-button{width:42px;height:42px;border:1.5px solid var(--line);border-radius:50%;background:var(--paper);color:var(--green);box-shadow:none;outline:0;cursor:pointer;display:grid;place-items:center;font-size:1rem}
#conversor.period-dialog-converter .swap-button:hover{border-color:var(--green);background:var(--green-soft)}
#conversor.period-dialog-converter .swap-button svg{width:22px;height:22px;transform:rotate(90deg)}
#conversor.period-dialog-converter .equation{margin:6px 2px 0;min-height:0;color:var(--ink-soft);font-size:.95rem}
#conversor.period-dialog-converter .equation .equation-result{color:var(--ink);font-weight:800}
/* La tira de meses: el vigente marcado, el siguiente en dorado si el SII ya lo publicó. */
#conversor.period-dialog-converter .mes-tira-titulo{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:12px 0 4px;color:var(--ink-3);font-size:.82rem;font-weight:600}
#conversor.period-dialog-converter .mes-tira-titulo span:last-child{font-weight:500}
#conversor.period-dialog-converter .mes-tira{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding-top:9px;margin-top:-9px}
#conversor.period-dialog-converter .mes-boton{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:0;min-height:46px;padding:5px 9px;border:1.5px solid var(--line);border-radius:var(--control);background:var(--paper);color:var(--ink);font:inherit;text-align:left;cursor:pointer;min-width:0}
#conversor.period-dialog-converter .mes-boton>span{font-size:.82rem;font-weight:700;line-height:1.2}
#conversor.period-dialog-converter .mes-boton>b{font-size:.8rem;font-weight:500;color:var(--ink-soft);line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
#conversor.period-dialog-converter .mes-boton>small{position:absolute;top:-9px;right:6px;padding:0 6px;border-radius:var(--r-mini);background:var(--green);color:#fff;font-size:.8rem;font-weight:700;line-height:18px;letter-spacing:0}
#conversor.period-dialog-converter .mes-boton.es-publicado>small{background:var(--gold);color:var(--gold-ink)}
#conversor.period-dialog-converter .mes-boton:hover{border-color:var(--green)}
#conversor.period-dialog-converter .mes-boton[aria-pressed="true"]{border-color:var(--green);background:var(--green-soft);box-shadow:inset 0 0 0 1px var(--green)}
#conversor.period-dialog-converter .mes-boton.es-publicado[aria-pressed="true"]{border-color:var(--gold);background:var(--gold-soft);box-shadow:inset 0 0 0 1px var(--gold)}
#conversor.period-dialog-converter .mes-boton[aria-pressed="true"]>b{color:var(--ink)}
/* Botones y montos rápidos. */
#conversor.period-dialog-converter .calm-primary-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;max-width:none}
#conversor.period-dialog-converter .calm-primary-actions .button{min-height:48px;padding:0 18px;border-radius:var(--control);font-size:.95rem;font-weight:750;gap:8px}
#conversor.period-dialog-converter .calm-primary-actions .button.primary{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:0 3px 0 var(--green)}
#conversor.period-dialog-converter .calm-primary-actions .button.primary:hover{background:var(--banda-honda);border-color:var(--banda-honda)}
:root[data-theme="dark"] #conversor.period-dialog-converter .calm-primary-actions .button.primary{background:var(--green);border-color:var(--green);color:#07110d;box-shadow:0 3px 0 var(--banda-honda)}
#conversor.period-dialog-converter .calm-primary-actions .button.whatsapp{background:var(--paper);border:1.5px solid var(--line);color:var(--ink)}
#conversor.period-dialog-converter .calm-primary-actions .button.whatsapp:hover{border-color:var(--green);background:var(--green-soft)}
#conversor.period-dialog-converter .calm-primary-actions .whatsapp-icon{fill:#25d366}
#conversor.period-dialog-converter .calm-utilities{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#conversor.period-dialog-converter .calm-utilities::before{content:"Más buscados:";color:var(--ink-3);font-size:.82rem;font-weight:600}
#conversor.period-dialog-converter .calm-amounts{display:flex;gap:6px;flex-wrap:wrap}
#conversor.period-dialog-converter .calm-amounts button{width:auto;height:34px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-mini);background:var(--paper);color:var(--ink);font-size:.9rem;font-weight:650;font-variant-numeric:tabular-nums}
#conversor.period-dialog-converter .calm-amounts button:hover{border-color:var(--green);color:var(--green)}
#conversor.period-dialog-converter .converter-footer-row{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line-2);gap:6px 14px}
#conversor.period-dialog-converter .console-note{color:var(--ink-soft);font-size:.85rem}
#conversor.period-dialog-converter .converter-reset,#conversor.period-dialog-converter .mis-calculos-trigger{font-size:.85rem;color:var(--ink-soft)}
#conversor.period-dialog-converter .mis-calculos-trigger{border-radius:var(--r-mini);font-weight:700;color:var(--green)}
/* Diálogo «otro mes». */
#conversor.period-dialog-converter .period-dialog{border-radius:var(--radius);border-color:var(--line)}
#conversor.period-dialog-converter .period-dialog-head h3{font-size:1.25rem}
#conversor.period-dialog-converter .period-dialog-head button,#conversor.period-dialog-converter .period-selectors select{border-radius:var(--control)}
#conversor.period-dialog-converter .period-selectors label{text-transform:none;font-weight:700;color:var(--ink-soft)}
#conversor.period-dialog-converter .month-shortcut,#conversor.period-dialog-converter .month-shortcut-arrow{border-radius:var(--control)}
#conversor.period-dialog-converter .period-apply{border-radius:var(--control);min-height:48px;font-weight:750}
@media(max-width:700px){
  #conversor.period-dialog-converter{padding:14px 14px 16px!important}
  #conversor.period-dialog-converter .console-heading h2{font-size:1.05rem;white-space:normal}
  #conversor.period-dialog-converter .converter-row>.money-field,#conversor.period-dialog-converter .converter-row>.money-field.result-field{height:auto;min-height:0;max-height:none;padding:8px 12px 8px 14px}
  #conversor.period-dialog-converter .money-field input,#conversor.period-dialog-converter .result-field strong[data-utm-result]{font-size:1.85rem;height:44px;line-height:44px}
  #conversor.period-dialog-converter .mes-tira{display:flex;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
  #conversor.period-dialog-converter .mes-tira::-webkit-scrollbar{display:none}
  #conversor.period-dialog-converter .mes-boton{flex:0 0 96px}
  #conversor.period-dialog-converter .mes-tira-titulo span:last-child{display:none}
  #conversor.period-dialog-converter .calm-primary-actions{grid-template-columns:minmax(0,1fr) auto}
  #conversor.period-dialog-converter .calm-amounts{display:flex}
  #conversor.period-dialog-converter .converter-footer-row{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:430px){
  #conversor.period-dialog-converter .console-heading{display:flex;grid-template-columns:none}
  #conversor.period-dialog-converter .period-trigger{width:auto;min-width:0}
}

/* --- Secciones de la portada ------------------------------------------- */
.section{padding-top:44px;padding-bottom:44px}
/* La base difería el dibujo de estas secciones (content-visibility): en capturas y al imprimir salían vacías. */
.soft-section,.faq-section,.reading-grid,.directory-support,.guide-formula{content-visibility:visible;contain-intrinsic-size:auto}
.section-heading{display:grid;gap:4px;margin:0 0 18px}
.section-heading h2,.section>h2,.section .shell>h2{margin:0;font-size:var(--t-seccion);line-height:1.15}
.section-heading p{margin:0;color:var(--ink-soft);max-width:70ch}
.text-link{color:var(--green);font-weight:700;text-decoration:none}
.text-link:hover{text-decoration:underline}
/* Equivalencias: una tabla de dos columnas por bloque, no doce cajitas. */
.reference-section{background:var(--paper);border:0}
.reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;border-top:1px solid var(--line)}
.reference-item{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-height:0;padding:11px 4px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;text-decoration:none}
.reference-item:hover{background:var(--surface)}
.reference-item span b{font-weight:550;color:var(--ink-soft);font-size:.98rem}
.reference-item strong{font-size:1.05rem;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.reference-note{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:18px 0 0;padding:14px 16px;border:1px solid var(--line);border-radius:var(--control);background:var(--surface)}
.reference-note strong{font-weight:750}
.reference-note span{color:var(--ink-soft)}
.reference-note a{margin-left:auto;color:var(--green);font-weight:700;text-decoration:none}
/* Multas y pagos habituales: el corazón del nicho. */
.payment-section{padding-top:0}
.payment-table-wrap{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper)}
.payment-table{width:100%;border-collapse:collapse}
.payment-table caption{caption-side:top;padding:12px 16px;background:var(--surface);color:var(--ink-soft);font-size:.9rem;font-weight:600;text-align:left;border-bottom:1px solid var(--line)}
.payment-table thead th{padding:10px 16px;background:var(--paper);color:var(--ink-3);font-size:.82rem;font-weight:700;text-align:left;border-bottom:1px solid var(--line)}
.payment-table tbody th,.payment-table tbody td{padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:middle}
.payment-table tbody tr:last-child th,.payment-table tbody tr:last-child td{border-bottom:0}
.payment-table tbody tr:hover{background:var(--surface)}
.payment-table tbody th{text-align:left;font-weight:500}
.payment-table tbody th strong{display:block;font-weight:750;color:var(--ink)}
.payment-table tbody th small{display:block;margin-top:2px;color:var(--ink-soft);font-size:.85rem;line-height:1.35}
.payment-units{color:var(--ink-soft);white-space:nowrap}
.payment-amount strong{display:inline-flex;flex-wrap:wrap;gap:4px 6px;font-size:1.05rem;font-weight:800;color:var(--ink);white-space:nowrap}
.payment-range-word{color:var(--ink-3);font-weight:500}
.payment-action a{display:inline-flex;align-items:center;gap:4px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--r-mini);color:var(--green);font-weight:700;text-decoration:none;white-space:nowrap}
.payment-action a:hover{border-color:var(--green);background:var(--green-soft)}
.payment-mobile-label{display:none}
.payment-notes{margin:12px 2px 0;color:var(--ink-soft);font-size:.9rem}
.payment-notes p{margin:4px 0}
.payment-notes a{color:var(--green)}
/* Calculadoras: filas con ícono, cada una con su tarea. */
.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border:0}
.tool-link{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:0;padding:12px 14px;border:1px solid var(--line);border-radius:var(--control);background:var(--paper);text-decoration:none}
.tool-link:hover{border-color:var(--green);background:var(--green-soft)}
.tool-link .tool-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--control);background:var(--green-soft);color:var(--banda-honda)}
:root[data-theme="dark"] .tool-link .tool-icon{color:var(--green)}
.tool-link:hover .tool-icon{background:var(--paper)}
.tool-link .tool-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.tool-link h3{margin:0;font-size:var(--t-tarjeta);font-weight:750}
.tool-link p{margin:2px 0 0;color:var(--ink-soft);font-size:.9rem;line-height:1.4}
.tool-link b{color:var(--green);font-weight:800;white-space:nowrap}
.tool-link::before,.tool-link::after{display:none}
/* Mes a mes: barras del último año y la lista de meses. */
.soft-section{background:var(--surface);border-block:1px solid var(--line)}
.history-preview{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px;align-items:start}
.history-preview>div:first-child h2{margin:0 0 8px;font-size:var(--t-seccion)}
.history-preview>div:first-child p{margin:0 0 12px;color:var(--ink-soft)}
.home-chart{margin:0;padding:14px 16px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
.home-chart figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:.9rem;color:var(--ink-soft)}
.home-chart figcaption b{color:var(--ink);font-weight:750}
.home-chart svg{display:block;width:100%;height:auto;margin-top:6px;overflow:visible}
.home-chart .barra{fill:var(--green-mid)}
.home-chart .barra.es-vigente{fill:var(--green)}
.home-chart .barra.es-publicado{fill:var(--gold)}
.home-chart text{font-family:var(--font-display);fill:var(--ink-3);font-size:12px}
.home-chart text.cifra{fill:var(--ink);font-weight:700}
.home-chart .leyenda{display:flex;flex-wrap:wrap;gap:6px 16px;margin:6px 0 0;font-size:.8rem;color:var(--ink-3)}
.home-chart .leyenda i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px;background:var(--green-mid)}
.home-chart .leyenda i.es-vigente{background:var(--green)}
.home-chart .leyenda i.es-publicado{background:var(--gold)}
.recent-months-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0 0}
.recent-months-grid.recent-months-grid--compacta{grid-template-columns:repeat(3,minmax(0,1fr))}
.recent-month-card{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--control);background:var(--paper);text-decoration:none;min-height:0}
.recent-month-card:hover{border-color:var(--green);background:var(--green-soft)}
.recent-month-card.is-current{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.recent-month-card span{font-size:.85rem;font-weight:600;color:var(--ink-soft)}
.recent-month-card strong{font-size:1.1rem;font-weight:800;font-variant-numeric:tabular-nums}
.recent-month-card .recent-month-delta{font-size:.82rem;font-weight:600;color:var(--ink-soft)}
.recent-month-card .recent-month-delta.is-up{color:var(--green)}
.recent-month-card .recent-month-delta.is-down{color:var(--red)}
.recent-month-card small{font-size:.8rem;color:var(--ink-3)}
/* Qué significa: tres pasos, numerados con el color de marca. */
.interpretation-section{background:var(--paper)}
.interpretation-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px;align-items:start}
.interpretation-layout header h2{margin:0 0 8px;font-size:var(--t-seccion)}
.interpretation-layout header p{margin:0 0 10px;color:var(--ink-soft)}
.interpretation-grid{display:grid;gap:0;counter-reset:paso;border-top:1px solid var(--line)}
.interpretation-grid article{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;row-gap:0;padding:14px 0;min-height:0;border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0}
.interpretation-grid article::before{counter-increment:paso;content:counter(paso);grid-column:1;grid-row:1/span 2;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--green);color:#fff;font-weight:800;font-size:.95rem}
.interpretation-grid article h3,.interpretation-grid article p{grid-column:2}
:root[data-theme="dark"] .interpretation-grid article::before{color:#07110d}
.interpretation-grid h3{margin:4px 0 2px;font-size:var(--t-panel);font-weight:750}
.interpretation-grid p{margin:0;color:var(--ink-soft)}
/* Boletín. */
.newsletter-band{background:var(--surface);border-block:1px solid var(--line);padding:36px 0}
.newsletter-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center}
.newsletter-band .newsletter-copy h2{margin:0 0 6px;font-size:var(--t-seccion);color:var(--ink)}
.newsletter-band .newsletter-copy p{margin:0;color:var(--ink-soft)}
.newsletter-band .newsletter-copy strong{color:var(--ink)}
.newsletter-band .newsletter-form label,.newsletter-band .newsletter-consent{font-weight:600;font-size:.9rem;color:var(--ink-soft)}
.newsletter-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:6px 0 8px}
.newsletter-control input{height:48px;padding:0 14px;border:1.5px solid var(--line);border-radius:var(--control);background:var(--paper);color:var(--ink);font-size:1rem}
.newsletter-control input:focus{border-color:var(--green);outline:0;box-shadow:0 0 0 3px var(--green-soft)}
.newsletter-control button{height:48px;padding:0 18px;border:0;border-radius:var(--control);background:var(--green);color:#fff;font-weight:750;font-size:.95rem;display:inline-flex;align-items:center;gap:8px;cursor:pointer;box-shadow:var(--sombra-escalon)}
:root[data-theme="dark"] .newsletter-control button{color:#07110d}
.newsletter-consent{display:flex;gap:8px;align-items:flex-start;font-size:.85rem;color:var(--ink-soft)}
.newsletter-form small{color:var(--ink-3);font-size:.8rem}
/* Preguntas frecuentes: filas claras, no un bloque negro. */
.faq-section{background:var(--paper);color:var(--ink)}
.faq-section .shell h2,.faq-section .shell .eyebrow+h2{margin:0 0 14px;font-size:var(--t-seccion);color:var(--ink)}
.faq-section .shell details,.faq-section .shell summary{color:var(--ink)}
.faq-section .eyebrow{color:var(--green)}
.faq-section details{border:1px solid var(--line);border-radius:var(--control);background:var(--paper);padding:0;margin:0 0 8px;color:var(--ink)}
.faq-section details[open]{border-color:var(--green-mid);background:var(--surface)}
.faq-section summary{padding:14px 44px 14px 16px;font-weight:700;font-size:1.02rem;color:var(--ink);cursor:pointer;list-style:none;position:relative;border-radius:var(--control)}
.faq-section summary::-webkit-details-marker{display:none}
.faq-section summary::after{content:"";position:absolute;right:16px;top:50%;width:10px;height:10px;margin-top:-7px;border-right:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(45deg)}
.faq-section details[open] summary::after{transform:rotate(-135deg);margin-top:-3px}
.faq-section details p{margin:0;padding:0 16px 14px;color:var(--ink-soft);line-height:1.55}
.home-data-review{padding-top:0}
.home-data-review-card{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:24px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.home-data-review-card h2{margin:0;font-size:var(--t-panel)}
.home-data-review-card h2 a{color:var(--ink);text-decoration:none}
.home-data-review-role{margin:2px 0 0;color:var(--ink-soft);font-size:.9rem}
.home-data-review-card>p{margin:0;color:var(--ink-soft);line-height:1.55}
.home-data-review-card a{color:var(--green)}
/* Reservas publicitarias: cajas con el radio del sistema, sin rótulo. */
.ad-zone .ad-reserved{border-radius:var(--control)}

/* --- Pie ------------------------------------------------------------------ */
.site-footer{background:var(--banda-honda);color:#e6f0ea;padding:44px 0 18px}
.footer-top{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:28px}
.footer-brand .brand{color:#fff}
.footer-brand .brand strong{color:var(--gold)}
.footer-brand p{color:#cfe0d6;margin:10px 0 8px;max-width:34ch}
.footer-brand>span{color:#cfe0d6;font-size:.85rem}
.install-app{border:1px solid rgba(255,255,255,.3);border-radius:var(--control);background:transparent;color:#fff;font-weight:600}
.install-app:hover{background:rgba(255,255,255,.1)}
.site-footer nav h2{margin:0 0 8px;font-size:.85rem;font-weight:700;color:#fff;text-transform:none;letter-spacing:0}
.site-footer nav a{display:block;padding:3px 0;color:#cfe0d6;font-size:.92rem;text-decoration:none}
.site-footer nav a:hover{color:#fff;text-decoration:underline}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;margin-top:28px;padding-top:14px;border-top:1px solid rgba(255,255,255,.14);color:#b9cdc2;font-size:.85rem}
.install-dialog{border-radius:var(--radius);border-color:var(--line)}
.install-dialog .button{border-radius:var(--control)}

/* --- Botones del sistema ------------------------------------------------- */
.button{border-radius:var(--control);font-weight:750}
.button.primary{background:var(--green);border-color:var(--green);color:#fff;box-shadow:var(--sombra-escalon)}
.button.primary:hover{background:var(--banda-honda);border-color:var(--banda-honda)}
:root[data-theme="dark"] .button.primary{color:#07110d}
.button.secondary{background:var(--paper);border:1.5px solid var(--line);color:var(--green)}
.button.secondary:hover{border-color:var(--green);background:var(--green-soft)}

/* --- Páginas interiores -------------------------------------------------- */
.page-hero{padding:14px 0 22px;background:var(--banda);color:var(--banda-tinta);border:0}
.page-hero>.shell{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 32px;align-items:center}
.page-hero .eyebrow{color:var(--gold);font-weight:700;margin-bottom:4px}
.page-hero h1{margin:0;font-size:var(--t-pagina);line-height:1.08;color:var(--banda-tinta)}
.page-hero p{margin:8px 0 0;max-width:64ch;color:var(--banda-tinta);opacity:.9;font-size:1.02rem}
.page-hero .page-hero-jump{margin-top:14px;background:var(--gold);border-color:var(--gold);color:var(--gold-ink);box-shadow:0 3px 0 rgba(0,0,0,.25)}
.page-hero .page-hero-jump:hover{background:#ffc94d;border-color:#ffc94d}
.page-hero aside{display:grid;gap:2px;min-width:220px;padding:14px 18px;border-radius:var(--control);background:var(--paper);color:var(--ink);border:0}
.page-hero aside span{font-size:.82rem;font-weight:600;color:var(--ink-3)}
.page-hero aside strong{font-size:1.9rem;font-weight:800;line-height:1.1;color:var(--banda-honda);font-variant-numeric:tabular-nums}
:root[data-theme="dark"] .page-hero aside strong{color:var(--green)}
.page-hero aside small{font-size:.82rem;color:var(--ink-soft)}
.site-breadcrumb,.history-breadcrumb,nav.site-breadcrumb.shell,nav.history-breadcrumb.shell{display:flex;flex-wrap:wrap;gap:6px;margin:12px auto 0;padding:0;font-size:.85rem;color:var(--ink-3)}
.site-breadcrumb a,.history-breadcrumb a{color:var(--ink-soft);text-decoration:none}
.site-breadcrumb a:hover,.history-breadcrumb a:hover{color:var(--green);text-decoration:underline}
.site-breadcrumb b,.history-breadcrumb b{color:var(--ink);font-weight:600}
/* Respuesta directa: un panel con la cifra a la derecha. */
.tool-direct-answer{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:20px;margin:16px auto 0;padding:18px 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.tool-direct-answer article h2{margin:0 0 6px;font-size:var(--t-panel)}
.tool-direct-answer article p{margin:0;color:var(--ink-soft)}
.tool-direct-answer nav{display:flex;flex-wrap:wrap;gap:6px 14px;margin:10px 0 0}
.tool-direct-answer nav a{color:var(--green);font-weight:700;text-decoration:none}
.tool-direct-answer aside{display:grid;gap:2px;align-content:center;padding:14px 16px;border-radius:var(--control);background:var(--paper);border:1px solid var(--line)}
.tool-direct-answer aside span{font-size:.82rem;font-weight:600;color:var(--ink-3)}
.tool-direct-answer aside strong{font-size:1.7rem;font-weight:800;color:var(--banda-honda);font-variant-numeric:tabular-nums}
:root[data-theme="dark"] .tool-direct-answer aside strong{color:var(--green)}
.tool-direct-answer aside small{font-size:.82rem;color:var(--ink-soft)}
/* El espacio de trabajo de cada calculadora: la tarjeta del conversor, más grande. */
.workspace{margin:16px auto 0;padding:20px 22px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
.workspace>header{display:grid;gap:2px;margin:0 0 14px;padding:0;border:0}
.workspace>header h2{margin:0;font-size:var(--t-panel)}
.workspace>header p{margin:0;color:var(--ink-soft);font-size:.9rem}
.workspace-context{margin:0 0 14px;padding:12px 14px;border-radius:var(--control);background:var(--gold-soft);color:var(--gold-ink);border:0}
.workspace-context span{font-weight:750;font-size:.85rem}
.workspace-context p{margin:2px 0 0;font-size:.95rem}
:root[data-theme="dark"] .workspace-context{color:var(--gold)}
.workspace-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:20px;align-items:start}
.workspace-inputs{display:grid;gap:10px}
.workspace-inputs label,.large-input{display:grid;gap:4px;font-size:.85rem;font-weight:600;color:var(--ink-soft)}
.workspace-inputs label>span:not(.large-input-caption),.large-input>span:not(.large-input-caption){display:flex;align-items:center;gap:8px;padding:0 12px 0 14px;border:1.5px solid var(--line);border-radius:var(--control);background:var(--paper)}
.workspace-inputs label>span:focus-within,.large-input>span:focus-within{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}
.workspace-inputs input,.large-input input{width:100%;min-width:0;height:52px;padding:0;border:0;background:transparent;color:var(--ink);font-size:1.5rem;font-weight:750;letter-spacing:-.02em;font-variant-numeric:tabular-nums;outline:0}
.workspace-inputs label>span b,.large-input>span b{flex:none;padding:2px 9px;border-radius:var(--r-chip);background:var(--surface);border:1px solid var(--line);font-size:.8rem;font-weight:800;color:var(--ink)}
.workspace-inputs select,.large-input select{width:100%;height:48px;padding:0 12px;border:1.5px solid var(--line);border-radius:var(--control);background:var(--paper);color:var(--ink);font-size:1rem;font-weight:600}
.workspace-results{display:grid;gap:8px}
.workspace-results article{display:grid;gap:2px;padding:14px 16px;border:0;border-radius:var(--control);background:var(--green-soft);min-height:0}
.workspace-results article span{font-size:.82rem;font-weight:600;color:var(--ink-soft)}
.workspace-results article strong{font-size:1.9rem;font-weight:800;line-height:1.1;color:var(--banda-honda);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
:root[data-theme="dark"] .workspace-results article strong{color:var(--green-2)}
.workspace-results article small{font-size:.82rem;color:var(--ink-soft)}
.workspace>footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin:16px 0 0;padding:12px 0 0;border-top:1px dashed var(--line-2)}
.calculation-summary{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:center}
.calculation-summary-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:var(--r-mini);background:var(--surface);color:var(--green)}
.calculation-summary-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.calculation-summary span{font-size:.8rem;font-weight:600;color:var(--ink-3)}
.calculation-summary p{margin:0;font-size:.95rem;font-weight:600;color:var(--ink)}
.workspace>footer>div:last-child{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.workspace>footer .button{min-height:44px;padding:0 14px;font-size:.9rem}
/* Comentarios y lectura. */
.tool-feedback{margin-top:14px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--control);background:var(--surface)}
.tool-feedback button{border-radius:var(--r-mini);border:1px solid var(--line);background:var(--paper);font-weight:700}
.tool-feedback button:hover{border-color:var(--green);color:var(--green)}
.reading-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:32px;align-items:start}
.reading-grid article h2{margin:0 0 10px;font-size:var(--t-seccion)}
.reading-grid .reading-lead{font-size:1.08rem;color:var(--ink)}
.reading-grid article p{color:var(--ink-soft);line-height:1.6}
.official-source{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:10px 14px;border:1.5px solid var(--line);border-radius:var(--control);color:var(--green);font-weight:750;text-decoration:none}
.official-source:hover{border-color:var(--green);background:var(--green-soft)}
.reading-grid aside{display:grid;gap:8px}
.reading-grid aside>div{padding:12px 14px;border-radius:var(--control);background:var(--surface);border:1px solid var(--line)}
.reading-grid aside span{display:block;font-size:.82rem;font-weight:700;color:var(--green);margin-bottom:2px}
.reading-grid aside p{margin:0;color:var(--ink-soft);font-size:.92rem}
.tool-faq .shell.narrow{max-width:820px}
/* Histórico. */
.archive-workbench,.worksheet-workbench,.analysis-workbench,.contact-layout{margin-top:16px}
.archive-modes button,.archive-workbench select,.archive-workbench input{border-radius:var(--control)}
.archive-modes button[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#fff}
:root[data-theme="dark"] .archive-modes button[aria-pressed="true"]{color:#07110d}
.history-trend{padding:14px 16px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
.history-trend figcaption span{color:var(--ink-3);font-size:.85rem;font-weight:600}
.history-trend figcaption strong{color:var(--ink)}
.history-trend .trend-grid line{stroke:var(--line)}
.history-trend .trend-line{stroke:var(--green);stroke-width:2.5;fill:none}
.history-trend circle{fill:var(--paper);stroke:var(--green);stroke-width:2.5}
.history-trend circle.current{fill:var(--green)}
.history-year-index a,.history-adjacent a,.history-period-nav a{border-radius:var(--control)}
.history-year-index a:hover,.history-adjacent a:hover{border-color:var(--green);background:var(--green-soft)}
.history-table-section table,.history-current-table table,.history-conversions table,.archive-table{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.history-archive .history-month-overview strong,.history-year-overview strong{color:var(--banda-honda)}
:root[data-theme="dark"] .history-archive .history-month-overview strong,:root[data-theme="dark"] .history-year-overview strong{color:var(--green)}
/* Herramientas, noticias, contacto: tarjetas y filas con el mismo sistema. */
.task-router article,.directory-support article,.contact-layout article,.balanced-guide article,.public-value article,.tool-gold-section article{border-radius:var(--control)}
.tool-gold-note{border-radius:var(--control);background:var(--gold-soft);color:var(--gold-ink);border:0}
:root[data-theme="dark"] .tool-gold-note{color:var(--gold)}
.news-card{border-radius:var(--radius);border:1px solid var(--line)}
.news-card:hover{border-color:var(--green)}
.empty-page{padding:60px 0}

/* --- Responsivo ------------------------------------------------------------ */
@media(max-width:1180px){
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:20px 28px}
  .current-value{font-size:clamp(3rem,2rem + 3.6vw,4.4rem)}
}
@media(max-width:980px){
  .hero{padding:16px 0 24px}
  .hero .hero-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  /* En celular: título, valor, mes siguiente, la calculadora y recién después «¿Qué vas a pagar?».
     La base ordena estos hijos con .hero-grid>.hero-value>X: aquí se pisa con un selector más largo. */
  .hero .hero-grid>.hero-value{display:contents}
  .hero .hero-grid>.hero-value>*{order:1;margin-left:0;margin-right:0}
  .hero .hero-grid>.hero-value>h1{order:1;margin-top:0}
  .hero .hero-grid>.hero-value>.value-heading-row{order:2}
  .hero .hero-grid>.hero-value>.current-value{order:3}
  .hero .hero-grid>.hero-value>.value-meta{order:4}
  .hero .hero-grid>.hero-value>.hero-next-month{order:5}
  .hero .hero-grid>.hero-task-column{order:6;margin-top:0}
  .hero .hero-grid>.hero-value>.hero-nicho{order:7;margin-top:6px}
  .hero .hero-grid>.hero-value>.hero-links{order:8}
  .hero .hero-grid>.hero-value>.hero-answer{order:9}
  .hero .hero-grid>.hero-value>.source-line{order:10}
  .hero-next-month{grid-template-columns:minmax(0,1fr)}
  .hero-next-month .hero-next-link{grid-column:1;grid-row:auto;margin-top:6px}
  .hero-nicho{margin-top:14px}
  .reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .history-preview,.interpretation-layout,.newsletter-layout,.reading-grid,.tool-direct-answer,.workspace-body,.home-data-review-card{grid-template-columns:minmax(0,1fr)}
  .footer-top{grid-template-columns:repeat(2,1fr)}
  .page-hero>.shell{grid-template-columns:minmax(0,1fr)}
  .page-hero aside{justify-self:start}
}
@media(max-width:640px){
  .section{padding-top:32px;padding-bottom:32px}
  .hero{padding:14px 0 20px}
  .hero-value h1{font-size:1.9rem}.hero-value h1 .h1-tail{font-size:1.05rem}
  .value-heading-row{margin-top:12px}
  .current-value{font-size:clamp(2.9rem,2.2rem + 5vw,3.75rem)}
  .hero-next-month{max-width:none}
  .hero-next-month .hero-next-link{font-size:.85rem}
  .hero-links{display:none}
  .hero-answer,.source-line{display:none}
  .reference-grid{grid-template-columns:minmax(0,1fr)}
  .payment-table thead{display:none}
  .payment-table caption{padding:10px 14px}
  .payment-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px 14px;border-bottom:1px solid var(--line)}
  .payment-table tbody tr:last-child{border-bottom:0}
  .payment-table tbody th,.payment-table tbody td{padding:0;border:0}
  .payment-table tbody th{grid-column:1/-1}
  .payment-mobile-label{display:block;font-size:.8rem;color:var(--ink-3);font-weight:600}
  .payment-units{grid-column:1}
  .payment-amount{grid-column:2;text-align:right}
  .payment-action{grid-column:1/-1;margin-top:4px}
  .payment-action a{width:100%;justify-content:center}
  .tool-grid{grid-template-columns:minmax(0,1fr)}
  .tool-link b{display:none}
  .tool-link{grid-template-columns:40px minmax(0,1fr)}
  .recent-months-grid,.recent-months-grid.recent-months-grid--compacta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-top{grid-template-columns:minmax(0,1fr)}
  .page-hero{padding:16px 0 20px}
  .tool-direct-answer{padding:14px}
  .workspace{padding:14px}
  .workspace>footer{grid-template-columns:minmax(0,1fr)}
  .workspace>footer>div:last-child{justify-content:stretch}
  .workspace>footer .button{flex:1 1 auto}
}
@media(max-width:360px){
  .current-value{font-size:2.75rem}
  .hero-nicho-links a{height:34px;font-size:.88rem}
  #conversor.period-dialog-converter .money-field input,#conversor.period-dialog-converter .result-field strong[data-utm-result]{font-size:1.65rem}
}
@media print{
  .hero,.page-hero,.site-footer{background:#fff;color:#000}
  #conversor.period-dialog-converter{box-shadow:none;border:1px solid #000}
}
