html{color-scheme:dark;height:100%;background-color:var(--bgBottom,#050b12);background-image:linear-gradient(180deg,var(--bgTop,#081522) 0%,var(--bgBottom,#050b12) 100%);}
html[data-theme="day"]{color-scheme:light;}
/* ocean eliminado */
/* FairCar v1 — static, Netlify-ready */
:root{
  color-scheme: dark;
  --bg:#081522;
  --card:#0c1b2c;
  --muted:#b3c5d6;
  --text:#eaf2ff;
  --line:rgba(234,242,255,.14);
  --blue:#0b5fff;
  --teal:#2dd4bf;
  --shadow: 0 10px 28px rgba(2,6,23,.25);
  --radius:18px;

  --blue2:#3b82f6;
  --bgTop:#081522;
  --bgBottom:#050b12;
  --bgRad1: rgba(11,95,255,.22);
  --bgRad2: rgba(45,212,191,.18);
  --topbarBg: rgba(5,11,18,.78);
  --glass: rgba(255,255,255,.06);
  --glassHover: rgba(255,255,255,.09);
  --cardGlass: rgba(12,27,44,.72);
  --storyCard: rgba(12,27,44,.65);
  --blueSoft: rgba(11,95,255,.16);
  --blueSoft2: rgba(11,95,255,.12);
  --blueSoftBorder: rgba(11,95,255,.25);
  --tealSoft: rgba(45,212,191,.10);
  --tealSoftBorder: rgba(45,212,191,.20);
  --noteText: #eaf2ff;
  --lead:#dbeafe;
  --wheel:#0b1220;
  --ring: rgba(255,255,255,.22);

  /* Variables semánticas de avisos — se adaptan por tema */
  --ok-bg: rgba(34,197,94,.12);
  --ok-border: rgba(34,197,94,.28);
  --ok-text: #86efac;
  --warn-bg: rgba(245,158,11,.12);
  --warn-border: rgba(245,158,11,.28);
  --warn-text: #fcd34d;
  --bad-bg: rgba(239,68,68,.12);
  --bad-border: rgba(239,68,68,.28);
  --bad-text: #fca5a5;
  --info-bg: rgba(59,130,246,.12);
  --info-border: rgba(59,130,246,.28);
  --info-text: #93c5fd;
  --hint-color: rgba(179,197,214,.90);
}

/* Themes */
html[data-theme="day"]{
  color-scheme: light;
  /* Tema Light — fondo azul muy claro, cards blancas, primario azul, acento sky blue */
  --bg:#F3F7FF;
  --card:#FFFFFF;
  --muted:#5B6678;
  --text:#0B1220;
  --line:#D8E3F0;
  --blue:#1E63FF;
  --teal:#0ea5e9;
  --blue2:#3b82f6;
  --shadow: 0 6px 28px rgba(11,18,32,.10), 0 2px 6px rgba(0,0,0,.06);
  --radius: 18px;
  --bgTop:#EEF3FF;
  --bgBottom:#E4ECFB;
  --bgRad1: rgba(30,99,255,.10);
  --bgRad2: rgba(14,165,233,.07);
  --topbarBg: rgba(255,255,255,.92);
  --glass: rgba(255,255,255,.80);
  --glassHover: rgba(241,245,255,.95);
  --cardGlass: #FFFFFF;
  --storyCard: #F5F8FF;
  --blueSoft: rgba(30,99,255,.08);
  --blueSoft2: rgba(30,99,255,.05);
  --blueSoftBorder: rgba(30,99,255,.18);
  --tealSoft: rgba(14,165,233,.09);
  --tealSoftBorder: rgba(14,165,233,.22);
  --noteText: #1e3a8a;
  --lead:#334155;
  --wheel:#f1f5f9;
  --ring: rgba(30,99,255,.22);
  --surfaceAlt: rgba(30,99,255,.05);

  /* Semánticas modo día — tonos suaves SaaS */
  --ok-bg: #E8F7EE;
  --ok-border: #66D28A;
  --ok-text: #166534;
  --warn-bg: #FFF3E6;
  --warn-border: #FFB55E;
  --warn-text: #92400e;
  --bad-bg: #FFE9EA;
  --bad-border: #FF808B;
  --bad-text: #991b1b;
  --info-bg: rgba(30,99,255,.07);
  --info-border: rgba(30,99,255,.22);
  --info-text: #1e40af;
  --hint-color: #5B6678;
}
/* Modo ocean eliminado — solo night/day */


*{box-sizing:border-box}
body{
  margin:0;
  font-family: ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
  background: radial-gradient(1200px 700px at 30% -10%, var(--bgRad1), transparent 55%),
              radial-gradient(900px 600px at 100% 10%, var(--bgRad2), transparent 50%),
              linear-gradient(180deg, var(--bgTop) 0%, var(--bgBottom) 100%);
  color:var(--text);

  min-height:100vh;
}

.topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:14px 18px;
  border-bottom:1px solid var(--line);
  position:sticky; top:0;
  background: var(--topbarBg);
  backdrop-filter: blur(10px);
  z-index:10;
}
html[data-theme="day"] .topbar{
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid #D8E3F0;
  box-shadow: 0 1px 8px rgba(11,18,32,.07);
}
/* Theme switcher */
/* theme-dots eliminados — usar #fcThemeToggle */

.brand{display:flex;gap:12px;align-items:center}
.brand-logo-img{height:38px;width:auto;display:block}
html[data-theme="day"] .brand-logo-img{ filter: none; }
@media (max-width: 520px){.brand-logo-img{height:34px}}
.logo{
  width:44px;height:44px;border-radius:12px;
  background: var(--glass);
  border:1px solid var(--line);
  display:grid;place-items:center;
  overflow:hidden;
}
.logo svg{width:44px;height:44px}
.brand-name{font-weight:900;letter-spacing:.3px;font-size:18px}
.brand-sub{color:var(--muted);font-size:12px;margin-top:2px}

.pill{
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--line);
  background: var(--glass);
  color: var(--text);
  font-weight:700;
  font-size:12px;
}
html[data-theme="day"] .pill{
  background: rgba(30,99,255,.08);
  border-color: rgba(30,99,255,.20);
  color: #1E63FF;
}

.container{max-width:1100px;margin:0 auto;padding:18px}

.card{
  background: var(--cardGlass);
  border:1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
html[data-theme="day"] .card{
  background: #FFFFFF;
  box-shadow: 0 4px 20px rgba(11,18,32,.08), 0 1px 4px rgba(0,0,0,.04);
  border: 1px solid #D8E3F0;
}

.hero{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:18px;
  padding:18px;
}
@media (max-width: 980px){
  .hero{grid-template-columns:1fr}
}

.hero-left{padding:8px 10px}
.hero h1{margin:8px 0 10px;font-size:40px;line-height:1.05;letter-spacing:-.5px}
.lead{color:var(--lead);font-size:16px;line-height:1.5;margin:0 0 14px}
.bullets{display:grid;gap:10px;margin-top:10px}
.bullet{
  display:flex;gap:12px;align-items:flex-start;
  padding:12px;
  border-radius:14px;
  background: var(--glass);
  border:1px solid var(--line);
}
.b-ico{width:38px;height:38px;border-radius:12px;background: var(--blueSoft); display:grid;place-items:center; font-size:18px}
.b-title{font-weight:900}
.b-text{color:var(--muted);font-size:13px;margin-top:2px}

.cta-row{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.btn{
  appearance:none;border:1px solid transparent;cursor:pointer;
  padding:12px 14px;border-radius:14px;font-weight:900;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  text-decoration:none;color:inherit;
}
.btn.primary{
  background: linear-gradient(135deg, var(--blue), var(--blue2));
  border-color: rgba(255,255,255,.14);
  color:white;
}
.btn.primary:hover{filter:brightness(1.03)}
html[data-theme="day"] .btn.primary{
  background: linear-gradient(135deg, #1E63FF, #3b82f6);
  border-color: #1a56db;
  box-shadow: 0 4px 16px rgba(30,99,255,.30);
  color: #fff;
}
html[data-theme="day"] .btn.primary:hover{
  background: linear-gradient(135deg, #1a56db, #2563eb);
  box-shadow: 0 8px 24px rgba(30,99,255,.38);
  filter: none;
  transform: translateY(-1px);
}
.btn.ghost{
  background: var(--glass);
  border-color: var(--line);
  color: var(--text);
}
.btn.ghost:hover{background: var(--glassHover)}
html[data-theme="day"] .btn.ghost:hover{
  background: rgba(30,99,255,.08);
  border-color: rgba(30,99,255,.28);
  color: #1E63FF;
}
.btn:disabled{opacity:.55;cursor:not-allowed}

.note{
  margin-top:12px;
  padding:12px;
  border-radius:14px;
  background: var(--tealSoft);
  border:1px solid var(--tealSoftBorder);
  color:var(--noteText);
  font-size:13px;
  line-height:1.45;
}

.hero-right{padding:8px}
.panel{
  border-radius:16px;
  background: var(--glass);
  border:1px solid var(--line);
  overflow:hidden;
}
html[data-theme="day"] .panel{
  background: #FFFFFF;
  border-color: #D8E3F0;
  box-shadow: 0 4px 16px rgba(11,18,32,.08);
}
.panel-top{
  display:flex;
  gap:10px;
  padding:12px;
  border-bottom:1px solid var(--line);
  flex-wrap:wrap;
}
.badge{
  padding:8px 10px;border-radius:999px;font-weight:900;font-size:12px;
  border:1px solid var(--line);
  background: var(--glass);
}
.badge.ok{background: var(--ok-bg); border-color: var(--ok-border)}
.badge.warn{background: var(--warn-bg); border-color: var(--warn-border)}

.story{
  display:grid;
  gap:10px;
  padding:12px;
  grid-template-columns: 1fr 1fr 1fr;
}
@media (max-width: 980px){
  .story{grid-template-columns:1fr}
}
.story-card{
  background: var(--storyCard);
  border:1px solid var(--line);
  border-radius:14px;
  padding:12px;
}
.story-card.highlight{
  background: var(--blueSoft2);
  border-color: var(--blueSoftBorder);
}
.story-title{font-weight:900;margin-bottom:8px}
.story-item{
  display:flex;justify-content:space-between;gap:10px;
  padding:6px 0;border-bottom:1px dashed var(--line);
  font-size:13px;
}
.story-item:last-child{border-bottom:none}
.story-item .k{color:var(--muted)}
.story-item .v{font-weight:900}
.mini{color:var(--muted);font-size:12px;margin-top:8px}

.panel-foot{padding:10px 12px;border-top:1px solid var(--line)}
.small{color:var(--muted);font-size:12px;line-height:1.45}
.footerline{margin-top:16px;padding:10px 2px}

/* Wizard */
.progress{
  height:10px;border-radius:999px;background: var(--glass);
  border:1px solid var(--line);
  overflow:hidden;
}
.progress-bar{height:100%;background: linear-gradient(90deg,var(--blue),var(--teal));}
html[data-theme="day"] .progress-bar{
  background: linear-gradient(90deg, #1E63FF, #3b82f6);
  box-shadow: 0 0 6px rgba(30,99,255,.35);
}

.section-title{
  font-weight:1000;
  font-size:16px;
  letter-spacing:.2px;
  margin:4px 0 10px;
}
html[data-theme="day"] .section-title{
  color: #1E63FF;
  padding-left: 10px;
  border-left: 3px solid #1E63FF;
  text-shadow: none;
}

.nav{
  display:flex;justify-content:space-between;gap:10px;margin-top:14px;
}

.step{padding:12px;}
.step h2{margin:6px 0 6px;font-size:22px;letter-spacing:-.3px}
.step p{margin:0;color:var(--muted);line-height:1.45}
html[data-theme="day"] .step{
  background: #FFFFFF;
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 4px 20px rgba(11,18,32,.08), 0 1px 4px rgba(0,0,0,.04);
  border: 1px solid #D8E3F0;
}

.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
@media (max-width: 900px){ .grid2{grid-template-columns:1fr} }
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:12px}
@media (max-width: 700px){ .grid3{grid-template-columns:1fr} }

/* Mantener 2 columnas en filas numéricas clave (financiación)
   (en móvil NO colapsa a 1 columna: así "va en la misma línea" siempre) */
.grid2.keep2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
@media (max-width: 900px){
  /* En móvil reducimos tipografías/padding para que quepa bien */
  .grid2.keep2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;}
  .grid2.keep2 .input{padding:9px 9px;}
  .grid2.keep2 .label{font-size:12px;line-height:1.15;}
}


.cardopt{
  padding:14px;border-radius:16px;
  background: var(--glass);
  border:1px solid var(--line);
  cursor:pointer;
  display:flex;gap:12px;align-items:flex-start;
  min-height:84px;
}
.cardopt:hover{background: var(--glassHover)}
.cardopt.active{
  border-color: rgba(11,95,255,.45);
  background: rgba(11,95,255,.10);
}
html[data-theme="day"] .cardopt{
  background: #F5F8FF;
  border-color: #D8E3F0;
  box-shadow: 0 1px 4px rgba(11,18,32,.06);
}
html[data-theme="day"] .cardopt:hover{
  background: rgba(30,99,255,.06);
  border-color: rgba(30,99,255,.30);
  box-shadow: 0 2px 8px rgba(30,99,255,.10);
}
html[data-theme="day"] .cardopt.active{
  border-color: #1E63FF;
  background: rgba(30,99,255,.08);
  box-shadow: 0 0 0 3px rgba(30,99,255,.12);
}
.opt-ico{width:40px;height:40px;border-radius:14px;background: var(--glass);display:grid;place-items:center;font-size:18px;border:1px solid var(--line)}
.opt-title{font-weight:1000}
.opt-desc{color:var(--muted);font-size:12px;margin-top:3px}

.field{margin-top:12px;}
.label{font-weight:900;font-size:13px;margin-bottom:6px}
.input, select{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid var(--line);
  background: var(--glass);
  color: var(--text);
  outline:none;
}
html[data-theme="day"] .input,
html[data-theme="day"] select{
  background: #FFFFFF;
  border-color: #D8E3F0;
  box-shadow: 0 1px 3px rgba(11,18,32,.06);
  color: #0B1220;
}
html[data-theme="day"] .input:focus,
html[data-theme="day"] select:focus{
  border-color: #1E63FF;
  box-shadow: 0 0 0 3px rgba(30,99,255,.14);
  background: #FFFFFF;
}
html:not([data-theme="day"]) select{ color-scheme: dark; }
html:not([data-theme="day"]) select option, html:not([data-theme="day"]) optgroup{ background-color: var(--card); color: var(--text); }
html[data-theme="day"] select{ color-scheme: light; }
html[data-theme="day"] select option, html[data-theme="day"] optgroup{ background-color: #FFFFFF; color: #0B1220; }


.input::placeholder{color: rgba(148,163,184,.75)}
.row{display:flex;gap:10px;align-items:center;justify-content:space-between;}
.row .value{font-weight:1000}
.slider{width:100%;margin-top:10px;accent-color: var(--teal);}

.irpf-control{display:grid;gap:10px}
.irpf-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.irpf-right{display:flex;align-items:center;gap:8px}
.irpf-right input{width:90px}
.irpf-range{width:100%;accent-color: var(--teal);}

.hint{margin-top:8px;color:var(--hint-color, rgba(179,197,214,.90));font-size:12px}

.two-cols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  padding:14px;
}
@media (max-width: 980px){ .two-cols{grid-template-columns:1fr} }

.col{
  border-radius:16px;
  border:1px solid var(--line);
  background: var(--glass);
  padding:12px;
}
html[data-theme="day"] .col{
  background: #FFFFFF;
  border-color: #D8E3F0;
  box-shadow: 0 2px 10px rgba(11,18,32,.07);
}
.col-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.col-title{font-weight:1000}
.col-sub{color:var(--muted);font-size:12px}

.kpi{margin-top:10px;padding:12px;border-radius:16px;background: var(--ok-bg);border:1px solid var(--ok-border)}
.kpi-label{color:var(--ok-text);font-weight:900;font-size:12px;opacity:.85}
.kpi-value{font-weight:1100;font-size:28px;margin-top:4px;color:var(--text)}
.kpi-sub{margin-top:6px;font-size:12px;color:var(--muted);font-weight:800}
html[data-theme="day"] .kpi{
  background: linear-gradient(135deg, #1E63FF 0%, #3b82f6 100%);
  border-color: rgba(30,99,255,.30);
  box-shadow: 0 6px 20px rgba(30,99,255,.25);
}
html[data-theme="day"] .kpi-label{ color: rgba(255,255,255,.78); }
html[data-theme="day"] .kpi-value{ color: #ffffff; font-size: 32px; }
html[data-theme="day"] .kpi-sub{ color: rgba(255,255,255,.68); }


.details{margin-top:10px;border-radius:14px;border:1px solid var(--line);background: var(--glass);padding:10px}
.details summary{cursor:pointer;font-weight:1000}

/* Auto+ callout: brillante solo antes de desplegar */
.details.autoplus-details:not([open]){
  border:1px solid rgba(56,189,248,.45);
  background: linear-gradient(180deg, rgba(56,189,248,.14), rgba(255,255,255,.04));
  box-shadow: 0 10px 30px rgba(56,189,248,.08);
}
.details.autoplus-details[open]{
  border:1px solid var(--line);
  background: rgba(255,255,255,.04);
  box-shadow: none;
}
.details.autoplus-details summary{
  padding:4px 2px;
  font-size:15px;
}
.autoplus-confirm{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:12px;
  padding:10px 12px;
  border-radius:12px;
  border:1px dashed rgba(56,189,248,.55);
  background: rgba(56,189,248,.10);
  font-weight:900;
}
.autoplus-confirm input{width:18px;height:18px}
.details.autoplus-details.needs-attention{
  animation: autoplusPulse .7s ease-in-out 0s 2;
}
@keyframes autoplusPulse{
  0%{transform:translateY(0);}
  50%{transform:translateY(-2px);}
  100%{transform:translateY(0);}
}
.rows{margin-top:8px;display:grid;gap:8px}
.r{
  display:flex;justify-content:space-between;gap:10px;
  padding:8px;border-radius:12px;border:1px solid var(--line);
  background: var(--glass);
}
.r .k{color:var(--muted);font-size:12px}
.r .v{font-weight:1000}
.v.good{color:var(--ok-text)}
.v.bad{color:var(--bad-text)}

.recommend{
  margin:14px;
  padding:14px;
  border-radius:16px;
  border:1px solid var(--info-border);
  background: var(--info-bg);
}
.recommend-title{font-weight:1100}
.recommend-text{margin-top:6px;color:var(--text);line-height:1.45;opacity:.85}
hr.sep{border:none;border-top:1px solid var(--line);margin:12px 0}
html[data-theme="day"] .sep{border-top:1px solid #D8E3F0;}


/* Autocompletado propio (reemplaza datalist, mejor en Android) */
.ac-wrap{ position:relative; }
.ac-wrap .input{ width:100%; }
.ac-menu{
  position:absolute;
  left:0; right:0;
  top: calc(100% + 6px);
  border-radius:14px;
  border:1px solid var(--line);
  background: var(--card);
  box-shadow: var(--shadow);
  overflow:auto;
  max-height: 240px;
  z-index: 9999;
  backdrop-filter: blur(12px);
}
.ac-item{
  padding:10px 12px;
  cursor:pointer;
  border-bottom:1px solid rgba(148,163,184,.14);
  font-weight:900;
  font-size:13px;
}
.ac-item:last-child{ border-bottom:none; }
.ac-item:hover,
.ac-item.active{
  background: rgba(11,95,255,.14);
}
html[data-theme="day"] .ac-item:hover,
html[data-theme="day"] .ac-item.active{
  background: rgba(30,99,255,.08);
  color: #1E63FF;
  font-weight: 900;
}


.quota-check{
  margin-top:12px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.05);
  font-weight:900;
  font-size:13px;
}
.quota-check.good{
  background: var(--ok-bg);
  border-color: var(--ok-border);
  color: var(--ok-text);
}
.quota-check.bad{
  background: var(--bad-bg);
  border-color: var(--bad-border);
  color: var(--bad-text);
}

.mismatch-box{
  margin-top:12px;
  padding:12px;
  border-radius:16px;
  border:1px solid var(--warn-border);
  background: var(--warn-bg);
}
.mismatch-head{
  font-weight: 1000;
  font-size: 14px;
  margin-bottom: 8px;
}
.mismatch-body{ font-size: 13px; line-height: 1.45; }
.mismatch-line{ margin-top: 6px; }
.mismatch-sub{
  margin-top: 10px;
  font-weight: 900;
}
.mismatch-list{
  margin: 8px 0 0 18px;
  color: var(--text);
}
.mismatch-list li{ margin: 6px 0; }
.tae-box{
  margin-top:10px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.04);
}
.tae-box.good{
  background: var(--ok-bg);
  border-color: var(--ok-border);
}
.tae-box.warn{
  background: var(--warn-bg);
  border-color: var(--warn-border);
}
.tae-box.bad{
  background: var(--bad-bg);
  border-color: var(--bad-border);
}

/* --- Servicio seguro de vida (financiación) --- */
.service-box{
  margin-top:12px;
  padding:12px;
  border-radius:16px;
  border:1px dashed var(--line);
  background: var(--glass);
}
.service-title{
  font-weight:1000;
  font-size:14px;
  margin-bottom:8px;
}
.service-kicker{ color: var(--muted); font-size:12px; line-height:1.45; }
.service-steps{ margin:8px 0 0 18px; }
.service-steps li{ margin:6px 0; }
.service-check{ display:flex; gap:10px; align-items:flex-start; margin-top:10px; cursor:pointer; }
.service-check input{ margin-top:3px; }
.service-panel{ margin-top:10px; padding-top:10px; border-top:1px solid var(--line); }
.service-price{ font-weight:1000; }
.service-note{ color: var(--muted); font-size:12px; line-height:1.45; margin-top:8px; }


/* --- Car images / PDF blocks --- */
.car-head{ display:flex; gap:12px; align-items:center; }
.car-img{
  width:120px; height:72px;
  object-fit:contain;
  border-radius:14px;
  border:1px solid rgba(148,163,184,.22);
  background: rgba(15,23,42,.15);
}
.pdf-only{ display:none; }
.screen-only{ display:block; }

/* PDF layout (solo en impresión) */
.pdf-wrap{ padding: 14px 2px; }
.pdf-header{ display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:12px; }
.pdf-title{ font-size:20px; font-weight:800; letter-spacing:-.02em; }
.pdf-sub{ font-size:12px; color:#475569; margin-top:2px; }
.pdf-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.pdf-card{ border:1px solid #e5e7eb; border-radius:14px; padding:12px; background:#fff; }
.pdf-car-top{ display:flex; gap:12px; align-items:center; }
.pdf-car-img{ width:160px; height:90px; object-fit:cover; border-radius:12px; border:1px solid #e5e7eb; background:#f1f5f9; }
.pdf-car-name{ font-size:14px; font-weight:800; color:#0f172a; }
.pdf-car-meta{ font-size:12px; color:#475569; margin-top:2px; }
.pdf-kpis{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:10px; }
.pdf-kpi{ border:1px solid #e5e7eb; border-radius:12px; padding:10px; background:#f8fafc; }
.pdf-kpi .l{ font-size:11px; color:#475569; }
.pdf-kpi .v{ font-size:16px; font-weight:900; color:#0f172a; margin-top:2px; }
.pdf-badges{ display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; }
.pdf-badge{ font-size:11px; padding:4px 8px; border-radius:999px; border:1px solid #e5e7eb; background:#fff; color:#334155; }
.pdf-badge.good{ border-color: rgba(34,197,94,.35); background: rgba(34,197,94,.10); }
.pdf-badge.warn{ border-color: rgba(245,158,11,.35); background: rgba(245,158,11,.10); }
.pdf-badge.bad{ border-color: rgba(239,68,68,.35); background: rgba(239,68,68,.08); }

.pdf-rec{ margin-top:12px; border:1px solid #e5e7eb; border-radius:14px; padding:12px; background:#f1f5f9; }
.pdf-rec h3{ margin:0 0 6px 0; font-size:14px; color:#0f172a; }
.pdf-rec p{ margin:0; color:#0f172a; }
.pdf-rec ul{ margin:8px 0 0 18px; color:#0f172a; }
.pdf-note{ margin-top:10px; font-size:11px; color:#475569; }



/* ---- Print: solo comparativa ---- */
@media print {
  body.print-compare{ background:#fff !important; color:#0f172a !important; }
  body.print-compare *{ color:#0f172a; }
  body.print-compare .small,
  body.print-compare .col-sub,
  body.print-compare .kpi-label,
  body.print-compare .k{ color:#475569 !important; }

  body.print-compare .pdf-only{ display:block !important; }
  body.print-compare .screen-only{ display:none !important; }

  body.print-compare .topbar{ border-bottom:1px solid #e5e7eb !important; }
  body.print-compare .brand-sub{ color:#475569 !important; }

  body.print-compare .card,
  body.print-compare .col,
  body.print-compare .recommend,
  body.print-compare .kpi,
  body.print-compare .details{ background:#fff !important; }

  body.print-compare .kpi{ border-color:#e5e7eb !important; }
  body.print-compare .rows .r{ border-color:#e5e7eb !important; }

  body.print-compare header,
  body.print-compare .nav,
  body.print-compare #stepMount,
  body.print-compare .footerline,
  body.print-compare #resultsSingleCard,
  body.print-compare #btnDownloadPdf { display:none !important; }

  body.print-compare #resultsCompareCard { 
    display:block !important;
    margin-top:0 !important;
    box-shadow:none !important;
    border:0 !important;
  }

  body.print-compare .container{
    max-width: none !important;
    padding: 0 !important;
  }

  body.print-compare .card{
    box-shadow:none !important;
    border:0 !important;
  }
  body.print-compare #resultsCompareCard .two-cols,
  body.print-compare #resultsCompareCard .section-title,
  body.print-compare #resultsCompareCard .recommend-title,
  body.print-compare #resultsCompareCard .recommend-text { display:none !important; }

  /* ---- Print: solo estudio (recomendación) ---- */
  body.print-study{ background:#fff !important; color:#0f172a !important; }
  body.print-study *{ color:#0f172a; }
  body.print-study .small,
  body.print-study .smallmuted,
  body.print-study .kpi-label,
  body.print-study .k{ color:#475569 !important; }

  body.print-study .pdf-only{ display:block !important; }
  body.print-study .screen-only{ display:none !important; }

  body.print-study header,
  body.print-study .nav,
  body.print-study .footerline{ display:none !important; }

  /* Oculta todo el estudio excepto el bloque PDF */
  body.print-study #faircarStudyMount > *{ display:none !important; }
  body.print-study #pdfStudyBlock{ display:block !important; }

  body.print-study main.wrap{ max-width:none !important; padding:0 !important; }
  body.print-study .card{ box-shadow:none !important; border:0 !important; }

}

.hint.is-big{font-size:16px;line-height:1.35;color:var(--text);font-weight:800;opacity:.92}


/* FairCar Study */
.verdict-hero{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:14px;
  border:1px solid var(--line);
  border-radius:16px;
  background: var(--blueSoft);
}
.medal{
  width:54px;height:54px;border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  background: var(--glass);
  border:1px solid var(--line);
  box-shadow: var(--shadow);
  flex:0 0 auto;
  font-size:28px;
}
.verdict-title{font-size:22px;font-weight:800;margin:0}
.verdict-sub{margin:6px 0 0 0;color:var(--muted);line-height:1.4}
.badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 10px;border-radius:999px;
  border:1px solid rgba(148,163,184,.22);
  background: var(--glass);
  color: var(--text);
  font-size:13px;
}
.badge.good{border-color:var(--ok-border);background:var(--ok-bg);color:var(--ok-text)}
.badge.warn{border-color:var(--warn-border);background:var(--warn-bg);color:var(--warn-text)}
.badge.bad{border-color:var(--bad-border);background:var(--bad-bg);color:var(--bad-text)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width: 860px){ .grid-2{grid-template-columns:1fr} }
.card-mini{
  border:1px solid var(--line);
  border-radius:16px;
  padding:12px;
  background: var(--glass);
}
.card-mini h3{margin:0 0 6px 0;font-size:14px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.big-number{font-size:24px;font-weight:900;margin:0}
.reason-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
@media (max-width: 860px){ .reason-list{grid-template-columns:1fr} }
.reason{
  border:1px solid var(--line);
  border-radius:16px;
  padding:12px;
  background: var(--glass);
}
.reason-title{font-weight:800;margin:0 0 6px 0}
.reason-text{margin:0;color:var(--text);line-height:1.45}
.split{
  display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;
  margin-top:12px;
}
.hr{height:1px;background:var(--line);margin:14px 0}
.checklist{margin:10px 0 0 0;padding-left:18px;color:var(--text)}
.checklist li{margin:6px 0;color:var(--text)}
.smallmuted{color:var(--muted);font-size:13px;line-height:1.45}
html[data-theme="day"] .smallmuted{color:#5B6678;}


/* Versión manual (Paso coche) */
.manual-version-box{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--glass);}
.manual-version-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}

.muted{opacity:.7;font-size:.92em;}

/* --- Decision profile picker (FairCar) --- */
.seg-wrap{border:1px solid var(--line);background:var(--card);border-radius:16px;padding:14px;}
.seg-head{font-weight:900;letter-spacing:-0.01em;margin-bottom:10px;}
.seg-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.seg-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr));}
@media (max-width: 860px){ .seg-grid,.seg-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));} }
.seg-btn{width:100%;text-align:left;border:1px solid var(--line);background:var(--glass);border-radius:14px;padding:10px 12px;cursor:pointer;color:var(--text);}
.seg-btn:hover{border-color:rgba(99,102,241,.45);}
.seg-btn.active{border-color:rgba(99,102,241,.78);box-shadow:0 0 0 3px rgba(99,102,241,.12);}
html[data-theme="day"] .seg-btn:hover{
  background: rgba(30,99,255,.07);
  border-color: rgba(30,99,255,.35);
  color: #1E63FF;
}
html[data-theme="day"] .seg-btn.active{
  background: rgba(30,99,255,.10);
  border-color: #1E63FF;
  box-shadow: 0 0 0 3px rgba(30,99,255,.14);
  color: #1a3a8a;
}
.seg-title{font-weight:900;}
.seg-sub{margin-top:4px;font-size:12px;color:var(--muted);line-height:1.35;}
.seg-grid.compact .seg-sub{display:none;}

.decision-mini{margin-top:10px;}
.decision-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px dashed var(--line);}
.decision-row:first-child{border-top:none;}
.decision-row span{color:var(--muted);}
.decision-row.main{margin-top:6px;padding-top:10px;border-top:1px solid var(--line);font-weight:800;}


/* Perfil — barra desplegable de detalles (cerrada por defecto) */
.fc-details{
  margin-top:10px;
  border-radius:14px;
  border:1px solid var(--line);
  background: var(--glass);
  padding:0;
  overflow:hidden;
}
html[data-theme="day"] .fc-details{
  background: #F5F8FF;
  border-color: rgba(30,99,255,.18);
}
.fc-details summary{
  cursor:pointer;
  font-weight:900;
  padding:12px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.fc-details summary::-webkit-details-marker{display:none}
.fc-details summary::after{
  content:"▾";
  opacity:.75;
  transition: transform .15s ease;
}
.fc-details[open] summary::after{transform: rotate(180deg)}
.fc-details-body{
  padding:10px 14px 14px;
  border-top:1px solid var(--line);
}

/* Auto+ — "Ajustes Auto+" destacado (verde) */
.fc-details.autoplus-calc summary{
  background: var(--ok-bg);
  border-bottom: 1px solid var(--ok-border);
}
.fc-details.autoplus-calc summary span:first-child{
  color: var(--ok-text);
}
.fc-details.autoplus-calc summary .small{
  color: var(--ok-text);
  opacity:.85;
}
.fc-kv{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 12px;
}
.fc-kv-item .k{
  color: var(--muted);
  font-size:12px;
}
.fc-kv-item .v{
  font-size:14px;
  line-height:1.25;
}
@media (max-width:560px){
  .fc-kv{grid-template-columns:1fr}
}

/* Info (botón 'i') en etiquetas de campos */
.label-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.label-text{flex:1;min-width:0}
.infoBtn{
  width:18px;height:18px;
  border-radius:999px;
  border:1px solid var(--line);
  background: var(--glass);
  color: var(--text);
  font-weight:1000;
  font-size:12px;
  line-height:16px;
  padding:0;
  cursor:pointer;
}
.infoBtn:hover{background: rgba(255,255,255,.10)}
.infoPanel{margin-top:6px}

/* ─── FairCar Analysis Blocks (v78) ─────────────────────────────────────── */
.fc-block{
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px;
  background:var(--card);
  margin-bottom:4px;
}
.fc-block-head{
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.fc-block-ico{
  font-size:26px;
  flex:0 0 auto;
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  border-radius:12px;
  background:var(--glass);
  border:1px solid var(--line);
}
.fc-block-title{
  font-size:16px;
  font-weight:800;
  margin:0 0 4px 0;
  line-height:1.2;
}
.fc-block-sub{
  color:var(--muted);
  font-size:14px;
  line-height:1.45;
  margin:0;
}
.fc-block-badges{
  display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;
}
.rows{display:flex;flex-direction:column;gap:4px;margin-top:8px;}
.r{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:6px 0;border-bottom:1px solid var(--line);}
.r:last-child{border-bottom:none;}
details.details{border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:var(--glass);}
details.details summary{cursor:pointer;font-weight:700;font-size:13px;color:var(--muted);user-select:none;list-style:none;display:flex;align-items:center;gap:6px;}
details.details summary::before{content:"▶";font-size:10px;transition:transform .2s;}
details.details[open] summary::before{transform:rotate(90deg);}
details.details summary::-webkit-details-marker{display:none;}

/* ─── FairCar v79: Summary header, barras, tarjetas de marca, VS header ──── */

/* Header VS */
.fc-vs-header{
  display:flex;align-items:center;gap:12px;margin-bottom:14px;
}
.fc-vs-car{flex:1;text-align:center;}
.fc-vs-img{
  width:100%;max-width:180px;height:100px;object-fit:cover;
  border-radius:14px;border:1px solid var(--line);display:block;margin:0 auto;
}
.fc-vs-img-placeholder{
  width:100%;max-width:180px;height:100px;border-radius:14px;
  border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
  font-size:40px;margin:0 auto;background:var(--glass);
}
.fc-vs-name{font-weight:800;font-size:15px;margin-top:7px;}
.fc-vs-price{font-size:22px;font-weight:900;margin-top:3px;}
.fc-vs-sep{font-size:22px;font-weight:900;color:var(--muted);flex:0 0 auto;padding:0 4px;}
@media(max-width:480px){.fc-vs-img,.fc-vs-img-placeholder{height:72px;}.fc-vs-price{font-size:18px;}}

/* Summary pills (3 ganadores de un vistazo) */
.fc-summary-header{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:4px;
}
@media(max-width:540px){.fc-summary-header{grid-template-columns:1fr;}}
.fc-pill{
  border:1px solid var(--line);border-radius:14px;padding:10px 12px;
  background:var(--glass);display:flex;gap:10px;align-items:center;
}
.fc-pill-ico{font-size:20px;flex:0 0 auto;}
.fc-pill-label{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;}
.fc-pill-winner{font-size:13px;font-weight:800;margin-top:2px;line-height:1.2;}

/* Barras comparativas */
.fc-bar-row{display:flex;align-items:center;gap:8px;}
.fc-bar-label{font-size:13px;font-weight:600;flex:0 0 110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media(max-width:480px){.fc-bar-label{flex:0 0 80px;font-size:12px;}}
.fc-bar-track{flex:1;height:8px;border-radius:999px;background:var(--glass);border:1px solid var(--line);overflow:hidden;}
.fc-bar-fill{height:100%;border-radius:999px;background:var(--muted);transition:width .4s;}
.fc-bar-fill.good{background:var(--teal);}
.fc-bar-val{font-size:13px;font-weight:700;flex:0 0 72px;text-align:right;}

/* Motor fit badges */
.fc-motor-fit{
  padding:7px 10px;border-radius:12px;font-size:13px;
  border:1px solid var(--line);background:var(--glass);
}
.fc-motor-fit.good{border-color:var(--ok-border);background:var(--ok-bg);color:var(--ok-text);}
.fc-motor-fit.warn{border-color:var(--warn-border);background:var(--warn-bg);color:var(--warn-text);}
.fc-motor-fit.bad{border-color:var(--bad-border);background:var(--bad-bg);color:var(--bad-text);}

/* Break-even box */
.fc-breakeven{
  display:flex;gap:8px;align-items:flex-start;
  padding:9px 12px;border-radius:12px;margin-top:10px;
  background:var(--tealSoft);border:1px solid var(--tealSoftBorder);
  font-size:13px;line-height:1.45;
}
.fc-breakeven-ico{flex:0 0 auto;font-size:18px;}

/* Financiación cards */
.fc-fin-card{
  border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:var(--glass);
}
.fc-fin-name{font-weight:800;font-size:14px;margin-bottom:4px;}
.fc-fin-total{font-size:18px;font-weight:900;}
.fc-fin-sub{font-size:13px;font-weight:400;color:var(--muted);}
.fc-fin-breakdown{
  display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:6px;font-size:12px;color:var(--muted);
}

/* Marca cards con indicadores */
.fc-marca-card{
  border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--glass);
}
.fc-marca-name{font-weight:800;font-size:14px;}
.fc-indica-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px;
}
@media(max-width:480px){.fc-indica-grid{grid-template-columns:1fr 1fr;}}
.fc-indica{display:flex;flex-direction:column;gap:3px;}
.fc-indica-label{font-size:11px;color:var(--muted);font-weight:600;white-space:nowrap;}
.fc-indica-val{font-size:12px;font-weight:700;margin-top:2px;}

/* --- Accessibility & polish (v80.1) --- */
:where(a, button, .btn, .input, select, textarea, summary, .theme-dot, [role="button"]):focus-visible{
  outline:2px solid var(--blue);
  outline-offset:2px;
}
:where(.btn, .theme-dot){
  transition: transform .06s ease, filter .15s ease, background .15s ease, box-shadow .15s ease, border-color .15s ease;
}
:where(.btn, .theme-dot):active{ transform: translateY(1px); }

.input, select{
  min-height:44px;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.input:focus-visible, select:focus-visible{
  border-color: var(--blueSoftBorder);
  box-shadow: 0 0 0 3px var(--blueSoft2);
  background: var(--glassHover);
}

/* Optional error state (ready for JS validations) */
.input.is-error, select.is-error{
  border-color: rgba(239,68,68,.55);
  box-shadow: 0 0 0 3px rgba(239,68,68,.12);
}

/* Wizard step header */
.stephead{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin:14px 0 6px;
}
.steptitle{
  font-size:18px;
  font-weight:1000;
  letter-spacing:-.2px;
}
.stepmeta{
  font-size:12px;
  color:var(--muted);
}

/* Improve <details> tap target */
details > summary{ cursor:pointer; }
details > summary::-webkit-details-marker{ display:none; }


/* Modal (importar presupuesto) */
.fc-modal-overlay{
  position:fixed;
  inset:0;
  z-index:9999;
  background:rgba(0,0,0,.55);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
}
.fc-modal-card{
  width:100%;
  max-width:680px;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:0 20px 60px rgba(0,0,0,.55);
  overflow:hidden;
}
.fc-modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:16px 16px 10px;
  border-bottom:1px solid var(--line);
}
.fc-modal-title{
  font-weight:1000;
  letter-spacing:-.2px;
}
.fc-modal-body{
  padding:16px;
  max-height:70vh;
  overflow:auto;
}
.fc-progress{
  height:10px;
  border-radius:999px;
  overflow:hidden;
  border:1px solid var(--line);
  background:var(--glass);
}
.fc-progress-bar{
  height:100%;
  width:0%;
  background:var(--blue);
}
.fc-review-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:10px;
}
@media (max-width:640px){
  .fc-review-grid{ grid-template-columns:1fr; }
}

/* ── Nuevo paso de financiación ── */

/* Bloque de sección dentro del paso */
.fc-fin-block{
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 16px;
  margin-top:12px;
}
.fc-fin-block-title{
  font-size:13px;
  font-weight:800;
  letter-spacing:.3px;
  color:var(--muted);
  text-transform:uppercase;
  margin-bottom:12px;
}

/* Campos en dos columnas dentro de un bloque */
.fc-fin-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:4px;
}
@media(max-width:420px){
  .fc-fin-row{ grid-template-columns:1fr; }
}

/* Aviso inline junto a un campo */
.fc-field-alert{
  display:flex;
  align-items:flex-start;
  gap:6px;
  margin-top:5px;
  padding:6px 10px;
  border-radius:8px;
  font-size:12px;
  line-height:1.4;
  font-weight:600;
}
.fc-field-alert.ok  { background:var(--ok-bg);   border:1px solid var(--ok-border);   color:var(--ok-text);   }
.fc-field-alert.warn{ background:var(--warn-bg);  border:1px solid var(--warn-border);  color:var(--warn-text); }
.fc-field-alert.bad { background:var(--bad-bg);   border:1px solid var(--bad-border);   color:var(--bad-text);  }
.fc-field-alert.info{ background:var(--info-bg);  border:1px solid var(--info-border);  color:var(--info-text); }

/* Panel FairCar calcula — fondo diferenciado */
.fc-calc-panel{
  background:var(--glass);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 16px;
  margin-top:12px;
}
html[data-theme="day"] .fc-calc-panel{
  background: rgba(30,99,255,.04);
  border-color: rgba(30,99,255,.16);
}
.fc-calc-panel-title{
  font-size:11px;
  font-weight:900;
  letter-spacing:.4px;
  color:var(--muted);
  text-transform:uppercase;
  margin-bottom:10px;
  opacity:.7;
}
.fc-calc-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:5px 0;
  border-bottom:1px solid var(--line);
  font-size:13px;
}
.fc-calc-row:last-child{ border-bottom:none; }
.fc-calc-label{ color:var(--muted); }
.fc-calc-value{ font-weight:700; }
.fc-calc-value.ok  { color:var(--ok-text);   }
.fc-calc-value.warn{ color:var(--warn-text); }
.fc-calc-value.bad { color:var(--bad-text);  }

/* Extra item (seguro/servicio) */
.fc-extra-item{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  margin-bottom:6px;
  font-size:13px;
}
.fc-extra-item .fc-extra-name{ flex:1; font-weight:600; }
.fc-extra-item .fc-extra-badge{
  font-size:11px;
  padding:2px 7px;
  border-radius:999px;
  font-weight:700;
}
.fc-extra-item .fc-extra-badge.mensual{ background:var(--warn-bg); color:var(--warn-text); border:1px solid var(--warn-border); }
.fc-extra-item .fc-extra-badge.prima  { background:var(--bad-bg);  color:var(--bad-text);  border:1px solid var(--bad-border);  }

/* ── Energy price preview chips ──────────────────────── */
.fc-energy-preview{
  margin: 10px 0 4px;
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--blueSoft, rgba(37,99,235,.06));
  border: 1px solid var(--blueSoftBorder, rgba(37,99,235,.16));
}
.fc-energy-label{
  font-size: 11px;
  color: var(--muted);
  margin-bottom: 7px;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.fc-energy-edit-hint{
  font-weight: 400;
  text-transform: none;
  opacity: .75;
}
.fc-energy-chips{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.fc-energy-chip{
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: var(--text);
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 4px 10px;
  white-space: nowrap;
}
.fc-energy-chip strong{
  color: var(--blue, #2563eb);
  font-weight: 700;
}
html[data-theme="day"] .fc-energy-preview{
  background: rgba(30,99,255,.05);
  border-color: rgba(30,99,255,.16);
}
html[data-theme="day"] .fc-energy-chip{
  background: #FFFFFF;
  border-color: #D8E3F0;
  box-shadow: 0 1px 3px rgba(11,18,32,.06);
}
.fc-section-mini-title{
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 12px 0 6px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}


/* ── Móvil: evitar scroll al aparecer teclado virtual ── */
@media (max-width: 768px) {
  /* El contenido se redimensiona cuando aparece el teclado, sin hacer scroll */
  html {
    height: -webkit-fill-available;
    scroll-behavior: auto !important; /* sin animación de scroll en móvil */
  }
  body {
    min-height: -webkit-fill-available;
  }
  /* Inputs: evitar zoom en iOS (font-size >= 16px) y scroll al foco */
  input, select, textarea {
    font-size: 16px !important;
  }
  /* El step no debe saltar al hacer focus en un input */
  .step {
    scroll-margin-top: 0;
  }
}

/* ── Modo día: overrides finales para legibilidad en surfaces claras ── */
html[data-theme="day"] .card-mini{
  background: #FFFFFF;
  border-color: #D8E3F0;
}
html[data-theme="day"] .reason{
  background: #F5F8FF;
  border-color: #D8E3F0;
}
html[data-theme="day"] .bullet{
  background: #F5F8FF;
  border-color: #D8E3F0;
}
html[data-theme="day"] .fc-pill{
  background: #FFFFFF;
  border-color: #D8E3F0;
}
html[data-theme="day"] .fc-block{
  background: #FFFFFF;
  border-color: #D8E3F0;
  box-shadow: 0 2px 10px rgba(11,18,32,.07);
}
html[data-theme="day"] .fc-fin-card{
  background: #F5F8FF;
  border-color: #D8E3F0;
}
html[data-theme="day"] .fc-marca-card{
  background: #F5F8FF;
  border-color: #D8E3F0;
}
html[data-theme="day"] .fc-modal-card{
  background: #FFFFFF;
  border-color: #D8E3F0;
}
html[data-theme="day"] .r{
  background: #F5F8FF;
  border-color: #E5EAF2;
}
html[data-theme="day"] .story-card{
  background: #F5F8FF;
  border-color: #D8E3F0;
}
html[data-theme="day"] .story-card.highlight{
  background: rgba(30,99,255,.06);
  border-color: rgba(30,99,255,.18);
}
html[data-theme="day"] .verdict-hero{
  background: rgba(30,99,255,.06);
  border-color: rgba(30,99,255,.18);
}
html[data-theme="day"] .note{
  background: rgba(14,165,233,.08);
  border-color: rgba(14,165,233,.22);
  color: #0c4a6e;
}
html[data-theme="day"] .fc-breakeven{
  background: rgba(14,165,233,.08);
  border-color: rgba(14,165,233,.22);
}
html[data-theme="day"] .recommend{
  background: rgba(30,99,255,.06);
  border-color: rgba(30,99,255,.20);
}
html[data-theme="day"] .details,
html[data-theme="day"] details.details{
  background: #F5F8FF;
  border-color: #D8E3F0;
}
html[data-theme="day"] .service-box{
  background: #F5F8FF;
  border-color: #D8E3F0;
}
html[data-theme="day"] .ac-menu{
  background: #FFFFFF;
  border-color: #D8E3F0;
}
html[data-theme="day"] .seg-wrap{
  background: #FFFFFF;
  border-color: #D8E3F0;
}
html[data-theme="day"] .fc-bar-track{
  background: #E8EDF5;
  border-color: #D8E3F0;
}
html[data-theme="day"] .quota-check{
  background: #F5F8FF;
  border-color: #D8E3F0;
}
html[data-theme="day"] .tae-box{
  background: #F5F8FF;
  border-color: #D8E3F0;
}
html[data-theme="day"] .manual-version-box{
  background: #F5F8FF;
  border-color: #D8E3F0;
}
html[data-theme="day"] .fc-fin-block{
  background: #F5F8FF;
  border-color: #D8E3F0;
}
html[data-theme="day"] .b-ico{
  background: rgba(30,99,255,.08);
  border-color: rgba(30,99,255,.15);
}
html[data-theme="day"] .opt-ico{
  background: #F5F8FF;
  border-color: #D8E3F0;
}
html[data-theme="day"] .progress{
  background: #E8EDF5;
  border-color: #D8E3F0;
}
html[data-theme="day"] .lp-alerta{
  background: #FAFBFF;
  border-color: #D8E3F0;
}
html[data-theme="day"] .lp-alerta.bad{
  border-left-color: rgba(239,68,68,.70);
}
html[data-theme="day"] .lp-alerta.warn{
  border-left-color: rgba(245,158,11,.70);
}
html[data-theme="day"] .lp-alerta.ok{
  border-left-color: rgba(22,163,74,.65);
}
html[data-theme="day"] .lp-score-badge{
  background: rgba(239,68,68,.07);
  border-color: rgba(239,68,68,.25);
}
html[data-theme="day"] .lp-diff-pill{
  background: rgba(239,68,68,.10);
  border-color: rgba(239,68,68,.22);
  color: #dc2626;
}
html[data-theme="day"] .lp-real{ color: #dc2626; }
html[data-theme="day"] .lp-kpi-nota strong{ color: #dc2626; }
html[data-theme="day"] .lp-kpi{
  background: rgba(239,68,68,.04);
}
html[data-theme="day"] .lp-consejo{
  background: rgba(14,165,233,.05);
  border-top-color: rgba(14,165,233,.15);
}
html[data-theme="day"] .lp-consejo-txt strong{ color: #0284c7; }
html[data-theme="day"] .lp-ejemplo-sep{
  background: rgba(30,99,255,.03);
}
html[data-theme="day"] .lp-faq-q:hover{
  background: rgba(30,99,255,.04);
}
html[data-theme="day"] .lp-score-n{ color: #dc2626; }
html[data-theme="day"] .lp-kpi-value{ color: #0B1220; }
html[data-theme="day"] .btn-hero{
  background: linear-gradient(135deg, #1E63FF, #3b82f6);
  box-shadow: 0 4px 16px rgba(30,99,255,.30);
  color: #fff;
}
html[data-theme="day"] .btn-hero:hover{
  background: linear-gradient(135deg, #1a56db, #2563eb);
  box-shadow: 0 8px 24px rgba(30,99,255,.38);
  transform: translateY(-1px);
}

/* Info tooltips en desglose de resultados */
.fc-info-tip{display:none;font-size:12px;color:var(--muted);background:var(--glass,rgba(255,255,255,.04));border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin-top:6px;line-height:1.55}
.fc-info-tip b{color:var(--text)}
.fc-info-tip i{opacity:.75}
.fc-info-toggle{cursor:pointer;margin-left:4px;opacity:.7;font-size:12px;user-select:none}
.fc-info-toggle:hover{opacity:1}
