/* Shell de la PWA: conserva la lógica del cotizador y cambia solo el contexto visual. */
:root { --pwa-ink: #111318; --pwa-paper: #f6f5f1; --pwa-red: #d71920; --pwa-muted: #676d76; --pwa-line: #dcdde0; --pwa-soft: #ececea; }
body.pwa-page { margin: 0; color: var(--pwa-ink); background: var(--pwa-paper); }
body.pwa-page, body.pwa-page button, body.pwa-page a { font-family: "Manrope", sans-serif; }
.global-header__app-icon, .global-header__app-wordmark, .global-header__mobile-logo, .pwa-result-back { display: none; }
.pwa-home-dashboard, .pwa-bottom-nav { display: none; }
.pwa-result-tabs { display: none; }
.pwa-save-feedback { min-height: 18px; margin: 0; color: #64748b; font-size: 12px; text-align: center; }
#btn-save-calculation.is-saved { color: #047857; border-color: #86efac; background: #f0fdf4; }
.history-list { display: grid; gap: 12px; }
.history-card { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 14px; padding: 12px; background: #fff; border: 1px solid var(--pwa-line); border-radius: 14px; }
.history-card__media { display: grid; place-items: center; min-height: 92px; overflow: hidden; color: var(--pwa-muted); background: var(--pwa-soft); border-radius: 10px; }
.history-card__media img { width: 100%; height: 100%; object-fit: cover; }
.history-card__body { min-width: 0; }
.history-card__top { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; }
.history-card__top strong { overflow: hidden; color: var(--pwa-ink); font: 700 19px/1.05 "Barlow Condensed", sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.history-card__top span, .history-card__body p { color: var(--pwa-muted); font-size: 14px; }
.history-card__body p { margin: 5px 0 8px; }
.history-card__body b { color: var(--pwa-red); font: 700 24px/1 "Barlow Condensed", sans-serif; }
.pwa-history-filter button { min-height: 38px; padding: 8px 12px; color: var(--pwa-ink); background: var(--pwa-paper); border: 1px solid var(--pwa-line); border-radius: 9px; font-size: 14px; font-weight: 800; cursor: pointer; }
/* Historial: una sola accion a la vista, el corazon sobre la foto. Archivar
   y borrar viven en una hoja que sube desde abajo (popover nativo, sin JS
   para abrir y cerrar): borrar no queda a un toque accidental. */
.history-card { position: relative; }
.history-card__media { position: relative; align-self: center; aspect-ratio: 1 / 1; min-height: 0; } /* foto cuadrada, no estirada al alto del texto */
.history-card__body { padding-right: 34px; }
.history-card__fav { position: absolute; top: 5px; right: 5px; display: grid; width: 32px; height: 32px; padding: 0; place-items: center; color: #fff; background: rgba(17,19,24,.42); border: 0; border-radius: 50%; cursor: pointer; }
.history-card__fav::after { content: ""; position: absolute; inset: -6px; } /* area tactil de 44px */
.history-card__fav .material-symbols-outlined { font-size: 19px; }
.history-card__fav.is-on { color: var(--pwa-red); background: #fff; }
.history-card__fav.is-on .material-symbols-outlined { font-variation-settings: "FILL" 1; }
/* Toda la tarjeta abre el recalculo: el enlace del nombre se estira sobre
   ella, y el corazon y el menu quedan por encima para seguir tocandose. */
.history-card__open { color: inherit; text-decoration: none; }
.history-card__open::after { content: ""; position: absolute; inset: 0; }
.history-card__fav, .history-card__more { z-index: 2; }
.history-card__more { position: absolute; top: 6px; right: -8px; display: grid; width: 44px; height: 44px; padding: 0; place-items: center; color: var(--pwa-muted); background: transparent; border: 0; cursor: pointer; }
.history-card__menu { position: fixed; inset: auto 0 0; width: 100%; max-width: 560px; box-sizing: border-box; margin: 0 auto; padding: 8px 12px calc(12px + env(safe-area-inset-bottom)); color: var(--pwa-ink); background: #fff; border: 0; border-radius: 18px 18px 0 0; }
/* El popover no es modal: sin esto, tocar lo oscuro para cerrar la hoja
   tambien abria la tarjeta de abajo. Con la hoja abierta la lista no
   recibe toques; solo la hoja. */
.history-list:has(.history-card__menu:popover-open) { pointer-events: none; }
.history-card__menu { pointer-events: auto; }
.history-card__menu::backdrop { background: rgba(11,16,21,.45); }
.history-card__menu p { margin: 6px 12px 8px; overflow: hidden; color: var(--pwa-muted); font-size: 13px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.history-card__menu button { display: flex; width: 100%; min-height: 52px; align-items: center; gap: 14px; padding: 0 12px; color: var(--pwa-ink); background: transparent; border: 0; border-radius: 10px; font: 700 16px "Manrope", sans-serif; cursor: pointer; }
.history-card__menu button[data-action="delete"] { color: #b42318; }
.history-card__menu button:last-child { justify-content: center; margin-top: 6px; background: var(--pwa-soft); }
.pwa-page-main { width: min(720px, calc(100% - 32px)); margin: 0 auto; padding: 32px 0 120px; }
.pwa-page-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 8px; }
.pwa-page-heading h1 { margin: 0; color: var(--pwa-ink); font: 700 clamp(42px, 10vw, 64px)/.92 "Barlow Condensed", sans-serif; letter-spacing: -.025em; }
.pwa-home-hero__eyebrow { margin: 0 0 8px; color: var(--pwa-red); font-size: 14px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.pwa-page-intro { margin: 0 0 20px; color: var(--pwa-muted); font-size: 15px; line-height: 1.5; }
.pwa-icon-action { display: grid; place-items: center; width: 46px; height: 46px; color: #fff; background: var(--pwa-red); border-radius: 12px; }
.pwa-history-filter { display: flex; gap: 8px; margin: 0 0 14px; padding-bottom: 12px; border-bottom: 1px solid var(--pwa-line); }
.pwa-history-filter button { color: #676d76; background: transparent; border: 0; border-radius: 0; }
.pwa-history-filter button.is-active { color: var(--pwa-red); box-shadow: inset 0 -2px var(--pwa-red); }
.pwa-empty-state { padding: 48px 24px; color: var(--pwa-muted); text-align: center; background: #fff; border: 1px solid var(--pwa-line); border-radius: 16px; }
.pwa-empty-state > .material-symbols-outlined { font-size: 42px; color: var(--pwa-red); }
.pwa-empty-state h2 { margin: 14px 0 6px; color: var(--pwa-ink); font: 700 30px/1 "Barlow Condensed", sans-serif; }
.pwa-empty-state p { margin: 0 0 20px; font-size: 15px; }
.pwa-settings-list { overflow: hidden; background: #fff; border: 1px solid var(--pwa-line); border-radius: 16px; }
.pwa-settings-list a { display: grid; grid-template-columns: 30px minmax(0, 1fr) 20px; align-items: center; gap: 12px; min-height: 72px; padding: 12px 16px; color: inherit; text-decoration: none; border-bottom: 1px solid #ececea; }
.pwa-settings-list a:last-child { border-bottom: 0; }
.pwa-settings-list a > .material-symbols-outlined:first-child { color: var(--pwa-red); }
.pwa-settings-list a > .material-symbols-outlined:last-child { color: var(--pwa-muted); }
.pwa-settings-list strong, .pwa-settings-list small { display: block; }
.pwa-settings-list strong { color: var(--pwa-ink); font-size: 15px; }
.pwa-settings-list small { margin-top: 3px; color: var(--pwa-muted); font-size: 14px; line-height: 1.35; }
.pwa-settings-card { margin-top: 12px; padding: 16px; background: #fff; border: 1px solid var(--pwa-line); border-radius: 14px; }
.pwa-settings-card__head { display: flex; gap: 11px; align-items: flex-start; margin-bottom: 14px; }
.pwa-settings-card__head > .material-symbols-outlined { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; color: #fff; background: var(--pwa-red); border-radius: 9px; font-size: 20px; }
.pwa-settings-card h2 { margin: 0; color: var(--pwa-ink); font: 800 24px/1 "Barlow Condensed",sans-serif; }
.pwa-settings-card__head p, .pwa-live-rate { margin: 4px 0 0; color: var(--pwa-muted); font-size: 12px; line-height: 1.4; }
.pwa-settings-fields { display: grid; gap: 10px; }
.pwa-settings-fields label, .pwa-settings-rate { display: grid; gap: 5px; color: #303640; font-size: 12px; font-weight: 750; }
.pwa-settings-fields input, .pwa-settings-rate input { width: 100%; min-height: 45px; box-sizing: border-box; padding: 9px 12px; color: var(--pwa-ink); background: #f8f8f6; border: 1px solid var(--pwa-line); border-radius: 9px; font: 700 16px/1 "Manrope",sans-serif; }
.pwa-settings-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
.pwa-settings-save, .pwa-settings-secondary { min-height: 44px; margin-top: 12px; padding: 8px 12px; border-radius: 9px; font-size: 12px; font-weight: 800; cursor: pointer; }
.pwa-settings-actions .pwa-settings-save, .pwa-settings-actions .pwa-settings-secondary { margin-top: 0; }
.pwa-settings-save { color: #fff; background: var(--pwa-red); border: 1px solid var(--pwa-red); }
.pwa-settings-secondary { color: var(--pwa-ink); background: #fff; border: 1px solid var(--pwa-line); }
.pwa-live-rate { margin: 0 0 12px; padding: 10px 12px; background: var(--pwa-soft); border-radius: 9px; }
.pwa-settings-status { min-height: 18px; margin: 8px 0 0; color: var(--pwa-muted); font-size: 11px; }
.pwa-settings-status[data-state="success"] { color: #087443; }
.pwa-settings-status[data-state="error"] { color: #b42318; }
.pwa-disclaimer { display: flex; gap: 10px; margin-top: 16px; padding: 14px; color: #525861; background: #ececea; border-radius: 12px; }
.pwa-disclaimer .material-symbols-outlined { color: var(--pwa-red); }
.pwa-disclaimer p { margin: 0; font-size: 14px; line-height: 1.45; }
.pwa-primary-action { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 18px; color: #fff; background: var(--pwa-red); border-radius: 10px; font-weight: 800; text-decoration: none; }

/* La interfaz de app es solo para la app instalada. En el navegador del
   telefono se sigue viendo la web movil de siempre, aunque la pantalla sea
   igual de angosta. El modo detectado sigue disponible en data-app-mode. */
@media (display-mode: standalone) {
  /* Entre pantallas de la app, fundido nativo en vez de corte en seco. */
  @view-transition { navigation: auto; }
  html { --pwa-nav-h: 64px; width: 100%; max-width: 100%; overflow-x: hidden; scroll-behavior: auto !important; background: var(--pwa-paper); }
  body { width: 100%; max-width: 100%; min-height: 100dvh; overscroll-behavior-y: contain; padding-bottom: calc(var(--pwa-nav-h) + env(safe-area-inset-bottom)); background: #151b22 !important; }
  site-header { display: block; width: 100%; }
  .global-header { position: relative; top: auto; width: 100%; overflow: hidden; padding-top: env(safe-area-inset-top); color: #fff; background: #151b22; border: 0; border-radius: 22px 22px 0 0; box-shadow: none; }
  .global-header.is-scrolled { background: rgba(11,16,21,.97); box-shadow: 0 8px 24px rgba(0,0,0,.16); }
  .global-header__inner { min-height: 64px; width: calc(100% - 28px); }
  .global-header__brand { display: inline-flex; align-items: center; gap: 0; padding: 0; background: transparent; border-radius: 0; }
  .global-header__desktop-logo { display: none !important; }
  .global-header__app-icon { display: none !important; }
  .global-header__brand .global-header__mobile-logo { display: block !important; flex: 0 0 142px; width: 142px !important; min-width: 142px; max-width: none !important; height: auto; margin: -7px 0 -11px; }
  .global-header__brand .global-header__app-wordmark { display: none !important; }
  .pwa-result-back { min-height: 48px; align-items: center; gap: 10px; padding: 0 4px; color: #fff; background: transparent; border: 0; font: 800 21px/1 "Barlow Condensed", sans-serif; cursor: pointer; }
  .pwa-result-back .material-symbols-outlined { font-size: 25px; }
  body.pwa-showing-result .global-header__brand { display: none; }
  body.pwa-showing-result .pwa-result-back { display: inline-flex !important; }
  body.pwa-showing-result .global-header__inner { justify-content: flex-start; }
  .global-header__nav, .global-header__install-btn { display: none !important; }
  .global-header__menu-toggle { display: none !important; }
  .site-footer { display: none; }
  .pwa-bottom-nav { position: fixed; right: 0; bottom: 0; left: 0; z-index: 60; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); align-content: center; box-sizing: border-box; width: 100%; height: calc(var(--pwa-nav-h) + env(safe-area-inset-bottom)); padding: 0 10px env(safe-area-inset-bottom); background: rgba(11,16,21,.98); border-top: 1px solid rgba(255,255,255,.1); box-shadow: 0 -10px 28px rgba(0,0,0,.14); }
  .pwa-bottom-nav a { display: grid; min-width: 0; justify-items: center; align-content: center; gap: 1px; min-height: 50px; padding: 4px 2px; color: #aeb3bb; font-size: 12px; font-weight: 750; text-decoration: none; }
  .pwa-bottom-nav a .material-symbols-outlined { font-size: 22px; }
  .pwa-bottom-nav a.is-active { color: #ff4a4f; }
  body.pwa-showing-result { padding-bottom: env(safe-area-inset-bottom); }
  body.pwa-showing-result .pwa-bottom-nav { display: none !important; }
  .calculator-intro { display: none; }
  .calculator-seo { display: none; }
  body:not(.pwa-capable-home):not(.pwa-page) > main { position: relative; z-index: 1; width: min(100%, 560px) !important; max-width: 560px !important; flex: 1; margin-top: 0 !important; padding: 8px 12px 24px !important; background: var(--pwa-paper); border-radius: 22px 22px 0 0; }
  body:not(.pwa-capable-home):not(.pwa-page) > main::before { content: "Calculá antes de ofertar"; display: block; margin: 0 2px 10px; color: var(--pwa-ink); font: 800 34px/.94 "Barlow Condensed", sans-serif; letter-spacing: -.02em; }
  body:not(.pwa-capable-home):not(.pwa-page) > main:has(#post-detect:not(.hidden))::before { content: "Resultado"; }
  body.pwa-showing-result > main::before { display: none !important; }
  body.pwa-showing-result #entry-console { display: none !important; }
  main > .grid:has(#post-detect.hidden) > .lg\:col-span-5 { display: none !important; }
  /* align-items: la rejilla trae items-start y, en columna, cada pieza tomaba el ancho de su contenido. */
  main > .grid:not(:has(#post-detect.hidden)) { display: flex !important; flex-direction: column; align-items: stretch !important; gap: 12px !important; }
  main > .grid:not(:has(#post-detect.hidden)) > .lg\:col-span-7,
  main > .grid:not(:has(#post-detect.hidden)) > .lg\:col-span-5 { display: contents; }
  #entry-console { gap: 0 !important; padding: 0 !important; overflow: hidden; border: 1px solid var(--pwa-line) !important; border-radius: 15px !important; box-shadow: 0 8px 22px rgba(17,19,24,.06) !important; }
  #entry-console .ec-step { position: relative; display: block !important; padding: 17px 15px !important; }
  #entry-console .ec-step ~ .ec-step { border-top: 1px solid var(--pwa-line) !important; }
  #entry-console .ec-n { display: none !important; }
  #entry-console .ec-lbl { font: 800 19px/1.05 "Barlow Condensed", sans-serif !important; }
  #entry-console .ec-hint { margin: 3px 0 10px !important; font-size: 12px !important; line-height: 1.35; }
  #entry-console input, #entry-console select { min-height: 46px; border-radius: 9px !important; }
  #entry-console #btn-reset-all { min-width: 46px; padding-inline: 11px; border-radius: 9px; }
  #entry-console #btn-reset-all span:last-child { display: none; }
  #entry-console #btn-manual-start { margin-top: 8px; font-size: 12px !important; }
  #entry-console .ec-head { min-width: 0; }
  #entry-console .ec-head > .grid { grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; min-width: 0; }
  #entry-console .ec-head > .grid button { min-width: 0 !important; }
  #entry-console #budget-presets-container { display: none !important; }
  #entry-console .ec-foot { gap: 8px; padding: 15px !important; background: #fff; border-top: 1px solid var(--pwa-line); }
  #entry-console .ec-cta { min-height: 54px; border-radius: 10px; box-shadow: none; }
  #entry-console .trust-note { margin: 0; font-size: 12px !important; }
  #post-detect { border-radius: 15px !important; box-shadow: none !important; }
  .pwa-result-tabs { grid-template-columns: repeat(3, 1fr); gap: 0; padding: 0; background: #fff; border-bottom: 1px solid var(--pwa-line); border-radius: 14px 14px 0 0; }
  .pwa-result-tabs button { min-height: 46px; color: #676d76; background: transparent; border: 0; border-bottom: 3px solid transparent; border-radius: 0; font-size: 13px; font-weight: 800; cursor: pointer; }
  .pwa-result-tabs button[aria-selected="true"] { color: var(--pwa-red); background: #fff; border-bottom-color: var(--pwa-red); box-shadow: none; }
  main:has(#post-detect:not(.hidden)) .pwa-result-tabs { display: grid; }
  body.pwa-capable-home > main:not(.pwa-home-dashboard) { display: none; }
  body.pwa-capable-home { padding-bottom: 0; }
  body.pwa-capable-home > site-header, body.pwa-capable-home > .pwa-bottom-nav { display: none !important; }
  .pwa-home-dashboard { display: block; box-sizing: border-box; width: min(560px, 100%); margin: 0 auto; padding: 14px 12px 108px; }
  /* Bienvenida clara: arriba el papel de la app tapa el cielo negro de la
     foto y se funde con ella a la altura del atardecer, para que se vean la
     camioneta y el puerto. Abajo, un degradado oscuro solo detras del boton
     y la nota, que van en blanco. */
  body.pwa-capable-home .pwa-home-dashboard { position: relative; display: flex; min-height: 100dvh; padding: max(24px,env(safe-area-inset-top)) 18px max(32px,calc(env(safe-area-inset-bottom) + 20px)); flex-direction: column; background: var(--pwa-paper) url("/assets/media/autocosto-welcome-bg.webp") center bottom/cover no-repeat; }
  body.pwa-capable-home .pwa-home-dashboard::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, var(--pwa-paper) 0%, var(--pwa-paper) 46%, rgba(246,245,241,.82) 53%, rgba(246,245,241,0) 64%, rgba(8,11,15,0) 80%, rgba(8,11,15,.72) 92%, rgba(8,11,15,.9) 100%); }
  body.pwa-capable-home .pwa-welcome { position: relative; z-index: 1; }
  .pwa-welcome { display: flex; min-height: 0; flex: 1; flex-direction: column; }
  .pwa-welcome__logo { width: min(230px,68vw); height: auto; margin: 0 auto 24px; }
  .pwa-welcome .pwa-home-hero__eyebrow { margin-bottom: 7px; }
  .pwa-welcome h1 { margin: 0; color: var(--pwa-ink); font: 800 clamp(48px,14vw,64px)/.83 "Barlow Condensed",sans-serif; letter-spacing: -.025em; text-transform: uppercase; }
  .pwa-welcome__lead { max-width: 340px; margin: 12px 0 14px; color: #4b515a; font-size: 14px; line-height: 1.45; }
  .pwa-welcome__benefits { display: grid; gap: 7px; margin: 0 0 14px; padding: 0; list-style: none; }
  .pwa-welcome__benefits li { display: flex; align-items: center; gap: 9px; color: var(--pwa-ink); font-size: 12px; font-weight: 750; }
  .pwa-welcome__benefits .material-symbols-outlined { display: grid; width: 27px; height: 27px; place-items: center; color: #fff; background: var(--pwa-red); border-radius: 50%; font-size: 16px; }
  .pwa-welcome__visual { display: none; }
  .pwa-welcome .pwa-primary-action { width: 100%; min-height: 54px; margin-top: auto; position: relative; z-index: 2; background: #f20d18; box-shadow: 0 10px 24px rgba(242,13,24,.28); }
  .pwa-welcome__note { margin: 10px 0 0; color: #d6d9dd; font-size: 10px; text-align: center; }
  /* La segunda linea del titulo en rojo, como el "MAS CERCA" del diseño. */
  .pwa-welcome h1 em { color: var(--pwa-red); font-style: normal; }
  .pwa-home-hero { padding: 20px 18px 18px; background: #fff; border: 1px solid var(--pwa-line); border-radius: 15px; box-shadow: 0 8px 22px rgba(17,19,24,.06); }
  .pwa-home-hero__brand { display: none; }
  .pwa-home-hero h1 { max-width: 430px; margin: 0; color: var(--pwa-ink); font: 800 clamp(38px, 11vw, 52px)/.9 "Barlow Condensed", sans-serif; letter-spacing: -.025em; }
  .pwa-home-hero p:not(.pwa-home-hero__eyebrow) { max-width: 430px; margin: 12px 0 17px; color: var(--pwa-muted); font-size: 14px; line-height: 1.45; }
  .pwa-home-hero .pwa-primary-action { width: 100%; min-height: 54px; background: #f20d18; }
  .pwa-home-quick { padding: 20px 0 0; }
  .pwa-section-heading { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; margin-bottom: 12px; }
  .pwa-section-heading h2 { margin: 0; color: var(--pwa-ink); font: 800 26px/1 "Barlow Condensed", sans-serif; }
  .pwa-section-heading span { color: var(--pwa-muted); font-size: 11px; }
  .pwa-quick-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 7px; }
  .pwa-quick-grid a { display: grid; justify-items: center; align-content: center; gap: 4px; min-height: 92px; padding: 10px 5px; color: var(--pwa-ink); background: #fff; border: 1px solid var(--pwa-line); border-radius: 11px; text-align: center; text-decoration: none; }
  .pwa-quick-grid .material-symbols-outlined { color: var(--pwa-red); font-size: 24px; }
  .pwa-quick-grid strong { font-size: 12px; }
  .pwa-quick-grid small { display: none; }
  .pwa-promo-card { position: relative; display: grid; grid-template-columns: 1.15fr .85fr; min-height: 150px; margin-top: 16px; overflow: hidden; color: #fff; background: #101419; border-radius: 14px; text-decoration: none; }
  .pwa-promo-card > span { position: relative; z-index: 2; display: grid; align-content: center; padding: 18px; }
  .pwa-promo-card small { color: #aeb3bb; font-size: 9px; font-weight: 800; letter-spacing: .2em; }
  .pwa-promo-card strong { margin: 7px 0; font: 800 27px/.9 "Barlow Condensed", sans-serif; text-transform: uppercase; }
  .pwa-promo-card strong::after { content: ""; display: block; width: 42px; height: 3px; margin-top: 10px; background: var(--pwa-red); }
  .pwa-promo-card em { color: #d4d7dc; font-size: 11px; font-style: normal; line-height: 1.35; }
  .pwa-promo-card img { width: 100%; height: 100%; object-fit: cover; object-position: 62% center; opacity: .86; }
  .pwa-home-note { display: flex; gap: 10px; margin-top: 12px; padding: 12px; color: #525861; background: #ececea; border-radius: 10px; }
  .pwa-home-note .material-symbols-outlined { color: var(--pwa-red); }
  .pwa-home-note p { margin: 0; font-size: 11px; line-height: 1.4; }
  .pwa-page-main { position: relative; z-index: 1; box-sizing: border-box; width: min(560px, 100%); flex: 1; margin: 0 auto; padding: 8px 16px 24px; background: var(--pwa-paper); border-radius: 22px 22px 0 0; }
  body.pwa-page { display: flex; flex-direction: column; background: #151b22 !important; }
  .pwa-page-main + .site-footer { display: none; }
  /* Mismos margenes que el titulo de Calcular (8px arriba, 16 + 2 al costado,
     10 abajo): al cambiar de pestaña el titulo no salta de lugar. */
  .pwa-page-heading { margin: 0; padding: 0 2px 10px; color: var(--pwa-ink); background: transparent; }
  .pwa-page-heading h1 { color: var(--pwa-ink); font-size: 36px; }
  .pwa-page-heading .pwa-home-hero__eyebrow { margin-bottom: 4px; color: var(--pwa-red); font-size: 10px; }
  .pwa-page-intro { display: none; }
  .pwa-history-filter { gap: 0; margin: 0; padding: 5px 6px 0; background: #fff; border: 1px solid var(--pwa-line); border-bottom: 0; border-radius: 14px 14px 0 0; }
  .pwa-history-filter button { flex: 1; min-height: 44px; padding: 8px 4px; }
  .history-list { gap: 8px; padding-top: 10px; }
  .pwa-page-main .history-card { grid-template-columns: 96px minmax(0, 1fr); gap: 12px; padding: 10px; border-radius: 12px; }
  .pwa-page-main .history-card__media { min-height: 0; }
  .pwa-page-main .history-card__top strong { font-size: 17px; }
  .pwa-page-main .history-card__body b { font-size: 22px; }
  .pwa-empty-state { border-radius: 0 0 14px 14px; }
  .pwa-empty-state h2, .pwa-empty-state p { overflow-wrap: anywhere; }
  .pwa-settings-list { margin-top: 12px; border-radius: 14px; }
  .pwa-settings-list a { min-height: 76px; }
  #btn-save-calculation { min-height: 48px; }

  /* Movil limpio: el panel claro es la unica superficie. Nada de tarjetas
     dentro de tarjetas: los bloques se separan con una linea, como en la
     referencia de diseno. El unico recuadro que sobrevive es el total en
     negro, que ahi si tiene que resaltar. */
  #entry-console, #post-detect, .pwa-home-hero, .pwa-settings-list, .pwa-settings-card,
  .pwa-empty-state, .pwa-quick-grid a, .pwa-page-main .history-card, .pwa-history-filter,
  .pwa-result-tabs {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  #entry-console .ec-foot { background: transparent; }
  .pwa-result-tabs { width: 100%; border-bottom: 1px solid var(--pwa-line) !important; }
  .pwa-history-filter { padding: 0; border-bottom: 1px solid var(--pwa-line) !important; }
  .history-list { gap: 0; }
  .pwa-page-main .history-card { padding: 14px 2px; }
  .pwa-page-main .history-card + .history-card { border-top: 1px solid var(--pwa-line) !important; }
  .pwa-settings-card { margin-top: 0; padding: 18px 2px 4px; }
  .pwa-settings-card + .pwa-settings-card { border-top: 1px solid var(--pwa-line) !important; }
  .pwa-quick-grid a { border-bottom: 1px solid var(--pwa-line) !important; }
  /* Fijo: etiqueta a la izquierda y monto a la derecha, en un renglon.
     En edicion vuelve a dos lineas, que es donde el campo necesita ancho. */
  .pwa-settings-fields label:has(input[readonly]), .pwa-settings-rate:has(input[readonly]) {
    display: flex;
    gap: 12px;
    align-items: baseline;
    justify-content: space-between;
    min-height: 44px;
    padding-block: 4px;
  }
  .pwa-settings-fields label:has(input[readonly]) + label { border-top: 1px solid var(--pwa-line); }
  .pwa-settings-fields input[readonly], .pwa-settings-rate input[readonly] {
    flex: 0 0 auto;
    width: 108px;
    min-height: 0;
    padding: 0;
    background: transparent;
    border-color: transparent;
    text-align: right;
    cursor: default;
  }
  .pwa-settings-rate input[readonly] { width: 152px; }
  /* Las tarjetas del resultado vienen con clases de utilidad (bg-white,
     rounded, border): en movil tambien se aplanan y se separan con linea. */
  #post-detect > div, #lot-prices-card, #post-detect .listing-closed, #adv-settings > div {
    padding-inline: 0 !important;
    background: transparent !important;
    border-width: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  #post-detect > div + div { padding-top: 14px !important; border-top: 1px solid var(--pwa-line) !important; }
  #post-detect .aspect-\[16\/10\] { border-radius: 14px !important; border-width: 0 !important; }

  /* =================================================================
     PANTALLA DE ENTRADA DE LA APP
     La web angosta no es una app: aqui los campos ocupan el ancho,
     los rotulos son encabezados de seccion y la accion no se pierde
     en el scroll, vive fija sobre la barra. Nada de esto toca la web:
     todo vive dentro de (display-mode: standalone).
     ================================================================= */

  /* Margen de 16px, el que usa cualquier app de telefono. El fondo del
     final deja pasar la barra de accion sin tapar el ultimo campo. */
  body:not(.pwa-capable-home):not(.pwa-page) > main { padding: 8px 16px 132px !important; }
  body.pwa-showing-result > main { padding-bottom: 28px !important; }

  #entry-console { gap: 0 !important; }
  #entry-console .ec-step { padding: 19px 0 !important; }
  #entry-console .ec-step:first-child { padding-top: 4px !important; }

  /* Rotulo de seccion, no titulo de tarjeta. */
  #entry-console .ec-lbl {
    color: var(--pwa-muted) !important;
    font: 800 12px/1.2 "Manrope", sans-serif !important;
    letter-spacing: .09em;
    text-transform: uppercase;
  }
  #entry-console .ec-hint { margin: 5px 0 12px !important; color: var(--pwa-muted); font-size: 13px !important; }

  /* 16px es el minimo que iOS no agranda al enfocar: por debajo, Safari
     hace zoom al campo y descuadra la pantalla. */
  #entry-console input {
    min-height: 54px;
    padding: 0 14px;
    background: #fff !important;
    border: 1px solid var(--pwa-line) !important;
    border-radius: 12px !important;
    font-size: 16px !important;
  }
  #entry-console input:focus { border-color: var(--pwa-red) !important; }
  #entry-console #smart-input { padding-right: 46px; font-family: "Manrope", sans-serif !important; font-size: 15px !important; }
  #entry-console #btn-clear-smart-input { top: 50%; right: 10px; transform: translateY(-50%); }

  /* El monto es la cifra protagonista de la pantalla. */
  #entry-console #input-budget, #entry-console #input-bid {
    min-height: 64px;
    padding-left: 56px !important;
    font-size: 30px !important;
  }
  /* La moneda vive dentro del campo, como en cualquier app de banco. */
  #entry-console #symbol-budget-currency, #section-bid-input span.absolute {
    top: 50%;
    left: 9px;
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    transform: translateY(-50%);
    color: var(--pwa-ink) !important;
    background: var(--pwa-soft);
    border-radius: 9px;
    font-size: 17px;
  }
  #entry-console .budget-note, #section-bid-input p { font-size: 12px !important; line-height: 1.4; }

  /* Selector Presupuesto / Oferta y la moneda comparten renglon. Sueltos,
     el conmutador ocupa el ancho y empuja HNL a una fila propia estirada,
     que parece un boton mas y no lo es. */
  #entry-console .ec-head { display: flex; flex-wrap: nowrap; gap: 8px; align-items: center; }
  #entry-console .ec-head > .grid { flex: 1 1 auto; width: auto; gap: 3px !important; padding: 4px !important; border-radius: 12px !important; }
  #entry-console .ec-head > .grid button { min-height: 42px; border-radius: 9px !important; font-size: 14px !important; }

  /* Un solo tamaño para el titulo de cada pantalla de la app (cotizador,
     historial, mas). Antes eran 28px en una y 36px en las otras. A 30px el
     del cotizador sigue entrando en un renglon. */
  body:not(.pwa-capable-home):not(.pwa-page) > main::before,
  .pwa-page-heading h1 { font: 800 30px/1 "Barlow Condensed", sans-serif !important; letter-spacing: -.02em; }

  /* El boton de reiniciar es un icono al margen derecho, no una fila. */
  #entry-console #btn-reset-all { min-height: 54px; min-width: 54px; margin-left: auto; }
  /* Centrado bajo el campo; su contenedor es un bloque, asi que self-start no alcanza. */
  #entry-console #btn-manual-start { display: flex; width: fit-content; min-height: 44px; margin-inline: auto; align-items: center; font-size: 13px !important; }
  #entry-console #detection-status { padding: 12px !important; border-radius: 12px !important; font-size: 13px !important; }

  /* Accion fija sobre la barra: en una app el boton principal siempre
     esta al alcance del pulgar, no al final del scroll. */
  #entry-console .ec-foot {
    position: fixed;
    right: 0;
    bottom: calc(var(--pwa-nav-h) + env(safe-area-inset-bottom));
    left: 0;
    z-index: 55;
    flex-direction: column;
    gap: 5px;
    padding: 10px 16px 12px !important;
    background: rgba(246,245,241,.97) !important;
    border-top: 1px solid var(--pwa-line);
  }
  #entry-console .ec-cta { width: 100%; min-height: 52px; font-size: 16px; }
  #entry-console .trust-note { font-size: 11px !important; }
  /* Con el teclado abierto iOS deja el elemento fijo flotando a media
     pantalla: mientras se escribe vuelve al flujo y el teclado manda. */
  body:has(#entry-console input:focus) #entry-console .ec-foot {
    position: static;
    background: transparent !important;
    border-top: 0;
  }

  /* =================================================================
     PANTALLA DE RESULTADO DE LA APP
     Arriba y fijos: foto, nombre y estado del lote. Debajo las pestañas,
     y debajo de ellas cambia solo el contenido. Sin tarjetas: los datos
     son filas sobre el panel separadas por una linea. El unico bloque
     oscuro es la cifra que importa.
     ================================================================= */

  /* Pantalla fija: el body mide lo que la pantalla y no hace scroll. Arriba
     queda quieta la cabecera (foto, nombre, estado y pestañas); debajo, el
     panel con scroll propio. Cambiar de pestaña ya no mueve la pagina.
     pwa-result-tabs.js arma los dos contenedores dentro de #post-detect. */
  html:has(body.pwa-showing-result), body.pwa-showing-result { height: 100dvh; overflow: hidden; }
  /* Mas especifico que la regla de la pantalla de entrada, que reserva 132px abajo para su boton fijo. */
  body.pwa-showing-result:not(.pwa-capable-home):not(.pwa-page) > main {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    padding: 12px 16px 0 !important;
  }
  body.pwa-showing-result > main > .grid { flex: 1; min-height: 0; gap: 0 !important; }
  body.pwa-showing-result > main > .grid > .lg\:col-span-5 { display: none !important; }
  body.pwa-showing-result #post-detect { display: flex !important; flex: 1; flex-direction: column; min-height: 0; gap: 0 !important; }
  body.pwa-showing-result #post-detect > :not(.pwa-result-head, .pwa-result-pane) { display: none !important; }
  /* Con #post-detect delante: sin el id, "#post-detect > div" les quita el
     margen interno y "div + div" les pone una linea arriba. */
  #post-detect > .pwa-result-head { display: flex; flex: none; flex-direction: column; gap: 6px; padding-top: 0 !important; border-top: 0 !important; }
  #post-detect > .pwa-result-pane {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 12px;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    /* Llega al borde de la pantalla: la barra de scroll queda en el borde y no encima de las cifras. */
    margin-inline: -16px;
    padding: 14px 16px calc(24px + env(safe-area-inset-bottom)) !important;
    border-top: 0 !important;
  }
  /* Foto mas baja para dejarle pantalla al contenido de la pestaña. */
  #vehicle-card-img-wrap { flex: none; aspect-ratio: 2 / 1; }
  /* Foto completa con margen y esquinas redondeadas dentro del resultado. */
  body.pwa-showing-result:not(.pwa-capable-home):not(.pwa-page) > main { padding-top: 0 !important; }
  #post-detect #vehicle-card-img-wrap {
    width: auto;
    margin: 0;
    border: 0 !important;
    border-radius: 18px !important;
    box-shadow: none !important;
  }
  /* Subasta finalizada en un renglon: el titulo ya lo dice todo. */
  .pwa-result-head .listing-closed { padding: 0 !important; font-size: 13px; }
  .pwa-result-head .listing-closed p { display: none; }
  /* El VIN sobre la foto se alinea con el margen del texto de abajo. */
  #post-detect #vehicle-vin-badge { left: 16px; bottom: 12px; }

  /* Que muestra cada pestaña. Solo se oculta: lo visible conserva su
     propio .hidden, que maneja el cotizador. */
  body:not([data-pwa-result-view="vehicle"]) :is(#vehicle-specs, #post-detect div.grid:has(> #badge-title-alert),
      #legal-regime-alert, #btn-toggle-manual-veh, #btn-back-to-auto, #manual-vehicle-form, #lot-prices-card) { display: none !important; }
  body:not([data-pwa-result-view="costs"]) :is(#pwa-costs-panel, #adv-settings) { display: none !important; }
  body[data-pwa-result-view]:not([data-pwa-result-view="summary"]) :is(#pwa-result-card, #pwa-result-card + div) { display: none !important; }

  .pwa-result-tabs { margin-top: 0; }
  .pwa-result-tabs button { position: relative; min-height: 44px; font-size: 15px; }
  /* Linea fina entre pestañas, a media altura para que no corte la barra roja. */
  .pwa-result-tabs button + button::before {
    content: "";
    position: absolute;
    top: 30%;
    bottom: 30%;
    left: 0;
    width: 1px;
    background: var(--pwa-line);
  }
  /* Nombre y "Detectado en subasta" mas juntos. */
  .pwa-result-head > div:has(#card-vehicle-name) { row-gap: 4px !important; }

  /* --- Resumen: la app usa el mismo panel de oferta que la web de celular
     (premium-calculator.css). Aquí solo los botones de compartir. --- */
  #pwa-result-card + div { padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }

  /* --- Vehiculo --- */
  #post-detect div.grid:has(> #badge-title-alert) { grid-template-columns: 1fr !important; gap: 0 !important; }
  :is(#badge-title-alert, #badge-rust-alert) {
    padding: 12px 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--pwa-line) !important;
    border-radius: 0 !important;
    font-size: 14px !important;
  }
  #legal-regime-alert { border: 0 !important; border-left: 3px solid currentColor !important; border-radius: 0 !important; }
  #lot-prices-card :is(#live-prices > div, #row-buy-now) {
    padding: 12px 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--pwa-line) !important;
    border-radius: 0 !important;
  }

  /* --- Costos: el mismo desglose del modal de la web, en filas. --- */
  #pwa-costs-panel #breakdown-modal-content { gap: 22px !important; padding: 0 !important; overflow: visible !important; font-size: 14px; }
  #breakdown-modal-content > :not(:last-child),
  #breakdown-modal-content > :not(:last-child) :not(input, select, button, .breakdown-section-edit *) {
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  #breakdown-modal-content > :not(:last-child) { padding: 0 !important; border: 0 !important; }
  #breakdown-modal-content > :not(:first-child):not(:last-child) > div:first-child {
    padding: 0 0 6px !important;
    color: var(--pwa-muted) !important;
    border-bottom: 1px solid var(--pwa-ink);
    font-size: 12px !important;
    letter-spacing: .06em;
  }
  #breakdown-modal-content [class*="divide-"] { font-size: 14px !important; }
  #breakdown-modal-content [class*="divide-"] > * { gap: 14px; padding: 11px 0 !important; border-color: var(--pwa-line) !important; }
  /* Un monto nunca se parte: "L" arriba y "134.45" abajo no se lee. */
  #breakdown-modal-content [class*="divide-"] > * > :last-child { flex-shrink: 0; white-space: nowrap; text-align: right; }
  /* Vehiculo y ruta: el auto ya esta arriba; aqui la ruta y, debajo, la tasa en su renglon. */
  #breakdown-modal-content > :first-child { flex-direction: column; align-items: stretch !important; gap: 10px; }
  #breakdown-modal-content > :first-child > .text-right {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding-top: 10px;
    text-align: left;
    border-top: 1px solid var(--pwa-line);
  }
  /* El total final es el unico bloque oscuro de la pestaña. */
  #breakdown-modal-content > :last-child:not(.bg-amber-50) { background: #151012 !important; border-radius: 14px; box-shadow: none !important; }
  /* Total: el texto arriba y el monto debajo, a lo ancho; apretados en dos
     columnas el monto se partia. Si falta la grua es aviso, no caja. */
  #breakdown-modal-content > :last-child > div { flex-direction: column; align-items: flex-start !important; gap: 8px; }
  #breakdown-modal-content > :last-child > div > .text-right { text-align: left; }
  #breakdown-modal-content > :last-child.bg-amber-50 { border: 0 !important; border-left: 3px solid #d97706 !important; border-radius: 0 !important; }

  /* Ajustes de costos (naviera, entrega, CAFTA, tasa): filas plegables, no tarjetas. */
  #adv-settings .adv-item { background: transparent; border: 0; border-bottom: 1px solid var(--pwa-line); border-radius: 0; }
  #adv-settings .adv-item > .adv-sum { padding: 15px 0; }
  #adv-settings .adv-body { padding-inline: 0; }
  .pwa-result-tabs button[aria-selected="true"] { background: transparent !important; }

  /* Guardar y Compartir lado a lado. */
  #pwa-result-card + div { order: 9; margin-top: 14px; }
  #pwa-result-card + div > .grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  #pwa-result-card + div #btn-save-calculation { order: -1; }
  #pwa-result-card + div button { min-height: 48px; }

  /* La foto se extiende hasta los bordes del panel. El marco apenas mas ancho
     que 4:3 recorta un poco cielo y suelo para mantener visibles los laterales. */
  #post-detect #vehicle-card-img-wrap {
    width: calc(100% + 32px);
    margin-inline: -16px;
    aspect-ratio: 3 / 2;
    background: #151b22;
  }
  #post-detect #vehicle-card-img { object-fit: cover; object-position: center; }
  .pwa-result-head #vehicle-badge-status { display: none !important; }

  /* Selectores de dos opciones con pinta de control. premium-calculator.css
     pinta bg-slate-100 con el color del papel y, como en la app el fondo es
     papel, el riel desaparecia y la opcion no elegida parecia texto suelto. */
  :is(#entry-console .ec-head > .grid, .lot-auction, .yard-carrier) {
    background: #e4e5e8 !important;
    border: 1px solid #d5d7db;
  }
  :is(#entry-console .ec-head > .grid, .lot-auction, .yard-carrier) button { color: #3d434c !important; }
  :is(#entry-console .ec-head > .grid button.bg-brand-navy, .lot-auction button[aria-pressed="true"], .yard-carrier button[aria-pressed="true"]) {
    color: #fff !important;
    background: var(--pwa-ink) !important;
    box-shadow: 0 1px 3px rgba(17,19,24,.28) !important;
  }

  /* Captura manual ("No tengo enlace"): pantalla propia. Sin foto, pestañas
     ni montos; solo el formulario del vehiculo y, fijo abajo, el boton para
     ver el resultado. */
  .pwa-manual-cta { display: none; }
  body.pwa-manual-entry #post-detect > .pwa-result-head { display: none !important; }
  body.pwa-manual-entry .pwa-result-pane > :not(#manual-vehicle-form, .pwa-manual-cta) { display: none !important; }
  body.pwa-manual-entry #manual-vehicle-form {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  body.pwa-manual-entry .pwa-manual-cta {
    position: sticky;
    bottom: 0;
    display: block;
    margin-top: auto;
    padding: 12px 0 4px;
    background: linear-gradient(rgba(246,245,241,0), var(--pwa-paper) 30%);
  }
  .pwa-manual-cta .ec-cta { display: flex; width: 100%; min-height: 52px; justify-content: center; gap: 8px; }
}

@media (max-width: 480px) {
  .history-card__top { display: block; }
  .history-card__top span { display: block; margin-top: 4px; }
  .pwa-quick-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
}

/* --- Inicio de la app: bienvenida solo la primera vez (home.html marca
   html.welcome-seen); después, pantalla de inicio con la cabecera y la barra
   de abajo de las demás pantallas. --- */
.pwa-home { display: none; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (display-mode: standalone) {
  html.welcome-seen .pwa-welcome { display: none !important; }
  html.welcome-seen .pwa-home { display: grid; gap: 16px; }
  html.welcome-seen body.pwa-capable-home { display: flex; flex-direction: column; padding-bottom: calc(var(--pwa-nav-h) + env(safe-area-inset-bottom)); }
  html.welcome-seen body.pwa-capable-home > site-header { display: block !important; }
  html.welcome-seen body.pwa-capable-home > .pwa-bottom-nav { display: grid !important; }
  html.welcome-seen body.pwa-capable-home .pwa-home-dashboard {
    display: block; flex: 1; min-height: 0; box-sizing: border-box; width: min(560px, 100%); margin: 0 auto;
    padding: 12px 16px 24px; background: var(--pwa-paper); border-radius: 22px 22px 0 0;
  }
  html.welcome-seen body.pwa-capable-home .pwa-home-dashboard::before { display: none; }

  .pwa-home__lot { display: grid; gap: 10px; padding: 18px 16px 16px; background: #fff; border: 1px solid var(--pwa-line); border-radius: 16px; box-shadow: 0 8px 22px rgba(17,19,24,.06); }
  .pwa-home__lot .pwa-home-hero__eyebrow { margin: 0; font-size: 12px; }
  .pwa-home__lot h2 { margin: 0; color: var(--pwa-ink); font: 800 34px/.95 "Barlow Condensed", sans-serif; letter-spacing: -.02em; }
  .pwa-home__hint { margin: 0 0 2px; color: var(--pwa-muted); font-size: 14px; line-height: 1.45; }
  .pwa-home__auction { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; background: #e4e5e8; border: 1px solid #d5d7db; border-radius: 12px; }
  .pwa-home__auction button { min-height: 40px; color: #3d434c; background: transparent; border: 0; border-radius: 9px; font: 800 14px "Manrope", sans-serif; cursor: pointer; }
  .pwa-home__auction button[aria-pressed="true"] { color: #fff; background: var(--pwa-ink); box-shadow: 0 1px 3px rgba(17,19,24,.28); }
  .pwa-home__auction button:focus-visible, .pwa-home__lot input:focus-visible { outline: 2px solid var(--pwa-red); outline-offset: 2px; }
  .pwa-home__lot input[type="text"] { box-sizing: border-box; width: 100%; min-height: 50px; padding: 0 14px; color: var(--pwa-ink); background: #f8f8f6; border: 1px solid var(--pwa-line); border-radius: 11px; font: 600 16px "Manrope", sans-serif; }
  .pwa-home__lot input[type="text"]:focus { background: #fff; border-color: var(--pwa-red); }
  .pwa-home__error { margin: 0; color: #b42318; font-size: 14px; font-weight: 700; }
  .pwa-home__lot .pwa-primary-action { width: 100%; min-height: 52px; border: 0; font-size: 16px; cursor: pointer; }

  .pwa-home__recent .pwa-section-heading { margin-bottom: 8px; }
  .pwa-home__recent .pwa-section-heading a { color: var(--pwa-red); font-size: 14px; font-weight: 800; text-decoration: none; }
  .pwa-home__recent-list { display: grid; overflow: hidden; background: #fff; border: 1px solid var(--pwa-line); border-radius: 14px; }
  .pwa-home__recent-item { display: grid; grid-template-columns: 64px minmax(0, 1fr) 20px; align-items: center; gap: 12px; padding: 10px 12px; color: var(--pwa-ink); text-decoration: none; }
  .pwa-home__recent-item + .pwa-home__recent-item { border-top: 1px solid var(--pwa-line); }
  .pwa-home__recent-photo { display: grid; width: 64px; height: 48px; overflow: hidden; place-items: center; color: var(--pwa-muted); background: #ececea; border-radius: 8px; }
  .pwa-home__recent-photo img { width: 100%; height: 100%; object-fit: cover; }
  .pwa-home__recent-text { display: grid; gap: 2px; min-width: 0; }
  .pwa-home__recent-text strong { overflow: hidden; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
  .pwa-home__recent-text small { color: var(--pwa-muted); font-size: 13px; font-weight: 600; }
  .pwa-home__recent-item > .material-symbols-outlined { color: #aeb3bb; }

  .pwa-home__quick { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .pwa-home__quick a { display: grid; justify-items: center; gap: 4px; padding: 14px 6px; color: var(--pwa-ink); background: #fff; border: 1px solid var(--pwa-line); border-radius: 12px; text-decoration: none; }
  .pwa-home__quick .material-symbols-outlined { color: var(--pwa-red); font-size: 24px; }
  .pwa-home__quick strong { font-size: 14px; }
  .pwa-home .pwa-home-note { margin: 0; }
  .pwa-home .pwa-home-note p { font-size: 13px; }

  /* Calcular: primero el lote; el monto se ajusta en el resultado. */
  #entry-console .ec-step.ec-amount-step { display: none !important; }
  body:not(.pwa-capable-home):not(.pwa-page) > main::before { content: "Consultá un lote"; }
}
