:root {
  --bg: #f5fbff;
  --card: rgba(255, 255, 255, 0.88);
  --card-solid: #ffffff;
  --text: #0a2538;
  --muted: #5c7083;
  --brand: #10b981;
  --brand-2: #0e7490;
  --brand-dark: #05384a;
  --brand-soft: #e8fff6;
  --blue: #2276e5;
  --amber: #f59e0b;
  --purple: #7c3aed;
  --danger: #dc2626;
  --success: #059669;
  --neutral: #64748b;
  --line: #d8e6ef;
  --shadow: 0 22px 70px rgba(5, 56, 74, 0.11);
  --shadow-soft: 0 14px 45px rgba(8, 34, 52, 0.08);
  --radius: 28px;
  --radius-sm: 18px;
  --ease: cubic-bezier(.2,.8,.2,1);
  --pointer-x: 50vw;
  --pointer-y: 40vh;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.45;
  background:
    radial-gradient(circle at var(--pointer-x) var(--pointer-y), rgba(16,185,129,.13), transparent 18rem),
    linear-gradient(180deg, #f2fbff 0%, #ffffff 42%, #f4fbf8 100%);
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  background-image: url('/static/assets/energy-bg.svg');
  background-size: cover;
  background-position: top center;
  opacity: .72;
  z-index: -2;
  pointer-events: none;
}
body::after {
  content: "";
  position: fixed;
  right: -180px;
  top: 120px;
  width: 460px;
  height: 460px;
  background: radial-gradient(circle, rgba(16,185,129,.24), transparent 70%);
  filter: blur(8px);
  z-index: -1;
}

.cursor-glow {
  position: fixed;
  z-index: 1000;
  width: 180px;
  height: 180px;
  border-radius: 999px;
  pointer-events: none;
  background: radial-gradient(circle, rgba(41, 222, 157, .32), rgba(16,185,129,.12) 36%, transparent 70%);
  mix-blend-mode: screen;
  opacity: .88;
}

a { color: inherit; }
img, svg { max-width: 100%; display: block; }

.app-shell,
.container,
.public-container {
  width: min(1220px, calc(100% - 36px));
  margin: 0 auto;
}
.container { padding: 28px 0 70px; }
.container.wide { max-width: 1240px; }

.glass-nav,
.topbar {
  width: min(1320px, calc(100% - 36px));
  margin: 12px auto 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 22px;
  padding: 12px 18px;
  border: 1px solid rgba(182, 210, 223, 0.8);
  border-radius: 999px;
  background: rgba(255,255,255,.76);
  backdrop-filter: blur(18px);
  box-shadow: 0 16px 50px rgba(5, 56, 74, .08);
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  font-weight: 900;
  font-size: 24px;
}
.brand img { width: 182px; height: auto; }
.nav-links,
.topbar-links,
.hero-actions,
.actions,
.inline-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.nav-links a,
.topbar a {
  text-decoration: none;
  color: #17384c;
  font-weight: 800;
  font-size: .95rem;
  opacity: .9;
}
.nav-links a:hover,
.topbar a:hover { color: var(--success); }
.secure-pill,
.badge,
.pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 11px;
  border-radius: 999px;
  border: 1px solid rgba(186, 218, 207, .85);
  background: rgba(255,255,255,.72);
  font-weight: 850;
  font-size: .86rem;
  color: #0b3b49;
  white-space: nowrap;
}
.secure-pill small { display: block; color: var(--muted); font-size: .72rem; font-weight: 700; }

.button,
button.button,
.link-button.primary-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 0;
  border-radius: 999px;
  padding: 13px 22px;
  min-height: 48px;
  background: linear-gradient(135deg, #13c486, #059669 55%, #08756d);
  color: white;
  text-decoration: none;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 14px 30px rgba(5, 150, 105, .25), inset 0 1px 0 rgba(255,255,255,.35);
  transition: transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease);
}
.button:hover { transform: translateY(-2px); box-shadow: 0 20px 44px rgba(5, 150, 105, .32); }
.button.secondary, .button.ghost {
  background: rgba(255,255,255,.82);
  color: var(--brand-dark);
  border: 1px solid var(--line);
  box-shadow: 0 12px 28px rgba(8, 34, 52, .08);
}
.button.dark { background: linear-gradient(135deg, #06394d, #082a3c); }
.button.slim { min-height: 38px; padding: 9px 14px; font-size: .9rem; }
.button.danger { background: linear-gradient(135deg, #ef4444, #b91c1c); }
.link-button {
  border: 0;
  background: transparent;
  color: var(--brand-2);
  font: inherit;
  font-weight: 900;
  cursor: pointer;
  text-decoration: none;
}
.link-button.danger { color: var(--danger); }

.hero-landing {
  position: relative;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 36px;
  align-items: center;
  min-height: 560px;
  padding: 44px 0 26px;
}
.hero-copy { position: relative; z-index: 1; }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: .74rem;
  font-weight: 900;
  color: var(--success);
}
.hero-landing h1,
.result-title,
.portal-title,
.hero h1 {
  margin: 0 0 18px;
  font-size: clamp(2.45rem, 5vw, 5.25rem);
  line-height: .98;
  letter-spacing: -.055em;
  color: #05263a;
}
.gradient-word {
  color: #079669;
  position: relative;
  display: inline-block;
}
.gradient-word::after {
  content: "";
  position: absolute;
  left: 3%;
  right: -2%;
  bottom: .02em;
  height: .12em;
  border-radius: 999px;
  background: linear-gradient(90deg, #fbbf24, #f59e0b);
  z-index: -1;
  transform: rotate(-2deg);
}
.hero-subtitle,
.hero-summary,
.lead {
  max-width: 760px;
  color: #416073;
  font-size: clamp(1.05rem, 1.5vw, 1.32rem);
  line-height: 1.55;
}
.hero-trust-row {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  margin-top: 24px;
  color: #315469;
  font-weight: 800;
}
.trust-chip {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(210,225,235,.9);
}

.hero-panel {
  display: grid;
  grid-template-columns: 1.05fr .8fr;
  gap: 16px;
  align-items: stretch;
}
.card,
.metric,
.visual-card {
  background: var(--card);
  border: 1px solid rgba(199, 220, 229, .92);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(16px);
}
.card { padding: 24px; margin: 18px 0; }
.card h2, .visual-card h2 { margin: 0 0 12px; color: #0c3044; }
.card.muted { background: rgba(248,252,253,.86); }
.card.warning { background: #fff7ed; border-color: #fed7aa; }
.card.accent { border-left: 6px solid var(--brand); }
.nested-card { margin: 0; box-shadow: none; background: rgba(255,255,255,.8); }
.upload-card {
  min-height: 360px;
  padding: 26px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.upload-zone {
  position: relative;
  display: grid;
  place-items: center;
  gap: 12px;
  min-height: 190px;
  border-radius: 24px;
  border: 2px dashed rgba(16,185,129,.48);
  background: linear-gradient(180deg, rgba(236,253,245,.55), rgba(255,255,255,.9));
  transition: transform .25s var(--ease), border-color .25s var(--ease), background .25s var(--ease);
  text-align: center;
  cursor: pointer;
  overflow: hidden;
}
.upload-zone::after {
  content: "";
  position: absolute;
  inset: -40%;
  background: radial-gradient(circle at var(--pointer-x) var(--pointer-y), rgba(16,185,129,.2), transparent 18rem);
  opacity: .55;
}
.upload-zone:hover,
.upload-zone.is-dragging,
.upload-zone.has-file {
  transform: translateY(-2px);
  border-color: var(--brand);
  background: #ecfdf5;
}
.upload-zone input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
.upload-icon {
  width: 62px;
  height: 62px;
  border-radius: 20px;
  display: grid;
  place-items: center;
  background: #e7fff4;
  color: var(--success);
  font-weight: 950;
  font-size: 1.4rem;
  z-index: 1;
}
.upload-zone strong,
.upload-zone span { z-index: 1; }
.upload-zone strong { font-size: 1.12rem; }
.upload-zone span { color: var(--muted); font-weight: 700; }

.result-preview-card {
  overflow: hidden;
  padding: 0;
}
.preview-head {
  padding: 20px;
  background: linear-gradient(135deg, #064e3b, #059669);
  color: #fff;
}
.preview-row {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 14px;
  align-items: center;
  padding: 18px 20px;
  border-bottom: 1px solid var(--line);
}
.round-icon,
.metric-icon,
.status-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 18px;
  background: #e8fff6;
  color: var(--success);
  font-size: 1.45rem;
  font-weight: 950;
}
.round-icon.blue { background: #eaf3ff; color: var(--blue); }
.round-icon.amber { background: #fff7e8; color: var(--amber); }
.round-icon.purple { background: #f1edff; color: var(--purple); }
.preview-row strong { color: var(--success); font-size: 1.9rem; line-height: 1; }
.preview-row small { color: var(--muted); font-weight: 700; }

.trust-band {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  padding: 18px;
  border-radius: var(--radius-sm);
  background: rgba(255,255,255,.82);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-soft);
  margin: 8px 0 24px;
}
.trust-item { display: flex; gap: 10px; align-items: center; color: #15384d; font-weight: 850; }
.trust-item small { display: block; color: var(--muted); font-weight: 700; }

.feature-grid,
.grid {
  display: grid;
  gap: 16px;
  margin: 18px 0;
}
.feature-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid.auto { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.feature-card,
.diagnosis-card,
.metric-card,
.portal-card,
.service-card {
  padding: 22px;
  border-radius: var(--radius-sm);
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(202,222,232,.94);
  box-shadow: var(--shadow-soft);
  transition: transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
}
.feature-card:hover,
.portal-card:hover,
.service-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: rgba(16,185,129,.35); }
.feature-card h3,
.portal-card h3,
.service-card h3 { margin: 12px 0 8px; color: #0b3045; }
.feature-card p,
.portal-card p,
.service-card p { color: var(--muted); margin: 0; }

.steps-band,
.cta-band {
  margin: 24px 0;
  padding: 28px;
  border-radius: var(--radius);
  background: rgba(255,255,255,.82);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-soft);
}
.steps-line {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr minmax(260px,.9fr);
  gap: 18px;
  align-items: center;
}
.step-num {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--success);
  color: #fff;
  font-weight: 950;
}
.arrow-line { height: 1px; border-top: 2px dashed #9bb7c6; }
.privacy-box { background: #effdf8; border-radius: 22px; padding: 20px; }

/* Shared form styles */
label { display: grid; gap: 8px; color: #324b5d; font-weight: 850; }
input, select, textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 15px;
  padding: 13px 15px;
  font: inherit;
  background: rgba(255,255,255,.95);
  color: var(--text);
}
input:focus, select:focus, textarea:focus { outline: 3px solid rgba(16,185,129,.17); border-color: var(--brand); }
textarea { resize: vertical; }
.checkbox-label { display: flex; align-items: center; gap: 10px; }
.checkbox-label input { width: auto; }
.hint { color: var(--muted); font-size: .92rem; }
.notice { border-radius: 16px; padding: 13px 15px; background: #fff8e8; border: 1px solid #fde68a; color: #7c3a06; }
pre { white-space: pre-wrap; word-break: break-word; background: #072539; color: #d1fae5; padding: 16px; border-radius: 16px; }
details { margin: 16px 0; }
summary { cursor: pointer; font-weight: 950; color: var(--brand-dark); }

/* Result screen */
.result-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 22px;
  align-items: start;
}
.progress-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin: 20px 0;
}
.progress-step {
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.76);
  border: 1px solid var(--line);
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 900;
}
.progress-step.completed .step-dot { background: var(--success); color: #fff; }
.progress-step.locked { opacity: .75; }
.step-dot { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: #edf5f8; }
.result-hero {
  padding: 30px;
  border-radius: var(--radius);
  background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(240,253,250,.82));
  border: 1px solid var(--line);
  box-shadow: var(--shadow-soft);
}
.result-title { font-size: clamp(2.1rem, 4vw, 4rem); }
.hero-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.badge.soft.good, .badge.good, .badge.specific, .badge.quality-high, .badge.qr-ok { color: #047857; background: #ecfdf5; border-color: #a7f3d0; }
.badge.soft.warning, .badge.warning, .badge.company-detected-generic-fallback, .badge.quality-medium { color: #92400e; background: #fffbeb; border-color: #fde68a; }
.badge.danger, .badge.generic, .badge.quality-low, .badge.qr-mismatch { color: #991b1b; background: #fef2f2; border-color: #fecaca; }
.user-metrics,
.metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.metric,
.metric-card {
  padding: 20px;
  margin: 0;
  min-height: 136px;
}
.metric span,
.metric-card span { display: block; color: var(--muted); font-weight: 850; }
.metric strong,
.metric-card strong { display: block; margin-top: 8px; font-size: clamp(1.8rem, 2.8vw, 2.6rem); color: #06263a; }
.metric.highlight { background: linear-gradient(145deg, #ffffff, #edfff8); border-color: rgba(16,185,129,.38); }
.comparison-card {
  padding: 24px;
  border-radius: var(--radius-sm);
  background: rgba(255,255,255,.88);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-soft);
}
.compare-bars { display: grid; gap: 18px; margin: 20px 0; }
.compare-row { display: grid; grid-template-columns: 1fr 180px; gap: 14px; align-items: center; }
.bar-track { height: 17px; border-radius: 999px; background: #e8eef3; overflow: hidden; }
.bar-fill { height: 100%; border-radius: inherit; background: linear-gradient(90deg, #13c486, #059669); width: var(--bar, 70%); }
.bar-fill.current { background: #d3dde5; }
.diagnosis-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.diagnosis-card.good { background: linear-gradient(145deg, #fff, #edfff8); border-color: #a7f3d0; }
.diagnosis-card.warning { background: linear-gradient(145deg, #fff, #fffbeb); border-color: #fde68a; }
.diagnosis-card.danger { background: linear-gradient(145deg, #fff, #fef2f2); border-color: #fecaca; }
.diagnosis-card.neutral { background: linear-gradient(145deg, #fff, #f8fafc); }
.kicker { color: var(--muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .09em; font-weight: 950; }
.signup-panel {
  position: sticky;
  top: 18px;
  padding: 28px;
  border-radius: var(--radius);
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(238,255,248,.9));
  border: 1px solid rgba(16,185,129,.25);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.signup-panel::before {
  content: "";
  position: absolute;
  right: -70px;
  top: -70px;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(16,185,129,.25), transparent 70%);
}
.signup-panel h2 { margin-top: 10px; font-size: 1.8rem; }
.signup-list { display: grid; gap: 15px; margin: 20px 0; }
.signup-list li { display: grid; grid-template-columns: 38px 1fr; gap: 12px; list-style: none; color: #284a5e; }
.signup-list ul { padding: 0; }
.signup-list strong { display: block; color: #0a3045; }
.cta-strip {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 20px 26px;
  margin: 18px 0 0;
  border-radius: 24px;
  background: linear-gradient(135deg, #06394d, #032330);
  color: #fff;
  box-shadow: 0 18px 48px rgba(3,35,48,.22);
}

.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { border-bottom: 1px solid var(--line); padding: 12px 10px; text-align: left; }
th { background: rgba(248,250,252,.82); color: #17384c; }
.compact-table th, .compact-table td { padding: 8px 10px; font-size: .9rem; }
.saving { font-weight: 950; color: var(--success); }
.difference { font-weight: 950; white-space: nowrap; }
.difference.cheaper { color: var(--success); }
.difference.more-expensive { color: var(--danger); }
.difference.same { color: var(--neutral); }

/* Portal */
.portal-shell,
.service-shell {
  display: grid;
  grid-template-columns: 260px 1fr;
  min-height: 100vh;
}
.side-nav {
  position: sticky;
  top: 0;
  height: 100vh;
  padding: 22px 18px;
  background: rgba(255,255,255,.82);
  border-right: 1px solid var(--line);
  backdrop-filter: blur(18px);
  overflow-y: auto;
}
.side-nav .brand img { width: 170px; }
.side-menu { display: grid; gap: 7px; margin: 24px 0; }
.side-menu a,
.side-menu button {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 14px;
  color: #24485d;
  text-decoration: none;
  font-weight: 850;
  background: transparent;
  border: 0;
  text-align: left;
  cursor: pointer;
}
.side-menu a.active,
.side-menu a:hover { background: #dff8ef; color: #045c45; }
.sidebar-card {
  padding: 18px;
  border-radius: 20px;
  background: linear-gradient(145deg, #ffffff, #ebfff6);
  border: 1px solid var(--line);
  margin-top: 20px;
}
.main-area { padding: 24px; }
.portal-header,
.service-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-bottom: 22px;
}
.portal-title { font-size: clamp(2rem, 4vw, 3.1rem); margin-bottom: 4px; }
.portal-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 18px; }
.chart-card { padding: 24px; }
.fake-chart {
  height: 245px;
  border-radius: 18px;
  background:
    linear-gradient(to top, rgba(16,185,129,.12), transparent 62%),
    repeating-linear-gradient(to top, transparent 0 48px, rgba(148,163,184,.22) 49px),
    linear-gradient(135deg, rgba(255,255,255,.7), rgba(236,253,245,.8));
  position: relative;
  overflow: hidden;
}
.fake-chart svg { width: 100%; height: 100%; }
.list-card ul { list-style: none; padding: 0; margin: 0; }
.list-card li { display: flex; justify-content: space-between; gap: 14px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.list-card li:last-child { border-bottom: 0; }
.value-green { color: var(--success); font-weight: 950; }
.dark-card {
  padding: 26px;
  border-radius: var(--radius-sm);
  background: linear-gradient(135deg, #043344, #005c52 70%, #047857);
  color: #fff;
  box-shadow: 0 18px 50px rgba(3, 52, 68, .22);
  overflow: hidden;
  position: relative;
}
.dark-card::after {
  content: "";
  position: absolute;
  right: -80px;
  top: -70px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.25), transparent 70%);
}
.dark-card p { color: rgba(255,255,255,.82); }

/* Service panel */
.service-shell { background: rgba(247,252,255,.8); }
.service-topbar {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}
.search-box {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.9);
  border-radius: 16px;
  padding: 11px 14px;
  color: var(--muted);
}
.kpi-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; margin-bottom: 18px; }
.kpi-card { padding: 18px; min-height: 120px; border-radius: 18px; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow-soft); }
.kpi-card strong { display: block; font-size: 2rem; margin-top: 8px; }
.sparkline { height: 38px; margin-top: 10px; border-radius: 10px; background: linear-gradient(135deg, rgba(16,185,129,.2), transparent); }
.status-pill { border-radius: 999px; padding: 5px 10px; font-weight: 900; font-size: .8rem; }
.status-pill.ok { color: #047857; background: #ecfdf5; }
.status-pill.warn { color: #92400e; background: #fffbeb; }
.status-pill.error { color: #991b1b; background: #fef2f2; }
.progress-bar { height: 7px; border-radius: 999px; background: #dbe7ef; overflow: hidden; }
.progress-bar span { display: block; height: 100%; width: var(--w, 80%); background: var(--success); border-radius: inherit; }

/* Utility */
.section-title-row { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; }
.soft-line { border: 0; border-top: 1px solid var(--line); margin: 18px 0; }
.inline-form { margin: 0; }
.sticky-actions { position: sticky; bottom: 12px; background: rgba(255,255,255,.92); border: 1px solid var(--line); border-radius: 18px; padding: 12px; backdrop-filter: blur(8px); }
.wide { grid-column: 1 / -1; }
.saved-banner { display: inline-flex; margin-top: 8px; padding: 10px 14px; border-radius: 999px; background: rgba(16,185,129,.12); color: var(--success); font-weight: 900; }
.hero-link { color: #fff; font-weight: 950; }
.metric-small { font-size: 1rem !important; word-break: break-word; }
.qr-notice { background: rgba(248,250,252,.88); border-color: var(--line); color: var(--text); }

[data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .65s var(--ease), transform .65s var(--ease); }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1100px) {
  .hero-landing, .hero-panel, .result-layout, .portal-grid { grid-template-columns: 1fr; }
  .feature-grid, .trust-band, .user-metrics, .diagnosis-grid, .kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .signup-panel { position: relative; top: auto; }
  .steps-line { grid-template-columns: 1fr; }
  .arrow-line { display: none; }
}
@media (max-width: 800px) {
  .glass-nav, .topbar { border-radius: 24px; align-items: flex-start; }
  .nav-links, .secure-pill { display: none; }
  .grid.two, .grid.three, .grid.four, .feature-grid, .trust-band, .user-metrics, .diagnosis-grid, .metrics, .kpi-grid { grid-template-columns: 1fr; }
  .portal-shell, .service-shell { grid-template-columns: 1fr; }
  .side-nav { position: relative; height: auto; }
  .main-area { padding: 16px; }
  .progress-steps { grid-template-columns: 1fr; }
  .cta-strip { flex-direction: column; align-items: flex-start; }
}

/* v0.6.1 landing refinements */
.nav-actions .soft-pill,
.soft-pill {
  display: inline-flex;
  align-items: center;
  padding: 8px 13px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(16,185,129,.12), rgba(34,118,229,.08));
  color: #075985;
  font-weight: 900;
  border: 1px solid rgba(14,116,144,.18);
  white-space: nowrap;
}
.header-cta {
  background: linear-gradient(135deg, #0f766e, #052f42) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: 0 15px 35px rgba(5,47,66,.2);
}
.hero-panel-login {
  grid-template-columns: minmax(360px, 1fr) minmax(300px, 380px);
  align-items: stretch;
}
.access-card {
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
  background:
    radial-gradient(circle at 85% 20%, rgba(16,185,129,.22), transparent 34%),
    rgba(255,255,255,.9);
}
.access-card h2 { margin: 0; font-size: clamp(1.5rem, 2vw, 2rem); }
.access-card p { margin: 0; color: var(--muted); }
.access-actions { display: grid; gap: 10px; margin-top: 4px; }
.mini-checklist { list-style: none; padding: 0; margin: 8px 0 0; display: grid; gap: 9px; color: #17384c; font-weight: 800; }
.mini-checklist li::before { content: "✓"; color: var(--success); margin-right: 8px; }
.page-flow { padding-bottom: 80px; }
.info-hero {
  margin-top: 28px;
  padding: clamp(34px, 6vw, 74px);
  border-radius: var(--radius);
  background:
    radial-gradient(circle at 75% 30%, rgba(16,185,129,.18), transparent 35%),
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(239,252,255,.84));
  border: 1px solid rgba(186,218,207,.8);
  box-shadow: var(--shadow-soft);
}
.info-hero h1 { font-size: clamp(2.4rem, 5vw, 5rem); line-height: .98; margin: .2rem 0 1rem; letter-spacing: -0.055em; }
.visual-explain-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin: 26px 0;
}
.explain-card,
.benefit-big,
.faq-assistant,
.faq-list details,
.example-strip {
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(206,225,235,.88);
  border-radius: 26px;
  box-shadow: var(--shadow-soft);
}
.explain-card { padding: 22px; }
.explain-card h2 { margin: 14px 0 8px; }
.explain-card p { color: var(--muted); }
.illustration-card {
  height: 170px;
  border-radius: 24px;
  display: grid;
  place-items: center;
  text-align: center;
  background: linear-gradient(135deg, #eafff7, #f5fbff);
  border: 1px solid rgba(16,185,129,.18);
  overflow: hidden;
  position: relative;
}
.invoice-illu span {
  width: 72px; height: 86px; display: grid; place-items: center;
  border-radius: 14px; background: #fff; color: var(--success); font-weight: 950;
  border: 2px dashed rgba(16,185,129,.5);
}
.invoice-illu strong { position: absolute; bottom: 38px; }
.invoice-illu small { position: absolute; bottom: 18px; color: var(--muted); font-weight: 800; }
.qr-illu { grid-template-columns: repeat(2, 54px); gap: 13px; background: #f8fffc; }
.qr-illu span { width: 54px; height: 54px; background: repeating-linear-gradient(45deg, #0f766e 0 6px, #fff 6px 12px); border-radius: 8px; }
.bars-illu { display: flex; align-items: end; justify-content: center; gap: 14px; padding: 24px; }
.bars-illu i { width: 36px; background: linear-gradient(180deg, #10b981, #0e7490); border-radius: 999px 999px 8px 8px; box-shadow: 0 16px 30px rgba(16,185,129,.2); }
.savings-illu strong { font-size: 3rem; color: var(--success); }
.savings-illu small { color: var(--muted); font-weight: 850; }
.example-strip {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 24px;
  align-items: center;
  padding: 28px;
  margin-bottom: 26px;
}
.comparison-mini { display: grid; gap: 8px; }
.comparison-mini strong { font-size: 1.45rem; }
.mini-bar { height: 18px; border-radius: 999px; }
.mini-bar.gray { width: 100%; background: #dbe5ec; }
.mini-bar.green { width: 62%; background: linear-gradient(90deg, #10b981, #0e7490); }
.benefit-mosaic {
  display: grid;
  grid-template-columns: 1.25fr 1fr 1fr;
  gap: 18px;
}
.benefit-big { grid-row: span 2; padding: 32px; background: linear-gradient(135deg, #05384a, #0f766e); color: #fff; }
.benefit-big p { color: rgba(255,255,255,.8); }
.faq-layout { display: grid; grid-template-columns: 1.4fr .8fr; gap: 22px; align-items: start; }
.faq-list { display: grid; gap: 12px; }
.faq-list details { padding: 18px 20px; }
.faq-list summary { cursor: pointer; font-weight: 950; color: var(--brand-dark); }
.faq-list p { color: var(--muted); margin-bottom: 0; }
.faq-assistant { padding: 24px; position: sticky; top: 96px; }
.faq-assistant input {
  width: 100%; margin: 10px 0; padding: 14px 16px; border-radius: 16px;
  border: 1px solid var(--line); font: inherit;
}
.assistant-answer {
  margin-top: 14px; padding: 16px; border-radius: 18px;
  background: #f0fdfa; color: #0f3f4a; font-weight: 750;
}
@media (max-width: 980px) {
  .visual-explain-grid, .benefit-mosaic, .faq-layout, .example-strip, .hero-panel-login { grid-template-columns: 1fr; }
  .faq-assistant { position: static; }
}

.service-review-layout {
  display: grid;
  grid-template-columns: minmax(460px, 1.1fr) minmax(420px, .9fr);
  gap: 1.25rem;
  align-items: start;
}
.pdf-review-card {
  min-height: 760px;
}
.pdf-frame {
  width: 100%;
  height: 720px;
  border: 1px solid rgba(14, 116, 144, .18);
  border-radius: 22px;
  background: #f8fafc;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.6);
}
.code-block {
  max-height: 360px;
  overflow: auto;
  padding: 1rem;
  border-radius: 18px;
  background: #071827;
  color: #d9f99d;
  border: 1px solid rgba(16,185,129,.25);
  font-size: .86rem;
  line-height: 1.5;
  white-space: pre-wrap;
  word-break: break-word;
}
.actions-row {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
  margin-top: 1rem;
}
.empty-state {
  min-height: 520px;
  display: grid;
  place-content: center;
  text-align: center;
  border: 1px dashed rgba(14,116,144,.25);
  border-radius: 22px;
  background: rgba(236,253,245,.55);
}
@media (max-width: 1100px) {
  .service-review-layout { grid-template-columns: 1fr; }
  .pdf-frame { height: 620px; }
}

/* v0.6.8 portal clarity improvements */
.highlight-metric {
  background: linear-gradient(135deg, rgba(16,185,129,.12), rgba(255,255,255,.98));
  border-color: rgba(16,185,129,.35);
}
.comparison-card { overflow: hidden; }
.comparison-legend {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin: 1rem 0;
  color: var(--muted);
  font-weight: 800;
}
.dot {
  display: inline-block;
  width: .75rem;
  height: .75rem;
  border-radius: 999px;
  margin-right: .4rem;
  vertical-align: middle;
}
.dot.current { background: #94a3b8; }
.dot.optimized { background: #10b981; }
.comparison-bars { display: grid; gap: 1rem; margin-top: 1rem; }
.comparison-row {
  display: grid;
  grid-template-columns: 90px 1fr 110px;
  gap: 1rem;
  align-items: center;
}
.comparison-label strong { display: block; color: var(--ink); }
.comparison-label small { color: var(--muted); font-weight: 800; }
.comparison-track {
  display: grid;
  gap: .45rem;
  min-width: 0;
}
.bar {
  height: 28px;
  border-radius: 999px;
  min-width: 74px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 .7rem;
  color: #fff;
  font-weight: 900;
  box-shadow: 0 10px 22px rgba(15,23,42,.08);
}
.bar.before { background: linear-gradient(90deg, #cbd5e1, #94a3b8); color: #0f2940; }
.bar.after { background: linear-gradient(90deg, #10b981, #047857); }
.comparison-saving {
  font-weight: 950;
  color: #047857;
  text-align: right;
}
.action-card {
  background: linear-gradient(135deg, rgba(240,253,250,.94), #fff);
  border: 1px solid rgba(16,185,129,.22);
}
.recommendation-stack, .recommendation-list { display: grid; gap: .9rem; margin: 1rem 0; }
.recommendation-mini, .recommendation-detail {
  border: 1px solid rgba(11,99,132,.12);
  background: rgba(255,255,255,.78);
  border-radius: 20px;
  padding: 1rem;
  box-shadow: 0 12px 26px rgba(15,23,42,.06);
}
.recommendation-mini h3, .recommendation-detail h3 { margin: .45rem 0; }
.recommendation-mini strong { color: #047857; }
.recommendation-detail {
  display: grid;
  grid-template-columns: 1fr 170px;
  gap: 1rem;
  align-items: center;
}
.recommendation-numbers strong {
  display: block;
  font-size: 1.35rem;
  color: #047857;
}
.empty-state {
  padding: 1.5rem;
  border-radius: 24px;
  background: rgba(240,253,250,.75);
  border: 1px dashed rgba(16,185,129,.4);
}
@media (max-width: 900px) {
  .comparison-row { grid-template-columns: 1fr; }
  .comparison-saving { text-align: left; }
  .recommendation-detail { grid-template-columns: 1fr; }
}
.recommendation-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem;
  margin-top: .75rem;
}
.recommendation-detail .notice {
  display: inline-block;
  margin: .35rem 0 .65rem;
}

/* --- v0.7.0 eco visual landing refresh --- */
body.home-page {
  --hero-offset: 0px;
  --scroll-progress: 0;
  position: relative;
  background:
    radial-gradient(circle at var(--pointer-x) var(--pointer-y), rgba(69, 214, 163, .18), transparent 18rem),
    linear-gradient(180deg, #eef9f4 0%, #fbfffd 22%, #f6fbf8 56%, #edf7f3 100%);
}
body.home-page::before {
  background-image:
    linear-gradient(180deg, rgba(241, 252, 248, 0.12) 0%, rgba(244, 253, 249, 0.30) 20%, rgba(247, 251, 250, 0.74) 55%, rgba(246, 251, 248, 0.96) 82%, rgba(240, 247, 244, 1) 100%),
    url('/static/assets/eco-hero-bg.png');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center calc(50% + var(--hero-offset));
  opacity: 1;
  transform: scale(1.045);
  transform-origin: top center;
  transition: opacity .35s ease, transform .35s ease, background-position .22s linear;
}
body.home-page::after {
  right: auto;
  top: 42px;
  left: -110px;
  width: min(38vw, 460px);
  height: min(38vw, 460px);
  background: radial-gradient(circle, rgba(95, 225, 180, .22), transparent 70%);
}
@media (pointer:fine) {
  body.home-page,
  body.home-page a,
  body.home-page button,
  body.home-page label,
  body.home-page input,
  body.home-page summary {
    cursor: none !important;
  }
}
body.home-page .cursor-glow {
  width: 86px;
  height: 86px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(56, 225, 163, .36), rgba(16,185,129,.12) 42%, rgba(16,185,129,.06) 58%, transparent 72%);
  border: 1px solid rgba(255,255,255,.7);
  backdrop-filter: blur(10px);
  box-shadow: 0 0 0 1px rgba(16,185,129,.08), 0 14px 35px rgba(3, 105, 86, .22);
  mix-blend-mode: normal;
  opacity: .98;
  transition: transform .18s ease, opacity .18s ease, box-shadow .18s ease;
}
body.home-page .cursor-glow::before {
  content: "⚡";
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(230,255,245,.95));
  color: #079669;
  font-size: 1rem;
  font-weight: 900;
  box-shadow: 0 8px 24px rgba(5, 150, 105, .24);
}
body.home-page .cursor-glow.is-hovering {
  transform: scale(1.16);
  box-shadow: 0 0 0 1px rgba(16,185,129,.18), 0 18px 44px rgba(5, 150, 105, .34);
}
body.home-page .glass-nav {
  position: sticky;
  top: 12px;
  z-index: 50;
  background: rgba(255,255,255,.82);
  box-shadow: 0 16px 50px rgba(5, 56, 74, .10);
}
body.home-page .hero-landing {
  min-height: 640px;
  padding: 54px 0 36px;
  gap: 34px;
}
body.home-page .hero-landing::before {
  content: "";
  position: absolute;
  inset: 2% -8% auto -4%;
  height: 88%;
  background:
    radial-gradient(circle at 82% 12%, rgba(158, 255, 219, .32), transparent 17%),
    radial-gradient(circle at 14% 32%, rgba(255,255,255,.62), transparent 18%),
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.18));
  z-index: 0;
  pointer-events: none;
  filter: blur(2px);
}
body.home-page .hero-copy,
body.home-page .hero-panel { position: relative; z-index: 1; }
body.home-page .hero-subtitle { max-width: 680px; color: #355669; }
body.home-page .hero-trust-row .trust-chip,
body.home-page .soft-pill,
body.home-page .secure-pill,
body.home-page .trust-item,
body.home-page .feature-card,
body.home-page .steps-band,
body.home-page .cta-band,
body.home-page .visual-card {
  background: rgba(255,255,255,.80);
  backdrop-filter: blur(16px);
}
body.home-page .hero-panel .visual-card {
  border-color: rgba(181, 221, 206, .9);
  box-shadow: 0 20px 50px rgba(7, 66, 61, .10);
}
body.home-page .upload-card {
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(246,255,251,.88));
}
body.home-page .upload-zone {
  border-color: rgba(16,185,129,.42);
  background: linear-gradient(180deg, rgba(233,255,246,.72), rgba(255,255,255,.94));
}
body.home-page .feature-grid,
body.home-page .trust-band,
body.home-page .steps-band,
body.home-page .cta-band {
  position: relative;
}
body.home-page .trust-band,
body.home-page .steps-band,
body.home-page .cta-band {
  border: 1px solid rgba(203, 226, 216, .85);
  box-shadow: 0 16px 40px rgba(8, 34, 52, .06);
}
body.home-page .steps-band,
body.home-page .cta-band {
  overflow: hidden;
}
body.home-page .steps-band::before,
body.home-page .cta-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.08) 30%, rgba(232, 255, 243, .18) 100%);
  pointer-events: none;
}
body.home-page .steps-band > *,
body.home-page .cta-band > * { position: relative; z-index: 1; }
body.home-page [data-reveal] {
  opacity: 0;
  transform: translateY(34px);
  transition: opacity .8s var(--ease), transform .8s var(--ease);
}
body.home-page [data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}
body.home-page .feature-card,
body.home-page .trust-band,
body.home-page .steps-band,
body.home-page .cta-band,
body.home-page .upload-card,
body.home-page .access-card {
  transition: transform .45s var(--ease), box-shadow .45s var(--ease), background .35s ease;
}
body.home-page .feature-card:hover,
body.home-page .upload-card:hover,
body.home-page .access-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 56px rgba(8, 34, 52, .11);
}
@media (max-width: 980px) {
  body.home-page::before {
    background-position: center top;
    background-size: auto 1100px;
  }
  body.home-page .hero-landing { min-height: auto; }
}

/* --- v0.7.1 hard-applied eco background layer --- */
body.home-page {
  background: linear-gradient(180deg, #eaf8f4 0%, #fbfffd 28%, #f2faf6 72%, #eaf6f1 100%) !important;
}
body.home-page::before {
  background-image: none !important;
  opacity: 0 !important;
}
.eco-bg-layer {
  position: fixed;
  inset: 0;
  z-index: -4;
  pointer-events: none;
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.82) 0%, rgba(255,255,255,.68) 36%, rgba(255,255,255,.28) 64%, rgba(255,255,255,.12) 100%),
    linear-gradient(180deg, rgba(255,255,255,.12) 0%, rgba(255,255,255,.18) 44%, rgba(246, 252, 249, .80) 80%, rgba(240, 248, 244, 1) 100%),
    url('/static/assets/eco-hero-bg.png?v=071');
  background-size: cover;
  background-position: center calc(50% + var(--hero-offset));
  background-repeat: no-repeat;
  transform: scale(1.045);
  filter: saturate(1.08) contrast(1.02);
}
.eco-scroll-wash {
  position: fixed;
  inset: 0;
  z-index: -3;
  pointer-events: none;
  background:
    radial-gradient(circle at var(--pointer-x) var(--pointer-y), rgba(16,185,129,.18), transparent 17rem),
    linear-gradient(180deg, rgba(232,255,245,0) 0%, rgba(232,255,245,calc(var(--scroll-progress) * .32)) 52%, rgba(255,255,255,calc(var(--scroll-progress) * .76)) 100%);
  transition: background .12s linear;
}
body.home-page .public-container {
  position: relative;
  z-index: 1;
}
body.home-page .glass-nav {
  background: rgba(255,255,255,.88) !important;
}
body.home-page .hero-landing {
  min-height: 700px;
}
body.home-page .hero-copy {
  padding: 18px 22px;
  border-radius: 32px;
  background: linear-gradient(90deg, rgba(255,255,255,.72), rgba(255,255,255,.28));
  backdrop-filter: blur(5px);
}
body.home-page .hero-panel-login {
  transform: translateY(18px);
}
body.home-page .visual-card,
body.home-page .feature-card,
body.home-page .trust-band,
body.home-page .steps-band,
body.home-page .cta-band {
  border-color: rgba(172, 220, 204, .95) !important;
  box-shadow: 0 26px 70px rgba(5, 56, 74, .12) !important;
}
@media (max-width: 980px) {
  .eco-bg-layer {
    background-position: center top;
    background-size: auto 1000px;
  }
  body.home-page .hero-copy {
    background: rgba(255,255,255,.80);
  }
}

/* --- v0.7.2 original energy cursor --- */
@media (pointer:fine) {
  html:not(.energy-cursor-ready) body.home-page,
  html:not(.energy-cursor-ready) body.home-page a,
  html:not(.energy-cursor-ready) body.home-page button,
  html:not(.energy-cursor-ready) body.home-page label,
  html:not(.energy-cursor-ready) body.home-page input,
  html:not(.energy-cursor-ready) body.home-page summary {
    cursor: auto !important;
  }
  html.energy-cursor-ready body.home-page,
  html.energy-cursor-ready body.home-page a,
  html.energy-cursor-ready body.home-page button,
  html.energy-cursor-ready body.home-page label,
  html.energy-cursor-ready body.home-page input,
  html.energy-cursor-ready body.home-page summary,
  html.energy-cursor-ready body.home-page .upload-zone,
  html.energy-cursor-ready body.home-page .visual-card {
    cursor: none !important;
  }
}
.energy-cursor {
  position: fixed;
  left: 0;
  top: 0;
  width: 48px;
  height: 48px;
  z-index: 2147483647;
  pointer-events: none;
  will-change: transform;
  filter: drop-shadow(0 14px 26px rgba(3, 105, 86, .26));
}
.energy-cursor-aura {
  position: absolute;
  inset: -26px;
  border-radius: 999px;
  background:
    radial-gradient(circle, rgba(20, 184, 166, .26), rgba(16, 185, 129, .11) 42%, transparent 70%);
  opacity: .95;
  animation: cursorAuraPulse 2.2s ease-in-out infinite;
}
.energy-cursor-ring {
  position: absolute;
  inset: -9px;
  border-radius: 999px;
  border: 2px solid rgba(16, 185, 129, .72);
  border-top-color: rgba(253, 224, 71, .95);
  border-right-color: rgba(14, 116, 144, .58);
  background: rgba(255,255,255,.12);
  box-shadow:
    0 0 0 6px rgba(255,255,255,.38),
    0 0 30px rgba(16,185,129,.30),
    inset 0 0 18px rgba(255,255,255,.42);
  animation: cursorRingSpin 3.1s linear infinite;
}
.energy-cursor-core {
  position: absolute;
  inset: 0;
  border-radius: 18px 18px 18px 6px;
  display: grid;
  place-items: center;
  background:
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(236,253,245,.96) 48%, rgba(167,243,208,.94));
  border: 1px solid rgba(255,255,255,.92);
  box-shadow:
    0 13px 32px rgba(5, 150, 105, .27),
    inset 0 1px 0 rgba(255,255,255,.92);
  transform: rotate(-9deg);
  transition: transform .22s var(--ease), border-radius .22s var(--ease), box-shadow .22s var(--ease);
}
.energy-cursor-core svg {
  width: 34px;
  height: 34px;
  overflow: visible;
}
.energy-cursor-core .cursor-bolt {
  fill: url(#boltGradient);
  stroke: rgba(4, 120, 87, .35);
  stroke-width: 1.5;
}
.energy-cursor-core .cursor-leaf {
  fill: rgba(16, 185, 129, .20);
  stroke: rgba(6, 95, 70, .24);
  stroke-width: 1.2;
}
.energy-cursor-label {
  position: absolute;
  left: 40px;
  top: 34px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(3, 64, 73, .92);
  color: #ecfdf5;
  border: 1px solid rgba(167, 243, 208, .55);
  box-shadow: 0 11px 24px rgba(5, 56, 74, .18);
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 950;
  opacity: 0;
  transform: translateY(5px) scale(.96);
  transition: opacity .22s var(--ease), transform .22s var(--ease);
  white-space: nowrap;
}
.energy-cursor.is-hovering .energy-cursor-aura { opacity: 1; transform: scale(1.18); }
.energy-cursor.is-hovering .energy-cursor-ring {
  animation-duration: 1.15s;
  border-color: rgba(16, 185, 129, .95);
  border-top-color: #facc15;
  box-shadow:
    0 0 0 9px rgba(255,255,255,.52),
    0 0 44px rgba(16,185,129,.50),
    inset 0 0 22px rgba(255,255,255,.56);
}
.energy-cursor.is-hovering .energy-cursor-core {
  transform: rotate(-9deg) scale(1.12);
  border-radius: 19px 19px 19px 8px;
  box-shadow:
    0 18px 42px rgba(5, 150, 105, .38),
    0 0 0 4px rgba(16,185,129,.13),
    inset 0 1px 0 rgba(255,255,255,.95);
}
.energy-cursor.is-hovering .energy-cursor-label { opacity: 1; transform: translateY(0) scale(1); }
.energy-cursor.is-upload .energy-cursor-core {
  background: linear-gradient(135deg, #ffffff, #ecfeff 44%, #bbf7d0);
}
.energy-cursor.is-action .energy-cursor-core {
  background: linear-gradient(135deg, #fff7ed, #ecfdf5 42%, #a7f3d0);
}
.energy-cursor.is-clicking .energy-cursor-core { transform: rotate(-9deg) scale(.86); }
.energy-spark {
  position: fixed;
  z-index: 2147483646;
  pointer-events: none;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  background: radial-gradient(circle, #fef08a, #34d399 46%, rgba(20,184,166,0) 72%);
  box-shadow: 0 0 18px rgba(16,185,129,.5);
  animation: energySpark .72s ease-out forwards;
}
.energy-click-pulse {
  position: fixed;
  z-index: 2147483645;
  width: 16px;
  height: 16px;
  pointer-events: none;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  border: 2px solid rgba(16,185,129,.72);
  background: rgba(253, 224, 71, .18);
  animation: energyClickPulse .62s var(--ease) forwards;
}
@keyframes cursorRingSpin {
  to { transform: rotate(360deg); }
}
@keyframes cursorAuraPulse {
  0%, 100% { transform: scale(.96); opacity: .74; }
  50% { transform: scale(1.12); opacity: 1; }
}
@keyframes energySpark {
  0% { opacity: .95; transform: translate(-50%, -50%) scale(1); }
  100% { opacity: 0; transform: translate(calc(-50% + var(--spark-x)), calc(-50% + var(--spark-y))) scale(.12); }
}
@keyframes energyClickPulse {
  0% { opacity: .85; transform: translate(-50%, -50%) scale(.4); }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(5.6); }
}
@media (prefers-reduced-motion: reduce), (pointer: coarse) {
  .energy-cursor,
  .energy-spark,
  .energy-click-pulse { display: none !important; }
  body.home-page,
  body.home-page a,
  body.home-page button,
  body.home-page label,
  body.home-page input,
  body.home-page summary { cursor: auto !important; }
}


/* --- v0.7.3 cursor discreto: energía limpia sin tapar contenido --- */
.energy-cursor {
  width: 26px !important;
  height: 26px !important;
  filter: drop-shadow(0 7px 13px rgba(3, 105, 86, .22)) !important;
}
.energy-cursor-aura {
  inset: -11px !important;
  background: radial-gradient(circle, rgba(20, 184, 166, .18), rgba(16, 185, 129, .07) 44%, transparent 72%) !important;
  opacity: .58 !important;
  animation: cursorAuraPulse 2.8s ease-in-out infinite !important;
}
.energy-cursor-ring {
  inset: -4px !important;
  border-width: 1px !important;
  border-color: rgba(16, 185, 129, .55) !important;
  border-top-color: rgba(253, 224, 71, .82) !important;
  border-right-color: rgba(14, 116, 144, .38) !important;
  box-shadow:
    0 0 0 2px rgba(255,255,255,.48),
    0 0 12px rgba(16,185,129,.20),
    inset 0 0 8px rgba(255,255,255,.38) !important;
  animation-duration: 4.2s !important;
}
.energy-cursor-core {
  border-radius: 10px 10px 10px 4px !important;
  box-shadow:
    0 7px 16px rgba(5, 150, 105, .22),
    inset 0 1px 0 rgba(255,255,255,.92) !important;
}
.energy-cursor-core svg {
  width: 18px !important;
  height: 18px !important;
}
.energy-cursor-core .cursor-bolt {
  stroke-width: 2 !important;
}
.energy-cursor-core .cursor-leaf {
  fill: rgba(16, 185, 129, .14) !important;
  stroke-width: 1.7 !important;
}
.energy-cursor-label {
  left: 26px !important;
  top: 20px !important;
  padding: 3px 7px !important;
  font-size: 9px !important;
  box-shadow: 0 6px 14px rgba(5, 56, 74, .14) !important;
}
.energy-cursor.is-hovering .energy-cursor-aura {
  opacity: .86 !important;
  transform: scale(1.08) !important;
}
.energy-cursor.is-hovering .energy-cursor-ring {
  animation-duration: 1.7s !important;
  box-shadow:
    0 0 0 3px rgba(255,255,255,.55),
    0 0 20px rgba(16,185,129,.34),
    inset 0 0 10px rgba(255,255,255,.5) !important;
}
.energy-cursor.is-hovering .energy-cursor-core {
  transform: rotate(-9deg) scale(1.06) !important;
  border-radius: 11px 11px 11px 5px !important;
  box-shadow:
    0 9px 20px rgba(5, 150, 105, .28),
    0 0 0 2px rgba(16,185,129,.10),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
}
.energy-cursor.is-clicking .energy-cursor-core {
  transform: rotate(-9deg) scale(.88) !important;
}
.energy-spark {
  opacity: .82 !important;
  box-shadow: 0 0 8px rgba(16,185,129,.36) !important;
}
.energy-click-pulse {
  width: 8px !important;
  height: 8px !important;
  border-width: 1px !important;
}
@keyframes energyClickPulse {
  0% { opacity: .72; transform: translate(-50%, -50%) scale(.6); }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(4.2); }
}


/* --- v0.7.4 cursor precision: native pointer + subtle energy focus --- */
@media (pointer:fine) {
  html.energy-cursor-ready body.home-page,
  html.energy-cursor-ready body.home-page input,
  html.energy-cursor-ready body.home-page textarea,
  html.energy-cursor-ready body.home-page select,
  html.energy-cursor-ready body.home-page summary {
    cursor: auto !important;
  }
  html.energy-cursor-ready body.home-page a,
  html.energy-cursor-ready body.home-page button,
  html.energy-cursor-ready body.home-page label,
  html.energy-cursor-ready body.home-page .button,
  html.energy-cursor-ready body.home-page .upload-zone,
  html.energy-cursor-ready body.home-page [role="button"] {
    cursor: pointer !important;
  }
}
.energy-cursor {
  width: 20px !important;
  height: 20px !important;
  opacity: .88 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}
.energy-cursor-aura {
  inset: -9px !important;
  background: radial-gradient(circle, rgba(16,185,129,.13), rgba(16,185,129,.05) 46%, transparent 72%) !important;
  opacity: .38 !important;
  animation: none !important;
}
.energy-cursor-ring {
  inset: 0 !important;
  border: 1.5px solid rgba(5, 150, 105, .64) !important;
  border-top-color: rgba(245, 158, 11, .70) !important;
  border-right-color: rgba(14, 116, 144, .44) !important;
  background: rgba(255,255,255,.18) !important;
  box-shadow: 0 0 0 2px rgba(255,255,255,.38), 0 0 10px rgba(16,185,129,.18) !important;
  animation: none !important;
}
.energy-cursor-core {
  inset: 7px !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 999px !important;
  background: #10b981 !important;
  border: 1px solid rgba(255,255,255,.92) !important;
  box-shadow: 0 0 0 2px rgba(16,185,129,.12), 0 0 10px rgba(16,185,129,.28) !important;
  transform: none !important;
}
.energy-cursor-core svg,
.energy-cursor-label,
.energy-spark {
  display: none !important;
}
.energy-cursor.is-hovering {
  opacity: .98 !important;
}
.energy-cursor.is-hovering .energy-cursor-aura {
  opacity: .55 !important;
  transform: scale(1.10) !important;
}
.energy-cursor.is-hovering .energy-cursor-ring {
  inset: -4px !important;
  border-color: rgba(5,150,105,.88) !important;
  border-top-color: rgba(245,158,11,.95) !important;
  box-shadow: 0 0 0 3px rgba(255,255,255,.50), 0 0 18px rgba(16,185,129,.30) !important;
}
.energy-cursor.is-hovering .energy-cursor-core {
  inset: 6px !important;
  width: 8px !important;
  height: 8px !important;
  background: linear-gradient(135deg, #facc15, #10b981) !important;
  transform: none !important;
}
.energy-cursor.is-clicking .energy-cursor-core {
  transform: scale(.72) !important;
}
.energy-click-pulse {
  width: 7px !important;
  height: 7px !important;
  border-width: 1px !important;
  background: rgba(16,185,129,.16) !important;
}
@keyframes energyClickPulse {
  0% { opacity: .70; transform: translate(-50%, -50%) scale(.45); }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(3.4); }
}


/* --- v0.7.5 cursor: traditional arrow + subtle energy halo --- */
@media (pointer:fine) {
  body.home-page,
  body.home-page a,
  body.home-page button,
  body.home-page label,
  body.home-page input,
  body.home-page summary,
  body.home-page textarea,
  body.home-page select {
    cursor: auto !important;
  }

  body.home-page a,
  body.home-page button,
  body.home-page label,
  body.home-page summary,
  body.home-page .upload-zone,
  body.home-page [role="button"] {
    cursor: pointer !important;
  }
}

/* Keep a small visual identity, but do not replace the real cursor. */
body.home-page .cursor-glow,
body.home-page .energy-cursor,
body.home-page .energy-cursor-ring,
body.home-page .energy-cursor-spark {
  pointer-events: none !important;
}

body.home-page .cursor-glow,
body.home-page .energy-cursor {
  width: 38px !important;
  height: 38px !important;
  border-radius: 999px !important;
  background:
    radial-gradient(circle, rgba(255,255,255,.86) 0 18%, rgba(35, 213, 149, .20) 19% 43%, rgba(16,185,129,.10) 44% 63%, transparent 64%) !important;
  border: 1px solid rgba(16,185,129,.30) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.75),
    0 0 18px rgba(16,185,129,.22),
    0 8px 22px rgba(7, 95, 77, .12) !important;
  backdrop-filter: blur(4px) !important;
  opacity: .78 !important;
  mix-blend-mode: normal !important;
}

body.home-page .cursor-glow::before,
body.home-page .energy-cursor::before {
  content: "" !important;
  position: absolute !important;
  left: 13px !important;
  top: 8px !important;
  width: 12px !important;
  height: 20px !important;
  background: linear-gradient(180deg, #14b981, #087f6b) !important;
  clip-path: polygon(52% 0, 100% 0, 64% 42%, 100% 42%, 35% 100%, 48% 55%, 10% 55%) !important;
  border-radius: 2px !important;
  box-shadow: 0 0 8px rgba(16,185,129,.25) !important;
}

body.home-page .cursor-glow::after,
body.home-page .energy-cursor::after {
  content: "" !important;
  position: absolute !important;
  inset: -5px !important;
  border: 1px solid rgba(16,185,129,.20) !important;
  border-radius: inherit !important;
}

body.home-page .cursor-glow.is-hovering,
body.home-page .energy-cursor.is-hovering {
  opacity: .95 !important;
  transform: scale(1.08) !important;
  background:
    radial-gradient(circle, rgba(255,255,255,.94) 0 18%, rgba(250,204,21,.23) 19% 39%, rgba(16,185,129,.16) 40% 65%, transparent 66%) !important;
  border-color: rgba(245,158,11,.36) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.82),
    0 0 20px rgba(16,185,129,.26),
    0 0 12px rgba(245,158,11,.16) !important;
}

body.home-page .cursor-glow.is-clicking,
body.home-page .energy-cursor.is-clicking {
  transform: scale(.82) !important;
  opacity: .92 !important;
}

/* If a previous JS version creates decorative sparks/rings, hide them. */
body.home-page .energy-cursor-ring,
body.home-page .energy-cursor-spark {
  display: none !important;
}


/* --- v0.7.6 background visibility + original landing icons --- */

body.home-page .eyebrow .inline-icon,
body.home-page .privacy-box .inline-icon {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
}
body.home-page .trust-chip .chip-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
}
body.home-page .trust-item .trust-icon {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
}
body.home-page .round-icon img {
  width: 36px;
  height: 36px;
  display: block;
}
body.home-page .trust-chip,
body.home-page .trust-item,
body.home-page .privacy-box h3,
body.home-page .eyebrow {
  display: inline-flex;
  align-items: center;
}
body.home-page .privacy-box h3 {
  gap: 10px;
}
body.home-page .trust-band {
  column-gap: 18px;
}
body.home-page .trust-item {
  gap: 12px;
}
body.home-page .feature-card .round-icon {
  overflow: hidden;
}
/* Make the eco background around 15% more visible */
.eco-bg-layer {
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.70) 0%, rgba(255,255,255,.56) 36%, rgba(255,255,255,.18) 64%, rgba(255,255,255,.05) 100%),
    linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.12) 44%, rgba(246, 252, 249, .68) 80%, rgba(240, 248, 244, .92) 100%),
    url('/static/assets/eco-hero-bg.png?v=071') !important;
  filter: saturate(1.1) contrast(1.03);
}
body.home-page .hero-copy {
  background: linear-gradient(90deg, rgba(255,255,255,.60), rgba(255,255,255,.18));
}
body.home-page .glass-nav {
  background: rgba(255,255,255,.84) !important;
}
@media (max-width: 980px) {
  body.home-page .hero-copy {
    background: rgba(255,255,255,.74);
  }
}


/* --- v0.7.7 public pages upgrade --- */
body.public-themed {
  position: relative;
  min-height: 100vh;
  background: linear-gradient(180deg, #eef8f4 0%, #f4fbf8 100%);
  overflow-x: clip;
}
body.public-themed::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  background-image:
    linear-gradient(180deg, rgba(246,252,249,.52) 0%, rgba(246,252,249,.38) 28%, rgba(246,252,249,.60) 68%, rgba(246,252,249,.88) 100%),
    linear-gradient(90deg, rgba(255,255,255,.58) 0%, rgba(255,255,255,.28) 42%, rgba(255,255,255,.08) 100%),
    url('/static/assets/eco-hero-bg.png?v=071');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  filter: saturate(1.08) contrast(1.02);
}
body.public-themed::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at 16% 18%, rgba(16,185,129,.12), transparent 22%),
    radial-gradient(circle at 84% 16%, rgba(14,116,144,.10), transparent 22%),
    linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(236,252,245,.18) 55%, rgba(236,252,245,.34) 100%);
}
body.how-page::before { background-position: left center; }
body.benefits-page::before { background-position: center center; }
body.faq-page::before { background-position: right center; }
.page-surface {
  position: relative;
}
.scenic-hero {
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 18%, rgba(16,185,129,.22), transparent 26%),
    linear-gradient(135deg, rgba(255,255,255,.90), rgba(241,253,247,.72));
}
.scenic-hero::after {
  content: "";
  position: absolute;
  right: -40px;
  bottom: -40px;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(16,185,129,.16), rgba(16,185,129,0) 70%);
}
.hero-mini-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}
.section-card {
  padding: 28px;
  border-radius: 28px;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(206,225,235,.88);
  box-shadow: var(--shadow-soft);
  margin: 26px 0;
}
.section-heading.compact h2,
.section-heading h2 {
  margin: .15rem 0 .65rem;
}
.section-subtitle { color: var(--muted); max-width: 860px; }
.visual-explain-grid--two { grid-template-columns: repeat(2, 1fr); }
.step-badge {
  width: 38px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #10b981, #0f766e);
  color: white;
  font-weight: 900;
  box-shadow: 0 12px 24px rgba(16,185,129,.22);
}
.dual-panel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.comparison-mini-list span {
  position: relative;
  padding-left: 18px;
  color: var(--brand-dark);
  font-weight: 800;
}
.comparison-mini-list span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: linear-gradient(135deg, #10b981, #0e7490);
}
.cta-banner {
  margin: 28px 0 18px;
  padding: 28px 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  border-radius: 30px;
  background: linear-gradient(135deg, rgba(5,56,74,.96), rgba(15,118,110,.92));
  color: #fff;
  box-shadow: 0 28px 50px rgba(5,56,74,.16);
}
.cta-banner h2 { margin: .2rem 0 0; color: #fff; }
.cta-banner .eyebrow { color: rgba(255,255,255,.72); }
.cta-actions-inline { display: flex; flex-wrap: wrap; gap: 12px; }
.button.button-secondary {
  background: rgba(255,255,255,.95);
  color: var(--brand-dark);
  border: 1px solid rgba(255,255,255,.85);
}
.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin: 26px 0;
}
.stat-card {
  padding: 22px;
  border-radius: 24px;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(206,225,235,.88);
  box-shadow: var(--shadow-soft);
}
.stat-card span { color: var(--success-deep); font-weight: 900; }
.stat-card strong { display: block; font-size: 1.55rem; margin: 10px 0 8px; }
.stat-card p { color: var(--muted); margin: 0; }
.pain-gain-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.pain-card,
.gain-card {
  margin: 0;
}
.bullet-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 12px;
}
.bullet-list li {
  position: relative;
  padding-left: 26px;
  color: var(--brand-dark);
}
.bullet-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}
.bullet-list--warn li::before { background: linear-gradient(135deg, #f59e0b, #ef4444); }
.bullet-list--good li::before { background: linear-gradient(135deg, #10b981, #0e7490); }
.benefit-super-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
.feature-card--left {
  display: grid;
  grid-template-columns: 74px 1fr;
  align-items: start;
  gap: 16px;
}
.feature-card--left h3 { margin: 4px 0 6px; }
.feature-card--left p { margin: 0; }
.persuasive-panel {
  background:
    radial-gradient(circle at 85% 16%, rgba(16,185,129,.12), transparent 26%),
    rgba(255,255,255,.88);
}
.value-grid-four {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.value-grid-four article {
  padding: 20px;
  border-radius: 22px;
  background: rgba(246,255,251,.95);
  border: 1px solid rgba(184,234,214,.8);
}
.value-grid-four h3 { margin-top: 0; }
.example-strip--strong {
  background:
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(237,253,246,.86));
}
.comparison-mini-card strong { line-height: 1.28; }
.faq-topic-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}
.faq-topic-grid span {
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(240,253,250,.92);
  border: 1px solid rgba(184,234,214,.88);
  color: #0f3f4a;
  font-weight: 800;
  font-size: .92rem;
}
@media (max-width: 1100px) {
  .stats-grid,
  .value-grid-four { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 980px) {
  .visual-explain-grid--two,
  .dual-panel,
  .pain-gain-grid,
  .benefit-super-grid,
  .stats-grid,
  .value-grid-four,
  .cta-banner { grid-template-columns: 1fr; }
  .cta-banner {
    display: grid;
    justify-content: stretch;
  }
}
@media (max-width: 760px) {
  .feature-card--left {
    grid-template-columns: 1fr;
  }
  .stats-grid,
  .value-grid-four { grid-template-columns: 1fr; }
  .section-card,
  .cta-banner { padding: 22px; }
}


/* --- v0.7.8 hero intro integration fixes --- */
.public-themed .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  margin: 0 0 14px;
}
.public-themed .eyebrow .inline-icon {
  width: 86px;
  height: 86px;
  flex: 0 0 auto;
  padding: 14px;
  border-radius: 26px;
  background: linear-gradient(145deg, rgba(240,253,250,.98), rgba(228,248,240,.92));
  border: 1px solid rgba(184,234,214,.96);
  box-shadow: 0 16px 32px rgba(15,118,110,.08);
}
.public-themed .eyebrow img.inline-icon { object-fit: contain; }
.hero-mini-pills--intro {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 28px;
  max-width: 980px;
}
.public-themed .hero-mini-pills--intro .trust-chip {
  display: grid;
  grid-template-columns: 58px 1fr;
  align-items: center;
  gap: 16px;
  padding: 16px 18px;
  min-height: 96px;
  border-radius: 26px;
  background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(244,253,248,.92));
  border: 1px solid rgba(194,225,214,.98);
  box-shadow: 0 12px 28px rgba(6,57,77,.06);
}
.public-themed .hero-mini-pills--intro .chip-icon {
  width: 58px;
  height: 58px;
  display: block;
  padding: 11px;
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(232,252,243,.98), rgba(246,255,250,.94));
  border: 1px solid rgba(171,231,203,.98);
}
.public-themed .hero-mini-pills--intro .trust-chip strong {
  display: block;
  color: var(--brand-dark);
  font-size: 1rem;
  line-height: 1.2;
  margin-bottom: 4px;
}
.public-themed .hero-mini-pills--intro .trust-chip small {
  display: block;
  color: #557184;
  font-size: .93rem;
  line-height: 1.35;
}
@media (max-width: 980px) {
  .hero-mini-pills--intro { grid-template-columns: 1fr; max-width: 620px; }
}
@media (max-width: 680px) {
  .public-themed .eyebrow {
    align-items: flex-start;
    gap: 12px;
  }
  .public-themed .eyebrow .inline-icon {
    width: 62px;
    height: 62px;
    padding: 10px;
    border-radius: 20px;
  }
  .public-themed .hero-mini-pills--intro .trust-chip {
    grid-template-columns: 48px 1fr;
    min-height: auto;
    padding: 14px 16px;
    border-radius: 22px;
  }
  .public-themed .hero-mini-pills--intro .chip-icon {
    width: 48px;
    height: 48px;
    padding: 9px;
    border-radius: 16px;
  }
}


/* --- v0.7.9 redesign ONLY of public page hero intro area --- */
/* Remove the oversized icon treatment from v0.7.8 on these public pages */
.public-themed .eyebrow.eyebrow-compact {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 13px;
  border-radius: 999px;
  background: rgba(236, 253, 245, .92);
  border: 1px solid rgba(167, 243, 208, .95);
  color: #047857;
  letter-spacing: .12em;
  box-shadow: 0 10px 22px rgba(15, 118, 110, .07);
}

.public-themed .eyebrow.eyebrow-compact .kicker-dot {
  width: 26px;
  height: 26px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #10b981, #0f766e);
  color: #fff;
  font-size: .86rem;
  line-height: 1;
  font-weight: 950;
  letter-spacing: 0;
}

/* New compact proof strip: no big circles, no floating labels, no misaligned text */
.public-themed .hero-proof-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  max-width: 880px;
  margin-top: 26px;
  padding: 10px;
  border-radius: 26px;
  background: rgba(255,255,255,.64);
  border: 1px solid rgba(199, 224, 216, .88);
  box-shadow: 0 16px 36px rgba(7, 47, 62, .07);
  backdrop-filter: blur(14px);
}

.public-themed .hero-proof-strip .proof-item {
  display: grid;
  grid-template-columns: 42px 1fr;
  grid-template-areas:
    "num title"
    "num sub";
  align-items: center;
  column-gap: 12px;
  min-height: 74px;
  padding: 14px;
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(244,253,248,.90));
  border: 1px solid rgba(216, 235, 228, .92);
}

.public-themed .hero-proof-strip .proof-item span {
  grid-area: num;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: linear-gradient(135deg, #e9fff6, #d7fbe9);
  color: #047857;
  font-size: .82rem;
  font-weight: 950;
  border: 1px solid rgba(167, 243, 208, .95);
}

.public-themed .hero-proof-strip .proof-item strong {
  grid-area: title;
  color: #0b2f43;
  font-size: .98rem;
  line-height: 1.2;
  font-weight: 950;
}

.public-themed .hero-proof-strip .proof-item small {
  grid-area: sub;
  color: #587486;
  font-size: .89rem;
  line-height: 1.25;
  font-weight: 750;
}

.public-themed .scenic-hero {
  padding-bottom: clamp(34px, 5vw, 60px);
}

@media (max-width: 980px) {
  .public-themed .hero-proof-strip {
    grid-template-columns: 1fr;
    max-width: 620px;
  }
}

@media (max-width: 680px) {
  .public-themed .hero-proof-strip {
    padding: 8px;
    border-radius: 22px;
  }
  .public-themed .hero-proof-strip .proof-item {
    min-height: 68px;
    padding: 12px;
  }
}


/* --- v0.7.10 tighter hero text + more visual 3-block intro cards --- */
.public-themed .info-hero h1 {
  font-size: clamp(2.05rem, 4.2vw, 4.15rem);
  line-height: 1.02;
  max-width: 11ch;
}
.public-themed .info-hero > p {
  max-width: 860px;
  font-size: clamp(1rem, 1.45vw, 1.12rem);
  line-height: 1.62;
  color: #4d6a7d;
}

.public-themed .hero-proof-strip--visual {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  max-width: 980px;
  margin-top: 28px;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
}

.public-themed .hero-proof-strip--visual .proof-item {
  position: relative;
  display: grid;
  grid-template-columns: 54px 1fr;
  grid-template-areas:
    "badge icon"
    "title title"
    "sub sub";
  align-items: center;
  gap: 12px 14px;
  min-height: 164px;
  padding: 18px 18px 16px;
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.97), rgba(244,252,248,.93));
  border: 1px solid rgba(199, 227, 215, .96);
  box-shadow:
    0 14px 34px rgba(10, 40, 54, .07),
    inset 0 1px 0 rgba(255,255,255,.7);
  overflow: hidden;
}

.public-themed .hero-proof-strip--visual .proof-item::after {
  content: "";
  position: absolute;
  right: -18px;
  bottom: -22px;
  width: 92px;
  height: 92px;
  border-radius: 28px;
  background: radial-gradient(circle at 30% 30%, rgba(16,185,129,.18), rgba(16,185,129,0));
  pointer-events: none;
}

.public-themed .hero-proof-strip--visual .proof-item:nth-child(2)::after {
  background: radial-gradient(circle at 30% 30%, rgba(59,130,246,.15), rgba(59,130,246,0));
}
.public-themed .hero-proof-strip--visual .proof-item:nth-child(3)::after {
  background: radial-gradient(circle at 30% 30%, rgba(139,92,246,.16), rgba(139,92,246,0));
}

.public-themed .hero-proof-strip--visual .proof-badge {
  grid-area: badge;
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  font-size: .94rem;
  font-weight: 950;
  color: #047857;
  background: linear-gradient(145deg, #e8fff3, #d9f8e9);
  border: 1px solid rgba(169, 236, 208, .98);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
}

.public-themed .hero-proof-strip--visual .proof-illus {
  grid-area: icon;
  width: 56px;
  height: 56px;
  justify-self: end;
  padding: 10px;
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(240,253,248,.98), rgba(230,249,241,.92));
  border: 1px solid rgba(193, 233, 215, .98);
}

.public-themed .hero-proof-strip--visual .proof-item strong {
  grid-area: title;
  margin-top: 2px;
  font-size: 1.06rem;
  line-height: 1.25;
  color: #0b2f43;
  font-weight: 950;
}

.public-themed .hero-proof-strip--visual .proof-item small {
  grid-area: sub;
  font-size: .94rem;
  line-height: 1.45;
  color: #597487;
  font-weight: 720;
}

@media (max-width: 980px) {
  .public-themed .hero-proof-strip--visual {
    grid-template-columns: 1fr;
    max-width: 640px;
  }
  .public-themed .hero-proof-strip--visual .proof-item {
    min-height: 146px;
  }
}

@media (max-width: 680px) {
  .public-themed .info-hero h1 {
    font-size: clamp(1.85rem, 8.4vw, 2.8rem);
    max-width: none;
  }
  .public-themed .hero-proof-strip--visual .proof-item {
    grid-template-columns: 46px 1fr;
    min-height: auto;
    padding: 16px;
    gap: 10px 12px;
  }
  .public-themed .hero-proof-strip--visual .proof-badge,
  .public-themed .hero-proof-strip--visual .proof-illus {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    padding: 8px;
  }
  .public-themed .hero-proof-strip--visual .proof-item strong {
    font-size: 1rem;
  }
  .public-themed .hero-proof-strip--visual .proof-item small {
    font-size: .9rem;
  }
}


/* --- v0.7.11: hero redesign smaller + more attractive on how/benefits/faq --- */
.public-themed .info-hero {
  padding: clamp(28px, 4.5vw, 54px);
}

.public-themed .info-hero h1 {
  font-size: clamp(1.9rem, 3.6vw, 3.5rem);
  line-height: 1.03;
  max-width: 14ch;
  margin-bottom: .85rem;
  letter-spacing: -0.048em;
}

.public-themed .info-hero > p {
  max-width: 780px;
  font-size: clamp(.98rem, 1.22vw, 1.07rem);
  line-height: 1.58;
}

.public-themed .hero-proof-strip--visual {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  max-width: 920px;
  margin-top: 22px;
}

.public-themed .hero-proof-strip--visual .proof-item {
  position: relative;
  display: grid;
  grid-template-columns: 44px 1fr auto;
  grid-template-areas:
    "icon title badge"
    "icon sub badge";
  align-items: center;
  column-gap: 12px;
  row-gap: 4px;
  min-height: 108px;
  padding: 14px 16px;
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(244,252,248,.92));
  border: 1px solid rgba(199,227,215,.98);
  box-shadow: 0 12px 28px rgba(11, 47, 67, .06);
  overflow: hidden;
}

.public-themed .hero-proof-strip--visual .proof-item::before {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 4px;
  background: linear-gradient(90deg, rgba(16,185,129,.10), rgba(16,185,129,.40));
}
.public-themed .hero-proof-strip--visual .proof-item:nth-child(2)::before {
  background: linear-gradient(90deg, rgba(59,130,246,.10), rgba(59,130,246,.40));
}
.public-themed .hero-proof-strip--visual .proof-item:nth-child(3)::before {
  background: linear-gradient(90deg, rgba(139,92,246,.10), rgba(139,92,246,.40));
}

.public-themed .hero-proof-strip--visual .proof-badge {
  grid-area: badge;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  font-size: .76rem;
  font-weight: 950;
  color: #047857;
  background: linear-gradient(145deg, #ecfff5, #daf8ea);
  border: 1px solid rgba(169,236,208,.98);
  justify-self: end;
  align-self: start;
  margin-top: -2px;
}

.public-themed .hero-proof-strip--visual .proof-illus {
  grid-area: icon;
  width: 44px;
  height: 44px;
  padding: 8px;
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(242,252,247,.96), rgba(233,248,242,.92));
  border: 1px solid rgba(193,233,215,.98);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}

.public-themed .hero-proof-strip--visual .proof-item strong {
  grid-area: title;
  font-size: .96rem;
  line-height: 1.2;
  color: #0b2f43;
  font-weight: 900;
  margin: 0;
}

.public-themed .hero-proof-strip--visual .proof-item small {
  grid-area: sub;
  font-size: .84rem;
  line-height: 1.36;
  color: #5d7788;
  font-weight: 700;
  margin: 0;
}

@media (max-width: 1024px) {
  .public-themed .hero-proof-strip--visual {
    grid-template-columns: 1fr;
    max-width: 620px;
  }
  .public-themed .hero-proof-strip--visual .proof-item {
    min-height: 96px;
  }
}

@media (max-width: 680px) {
  .public-themed .info-hero {
    padding: 24px 20px 28px;
  }
  .public-themed .info-hero h1 {
    font-size: clamp(1.7rem, 8vw, 2.45rem);
    max-width: none;
  }
  .public-themed .hero-proof-strip--visual .proof-item {
    grid-template-columns: 38px 1fr auto;
    padding: 13px 14px;
    border-radius: 18px;
  }
  .public-themed .hero-proof-strip--visual .proof-illus {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    padding: 7px;
  }
  .public-themed .hero-proof-strip--visual .proof-badge {
    width: 30px;
    height: 30px;
    border-radius: 10px;
    font-size: .72rem;
  }
  .public-themed .hero-proof-strip--visual .proof-item strong {
    font-size: .92rem;
  }
  .public-themed .hero-proof-strip--visual .proof-item small {
    font-size: .8rem;
  }
}


/* --- v0.7.12: rebranding to EntiendeTuFactura --- */
.brand {
  min-width: 0;
}
.brand img {
  width: clamp(220px, 20vw, 320px);
  height: auto;
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 10px 24px rgba(9, 44, 66, .10));
}
.side-nav .brand img {
  width: clamp(200px, 18vw, 280px);
}
.glass-nav, .topbar {
  gap: 18px;
}
@media (max-width: 1024px) {
  .brand img {
    width: clamp(185px, 36vw, 250px);
  }
  .side-nav .brand img {
    width: clamp(175px, 34vw, 230px);
  }
}
@media (max-width: 680px) {
  .brand img {
    width: 190px;
  }
  .glass-nav, .topbar {
    gap: 12px;
  }
}


/* --- v0.7.15 premium "Cómo funciona" storytelling page --- */
.how-story-page {
  min-height: 100vh;
  margin: 0;
  color: #09263b;
  background:
    radial-gradient(circle at 15% 20%, rgba(26, 214, 145, .12), transparent 24%),
    radial-gradient(circle at 84% 18%, rgba(56, 189, 248, .12), transparent 20%),
    linear-gradient(180deg, #f7fcff 0%, #edf9f4 45%, #f8fffb 100%);
  overflow-x: hidden;
}
.how-story-page::before {
  content: "";
  position: fixed;
  inset: 86px 0 0;
  z-index: -2;
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.32), rgba(247,253,250,.74) 64%, rgba(247,253,250,.95)),
    url("/static/assets/eco-hero-bg.png?v=0715");
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  opacity: .72;
}
.how-story-page::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at var(--pointer-x, 50%) var(--pointer-y, 30%), rgba(16,185,129,.12), transparent 18rem);
  pointer-events: none;
}

.how-nav {
  position: sticky;
  top: 0;
  z-index: 60;
  display: grid;
  grid-template-columns: minmax(220px, 320px) 1fr auto;
  align-items: center;
  gap: 20px;
  padding: 14px clamp(20px, 6vw, 120px);
  background: rgba(255,255,255,.84);
  border-bottom: 1px solid rgba(173, 203, 218, .52);
  backdrop-filter: blur(18px);
  box-shadow: 0 16px 34px rgba(6, 43, 62, .06);
}
.how-brand img {
  width: clamp(220px, 20vw, 310px);
  display: block;
}
.how-nav-links {
  display: flex;
  justify-content: center;
  gap: clamp(16px, 2.4vw, 34px);
  flex-wrap: wrap;
}
.how-nav-links a {
  text-decoration: none;
  color: #15324d;
  font-weight: 850;
  position: relative;
}
.how-nav-links a.active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -10px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #12b981, #40d173);
}
.how-nav-actions,
.how-hero-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.how-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 12px 22px;
  border-radius: 13px;
  text-decoration: none;
  font-weight: 950;
  border: 1px solid rgba(6, 43, 62, .18);
  box-shadow: 0 10px 24px rgba(5, 56, 74, .08);
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.how-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(5, 56, 74, .13);
}
.how-btn.primary {
  color: #fff;
  background: linear-gradient(135deg, #19c56d, #08966d);
  border-color: transparent;
}
.how-btn.ghost {
  color: #092f4d;
  background: rgba(255,255,255,.78);
}
.how-btn.large { padding: 14px 28px; border-radius: 15px; }

.how-main {
  width: min(1420px, calc(100% - 36px));
  margin: 0 auto;
  padding-bottom: 80px;
}
.how-hero {
  position: relative;
  text-align: center;
  padding: clamp(56px, 7vw, 96px) 12px 24px;
}
.how-eyebrow {
  margin: 0 auto 14px;
  width: fit-content;
  padding: 8px 15px;
  border-radius: 999px;
  background: rgba(236, 253, 245, .78);
  border: 1px solid rgba(167, 243, 208, .88);
  color: #047857;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .76rem;
}
.how-hero h1 {
  margin: 0;
  font-size: clamp(2.5rem, 5.2vw, 5.1rem);
  line-height: .96;
  color: #07294a;
  letter-spacing: -.06em;
}
.how-hero h1 span {
  background: linear-gradient(90deg, #082b52 0%, #082b52 62%, #28b94e 62%, #28b94e 76%, #082b52 76%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.how-subtitle {
  max-width: 820px;
  margin: 18px auto 22px;
  color: #426278;
  font-size: clamp(1.05rem, 1.4vw, 1.25rem);
  line-height: 1.58;
}
.how-hero-actions { justify-content: center; }
.how-leaf {
  position: absolute;
  width: 38px;
  height: 18px;
  border-radius: 100% 0 100% 0;
  background: linear-gradient(135deg, #c9f6bb, #26b65e);
  opacity: .68;
  filter: blur(.2px);
  animation: leafFloat 7s ease-in-out infinite;
}
.leaf-one { left: 8%; top: 34%; transform: rotate(26deg); }
.leaf-two { right: 9%; top: 38%; transform: rotate(-18deg); animation-delay: -3s; }
@keyframes leafFloat {
  0%,100% { translate: 0 0; rotate: 0deg; opacity: .56; }
  50% { translate: 18px -16px; rotate: 8deg; opacity: .9; }
}

.how-flow {
  position: relative;
  display: grid;
  gap: 0;
  margin: 24px auto 28px;
}
.electric-path {
  position: absolute;
  inset: 30px 50% 30px auto;
  width: 4px;
  transform: translateX(50%);
  z-index: 3;
  pointer-events: none;
}
.electric-path::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 4px;
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.0), rgba(31, 223, 146, .82), rgba(93, 232, 189, .86), rgba(255,255,255,0));
  box-shadow: 0 0 12px rgba(31, 223, 146, .62), 0 0 28px rgba(31, 223, 146, .20);
  animation: electricPulse 2.4s ease-in-out infinite;
}
.electric-path::after {
  content: "↓";
  position: absolute;
  left: 50%;
  bottom: -20px;
  transform: translateX(-50%);
  color: #28d889;
  font-size: 2rem;
  text-shadow: 0 0 18px rgba(31, 223, 146, .8);
}
@keyframes electricPulse {
  0%,100% { filter: brightness(1); opacity: .8; }
  50% { filter: brightness(1.32); opacity: 1; }
}
.node {
  position: absolute;
  left: 50%;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  transform: translateX(-50%);
  border-radius: 999px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(183, 225, 211, .95);
  box-shadow: 0 0 0 8px rgba(16,185,129,.07), 0 10px 24px rgba(16,185,129,.16);
  animation: nodeGlow 3s ease-in-out infinite;
}
.node img { width: 30px; height: 30px; }
.node-upload { top: 8%; }
.node-qr { top: 34%; animation-delay: -.8s; }
.node-calc { top: 60%; animation-delay: -1.4s; }
.node-save { top: 85%; animation-delay: -2s; }
@keyframes nodeGlow {
  0%,100% { scale: 1; box-shadow: 0 0 0 10px rgba(16,185,129,.08), 0 14px 34px rgba(16,185,129,.18); }
  50% { scale: 1.04; box-shadow: 0 0 0 16px rgba(16,185,129,.12), 0 18px 40px rgba(16,185,129,.26); }
}

.flow-step {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .78fr);
  gap: 104px;
  align-items: stretch;
  min-height: 236px;
  padding: 18px clamp(10px, 2.4vw, 34px);
  border-radius: 36px;
  background: rgba(255,255,255,.70);
  border: 1px solid rgba(197, 220, 232, .82);
  backdrop-filter: blur(16px);
  box-shadow: 0 22px 62px rgba(6, 43, 62, .10);
  overflow: hidden;
}
.flow-step + .flow-step { margin-top: 10px; }
.flow-step.reverse {
  grid-template-columns: minmax(340px, .78fr) minmax(0, 1fr);
}
.flow-step::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 18%, rgba(64, 176, 255, .10), transparent 26%),
    radial-gradient(circle at 88% 88%, rgba(16,185,129,.12), transparent 28%);
  pointer-events: none;
}
.flow-visual,
.flow-copy {
  position: relative;
  z-index: 1;
}
.flow-copy {
  display: grid;
  align-content: center;
  padding: 26px 36px;
}
.step-number {
  width: 58px;
  height: 58px;
  display: inline-grid;
  place-items: center;
  margin-bottom: 12px;
  border-radius: 999px;
  color: #10a45f;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(185,232,208,.95);
  font-weight: 950;
  font-size: 1.35rem;
  box-shadow: 0 12px 24px rgba(16,185,129,.13);
}
.flow-copy h2 {
  margin: 0 0 10px;
  font-size: clamp(1.55rem, 2vw, 2.25rem);
  color: #092b4e;
}
.flow-copy p {
  margin: 0;
  max-width: 560px;
  color: #475f77;
  font-size: 1.05rem;
  line-height: 1.58;
}
.flow-visual {
  min-height: 220px;
  padding: 26px;
  border-radius: 28px;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.upload-visual {
  grid-template-columns: .5fr 1fr;
  gap: 18px;
  background: linear-gradient(135deg, rgba(232,246,255,.72), rgba(240,255,249,.56));
}
.cloud-circle {
  width: 88px;
  height: 88px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #b8e6ff, #3ab3ff);
  color: #fff;
  font-size: 2.4rem;
  box-shadow: 0 18px 40px rgba(58, 179, 255, .24);
}
.upload-card-mini {
  min-width: 290px;
  display: grid;
  grid-template-columns: 74px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 22px;
  border-radius: 20px;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(205, 224, 235, .92);
  box-shadow: 0 18px 35px rgba(6, 43, 62, .10);
}
.pdf-tag {
  display: grid;
  place-items: center;
  width: 62px;
  height: 70px;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(135deg, #ff6b5f, #e63d34);
  font-weight: 950;
}
.upload-card-mini strong { color: #0b2b4a; }
.upload-card-mini small { display: block; color: #63798c; margin-top: 4px; }
.upload-card-mini b { color: #0aa461; }
.progress-line {
  height: 7px;
  margin-top: 12px;
  border-radius: 999px;
  background: #dfe9ef;
  overflow: hidden;
}
.progress-line i {
  display: block;
  height: 100%;
  width: 100%;
  background: linear-gradient(90deg, #10b981, #36d58a);
}
.file-chip {
  position: absolute;
  display: grid;
  place-items: center;
  width: 48px;
  height: 58px;
  border-radius: 10px;
  color: #fff;
  font-weight: 950;
  transform: rotate(9deg);
}
.file-chip.red { right: 84px; bottom: 26px; background: #ef4444; }
.file-chip.green { right: 28px; bottom: 18px; background: #22c55e; transform: rotate(13deg); }

.qr-visual {
  grid-template-columns: 1fr 1fr;
  gap: 26px;
  background: linear-gradient(135deg, rgba(237,248,255,.80), rgba(238,255,249,.62));
}
.phone-frame {
  position: relative;
  width: 180px;
  height: 180px;
  display: grid;
  place-items: center;
  border-radius: 34px 34px 22px 22px;
  background: linear-gradient(180deg, #26394f, #102334);
  box-shadow: 0 18px 35px rgba(16, 35, 52, .22);
}
.qr-grid {
  width: 112px;
  height: 112px;
  padding: 8px;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 6px;
  background: #fff;
  border-radius: 10px;
}
.qr-grid i {
  background: repeating-linear-gradient(45deg, #0b2b4a 0 7px, #fff 7px 12px);
}
.scan-line {
  position: absolute;
  left: 24px;
  right: 24px;
  top: 50%;
  height: 4px;
  border-radius: 999px;
  background: #42f0a5;
  box-shadow: 0 0 14px #42f0a5;
  animation: scanQr 2.8s ease-in-out infinite;
}
@keyframes scanQr {
  0%,100% { transform: translateY(-42px); }
  50% { transform: translateY(42px); }
}
.verified-card {
  width: 240px;
  padding: 22px;
  border-radius: 18px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(205, 224, 235, .92);
  box-shadow: 0 18px 35px rgba(6, 43, 62, .09);
}
.verified-card strong { display: block; margin-bottom: 12px; color: #0aa461; }
.verified-card span {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 8px 0;
  color: #5c7084;
  border-bottom: 1px solid rgba(210,226,235,.66);
}
.verified-card b { color: #10b981; }

.cost-visual {
  background: linear-gradient(135deg, rgba(237,248,255,.76), rgba(240,255,249,.62));
}
.bill-breakdown {
  position: relative;
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 22px;
  align-items: center;
  min-width: 460px;
  padding: 22px;
  border-radius: 22px;
  background: rgba(255,255,255,.84);
  border: 1px solid rgba(205, 224, 235, .92);
  box-shadow: 0 18px 35px rgba(6, 43, 62, .08);
}
.bill-breakdown > strong {
  position: absolute;
  left: 22px;
  top: 16px;
  color: #092b4e;
}
.donut {
  width: 128px;
  height: 128px;
  margin-top: 30px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  text-align: center;
  font-weight: 950;
  line-height: 1;
  color: #092b4e;
  background:
    radial-gradient(circle, #fff 0 39%, transparent 40%),
    conic-gradient(#10b981 0 38%, #38bdf8 38% 62%, #6366f1 62% 82%, #a78bfa 82% 100%);
}
.donut small { display: block; margin-top: 2px; color: #5d7286; font-size: .72rem; line-height: 1.05; }
.bill-breakdown ul {
  list-style: none;
  padding: 24px 0 0;
  margin: 0;
  display: grid;
  gap: 9px;
}
.bill-breakdown li {
  display: grid;
  grid-template-columns: 12px 1fr auto;
  gap: 8px;
  align-items: center;
  color: #5b7288;
}
.bill-breakdown li span {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #10b981;
}
.bill-breakdown li:nth-child(2) span { background: #38bdf8; }
.bill-breakdown li:nth-child(3) span { background: #6366f1; }
.bill-breakdown li:nth-child(4) span { background: #a78bfa; }
.orb {
  position: absolute;
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 16px 30px rgba(6, 43, 62, .12);
  animation: orbFloat 5s ease-in-out infinite;
}
.orb.bolt { left: 36px; top: 42px; color: #10b981; }
.orb.percent { left: 78px; bottom: 38px; color: #7c3aed; animation-delay: -2s; }
@keyframes orbFloat {
  0%,100% { translate: 0 0; }
  50% { translate: 0 -14px; }
}

.saving-visual {
  grid-template-columns: 1fr .85fr;
  gap: 22px;
  background: linear-gradient(135deg, rgba(237,248,255,.76), rgba(239,255,246,.72));
}
.recommend-card,
.other-options {
  padding: 22px;
  border-radius: 22px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(205, 224, 235, .92);
  box-shadow: 0 18px 35px rgba(6, 43, 62, .09);
}
.recommend-card {
  position: relative;
  padding-left: 30px;
  background: linear-gradient(145deg, #effdf5, rgba(255,255,255,.88));
  border-color: rgba(167, 243, 208, .96);
}
.best-badge {
  float: right;
  padding: 7px 11px;
  border-radius: 999px;
  background: #22c55e;
  color: #fff;
  font-weight: 950;
  font-size: .78rem;
}
.recommend-card small { color: #059669; font-weight: 900; }
.recommend-card strong { display: block; margin-top: 12px; color: #0b2b4a; }
.recommend-card p { margin: 18px 0 4px; color: #6a7b8c; font-weight: 800; }
.recommend-card b { color: #10a45f; font-size: clamp(2rem, 4vw, 3.1rem); }
.other-options {
  display: grid;
  align-content: center;
  gap: 13px;
}
.other-options strong { color: #092b4e; }
.other-options span {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 14px 12px;
  border-radius: 14px;
  background: #f7fafc;
  color: #536a7e;
}
.other-options b { color: #d94675; }

.how-trust-strip {
  width: min(980px, 92%);
  margin: 28px auto 0;
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 0;
  padding: 14px 22px;
  border-radius: 20px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(205, 224, 235, .92);
  box-shadow: 0 16px 35px rgba(6, 43, 62, .08);
}
.how-trust-strip div {
  display: grid;
  grid-template-columns: 36px 1fr;
  grid-template-areas: "icon title" "icon sub";
  gap: 2px 12px;
  align-items: center;
  padding: 10px 18px;
}
.how-trust-strip div + div { border-left: 1px solid rgba(205, 224, 235, .8); }
.how-trust-strip img { grid-area: icon; width: 32px; height: 32px; }
.how-trust-strip strong { grid-area: title; color: #0b2b4a; }
.how-trust-strip small { grid-area: sub; color: #5d7286; }

.how-final-cta {
  margin: 34px auto 0;
  padding: 38px;
  border-radius: 30px;
  text-align: center;
  color: #fff;
  background:
    radial-gradient(circle at 80% 20%, rgba(34, 197, 94, .25), transparent 30%),
    linear-gradient(135deg, #052f42, #0f766e);
  box-shadow: 0 26px 60px rgba(5, 47, 66, .18);
}
.how-final-cta h2 { margin: 0; color: #fff; font-size: clamp(1.9rem, 3vw, 3rem); }
.how-final-cta p { max-width: 760px; margin: 12px auto 22px; color: rgba(255,255,255,.78); }

@media (max-width: 1180px) {
  .how-nav { grid-template-columns: 1fr; justify-items: center; }
  .how-nav-actions { justify-content: center; }
  .flow-step,
  .flow-step.reverse {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .electric-path { display: none; }
  .flow-step.reverse .flow-copy { order: 2; }
  .flow-step.reverse .flow-visual { order: 1; }
}
@media (max-width: 760px) {
  .how-main { width: min(100% - 22px, 1420px); }
  .how-hero { padding-top: 42px; }
  .how-hero h1 { font-size: clamp(2.05rem, 12vw, 3.2rem); }
  .flow-step { padding: 12px; border-radius: 26px; }
  .flow-copy { padding: 18px; }
  .flow-visual { padding: 18px; min-height: 190px; }
  .upload-card-mini,
  .bill-breakdown { min-width: 0; width: 100%; }
  .upload-card-mini { grid-template-columns: 58px 1fr; }
  .upload-card-mini b { grid-column: 2; }
  .qr-visual,
  .saving-visual,
  .cost-visual { grid-template-columns: 1fr; }
  .bill-breakdown { grid-template-columns: 1fr; justify-items: center; }
  .how-trust-strip { grid-template-columns: 1fr; }
  .how-trust-strip div + div { border-left: 0; border-top: 1px solid rgba(205, 224, 235, .8); }
}


/* --- v0.7.16 center node alignment refinements --- */
@keyframes nodeGlow {
  0%,100% { transform: translateX(-50%) scale(1); box-shadow: 0 0 0 8px rgba(16,185,129,.07), 0 10px 24px rgba(16,185,129,.16); }
  50% { transform: translateX(-50%) scale(1.03); box-shadow: 0 0 0 12px rgba(16,185,129,.10), 0 14px 30px rgba(16,185,129,.20); }
}
.step-one .flow-visual,
.step-three .flow-visual {
  margin-right: 8px;
}
.step-two .flow-visual,
.step-four .flow-visual {
  margin-left: 8px;
}
.recommend-card small,
.recommend-card strong,
.recommend-card p,
.recommend-card b {
  position: relative;
  z-index: 1;
}
.upload-visual {
  align-items: center;
}
@media (max-width: 1180px) {
  .step-one .flow-visual,
  .step-three .flow-visual,
  .step-two .flow-visual,
  .step-four .flow-visual {
    margin-left: 0;
    margin-right: 0;
  }
}
@media (max-width: 760px) {
  .flow-step { gap: 18px; }
  .upload-card-mini { min-width: 0; }
  .file-chip.red { right: 54px; bottom: 18px; }
  .file-chip.green { right: 10px; bottom: 12px; }
}


/* --- v0.7.17 unified premium header on home/benefits/faq --- */
body.home-page .how-nav {
  margin: 0;
}
body.home-page .public-container {
  padding-top: 18px;
}
body.benefits-page .how-nav,
body.faq-page .how-nav {
  position: sticky;
  top: 0;
}
body.benefits-page .page-flow,
body.faq-page .page-flow {
  padding-top: 24px;
}
body.benefits-page .how-nav-links a.active::after,
body.faq-page .how-nav-links a.active::after,
body.home-page .how-nav-links a.active::after {
  bottom: -12px;
}
@media (max-width: 1024px) {
  body.home-page .public-container,
  body.benefits-page .page-flow,
  body.faq-page .page-flow {
    padding-top: 14px;
  }
}


/* --- v0.7.18 premium auth pages + remove tarifas from top menu --- */
.auth-premium-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 16% 20%, rgba(16,185,129,.12), transparent 24%),
    radial-gradient(circle at 84% 16%, rgba(14,116,144,.10), transparent 22%),
    linear-gradient(180deg, #f7fcff 0%, #eef9f4 100%);
}
.auth-premium-page::before {
  content: "";
  position: fixed;
  inset: 86px 0 0;
  z-index: -1;
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.38), rgba(247,253,250,.78) 68%, rgba(247,253,250,.96)),
    url("/static/assets/eco-hero-bg.png?v=0718");
  background-size: cover;
  background-position: center top;
  opacity: .70;
}
.auth-premium-main {
  width: min(1180px, calc(100% - 36px));
  margin: 0 auto;
  padding: clamp(34px, 5vw, 72px) 0 80px;
}
.auth-premium-hero {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 28px;
}
.auth-premium-hero h1 {
  margin: 0;
  color: #07294a;
  font-size: clamp(2.25rem, 4.8vw, 4.6rem);
  line-height: .98;
  letter-spacing: -.055em;
}
.auth-premium-hero p {
  margin: 16px auto 0;
  max-width: 720px;
  color: #47677c;
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  line-height: 1.58;
}
.auth-premium-layout {
  display: grid;
  grid-template-columns: 1.05fr .85fr;
  gap: 24px;
  align-items: stretch;
}
.auth-value-panel,
.auth-card-premium {
  border-radius: 32px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(197,220,232,.88);
  box-shadow: 0 22px 62px rgba(6,43,62,.10);
  backdrop-filter: blur(16px);
}
.auth-value-panel {
  padding: clamp(28px, 4vw, 44px);
  overflow: hidden;
  position: relative;
}
.auth-value-panel::after {
  content: "";
  position: absolute;
  right: -80px;
  bottom: -80px;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(16,185,129,.16), transparent 70%);
}
.auth-value-panel h2 {
  margin: 18px 0 24px;
  color: #092b4e;
  font-size: clamp(1.8rem, 3vw, 3.1rem);
  line-height: 1.08;
  letter-spacing: -.04em;
}
.auth-benefit-list {
  display: grid;
  gap: 16px;
}
.auth-benefit-list div {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border-radius: 20px;
  background: rgba(246,255,251,.78);
  border: 1px solid rgba(188,232,212,.82);
}
.auth-benefit-list img {
  width: 48px;
  height: 48px;
}
.auth-benefit-list strong {
  display: block;
  color: #0b2f43;
}
.auth-benefit-list small {
  display: block;
  margin-top: 4px;
  color: #587488;
  line-height: 1.35;
}
.auth-card-premium {
  padding: clamp(26px, 3.2vw, 38px);
  align-self: center;
}
.auth-card-premium h2 {
  margin-top: 0;
  color: #092b4e;
  font-size: clamp(1.55rem, 2.2vw, 2.2rem);
}
.auth-card-premium label {
  color: #334b5f;
  font-weight: 850;
}
.auth-card-premium input {
  margin-top: 8px;
  background: rgba(255,255,255,.92);
}
.auth-card-premium .button {
  width: 100%;
  margin-top: 8px;
  justify-content: center;
}
.auth-card-premium .hint {
  text-align: center;
}
@media (max-width: 980px) {
  .auth-premium-layout {
    grid-template-columns: 1fr;
  }
}

/* --- v0.7.19 FAQ premium redesign --- */
.faq-premium-page {
  background: #f8fcff;
}
.faq-premium-page::before {
  opacity: .52;
  background-image:
    linear-gradient(180deg, rgba(248,252,255,.26) 0%, rgba(248,252,255,.58) 42%, rgba(248,252,255,.96) 100%),
    url('/static/assets/eco-hero-bg.png?v=0719');
  background-position: center top;
}
.faq-premium-main {
  width: min(1260px, calc(100% - 36px));
  margin: 0 auto;
  padding: 18px 0 34px;
}
.faq-premium-hero {
  position: relative;
  min-height: 330px;
  display: grid;
  grid-template-columns: .96fr 1.04fr;
  align-items: center;
  overflow: hidden;
  border-radius: 0 0 46% 8% / 0 0 18% 8%;
}
.faq-premium-hero::before {
  content: "";
  position: absolute;
  inset: 0 -80px 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(248,252,255,.96) 0%, rgba(248,252,255,.74) 42%, rgba(238,251,246,.28) 76%, rgba(248,252,255,.78) 100%),
    url('/static/assets/eco-hero-bg.png?v=0719') center 42% / cover no-repeat;
}
.faq-hero-copy { padding: 26px 0 34px 28px; max-width: 610px; }
.faq-kicker {
  display: inline-flex; align-items: center; gap: 8px; margin: 0 0 8px;
  color: #08775f; font-size: .72rem; font-weight: 950; letter-spacing: .025em;
  padding: 4px 10px; border: 1px solid #8ce1c8; border-radius: 999px; background: rgba(255,255,255,.72);
}
.faq-kicker span { width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; background: #22c997; color: white; }
.faq-hero-copy h1 { margin: 0; color: #092e54; font-size: clamp(3rem, 5vw, 4.6rem); line-height: .92; letter-spacing: -.055em; }
.faq-hero-copy h1 em { color: #22bd74; font-style: normal; }
.faq-hero-copy > p:not(.faq-kicker) { max-width: 530px; margin: 18px 0 22px; color: #36556d; font-weight: 650; line-height: 1.55; }
.faq-hero-trust {
  display: grid; grid-template-columns: repeat(3, 1fr); max-width: 625px;
  border-radius: 16px; border: 1px solid rgba(29,150,122,.16); background: rgba(255,255,255,.74); box-shadow: 0 10px 30px rgba(33,75,94,.06);
}
.faq-hero-trust > div { display: flex; align-items: center; gap: 10px; padding: 12px 14px; font-size: .72rem; color: #1b3a59; }
.faq-hero-trust > div + div { border-left: 1px solid #dbece7; }
.faq-trust-icon { width: 30px; height: 30px; flex: 0 0 30px; display: grid; place-items: center; color: #17b975; border: 1.5px solid #17b975; border-radius: 50%; font-weight: 950; }
.faq-hero-visual { position: relative; min-height: 310px; }
.faq-glass-cylinder { position: absolute; left: 12%; right: 7%; bottom: 18px; height: 118px; border: 2px solid rgba(80,189,223,.23); border-radius: 50%; background: linear-gradient(180deg, rgba(164,231,244,.08), rgba(255,255,255,.48)); box-shadow: inset 0 -18px 30px rgba(45,190,215,.08), 0 28px 38px rgba(58,112,135,.08); }
.faq-glass-cylinder::before { content:""; position:absolute; inset:-100px 18px 38px; border:2px solid rgba(80,189,223,.15); border-bottom:0; border-radius:48% 48% 0 0; }
.faq-check-sheet { position:absolute; left:20%; top:24px; width:250px; height:230px; padding:24px 28px; transform:rotate(-2deg); border-radius:18px; background:linear-gradient(145deg,#fff,#f1f8fc); border:1px solid #dceaf1; box-shadow:0 28px 44px rgba(41,92,115,.18); display:grid; grid-template-columns:1fr 22px; gap:13px 10px; align-content:start; }
.faq-check-sheet::after { content:""; position:absolute; inset:16px -12px -10px 12px; z-index:-1; border-radius:18px; background:rgba(255,255,255,.58); border:1px solid rgba(218,235,242,.8); }
.sheet-title { grid-column:1/-1; display:flex; align-items:center; gap:9px; font-weight:950; color:#173b65; margin-bottom:10px; }
.sheet-title span { width:24px; height:24px; display:grid; place-items:center; border-radius:50%; color:white; background:#19bc86; }
.faq-check-sheet i { height:9px; border-radius:999px; background:linear-gradient(90deg,#d3e5f1 72%,#eaf2f7 72%); }
.faq-check-sheet b { width:18px; height:18px; display:grid; place-items:center; border-radius:50%; border:1px solid #58d9ab; color:#0eb978; font-size:.72rem; }
.faq-bot { position:absolute; right:11%; top:67px; width:102px; height:74px; border-radius:34px; background:linear-gradient(150deg,#f8ffff,#b7e8ef); border:1px solid #9bd8e3; box-shadow:0 20px 34px rgba(26,111,133,.2); }
.bot-antenna { position:absolute; width:3px; height:24px; background:#12bb87; left:50%; top:-20px; }
.bot-antenna::before { content:""; position:absolute; width:9px; height:9px; border-radius:50%; background:#1ddb98; left:-3px; top:-3px; box-shadow:0 0 0 5px rgba(29,219,152,.14); }
.bot-face { position:absolute; inset:12px; display:flex; justify-content:center; align-items:center; gap:20px; border-radius:25px; background:#073b67; box-shadow:inset 0 0 18px rgba(21,228,167,.18); }
.bot-face i { width:8px; height:14px; border-radius:50%; background:#39e7a8; box-shadow:0 0 12px #39e7a8; }
.bot-face b { position:absolute; left:39px; bottom:8px; color:#39e7a8; font-size:18px; }
.faq-bot-message { position:absolute; right:0; top:154px; padding:16px 18px; border-radius:16px; background:rgba(255,255,255,.91); color:#36556d; font-size:.75rem; line-height:1.5; box-shadow:0 14px 34px rgba(39,92,112,.12); }
.faq-bot-message strong { color:#173b65; }
.faq-content-shell { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(310px,.72fr); gap:26px; width:min(1050px,92%); margin:-6px auto 0; align-items:start; }
.faq-premium-list { gap:8px; }
.faq-premium-list details { padding:0; border-radius:12px; overflow:hidden; background:rgba(255,255,255,.96); border:1px solid #e0eaef; box-shadow:0 6px 18px rgba(31,75,96,.055); }
.faq-premium-list summary { min-height:52px; display:grid; grid-template-columns:34px 1fr 24px; align-items:center; gap:10px; padding:7px 16px; list-style:none; cursor:pointer; color:#173b65; }
.faq-premium-list summary::-webkit-details-marker { display:none; }
.faq-row-icon { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; color:#14b777; background:#eafbf4; font-weight:950; font-size:.85rem; }
.faq-premium-list summary strong { font-size:.88rem; }
.faq-chevron { justify-self:end; color:#163c65; transition:transform .2s ease; }
.faq-premium-list details[open] .faq-chevron { transform:rotate(180deg); }
.faq-premium-list details[open] { border-color:#bfe9d8; box-shadow:0 10px 24px rgba(22,154,110,.09); }
.faq-premium-list p { margin:0; padding:0 20px 17px 60px; color:#536b7d; font-size:.86rem; line-height:1.55; }
.faq-assistant-card { padding:20px; border-radius:22px; background:linear-gradient(150deg,rgba(250,255,253,.97),rgba(239,251,247,.97)); border:1px solid #d9eee6; box-shadow:0 18px 42px rgba(38,97,91,.1); }
.assistant-overline { margin:0 0 4px; color:#0da66d; font-size:.73rem; font-weight:950; }
.faq-assistant-card h2 { margin:0; color:#0e3b68; font-size:1.55rem; }
.assistant-intro { margin:8px 0 15px; color:#5b7180; font-size:.77rem; line-height:1.5; }
.assistant-window { padding:13px; border-radius:15px; background:white; border:1px solid #dfeaec; box-shadow:0 9px 24px rgba(40,79,100,.08); }
.assistant-profile { display:flex; align-items:center; gap:10px; color:#1a4269; font-size:.67rem; }
.assistant-profile small { display:block; margin-top:2px; color:#0ca66c; }
.assistant-profile small i { display:inline-block; width:6px; height:6px; border-radius:50%; background:#18c983; margin-right:4px; }
.mini-bot { width:35px; height:29px; display:grid; place-items:center; border-radius:12px; color:#3ce5a9; background:#073c67; font-size:1.2rem; box-shadow:inset 0 0 10px rgba(60,229,169,.24); }
.assistant-bubble { width:85%; margin:12px 0 10px 42px; padding:10px 12px; border-radius:12px 12px 12px 4px; background:#f1f6fb; color:#466078; font-size:.73rem; line-height:1.45; }
.assistant-topic-buttons { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:9px; }
.assistant-topic-buttons button { padding:6px 9px; border-radius:999px; border:1px solid #7ce0ba; background:white; color:#0b9d69; font:inherit; font-size:.65rem; cursor:pointer; }
.assistant-topic-buttons button:hover { background:#edfff7; }
.faq-assistant-card input { width:100%; padding:9px 10px; border:1px solid #d9e6eb; border-radius:10px; font:inherit; font-size:.74rem; margin:0 0 8px; }
.assistant-main-button { width:100%; padding:10px 14px; border:0; border-radius:10px; color:white; background:linear-gradient(90deg,#13b878,#08a768); box-shadow:0 9px 18px rgba(11,172,108,.22); font-weight:900; cursor:pointer; }
.faq-assistant-card .assistant-answer { display:none; margin-top:9px; padding:10px; border-radius:10px; font-size:.7rem; line-height:1.45; }
.faq-assistant-card .assistant-answer.has-answer { display:block; }
.assistant-footnote { display:block; text-align:center; margin-top:7px; color:#98a6af; font-size:.57rem; }
.faq-bottom-trust { display:grid; grid-template-columns:repeat(4,1fr); width:min(1050px,92%); margin:18px auto 0; border:1px solid #deebec; border-radius:14px; background:rgba(255,255,255,.85); box-shadow:0 9px 24px rgba(35,78,97,.06); }
.faq-bottom-trust > div { display:flex; align-items:center; gap:10px; padding:12px 15px; }
.faq-bottom-trust > div + div { border-left:1px solid #e4eded; }
.faq-bottom-trust span { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; color:#13b977; border:1.5px solid #13b977; font-weight:950; }
.faq-bottom-trust p { margin:0; color:#1b4165; line-height:1.3; }
.faq-bottom-trust strong { display:block; font-size:.67rem; }
.faq-bottom-trust small { display:block; color:#687e8c; font-size:.57rem; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width: 980px) {
  .faq-premium-hero { grid-template-columns:1fr; border-radius:0 0 28px 28px; }
  .faq-hero-copy { padding-left:18px; }
  .faq-hero-visual { min-height:280px; }
  .faq-content-shell { grid-template-columns:1fr; margin-top:18px; }
  .faq-assistant-card { position:static; }
}
@media (max-width: 700px) {
  .faq-premium-main { width:min(100% - 20px,1260px); }
  .faq-hero-trust, .faq-bottom-trust { grid-template-columns:1fr; }
  .faq-hero-trust > div + div, .faq-bottom-trust > div + div { border-left:0; border-top:1px solid #e1ece9; }
  .faq-check-sheet { left:4%; width:220px; }
  .faq-bot { right:3%; }
  .faq-bot-message { right:0; }
  .faq-content-shell, .faq-bottom-trust { width:100%; }
  .faq-premium-list summary { grid-template-columns:32px 1fr 20px; padding:8px 11px; }
  .faq-premium-list summary strong { font-size:.8rem; }
  .faq-premium-list p { padding-left:53px; }
}

/* --- v0.7.20 Benefits motion + FAQ readability --- */
.benefits-visual-dashboard {
  display:grid; grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr); gap:42px; align-items:center;
  padding:clamp(28px,4vw,50px); border:1px solid rgba(184,220,213,.78); border-radius:34px;
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(240,253,248,.9));
  box-shadow:0 24px 70px rgba(13,70,75,.09); overflow:hidden; position:relative;
}
.benefits-visual-dashboard::before { content:""; position:absolute; width:360px; height:360px; right:-130px; top:-160px; border-radius:50%; background:radial-gradient(circle,rgba(24,184,120,.14),transparent 68%); }
.benefits-dashboard-copy { position:relative; z-index:1; }
.benefits-dashboard-copy h2 { margin:8px 0 16px; color:#092e54; font-size:clamp(1.9rem,3.2vw,3rem); line-height:1.08; letter-spacing:-.04em; }
.benefits-dashboard-copy > p:last-of-type { color:#526c7d; line-height:1.7; font-size:1.02rem; }
.benefits-dashboard-pills { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.benefits-dashboard-pills span { display:inline-flex; align-items:center; gap:8px; padding:9px 12px; border-radius:999px; background:#fff; border:1px solid #d9eee7; color:#244b5f; font-size:.82rem; font-weight:800; box-shadow:0 7px 16px rgba(33,83,90,.05); }
.benefits-dashboard-pills i { width:8px; height:8px; border-radius:50%; background:#19b879; box-shadow:0 0 0 5px rgba(25,184,121,.11); }
.benefits-dashboard-card { position:relative; z-index:1; padding:22px; border-radius:25px; background:rgba(255,255,255,.96); border:1px solid #dbe9ed; box-shadow:0 24px 52px rgba(22,71,87,.14); transform:perspective(1200px) rotateY(-2deg) rotateX(1deg); transition:transform .5s ease, box-shadow .5s ease; }
.benefits-visual-dashboard:hover .benefits-dashboard-card { transform:perspective(1200px) rotateY(0) rotateX(0) translateY(-4px); box-shadow:0 30px 64px rgba(22,71,87,.18); }
.benefits-dashboard-head { display:flex; justify-content:space-between; gap:18px; align-items:center; }
.benefits-dashboard-head small,.benefits-dashboard-head strong { display:block; }
.benefits-dashboard-head small { color:#78909d; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; font-weight:850; }
.benefits-dashboard-head strong { margin-top:4px; color:#153b5d; font-size:1.05rem; }
.benefits-live-dot { padding:7px 10px; border-radius:999px; background:#eafaf3; color:#0d9361; font-size:.7rem; font-weight:900; }
.benefits-live-dot::before { content:""; display:inline-block; width:7px; height:7px; margin-right:6px; border-radius:50%; background:#17b878; animation:benefitsPulse 2s infinite; }
.benefits-chart-area { position:relative; height:225px; margin:22px 0 10px; overflow:hidden; border-radius:17px; background:linear-gradient(180deg,#f8fcfe,#fff); }
.benefits-chart-grid { position:absolute; inset:0; background-image:linear-gradient(#e9f0f3 1px,transparent 1px),linear-gradient(90deg,#e9f0f3 1px,transparent 1px); background-size:100% 38px,65px 100%; opacity:.7; }
.benefits-chart-area svg { position:absolute; inset:18px 12px 26px; width:calc(100% - 24px); height:calc(100% - 44px); overflow:visible; }
.benefits-line-current,.benefits-line-improved { fill:none; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:700; stroke-dashoffset:700; }
.benefits-line-current { stroke:#183f68; }
.benefits-line-improved { stroke:#18b878; stroke-width:3; }
.is-visible .benefits-line-current { animation:benefitsDraw 1.8s .25s ease forwards; }
.is-visible .benefits-line-improved { animation:benefitsDraw 1.8s .55s ease forwards; }
.benefits-area-fill { opacity:0; }
.is-visible .benefits-area-fill { animation:benefitsFade .9s 1.1s ease forwards; }
.benefits-chart-point { fill:#fff; stroke:#18b878; stroke-width:4; opacity:0; transform-box:fill-box; transform-origin:center; }
.is-visible .benefits-chart-point { animation:benefitsPoint .55s 1.55s ease forwards; }
.is-visible .point-two { animation-delay:1.8s; }
.benefits-chart-legend { position:absolute; left:18px; bottom:8px; display:flex; gap:18px; color:#647b8a; font-size:.68rem; font-weight:800; }
.benefits-chart-legend span::before { content:""; width:16px; height:3px; border-radius:4px; display:inline-block; margin-right:6px; vertical-align:middle; }
.benefits-chart-legend .current::before { background:#183f68; }.benefits-chart-legend .improved::before { background:#18b878; }
.benefits-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.benefits-metrics > div { padding:13px; border-radius:15px; background:#f7fbfc; border:1px solid #e2edef; transition:transform .25s ease, background .25s ease; }
.benefits-metrics > div:hover { transform:translateY(-3px); background:#f0fbf6; }
.benefits-metrics small,.benefits-metrics strong,.benefits-metrics em { display:block; }
.benefits-metrics small { color:#728894; font-size:.66rem; font-weight:800; }.benefits-metrics strong { color:#0a9d67; font-size:1.38rem; margin:4px 0 2px; }.benefits-metrics em { color:#91a0a7; font-size:.62rem; font-style:normal; }
.benefits-stats-animated .stat-card { position:relative; overflow:hidden; transition:transform .3s ease, box-shadow .3s ease; }
.benefits-stats-animated .stat-card:hover { transform:translateY(-6px); box-shadow:0 20px 38px rgba(27,76,90,.12); }
.benefits-stats-animated .stat-card::after { content:""; position:absolute; left:0; bottom:0; height:3px; width:0; background:linear-gradient(90deg,#13b878,#73dcb5); }
.benefits-stats-animated.is-visible .stat-card::after { animation:benefitsBar 1.1s ease forwards; }
.benefits-stats-animated .stat-card:nth-child(2)::after{animation-delay:.12s}.benefits-stats-animated .stat-card:nth-child(3)::after{animation-delay:.24s}.benefits-stats-animated .stat-card:nth-child(4)::after{animation-delay:.36s}

.faq-premium-list summary { min-height:62px; padding:10px 18px; }
.faq-premium-list summary strong { font-size:1rem; line-height:1.35; }
.faq-premium-list p { font-size:.98rem; line-height:1.68; padding:2px 24px 20px 62px; }
.faq-assistant-card { font-size:1rem; }
.faq-assistant-card .assistant-intro { font-size:.9rem; line-height:1.55; }
.faq-assistant-card .assistant-bubble { font-size:.86rem; line-height:1.5; }
.faq-assistant-card .assistant-topic-buttons button { font-size:.76rem; padding:8px 10px; }
.faq-assistant-card input { font-size:.9rem; }
.faq-assistant-card .assistant-answer { font-size:.84rem; }
.assistant-footnote { font-size:.7rem; }
.faq-bottom-trust strong { font-size:.78rem; }.faq-bottom-trust small { font-size:.68rem; }

@keyframes benefitsDraw { to { stroke-dashoffset:0; } }
@keyframes benefitsFade { to { opacity:1; } }
@keyframes benefitsPoint { 0%{opacity:0;transform:scale(.2)} 70%{opacity:1;transform:scale(1.35)} 100%{opacity:1;transform:scale(1)} }
@keyframes benefitsPulse { 0%,100%{box-shadow:0 0 0 0 rgba(23,184,120,.3)} 50%{box-shadow:0 0 0 7px rgba(23,184,120,0)} }
@keyframes benefitsBar { to { width:100%; } }
@media (max-width:980px){.benefits-visual-dashboard{grid-template-columns:1fr}.benefits-dashboard-card{transform:none}.benefits-chart-area{height:215px}}
@media (max-width:700px){.benefits-visual-dashboard{padding:22px 16px;border-radius:24px}.benefits-metrics{grid-template-columns:1fr}.benefits-dashboard-head{align-items:flex-start}.benefits-chart-area{height:190px}.faq-premium-list summary strong{font-size:.94rem}.faq-premium-list p{font-size:.92rem;padding-left:55px}.faq-bottom-trust strong{font-size:.78rem}.faq-bottom-trust small{font-size:.7rem}}
@media (prefers-reduced-motion:reduce){.benefits-line-current,.benefits-line-improved{stroke-dashoffset:0}.benefits-area-fill,.benefits-chart-point{opacity:1}.benefits-live-dot::before,.benefits-stats-animated .stat-card::after{animation:none}.benefits-stats-animated .stat-card::after{width:100%}}


/* --- v0.7.21 benefits hero aligned with how-it-works --- */
.benefit-hero {
  padding-top: clamp(54px, 7vw, 92px);
  padding-bottom: 16px;
}
.benefit-hero .how-subtitle {
  max-width: 980px;
}
.benefit-proof-hero {
  margin-top: 0;
  margin-bottom: 8px;
}
body.benefits-page .benefit-proof-hero {
  padding-top: 0;
}
@media (max-width: 700px) {
  .benefit-hero {
    padding-top: 42px;
  }
}

/* --- v0.7.22 clearer login and registration flows --- */
.auth-premium-main {
  padding-top: clamp(46px, 5.4vw, 82px);
}
.auth-premium-hero {
  margin-bottom: clamp(24px, 3vw, 38px);
}
.auth-premium-hero h1 {
  max-width: 920px;
  margin-inline: auto;
}
.auth-premium-layout {
  grid-template-columns: minmax(0, 1.02fr) minmax(420px, .88fr);
  gap: clamp(22px, 2.4vw, 34px);
  align-items: center;
}
.auth-value-panel {
  min-height: 100%;
}
.auth-panel-status {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 8px 13px 8px 9px;
  border: 1px solid rgba(23,184,120,.28);
  border-radius: 999px;
  background: rgba(239,253,247,.88);
  color: #087a55;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.auth-panel-icon {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #10a870;
  color: #fff;
  font-size: .9rem;
}
.auth-value-intro {
  max-width: 620px;
  margin: -8px 0 24px;
  color: #557184;
  font-size: 1rem;
  line-height: 1.6;
}
.auth-access-card {
  position: relative;
  overflow: hidden;
  padding: clamp(20px, 2.4vw, 32px);
  border-top: 5px solid #123d67;
}
.auth-register-page .auth-access-card {
  border-top-color: #10ad72;
}
.auth-access-card::before {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  right: -86px;
  top: -96px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(31,104,165,.12), transparent 70%);
  pointer-events: none;
}
.auth-register-page .auth-access-card::before {
  background: radial-gradient(circle, rgba(16,173,114,.15), transparent 70%);
}
.auth-mode-switch {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 6px;
  margin-bottom: 28px;
  border-radius: 18px;
  background: #eef4f7;
  border: 1px solid #dae7ed;
}
.auth-mode-switch a {
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  gap: 8px;
  min-height: 62px;
  padding: 9px 11px;
  border-radius: 13px;
  color: #536d7d;
  text-decoration: none;
  transition: transform .22s ease, background .22s ease, box-shadow .22s ease, color .22s ease;
}
.auth-mode-switch a:hover {
  transform: translateY(-1px);
  color: #0b3155;
}
.auth-mode-switch a.active {
  background: #fff;
  color: #0b3155;
  box-shadow: 0 8px 22px rgba(20,56,77,.10);
}
.auth-register-page .auth-mode-switch a.active {
  color: #08764f;
}
.auth-mode-switch strong,
.auth-mode-switch small {
  display: block;
}
.auth-mode-switch strong {
  font-size: .88rem;
  line-height: 1.15;
}
.auth-mode-switch small {
  margin-top: 3px;
  color: #7b8f9b;
  font-size: .65rem;
  font-weight: 700;
}
.auth-tab-icon {
  display: grid;
  place-items: center;
  width: 31px;
  height: 31px;
  border-radius: 10px;
  background: #dde9ef;
  color: #416779;
  font-size: 1rem;
  font-weight: 900;
}
.auth-mode-switch a.active .auth-tab-icon {
  background: #e7f1fb;
  color: #124b78;
}
.auth-register-page .auth-mode-switch a.active .auth-tab-icon {
  background: #e7faf2;
  color: #079461;
}
.auth-form-heading {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 7px;
}
.auth-form-symbol {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  border-radius: 15px;
  background: linear-gradient(145deg, #e5eff8, #f5f9fc);
  color: #124b78;
  border: 1px solid #d4e3ed;
  font-size: 1.3rem;
  font-weight: 900;
}
.auth-register-page .auth-form-symbol {
  background: linear-gradient(145deg, #e5faef, #f5fffa);
  color: #079461;
  border-color: #c9efdd;
}
.auth-form-heading p {
  margin: 0 0 3px;
  color: #728896;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.auth-form-heading h2 {
  margin: 0;
}
.auth-form-subtitle {
  margin: 0 0 22px;
  color: #617987;
  line-height: 1.5;
}
.auth-access-form {
  display: grid;
  gap: 15px;
}
.auth-access-form label {
  display: block;
  margin: 0;
}
.auth-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.optional-label {
  float: right;
  color: #8a9aa3;
  font-size: .68rem;
  font-weight: 750;
}
.auth-access-form input {
  width: 100%;
  min-height: 52px;
  border: 1px solid #cfe0e8;
  border-radius: 14px;
  padding: 0 14px;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.auth-access-form input:focus {
  outline: none;
  border-color: #3475a4;
  box-shadow: 0 0 0 4px rgba(40,109,157,.11);
  background: #fff;
}
.auth-register-page .auth-access-form input:focus {
  border-color: #10a870;
  box-shadow: 0 0 0 4px rgba(16,168,112,.11);
}
.auth-password-wrap {
  position: relative;
  display: block;
  margin-top: 8px;
}
.auth-password-wrap input {
  margin-top: 0;
  padding-right: 62px;
}
.auth-password-toggle {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  min-width: 45px;
  height: 34px;
  border: 0;
  border-radius: 9px;
  background: #edf4f7;
  color: #345a70;
  font-size: .72rem;
  font-weight: 900;
  cursor: pointer;
}
.auth-password-toggle:hover {
  background: #e2edf2;
}
.auth-privacy-note,
.auth-login-help {
  margin: -2px 0 2px;
  color: #647d8b;
  font-size: .76rem;
  line-height: 1.45;
}
.auth-privacy-note {
  display: flex;
  gap: 7px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #effbf5;
  border: 1px solid #d1f0e0;
}
.auth-privacy-note span {
  color: #0aa26a;
  font-weight: 900;
}
.auth-submit-button {
  min-height: 54px;
  margin-top: 4px !important;
  border-radius: 15px;
  background: linear-gradient(105deg, #164f7f, #0c385f);
  box-shadow: 0 13px 26px rgba(19,65,103,.20);
  font-size: .94rem;
}
.auth-register-page .auth-submit-button {
  background: linear-gradient(105deg, #18c783, #078d64);
  box-shadow: 0 13px 26px rgba(7,141,100,.21);
}
.auth-submit-button:hover {
  transform: translateY(-2px);
}
.auth-alternative {
  margin-top: 20px;
  padding-top: 17px;
  border-top: 1px solid #e1eaee;
  text-align: center;
  color: #718591;
  font-size: .83rem;
}
.auth-alternative a {
  color: #124f7c;
  font-weight: 900;
}
.auth-register-page .auth-alternative a {
  color: #078d64;
}
.auth-alert {
  margin: 0 0 16px;
}
.auth-system-note {
  margin: 0 0 16px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #fff9e8;
  border: 1px solid #f1dfaa;
  color: #765f1c;
  font-size: .76rem;
  line-height: 1.45;
}
@media (max-width: 980px) {
  .auth-premium-layout {
    grid-template-columns: 1fr;
  }
  .auth-value-panel {
    min-height: auto;
  }
}
@media (max-width: 620px) {
  .auth-premium-main {
    width: min(100% - 22px, 1180px);
    padding-top: 30px;
  }
  .auth-premium-hero h1 {
    font-size: clamp(2.1rem, 12vw, 3.4rem);
  }
  .auth-value-panel,
  .auth-card-premium {
    border-radius: 24px;
  }
  .auth-mode-switch {
    grid-template-columns: 1fr;
  }
  .auth-field-row {
    grid-template-columns: 1fr;
  }
}
@media (prefers-reduced-motion: reduce) {
  .auth-mode-switch a,
  .auth-submit-button {
    transition: none;
  }
}


/* --- v0.7.25 upload analysis overlay, synchronized with server response --- */
.analysis-loading-open { overflow:hidden; }
.analysis-overlay {
  position:fixed; inset:0; z-index:1200; display:grid; place-items:center;
  padding:24px; background:rgba(231,242,247,.78); backdrop-filter:blur(8px);
  opacity:0; visibility:hidden; pointer-events:none; transition:opacity .28s ease, visibility .28s ease;
}
.analysis-overlay.is-active { opacity:1; visibility:visible; pointer-events:auto; }
.analysis-overlay-card {
  width:min(100%, 560px); position:relative; overflow:hidden;
  background:linear-gradient(180deg, rgba(247,252,255,.97) 0%, rgba(241,250,246,.96) 100%);
  border:1px solid rgba(176,221,200,.9); border-radius:34px; padding:28px 28px 24px;
  box-shadow:0 28px 70px rgba(21,75,87,.18);
}
.analysis-overlay-card::before {
  content:""; position:absolute; inset:-20% auto auto -10%; width:260px; height:260px; border-radius:50%;
  background:radial-gradient(circle, rgba(26,184,120,.16) 0%, rgba(26,184,120,0) 70%);
}
.analysis-overlay-card::after {
  content:""; position:absolute; right:-50px; bottom:-75px; width:220px; height:220px; border-radius:50%;
  background:radial-gradient(circle, rgba(13,108,176,.1) 0%, rgba(13,108,176,0) 72%);
}
.analysis-overlay-top { position:relative; z-index:1; display:flex; gap:18px; align-items:flex-start; }
.analysis-overlay-copy { flex:1; min-width:0; }
.analysis-overlay-kicker {
  display:inline-flex; align-items:center; gap:8px; margin-bottom:12px; padding:7px 12px;
  border-radius:999px; background:rgba(24,184,120,.1); color:#0f8a61; font-size:.77rem; font-weight:900; text-transform:uppercase; letter-spacing:.09em;
}
.analysis-overlay-kicker::before { content:""; width:9px; height:9px; border-radius:50%; background:#18b878; box-shadow:0 0 0 5px rgba(24,184,120,.13); }
.analysis-overlay h2 { margin:0; color:#0b2f43; font-size:clamp(1.5rem, 2vw, 2.1rem); line-height:1.05; }
.analysis-overlay p { margin:10px 0 0; color:#577386; line-height:1.55; }
.analysis-windmill-wrap {
  width:165px; min-width:165px; height:170px; position:relative; border-radius:26px; overflow:hidden;
  background:linear-gradient(180deg, #eff8fd 0%, #f8fcff 38%, #ecf8ef 100%); border:1px solid #d9eaf1;
}
.analysis-cloud { position:absolute; background:rgba(255,255,255,.85); border-radius:999px; filter:drop-shadow(0 6px 10px rgba(145,172,187,.15)); }
.analysis-cloud.one { width:48px; height:16px; left:18px; top:20px; }
.analysis-cloud.one::after,.analysis-cloud.one::before,.analysis-cloud.two::after,.analysis-cloud.two::before { content:""; position:absolute; background:inherit; border-radius:50%; }
.analysis-cloud.one::before { width:18px; height:18px; left:7px; top:-8px; }
.analysis-cloud.one::after { width:20px; height:20px; right:8px; top:-10px; }
.analysis-cloud.two { width:42px; height:14px; right:16px; top:34px; opacity:.9; }
.analysis-cloud.two::before { width:16px; height:16px; left:6px; top:-7px; }
.analysis-cloud.two::after { width:16px; height:16px; right:8px; top:-8px; }
.analysis-hill { position:absolute; left:-8%; width:118%; border-radius:50% 50% 0 0; }
.analysis-hill.back { height:55px; bottom:30px; background:linear-gradient(180deg, #d7efe0 0%, #c2e5d0 100%); }
.analysis-hill.front { height:52px; bottom:0; background:linear-gradient(180deg, #bfe7cf 0%, #8fd3ad 100%); }
.analysis-turbine { position:absolute; left:50%; bottom:24px; width:112px; height:118px; transform:translateX(-50%); }
.analysis-turbine-tower { position:absolute; left:50%; bottom:0; width:10px; height:84px; transform:translateX(-50%); border-radius:10px 10px 0 0; background:linear-gradient(180deg, #d9e3ea 0%, #b4c4d1 100%); }
.analysis-turbine-nacelle { position:absolute; left:50%; top:26px; width:24px; height:10px; transform:translate(-8px,0); border-radius:10px; background:#c1d1dd; }
.analysis-turbine-hub { position:absolute; left:50%; top:23px; width:16px; height:16px; transform:translateX(-50%); border-radius:50%; background:#0e3d63; box-shadow:0 0 0 4px rgba(255,255,255,.74); }
.analysis-turbine-rotor {
  position:absolute; left:50%; top:31px; width:16px; height:16px; transform:translate(-50%, -50%);
  animation:windmillSpin 2.2s linear infinite; transform-origin:center;
}
.analysis-turbine-blade {
  position:absolute; left:50%; top:50%; width:56px; height:14px; transform-origin:8px 7px;
}
.analysis-turbine-blade::before {
  content:""; position:absolute; left:6px; top:2px; width:44px; height:10px; border-radius:12px 60px 60px 12px;
  background:linear-gradient(90deg, #ffffff 0%, #e7f1f7 100%); box-shadow:0 2px 6px rgba(107,132,149,.18);
}
.analysis-turbine-blade.b1 { transform:translate(-8px,-7px) rotate(0deg); }
.analysis-turbine-blade.b2 { transform:translate(-8px,-7px) rotate(120deg); }
.analysis-turbine-blade.b3 { transform:translate(-8px,-7px) rotate(240deg); }
.analysis-progress-shell { position:relative; z-index:1; margin-top:20px; }
.analysis-progress-meta { display:flex; justify-content:space-between; gap:18px; align-items:flex-end; margin-bottom:10px; }
.analysis-stage-text { color:#0b2f43; font-weight:800; font-size:1rem; }
.analysis-percent { color:#0fa16b; font-size:2rem; font-weight:900; line-height:1; }
.analysis-progress-bar { height:14px; border-radius:999px; background:#deebf1; overflow:hidden; position:relative; }
.analysis-progress-fill {
  width:0%; height:100%; border-radius:inherit; background:linear-gradient(90deg, #18b878 0%, #29d889 48%, #0c7f94 100%);
  box-shadow:0 8px 16px rgba(24,184,120,.18); position:relative;
}
.analysis-progress-fill::after {
  content:""; position:absolute; top:0; right:0; width:58px; height:100%; background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.52) 100%);
}
.analysis-stage-list { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:14px; }
.analysis-stage {
  padding:12px 13px; border-radius:16px; background:rgba(255,255,255,.7); border:1px solid #deebf1; color:#6a8593;
  transition:transform .22s ease, border-color .22s ease, background .22s ease, color .22s ease, box-shadow .22s ease;
}
.analysis-stage strong,.analysis-stage span { display:block; }
.analysis-stage strong { font-size:.74rem; text-transform:uppercase; letter-spacing:.05em; }
.analysis-stage span { margin-top:4px; font-size:.84rem; font-weight:700; line-height:1.35; }
.analysis-stage.is-current { color:#0b2f43; border-color:#afe3c8; background:rgba(236,252,244,.95); box-shadow:0 10px 18px rgba(24,184,120,.09); transform:translateY(-2px); }
.analysis-stage.is-done { color:#0f8d63; border-color:#9fd8bc; background:rgba(232,251,242,.82); }
.analysis-overlay-note { position:relative; z-index:1; margin-top:14px; color:#688091; font-size:.86rem; }
@keyframes windmillSpin { from { transform:translate(-50%, -50%) rotate(0deg); } to { transform:translate(-50%, -50%) rotate(360deg); } }
@media (max-width:700px){
  .analysis-overlay{padding:14px}.analysis-overlay-card{padding:20px 18px 18px;border-radius:26px}.analysis-overlay-top{flex-direction:column}.analysis-windmill-wrap{width:100%;min-width:0;height:154px;order:-1}.analysis-progress-meta{align-items:center}.analysis-percent{font-size:1.7rem}.analysis-stage-list{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .analysis-overlay,.analysis-stage,.analysis-progress-fill{transition:none}.analysis-turbine-rotor{animation:none}
}


/* --- v0.7.26 modern private area --- */
body.portal-modern-page {
  background:
    radial-gradient(circle at 0% 0%, rgba(19,184,120,.10), transparent 28%),
    radial-gradient(circle at 100% 0%, rgba(38,132,219,.09), transparent 26%),
    linear-gradient(180deg, #f7fbfe 0%, #f3f8fb 100%);
}
.portal-shell-modern { grid-template-columns: 284px 1fr; }
.portal-side-modern {
  padding: 24px 18px 20px; background: rgba(255,255,255,.76); border-right: 1px solid rgba(214,228,236,.95);
  box-shadow: inset -1px 0 0 rgba(255,255,255,.6);
}
.portal-side-modern .brand { display:block; margin-bottom: 18px; }
.portal-user-chip {
  display:grid; grid-template-columns: 54px 1fr; gap:12px; align-items:center; padding:14px; margin: 10px 0 20px;
  border-radius: 22px; background: linear-gradient(145deg, rgba(243,252,248,.95), rgba(239,247,252,.95)); border:1px solid #deedf0;
}
.portal-user-avatar {
  width:54px; height:54px; border-radius:18px; display:grid; place-items:center; font-weight:900; font-size:1.2rem; color:#fff;
  background: linear-gradient(135deg, #18b878, #0d729f); box-shadow: 0 14px 26px rgba(24,184,120,.22);
}
.portal-user-chip strong, .portal-user-chip small { display:block; }
.portal-user-chip strong { color:#0b2f43; }
.portal-user-chip small { color:#6b8290; line-height:1.35; }
.portal-side-modern .side-menu { gap:8px; }
.portal-side-modern .side-menu a {
  position:relative; border-radius:16px; padding:13px 15px; transition:transform .22s ease, background .22s ease, color .22s ease, box-shadow .22s ease;
}
.portal-side-modern .side-menu a.active, .portal-side-modern .side-menu a:hover {
  background: linear-gradient(135deg, rgba(225,251,240,.98), rgba(231,245,252,.96)); color:#0a7a60; box-shadow: 0 10px 24px rgba(48,115,124,.08); transform: translateX(3px);
}
.portal-side-modern .side-menu a.active::before { content:""; position:absolute; left:0; top:10px; bottom:10px; width:4px; border-radius:4px; background:linear-gradient(180deg,#18b878,#0d729f); }
.portal-side-stack { display:grid; gap:14px; margin-top:20px; }
.portal-mini-card { border-radius:22px; padding:18px; background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(242,252,247,.96)); border-color:#dcebee; }
.portal-mini-card--eco { background: linear-gradient(145deg, rgba(244,255,249,.96), rgba(236,250,244,.96)); }
.portal-mini-card .mini-label { display:block; margin-bottom:8px; text-transform:uppercase; letter-spacing:.08em; font-size:.7rem; font-weight:900; color:#6b8592; }
.portal-main-modern { padding: 26px; }
.portal-hero-modern {
  display:flex; justify-content:space-between; gap:22px; align-items:flex-end; padding: clamp(24px, 3vw, 32px);
  border-radius: 32px; background: linear-gradient(135deg, rgba(11,47,67,.96), rgba(15,89,99,.95) 56%, rgba(22,184,120,.88) 100%);
  color:#fff; box-shadow: 0 28px 60px rgba(5,53,69,.18); position:relative; overflow:hidden; margin-bottom:22px;
}
.portal-hero-modern::before { content:""; position:absolute; width:360px; height:360px; border-radius:50%; right:-120px; top:-180px; background: radial-gradient(circle, rgba(255,255,255,.18), transparent 70%); }
.portal-hero-modern::after { content:""; position:absolute; left:-50px; bottom:-100px; width:280px; height:220px; border-radius:50%; background: radial-gradient(circle, rgba(115,220,181,.22), transparent 70%); }
.portal-hero-modern .portal-title, .portal-hero-modern .lead, .portal-hero-modern .eyebrow { position:relative; z-index:1; color:#fff; }
.portal-hero-modern .eyebrow { opacity:.82; }
.portal-hero-copy { max-width: 800px; }
.portal-hero-pills { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.portal-hero-pills span { display:inline-flex; align-items:center; gap:8px; padding:9px 12px; border-radius:999px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.14); font-weight:800; color:#effdf8; }
.portal-hero-pills i { width:8px; height:8px; border-radius:50%; background:#7af0bf; box-shadow:0 0 0 5px rgba(122,240,191,.14); }
.portal-hero-actions { position:relative; z-index:1; display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-end; }
.portal-hero-actions .button.secondary { background: rgba(255,255,255,.12); color:#fff; border-color: rgba(255,255,255,.22); }
.portal-kpi-grid { display:grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap:14px; margin-bottom:22px; }
.portal-kpi-grid--compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.portal-kpi-card {
  padding:18px; border-radius:24px; background: rgba(255,255,255,.84); border:1px solid #deebf0; box-shadow: 0 16px 36px rgba(13,54,72,.06);
  backdrop-filter: blur(10px); transition: transform .25s ease, box-shadow .25s ease;
}
.portal-kpi-card:hover, .portal-glass-card:hover { transform: translateY(-4px); box-shadow: 0 24px 40px rgba(13,54,72,.10); }
.portal-kpi-card--highlight { background: linear-gradient(145deg, rgba(242,255,248,.95), rgba(229,247,255,.93)); border-color:#cfe9dc; }
.portal-kpi-label { display:block; color:#6d8491; font-size:.76rem; text-transform:uppercase; letter-spacing:.08em; font-weight:900; }
.portal-kpi-card strong { display:block; margin-top:10px; color:#0a9d67; font-size: clamp(1.4rem, 2vw, 1.95rem); line-height:1.04; }
.portal-kpi-card:not(.portal-kpi-card--highlight) strong { color:#0b2f43; }
.portal-overview-grid { display:grid; grid-template-columns: 1.2fr .95fr; gap:18px; margin-bottom:18px; }
.portal-wide-grid { margin-bottom:18px; }
.portal-shortcuts-grid { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:18px; }
.portal-glass-card {
  padding:24px; border-radius:28px; background: rgba(255,255,255,.82); border:1px solid #deebf0; box-shadow: 0 18px 42px rgba(13,54,72,.08); backdrop-filter: blur(12px);
}
.portal-overview-card h2, .portal-action-modern h2 { margin-top:6px; margin-bottom:8px; color:#0b2f43; }
.portal-overview-metrics { display:grid; grid-template-columns: repeat(3, 1fr); gap:12px; margin-top:18px; }
.portal-overview-metrics > div { padding:16px; border-radius:20px; background: linear-gradient(145deg, #f8fcfe, #f2fbf7); border:1px solid #e1edf1; }
.portal-overview-metrics small, .portal-overview-metrics strong, .portal-overview-metrics span { display:block; }
.portal-overview-metrics small { color:#7a909c; font-weight:800; }
.portal-overview-metrics strong { margin:7px 0 4px; color:#0b2f43; font-size:1.05rem; }
.portal-overview-metrics span { color:#6f8794; font-size:.85rem; }
.portal-overview-cta { display:flex; gap:12px; align-items:center; margin-top:18px; flex-wrap:wrap; }
.portal-action-modern .recommendation-stack { margin-top:16px; }
.recommendation-modern-item { border-radius:20px; border:1px solid #dfecef; background: linear-gradient(145deg, #ffffff, #f7fcff); box-shadow:none; }
.recommendation-modern-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:8px; }
.recommendation-modern-head strong { color:#0a9d67; }
.recommendation-detail-modern { border-radius:22px; background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(247,252,255,.96)); border:1px solid #deecf0; box-shadow: 0 14px 28px rgba(11,47,67,.05); }
.portal-modern-page .comparison-card, .portal-modern-page .list-card { background: transparent; }
.portal-modern-page .comparison-row { padding:16px 0; border-bottom:1px solid #e3edf1; }
.portal-modern-page .comparison-row:last-child { border-bottom:0; }
.portal-modern-page .comparison-track { background:#edf4f8; border-radius:18px; padding:12px; }
.portal-modern-page .bar.before, .portal-modern-page .bar.after { border-radius:16px; box-shadow: 0 8px 16px rgba(10,47,67,.06); }
.portal-modern-page .list-card li { padding:14px 0; }
.portal-modern-page .list-card li strong { color:#0b2f43; }
.portal-modern-page .dark-card { border-radius:28px; }
.portal-hero-modern--subpage { align-items:center; }
@media (max-width: 1200px) {
  .portal-shell-modern { grid-template-columns: 250px 1fr; }
  .portal-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .portal-shortcuts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .portal-overview-grid { grid-template-columns:1fr; }
  .portal-overview-metrics { grid-template-columns:1fr; }
  .portal-kpi-grid, .portal-kpi-grid--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
  .portal-shell-modern { grid-template-columns:1fr; }
  .portal-side-modern { position:relative; height:auto; }
  .portal-main-modern { padding:16px; }
  .portal-hero-modern { flex-direction:column; align-items:flex-start; border-radius:26px; }
  .portal-hero-actions { justify-content:flex-start; }
  .portal-kpi-grid, .portal-kpi-grid--compact, .portal-shortcuts-grid { grid-template-columns:1fr; }
}


/* --- v0.7.27 redesigned result report --- */
.report-modern-page { padding-bottom: 28px; }
.report-progress-modern { margin-bottom: 18px; }
.report-modern-shell { display:grid; grid-template-columns: minmax(0, 1.32fr) 340px; gap:20px; align-items:start; }
.report-main-column { display:grid; gap:18px; }
.report-hero-card, .report-section-card, .report-aside-card, .report-kpi-card, .report-insight-card {
  border-radius: 30px; border:1px solid #d9e8ee; box-shadow: 0 16px 36px rgba(11,47,67,.07); background: rgba(255,255,255,.88); backdrop-filter: blur(10px);
}
.report-hero-card {
  display:grid; grid-template-columns: 1.45fr .78fr; gap:18px; padding: 28px; position:relative; overflow:hidden;
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(240,251,245,.95) 58%, rgba(238,247,252,.96) 100%);
}
.report-hero-card::before { content:""; position:absolute; right:-70px; top:-90px; width:240px; height:240px; border-radius:50%; background: radial-gradient(circle, rgba(24,184,120,.12), transparent 68%); }
.report-hero-title { margin:8px 0 12px; font-size: clamp(2.2rem, 4.2vw, 4.4rem); line-height: .98; letter-spacing: -.05em; color:#072a42; }
.report-hero-text { color:#5b7685; font-size:1.07rem; line-height:1.65; max-width: 92%; }
.report-hero-pills { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.report-hero-side { display:grid; gap:14px; align-content:start; position:relative; z-index:1; }
.report-side-stat { padding:18px; border-radius:24px; background: rgba(255,255,255,.74); border:1px solid #deebf0; }
.report-side-stat small, .report-side-stat strong, .report-side-stat span { display:block; }
.report-side-stat small { color:#708896; font-size:.77rem; text-transform:uppercase; letter-spacing:.07em; font-weight:900; }
.report-side-stat strong { margin:10px 0 8px; color:#0b2f43; font-size: clamp(1.35rem, 2vw, 1.95rem); line-height:1.08; }
.report-side-stat span { color:#627b89; font-size:.89rem; line-height:1.5; }
.report-insight-grid { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:16px; }
.report-insight-card { padding:20px; background: linear-gradient(145deg, rgba(255,255,255,.95), rgba(248,252,255,.95)); }
.report-insight-card--positive { background: linear-gradient(145deg, rgba(244,255,249,.96), rgba(239,249,255,.96)); }
.report-insight-card--warning { background: linear-gradient(145deg, rgba(255,253,246,.96), rgba(255,249,235,.96)); }
.report-insight-kicker { display:inline-flex; margin-bottom:10px; padding:7px 10px; border-radius:999px; background:#eff8fc; color:#0b6a8f; text-transform:uppercase; font-size:.73rem; letter-spacing:.06em; font-weight:900; }
.report-insight-card h3 { margin:0 0 8px; color:#0b2f43; font-size:1.22rem; line-height:1.2; }
.report-insight-card p { margin:0; color:#5f7887; line-height:1.6; }
.report-warning-card { padding:24px; background: linear-gradient(145deg, rgba(255,252,245,.97), rgba(255,249,233,.96)); }
.report-warning-list { margin:14px 0 0; padding-left: 18px; color:#644b22; display:grid; gap:8px; }
.report-kpi-grid { display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap:14px; }
.report-kpi-card { padding:20px; }
.report-kpi-card span, .report-kpi-card strong { display:block; }
.report-kpi-card span { color:#708896; font-size:.78rem; text-transform:uppercase; letter-spacing:.07em; font-weight:900; }
.report-kpi-card strong { margin:12px 0 8px; color:#0b2f43; font-size: clamp(1.6rem, 2.3vw, 2.35rem); line-height:1.05; }
.report-kpi-card--accent strong { color:#d88909; }
.report-kpi-card--highlight { background: linear-gradient(145deg, rgba(241,255,247,.96), rgba(233,250,240,.96)); }
.report-kpi-card--highlight strong { color:#059669; }
.report-section-card { padding:24px; }
.report-comparison-hero { background: linear-gradient(145deg, rgba(248,253,255,.98), rgba(241,251,246,.96)); }
.report-duel-grid { display:grid; grid-template-columns: 1fr 220px 1fr; gap:16px; align-items:stretch; margin-top:18px; }
.report-duel-card { padding:20px; border-radius:24px; border:1px solid #dceaf0; background:#fff; }
.report-duel-card small, .report-duel-card strong, .report-duel-card span { display:block; }
.report-duel-card small { color:#738b98; font-size:.77rem; text-transform:uppercase; letter-spacing:.07em; font-weight:900; }
.report-duel-card h3 { margin:10px 0 5px; color:#0b2f43; font-size:1.35rem; }
.report-duel-card strong { margin:14px 0 8px; color:#0b2f43; font-size:1.9rem; line-height:1.05; }
.report-duel-card span { color:#607989; line-height:1.5; }
.report-duel-card--current { background: linear-gradient(145deg, #ffffff, #f8fbfd); }
.report-duel-card--best { background: linear-gradient(145deg, #f4fff8, #eefaf3); border-color:#cbe9d8; }
.report-duel-middle { padding:16px; border-radius:24px; display:grid; align-content:center; text-align:center; background: linear-gradient(180deg, #082f43, #11675f); color:#fff; box-shadow: 0 20px 36px rgba(8,47,67,.16); }
.report-duel-badge { display:inline-flex; justify-self:center; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.14); font-size:.78rem; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.report-duel-middle strong { display:block; margin:12px 0 10px; font-size:2rem; line-height:1; }
.report-duel-middle p { margin:0; color: rgba(255,255,255,.82); line-height:1.55; }
.report-diagnosis-grid { display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap:14px; margin-top:14px; }
.report-diagnosis-card { padding:20px; border-radius:22px; border:1px solid #deebf0; background: linear-gradient(145deg, #fff, #f8fbfd); }
.report-diagnosis-card.good { background: linear-gradient(145deg, #fff, #edfff8); border-color: #a7f3d0; }
.report-diagnosis-card.warning { background: linear-gradient(145deg, #fff, #fffbeb); border-color: #fde68a; }
.report-diagnosis-card.danger { background: linear-gradient(145deg, #fff, #fef2f2); border-color: #fecaca; }
.report-diagnosis-card h3 { margin:8px 0 8px; color:#0b2f43; font-size:1.2rem; line-height:1.3; }
.report-action-list { display:grid; gap:14px; margin-top:12px; }
.report-action-item { display:grid; grid-template-columns: 54px 1fr; gap:14px; align-items:start; padding:18px; border-radius:22px; border:1px solid #deebf0; background: linear-gradient(145deg, #fff, #f9fcff); }
.report-action-step { width:54px; height:54px; border-radius:18px; display:grid; place-items:center; color:#fff; font-weight:900; font-size:1.1rem; background: linear-gradient(135deg, #18b878, #0d729f); box-shadow: 0 14px 24px rgba(24,184,120,.18); }
.report-action-item h3 { margin:4px 0 8px; color:#0b2f43; }
.report-table-wrap { margin-top:14px; }
.report-modern-table thead th { position: sticky; top:0; background:#f4f8fb; }
.report-modern-table tbody tr:nth-child(even) { background: rgba(247,251,254,.7); }
.report-details-card summary { cursor:pointer; font-weight:900; color:#0b2f43; }
.report-aside-column { position: sticky; top: 110px; }
.report-aside-card { padding:24px; background: linear-gradient(145deg, rgba(255,255,255,.97), rgba(239,249,244,.95)); }
.report-aside-card h2 { margin:12px 0 10px; color:#0b2f43; font-size: clamp(1.55rem, 2vw, 2.25rem); line-height:1.18; }
.report-benefit-list li { align-items:flex-start; }
.report-benefit-list strong { margin-bottom:2px; }
@media (max-width: 1200px) {
  .report-modern-shell { grid-template-columns: 1fr; }
  .report-aside-column { position:relative; top:auto; }
  .report-duel-grid { grid-template-columns: 1fr; }
  .report-duel-middle { order:-1; }
}
@media (max-width: 980px) {
  .report-hero-card { grid-template-columns: 1fr; }
  .report-insight-grid, .report-kpi-grid, .report-diagnosis-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .report-hero-card, .report-section-card, .report-aside-card, .report-insight-card, .report-kpi-card { border-radius:24px; }
  .report-hero-card, .report-section-card, .report-aside-card { padding:18px; }
  .report-insight-grid, .report-kpi-grid, .report-diagnosis-grid { grid-template-columns: 1fr; }
  .report-hero-title { font-size: clamp(2rem, 10vw, 3rem); }
  .report-action-item { grid-template-columns: 1fr; }
}


/* --- v0.7.28 redesigned review / preview page --- */
.review-modern-page { padding-bottom: 34px; }
.review-topbar { margin-bottom: 12px; }
.review-hero { max-width: 980px; }
.review-form-shell { display:grid; gap:18px; }
.review-overview-card, .review-section-card, .review-advanced-card {
  border-radius: 30px;
  border:1px solid #d9e8ee;
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(10px);
  box-shadow: 0 16px 34px rgba(11,47,67,.06);
}
.review-overview-card, .review-section-card { padding: 24px; }
.review-overview-card { background: linear-gradient(145deg, rgba(255,255,255,.97), rgba(239,250,245,.94) 64%, rgba(241,248,252,.96) 100%); }
.review-overview-head { align-items:start; gap:14px; }
.review-confidence-card { min-width: 280px; max-width: 340px; padding:18px; border-radius:24px; border:1px solid #dceaf0; background: rgba(255,255,255,.78); }
.review-confidence-card strong, .review-confidence-card p { display:block; }
.review-confidence-card strong { margin:12px 0 8px; color:#0b2f43; font-size:1.24rem; line-height:1.2; }
.review-confidence-card p { margin:0; color:#5f7887; line-height:1.55; }
.review-stat-grid { display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap:14px; margin-top:18px; }
.review-stat-card { padding:18px; border-radius:22px; border:1px solid #dfebf0; background: rgba(255,255,255,.78); }
.review-stat-card span, .review-stat-card strong, .review-stat-card p { display:block; }
.review-stat-card span { color:#6e8897; font-size:.77rem; text-transform:uppercase; letter-spacing:.07em; font-weight:900; }
.review-stat-card strong { margin:10px 0 8px; color:#0b2f43; font-size:1.38rem; line-height:1.15; word-break: break-word; }
.review-stat-card p { margin:0; }
.review-key-grid label { gap:8px; }
.review-help-strip { margin-top:16px; padding:16px 18px; border-radius:22px; background: #f6fbfd; border:1px dashed #cfe1e9; display:grid; grid-template-columns: 1fr 1fr; gap:14px; }
.review-help-strip strong { display:block; color:#0b2f43; margin-bottom:6px; }
.review-help-strip p { margin:0; color:#5f7887; line-height:1.55; }
.review-advanced-card { overflow:hidden; }
.review-advanced-card summary { list-style:none; cursor:pointer; padding:20px 24px; font-weight:900; color:#0b2f43; background: linear-gradient(145deg, rgba(249,252,254,.96), rgba(241,248,252,.95)); display:flex; align-items:center; justify-content:space-between; }
.review-advanced-card summary::-webkit-details-marker { display:none; }
.review-advanced-card summary::after { content:'+'; width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:#eaf4f8; color:#0b2f43; font-size:1.15rem; font-weight:900; transition: transform .2s ease; }
.review-advanced-card[open] summary::after { content:'−'; transform: rotate(180deg); }
.review-advanced-inner { padding: 22px 24px 24px; border-top:1px solid #e6eef2; display:grid; gap:20px; }
.review-advanced-block { display:grid; gap:10px; }
.review-advanced-block h3, .review-tech-section h3 { margin:0; color:#0b2f43; }
.review-tech-section { display:grid; gap:10px; }
.review-tech-section .table-wrap { margin-top:8px; }
.review-reparse-notice { margin-bottom: 4px; }
.review-submit-bar { background: rgba(255,255,255,.86); border:1px solid #dce8ee; border-radius: 22px; padding: 14px; box-shadow: 0 10px 28px rgba(11,47,67,.06); }

.review-public-simple{
  max-width:420px;
  min-width:320px;
  background:linear-gradient(145deg, rgba(241,255,248,.96), rgba(255,255,255,.98));
  border-color:#cde9d9;
}
.review-public-simple > div{display:grid;gap:8px;}
.review-public-simple p{margin:0;color:#35596d;line-height:1.55;}
.review-public-simple small{color:#64748b;}
.review-submit-bar-enhanced{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.review-submit-copy{display:grid;gap:6px;}
.review-submit-copy strong{color:#0b2f43;font-size:1rem;}
.review-submit-copy p{margin:0;color:#5f7887;}
.review-submit-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end;}
.review-confirm-cta{
  position:relative;
  overflow:hidden;
  min-width:320px;
  padding:16px 26px;
  border:0;
  border-radius:999px;
  font-size:1rem;
  font-weight:900;
  letter-spacing:.01em;
  background:linear-gradient(90deg,#10b981 0%, #07a36d 45%, #14c38e 100%);
  box-shadow:0 18px 36px rgba(9,170,114,.28);
  animation:reviewPulse 2.1s ease-in-out infinite;
}
.review-confirm-cta span{position:relative;z-index:2;}
.review-confirm-cta::after{
  content:'';
  position:absolute;
  top:0;
  left:-35%;
  width:30%;
  height:100%;
  background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.45), rgba(255,255,255,0));
  transform:skewX(-18deg);
  animation:reviewShine 2.6s linear infinite;
}
.review-confirm-cta:hover{
  transform:translateY(-3px) scale(1.01);
  box-shadow:0 22px 42px rgba(9,170,114,.34);
}
@keyframes reviewPulse{
  0%,100%{box-shadow:0 18px 36px rgba(9,170,114,.24);}
  50%{box-shadow:0 22px 44px rgba(9,170,114,.38);}
}
@keyframes reviewShine{
  0%{left:-35%;}
  100%{left:120%;}
}
@media (max-width: 1100px) {
  .review-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .review-overview-head { flex-direction:column; }
  .review-confidence-card { max-width:none; min-width:0; width:100%; }
}
@media (max-width: 720px) {
  .review-overview-card, .review-section-card { padding:18px; }
  .review-overview-card, .review-section-card, .review-advanced-card { border-radius:24px; }
  .review-stat-grid, .review-help-strip { grid-template-columns: 1fr; }
  .review-advanced-card summary, .review-advanced-inner { padding-left:18px; padding-right:18px; }
  .review-submit-bar-enhanced{flex-direction:column;align-items:stretch;}
  .review-submit-actions{justify-content:stretch;}
  .review-submit-actions .button,.review-confirm-cta{width:100%;min-width:0;justify-content:center;text-align:center;}
}


/* --- v0.7.29 result report refreshed --- */
.report-v29-page { padding-bottom: 30px; }
.report-v29-hero-grid { display:grid; grid-template-columns: minmax(0, 1.35fr) 320px; gap:18px; align-items:stretch; margin-bottom:18px; }
.report-v29-overview-card,
.report-v29-save-card,
.report-v29-highlight-card,
.report-v29-box,
.report-v29-kpi-card,
.report-v29-duel-card,
.report-v29-duel-saving {
  border-radius: 28px;
  border:1px solid #d9e8ee;
  background: rgba(255,255,255,.9);
  box-shadow: 0 16px 36px rgba(11,47,67,.07);
  backdrop-filter: blur(10px);
}
.report-v29-overview-card {
  padding: 18px;
  background: linear-gradient(145deg, rgba(255,255,255,.97), rgba(241,252,246,.96) 58%, rgba(239,248,252,.96) 100%);
}
.report-v29-hero-main { display:grid; grid-template-columns: 1.15fr 240px .95fr; gap:18px; align-items:center; }
.report-v29-verdict { padding:8px 10px 8px 6px; }
.report-v29-verdict-head { display:grid; grid-template-columns: 62px 1fr; gap:16px; align-items:start; }
.report-v29-check {
  width:62px; height:62px; border-radius:50%; display:grid; place-items:center; font-size:2rem; font-weight:900; color:#fff;
  background: linear-gradient(135deg, #18b878, #0d8c77); box-shadow: 0 18px 28px rgba(24,184,120,.18);
}
.report-v29-verdict h1 { margin:0 0 12px; color:#092d46; font-size: clamp(2rem, 3.6vw, 3.3rem); line-height: .98; letter-spacing:-.04em; }
.report-v29-verdict p { margin:0; color:#607988; line-height:1.65; font-size:1.03rem; }
.report-v29-inline-btn { margin-top:20px; }
.report-v29-score-wrap { text-align:center; display:grid; justify-items:center; gap:10px; }
.report-v29-score-ring {
  --score-angle: calc(var(--score) * 3.6deg);
  width:180px; height:180px; padding:14px; border-radius:50%;
  background: conic-gradient(#18b878 0deg var(--score-angle), #dde8ee var(--score-angle) 360deg);
  display:grid; place-items:center; box-shadow: inset 0 0 0 1px rgba(255,255,255,.8), 0 18px 28px rgba(24,184,120,.12);
}
.report-v29-score-core { width:100%; height:100%; border-radius:50%; background:#fff; display:grid; align-content:center; justify-items:center; }
.report-v29-score-core strong { font-size:4rem; line-height:1; color:#0c8a69; font-weight:900; letter-spacing:-.05em; }
.report-v29-score-core span { color:#6a8390; font-size:1rem; }
.report-v29-score-wrap h3 { margin:0; color:#0b2f43; font-size:1.35rem; }
.report-v29-score-wrap p { margin:0; color:#627b89; line-height:1.55; max-width:240px; }
.report-v29-compare-card { padding:18px; background: rgba(255,255,255,.76); border-radius:24px; border:1px solid #dceaf0; }
.report-v29-saving-mini { padding:14px 16px; border-radius:18px; background: linear-gradient(145deg, #f7fffb, #eef9f3); margin-bottom:16px; }
.report-v29-saving-mini small,
.report-v29-saving-mini strong,
.report-v29-saving-mini span { display:block; }
.report-v29-saving-mini small { color:#708896; font-size:.74rem; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
.report-v29-saving-mini strong { margin:6px 0 4px; color:#10a16e; font-size:2rem; line-height:1.05; }
.report-v29-saving-mini span { color:#627b89; font-size:.9rem; }
.report-v29-bar-group h3 { margin:0 0 4px; color:#0b2f43; font-size:1.1rem; }
.report-v29-bar-group > small { display:block; margin-bottom:12px; color:#708896; }
.report-v29-bar-row { display:grid; grid-template-columns: 110px 1fr 66px; gap:10px; align-items:center; margin-bottom:12px; }
.report-v29-bar-row span { color:#244256; font-size:.92rem; }
.report-v29-bar-row strong { color:#537082; font-size:.88rem; text-align:right; }
.report-v29-bar-track { position:relative; height:10px; border-radius:999px; background:#e8eff4; overflow:hidden; }
.report-v29-bar-track i { display:block; height:100%; border-radius:999px; }
.report-v29-bar-row.current i { background: linear-gradient(90deg, #17b778, #26c486); }
.report-v29-bar-row.best i { background: linear-gradient(90deg, #73e0a6, #1fc46f); }
.report-v29-bar-row.market i { background: linear-gradient(90deg, #cfdbe4, #9cb2c2); }
.report-v29-hero-aside { display:grid; }
.report-v29-save-card { padding:24px; background: linear-gradient(160deg, rgba(238,251,244,.96), rgba(255,255,255,.98)); }
.report-v29-save-card h2 { margin:14px 0 10px; color:#0b2f43; font-size:2rem; line-height:1.08; }
.report-v29-save-card p { margin:0; color:#607988; line-height:1.6; }
.report-v29-checklist { list-style:none; margin:18px 0 22px; padding:0; display:grid; gap:10px; }
.report-v29-checklist li { position:relative; padding-left:24px; color:#35596d; }
.report-v29-checklist li::before { content:"✓"; position:absolute; left:0; top:0; color:#18b878; font-weight:900; }
.report-v29-highlight-grid { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:16px; margin-bottom:18px; }
.report-v29-highlight-card { padding:20px; background: rgba(255,255,255,.92); }
.report-v29-highlight-card.savings { background: linear-gradient(145deg, rgba(244,255,249,.98), rgba(248,252,255,.98)); }
.report-v29-highlight-card.usage { background: linear-gradient(145deg, rgba(249,247,255,.98), rgba(250,253,255,.98)); }
.report-v29-highlight-card.renewal { background: linear-gradient(145deg, rgba(255,251,244,.98), rgba(255,255,255,.98)); }
.report-v29-highlight-tag { display:inline-flex; padding:7px 11px; border-radius:999px; background:#eff7fb; color:#0e7a80; font-size:.72rem; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
.report-v29-highlight-card h3 { margin:12px 0 8px; color:#0b2f43; font-size:1.25rem; line-height:1.28; }
.report-v29-highlight-card p { margin:0; color:#627b89; line-height:1.58; }
.report-v29-content-grid { display:grid; grid-template-columns: minmax(0, 1.25fr) 320px; gap:18px; align-items:start; }
.report-v29-main-column { display:grid; gap:18px; }
.report-v29-side-column { display:grid; gap:18px; position:sticky; top:110px; }
.report-v29-box { padding:24px; background: rgba(255,255,255,.9); }
.report-v29-duel-shell { padding:24px; border-radius:30px; border:1px solid #d9e8ee; background: linear-gradient(145deg, rgba(248,253,255,.98), rgba(241,251,246,.96)); box-shadow: 0 16px 36px rgba(11,47,67,.07); }
.report-v29-duel-grid { display:grid; grid-template-columns: 1fr 170px 1fr; gap:16px; align-items:center; margin-top:18px; }
.report-v29-duel-card { padding:22px; background: rgba(255,255,255,.95); }
.report-v29-duel-card.current { border-color:#dceaf0; }
.report-v29-duel-card.best { background: linear-gradient(145deg, rgba(243,255,248,.96), rgba(255,255,255,.98)); border-color:#cde9d9; }
.report-v29-duel-brand-row { margin-top:16px; }
.report-v29-company-badge { display:inline-flex; align-items:center; gap:10px; padding:8px 14px 8px 8px; border-radius:999px; border:1px solid #d8e5ec; background:#f7fbfd; }
.report-v29-company-mark { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:#e6eff5; color:#0b4263; font-size:.82rem; font-weight:900; letter-spacing:.04em; }
.report-v29-company-name { color:#0b2f43; font-size:.88rem; font-weight:800; line-height:1; }
.report-v29-company-badge.endesa { background:#f2f7fb; border-color:#d3e4f3; }
.report-v29-company-badge.endesa .report-v29-company-mark { background:#e2eef8; color:#0b5d9a; }
.report-v29-company-badge.iberdrola { background:#f2fbf5; border-color:#d7eedf; }
.report-v29-company-badge.iberdrola .report-v29-company-mark { background:#dff5e8; color:#167a4b; }
.report-v29-company-badge.naturgy { background:#fef6ed; border-color:#f2dfc6; }
.report-v29-company-badge.naturgy .report-v29-company-mark { background:#ffead5; color:#c26a13; }
.report-v29-company-badge.octopus { background:#f5efff; border-color:#e1d5fb; }
.report-v29-company-badge.octopus .report-v29-company-mark { background:#eadcff; color:#6b2ec7; }
.report-v29-company-badge.repsol { background:#fff5ed; border-color:#f5dfca; }
.report-v29-company-badge.repsol .report-v29-company-mark { background:#ffe7d4; color:#d16a17; }
.report-v29-company-badge.totalenergies { background:#fff4f7; border-color:#f2d6e1; }
.report-v29-company-badge.totalenergies .report-v29-company-mark { background:#ffe1eb; color:#bf3f69; }
.report-v29-company-badge.holaluz { background:#fff9e8; border-color:#f4e3ae; }
.report-v29-company-badge.holaluz .report-v29-company-mark { background:#ffefbf; color:#a37700; }
.report-v29-company-badge.lucera { background:#eef7ff; border-color:#d5e8f8; }
.report-v29-company-badge.lucera .report-v29-company-mark { background:#deefff; color:#1764a0; }
.report-v29-company-badge.generic { background:#f7fbfd; border-color:#d8e5ec; }
.report-v29-company-badge.generic .report-v29-company-mark { background:#e6eff5; color:#0b4263; }
.report-v29-duel-card h3 { margin:14px 0 10px; color:#0b2f43; font-size:1.45rem; line-height:1.2; }
.report-v29-duel-card p { margin:0; color:#607988; line-height:1.55; min-height:72px; }
.report-v29-duel-metric { margin-top:18px; }
.report-v29-duel-metric strong, .report-v29-duel-metric span { display:block; }
.report-v29-duel-metric strong { color:#0b2f43; font-size:2rem; line-height:1.02; }
.report-v29-duel-metric span { color:#607988; margin-top:6px; }
.report-v29-duel-foot { margin-top:18px; display:inline-flex; padding:8px 12px; border-radius:999px; background:#eef5fb; color:#0b4d70; font-size:.84rem; font-weight:700; }
.report-v29-duel-center { display:grid; gap:10px; align-items:center; justify-items:center; }
.report-v29-duel-divider { width:100%; height:1px; border-top:2px dotted #cddae3; }
.report-v29-duel-saving { width:100%; text-align:center; padding:18px 10px; background: linear-gradient(160deg, #f5fffa, #ffffff); }
.report-v29-duel-saving strong { display:block; color:#13a970; font-size:2.3rem; line-height:1; }
.report-v29-duel-saving span { display:block; color:#13a970; font-size:1.05rem; font-weight:900; }
.report-v29-duel-saving small { display:block; margin-top:4px; color:#607988; }
.report-v29-kpi-grid { display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap:14px; }
.report-v29-kpi-card { padding:20px; }
.report-v29-kpi-card span,
.report-v29-kpi-card strong,
.report-v29-kpi-card p { display:block; }
.report-v29-kpi-card span { color:#708896; font-size:.78rem; text-transform:uppercase; letter-spacing:.07em; font-weight:900; }
.report-v29-kpi-card strong { margin:12px 0 8px; color:#0b2f43; font-size: clamp(1.65rem, 2.2vw, 2.3rem); line-height:1.02; }
.report-v29-kpi-card p { margin:0; color:#627b89; }
.report-v29-kpi-card.accent strong { color:#db8a06; }
.report-v29-kpi-card.success { background: linear-gradient(145deg, rgba(241,255,247,.96), rgba(233,250,240,.96)); }
.report-v29-kpi-card.success strong { color:#059669; }
.report-v29-warning-box { background: linear-gradient(145deg, rgba(255,252,245,.97), rgba(255,249,233,.96)); }
.report-v29-diagnosis-grid { display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap:14px; margin-top:14px; }
.report-v29-diagnosis-card { padding:20px; border-radius:22px; border:1px solid #deebf0; background: linear-gradient(145deg, #fff, #f8fbfd); }
.report-v29-diagnosis-card.good { background: linear-gradient(145deg, #fff, #edfff8); border-color: #a7f3d0; }
.report-v29-diagnosis-card.warning { background: linear-gradient(145deg, #fff, #fffbeb); border-color: #fde68a; }
.report-v29-diagnosis-card.danger { background: linear-gradient(145deg, #fff, #fef2f2); border-color: #fecaca; }
.report-v29-diagnosis-card h3 { margin:8px 0; color:#0b2f43; font-size:1.18rem; line-height:1.3; }
.report-v29-diagnosis-card p { margin:0; color:#607988; line-height:1.6; }
.report-v29-step-list { display:grid; gap:12px; margin-top:14px; }
.report-v29-step-item { display:grid; grid-template-columns: 48px 1fr; gap:12px; align-items:start; padding:16px; border-radius:22px; border:1px solid #deebf0; background: linear-gradient(145deg, #fff, #f8fbfd); }
.report-v29-step-num { width:48px; height:48px; border-radius:16px; display:grid; place-items:center; color:#fff; font-weight:900; background: linear-gradient(135deg, #18b878, #0d729f); box-shadow: 0 14px 24px rgba(24,184,120,.18); }
.report-v29-step-item h3 { margin:4px 0 6px; color:#0b2f43; font-size:1.05rem; }
.report-v29-step-item p { margin:0; color:#607988; line-height:1.55; }
.report-v29-actions-list { list-style:none; margin:14px 0 0; padding:0; display:grid; gap:14px; }
.report-v29-actions-list li { padding-left:0; display:grid; gap:4px; }
.report-v29-actions-list strong { color:#0b2f43; }
.report-v29-actions-list span { color:#607988; }
.report-v29-privacy-box { background: linear-gradient(145deg, rgba(245,251,247,.98), rgba(255,255,255,.98)); }
.report-v29-privacy-box strong { display:block; margin-bottom:8px; color:#0b2f43; }
.report-v29-privacy-box p { margin:0; color:#607988; }

@media (max-width: 1260px) {
  .report-v29-hero-grid,
  .report-v29-content-grid { grid-template-columns: 1fr; }
  .report-v29-side-column { position:relative; top:auto; }
}
@media (max-width: 1080px) {
  .report-v29-hero-main { grid-template-columns: 1fr; }
  .report-v29-highlight-grid,
  .report-v29-kpi-grid,
  .report-v29-diagnosis-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-v29-duel-grid { grid-template-columns: 1fr; }
  .report-v29-duel-center { order:-1; }
}
@media (max-width: 720px) {
  .report-v29-highlight-grid,
  .report-v29-kpi-grid,
  .report-v29-diagnosis-grid { grid-template-columns: 1fr; }
  .report-v29-overview-card,
  .report-v29-save-card,
  .report-v29-box,
  .report-v29-highlight-card,
  .report-v29-kpi-card,
  .report-v29-duel-shell { border-radius:24px; }
  .report-v29-overview-card,
  .report-v29-save-card,
  .report-v29-box,
  .report-v29-duel-shell { padding:18px; }
  .report-v29-bar-row { grid-template-columns: 1fr; }
  .report-v29-bar-row strong { text-align:left; }
  .report-v29-verdict-head { grid-template-columns: 1fr; }
  .report-v29-score-ring { width:160px; height:160px; }
}

/* --- v0.7.30 same-period, monthly and annual comparison --- */
.report-v29-cost-stack { display:grid; gap:14px; margin-top:18px; }
.report-v29-cost-primary { padding:15px 16px; border-radius:18px; background:rgba(246,250,252,.94); border:1px solid #e0ebf0; }
.report-v29-duel-card.best .report-v29-cost-primary { background:rgba(238,251,244,.94); border-color:#d3eadc; }
.report-v29-cost-primary small,
.report-v29-cost-primary strong,
.report-v29-cost-primary span,
.report-v29-cost-row small,
.report-v29-cost-row strong { display:block; }
.report-v29-cost-primary small,
.report-v29-cost-row small { color:#718996; font-size:.72rem; font-weight:900; text-transform:uppercase; letter-spacing:.055em; }
.report-v29-cost-primary strong { margin:7px 0 5px; color:#0b2f43; font-size:2rem; line-height:1; }
.report-v29-cost-primary span { color:#607988; font-size:.88rem; }
.report-v29-cost-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.report-v29-cost-row > div { padding:13px 14px; border-radius:16px; background:#fff; border:1px solid #e1ebf0; }
.report-v29-cost-row strong { margin-top:6px; color:#0b2f43; font-size:1rem; line-height:1.25; }
.report-v29-saving-breakdown { display:grid; gap:4px; margin-top:10px; padding-top:10px; border-top:1px solid #dcebe3; }
.report-v29-saving-breakdown b { display:block; color:#0d805d; font-size:.82rem; }
@media (max-width:720px){
  .report-v29-cost-row{grid-template-columns:1fr}
}

/* --- v0.7.31 clearer comparison summary --- */
.report-v30-summary-shell {
  padding: 24px;
  border-radius: 30px;
  border: 1px solid #d9e8ee;
  background: linear-gradient(145deg, rgba(248,253,255,.98), rgba(241,251,246,.96));
  box-shadow: 0 16px 36px rgba(11,47,67,.07);
}
.report-v30-summary-grid {
  display: grid;
  grid-template-columns: 1fr 1fr .85fr;
  gap: 16px;
  margin-top: 16px;
}
.report-v30-summary-card {
  border-radius: 26px;
  border: 1px solid #d9e8ee;
  background: rgba(255,255,255,.95);
  box-shadow: 0 14px 32px rgba(11,47,67,.06);
  padding: 22px;
}
.report-v30-summary-card.current {
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(245,250,255,.98));
}
.report-v30-summary-card.best {
  background: linear-gradient(145deg, rgba(244,255,248,.98), rgba(255,255,255,.98));
  border-color: #cde9d9;
}
.report-v30-summary-card.savings {
  background: linear-gradient(145deg, rgba(241,255,247,.98), rgba(255,255,255,.98));
}
.report-v30-summary-head h3 {
  margin: 12px 0 6px;
  color: #0b2f43;
  font-size: 1.55rem;
  line-height: 1.15;
}
.report-v30-summary-head p {
  margin: 0;
  color: #607988;
  line-height: 1.55;
}
.report-v30-metric-list {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}
.report-v30-metric-item {
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid #deebf0;
  background: rgba(255,255,255,.92);
}
.report-v30-metric-item span,
.report-v30-metric-item strong,
.report-v30-metric-item small {
  display: block;
}
.report-v30-metric-item span {
  color: #708896;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .07em;
  font-weight: 900;
}
.report-v30-metric-item strong {
  margin-top: 7px;
  color: #0b2f43;
  font-size: 1.95rem;
  line-height: 1.03;
  letter-spacing: -.03em;
}
.report-v30-metric-item small {
  margin-top: 6px;
  color: #627b89;
  font-size: .95rem;
}
.report-v30-summary-card.best .report-v30-metric-item:first-child {
  background: linear-gradient(145deg, rgba(238,251,244,.96), rgba(255,255,255,.98));
  border-color: #b8e7cc;
}
.report-v30-savings-stack {
  margin-top: 18px;
  display: grid;
  gap: 14px;
}
.report-v30-savings-main {
  padding: 20px;
  border-radius: 22px;
  background: linear-gradient(145deg, #f6fffa, #ffffff);
  border: 1px solid #cde9d9;
  text-align: center;
}
.report-v30-savings-main span,
.report-v30-savings-main strong {
  display: block;
}
.report-v30-savings-main span {
  color: #607988;
  font-weight: 700;
}
.report-v30-savings-main strong {
  margin-top: 8px;
  color: #10a16e;
  font-size: 2.5rem;
  line-height: 1;
}
.report-v30-savings-grid {
  display: grid;
  gap: 12px;
}
.report-v30-savings-grid div {
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.92);
  border: 1px solid #deebf0;
}
.report-v30-savings-grid span,
.report-v30-savings-grid strong {
  display: block;
}
.report-v30-savings-grid span {
  color: #708896;
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 900;
}
.report-v30-savings-grid strong {
  margin-top: 8px;
  color: #0b2f43;
  font-size: 1.5rem;
  line-height: 1.1;
}

@media (max-width: 1180px) {
  .report-v30-summary-grid { grid-template-columns: 1fr; }
}

/* --- v0.7.32 savings recommendation page --- */
.portal-kpi-link {
  text-decoration: none;
  color: inherit;
  position: relative;
}
.portal-kpi-link:hover {
  border-color: #b9dfcf;
}
.portal-kpi-action {
  display: inline-flex;
  margin-top: 8px;
  color: #0a8f66;
  font-weight: 900;
  font-size: .86rem;
}
.savings-reco-hero {
  background: linear-gradient(135deg, rgba(9,47,66,.97), rgba(17,103,96,.95) 58%, rgba(24,184,120,.9) 100%);
}
.savings-reco-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 210px minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
  margin-bottom: 18px;
}
.savings-reco-card,
.savings-reco-arrow-card {
  border-radius: 30px;
  border: 1px solid #d9e8ee;
  box-shadow: 0 18px 42px rgba(11,47,67,.08);
}
.savings-reco-card {
  padding: 24px;
  background: rgba(255,255,255,.9);
}
.savings-reco-card.current {
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(243,249,253,.98));
}
.savings-reco-card.recommended {
  background: linear-gradient(145deg, rgba(241,255,247,.98), rgba(255,255,255,.98));
  border-color: #c7e8d6;
}
.savings-reco-card h2 {
  margin: 14px 0 6px;
  color: #0b2f43;
  font-size: 2rem;
  line-height: 1.05;
}
.savings-reco-card > p {
  margin: 0;
  color: #607988;
  font-size: 1.05rem;
}
.savings-reco-number-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 22px;
}
.savings-reco-number-row > div,
.savings-reco-period {
  padding: 16px;
  border-radius: 20px;
  border: 1px solid #deebf0;
  background: rgba(255,255,255,.9);
}
.savings-reco-number-row small,
.savings-reco-number-row strong,
.savings-reco-period span,
.savings-reco-period strong {
  display: block;
}
.savings-reco-number-row small,
.savings-reco-period span {
  color: #708896;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 900;
}
.savings-reco-number-row strong {
  margin-top: 8px;
  color: #0b2f43;
  font-size: 1.35rem;
  line-height: 1.1;
}
.savings-reco-period {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
}
.savings-reco-period strong {
  color: #0b2f43;
  font-size: 1.25rem;
}
.savings-reco-arrow-card {
  align-self: center;
  padding: 24px 16px;
  text-align: center;
  background: linear-gradient(160deg, rgba(244,255,249,.98), rgba(255,255,255,.98));
}
.savings-reco-arrow {
  width: 58px;
  height: 58px;
  margin: 0 auto 14px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, #18b878, #0d729f);
  font-size: 1.8rem;
  font-weight: 900;
  box-shadow: 0 14px 24px rgba(24,184,120,.18);
}
.savings-reco-arrow-card small,
.savings-reco-arrow-card strong,
.savings-reco-arrow-card span {
  display: block;
}
.savings-reco-arrow-card small {
  color: #708896;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.savings-reco-arrow-card strong {
  margin-top: 10px;
  color: #0a9d67;
  font-size: 2rem;
  line-height: 1;
}
.savings-reco-arrow-card span {
  margin-top: 8px;
  color: #607988;
  font-weight: 800;
}
.savings-reco-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) 360px;
  gap: 18px;
}
.savings-reco-main-card,
.savings-reco-check-card,
.savings-reco-empty {
  padding: 26px;
}
.savings-reco-main-card h2,
.savings-reco-check-card h2,
.savings-reco-empty h2 {
  margin: 8px 0 12px;
  color: #0b2f43;
}
.savings-reco-main-card .lead {
  color: #567384;
  line-height: 1.65;
}
.savings-reco-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 22px 0;
}
.savings-reco-detail-grid > div {
  padding: 16px 18px;
  border-radius: 20px;
  border: 1px solid #deebf0;
  background: linear-gradient(145deg, #fff, #f7fbfd);
}
.savings-reco-detail-grid span,
.savings-reco-detail-grid strong {
  display: block;
}
.savings-reco-detail-grid span {
  color: #708896;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 900;
}
.savings-reco-detail-grid strong {
  margin-top: 8px;
  color: #0b2f43;
  font-size: 1.25rem;
}
.savings-reco-warning {
  margin: 18px 0;
  background: #fff8e8;
  border-color: #f3d58d;
}
.savings-reco-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 18px;
}
.savings-reco-primary-link {
  box-shadow: 0 14px 24px rgba(24,184,120,.18);
}
.button.disabled {
  opacity: .55;
  pointer-events: none;
}
.savings-reco-checklist {
  margin: 18px 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 12px;
  counter-reset: savingscheck;
}
.savings-reco-checklist li {
  counter-increment: savingscheck;
  display: grid;
  grid-template-columns: 42px 1fr;
  column-gap: 12px;
  padding: 14px;
  border-radius: 18px;
  background: linear-gradient(145deg, #fff, #f7fbfd);
  border: 1px solid #deebf0;
}
.savings-reco-checklist li::before {
  content: counter(savingscheck);
  grid-row: 1 / span 2;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  color: #fff;
  font-weight: 900;
  background: linear-gradient(135deg, #18b878, #0d729f);
}
.savings-reco-checklist strong,
.savings-reco-checklist span {
  display: block;
}
.savings-reco-checklist strong {
  color: #0b2f43;
}
.savings-reco-checklist span {
  margin-top: 4px;
  color: #607988;
  line-height: 1.45;
}
.savings-reco-empty {
  text-align: center;
  max-width: 760px;
  margin: 0 auto;
}
.savings-reco-empty .round-icon {
  margin: 0 auto 14px;
}

@media (max-width: 1150px) {
  .savings-reco-summary,
  .savings-reco-grid {
    grid-template-columns: 1fr;
  }
  .savings-reco-arrow-card {
    width: min(100%, 360px);
    justify-self: center;
  }
}
@media (max-width: 700px) {
  .savings-reco-number-row,
  .savings-reco-detail-grid {
    grid-template-columns: 1fr;
  }
  .savings-reco-card,
  .savings-reco-arrow-card,
  .savings-reco-main-card,
  .savings-reco-check-card {
    border-radius: 24px;
  }
  .savings-reco-period,
  .savings-reco-actions {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* History page redesign */
.history-hero {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1.5rem;
}

.history-hero-main {
  max-width: 820px;
}

.history-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: flex-end;
}

.hero-inline-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1rem;
}

.hero-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(16, 185, 129, 0.22);
  background: rgba(255,255,255,0.7);
  color: var(--navy);
  font-weight: 700;
}

.history-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.25rem;
}

.mini-stat-card {
  background: rgba(255,255,255,0.88);
  border: 1px solid rgba(152, 187, 214, 0.45);
  border-radius: 1.6rem;
  padding: 1.35rem;
  box-shadow: 0 12px 28px rgba(5, 32, 56, 0.06);
}

.mini-stat-card.emphasize {
  background: linear-gradient(180deg, rgba(240, 253, 250, 0.98), rgba(255,255,255,0.94));
  border-color: rgba(16, 185, 129, 0.26);
}

.mini-stat-label {
  display: block;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--muted);
  font-weight: 800;
  margin-bottom: 0.55rem;
}

.mini-stat-card strong {
  display: block;
  font-size: clamp(1.65rem, 3vw, 2.4rem);
  color: var(--navy);
  line-height: 1.05;
}

.mini-stat-card p {
  margin: 0.45rem 0 0;
  color: var(--muted);
}

.history-list {
  display: grid;
  gap: 1.25rem;
  margin-top: 1.4rem;
}

.invoice-showcase {
  padding: 1.6rem;
}

.invoice-showcase-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: 1.2rem;
}

.invoice-badges,
.invoice-showcase-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.eyebrow-badge,
.soft-badge,
.center-pill,
.comparison-kicker {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 0.5rem 0.85rem;
  border-radius: 999px;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.eyebrow-badge,
.comparison-kicker,
.center-pill {
  background: rgba(16, 185, 129, 0.12);
  border: 1px solid rgba(16, 185, 129, 0.28);
  color: #0c8a64;
}

.soft-badge {
  background: rgba(236, 244, 247, 0.9);
  border: 1px solid rgba(160, 184, 198, 0.32);
  color: var(--navy);
}

.invoice-showcase h2 {
  margin: 0.65rem 0 0.3rem;
  font-size: clamp(1.55rem, 3vw, 2.1rem);
}

.invoice-subtitle {
  margin: 0;
  color: var(--muted);
}

.invoice-comparison-strip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px minmax(0, 1fr);
  gap: 1rem;
  align-items: stretch;
}

.comparison-panel {
  border-radius: 1.5rem;
  border: 1px solid rgba(160, 184, 198, 0.28);
  background: linear-gradient(180deg, rgba(255,255,255,0.94), rgba(245, 250, 248, 0.92));
  padding: 1.25rem;
}

.comparison-panel.best.saving {
  background: linear-gradient(180deg, rgba(240, 253, 250, 0.98), rgba(255,255,255,0.95));
  border-color: rgba(16, 185, 129, 0.24);
}

.comparison-panel h3 {
  margin: 0.8rem 0 0.35rem;
  font-size: clamp(1.4rem, 2.8vw, 2rem);
  line-height: 1.05;
}

.comparison-panel p {
  margin: 0;
  color: var(--muted);
}

.comparison-panel ul {
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
  display: grid;
  gap: 0.65rem;
}

.comparison-panel li {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding-top: 0.65rem;
  border-top: 1px dashed rgba(160, 184, 198, 0.45);
}

.comparison-panel li strong {
  color: var(--navy);
  font-size: 1.15rem;
}

.comparison-panel li span {
  color: var(--muted);
  font-size: 0.95rem;
}

.comparison-center {
  border: 1px dashed rgba(160, 184, 198, 0.7);
  border-radius: 1.5rem;
  background: rgba(255,255,255,0.82);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex-direction: column;
  padding: 1.1rem;
  gap: 0.5rem;
}

.comparison-center strong {
  font-size: clamp(1.6rem, 3vw, 2.35rem);
  color: #0c8a64;
  line-height: 1;
}

.comparison-center span:last-child {
  color: var(--muted);
  font-weight: 700;
}

.invoice-details {
  margin-top: 1.15rem;
  border-top: 1px solid rgba(160, 184, 198, 0.28);
  padding-top: 1rem;
}

.invoice-details > summary {
  cursor: pointer;
  list-style: none;
  font-weight: 800;
  color: var(--navy);
}

.invoice-details > summary::-webkit-details-marker {
  display: none;
}

.invoice-details > summary::after {
  content: '+';
  float: right;
  font-size: 1.3rem;
  line-height: 1;
  color: #0c8a64;
}

.invoice-details[open] > summary::after {
  content: '−';
}

.invoice-detail-grid {
  margin-top: 1rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.invoice-detail-box {
  border-radius: 1.25rem;
  border: 1px solid rgba(160, 184, 198, 0.25);
  background: rgba(247, 251, 249, 0.82);
  padding: 1rem;
}

.invoice-detail-box h4 {
  margin: 0 0 0.7rem;
  color: var(--navy);
  font-size: 1rem;
}

.invoice-detail-box dl {
  margin: 0;
}

.invoice-detail-box dl div {
  display: grid;
  gap: 0.16rem;
  padding: 0.48rem 0;
  border-top: 1px dashed rgba(160, 184, 198, 0.38);
}

.invoice-detail-box dl div:first-child {
  border-top: 0;
  padding-top: 0;
}

.invoice-detail-box dt {
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--muted);
  font-weight: 800;
}

.invoice-detail-box dd {
  margin: 0;
  color: var(--navy);
  font-weight: 700;
}

.empty-state {
  text-align: center;
  padding: 2.4rem;
}

@media (max-width: 1100px) {
  .history-summary-grid,
  .invoice-detail-grid,
  .invoice-comparison-strip {
    grid-template-columns: 1fr 1fr;
  }

  .comparison-center {
    grid-column: 1 / -1;
  }
}

@media (max-width: 820px) {
  .history-hero,
  .invoice-showcase-head {
    flex-direction: column;
    align-items: stretch;
  }

  .history-summary-grid,
  .invoice-detail-grid,
  .invoice-comparison-strip {
    grid-template-columns: 1fr;
  }

  .invoice-showcase-actions,
  .history-hero-actions {
    justify-content: flex-start;
  }
}

/* --- v0.7.35 guest analysis limit --- */
.guest-limit-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 15% 15%, rgba(24,184,120,.12), transparent 28%),
    radial-gradient(circle at 90% 10%, rgba(25,119,168,.10), transparent 25%),
    linear-gradient(180deg, #f7fbfd 0%, #eef8f3 100%);
}
.guest-limit-container { padding-top: 42px; padding-bottom: 42px; }
.guest-limit-card {
  display:grid;
  grid-template-columns: 310px minmax(0, 1fr);
  gap: 36px;
  align-items:center;
  padding: clamp(24px, 4vw, 48px);
  border-radius: 36px;
  border:1px solid #d8e8ee;
  background: rgba(255,255,255,.9);
  box-shadow: 0 28px 70px rgba(11,47,67,.12);
  backdrop-filter: blur(14px);
  overflow:hidden;
  position:relative;
}
.guest-limit-card::after {
  content:"";
  position:absolute;
  right:-90px;
  bottom:-110px;
  width:300px;
  height:300px;
  border-radius:50%;
  background: radial-gradient(circle, rgba(24,184,120,.14), transparent 68%);
}
.guest-limit-visual {
  min-height:310px;
  border-radius:30px;
  display:grid;
  place-items:center;
  position:relative;
  background: linear-gradient(145deg, #eafaf2, #eef7fb);
  border:1px solid #d7e9e1;
  overflow:hidden;
}
.guest-limit-calendar {
  width:160px;
  height:160px;
  border-radius:36px;
  display:grid;
  align-content:center;
  justify-items:center;
  color:#fff;
  background: linear-gradient(145deg, #18b878, #0f7e93);
  box-shadow: 0 24px 40px rgba(16,132,111,.25);
  position:relative;
  z-index:2;
}
.guest-limit-calendar::before {
  content:"";
  position:absolute;
  left:20px;
  right:20px;
  top:24px;
  height:8px;
  border-radius:999px;
  background:rgba(255,255,255,.45);
}
.guest-limit-calendar span { font-size:4.6rem; font-weight:900; line-height:.9; }
.guest-limit-calendar small { margin-top:8px; font-size:1rem; text-transform:uppercase; letter-spacing:.12em; font-weight:900; }
.guest-limit-orbit { position:absolute; border-radius:50%; border:1px solid rgba(16,132,111,.18); }
.guest-limit-orbit.one { width:245px; height:245px; }
.guest-limit-orbit.two { width:330px; height:330px; }
.guest-limit-copy { position:relative; z-index:2; }
.guest-limit-copy h1 { margin:8px 0 14px; color:#0b2f43; font-size:clamp(2.1rem, 4vw, 4.4rem); line-height:1; letter-spacing:-.045em; }
.guest-limit-copy .lead { max-width:780px; color:#587484; line-height:1.65; }
.guest-limit-date {
  margin:22px 0;
  padding:18px 20px;
  border-radius:22px;
  background: linear-gradient(145deg, #f4fff8, #f7fbfd);
  border:1px solid #cfe8da;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.guest-limit-date span { color:#607988; font-weight:800; }
.guest-limit-date strong { color:#0b8c64; font-size:1.35rem; }
.guest-limit-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.guest-limit-benefits { margin-top:24px; display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; }
.guest-limit-benefits div { padding:16px; border-radius:18px; border:1px solid #deebf0; background:#fbfdfe; }
.guest-limit-benefits strong, .guest-limit-benefits span { display:block; }
.guest-limit-benefits strong { color:#0b2f43; margin-bottom:6px; }
.guest-limit-benefits span { color:#607988; line-height:1.45; font-size:.92rem; }
.guest-limit-note { margin:18px 0 0; color:#718997; font-size:.9rem; }
@media (max-width: 900px) {
  .guest-limit-card { grid-template-columns:1fr; }
  .guest-limit-visual { min-height:220px; }
  .guest-limit-benefits { grid-template-columns:1fr; }
}

/* --- v0.8.2 simple / advanced comparator prototype --- */
.comparison-mode-shell {
  margin: 26px 0;
  padding: clamp(22px, 3vw, 34px);
  border-radius: 30px;
  border: 1px solid #d9e8ee;
  background:
    radial-gradient(circle at 92% 5%, rgba(23, 184, 120, .10), transparent 28%),
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(245,250,252,.98));
  box-shadow: 0 22px 55px rgba(12, 47, 67, .09);
}
.comparison-mode-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}
.comparison-mode-head h2 { margin: 3px 0 8px; color: #0b2f43; font-size: clamp(1.55rem, 3vw, 2.35rem); }
.comparison-mode-head p:not(.eyebrow) { margin: 0; color: #607b8b; max-width: 760px; line-height: 1.55; }
.comparison-accuracy-card {
  min-width: 265px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 22px;
  border: 1px solid #d9e7ed;
  background: #fff;
}
.comparison-accuracy-card.good { border-color: #bfe5d3; background: #f6fff9; }
.comparison-accuracy-card.warning { border-color: #f0ddb2; background: #fffaf0; }
.comparison-accuracy-card span,
.comparison-accuracy-card b,
.comparison-accuracy-card small { display: block; }
.comparison-accuracy-card span { color: #728997; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; font-weight: 800; }
.comparison-accuracy-card b { color: #0b2f43; margin: 3px 0; }
.comparison-accuracy-card small { color: #607b8b; }
.comparison-accuracy-ring {
  --accuracy: 70;
  width: 66px;
  height: 66px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  background: conic-gradient(#18b878 calc(var(--accuracy) * 1%), #e4edf1 0);
  position: relative;
}
.comparison-accuracy-ring::after {
  content: "";
  position: absolute;
  inset: 7px;
  border-radius: 50%;
  background: #fff;
}
.comparison-accuracy-ring strong { position: relative; z-index: 1; color: #0b7257; font-size: .96rem; }
.comparison-mode-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 24px 0 16px;
}
.comparison-mode-tab {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 18px;
  background: #f7fafb;
  border: 1px solid #e0eaee;
  color: #6d8390;
}
.comparison-mode-tab > span {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-weight: 900;
  background: #e8eff2;
}
.comparison-mode-tab strong,
.comparison-mode-tab small { display: block; }
.comparison-mode-tab small { margin-top: 2px; }
.comparison-mode-tab.active {
  border-color: #8bd7b7;
  background: linear-gradient(145deg, #f2fff8, #f5fbff);
  color: #0b4c3c;
  box-shadow: 0 10px 24px rgba(16, 132, 104, .09);
}
.comparison-mode-tab.active > span { background: #18b878; color: #fff; }
.simple-comparator-note,
.advanced-result-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 22px;
  padding: 20px;
  border-radius: 22px;
  border: 1px solid #dbe8ed;
  background: rgba(255,255,255,.88);
}
.simple-comparator-note h3,
.advanced-result-summary h3 { margin: 8px 0 6px; color: #0b2f43; }
.simple-comparator-note p { margin: 0; color: #617b89; max-width: 760px; line-height: 1.5; }
.advanced-result-summary ul { margin: 10px 0 0; padding-left: 20px; color: #587482; }
.advanced-result-summary li + li { margin-top: 5px; }
.advanced-family-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}
.advanced-family-card {
  display: flex;
  gap: 12px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid #e0e9ed;
  background: #fff;
}
.advanced-family-dot { width: 11px; height: 11px; border-radius: 50%; margin-top: 5px; background: #a9bac2; flex: 0 0 auto; }
.advanced-family-card.ready { border-color: #bfe4d2; background: #f7fff9; }
.advanced-family-card.ready .advanced-family-dot { background: #18b878; }
.advanced-family-card.pending { border-color: #efdcae; background: #fffbf2; }
.advanced-family-card.pending .advanced-family-dot { background: #d99a20; }
.advanced-family-card strong,
.advanced-family-card span { display: block; }
.advanced-family-card strong { color: #0b2f43; }
.advanced-family-card span { color: #718793; margin-top: 3px; font-size: .82rem; font-weight: 800; }
.advanced-family-card p { color: #607987; font-size: .9rem; line-height: 1.45; margin: 8px 0 0; }
.advanced-comparator-panel {
  margin-top: 18px;
  border-radius: 22px;
  border: 1px solid #cfe2e8;
  background: #fff;
  overflow: hidden;
}
.advanced-comparator-panel > summary {
  list-style: none;
  cursor: pointer;
  padding: 19px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  background: linear-gradient(145deg, #f6fbfd, #f4fff9);
}
.advanced-comparator-panel > summary::-webkit-details-marker { display: none; }
.advanced-comparator-panel > summary strong,
.advanced-comparator-panel > summary small { display: block; }
.advanced-comparator-panel > summary strong { color: #0b2f43; font-size: 1.08rem; }
.advanced-comparator-panel > summary small { color: #68818f; margin-top: 3px; }
.advanced-comparator-panel > summary b { color: #0b8764; }
.advanced-comparator-form { padding: 20px; border-top: 1px solid #e1ebef; }
.advanced-question-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.advanced-question-card {
  min-width: 0;
  margin: 0;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid #dde9ed;
  background: #fbfdfe;
}
.advanced-question-card legend { padding: 0 6px; color: #0b2f43; font-size: 1.04rem; font-weight: 900; }
.advanced-question-card > p { color: #6b828e; margin: 0 0 13px; line-height: 1.45; font-size: .92rem; }
.choice-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.choice-card-grid.compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.choice-card { cursor: pointer; position: relative; }
.choice-card input { position: absolute; opacity: 0; pointer-events: none; }
.choice-card span {
  min-height: 44px;
  display: grid;
  place-items: center;
  padding: 8px 10px;
  border-radius: 13px;
  border: 1px solid #d8e4e9;
  background: #fff;
  color: #526f7e;
  font-weight: 800;
  text-align: center;
  font-size: .88rem;
  transition: .18s ease;
}
.choice-card input:checked + span { border-color: #18b878; background: #eafaf2; color: #0b7257; box-shadow: 0 0 0 2px rgba(24,184,120,.10); }
.conditional-fields {
  display: none;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px dashed #d9e5e9;
}
.conditional-fields.is-visible { display: grid; }
.advanced-question-card label:not(.choice-card) { display: block; color: #526d7b; font-weight: 800; font-size: .88rem; }
.advanced-question-card input[type="number"],
.advanced-question-card select {
  width: 100%;
  margin-top: 6px;
  min-height: 44px;
  border: 1px solid #cfdfe5;
  border-radius: 12px;
  background: #fff;
  padding: 9px 11px;
  color: #183e50;
}
.advanced-question-card > label + label { margin-top: 11px; }
.advanced-form-footer {
  margin-top: 18px;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  padding: 16px 18px;
  border-radius: 18px;
  background: #eff9f5;
}
.advanced-form-footer strong,
.advanced-form-footer span { display: block; }
.advanced-form-footer strong { color: #0b5d49; }
.advanced-form-footer span { color: #607c88; margin-top: 3px; font-size: .9rem; }
@media (max-width: 980px) {
  .comparison-mode-head,
  .simple-comparator-note,
  .advanced-result-summary,
  .advanced-form-footer { align-items: stretch; flex-direction: column; }
  .comparison-accuracy-card { min-width: 0; }
  .advanced-family-grid { grid-template-columns: 1fr; }
  .advanced-question-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .comparison-mode-tabs { grid-template-columns: 1fr; }
  .choice-card-grid,
  .choice-card-grid.compact,
  .conditional-fields { grid-template-columns: 1fr; }
  .comparison-mode-shell { padding: 17px; border-radius: 24px; }
  .advanced-comparator-panel > summary { align-items: flex-start; flex-direction: column; }
}

/* --- v0.8.2 simplified comparison mode selector --- */
.comparison-active-mode {
  margin-top: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 22px 24px;
  border-radius: 22px;
  border: 1px solid #d8e7ec;
  background: #fff;
}
.comparison-active-mode.simple {
  border-color: #bfe6d3;
  background: linear-gradient(145deg, #f5fff9, #ffffff);
}
.comparison-active-mode.advanced {
  border-color: #c9dff0;
  background: linear-gradient(145deg, #f4faff, #ffffff);
}
.comparison-active-copy { min-width: 0; }
.comparison-active-copy h3 {
  margin: 10px 0 6px;
  color: #0b2f43;
  font-size: 1.24rem;
}
.comparison-active-copy p {
  margin: 0;
  color: #617b89;
  line-height: 1.5;
}
.comparison-active-reasons {
  margin: 12px 0 0;
  padding-left: 20px;
  color: #587482;
}
.comparison-active-reasons li + li { margin-top: 4px; }
.comparison-mode-action {
  min-width: 275px;
  display: grid;
  justify-items: stretch;
  gap: 7px;
  text-align: center;
}
.comparison-mode-action .button { margin: 0; white-space: nowrap; }
.comparison-mode-action small {
  color: #718793;
  font-size: .78rem;
  line-height: 1.35;
}
.comparison-mode-shell .advanced-comparator-panel { margin-top: 14px; }

@media (max-width: 820px) {
  .comparison-active-mode {
    align-items: stretch;
    flex-direction: column;
    gap: 18px;
  }
  .comparison-mode-action {
    min-width: 0;
    width: 100%;
  }
  .comparison-mode-action .button { width: 100%; white-space: normal; }
}

/* v0.8.3 - catálogo de tarifas y logos en comparativa */
.report-v29-company-logo-wrap{
  width:54px;
  height:54px;
  border-radius:16px;
  background:rgba(255,255,255,.82);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:6px;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.06);
}
.report-v29-company-logo-wrap img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.report-v29-company-copy{display:flex;flex-direction:column;gap:4px;}
.report-v29-company-badge{display:flex;align-items:center;gap:12px;}
.report-table-tariff-brand{display:flex;align-items:center;gap:10px;}
.report-table-mini-logo{
  width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;
  background:#e2e8f0;color:#0f172a;font-weight:800;font-size:.88rem;
}

.tariff-library-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(290px, 1fr));
  gap:18px;
  margin-top:18px;
}
.tariff-card-modern{
  border:1px solid rgba(148,163,184,.24);
  border-radius:28px;
  padding:22px;
  background:rgba(255,255,255,.76);
  box-shadow:0 20px 45px rgba(15,23,42,.07);
  display:flex;
  flex-direction:column;
  gap:16px;
}
.tariff-card-header{display:flex;gap:16px;align-items:center;}
.tariff-card-header--detail{align-items:flex-start;}
.tariff-card-header h3,
.tariff-card-header h2{margin:6px 0 4px;}
.tariff-card-header p{margin:0;color:#64748b;}
.tariff-logo-wrap{
  width:74px;height:74px;min-width:74px;border-radius:22px;padding:10px;
  background:#f8fafc;border:1px solid rgba(148,163,184,.18);display:flex;align-items:center;justify-content:center;
}
.tariff-logo-wrap img{width:100%;height:100%;object-fit:contain;}
.tariff-chip-row{display:flex;flex-wrap:wrap;gap:8px;}
.tariff-chip{
  display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;
  background:#eef2ff;color:#1e3a8a;font-size:.82rem;font-weight:700;
}
.tariff-card-metrics{
  display:grid;grid-template-columns:1fr;gap:12px;
}
.tariff-card-metrics--detail{grid-template-columns:repeat(2,minmax(0,1fr));}
.tariff-card-metrics > div{
  border:1px solid rgba(191,219,254,.45);
  background:#f8fbff;
  border-radius:18px;
  padding:14px 16px;
}
.tariff-card-metrics span{display:block;font-size:.78rem;color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;}
.tariff-card-metrics strong{display:block;color:#0f172a;line-height:1.35;}
.tariff-card-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.tariff-detail-hero-grid{grid-template-columns:1.5fr .9fr;}
.tariff-detail-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.tariff-detail-list li{
  display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid rgba(226,232,240,.9);
}
.tariff-detail-list li:last-child{border-bottom:none;}
.tariff-detail-list span{color:#64748b;}
.tariff-detail-list strong{text-align:right;color:#0f172a;}
.tariff-detail-list.compact li{padding:10px 0;}

@media (max-width: 960px){
  .tariff-card-metrics--detail,
  .tariff-detail-hero-grid{grid-template-columns:1fr;}
}


/* v0.8.3.1 - corrección de exposición del panel lateral en resultados */
.report-v29-content-grid {
  grid-template-columns: 1fr;
}
.report-v29-main-column,
.report-v29-duel-shell,
.report-v29-duel-grid,
.report-v29-duel-card,
.report-v29-box {
  min-width: 0;
}
.report-v29-side-column {
  position: relative;
  top: auto;
  grid-template-columns: 1fr;
}
@media (min-width: 1400px) {
  .report-v29-content-grid {
    grid-template-columns: minmax(0, 1.18fr) minmax(280px, 320px);
  }
  .report-v29-side-column {
    position: sticky;
    top: 110px;
  }
}

/* v0.8.4 - filtros del catálogo de tarifas */
.tariff-filter-panel {
  margin: 20px 0 24px;
  padding: 18px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 24px;
  background: rgba(248, 252, 255, .78);
}
.tariff-filter-block {
  display: grid;
  gap: 10px;
}
.tariff-filter-label,
.tariff-filter-controls label > span {
  display: block;
  color: #607988;
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.tariff-company-filters {
  display: flex;
  gap: 10px;
  padding-bottom: 4px;
  overflow-x: auto;
  scrollbar-width: thin;
}
.tariff-company-filter {
  flex: 0 0 auto;
  min-height: 46px;
  padding: 7px 12px;
  border: 1px solid #dbe7ee;
  border-radius: 15px;
  background: rgba(255, 255, 255, .92);
  color: #294b5e;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: inherit;
  font-size: .84rem;
  font-weight: 800;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}
.tariff-company-filter:hover {
  transform: translateY(-1px);
  border-color: #9ddbc5;
}
.tariff-company-filter.is-active {
  border-color: #25b77a;
  background: #effcf6;
  color: #08724d;
  box-shadow: 0 8px 18px rgba(16, 185, 129, .10);
}
.tariff-company-filter img {
  width: 34px;
  height: 28px;
  border-radius: 8px;
  object-fit: contain;
  background: #fff;
}
.tariff-company-filter small {
  min-width: 24px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #edf3f7;
  color: #607988;
  text-align: center;
  font-size: .7rem;
}
.tariff-company-filter.is-active small {
  background: #d7f6e7;
  color: #08724d;
}
.tariff-filter-controls {
  display: grid;
  grid-template-columns: minmax(240px, 1.45fr) repeat(3, minmax(165px, .75fr)) auto;
  gap: 12px;
  align-items: end;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(203, 213, 225, .72);
}
.tariff-filter-controls label {
  display: grid;
  gap: 7px;
}
.tariff-filter-controls input,
.tariff-filter-controls select {
  width: 100%;
  min-height: 46px;
  border: 1px solid #d6e4ec;
  border-radius: 13px;
  padding: 0 12px;
  background: #fff;
  color: #14384d;
  font: inherit;
}
.tariff-filter-controls input:focus,
.tariff-filter-controls select:focus {
  outline: none;
  border-color: #23ae77;
  box-shadow: 0 0 0 4px rgba(35, 174, 119, .10);
}
.tariff-clear-filters {
  min-height: 46px;
  white-space: nowrap;
}
.tariff-card-modern[hidden],
.tariff-card-modern.is-filtered-out {
  display: none !important;
}
.tariff-filter-empty {
  margin-top: 18px;
}

@media (max-width: 1250px) {
  .tariff-filter-controls {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .tariff-search-field {
    grid-column: 1 / -1;
  }
  .tariff-clear-filters {
    justify-self: start;
  }
}
@media (max-width: 680px) {
  .tariff-filter-panel {
    padding: 14px;
    border-radius: 20px;
  }
  .tariff-filter-controls {
    grid-template-columns: 1fr;
  }
  .tariff-search-field {
    grid-column: auto;
  }
  .tariff-clear-filters {
    width: 100%;
  }
}

/* v0.8.5 - personalización del catálogo con la última factura */
.tariff-personalization-banner,
.tariff-detail-personal{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  margin-bottom:18px;
  padding:22px 24px;
  border:1px solid #bfe7d3;
  border-radius:26px;
  background:linear-gradient(135deg, rgba(239,253,246,.98), rgba(247,252,255,.98));
  box-shadow:0 18px 40px rgba(13,86,65,.07);
}
.tariff-personalization-banner.is-empty{
  border-color:#d8e4ec;
  background:linear-gradient(135deg, rgba(248,251,253,.98), rgba(255,255,255,.98));
}
.tariff-personalization-banner h2,
.tariff-detail-personal h2{margin:10px 0 6px;}
.tariff-personalization-banner p,
.tariff-detail-personal p{margin:0;color:#5f7786;}

.tariff-personal-result{
  padding:16px;
  border-radius:20px;
  border:1px solid #dce7ed;
  background:#f8fbfd;
}
.tariff-personal-result.good{border-color:#bfe8d1;background:#f0fcf6;}
.tariff-personal-result.danger{border-color:#f1caca;background:#fff6f6;}
.tariff-personal-result.warning{border-color:#eedaa8;background:#fffaf0;}
.tariff-personal-result.neutral{border-color:#dce7ed;background:#f8fbfd;}
.tariff-personal-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.tariff-personal-result-head span{font-size:.76rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#6d8391;}
.tariff-personal-result-head strong{font-size:1.05rem;color:#0b2f43;}
.tariff-personal-result h4{margin:10px 0 5px;color:#0b2f43;font-size:1.12rem;}
.tariff-personal-result.good h4{color:#0b8f60;}
.tariff-personal-result.danger h4{color:#b33b3b;}
.tariff-personal-result.warning h4{color:#9a6814;}
.tariff-personal-result p{margin:0;color:#607988;line-height:1.45;}
.tariff-personal-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:13px;}
.tariff-personal-result-grid span{padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.72);}
.tariff-personal-result-grid small,.tariff-personal-result-grid b{display:block;}
.tariff-personal-result-grid small{color:#738997;font-size:.72rem;margin-bottom:4px;}
.tariff-personal-result-grid b{color:#0b2f43;font-size:.92rem;}

.tariff-detail-personal.good{border-color:#bfe8d1;background:linear-gradient(135deg,#effcf5,#ffffff);}
.tariff-detail-personal.danger{border-color:#f1caca;background:linear-gradient(135deg,#fff5f5,#ffffff);}
.tariff-detail-personal.warning{border-color:#eedaa8;background:linear-gradient(135deg,#fffaf0,#ffffff);}
.tariff-detail-personal.neutral{border-color:#d8e4ec;background:linear-gradient(135deg,#f7fafc,#ffffff);}
.tariff-personal-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px;}
.tariff-personal-detail-grid article{padding:18px;border-radius:18px;background:rgba(255,255,255,.82);border:1px solid rgba(190,210,220,.55);}
.tariff-personal-detail-grid span,.tariff-personal-detail-grid strong,.tariff-personal-detail-grid small{display:block;}
.tariff-personal-detail-grid span{color:#6c8391;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;font-weight:900;}
.tariff-personal-detail-grid strong{margin:9px 0 4px;color:#0b2f43;font-size:1.55rem;}
.tariff-personal-detail-grid small{color:#607988;}
.tariff-personal-unavailable{margin-top:16px;padding:16px 18px;border-radius:16px;background:rgba(255,255,255,.72);}
.report-v29-tariff-detail-link{margin-top:14px;justify-content:center;width:100%;}

@media (max-width:900px){
  .tariff-personalization-banner,
  .tariff-detail-personal{align-items:flex-start;flex-direction:column;}
  .tariff-personal-detail-grid{grid-template-columns:1fr;}
}
@media (max-width:620px){
  .tariff-personal-result-grid{grid-template-columns:1fr;}
}

/* v0.8.6 - confianza por campo y control de calidad de parsers */
.field-quality-summary{
  min-width:310px;
  display:flex;
  align-items:center;
  gap:16px;
}
.field-quality-score{
  width:78px;
  height:78px;
  min-width:78px;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:#eefbf5;
  border:8px solid #20b978;
}
.field-quality-score strong{font-size:1.2rem;line-height:1;color:#0b7150;}
.field-quality-score span{font-size:.58rem;text-align:center;color:#527468;margin-top:4px;}
.field-quality-summary.warning .field-quality-score{background:#fff9eb;border-color:#eab308;}
.field-quality-summary.danger .field-quality-score{background:#fff1f2;border-color:#ef4444;}
.field-quality-summary p{margin:8px 0 2px;}
.field-quality-summary small{color:#64748b;}
.field-review-priority{border-color:#f4d99a;background:linear-gradient(145deg,#fffbef,#fff);}
.field-quality-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:18px;}
.field-quality-card{border:1px solid #d8e4ec;border-radius:18px;padding:15px;background:#fff;}
.field-quality-card > div{display:flex;align-items:center;gap:9px;}
.field-quality-card p{margin:8px 0 4px;color:#526b7a;line-height:1.4;}
.field-quality-card small{color:#758b98;}
.field-quality-dot{width:10px;height:10px;border-radius:50%;background:#18b879;}
.field-quality-card.review{border-color:#f3d18c;background:#fffaf0;}
.field-quality-card.review .field-quality-dot{background:#e9a800;}
.field-quality-card.missing{border-color:#f0b7bb;background:#fff5f5;}
.field-quality-card.missing .field-quality-dot{background:#df3d4d;}
.review-field-status{position:relative;}
.review-field-status > span{
  float:right;
  padding:3px 8px;
  border-radius:999px;
  font-size:.68rem;
  font-weight:800;
  color:#116247;
  background:#e8f9f1;
}
.review-field-status.review > span{color:#8a5d00;background:#fff1bd;}
.review-field-status.missing > span{color:#a2212c;background:#ffe0e3;}
.review-field-status.review input{border-color:#e8bd55;background:#fffdf7;}
.review-field-status.missing input{border-color:#e59ca3;background:#fff8f8;}
.field-quality-row.review td{background:#fffaf0;}
.field-quality-row.missing td{background:#fff5f5;}
.badge.field-confirmed{background:#e5faef;color:#078456;}
.badge.field-likely{background:#edf5fb;color:#2d617d;}
.badge.field-review{background:#fff1bd;color:#8a5d00;}
.badge.field-missing{background:#ffe0e3;color:#a2212c;}
@media (max-width:720px){
  .field-quality-summary{min-width:0;align-items:flex-start;}
  .field-quality-score{width:66px;height:66px;min-width:66px;border-width:6px;}
}

/* v0.8.6.1 - separación entre experiencia de usuario y diagnóstico técnico */
.review-public-status{
  max-width:440px;
  min-width:320px;
}
.review-public-status > div{
  display:grid;
  gap:8px;
}
.review-public-status p{
  margin:0;
  color:#35596d;
  line-height:1.55;
}
.review-public-status small{
  color:#64748b;
}
.review-public-status.good{
  background:linear-gradient(145deg, rgba(241,255,248,.96), rgba(255,255,255,.98));
  border-color:#cde9d9;
}
.review-public-status.warning{
  background:linear-gradient(145deg, rgba(255,250,235,.96), rgba(255,255,255,.98));
  border-color:#f1dfaa;
}
.review-public-status.danger{
  background:linear-gradient(145deg, rgba(255,244,244,.96), rgba(255,255,255,.98));
  border-color:#f2c9ce;
}
@media (max-width:720px){
  .review-public-status,.review-public-simple{min-width:0;max-width:none;width:100%;}
}

/* v0.8.7 - nueva factura con PDF o entrada manual */
.new-invoice-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 84% 10%, rgba(77, 230, 188, .18), transparent 28rem),
    linear-gradient(180deg, #f5fbff 0%, #f8fffc 100%);
}
.new-invoice-main { padding-bottom: 64px; }
.new-invoice-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 28px;
  padding: 34px 38px;
  margin-bottom: 20px;
  border: 1px solid rgba(191, 219, 254, .45);
  border-radius: 30px;
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(239,253,248,.9));
  box-shadow: 0 22px 55px rgba(15, 44, 64, .08);
  overflow: hidden;
  position: relative;
}
.new-invoice-hero::after {
  content: "";
  position: absolute;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  right: -180px;
  top: -220px;
  background: rgba(38, 208, 154, .12);
}
.new-invoice-hero > * { position: relative; z-index: 1; }
.new-invoice-hero .portal-title { max-width: 760px; margin-bottom: 12px; }
.new-invoice-hero .lead { max-width: 850px; margin-bottom: 0; }
.new-invoice-trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}
.new-invoice-trust-row span {
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(16,185,129,.16);
  color: #17566a;
  font-size: .84rem;
  font-weight: 750;
}
.entry-mode-selector {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 20px;
}
.entry-mode-card {
  appearance: none;
  width: 100%;
  min-height: 130px;
  border: 1px solid #dbe7ef;
  border-radius: 26px;
  padding: 20px 22px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 14px 34px rgba(15, 44, 64, .055);
  display: grid;
  grid-template-columns: 58px 1fr 32px;
  align-items: center;
  gap: 16px;
  text-align: left;
  cursor: pointer;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.entry-mode-card:hover { transform: translateY(-2px); border-color: #7edec0; }
.entry-mode-card.is-active {
  border-color: #40cca0;
  background: linear-gradient(145deg, rgba(240,255,249,.97), rgba(255,255,255,.98));
  box-shadow: 0 18px 42px rgba(16,185,129,.12), inset 0 0 0 1px rgba(16,185,129,.14);
}
.entry-mode-icon {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: #e7fbf4;
  color: #078c65;
  font-size: 1rem;
  font-weight: 900;
  border: 1px solid #c6f1e2;
}
.entry-mode-icon.manual { background: #eef5ff; color: #235f9f; border-color: #d5e6f7; font-size: 1.5rem; }
.entry-mode-copy { display: flex; flex-direction: column; gap: 5px; }
.entry-mode-copy small { color: #0d9b69; text-transform: uppercase; letter-spacing: .06em; font-weight: 850; font-size: .7rem; }
.entry-mode-copy strong { color: #0b2f43; font-size: 1.16rem; }
.entry-mode-copy > span { color: #60798a; line-height: 1.45; font-size: .9rem; }
.entry-mode-check {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #e5edf2;
  color: transparent;
  font-weight: 900;
}
.entry-mode-card.is-active .entry-mode-check { background: #13ad7b; color: #fff; }
.invoice-entry-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, .72fr);
  gap: 20px;
  align-items: stretch;
}
.invoice-entry-workspace[hidden] { display: none !important; }
.invoice-entry-info-card,
.manual-invoice-form,
.new-invoice-upload-card {
  border: 1px solid rgba(191, 219, 254, .52);
  border-radius: 30px;
  background: rgba(255,255,255,.91);
  box-shadow: 0 20px 48px rgba(15, 44, 64, .07);
}
.invoice-entry-info-card {
  padding: 34px;
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(248,253,255,.97), rgba(238,253,247,.94));
}
.invoice-entry-info-card.manual { background: linear-gradient(145deg, rgba(248,251,255,.98), rgba(244,248,255,.96)); }
.invoice-entry-info-card::after {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -90px;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  background: rgba(19, 173, 123, .08);
}
.invoice-entry-info-card > * { position: relative; z-index: 1; }
.invoice-entry-kicker {
  display: inline-flex;
  padding: 7px 11px;
  border-radius: 999px;
  background: #e9faf4;
  color: #06845f;
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .07em;
}
.invoice-entry-info-card h2 { margin: 18px 0 12px; color: #0b2f43; font-size: clamp(1.55rem, 2.2vw, 2.15rem); line-height: 1.12; }
.invoice-entry-info-card > p { color: #5d7889; font-size: 1rem; line-height: 1.65; max-width: 700px; }
.invoice-entry-steps { display: grid; gap: 13px; margin-top: 28px; }
.invoice-entry-steps > div {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 14px;
  align-items: start;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(191,219,254,.48);
  background: rgba(255,255,255,.72);
}
.invoice-entry-steps > div > span {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #14b981, #0a8b80);
  color: #fff;
  font-weight: 900;
}
.invoice-entry-steps p { margin: 0; }
.invoice-entry-steps strong,
.invoice-entry-steps small { display: block; }
.invoice-entry-steps strong { color: #0b2f43; margin-bottom: 3px; }
.invoice-entry-steps small { color: #6a8291; line-height: 1.4; }
.new-invoice-upload-card { padding: 26px; min-height: 470px; }
.new-invoice-upload-card h2 { margin: 12px 0 6px; }
.new-invoice-upload-zone { min-height: 240px; margin: 16px 0; }
.new-invoice-primary-action { width: 100%; justify-content: center; min-height: 48px; }
.new-invoice-privacy-note { margin: 12px 0 0; text-align: center; color: #667d8c; font-size: .82rem; }
.manual-required-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; margin-top: 24px; }
.manual-required-list span {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 11px 13px;
  background: rgba(255,255,255,.76);
  border: 1px solid #dce8f2;
  border-radius: 14px;
  color: #20495f;
  font-weight: 750;
}
.manual-required-list i {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #dff7ed;
  color: #07875f;
  font-style: normal;
  font-size: .75rem;
}
.manual-help-box {
  margin-top: 20px;
  padding: 16px 18px;
  border-radius: 17px;
  background: #edf6ff;
  border: 1px solid #d7e8f8;
}
.manual-help-box strong { color: #174e78; }
.manual-help-box p { margin: 5px 0 0; color: #637e91; line-height: 1.5; }
.manual-invoice-form { padding: 28px; }
.manual-form-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 18px;
  margin-bottom: 18px;
  border-bottom: 1px solid #e5edf2;
}
.manual-form-head h2 { margin: 10px 0 5px; }
.manual-required-hint { color: #a65b20; background: #fff5e8; border-radius: 999px; padding: 7px 10px; font-size: .76rem; font-weight: 800; white-space: nowrap; }
.manual-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.manual-form-grid--three { grid-template-columns: repeat(3, minmax(0,1fr)); }
.manual-invoice-form label { color: #25495c; font-weight: 760; }
.manual-invoice-form input,
.manual-invoice-form select {
  width: 100%;
  margin-top: 8px;
  min-height: 46px;
  border-radius: 14px;
  border: 1px solid #d7e3eb;
  background: #fbfdff;
  padding: 11px 13px;
  color: #0b2f43;
  font: inherit;
}
.manual-invoice-form input:focus,
.manual-invoice-form select:focus {
  outline: none;
  border-color: #28b788;
  box-shadow: 0 0 0 4px rgba(40,183,136,.11);
  background: #fff;
}
.input-with-unit { position: relative; display: block; }
.input-with-unit input { padding-right: 74px; }
.input-with-unit b {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-25%);
  color: #668091;
  font-size: .78rem;
  pointer-events: none;
}
.manual-advanced-details {
  margin-top: 22px;
  border: 1px solid #dce7ee;
  border-radius: 20px;
  background: #fbfdff;
  overflow: hidden;
}
.manual-advanced-details > summary {
  list-style: none;
  cursor: pointer;
  padding: 17px 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.manual-advanced-details > summary::-webkit-details-marker { display: none; }
.manual-advanced-details > summary span { display: flex; flex-direction: column; gap: 3px; }
.manual-advanced-details > summary strong { color: #0b2f43; }
.manual-advanced-details > summary small { color: #6b8391; }
.manual-advanced-details > summary > b {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #e9f7f2;
  color: #07875f;
  font-size: 1.15rem;
  transition: transform .2s ease;
}
.manual-advanced-details[open] > summary > b { transform: rotate(45deg); }
.manual-advanced-inner { padding: 0 18px 20px; }
.manual-field-section { padding-top: 19px; margin-top: 6px; border-top: 1px solid #e7eef3; }
.manual-field-section h3 { margin: 0 0 14px; color: #17475e; }
.manual-submit-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid #e5edf2;
}
.manual-submit-bar > div { display: flex; flex-direction: column; gap: 3px; }
.manual-submit-bar strong { color: #0b2f43; }
.manual-submit-bar span { color: #6a8291; font-size: .84rem; }
.manual-submit-bar .button { width: auto; min-width: 240px; }

@media (max-width: 1180px) {
  .invoice-entry-workspace { grid-template-columns: 1fr; }
  .new-invoice-upload-card { min-height: auto; }
  .invoice-entry-info-card { order: 1; }
  .new-invoice-upload-card,
  .manual-invoice-form { order: 0; }
}
@media (max-width: 820px) {
  .new-invoice-hero { flex-direction: column; padding: 26px; }
  .entry-mode-selector { grid-template-columns: 1fr; }
  .entry-mode-card { min-height: 110px; }
  .manual-form-grid,
  .manual-form-grid--three,
  .manual-required-list { grid-template-columns: 1fr; }
  .manual-submit-bar { flex-direction: column; align-items: stretch; }
  .manual-submit-bar .button { width: 100%; min-width: 0; }
}
@media (max-width: 560px) {
  .new-invoice-hero,
  .invoice-entry-info-card,
  .manual-invoice-form,
  .new-invoice-upload-card { border-radius: 22px; padding: 20px; }
  .entry-mode-card { grid-template-columns: 50px 1fr; padding: 16px; }
  .entry-mode-icon { width: 50px; height: 50px; }
  .entry-mode-check { display: none; }
  .manual-form-head { flex-direction: column; }
}

/* v0.8.8 - bloqueo fiable de resultados con datos insuficientes */
.progress-step.warning{
  border-color:#f3cf72;
  background:linear-gradient(145deg,#fffaf0,#fffdf8);
}
.progress-step.warning .step-dot{
  background:#f4b942;
  color:#4a3400;
}
.insufficient-data-shell{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);
  gap:22px;
  align-items:start;
  margin-top:18px;
}
.insufficient-data-main,
.insufficient-data-side{
  border:1px solid rgba(219,178,75,.38);
  border-radius:30px;
  background:rgba(255,255,255,.94);
  box-shadow:0 24px 60px rgba(15,47,67,.09);
}
.insufficient-data-main{
  padding:42px;
  min-height:520px;
  background:linear-gradient(145deg,rgba(255,252,242,.98),rgba(247,253,255,.97));
}
.insufficient-data-side{padding:28px;}
.insufficient-data-icon{
  width:68px;height:68px;border-radius:22px;
  display:flex;align-items:center;justify-content:center;
  font-size:2rem;font-weight:900;color:#7a5100;
  background:#fff0c6;border:1px solid #f0ce71;
  box-shadow:0 14px 30px rgba(193,134,0,.14);
  margin-bottom:18px;
}
.insufficient-data-main h1{
  margin:8px 0 14px;
  max-width:720px;
  color:#0b2f43;
  font-size:clamp(2.2rem,4vw,4rem);
  line-height:1.02;
}
.insufficient-data-main .lead{max-width:760px;color:#587183;line-height:1.7;}
.insufficient-progress-block{
  max-width:720px;
  padding:20px;
  margin:28px 0 20px;
  border-radius:20px;
  background:#fff;
  border:1px solid #e7dfc3;
}
.insufficient-progress-copy{display:flex;justify-content:space-between;gap:18px;margin-bottom:12px;color:#18394c;}
.insufficient-progress-copy span{font-weight:900;color:#aa7600;}
.insufficient-progress-track{height:12px;border-radius:999px;background:#edf1f3;overflow:hidden;}
.insufficient-progress-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#f0b93f,#12a675);}
.partial-cost-card{
  max-width:720px;
  padding:20px;
  border-radius:20px;
  border:1px solid #cfe7dc;
  background:#f4fcf8;
  margin-bottom:20px;
}
.partial-cost-card span,.partial-cost-card strong{display:block;}
.partial-cost-card span{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:#56746a;font-weight:800;}
.partial-cost-card strong{font-size:2rem;color:#0b7658;margin:6px 0;}
.partial-cost-card p{margin:0;color:#5b746c;}
.insufficient-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}
.insufficient-data-side h2{margin:0 0 8px;color:#0b2f43;font-size:1.65rem;}
.insufficient-data-side>p{margin:0 0 20px;color:#607988;line-height:1.55;}
.missing-data-list{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
.missing-data-list li{
  display:flex;gap:12px;padding:15px;border-radius:18px;
  background:#fffaf0;border:1px solid #efdfb2;
}
.missing-data-list li>span{
  width:30px;height:30px;min-width:30px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  background:#f6c85f;color:#513800;font-weight:900;
}
.missing-data-list strong,.missing-data-list small{display:block;}
.missing-data-list strong{color:#17394d;margin-bottom:4px;}
.missing-data-list small{color:#667d8a;line-height:1.45;}
.trust-note{
  margin-top:20px;padding:18px;border-radius:18px;
  background:#eff9f5;border:1px solid #cce9dc;
}
.trust-note strong{color:#0b7658;}
.trust-note p{margin:8px 0 0;color:#557268;line-height:1.55;}
@media(max-width:980px){
  .insufficient-data-shell{grid-template-columns:1fr;}
  .insufficient-data-main{min-height:auto;padding:28px;}
}
@media(max-width:620px){
  .insufficient-data-main,.insufficient-data-side{padding:22px;border-radius:22px;}
  .insufficient-actions .button{width:100%;}
}
.report-v29-score-pending{
  width:160px;height:160px;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:#f3f6f8;border:12px solid #dfe8ed;color:#607988;
}
.report-v29-score-pending strong{font-size:2.8rem;line-height:1;}
.report-v29-score-pending span{font-size:.82rem;font-weight:800;margin-top:6px;}

/* v0.8.9 - revisión manual, privacidad y consentimiento */
.privacy-consent-box{
  display:grid;gap:10px;padding:16px;border-radius:20px;
  border:1px solid rgba(16,185,129,.25);background:rgba(240,253,250,.8);
}
.privacy-consent-box.public{margin-top:12px;}
.privacy-check{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:flex-start;cursor:pointer;line-height:1.45;}
.privacy-check input{width:18px;height:18px;margin-top:2px;accent-color:#0aa878;}
.privacy-check span{font-size:.86rem;color:#34586a;}
.privacy-check.optional{padding-top:10px;border-top:1px solid rgba(148,163,184,.22);}
.privacy-contact-field{font-size:.86rem;font-weight:700;color:#244256;}
.privacy-contact-field input{margin-top:7px;}
.privacy-more-link{font-size:.82rem;font-weight:700;color:#087f68;text-decoration:none;}
.legal-page{max-width:980px;padding-bottom:60px;}
.legal-hero{margin-bottom:18px;}
.legal-summary-card{background:linear-gradient(145deg,#f4fff9,#f8fbff);}
.legal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.legal-grid>div{padding:15px;border:1px solid #dce9ee;border-radius:16px;background:#fff;}
.legal-grid p{margin:6px 0 0;color:#5d7787;}
.legal-error-card{max-width:720px;margin:80px auto;}
.pending-review-page{max-width:920px;padding-top:70px;}
.pending-review-card{padding:42px;border-radius:32px;border:1px solid #d7e8ee;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(240,253,249,.96));box-shadow:0 24px 60px rgba(11,47,67,.1);text-align:center;}
.pending-review-icon{width:76px;height:76px;border-radius:24px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;background:#e8faf3;color:#07866c;font-size:2.2rem;}
.pending-review-icon.small{width:48px;height:48px;min-width:48px;margin:0;font-size:1.3rem;border-radius:15px;}
.pending-review-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0;}
.pending-review-steps>div{padding:18px;border-radius:20px;border:1px solid #dbe8ee;background:#fff;text-align:left;}
.pending-review-steps span{display:inline-flex;width:32px;height:32px;border-radius:50%;align-items:center;justify-content:center;background:#e8f0f4;font-weight:900;color:#496878;margin-bottom:10px;}
.pending-review-steps .done span,.pending-review-steps .active span{background:#0aa878;color:#fff;}
.pending-review-steps strong,.pending-review-steps small{display:block;}
.pending-review-steps small{margin-top:6px;color:#607988;line-height:1.45;}
.invoice-pending-strip{display:flex;align-items:center;gap:16px;padding:20px;border:1px solid #f0d89a;border-radius:20px;background:#fffaf0;}
.invoice-pending-strip p{margin:5px 0 0;color:#6c5a32;}
.manual-review-queue table td{vertical-align:top;}
.workflow-admin-card{background:linear-gradient(145deg,#f7fbff,#f2fff9);}
.staff-manual-completion{border:2px solid rgba(16,185,129,.22);}
@media(max-width:760px){.legal-grid,.pending-review-steps{grid-template-columns:1fr}.pending-review-card{padding:26px}.privacy-check span{font-size:.82rem}}

/* v0.8.9.1 - privacidad compacta y correo solo cuando hace falta */
.privacy-confirmation-box{
  display:grid;
  gap:12px;
}
.privacy-confirmation-heading{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(148,163,184,.18);
}
.privacy-confirmation-heading strong{color:#0b2f43;font-size:.95rem;}
.privacy-confirmation-heading span{color:#607988;font-size:.82rem;}
.privacy-inline-option{
  padding:12px 14px;
  border-radius:16px;
  background:rgba(243,248,255,.72);
  border:1px solid rgba(191,219,254,.58);
}
.privacy-inline-option small{
  display:block;
  margin:7px 0 0 32px;
  color:#6b7f8c;
  font-size:.76rem;
  line-height:1.45;
}
.pending-email-form{
  display:grid;
  gap:14px;
  margin:22px 0;
  padding:20px;
  border-radius:22px;
  background:linear-gradient(145deg, rgba(245,255,250,.96), rgba(255,255,255,.98));
  border:1px solid rgba(52,211,153,.28);
}
.pending-email-form h2{margin:6px 0 4px;color:#0b2f43;}
.pending-email-form label{font-weight:800;color:#244256;}
.pending-email-form input{margin-top:8px;}
.pending-email-success{margin-top:18px;}
.field-error{margin:0;color:#b42318;font-weight:700;font-size:.86rem;}

/* v0.8.11 - simulación completa de factura y precios de catálogo sin impuestos */
.tariff-tax-policy-note{margin-bottom:22px;padding:18px 20px;border-radius:20px;background:#f0fbf7;border:1px solid #ccebdd;}
.tariff-tax-policy-note strong{display:block;color:#08795f;margin-bottom:6px;}
.tariff-tax-policy-note p{margin:0;color:#527067;line-height:1.5;}
.invoice-simulation-details{padding:0;overflow:hidden;}
.invoice-simulation-details>summary{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:22px 24px;cursor:pointer;list-style:none;background:linear-gradient(145deg,#f7fffb,#f7fbff);
}
.invoice-simulation-details>summary::-webkit-details-marker{display:none;}
.invoice-simulation-details>summary span:first-child{display:flex;flex-direction:column;gap:5px;}
.invoice-simulation-details>summary strong{font-size:1.18rem;color:#0b2f43;}
.invoice-simulation-details>summary small{color:#607988;line-height:1.45;}
.invoice-simulation-summary-pill{padding:8px 13px;border-radius:999px;background:#e7f8f1;color:#08795f;font-size:.82rem;font-weight:900;white-space:nowrap;}
.invoice-simulation-details[open] .invoice-simulation-summary-pill{background:#dff2eb;}
.invoice-simulation-details[open] .invoice-simulation-summary-pill::after{content:" · abierto";}
.invoice-simulation-intro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:20px 24px 0;}
.invoice-simulation-intro>div{padding:16px;border-radius:18px;background:#f7fafc;border:1px solid #dce8ee;}
.invoice-simulation-intro>div.saving{background:#effbf5;border-color:#cdebdc;}
.invoice-simulation-intro>div.cost{background:#fff7f5;border-color:#f3d4ce;}
.invoice-simulation-intro span,.invoice-simulation-intro strong{display:block;}
.invoice-simulation-intro span{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#647b89;font-weight:800;margin-bottom:6px;}
.invoice-simulation-intro strong{font-size:1.45rem;color:#0b2f43;}
.invoice-simulation-intro .saving strong{color:#078d69;}
.invoice-simulation-intro .cost strong{color:#b5473c;}
.invoice-simulation-tax-note{margin:18px 24px 8px;}
.invoice-simulation-table-wrap{overflow:auto;padding:8px 24px 0;}
.invoice-simulation-table{width:100%;border-collapse:separate;border-spacing:0;min-width:860px;}
.invoice-simulation-table th,.invoice-simulation-table td{padding:14px 16px;border-bottom:1px solid #e2ebef;vertical-align:top;text-align:left;}
.invoice-simulation-table thead th{position:sticky;top:0;background:#f4f9fb;color:#244256;z-index:1;}
.invoice-simulation-table td strong{display:block;color:#0b2f43;}
.invoice-simulation-table td small{display:block;margin-top:5px;color:#6b818d;line-height:1.4;}
.invoice-simulation-group-row th{padding-top:20px;background:#f8fbfc;color:#0b7658;font-size:.9rem;text-transform:uppercase;letter-spacing:.06em;}
.invoice-simulation-note-row td{font-size:.82rem;color:#6b818d;background:#fbfdfe;}
.invoice-simulation-total-row td{font-weight:800;background:#fbfefd;}
.invoice-simulation-total-row td strong{font-size:1.02rem;}
.invoice-simulation-table .difference.cheaper{color:#078d69;font-weight:900;}
.invoice-simulation-table .difference.more-expensive{color:#b5473c;font-weight:900;}
.invoice-simulation-table .difference.same{color:#5e7481;font-weight:800;}
.invoice-simulation-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px 24px;color:#5f7785;}
@media(max-width:800px){
  .invoice-simulation-intro{grid-template-columns:1fr;}
  .invoice-simulation-details>summary,.invoice-simulation-footer{align-items:flex-start;flex-direction:column;}
  .invoice-simulation-footer .button{width:100%;}
}
.report-v29-duel-card.best .report-v29-tariff-detail-link{width:100%;justify-content:center;margin-top:10px;}

/* v0.8.13 - acceso y backoffice diferenciados */
.admin-login-page{
  margin:0;
  min-height:100vh;
  background:#07121f;
  color:#e8eef6;
  font-family:inherit;
}
.admin-login-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);
}
.admin-login-brand-panel{
  position:relative;
  overflow:hidden;
  padding:64px clamp(42px,7vw,110px);
  background:
    radial-gradient(circle at 12% 12%,rgba(19,184,120,.18),transparent 30%),
    radial-gradient(circle at 88% 85%,rgba(59,130,246,.14),transparent 34%),
    linear-gradient(145deg,#07121f 0%,#0b1e32 56%,#0c2940 100%);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.admin-login-brand-panel::after{
  content:"";
  position:absolute;
  inset:20px;
  border:1px solid rgba(148,163,184,.14);
  border-radius:34px;
  pointer-events:none;
}
.admin-login-logo{position:absolute;top:46px;left:clamp(42px,7vw,110px);z-index:1;}
.admin-login-logo img{width:235px;filter:brightness(0) invert(1);opacity:.95;}
.admin-login-label{
  display:inline-flex;
  width:max-content;
  padding:8px 13px;
  border-radius:999px;
  border:1px solid rgba(45,212,191,.35);
  background:rgba(13,148,136,.12);
  color:#7ee7cf;
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:800;
}
.admin-login-brand-panel h1{max-width:720px;margin:22px 0 18px;font-size:clamp(2.5rem,5vw,5.1rem);line-height:.98;color:#f8fafc;}
.admin-login-brand-panel>p{max-width:680px;margin:0;color:#b7c6d8;font-size:1.08rem;line-height:1.75;}
.admin-login-security-list{display:grid;gap:12px;margin-top:34px;max-width:690px;}
.admin-login-security-list div{
  display:grid;
  grid-template-columns:46px 1fr;
  align-items:center;
  gap:14px;
  padding:15px 18px;
  border:1px solid rgba(148,163,184,.14);
  border-radius:16px;
  background:rgba(255,255,255,.035);
}
.admin-login-security-list span{color:#5ee0bd;font-weight:900;}
.admin-login-security-list strong{color:#e7eef7;font-size:.94rem;}
.admin-public-link{margin-top:30px;color:#b7c6d8;text-decoration:none;font-weight:700;z-index:1;}
.admin-public-link:hover{color:#fff;}
.admin-login-form-panel{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:48px;
  background:#eef3f8;
  color:#102033;
}
.admin-login-form-card{
  width:min(100%,510px);
  padding:38px;
  border-radius:28px;
  background:#fff;
  border:1px solid #d6e0ea;
  box-shadow:0 28px 70px rgba(15,23,42,.16);
}
.admin-login-form-head{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.admin-shield-icon{width:48px;height:48px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:#0d253b;color:#59e0bd;font-size:1.2rem;}
.admin-login-form-head p{margin:0 0 2px;color:#64748b;font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;}
.admin-login-form-head h2{margin:0;color:#0b1f33;font-size:1.7rem;}
.admin-login-help{color:#64748b;line-height:1.6;margin-bottom:24px;}
.admin-login-alert{padding:13px 15px;border-radius:14px;background:#fff1f2;border:1px solid #fecdd3;color:#9f1239;margin-bottom:18px;font-weight:700;}
.admin-login-form{display:grid;gap:17px;}
.admin-login-form label{display:grid;gap:8px;color:#24364a;font-weight:800;font-size:.9rem;}
.admin-login-form input{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:14px;padding:14px 15px;background:#f8fafc;color:#0f172a;font:inherit;}
.admin-login-form input:focus{outline:none;border-color:#0f9f7a;box-shadow:0 0 0 4px rgba(15,159,122,.12);}
.admin-login-submit{border:0;border-radius:14px;padding:15px 18px;background:linear-gradient(135deg,#0a8067,#0f9f7a);color:#fff;font-weight:900;font-size:1rem;cursor:pointer;box-shadow:0 14px 28px rgba(15,159,122,.24);}
.admin-login-submit:hover{transform:translateY(-1px);}
.admin-login-footnote{margin-top:22px;padding-top:18px;border-top:1px solid #e2e8f0;display:grid;gap:5px;color:#64748b;font-size:.85rem;}
.admin-login-footnote strong{color:#334155;}
.admin-login-footnote code{font-size:.8rem;background:#eef2f7;padding:2px 6px;border-radius:6px;}

.admin-backoffice-page{background:#eef3f8;}
.admin-backoffice-page .service-shell{background:#eef3f8;}
.admin-backoffice-page .side-nav{
  background:linear-gradient(180deg,#07121f 0%,#0b2137 100%);
  border-right:1px solid rgba(255,255,255,.08);
}
.admin-backoffice-page .side-nav .brand img{filter:brightness(0) invert(1);}
.admin-backoffice-page .side-menu a{color:#c7d4e4;}
.admin-backoffice-page .side-menu a:hover,
.admin-backoffice-page .side-menu a.active{background:rgba(22,163,124,.16);color:#fff;border-color:rgba(94,224,189,.28);}
.admin-backoffice-page .sidebar-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);color:#d9e4ef;}
.admin-backoffice-page .sidebar-card .hint{color:#9fb0c4;}
.admin-backoffice-page .service-topbar{border-bottom:1px solid #dbe4ed;}
.admin-backoffice-page .secure-pill{background:#0d253b;color:#7ee7cf;border-color:#1f4d5f;}

@media (max-width:960px){
  .admin-login-shell{grid-template-columns:1fr;}
  .admin-login-brand-panel{min-height:430px;padding-top:130px;}
  .admin-login-form-panel{padding:26px;}
}
@media (max-width:600px){
  .admin-login-brand-panel{padding:120px 24px 36px;}
  .admin-login-logo{left:24px;top:30px;}
  .admin-login-logo img{width:190px;}
  .admin-login-brand-panel h1{font-size:2.5rem;}
  .admin-login-form-panel{padding:18px;}
  .admin-login-form-card{padding:25px 20px;border-radius:22px;}
}

/* v0.8.14 - verificación, recuperación y auditoría */
.account-security-page{
  min-height:100vh;display:grid;place-items:center;padding:32px;
  background:radial-gradient(circle at 80% 10%,rgba(125,247,210,.28),transparent 34%),linear-gradient(145deg,#f4fbff,#f8fffb);
}
.account-security-card{
  width:min(560px,100%);padding:34px;border-radius:30px;background:rgba(255,255,255,.94);
  border:1px solid rgba(148,163,184,.24);box-shadow:0 28px 70px rgba(15,47,67,.12);text-align:center;
}
.account-security-logo{display:inline-block;margin-bottom:18px}.account-security-logo img{width:min(280px,80%)}
.account-security-icon{width:68px;height:68px;border-radius:22px;display:inline-flex;align-items:center;justify-content:center;background:#e8fbf4;color:#079669;font-size:2rem;font-weight:900;margin-bottom:14px}
.account-security-card h1{font-size:clamp(2rem,5vw,3rem);margin:8px 0 14px;color:#0b2f43}
.account-security-card p{color:#607988;line-height:1.65}.account-security-form{display:grid;gap:16px;text-align:left;margin:24px 0}.account-security-form label{font-weight:800;color:#173b50}.account-security-form input{margin-top:8px;width:100%}
.account-security-actions{display:flex;gap:18px;justify-content:center;margin:20px 0}.account-security-actions a{font-weight:800;color:#0b7469}
.audit-filter-form{display:flex;align-items:end;gap:12px;margin:18px 0}.audit-filter-form label{min-width:280px}.audit-filter-form select{margin-top:8px;width:100%}
.auth-forgot-link{display:block;text-align:right;margin-top:-6px;margin-bottom:12px;font-weight:800;color:#0c7c70;font-size:.9rem}
.email-verification-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;border:1px solid #f0d391;background:#fff9e9;border-radius:18px;margin-bottom:18px}.email-verification-banner strong{color:#7a5100}.email-verification-banner p{margin:4px 0 0;color:#725f37}
@media(max-width:700px){.account-security-page{padding:16px}.account-security-card{padding:24px}.audit-filter-form,.email-verification-banner{align-items:stretch;flex-direction:column}.audit-filter-form label{min-width:0}}

/* v0.8.16 - resultado simplificado, simulación de potencia y cierre claro */
.progress-step.final {
  background: linear-gradient(145deg, rgba(236,253,245,.96), rgba(240,249,255,.94));
  border-color: rgba(16,185,129,.28);
}
.progress-step.final .step-dot {
  background: #0fa276;
  color: #fff;
}
.report-finish-card {
  display: flex;
  flex-direction: column;
}
.report-finish-card .finish-primary,
.report-finish-card .finish-secondary {
  width: 100%;
  text-align: center;
  justify-content: center;
}
.report-finish-card .finish-secondary { margin-top: 10px; }
.report-continue-link {
  margin-top: 16px;
  text-align: center;
  color: #0b6c62;
  font-weight: 800;
  font-size: .88rem;
  text-decoration: none;
}
.report-continue-link:hover { text-decoration: underline; }
.highlight-action { margin-top: 16px; }

.result-secondary-details {
  overflow: hidden;
}
.result-secondary-details > summary,
.power-simulation-details > summary {
  list-style: none;
  cursor: pointer;
}
.result-secondary-details > summary::-webkit-details-marker,
.power-simulation-details > summary::-webkit-details-marker { display: none; }
.result-secondary-summary,
.power-simulation-details > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 22px;
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(248,252,255,.98), rgba(240,252,247,.95));
  border: 1px solid rgba(148,163,184,.2);
}
.result-secondary-summary span:first-child,
.power-simulation-details > summary span:first-child {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.result-secondary-summary strong,
.power-simulation-details > summary strong { color: #0b2f43; font-size: 1.05rem; }
.result-secondary-summary small,
.power-simulation-details > summary small { color: #637b8a; line-height: 1.45; }
.result-secondary-details[open] > summary,
.power-simulation-details[open] > summary { margin-bottom: 20px; }
.result-secondary-details[open] .result-secondary-summary b,
.power-simulation-details[open] .invoice-simulation-summary-pill { color: #087a61; }

.power-simulation-details {
  padding: 22px;
  background: linear-gradient(150deg, rgba(248,253,255,.97), rgba(242,255,249,.96));
}
.power-simulation-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 16px;
}
.power-simulation-card {
  padding: 18px;
  border-radius: 20px;
  background: rgba(255,255,255,.9);
  border: 1px solid #d9e7ee;
}
.power-simulation-card.accent {
  background: linear-gradient(145deg, rgba(235,253,244,.98), rgba(255,255,255,.96));
  border-color: #bfe9d4;
}
.power-simulation-card span,
.power-scenario-grid span {
  display: block;
  color: #6a8190;
  font-size: .76rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.power-simulation-card strong,
.power-scenario-grid strong {
  display: block;
  margin: 7px 0 5px;
  color: #0b2f43;
  font-size: 1.22rem;
  line-height: 1.25;
}
.power-simulation-card small,
.power-scenario-grid small { color: #607988; }
.power-scenario-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 16px;
}
.power-scenario-grid article {
  padding: 20px;
  border-radius: 22px;
  background: rgba(255,255,255,.88);
  border: 1px solid #dce8ee;
}
.power-scenario-grid article.recommended { border-color: #bfe3d1; background: #f4fff8; }
.power-scenario-grid article.best { border-color: #c9d8fb; background: #f7f9ff; }
.power-simulation-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.power-simulation-apply-box {
  margin: 4px 0 18px;
  padding: 18px;
  border-radius: 24px;
  border: 1px solid rgba(16,185,129,.28);
  background: linear-gradient(140deg, rgba(240,253,247,.98), rgba(247,250,255,.98));
  display: grid;
  grid-template-columns: 1.15fr .95fr;
  gap: 16px;
  align-items: center;
}
.power-simulation-apply-copy h4 { margin: 10px 0 6px; color:#0b2f43; font-size:1.18rem; }
.power-simulation-apply-copy p { margin:0; color:#607988; }
.power-simulation-apply-button,
.report-v29-power-toggle {
  position: relative;
  overflow: hidden;
  border: 0;
  cursor: pointer;
  border-radius: 999px;
  padding: 12px 16px;
  background: linear-gradient(135deg, #12b981, #0b8f6b);
  color: #fff;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  box-shadow: 0 18px 34px rgba(18,185,129,.22);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.power-simulation-apply-button:hover,
.report-v29-power-toggle:hover { transform: translateY(-2px); box-shadow: 0 22px 38px rgba(18,185,129,.28); }
.power-simulation-apply-button.is-active,
.report-v29-power-toggle.is-active { background: linear-gradient(135deg, #0f766e, #0b6b80); }
.power-simulation-apply-button[aria-pressed="true"],
.report-v29-power-toggle[aria-pressed="true"] { filter: saturate(1.05); }
.power-simulation-apply-pulse {
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.95);
  box-shadow: 0 0 0 0 rgba(255,255,255,.65);
  animation: powerPulse 1.6s ease-out infinite;
  flex: 0 0 auto;
}
@keyframes powerPulse {
  0% { box-shadow: 0 0 0 0 rgba(255,255,255,.65); transform: scale(1); }
  70% { box-shadow: 0 0 0 14px rgba(255,255,255,0); transform: scale(1.06); }
  100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); transform: scale(1); }
}
.report-v29-power-upsell {
  margin-top: 16px;
  padding: 16px;
  border-radius: 22px;
  border: 1px solid rgba(16,185,129,.2);
  background: linear-gradient(145deg, rgba(240,253,247,.98), rgba(255,255,255,.98));
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.report-v29-power-upsell-copy { display:flex; flex-direction:column; gap:4px; }
.report-v29-power-upsell-tag {
  align-self: flex-start;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(18,185,129,.12);
  color: #0c8663;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.report-v29-power-upsell-copy strong { color:#0b2f43; font-size:1.02rem; }
.report-v29-power-upsell-copy small { color:#607988; line-height:1.5; }
.report-v29-power-toggle { width: 100%; justify-content: flex-start; }
.report-v29-power-toggle .toggle-track {
  position: relative;
  width: 56px;
  height: 32px;
  border-radius: 999px;
  background: rgba(255,255,255,.24);
  border: 1px solid rgba(255,255,255,.3);
  flex: 0 0 auto;
}
.report-v29-power-toggle .toggle-thumb {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 6px 12px rgba(11,47,67,.18);
  transition: transform .2s ease;
}
.report-v29-power-toggle.is-active .toggle-thumb { transform: translateX(24px); }
.report-v29-power-toggle .toggle-copy,
.power-simulation-apply-text { display:flex; flex-direction:column; text-align:left; }
.report-v29-power-toggle .toggle-copy b,
.power-simulation-apply-text strong { color:#fff; font-size:.98rem; }
.report-v29-power-toggle .toggle-copy small,
.power-simulation-apply-text small { color: rgba(255,255,255,.88); line-height:1.35; }
.report-v29-saving-mode {
  margin-top: 10px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #eef5fb;
  color: #466072;
  font-size: .82rem;
  font-weight: 800;
}
.report-v29-saving-mode.is-active { background: rgba(18,185,129,.12); color:#0c8663; }
.report-v29-duel-card.best.is-power-adjusted { border-color:#9fdfc4; box-shadow: 0 18px 34px rgba(16,185,129,.12); }
@media (max-width: 900px) {
  .power-simulation-apply-box { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .power-simulation-apply-button,
  .report-v29-power-toggle { width: 100%; }
}
.step-action-link { display: inline-flex; margin-top: 8px; font-weight: 800; }

.report-finish-strip {
  margin-top: 20px;
  padding: 28px;
  border-radius: 28px;
  border: 1px solid rgba(16,185,129,.25);
  background: linear-gradient(140deg, rgba(239,253,247,.98), rgba(246,250,255,.98));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  box-shadow: 0 16px 36px rgba(11,47,67,.07);
}
.report-finish-strip h2 { margin: 12px 0 6px; color: #0b2f43; }
.report-finish-strip p { margin: 0; color: #607988; }
.report-finish-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }

/* Keep the first view simple: detailed sections remain collapsed until requested. */
.tariff-comparison-details .report-table-wrap { margin-top: 16px; }
#detalle-estudio .section-title-row { margin-top: 4px; }

@media (max-width: 900px) {
  .power-simulation-grid,
  .power-scenario-grid { grid-template-columns: 1fr; }
  .report-finish-strip { align-items: stretch; flex-direction: column; }
  .report-finish-actions { justify-content: stretch; }
  .report-finish-actions .button { width: 100%; justify-content: center; text-align: center; }
}
@media (max-width: 620px) {
  .result-secondary-summary,
  .power-simulation-details > summary { align-items: flex-start; flex-direction: column; }
  .power-simulation-actions { justify-content: stretch; }
  .power-simulation-actions .button { width: 100%; text-align: center; justify-content: center; }
}

/* v0.8.17 - resultado sencillo/avanzado y plan de acción */
[data-result-mode-root][data-result-mode="simple"] [data-result-advanced],
[data-result-mode-root][data-result-mode="advanced"] [data-result-simple] {
  display: none !important;
}
.result-mode-switch-shell {
  margin: 18px 0;
  padding: 20px 22px;
  border-radius: 28px;
  border: 1px solid rgba(148,163,184,.24);
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(239,252,247,.94));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  box-shadow: 0 16px 36px rgba(11,47,67,.06);
}
.result-mode-switch-copy { max-width: 720px; }
.result-mode-switch-copy h2 { margin: 7px 0 5px; color:#0b2f43; font-size:1.4rem; }
.result-mode-switch-copy p { margin:0; color:#607988; }
.result-mode-switch {
  display: inline-grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  padding: 6px;
  min-width: 390px;
  border-radius: 22px;
  background: #eaf3f6;
  box-shadow: inset 0 0 0 1px rgba(148,163,184,.18);
}
.result-mode-button {
  border: 0;
  border-radius: 17px;
  padding: 12px 14px;
  background: transparent;
  color:#476273;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:10px;
  text-align:left;
  transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}
.result-mode-button:hover { transform: translateY(-1px); }
.result-mode-button.is-active {
  background:#fff;
  color:#0b2f43;
  box-shadow:0 10px 24px rgba(11,47,67,.10);
}
.result-mode-icon {
  width:34px;
  height:34px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  background:#dff5ec;
  color:#078d69;
  font-weight:900;
}
.result-mode-button span:last-child { display:flex; flex-direction:column; gap:2px; }
.result-mode-button strong { font-size:.94rem; }
.result-mode-button small { font-size:.74rem; color:#708795; }

.report-v29-page[data-result-mode="simple"] .report-v29-hero-grid { grid-template-columns: 1fr; }
.report-v29-page[data-result-mode="simple"] .report-v29-hero-main { grid-template-columns: minmax(0,1.3fr) minmax(260px,.7fr); }
.report-v29-page[data-result-mode="simple"] .report-v29-overview-card { padding: 28px; }

.result-abc-shell {
  margin-bottom: 18px;
  padding: 26px;
  border-radius: 32px;
  border:1px solid #d9e8ee;
  background:linear-gradient(145deg, rgba(248,253,255,.98), rgba(242,255,249,.96));
  box-shadow:0 18px 38px rgba(11,47,67,.07);
}
.result-abc-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:20px;
}
.result-abc-head h2 { margin:7px 0 5px; color:#0b2f43; font-size:1.65rem; }
.result-abc-head p { margin:0; color:#607988; }
.result-abc-badge {
  width:62px;
  height:62px;
  border-radius:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#13b981,#0c8f6d);
  color:#fff;
  font-weight:900;
  font-size:1.05rem;
  box-shadow:0 14px 30px rgba(16,185,129,.22);
}
.result-abc-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.result-abc-card {
  position:relative;
  overflow:hidden;
  min-height:290px;
  padding:22px;
  border-radius:26px;
  background:rgba(255,255,255,.92);
  border:1px solid #dce8ee;
  display:flex;
  gap:16px;
}
.result-abc-card-best { background:linear-gradient(145deg,#f3fff8,#fff); border-color:#bfe8d3; }
.result-abc-card-power { background:linear-gradient(145deg,#f7f9ff,#fff); border-color:#cdd9fb; }
.result-abc-letter {
  width:42px;
  height:42px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#e9f6f1;
  color:#087a61;
  font-weight:900;
  font-size:1.15rem;
  flex:0 0 auto;
}
.result-abc-card-copy { display:flex; flex-direction:column; width:100%; }
.result-abc-card-copy > small { color:#6a8190; font-size:.75rem; font-weight:900; text-transform:uppercase; letter-spacing:.05em; }
.result-abc-card-copy h3 { margin:8px 0 6px; color:#0b2f43; font-size:1.25rem; }
.result-abc-card-copy p { margin:0; color:#607988; line-height:1.55; }
.result-abc-metric { margin-top:18px; padding:16px; border-radius:20px; background:#f4f8fb; border:1px solid #dce8ee; }
.result-abc-metric.saving { background:#effbf5; border-color:#c7ead8; }
.result-abc-metric strong { display:block; color:#0b2f43; font-size:1.65rem; line-height:1.1; }
.result-abc-metric.saving strong { color:#078d69; }
.result-abc-metric span { display:block; margin-top:5px; color:#607988; }
.result-abc-foot { margin-top:auto; padding-top:16px; color:#5d7483; }
.result-abc-power-toggle {
  margin-top:16px;
  width:100%;
  border:0;
  border-radius:22px;
  padding:14px;
  cursor:pointer;
  background:linear-gradient(135deg,#12b981,#0b8f6b);
  color:#fff;
  display:flex;
  align-items:center;
  gap:12px;
  box-shadow:0 16px 30px rgba(18,185,129,.2);
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.result-abc-power-toggle:hover { transform:translateY(-2px); box-shadow:0 20px 34px rgba(18,185,129,.28); }
.result-abc-power-toggle.is-active { background:linear-gradient(135deg,#0f766e,#0b6b80); }
.result-abc-power-toggle .toggle-track {
  position:relative;
  width:56px;
  height:32px;
  border-radius:999px;
  background:rgba(255,255,255,.24);
  border:1px solid rgba(255,255,255,.32);
  flex:0 0 auto;
}
.result-abc-power-toggle .toggle-thumb {
  position:absolute;
  top:3px;
  left:3px;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 6px 12px rgba(11,47,67,.2);
  transition:transform .2s ease;
}
.result-abc-power-toggle.is-active .toggle-thumb { transform:translateX(24px); }
.result-abc-power-toggle .toggle-copy { display:flex; flex-direction:column; align-items:flex-start; text-align:left; }
.result-abc-power-toggle b { color:#fff; }
.result-abc-power-toggle small { color:rgba(255,255,255,.88); line-height:1.35; }
.result-abc-power-state {
  margin-top:10px;
  padding:9px 12px;
  border-radius:999px;
  background:#eef5fb;
  color:#536c7d;
  font-size:.82rem;
  font-weight:800;
  text-align:center;
}
.result-abc-power-state.is-active { background:#e5f8ef; color:#087a61; }
.result-simple-plan {
  margin-top:18px;
  padding:20px;
  border-radius:24px;
  border:1px solid rgba(16,185,129,.24);
  background:linear-gradient(135deg,rgba(239,253,247,.98),rgba(247,250,255,.98));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}
.result-simple-plan h3 { margin:9px 0 5px; color:#0b2f43; font-size:1.35rem; }
.result-simple-plan p { margin:0; color:#607988; }
.result-simple-plan-actions { display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; }
.result-simple-main-action { position:relative; overflow:hidden; }
.result-simple-main-action::after {
  content:"";
  position:absolute;
  inset:-40%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);
  transform:translateX(-70%) rotate(16deg);
  animation:simpleActionSweep 2.8s ease-in-out infinite;
}
@keyframes simpleActionSweep { 0%,55%{transform:translateX(-70%) rotate(16deg)} 100%{transform:translateX(70%) rotate(16deg)} }

.result-action-dialog {
  width:min(920px,calc(100vw - 28px));
  max-height:calc(100vh - 28px);
  padding:0;
  border:0;
  border-radius:30px;
  background:transparent;
  overflow:auto;
}
.result-action-dialog::backdrop { background:rgba(6,25,36,.62); backdrop-filter:blur(6px); }
.result-action-dialog-card {
  position:relative;
  padding:28px;
  border-radius:30px;
  background:#fff;
  box-shadow:0 30px 80px rgba(5,28,40,.28);
}
.result-action-dialog-close {
  position:absolute;
  top:18px;
  right:18px;
  width:40px;
  height:40px;
  border:0;
  border-radius:14px;
  background:#eef4f6;
  color:#0b2f43;
  font-size:1.5rem;
  cursor:pointer;
}
.result-action-dialog-head { padding-right:48px; }
.result-action-dialog-head h2 { margin:10px 0 6px; color:#0b2f43; font-size:2rem; }
.result-action-dialog-head p { margin:0; color:#607988; }
.result-action-summary {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:22px 0;
}
.result-action-summary article { padding:16px; border-radius:20px; background:#f7fafc; border:1px solid #dce8ee; }
.result-action-summary span { display:block; color:#6a8190; font-size:.76rem; font-weight:900; text-transform:uppercase; letter-spacing:.05em; }
.result-action-summary strong { display:block; margin-top:7px; color:#0b2f43; font-size:1.05rem; }
.result-action-steps { padding:20px; border-radius:22px; background:#f3fbf7; border:1px solid #cbe8d9; }
.result-action-steps h3 { margin:0 0 14px; color:#0b2f43; }
.result-action-steps ol { margin:0; padding-left:22px; color:#315064; }
.result-action-steps li { padding:5px 0 5px 6px; line-height:1.5; }
.result-contact-script { margin-top:20px; }
.result-contact-tabs { display:flex; gap:8px; margin-bottom:10px; }
.result-contact-tabs button {
  border:1px solid #d6e4ea;
  background:#f4f8fa;
  color:#4c6676;
  padding:10px 14px;
  border-radius:14px;
  cursor:pointer;
  font-weight:800;
}
.result-contact-tabs button.is-active { background:#0e9d78; color:#fff; border-color:#0e9d78; }
.result-contact-script-box { padding:18px; border-radius:22px; background:#f8fbfc; border:1px solid #dce8ee; }
.result-contact-script-box pre {
  margin:0 0 14px;
  white-space:pre-wrap;
  font-family:inherit;
  color:#27475a;
  line-height:1.6;
}
.result-action-dialog-footer { margin-top:20px; display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; }
.result-action-disclaimer { margin:16px 0 0; color:#6b818d; font-size:.83rem; line-height:1.5; }

.result-action-summary--rich { grid-template-columns:repeat(3,minmax(0,1fr)); }
.result-action-visual-grid {
  display:grid;
  grid-template-columns:1.2fr .95fr;
  gap:16px;
  margin-bottom:18px;
}
.result-action-mini-chart,
.result-action-copy-card,
.result-action-followup {
  padding:18px;
  border-radius:24px;
  border:1px solid #dce8ee;
  background:#f8fbfc;
}
.section-title-row--tight { align-items:flex-start; gap:10px; margin-bottom:12px; }
.section-title-row--tight h3 { margin:0 0 4px; color:#0b2f43; }
.section-title-row--tight p { margin:0; color:#637d8a; font-size:.95rem; }
.result-action-bars { display:grid; gap:14px; margin-top:14px; }
.result-action-bar-row { display:grid; gap:8px; }
.result-action-bar-copy { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.result-action-bar-copy strong { color:#0b2f43; }
.result-action-bar-copy span { color:#5f7784; font-weight:700; }
.result-action-bar-track {
  position:relative;
  width:100%;
  height:14px;
  border-radius:999px;
  background:#e5eef2;
  overflow:hidden;
}
.result-action-bar-track span {
  display:block;
  height:100%;
  border-radius:999px;
  min-width:10%;
}
.result-action-bar-track .is-current { background:linear-gradient(90deg,#0b2f43,#3e7088); }
.result-action-bar-track .is-new { background:linear-gradient(90deg,#11b57c,#69d89f); }
.result-action-projection {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}
.result-action-projection article {
  padding:14px;
  border-radius:18px;
  background:#fff;
  border:1px solid #dce8ee;
}
.result-action-projection span { display:block; color:#6b818d; font-size:.82rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.result-action-projection strong { display:block; margin-top:6px; color:#0b2f43; font-size:1.05rem; }
.result-action-copy-card h3,
.result-action-followup h3 { margin:0 0 6px; color:#0b2f43; }
.result-action-copy-card > p { margin:0 0 12px; color:#627c89; }
.result-action-followup { margin-top:18px; background:linear-gradient(180deg,#f8fcfb 0%,#f5f8fb 100%); }
.result-action-timeline {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.result-action-timeline article,
.recommendation-progress-timeline article {
  position:relative;
  padding:16px;
  border-radius:20px;
  border:1px solid #dce8ee;
  background:#fff;
}
.result-action-timeline article span,
.recommendation-progress-timeline article span {
  display:inline-flex;
  width:28px;
  height:28px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  margin-bottom:10px;
  background:#e6eef2;
  color:#0b2f43;
  font-weight:900;
}
.result-action-timeline article strong,
.result-action-timeline article small,
.recommendation-progress-timeline article strong,
.recommendation-progress-timeline article small {
  display:block;
}
.result-action-timeline article strong,
.recommendation-progress-timeline article strong { color:#0b2f43; margin-bottom:6px; }
.result-action-timeline article small,
.recommendation-progress-timeline article small { color:#617986; line-height:1.45; }
.result-action-timeline article.is-done,
.recommendation-progress-timeline article.is-done {
  border-color:#b9e6d0;
  background:#f2fbf6;
}
.result-action-timeline article.is-done span,
.recommendation-progress-timeline article.is-done span { background:#0e9d78; color:#fff; }
.result-action-timeline article.is-active,
.recommendation-progress-timeline article.is-active {
  border-color:#9fd7c1;
  box-shadow:0 10px 24px rgba(14,157,120,.12);
}
.result-action-timeline article.is-active span,
.recommendation-progress-timeline article.is-active span {
  background:#d9f3e8;
  color:#0e7b5f;
}
.result-action-timeline article.is-muted,
.recommendation-progress-timeline article.is-muted {
  opacity:.55;
  background:#f4f7f9;
}
.recommendation-progress-card { padding:24px; }
.recommendation-progress-timeline {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:18px;
}

.completion-card {
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.completion-card__content {
  position:relative;
  z-index:1;
  transition:filter .35s ease, opacity .35s ease, transform .35s ease;
}
.completion-card__stamp,
.completion-card__message {
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%) scale(.9);
  z-index:3;
  opacity:0;
  pointer-events:none;
  transition:opacity .35s ease, transform .35s ease;
}
.completion-card__stamp {
  width:140px;
  height:140px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.85), rgba(255,255,255,.35)), linear-gradient(135deg, rgba(17,181,124,.9), rgba(11,120,94,.92));
  box-shadow:0 18px 44px rgba(10,94,74,.28);
  color:#fff;
  font-size:4.7rem;
  font-weight:900;
  letter-spacing:-.08em;
  text-indent:-.06em;
}
.completion-card__message {
  top:calc(50% + 92px);
  padding:10px 18px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:#0b5b47;
  font-weight:800;
  letter-spacing:.02em;
  box-shadow:0 10px 30px rgba(9,56,45,.16);
  backdrop-filter:blur(8px);
}
.completion-card.is-complete::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(180deg, rgba(236,250,244,.68) 0%, rgba(228,245,239,.82) 100%);
  backdrop-filter:blur(12px);
}
.completion-card.is-complete .completion-card__content {
  filter:blur(3px);
  opacity:.42;
  transform:scale(.985);
}
.completion-card.is-complete .completion-card__stamp,
.completion-card.is-complete .completion-card__message {
  opacity:1;
  transform:translate(-50%, -50%) scale(1);
}
@media (max-width: 700px) {
  .completion-card__stamp {
    width:112px;
    height:112px;
    font-size:3.8rem;
  }
  .completion-card__message { top:calc(50% + 78px); font-size:.88rem; }
}

@media (max-width: 1020px) {
  .result-mode-switch-shell { align-items:stretch; flex-direction:column; }
  .result-mode-switch { min-width:0; width:100%; }
  .result-abc-grid { grid-template-columns:1fr; }
  .result-abc-card { min-height:0; }
  .report-v29-page[data-result-mode="simple"] .report-v29-hero-main { grid-template-columns:1fr; }
}
@media (max-width: 700px) {
  .result-mode-switch { grid-template-columns:1fr; }
  .result-mode-switch-shell,
  .result-abc-shell { padding:18px; border-radius:24px; }
  .result-abc-head,
  .result-simple-plan { align-items:stretch; flex-direction:column; }
  .result-simple-plan-actions,
  .result-simple-plan-actions .button { width:100%; }
  .result-simple-plan-actions .button { justify-content:center; }
  .result-action-summary,
  .result-action-summary--rich,
  .result-action-visual-grid,
  .result-action-projection,
  .result-action-timeline,
  .recommendation-progress-timeline { grid-template-columns:1fr; }
  .result-action-bar-copy { align-items:flex-start; flex-direction:column; }
  .result-action-dialog-card { padding:22px 18px; }
  .result-action-dialog-footer .button { width:100%; justify-content:center; text-align:center; }
}

@media print {
  body.action-plan-printing > *:not(.result-action-dialog) { display:none !important; }
  body.action-plan-printing .result-action-dialog { display:block !important; position:static; width:100%; max-height:none; }
  body.action-plan-printing .result-action-dialog::backdrop { display:none; }
  body.action-plan-printing .result-action-dialog-close,
  body.action-plan-printing .result-contact-tabs,
  body.action-plan-printing [data-copy-action-script],
  body.action-plan-printing .result-action-dialog-footer { display:none !important; }
  body.action-plan-printing .result-action-dialog-card { box-shadow:none; padding:0; }
}

/* v0.8.18 - cierre de recomendaciones y control de facturas repetidas */
.recommendation-state-bar{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  margin:0 0 18px;padding:18px 20px;border-radius:24px;
  background:linear-gradient(135deg,rgba(247,252,255,.98),rgba(239,253,247,.98));
  border:1px solid rgba(16,185,129,.22);box-shadow:0 14px 30px rgba(11,47,67,.06);
}
.recommendation-state-bar>div:first-child{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px 12px;}
.recommendation-state-bar>div:first-child small{grid-column:2;color:#607988;}
.recommendation-state-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;}
.recommendation-state-actions form{margin:0;}
.recommendation-flash{margin-bottom:18px;}
.completed-actions-card{margin-top:20px;}
.completed-actions-list{display:grid;gap:12px;margin-top:16px;}
.completed-actions-list article{
  display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:center;
  padding:16px 18px;border:1px solid #dce8ee;border-radius:20px;background:rgba(255,255,255,.82);
}
.completed-actions-list h3{margin:8px 0 3px;color:#0b2f43;}
.completed-actions-list p,.completed-actions-list small{margin:0;color:#607988;}
.completed-actions-list>article>div:nth-child(2){display:flex;flex-direction:column;text-align:right;gap:4px;}
.invoice-duplicate-strip{
  margin-top:16px;padding:18px;border-radius:22px;border:1px dashed #9eb7c5;
  background:linear-gradient(135deg,#f8fbfd,#f3f8fa);display:flex;justify-content:space-between;gap:18px;align-items:center;
}
.invoice-duplicate-strip strong{display:block;color:#0b2f43;margin-bottom:5px;}
.invoice-duplicate-strip p{margin:0;color:#607988;}
.duplicate-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.duplicate-actions form{margin:0;}
@media(max-width:820px){
  .recommendation-state-bar,.invoice-duplicate-strip{align-items:stretch;flex-direction:column;}
  .recommendation-state-actions,.duplicate-actions{justify-content:stretch;}
  .recommendation-state-actions form,.recommendation-state-actions .button,.duplicate-actions .button{width:100%;}
  .completed-actions-list article{grid-template-columns:1fr;}
  .completed-actions-list>article>div:nth-child(2){text-align:left;}
}

.result-action-tracking{
  margin-top:18px;padding:18px;border-radius:22px;border:1px solid rgba(16,185,129,.24);
  background:linear-gradient(135deg,rgba(239,253,247,.98),rgba(248,252,255,.98));
  display:flex;align-items:center;justify-content:space-between;gap:18px;
}
.result-action-tracking h3{margin:8px 0 4px;color:#0b2f43;}
.result-action-tracking p{margin:0;color:#607988;}
.result-action-tracking-buttons{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap;}
.result-action-tracking-buttons form{margin:0;}
@media(max-width:760px){
  .result-action-tracking{align-items:stretch;flex-direction:column;}
  .result-action-tracking-buttons{justify-content:stretch;}
  .result-action-tracking-buttons form,.result-action-tracking-buttons .button{width:100%;}
}
.recommendation-actions form{margin:0;display:inline-flex;}

/* v0.8.18.3 - revisión pública simple y QR CNMC prioritario */
.review-public-badges{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.badge.qr-trusted{background:#e8f7ff;color:#0b6280;border-color:#b9e1ef;}
.review-open-fields-button{margin-top:6px;justify-self:start;}
.review-user-edit-details{
  border:1px solid #d8e8ee;
  border-radius:26px;
  background:rgba(255,255,255,.88);
  box-shadow:0 14px 32px rgba(11,47,67,.06);
  overflow:hidden;
}
.review-user-edit-details>summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:20px 24px;
  background:linear-gradient(135deg,rgba(248,252,255,.98),rgba(239,252,247,.97));
}
.review-user-edit-details>summary::-webkit-details-marker{display:none;}
.review-user-edit-details>summary span{display:flex;flex-direction:column;gap:4px;}
.review-user-edit-details>summary strong{color:#0b2f43;font-size:1.05rem;}
.review-user-edit-details>summary small{color:#607988;line-height:1.45;}
.review-user-edit-details>summary b{
  flex:0 0 auto;
  padding:10px 15px;
  border-radius:999px;
  background:#e7f8f1;
  color:#08795f;
  font-size:.84rem;
}
.review-user-edit-details[open]>summary b{background:#dff2eb;}
.review-user-edit-inner{padding:18px;display:grid;gap:18px;}
.review-user-edit-inner>.review-section-card{box-shadow:none;}
.review-field-neutral input{border-color:#dbe8ee;background:#fff;}
@media(max-width:720px){
  .review-open-fields-button{width:100%;justify-content:center;}
  .review-user-edit-details>summary{align-items:flex-start;flex-direction:column;}
  .review-user-edit-inner{padding:12px;}
}

/* --- v0.8.18.4: fiabilidad QR visible, formularios a la izquierda y volver arriba --- */
.review-public-simple {
  max-width: 480px;
}
.review-public-simple-main {
  display: grid;
  gap: 14px;
}
.review-source-confidence {
  display: grid;
  grid-template-columns: 106px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  padding: 14px;
  border-radius: 22px;
  border: 1px solid #d9e8ee;
  background: rgba(248,252,254,.92);
}
.review-source-confidence.good {
  background: linear-gradient(145deg, #effcf5, #ffffff);
  border-color: #bce8d2;
}
.review-source-confidence.warning {
  background: linear-gradient(145deg, #fff9e8, #ffffff);
  border-color: #f0d48b;
}
.review-source-confidence.danger {
  background: linear-gradient(145deg, #fff2f3, #ffffff);
  border-color: #efb9c0;
}
.review-source-confidence-ring {
  --ring-color: #12a874;
  width: 98px;
  height: 98px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  align-content: center;
  position: relative;
  background:
    radial-gradient(circle at center, #fff 60%, transparent 61%),
    conic-gradient(var(--ring-color) calc(var(--source-score) * 1%), #dfe9ee 0);
  box-shadow: 0 10px 24px rgba(11,47,67,.08);
}
.review-source-confidence.warning .review-source-confidence-ring { --ring-color: #e4a400; }
.review-source-confidence.danger .review-source-confidence-ring { --ring-color: #df4050; }
.review-source-confidence-ring strong {
  font-size: 1.48rem;
  line-height: 1;
  color: #0b2f43;
}
.review-source-confidence-ring span {
  margin-top: 5px;
  color: #6b818f;
  font-size: .68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.review-source-confidence-label {
  display: inline-flex;
  margin-bottom: 5px;
  font-weight: 900;
  color: #0b7357;
}
.review-source-confidence.warning .review-source-confidence-label { color: #8a6500; }
.review-source-confidence.danger .review-source-confidence-label { color: #a22634; }
.review-source-confidence p {
  margin: 0 0 5px;
  color: #35596d;
  line-height: 1.5;
}
.review-source-confidence small { color: #6c8390; line-height: 1.45; }
.review-public-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.review-confidence-info-button {
  border: 0;
  background: transparent;
  cursor: pointer;
  padding: 8px 4px;
}
.review-confidence-info {
  padding: 13px 15px;
  border-radius: 16px;
  background: #f4f9fb;
  border: 1px dashed #cadce5;
  color: #4f6a7a;
}
.review-confidence-info strong { color: #0b2f43; }
.review-confidence-info p { margin: 7px 0 0; line-height: 1.55; }
.review-form-explainer-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, .72fr);
  gap: 18px;
  align-items: start;
}
.review-form-explainer {
  position: sticky;
  top: 92px;
  padding: 22px;
  border-radius: 26px;
  border: 1px solid #cfe4dc;
  background: linear-gradient(150deg, #f2fff8, #f8fbff);
  box-shadow: 0 14px 30px rgba(11,47,67,.06);
}
.review-form-explainer-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(145deg, #13b77b, #0d8d75);
  font-size: 1.35rem;
  font-weight: 900;
  box-shadow: 0 12px 24px rgba(12,148,106,.22);
}
.review-form-explainer h3 { margin: 8px 0 12px; color: #0b2f43; }
.review-form-explainer ol { margin: 0; padding-left: 20px; display: grid; gap: 11px; color: #4f6978; line-height: 1.5; }
.review-form-explainer-status {
  margin-top: 18px;
  padding: 14px;
  border-radius: 18px;
  display: grid;
  gap: 4px;
  background: #eef9f4;
  border: 1px solid #c7e8d8;
}
.review-form-explainer-status.warning { background: #fff8e8; border-color: #efd58e; }
.review-form-explainer-status.danger { background: #fff1f2; border-color: #efb9c0; }
.review-form-explainer-status strong { color: #0b2f43; }
.review-form-explainer-status span { color: #607988; font-size: .86rem; line-height: 1.45; }

/* Los formularios principales ocupan la columna izquierda y la explicación la derecha. */
@media (min-width: 981px) {
  .auth-access-card { order: 1; }
  .auth-value-panel { order: 2; }
  .invoice-entry-workspace > .new-invoice-upload-card,
  .invoice-entry-workspace > .manual-invoice-form { order: 1; }
  .invoice-entry-workspace > .invoice-entry-info-card { order: 2; }
}

.page-back-to-top {
  position: fixed;
  top: 20px;
  right: 22px;
  z-index: 1600;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 46px;
  padding: 10px 15px 10px 11px;
  border: 1px solid rgba(255,255,255,.65);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(11,58,75,.96), rgba(11,153,112,.96));
  color: #fff;
  box-shadow: 0 16px 34px rgba(8,58,77,.25);
  font: inherit;
  font-size: .86rem;
  font-weight: 900;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-12px) scale(.96);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease, box-shadow .2s ease;
}
.page-back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}
.page-back-to-top:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 20px 40px rgba(8,58,77,.32);
}
.page-back-to-top-icon {
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255,255,255,.18);
  font-size: 1rem;
}

.account-security-layout {
  width: min(100% - 28px, 980px);
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  gap: 18px;
  align-items: stretch;
}
.account-security-layout .account-security-card { width: 100%; }
.account-security-explainer {
  padding: 30px;
  border-radius: 30px;
  border: 1px solid #d4e6ec;
  background: linear-gradient(145deg, rgba(244,252,248,.98), rgba(247,251,255,.98));
  text-align: left;
  box-shadow: 0 18px 40px rgba(11,47,67,.08);
}
.account-security-explainer h2 { margin: 10px 0 12px; color: #0b2f43; }
.account-security-explainer p,
.account-security-explainer li { color: #607988; line-height: 1.6; }
.account-security-explainer ul { padding-left: 20px; }

@media (max-width: 980px) {
  .review-form-explainer-layout,
  .account-security-layout { grid-template-columns: 1fr; }
  .review-form-explainer { position: static; order: 2; }
}
@media (max-width: 620px) {
  .review-source-confidence { grid-template-columns: 1fr; }
  .review-source-confidence-ring { margin-inline: auto; }
  .review-public-actions .button,
  .review-public-actions .link-button { width: 100%; justify-content: center; text-align: center; }
  .page-back-to-top { top: 12px; right: 12px; padding-right: 12px; }
  .page-back-to-top-label { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .page-back-to-top { transition: none; }
}

/* --- v0.8.18.5: fiabilidad visible por cada campo extraido --- */
.review-field-status > .review-field-label-line,
.review-advanced-block label > .review-field-label-line {
  float: none;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #294b5f;
  font-size: inherit;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  margin-bottom: 7px;
}
.review-field-label-line > span:first-child {
  min-width: 0;
}
.review-field-confidence {
  flex: 0 0 auto;
  min-width: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 9px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: .72rem;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .01em;
  box-shadow: 0 5px 12px rgba(11,47,67,.05);
}
.review-field-confidence.confirmed {
  color: #087653;
  background: #e8f9f1;
  border-color: #bde8d4;
}
.review-field-confidence.likely {
  color: #856000;
  background: #fff4c9;
  border-color: #efd47d;
}
.review-field-confidence.review,
.review-field-confidence.missing {
  color: #a22634;
  background: #ffe9ec;
  border-color: #efb9c0;
}
.review-field-confidence-legend {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin: 14px 0 8px;
  padding: 10px 12px;
  border-radius: 16px;
  background: #f7fbfd;
  border: 1px solid #dbe8ee;
  color: #526d7c;
  font-size: .78rem;
  font-weight: 800;
}
.review-field-confidence-legend span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.review-field-confidence-legend i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
  box-shadow: 0 0 0 3px rgba(148,163,184,.10);
}
.review-field-confidence-legend i.good { background: #16a875; }
.review-field-confidence-legend i.warning { background: #e2a600; }
.review-field-confidence-legend i.danger { background: #df4050; }
.review-field-confidence-note {
  margin: 0 0 16px;
  color: #627b89;
  font-size: .86rem;
  line-height: 1.5;
}
@media (max-width: 620px) {
  .review-field-label-line { align-items: flex-start; }
  .review-field-confidence { min-width: 50px; }
  .review-field-confidence-legend { align-items: flex-start; flex-direction: column; }
}


/* --- v0.8.18.6 transition overlay after data confirmation --- */
.analysis-overlay-review .analysis-overlay-card{
  max-width:560px;
}
.analysis-energy-wrap {
  width:165px; min-width:165px; height:170px; position:relative; border-radius:26px; overflow:hidden;
  background:linear-gradient(180deg, #eef7ff 0%, #f9fdff 36%, #ecf8ef 100%); border:1px solid #d8e9f2;
}
.analysis-energy-sun {
  position:absolute; right:16px; top:16px; width:28px; height:28px; border-radius:50%;
  background:radial-gradient(circle, #fff6bf 0%, #ffd65e 62%, #ffbf3e 100%);
  box-shadow:0 0 0 10px rgba(255,214,94,.18);
}
.analysis-energy-cloud { position:absolute; background:rgba(255,255,255,.88); border-radius:999px; filter:drop-shadow(0 6px 10px rgba(145,172,187,.14)); }
.analysis-energy-cloud.one { width:44px; height:15px; left:16px; top:22px; }
.analysis-energy-cloud.one::before,.analysis-energy-cloud.one::after,.analysis-energy-cloud.two::before,.analysis-energy-cloud.two::after { content:""; position:absolute; background:inherit; border-radius:50%; }
.analysis-energy-cloud.one::before { width:17px; height:17px; left:6px; top:-8px; }
.analysis-energy-cloud.one::after { width:17px; height:17px; right:7px; top:-8px; }
.analysis-energy-cloud.two { width:38px; height:13px; left:54px; top:44px; opacity:.95; }
.analysis-energy-cloud.two::before { width:14px; height:14px; left:5px; top:-6px; }
.analysis-energy-cloud.two::after { width:14px; height:14px; right:7px; top:-7px; }
.analysis-energy-ground {
  position:absolute; left:-8%; bottom:0; width:118%; height:58px; border-radius:50% 50% 0 0;
  background:linear-gradient(180deg, #bfe7cf 0%, #8fd3ad 100%);
}
.analysis-solar-panel {
  position:absolute; left:18px; bottom:30px; width:62px; height:40px; border-radius:8px;
  background:linear-gradient(180deg, #2b8bc9 0%, #14699b 100%); transform:skew(-12deg);
  border:3px solid rgba(255,255,255,.85); box-shadow:0 8px 14px rgba(17,88,120,.18);
}
.analysis-solar-panel::before {
  content:""; position:absolute; left:24px; bottom:-18px; width:5px; height:18px; background:#7aa1ae; border-radius:4px;
}
.analysis-solar-grid {
  position:absolute; inset:6px; border-radius:4px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.34) 0, rgba(255,255,255,.34) 1px, transparent 1px, transparent 16px),
    linear-gradient(180deg, rgba(255,255,255,.30) 0, rgba(255,255,255,.30) 1px, transparent 1px, transparent 12px);
  background-size:17px 100%, 100% 13px;
}
.analysis-energy-house { position:absolute; left:78px; bottom:31px; width:48px; height:46px; }
.analysis-house-roof {
  position:absolute; left:4px; top:0; width:38px; height:18px; background:#0b6f82;
  clip-path:polygon(50% 0, 100% 100%, 0 100%); filter:drop-shadow(0 3px 4px rgba(25,76,99,.12));
}
.analysis-house-body {
  position:absolute; left:9px; top:14px; width:30px; height:24px; border-radius:7px; background:#fffaf2; border:1px solid #e3e7ea;
}
.analysis-house-door {
  position:absolute; left:20px; bottom:8px; width:8px; height:14px; border-radius:5px 5px 0 0; background:#18b878;
}
.analysis-house-window {
  position:absolute; top:20px; width:7px; height:7px; border-radius:3px; background:#b8e5ff;
  border:1px solid rgba(11,111,130,.18);
}
.analysis-house-window.left { left:13px; }
.analysis-house-window.right { right:13px; }
.analysis-energy-battery {
  position:absolute; right:18px; bottom:34px; width:28px; height:52px; border-radius:10px;
  background:rgba(255,255,255,.78); border:2px solid #9cc8dc; box-shadow:0 8px 14px rgba(17,88,120,.10);
}
.analysis-energy-battery-cap {
  position:absolute; left:8px; top:-6px; width:8px; height:5px; border-radius:4px 4px 0 0; background:#9cc8dc;
}
.analysis-energy-battery-level {
  position:absolute; left:4px; right:4px; bottom:4px; height:14px; border-radius:6px;
  background:linear-gradient(180deg, #34d58c 0%, #0fa16b 100%); animation:energyBatteryPulse 1.4s ease-in-out infinite;
  transform-origin:bottom center;
}
.analysis-energy-battery-bolt {
  position:absolute; inset:0; display:grid; place-items:center; font-size:15px; color:#0d7d94; font-weight:800;
}
.analysis-energy-flow {
  position:absolute; height:4px; border-radius:999px; background:linear-gradient(90deg, rgba(24,184,120,0) 0%, rgba(24,184,120,.95) 46%, rgba(12,127,148,.9) 100%);
  opacity:.9; transform-origin:left center;
}
.analysis-energy-flow.one {
  left:62px; bottom:55px; width:40px; animation:energyFlowMove 1.7s ease-in-out infinite;
}
.analysis-energy-flow.two {
  left:104px; bottom:59px; width:34px; animation:energyFlowMove 1.7s ease-in-out .4s infinite;
}
@keyframes energyBatteryPulse {
  0%,100% { height:14px; }
  50% { height:38px; }
}
@keyframes energyFlowMove {
  0% { opacity:0; transform:scaleX(.35) translateX(-6px); }
  25% { opacity:.95; }
  70% { opacity:.95; }
  100% { opacity:0; transform:scaleX(1.05) translateX(8px); }
}
@media (max-width:700px){
  .analysis-overlay-review .analysis-energy-wrap{width:100%;min-width:0;height:154px;order:-1;}
}
@media (prefers-reduced-motion:reduce){
  .analysis-energy-battery-level,.analysis-energy-flow{animation:none}
}


/* --- v0.8.18.7 registration validation and password guidance --- */
.auth-form-heading-signup{gap:0;}
.auth-register-page .auth-mode-switch a:last-child{grid-template-columns:1fr;}
.auth-field{position:relative;}
.auth-field.has-error > input,
.auth-field.has-error .auth-password-wrap input,
.auth-access-form input[aria-invalid="true"]{
  border-color:#e04b5a;
  background:#fff7f8;
  box-shadow:0 0 0 4px rgba(224,75,90,.10);
}
.auth-field.has-error{color:#a52a38;}
.auth-field-error{
  display:block;
  margin-top:7px;
  color:#c22f40;
  font-size:.75rem;
  font-weight:800;
  line-height:1.4;
}
.auth-client-error[hidden]{display:none;}
.auth-password-policy{
  margin-top:-3px;
  padding:14px 15px;
  border:1px solid #d8e8ee;
  border-radius:16px;
  background:linear-gradient(145deg,#f8fbfd,#f5fcf8);
}
.auth-password-policy strong{
  display:block;
  margin-bottom:10px;
  color:#27495c;
  font-size:.78rem;
}
.auth-password-policy ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 14px;
  margin:0;
  padding:0;
  list-style:none;
}
.auth-password-policy li,
.auth-password-match{
  display:flex;
  align-items:center;
  gap:8px;
  color:#718590;
  font-size:.74rem;
  font-weight:750;
  transition:color .2s ease;
}
.password-rule-led{
  width:10px;
  height:10px;
  flex:0 0 10px;
  border-radius:50%;
  background:#cbd8de;
  box-shadow:0 0 0 4px rgba(203,216,222,.28);
  transition:background .2s ease,box-shadow .2s ease,transform .2s ease;
}
.auth-password-policy li.is-valid,
.auth-password-match.is-valid{color:#087b55;}
.auth-password-policy li.is-valid .password-rule-led,
.auth-password-match.is-valid .password-rule-led{
  background:#16b97c;
  box-shadow:0 0 0 4px rgba(22,185,124,.14),0 0 12px rgba(22,185,124,.35);
  transform:scale(1.05);
}
.auth-password-match{
  margin-top:9px;
  padding-left:2px;
}
.auth-password-match.has-value:not(.is-valid){color:#b33c4b;}
.auth-password-match.has-value:not(.is-valid) .password-rule-led{
  background:#e04b5a;
  box-shadow:0 0 0 4px rgba(224,75,90,.12);
}
.auth-access-form.is-client-invalid .auth-submit-button{
  animation:authInvalidShake .28s ease-in-out;
}
@keyframes authInvalidShake{
  0%,100%{transform:translateX(0)}
  25%{transform:translateX(-5px)}
  75%{transform:translateX(5px)}
}
@media(max-width:620px){
  .auth-password-policy ul{grid-template-columns:1fr;}
}

/* ========================================================================== 
   v0.8.18.8 - Home seria, privacidad visible y CTA con reflejo
   ========================================================================== */
body.home-serious-v1 {
  --home2-navy: #062a43;
  --home2-navy-2: #0a3a55;
  --home2-green: #0aa879;
  --home2-green-dark: #078461;
  --home2-green-soft: #e9fbf4;
  --home2-blue: #1274d1;
  --home2-muted: #5a7184;
  --home2-line: #d9e7eb;
  --home2-surface: rgba(255, 255, 255, .94);
  min-height: 100vh;
  color: var(--home2-navy);
  background: #f8fbfc;
  cursor: auto !important;
}

body.home-serious-v1::before,
body.home-serious-v1::after {
  display: none !important;
}

body.home-serious-v1,
body.home-serious-v1 a,
body.home-serious-v1 button,
body.home-serious-v1 label,
body.home-serious-v1 input,
body.home-serious-v1 summary,
body.home-serious-v1 textarea,
body.home-serious-v1 select {
  cursor: auto !important;
}
body.home-serious-v1 a,
body.home-serious-v1 button,
body.home-serious-v1 label,
body.home-serious-v1 summary,
body.home-serious-v1 .upload-zone {
  cursor: pointer !important;
}
body.home-serious-v1 .cursor-glow,
body.home-serious-v1 .energy-cursor,
body.home-serious-v1 .energy-click-pulse,
body.home-serious-v1 .energy-spark {
  display: none !important;
}

body.home-serious-v1 .home2-header {
  position: sticky;
  top: 0;
  z-index: 100;
  margin: 0;
  padding: 14px max(28px, calc((100vw - 1500px) / 2));
  grid-template-columns: minmax(235px, .8fr) minmax(430px, 1.15fr) minmax(340px, .9fr);
  gap: 28px;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid rgba(213, 226, 232, .9);
  box-shadow: 0 8px 28px rgba(6, 42, 67, .055);
  backdrop-filter: blur(18px);
}
body.home-serious-v1 .home2-header .how-brand img {
  width: clamp(220px, 17vw, 310px);
}
body.home-serious-v1 .home2-nav {
  justify-content: center;
  gap: clamp(20px, 2.4vw, 42px);
}
body.home-serious-v1 .home2-nav a {
  color: #12364e;
  font-size: .98rem;
  font-weight: 850;
  padding: 16px 0;
}
body.home-serious-v1 .home2-nav a:hover { color: var(--home2-green-dark); }
body.home-serious-v1 .home2-nav a.active::after {
  bottom: 6px;
  height: 3px;
  background: linear-gradient(90deg, var(--home2-green), #34d399);
}
body.home-serious-v1 .home2-header-actions {
  justify-content: flex-end;
  flex-wrap: nowrap;
}
body.home-serious-v1 .home2-header .how-btn {
  min-height: 50px;
  padding: 12px 21px;
  border-radius: 14px;
  white-space: nowrap;
  font-weight: 900;
}
body.home-serious-v1 .home2-header .how-btn.ghost {
  background: #fff;
  color: #14364c;
  border-color: #d4e0e6;
  box-shadow: 0 8px 22px rgba(6, 42, 67, .06);
}
body.home-serious-v1 .home2-header .how-btn.primary {
  background: linear-gradient(135deg, #12bf8a, #07966e 58%, #087e72);
  box-shadow: 0 12px 28px rgba(6, 151, 108, .24);
}

.home2-shine-button {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.home2-shine-button::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: -65%;
  bottom: -65%;
  left: -55%;
  width: 35%;
  transform: skewX(-22deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.72), transparent);
  filter: blur(.5px);
  animation: home2ButtonShine 3.4s ease-in-out infinite;
  pointer-events: none;
}
@keyframes home2ButtonShine {
  0%, 48% { left: -55%; opacity: 0; }
  55% { opacity: .95; }
  76% { left: 125%; opacity: .7; }
  100% { left: 125%; opacity: 0; }
}

.home2-main {
  width: min(1500px, calc(100% - 44px));
  margin: 0 auto;
}
body.home-page .home2-main {
  width: 100%;
  margin: 0;
}
body.home-page .home2-proof-strip,
body.home-page .home2-process,
body.home-page .home2-final-cta {
  width: min(1500px, calc(100% - 44px));
  margin-left: auto;
  margin-right: auto;
}
body.home-page .home2-hero {
  position: relative;
  isolation: isolate;
  min-height: 720px;
  display: grid;
  grid-template-columns: minmax(0, 1.13fr) minmax(430px, .87fr);
  gap: clamp(48px, 6vw, 96px);
  align-items: center;
  margin: 0;
  padding:
    clamp(58px, 6vw, 96px)
    max(22px, calc((100vw - 1500px) / 2))
    clamp(52px, 6vw, 90px);
  overflow: hidden;
  border-radius: 0;
  background: #eef8fb;
}
body.home-page .home2-landscape {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(247,250,251,.74) 0%, rgba(247,250,251,.58) 31%, rgba(247,250,251,.36) 58%, rgba(247,250,251,.54) 100%),
    linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(246,250,251,.18) 36%, rgba(246,250,251,.42) 100%),
    url('/static/assets/home-molinos-user.png?v=081811');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  filter: saturate(.98) contrast(.99);
}
body.home-page .home2-landscape::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 18%, rgba(95, 210, 180, .10), transparent 28%),
    radial-gradient(circle at 82% 22%, rgba(74, 154, 209, .08), transparent 24%);
}
.home2-hero-copy { max-width: 760px; }
.home2-kicker {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 22px;
  color: #087c5c;
  font-size: .84rem;
  font-weight: 950;
  letter-spacing: .105em;
  text-transform: uppercase;
}
.home2-kicker img { width: 24px; height: 24px; }
.home2-hero h1 {
  margin: 0;
  color: var(--home2-navy);
  font-size: clamp(3.35rem, 5.6vw, 6.15rem);
  line-height: .96;
  letter-spacing: -.064em;
  max-width: 790px;
}
.home2-hero h1 span {
  display: inline-block;
  position: relative;
  color: var(--home2-green);
}
.home2-hero h1 span::after {
  content: "";
  position: absolute;
  left: 2%;
  right: -3%;
  bottom: -.03em;
  height: .075em;
  border-radius: 999px;
  background: linear-gradient(90deg, #07966e, #37c897 70%, transparent);
  transform: rotate(-1.1deg);
}
.home2-lead {
  margin: 28px 0 0;
  max-width: 710px;
  color: #385b70;
  font-size: clamp(1.08rem, 1.4vw, 1.31rem);
  line-height: 1.62;
}
.home2-privacy-promise {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 16px;
  align-items: center;
  max-width: 720px;
  margin: 27px 0 0;
  padding: 17px 20px;
  border: 1px solid #bde9d7;
  border-radius: 17px;
  background: linear-gradient(90deg, rgba(231,250,243,.97), rgba(245,253,250,.89));
  box-shadow: 0 10px 28px rgba(8, 132, 97, .07);
}
.home2-privacy-promise > img {
  width: 42px;
  height: 42px;
  padding: 8px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid #cceee0;
}
.home2-privacy-promise strong {
  display: block;
  margin-bottom: 3px;
  color: #075f48;
  font-size: 1.02rem;
}
.home2-privacy-promise span {
  display: block;
  color: #496b61;
  font-size: .91rem;
  line-height: 1.5;
}
.home2-explain-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px 22px;
  margin-top: 25px;
  font-size: .94rem;
  font-weight: 850;
}
.home2-explain-row > span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #163c51;
}
.home2-explain-row img { width: 22px; height: 22px; }
.home2-explain-row a {
  padding-left: 22px;
  border-left: 1px solid #cbdbe1;
  color: #116ec4;
  text-decoration: none;
}
.home2-explain-row a:hover { color: #064c8c; }
.home2-hero-actions {
  display: flex;
  gap: 14px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 26px;
}
.home2-primary-cta,
.home2-submit {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 58px;
  padding: 15px 28px;
  border: 0;
  border-radius: 17px;
  background: linear-gradient(135deg, #13c98e 0%, #08a877 53%, #077a6f 100%);
  color: #fff;
  text-decoration: none;
  font: inherit;
  font-size: 1.05rem;
  font-weight: 950;
  box-shadow: 0 17px 36px rgba(7, 150, 108, .28), inset 0 1px 0 rgba(255,255,255,.34);
  transition: transform .22s ease, box-shadow .22s ease;
}
.home2-primary-cta:hover,
.home2-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 21px 46px rgba(7, 150, 108, .35), inset 0 1px 0 rgba(255,255,255,.38);
}
.home2-cta-bolt {
  display: inline-grid;
  place-items: center;
  width: 27px;
  height: 27px;
  color: #ffe46a;
  filter: drop-shadow(0 0 8px rgba(255, 227, 93, .48));
  animation: home2BoltPulse 1.9s ease-in-out infinite;
}
@keyframes home2BoltPulse {
  0%,100% { transform: scale(1) rotate(0); }
  45% { transform: scale(1.16) rotate(-4deg); }
  62% { transform: scale(1.05) rotate(3deg); }
}
.home2-secondary-cta {
  min-height: 56px;
  display: inline-flex;
  align-items: center;
  padding: 13px 21px;
  border: 1px solid #cbdde4;
  border-radius: 17px;
  background: rgba(255,255,255,.78);
  color: #123b54;
  text-decoration: none;
  font-weight: 900;
  box-shadow: 0 10px 24px rgba(6,42,67,.06);
}
.home2-secondary-cta:hover { border-color: #9fc8bc; background: #fff; }
.home2-quick-trust {
  display: flex;
  gap: 13px 20px;
  flex-wrap: wrap;
  margin-top: 22px;
  color: #536d7e;
  font-size: .86rem;
  font-weight: 800;
}
.home2-quick-trust span { display: inline-flex; gap: 7px; align-items: center; }
.home2-quick-trust img { width: 20px; height: 20px; }

.home2-upload-column { align-self: center; }
.home2-upload-card {
  width: min(100%, 560px);
  margin-left: auto;
  padding: clamp(24px, 2.2vw, 34px);
  border: 1px solid rgba(189, 214, 220, .9);
  border-radius: 28px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 28px 80px rgba(6, 42, 67, .15);
  backdrop-filter: blur(16px);
}
.home2-card-heading {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 14px;
  align-items: center;
  margin-bottom: 20px;
}
.home2-card-heading h2 {
  margin: 0;
  color: var(--home2-navy);
  font-size: clamp(1.35rem, 2vw, 1.72rem);
  letter-spacing: -.025em;
}
.home2-card-heading p { margin: 3px 0 0; color: #657c8d; }
.home2-document-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: #edf7ff;
  border: 1px solid #d6eafb;
}
.home2-document-icon img { width: 29px; height: 29px; }
.home2-upload-zone.upload-zone {
  min-height: 205px;
  gap: 7px;
  padding: 24px 16px;
  border: 2px dashed #69d4af;
  border-radius: 21px;
  background: linear-gradient(180deg, #f2fcf8 0%, #fbfefd 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
.home2-upload-zone.upload-zone::after { display: none; }
.home2-upload-zone.upload-zone:hover,
.home2-upload-zone.upload-zone.is-dragging,
.home2-upload-zone.upload-zone.has-file {
  transform: translateY(-2px);
  border-color: #09a978;
  background: #edfdf7;
  box-shadow: 0 13px 30px rgba(9,169,120,.11);
}
.home2-upload-icon {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 66px;
  height: 66px;
  margin-bottom: 5px;
  border-radius: 21px;
  background: #fff;
  border: 1px solid #cceee0;
  box-shadow: 0 12px 26px rgba(9, 151, 109, .13);
  animation: home2UploadFloat 2.5s ease-in-out infinite;
}
.home2-upload-icon img { width: 36px; height: 36px; }
.home2-upload-motion {
  position: absolute;
  z-index: 1;
  width: 94px;
  height: 94px;
  top: 28px;
  border-radius: 50%;
  border: 1px solid rgba(22, 185, 130, .18);
  box-shadow: 0 0 0 12px rgba(22,185,130,.05), 0 0 0 25px rgba(22,185,130,.025);
  animation: home2UploadRing 2.5s ease-out infinite;
}
@keyframes home2UploadFloat {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-7px); }
}
@keyframes home2UploadRing {
  0% { transform: scale(.78); opacity: 0; }
  30% { opacity: .8; }
  100% { transform: scale(1.24); opacity: 0; }
}
.home2-upload-zone strong { color: #17394e; font-size: 1.09rem; }
.home2-upload-zone > span:not(.home2-upload-icon):not(.home2-upload-motion) { color: #496b7e; }
.home2-upload-zone small { position: relative; z-index: 2; color: #718696; font-weight: 750; }
.home2-expert-mode { margin: 14px 0 2px; }
.home2-expert-mode summary {
  color: #163f55;
  font-size: .9rem;
  font-weight: 900;
}
.home2-expert-mode[open] {
  padding: 14px;
  border: 1px solid #dce8ec;
  border-radius: 16px;
  background: #f9fcfd;
}
.home2-expert-mode .grid { margin-bottom: 0; }
.home2-expert-mode label { font-size: .78rem; }
.home2-expert-mode input { min-width: 0; }
.home2-data-points {
  display: grid;
  gap: 13px;
  margin: 19px 0;
}
.home2-data-points > div {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 12px;
  align-items: center;
}
.home2-data-points img {
  width: 34px;
  height: 34px;
  padding: 7px;
  border-radius: 11px;
  background: #edf8f4;
  border: 1px solid #d3ede3;
}
.home2-data-points strong {
  display: block;
  color: #173a4e;
  font-size: .91rem;
}
.home2-data-points small {
  display: block;
  margin-top: 1px;
  color: #6b8191;
  line-height: 1.4;
}
.home2-consent {
  padding: 13px 15px;
  border: 1px solid #d6e6ea;
  border-radius: 14px;
  background: #f8fbfc;
}
.home2-consent label {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 10px;
  align-items: start;
  color: #536d7e;
  font-size: .79rem;
  line-height: 1.45;
}
.home2-consent input { margin-top: 3px; }
.home2-consent a { color: #0b6da9; font-weight: 850; }
.home2-submit {
  width: 100%;
  margin-top: 16px;
  border-radius: 15px;
}
.home2-limit-note {
  margin: 9px 0 0;
  color: #6e8392;
  text-align: center;
  font-size: .79rem;
  font-weight: 750;
}
.home2-account-link {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid #e0eaed;
  color: #677e8e;
  font-size: .89rem;
}
.home2-account-link a { color: #078461; font-weight: 900; text-decoration: none; }

.home2-proof-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  position: relative;
  z-index: 2;
  margin: -28px auto 68px;
  border: 1px solid #dbe7eb;
  border-radius: 23px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(6,42,67,.075);
}
.home2-proof-strip article {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 15px;
  align-items: center;
  min-height: 145px;
  padding: 25px 26px;
}
.home2-proof-strip article + article { border-left: 1px solid #e2eaed; }
.home2-proof-strip img {
  width: 50px;
  height: 50px;
  padding: 9px;
  border-radius: 17px;
  background: #eef8ff;
}
.home2-proof-strip article:nth-child(even) img { background: #edf9f4; }
.home2-proof-strip strong { display: block; color: #10354c; margin-bottom: 5px; }
.home2-proof-strip span { display: block; color: #667d8d; font-size: .87rem; line-height: 1.48; }

.home2-process,
.home2-trust-section {
  padding: 72px 0 76px;
}
.home2-section-heading {
  position: relative;
  max-width: 860px;
  margin: 0 auto 38px;
  text-align: center;
}
.home2-section-heading > p {
  margin: 0 0 8px;
  color: #078461;
  font-size: .82rem;
  font-weight: 950;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.home2-section-heading h2 {
  margin: 0;
  color: var(--home2-navy);
  font-size: clamp(2rem, 3.4vw, 3.55rem);
  line-height: 1.08;
  letter-spacing: -.045em;
}
.home2-section-heading > a {
  display: inline-block;
  margin-top: 15px;
  color: #0c6db7;
  font-weight: 900;
  text-decoration: none;
}
.home2-process-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr);
  align-items: center;
}
.home2-step-card {
  position: relative;
  min-height: 315px;
  padding: 34px 25px 28px;
  border: 1px solid #dce7eb;
  border-radius: 23px;
  background: #fff;
  text-align: center;
  box-shadow: 0 16px 42px rgba(6,42,67,.07);
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.home2-step-card:hover {
  transform: translateY(-5px);
  border-color: #bde6d7;
  box-shadow: 0 25px 54px rgba(6,42,67,.105);
}
.home2-step-card > img {
  width: 73px;
  height: 73px;
  margin: 21px auto 22px;
  padding: 13px;
  border-radius: 22px;
  background: #eef8ff;
}
.home2-step-card:nth-of-type(2) > img,
.home2-step-card:nth-of-type(4) > img { background: #edf9f4; }
.home2-step-number {
  position: absolute;
  top: 18px;
  left: 18px;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #dff7ec;
  color: #078461;
  font-weight: 950;
}
.home2-step-number img { width: 20px; height: 20px; }
.home2-step-card h3 { margin: 0 0 10px; color: #10354c; font-size: 1.12rem; }
.home2-step-card p { margin: 0; color: #657d8d; line-height: 1.55; font-size: .91rem; }
.home2-step-arrow { color: #7f9ba9; text-align: center; font-size: 1.55rem; font-weight: 950; }
.home2-step-decision { border-color: #c8e8dc; background: linear-gradient(180deg, #fff, #f7fdfa); }

.home2-trust-section {
  position: relative;
  margin: 8px calc(50% - 50vw) 0;
  padding-left: max(22px, calc((100vw - 1500px) / 2));
  padding-right: max(22px, calc((100vw - 1500px) / 2));
  background: linear-gradient(180deg, #f5f9fb 0%, #fbfdfd 100%);
  border-top: 1px solid #e3ebee;
  border-bottom: 1px solid #e3ebee;
}
.home2-section-heading.compact { max-width: 930px; }
.home2-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 18px;
}
.home2-trust-grid article {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 15px;
  padding: 25px 22px;
  border: 1px solid #dce7eb;
  border-radius: 20px;
  background: rgba(255,255,255,.92);
}
.home2-trust-grid article > span {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 18px;
  background: #eaf4ff;
}
.home2-trust-grid article:nth-child(even) > span { background: #e9f8f2; }
.home2-trust-grid img { width: 30px; height: 30px; }
.home2-trust-grid h3 { margin: 1px 0 7px; color: #10354c; font-size: 1rem; }
.home2-trust-grid p { margin: 0; color: #667d8d; font-size: .87rem; line-height: 1.5; }

.home2-final-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin: 72px 0;
  padding: clamp(30px, 4vw, 54px);
  border-radius: 28px;
  color: #fff;
  background:
    radial-gradient(circle at 86% 15%, rgba(62, 224, 167, .26), transparent 28%),
    linear-gradient(135deg, #07344d, #075b61 58%, #087a67);
  box-shadow: 0 25px 65px rgba(6,42,67,.18);
}
.home2-final-cta p { margin: 0 0 7px; color: #65e5b8; font-size: .8rem; font-weight: 950; text-transform: uppercase; letter-spacing: .1em; }
.home2-final-cta h2 { margin: 0; max-width: 730px; color: #fff; font-size: clamp(1.9rem, 3.2vw, 3.35rem); line-height: 1.08; letter-spacing: -.04em; }
.home2-final-cta > div > span { display: block; margin-top: 12px; color: rgba(255,255,255,.78); }
.home2-final-cta .home2-primary-cta { flex: 0 0 auto; background: linear-gradient(135deg, #18cf92, #0aae79); }

.home2-footer {
  color: #17384d;
  background: #fff;
  border-top: 1px solid #dce7eb;
}
.home2-footer-main {
  width: min(1500px, calc(100% - 44px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(300px, 1.55fr) repeat(4, minmax(150px, .75fr));
  gap: clamp(30px, 4vw, 72px);
  padding: 54px 0 48px;
}
.home2-footer-brand > img { width: 270px; }
.home2-footer-brand > p { max-width: 420px; margin: 19px 0; color: #667d8d; line-height: 1.6; }
.home2-footer-promise {
  display: grid;
  grid-template-columns: 43px 1fr;
  gap: 12px;
  align-items: center;
  max-width: 455px;
  padding: 15px;
  border-radius: 16px;
  background: #f0faf6;
  border: 1px solid #d5eee4;
}
.home2-footer-promise img { width: 38px; height: 38px; padding: 7px; border-radius: 12px; background: #fff; }
.home2-footer-promise strong { display: block; color: #0a5f49; font-size: .9rem; }
.home2-footer-promise span { color: #5f756c; font-size: .8rem; line-height: 1.45; }
.home2-footer-column { display: flex; flex-direction: column; gap: 11px; }
.home2-footer-column h3 { margin: 4px 0 8px; color: #078461; font-size: .84rem; text-transform: uppercase; letter-spacing: .08em; }
.home2-footer-column a { color: #4f697b; text-decoration: none; font-size: .9rem; }
.home2-footer-column a:hover { color: #078461; }
.home2-footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: 19px max(22px, calc((100vw - 1500px) / 2));
  color: rgba(255,255,255,.74);
  background: #062d49;
  font-size: .82rem;
}
.home2-footer-bottom span:last-child { display: inline-flex; align-items: center; gap: 8px; }
.home2-footer-bottom img { width: 19px; height: 19px; filter: brightness(0) invert(1); opacity: .84; }

body.home-serious-v1 [data-reveal] {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .7s ease, transform .7s ease;
}
body.home-serious-v1 [data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .home2-shine-button::after,
  .home2-cta-bolt,
  .home2-upload-icon,
  .home2-upload-motion { animation: none !important; }
  body.home-serious-v1 [data-reveal] { opacity: 1; transform: none; transition: none; }
}

@media (max-width: 1240px) {
  body.home-serious-v1 .home2-header {
    grid-template-columns: 230px 1fr auto;
    gap: 18px;
    padding-left: 22px;
    padding-right: 22px;
  }
  body.home-serious-v1 .home2-header .how-brand img { width: 230px; }
  body.home-serious-v1 .home2-nav { gap: 20px; }
  body.home-serious-v1 .home2-header-actions .how-btn.ghost { display: none; }
  body.home-page .home2-hero { grid-template-columns: minmax(0,1fr) minmax(400px,.82fr); gap: 40px; }
  .home2-hero h1 { font-size: clamp(3.15rem, 5.5vw, 5.25rem); }
  .home2-proof-strip article { grid-template-columns: 45px 1fr; padding: 22px 18px; }
  .home2-proof-strip img { width: 43px; height: 43px; }
  .home2-process-grid { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 15px; }
  .home2-step-arrow { display: none; }
  .home2-trust-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .home2-footer-main { grid-template-columns: minmax(290px,1.3fr) repeat(2, minmax(160px,.7fr)); }
}

@media (max-width: 960px) {
  body.home-serious-v1 .home2-header {
    position: relative;
    grid-template-columns: 1fr auto;
    justify-items: start;
  }
  body.home-serious-v1 .home2-nav {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    justify-content: center;
    padding-top: 2px;
    border-top: 1px solid #e5edef;
  }
  body.home-page .home2-hero {
    grid-template-columns: 1fr;
    padding-top: 54px;
    gap: 45px;
  }
  .home2-hero-copy { max-width: 820px; margin: 0 auto; }
  .home2-upload-card { width: min(100%, 680px); margin: 0 auto; }
  body.home-page .home2-landscape { background-position: 58% center; }
  .home2-proof-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home2-proof-strip article + article { border-left: 0; }
  .home2-proof-strip article:nth-child(even) { border-left: 1px solid #e2eaed; }
  .home2-proof-strip article:nth-child(n+3) { border-top: 1px solid #e2eaed; }
  .home2-process-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home2-final-cta { align-items: flex-start; flex-direction: column; }
  .home2-footer-main { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home2-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  body.home-serious-v1 .home2-header {
    padding: 10px 14px;
    grid-template-columns: 1fr auto;
  }
  body.home-serious-v1 .home2-header .how-brand img { width: 194px; }
  body.home-serious-v1 .home2-header .how-btn.primary { min-height: 43px; padding: 10px 13px; font-size: .78rem; }
  body.home-serious-v1 .home2-header .how-btn.primary span { display: none; }
  body.home-serious-v1 .home2-nav { justify-content: flex-start; overflow-x: auto; gap: 23px; padding: 5px 3px 0; }
  body.home-serious-v1 .home2-nav a { flex: 0 0 auto; font-size: .85rem; padding: 11px 0; }
  body.home-page .home2-main { width: 100%; }
  body.home-page .home2-hero { padding: 43px 14px 55px; border-radius: 0; }
  .home2-hero h1 { font-size: clamp(2.75rem, 14vw, 4.2rem); }
  .home2-lead { font-size: 1rem; }
  .home2-privacy-promise { grid-template-columns: 40px 1fr; padding: 14px; }
  .home2-privacy-promise > img { width: 38px; height: 38px; }
  .home2-explain-row { align-items: flex-start; flex-direction: column; gap: 11px; }
  .home2-explain-row a { padding-left: 0; border-left: 0; }
  .home2-hero-actions { align-items: stretch; flex-direction: column; }
  .home2-primary-cta,
  .home2-secondary-cta { width: 100%; }
  .home2-upload-card { padding: 20px 16px; border-radius: 22px; }
  .home2-card-heading { grid-template-columns: 42px 1fr; }
  .home2-document-icon { width: 42px; height: 42px; }
  .home2-upload-zone.upload-zone { min-height: 190px; }
  .home2-expert-mode .grid.two { grid-template-columns: 1fr; }
  .home2-proof-strip { grid-template-columns: 1fr; margin: 18px auto 40px; }
  .home2-proof-strip article:nth-child(even) { border-left: 0; }
  .home2-proof-strip article + article { border-top: 1px solid #e2eaed; }
  .home2-process,
  .home2-trust-section { padding-top: 53px; padding-bottom: 54px; }
  .home2-process-grid,
  .home2-trust-grid { grid-template-columns: 1fr; }
  .home2-step-card { min-height: auto; }
  .home2-trust-grid article { grid-template-columns: 51px 1fr; }
  .home2-trust-grid article > span { width: 49px; height: 49px; }
  .home2-final-cta { margin: 50px 0; padding: 27px 20px; border-radius: 22px; }
  .home2-final-cta .home2-primary-cta { width: 100%; }
  .home2-footer-main { width: min(100% - 28px, 1500px); grid-template-columns: 1fr 1fr; gap: 30px 22px; padding-top: 42px; }
  .home2-footer-brand { grid-column: 1 / -1; }
  .home2-footer-brand > img { width: 230px; }
  .home2-footer-column a { font-size: .84rem; }
  .home2-footer-bottom { align-items: flex-start; flex-direction: column; padding: 17px 18px; }
}


/* v0.8.18.11 - home hero full-width like requested */
@media (max-width: 680px) {
  body.home-page .home2-proof-strip,
  body.home-page .home2-process,
  body.home-page .home2-final-cta {
    width: min(100% - 24px, 1500px);
  }
}

/* v0.8.18.13 - split-screen style redesign for Cómo funciona / Beneficios */
body.marketing-redesign-page {
  background: #f4f8f8;
  color: #10385e;
}

.marketing-page-main {
  padding: 0 0 28px;
}

.edu-shell {
  width: min(100% - 44px, 1320px);
  margin: 0 auto;
}

.edu-shell--wide {
  width: min(100% - 44px, 1460px);
}

.edu-heading {
  position: relative;
  z-index: 1;
}

.edu-heading--center {
  text-align: center;
  max-width: 860px;
  margin: 0 auto;
}

.edu-heading.compact h2,
.edu-heading--center.compact h2 {
  margin-bottom: 0;
}

.edu-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 14px;
  padding: 12px 24px;
  border-radius: 999px;
  border: 1px solid rgba(24, 184, 120, 0.28);
  background: rgba(255, 255, 255, 0.78);
  color: #13845c;
  font-size: .87rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.edu-heading h1,
.edu-hero-copy h1 {
  margin: 0;
  color: #0b2d57;
  font-size: clamp(2.9rem, 5.5vw, 5rem);
  line-height: .95;
  letter-spacing: -0.05em;
}

.edu-heading h2 {
  margin: 0;
  color: #0b2d57;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.02;
  letter-spacing: -0.04em;
}

.edu-lead {
  margin: 22px auto 0;
  max-width: 760px;
  color: #365a7f;
  font-size: clamp(1.05rem, 1.5vw, 1.35rem);
  line-height: 1.7;
}

.edu-hero {
  position: relative;
  overflow: hidden;
  padding: 82px 0 64px;
  border-top: 1px solid rgba(16, 56, 94, 0.08);
}

.edu-hero--how {
  background:
    linear-gradient(180deg, rgba(247, 251, 251, 0.9) 0%, rgba(247, 251, 251, 0.82) 55%, rgba(247, 251, 251, 0.95) 100%),
    url('/static/assets/home-windmills-full.png') center/cover no-repeat;
}

.edu-hero--benefits {
  padding-bottom: 30px;
  background:
    linear-gradient(180deg, rgba(6, 29, 60, 0.78) 0%, rgba(6, 29, 60, 0.64) 52%, rgba(6, 29, 60, 0.82) 100%),
    url('/static/assets/home-windmills-full.png') center/cover no-repeat;
}

.edu-hero__backdrop {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.edu-hero__backdrop::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 12%, rgba(255,255,255,.78), transparent 42%);
}

.edu-hero__backdrop--dark::before {
  background: radial-gradient(circle at 20% 18%, rgba(56, 207, 151, 0.16), transparent 30%), radial-gradient(circle at 85% 20%, rgba(255,255,255,.08), transparent 28%);
}

.edu-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) 440px;
  gap: 34px;
  align-items: start;
}

.edu-hero--benefits .edu-eyebrow,
.edu-hero--benefits .edu-hero-copy h1,
.edu-hero--benefits .edu-lead {
  color: #fff;
}

.edu-hero--benefits .edu-eyebrow {
  border-color: rgba(80, 230, 172, 0.22);
  background: rgba(8, 28, 58, 0.28);
}

.how-signal-line {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 46px auto 28px;
  max-width: 1140px;
}

.how-signal-node {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: rgba(255,255,255,0.94);
  border: 1px solid rgba(19, 132, 92, 0.18);
  box-shadow: 0 22px 40px rgba(16, 56, 94, 0.08);
  transition: transform .25s ease, box-shadow .25s ease;
}

.how-signal-node img {
  width: 38px;
  height: 38px;
}

.how-signal-node.is-active,
.edu-step-card.is-active ~ .how-signal-node {
  transform: translateY(-3px);
}

.how-signal-dash {
  flex: 1 1 80px;
  max-width: 90px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(19,132,92,.8), rgba(11,45,87,.75));
  position: relative;
  overflow: hidden;
}

.how-signal-dash::after {
  content: '';
  position: absolute;
  top: 0;
  left: -30%;
  width: 30%;
  height: 100%;
  background: rgba(255,255,255,.8);
  animation: eduSignalMove 2.8s linear infinite;
}

@keyframes eduSignalMove {
  from { left: -30%; }
  to { left: 110%; }
}

.edu-steps-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  border-radius: 28px;
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(16, 56, 94, 0.1);
  box-shadow: 0 24px 46px rgba(16, 56, 94, 0.08);
}

.edu-step-card {
  position: relative;
  padding: 28px 20px 24px;
  min-height: 210px;
  border-right: 1px solid rgba(16, 56, 94, 0.08);
  cursor: pointer;
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.edu-step-card:last-child { border-right: 0; }
.edu-step-card:hover,
.edu-step-card.is-active {
  background: linear-gradient(180deg, rgba(24,184,120,0.08), rgba(255,255,255,0.95));
}

.edu-step-card.is-active {
  box-shadow: inset 0 3px 0 #19b878;
}

.edu-step-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-bottom: 16px;
  border-radius: 50%;
  background: linear-gradient(135deg, #19b878, #0d8e69);
  color: #fff;
  font-weight: 800;
  font-size: .95rem;
}

.edu-step-card h2 {
  margin: 0 0 12px;
  color: #0b2d57;
  font-size: 1.18rem;
  line-height: 1.25;
}

.edu-step-card p {
  margin: 0;
  color: #355b7f;
  font-size: .98rem;
  line-height: 1.6;
}

.edu-privacy-panel,
.edu-after-panel,
.edu-plans-panel,
.edu-inline-cta {
  margin-top: 34px;
}

.edu-privacy-panel {
  padding: 34px;
  border: 1px solid rgba(16, 56, 94, 0.1);
  border-radius: 30px;
  background: linear-gradient(180deg, rgba(255,255,255,0.95), rgba(248,252,251,0.95));
  box-shadow: 0 18px 40px rgba(16, 56, 94, 0.06);
}

.edu-privacy-head {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 28px;
}

.edu-privacy-head h2 {
  margin: 0 0 8px;
  color: #0b2d57;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
}

.edu-privacy-head p {
  margin: 0;
  color: #3d6284;
  font-size: 1.03rem;
}

.edu-privacy-badge {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(24,184,120,.16), rgba(11,45,87,.09));
}

.edu-privacy-badge img {
  width: 34px;
  height: 34px;
}

.edu-privacy-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 22px;
}

.edu-icon-note {
  text-align: center;
  padding: 12px 10px 6px;
}

.edu-icon-note span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  margin-bottom: 14px;
  background: #fff;
  border: 1px solid rgba(16,56,94,.08);
  box-shadow: 0 12px 26px rgba(16,56,94,.06);
}

.edu-icon-note span img { width: 34px; height: 34px; }
.edu-icon-note.warn span { color: #ff765c; }
.edu-icon-note.info span { color: #4696ff; }
.edu-icon-note.accent span { color: #f08c42; }
.edu-icon-note.success span { color: #1aad78; }
.edu-icon-note.violet span { color: #7c5cff; }
.edu-icon-note h3 {
  margin: 0 0 8px;
  font-size: 1.05rem;
  color: #0b2d57;
}
.edu-icon-note p {
  margin: 0;
  color: #4a6a89;
  font-size: .95rem;
  line-height: 1.55;
}

.edu-after-panel {
  padding: 34px 34px 30px;
  border-radius: 26px;
  background: linear-gradient(135deg, #072b56, #103f73 58%, #0c315f);
  color: #fff;
  box-shadow: 0 18px 40px rgba(8, 29, 60, 0.18);
}

.edu-after-title h2 {
  margin: 0 0 24px;
  color: #fff;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  text-align: center;
}

.edu-after-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

.edu-after-grid article {
  display: grid;
  grid-template-columns: 84px 1fr;
  gap: 18px;
  align-items: center;
}

.edu-after-grid h3 {
  margin: 0 0 8px;
  color: #fff;
  font-size: 1.15rem;
}

.edu-after-grid p {
  margin: 0;
  color: rgba(255,255,255,.82);
  line-height: 1.6;
}

.edu-mini-visual {
  position: relative;
  width: 84px;
  height: 84px;
  border-radius: 24px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.12);
}

.edu-mini-visual::before,
.edu-mini-visual::after {
  content: '';
  position: absolute;
}

.edu-mini-visual--screen::before {
  inset: 20px 14px 28px;
  border-radius: 12px;
  background: rgba(255,255,255,.92);
}

.edu-mini-visual--screen::after {
  left: 24px;
  right: 24px;
  bottom: 16px;
  height: 4px;
  border-radius: 999px;
  background: #45d9a3;
}

.edu-mini-visual--file::before {
  inset: 16px 20px;
  border-radius: 18px;
  background: rgba(255,255,255,.92);
}

.edu-mini-visual--file::after {
  top: 27px;
  left: 31px;
  width: 22px;
  height: 28px;
  border-radius: 6px;
  background: linear-gradient(180deg, #45d9a3, #1ab878);
  box-shadow: 0 18px 0 -10px rgba(7,43,86,.14), 0 30px 0 -10px rgba(7,43,86,.14);
}

.edu-mini-visual--help::before {
  width: 34px;
  height: 34px;
  left: 25px;
  top: 18px;
  border-radius: 50%;
  background: rgba(255,255,255,.94);
}

.edu-mini-visual--help::after {
  left: 19px;
  right: 19px;
  bottom: 16px;
  height: 22px;
  border-radius: 18px 18px 12px 12px;
  background: rgba(69,217,163,.92);
}

.edu-inline-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 26px 30px;
  border-radius: 24px;
  border: 2px solid rgba(26,184,120,.42);
  background: rgba(255,255,255,.86);
}

.edu-inline-cta h2 {
  margin: 0 0 8px;
  color: #0b2d57;
  font-size: clamp(1.5rem, 2.5vw, 2rem);
}

.edu-inline-cta p {
  margin: 0;
  color: #365b7d;
  font-size: 1rem;
}

.edu-inline-cta--light {
  background: #fff;
  border-color: rgba(16,56,94,.12);
}

.how-btn--sheen,
.how-btn--arrow {
  position: relative;
  overflow: hidden;
}

.how-btn--sheen::after,
.how-btn--arrow::after {
  content: '';
  position: absolute;
  inset: 0;
  left: -120%;
  width: 55%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
  transform: skewX(-22deg);
  animation: eduSheen 3.8s infinite;
}

@keyframes eduSheen {
  0%, 18% { left: -120%; }
  36%, 100% { left: 150%; }
}

.edu-footer {
  margin-top: 36px;
  border-top: 1px solid rgba(16,56,94,.08);
  background: rgba(255,255,255,.72);
}

.edu-footer__inner {
  display: grid;
  grid-template-columns: 1.3fr repeat(4, 1fr);
  gap: 28px;
  padding: 34px 0 40px;
}

.edu-footer__brand img {
  width: 190px;
  max-width: 100%;
  display: block;
  margin-bottom: 16px;
}

.edu-footer__brand p,
.edu-footer__menu span,
.edu-footer__menu a {
  color: #466682;
  font-size: .96rem;
  line-height: 1.6;
  text-decoration: none;
}

.edu-footer__menu h3 {
  margin: 0 0 14px;
  color: #0b2d57;
  font-size: 1rem;
}

.edu-footer__menu {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.edu-footer__menu a:hover {
  color: #11966b;
}

.edu-chat-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 8px;
  width: fit-content;
  min-height: 46px;
  padding: 0 22px;
  border-radius: 999px;
  background: linear-gradient(135deg, #19b878, #0d8e69);
  color: #fff !important;
  font-weight: 800;
  box-shadow: 0 14px 30px rgba(25,184,120,.24);
}

.edu-benefit-float {
  position: relative;
  padding: 26px 24px;
  border-radius: 28px;
  background: rgba(7, 29, 60, 0.78);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 26px 48px rgba(6, 20, 40, 0.34);
  backdrop-filter: blur(8px);
}

.edu-benefit-float article {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 14px;
  align-items: start;
  margin-bottom: 18px;
}

.edu-benefit-float article:last-of-type { margin-bottom: 0; }
.edu-benefit-float article img {
  width: 42px;
  height: 42px;
  padding: 9px;
  border-radius: 50%;
  background: rgba(25,184,120,.12);
  border: 1px solid rgba(89, 230, 176, 0.18);
}

.edu-benefit-float h3 {
  margin: 0 0 6px;
  color: #fff;
  font-size: 1.08rem;
}

.edu-benefit-float p {
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: .96rem;
  line-height: 1.5;
}

.edu-stamp {
  position: absolute;
  right: -24px;
  bottom: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 116px;
  height: 116px;
  border-radius: 50%;
  border: 4px double rgba(89, 230, 176, .7);
  background: rgba(19,132,92,.24);
  color: #dffff1;
  font-weight: 800;
  text-align: center;
  line-height: 1.2;
  transform: rotate(-14deg);
}

.edu-plans-panel {
  margin-top: 38px;
  padding: 34px 30px 30px;
  border-radius: 34px;
  background: rgba(255,255,255,.95);
  border: 1px solid rgba(16,56,94,.1);
  box-shadow: 0 18px 42px rgba(16,56,94,.08);
}

.edu-plans-table-wrap {
  overflow-x: auto;
  margin-top: 24px;
}

.edu-plans-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 980px;
}

.edu-plans-table thead th,
.edu-plans-table tbody td {
  padding: 18px 16px;
  text-align: center;
  border-right: 1px solid rgba(16,56,94,.08);
  border-bottom: 1px solid rgba(16,56,94,.08);
}

.edu-plans-table thead th {
  vertical-align: bottom;
  background: #f8fbfb;
  color: #0b2d57;
  font-size: .95rem;
  font-weight: 700;
}

.edu-plans-table thead th:first-child,
.edu-plans-table tbody td:first-child {
  text-align: left;
  width: 31%;
  font-weight: 700;
}

.edu-plans-table thead th span {
  display: block;
  margin-bottom: 4px;
  color: #5f748b;
  font-size: .92rem;
  font-weight: 700;
}

.edu-plans-table thead th strong {
  display: block;
  font-size: 1.18rem;
  line-height: 1.3;
}

.edu-plans-table thead th em {
  display: block;
  margin-top: 8px;
  color: #0f8f67;
  font-style: normal;
  font-size: 1.45rem;
  font-weight: 900;
}

.edu-plans-table thead th.is-featured,
.edu-plans-table tbody td:nth-child(4) {
  background: linear-gradient(180deg, rgba(24,184,120,0.08), rgba(255,255,255,1));
}

.edu-popular-tag {
  display: inline-flex;
  margin-bottom: 10px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #19b878;
  color: #fff;
  font-size: .82rem;
  font-weight: 800;
}

.edu-plans-table thead th:first-child {
  border-top-left-radius: 20px;
}

.edu-plans-table thead th:last-child {
  border-top-right-radius: 20px;
  border-right: 0;
}

.edu-plans-table tbody tr:last-child td:first-child {
  border-bottom-left-radius: 20px;
}

.edu-plans-table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 20px;
}

.edu-plans-table tbody td:last-child,
.edu-plans-table thead th:last-child {
  border-right: 0;
}

.edu-plans-table tbody td {
  color: #28496f;
  font-size: .97rem;
}

.edu-benefit-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 24px;
}

.edu-benefit-strip article {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 14px;
  align-items: start;
  padding: 18px 16px;
  border-radius: 20px;
  background: #f9fbfb;
  border: 1px solid rgba(16,56,94,.08);
}

.edu-benefit-strip article img {
  width: 44px;
  height: 44px;
  padding: 9px;
  border-radius: 50%;
  background: rgba(24,184,120,.1);
}

.edu-benefit-strip h3 {
  margin: 0 0 6px;
  color: #0b2d57;
  font-size: 1rem;
}

.edu-benefit-strip p {
  margin: 0;
  color: #496986;
  line-height: 1.5;
  font-size: .94rem;
}

@media (max-width: 1180px) {
  .edu-steps-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .edu-step-card:nth-child(2n) { border-right: 0; }
  .edu-step-card:nth-child(5) { grid-column: 1 / -1; }
  .edu-privacy-grid,
  .edu-benefit-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .edu-footer__inner,
  .edu-hero-grid {
    grid-template-columns: 1fr;
  }
  .edu-benefit-float { max-width: 620px; }
}

@media (max-width: 900px) {
  .how-signal-line { display: none; }
  .edu-after-grid,
  .edu-privacy-grid,
  .edu-benefit-strip,
  .edu-footer__inner {
    grid-template-columns: 1fr;
  }
  .edu-inline-cta {
    flex-direction: column;
    align-items: flex-start;
  }
  .edu-inline-cta .how-btn { width: 100%; justify-content: center; }
}

@media (max-width: 680px) {
  .edu-shell,
  .edu-shell--wide { width: min(100% - 24px, 1460px); }
  .edu-hero { padding: 54px 0 40px; }
  .edu-steps-grid { grid-template-columns: 1fr; }
  .edu-step-card { border-right: 0; border-bottom: 1px solid rgba(16,56,94,.08); min-height: auto; }
  .edu-step-card:last-child { border-bottom: 0; }
  .edu-privacy-panel,
  .edu-after-panel,
  .edu-plans-panel,
  .edu-inline-cta { padding: 24px 18px; }
  .edu-privacy-head { align-items: flex-start; }
  .edu-after-grid article,
  .edu-benefit-strip article {
    grid-template-columns: 1fr;
  }
  .edu-stamp {
    position: static;
    margin-top: 10px;
    transform: none;
  }
}

/* v0.8.18.15 - flujo real de seis estados y trazabilidad */
.recommendation-event-history {
  margin-top: 18px;
  border-top: 1px solid rgba(16, 56, 94, .10);
  padding-top: 14px;
}
.recommendation-event-history summary {
  cursor: pointer;
  color: #0b2f43;
  font-weight: 850;
}
.recommendation-event-history ol {
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.recommendation-event-history li {
  padding: 12px 14px;
  border-radius: 15px;
  background: #fff;
  border: 1px solid #dce8ee;
}
.recommendation-event-history li > div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
}
.recommendation-event-history strong { color: #0b2f43; }
.recommendation-event-history span { color: #6b818d; font-size: .84rem; }
.recommendation-event-history p { margin: 7px 0 0; color: #526e7e; }
.recommendation-state-actions form,
.result-action-tracking-buttons form,
.recommendation-actions form {
  margin: 0;
}
.recommendation-state-actions {
  align-items: center;
}
@media (max-width: 700px) {
  .recommendation-event-history li > div {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
}

/* =========================================================
   Portal de usuario v0.8.18.18
   Navegación lateral y sistema visual unificado
   ========================================================= */
:root{
  --pv2-navy:#102b43;
  --pv2-navy-2:#173b50;
  --pv2-teal:#087b70;
  --pv2-green:#08a876;
  --pv2-mint:#e9f8f3;
  --pv2-bg:#f7fafb;
  --pv2-border:#dce7eb;
  --pv2-muted:#627789;
  --pv2-danger:#e14855;
  --pv2-shadow:0 10px 30px rgba(18,48,68,.07);
}
*{box-sizing:border-box}
body.portal-v2-page{margin:0;background:var(--pv2-bg);color:var(--pv2-navy);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
.portal-layout-v2{display:grid;grid-template-columns:258px minmax(0,1fr);min-height:100vh}
.portal-content-v2{min-width:0}
.portal-sidebar-v2{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:#fff;border-right:1px solid var(--pv2-border);z-index:20;overflow-y:auto}
.portal-brand-v2{height:72px;display:flex;align-items:center;gap:10px;padding:0 27px;border-bottom:1px solid var(--pv2-border);font-weight:800;font-size:20px;color:var(--pv2-navy);text-decoration:none;white-space:nowrap}
.portal-brand-mark{display:grid;place-items:center;width:30px;height:38px;color:var(--pv2-green);font-size:30px}
.portal-nav-v2{display:flex;flex-direction:column;gap:5px;padding:26px 12px 20px}
.portal-nav-v2 a,.portal-logout-link{display:flex;align-items:center;gap:13px;min-height:44px;padding:10px 14px;border-radius:10px;text-decoration:none;color:#28445b;font-size:16px;position:relative;transition:.18s ease}
.portal-nav-v2 a>span,.portal-logout-link>span{width:24px;font-size:24px;text-align:center;font-weight:400}
.portal-nav-v2 a b,.portal-logout-link b{font-weight:620}
.portal-nav-v2 a:hover,.portal-logout-link:hover{background:#f1f8f6;color:var(--pv2-teal)}
.portal-nav-v2 a.active{background:linear-gradient(90deg,#e9f8f3,#f2fbf8);color:#08796a}
.portal-nav-v2 a.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--pv2-green)}
.portal-nav-v2 a em{margin-left:auto;min-width:22px;height:22px;border-radius:999px;display:grid;place-items:center;background:#fff0d9;color:#a66300;font-size:13px;font-style:normal;font-weight:800}
.portal-nav-v2 .portal-nav-upload{margin:3px 0 8px;background:linear-gradient(135deg,#09ad7a,#0a8877);color:#fff;box-shadow:0 7px 18px rgba(8,168,118,.18)}
.portal-nav-v2 .portal-nav-upload:hover,.portal-nav-v2 .portal-nav-upload.active{color:#fff;background:linear-gradient(135deg,#08b880,#087e72)}
.portal-sidebar-footer-v2{margin-top:auto;padding:16px 13px 20px;border-top:1px solid var(--pv2-border)}
.portal-account-mini{display:flex;align-items:center;gap:10px;padding:10px;text-decoration:none;color:var(--pv2-navy);border-radius:10px}
.portal-account-mini:hover{background:#f5f9fa}
.portal-user-avatar-v2{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#0d8f78,#123d50);color:#fff;font-weight:800}
.portal-account-mini>span:last-child{display:flex;flex-direction:column;min-width:0}
.portal-account-mini small{display:block;color:var(--pv2-muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}
.portal-logout-link{margin-top:6px;color:var(--pv2-danger)}
.portal-logout-link.active{background:#fff1f2}
.portal-topbar-v2{height:72px;background:#fff;border-bottom:1px solid var(--pv2-border);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:15}
.portal-topbar-context{display:flex;align-items:center;gap:9px;color:#718392;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.portal-topbar-dot{width:8px;height:8px;border-radius:50%;background:var(--pv2-green);box-shadow:0 0 0 5px #e5f7f1}
.portal-topbar-actions{display:flex;align-items:center;gap:25px}
.portal-topbar-actions>a{color:#26465c;text-decoration:none;font-size:15px}
.portal-topbar-user{display:flex;align-items:center;gap:8px;padding-left:20px;border-left:1px solid var(--pv2-border)}
.portal-topbar-user>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#087b70,#0f3b50);color:#fff;font-weight:800}
.portal-page-v2{padding:20px 28px 42px;max-width:1510px;margin:0 auto}
.portal-welcome-v2{min-height:225px;border-radius:19px;padding:30px 39px;display:flex;align-items:center;justify-content:space-between;gap:30px;color:#fff;background:radial-gradient(circle at 75% 10%,rgba(45,226,157,.24),transparent 33%),linear-gradient(125deg,#12394e 0%,#0b5961 49%,#16b77c 100%);box-shadow:var(--pv2-shadow);overflow:hidden;position:relative}
.portal-welcome-v2:after{content:"";position:absolute;inset:0;background:linear-gradient(155deg,transparent 55%,rgba(255,255,255,.06));pointer-events:none}
.portal-welcome-v2>div{position:relative;z-index:1}
.portal-kicker-v2{margin:0 0 14px;font-size:13px;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:inherit;opacity:.83}
.portal-welcome-v2 h1{margin:0;font-size:43px;line-height:1.08;letter-spacing:-.035em;color:#fff}.portal-welcome-v2 h1 span{font-size:.8em}
.portal-welcome-v2>div>p:not(.portal-kicker-v2){max-width:700px;margin:17px 0 22px;font-size:19px;line-height:1.55;color:rgba(255,255,255,.91)}
.portal-welcome-pills-v2{display:flex;flex-wrap:wrap;gap:10px}.portal-welcome-pills-v2 span{display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.1);border-radius:999px;padding:7px 13px;font-size:14px;font-weight:750}.portal-welcome-pills-v2 i{width:8px;height:8px;border-radius:50%;background:#59e4b7;box-shadow:0 0 0 4px rgba(89,228,183,.13)}
.portal-welcome-actions-v2{display:flex;align-items:center;gap:11px;min-width:max-content}
.portal-btn-v2{border:0;border-radius:10px;min-height:43px;padding:10px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font:inherit;font-size:15px;font-weight:800;cursor:pointer;transition:.18s ease}
.portal-btn-v2:hover{transform:translateY(-1px)}
.portal-btn-v2.primary{color:#fff;background:linear-gradient(135deg,#08b77b,#078c76);box-shadow:0 7px 18px rgba(8,168,118,.2)}
.portal-btn-v2.glass{color:#fff;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.08)}
.portal-btn-v2.outline{color:#087b70;background:#fff;border:1px solid #74cdb5}
.portal-btn-v2.danger{color:var(--pv2-danger);background:#fff;border:1px solid #f07c85}
.portal-btn-v2.small{min-height:37px;padding:8px 14px;font-size:14px}.portal-btn-v2.full{width:100%}
.portal-stats-v2{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:14px 0}
.portal-stats-v2 article{background:#fff;border:1px solid var(--pv2-border);border-radius:14px;min-height:116px;padding:18px;display:flex;align-items:flex-start;gap:14px;box-shadow:0 7px 20px rgba(20,52,72,.05)}
.stat-icon{flex:0 0 48px;height:48px;border-radius:50%;display:grid;place-items:center;font-size:27px;font-weight:800}.stat-icon.green{color:#078a69;background:#daf5e9}.stat-icon.blue{color:#267fc6;background:#e2f0ff}.stat-icon.amber{color:#db8a00;background:#fff0d5}.stat-icon.purple{color:#8052d0;background:#eee5ff}
.portal-stats-v2 small{display:block;color:#53697c;font-weight:750}.portal-stats-v2 strong{display:block;margin:4px 0;font-size:28px;color:#0f3047}.portal-stats-v2 p{margin:0;color:#81909c;font-size:13px}.portal-stats-v2 a{color:#7750c4;text-decoration:none}
.portal-focus-grid-v2{display:grid;grid-template-columns:minmax(0,2fr) minmax(290px,.82fr);gap:14px;margin-bottom:14px}
.portal-card-v2{background:#fff;border:1px solid var(--pv2-border);border-radius:15px;box-shadow:var(--pv2-shadow)}
.next-step-card-v2,.pending-card-v2{padding:18px}.portal-card-heading-v2{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.portal-card-heading-v2 h2{margin:0;font-size:19px}.portal-card-heading-v2 p{margin:4px 0 0;color:var(--pv2-muted);font-size:14px}.portal-card-heading-v2>a{color:var(--pv2-teal);text-decoration:none;font-size:14px;font-weight:750}
.status-pill-v2,.table-status-v2{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;background:#e1f6ee;color:#08765d}.table-status-v2.warning{background:#fff0d7;color:#9d6300}.table-status-v2.neutral{background:#edf1f4;color:#5f6f7d}.table-status-v2.good{background:#e1f6ee;color:#08765d}
.next-step-main-v2{display:grid;grid-template-columns:62px minmax(0,1fr) 170px;gap:15px;align-items:center;background:linear-gradient(90deg,#f1fbf7,#f9fcfd);border:1px solid #d7eee6;border-radius:12px;padding:15px}.next-step-icon-v2{width:54px;height:54px;border-radius:50%;background:#fff;border:1px solid #d7eee6;display:grid;place-items:center;font-size:27px}.next-step-copy-v2 small,.next-step-saving-v2 small{color:#138b70;font-weight:800}.next-step-copy-v2 h3{margin:3px 0;font-size:20px}.next-step-copy-v2 p{margin:0;color:var(--pv2-muted);font-size:14px}.next-step-saving-v2{text-align:right}.next-step-saving-v2 strong{display:block;font-size:29px;color:#08a876}.next-step-saving-v2 span{font-size:13px;color:var(--pv2-muted)}
.next-step-progress-v2{display:flex;align-items:center;gap:12px;margin:14px 4px 8px}.next-step-progress-v2>div{height:6px;background:#e9eef0;flex:1;border-radius:99px;overflow:hidden}.next-step-progress-v2 i{display:block;height:100%;background:linear-gradient(90deg,#088d6f,#16b881);border-radius:99px}.next-step-progress-v2 span{font-size:12px;color:var(--pv2-muted)}
.next-step-footer-v2{display:flex;align-items:center;gap:14px;font-size:12px;color:#5f7484}.next-step-footer-v2 .portal-btn-v2{margin-left:auto}.pending-card-v2{display:flex;flex-direction:column}.bell-v2{font-size:22px;color:#b27600}.pending-number-v2{display:flex;align-items:center;gap:11px;padding:9px 0 14px;border-bottom:1px solid var(--pv2-border)}.pending-number-v2 strong{font-size:38px;color:#058b6d}.pending-number-v2 span{font-weight:750}.pending-action-v2{display:flex;gap:12px;padding:18px 0}.pending-action-v2>span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#e6f8f1;color:#078b6c;font-size:25px}.pending-action-v2 h3{margin:0 0 4px;font-size:16px}.pending-action-v2 p{margin:0;color:var(--pv2-muted);font-size:13px;line-height:1.45}
.studies-table-v2{padding:16px 18px}.responsive-table-v2{overflow:auto}.responsive-table-v2 table{width:100%;border-collapse:collapse;font-size:13px}.responsive-table-v2 th{padding:10px;text-align:left;background:#f5f8fa;color:#54697b;font-weight:800;border-top:1px solid var(--pv2-border);border-bottom:1px solid var(--pv2-border)}.responsive-table-v2 td{padding:10px;border-bottom:1px solid #e8eef1;vertical-align:middle}.responsive-table-v2 td:first-child{display:grid;grid-template-columns:32px 1fr;column-gap:8px}.responsive-table-v2 td:first-child small{grid-column:2;color:#7c8b97}.study-file-icon-v2{grid-row:1/3;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e1f6ee;color:#078b6c}.responsive-table-v2 td b{color:#04946f}.table-btn-v2{display:inline-flex;padding:6px 11px;border:1px solid #d5e0e5;border-radius:7px;color:#28445b;text-decoration:none;font-weight:750;background:#fff}
.portal-page-head-v2{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:10px 5px 20px}.portal-page-head-v2 h1{margin:0;font-size:35px;letter-spacing:-.025em}.portal-page-head-v2 p{margin:6px 0 0;color:var(--pv2-muted);font-size:15px}.portal-filter-row-v2{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.portal-filter-pills-v2{display:flex;gap:8px}.portal-filter-pills-v2 button{border:1px solid #d7e2e6;background:#fff;border-radius:999px;padding:8px 16px;color:#365268;font-weight:700}.portal-filter-pills-v2 button.active{background:#09a675;color:#fff;border-color:#09a675}.portal-search-v2{width:270px;display:flex;align-items:center;gap:8px;padding:0 12px;background:#fff;border:1px solid #d7e2e6;border-radius:9px}.portal-search-v2 input{border:0;outline:0;width:100%;padding:10px;background:transparent}.portal-stats-compact-v2 article{min-height:100px}
.study-card-grid-v2{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.study-card-v2{background:#fff;border:1px solid var(--pv2-border);border-radius:15px;padding:16px;box-shadow:var(--pv2-shadow)}.study-card-top-v2{display:flex;justify-content:space-between}.study-card-top-v2 button{border:0;background:none;font-size:22px}.study-card-icon-v2{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:24px}.study-card-icon-v2.green{background:#e1f6ee;color:#078b6c}.study-card-icon-v2.blue{background:#e3f1ff;color:#287dc2}.study-card-icon-v2.purple{background:#eee5ff;color:#7e50c9}.study-card-icon-v2.amber{background:#fff0d6;color:#d78700}.study-card-v2 h2{font-size:17px;margin:14px 0 4px}.study-card-v2>p{color:var(--pv2-muted);font-size:13px;min-height:18px}.study-card-meta-v2{display:flex;justify-content:space-between;font-size:12px;color:#7b8c98;margin:12px 0}.study-progress-v2{height:5px;background:#edf1f3;border-radius:99px;overflow:hidden}.study-progress-v2 i{display:block;height:100%;background:#08a876}.study-card-v2>small{display:block;text-align:right;color:#617687;margin-top:4px}.study-saving-v2{margin:13px 0}.study-saving-v2 span{display:block;font-size:12px;color:#667b8b}.study-saving-v2 strong{font-size:20px;color:#079a70}.study-secondary-action-v2{display:block;text-align:center;padding-top:9px;color:#567083;text-decoration:none;font-size:13px}
.pending-summary-v2{display:grid;grid-template-columns:repeat(3,1fr);border-radius:15px;padding:22px 30px;margin-bottom:16px;color:#fff;background:linear-gradient(110deg,#084a6a,#08776f,#14b878)}.pending-summary-v2>div{display:flex;align-items:center;gap:13px;padding:0 22px;border-right:1px solid rgba(255,255,255,.22)}.pending-summary-v2>div:first-child{padding-left:0}.pending-summary-v2>div:last-child{border-right:0}.pending-summary-v2 span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.13);font-size:26px}.pending-summary-v2 strong{font-size:31px}.pending-summary-v2 p{margin:0;font-weight:800}.pending-summary-v2 small{display:block;font-weight:400;opacity:.82;margin-top:3px}.pending-layout-v2{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px}.pending-list-v2{padding:18px}.pending-row-v2{display:grid;grid-template-columns:58px 1.15fr 1.25fr .8fr auto;gap:14px;align-items:center;border:1px solid #e0e9ed;border-radius:12px;padding:14px;margin-bottom:12px}.pending-row-v2.priority-high{border-left:4px solid #edae37}.pending-row-v2.completed{opacity:.76}.pending-row-icon-v2{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#fff1d8;color:#a96b00;font-size:24px}.pending-row-study-v2 h3,.pending-row-v2 h3{margin:0 0 4px;font-size:15px}.pending-row-v2 p{margin:0;color:var(--pv2-muted);font-size:12px}.pending-row-v2 small{display:block;color:#718493;font-size:11px}.pending-row-v2 strong{color:#079a70}.pending-row-study-v2>span{display:inline-flex;margin-top:7px;padding:4px 8px;border-radius:99px;background:#fff0d6;color:#a86800;font-size:11px;font-weight:800}.pending-study-detail-v2{display:grid;grid-template-columns:1fr 50px 1fr .8fr;gap:14px;align-items:center;background:#f4fbf8;border-radius:12px;padding:16px}.pending-study-detail-v2>div{display:flex;flex-direction:column}.pending-study-detail-v2 small{color:#668090}.pending-study-detail-v2 strong{margin:4px 0}.pending-arrow-v2{text-align:center;font-size:27px;color:#80929e}.pending-saving-box-v2{padding:12px;border-radius:10px;background:#dff6ed}.pending-saving-box-v2 strong{color:#078b6c;font-size:20px}.progress-side-v2{padding:18px}.progress-side-v2>h2{margin:0}.progress-side-v2>p{color:var(--pv2-muted);font-size:13px}.progress-step-v2{display:grid;grid-template-columns:32px 1fr;gap:10px;padding:10px 0;position:relative}.progress-step-v2:after{content:"";position:absolute;left:15px;top:41px;bottom:-7px;border-left:1px dashed #d5dfe4}.progress-step-v2:last-child:after{display:none}.progress-step-v2>i{z-index:1;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eef2f4;color:#7e8f9b;font-style:normal;font-weight:800}.progress-step-v2.done>i{background:#0a9d73;color:#fff}.progress-step-v2.current>i{background:#fff0d7;color:#a56700;border:2px solid #f1b344}.progress-step-v2 strong{font-size:14px}.progress-step-v2 p{margin:3px 0;color:var(--pv2-muted);font-size:11px}.progress-step-v2 span{display:inline-flex;padding:3px 7px;border-radius:99px;background:#eef2f4;font-size:10px}.progress-step-v2.current span{background:#fff0d7;color:#a56700}.progress-step-v2.done span{background:#e1f6ee;color:#08765d}
.portal-message-v2{margin-bottom:14px;padding:12px 15px;border-radius:10px;background:#e4f7ef;color:#087158;font-size:14px;font-weight:700}.portal-message-v2.error{background:#fff0f1;color:#b72d3d}
.history-filter-v2{display:flex;align-items:flex-end;gap:28px;padding:17px;margin-bottom:15px}.history-filter-v2 label{display:flex;flex-direction:column;gap:7px}.history-filter-v2 label span{min-width:250px;border:1px solid #d9e3e7;border-radius:8px;padding:10px;color:#50687a}.history-filter-v2 button{margin-left:auto}.activity-layout-v2{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:15px}.activity-timeline-v2,.activity-summary-v2{padding:18px}.activity-timeline-v2>h2,.activity-summary-v2>h2{margin-top:0}.activity-event-v2{display:grid;grid-template-columns:58px 43px 1fr auto;gap:12px;padding:13px 0;border-bottom:1px solid #e7edef;align-items:start}.activity-event-v2 time{font-size:11px;color:#758896}.activity-event-v2>i{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-style:normal;color:#fff}.activity-event-v2>i.green{background:#0baa78}.activity-event-v2>i.blue{background:#3388df}.activity-event-v2>i.amber{background:#eea825}.activity-event-v2>i.purple{background:#8b53dc}.activity-event-v2>div>div{display:flex;align-items:center;gap:8px}.activity-event-v2 h3{margin:0;font-size:15px}.activity-event-v2 strong{font-size:13px}.activity-event-v2 p{margin:4px 0;color:var(--pv2-muted);font-size:12px}.activity-event-v2>a{color:#31556d;text-decoration:none;font-size:12px}.activity-big-stat-v2{display:grid;grid-template-columns:50px 1fr;align-items:center;background:#effaf6;border:1px solid #d7eee6;border-radius:12px;padding:14px}.activity-big-stat-v2 span{grid-row:1/3;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#dff6ed;color:#078b6c;font-size:24px}.activity-big-stat-v2 strong{font-size:33px}.activity-big-stat-v2 small{color:var(--pv2-muted)}.activity-mini-grid-v2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:13px 0}.activity-mini-grid-v2 div{padding:12px;border:1px solid #e1e9ed;border-radius:10px}.activity-mini-grid-v2 strong{display:block;font-size:22px}.activity-mini-grid-v2 span{font-size:11px;color:var(--pv2-muted)}.mini-bars-v2{height:120px;display:flex;align-items:flex-end;justify-content:space-around;border-bottom:1px solid #dfe7eb;padding:8px}.mini-bars-v2 i{width:20px;background:linear-gradient(#09b47b,#078d70);border-radius:4px 4px 0 0}.activity-summary-v2>a{display:block;text-align:center;margin-top:15px;color:#078b6c;text-decoration:none;font-weight:750;font-size:13px}
.help-hero-v2{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:0;padding:27px 30px;border-radius:16px;color:#fff;background:linear-gradient(115deg,#0b4361,#076e69,#17b77b);margin-bottom:15px}.help-hero-v2>div{padding:0 18px;border-right:1px solid rgba(255,255,255,.2)}.help-hero-v2>div:first-child{padding-left:0}.help-hero-v2>div:last-child{border-right:0}.help-hero-v2 h2{font-size:30px;margin:5px 0}.help-hero-v2 p{font-size:13px;line-height:1.5;opacity:.9}.help-hero-option-v2 i{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#078b6c;font-size:26px;font-style:normal}.help-hero-option-v2 h3{font-size:15px}.help-hero-option-v2 a{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.3);border-radius:7px;padding:7px 10px;display:inline-flex;font-size:12px}.help-search-v2{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--pv2-border);border-radius:10px;padding:0 16px;margin-bottom:20px}.help-search-v2 input{width:100%;border:0;outline:0;padding:13px;background:transparent}.section-title-v2{font-size:20px}.help-category-grid-v2{display:grid;grid-template-columns:repeat(5,1fr);gap:13px;margin-bottom:15px}.help-category-grid-v2 article{position:relative;background:#fff;border:1px solid var(--pv2-border);border-radius:13px;padding:16px;min-height:170px;box-shadow:var(--pv2-shadow)}.help-category-grid-v2 i{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#e4f7ef;color:#078b6c;font-size:22px;font-style:normal}.help-category-grid-v2 h3{font-size:15px}.help-category-grid-v2 p{color:var(--pv2-muted);font-size:13px;line-height:1.5}.help-category-grid-v2>article>span{position:absolute;right:13px;bottom:13px}.help-bottom-v2{display:grid;grid-template-columns:1.4fr 1fr;gap:15px}.faq-v2,.support-card-v2{padding:18px}.faq-v2 details{border-bottom:1px solid #e4eaed;padding:10px}.faq-v2 summary{display:flex;justify-content:space-between;cursor:pointer;font-size:13px;font-weight:700}.faq-v2 p{color:var(--pv2-muted);font-size:12px}.support-card-v2{background:linear-gradient(135deg,#f5fbf8,#eaf9f4)}.support-card-v2>div{display:flex;gap:11px;align-items:center;border:1px solid #d7e9e2;background:#fff;border-radius:9px;padding:10px;margin:8px 0}.support-card-v2 i{font-style:normal;color:#078b6c}.support-card-v2 span{display:flex;flex-direction:column}.support-card-v2 small{color:var(--pv2-muted)}
.settings-grid-v2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.settings-card-v2{padding:17px;min-height:300px}.settings-head-v2{display:flex;gap:11px;margin-bottom:14px}.settings-head-v2>i{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e6f8f1;color:#078b6c;font-size:24px;font-style:normal}.settings-head-v2 h2{margin:0;font-size:18px}.settings-head-v2 p{margin:4px 0;color:var(--pv2-muted);font-size:12px}.settings-card-v2 form{display:flex;flex-direction:column;gap:10px}.settings-card-v2 label{font-size:12px;font-weight:750;color:#405b6e}.settings-card-v2 input:not([type=checkbox]){width:100%;margin-top:5px;padding:10px;border:1px solid #d5e1e6;border-radius:8px;outline:0}.settings-card-v2 input:focus{border-color:#40b99a;box-shadow:0 0 0 3px #e3f7f0}.field-help-v2{font-size:11px;color:var(--pv2-muted);margin:0}.toggle-row-v2{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid #e6ecef}.toggle-row-v2 span{display:flex;flex-direction:column}.toggle-row-v2 small{color:var(--pv2-muted);font-weight:400}.toggle-row-v2 input{width:38px;height:21px;accent-color:#08a876}.privacy-card-v2>a{display:flex;justify-content:space-between;padding:14px 4px;border-bottom:1px solid #e6ecef;color:#365267;text-decoration:none;font-size:13px}.current-plan-v2{background:linear-gradient(135deg,#f2edff,#fff);border:1px solid #e0d7fa;border-radius:11px;padding:14px}.current-plan-v2 small{color:var(--pv2-muted)}.current-plan-v2 strong{display:block;font-size:28px;color:#7440c7;margin:5px 0}.current-plan-v2>span{font-size:14px;color:#7440c7}.current-plan-v2 ul{list-style:none;padding:0;font-size:12px;line-height:1.9}.danger-card-v2{border-color:#f2b7bd}.danger-card-v2 .settings-head-v2 h2{color:#d93445}.danger-card-v2 .settings-head-v2>i{background:#fff0f1;color:#d93445}.danger-box-v2{background:#fff6f6;border:1px solid #f5c9cd;border-radius:10px;padding:13px}.danger-box-v2 p,.danger-box-v2 li{font-size:11px;color:#795961;line-height:1.5}.danger-box-v2 ul{padding-left:17px}.sessions-strip-v2{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;margin-top:14px}.sessions-strip-v2>div{display:flex;gap:12px;align-items:center}.sessions-strip-v2 i{font-size:28px;font-style:normal}.sessions-strip-v2 h2{margin:0;font-size:16px}.sessions-strip-v2 p{margin:3px 0;color:var(--pv2-muted);font-size:12px}
.plans-head-v2{text-align:center;justify-content:center;padding:12px}.plans-head-v2 h1{font-size:40px}.plans-grid-v2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1110px;margin:0 auto 16px}.plan-v2{position:relative;background:#fff;border:1px solid var(--pv2-border);border-radius:17px;padding:22px;box-shadow:var(--pv2-shadow)}.plan-v2.featured{border:2px solid #0aa877;transform:translateY(-5px)}.plan-v2.current{box-shadow:0 0 0 3px #dcf5ec,var(--pv2-shadow)}.plan-ribbon-v2{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:#08a876;color:#fff;border-radius:99px;padding:6px 16px;font-size:11px;font-weight:900}.plan-top-v2{display:flex;justify-content:space-between;align-items:center}.plan-icon-v2{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:25px}.plan-icon-v2.green{background:#e0f6ed;color:#078b6c}.plan-icon-v2.blue{background:#e2efff;color:#2c7fc3}.plan-icon-v2.purple{background:#eee5ff;color:#7e50c9}.plan-top-v2 em{font-style:normal;background:#e1f6ee;color:#08765d;padding:5px 9px;border-radius:99px;font-size:11px;font-weight:800}.plan-v2 h2{font-size:25px;margin:17px 0 4px}.plan-subtitle-v2{min-height:42px;color:var(--pv2-muted);font-size:13px}.plan-price-v2{display:block;font-size:37px;margin:16px 0}.plan-price-v2 small{font-size:13px;color:var(--pv2-muted)}.plan-v2 ul{list-style:none;padding:14px 0;border-top:1px solid #e6ecef;min-height:190px}.plan-v2 li{font-size:13px;line-height:2;color:#40586a}.plan-v2 li.muted{color:#9aa6ae}.plans-compare-v2{padding:18px;max-width:1110px;margin:0 auto}.plans-compare-v2 h2{font-size:19px}.plans-compare-v2 td:first-child{display:table-cell}
.logout-page-v2{max-width:1050px}.logout-main-v2{display:grid;grid-template-columns:140px 1fr;gap:25px;padding:40px 50px;align-items:center}.logout-icon-v2{width:110px;height:110px;border-radius:50%;display:grid;place-items:center;background:#e4f7ef;color:#078b6c;font-size:55px;border:12px solid #f1fbf7}.logout-main-v2 h2{font-size:26px;margin:0}.logout-main-v2 p{color:var(--pv2-muted);font-size:15px;line-height:1.6}.logout-actions-v2{display:flex;gap:10px}.logout-all-v2{display:flex;align-items:flex-start;gap:10px;border-top:1px solid #e4eaed;margin-top:22px;padding-top:18px}.logout-all-v2 span{display:flex;flex-direction:column}.logout-all-v2 small{color:var(--pv2-muted);font-weight:400}.logout-info-grid-v2{display:grid;grid-template-columns:1fr 1.2fr;gap:15px;margin-top:15px}.security-tips-v2,.recent-session-v2{padding:20px}.security-tips-v2>div,.recent-session-v2>div{display:flex;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #e7edef}.security-tips-v2 i,.recent-session-v2 i{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#e4f7ef;color:#078b6c;font-style:normal}.security-tips-v2 span,.recent-session-v2 span{display:flex;flex-direction:column}.security-tips-v2 small,.recent-session-v2 small{color:var(--pv2-muted)}.recent-session-v2 em{font-style:normal;background:#e1f6ee;color:#08765d;border-radius:99px;padding:3px 6px;font-size:10px}.recent-session-v2>a{display:block;text-align:center;margin-top:12px;color:#078b6c;text-decoration:none}
.portal-kicker-danger-v2{background:#fff1f3;color:#d93445}.account-close-page-v2{max-width:1200px}.account-close-hero-v2{padding:24px 24px 26px;border:1px solid #f2c2c7}.account-close-head-v2{display:flex;align-items:center;gap:14px;margin-bottom:18px}.account-close-warning-icon-v2{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#fff1f3;color:#de4252;font-weight:900;font-size:30px;box-shadow:inset 0 0 0 10px #fff7f8}.account-close-head-v2 h2{margin:0;font-size:36px;color:#de4252;line-height:1.02}.account-close-head-v2 p{margin:4px 0 0;color:#6f8698;font-size:20px}.account-close-panel-v2{display:grid;grid-template-columns:420px minmax(0,1fr);gap:26px;align-items:stretch}.account-close-illustration-v2{position:relative;min-height:540px;border-radius:28px;background:linear-gradient(180deg,#fff,#f8fcfb);border:1px solid #e4ecec;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}.account-close-blob-v2{position:absolute;inset:24px 22px 110px;border-radius:38px;background:radial-gradient(circle at top left,#f6fbfa 0,#eef5f5 65%,#eaf2f2 100%)}.account-close-scene-v2{position:relative;z-index:1;min-height:385px;display:flex;align-items:flex-end;justify-content:center}.account-close-floor-v2{position:absolute;left:10%;right:8%;bottom:48px;height:18px;border-radius:999px;background:linear-gradient(90deg,rgba(131,210,176,.16),rgba(117,202,195,.34),rgba(131,210,176,.16))}.account-close-shadow-v2{position:absolute;bottom:46px;left:50%;width:210px;height:26px;border-radius:50%;background:radial-gradient(circle,rgba(18,47,73,.18) 0,rgba(18,47,73,.08) 45%,rgba(18,47,73,0) 72%);transform:translateX(-50%);animation:accountCloseShadow 2.6s ease-in-out infinite}.account-close-robot-v2{position:relative;z-index:2;width:100%;max-width:320px;margin:0 auto 52px;display:block;transform-origin:54% 90%;filter:drop-shadow(0 18px 28px rgba(8,50,72,.08));animation:accountCloseRobotKick 2.6s ease-in-out infinite}.account-close-paper-v2{position:absolute;bottom:74px;left:57%;width:28px;height:28px;border-radius:6px;background:linear-gradient(145deg,#fff,#f2f6f8);border:2px solid #d7e3e7;box-shadow:0 8px 16px rgba(15,23,42,.08);transform:translateX(0) rotate(0deg);animation:accountClosePaperKick 2.6s cubic-bezier(.28,.84,.42,1) infinite;z-index:3}.account-close-paper-v2 span{position:absolute;display:block;background:#dbe5ea;border-radius:2px;opacity:.85}.account-close-paper-v2 span:nth-child(1){left:6px;top:8px;width:14px;height:2px}.account-close-paper-v2 span:nth-child(2){left:7px;top:13px;width:12px;height:2px}.account-close-paper-v2 span:nth-child(3){left:8px;top:18px;width:9px;height:2px}.account-close-kick-lines-v2{position:absolute;bottom:105px;left:50%;width:90px;height:40px;pointer-events:none;z-index:1}.account-close-kick-lines-v2 span{position:absolute;display:block;width:26px;height:4px;border-radius:999px;background:linear-gradient(90deg,rgba(13,148,136,0),rgba(13,148,136,.55));opacity:0;animation:accountCloseKickLines 2.6s ease-in-out infinite}.account-close-kick-lines-v2 span:nth-child(1){left:8px;top:6px;transform:rotate(-18deg)}.account-close-kick-lines-v2 span:nth-child(2){left:18px;top:16px;transform:rotate(-5deg)}.account-close-kick-lines-v2 span:nth-child(3){left:28px;top:26px;transform:rotate(10deg)}.account-close-note-v2{position:relative;z-index:1;margin-top:6px;border-radius:18px;background:#fff;border:1px solid #e8efef;padding:16px 18px;color:#5e7588;font-size:15px;line-height:1.55}.account-close-content-v2{padding:12px 4px 6px}.account-close-content-v2 h3{margin:0;font-size:42px;line-height:1.08;color:#122f49}.account-close-lead-v2{margin:12px 0 20px;color:#d74253;font-size:24px;font-weight:850}.account-close-list-v2{list-style:none;padding:0;margin:0;display:grid;gap:14px}.account-close-list-v2 li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:14px;align-items:flex-start;padding:16px 18px;border-radius:18px;background:#fff8f8;border:1px solid #f2d2d6}.account-close-list-v2 span{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:#fff;color:#de4252;font-style:normal;font-weight:900;font-size:22px;border:1px solid #f1ccd1}.account-close-list-v2 strong{display:block;font-size:20px;color:#16344e;margin-bottom:4px}.account-close-list-v2 small{display:block;color:#6b8295;font-size:15px;line-height:1.55}.account-close-form-v2{margin-top:22px;padding-top:18px;border-top:1px solid #e7eded}.account-close-check-v2{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border-radius:16px;background:#f8fbfb;border:1px solid #d8e6e3;color:#17334d;font-size:16px;font-weight:700}.account-close-check-v2 input{width:20px;height:20px;accent-color:#de4252;margin-top:1px}.account-close-actions-v2{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px}.account-close-actions-v2 .portal-btn-v2{min-width:240px;justify-content:center}.account-close-actions-v2 .portal-btn-v2.danger{color:#fff;background:linear-gradient(135deg,#ef5a68,#de4252);border:1px solid #de4252;box-shadow:0 12px 26px rgba(222,66,82,.22)}.account-close-actions-v2 .portal-btn-v2.danger:disabled{cursor:not-allowed;opacity:1;color:#ffffff;background:linear-gradient(135deg,#f6a3ab,#ee848f);border-color:#efb0b7;box-shadow:none}.account-close-actions-v2 .portal-btn-v2.danger.is-ready{animation:accountCloseReadyPulse 1.8s ease-in-out infinite}.account-close-actions-v2 .portal-btn-v2.outline{background:#fff}.account-close-actions-v2 .portal-btn-v2.outline:hover{background:#f8fdfc}.account-close-check-v2:has(input:checked){border-color:#f0b2ba;background:#fff8fa}.account-close-check-v2:has(input:checked) span{color:#15324d}.account-close-check-v2 input:focus-visible{outline:2px solid #de4252;outline-offset:2px}@keyframes accountCloseRobotKick{0%,18%,100%{transform:translateY(0) rotate(0deg)}28%{transform:translateY(2px) rotate(-3deg)}38%{transform:translateY(-1px) rotate(5deg)}50%{transform:translateY(2px) rotate(-1.5deg)}65%{transform:translateY(0) rotate(0deg)}}@keyframes accountClosePaperKick{0%,24%{transform:translateX(0) translateY(0) rotate(-8deg);opacity:1}36%{transform:translateX(34px) translateY(-26px) rotate(28deg);opacity:1}50%{transform:translateX(92px) translateY(-8px) rotate(86deg);opacity:1}64%{transform:translateX(54px) translateY(2px) rotate(134deg);opacity:.95}78%,100%{transform:translateX(0) translateY(0) rotate(172deg);opacity:1}}@keyframes accountCloseKickLines{0%,20%,100%{opacity:0;transform:translateX(0) scaleX(.3)}32%,48%{opacity:.9;transform:translateX(8px) scaleX(1)}}@keyframes accountCloseShadow{0%,18%,100%{transform:translateX(-50%) scale(1);opacity:.55}38%{transform:translateX(-50%) scale(.93);opacity:.42}64%{transform:translateX(-50%) scale(1.02);opacity:.58}}@keyframes accountCloseReadyPulse{0%,100%{box-shadow:0 12px 26px rgba(222,66,82,.22)}50%{box-shadow:0 16px 32px rgba(222,66,82,.34)}}@media (prefers-reduced-motion:reduce){.account-close-robot-v2,.account-close-paper-v2,.account-close-kick-lines-v2 span,.account-close-shadow-v2,.account-close-actions-v2 .portal-btn-v2.danger.is-ready{animation:none!important}}
.portal-empty-v2{text-align:center;padding:26px}.portal-empty-v2.compact{padding:15px}.portal-empty-v2 h3{margin:0 0 7px}.portal-empty-v2 p{color:var(--pv2-muted);font-size:13px}
/* Integración del nuevo lateral con pantallas heredadas */
.portal-shell.portal-shell-modern{display:grid!important;grid-template-columns:258px minmax(0,1fr)!important;min-height:100vh!important;background:var(--pv2-bg)}
.portal-shell.portal-shell-modern>.portal-sidebar-v2{grid-column:1}.portal-shell.portal-shell-modern>.main-area{grid-column:2;min-width:0;margin:0!important;max-width:none!important;padding-left:28px!important;padding-right:28px!important}
.portal-shell.portal-shell-modern .portal-sidebar-v2+.main-area{padding-top:22px}
.portal-shell.portal-shell-modern .portal-hero-modern--subpage{border-radius:15px;background:linear-gradient(115deg,#123b50,#0b756c,#18b77c);color:#fff}.portal-shell.portal-shell-modern .portal-hero-modern--subpage h1,.portal-shell.portal-shell-modern .portal-hero-modern--subpage p{color:#fff}
.portal-shell.portal-shell-modern .tariff-card-modern,.portal-shell.portal-shell-modern .visual-card,.portal-shell.portal-shell-modern .card{border-radius:14px;box-shadow:var(--pv2-shadow);border-color:var(--pv2-border)}
@media(max-width:1150px){.portal-layout-v2,.portal-shell.portal-shell-modern{grid-template-columns:220px minmax(0,1fr)!important}.portal-stats-v2{grid-template-columns:repeat(2,1fr)}.study-card-grid-v2{grid-template-columns:repeat(2,1fr)}.settings-grid-v2{grid-template-columns:repeat(2,1fr)}.help-category-grid-v2{grid-template-columns:repeat(3,1fr)}.help-hero-v2{grid-template-columns:1fr 1fr}.help-hero-v2>div{border:0;padding:12px}.pending-row-v2{grid-template-columns:50px 1fr 1fr}.pending-row-v2>div:nth-child(4),.pending-row-v2 form,.pending-row-v2>a{grid-column:2/4}}
@media(max-width:800px){.portal-layout-v2,.portal-shell.portal-shell-modern{display:block!important}.portal-sidebar-v2{position:relative;height:auto}.portal-brand-v2{height:60px}.portal-nav-v2{display:grid;grid-template-columns:1fr 1fr;padding:10px}.portal-sidebar-footer-v2{display:none}.portal-topbar-v2{position:relative;height:56px;padding:0 15px}.portal-topbar-context{display:none}.portal-page-v2{padding:15px}.portal-welcome-v2{display:block;padding:25px}.portal-welcome-v2 h1{font-size:34px}.portal-welcome-actions-v2{margin-top:18px;min-width:0;flex-wrap:wrap}.portal-stats-v2,.portal-focus-grid-v2,.pending-layout-v2,.activity-layout-v2,.help-bottom-v2,.settings-grid-v2,.plans-grid-v2,.logout-info-grid-v2{grid-template-columns:1fr}.study-card-grid-v2{grid-template-columns:1fr}.next-step-main-v2{grid-template-columns:52px 1fr}.next-step-saving-v2{grid-column:2;text-align:left}.next-step-footer-v2{flex-wrap:wrap}.next-step-footer-v2 .portal-btn-v2{margin-left:0;width:100%}.portal-filter-row-v2{align-items:stretch;flex-direction:column;gap:10px}.portal-search-v2{width:100%}.pending-summary-v2{grid-template-columns:1fr}.pending-summary-v2>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.2);padding:12px 0}.pending-row-v2{grid-template-columns:45px 1fr}.pending-row-v2>div,.pending-row-v2 form,.pending-row-v2>a{grid-column:2}.pending-study-detail-v2{grid-template-columns:1fr}.pending-arrow-v2{display:none}.help-category-grid-v2{grid-template-columns:1fr 1fr}.help-hero-v2{grid-template-columns:1fr}.plans-grid-v2{margin-top:10px}.plan-v2.featured{transform:none}.logout-main-v2{grid-template-columns:1fr;padding:24px}.logout-icon-v2{margin:auto}.portal-shell.portal-shell-modern>.main-area{padding:15px!important}.portal-page-head-v2{flex-direction:column}.settings-card-v2{min-height:auto}.account-close-head-v2{align-items:flex-start}.account-close-head-v2 h2{font-size:28px}.account-close-head-v2 p{font-size:17px}.account-close-panel-v2{grid-template-columns:1fr}.account-close-illustration-v2{min-height:0;padding:18px}.account-close-scene-v2{min-height:290px}.account-close-floor-v2{bottom:28px}.account-close-shadow-v2{bottom:26px;width:176px}.account-close-paper-v2{bottom:51px;left:58%;width:24px;height:24px}.account-close-kick-lines-v2{bottom:76px;left:49%;width:74px}.account-close-robot-v2{max-width:240px;margin-bottom:32px}.account-close-content-v2 h3{font-size:30px}.account-close-lead-v2{font-size:20px}.account-close-actions-v2 .portal-btn-v2{width:100%;min-width:0}}
.portal-shell.portal-shell-modern>.main-area>.portal-topbar-v2{margin:-22px -28px 22px;left:0;right:0}
@media(max-width:800px){.portal-shell.portal-shell-modern>.main-area>.portal-topbar-v2{margin:-15px -15px 18px}}

/* --- v0.8.18.19 optional personalization before results --- */
body.personalize-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 0% 0%,rgba(20,184,120,.10),transparent 30%),
    radial-gradient(circle at 100% 10%,rgba(14,117,143,.09),transparent 30%),
    linear-gradient(180deg,#f8fcfd 0%,#f4f9fb 100%);
}
.personalize-nav{position:sticky;top:0;z-index:30;}
.personalize-nav-progress{display:flex;align-items:center;gap:8px;color:#6a8290;font-size:.82rem;font-weight:800;}
.personalize-nav-progress span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;border:1px solid #cfdee5;background:#fff;color:#627b88;}
.personalize-nav-progress span.active{background:#0ca777;border-color:#0ca777;color:#fff;box-shadow:0 0 0 5px rgba(12,167,119,.10);}
.personalize-nav-progress i{width:42px;height:2px;background:#d8e5ea;border-radius:999px;}
.personalize-shell{padding-top:42px;padding-bottom:64px;}
.personalize-intro{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.65fr);gap:22px;padding:34px;border:1px solid #cfe4df;border-radius:30px;background:linear-gradient(135deg,#0b3348 0%,#0d6970 58%,#18bb7d 100%);box-shadow:0 24px 58px rgba(11,47,67,.14);color:#fff;overflow:hidden;position:relative;}
.personalize-intro::after{content:"";position:absolute;right:-120px;top:-160px;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 68%);}
.personalize-intro>div,.personalize-intro>aside{position:relative;z-index:1;}
.personalize-kicker{display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.20);font-size:.78rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;}
.personalize-intro h1{margin:16px 0 12px;font-size:clamp(2.2rem,4vw,4rem);line-height:1.02;color:#fff;}
.personalize-intro p{max-width:780px;margin:0;color:rgba(255,255,255,.86);font-size:1.08rem;line-height:1.7;}
.personalize-intro aside{align-self:stretch;padding:20px;border-radius:22px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.20);backdrop-filter:blur(8px);}
.personalize-benefit-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#fff;color:#0b8d65;font-size:1.45rem;font-weight:900;margin-bottom:12px;}
.personalize-intro aside strong{font-size:1.06rem;}
.personalize-intro aside ul{margin:12px 0 0;padding-left:20px;color:rgba(255,255,255,.84);line-height:1.55;}
.personalize-form{margin-top:24px;padding:28px;border:1px solid #d6e5eb;border-radius:30px;background:rgba(255,255,255,.94);box-shadow:0 22px 52px rgba(11,47,67,.09);}
.personalize-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px;}
.personalize-heading h2{margin:4px 0 5px;color:#0b2f43;font-size:1.7rem;}
.personalize-heading p{margin:0;color:#627c8a;}
.personalize-answer-counter{min-width:155px;padding:13px 16px;border-radius:18px;background:#effbf6;border:1px solid #bce7d2;text-align:center;}
.personalize-answer-counter strong,.personalize-answer-counter span{display:block;}
.personalize-answer-counter strong{font-size:1.8rem;color:#0b9568;line-height:1;}
.personalize-answer-counter span{margin-top:4px;color:#5f7b88;font-size:.8rem;font-weight:800;}
.personalize-question-grid{gap:18px;}
.personalize-question-card{min-height:255px;padding:24px;border-radius:24px;background:#fbfdfe;border-color:#d6e5eb;}
.personalize-question-card legend{font-size:1.22rem;}
.personalize-question-card>p{font-size:1rem;line-height:1.55;}
.personalize-question-card .choice-card span{min-height:58px;font-size:1rem;}
.personalize-question-card select,.personalize-question-card input[type="number"]{min-height:54px;font-size:1rem;}
.personalize-conditional{margin-top:16px;padding:15px;border-radius:18px;background:#eff9f5;border:1px solid #cbe7da;}
.personalize-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:22px;padding:20px;border-radius:22px;background:linear-gradient(135deg,#edf9f4,#f8fcfd);border:1px solid #cfe7dc;}
.personalize-trust{display:flex;align-items:flex-start;gap:12px;max-width:650px;}
.personalize-trust>span{width:34px;height:34px;min-width:34px;border-radius:50%;display:grid;place-items:center;background:#0bab78;color:#fff;font-weight:900;}
.personalize-trust strong,.personalize-trust p{display:block;}
.personalize-trust strong{color:#0b5f4a;}
.personalize-trust p{margin:4px 0 0;color:#607b88;line-height:1.45;}
.personalize-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;}
.personalize-submit{min-width:245px;}

/* Dedicated 0-100 transition page, shown after the optional questions.
   It intentionally uses the same dimensions as the first windmill transition. */
body.analysis-transition-page{margin:0;min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 10%,rgba(20,184,120,.12),transparent 33%),linear-gradient(160deg,#eaf7f8 0%,#f8fcfd 48%,#eefaf4 100%);}
.analysis-transition-shell{width:min(100%,560px);}
.analysis-transition-card{position:relative;overflow:hidden;padding:28px 28px 24px;border:1px solid rgba(176,221,200,.9);border-radius:34px;background:linear-gradient(180deg,rgba(247,252,255,.97) 0%,rgba(241,250,246,.96) 100%);box-shadow:0 28px 70px rgba(21,75,87,.18);}
.analysis-transition-card::before{content:"";position:absolute;inset:-20% auto auto -10%;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(26,184,120,.16) 0%,rgba(26,184,120,0) 70%);}
.analysis-transition-card::after{content:"";position:absolute;right:-50px;bottom:-75px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(13,108,176,.1) 0%,rgba(13,108,176,0) 72%);}
.analysis-transition-top{position:relative;z-index:1;display:flex;gap:18px;align-items:flex-start;}
.analysis-transition-copy{flex:1;min-width:0;}
.analysis-transition-copy h1{margin:0;color:#0b2f43;font-size:clamp(1.5rem,2vw,2.1rem);line-height:1.05;}
.analysis-transition-copy p{margin:10px 0 0;color:#577386;font-size:1rem;line-height:1.55;}
.analysis-energy-wrap-page{width:165px;min-width:165px;height:170px;border-radius:26px;transform:none;}
.analysis-transition-page .analysis-energy-battery-level{animation:none;transition:height .25s ease;}
.analysis-transition-page .analysis-progress-shell{margin-top:20px;}
.analysis-transition-page .analysis-progress-bar{height:14px;}
.analysis-transition-page .analysis-percent{font-size:2rem;}
.analysis-transition-page .analysis-stage{padding:12px 13px;}
.analysis-transition-page .analysis-stage span{font-size:.84rem;}

.result-personalization-note,.result-pending-handoff{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:22px 0;padding:22px 24px;border-radius:24px;border:1px solid #cae4d8;background:linear-gradient(135deg,#effbf6,#f8fcfd);box-shadow:0 14px 32px rgba(11,47,67,.06);}
.result-personalization-icon{width:52px;height:52px;min-width:52px;border-radius:17px;display:grid;place-items:center;background:#0aa878;color:#fff;font-size:1.35rem;font-weight:900;}
.result-personalization-note>div:nth-child(2){flex:1;}
.result-personalization-note h2,.result-pending-handoff h2{margin:4px 0 5px;color:#0b2f43;font-size:1.35rem;}
.result-personalization-note p,.result-pending-handoff p{margin:0;color:#607b88;line-height:1.5;}
.result-pending-handoff{margin-top:24px;border-color:#b9dfcf;background:linear-gradient(135deg,#eaf9f2,#f7fcfa);}
.result-pending-handoff>div{flex:1;}

@media(max-width:980px){
  .personalize-nav-progress{display:none;}
  .personalize-intro{grid-template-columns:1fr;}
  .analysis-transition-top{flex-direction:column;}
  .analysis-energy-wrap-page{width:100%;min-width:0;height:154px;order:-1;}
  .personalize-footer,.result-personalization-note,.result-pending-handoff{align-items:stretch;flex-direction:column;}
  .personalize-actions{width:100%;}
  .personalize-actions .button{flex:1;}
}
@media(max-width:680px){
  .personalize-shell{padding-top:20px;}
  .personalize-intro,.personalize-form,.analysis-transition-card{padding:22px;border-radius:25px;}
  .personalize-heading{align-items:flex-start;flex-direction:column;}
  .personalize-answer-counter{width:100%;}
  .personalize-actions{flex-direction:column;}
  .personalize-submit{min-width:0;}
  .analysis-transition-page{padding:12px;}
  .analysis-transition-page .analysis-stage-list{grid-template-columns:1fr;}
}
.pending-next-copy-v2 p{max-width:360px;}
.pending-row-actions-v2{display:flex;flex-direction:column;gap:9px;align-items:stretch;}
.pending-row-actions-v2 form,.pending-row-actions-v2 button,.pending-row-actions-v2 a{width:100%;}
@media(max-width:980px){.pending-row-actions-v2{flex-direction:row;flex-wrap:wrap}.pending-row-actions-v2>*{flex:1;min-width:210px;}}

/* v0_8_18_21 dashboard, transition and result refinements */
.portal-brand-v2.portal-brand-v2-image{height:auto;min-height:92px;padding:18px 22px 14px;border-bottom:1px solid var(--pv2-border)}
.portal-brand-v2.portal-brand-v2-image img{display:block;max-width:100%;height:auto}
.next-step-main-v2.next-step-main-rich-v2{grid-template-columns:minmax(0,1.35fr) minmax(0,1.7fr) 190px;gap:20px;align-items:stretch;padding:18px}
.next-step-brands-v2{display:grid;grid-template-columns:1fr 42px 1fr;gap:10px;align-items:center}
.next-step-brand-card-v2{border:1px solid #d7eee6;border-radius:16px;background:#fff;padding:14px 12px;box-shadow:0 10px 26px rgba(16,71,82,.06)}
.next-step-brand-card-v2 small{display:block;margin-bottom:8px;color:#5f7d8b;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.next-step-brand-card-v2 div{display:flex;gap:10px;align-items:center}
.next-step-brand-card-v2 img{width:44px;height:44px;object-fit:contain;border-radius:12px;background:#fff;padding:6px;border:1px solid #e3eef1}
.next-step-brand-card-v2 span{display:flex;flex-direction:column;min-width:0}
.next-step-brand-card-v2 b{font-size:16px;color:#113047;line-height:1.2}
.next-step-brand-card-v2 em{font-style:normal;color:#67808d;font-size:13px;line-height:1.35}
.next-step-brand-card-v2.recommended{background:linear-gradient(180deg,#f4fbf7,#ffffff)}
.next-step-brand-card-v2.recommended.is-neutral{background:linear-gradient(180deg,#fafcfd,#ffffff)}
.next-step-switch-v2{display:grid;place-items:center;font-size:28px;font-weight:900;color:#0bb07d}
.next-step-copy-rich-v2 small{display:block;margin-bottom:6px;color:#0e9b78;text-transform:uppercase;letter-spacing:.04em}
.next-step-copy-rich-v2 h3{margin:0 0 7px;font-size:30px;line-height:1.05}
.next-step-copy-rich-v2 p{margin:0;color:#607988;font-size:15px;line-height:1.55}
.next-step-price-row-v2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.next-step-price-row-v2 span{padding:12px 14px;border:1px solid #d9ece4;border-radius:14px;background:rgba(255,255,255,.78);display:flex;flex-direction:column;gap:3px}
.next-step-price-row-v2 label{font-size:11px;font-weight:900;color:#66818d;text-transform:uppercase;letter-spacing:.04em}
.next-step-price-row-v2 b{font-size:20px;color:#0f3045;line-height:1.1}
.next-step-price-row-v2 small{font-size:13px;color:#607988;text-transform:none;letter-spacing:0;margin:0}
.next-step-saving-v2{display:flex;flex-direction:column;justify-content:center;padding:18px;border-radius:18px;background:linear-gradient(180deg,#f2fbf8,#ffffff);border:1px solid #d7eee6;text-align:left}
.next-step-saving-v2 strong{font-size:34px;line-height:1;color:#08a876}
.next-step-saving-v2 span{line-height:1.45}
.next-step-saving-v2.no-saving{background:linear-gradient(180deg,#fff7f7,#ffffff);border-color:#f0d0d0}
.next-step-saving-v2.no-saving small,.next-step-saving-v2.no-saving strong{color:#be4d4d}
.next-step-progress-v2{display:flex;gap:14px;align-items:center;margin-top:18px}
.next-step-progress-v2>div{flex:1;height:8px;border-radius:999px;background:#dce9e4;overflow:hidden}
.next-step-progress-v2>div i{display:block;height:100%;background:linear-gradient(90deg,#14b67b,#11996b);border-radius:999px}
.next-step-progress-v2 span{font-size:14px;color:#607988;font-weight:700}
.pending-action-v2 p{line-height:1.55}
.result-abc-brand-row{margin:2px 0 12px}
.result-abc-metric.saving-danger,.result-abc-metric.saving.saving-danger{background:linear-gradient(180deg,#fff7f7,#ffffff);border-color:#f0d0d0}
.result-abc-metric.saving-danger strong,.result-abc-metric.saving.saving-danger strong,.result-abc-metric.saving-danger span,.result-abc-metric.saving.saving-danger span{color:#c25050}
.result-simple-plan-brand{margin:8px 0 12px}
.report-v29-duel-saving.is-danger{background:linear-gradient(180deg,#fff6f6,#ffffff);border:1px solid #f3cccc;border-radius:28px}
.report-v29-duel-saving.is-danger strong,.report-v29-duel-saving.is-danger span,.report-v29-duel-saving.is-danger b{color:#c04f4f}
.report-v29-duel-saving.is-danger small,.report-v29-duel-saving.is-danger .report-v29-saving-mode{color:#8a5f5f}
.analysis-transition-shell{width:min(100%,620px)}
.analysis-transition-card{padding:30px 30px 26px;border-radius:36px}
.analysis-status-pill{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(29,192,124,.11);color:#0e936d;font-size:.95rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.analysis-status-pill::before{content:"";width:12px;height:12px;border-radius:50%;background:#18b97d;box-shadow:0 0 0 6px rgba(24,185,125,.12)}
.analysis-transition-top{margin-top:18px;align-items:center;gap:24px}
.analysis-transition-copy h1{font-size:clamp(2.6rem,4vw,4rem);line-height:.98;letter-spacing:-.03em}
.analysis-transition-copy p{font-size:1.03rem;max-width:30rem}
.analysis-transition-illustration,.analysis-compare-illustration{width:230px;min-width:230px;height:230px;border-radius:34px;position:relative;background:linear-gradient(180deg,#f6f9fc,#eef6f1);border:1px solid rgba(189,216,225,.9);overflow:hidden}
.analysis-transition-note{margin:18px 0 0;color:#607988;font-size:.98rem}
.analysis-compare-illustration{display:grid;place-items:center;gap:12px;padding:20px}
.analysis-compare-card{width:100%;border-radius:18px;padding:12px 14px;background:#fff;border:1px solid #dceaf0;box-shadow:0 10px 26px rgba(16,71,82,.08);display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:center}
.analysis-compare-card span{width:40px;height:40px;border-radius:12px;background:linear-gradient(180deg,#eef4fb,#f8fcff);border:1px solid #d9e6ee;display:block}
.analysis-compare-card.best span{background:linear-gradient(180deg,#e8faf2,#f8fdfb);border-color:#cfe8db}
.analysis-compare-card small{grid-column:2;color:#6a8491;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.analysis-compare-card b{grid-column:2;color:#103047;line-height:1.2}
.analysis-compare-arrow{font-size:26px;font-weight:900;color:#18b97d}
.analysis-compare-bars{position:absolute;right:18px;bottom:16px;display:flex;gap:8px;align-items:flex-end}
.analysis-compare-bars i{width:12px;border-radius:999px 999px 0 0;background:linear-gradient(180deg,#89c9ff,#14b67b)}
.analysis-compare-bars i:nth-child(1){height:34px}.analysis-compare-bars i:nth-child(2){height:54px}.analysis-compare-bars i:nth-child(3){height:78px}
.analysis-progress-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:8px}
.analysis-progress-head strong{font-size:1.25rem;color:#113047}
.analysis-progress-bar{height:16px;border-radius:999px;background:#dfe7ec;overflow:hidden}
.analysis-progress-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#19c279,#66c4e7)}
.analysis-percent{font-size:3rem;font-weight:900;color:#13a970;line-height:1}
.analysis-stage-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.analysis-stage{padding:16px 14px;border-radius:18px;border:1px solid #dce8ec;background:rgba(255,255,255,.82);display:flex;flex-direction:column;gap:6px;color:#708692}
.analysis-stage small{text-transform:uppercase;letter-spacing:.04em;font-weight:900}
.analysis-stage span{font-size:1rem;font-weight:800;color:#6a8390}
.analysis-stage.is-active{background:linear-gradient(180deg,#eefaf3,#ffffff);border-color:#b9e6cf}
.analysis-stage.is-active span,.analysis-stage.is-active small{color:#133246}
.analysis-stage.is-complete{background:linear-gradient(180deg,#f3fcf7,#ffffff);border-color:#cbe8d8}
.analysis-stage.is-complete span,.analysis-stage.is-complete small{color:#0e936d}
@media(max-width:980px){.next-step-main-v2.next-step-main-rich-v2{grid-template-columns:1fr}.next-step-brands-v2{grid-template-columns:1fr}.next-step-switch-v2{transform:rotate(90deg)}.next-step-price-row-v2{grid-template-columns:1fr}.next-step-saving-v2{padding:16px}}
@media(max-width:720px){.analysis-transition-shell{width:100%}.analysis-transition-card{padding:22px;border-radius:26px}.analysis-transition-top{flex-direction:column;align-items:flex-start}.analysis-transition-copy h1{font-size:clamp(2.1rem,8vw,3rem)}.analysis-transition-illustration,.analysis-compare-illustration{width:100%;min-width:0;height:210px}.analysis-stage-list{grid-template-columns:1fr}.analysis-percent{font-size:2.2rem}}

/* v0_8_18_22: corrected portal summary states */
.portal-stat-no-saving .stat-icon.green{background:#fff0f0;color:#c55454}
.portal-stat-no-saving strong{color:#bf4c4c!important}
.next-step-competitive-v2{display:grid;grid-template-columns:minmax(0,1fr) 230px 180px;gap:18px;align-items:stretch;padding:20px;border-radius:18px;border:1px solid #dbe9ed;background:linear-gradient(100deg,#f6fbfc,#ffffff)}
.next-step-competitive-brand-v2{display:flex;gap:18px;align-items:center;min-width:0}
.next-step-competitive-brand-v2>img{width:76px;height:76px;object-fit:contain;padding:11px;border-radius:20px;border:1px solid #dbe9ed;background:#fff;flex:0 0 auto}
.next-step-competitive-brand-v2 small,.next-step-competitive-price-v2 small,.next-step-competitive-score-v2 small{display:block;color:#60808e;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.next-step-competitive-brand-v2 h3{margin:5px 0 6px;color:#103047;font-size:24px;line-height:1.15}
.next-step-competitive-brand-v2 p{margin:0;max-width:650px;color:#607988;font-size:14px;line-height:1.55}
.next-step-competitive-price-v2,.next-step-competitive-score-v2{display:flex;flex-direction:column;justify-content:center;padding:16px 18px;border-radius:16px;border:1px solid #d9e8ec;background:#fff}
.next-step-competitive-price-v2 strong,.next-step-competitive-score-v2 strong{display:block;margin:7px 0 4px;color:#103047;font-size:31px;line-height:1}
.next-step-competitive-price-v2 strong span,.next-step-competitive-score-v2 strong span{font-size:15px;color:#607988}
.next-step-competitive-price-v2 em,.next-step-competitive-score-v2 em{font-style:normal;color:#607988;font-size:13px}
.next-step-competitive-score-v2{background:linear-gradient(180deg,#f1fbf6,#ffffff);border-color:#cde9da}
.next-step-competitive-score-v2 strong,.next-step-competitive-score-v2 em{color:#0a936d}
.next-step-saving-v2 em{margin-top:7px;color:#607988;font-size:13px;font-style:normal;font-weight:800}
.result-abc-card-best.no-change{background:linear-gradient(145deg,#fff8f8,#fff);border-color:#efd0d0}
.result-simple-plan.no-change{background:linear-gradient(135deg,#fffafa,#f8fcfd);border-color:#ead4d4}
@media(max-width:1100px){.next-step-competitive-v2{grid-template-columns:1fr 1fr}.next-step-competitive-brand-v2{grid-column:1/-1}}
@media(max-width:720px){.next-step-competitive-v2{grid-template-columns:1fr}.next-step-competitive-brand-v2{grid-column:auto;align-items:flex-start}.next-step-competitive-brand-v2>img{width:58px;height:58px}.next-step-competitive-brand-v2 h3{font-size:20px}}

/* v0_8_18_23: portal summary rebuilt to prevent text and card overlap */
.portal-study-summary-v3{
  display:grid;
  grid-template-columns:minmax(0,1fr) 205px;
  gap:20px;
  padding:22px;
  border:1px solid #d3ebe2;
  border-radius:20px;
  background:linear-gradient(110deg,#f2fbf7 0%,#fbfefe 72%,#f2fbf7 100%);
  overflow:hidden;
}
.portal-study-summary-main-v3{min-width:0;display:flex;flex-direction:column;gap:18px}
.portal-study-summary-title-v3{min-width:0}
.portal-study-summary-title-v3>small{
  display:block;
  margin-bottom:5px;
  color:#079873;
  font-size:13px;
  font-weight:900;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.portal-study-summary-title-v3 h3{
  margin:0;
  color:#102f45;
  font-size:clamp(25px,2.15vw,35px);
  line-height:1.08;
  letter-spacing:-.025em;
  overflow-wrap:anywhere;
}
.portal-study-summary-title-v3 p{
  margin:8px 0 0;
  max-width:760px;
  color:#607988;
  font-size:15px;
  line-height:1.52;
}
.portal-company-route-v3{
  display:grid;
  grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);
  gap:12px;
  align-items:stretch;
  min-width:0;
}
.portal-company-card-v3{
  min-width:0;
  padding:14px;
  border:1px solid #d8e7ec;
  border-radius:17px;
  background:#fff;
  box-shadow:0 9px 22px rgba(14,66,78,.05);
}
.portal-company-card-v3.recommended{border-color:#bfe5d3;background:linear-gradient(180deg,#f1fcf7,#fff)}
.portal-company-card-label-v3{
  display:block;
  margin-bottom:10px;
  color:#66808d;
  font-size:11px;
  font-weight:900;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.portal-company-card-content-v3{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center;min-width:0}
.portal-company-card-content-v3 img{
  width:52px;
  height:52px;
  box-sizing:border-box;
  object-fit:contain;
  padding:7px;
  border:1px solid #dfebef;
  border-radius:14px;
  background:#fff;
}
.portal-company-card-content-v3 div{min-width:0}
.portal-company-card-content-v3 strong{
  display:block;
  color:#123148;
  font-size:17px;
  line-height:1.18;
  overflow-wrap:anywhere;
}
.portal-company-card-content-v3 small{
  display:block;
  margin-top:4px;
  color:#607988;
  font-size:13px;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.portal-company-route-arrow-v3{display:grid;place-items:center;color:#08a677;font-size:28px;font-weight:900}
.portal-price-comparison-v3{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}
.portal-price-comparison-v3 article{
  min-width:0;
  padding:14px 16px;
  border:1px solid #d7e7eb;
  border-radius:16px;
  background:#fff;
}
.portal-price-comparison-v3 article.recommended{border-color:#bfe5d3;background:#f7fdf9}
.portal-price-comparison-v3 small{
  display:block;
  margin-bottom:7px;
  color:#66808d;
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.portal-price-comparison-v3 strong{
  display:block;
  color:#102f45;
  font-size:27px;
  line-height:1;
  white-space:nowrap;
}
.portal-price-comparison-v3 strong span{font-size:14px;color:#607988}
.portal-price-comparison-v3 em{display:block;margin-top:7px;color:#607988;font-size:13px;font-style:normal;font-weight:750}
.portal-saving-panel-v3{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:22px 20px;
  border:1px solid #bfe5d3;
  border-radius:20px;
  background:linear-gradient(180deg,#f1fbf6,#fff);
}
.portal-saving-panel-v3>small{
  color:#078c6a;
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.portal-saving-panel-v3>strong{margin-top:8px;color:#08a876;font-size:43px;line-height:.95}
.portal-saving-panel-v3>span{margin-top:4px;color:#537281;font-size:15px;font-weight:800}
.portal-saving-panel-v3>em{margin-top:14px;color:#123148;font-size:17px;font-style:normal;font-weight:900}
.portal-saving-panel-v3>p{margin:12px 0 0;color:#6a808b;font-size:12px;line-height:1.45}
@media(max-width:1240px){
  .portal-study-summary-v3{grid-template-columns:1fr}
  .portal-saving-panel-v3{display:grid;grid-template-columns:auto auto 1fr;column-gap:8px;align-items:end}
  .portal-saving-panel-v3>small{grid-column:1/-1}
  .portal-saving-panel-v3>strong{font-size:36px}
  .portal-saving-panel-v3>span{margin-bottom:3px}
  .portal-saving-panel-v3>em{margin:0 0 3px 10px}
  .portal-saving-panel-v3>p{grid-column:1/-1}
}
@media(max-width:760px){
  .portal-study-summary-v3{padding:16px}
  .portal-company-route-v3{grid-template-columns:1fr}
  .portal-company-route-arrow-v3{transform:rotate(90deg);height:24px}
  .portal-price-comparison-v3{grid-template-columns:1fr}
  .portal-price-comparison-v3 strong{white-space:normal}
  .portal-saving-panel-v3{display:flex;align-items:flex-start}
}
.account-close-form-v2>label:not(.account-close-check-v2){display:grid;gap:8px;margin-bottom:14px;color:#17334d;font-size:15px;font-weight:800}.account-close-form-v2>label:not(.account-close-check-v2) input{width:100%;min-height:48px;border:1px solid #cfdedd;border-radius:14px;padding:0 14px;background:#fff;color:#122f49;font:inherit;box-sizing:border-box}.account-close-form-v2>label:not(.account-close-check-v2) input:focus{outline:3px solid rgba(222,66,82,.14);border-color:#de4252}

/* v0.8.18.31 - administracion de tarifas por comercializadora */
.tariff-admin-page .container{max-width:1540px}
.tariff-admin-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}
.tariff-admin-metrics .metric{min-height:112px;padding:17px}
.tariff-admin-metrics .metric strong{font-size:2rem}
.tariff-admin-metrics .metric-small{font-size:1rem;line-height:1.35;overflow-wrap:anywhere}
.tariff-admin-tools{margin-top:20px}
.tariff-admin-expand-actions{display:flex;gap:8px;flex-wrap:wrap}
.tariff-admin-filter-grid{display:grid;grid-template-columns:minmax(280px,1.8fr) repeat(3,minmax(150px,.7fr)) auto;gap:12px;align-items:end;margin-top:18px}
.tariff-admin-filter-grid label{display:grid;gap:7px;color:#17384c;font-weight:850;font-size:.88rem}
.tariff-admin-filter-grid input,.tariff-admin-filter-grid select{width:100%;min-height:46px;border:1px solid #cfdee5;border-radius:13px;background:#fff;padding:0 12px;color:#123148;font:inherit}
.tariff-admin-filter-grid input:focus,.tariff-admin-filter-grid select:focus{outline:3px solid rgba(16,185,129,.13);border-color:#46b88f}
.tariff-admin-reset{min-height:46px;white-space:nowrap}
.tariff-admin-catalog{margin-top:26px}
.tariff-admin-catalog-title{margin-bottom:14px;padding:0 4px}
.tariff-admin-company-list{display:grid;gap:15px}
.tariff-admin-company{overflow:hidden;border:1px solid #d8e6eb;border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 10px 30px rgba(18,55,72,.07)}
.tariff-admin-company[hidden]{display:none}
.tariff-admin-company>summary{display:grid;grid-template-columns:auto minmax(190px,1fr) auto auto;gap:15px;align-items:center;padding:17px 20px;cursor:pointer;list-style:none;background:linear-gradient(135deg,#fff,#f5fbf9)}
.tariff-admin-company>summary::-webkit-details-marker{display:none}
.tariff-admin-company[open]>summary{border-bottom:1px solid #dce8ed}
.tariff-admin-company-logo{width:54px;height:54px;display:grid;place-items:center;border:1px solid #d5e3e9;border-radius:16px;background:#fff;overflow:hidden}
.tariff-admin-company-logo img{width:44px;height:44px;object-fit:contain}
.tariff-admin-company-logo b{display:none;width:100%;height:100%;place-items:center;color:#0b4263;font-size:1rem}
.tariff-admin-company-name strong,.tariff-admin-company-name small{display:block}
.tariff-admin-company-name strong{color:#0b2f43;font-size:1.16rem}
.tariff-admin-company-name small{margin-top:3px;color:#6b8290;font-weight:750}
.tariff-admin-company-stats{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.status-pill.neutral{background:#edf2f5;color:#526d7c;border-color:#d5e0e6}
.tariff-admin-company-chevron{font-size:1.5rem;color:#577381;transition:transform .2s ease}
.tariff-admin-company[open] .tariff-admin-company-chevron{transform:rotate(180deg)}
.tariff-admin-company-body{padding:0 18px 18px}
.tariff-admin-company-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 2px}
.tariff-admin-company-actions p{margin:0;color:#617a88}
.tariff-admin-table-wrap{border:1px solid #deeaee;border-radius:16px}
.tariff-admin-table{min-width:1220px}
.tariff-admin-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.tariff-admin-table td{vertical-align:top;line-height:1.45}
.tariff-admin-table tr[hidden]{display:none}
.tariff-admin-status-cell{min-width:250px;max-width:310px}
.tariff-comparison-reason{margin:8px 0 0;font-size:.86rem;line-height:1.42}
.tariff-comparison-reason.is-ok{color:#08795f}
.tariff-comparison-reason.is-blocked{color:#8b4b22}
.tariff-blocker-details{margin-top:8px;font-size:.82rem;color:#5f7786}
.tariff-blocker-details summary{cursor:pointer;font-weight:850;color:#315b72}
.tariff-blocker-details ul{margin:8px 0 0;padding-left:18px}
.tariff-blocker-details li+li{margin-top:5px}
.tariff-price-check{margin-top:8px;padding:7px 9px;border-radius:10px;font-size:.79rem;font-weight:850}
.tariff-price-check.is-ok{background:#ecfdf5;color:#047857}
.tariff-price-check.is-pending{background:#fff8e7;color:#8d620b}
.tariff-condition-line{margin-top:10px}
.tariff-warning-list{margin-top:8px;padding:8px 10px;border-radius:10px;background:#fff8e7;color:#7f5d16;font-size:.8rem}
.tariff-admin-row-actions{min-width:96px}
.tariff-admin-row-actions>a,.tariff-admin-row-actions form{display:block;margin-bottom:7px}
.tariff-company-empty,.tariff-admin-empty{padding:18px;color:#607987;text-align:center}
.tariff-admin-empty h3{margin:0 0 6px;color:#0b2f43}

.tariff-readiness-panel{display:grid;grid-template-columns:minmax(260px,1.15fr) minmax(260px,.85fr);gap:18px;margin:0 0 28px;padding:22px;border:1px solid #cee2e6;border-radius:22px;background:linear-gradient(135deg,#f7fcfd,#f5fbf8)}
.tariff-readiness-panel h2{margin:4px 0 8px}
.tariff-readiness-panel p{margin:0;color:#58727f;line-height:1.5}
.tariff-readiness-panel ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.tariff-readiness-panel li{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid #dce7eb;border-radius:12px;background:#fff;color:#5c7481;font-size:.88rem;font-weight:800}
.tariff-readiness-panel li i{width:18px;height:18px;display:grid;place-items:center;border:2px solid #a8bbc4;border-radius:50%;font-style:normal}
.tariff-readiness-panel li.is-ready{border-color:#b8e4cf;background:#f1fbf6;color:#08795f}
.tariff-readiness-panel li.is-ready i{border-color:#12a36f;background:#12a36f}
.tariff-readiness-panel li.is-ready i::after{content:'✓';color:#fff;font-size:.7rem;font-weight:950}
.tariff-readiness-panel li.is-missing{border-color:#eadcb9;background:#fffbef;color:#7c611e}
.tariff-readiness-result{grid-column:1/-1;padding:12px 14px;border-radius:13px;font-weight:900}
.tariff-readiness-result.is-ready{background:#e9faf1;color:#08795f}
.tariff-readiness-result.is-blocked{background:#fff5df;color:#815e13}
.tariff-critical-checkbox{align-items:flex-start!important;padding:14px!important;border:1px solid #d7e6eb;border-radius:15px;background:#f9fcfd}
.tariff-critical-checkbox input{margin-top:3px}
.tariff-critical-checkbox span,.tariff-critical-checkbox strong,.tariff-critical-checkbox small{display:block}
.tariff-critical-checkbox small,.field-help{margin-top:5px;color:#6d838f;font-size:.78rem;line-height:1.4;font-weight:650}

@media(max-width:1180px){
  .tariff-admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tariff-admin-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tariff-admin-search{grid-column:1/-1}
  .tariff-admin-reset{width:max-content}
}
@media(max-width:760px){
  .tariff-admin-metrics,.tariff-admin-filter-grid,.tariff-readiness-panel{grid-template-columns:1fr}
  .tariff-admin-search{grid-column:auto}
  .tariff-admin-reset{width:100%}
  .tariff-admin-company>summary{grid-template-columns:auto 1fr auto;padding:14px}
  .tariff-admin-company-stats{grid-column:1/-1;justify-content:flex-start}
  .tariff-admin-company-chevron{grid-column:3;grid-row:1}
  .tariff-admin-company-actions{align-items:flex-start;flex-direction:column}
  .tariff-readiness-result{grid-column:auto}
}

/* v0.8.18.32 - comparacion normalizada, resumen sencillo y selector visible */
.result-mode-button { position: relative; overflow: visible; }
.result-mode-button.needs-attention {
  background: rgba(255,255,255,.56);
  box-shadow: 0 0 0 0 rgba(16,185,129,.32);
  animation: resultModeAttention 2.2s ease-in-out infinite;
}
.result-mode-button.needs-attention::after {
  content: attr(data-attention-label);
  position: absolute;
  right: 8px;
  top: -15px;
  z-index: 4;
  padding: 4px 8px;
  border-radius: 999px;
  background: #087d61;
  color: #fff;
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .02em;
  white-space: nowrap;
  box-shadow: 0 8px 18px rgba(8,125,97,.22);
  animation: resultModeLabel 2.2s ease-in-out infinite;
}
@keyframes resultModeAttention {
  0%, 100% { transform: translateY(0); box-shadow: 0 0 0 0 rgba(16,185,129,.30); }
  50% { transform: translateY(-2px); box-shadow: 0 0 0 8px rgba(16,185,129,0); }
}
@keyframes resultModeLabel {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}
.result-simple-duel-shell { margin: 0 0 18px; }
.current-tariff-conditions {
  margin-top: 16px;
  padding: 15px;
  border: 1px solid #dce9ee;
  border-radius: 18px;
  background: #f8fbfc;
}
.current-tariff-conditions h4 {
  margin: 0 0 10px;
  color: #0b2f43;
  font-size: .94rem;
}
.current-tariff-conditions dl { margin: 0; display: grid; gap: 8px; }
.current-tariff-conditions dl > div {
  display: grid;
  grid-template-columns: minmax(105px,.8fr) minmax(0,1.35fr);
  gap: 10px;
  align-items: start;
  padding-bottom: 8px;
  border-bottom: 1px dashed #d7e4e9;
}
.current-tariff-conditions dl > div:last-child { padding-bottom: 0; border-bottom: 0; }
.current-tariff-conditions dt { color: #6b818d; font-size: .74rem; font-weight: 800; }
.current-tariff-conditions dd { margin: 0; color: #17394c; font-size: .78rem; font-weight: 800; line-height: 1.4; }
.current-tariff-conditions p { margin: 11px 0 0; color: #69808c; font-size: .72rem; line-height: 1.45; }
.result-simple-advanced-cta {
  position: relative;
  animation: resultAdvancedCta 2.4s ease-in-out infinite;
}
@keyframes resultAdvancedCta {
  0%, 100% { transform: translateY(0); box-shadow: 0 9px 20px rgba(8,141,105,.16); }
  50% { transform: translateY(-2px); box-shadow: 0 13px 30px rgba(8,141,105,.29); }
}
@media (max-width: 700px) {
  .result-mode-button.needs-attention::after { top: -10px; right: 10px; }
  .current-tariff-conditions dl > div { grid-template-columns: 1fr; gap: 3px; }
}
@media (prefers-reduced-motion: reduce) {
  .result-mode-button.needs-attention,
  .result-mode-button.needs-attention::after,
  .result-simple-advanced-cta { animation: none; }
}

/* v0.8.18.33 - nuevo selector simple/avanzado y rediseño del modo sencillo */
.result-mode-switch-shell {
  align-items: stretch;
  gap: 28px;
}
.result-mode-switch-panel {
  width: min(560px, 100%);
  margin-left: auto;
  padding: 14px;
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(239,251,246,.98), rgba(247,250,255,.98));
  border: 1px solid rgba(16,185,129,.16);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.7);
}
.result-mode-switch-label {
  margin: 0 0 10px;
  color: #087d61;
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.result-mode-switch {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  padding: 0;
  background: transparent;
  box-shadow: none;
}
.result-mode-button {
  position: relative;
  overflow: hidden;
  min-height: 88px;
  border: 2px solid #cfe2dd;
  border-radius: 24px;
  padding: 16px 18px;
  background: #fff;
  color: #0b2f43;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  box-shadow: 0 10px 24px rgba(11,47,67,.06);
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease, color .22s ease;
}
.result-mode-button:hover { transform: translateY(-2px); box-shadow: 0 16px 28px rgba(11,47,67,.1); }
.result-mode-button.is-active {
  background: linear-gradient(135deg, #0ea57a, #0c7f65);
  border-color: #0c8c6c;
  color: #fff;
  box-shadow: 0 18px 34px rgba(14,165,122,.28);
}
.result-mode-icon {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: #e8f7f0;
  color: #078d69;
  font-size: 1.05rem;
}
.result-mode-button.is-active .result-mode-icon {
  background: rgba(255,255,255,.18);
  color: #fff;
}
.result-mode-copy {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 3px;
  text-align: left;
}
.result-mode-copy strong { font-size: 1rem; }
.result-mode-copy small { color: #667f8d; font-size: .77rem; line-height: 1.35; }
.result-mode-button.is-active .result-mode-copy small { color: rgba(255,255,255,.92); }
.result-mode-chev {
  color: #6c8594;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
}
.result-mode-button.is-active .result-mode-chev { color: #fff; }
.result-mode-button.needs-attention {
  animation: resultModePulse 2.4s ease-in-out infinite;
  border-color: #91dcc2;
}
.result-mode-button.needs-attention::after {
  content: attr(data-attention-label);
  position: absolute;
  top: 10px;
  right: 12px;
  z-index: 2;
  padding: 4px 8px;
  border-radius: 999px;
  background: #def7eb;
  color: #087d61;
  font-size: .66rem;
  font-weight: 900;
  letter-spacing: .02em;
  box-shadow: 0 8px 16px rgba(8,125,97,.12);
}
@keyframes resultModePulse {
  0%, 100% { transform: translateY(0); box-shadow: 0 10px 24px rgba(11,47,67,.06), 0 0 0 0 rgba(14,165,122,.18); }
  50% { transform: translateY(-2px); box-shadow: 0 18px 30px rgba(11,47,67,.1), 0 0 0 10px rgba(14,165,122,0); }
}

.simple-view-shell {
  margin-bottom: 18px;
  padding: 26px;
  border-radius: 32px;
  border: 1px solid #d9e8ee;
  background: linear-gradient(150deg, rgba(248,253,255,.98), rgba(242,255,248,.97));
  box-shadow: 0 18px 38px rgba(11,47,67,.07);
}
.simple-view-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}
.simple-view-header h2 {
  margin: 7px 0 6px;
  color: #0b2f43;
  font-size: 1.62rem;
}
.simple-view-header p {
  margin: 0;
  color: #607988;
  max-width: 760px;
}
.simple-view-badge {
  flex: 0 0 auto;
  padding: 10px 16px;
  border-radius: 18px;
  background: linear-gradient(135deg, #14b981, #0f8b6b);
  color: #fff;
  font-weight: 900;
  box-shadow: 0 14px 28px rgba(16,185,129,.2);
}
.simple-kpi-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}
.simple-kpi-card {
  padding: 18px;
  border-radius: 24px;
  background: rgba(255,255,255,.95);
  border: 1px solid #dce8ee;
  box-shadow: 0 10px 22px rgba(11,47,67,.04);
}
.simple-kpi-card.current { background: linear-gradient(145deg, #ffffff, #f7fbff); }
.simple-kpi-card.savings { background: linear-gradient(145deg, #effbf5, #ffffff); border-color: #c5ead7; }
.simple-kpi-card.savings.is-zero { background: linear-gradient(145deg, #fff8f8, #ffffff); border-color: #efd7d7; }
.simple-kpi-card.recommendation { background: linear-gradient(145deg, #f4faff, #ffffff); }
.simple-kpi-card.recommendation.no-change { background: linear-gradient(145deg, #fff9f9, #ffffff); }
.simple-kpi-card small {
  display: block;
  color: #6d8593;
  font-size: .75rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.simple-kpi-card strong {
  display: block;
  margin-top: 8px;
  color: #0b2f43;
  font-size: 1.45rem;
  line-height: 1.2;
}
.simple-kpi-card.savings strong { color: #087d61; }
.simple-kpi-card.savings.is-zero strong { color: #c25050; }
.simple-kpi-card span {
  display: block;
  margin-top: 8px;
  color: #607988;
  line-height: 1.45;
}
.simple-story-grid {
  display: grid;
  grid-template-columns: 1.1fr 1.1fr .9fr;
  gap: 16px;
  align-items: start;
}
.simple-story-card {
  padding: 20px;
  border-radius: 26px;
  background: rgba(255,255,255,.95);
  border: 1px solid #dce8ee;
  box-shadow: 0 12px 26px rgba(11,47,67,.05);
}
.simple-story-card.best { background: linear-gradient(145deg, #f5fff9, #ffffff); border-color: #bfe8d3; }
.simple-story-card.best.no-change { background: linear-gradient(145deg, #fff8f8, #ffffff); border-color: #efd3d3; }
.simple-story-card.action { background: linear-gradient(145deg, #f8fbff, #ffffff); }
.simple-story-step {
  display: inline-flex;
  align-items: center;
  padding: 7px 12px;
  border-radius: 999px;
  background: #e9f6f1;
  color: #087d61;
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .04em;
}
.simple-story-brand { margin: 14px 0 12px; }
.simple-story-card h3 {
  margin: 0 0 6px;
  color: #0b2f43;
  font-size: 1.28rem;
}
.simple-story-card p {
  margin: 0;
  color: #607988;
  line-height: 1.55;
}
.simple-story-highlight {
  margin: 16px 0;
  padding: 16px;
  border-radius: 20px;
  background: #f1faf5;
  border: 1px solid #d3eadc;
}
.simple-story-highlight strong {
  display: block;
  color: #087d61;
  font-size: 1.48rem;
  line-height: 1.1;
}
.simple-story-highlight span {
  display: block;
  margin-top: 6px;
  color: #607988;
}
.simple-story-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0;
}
.simple-story-metrics > div {
  padding: 12px;
  border-radius: 18px;
  background: #f7fafc;
  border: 1px solid #e3edf1;
}
.simple-story-metrics small {
  display: block;
  color: #6f8795;
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.simple-story-metrics strong {
  display: block;
  margin-top: 6px;
  color: #0b2f43;
  font-size: 1rem;
  line-height: 1.35;
}
.simple-conditions {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #e4edf2;
}
.simple-conditions h4 {
  margin: 0 0 10px;
  color: #0b2f43;
  font-size: .94rem;
}
.simple-conditions ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}
.simple-conditions li {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 16px;
  background: #f7fafc;
  border: 1px solid #e4edf2;
}
.simple-conditions li span { color: #607988; }
.simple-conditions li b { color: #0b2f43; text-align: right; }
.simple-conditions p {
  margin-top: 10px;
  font-size: .84rem;
}
.simple-note-box {
  margin-top: 16px;
  padding: 14px;
  border-radius: 18px;
  background: #f7fafc;
  border: 1px solid #e4edf2;
  display: grid;
  gap: 10px;
}
.simple-note-box div { display: grid; gap: 4px; }
.simple-note-box strong { color: #0b2f43; font-size: .82rem; text-transform: uppercase; letter-spacing: .04em; }
.simple-note-box span { color: #607988; line-height: 1.45; }
.simple-power-toggle { margin-top: 16px; }
.simple-power-state { margin-bottom: 16px; }
.simple-step-list {
  margin: 16px 0 0;
  padding-left: 18px;
  color: #486474;
  display: grid;
  gap: 10px;
}
.simple-step-list li { line-height: 1.5; }
.simple-view-actions {
  margin-top: 18px;
  padding: 20px;
  border-radius: 26px;
  border: 1px solid rgba(16,185,129,.24);
  background: linear-gradient(135deg, rgba(239,253,247,.98), rgba(247,250,255,.98));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.simple-view-actions.no-change {
  border-color: #efd3d3;
  background: linear-gradient(135deg, rgba(255,249,249,.98), rgba(247,250,255,.98));
}
.simple-view-actions-copy h3 {
  margin: 9px 0 6px;
  color: #0b2f43;
  font-size: 1.25rem;
}
.simple-view-actions-copy p { margin: 0; color: #607988; }
.simple-view-actions-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

@media (max-width: 980px) {
  .result-mode-switch-shell { flex-direction: column; }
  .result-mode-switch-panel { width: 100%; margin-left: 0; }
  .simple-kpi-strip,
  .simple-story-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .result-mode-switch-shell,
  .simple-view-shell { padding: 18px; border-radius: 24px; }
  .result-mode-switch { grid-template-columns: 1fr; }
  .result-mode-button { min-height: 82px; padding: 15px 16px; }
  .result-mode-button.needs-attention::after {
    top: 8px;
    right: 10px;
    font-size: .62rem;
  }
  .simple-view-header,
  .simple-view-actions { flex-direction: column; align-items: stretch; }
  .simple-story-metrics { grid-template-columns: 1fr; }
  .simple-conditions li { flex-direction: column; }
  .simple-conditions li b { text-align: left; }
  .simple-view-actions-buttons,
  .simple-view-actions-buttons .button { width: 100%; }
  .simple-view-actions-buttons .button { justify-content: center; }
}

/* v0.8.18.34 - resultado sencillo/avanzado unificado */
.result-mode-switch-shell {
  align-items: center;
  gap: 24px;
  padding: 28px;
  border-radius: 30px;
  border: 1px solid rgba(13,148,98,.14);
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(240,250,246,.96));
  box-shadow: 0 18px 50px rgba(12,63,47,.08);
}
.result-mode-switch-copy {
  flex: 1 1 320px;
  min-width: 260px;
}
.result-mode-switch-copy h2 {
  margin: 8px 0 10px;
  font-size: clamp(1.6rem, 2.1vw, 2.2rem);
}
.result-mode-switch-copy p {
  margin: 0;
  color: #597183;
  line-height: 1.6;
}
.result-mode-switch-panel {
  flex: 1 1 520px;
  width: auto;
  margin-left: 0;
  padding: 10px;
  border-radius: 32px;
  background: rgba(244,249,247,.92);
  border: 1px solid rgba(13,148,98,.12);
}
.result-mode-switch-label {
  display: none;
}
.result-mode-switch {
  gap: 14px;
}
.result-mode-button {
  min-height: 112px;
  border-radius: 26px;
  border: 2px solid #d9e5e1;
  background: #fff;
  padding: 18px 20px;
  box-shadow: 0 10px 22px rgba(12,38,56,.06);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
.result-mode-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(12,38,56,.10);
}
.result-mode-button.is-active {
  border-color: #18b16f;
  background: linear-gradient(135deg, #0ea96a, #14b874);
  color: #fff;
  box-shadow: 0 16px 34px rgba(16,185,129,.28);
}
.result-mode-button.is-active .result-mode-copy strong,
.result-mode-button.is-active .result-mode-copy small,
.result-mode-button.is-active .result-mode-chev {
  color: #fff;
}
.result-mode-button.is-active .result-mode-icon {
  background: rgba(255,255,255,.16);
  color: #fff;
  border-color: rgba(255,255,255,.4);
}
.result-mode-button.needs-attention::after {
  content: attr(data-attention-label);
  top: 10px;
  right: 14px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #e9fbf2;
  color: #0f8c5b;
  border: 1px solid rgba(15,140,91,.16);
}
.result-mode-button.is-active.needs-attention::after {
  background: rgba(255,255,255,.18);
  color: #fff;
  border-color: rgba(255,255,255,.28);
}
.result-mode-icon {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  border: 1px solid #dbe9e4;
  background: #f4fbf7;
  color: #0ea96a;
  font-size: 1.45rem;
  font-weight: 800;
}
.result-mode-copy strong {
  font-size: 1.3rem;
  letter-spacing: -.02em;
}
.result-mode-copy small {
  margin-top: 6px;
  font-size: .98rem;
  color: #617889;
}
.result-mode-chev {
  font-size: 1.55rem;
  color: #7e95a3;
}

.simple-view-shell {
  padding: 28px;
  border-radius: 34px;
  border: 1px solid rgba(16,185,129,.14);
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,252,249,.98));
  box-shadow: 0 16px 42px rgba(12,38,56,.07);
}
.simple-view-header {
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 20px;
}
.simple-view-header h2 {
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.05;
  margin: 10px 0 10px;
  max-width: 12ch;
}
.simple-view-header p {
  max-width: 70ch;
  color: #597183;
  line-height: 1.65;
}
.simple-view-badge {
  align-self: flex-start;
  padding: 12px 18px;
  border-radius: 18px;
  background: #eaf8f1;
  color: #11945e;
  border: 1px solid rgba(16,185,129,.18);
  font-weight: 800;
}
.simple-kpi-strip {
  grid-template-columns: 1.15fr 1fr 1fr;
  gap: 16px;
}
.simple-kpi-card {
  padding: 22px;
  border-radius: 28px;
  background: #fff;
  border: 1px solid #e5efea;
  box-shadow: 0 10px 24px rgba(12,38,56,.05);
}
.simple-kpi-card small {
  color: #f2761d;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.simple-kpi-card strong {
  margin-top: 8px;
  font-size: clamp(1.7rem, 2vw, 2.6rem);
  line-height: 1.05;
}
.simple-kpi-card span {
  margin-top: 8px;
  color: #607988;
}
.simple-kpi-card.current {
  border-color: rgba(242,158,74,.32);
  background: linear-gradient(180deg, #fffefb, #fff);
}
.simple-kpi-card.savings {
  border-color: rgba(16,185,129,.28);
  background: linear-gradient(180deg, #f4fff8, #fff);
}
.simple-kpi-card.recommendation {
  border-color: rgba(16,185,129,.22);
  background: linear-gradient(180deg, #f8fffb, #fff);
}
.simple-kpi-card.savings strong,
.simple-kpi-card.recommendation strong {
  color: #0d7f53;
}
.simple-story-grid {
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.simple-story-card {
  border-radius: 30px;
  padding: 24px;
  background: #fff;
  border: 1px solid #dfece6;
  box-shadow: 0 12px 26px rgba(12,38,56,.06);
}
.simple-story-card.current {
  border-color: rgba(242,158,74,.32);
}
.simple-story-card.best {
  border-color: rgba(16,185,129,.26);
}
.simple-story-card.action {
  grid-column: 1 / -1;
  background: linear-gradient(135deg, rgba(240,251,245,.96), rgba(255,255,255,.98));
  border-color: rgba(16,185,129,.2);
}
.simple-story-step {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  background: #f4fbf7;
  color: #129562;
  font-weight: 800;
  font-size: .78rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.simple-story-card h3 {
  margin: 16px 0 8px;
  font-size: 2rem;
  line-height: 1.1;
}
.simple-story-card p {
  color: #607988;
}
.simple-story-highlight {
  margin-top: 18px;
  padding: 18px 20px;
  border-radius: 22px;
  background: #f2fbf6;
  border: 1px solid rgba(16,185,129,.18);
}
.simple-story-highlight strong {
  font-size: 2.2rem;
  line-height: 1.05;
  color: #0f8557;
}
.simple-story-highlight span {
  display: block;
  margin-top: 6px;
  color: #5f7a88;
}
.simple-story-metrics {
  gap: 14px;
}
.simple-story-metrics div {
  border-radius: 18px;
  padding: 16px;
  border: 1px solid #e6efeb;
  background: #fff;
}
.simple-story-metrics small {
  color: #79909f;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: .75rem;
  font-weight: 800;
}
.simple-story-metrics strong {
  margin-top: 7px;
  font-size: 1.4rem;
}
.simple-conditions,
.simple-note-box {
  border-radius: 22px;
  background: #fbfdfc;
  border: 1px solid #e5efea;
}
.simple-conditions h4 {
  margin: 0 0 12px;
  font-size: 1rem;
}
.result-simple-advanced-cta,
.report-v29-tariff-detail-link,
.button.finish-primary,
.result-simple-main-action {
  position: relative;
  overflow: hidden;
}
.result-simple-advanced-cta::before,
.report-v29-tariff-detail-link::before,
.button.finish-primary::before,
.result-simple-main-action::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.28) 50%, transparent 100%);
  transform: translateX(-130%);
  animation: calloutShine 2.8s ease-in-out infinite;
}
@keyframes calloutShine {
  0%, 12% { transform: translateX(-130%); }
  38%, 100% { transform: translateX(130%); }
}
.simple-view-actions {
  margin-top: 22px;
  padding: 24px;
  border-radius: 30px;
  border: 1px solid rgba(16,185,129,.24);
  background: linear-gradient(135deg, rgba(238,252,245,.98), rgba(255,255,255,.98));
}
.simple-view-actions-copy h3 {
  font-size: 1.55rem;
}

.report-v29-duel-shell,
.invoice-simulation-details,
.tariff-comparison-details,
.result-secondary-details,
.power-simulation-details {
  border-radius: 30px;
  border: 1px solid rgba(16,185,129,.12);
  background: rgba(255,255,255,.98);
  box-shadow: 0 14px 34px rgba(12,38,56,.05);
}
.report-v29-duel-grid {
  gap: 24px;
}
.report-v29-duel-card {
  border-radius: 28px;
  padding: 22px;
  border: 1px solid #e4efea;
  box-shadow: none;
}
.report-v29-duel-card.current {
  border-color: rgba(242,158,74,.28);
  background: linear-gradient(180deg, #fffefc, #fff);
}
.report-v29-duel-card.best {
  border-color: rgba(16,185,129,.28);
  background: linear-gradient(180deg, #fbfffd, #fff);
}
.report-v29-duel-card h3 {
  font-size: 2rem;
  line-height: 1.1;
}
.report-v29-cost-primary,
.report-v29-cost-row > div,
.current-tariff-conditions {
  border-radius: 20px;
}
.report-v29-duel-saving {
  border-radius: 30px;
  background: linear-gradient(180deg, #fff, #f5fdf8);
  border: 1px solid rgba(16,185,129,.18);
  min-width: 190px;
}
.report-v29-duel-saving strong {
  font-size: 3rem;
}
.report-v29-duel-saving span {
  color: #0e905c;
  font-weight: 800;
}
.report-v29-duel-saving::after {
  content: "💡";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  margin: 18px auto 0;
  border-radius: 50%;
  border: 1px solid rgba(16,185,129,.2);
  background: #f4fbf7;
  font-size: 1.9rem;
}
.invoice-simulation-details[open] summary,
.result-secondary-details[open] summary {
  margin-bottom: 20px;
}
.invoice-simulation-intro {
  gap: 16px;
}
.invoice-simulation-intro > div {
  border-radius: 20px;
  padding: 18px 20px;
  background: #fbfdfc;
  border: 1px solid #e6efeb;
}
.invoice-simulation-intro > div strong {
  font-size: 2rem;
}
.invoice-simulation-tax-note {
  border-radius: 18px;
  border-color: rgba(242,158,74,.32);
  background: #fffaf1;
  color: #985c0f;
}
.invoice-simulation-table thead th {
  background: #f3faf6;
  color: #17384a;
}
.invoice-simulation-group-row th {
  background: #fbfffd;
  color: #109560;
  font-size: 1.02rem;
  letter-spacing: .04em;
}
.compact-ranking-wrap {
  margin-top: 14px;
}
.compact-ranking-table thead th {
  font-size: .86rem;
}
.compact-ranking-table tbody td {
  vertical-align: middle;
}
.compact-ranking-table tr.is-best-row {
  background: #f3fcf6;
}
.compact-ranking-table tr.is-current-row {
  background: #fffaf5;
}
.ranking-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #eaf7f0;
  color: #0f8b59;
  font-weight: 800;
}
.compact-brand-cell {
  align-items: center;
}
.badge.neutral {
  background: #eef3f7;
  color: #5e7381;
}

@media (max-width: 1180px) {
  .simple-kpi-strip,
  .simple-story-grid,
  .report-v29-duel-grid,
  .invoice-simulation-intro {
    grid-template-columns: 1fr;
  }
  .report-v29-duel-center {
    order: 3;
  }
}
@media (max-width: 980px) {
  .simple-view-header h2,
  .report-v29-duel-card h3 {
    font-size: 1.7rem;
  }
}
@media (max-width: 760px) {
  .result-mode-switch-shell,
  .simple-view-shell,
  .report-v29-duel-shell,
  .invoice-simulation-details,
  .tariff-comparison-details,
  .result-secondary-details,
  .power-simulation-details {
    padding: 18px;
    border-radius: 24px;
  }
  .result-mode-switch-panel {
    padding: 8px;
    border-radius: 24px;
  }
  .result-mode-button {
    min-height: 94px;
    border-radius: 22px;
  }
  .result-mode-icon {
    width: 46px;
    height: 46px;
    border-radius: 15px;
  }
  .simple-kpi-card,
  .simple-story-card,
  .simple-view-actions,
  .report-v29-duel-card,
  .invoice-simulation-intro > div {
    padding: 18px;
    border-radius: 22px;
  }
  .simple-story-card.action {
    grid-column: auto;
  }
  .simple-view-header h2,
  .simple-story-card h3,
  .report-v29-duel-card h3 {
    font-size: 1.5rem;
  }
  .simple-kpi-card strong,
  .simple-story-highlight strong,
  .invoice-simulation-intro > div strong,
  .report-v29-duel-saving strong {
    font-size: 1.9rem;
  }
  .compact-ranking-table {
    min-width: 720px;
  }
}

/* v0.8.18.35 - simplificacion del modo sencillo */
.simple-kpi-strip-clarified {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.simple-kpi-card.annual {
  border-color: rgba(16,185,129,.22);
  background: linear-gradient(180deg, #f7fffb, #fff);
}
.simple-kpi-card.annual strong {
  color: #0d7f53;
}
.simple-recommendation-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 20px;
  padding: 24px;
  border-radius: 28px;
  border: 1px solid rgba(16,185,129,.22);
  background: linear-gradient(135deg, rgba(242,252,246,.98), rgba(255,255,255,.98));
}
.simple-recommendation-banner.no-change {
  border-color: rgba(122,145,158,.2);
  background: linear-gradient(135deg, rgba(247,250,252,.98), rgba(255,255,255,.98));
}
.simple-recommendation-copy {
  display: grid;
  gap: 10px;
}
.simple-recommendation-copy h3 {
  margin: 0;
  font-size: clamp(1.45rem, 2.2vw, 2rem);
  line-height: 1.12;
}
.simple-recommendation-copy p {
  margin: 0;
  color: #607988;
  line-height: 1.6;
  max-width: 70ch;
}
.simple-recommendation-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}
.report-v29-saving-breakdown.single-highlight {
  display: flex;
  justify-content: center;
}
.report-v29-saving-breakdown.single-highlight b {
  min-width: 0;
}
@media (max-width: 980px) {
  .simple-kpi-strip-clarified {
    grid-template-columns: 1fr;
  }
  .simple-recommendation-banner {
    flex-direction: column;
    align-items: stretch;
  }
}
@media (max-width: 760px) {
  .simple-recommendation-banner {
    padding: 18px;
    border-radius: 22px;
  }
  .simple-recommendation-actions,
  .simple-recommendation-actions .button {
    width: 100%;
  }
  .simple-recommendation-actions .button {
    justify-content: center;
  }
}


/* v0.8.18.36 - menu de acciones en Mis estudios */
.study-card-menu-v2{position:relative}.study-card-menu-v2 summary{list-style:none;width:38px;height:38px;border-radius:12px;border:1px solid #d9e6ea;background:#fff;display:grid;place-items:center;font-size:22px;color:#2f4c63;cursor:pointer;box-shadow:0 8px 22px rgba(20,52,72,.06)}.study-card-menu-v2 summary::-webkit-details-marker{display:none}.study-card-menu-v2[open] summary{background:#f3fbf8;border-color:#9bdabf;color:#0b8d65}.study-card-menu-panel-v2{position:absolute;right:0;top:46px;min-width:190px;padding:8px;border-radius:14px;border:1px solid #dbe7eb;background:#fff;box-shadow:0 18px 40px rgba(15,48,71,.16);display:grid;gap:6px;z-index:15}.study-card-menu-panel-v2 a,.study-card-menu-panel-v2 button{width:100%;display:flex;align-items:center;justify-content:flex-start;padding:10px 12px;border-radius:10px;border:0;background:#fff;color:#26455d;text-decoration:none;font-weight:700;cursor:pointer}.study-card-menu-panel-v2 a:hover,.study-card-menu-panel-v2 button:hover{background:#f4f8fa}.study-card-menu-panel-v2 button{color:#c34848}.study-table-actions-v2{display:flex;flex-wrap:wrap;gap:8px}.table-btn-v2.danger{border-color:#f1c4c4;color:#c34848;background:#fff7f7}@media(max-width:800px){.study-card-menu-panel-v2{right:auto;left:0}.study-table-actions-v2{flex-direction:column;align-items:flex-start}.study-table-actions-v2 .table-btn-v2{width:100%;justify-content:center}}
/* v0.8.18.37 - listado escalable de facturas en backend */
.backend-invoice-filter-card{position:relative;z-index:2}.backend-invoice-filters{display:grid;grid-template-columns:minmax(260px,2fr) repeat(5,minmax(150px,1fr));gap:14px;align-items:end}.backend-invoice-filters label{display:grid;gap:7px;color:#496075;font-weight:800;font-size:.86rem}.backend-invoice-filters input,.backend-invoice-filters select{width:100%;min-height:44px;border:1px solid #d5e3e8;border-radius:12px;background:#fff;color:#15354b;padding:10px 12px;font:inherit}.backend-invoice-filters input:focus,.backend-invoice-filters select:focus{outline:3px solid rgba(16,185,129,.14);border-color:#16aa78}.backend-invoice-filter-actions{grid-column:1/-1;display:flex;gap:10px;justify-content:flex-end}.backend-invoices-table-wrap{max-height:none}.backend-invoices-table{min-width:1320px}.backend-invoices-table td{vertical-align:middle}.backend-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-top:18px;padding-top:16px;border-top:1px solid #e4edf1}.backend-pagination>a:last-child{justify-self:end}.backend-pagination>span:nth-child(2){color:#5f7484}@media(max-width:1350px){.backend-invoice-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.backend-invoice-search-field{grid-column:span 2}}@media(max-width:850px){.backend-invoice-filters{grid-template-columns:1fr}.backend-invoice-search-field{grid-column:auto}.backend-invoice-filter-actions{justify-content:stretch;flex-direction:column}.backend-invoice-filter-actions .button{width:100%;justify-content:center}.backend-pagination{grid-template-columns:1fr;text-align:center}.backend-pagination>a,.backend-pagination>a:last-child{justify-self:stretch;justify-content:center}.backend-pagination>span:empty{display:none}}

/* v0.8.18.38 - panel de parsers/comercializadoras y navegación interna */
.backend-registry-filters{display:grid;grid-template-columns:minmax(260px,1fr) 260px auto;gap:14px;align-items:end}.backend-registry-filters label,.backend-company-form label,.backend-company-search{display:grid;gap:7px;color:#26455d;font-weight:800}.backend-registry-filters input,.backend-registry-filters select,.backend-company-form input,.backend-company-form select,.backend-company-form textarea,.backend-company-search input{width:100%;border:1px solid #cfe0e7;border-radius:13px;padding:12px 14px;background:#fff;color:#14354b;font:inherit}.backend-parser-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.backend-parser-card{min-height:245px}.backend-parser-head{display:grid;grid-template-columns:76px 1fr auto;gap:14px;align-items:center}.backend-parser-head h2{margin:0 0 4px}.backend-parser-head p{margin:0;color:#667d8e}.backend-company-logo{width:72px;height:72px;border:1px solid #dbe8ed;border-radius:18px;background:#fff;display:grid;place-items:center;overflow:hidden}.backend-company-logo.large{width:88px;height:70px}.backend-company-logo img{width:86%;height:86%;object-fit:contain}.backend-parser-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.backend-parser-meta div{padding:12px;border-radius:14px;background:#f6fafb;border:1px solid #e4edf1}.backend-parser-meta dt{font-size:12px;color:#748896;font-weight:800}.backend-parser-meta dd{margin:5px 0 0;color:#14354b;font-weight:800;word-break:break-word}.backend-company-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.backend-company-form-card{margin-bottom:16px}.backend-company-aliases,.backend-company-notes{grid-column:span 2}.backend-company-logo-upload{grid-column:span 2}.backend-company-logo-upload small{font-weight:500;color:#718795}.backend-company-form-actions{display:flex;align-items:end}.backend-company-list{display:grid;gap:10px}.backend-company-row{display:grid;grid-template-columns:100px minmax(230px,1.4fr) minmax(180px,1fr) 90px 90px auto;gap:14px;align-items:center;padding:14px;border:1px solid #dde9ed;border-radius:17px;background:#fff}.backend-company-row:hover{border-color:#a7d9c6;box-shadow:0 10px 28px rgba(17,62,80,.06)}.backend-company-main h3{margin:0 0 3px}.backend-company-main p,.backend-company-main small{margin:0;color:#718594}.backend-company-row>div>small{display:block;color:#758a98;font-weight:800;font-size:12px}.backend-company-row>div>strong{display:block;margin:4px 0;color:#14354b}.backend-company-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.service-topbar .button.secondary.slim{white-space:nowrap}.tariff-admin-page .topbar>.button{margin-right:auto}
@media(max-width:1180px){.backend-company-row{grid-template-columns:90px 1fr 1fr 80px 80px}.backend-company-actions{grid-column:2/-1;justify-content:flex-start}.backend-company-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.backend-parser-grid{grid-template-columns:1fr}.backend-registry-filters{grid-template-columns:1fr}.backend-company-row{grid-template-columns:80px 1fr}.backend-company-row>div:nth-child(n+3){grid-column:2}.backend-company-actions{grid-column:2}.backend-company-form{grid-template-columns:1fr}.backend-company-aliases,.backend-company-notes,.backend-company-logo-upload{grid-column:auto}.service-topbar{flex-wrap:wrap}}
@media(max-width:600px){.backend-parser-head{grid-template-columns:64px 1fr}.backend-parser-head>.badge{grid-column:2}.backend-company-logo{width:60px;height:60px}.backend-parser-meta{grid-template-columns:1fr}.backend-company-row{grid-template-columns:1fr}.backend-company-row>div,.backend-company-row>div:nth-child(n+3),.backend-company-actions{grid-column:1}.backend-company-logo.large{width:100%;height:90px}.backend-company-actions .button{width:100%;justify-content:center}}


/* v0.8.18.39 - borrado lógico, logos y versiones de parser */
.backend-invoice-filters{grid-template-columns:minmax(260px,2fr) repeat(6,minmax(150px,1fr));}
.backend-row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.backend-row-actions form{margin:0}.button.danger{background:#fff2f2;color:#b63d3d;border-color:#e9baba}.button.danger:hover{background:#b63d3d;color:#fff;border-color:#b63d3d}.status-pill.user-deleted,.badge.user-deleted{background:#fff0f0;color:#b43b3b;border:1px solid #efc2c2}.backend-visibility-card{display:flex;align-items:center;justify-content:space-between;gap:24px;border-color:#d7e8e2;background:linear-gradient(135deg,#fff,#f6fcf9)}.backend-visibility-card h2{margin:6px 0 5px}.backend-visibility-card p{margin:0}.backend-company-current-logo{display:grid;gap:8px;align-content:start}.backend-company-current-logo>span{font-weight:800;color:#17384c}.backend-company-current-logo small{color:#6d8190}.backend-company-form{grid-template-columns:repeat(3,minmax(0,1fr))}.backend-company-current-logo,.backend-company-logo-upload{grid-column:span 1}.tariff-company-logo-panel{display:grid;grid-template-columns:160px 1fr;gap:24px;align-items:center;margin:20px 0;padding:22px;border:1px solid #dbeae4;border-radius:24px;background:linear-gradient(135deg,#fbfffd,#f4fbf8)}.tariff-company-logo-preview{height:120px;border-radius:20px;border:1px solid #d7e5df;background:#fff;display:grid;place-items:center;padding:16px}.tariff-company-logo-preview img{max-width:100%;max-height:88px;object-fit:contain}.tariff-company-logo-panel h2{margin:5px 0 7px}.tariff-company-logo-panel p{margin:0 0 12px;color:#617989}.tariff-company-logo-upload{display:grid;gap:6px;font-weight:800}.tariff-company-logo-upload input{font-weight:400}.tariff-company-logo-upload small{font-weight:400;color:#6c8190}@media(max-width:1350px){.backend-invoice-filters{grid-template-columns:repeat(3,minmax(180px,1fr))}.backend-invoice-search-field{grid-column:span 2}}@media(max-width:850px){.backend-invoice-filters{grid-template-columns:1fr}.backend-invoice-search-field{grid-column:auto}.backend-visibility-card{align-items:stretch;flex-direction:column}.backend-company-form{grid-template-columns:1fr}.backend-company-current-logo,.backend-company-logo-upload{grid-column:auto}.tariff-company-logo-panel{grid-template-columns:1fr}.tariff-company-logo-preview{height:100px}}

/* v0.8.18.40 - Trámites pendientes y modalidades dinámicas */
.management-choice-shell-v2{padding:26px;margin-bottom:18px}.management-choice-head-v2{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.management-choice-head-v2 h2{margin:7px 0 8px;font-size:30px;color:#0e3047}.management-choice-head-v2 p{margin:0;color:#62798a;line-height:1.55}.management-choice-grid-v2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.management-choice-card-v2{position:relative;padding:22px;border:1px solid #dce8ed;border-radius:22px;background:#fff;box-shadow:0 10px 28px rgba(18,52,72,.06);display:flex;flex-direction:column}.management-choice-card-v2.featured{border:2px solid #13a976;background:linear-gradient(145deg,#f2fff8,#fff);transform:translateY(-5px)}.management-choice-card-v2.managed{border-color:#d9cff4;background:linear-gradient(145deg,#fbf9ff,#fff)}.management-choice-icon-v2{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;background:#e7f8f0;color:#0b9569;font-size:25px;font-weight:900;margin-bottom:14px}.management-choice-card-v2.managed .management-choice-icon-v2{background:#eee8ff;color:#7953bd}.management-choice-card-v2>small{font-weight:900;color:#078d65;letter-spacing:.06em}.management-choice-card-v2 h3{font-size:22px;margin:8px 0;color:#103249}.management-choice-card-v2 p{color:#607888;line-height:1.5;min-height:72px}.management-choice-card-v2 ul{list-style:none;padding:0;margin:10px 0 20px;display:grid;gap:9px;color:#405d70}.management-choice-card-v2 li:before{content:'✓';color:#09a574;font-weight:900;margin-right:8px}.management-choice-card-v2 form{margin-top:auto}.management-choice-ribbon-v2{position:absolute;top:-13px;right:18px;padding:6px 12px;border-radius:999px;background:#079e70;color:#fff;font-size:11px;font-weight:900;letter-spacing:.05em}.management-choice-note-v2{margin:18px 0 0;padding:12px 15px;border-radius:14px;background:#f5f8fa;color:#607888;font-size:13px}.workflow-current-row-v2{grid-template-columns:58px minmax(170px,.8fr) minmax(260px,1.5fr) minmax(145px,.7fr) minmax(220px,1fr)}.workflow-responsible-v2{margin-top:10px;padding:9px 11px;border-radius:12px;background:#eef8f4;color:#346554;font-size:13px}.workflow-mode-footer-v2{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:13px 15px;border-radius:14px;background:#f5f9fa;color:#5d7484}.workflow-mode-footer-v2 form{margin:0}.workflow-plans-grid .plan-v2{min-height:590px}.pending-summary-v2>div:nth-child(3) strong{font-size:24px}
@media(max-width:1150px){.management-choice-grid-v2{grid-template-columns:1fr}.management-choice-card-v2.featured{transform:none}.workflow-current-row-v2{grid-template-columns:50px 1fr 1fr}.workflow-current-row-v2>.pending-row-actions-v2{grid-column:2/4}}
@media(max-width:800px){.management-choice-shell-v2{padding:18px}.management-choice-head-v2{flex-direction:column}.management-choice-head-v2 h2{font-size:25px}.workflow-current-row-v2{grid-template-columns:44px 1fr}.workflow-current-row-v2>div,.workflow-current-row-v2>.pending-row-actions-v2{grid-column:2}.workflow-mode-footer-v2{align-items:flex-start;flex-direction:column}.workflow-mode-footer-v2 .link-button{padding-left:0}.management-choice-card-v2 p{min-height:0}}

/* v0.8.18.42 - transparencia legal, metodología y plan empresa */
.comparison-scope-notice {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  margin: 16px 0 22px;
  padding: 16px 18px;
  border: 1px solid rgba(13, 148, 98, .22);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(240, 252, 246, .98), rgba(255, 255, 255, .98));
  color: #16384b;
  box-shadow: 0 10px 28px rgba(13, 75, 60, .06);
}
.comparison-scope-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #0ea66d;
  color: #fff;
  font-weight: 900;
}
.comparison-scope-notice strong { display: block; margin-bottom: 4px; }
.comparison-scope-notice p { margin: 0; color: #5b7383; line-height: 1.5; }
.comparison-scope-notice > a {
  white-space: nowrap;
  padding: 9px 13px;
  border: 1px solid #b9ded0;
  border-radius: 999px;
  background: #fff;
  color: #087d5a;
  text-decoration: none;
  font-weight: 800;
}
.portal-comparison-notice { margin-top: 0; }
.comparison-method-page .legal-hero h1 { max-width: 18ch; }
.comparison-scope-card { border-color: rgba(13, 148, 98, .24); }
.comparison-coverage-warning {
  margin: 18px 0 0;
  padding: 14px 16px;
  border-radius: 16px;
  background: #fff8e9;
  border: 1px solid #f0d398;
  color: #76501b;
}
.comparison-method-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.legal-check-list { display: grid; gap: 10px; padding-left: 20px; }
.legal-check-list li { line-height: 1.55; }
.legal-caution-card { border-color: #efc9c9; background: #fffafa; }
.badge.sponsored {
  background: #fff1cc;
  color: #9a5b00;
  border: 1px solid #efd18a;
  font-size: .7rem;
  vertical-align: middle;
}
.tariff-legal-control-note {
  border-color: rgba(16, 185, 129, .26);
  background: #f3fcf7;
}
.specific-offer-consent-v2 {
  margin: 12px 0;
  padding: 16px;
  border: 1px solid #b9dfd0;
  border-radius: 18px;
  background: #f7fdf9;
  color: #17394b;
}
.specific-offer-consent-v2 > strong { display: block; font-size: 1rem; margin-bottom: 6px; }
.specific-offer-consent-v2 p { margin: 0 0 10px; color: #5a7282; }
.specific-offer-consent-v2 ul { margin: 8px 0 12px; padding-left: 20px; }
.specific-offer-consent-v2 li { margin: 4px 0; }
.specific-offer-consent-v2 label {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-top: 10px;
  font-size: .86rem;
  line-height: 1.4;
}
.specific-offer-consent-v2 label input { margin-top: 3px; flex: 0 0 auto; }
.specific-offer-consent-v2 a { display: inline-flex; margin-top: 12px; color: #087d5a; font-weight: 800; }
.specific-offer-consent-v2 small { display: block; margin-top: 10px; color: #6d8290; }
.workflow-action-form-v2 { width: 100%; }
.workflow-action-form-v2 > .portal-btn-v2 { width: 100%; }
.workflow-plans-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.plan-v2.business { border-color: #bddfd2; background: linear-gradient(180deg, #f7fffb, #fff); }
.plan-v2.business a { color: #087d5a; font-weight: 800; }

@media (max-width: 1180px) {
  .workflow-plans-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .comparison-method-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .comparison-scope-notice { grid-template-columns: auto 1fr; align-items: start; }
  .comparison-scope-notice > a { grid-column: 1 / -1; justify-self: stretch; text-align: center; }
  .workflow-plans-grid,
  .comparison-method-grid { grid-template-columns: 1fr; }
  .specific-offer-consent-v2 { padding: 14px; }
}

/* v0.8.18.43 - pantalla amable para el limite de solicitudes */
.rate-limit-page {
  min-height: 100vh;
  margin: 0;
  padding: 32px 16px;
  background:
    radial-gradient(circle at 18% 18%, rgba(63, 211, 169, .12), transparent 27%),
    radial-gradient(circle at 82% 8%, rgba(32, 177, 144, .10), transparent 25%),
    #f7fbfa;
  color: #0d3045;
  display: grid;
  place-items: center;
}
.rate-limit-shell {
  width: min(760px, 100%);
  padding: clamp(24px, 5vw, 54px);
  border: 1px solid #cfe4de;
  border-radius: 42px;
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 28px 70px rgba(11, 56, 49, .12);
  text-align: center;
}
.rate-limit-illustration {
  display: block;
  width: min(570px, 100%);
  max-height: 360px;
  object-fit: contain;
  margin: -10px auto 8px;
}
.rate-limit-shell .eyebrow {
  margin: 4px 0 8px;
  color: #0c9b70;
}
.rate-limit-shell h1 {
  margin: 0;
  font-size: clamp(2.25rem, 6vw, 4.35rem);
  line-height: 1.02;
  letter-spacing: -.045em;
  color: #0b2f45;
}
.rate-limit-lead {
  max-width: 650px;
  margin: 18px auto 22px;
  color: #38566a;
  font-size: clamp(1rem, 2.4vw, 1.22rem);
  line-height: 1.6;
}
.rate-limit-alert {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 24px;
  padding: 10px 18px;
  border: 1px solid #ffc7c3;
  border-radius: 999px;
  background: #fff6f5;
  color: #e8514a;
  font-size: 1.05rem;
}
.rate-limit-alert span {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  background: #f15b54;
  font-weight: 900;
}
.rate-limit-wait-card {
  display: grid;
  grid-template-columns: 86px 1fr;
  align-items: center;
  gap: 20px;
  padding: 22px;
  border: 1px solid #bfe8db;
  border-radius: 24px;
  background: linear-gradient(135deg, #f5fffb, #f9fcfb);
  text-align: left;
}
.rate-limit-clock {
  width: 76px;
  height: 76px;
  border: 6px solid #43bc95;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #0b3950;
  font-size: 2.4rem;
  background: #fff;
}
.rate-limit-wait-card h2 {
  margin: 0 0 8px;
  font-size: clamp(1.15rem, 3vw, 1.45rem);
  line-height: 1.3;
}
.rate-limit-wait-card p {
  margin: 0;
  color: #466476;
  line-height: 1.55;
}
.rate-limit-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 24px;
}
.rate-limit-actions .button {
  min-height: 58px;
  border-radius: 18px;
  justify-content: center;
  font-size: 1rem;
}
.rate-limit-retry:disabled {
  opacity: .72;
  cursor: wait;
  filter: saturate(.7);
}
.rate-limit-return {
  border: 2px solid #68cfae;
}
.rate-limit-thanks {
  margin: 28px 0 0;
  color: #78909b;
}
@media (max-width: 640px) {
  .rate-limit-page { padding: 10px; }
  .rate-limit-shell { padding: 22px 16px; border-radius: 28px; }
  .rate-limit-illustration { max-height: 250px; }
  .rate-limit-wait-card { grid-template-columns: 1fr; text-align: center; }
  .rate-limit-clock { margin: auto; }
  .rate-limit-actions { grid-template-columns: 1fr; }
}
