/* Estilos de AGEEPU — portados tal cual del mockup aprobado (versión 13).
   Única fuente de colores y tipografía del sistema. */
/* Layout: pestañas arriba (Sitio público / Panel / Sugerencias); sitio en bandas a todo ancho, panel en rejilla de tarjetas */
:root{
  --bg:#f4f6f4; --surface:#ffffff; --ink:#18261d; --muted:#5a675f; --line:#dce3de;
  --brand:#1e6c38; --brand-2:#1d7a3c; --gold:#d9a400; --gold-soft:#fdf1d6;
  --ok:#1f8a4c; --ok-soft:#e3f4ea; --warn:#b26b00; --warn-soft:#fdf0d9; --bad:#c0392b; --bad-soft:#fbe5e2;
  --side-bg:#123f26; --side-fg:#b4c2da; --side-mut:#6d82a8; --side-hi:#ffffff14; --yape:#6c2a91; --surface-2:#eef2ef; --violet:#742284; --violet-tint:#f3e8f6; --wa:#1fa855; --tg:#2a9fd6; --fb:#1c64d8;
  --display:"Source Serif 4", Georgia, "Times New Roman", serif;
  --body:"Public Sans", "Segoe UI", system-ui, sans-serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0d1511; --surface:#15201a; --ink:#e6eee8; --muted:#9db0a4; --line:#273a2f;
  --brand:#7fcf98; --brand-2:#5fbf80; --gold:#f2c94c; --gold-soft:#3a3318;
  --ok:#4cc27e; --ok-soft:#163525; --warn:#f0a63a; --warn-soft:#3a2b14; --bad:#ef7366; --bad-soft:#3d1d1a;
  --side-bg:#08100c; --side-fg:#a8bbae; --side-mut:#62786a; --side-hi:#ffffff10; --yape:#b67ad8; --surface-2:#1b2a21; --violet:#c99be0; --violet-tint:#2e2140; --wa:#3ccf74; --tg:#5ab9e8; --fb:#6a9cf0; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0d1511; --surface:#15201a; --ink:#e6eee8; --muted:#9db0a4; --line:#273a2f;
  --brand:#7fcf98; --brand-2:#5fbf80; --gold:#f2c94c; --gold-soft:#3a3318;
  --ok:#4cc27e; --ok-soft:#163525; --warn:#f0a63a; --warn-soft:#3a2b14; --bad:#ef7366; --bad-soft:#3d1d1a;
  --side-bg:#08100c; --side-fg:#a8bbae; --side-mut:#62786a; --side-hi:#ffffff10; --yape:#b67ad8; --surface-2:#1b2a21; --violet:#c99be0; --violet-tint:#2e2140; --wa:#3ccf74; --tg:#5ab9e8; --fb:#6a9cf0; color-scheme:dark}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.55}
h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;line-height:1.15}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
button{font:inherit;cursor:pointer}
button:focus-visible,.chip:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--muted)}

/* barra de pestañas */
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--surface);border-bottom:1px solid var(--line)}
.topbar .wrap{display:flex;align-items:center;gap:12px;padding-block:10px;flex-wrap:wrap}
.mock{font-size:12px;font-weight:700;color:var(--muted);margin-right:auto}
.tabs{display:flex;gap:6px;flex-wrap:wrap}
.tab{border:1px solid var(--line);background:transparent;color:var(--ink);padding:7px 14px;border-radius:999px;font-weight:600}
.tab[aria-selected="true"]{background:var(--brand);border-color:var(--brand);color:var(--surface)}

/* ===== VALIDACIÓN YAPE (portado de Nudge: recharge_center/validacion.html) ===== */
.vr-eyebrow{font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.vr-titulo{font-size:26px;font-weight:700;letter-spacing:-.02em;margin:0 0 6px;text-wrap:balance}
.vr-sub{margin:0;color:var(--muted);max-width:62ch}
.vr-resumen{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:22px 0}
.vr-num{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;border-left:3px solid var(--vr-franja,var(--line))}
.vr-num .n{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.vr-num .r{font-size:11.5px;color:var(--muted);font-weight:500}
.vr-espera{--vr-franja:var(--warn)} .vr-espera .n{color:var(--warn)}
.vr-hoy{--vr-franja:var(--ok)} .vr-hoy .n{color:var(--ok)}
.vr-fraude{--vr-franja:var(--bad)} .vr-fraude .n{color:var(--bad)}
.vr-tablero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:16px;align-items:start}
.vr-panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.vr-panel-cab{padding:12px 16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}
.vr-panel-cab h2,.main .vr-panel-cab h2{font-size:13px;font-weight:600;margin:0;font-family:var(--body)}
.vr-pista{font-size:11.5px;color:var(--muted);overflow-wrap:anywhere;text-align:right}
.vr-fila{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line)}
.vr-fila > span{min-width:0}
.vr-fila:last-child{border-bottom:0}
.vr-fila:hover{background:var(--surface-2)}
.vr-fila:focus-visible{outline:2px solid var(--violet);outline-offset:-2px}
.vr-fila.vr-activa{background:var(--violet-tint);box-shadow:inset 3px 0 0 var(--violet)}
.vr-codigo{display:flex;gap:3px}
.vr-codigo span{width:26px;height:32px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:6px;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}
.vr-activa .vr-codigo span{border-color:var(--violet);color:var(--violet)}
.vr-l1{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.vr-l2{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.vr-cuenta{display:inline-flex;align-items:center;font-size:11px;font-weight:600;color:var(--violet);background:var(--violet-tint);border-radius:99px;padding:1px 8px}
.vr-chip{font-size:11px;font-weight:600;border-radius:99px;padding:3px 9px;white-space:nowrap;font-variant-numeric:tabular-nums}
.vr-chip-ok{background:var(--ok-soft);color:var(--ok)} .vr-chip-warn{background:var(--warn-soft);color:var(--warn)} .vr-chip-err{background:var(--bad-soft);color:var(--bad)}
.vr-detalle{padding:16px}
.vr-cabeza{display:flex;gap:16px;align-items:flex-start;margin-bottom:16px}
.vr-comprobante{width:132px;flex:none;border-radius:10px;border:1px solid var(--line);overflow:hidden;background:#fff;color:#222;font-size:9px;text-align:center}
.vr-comprobante .yh{background:#742284;color:#fff;padding:10px 6px;font-weight:700;font-size:11px}
.vr-comprobante .ym{font-size:20px;font-weight:800;color:#742284;margin:8px 0 2px}
.vr-comprobante .yc{display:flex;gap:2px;justify-content:center;margin:6px 0}
.vr-comprobante .yc i{font-style:normal;width:14px;height:17px;display:grid;place-items:center;background:#f1e6f4;border-radius:3px;font-weight:700;font-size:10px;color:#742284}
.vr-comprobante p{margin:3px 6px;color:#555}
.vr-comprobante.ilegible{filter:blur(2.5px)}
.vr-monto{font-size:30px;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:0;font-family:var(--body)}
.vr-monto small{font-size:15px;font-weight:600;color:var(--muted);letter-spacing:0}
.vr-quien{margin:4px 0 0;color:var(--muted)}
.vr-quien b{color:var(--ink);font-weight:600}
.vr-aclaracion{font-size:12.5px;color:var(--muted);margin:4px 0 0}
.vr-campos{display:grid;grid-template-columns:auto 1fr;gap:7px 16px;margin:16px 0 0;font-size:13px}
.vr-campos dt{color:var(--muted)}
.vr-campos dd{margin:0;font-variant-numeric:tabular-nums;font-weight:500;overflow-wrap:anywhere}
.vr-resaltado{background:var(--violet-tint);color:var(--violet);border-radius:4px;padding:0 4px;font-weight:700}
.vr-controles{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
.vr-controles h3{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 9px;font-weight:600;font-family:var(--body)}
.vr-lista{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.vr-lista li{font-size:11.5px;border-radius:99px;padding:3px 9px;font-weight:500}
.vr-pasa{background:var(--ok-soft);color:var(--ok)} .vr-falla{background:var(--bad-soft);color:var(--bad)}
.vr-nota{width:100%;margin-top:16px;border:1px solid var(--line);border-radius:10px;padding:9px 12px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px;resize:vertical}
.vr-acciones{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:8px;margin-top:12px}
.vr-acciones.cinco{grid-template-columns:1.5fr 1fr 1fr 1fr 1fr}
.vr-btn{border-radius:10px;padding:11px 12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent}
.vr-btn:focus-visible{outline:2px solid var(--violet);outline-offset:2px}
.vr-btn-ok{background:var(--ok);color:#fff}
.vr-btn-neutro{background:var(--surface-2);color:var(--ink);border-color:var(--line)}
.vr-btn-peligro{background:transparent;color:var(--bad);border-color:var(--bad)}
.vr-btn-peligro:hover{background:var(--bad-soft)}
.vr-recordatorio{margin-top:12px;font-size:12px;color:var(--muted);background:var(--warn-soft);border-radius:9px;padding:9px 12px}
.vr-recordatorio b{color:var(--warn)}
.vr-vacio{padding:38px 16px;text-align:center;color:var(--muted);font-size:13px}
.vr-telegram{margin-top:16px}
.vr-burbuja{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;max-width:420px}
.vr-cod-grande{display:flex;gap:4px;margin-bottom:10px}
.vr-cod-grande span{width:34px;height:42px;display:grid;place-items:center;border-radius:8px;background:var(--violet-tint);color:var(--violet);font-size:21px;font-weight:700;font-variant-numeric:tabular-nums}
.vr-aviso-texto{margin:0;font:inherit;font-size:13px;color:var(--muted);white-space:pre-wrap;font-variant-numeric:tabular-nums}
.vr-btns-tg{display:flex;gap:6px;margin-top:11px;flex-wrap:wrap}
.vr-btn-tg{font-size:12px;font-weight:600;border-radius:8px;padding:7px 11px;background:var(--surface-2);border:1px solid var(--line)}
.vr-reglas{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px}
.vr-reglas .card .lbl{margin-top:0}
.vr-reglas input{width:100%;font:inherit;padding:8px 10px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink)}
@media (max-width:1000px){.vr-resumen{grid-template-columns:repeat(3,1fr)}.vr-tablero{grid-template-columns:1fr}.vr-reglas{grid-template-columns:1fr 1fr}}
@media (max-width:700px){
  .vr-resumen{grid-template-columns:repeat(2,1fr);gap:8px;margin:16px 0}
  .vr-num{padding:11px 12px}.vr-num .n{font-size:20px}.vr-titulo{font-size:22px}
  .vr-fila{gap:10px;padding:12px}.vr-codigo span{width:22px;height:28px;font-size:14px}
  .vr-cabeza{flex-direction:column;gap:12px}.vr-monto{font-size:26px}
  .vr-campos{grid-template-columns:1fr;gap:0}.vr-campos dt{margin-top:8px;font-size:12px}
  .vr-panel-cab{flex-wrap:wrap;gap:4px}.vr-pista{text-align:left}
  .vr-acciones,.vr-acciones.cinco{grid-template-columns:1fr}.vr-burbuja{max-width:none}.vr-reglas{grid-template-columns:1fr}
}

/* ===== PANEL ===== */
.panel{display:grid;grid-template-columns:220px 1fr;min-height:70vh}
.side{background:var(--surface);border-right:1px solid var(--line);padding:18px 12px;display:flex;flex-direction:column;gap:4px}.side button,.side a.mod{all:unset;cursor:pointer;padding:10px 12px;border-radius:10px;font-weight:600;color:var(--muted);display:flex;gap:10px;align-items:center}.side button svg,.side a.mod svg{width:18px;height:18px;flex:none}.side button[aria-current="true"],.side a.mod[aria-current="true"]{background:var(--gold-soft);color:var(--ink)}.side button:focus-visible,.side a.mod:focus-visible{outline:3px solid var(--gold)}
.main{padding:24px max(16px,env(safe-area-inset-right,0px)) 40px 24px;min-width:0}
.main h2{font-size:26px;margin-bottom:4px}
.sub{color:var(--muted);margin:0 0 20px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px}
.kpi b{display:block;font-family:var(--display);font-size:26px;font-variant-numeric:tabular-nums}
.kpi span{font-size:13px;color:var(--muted)}
.bar{height:6px;border-radius:6px;background:var(--line);margin-top:10px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--ok)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;min-width:0}
.grid2{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.chip{border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:6px 13px;font-weight:600;font-size:13.5px}
.chip[aria-pressed="true"]{border-color:var(--brand);background:var(--brand);color:var(--surface)}
.tbl{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:14px}
th{text-align:left;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:10px;border-bottom:1px solid var(--line);white-space:nowrap;font-variant-numeric:tabular-nums}
tr.sel td{background:var(--gold-soft)}
.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700}
.ok{background:var(--ok-soft);color:var(--ok)} .warn{background:var(--warn-soft);color:var(--warn)} .bad{background:var(--bad-soft);color:var(--bad)}
.tag{font-size:12px;color:var(--muted);border:1px solid var(--line);padding:2px 8px;border-radius:6px}
input[type=checkbox]{width:17px;height:17px;accent-color:var(--brand)}
.phone{background:#e7ddd3;border-radius:16px;padding:14px;min-height:220px;display:flex;flex-direction:column;gap:8px}
:root[data-theme="dark"] .phone{background:#1d2a2a}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .phone{background:#1d2a2a}}
.msg{background:#dcf8c6;color:#122;border-radius:10px 10px 2px 10px;padding:10px 12px;max-width:92%;align-self:flex-end;font-size:13.5px;white-space:pre-line;box-shadow:0 1px 1px #0002}
.channel{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.btn-wa{background:var(--wa);color:#fff}
.btn-tg{background:var(--tg);color:#fff}
.note{font-size:13px;color:var(--muted);margin-top:10px}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:12px 18px;border-radius:12px;font-weight:600;z-index:50;max-width:calc(100% - 32px)}
canvas{width:100%;max-width:420px;aspect-ratio:1;border-radius:14px;display:block;border:1px solid var(--line)}
.bdlist{display:flex;flex-direction:column;gap:8px}
.bdrow{display:flex;align-items:center;gap:12px;padding:10px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);text-align:left;width:100%}
.bdrow[aria-pressed="true"]{border-color:var(--gold);background:var(--gold-soft)}
.bdrow .av{width:40px;height:40px;font-size:15px;margin:0}
.bdrow small{display:block;color:var(--muted)}
.pay{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.qr{width:150px;height:150px;border-radius:12px;background:
 conic-gradient(from 90deg at 20% 20%,var(--ink) 25%,transparent 0) 0 0/24px 24px,
 repeating-linear-gradient(45deg,var(--ink) 0 4px,transparent 4px 9px);border:10px solid #fff;outline:1px solid var(--line)}
.steps{margin:0;padding-left:20px;color:var(--muted)}
.steps li{margin-bottom:6px}
.vlist{display:flex;flex-direction:column;gap:8px}
.vrow{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:10px;border:1px solid var(--line);border-radius:10px}

/* modal pagar */
.modal{position:fixed;inset:0;background:#0009;display:grid;place-items:center;z-index:40;padding:16px}
.modal .box{background:var(--surface);border-radius:18px;padding:22px;width:min(440px,100%);max-height:90vh;overflow:auto}
.opt{display:flex;gap:12px;align-items:center;padding:14px;border:1.5px solid var(--line);border-radius:12px;margin-top:10px;width:100%;background:var(--surface);color:var(--ink);text-align:left}
.opt[aria-pressed="true"]{border-color:var(--brand);background:var(--gold-soft)}
.logo-y{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;color:#fff;font-weight:800;flex:none}

/* sugerencias */
.sug{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sug .card h3{font-size:17px;margin:8px 0 6px}
.sug .card p{margin:0;color:var(--muted);font-size:14px}
.prio{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.prio.a{color:var(--ok)} .prio.b{color:var(--brand-2)} .prio.c{color:var(--muted)}

.mtgs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px}
.mtg{border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:14px;padding:14px;text-align:left;display:flex;flex-direction:column;gap:6px}
.mtg[aria-pressed="true"]{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand) inset}
.mtg small{color:var(--muted)}
.mtg .tp{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.lbl{display:block;font-size:13px;font-weight:700;margin:4px 0 8px}
.tl{list-style:none;margin:0;padding:0;position:relative}
.tl::before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:var(--line)}
.tl li{position:relative;padding:0 0 14px 28px}
.tl li::before{content:"";position:absolute;left:0;top:4px;width:16px;height:16px;border-radius:50%;background:var(--surface);border:3px solid var(--brand-2)}
.tl li.done::before{background:var(--ok);border-color:var(--ok)}
.tl li.ev::before{background:var(--gold);border-color:var(--gold)}
.tl b{display:block}
.tl small{color:var(--muted)}
.rsvp{display:flex;gap:6px;flex-wrap:wrap}
.gform{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.gform input{flex:1 1 150px;min-width:0;font:inherit;padding:9px 11px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink)}
.gform.inl{margin:-4px 0 14px;align-items:center}
.gform.inl input{flex:1 1 180px;padding:7px 10px}
textarea{width:100%;font:inherit;font-size:14px;padding:10px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);resize:vertical}
#vars .chip{font-size:12px;padding:4px 10px}
.qrep{display:flex;flex-direction:column;gap:4px;align-self:flex-end;width:min(260px,92%)}
.qrep span{background:#fff;color:#1a73c9;text-align:center;border-radius:8px;padding:7px;font-size:13px;font-weight:600;box-shadow:0 1px 1px #0002}
.msg.in{align-self:flex-start;background:#fff;border-radius:10px 10px 10px 2px}
@media (max-width:900px){
  .mtgs{grid-template-columns:1fr}
  .hero .wrap,.grid2,.pay,.types{grid-template-columns:1fr}
  .stats,.kpis{grid-template-columns:1fr 1fr}
  .social,.sug{grid-template-columns:1fr 1fr}
  .panel{grid-template-columns:1fr}
  .side{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:10px max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px))}.side button,.side a.mod{white-space:nowrap}
  .main{padding:20px max(16px,env(safe-area-inset-right,0px)) 32px max(16px,env(safe-area-inset-left,0px))}
  .nav ul{display:none}
}
@media (max-width:560px){
  .social,.sug{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr 1fr;grid-auto-rows:120px}
  .ph:first-child{grid-column:span 2;grid-row:span 1}
}
@media (max-width:900px){
  .agenda,.mvv,.transp,.types{grid-template-columns:1fr}
  .mvv>div,.transp>div{border-right:0;border-bottom:1px solid var(--line)}
  .mvv>div:last-child,.transp>div:last-child{border-bottom:0}
  .type+.type{border-left:0;border-top:1px solid var(--line)}
  .people{grid-template-columns:1fr 1fr}
  .news{grid-template-columns:1fr 1fr}
  .hero-bar .wrap{grid-template-columns:1fr 1fr}
  .hero-bar div.k{border-right:0;padding-left:0!important}
  footer.site-f .wrap{grid-template-columns:1fr 1fr}
  .util .r,.lnk.hide-m{display:none}
}
@media (max-width:560px){.news{grid-template-columns:1fr}.hero-in{padding-block:48px 40px}}
/* ===== APARIENCIA + PANEL (barra lateral oscura, contenido blanco) ===== */
.btn{border:0;border-radius:10px;padding:10px 18px;font-weight:700;font-size:14.5px}
.btn-gold{background:var(--gold);color:#1a1300}
.btn-ghost{background:transparent;border:1.5px solid var(--line);color:var(--ink)}
.btn-brand{background:var(--brand);color:var(--surface)}
.av{width:58px;height:58px;border-radius:50%;margin:0 auto 8px;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:20px;background:var(--gold-soft);color:var(--warn)}
.theme{display:flex;border:1px solid var(--line);border-radius:999px;padding:2px}
.theme button{border:0;background:transparent;color:var(--muted);font-weight:600;font-size:13px;padding:5px 12px;border-radius:999px;display:flex;gap:6px;align-items:center}
.theme button svg{width:14px;height:14px}
.theme button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.side{background:var(--side-bg);border-right:0;padding:20px 12px;gap:2px}
.side .brand{display:flex;gap:10px;align-items:center;color:#fff;font-weight:700;padding:0 10px 16px;border-bottom:1px solid #ffffff14;margin-bottom:6px;font-size:14px;line-height:1.2}
.side .brand span{width:32px;height:32px;border-radius:50%;background:#fff;color:#0d3324;display:grid;place-items:center;font-size:12px;font-weight:800;flex:none}
.side .brand small{display:block;color:var(--side-mut);font-weight:500;font-size:11.5px}
.side .grp{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--side-mut);padding:14px 12px 6px}.side button,.side a.mod{color:var(--side-fg);padding:9px 12px}.side button:hover,.side a.mod:hover{background:var(--side-hi);color:#fff}.side button[aria-current="true"],.side a.mod[aria-current="true"]{background:var(--side-hi);color:#fff;box-shadow:inset 3px 0 0 var(--gold)}.side button .cnt,.side a.mod .cnt{margin-left:auto;font-size:11px;font-weight:700;background:var(--gold);color:#1a1300;border-radius:999px;padding:1px 7px}
.kpis.k3{grid-template-columns:repeat(3,1fr)}
.form{display:flex;flex-direction:column;gap:10px}
.form label,.cfg label{font-size:12.5px;color:var(--muted);display:flex;flex-direction:column;gap:4px;font-weight:600}
.form input,.cfg input{font:inherit;font-size:14px;padding:8px 10px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);width:100%}
.cfg{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.h3{font-size:17px;margin:6px 0 12px}
.scan{position:relative;aspect-ratio:1;width:220px;max-width:100%;margin:8px auto 12px;border-radius:18px;background:#0b1220;display:grid;place-items:center;overflow:hidden}
.scan .qrbox{background:#fff;padding:8px;border-radius:8px;line-height:0}
.scan i{position:absolute;width:34px;height:34px;border-color:var(--gold);border-style:solid;border-width:0}
.scan i:nth-child(1){top:14px;left:14px;border-top-width:3px;border-left-width:3px;border-top-left-radius:8px}
.scan i:nth-child(2){top:14px;right:14px;border-top-width:3px;border-right-width:3px;border-top-right-radius:8px}
.scan i:nth-child(3){bottom:14px;left:14px;border-bottom-width:3px;border-left-width:3px;border-bottom-left-radius:8px}
.scan i:nth-child(4){bottom:14px;right:14px;border-bottom-width:3px;border-right-width:3px;border-bottom-right-radius:8px}
.scan .ln{position:absolute;left:12%;right:12%;height:2px;background:var(--ok);box-shadow:0 0 12px var(--ok);top:50%}
@media (prefers-reduced-motion:no-preference){.scan .ln{animation:scan 2.4s ease-in-out infinite alternate}}
@keyframes scan{from{top:20%}to{top:80%}}
.lastread{text-align:center;font-size:14px;min-height:22px}
.vote{display:flex;flex-direction:column;gap:12px;margin:14px 0}
.vote .row{display:grid;grid-template-columns:96px 1fr 84px;gap:10px;align-items:center;font-size:14px}
.vote .row b{text-align:right;font-variant-numeric:tabular-nums}
.vote .track{height:12px;border-radius:6px;background:var(--surface-2);overflow:hidden}
.vote .track i{display:block;height:100%;border-radius:6px}
.chart svg{width:100%;height:auto;display:block}
.chart .lg{display:flex;gap:14px;font-size:12.5px;color:var(--muted);margin-bottom:6px}
.chart .lg span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px;background:var(--c)}
.mi{color:var(--ok);font-weight:700} .mo{color:var(--bad);font-weight:700}
.conv{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.conv .card{display:flex;flex-direction:column;gap:6px}
.conv .lg2{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:800}
.conv .big{font-family:var(--display);font-size:22px;font-weight:700}
.conv small{color:var(--muted)}
.recibo{border:1px dashed var(--line);border-radius:12px;padding:16px;background:var(--surface-2);font-size:13.5px}
.recibo .rh{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.recibo dl{display:grid;grid-template-columns:auto 1fr;gap:5px 14px;margin:12px 0 0}
.recibo dt{color:var(--muted)} .recibo dd{margin:0;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.recibo .tot{border-top:1px solid var(--line);margin-top:10px;padding-top:10px;display:flex;justify-content:space-between;font-weight:800;font-size:16px}
@media (max-width:900px){.conv,.cfg,.kpis.k3{grid-template-columns:1fr 1fr}.side .grp,.side .brand{display:none}}
@media (max-width:560px){.conv,.cfg{grid-template-columns:1fr}}

/* ===== PORTAL DEL SOCIO (misma identidad que el sitio público) ===== */
.pt{--pn:#12562a;--pg:#f2b705;font-family:"Source Sans 3","Segoe UI",system-ui,sans-serif;background:#f3f5f8;color:#14202f;min-height:80vh;font-size:15.5px}
.pt-head{background:var(--pn);color:#fff;border-bottom:4px solid var(--pg)}
.pt-head .m-w{display:flex;align-items:center;gap:14px;height:66px}
.pt-head .who{margin-left:auto;font-size:14px;opacity:.9;display:flex;gap:14px;align-items:center}
.pt-head .who button{all:unset;cursor:pointer;font-weight:700;color:var(--pg)}
.pt-login{max-width:420px;margin:56px auto;background:#fff;border-radius:14px;padding:28px;box-shadow:0 12px 32px #0d332418;display:flex;flex-direction:column;gap:12px}
.pt-login h2{font-family:"Montserrat",sans-serif;font-size:28px;line-height:1;color:var(--pn)}
.pt-login p{margin:0;color:#5d6878}
.pt-directiva{font-size:13px;color:#5d6878;text-align:center;border-top:1px solid #e6eaf0;padding-top:12px;margin-top:4px}
.pt-login label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:700;color:#5d6878}
.pt-login input{font:inherit;font-size:17px;padding:11px 13px;border:1.5px solid #d5dbe4;border-radius:10px;background:#fff;color:#14202f;letter-spacing:.04em}
.pt-btn{all:unset;box-sizing:border-box;cursor:pointer;text-align:center;background:var(--pn);color:#fff;border-radius:999px;padding:11px 18px;font-weight:700;font-size:14.5px}
.pt-btn:focus-visible{outline:3px solid var(--pg);outline-offset:2px}
.pt-btn.alt{background:#fff;color:var(--pn);box-shadow:inset 0 0 0 1.5px var(--pn)}
.pt-btn.ok{background:#1f8a4c}
.pt-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;padding-block:28px 56px}
.pt-hello{grid-column:1/-1;background:var(--pn);color:#fff;border-radius:14px;padding:24px 26px;display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}
.pt-hello h2{font-family:"Montserrat",sans-serif;font-size:32px;line-height:1;margin:2px 0}
.pt-hello span{color:#c9d4e6}
.pt-status{background:#1f8a4c;color:#fff!important;padding:7px 16px;border-radius:999px;font-weight:700;font-size:14px}
.pt-card{background:#fff;border-radius:14px;padding:20px;border:1px solid #e2e6ec;display:flex;flex-direction:column;gap:10px;min-width:0}
.pt-card h3{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:#5d6878;font-family:"Open Sans",sans-serif;font-weight:700;margin:0}
.pt-card .t{font-size:19px;font-weight:700;line-height:1.3}
.pt-card small{color:#5d6878}
.carne{grid-row:span 2;background:linear-gradient(155deg,#12562a,#1d7a3c);color:#fff;border:0;align-items:center;text-align:center}
.carne h3{color:var(--pg);align-self:flex-start}
.carne .qrw{background:#fff;padding:10px;border-radius:12px;line-height:0;margin:8px 0;display:grid;place-items:center}.carne .qrw svg{display:block;width:150px;height:150px}
.carne small{color:#c9d4e6}
.pt-row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #eef1f5;font-size:14.5px;align-items:center}
.pt-row:last-of-type{border-bottom:0}
.pt-row .pg{font-size:12px;font-weight:700;color:#1f8a4c}
.pt-row .pd{font-size:12px;font-weight:700;color:#b26b00}
.pt-vote{display:flex;gap:8px;flex-wrap:wrap}
.pt-vote .pt-btn{flex:1}
@media (max-width:900px){.pt-grid{grid-template-columns:1fr 1fr}.carne{grid-row:auto}}
@media (max-width:600px){.pt-grid{grid-template-columns:1fr}.pt-hello h2{font-size:26px}}

/* ===== SITIO PÚBLICO AGEEPU (colores del logo: verde, amarillo, azul; fondo blanco) ===== */
.sG{--g-verde:#1d7a3c;--g-verde-o:#12562a;--g-verde-xo:#0c3d1d;--g-amar:#f2b705;--g-azul:#1689c9;--g-rojo:#d6322e;
  --g-tinta:#1d2621;--g-gris:#5c6862;--g-linea:#dfe5e1;--g-suave:#f4f6f4;
  font-family:"Source Sans 3","Segoe UI",system-ui,sans-serif;color:var(--g-tinta);background:#fff;font-size:16.5px;line-height:1.6}
.sG h1,.sG h2,.sG h3,.sG h4{font-family:"Montserrat","Segoe UI",sans-serif;color:inherit;letter-spacing:-.01em;margin:0}
.g-w{max-width:1180px;margin:0 auto;padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}
.g-top{background:var(--g-verde-xo);color:#cfe0d4;font-size:13.5px}
.g-top .g-w{display:flex;gap:22px;align-items:center;padding-block:7px;flex-wrap:wrap}
.g-top a{color:#fff;font-weight:600;cursor:pointer}
.g-top .r{margin-left:auto;display:flex;gap:16px}
.g-head .g-w{display:flex;align-items:center;gap:16px;padding-block:16px}
.g-logo{display:flex;align-items:center;gap:12px;min-width:0}
.g-logo svg{flex:none}
.g-name{display:block;border-left:1px solid var(--g-linea);padding-left:14px;color:var(--g-verde-o);font-family:"Montserrat",sans-serif;font-weight:600;font-size:14px;line-height:1.35}
.g-logo b{display:block;font-family:"Montserrat",sans-serif;font-weight:800;font-size:24px;color:var(--g-verde);letter-spacing:.02em;line-height:1}
.g-logo small{display:block;color:var(--g-gris);font-size:13.5px;line-height:1.3;margin-top:3px;max-width:330px}
.g-acts{margin-left:auto;display:flex;gap:10px;flex:none}
.g-btn{font:inherit;font-weight:700;font-size:15px;border-radius:4px;padding:10px 18px;cursor:pointer;border:2px solid var(--g-verde);background:var(--g-verde);color:#fff;line-height:1.2}
.g-btn:hover{background:var(--g-verde-o);border-color:var(--g-verde-o)}
.g-btn.alt{background:#fff;color:var(--g-verde)}
.g-btn.alt:hover{background:var(--g-suave)}
.g-btn.amar{background:var(--g-amar);border-color:var(--g-amar);color:#1d2621}
.g-btn:focus-visible{outline:3px solid var(--g-azul);outline-offset:2px}
.g-nav{background:var(--g-verde)}
.g-nav .g-w{display:flex;gap:2px;flex-wrap:wrap}
.g-nav a{color:#fff;font-weight:600;font-size:15px;padding:13px 14px;cursor:pointer;border-bottom:3px solid transparent}
.g-nav a:hover{background:#ffffff14}
.g-nav a.on{border-bottom-color:var(--g-amar)}
.g-burger{all:unset;display:none;cursor:pointer;color:#fff;padding:12px 4px;font-weight:700;align-items:center;gap:8px}
.gph{position:relative;background:#e3e9e5 repeating-linear-gradient(135deg,transparent 0 13px,#ffffff66 13px 14px);display:grid;place-items:center;color:#8a978f;overflow:hidden}
.gph svg{width:42px;height:42px;opacity:.7}
.gph .cap{position:absolute;left:10px;bottom:8px;right:10px;font-size:12px;color:#5c6862;background:#ffffffd9;padding:3px 8px;border-radius:3px;width:max-content;max-width:calc(100% - 20px)}
.gph.osc{background:#34433a repeating-linear-gradient(135deg,transparent 0 13px,#ffffff0d 13px 14px);color:#7f9387}
.g-hero{position:relative;background:#12562a;overflow:hidden}
.g-heroimg{display:block;width:100%;height:clamp(520px,72vh,720px);object-fit:cover;object-position:center 35%}
@media (max-width:640px){.g-heroimg{height:340px}}
.g-hero .gph{height:clamp(520px,72vh,720px)}
.g-hero .gph .cap{left:auto;right:12px;top:12px;bottom:auto}
.g-cap{position:absolute;left:0;right:0;bottom:36px}
.g-card{background:#fff;max-width:560px;padding:24px 28px;border-top:5px solid var(--g-amar);box-shadow:0 8px 24px #0c3d1d26}
.g-card .k{font-size:13.5px;font-weight:700;color:var(--g-verde)}
.g-card h1{font-size:clamp(24px,3vw,32px);line-height:1.2;margin:6px 0 8px;font-weight:700}
.g-card p{margin:0;color:var(--g-gris)}
.g-card .m-ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.g-tabs{border-bottom:1px solid var(--g-linea);background:#fff}
.g-tabs .m-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.g-tabs .m-tab{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:14px 16px;font-size:14.5px;font-weight:600;color:var(--g-gris);border-right:1px solid var(--g-linea);position:relative}
.g-tabs .m-tab:last-child{border-right:0}
.g-tabs .m-tab .bar{position:absolute;left:0;right:0;top:0;height:3px;background:var(--g-linea);overflow:hidden}
.g-tabs .m-tab .bar i{position:absolute;inset:0;background:var(--g-verde);transform:scaleX(0);transform-origin:left}
.g-tabs .m-tab[aria-selected="true"]{color:var(--g-tinta);background:var(--g-suave)}
.g-tabs .m-tab[aria-selected="true"] .bar i{transform:scaleX(1)}
.g-tabs .m-tab.run .bar i{animation:mbar 7s linear forwards}
.g-tabs .m-tab:focus-visible{outline:3px solid var(--g-azul);outline-offset:-3px}
.g-sec{padding-block:56px}
.g-sec.gris{background:var(--g-suave)}
.g-t{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:26px}
.g-t h2{font-size:26px;font-weight:700;padding-bottom:10px;position:relative}
.g-t h2::after{content:"";position:absolute;left:0;bottom:0;width:56px;height:4px;background:var(--g-amar)}
.g-more{color:var(--g-azul);font-weight:700;cursor:pointer;font-size:15px}
.g-more:hover{text-decoration:underline}
.g-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:-28px;position:relative;z-index:2}
.g-q{all:unset;box-sizing:border-box;cursor:pointer;background:#fff;border:1px solid var(--g-linea);border-radius:4px;padding:18px;display:flex;gap:14px;align-items:center;box-shadow:0 4px 14px #0c3d1d14}
.g-q:hover{border-color:var(--g-verde)}
.g-q:focus-visible{outline:3px solid var(--g-azul)}
.g-q .ic{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;flex:none;color:#fff}
.g-q .ic svg{width:22px;height:22px}
.g-q b{display:block;font-size:16px}
.g-q small{color:var(--g-gris);font-size:14px}
.g-news{display:grid;grid-template-columns:1.25fr 1fr;gap:32px}
.g-big .gph,.gimg{aspect-ratio:16/10;max-width:100%;width:100%;border-radius:4px;object-fit:cover;display:block}
.gimg.gli{aspect-ratio:4/3}
.g-meta{font-size:13.5px;color:var(--g-gris);margin:12px 0 4px}
.g-meta b{color:var(--g-verde)}
.g-big h3{font-size:22px;line-height:1.3;font-weight:700}
.g-big p{margin:8px 0 0;color:var(--g-gris)}
.g-list{display:flex;flex-direction:column;gap:18px}
.g-li{display:grid;grid-template-columns:130px 1fr;gap:16px;cursor:pointer}
.g-li .gph{aspect-ratio:4/3;max-width:100%;border-radius:4px}
.g-li .gph svg{width:26px;height:26px}
.g-li h4{font-size:16px;line-height:1.35;font-weight:700}
.g-li:hover h4,.g-big:hover h3{color:var(--g-verde)}
.g-ag{border:1px solid var(--g-linea);border-radius:4px;background:#fff}
.g-row{display:grid;grid-template-columns:84px 1fr auto;gap:20px;align-items:center;padding:16px 20px;border-bottom:1px solid var(--g-linea)}
.g-row:last-child{border-bottom:0}
.g-row .d{text-align:center;border:1px solid var(--g-linea);border-radius:4px;overflow:hidden}
.g-row .d span{display:block;background:var(--g-verde);color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;padding:2px 0}
.g-row .d b{display:block;font-family:"Montserrat",sans-serif;font-size:24px;padding:2px 0 4px}
.g-row h3{font-size:17px;font-weight:700}
.g-row small{color:var(--g-gris);font-size:14.5px}
.g-2{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.g-docs{display:flex;flex-direction:column}
.g-doc{display:grid;grid-template-columns:40px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--g-linea)}
.g-doc .pdf{width:36px;height:44px;border:1.5px solid var(--g-rojo);border-radius:3px;color:var(--g-rojo);font-size:10px;font-weight:800;display:grid;place-items:end center;padding-bottom:5px}
.g-doc b{display:block;font-size:15.5px;line-height:1.35}
.g-doc small{color:var(--g-gris)}
.g-doc a{color:var(--g-azul);font-weight:700;cursor:pointer;font-size:14.5px}
.g-junta{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.g-p{background:#fff;border:1px solid var(--g-linea);border-radius:4px;padding:16px;text-align:center}
.g-p .gph{width:96px;height:96px;border-radius:50%;margin:0 auto 10px}
.g-p .gph svg{width:30px;height:30px}
.g-p b{display:block;font-size:15.5px}
.g-p small{color:var(--g-gris)}
.g-cifras{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--g-linea);border-radius:4px;background:#fff}
.g-cifras div{padding:18px 20px;border-right:1px solid var(--g-linea)}
.g-cifras div:last-child{border-right:0}
.g-cifras b{display:block;font-family:"Montserrat",sans-serif;font-size:26px;color:var(--g-verde)}
.g-cifras span{color:var(--g-gris);font-size:14.5px}
.g-afil{background:var(--g-verde);color:#fff}
.g-afil .g-w{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:34px;flex-wrap:wrap}
.g-afil h2{font-size:24px;font-weight:700}
.g-afil p{margin:6px 0 0;color:#d6eadb}
.g-foot{background:var(--g-verde-xo);color:#bcd0c2;font-size:15px;border-top:4px solid var(--g-amar)}
.g-foot .g-w{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:28px;padding-block:44px 22px}
.g-foot h4{color:#fff;font-size:15px;margin:0 0 12px}
.g-foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.g-foot li{cursor:pointer}.g-foot li:hover{color:#fff}
.g-foot .lg b{color:#fff}
.g-foot .legal{grid-column:1/-1;border-top:1px solid #ffffff1f;padding-top:16px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13.5px;color:#8fa898}
@media (max-width:1000px){
  .g-nav a{display:none}.g-burger{display:flex}
  .g-name{display:none}
  .g-quick{grid-template-columns:1fr 1fr}.g-news,.g-2{grid-template-columns:1fr}.g-junta{grid-template-columns:1fr 1fr}
  .g-cifras{grid-template-columns:1fr 1fr}.g-cifras div:nth-child(2){border-right:0}.g-cifras div:nth-child(-n+2){border-bottom:1px solid var(--g-linea)}
  .g-foot .g-w{grid-template-columns:1fr 1fr}.g-tabs .m-tabs{grid-template-columns:1fr 1fr}
  .g-tabs .m-tab:nth-child(2){border-right:0}
}
@media (max-width:640px){
  .g-acts .g-btn.alt,.g-top .r{display:none}
  .g-hero .gph{height:340px}.g-cap{position:static}.g-card{max-width:none;box-shadow:none;border-left:0;border-right:0}
  .g-cap .g-w{padding:0}
  .g-quick{grid-template-columns:1fr;margin-top:16px}.g-junta{grid-template-columns:1fr 1fr}
  .g-row{grid-template-columns:64px 1fr}.g-row .g-btn{grid-column:2;justify-self:start}
  .g-li{grid-template-columns:96px 1fr}.g-foot .g-w{grid-template-columns:1fr}
}
/* ===== BARRA SUPERIOR DEL PANEL, USUARIOS E INGRESO ===== */
.ptop{display:flex;align-items:center;gap:12px;margin:-6px 0 18px;padding-bottom:12px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.ptop-t{font-size:13px;color:var(--muted);font-weight:600;margin-right:auto}
.yo{display:flex;align-items:center;gap:8px;font-size:13.5px;line-height:1.2}
.yo small{display:block;color:var(--muted);font-size:12px}
.yo-av{width:34px;height:34px;border-radius:50%;background:var(--brand);color:var(--surface);display:grid;place-items:center;font-weight:700;font-size:13px}
.ptop-out{padding:7px 14px;font-size:13.5px}
.us-abajo{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:1100px){.us-abajo{grid-template-columns:1fr}}
.matriz td{text-align:center}.matriz td:first-child,.matriz th:first-child{text-align:left}
.si{color:var(--ok);font-weight:800}.no{color:var(--line)}
.ed-car{display:flex;flex-direction:column;gap:6px}.ed-car[hidden]{display:none}
.car-sug{display:flex;flex-wrap:wrap;gap:6px}.car-sug .chip{font-size:12.5px;padding:4px 10px}
.ver-datos{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;text-align:left;margin:14px 0 4px;font-size:14.5px;border-top:1px solid #e6eaf0;padding-top:12px}
.ver-datos dt{color:#5d6878;font-weight:600}.ver-datos dd{margin:0;color:#14202f;font-weight:600}
.ver-datos dd small{display:block;color:#5d6878;font-weight:500}
.ver-hora{margin-top:10px;font-size:12.5px;color:#5d6878;text-align:center}.ver-hora b{color:#12562a}
/* v36: mis datos en el portal */
.md-form{--pn:#12562a;width:min(560px,100%);display:flex;flex-direction:column;gap:10px;font-family:"Source Sans 3",system-ui,sans-serif;background:#fff!important;color:#14202f}
.md-form label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:700;color:#5d6878}
.md-form input{font:inherit;font-size:16px;padding:10px 12px;border:1.5px solid #d5dbe4;border-radius:10px;background:#fff;color:#14202f}
.md-form .note,.md-form small{color:#5d6878}.md-form .lbl{color:#14202f;font-weight:700;font-size:14px}
.md-form .chip{background:#fff;color:#14202f;border-color:#d5dbe4}.md-form .chip[aria-pressed="true"]{background:#12562a;color:#fff;border-color:#12562a}
@media (max-width:560px){.md-form .cfg{grid-template-columns:1fr!important}}
/* v35: pago personalizado */
.pp-w{max-width:560px;padding-top:24px;padding-bottom:28px}
#pg.pp-w .pt-card{margin-bottom:14px}
.pp-monto{display:flex;flex-direction:column}.pp-monto b{font-family:Montserrat,sans-serif;font-size:36px;color:#14202f;line-height:1.15}.pp-monto span{color:#5d6878}
.pp-grande{font-size:18px;padding:15px}
.pp-cuota{display:flex;flex-direction:column;gap:6px;padding:12px 0;border-bottom:1px solid #eef1f5}.pp-cuota:last-of-type{border-bottom:0}
.pp-c1{display:flex;justify-content:space-between;gap:10px;font-size:15.5px;color:#14202f}
.pp-cuota .pd{color:#b42318;font-weight:600;font-size:13px}.pp-cuota .pp-fila{align-self:stretch;padding:10px 14px;font-size:14.5px}
/* v34: encuadre de las fotos de la portada */
.enc-subir{display:flex;flex-direction:column;align-items:center;gap:2px;border:2px dashed var(--line);border-radius:12px;padding:16px;text-align:center;cursor:pointer;color:var(--ink);font-size:14px}
.enc-subir small{color:var(--muted);font-size:12.5px}.enc-subir.sobre{border-color:var(--brand);background:var(--gold-soft)}
#encTodo{display:flex;flex-direction:column;gap:10px}#encTodo[hidden]{display:none}
.enc-cab{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.enc{position:relative;overflow:hidden;border-radius:12px;background:#0b2a17;cursor:grab;touch-action:none;user-select:none;aspect-ratio:2.22/1}
.enc[data-v="cel"]{aspect-ratio:1.1/1;max-width:300px;margin-inline:auto;width:100%}
.enc:active{cursor:grabbing}
.enc img,.enc-m img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.enc-tarjeta{position:absolute;left:6%;bottom:9%;width:36%;background:#fffffff2;border-top:3px solid #f2d417;padding:6px 8px;display:flex;flex-direction:column;gap:3px;pointer-events:none}
.enc-tarjeta i{display:block;height:4px;width:40%;background:#1e6c38;opacity:.7;border-radius:2px}
.enc-tarjeta b{font-family:Montserrat,sans-serif;font-size:11px;color:#14202f;line-height:1.1}
.enc-tarjeta span{display:block;height:4px;width:80%;background:#cfd6df;border-radius:2px}
.enc-tarjeta em{display:block;height:9px;width:28%;background:#1e6c38;border-radius:2px}
.enc[data-v="cel"] .enc-tarjeta{display:none}
.enc-ayuda{position:absolute;right:8px;top:8px;background:#0009;color:#fff;font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:999px;pointer-events:none}
.enc-ctrl{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.enc-ctrl label{display:flex;flex-direction:row;align-items:center;gap:8px;flex:1;min-width:180px;font-size:13px;font-weight:600}
.enc-ctrl input[type=range]{flex:1;accent-color:var(--brand)}
.modal .box.enc-box{width:min(1100px,100%);display:flex;flex-direction:column;gap:12px}
.enc-box .enc[data-v="cel"]{max-width:420px}
.enc-box .enc-tarjeta{padding:14px 18px;gap:6px}.enc-box .enc-tarjeta b{font-size:17px}.enc-box .enc-tarjeta i,.enc-box .enc-tarjeta span{height:8px}.enc-box .enc-tarjeta em{height:22px}
.enc-mini{display:grid;grid-template-columns:2fr 1fr;gap:10px;align-items:end}.enc-mini small{color:var(--muted);font-size:12px}
.enc-m{position:relative;overflow:hidden;border-radius:8px;background:#0b2a17;aspect-ratio:2.22/1;margin-top:4px}.enc-m.cel{aspect-ratio:1.1/1}
.enc-m .enc-tarjeta{padding:3px 4px;gap:2px}.enc-m .enc-tarjeta b{font-size:7px}
/* v32: ingreso único, bienvenida del enlace y Accesos al portal */
.un-msg{margin:4px 0 0;color:#14202f;font-weight:600}
.un-otro{font-size:13px;color:#5d6878;text-align:center;text-decoration:underline}
.ac-w{max-width:560px;padding-top:24px;padding-bottom:40px}
.ac-cred,.ac-tg,.ac-ok{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.ac-fila{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1.5px solid #d5dbe4;border-radius:10px}
.ac-fila span{display:flex;flex-direction:column}.ac-fila small{color:#5d6878;font-size:12.5px}.ac-fila b{font-size:20px;letter-spacing:.04em}
.ac-fila .mono{font-family:ui-monospace,Menlo,monospace}
.ac-copiar{padding:7px 14px;font-size:14px;flex:none}
.ac-pasos{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px}
.ac-tiendas{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap}.ac-tiendas .pt-btn{padding:5px 12px;font-size:13px}
.ac-grande{font-size:18px;padding:15px;text-align:center}
.ac-norma{color:#12562a}
.ac-luego{font-size:13px;color:#5d6878;text-align:center;text-decoration:underline}
.ac-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.ac-kpis b{display:block;font-size:28px;margin:6px 0 2px}.ac-kpis small{color:var(--muted)}
@media (max-width:900px){.ac-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ac-barra{height:8px;border-radius:99px;background:var(--line);overflow:hidden;margin-top:8px}.ac-barra i{display:block;height:100%;background:var(--brand)}
.pill.espera{background:var(--gold-soft);color:var(--ink)}
.wa-burbuja{background:#dcf8c6;color:#111b21;border-radius:10px 10px 10px 2px;padding:12px 14px;font-size:14.5px;line-height:1.5;white-space:pre-line}
/* v31: niveles de acceso */
.matriz th,.matriz td{padding-left:6px;padding-right:6px}
.niveles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
@media (max-width:1100px){.niveles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.niveles{grid-template-columns:1fr}}
.nivel b{display:block;margin:8px 0 4px}.nivel p{margin:0;color:var(--muted);font-size:13.5px}
.nv-t{display:inline-block;font-size:11.5px;font-weight:800;padding:2px 9px;border-radius:999px;letter-spacing:.02em;white-space:nowrap}
.nv-t.sa{background:var(--ink);color:var(--surface)}.nv-t.ad{background:var(--brand);color:var(--surface)}
.nv-t.cg{border:1px solid var(--line);color:var(--ink)}.nv-t.mb{background:var(--gold-soft);color:var(--ink)}
.ingreso{display:grid;place-items:center;padding:48px 16px;background:#eef2ef}
.ing-card{width:min(420px,100%);background:#fff;border-radius:14px;border-top:5px solid #f2d417;box-shadow:0 12px 32px #12562a1f;padding:30px 30px 24px;text-align:center}
.ing-logo{display:flex;justify-content:center;margin-bottom:8px}
.ing-card h2{font-family:"Montserrat",sans-serif;font-size:24px;color:#12562a;margin:4px 0 2px}
.ing-card>p{margin:0 0 18px;color:#5d6878}
.ing-form{display:flex;flex-direction:column;gap:12px;text-align:left}
.ing-form label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:700;color:#5d6878}
.ing-form input{font:inherit;font-size:17px;padding:11px 13px;border:1.5px solid #d5dbe4;border-radius:10px;background:#fff;color:#14202f;letter-spacing:.04em}
.ing-form input:focus-visible{outline:3px solid #f2d417;outline-offset:1px;border-color:#12562a}
.ing-err{margin:0;color:#c0392b;font-size:14px;font-weight:600}
.ing-ayuda{font-size:13.5px;color:#5d6878;margin:16px 0 0}
.ing-pie{font-size:12px;color:#8a978f;margin:18px 0 0;border-top:1px solid #e2e6ec;padding-top:12px}
/* ===== FASE 2: SOCIOS, FICHA, FOTO Y CARNÉ ===== */
.subnav{margin-bottom:16px}
.cnt2{margin-left:6px;font-size:11px;font-weight:700;background:var(--gold);color:#1a1300;border-radius:999px;padding:1px 7px}
.tsoc tbody tr{cursor:pointer}.tsoc tbody tr:hover td{background:var(--surface-2)}
.av-s{width:34px;height:34px;border-radius:50%;display:inline-grid;place-items:center;font-weight:700;font-size:12.5px;background:var(--surface-2);color:var(--muted);vertical-align:middle;margin-right:10px;overflow:hidden}
.av-s img{width:100%;height:100%;object-fit:cover}
.volver{padding:7px 14px;font-size:13.5px;margin-bottom:14px}
.ficha{display:grid;grid-template-columns:240px minmax(0,1fr) 300px;gap:16px;align-items:start}
.ficha-foto{display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center}
.fot{width:200px;height:200px;max-width:100%;border-radius:16px;background:var(--surface-2);display:grid;place-items:center;color:var(--muted);font-size:13px;overflow:hidden}
.fot img{width:100%;height:100%;object-fit:cover}
.fot b{display:block;font-size:44px;color:var(--brand);font-family:var(--display)}
.datos{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:12px 0 0;font-size:14px}
.datos dt{color:var(--muted)}.datos dd{margin:0;font-weight:600}
.aviso-mano{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--warn-soft);color:var(--warn);border-radius:10px;padding:10px 12px;font-size:13.5px;font-weight:600;margin-top:6px}
.carne-p{max-width:300px;margin-inline:auto;background:linear-gradient(155deg,#12562a,#1d7a3c);color:#fff;border-radius:14px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;margin-top:10px;border-top:4px solid #f2d417}
.carne-p .cab{display:flex;align-items:center;gap:8px;align-self:stretch;justify-content:center;font-weight:800;letter-spacing:.06em;font-size:13px}
.carne-p .cf{width:92px;height:92px;border-radius:12px;background:#ffffff26;overflow:hidden;display:grid;place-items:center;font-weight:800;font-size:28px}
.carne-p .cf img{width:100%;height:100%;object-fit:cover}
.carne-p .qr2{background:#fff;padding:8px;border-radius:10px;line-height:0;display:grid;place-items:center}.carne-p .qr2 svg{display:block;width:120px;height:120px}
.carne-tipo{background:#f2d417;color:#14202f;font-weight:800;font-size:13px;padding:3px 12px;border-radius:999px}
.carne-acc{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:12px}
.carne-p small{color:#cfe3d5}
.reglas td,.reglas th{text-align:center}.reglas td:first-child,.reglas th:first-child{text-align:left;white-space:normal}
.sino{display:inline-flex;border:1.5px solid var(--line);border-radius:999px;overflow:hidden}
.sino button{border:0;background:transparent;color:var(--muted);font-weight:700;font-size:12.5px;padding:4px 12px}
.sino button[aria-pressed="true"]{background:var(--brand);color:var(--surface)}
.fbox{width:min(680px,100%)}
.ejemplos{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:10px}
.ej{border:2px solid var(--line);border-radius:12px;padding:8px;text-align:center;font-size:12.5px;font-weight:600;background:var(--surface)}
.ej svg{width:100%;height:auto;border-radius:8px;display:block;margin-bottom:6px}
.ej.si{border-color:var(--ok);grid-row:span 2;display:flex;flex-direction:column;justify-content:center;font-size:14px}
.ej.si small{font-size:12.5px}
.ej.si b{color:var(--ok)}
.ej.no b{color:var(--bad)}
.ej small{display:block;color:var(--muted);font-weight:500;margin-top:2px}
.recorte{display:grid;grid-template-columns:280px 1fr;gap:18px;margin-top:12px}
.rc-marco{width:280px;height:280px;max-width:100%;border-radius:14px;overflow:hidden;position:relative;background:#111;cursor:grab;touch-action:none}
.rc-marco img{position:absolute;left:0;top:0;user-select:none;-webkit-user-drag:none;max-width:none}
.rc-lado{display:flex;flex-direction:column;gap:8px}
.rc-lado label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:var(--muted)}
.rc-lado input[type=range]{accent-color:var(--brand)}
.rc-prev{display:flex;gap:12px;align-items:center}
.rc-av{width:96px;height:96px;border-radius:12px;background:#ddd center/cover no-repeat}
.rc-av.chico{width:40px;height:40px;border-radius:50%}
.probl{margin:0;padding-left:18px}.probl li{margin:3px 0}
.afi{display:grid;place-items:center;padding:40px 16px;background:#eef2ef}
.afi .ing-card{width:min(460px,100%)}
.verif .ing-card{width:min(400px,100%)}
.ver-ok{display:flex;flex-direction:column;align-items:center;gap:8px;margin:6px 0 4px}
.ver-ok .cf{width:110px;height:110px;border-radius:14px;background:#eef2ef;display:grid;place-items:center;font-size:34px;font-weight:800;color:#12562a;overflow:hidden}
.sello{display:inline-flex;gap:6px;align-items:center;background:#e3f4ea;color:#1f8a4c;font-weight:800;border-radius:999px;padding:6px 14px}
@media (max-width:1200px){.ficha{grid-template-columns:240px minmax(0,1fr)}.ficha>.card:last-child{grid-column:1/-1}}
@media (max-width:760px){.ficha,.recorte{grid-template-columns:1fr}.ejemplos{grid-template-columns:1fr 1fr}.ej.si{grid-row:auto}}
/* ===== FASE 3: PÁGINAS INTERIORES DEL SITIO Y ADMINISTRACIÓN ===== */
.g-pagehead{background:var(--g-suave);border-bottom:1px solid var(--g-linea)}
.g-pagehead .g-w{padding-block:22px 20px}
.g-miga{font-size:14px;color:var(--g-gris)}
.g-miga a{color:var(--g-azul);cursor:pointer;font-weight:600}
.g-pagehead h1{font-family:"Montserrat",sans-serif;font-size:clamp(26px,3.4vw,34px);font-weight:700;margin-top:6px;padding-bottom:10px;position:relative}
.g-pagehead h1::after{content:"";position:absolute;left:0;bottom:0;width:56px;height:4px;background:var(--g-amar)}
.g-filtro{margin-bottom:22px}
.g-filtro .chip{border-color:var(--g-linea);background:#fff;color:var(--g-tinta)}
.g-filtro .chip[aria-pressed="true"]{background:var(--g-verde);border-color:var(--g-verde);color:#fff}
.g-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.g-nota{cursor:pointer;display:flex;flex-direction:column}
.g-nota .gimg{aspect-ratio:16/10}
.g-nota h3{font-size:18px;line-height:1.3;font-weight:700}
.g-nota p{margin:6px 0 0;color:var(--g-gris);font-size:15px}
.g-nota:hover h3{color:var(--g-verde)}
.g-pag{display:flex;gap:8px;justify-content:center;margin-top:30px}
.g-pag span{border:1px solid var(--g-linea);border-radius:4px;padding:6px 12px;cursor:pointer;font-weight:600}
.g-pag span.on{background:var(--g-verde);border-color:var(--g-verde);color:#fff}
.g-art{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;align-items:start}
.g-art h1{font-family:"Montserrat",sans-serif;font-size:clamp(24px,3vw,32px);line-height:1.25;font-weight:700;margin:0 0 18px}
.g-art article>.gimg{margin-bottom:18px}
.g-texto{font-size:17.5px;line-height:1.7;max-width:68ch}
.g-texto p{margin:0 0 14px}
.g-galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin:18px 0}
.g-galeria img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px;display:block}
.g-red{display:flex;gap:16px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--g-linea);padding-top:16px;margin-top:8px}
.g-comp{color:var(--g-gris);font-size:15px}.g-comp a{color:var(--g-azul);font-weight:700;cursor:pointer}
.g-asidet{font-family:"Montserrat",sans-serif;font-size:17px;font-weight:700;margin:0 0 14px;padding-bottom:8px;border-bottom:3px solid var(--g-amar);display:inline-block}
.g-h2{font-family:"Montserrat",sans-serif;font-size:22px;font-weight:700;margin:0 0 14px}
.g-pasadas .d span{background:var(--g-gris)}
.g-pasadas h3{color:var(--g-gris)}
.g-ag a{color:var(--g-azul);font-weight:700;cursor:pointer}
.g-buscar input{width:100%;font:inherit;font-size:16px;padding:12px 14px;border:1.5px solid var(--g-linea);border-radius:4px;margin-bottom:10px}
.g-consul{display:flex;gap:10px;flex-wrap:wrap}
.g-consul span{border:1px solid var(--g-linea);border-radius:4px;padding:10px 16px;font-weight:600;background:#fff}
.g-p2{color:var(--g-gris);margin:-6px 0 14px}
.g-p .gimg2{width:96px;height:96px;border-radius:50%;object-fit:cover;display:block;margin:0 auto 10px}
.g-mv{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:10px}
.g-mv div{background:var(--g-suave);border-left:4px solid var(--g-verde);padding:16px 18px;border-radius:4px}
.g-mv h3{font-size:17px;margin-bottom:6px}.g-mv p{margin:0;color:var(--g-gris)}
.g-datos{border:1px solid var(--g-linea);border-radius:4px;padding:20px}
.g-datos dl{margin:0 0 16px;display:flex;flex-direction:column;gap:2px}
.g-datos dt{font-size:13px;color:var(--g-gris);margin-top:8px}.g-datos dd{margin:0;font-weight:600}
.g-contacto{display:flex;flex-direction:column;gap:18px}
.g-contacto>div{display:flex;gap:14px;align-items:flex-start}
.g-contacto .ic{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;flex:none}
.g-contacto .ic svg{width:22px;height:22px}
.g-contacto b{display:block;font-family:"Montserrat",sans-serif}
.g-contacto a{display:block;color:var(--g-azul);font-weight:700;cursor:pointer;margin-top:2px}
.g-afil-box{background:var(--g-verde);color:#fff;border-radius:4px;padding:28px;border-top:5px solid var(--g-amar)}
.g-afil-box h2{font-size:22px;font-weight:700}.g-afil-box p{color:#d6eadb}
.sw-foto{display:flex;gap:12px;align-items:center}
.sw-foto img{width:120px;height:70px;object-fit:cover;border-radius:8px;background:var(--surface-2)}
.sw-fotos{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.sw-add{border:2px dashed var(--line);border-radius:10px;padding:14px 18px;font-weight:700;color:var(--brand);cursor:pointer}
.sw-dest{display:grid;grid-template-columns:auto 96px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer}
.sw-dest[aria-current="true"]{border-color:var(--brand)}
.sw-dest img{width:96px;height:56px;object-fit:cover;border-radius:6px}
.sw-dest .ord{display:flex;flex-direction:column;gap:2px}
.sw-dest .ord button{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:6px;width:26px;height:22px;font-size:11px;padding:0}
.sw-dest b{display:block;font-size:14px}.sw-dest small{color:var(--muted)}
.sw-docs .g-doc{grid-template-columns:40px 1fr auto}
.sw-docs .g-doc b{color:var(--ink)}.sw-docs .g-doc small{color:var(--muted)}
.junta-ed{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.jfila{display:grid;grid-template-columns:200px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border:1.5px solid var(--line);border-radius:12px}
.jfila input{font:inherit;font-size:14px;padding:8px 10px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);width:100%}
.jsoc{display:flex;gap:10px;align-items:center;position:relative}
.jsoc .sug{position:absolute;top:100%;left:0;right:0;z-index:5;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 20px #0002;margin-top:4px}
.jsoc .sug button{display:flex;gap:10px;align-items:center;width:100%;border:0;background:transparent;color:var(--ink);padding:8px 10px;text-align:left}
.jsoc .sug button:hover{background:var(--surface-2)}
@media (max-width:1000px){.g-grid3{grid-template-columns:1fr 1fr}.g-art{grid-template-columns:1fr}}
@media (max-width:640px){.g-grid3,.g-mv{grid-template-columns:1fr}.jfila{grid-template-columns:1fr}.sw-dest{grid-template-columns:auto 72px minmax(0,1fr)}}
/* ===== VALIDACIÓN DE IDENTIDAD CON NUDGE ===== */
.dnirow{display:flex;gap:8px;align-items:stretch}
.dnirow input{flex:1;min-width:0;font:inherit;font-size:16px;letter-spacing:.06em;padding:9px 12px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink)}
.nres{font-size:14px;padding:11px 13px;border-radius:10px;background:var(--surface-2);color:var(--muted);display:flex;gap:10px;align-items:center;min-height:44px}
.nres b{color:var(--ink);font-size:15.5px}
.nres.ok{background:var(--ok-soft);color:var(--ok)}
.nres.no{background:var(--warn-soft);color:var(--warn)}
.nres .src{margin-left:auto;font-size:11.5px;font-weight:700;letter-spacing:.04em;white-space:nowrap}
.nudge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--ok);background:var(--ok-soft);padding:3px 9px;border-radius:999px}
.nudge.pend{color:var(--warn);background:var(--warn-soft)}
.pasos{margin:8px 0 0;padding-left:20px;color:var(--muted);font-size:14px}
.pasos li{margin-bottom:6px}
.pasos b{color:var(--ink)}
/* ===== CARTAS Y OFICIOS ===== */
.ofi{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:16px;align-items:start}
.form textarea{font:inherit;font-size:14.5px;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);resize:vertical;width:100%}
.dict{display:flex;gap:12px;align-items:center;background:var(--surface-2);border-radius:12px;padding:10px 12px}
.micbtn{width:50px;height:50px;border-radius:50%;border:0;background:var(--bad);color:#fff;display:grid;place-items:center;flex:none}
.micbtn svg{width:22px;height:22px}
.micbtn.on{box-shadow:0 0 0 6px var(--bad-soft)}
@media (prefers-reduced-motion:no-preference){.micbtn.on{animation:latido 1.2s ease-in-out infinite}}
@keyframes latido{50%{box-shadow:0 0 0 11px var(--bad-soft)}}
.micst{font-size:13.5px;color:var(--muted);display:block}
.wave{display:inline-flex;gap:3px;align-items:center;height:18px;margin-top:4px}
.wave i{width:3px;height:6px;background:var(--bad);border-radius:2px}
@media (prefers-reduced-motion:no-preference){.wave i{animation:onda .9s ease-in-out infinite}.wave i:nth-child(2){animation-delay:.15s}.wave i:nth-child(3){animation-delay:.3s}.wave i:nth-child(4){animation-delay:.45s}.wave i:nth-child(5){animation-delay:.6s}}
@keyframes onda{50%{height:18px}}
.hoja{background:#fff;color:#1d2621;font-family:Arial,"Helvetica Neue",sans-serif;font-size:13.5px;line-height:1.55;padding:34px 40px 40px;border:1px solid var(--line);box-shadow:0 6px 20px #0002;min-height:640px}
.hoja p{margin:0 0 10px}
.hoja .memb{display:flex;gap:12px;align-items:center;border-bottom:2px solid #1d7a3c;padding-bottom:10px;margin-bottom:6px}
.hoja .memb b{display:block;font-size:17px;color:#1d7a3c;letter-spacing:.03em}
.hoja .memb span{display:block;font-size:11.5px;color:#5c6862}
.hoja .memb span:first-child{font-size:13px;font-weight:700;color:#1e6c38}
.hoja .anio{text-align:center;font-style:italic;font-size:11.5px;color:#5c6862}
.hoja .der{text-align:right}
.hoja .num{font-weight:700;text-decoration:underline}
.hoja #hDest{white-space:pre-line}
.hoja .asu{border-collapse:collapse;margin:0 0 14px;font-size:13.5px;width:auto}
.hoja .asu td{padding:1px 6px 1px 0;border:0;white-space:normal;vertical-align:top}
.hoja .asu td:first-child{font-weight:700;width:60px}
.hoja .cuerpo{white-space:pre-wrap;text-align:justify;margin-bottom:14px;min-height:120px}
.hoja .cuerpo.vacio{color:#9aa59f;font-style:italic;text-align:left}
.hoja .firma{margin-top:56px;text-align:center;display:flex;flex-direction:column;align-items:center}
.hoja .firma span{width:220px;border-top:1px solid #1d2621;margin-bottom:4px}
.hoja .firma small{color:#5c6862}
@media (max-width:1000px){.ofi{grid-template-columns:1fr}}
@media (max-width:560px){.hoja{padding:22px 18px}}

/* ===== OPCIONES DE DISEÑO: dos sitios completos (paleta propia y fija, son vistas previas) ===== */
.opt-bar{background:var(--surface);border-bottom:1px solid var(--line)}
.opt-bar .wrap{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding-block:12px}
.opt-bar p{margin:0 auto 0 0;color:var(--muted);font-size:13.5px}
.opt-bar .chips{margin:0}
.ins-cerrado{opacity:.55;cursor:not-allowed!important}
.phwrap{position:relative;overflow:hidden;background:#333}
.phwrap canvas.photo{max-width:none;aspect-ratio:auto;border:0;border-radius:0;display:block;position:absolute;inset:-8px;width:calc(100% + 16px);height:calc(100% + 16px);filter:blur(2.5px) saturate(1.05)}
.ph-lbl{position:absolute;right:10px;bottom:8px;z-index:3;font:600 10.5px/1 system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:#0007;padding:4px 7px;border-radius:4px}

/* --- Opción 2: mezcla (estructura RILA + colores y fotos humanas tipo Rotary) --- */
.sM{--m-navy:#0e3a2b;--m-navy-2:#164d39;--m-gold:#c9a54e;--m-ink:#14202f;--m-mut:#5d6878;--m-line:#e2e6ec;--m-soft:#f3f5f8;
  font-family:"Open Sans",system-ui,sans-serif;color:var(--m-ink);background:#fff;font-size:16px;line-height:1.6}
.sM h1,.sM h2,.sM h3{color:inherit}
.m-w{max-width:1200px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.m-cond{font-family:"Barlow Condensed","Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.01em;font-weight:700}
.m-hero{position:relative;min-height:600px;color:#fff;display:flex;flex-direction:column}
.m-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#0b2e22f5 0%,#0b2e22e0 42%,#0b2e22a6 72%,#0b2e2280 100%),linear-gradient(180deg,#0b2e2299 0%,#0b2e2200 25%,#0b2e2200 70%,#0b2e22cc 100%)}
.m-util{border-bottom:1px solid #ffffff1f;font-size:12.5px;color:#c7d6cd}
.m-util .m-w{display:flex;justify-content:space-between;gap:16px;padding-block:8px;flex-wrap:wrap}
.m-util b{color:#fff;font-weight:600;letter-spacing:.02em}
.m-head{border-bottom:1px solid #ffffff1f}
@media (max-width:760px){.m-util .r{display:none}}
.m-hero>*{position:relative;z-index:2}
.m-hero>.m-w{width:100%;box-sizing:border-box}
.m-hero>.ph-lbl{position:absolute}
.m-hero>canvas.photo{z-index:0}
.m-slide .k{color:#dcc07a}
.m-hbtn{flex:none;white-space:nowrap}
.m-head .m-w{display:flex;align-items:center;gap:26px;height:82px}
.m-logo{display:flex;align-items:center;gap:11px;flex:none}
.m-logo span{width:44px;height:44px;border-radius:50%;background:#fff;color:var(--m-navy);display:grid;place-items:center;font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:20px}
.m-logo b{font-family:"Barlow Condensed",sans-serif;font-size:15px;line-height:1.05;letter-spacing:.06em;font-weight:700}
.m-nav{display:flex;gap:26px;margin-left:auto;font-weight:600;font-size:14.5px}
.m-nav a{white-space:nowrap;cursor:pointer;opacity:.9;padding-block:6px;border-bottom:2px solid transparent}
.m-nav a:hover{opacity:1;border-color:var(--m-gold)}
.m-hbtn{font:inherit;font-weight:700;font-size:14px;border-radius:999px;padding:9px 18px;cursor:pointer}
.m-hbtn.pay{background:transparent;color:#fff;border:1.5px solid #ffffff80}
.m-hbtn.pay:hover{border-color:#fff}
.m-hbtn.join{background:#fff;color:var(--m-navy);border:0}
.m-hbtn.join:hover{background:var(--m-gold);color:#fff}
.m-burger{all:unset;cursor:pointer;display:none;width:38px;height:38px;place-items:center;margin-left:auto}
.m-burger svg{width:24px;height:24px}
.m-slide{flex:1;display:flex;flex-direction:column;justify-content:center;padding-block:40px 30px}
.m-slide .k{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--m-gold)}
.m-slide h1{font-size:clamp(46px,7.6vw,92px);line-height:.92;margin:12px 0 0;max-width:14ch}
.m-slide p{font-size:18px;max-width:52ch;margin:18px 0 0;color:#dfe7f3}
.m-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.m-btn{font:inherit;font-weight:700;font-size:15px;border-radius:999px;padding:13px 26px;cursor:pointer;background:#fff;color:var(--m-navy);border:0}
.m-btn:hover{background:var(--m-gold);color:#fff}
.m-btn.ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px #fff}
.m-btn.ghost:hover{background:#ffffff1a}
.m-fade{transition:opacity .35s ease}
.m-fade.out{opacity:0}
.m-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;padding-block:0 26px}
.m-tab{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:9px;font-size:14px;font-weight:600;color:#c9d4e6}
.m-tab .bar{height:2px;background:#ffffff40;position:relative;overflow:hidden}
.m-tab .bar i{position:absolute;inset:0;background:var(--m-gold);transform:scaleX(0);transform-origin:left}
.m-tab[aria-selected="true"]{color:#fff}
.m-tab[aria-selected="true"] .bar i{transform:scaleX(1)}
.m-tab.run .bar i{animation:mbar 7s linear forwards}
@keyframes mbar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.m-tab:focus-visible{outline:2px solid var(--m-gold);outline-offset:6px}
.m-sec{padding-block:80px}
.m-title{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:34px}
.m-title h2{font-size:clamp(34px,4.4vw,52px);line-height:.95;margin:0}
.m-title .k{display:block;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#1f6fd1;margin-bottom:8px}
.m-more{font-weight:700;color:var(--m-navy);cursor:pointer;display:inline-flex;gap:8px;align-items:center}
.m-more::after{content:"→";color:var(--m-gold);font-size:18px;transition:transform .2s}
.m-more:hover::after{transform:translateX(4px)}
.m-tiles{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:240px 240px;gap:16px}
.m-tile{position:relative;color:#fff;cursor:pointer;border-radius:4px}
.m-tile:first-child{grid-row:span 2}
.m-tile::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,#0d3324e6 0%,#0d332433 55%,#0000 100%);transition:background .25s}
.m-tile:hover::after{background:linear-gradient(0deg,#0d3324f2 0%,#0d332466 70%,#0d332422 100%)}
.m-tile .t{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:22px}
.m-tile .t span{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;background:var(--m-gold);color:var(--m-navy);padding:3px 9px;border-radius:2px}
.m-tile .t h3{font-size:22px;line-height:1.2;margin:10px 0 0;font-family:"Open Sans",sans-serif;font-weight:700}
.m-tile:first-child .t h3{font-size:30px}
.m-stats{background:var(--m-navy);color:#fff}
.m-stats .m-w{display:grid;grid-template-columns:repeat(4,1fr)}
.m-stats .m-w>div{padding:46px 24px;border-left:1px solid #ffffff1f}
.m-stats .m-w>div:first-child{border-left:0;padding-left:0}
.m-stats b{display:block;font-size:72px;line-height:.9;color:var(--m-gold);font-variant-numeric:tabular-nums}
.m-stats span{color:#b8c6dc;font-size:15px}
.m-rows{border-top:2px solid var(--m-navy)}
.m-row{display:grid;grid-template-columns:110px 1fr 200px auto;gap:24px;align-items:center;padding:22px 0;border-bottom:1px solid var(--m-line)}
.m-row .d{line-height:1}
.m-row .d b{display:block;font-size:44px;color:var(--m-navy)}
.m-row .d span{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--m-mut)}
.m-row h3{font-size:20px;margin:0;font-family:"Open Sans",sans-serif;font-weight:700;line-height:1.3}
.m-row small{color:var(--m-mut);font-size:14.5px}
.m-row .tp{font-size:13px;font-weight:700;color:#1f6fd1}
.m-row button{font:inherit;font-weight:700;font-size:14px;border-radius:999px;padding:9px 18px;cursor:pointer;background:transparent;color:var(--m-navy);border:1.5px solid var(--m-navy)}
.m-row button:hover{background:var(--m-navy);color:#fff}
.m-news{display:grid;grid-template-columns:1.3fr 1fr;gap:40px}
.m-big{display:flex;flex-direction:column;gap:14px;cursor:pointer}
.m-big .phwrap{aspect-ratio:16/10;max-width:100%;border-radius:4px}
.m-big h3{font-size:28px;line-height:1.2;margin:0;font-family:"Open Sans",sans-serif;font-weight:700}
.m-big p{margin:0;color:var(--m-mut)}
.m-list{display:flex;flex-direction:column}
.m-li{padding:20px 0;border-bottom:1px solid var(--m-line);cursor:pointer;display:flex;flex-direction:column;gap:6px}
.m-li:first-child{padding-top:0}
.m-tg,.m-li .tg{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#1f6fd1}
.m-li h4{margin:0;font-size:18px;line-height:1.35}
.m-li:hover h4,.m-big:hover h3{text-decoration:underline;text-decoration-color:var(--m-gold);text-underline-offset:4px;text-decoration-thickness:2px}
.m-li small{color:var(--m-mut)}
.m-cta{position:relative;color:#fff}
.m-cta::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#0d3324f2 0%,#0d3324cc 50%,#0d332466 100%)}
.m-cta .m-w{position:relative;z-index:2;padding-block:80px}
.m-cta h2{font-size:clamp(40px,5.4vw,68px);line-height:.92;margin:0;max-width:14ch}
.m-cta p{font-size:18px;color:#dfe7f3;max-width:50ch;margin:16px 0 26px}
.m-foot{background:#082418;color:#a9b8d0;font-size:14.5px}
.m-foot .m-w{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px;padding-block:56px 24px}
.m-foot h4{color:#fff;margin:0 0 14px;font-size:18px;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.06em}
.m-foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.m-foot li{cursor:pointer}.m-foot li:hover{color:#fff}
.m-foot .nl{display:flex;gap:8px;margin-top:6px}
.m-foot .nl input{flex:1;min-width:0;font:inherit;font-size:14px;padding:10px 12px;border-radius:999px;border:1px solid #ffffff33;background:#ffffff0d;color:#fff}
.m-foot .nl button{font:inherit;font-weight:700;font-size:14px;border:0;border-radius:999px;padding:10px 16px;background:var(--m-gold);color:var(--m-navy);cursor:pointer}
.m-foot .legal{grid-column:1/-1;border-top:1px solid #ffffff1f;padding-top:20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;color:#7f91b0}
@media (max-width:1120px){
  .m-nav,.m-hbtn.pay{display:none}.m-burger{display:grid}.m-hbtn.join{margin-left:auto}
  .m-tabs{grid-template-columns:1fr 1fr;gap:16px}
  .m-tiles{grid-template-columns:1fr 1fr;grid-template-rows:260px 200px 200px}.m-tile:first-child{grid-column:span 2;grid-row:span 1}
  .m-stats .m-w{grid-template-columns:1fr 1fr}.m-stats .m-w>div{border-left:0;padding-left:0;padding-block:30px}
  .m-row{grid-template-columns:90px 1fr}.m-row .tp,.m-row button{grid-column:2}
  .m-foot .m-w{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){.m-news{grid-template-columns:1fr}}
@media (max-width:560px){.m-hero{min-height:560px}.m-tiles{grid-template-columns:1fr;grid-template-rows:240px 200px 200px 200px}.m-tile:first-child{grid-column:auto}.m-stats b{font-size:56px}.m-sec{padding-block:56px}.m-foot .m-w{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.m-tab.run .bar i{animation:none;transform:scaleX(1)}.m-fade{transition:none}}
@media (prefers-reduced-motion:no-preference){.tab,.chip,.btn{transition:background .15s,color .15s,border-color .15s}}

/* ===== Sistema real (fuera del mockup) ===== */
/* Lo mismo que el marco del mockup ponía por defecto: sin esto, [hidden] pierde ante display:grid/flex. */
[hidden]{display:none!important}
body{margin:0}
img{max-width:100%}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.sol-acc{flex-wrap:wrap}.sol-acc input{flex-basis:100%}
.side a.mod{text-decoration:none}
.panel{min-height:100vh}
.mensajes{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.msj{padding:11px 14px;border-radius:10px;font-weight:600;font-size:14px;background:var(--ok-soft);color:var(--ok)}
.msj.error{background:var(--bad-soft);color:var(--bad)}
.errorlist{list-style:none;margin:4px 0 0;padding:0;color:var(--bad);font-size:13px;font-weight:600}
.vacio{padding:26px 16px;text-align:center;color:var(--muted);font-size:14px}
.fase{display:inline-block;font-size:12px;font-weight:700;color:var(--brand);background:var(--surface-2);border-radius:999px;padding:3px 10px}
a.chip{text-decoration:none;display:inline-flex;align-items:center;gap:2px}
.chip[disabled],.sino button[disabled]{opacity:.6;cursor:not-allowed}
.g-cifras.n3{grid-template-columns:repeat(3,1fr)}.g-cifras.n2{grid-template-columns:repeat(2,1fr)}
.g-cifras small{display:block;color:var(--g-gris);font-size:12px}
.sG a{color:inherit}.g-nav a{text-decoration:none}.g-more,.g-miga a,.g-ag a,.g-comp a,.g-contacto a,.g-doc a{text-decoration:none}
.g-btn{text-decoration:none;display:inline-block}
.g-q{text-decoration:none;color:inherit}
.g-cerrado{opacity:.6;cursor:not-allowed}
.g-pag a,.g-pag span{border:1px solid var(--g-linea);border-radius:4px;padding:6px 12px;font-weight:600;text-decoration:none;color:inherit}
.g-pag .on{background:var(--g-verde);border-color:var(--g-verde);color:#fff}
.g-filtro a.chip{border-color:var(--g-linea);background:#fff;color:var(--g-tinta)}
.g-filtro a.chip[aria-pressed="true"]{background:var(--g-verde);border-color:var(--g-verde);color:#fff}
.g-vacio{color:var(--g-gris);padding:20px 0}
.g-nota{text-decoration:none;color:inherit}.g-li{text-decoration:none;color:inherit}.g-big{text-decoration:none;color:inherit;display:block}
@media (max-width:1000px){.g-nav.abierta .g-w{flex-direction:column}.g-nav.abierta a{display:block}}
.g-foot a,.g-top a{text-decoration:none;color:inherit}.g-foot a:hover,.g-top a:hover{text-decoration:underline}
/* Accesos rápidos de la portada: cuántas columnas según los accesos visibles (solo en computadora) */
@media (min-width:1001px){.g-quick{grid-template-columns:repeat(var(--accesos,4),1fr)}}
/* ===== Fase 4: asistente virtual ===== */
.g-chat-btn{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;align-items:center;gap:10px;background:var(--g-verde);color:#fff;border:0;border-radius:999px;padding:12px 20px 12px 14px;font:inherit;font-size:15.5px;font-weight:700;box-shadow:0 8px 24px #0c3d1d40;cursor:pointer}
.g-chat-btn:hover{background:var(--g-verde-o)}
.g-chat-btn:focus-visible{outline:3px solid var(--g-amar);outline-offset:2px}
.g-chat-btn .bur{width:34px;height:34px;border-radius:50%;background:#fff;display:grid;place-items:center;flex:none}
.g-chat{position:fixed;right:20px;bottom:20px;z-index:61;width:390px;height:min(620px,calc(100vh - 40px));background:#fff;border:1px solid var(--g-linea);border-radius:10px;box-shadow:0 18px 50px #0c3d1d40;display:flex;flex-direction:column;overflow:hidden}
.g-chat-h{background:var(--g-verde-xo);color:#fff;padding:14px 14px 14px 16px;display:flex;gap:12px;align-items:center;border-bottom:4px solid var(--g-amar)}
.g-chat-h .bur{width:40px;height:40px;border-radius:50%;background:#fff;display:grid;place-items:center;flex:none}
.g-chat-h b{display:block;font-family:"Montserrat","Segoe UI",sans-serif;font-size:15px;line-height:1.2}
.g-chat-h small{color:#cfe3d5;font-size:13px;line-height:1.3;display:block}
.g-chat-h button{margin-left:auto;all:unset;cursor:pointer;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;color:#fff;flex:none}
.g-chat-h button:hover{background:#ffffff1f}
.g-chat-b{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:10px;background:var(--g-suave)}
.g-m{max-width:86%;padding:10px 13px;border-radius:12px;font-size:15px;line-height:1.45;white-space:pre-line}
.g-m.bot{background:#fff;border:1px solid var(--g-linea);align-self:flex-start;border-bottom-left-radius:3px}
.g-m.yo{background:var(--g-verde);color:#fff;align-self:flex-end;border-bottom-right-radius:3px}
.g-m .fuente{display:block;margin-top:6px;font-size:12.5px;color:var(--g-gris)}
.g-m a{color:var(--g-verde-o);font-weight:700}
.g-sug{display:flex;flex-wrap:wrap;gap:6px;align-self:flex-start}
.g-sug button{border:1.5px solid var(--g-verde);color:var(--g-verde-o);background:#fff;border-radius:999px;padding:6px 12px;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.g-sug button:hover{background:#e8f3ec}
.g-mform{align-self:stretch;background:#fff;border:1px solid var(--g-linea);border-left:4px solid var(--g-amar);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:8px}
.g-mform b{font-size:14.5px}
.g-mform .fila{display:flex;gap:8px}
.g-mform input{flex:1;min-width:0;font:inherit;font-size:16px;padding:8px 10px;border:1.5px solid var(--g-linea);border-radius:6px}
.g-mform input:focus{outline:2px solid var(--g-verde);border-color:var(--g-verde)}
.g-mform .g-btn{padding:8px 14px;font-size:14.5px}
.g-mform small{color:var(--g-gris);font-size:12.5px}
.g-escribe{align-self:flex-start;background:#fff;border:1px solid var(--g-linea);border-radius:12px;padding:12px 14px;display:flex;gap:4px}
.g-escribe i{width:7px;height:7px;border-radius:50%;background:var(--g-gris);opacity:.4;animation:gEsc 1s infinite}
.g-escribe i:nth-child(2){animation-delay:.15s}.g-escribe i:nth-child(3){animation-delay:.3s}
@keyframes gEsc{50%{opacity:1}}
.g-chat-f{border-top:1px solid var(--g-linea);padding:10px 10px 6px;display:flex;gap:8px;background:#fff}
.g-chat-f input{flex:1;min-width:0;font:inherit;font-size:16px;padding:10px 12px;border:1.5px solid var(--g-linea);border-radius:999px}
.g-chat-f input:focus{outline:2px solid var(--g-verde);border-color:var(--g-verde)}
.g-chat-f button{width:44px;height:44px;border-radius:50%;border:0;background:var(--g-verde);color:#fff;display:grid;place-items:center;cursor:pointer;flex:none}
.g-chat-nota{font-size:12px;color:var(--g-gris);padding:0 14px 10px;background:#fff;line-height:1.4}
@media (max-width:640px){
  .g-chat{inset:0;width:auto;height:auto;border-radius:0;border:0}
  .g-chat-btn{right:14px;bottom:14px;padding:10px}.g-chat-btn .txt{display:none}
}
/* panel del asistente */
.as-fuente{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px}
.as-fuente b{font-size:14px}.as-fuente small{grid-column:1;color:var(--muted);font-size:12.5px}
.as-fuente .pill{grid-row:1 / span 2;grid-column:2}
.as-faq{padding:12px;border:1px solid var(--line);border-radius:10px}
.as-faq b{display:block;font-size:14.5px}.as-faq p{margin:4px 0 8px;color:var(--muted);font-size:13.5px}
.as-faq .acc{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.as-conv{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;width:100%}
.as-conv[aria-current="true"]{border-color:var(--brand)}
.as-conv b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.as-conv small{color:var(--muted);font-size:12.5px}
.as-conv .pill{grid-row:1 / span 2;grid-column:2;align-self:center}
.as-hilo{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.as-m{max-width:88%;padding:8px 12px;border-radius:12px;font-size:13.5px;line-height:1.45;white-space:pre-line}
.as-m.bot{background:var(--surface-2);align-self:flex-start}
.as-m.yo{background:var(--brand);color:var(--surface);align-self:flex-end}
.as-sin{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:10px}
.as-sin b{font-size:14.5px}.as-sin small{display:block;color:var(--muted);font-size:12.5px}
.as-sin .acc{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.as-sin form{grid-column:1 / -1;display:flex;flex-direction:column;gap:8px}
.as-prueba{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:4px 10px;align-items:start;padding:10px 12px;border-bottom:1px solid var(--line)}
.as-prueba:last-child{border-bottom:0}
.as-prueba .n{font-weight:700;color:var(--muted);font-size:13px;padding-top:1px}
.as-prueba b{font-size:14px;font-weight:600}.as-prueba small{grid-column:2;color:var(--muted);font-size:12.5px}
.as-prueba .pill{grid-column:3;grid-row:1}
.as-grupo{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--muted);padding:14px 12px 4px}
.as-aj{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.as-aj:last-child{border-bottom:0}
.as-aj span b{display:block;font-size:14px}.as-aj span small{color:var(--muted);font-size:12.5px}
.as-tg{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--line);border-radius:10px;flex-wrap:wrap}
.as-tg b{font-size:14px}.as-tg small{display:block;color:var(--muted);font-size:12.5px}

/* ===== Fase 5: cuotas y pagos ===== */
.pg-card{width:min(460px,100%);box-sizing:border-box;min-width:0}.pg-card .dnirow input{width:100%;min-width:0}
.pg-paso{display:flex;flex-direction:column;gap:12px;text-align:left}
.pg-paso h3{font-family:"Montserrat",sans-serif;font-size:17px;color:#12562a;margin:4px 0 0}
.pg-si{display:flex;gap:8px}.pg-si .pt-btn{flex:1}
.pg-meses{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.pg-mes{all:unset;box-sizing:border-box;cursor:pointer;text-align:center;border:1.5px solid #d5dbe4;border-radius:12px;padding:10px 4px;font-weight:700;color:#14202f;background:#fff}
.pg-mes small{display:block;font-weight:600;color:#5d6878;font-size:11.5px}
.pg-mes[aria-pressed="true"]{border-color:#12562a;background:#12562a;color:#fff}.pg-mes[aria-pressed="true"] small{color:#d6eadb}
.pg-mes:focus-visible{outline:3px solid #f2d417}
.pg-total{display:flex;justify-content:space-between;align-items:baseline;background:#f3f5f8;border-radius:12px;padding:12px 14px}
.pg-total b{font-family:"Montserrat",sans-serif;font-size:28px;color:#12562a;font-variant-numeric:tabular-nums}
.pg-nota{font-size:13px;color:#5d6878;margin:0}
.pg-medio{all:unset;box-sizing:border-box;cursor:pointer;display:flex;gap:12px;align-items:center;padding:12px 14px;border:1.5px solid #d5dbe4;border-radius:12px;background:#fff;width:100%}
.pg-medio[aria-pressed="true"]{border-color:#12562a;box-shadow:inset 0 0 0 1px #12562a}
.pg-medio b{display:block;color:#14202f}.pg-medio small{color:#5d6878}
.pg-medio .lg{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;color:#fff;font-weight:800;flex:none}
.pg-yape{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.pg-yape .qr{--ink:#14202f;--line:#d5dbe4}
.pg-yape ol{margin:0;padding-left:18px;color:#3d4a5c;font-size:14.5px}.pg-yape li{margin-bottom:6px}
.pg-botones{display:flex;flex-direction:column;gap:8px}
.pg-res{border-radius:12px;padding:14px 16px;font-size:14.5px;line-height:1.5}
.pg-res.ok{background:#e6f4ec;color:#14532d}.pg-res.esp{background:#fff6dc;color:#6b4e00}
.pg-res b{display:block;font-size:16px;margin-bottom:2px}
.pg-lee{display:flex;gap:12px;align-items:center;color:#5d6878}
.pg-lee i{width:22px;height:22px;border-radius:50%;border:3px solid #d5dbe4;border-top-color:#12562a;animation:pgGira .8s linear infinite}
@keyframes pgGira{to{transform:rotate(360deg)}}
.pg-sim{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:14px;font-size:12px;color:#8a978f}
.pg-sim button{all:unset;cursor:pointer;border:1px dashed #b8c2cf;border-radius:999px;padding:3px 10px}
.pg-recibo{background:#fff;border:1px solid #d5dbe4;border-radius:12px;padding:18px;text-align:left;font-size:14px}
.pg-recibo .rh{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;border-bottom:2px solid #12562a;padding-bottom:10px}
.pg-recibo .rh b{font-family:"Montserrat",sans-serif;color:#12562a;white-space:nowrap}
.pg-recibo dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:12px 0 0}
.pg-recibo dt{color:#5d6878}.pg-recibo dd{margin:0;font-weight:600;text-align:right}
.pg-recibo .tot{border-top:1px solid #d5dbe4;margin-top:10px;padding-top:10px;display:flex;justify-content:space-between;font-weight:800;font-size:17px}
.pg-recibo .ver{margin-top:12px;font-size:12px;color:#5d6878;text-align:center}
/* panel */
.cu-tabla td:last-child,.cu-tabla th:last-child{text-align:right}
.cu-cab{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.cu-cab .acc{display:flex;gap:8px;flex-wrap:wrap}
.yc{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px}
.yc .qrm{width:56px;height:56px;border-radius:8px;background:conic-gradient(from 90deg at 20% 20%,var(--ink) 25%,transparent 0) 0 0/12px 12px;border:5px solid #fff;outline:1px solid var(--line)}
.yc b{font-size:14.5px}.yc small{display:block;color:var(--muted);font-size:12.5px}
.ficha>.card.cuenta{grid-column:1/-1}
@media (max-width:640px){.pg-meses{grid-template-columns:repeat(3,1fr)}}

/* ===== Fase 6: cobranza ===== */
.cb-wa{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px}
.cb-wa b{font-size:14px}.cb-wa small{color:var(--muted);font-size:12.5px;grid-column:1}
.cb-wa .btn{grid-row:1 / span 2;grid-column:2;padding:8px 14px;font-size:13px}
.cb-wa.hecho{opacity:.6}
.cb-vars{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 10px}
.cb-vars code{background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:2px 7px;font-size:12px;cursor:pointer}
.cb-plantilla textarea{min-height:130px}
.cb-canal{font-size:12px;font-weight:700}
.cb-canal.tg{color:var(--tg)}.cb-canal.wa{color:var(--wa)}
tr.hoy td{opacity:.55}
.tg-chat{background:#e6ebee;border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:6px;text-align:left;margin-top:12px}
.tg-chat .m{background:#fff;border-radius:10px 10px 10px 2px;padding:8px 10px;font-size:13px;max-width:88%;color:#14202f}
.tg-chat .m.yo{align-self:flex-end;background:#d9f4c7;border-radius:10px 10px 2px 10px}
.btn:disabled,.vr-btn:disabled{opacity:.45;cursor:not-allowed}

/* ===== Fase 7: reuniones y asistencia ===== */
.al-fotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}
.al-fotos .f{aspect-ratio:4/3;border-radius:8px;background:linear-gradient(135deg,#2e6b45,#9cc2a8);position:relative;overflow:hidden}
.al-fotos .f button{position:absolute;top:4px;right:4px;border:0;border-radius:6px;background:#0008;color:#fff;font-size:11px;padding:2px 6px}
.al-fotos .mas{aspect-ratio:4/3;border:2px dashed var(--line);border-radius:8px;display:grid;place-items:center;font-weight:700;color:var(--brand);cursor:pointer;text-align:center;font-size:13px}
.cierre{margin-top:12px;border:1px solid var(--line);border-radius:12px;padding:12px}
.cierre p{margin:0 0 10px;font-size:13.5px}
.rs-reu{background:#f3f5f8;border-radius:12px;padding:12px 14px;text-align:left;font-size:14.5px;line-height:1.5}
.rs-reu b{display:block;font-size:16px;color:#12562a}

/* ===== Fase 8: documentos ===== */
.doc-acc{display:flex;gap:6px;flex-wrap:wrap}
.doc-acc .chip{padding:3px 10px;font-size:12.5px}
.of-revisa{margin-top:12px;border-radius:10px;padding:10px 12px;font-size:13px}
.of-revisa.ok{background:var(--ok-soft);color:var(--ok)}
.of-revisa.mal{background:var(--warn-soft);color:var(--warn)}
.of-revisa b{display:block;margin-bottom:2px}

/* ===== Fase 9 ===== */
.vt-op{all:unset;box-sizing:border-box;cursor:pointer;display:block;width:100%;text-align:center;border:2px solid #d5dbe4;border-radius:12px;padding:14px;font-weight:700;font-size:17px;color:#14202f;background:#fff}
.vt-op[aria-pressed="true"]{border-color:#12562a;background:#e6f4ec;color:#12562a}
.vt-op:focus-visible{outline:3px solid #f2d417}
.estado-socio{border-radius:12px;padding:12px 14px;font-weight:700;font-size:16px;margin-top:10px;text-align:center}
.estado-socio.ok{background:#e6f4ec;color:#14532d}.estado-socio.no{background:#fdecea;color:#a12a1f}
.estado-socio small{display:block;font-weight:600;font-size:13px;margin-top:2px}
.tr-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:8px 0 18px}
.tr-kpis div{border:1px solid var(--g-linea);border-radius:6px;padding:14px;background:#fff}
.tr-kpis b{display:block;font-family:"Montserrat",sans-serif;font-size:24px;color:var(--g-verde-o)}
.tr-kpis span{color:var(--g-gris);font-size:14px}
@media (max-width:640px){.tr-kpis{grid-template-columns:1fr}}

/* ===== v23: socios con datos de empresa, cuotas con corte, numeración ===== */
.tsoc.ancha{min-width:1500px}.tsoc.ancha td,.tsoc.ancha th{white-space:nowrap}
.tsoc .ord{color:var(--muted);font-weight:700;font-variant-numeric:tabular-nums}
.mini{width:46px;height:46px;border-radius:10px;overflow:hidden;display:grid;place-items:center;background:var(--surface-2);border:1.5px dashed var(--line);font-size:10px;line-height:1.1;color:var(--muted);text-align:center}
.mini img{width:100%;height:100%;object-fit:cover}.mini.si{border:0;box-shadow:0 0 0 2px var(--surface),0 0 0 3px var(--line)}
.perfil{display:inline-flex;gap:4px}.perfil .tag{font-size:11.5px}
.cb-periodo{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 14px;border-radius:12px;background:var(--surface-2);margin:0 0 14px;font-size:14px}
.cb-periodo b{color:var(--brand)}
.linea-corte{display:grid;grid-template-columns:repeat(31,1fr);gap:2px;margin:8px 0 4px}.linea-corte i{height:14px;border-radius:3px;background:var(--ok)}.linea-corte i.sig{background:var(--warn)}.linea-corte i.cob{outline:2px solid var(--brand);outline-offset:-2px}
.linea-ley em{font-style:normal;font-weight:700;color:var(--ink)}.linea-ley .lcob:before{background:transparent;box-shadow:inset 0 0 0 2px var(--brand)}
.linea-ley{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}.linea-ley span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:2px;background:var(--c);margin-right:5px;vertical-align:-1px}

/* ===== Sin recargar la página: avisos flotantes y espera discreta ===== */
html[aria-busy="true"],html[aria-busy="true"] *{cursor:progress}
.mensajes.flota{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:60;width:min(560px,calc(100% - 32px));margin:0;transition:opacity .4s}
.mensajes.flota.sale{opacity:0}
.mensajes.flota .msj{box-shadow:0 8px 24px #0003}
form[aria-busy="true"]{opacity:.85}
.as-aj code{white-space:nowrap}
