/* Porta Magna · App de Inventario · v3.0 (estilo galería) */

@font-face { font-family:'PMA Serif'; font-style:normal; font-weight:500; font-display:swap;
  src:url('presentacion/fonts/playfair-display-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family:'PMA Serif'; font-style:italic; font-weight:500; font-display:swap;
  src:url('presentacion/fonts/playfair-display-latin-500-italic.woff2') format('woff2'); }
@font-face { font-family:'PMA Sans'; font-style:normal; font-weight:400; font-display:swap;
  src:url('presentacion/fonts/inter-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family:'PMA Sans'; font-style:normal; font-weight:500; font-display:swap;
  src:url('presentacion/fonts/inter-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family:'PMA Sans'; font-style:normal; font-weight:600; font-display:swap;
  src:url('presentacion/fonts/inter-latin-600-normal.woff2') format('woff2'); }

#pma-root {
  /* superficies */
  --lienzo:#FFFFFF; --bruma:#F5F2EB; --arena:#EDE9DE; --linea:#E3DDD0; --linea2:#CFC7B6;
  /* tinta */
  --navy:#2C3B4E; --navy2:#44536A; --navy3:#1B2836; --suave:#5C6979;
  /* acento de conversión */
  --ambar:#FEB161; --ambar2:#FFE9CF;
  /* estados */
  --verde:#2E6A3A; --verde2:#E2EEE0; --rojo:#9C3A32; --rojo2:#F7E3DF;
  /* forma */
  --r-media:28px; --r-card:22px; --r-campo:14px; --pill:9999px;
  --serif:'PMA Serif','Playfair Display',Georgia,'Times New Roman',serif;
  --sans:'PMA Sans','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --foco:0 0 0 3px var(--lienzo), 0 0 0 5px var(--navy);

  background:var(--lienzo); color:var(--navy);
  font-family:var(--sans); font-size:16px; line-height:1.47; letter-spacing:-.01em;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  -webkit-tap-highlight-color:transparent;
  min-height:100vh; min-height:100dvh;
}
#pma-root *, #pma-root *::before, #pma-root *::after { box-sizing:border-box; }
:where(#pma-root) :where(p, h1, h2, h3) { margin:0; }
:where(#pma-root) :where(button, input, select) { font-family:inherit; }
#pma-root :where(button, a, [tabindex]):focus-visible { outline:none; box-shadow:var(--foco); }
#pma-root img { max-width:100%; }

.pma-app { width:100%; max-width:680px; margin:0 auto; background:var(--lienzo);
  min-height:100vh; min-height:100dvh; padding-bottom:env(safe-area-inset-bottom); }

.pma-cargando { padding:120px 20px; text-align:center; color:var(--suave); font-size:14px; }
.pma-cargando span { display:inline-flex; align-items:center; gap:12px; }
.pma-cargando span::before { content:''; width:18px; height:18px; border-radius:50%;
  border:2px solid var(--linea); border-top-color:var(--navy); animation:pmaGira .8s linear infinite; }
@keyframes pmaGira { to { transform:rotate(360deg) } }
.pma-error { padding:90px 28px; text-align:center; color:var(--rojo); line-height:1.6; font-size:15px; }

.pma-pad { padding:24px 20px 48px; }
.pma-pad-cta { padding-bottom:128px; }

/* cifras alineadas en la serif */
.pma-h1, .pma-h2, .pma-chip, .pma-ficha-cab h3, .pma-resumen-t, .pma-accion-t { font-variant-numeric:lining-nums; }
.pma-sub2 + .pma-via, .pma-sub2 + .pma-tabs { margin-top:20px; }

/* ---------- marca ---------- */
.pma-marca { display:flex; align-items:center; justify-content:center; color:var(--navy); }
.pma-marca span { font-weight:600; white-space:nowrap; }
.pma-marca-lg { margin-bottom:14px; }

/* ---------- tipografía ---------- */
.pma-h1 { font-family:var(--serif); font-size:32px; text-wrap:balance; font-weight:500; text-align:center;
  letter-spacing:-.02em; line-height:1.08; margin-top:12px; color:var(--navy); }
.pma-h2 { font-family:var(--serif); font-size:30px; font-weight:500; letter-spacing:-.015em;
  line-height:1.1; color:var(--navy); }
.pma-h3 { font-size:13px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  color:var(--suave); margin:32px 0 12px; }
.pma-kicker { font-size:12px; font-weight:600; letter-spacing:.18em; text-transform:uppercase;
  color:var(--suave); text-align:center; }
.pma-sub { font-size:17px; color:var(--navy2); text-align:center; margin:14px auto 0;
  line-height:1.47; max-width:360px; }
.pma-sub2 { font-size:15px; color:var(--suave); margin-top:8px; line-height:1.45; }
.pma-legal { font-size:12px; color:var(--suave); text-align:center; margin:16px 0 0; line-height:1.55; }
.pma-nota { font-size:12px; color:var(--suave); margin-top:12px; text-align:center; }

/* ---------- acceso ---------- */
.pma-acceso { position:relative; min-height:100vh; min-height:100dvh;
  display:flex; flex-direction:column; background:var(--lienzo); }

.pma-header { width:100%; overflow:hidden; background:var(--bruma);
  border-radius:0 0 var(--r-media) var(--r-media); }
.pma-header img { width:100%; display:block; }
.pma-header-auto img { height:auto; }
.pma-header-corto { height:24vh; min-height:150px; max-height:220px; }
.pma-header-medio { height:38vh; min-height:230px; max-height:360px; }
.pma-header-alto  { height:54vh; min-height:320px; max-height:540px; }
.pma-header-corto img, .pma-header-medio img, .pma-header-alto img {
  height:100%; object-fit:cover; object-position:center; }

/* sin imagen: marca sobre navy plano */
.pma-header-marca { background:var(--navy); color:#fff; padding:56px 20px 44px;
  display:flex; flex-direction:column; align-items:center; gap:14px;
  border-radius:0 0 var(--r-media) var(--r-media); }
.pma-header-marca .pma-marca { color:#fff; }
.pma-header-marca .pma-kicker { color:rgba(255,255,255,.8); }

.pma-acceso-in { flex:1; width:100%; max-width:460px; margin:0 auto;
  padding:36px 20px 44px; display:flex; flex-direction:column; }
.pma-acceso-in .pma-h1 { margin-top:0; }
.pma-form { margin-top:24px; }

.pma-nota-acceso { background:var(--bruma); color:var(--navy); border-radius:var(--pill);
  padding:12px 18px; font-size:13px; font-weight:500; text-align:center; margin-bottom:18px; }

/* conmutador segmentado */
.pma-conmuta, .pma-via { display:flex; gap:4px; margin-top:28px; padding:4px;
  background:var(--bruma); border-radius:var(--pill); }
.pma-cm, .pma-via-b { flex:1; min-height:44px; padding:10px 12px; border:none; border-radius:var(--pill);
  cursor:pointer; background:transparent; color:var(--suave); font-size:15px; font-weight:500;
  transition:background-color .2s ease, color .2s ease; }
.pma-cm:hover, .pma-via-b:hover { color:var(--navy); }
.pma-cm-on, .pma-via-on { background:var(--navy); color:#fff; }
.pma-cm-on:hover, .pma-via-on:hover { color:#fff; }
.pma-via { margin-top:20px; }

.pma-err { background:var(--rojo2); color:var(--rojo); border-radius:var(--r-campo);
  padding:12px 16px; font-size:14px; font-weight:500; margin-bottom:14px; text-align:center; }

/* ---------- campos ---------- */
.pma-campo { display:block; margin-bottom:16px; }
.pma-campo > span { display:block; font-size:13px; font-weight:500; color:var(--navy2);
  margin:0 0 8px 4px; }
.pma-campo input, .pma-campo select {
  width:100%; min-height:52px; padding:14px 20px; font-size:17px; line-height:1.3;
  border:1px solid var(--linea2); border-radius:var(--r-campo);
  background:var(--lienzo); color:var(--navy); outline:none;
  appearance:none; -webkit-appearance:none; transition:border-color .15s ease, box-shadow .15s ease; }
.pma-campo input::placeholder { color:#8A95A1; }
.pma-campo select { padding-right:48px; background-repeat:no-repeat; background-position:right 20px center;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%232C3B4E' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); }
.pma-campo input:focus, .pma-campo select:focus { border-color:var(--navy); box-shadow:0 0 0 1px var(--navy); }

/* ---------- botones (píldora) ---------- */
.pma-btn { width:100%; min-height:52px; padding:14px 24px; font-size:17px; font-weight:500;
  border-radius:var(--pill); cursor:pointer; letter-spacing:-.01em; border:1px solid transparent;
  margin-top:8px; transition:background-color .2s ease, color .2s ease, transform .12s ease, opacity .2s ease; }
.pma-btn:active:not(:disabled) { transform:scale(.98); }
.pma-btn:disabled { opacity:.35; cursor:not-allowed; }
.pma-btn-primario { background:var(--navy); color:#fff; }
.pma-btn-primario:hover:not(:disabled) { background:var(--navy3); }
.pma-btn-acento { background:var(--ambar); color:var(--navy3); }
.pma-btn-acento:hover:not(:disabled) { background:#F9A447; }
.pma-btn-contorno { background:transparent; color:var(--navy); border-color:var(--navy); }
.pma-btn-contorno:hover:not(:disabled) { background:var(--bruma); }
.pma-btn-full { display:block; }

/* ---------- barra superior ---------- */
.pma-barra { padding:12px 20px 12px; background:rgba(255,255,255,.88);
  -webkit-backdrop-filter:saturate(180%) blur(20px); backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid var(--linea); position:sticky; top:0; z-index:20; }
.pma-barra-top { margin-bottom:10px; }
.pma-barra-fila { display:flex; align-items:center; gap:10px; min-height:44px; }
.pma-barra-fila:empty { display:none; }
.pma-barra-top:has(+ .pma-barra-fila:empty) { margin-bottom:0; }
.pma-atras { width:44px; height:44px; margin-left:-10px; flex-shrink:0; border:none; border-radius:50%;
  background:transparent; cursor:pointer; color:var(--navy);
  display:flex; align-items:center; justify-content:center; transition:background-color .15s ease; }
.pma-atras:hover { background:var(--bruma); }
.pma-chip { font-family:var(--serif); font-size:22px; font-weight:500; color:var(--navy);
  letter-spacing:-.01em; line-height:1.1; }
.pma-asesor { margin-left:auto; font-size:12px; font-weight:500; color:var(--navy2);
  border:1px solid var(--linea2); padding:6px 12px; border-radius:var(--pill); max-width:46%;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.pma-aviso { background:var(--navy); color:#fff; padding:14px 18px; border-radius:var(--r-card);
  font-size:14px; font-weight:500; margin-bottom:16px; display:flex; align-items:center; gap:10px; }
.pma-aviso svg { color:var(--ambar); flex-shrink:0; }

/* ---------- lista de pisos ---------- */
.pma-panel-link { margin-top:20px; width:100%; min-height:56px; padding:14px 22px; background:var(--bruma);
  border:none; border-radius:var(--pill); cursor:pointer; display:flex;
  justify-content:space-between; align-items:center;
  font-size:15px; font-weight:500; color:var(--navy); transition:background-color .15s ease; }
.pma-panel-link:hover { background:var(--arena); }
.pma-flecha { color:var(--navy2); font-size:14px; display:inline-flex; align-items:center; gap:6px; }
.pma-flecha::after { content:''; width:7px; height:7px; border-top:1.6px solid currentColor;
  border-right:1.6px solid currentColor; transform:rotate(45deg); }

.pma-lista { margin-top:20px; border-top:1px solid var(--linea); }
.pma-fila { width:100%; min-height:76px; display:flex; align-items:center; gap:16px; padding:14px 4px;
  background:transparent; border:none; border-bottom:1px solid var(--linea);
  cursor:pointer; text-align:left; color:var(--navy); transition:background-color .15s ease; }
.pma-fila.pma-alt { background:transparent; }
.pma-fila:hover:not(.pma-fila-off) { background:var(--bruma); }
.pma-fila:active:not(.pma-fila-off) { background:var(--arena); }
.pma-fila-off { cursor:default; }
.pma-fila-off .pma-piso-n, .pma-fila-off .pma-fila-mid { opacity:.45; }
.pma-piso-n { font-family:var(--serif); font-size:30px; font-weight:500; line-height:1;
  min-width:58px; letter-spacing:-.01em; font-variant-numeric:lining-nums tabular-nums; }
.pma-piso-n::before { content:'Piso'; display:block; font-family:var(--sans); font-size:11px;
  font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--suave); margin-bottom:4px; }
.pma-fila-mid { flex:1; min-width:0; }
.pma-fila-t { display:block; font-size:16px; color:var(--navy); font-weight:500;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pma-fila-s { display:block; font-size:14px; color:var(--suave); margin-top:2px; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis; }

/* estados (siempre con texto) */
.pma-tag { font-size:13px; font-weight:500; padding:6px 12px; border-radius:var(--pill);
  white-space:nowrap; flex-shrink:0; line-height:1.2; }
.pma-ok { background:var(--verde2); color:var(--verde); }
.pma-poco { background:var(--ambar); color:var(--navy3); }
.pma-ago { background:var(--bruma); color:var(--suave); }
.pma-neutro { background:var(--bruma); color:var(--navy2); }

/* ---------- piso ---------- */
.pma-plano-img { border-radius:var(--r-media); overflow:hidden; background:var(--bruma); padding:16px; }
.pma-plano-img img { width:100%; display:block; border-radius:14px; mix-blend-mode:multiply; }

/* pestañas de tipología: el color vive en un punto, no en el bloque */
.pma-tabs { display:flex; gap:8px; margin-top:20px; overflow-x:auto; padding:2px 2px 8px;
  -webkit-overflow-scrolling:touch; scrollbar-width:none; scroll-snap-type:x proximity; }
.pma-tabs::-webkit-scrollbar { display:none; }
.pma-tabs-color { margin-top:20px; }
.pma-tipo-btn { --tono:#5B8C5A; position:relative; flex-shrink:0; min-width:140px; min-height:64px;
  padding:12px 18px 12px 38px; border-radius:18px; border:1px solid var(--linea2);
  background:var(--lienzo) !important; color:var(--navy); cursor:pointer; text-align:left;
  scroll-snap-align:start; transition:border-color .2s ease, background-color .2s ease; }
.pma-tipo-btn::before { content:''; position:absolute; left:16px; top:18px; width:10px; height:10px;
  border-radius:50%; background:var(--tono); }
.pma-tipo-btn:hover { border-color:var(--navy2); }
.pma-tipo-on { border-color:var(--navy); box-shadow:inset 0 0 0 1px var(--navy); background:var(--bruma) !important; }
.pma-tipo-off { opacity:.5; }
.pma-tipo-n { display:block; font-size:16px; font-weight:600; color:var(--navy); line-height:1.2; }
.pma-tipo-m { display:block; font-size:13px; color:var(--suave); margin-top:3px; font-weight:400; }

.pma-tab { flex-shrink:0; min-height:44px; padding:10px 20px; border-radius:var(--pill); cursor:pointer;
  border:1px solid var(--linea2); background:var(--lienzo); color:var(--navy);
  font-size:15px; font-weight:500; white-space:nowrap; transition:background-color .2s ease, color .2s ease; }
.pma-tab:hover { border-color:var(--navy2); }
.pma-tab-on, .pma-tab-on:hover { background:var(--navy); color:#fff; border-color:var(--navy); }

/* ficha */
.pma-ficha { background:var(--bruma); border-radius:var(--r-media); padding:28px 22px; margin-top:16px; }
.pma-ficha-cab { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.pma-ficha-cab h3 { --tono:var(--navy); font-family:var(--serif); font-size:34px; font-weight:500;
  letter-spacing:-.02em; line-height:1.05; color:var(--navy) !important; display:flex; align-items:center; gap:12px; }
.pma-ficha-cab h3::before { content:''; width:12px; height:12px; border-radius:50%; background:var(--tono); flex-shrink:0; }
.pma-ficha-cod { font-size:13px; color:var(--suave); font-weight:500; letter-spacing:.06em; }
.pma-ficha-desc { font-size:16px; color:var(--navy2); line-height:1.5; margin-top:12px; }
.pma-datos { display:grid; grid-template-columns:repeat(auto-fill,minmax(112px,1fr)); gap:0;
  margin-top:22px; background:var(--lienzo); border-radius:18px; overflow:hidden; }
/* líneas por celda: si la última fila queda incompleta, el hueco es blanco, no gris */
.pma-datos > div { background:var(--lienzo); padding:14px 16px; margin:0 -1px -1px 0;
  border-right:1px solid var(--linea); border-bottom:1px solid var(--linea); }
.pma-dato-l { font-size:12px; font-weight:500; color:var(--suave); }
.pma-dato-v { font-size:20px; font-weight:500; margin-top:2px; white-space:nowrap; letter-spacing:-.01em;
  font-variant-numeric:tabular-nums; }

.pma-acepta { display:flex; gap:12px; align-items:flex-start; margin:20px 0 8px;
  padding:16px 18px; background:var(--bruma); border-radius:18px; cursor:pointer; }
.pma-acepta input { width:22px; height:22px; flex-shrink:0; margin:0; accent-color:var(--navy); cursor:pointer; }
.pma-acepta span { font-size:14px; color:var(--navy2); line-height:1.5; }
.pma-acepta a { color:var(--navy); font-weight:600; text-decoration:underline; text-underline-offset:2px; }

/* galería */
.pma-galeria { margin-top:22px; }
.pma-grande { position:relative; display:block; width:100%; padding:0; margin-top:10px;
  border-radius:var(--r-media); overflow:hidden; border:none; background:var(--arena); cursor:zoom-in; }
.pma-grande img { width:100%; display:block; aspect-ratio:4/3; max-height:64vh; object-fit:cover; }
.pma-lupa { position:absolute; right:14px; bottom:14px; width:44px; height:44px;
  border-radius:50%; background:rgba(255,255,255,.9); color:var(--navy);
  display:flex; align-items:center; justify-content:center;
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
.pma-minis { display:flex; gap:8px; overflow-x:auto; padding:2px 2px 4px;
  -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.pma-minis::-webkit-scrollbar { display:none; }
.pma-mini { flex:0 0 72px; height:56px; border-radius:12px; overflow:hidden; padding:0;
  border:none; background:var(--arena); cursor:pointer; opacity:.55;
  transition:opacity .2s ease, box-shadow .2s ease; }
.pma-mini img { width:100%; height:100%; object-fit:cover; display:block; }
.pma-mini:hover { opacity:.85; }
.pma-mini-on { opacity:1; box-shadow:inset 0 0 0 2px var(--navy); }
.pma-mini-on img { border-radius:10px; transform:scale(.9); }

/* visor a pantalla completa */
.pma-visor { position:fixed; inset:0; z-index:99999; background:rgba(18,26,36,.97);
  display:flex; align-items:center; justify-content:center;
  padding:calc(64px + env(safe-area-inset-top)) 12px calc(64px + env(safe-area-inset-bottom));
  animation:pmaFade .2s ease-out; }
@keyframes pmaFade { from { opacity:0 } to { opacity:1 } }
.pma-visor-img { width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.pma-visor-img img { max-width:100%; max-height:100%; object-fit:contain; display:block; border-radius:14px; }
.pma-visor-x, .pma-visor-nav { position:absolute; width:48px; height:48px; border-radius:50%; border:none;
  cursor:pointer; background:rgba(255,255,255,.14); color:#fff;
  display:flex; align-items:center; justify-content:center; transition:background-color .15s ease; }
.pma-visor-x { top:calc(14px + env(safe-area-inset-top)); right:14px; }
.pma-visor-nav { top:50%; transform:translateY(-50%); }
.pma-visor-izq { left:12px; }
.pma-visor-der { right:12px; }
.pma-visor-nav:hover, .pma-visor-x:hover, .pma-visor-nav:active, .pma-visor-x:active { background:rgba(255,255,255,.28); }
.pma-visor-pts { position:absolute; bottom:calc(20px + env(safe-area-inset-bottom));
  left:0; right:0; display:flex; gap:0; justify-content:center; }
.pma-pt { width:24px; height:24px; border:none; padding:0; cursor:pointer; background:transparent;
  position:relative; }
.pma-pt::after { content:''; position:absolute; left:8px; top:8px; width:8px; height:8px; border-radius:50%;
  background:rgba(255,255,255,.35); transition:background-color .2s ease, transform .2s ease; }
.pma-pt-on::after { background:var(--ambar); transform:scale(1.3); }

/* precios */
.pma-sinprecio { margin-top:22px; padding:16px 20px; background:var(--lienzo);
  border-radius:18px; font-size:14px; color:var(--suave); text-align:center; line-height:1.5; }
.pma-precios { margin-top:24px; padding-top:4px; }
.pma-precios-t { font-size:12px; font-weight:600; color:var(--suave); margin-bottom:6px;
  letter-spacing:.1em; text-transform:uppercase; }
.pma-precio-fila { display:flex; justify-content:space-between; align-items:baseline; gap:12px;
  padding:14px 0; border-bottom:1px solid var(--linea); font-size:15px; color:var(--navy2); }
.pma-precio-fila:last-child { border-bottom:none; }
.pma-precio-fila strong { font-size:17px; font-weight:600; color:var(--navy); white-space:nowrap;
  font-variant-numeric:tabular-nums; }
.pma-precio-fila em { font-style:normal; color:var(--suave); font-size:13px; }

/* llamado fijo: superficie plana translúcida, sin degradado */
.pma-cta { position:fixed; left:0; right:0; bottom:0; z-index:30;
  padding:12px 20px calc(12px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.9); border-top:1px solid var(--linea);
  -webkit-backdrop-filter:saturate(180%) blur(20px); backdrop-filter:saturate(180%) blur(20px); }
.pma-cta .pma-btn { max-width:480px; margin:0 auto; display:block; }

/* ---------- cotizador ---------- */
.pma-total { background:var(--navy); color:#fff; border-radius:var(--r-media); padding:28px 24px; margin-top:16px; }
.pma-total-l { font-size:13px; color:rgba(255,255,255,.75); font-weight:500; }
.pma-total-n { font-family:var(--serif); font-size:40px; font-weight:500; margin-top:6px;
  letter-spacing:-.02em; line-height:1.05; font-variant-numeric:lining-nums tabular-nums; }
.pma-total-a { font-size:14px; color:var(--ambar); margin-top:10px; font-weight:500; }
.pma-desglose { background:var(--bruma); border-radius:var(--r-media); padding:24px 22px; margin-top:12px; }

/* bloques de acción del cierre */
.pma-accion { background:var(--bruma); border:none; border-radius:var(--r-media);
  padding:24px 22px; margin-top:16px; }
.pma-accion-fuerte { background:var(--ambar2); box-shadow:inset 0 0 0 1px var(--ambar); }
.pma-accion-t { font-family:var(--serif); font-size:24px; font-weight:500; color:var(--navy); line-height:1.15; }
.pma-accion-s { font-size:14px; color:var(--navy2); line-height:1.5; margin-top:6px; margin-bottom:14px; }
.pma-cancel { width:100%; min-height:44px; margin-top:6px; padding:10px; background:none; border:none;
  color:var(--navy2); font-size:15px; font-weight:500; cursor:pointer; border-radius:var(--pill); }
.pma-cancel:hover { background:rgba(44,59,78,.06); }

/* apartado */
.pma-reloj { background:var(--verde2); border-radius:var(--pill); padding:12px 22px; display:flex;
  justify-content:space-between; align-items:center; font-size:14px; font-weight:500; color:var(--verde); }
.pma-reloj strong { font-size:20px; font-weight:600; font-variant-numeric:tabular-nums; }
.pma-reloj-alerta { background:var(--rojo2); color:var(--rojo); }

.pma-resumen { background:var(--bruma); border-radius:var(--r-card); padding:20px 22px; margin-top:14px;
  display:flex; justify-content:space-between; align-items:center; gap:14px; }
.pma-resumen-t { font-family:var(--serif); font-size:22px; font-weight:500; line-height:1.15; }
.pma-resumen-s { font-size:14px; color:var(--suave); margin-top:4px; }
.pma-resumen-p { font-size:19px; font-weight:600; white-space:nowrap; font-variant-numeric:tabular-nums; }

/* ---------- confirmación ---------- */
.pma-fin { padding:64px 24px; text-align:center; min-height:82vh; display:flex;
  flex-direction:column; justify-content:center; max-width:480px; margin:0 auto; }
.pma-fin-icono { width:76px; height:76px; border-radius:50%; margin:0 auto 24px;
  background:var(--ambar); color:var(--navy3); display:flex; align-items:center; justify-content:center; }
.pma-fin-ok { background:var(--verde); color:#fff; }
.pma-fin .pma-h2 { font-size:34px; }
.pma-enviado { display:flex; align-items:center; justify-content:center; gap:10px;
  margin-top:20px; padding:12px 20px; background:var(--verde2); color:var(--verde);
  border-radius:var(--pill); font-size:14px; font-weight:500; }
.pma-enviado svg { flex-shrink:0; }
.pma-fin-caja { background:var(--bruma); border-radius:var(--r-card); padding:8px 22px; margin-top:28px; text-align:left; }
.pma-fin-fila { display:flex; justify-content:space-between; gap:12px; padding:14px 0;
  font-size:15px; color:var(--suave); border-bottom:1px solid var(--linea); }
.pma-fin-fila:last-child { border-bottom:none; }
.pma-fin-fila strong { font-weight:600; color:var(--navy); text-align:right; }

/* ---------- panel ---------- */
.pma-kpis { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.pma-kpi { background:var(--bruma); border-radius:var(--r-card); padding:22px; }
.pma-kpi-n { font-family:var(--serif); font-size:44px; font-weight:500; line-height:1; font-variant-numeric:lining-nums; }
.pma-kpi-l { font-size:14px; color:var(--suave); margin-top:8px; font-weight:500; }
.pma-vacio { background:var(--bruma); border-radius:var(--r-card); padding:32px 24px; text-align:center;
  font-size:15px; color:var(--suave); line-height:1.55; }
.pma-reg { background:transparent; padding:16px 4px; border-bottom:1px solid var(--linea);
  display:flex; justify-content:space-between; align-items:center; gap:12px; }
.pma-reg:first-of-type { border-top:1px solid var(--linea); }
.pma-reg-n { font-size:16px; font-weight:500; }
.pma-reg-s { font-size:14px; color:var(--suave); margin-top:2px; }

/* ---------- calculadora de plan a la medida ---------- */
.pma-calc-abrir { width:100%; min-height:56px; margin-top:16px; padding:14px 22px; background:var(--bruma);
  border:none; border-radius:var(--pill); cursor:pointer;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  font-size:15px; font-weight:500; color:var(--navy); }
.pma-calc-abrir:hover { background:var(--arena); }
.pma-calc-abrir svg { color:var(--navy); flex-shrink:0; }

.pma-calc { margin-top:16px; background:var(--bruma); border-radius:var(--r-media); overflow:hidden; }
.pma-calc-cab { background:var(--navy); color:#fff; padding:14px 18px 14px 24px;
  display:flex; align-items:center; justify-content:space-between; gap:12px; }
.pma-calc-cab span { font-size:15px; font-weight:500; }
.pma-calc-cab button { width:44px; height:44px; border-radius:50%; border:none; cursor:pointer;
  background:rgba(255,255,255,.14); color:#fff; font-size:20px; line-height:1;
  display:flex; align-items:center; justify-content:center; }
.pma-calc-in { padding:24px 22px 22px; }

.pma-calc-campo { margin-bottom:22px; }
.pma-calc-fila { display:flex; justify-content:space-between; align-items:baseline;
  gap:10px; margin-bottom:10px; }
.pma-calc-fila label { font-size:13px; font-weight:500; color:var(--navy2); }
.pma-calc-fila span { font-size:15px; font-weight:600; color:var(--navy);
  white-space:nowrap; font-variant-numeric:tabular-nums; }

.pma-calc input[type=range] { width:100%; height:28px; background:transparent;
  outline:none; appearance:none; -webkit-appearance:none; cursor:pointer; margin:0; }
.pma-calc input[type=range]::-webkit-slider-runnable-track { height:4px; border-radius:4px; background:var(--linea2); }
.pma-calc input[type=range]::-moz-range-track { height:4px; border-radius:4px; background:var(--linea2); }
.pma-calc input[type=range]::-webkit-slider-thumb { appearance:none; -webkit-appearance:none;
  width:28px; height:28px; margin-top:-12px; border-radius:50%; background:#fff;
  border:none; box-shadow:0 0 0 1px var(--linea2), 0 0 0 8px transparent; }
.pma-calc input[type=range]::-moz-range-thumb { width:28px; height:28px; border-radius:50%;
  background:#fff; border:none; box-shadow:0 0 0 1px var(--linea2); }
.pma-calc input[type=range]:focus-visible::-webkit-slider-thumb { box-shadow:0 0 0 2px var(--navy); }
.pma-calc input[type=range]:focus-visible::-moz-range-thumb { box-shadow:0 0 0 2px var(--navy); }

.pma-calc-monto { display:flex; align-items:center; background:var(--lienzo);
  border:1px solid var(--linea2); border-radius:var(--r-campo); padding:0 18px; min-height:52px; }
.pma-calc-monto:focus-within { border-color:var(--navy); box-shadow:0 0 0 1px var(--navy); }
.pma-calc-monto span { font-size:17px; font-weight:500; color:var(--suave); }
.pma-calc-monto input { flex:1; min-width:0; border:none; background:none; outline:none;
  padding:12px 8px; font-size:17px; font-weight:500; color:var(--navy);
  font-variant-numeric:tabular-nums; }

.pma-calc-res { background:var(--navy); border-radius:var(--r-card); padding:22px 24px; margin-top:24px; }
.pma-calc-res span { display:block; font-size:13px; font-weight:500; color:rgba(255,255,255,.72); }
.pma-calc-res b { display:block; font-family:var(--serif); font-size:38px; font-weight:500; color:var(--ambar);
  line-height:1.05; margin-top:6px; letter-spacing:-.02em; font-variant-numeric:lining-nums tabular-nums; }
.pma-calc-res small { display:block; font-size:13px; color:rgba(255,255,255,.72); margin-top:8px; }

.pma-calc-alerta { margin-top:14px; padding:12px 16px; border-radius:var(--r-campo); font-size:14px;
  line-height:1.5; background:var(--rojo2); color:var(--rojo); }
.pma-calc-legal { font-size:12px; color:var(--suave); line-height:1.55; margin-top:18px;
  padding-top:16px; border-top:1px solid var(--linea); }
.pma-calc .pma-desglose { background:var(--lienzo); }

/* ---------- pantallas amplias (tableta del asesor) ---------- */
@media (min-width:720px) {
  .pma-pad, .pma-barra { padding-left:32px; padding-right:32px; }
  .pma-cta { left:50%; right:auto; width:100%; max-width:680px; transform:translateX(-50%);
    border-left:1px solid var(--linea); border-right:1px solid var(--linea); }
  .pma-h1 { font-size:44px; }
  .pma-h2 { font-size:36px; }
  .pma-ficha { padding:32px 32px; }
  .pma-header, .pma-header-marca { border-radius:0 0 36px 36px; }
}
@media (hover:none) {
  .pma-fila:hover:not(.pma-fila-off) { background:transparent; }
}
@media (prefers-reduced-motion:reduce) {
  #pma-root *, #pma-root *::before, #pma-root *::after { transition:none !important; animation:none !important; }
}
