.cv-esc{max-width:560px;margin:0 auto;padding:16px;font-family:inherit;color:#0f2a43}
.cv-esc *{box-sizing:border-box}
.cv-esc-card{background:#fff;border:1px solid #e3ebf3;border-radius:20px;padding:22px;margin-bottom:16px;box-shadow:0 8px 30px rgba(20,60,110,.08)}
.cv-esc h2,.cv-esc h3{margin:0 0 6px}
.cv-esc-sub{color:#5b7189;margin:0 0 14px}
.cv-esc-visor{position:relative;border-radius:16px;overflow:hidden;background:#0b1d2e;aspect-ratio:1/1;margin-bottom:14px}
.cv-esc-visor video{width:100%;height:100%;object-fit:cover}
.cv-esc-marco{position:absolute;inset:18%;border:3px solid rgba(255,255,255,.85);border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.28)}
.cv-esc-btn{display:inline-block;border:0;border-radius:12px;background:#1f6feb;color:#fff;font-weight:600;padding:12px 20px;cursor:pointer;font-size:15px;text-decoration:none}
.cv-esc-btn.sec{background:#e8eff8;color:#1f4f8f}
.cv-esc-btn:disabled{opacity:.6;cursor:default}
.cv-esc-manual{margin-top:14px;color:#5b7189}
.cv-esc-manual textarea{width:100%;margin:10px 0;border:1px solid #d5e0ec;border-radius:10px;padding:10px}
.cv-esc-resultado{margin-top:16px;padding:16px;border-radius:14px;background:#f3f7fb}
.cv-esc-resultado.ok{background:#e9f8ee}.cv-esc-resultado.mal{background:#fdeceb}
.cv-esc-ok{font-weight:700;color:#1a7f37;margin-bottom:10px}
.cv-esc-pac{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.cv-esc-pac img{width:52px;height:52px;border-radius:50%}
.cv-esc-pac span{display:block;color:#5b7189;font-size:14px}
.cv-esc-resultado label{display:block;margin:10px 0;font-size:14px;color:#5b7189}
.cv-esc-resultado input{display:block;width:100%;margin-top:4px;border:1px solid #d5e0ec;border-radius:10px;padding:10px}
.cv-esc-fila{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #eef2f7;font-size:14px}
.cv-esc-fila span{color:#5b7189;text-align:right}
@media(max-width:480px){.cv-esc{padding:10px}.cv-esc-fila{flex-direction:column}.cv-esc-fila span{text-align:left}}
.cv-ahorro-hero{background:linear-gradient(135deg,#1f6feb,#2fb7a3);color:#fff;border:0;text-align:center}
.cv-ahorro-monto{font-size:44px;font-weight:800;margin:6px 0}
.cv-ahorro-monto small{font-size:16px;font-weight:600;opacity:.85}
.cv-ahorro-et{opacity:.9;font-size:14px}
.cv-ahorro-nota{margin-top:12px;background:rgba(255,255,255,.18);border-radius:12px;padding:10px;font-size:14px}
.cv-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.cv-tab{border:0;background:#eef3f9;color:#1f4f8f;padding:9px 16px;border-radius:99px;font-weight:600;cursor:pointer;text-decoration:none;font-size:14px}
.cv-tab.on{background:#1f6feb;color:#fff}
.cv-cita{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #eef2f7}
.cv-cita small{color:#5b7189}
.cv-cita-acc{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.cv-cita-acc button,.cv-hfila .mal{border:0;border-radius:10px;background:#e8eff8;color:#1f4f8f;padding:7px 12px;font-weight:600;cursor:pointer}
.cv-cita-acc button.mal,.cv-hfila .mal{background:#fde4e1;color:#b42318}
.cv-est{padding:3px 10px;border-radius:99px;font-size:12px;font-weight:700}
.cv-chip{display:inline-block;background:#e8f1ff;color:#1f4f8f;border-radius:99px;padding:2px 10px;font-size:12px;margin:2px 4px 2px 0}
.cv-chip a{color:#b42318;text-decoration:none}
.cv-hfila{display:flex;gap:8px;align-items:center;margin:8px 0;flex-wrap:wrap}
.cv-hfila input,.cv-hfila select,.cv-lbl input,.cv-wide{border:1px solid #d5e0ec;border-radius:10px;padding:9px;font:inherit}
.cv-wide{width:100%}
.cv-lbl{display:block;margin:14px 0;color:#5b7189;font-size:14px}.cv-lbl input{display:block;margin-top:4px}
.cv-chk{display:block;margin-bottom:10px;font-weight:600}
@media(max-width:560px){.cv-cita{flex-direction:column;align-items:flex-start}.cv-cita-acc{justify-content:flex-start}}

/* ===== Paneles tipo app (socio y médico) ===== */
.cv-hub{max-width:720px}
.cv-hub [hidden]{display:none!important}
.cv-hub section>.cv-esc-card:last-child{margin-bottom:16px}
.cv-hubnav{display:flex;gap:6px;background:#fff;border:1px solid #e3ebf3;border-radius:18px;padding:6px;margin-bottom:16px;box-shadow:0 8px 30px rgba(20,60,110,.08);position:sticky;top:8px;z-index:20}
.cv-hubnav button{flex:1;border:0;background:transparent;border-radius:13px;padding:10px 6px;cursor:pointer;color:#5b7189;font:inherit;font-weight:600;font-size:14px;display:flex;align-items:center;justify-content:center;gap:7px;transition:background .25s cubic-bezier(.22,1,.36,1),color .25s}
.cv-hubnav button.on{background:#1f6feb;color:#fff}
.cv-hubico{font-size:17px;line-height:1}
.cv-hub .cv-credencial-wrap{margin-bottom:16px}
@media(max-width:640px){
  .cv-hub{padding-bottom:84px}
  .cv-hubnav{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));top:auto;margin:0;z-index:9999;border-radius:22px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(255,255,255,.92)}
  .cv-hubnav button{flex-direction:column;gap:3px;padding:8px 2px;font-size:11px}
  .cv-hubico{font-size:20px}
}
@media(prefers-reduced-motion:reduce){.cv-hubnav button{transition:none}}
@media(max-width:640px){.cv-hubnav button.on{background:#e8f1ff;color:#1f6feb}}
