/* ══════════════════════════════════════════════════════════════════════
   veryficol — Tema negro y dorado (mismo estilo de la portada)
   Lo cargan solo verificar, precios, login y registro, después de sus
   propios estilos. No cambia HTML ni JS: solo colores, letras y bordes.
   ══════════════════════════════════════════════════════════════════════ */

/* ─── Variables de la portada ────────────────────────────────────────── */
:root {
  --vc-bg:        #04060b;
  --vc-panel:     #0b0f19;
  --vc-fg:        #f4f1ea;
  --vc-soft:      #b9bfcc;
  --vc-dim:       #8a91a3;
  --vc-gold:      #e6c27a;
  --vc-gold-hi:   #f1d394;
  --vc-gold-deep: #c9a254;
  --vc-ink:       #10131c;
  --vc-line:      rgba(230, 194, 122, 0.30);
  --vc-hair:      rgba(255, 255, 255, 0.10);
  --vc-ok:        #3fd58a;
  --vc-ok-text:   #7ee2ad;
  --vc-warn:      #f2b23d;
  --vc-warn-text: #f6c870;
  --vc-bad:       #ff5a5f;
  --vc-bad-text:  #ff9a9d;
  --vc-display:   "Michroma", "Eurostile", "Arial Black", sans-serif;
  --vc-font:      "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --vc-ease:      cubic-bezier(.16, 1, .3, 1);
}

/* ─── Base ───────────────────────────────────────────────────────────── */
html:has(body.tema-oro) { background: var(--vc-bg); }

body.tema-oro {
  background:
    radial-gradient(1100px 520px at 88% -12%, rgba(230, 194, 122, .08), transparent 62%),
    var(--vc-bg) !important;
  color: var(--vc-fg);
  font-family: var(--vc-font);
}
body.tema-oro * { font-family: inherit; }
body.tema-oro ::selection { background: var(--vc-gold); color: var(--vc-ink); }
body.tema-oro :focus-visible { outline: 2px solid var(--vc-gold); outline-offset: 3px; }

/* Los brillos azules y verdes del fondo se van; queda el halo dorado del body */
body.tema-oro .bg-orb,
body.tema-oro .bg-particles { display: none !important; }

/* ─── Logo (mismo de la portada) ─────────────────────────────────────── */
.vc-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--vc-fg);
  text-decoration: none;
  font-weight: 800;
  font-size: 22px;
  letter-spacing: -0.02em;
  text-transform: lowercase;
}
.vc-logo svg { width: 26px; height: 26px; flex-shrink: 0; }

.vc-titulo {
  font-family: var(--vc-display) !important;
  font-weight: 400;
  font-size: clamp(22px, 5vw, 28px);
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--vc-fg);
  margin: 26px 0 8px;
}
.vc-titulo .gold { color: var(--vc-gold); }

/* Enlaces legales al pie */
.vc-legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 18px;
  font-size: 12px;
  color: var(--vc-dim);
}
.vc-legal a { color: var(--vc-dim); text-decoration: none; }
.vc-legal a:hover { color: var(--vc-gold); }

/* ══════════════════════════════════════════════════════════════════════
   LOGIN Y REGISTRO
   ══════════════════════════════════════════════════════════════════════ */
.pg-acceso .card {
  background: rgba(11, 15, 25, .9);
  border: 1px solid var(--vc-line);
  border-radius: 0;
  box-shadow: 0 40px 90px -40px rgba(0, 0, 0, .9);
}
.pg-acceso .subtitle { color: var(--vc-soft); font-size: 15px; line-height: 1.55; margin-bottom: 26px; }

.pg-acceso .gift {
  background: rgba(230, 194, 122, .06);
  border: 1px solid var(--vc-line);
  border-radius: 0;
  color: var(--vc-soft);
}
.pg-acceso .gift strong { color: var(--vc-gold); }

.pg-acceso .link-row { color: var(--vc-dim); }
.pg-acceso .link-row a { color: var(--vc-gold); }
.pg-acceso .vc-legal { margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--vc-hair); }

/* ─── Campos (login, registro y pago en precios) ─────────────────────── */
.tema-oro .campo label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--vc-dim);
}
.tema-oro .campo input,
.tema-oro .campo select {
  background: rgba(255, 255, 255, .035);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 0;
  color: var(--vc-fg);
  font-size: 16px;
}
.tema-oro .campo input::placeholder { color: #6b7285; }
.tema-oro .campo input:focus,
.tema-oro .campo select:focus {
  border-color: var(--vc-gold);
  box-shadow: 0 0 0 3px rgba(230, 194, 122, .16);
}
.tema-oro .campo select option { background: var(--vc-panel); color: var(--vc-fg); }
.tema-oro .hint { color: var(--vc-dim); }
.tema-oro .error-msg { color: var(--vc-bad-text); }

.tema-oro .btn-ojo { color: var(--vc-dim); }
.tema-oro .btn-ojo:hover { color: var(--vc-soft); }
/* app: el ojo se pinta azul por JS al mostrar la contraseña */
.tema-oro .btn-ojo[style*="59, 130, 246"] { color: var(--vc-gold) !important; }

/* ─── Botón principal dorado ─────────────────────────────────────────── */
.pg-acceso .btn,
.pg-precios .btn-pagar {
  background: var(--vc-gold);
  color: var(--vc-ink);
  border: 1px solid var(--vc-gold);
  border-radius: 0;
  box-shadow: none;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 17px 14px;
  transition: transform .2s var(--vc-ease), background .2s;
}
.pg-acceso .btn:hover,
.pg-precios .btn-pagar:hover {
  background: var(--vc-gold-hi);
  box-shadow: none;
  transform: translateY(-2px);
}
.pg-acceso .btn:disabled,
.pg-precios .btn-pagar:disabled { transform: none; }
.tema-oro .btn .spinner,
.tema-oro .btn-pagar .spinner {
  border-color: rgba(16, 19, 28, .25);
  border-top-color: var(--vc-ink);
}

/* ══════════════════════════════════════════════════════════════════════
   PRECIOS
   ══════════════════════════════════════════════════════════════════════ */
.vc-top {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 960px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: -24px auto 44px;
}
.vc-top-link {
  display: inline-flex;
  align-items: center;
  height: 40px;
  padding: 0 16px;
  border: 1px solid rgba(230, 194, 122, .5);
  color: var(--vc-fg);
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  transition: border-color .2s, color .2s;
}
.vc-top-link:hover { border-color: var(--vc-gold); color: var(--vc-gold); }

.pg-precios .badge {
  background: transparent;
  border: 1px solid var(--vc-line);
  border-radius: 0;
  color: var(--vc-gold);
  letter-spacing: .14em;
}
.pg-precios .badge-dot { background: var(--vc-gold) !important; box-shadow: none; border-radius: 0; }

.pg-precios .page-header h1,
.pg-precios .checkout-section h2,
.pg-precios .faq h2 {
  font-family: var(--vc-display);
  font-weight: 400;
  letter-spacing: -0.01em;
  color: var(--vc-fg);
}
.pg-precios .page-header h1 { line-height: 1.2; font-size: clamp(24px, 4.4vw, 38px); }
.pg-precios .page-header p { color: var(--vc-soft); }

.pg-precios .plan-card {
  background: rgba(11, 15, 25, .78);
  border: 1px solid var(--vc-hair);
  border-radius: 0;
  backdrop-filter: none;
}
.pg-precios .plan-card:hover {
  border-color: var(--vc-line);
  box-shadow: 0 24px 60px -30px rgba(0, 0, 0, .9);
}
.pg-precios .plan-card.popular {
  border-color: var(--vc-gold);
  box-shadow: inset 0 0 0 1px rgba(230, 194, 122, .35);
}
.pg-precios .popular-badge {
  background: var(--vc-gold);
  color: var(--vc-ink);
  border-radius: 0;
  letter-spacing: .14em;
  font-weight: 800;
}

/* Los íconos venían en azul, verde, morado y aguamarina: todos a dorado */
.pg-precios .plan-icon {
  background: transparent !important;
  border: 1px solid var(--vc-line) !important;
  border-radius: 0;
}
.pg-precios .plan-icon svg { stroke: var(--vc-gold) !important; }

.pg-precios .plan-nombre { font-family: var(--vc-display); font-weight: 400; font-size: 17px; letter-spacing: -0.01em; }
.pg-precios .plan-desc { color: var(--vc-dim); }
.pg-precios .plan-precio .moneda { color: var(--vc-dim); }
.pg-precios .plan-precio .valor {
  font-family: var(--vc-display);
  font-weight: 400;
  font-size: clamp(26px, 3.2vw, 32px);
  letter-spacing: -0.02em;
  color: var(--vc-fg);
}
.pg-precios .plan-card.popular .plan-precio .valor { color: var(--vc-gold); }

.pg-precios .plan-verifs {
  background: rgba(230, 194, 122, .06) !important;
  border: 1px solid var(--vc-line) !important;
  border-radius: 0;
  color: var(--vc-gold) !important;
  letter-spacing: .02em;
}
.pg-precios .plan-features li { color: var(--vc-soft); }
.pg-precios .plan-features li svg { stroke: var(--vc-gold); }

/* Como en la portada: el plan destacado en dorado, los demás con línea */
.pg-precios .btn-plan {
  background: rgba(4, 6, 11, .4) !important;
  border: 1px solid rgba(230, 194, 122, .5);
  border-radius: 0;
  box-shadow: none !important;
  color: var(--vc-fg);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 16px 14px;
}
.pg-precios .btn-plan:hover {
  border-color: var(--vc-gold);
  color: var(--vc-gold);
  box-shadow: none !important;
}
.pg-precios .plan-card.popular .btn-plan {
  background: var(--vc-gold) !important;
  border-color: var(--vc-gold);
  color: var(--vc-ink);
}
.pg-precios .plan-card.popular .btn-plan:hover { background: var(--vc-gold-hi) !important; color: var(--vc-ink); }

.pg-precios .checkout-section {
  background: rgba(11, 15, 25, .92);
  border: 1px solid var(--vc-line);
  border-radius: 0;
}
.pg-precios .checkout-section .checkout-plan-info { color: var(--vc-soft); }
.pg-precios .checkout-back { color: var(--vc-dim); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-size: 12px; }
.pg-precios .checkout-back:hover { color: var(--vc-gold); }
.pg-precios .sesion-badge {
  background: rgba(230, 194, 122, .06);
  border: 1px solid var(--vc-line);
  border-radius: 0;
}
.pg-precios .sesion-badge-avatar { background: rgba(230, 194, 122, .14); border-radius: 0; }
.pg-precios .sesion-badge-nombre { color: var(--vc-fg); }
.pg-precios .sesion-badge-email,
.pg-precios .sesion-badge-link { color: var(--vc-dim); }
.pg-precios .sesion-badge-link:hover { color: var(--vc-gold); }
.pg-precios .seguro-info { color: var(--vc-dim); }
.pg-precios .seguro-info svg { stroke: var(--vc-gold); }

.pg-precios .faq-item { border-top-color: var(--vc-hair); }
.pg-precios .faq-item:last-child { border-bottom-color: var(--vc-hair); }
.pg-precios .faq-q { color: var(--vc-fg); font-size: 15px; }
.pg-precios .faq-a { color: var(--vc-soft); font-size: 14px; }
.pg-precios .faq-a strong { color: var(--vc-fg); }
.pg-precios .faq-a a { color: var(--vc-gold) !important; }
.pg-precios .vc-legal { margin: 56px auto 0; }

/* En pantallas anchas los 4 planes van en una fila (antes Premium quedaba solo) */
@media (min-width: 1100px) {
  .pg-precios .content,
  .pg-precios .vc-top { max-width: 1180px; }
  .pg-precios #planes-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .pg-precios #planes-grid .plan-card { padding: 30px 24px; }
  .pg-precios #planes-grid .plan-precio .valor { font-size: 26px; }
}

/* ══════════════════════════════════════════════════════════════════════
   VERIFICAR (style.css compartido: se cambian sus variables y se anulan
   los ajustes del tema claro del final de style.css)
   ══════════════════════════════════════════════════════════════════════ */
body.pg-verificar {
  --bg:          var(--vc-bg);
  --bg-2:        var(--vc-panel);
  --surface:     rgba(255, 255, 255, .025);
  --surface-2:   rgba(255, 255, 255, .045);
  --surface-3:   rgba(255, 255, 255, .08);
  --border:      rgba(255, 255, 255, .09);
  --border-2:    rgba(230, 194, 122, .26);
  --blue:        #e6c27a;
  --blue-dim:    rgba(230, 194, 122, .12);
  --blue-glow:   0 0 40px rgba(230, 194, 122, .10);
  --green:       #3fd58a;
  --green-dim:   rgba(63, 213, 138, .12);
  --yellow:      #f2b23d;
  --yellow-dim:  rgba(242, 178, 61, .12);
  --red:         #ff5a5f;
  --red-dim:     rgba(255, 90, 95, .12);
  --text-1:      #f4f1ea;
  --text-2:      #b9bfcc;
  --text-3:      #8a91a3;
  --font-title:  var(--vc-display);
  --font-body:   var(--vc-font);
  --r-sm: 0px; --r-md: 0px; --r-lg: 0px; --r-xl: 0px;
  --shadow-card: 0 30px 70px -40px rgba(0, 0, 0, .9);
  --shadow-glow: none;
  --verde: #3fd58a; --amarillo: #f2b23d; --rojo: #ff5a5f; --azul-medio: #c9a254;
  --gris-100: rgba(255, 255, 255, .04); --gris-300: rgba(255, 255, 255, .12);
  --gris-500: #8a91a3; --gris-700: #b9bfcc; --gris-900: #f4f1ea;
}

/* Títulos con la letra de la portada (Michroma solo tiene peso normal) */
.pg-verificar .card-titulo,
.pg-verificar .didit-qr-titulo,
.pg-verificar .semaforo-resultado,
.pg-verificar .desglose-titulo,
.pg-verificar .score-numero { font-family: var(--vc-display); font-weight: 400; letter-spacing: -0.01em; }
.pg-verificar .card-titulo { font-size: 20px; }
.pg-verificar .semaforo-resultado { font-size: 16px; line-height: 1.4; letter-spacing: .02em; }
.pg-verificar .score-numero { letter-spacing: -0.03em; }

/* ─── Barra superior ─────────────────────────────────────────────────── */
.pg-verificar .navbar {
  background: rgba(4, 6, 11, .9);
  border-bottom: 1px solid var(--vc-hair);
}
.pg-verificar .nav-logo {
  width: 26px;
  height: 26px;
  border-radius: 0;
  box-shadow: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'%3E%3Crect x='1' y='1' width='24' height='24' fill='none' stroke='%23e6c27a' stroke-width='2'/%3E%3Cpath d='M7 13.5l4 4L19 9' fill='none' stroke='%23e6c27a' stroke-width='2.6' stroke-linecap='square'/%3E%3C/svg%3E") center / contain no-repeat;
}
.pg-verificar .nav-logo svg { display: none; }
.pg-verificar .nav-titulo { font-family: var(--vc-font); font-weight: 800; font-size: 21px; letter-spacing: -0.02em; }

.pg-verificar .nav-link {
  color: var(--vc-soft) !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  border-radius: 0;
  padding: 11px 14px;
}
.pg-verificar .nav-link:hover { color: var(--vc-fg) !important; background: transparent !important; }
.pg-verificar .nav-link.activo { color: var(--vc-ink) !important; background: var(--vc-gold) !important; }
.pg-verificar .nav-link-cta {
  color: var(--vc-fg) !important;
  border-color: rgba(230, 194, 122, .5) !important;
}
.pg-verificar .nav-link-cta:hover {
  color: var(--vc-gold) !important;
  border-color: var(--vc-gold) !important;
  background: transparent !important;
}
.pg-verificar .nav-toggle { color: var(--vc-fg) !important; }
.pg-verificar .nav-toggle:hover { background: rgba(255, 255, 255, .06) !important; }
.pg-verificar .nav-avatar { background: var(--vc-gold); color: var(--vc-ink); box-shadow: none; }
.pg-verificar .nav-usuario-saludo { color: var(--vc-fg) !important; }
@media (max-width: 720px) {
  .pg-verificar .nav-links {
    background: rgba(4, 6, 11, .97) !important;
    border-bottom: 1px solid var(--vc-line) !important;
  }
}

/* ─── Bloque de bienvenida ───────────────────────────────────────────── */
.pg-verificar .hero-banner {
  background:
    radial-gradient(900px 420px at 105% -10%, rgba(230, 194, 122, .12), transparent 60%),
    linear-gradient(160deg, #0b0f19 0%, #06080e 100%) !important;
  border: 1px solid var(--vc-line) !important;
  box-shadow: 0 40px 90px -50px rgba(0, 0, 0, .9);
}
.pg-verificar .hero-banner,
.pg-verificar .hero-banner * { color: var(--vc-fg); }
.pg-verificar .hero-bg-lines span {
  background: linear-gradient(180deg, transparent 0%, rgba(230, 194, 122, .10) 50%, transparent 100%) !important;
}
.pg-verificar .hero-banner .hero-eyebrow {
  background: transparent;
  border: 1px solid var(--vc-line);
  border-radius: 0;
  box-shadow: none;
  color: var(--vc-gold);
  font-family: var(--vc-font);
  font-size: 11px;
  letter-spacing: .14em;
}
.pg-verificar .hero-eyebrow-dot { background: var(--vc-gold); border-radius: 0; animation: none; box-shadow: none; }
.pg-verificar .hero-banner .hero-titulo {
  font-family: var(--vc-display);
  font-weight: 400 !important;
  font-size: clamp(22px, 3.6vw, 36px) !important;
  line-height: 1.22 !important;
  letter-spacing: -0.01em !important;
  color: var(--vc-fg) !important;
}
.pg-verificar .hero-banner .hero-highlight {
  background: none;
  -webkit-text-fill-color: var(--vc-gold);
  color: var(--vc-gold) !important;
}
.pg-verificar .hero-banner .hero-subtitulo { color: var(--vc-soft) !important; margin-left: 0; }
.pg-verificar .hero-banner .hero-subtitulo strong { color: var(--vc-fg); }
.pg-verificar .hero-trust li {
  background: transparent;
  border: 1px solid rgba(230, 194, 122, .35);
  border-radius: 0;
  box-shadow: none;
  color: var(--vc-fg);
  font-weight: 600;
}
.pg-verificar .hero-banner .hero-trust li svg { color: var(--vc-gold); }
.pg-verificar .hero-banner .hero-cta-primario {
  background: var(--vc-gold);
  color: var(--vc-ink) !important;
  border-radius: 0;
  box-shadow: none;
  font-family: var(--vc-font);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 16px 24px;
}
.pg-verificar .hero-banner .hero-cta-primario * { color: inherit; }
.pg-verificar .hero-banner .hero-cta-primario:hover { background: var(--vc-gold-hi); filter: none; box-shadow: none; transform: translateY(-2px); }
.pg-verificar .hero-banner .hero-stat-num { font-family: var(--vc-display); font-weight: 400; font-size: 17px; color: var(--vc-fg); }
.pg-verificar .hero-banner .hero-stat-lbl { color: var(--vc-dim); }
.pg-verificar .hero-banner .hero-chevron { color: var(--vc-gold) !important; }

/* ─── Formulario ─────────────────────────────────────────────────────── */
.pg-verificar .card { border-color: var(--vc-hair); background: rgba(11, 15, 25, .78); }
.pg-verificar .formulario-card { border-color: var(--vc-line); }

.pg-verificar .campo-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--vc-dim);
}
.pg-verificar .campo-input,
.pg-verificar .campo-select {
  background-color: rgba(255, 255, 255, .035) !important;
  color: var(--vc-fg) !important;
  border-color: rgba(255, 255, 255, .14) !important;
}
.pg-verificar .campo-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23e6c27a'%3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 16px !important;
}
.pg-verificar .campo-input::placeholder { color: #6b7285; }
.pg-verificar .campo-input:focus,
.pg-verificar .campo-select:focus {
  border-color: var(--vc-gold) !important;
  box-shadow: 0 0 0 3px rgba(230, 194, 122, .16) !important;
}
.pg-verificar .campo-input.invalido { border-color: var(--vc-bad) !important; }
.pg-verificar .campo-input.valido { border-color: rgba(63, 213, 138, .6) !important; }
.pg-verificar .campo-select option { background: var(--vc-panel) !important; color: var(--vc-fg) !important; }
.pg-verificar .input-icono { color: var(--vc-gold); opacity: .8; }
.pg-verificar .campo-error { color: var(--vc-bad-text); }

.pg-verificar .didit-badge {
  border: 1px solid var(--vc-line);
  border-radius: 0;
  background: transparent;
  color: var(--vc-gold);
  letter-spacing: .04em;
}

/* Modos de verificación */
.pg-verificar .modo-titulo { color: var(--vc-dim); }
.pg-verificar .modo-card-inner {
  background: rgba(255, 255, 255, .025);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 0;
}
.pg-verificar .modo-card:hover .modo-card-inner {
  border-color: rgba(230, 194, 122, .45);
  box-shadow: none;
}
.pg-verificar .modo-card input[type="radio"]:focus-visible + .modo-card-inner { outline-color: var(--vc-gold); }
.pg-verificar .modo-card input[type="radio"]:checked + .modo-card-inner {
  border-color: var(--vc-gold);
  background: rgba(230, 194, 122, .07);
  box-shadow: inset 0 0 0 1px var(--vc-gold);
}
.pg-verificar .modo-card.modo-card-pulse .modo-card-inner { animation-name: vcModoPulso; }
@keyframes vcModoPulso {
  0%   { transform: scale(1);    box-shadow: inset 0 0 0 1px var(--vc-gold), 0 0 0 0 rgba(230, 194, 122, .35); }
  35%  { transform: scale(1.02); box-shadow: inset 0 0 0 1px var(--vc-gold), 0 0 0 8px rgba(230, 194, 122, .12); }
  100% { transform: scale(1);    box-shadow: inset 0 0 0 1px var(--vc-gold), 0 0 0 0 rgba(230, 194, 122, 0); }
}
.pg-verificar .modo-card-icono {
  background: rgba(255, 255, 255, .05);
  border-radius: 0;
  color: var(--vc-soft) !important;
}
.pg-verificar .modo-card input[type="radio"]:checked + .modo-card-inner .modo-card-icono {
  background: var(--vc-gold);
  color: var(--vc-ink) !important;
}
.pg-verificar .modo-card-titulo { color: var(--vc-fg); font-weight: 700; }
.pg-verificar .modo-card-sub { color: var(--vc-dim); }
.pg-verificar .modo-card-sub strong { color: var(--vc-gold) !important; }
.pg-verificar .modo-card-badge {
  background: transparent !important;
  border: 1px solid var(--vc-line) !important;
  border-radius: 0;
  color: var(--vc-gold) !important;
}
.pg-verificar .modo-card-check { background: var(--vc-gold); color: var(--vc-ink); border-radius: 0; }

/* Autorización */
.pg-verificar .checkbox-label:has(.checkbox-input:checked) {
  background: rgba(230, 194, 122, .06);
  border-color: rgba(230, 194, 122, .45);
}
.pg-verificar .checkbox-custom { border-radius: 0; }
.pg-verificar .checkbox-input:checked + .checkbox-custom {
  background: var(--vc-gold);
  border-color: var(--vc-gold);
  box-shadow: none;
}
.pg-verificar .checkbox-input:checked + .checkbox-custom::after { color: var(--vc-ink); }
.pg-verificar .checkbox-texto strong { color: var(--vc-fg); }

/* Botones */
.pg-verificar .btn-verificar,
.pg-verificar .btn-pdf {
  background: var(--vc-gold);
  color: var(--vc-ink);
  box-shadow: none;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.pg-verificar .btn-verificar { padding: 18px 15px; }
.pg-verificar .btn-verificar::before { display: none; }
.pg-verificar .btn-verificar:hover:not(:disabled),
.pg-verificar .btn-pdf:hover:not(:disabled) { background: var(--vc-gold-hi); box-shadow: none; }
.pg-verificar .btn-pdf:disabled { background: var(--surface-3); color: var(--text-3); }
.pg-verificar #btn-generar-contrato,
.pg-verificar .btn-nueva {
  background: transparent !important;
  border: 1px solid rgba(230, 194, 122, .5) !important;
  color: var(--vc-fg) !important;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.pg-verificar #btn-generar-contrato:hover,
.pg-verificar .btn-nueva:hover { border-color: var(--vc-gold) !important; color: var(--vc-gold) !important; }

/* ─── Progreso y código QR ───────────────────────────────────────────── */
.pg-verificar .barra-relleno { background: linear-gradient(90deg, var(--vc-gold-deep), var(--vc-gold-hi)); }
.pg-verificar .paso-icono-wrapper.en-progreso { border-color: rgba(230, 194, 122, .5); animation-name: vcPasoPulso; }
.pg-verificar .paso.esperando-cliente .paso-icono-wrapper { border-color: rgba(230, 194, 122, .5) !important; }
@keyframes vcPasoPulso {
  from { box-shadow: 0 0 0 0 rgba(230, 194, 122, .45); }
  to   { box-shadow: 0 0 0 8px rgba(230, 194, 122, 0); }
}
.pg-verificar .didit-qr-card {
  background: rgba(230, 194, 122, .04);
  border: 1px solid var(--vc-line);
}
.pg-verificar .didit-qr-imagen { border-radius: 0; }
.pg-verificar .didit-url-wrapper textarea {
  border-color: var(--vc-line);
  background: rgba(230, 194, 122, .05);
  color: var(--vc-gold);
  border-radius: 0;
}
.pg-verificar .didit-mensaje-wrapper { border-radius: 0; border-color: var(--vc-hair); }
.pg-verificar .didit-mensaje-texto { border-radius: 0; color: var(--vc-soft); }
.pg-verificar .didit-mensaje-texto #didit-mensaje-enlace { color: var(--vc-gold); }
.pg-verificar .didit-mensaje-btn { color: var(--vc-gold); background: transparent; border-color: var(--vc-line); border-radius: 0; }
.pg-verificar .didit-btn-whatsapp,
.pg-verificar .didit-btn-copiar-outline { border-radius: 0; font-size: 13px; letter-spacing: .06em; }
/* Letra oscura sobre el verde de WhatsApp: la blanca casi no se leía */
.pg-verificar .didit-btn-whatsapp { color: var(--vc-ink); box-shadow: none; }
.pg-verificar .didit-btn-copiar-outline { border-color: rgba(230, 194, 122, .5); color: var(--vc-fg); }
.pg-verificar .didit-btn-copiar-outline:hover { border-color: var(--vc-gold); color: var(--vc-gold); background: transparent; }
.pg-verificar .didit-qr-nota { color: var(--vc-dim) !important; }

/* ─── Resultado ──────────────────────────────────────────────────────── */
.pg-verificar .semaforo-card { background: rgba(11, 15, 25, .85); }
.pg-verificar .resultado-card { background: rgba(11, 15, 25, .78) !important; }
.pg-verificar .resultado-titulo { color: var(--vc-fg) !important; }
.pg-verificar .resultado-detalle { color: var(--vc-soft) !important; }
/* La etiqueta baja a su propia línea cuando no cabe junto al título
   (antes se salía de la tarjeta y ensanchaba la pantalla del celular) */
.pg-verificar .resultado-card { min-width: 0; }
.pg-verificar .resultado-card-header { flex-wrap: wrap; row-gap: 8px; }
.pg-verificar .resultado-titulo { flex: 1 1 150px; }
.pg-verificar .resultado-badge { white-space: normal; border-radius: 0; background: rgba(255, 255, 255, .06) !important; color: var(--vc-dim) !important; }
.pg-verificar .resultado-badge.ok     { background: rgba(63, 213, 138, .12) !important; color: var(--vc-ok-text) !important; }
.pg-verificar .resultado-badge.alerta { background: rgba(255, 90, 95, .12) !important;  color: var(--vc-bad-text) !important; }
.pg-verificar .resultado-badge.warn   { background: rgba(242, 178, 61, .12) !important; color: var(--vc-warn-text) !important; }

.pg-verificar .confrontacion { border-radius: 0; }
.pg-verificar .confrontacion.ok {
  color: var(--vc-ok-text) !important;
  background: rgba(63, 213, 138, .07) !important;
  border-color: rgba(63, 213, 138, .35) !important;
}
.pg-verificar .confrontacion.alerta {
  color: var(--vc-bad-text) !important;
  background: rgba(255, 90, 95, .08) !important;
  border-color: rgba(255, 90, 95, .45) !important;
  box-shadow: none !important;
}
.pg-verificar .confrontacion.ok .confrontacion-titulo,
.pg-verificar .confrontacion.ok .confrontacion-detalle { color: var(--vc-ok-text) !important; }
.pg-verificar .confrontacion.alerta .confrontacion-titulo,
.pg-verificar .confrontacion.alerta .confrontacion-detalle { color: var(--vc-bad-text) !important; }

.pg-verificar .card-datos-didit {
  background: rgba(230, 194, 122, .04) !important;
  border-color: var(--vc-line) !important;
}
.pg-verificar .datos-didit-titulo { color: var(--vc-gold) !important; font-family: var(--vc-font); font-weight: 800; letter-spacing: .14em; }
.pg-verificar .datos-didit-fila { color: var(--vc-fg) !important; }
.pg-verificar .datos-didit-label { color: var(--vc-dim) !important; }
.pg-verificar .alerta-didit-rechazado { border-radius: 0; }

.pg-verificar .nota-legal { color: var(--vc-dim) !important; }
.pg-verificar #procuraduria-listas strong[style*="#dc3545"] { color: var(--vc-bad-text) !important; }
.pg-verificar #procuraduria-certificado a { color: var(--vc-gold) !important; }

/* Listas internacionales: el HTML que arma app.js trae fondos blancos */
.pg-verificar #bloque-listas-internacionales {
  border: 1px solid var(--vc-line) !important;
  background: rgba(11, 15, 25, .85) !important;
  padding: 24px 26px;
}
.pg-verificar #bloque-listas-internacionales > h3 {
  color: var(--vc-gold) !important;
  font-family: var(--vc-display);
  font-weight: 400;
  font-size: 16px;
}
.pg-verificar #bloque-listas-internacionales > p { color: var(--vc-soft) !important; }
.pg-verificar #banner-listas-internacionales { border-radius: 0 !important; }
.pg-verificar #grid-listas-internacionales > div {
  background: rgba(255, 255, 255, .03) !important;
  border-top-color: var(--vc-hair) !important;
  border-right-color: var(--vc-hair) !important;
  border-bottom-color: var(--vc-hair) !important;
  border-radius: 0 !important;
}
.pg-verificar #grid-listas-internacionales strong { color: var(--vc-fg) !important; }
.pg-verificar #grid-listas-internacionales div[style*="#6b7280"] { color: var(--vc-dim) !important; }
.pg-verificar #grid-listas-internacionales span[style*="#dc2626"] { color: var(--vc-bad-text) !important; }
.pg-verificar #grid-listas-internacionales span[style*="#16a34a"] { color: var(--vc-ok-text) !important; }
.pg-verificar #grid-listas-internacionales span[style*="#6b7280"] { color: var(--vc-dim) !important; }
.pg-verificar #analisis-riesgo-internacional { border-top-color: var(--vc-hair) !important; }
.pg-verificar #analisis-riesgo-internacional > div { border-radius: 0 !important; }
/* Franjas de color que pinta app.js: verde más oscuro y letra oscura sobre ámbar para que se lean */
.pg-verificar #analisis-riesgo-internacional > div[style*="#16a34a"],
.pg-verificar #banner-listas-internacionales[style*="rgb(22, 163, 74)"] { background: #0f7a3a !important; }
.pg-verificar #analisis-riesgo-internacional > div[style*="#f59e0b"] { color: var(--vc-ink) !important; }
.pg-verificar #analisis-riesgo-internacional p { color: var(--vc-soft) !important; }
.pg-verificar #analisis-riesgo-internacional p strong { color: var(--vc-fg); }

/* ─── Aviso flotante ─────────────────────────────────────────────────── */
.pg-verificar .mensaje-contenido {
  background: var(--vc-panel);
  border-color: rgba(255, 90, 95, .45);
  border-radius: 0;
  color: var(--vc-fg);
  box-shadow: 0 24px 60px -20px rgba(0, 0, 0, .9);
}
.pg-verificar .mensaje-contenido.exito { border-color: rgba(63, 213, 138, .45); }
.pg-verificar .mensaje-contenido.info  { border-color: var(--vc-line); border-left-color: var(--vc-gold); }
.pg-verificar .mensaje-texto { color: var(--vc-fg); }

/* ─── Ventana "Crea tu cuenta para verificar" (estilos en línea) ─────── */
.pg-verificar #modal-login > div {
  background: var(--vc-panel) !important;
  border: 1px solid var(--vc-line) !important;
  border-radius: 0 !important;
}
.pg-verificar #modal-login > div > div:first-child {
  background: transparent !important;
  border: 1px solid var(--vc-line) !important;
  border-radius: 0 !important;
}
.pg-verificar #modal-login > div > div:first-child svg { stroke: var(--vc-gold); }
.pg-verificar #modal-login h3 {
  font-family: var(--vc-display) !important;
  font-weight: 400 !important;
  font-size: 18px !important;
  line-height: 1.3;
  color: var(--vc-fg) !important;
}
.pg-verificar #modal-login p { color: var(--vc-soft) !important; }
.pg-verificar #modal-login p strong { color: var(--vc-fg) !important; }
.pg-verificar #modal-login p strong[style*="#4ade80"] { color: var(--vc-gold) !important; }
.pg-verificar #modal-login > div > div:nth-of-type(2) {
  background: rgba(230, 194, 122, .06) !important;
  border: 1px solid var(--vc-line) !important;
  border-radius: 0 !important;
  color: var(--vc-gold) !important;
}
.pg-verificar #btn-modal-comprar {
  background: var(--vc-gold) !important;
  color: var(--vc-ink) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.pg-verificar #btn-modal-comprar:hover { background: var(--vc-gold-hi) !important; box-shadow: none !important; }
.pg-verificar #modal-login a[href="/login"] {
  border: 1px solid rgba(230, 194, 122, .5) !important;
  border-radius: 0 !important;
  color: var(--vc-fg) !important;
}
.pg-verificar #modal-login a[href="/login"]:hover { border-color: var(--vc-gold) !important; color: var(--vc-gold) !important; }
.pg-verificar #modal-login button { color: var(--vc-dim) !important; }

/* ══════════════════════════════════════════════════════════════════════
   PANEL DEL CLIENTE (dashboard)
   ══════════════════════════════════════════════════════════════════════ */
.pg-panel .top-bar { margin-bottom: 36px; }
.pg-panel .user-name { color: var(--vc-soft); }
.pg-panel .btn-logout {
  background: transparent;
  border: 1px solid rgba(230, 194, 122, .5);
  border-radius: 0;
  color: var(--vc-fg);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 10px 14px;
}
.pg-panel .btn-logout:hover { border-color: var(--vc-gold); color: var(--vc-gold); background: transparent; }
.pg-panel .spin { border-top-color: var(--vc-gold); }

.pg-panel .stat-card {
  background: rgba(11, 15, 25, .78);
  border: 1px solid var(--vc-hair);
  border-radius: 0;
  backdrop-filter: none;
}
.pg-panel .stat-card:first-child { border-color: var(--vc-line); }
.pg-panel .stat-label { color: var(--vc-dim); letter-spacing: .14em; }
.pg-panel .stat-val {
  font-family: var(--vc-display);
  font-weight: 400;
  letter-spacing: -0.02em;
  color: var(--vc-fg);
}
.pg-panel .stat-val.verde { color: var(--vc-gold); }
.pg-panel .stat-sub { color: var(--vc-dim); }

/* Las tarjetas de acción venían en azul, verde esmeralda y morado (con estilos en línea) */
.pg-panel .cta-verificar {
  background: rgba(11, 15, 25, .78) !important;
  border: 1px solid var(--vc-hair) !important;
  border-radius: 0;
}
.pg-panel #cta-verificar { border-color: var(--vc-gold) !important; background: rgba(230, 194, 122, .05) !important; }
.pg-panel .cta-verificar::before { display: none; }
.pg-panel .cta-verificar-icon {
  background: transparent !important;
  border: 1px solid var(--vc-line) !important;
  border-radius: 0;
}
.pg-panel .cta-verificar-icon svg,
.pg-panel .cta-verificar-icon svg * { stroke: var(--vc-gold) !important; }
.pg-panel .cta-verificar-texto strong { color: var(--vc-fg); }
.pg-panel .cta-verificar-texto span { color: var(--vc-soft); }
.pg-panel .cta-verificar-texto span strong { color: var(--vc-gold) !important; display: inline; }
.pg-panel .btn-verificar-ahora {
  background: transparent !important;
  border: 1px solid rgba(230, 194, 122, .5) !important;
  border-radius: 0;
  box-shadow: none;
  color: var(--vc-fg);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 15px 22px;
}
.pg-panel .btn-verificar-ahora:hover { border-color: var(--vc-gold) !important; color: var(--vc-gold); box-shadow: none; }
.pg-panel #cta-verificar .btn-verificar-ahora,
.pg-panel .btn-recargar {
  background: var(--vc-gold) !important;
  border: 1px solid var(--vc-gold) !important;
  color: var(--vc-ink);
}
.pg-panel #cta-verificar .btn-verificar-ahora:hover,
.pg-panel .btn-recargar:hover { background: var(--vc-gold-hi) !important; color: var(--vc-ink); }
.pg-panel .cta-recargar {
  background: rgba(230, 194, 122, .05);
  border: 1px solid var(--vc-line);
  border-radius: 0;
}
.pg-panel .cta-recargar p { color: var(--vc-soft); }
.pg-panel .btn-recargar {
  border-radius: 0;
  box-shadow: none;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 15px 22px;
}
.pg-panel .btn-recargar:hover { box-shadow: none; }

.pg-panel #banner-bienvenida {
  background: rgba(230, 194, 122, .06) !important;
  border: 1px solid var(--vc-line) !important;
  border-radius: 0 !important;
  color: var(--vc-soft) !important;
}
.pg-panel #banner-bienvenida strong,
.pg-panel #banner-bienvenida a { color: var(--vc-gold) !important; }

/* Tablas e historial */
.pg-panel .section-title {
  font-family: var(--vc-display);
  font-weight: 400;
  font-size: 16px;
  letter-spacing: -0.01em;
  color: var(--vc-fg);
}
.pg-panel .section-title-toggle .flecha { color: var(--vc-gold); }
.pg-panel th { color: var(--vc-dim); letter-spacing: .12em; border-bottom-color: var(--vc-line); }
.pg-panel td { color: var(--vc-soft); border-bottom-color: var(--vc-hair); }
.pg-panel td strong { color: var(--vc-fg); }
.pg-panel tr:hover td { background: rgba(230, 194, 122, .03); }
.pg-panel .semaforo-VERDE    { color: var(--vc-ok-text); }
.pg-panel .semaforo-AMARILLO { color: var(--vc-warn-text); }
.pg-panel .semaforo-ROJO     { color: var(--vc-bad-text); }
.pg-panel .badge-plan,
.pg-panel .badge-plan.paquete20,
.pg-panel .badge-plan.premium {
  background: transparent;
  border: 1px solid var(--vc-line);
  border-radius: 0;
  color: var(--vc-gold);
}
.pg-panel .btn-pdf {
  background: transparent;
  border: 1px solid var(--vc-line);
  border-radius: 0;
  color: var(--vc-gold);
  font-weight: 700;
}
.pg-panel .btn-pdf:hover { background: rgba(230, 194, 122, .08); }
.pg-panel .empty-state { color: var(--vc-dim); }
.pg-panel .empty-state a,
.pg-panel #loading a { color: var(--vc-gold) !important; }

/* Calendario de carros */
.pg-panel #sec-calendario-cliente > div:nth-of-type(2) {
  background: rgba(11, 15, 25, .78) !important;
  border-color: var(--vc-hair) !important;
  border-radius: 0 !important;
}
.pg-panel .cal-tab-carro,
.pg-panel .btn-mes { border-radius: 0; }
.pg-panel .cal-tab-carro.activo { background: var(--vc-gold); color: var(--vc-ink); border-color: var(--vc-gold); }
.pg-panel .btn-mes:hover { border-color: var(--vc-gold); color: var(--vc-gold); }
.pg-panel .dia-cli { border-radius: 2px; }
.pg-panel .cal-d-cli-header > div { color: var(--vc-dim); }
/* Grises muy oscuros que pinta el JS ("—" sin PDF, "Sin registro") */
.pg-panel td span[style*="#475569"],
.pg-panel td span[style*="#64748b"] { color: var(--vc-dim) !important; }
.pg-panel .dia-cli.hoy { outline-color: var(--vc-gold); }

/* Ventana para cancelar una reserva y avisos */
.pg-panel .rsv-modal {
  background: var(--vc-panel);
  border: 1px solid var(--vc-line);
  border-radius: 0;
}
.pg-panel .rsv-modal h3 { font-family: var(--vc-display); font-weight: 400; font-size: 17px; }
.pg-panel .rsv-modal textarea { border-radius: 0 !important; }
.pg-panel .rsv-modal textarea:focus { outline: none; border-color: var(--vc-gold) !important; }
.pg-panel .rsv-btn { border-radius: 0; }
.pg-panel .rsv-btn-close { background: transparent; border-color: rgba(230, 194, 122, .5); color: var(--vc-fg); }
.pg-panel .rsv-btn-close:hover { background: transparent; border-color: var(--vc-gold); color: var(--vc-gold); }
.pg-panel .toast { border-radius: 0; }
.pg-panel .vc-legal { margin-top: 8px; padding-top: 24px; border-top: 1px solid var(--vc-hair); }

/* ══════════════════════════════════════════════════════════════════════
   PAGO EXITOSO Y PAGO NO PROCESADO
   ══════════════════════════════════════════════════════════════════════ */
.pg-pago .vc-logo { position: relative; z-index: 1; margin-bottom: 26px; }
.pg-pago .card {
  background: rgba(11, 15, 25, .9);
  border: 1px solid var(--vc-line);
  border-radius: 0;
  box-shadow: 0 40px 90px -40px rgba(0, 0, 0, .9);
}
.pg-pago h1 {
  font-family: var(--vc-display);
  font-weight: 400;
  font-size: 24px;
  line-height: 1.25;
  letter-spacing: -0.01em;
}
.pg-pago .subtitle { color: var(--vc-soft); }
.pg-pago .subtitle strong { color: var(--vc-fg) !important; }
.pg-pago hr { border-top-color: var(--vc-hair); }

/* Éxito y cargando: el círculo pasa a dorado, como el logo */
.pg-pago #card-exito .icon-circle,
.pg-pago #card-loading .icon-circle {
  background: var(--vc-gold) !important;
  box-shadow: 0 0 40px rgba(230, 194, 122, .35) !important;
}
.pg-pago #card-exito .icon-circle svg,
.pg-pago #card-loading .icon-circle svg { stroke: var(--vc-ink) !important; }
.pg-pago .icon-ring { background: conic-gradient(from 0deg, rgba(230, 194, 122, .7), rgba(230, 194, 122, 0) 60%, rgba(230, 194, 122, .35) 100%); }
.pg-pago .icon-ring::after { background: var(--vc-panel); }
.pg-pago #card-exito .badge {
  background: transparent;
  border: 1px solid var(--vc-line);
  border-radius: 0;
  color: var(--vc-gold);
  letter-spacing: .14em;
}
.pg-pago #card-exito .badge-dot { background: var(--vc-gold); box-shadow: none; border-radius: 0; }
.pg-pago .badge { border-radius: 0 !important; }

.pg-pago .step-num {
  background: transparent;
  border: 1px solid var(--vc-line);
  border-radius: 0;
  color: var(--vc-gold);
}
.pg-pago .step-text { color: var(--vc-soft); }
.pg-pago .step-text strong { color: var(--vc-fg); }

.pg-pago .causas { background: rgba(255, 255, 255, .025); border-color: var(--vc-hair); border-radius: 0; }
.pg-pago .causas-titulo { color: var(--vc-dim); letter-spacing: .14em; }
.pg-pago .causa-item { color: var(--vc-soft); }

/* Botón principal dorado; el secundario con línea */
.pg-pago .btn-ir,
.pg-pago .btn-reintentar {
  background: var(--vc-gold) !important;
  color: var(--vc-ink) !important;
  border: 1px solid var(--vc-gold) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 17px 14px !important;
}
.pg-pago .btn-ir:hover,
.pg-pago .btn-reintentar:hover { background: var(--vc-gold-hi) !important; }
.pg-pago .btn-ir[href="/verificar"],
.pg-pago .btn-demo {
  background: transparent !important;
  border: 1px solid rgba(230, 194, 122, .5) !important;
  border-radius: 0 !important;
  color: var(--vc-fg) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 15px 14px !important;
}
.pg-pago .btn-ir[href="/verificar"]:hover,
.pg-pago .btn-demo:hover { border-color: var(--vc-gold) !important; color: var(--vc-gold) !important; }
.pg-pago #card-rechazado a[href="/"] { color: var(--vc-dim) !important; }
/* Estos dos enlaces traían la letra anterior escrita en el HTML */
.pg-pago .btn-ir[href="/verificar"],
.pg-pago #card-rechazado a[href="/"] { font-family: var(--vc-font) !important; }
.pg-pago #card-rechazado a[href="/"]:hover { color: var(--vc-gold) !important; }

/* "veryficol · powered by Didit" casi no se veía (gris muy oscuro) */
.pg-pago .brand { color: var(--vc-dim); }
.pg-pago .brand-dot { background: var(--vc-dim); }
.pg-pago .vc-legal { position: relative; z-index: 1; margin-top: 22px; }

/* ══════════════════════════════════════════════════════════════════════
   CREAR CONTRASEÑA (usa también los estilos de login: pg-acceso)
   ══════════════════════════════════════════════════════════════════════ */
.pg-clave #titulo {
  font-family: var(--vc-display);
  font-weight: 400;
  font-size: clamp(20px, 5vw, 24px);
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: var(--vc-fg);
  margin: 26px 0 8px;
}
.pg-clave .strength-bar { border-radius: 0; }
.pg-clave .strength-label { color: var(--vc-dim); }
.pg-clave .req-item { color: var(--vc-dim); }
.pg-clave .req-item.ok { color: var(--vc-ok-text); }
.pg-clave .req-icon { border-radius: 0; }
.pg-clave .success-msg { color: var(--vc-ok-text); line-height: 1.6; }
.pg-clave .success-msg a { color: var(--vc-gold) !important; }

/* ══════════════════════════════════════════════════════════════════════
   VALIDAR REPORTE (era una página clara)
   ══════════════════════════════════════════════════════════════════════ */
.pg-validar .vc-logo { margin-bottom: 10px; }
.pg-validar .card {
  background: rgba(11, 15, 25, .9);
  border: 1px solid var(--vc-line);
  border-radius: 0;
  box-shadow: 0 40px 90px -40px rgba(0, 0, 0, .9);
}
.pg-validar .subtitulo { color: var(--vc-dim); letter-spacing: .14em; text-transform: uppercase; font-size: 11px; font-weight: 700; }
.pg-validar .spinner { border-color: rgba(255, 255, 255, .1); border-top-color: var(--vc-gold); }
.pg-validar #cargando p { color: var(--vc-soft) !important; }

.pg-validar .icono-estado { border-radius: 0; }
.pg-validar .icono-valido   { background: rgba(63, 213, 138, .12); border: 1px solid rgba(63, 213, 138, .4); }
.pg-validar .icono-vencido  { background: rgba(242, 178, 61, .12); border: 1px solid rgba(242, 178, 61, .4); }
.pg-validar .icono-invalido { background: rgba(255, 90, 95, .12);  border: 1px solid rgba(255, 90, 95, .4); }
.pg-validar .titulo-estado { font-family: var(--vc-display); font-weight: 400; font-size: 20px; letter-spacing: -0.01em; }
.pg-validar .titulo-valido   { color: var(--vc-ok-text); }
.pg-validar .titulo-vencido  { color: var(--vc-warn-text); }
.pg-validar .titulo-invalido { color: var(--vc-bad-text); }
.pg-validar .desc-estado { color: var(--vc-soft); }

.pg-validar .ficha { background: rgba(255, 255, 255, .025); border-color: var(--vc-hair); border-radius: 0; }
.pg-validar .ficha-fila { border-bottom-color: var(--vc-hair); }
.pg-validar .ficha-label { color: var(--vc-dim); }
.pg-validar .ficha-valor { color: var(--vc-fg); }
.pg-validar .badge { border-radius: 0; }
.pg-validar .badge-VERDE    { background: rgba(63, 213, 138, .12); color: var(--vc-ok-text); }
.pg-validar .badge-AMARILLO { background: rgba(242, 178, 61, .12); color: var(--vc-warn-text); }
.pg-validar .badge-ROJO     { background: rgba(255, 90, 95, .12);  color: var(--vc-bad-text); }

.pg-validar .fuentes-titulo { color: var(--vc-dim); letter-spacing: .14em; font-weight: 700; }
.pg-validar .fuente-item { color: var(--vc-soft); }
.pg-validar .fuente-dot { border-radius: 0; }
.pg-validar .fuente-ok { background: var(--vc-ok); }
.pg-validar .fuente-no { background: #4a5163; }
.pg-validar .aviso { color: var(--vc-dim); }
.pg-validar .error-box {
  background: rgba(255, 90, 95, .08);
  border-color: rgba(255, 90, 95, .45);
  border-radius: 0;
  color: var(--vc-bad-text);
  line-height: 1.55;
}
.pg-validar .error-box strong { color: var(--vc-fg); }
.pg-validar footer { color: var(--vc-dim); text-align: center; }
.pg-validar footer a { color: var(--vc-gold); }
.pg-validar .vc-legal { margin-top: 14px; }

/* ══════════════════════════════════════════════════════════════════════
   VERIFICACIÓN COMPLETADA (la ve la persona verificada; usa también pg-pago)
   ══════════════════════════════════════════════════════════════════════ */
/* Antes la página no se podía desplazar: en celulares bajos el botón quedaba cortado */
body.pg-completada { overflow-x: hidden; overflow-y: auto; }
.pg-completada .icon-circle {
  background: var(--vc-gold);
  box-shadow: 0 0 40px rgba(230, 194, 122, .35);
}
.pg-completada .icon-circle svg { stroke: var(--vc-ink); }
.pg-completada .badge {
  background: transparent;
  border: 1px solid var(--vc-line);
  color: var(--vc-gold);
  letter-spacing: .14em;
}
.pg-completada .badge-dot { background: var(--vc-gold); box-shadow: none; border-radius: 0; }
.pg-completada .shield-shimmer-inner {
  background: transparent;
  border: 1px solid var(--vc-line);
  border-radius: 0;
  color: var(--vc-soft);
}
.pg-completada .shield-shimmer-inner svg { color: var(--vc-gold); }
.pg-completada .btn-close {
  background: var(--vc-gold);
  color: var(--vc-ink);
  border-radius: 0;
  box-shadow: none;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 17px 14px;
}
.pg-completada .btn-close:hover { background: var(--vc-gold-hi); box-shadow: none; }
.pg-completada .hint-back { background: rgba(230, 194, 122, .05); border-color: var(--vc-line); border-radius: 0; color: var(--vc-soft); }

/* ══════════════════════════════════════════════════════════════════════
   HERRAMIENTAS INTERNAS: administración, monitor, calendario y contratos
   ══════════════════════════════════════════════════════════════════════ */
/* Placas, cédulas y llaves se leen mejor con letra de ancho fijo */
body.tema-oro code,
body.tema-oro .mono,
body.tema-oro .api-key-cell,
body.tema-oro .sr-placa,
body.tema-oro .v-placa { font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; }

/* ─── Ingreso de administrador (usa también pg-acceso) ──────────────── */
.pg-admin-login .badge-admin {
  background: transparent;
  border: 1px solid var(--vc-line);
  border-radius: 0;
  color: var(--vc-gold);
  letter-spacing: .14em;
  margin-bottom: 22px;
}
.pg-admin-login .vc-logo { display: flex; }

/* ─── Panel de administración (era claro) ────────────────────────────── */
body.pg-admin {
  --verde: #3fd58a; --verde-claro: rgba(63, 213, 138, .14);
  --amarillo: #f6c870; --amarillo-claro: rgba(242, 178, 61, .14);
  --rojo: #ff9a9d; --rojo-claro: rgba(255, 90, 95, .14);
  --azul: #e6c27a; --azul-oscuro: #f4f1ea; --azul-claro: rgba(230, 194, 122, .12);
  --gris-900: #f4f1ea; --gris-700: #b9bfcc; --gris-500: #8a91a3;
  --gris-300: rgba(255, 255, 255, .16); --gris-100: rgba(255, 255, 255, .07);
  --blanco: #0b0f19;
}
.pg-admin .navbar { background: rgba(4, 6, 11, .95); border-bottom: 1px solid var(--vc-hair); }
.pg-admin .nav-logo {
  width: 26px;
  height: 26px;
  border-radius: 0;
  font-size: 0;
  color: transparent;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'%3E%3Crect x='1' y='1' width='24' height='24' fill='none' stroke='%23e6c27a' stroke-width='2'/%3E%3Cpath d='M7 13.5l4 4L19 9' fill='none' stroke='%23e6c27a' stroke-width='2.6' stroke-linecap='square'/%3E%3C/svg%3E") center / contain no-repeat;
}
.pg-admin .nav-titulo { font-weight: 800; font-size: 21px; letter-spacing: -0.02em; }
.pg-admin .nav-badge {
  background: transparent;
  border: 1px solid var(--vc-line);
  border-radius: 0;
  color: var(--vc-gold);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.pg-admin .nav-link { color: var(--vc-soft); }
.pg-admin .nav-link:hover { background: transparent; color: var(--vc-gold); }
.pg-admin h1 { font-family: var(--vc-display); font-weight: 400; font-size: 20px; letter-spacing: -0.01em; }
.pg-admin .btn-refresh,
.pg-admin .btn-nuevo,
.pg-admin .btn-guardar {
  background: var(--vc-gold);
  color: var(--vc-ink);
  border-radius: 0;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-size: 12px;
}
.pg-admin .btn-refresh:hover,
.pg-admin .btn-nuevo:hover,
.pg-admin .btn-guardar:hover { background: var(--vc-gold-hi); }
.pg-admin .btn-cancelar {
  background: transparent;
  border: 1px solid rgba(230, 194, 122, .5);
  border-radius: 0;
  color: var(--vc-fg);
}
.pg-admin .btn-cancelar:hover { border-color: var(--vc-gold); color: var(--vc-gold); }
/* Botones del detalle de cliente: "Agregar fichas" dorado; "Habilitar…" con línea; "Deshabilitar…" en rojo */
.pg-admin .btn-nuevo[style*="#16a34a"] { background: var(--vc-gold) !important; color: var(--vc-ink); }
.pg-admin .btn-nuevo[style*="#1e3a5f"],
.pg-admin .btn-nuevo[style*="#7c3aed"],
.pg-admin .btn-nuevo[style*="#0891b2"],
.pg-admin .btn-nuevo[style*="#10b981"] {
  background: transparent !important;
  border: 1px solid rgba(230, 194, 122, .5);
  color: var(--vc-fg);
}
.pg-admin .btn-nuevo[style*="#dc2626"] { background: #c62f34 !important; color: #fff; }

.pg-admin .tabs { border-radius: 0; box-shadow: none; border: 1px solid var(--vc-hair); }
.pg-admin .tab { border-radius: 0; color: var(--vc-dim); }
.pg-admin .tab.activo { background: var(--vc-gold); color: var(--vc-ink); }
.pg-admin .tab:hover:not(.activo) { color: var(--vc-fg); }

.pg-admin .metrica-card,
.pg-admin .ingreso-card,
.pg-admin .card {
  border-radius: 0;
  box-shadow: none;
  border: 1px solid var(--vc-hair);
}
.pg-admin .metrica-card,
.pg-admin .ingreso-card { border-top: 2px solid var(--vc-gold); }
/* El JS pinta el color en los cuatro bordes: solo se deja la línea de arriba */
.pg-admin .metrica-card[style],
.pg-admin .ingreso-card[style] {
  border-right-color: var(--vc-hair) !important;
  border-bottom-color: var(--vc-hair) !important;
  border-left-color: var(--vc-hair) !important;
}
.pg-admin .metrica-card[style*="#2563eb"],
.pg-admin .ingreso-card[style*="#2563eb"] { border-top-color: var(--vc-gold) !important; }
.pg-admin .metrica-valor,
.pg-admin .ingreso-val { font-family: var(--vc-display); font-weight: 400; letter-spacing: -0.02em; }
.pg-admin .metrica-valor { font-size: 30px; }
.pg-admin .metrica-valor[style*="#2563eb"] { color: var(--vc-fg) !important; }
.pg-admin .metrica-valor[style*="#dc2626"],
.pg-admin .portal-pct[style*="#dc2626"],
.pg-admin td[style*="#dc2626"],
.pg-admin p[style*="#dc2626"] { color: var(--vc-bad-text) !important; }
.pg-admin .ingreso-val { color: var(--vc-gold); }
.pg-admin .ingreso-val[style*="#2563eb"] { color: var(--vc-fg) !important; }
.pg-admin [style*="color:#7c3aed"] { color: #b89cff !important; }
.pg-admin td[style*="#16a34a"],
.pg-admin .val[style*="#16a34a"] { color: var(--vc-ok-text) !important; }
.pg-admin .seccion-titulo { font-family: var(--vc-display); font-weight: 400; font-size: 14px; letter-spacing: -0.01em; }

.pg-admin .dist-chip,
.pg-admin .chip-sm,
.pg-admin .chip-activo,
.pg-admin .chip-pago { border-radius: 0; }
.pg-admin .chip-sm[style*="#dbeafe"] {
  background: transparent !important;
  border: 1px solid var(--vc-line);
  color: var(--vc-gold) !important;
}
.pg-admin .tabla tr:hover td { background: rgba(230, 194, 122, .04); }
.pg-admin .row-cliente:hover td { background: rgba(230, 194, 122, .06) !important; }
.pg-admin .portal-barra-wrap,
.pg-admin .portal-barra { border-radius: 0; }
.pg-admin .btn-pdf {
  background: transparent;
  border: 1px solid var(--vc-line);
  border-radius: 0;
  color: var(--vc-gold);
}
.pg-admin .btn-pdf:hover { background: rgba(230, 194, 122, .08); }

/* Ventanas */
.pg-admin .modal-overlay { background: rgba(0, 0, 0, .7); }
.pg-admin .modal {
  background: var(--vc-panel);
  border: 1px solid var(--vc-line);
  border-radius: 0;
}
.pg-admin .modal h2 { font-family: var(--vc-display); font-weight: 400; font-size: 17px; letter-spacing: -0.01em; }
.pg-admin .campo-m input,
.pg-admin .campo-m select,
.pg-admin textarea {
  background: rgba(255, 255, 255, .035);
  color: var(--vc-fg);
  border-radius: 0;
}
.pg-admin textarea { border-color: rgba(255, 255, 255, .16) !important; border-radius: 0 !important; }
.pg-admin select[style*="background:#fff"] {
  background: #10151f !important;
  color: var(--vc-fg) !important;
  border-color: rgba(255, 255, 255, .16) !important;
  border-radius: 0 !important;
}
.pg-admin select option,
.pg-admin select optgroup { background: var(--vc-panel); color: var(--vc-fg); }
.pg-admin .btn-cancel-rsv { background: #c62f34; color: #fff; border-radius: 0; }
.pg-admin .btn-cancel-rsv:hover { background: #a8262b; }
.pg-admin .toast-adm { border-radius: 0; }
.pg-admin .toast-adm.success { background: #157a46; }
.pg-admin .toast-adm.error { background: #b3262b; }

/* Detalle de cliente */
.pg-admin .det-card { background: rgba(255, 255, 255, .03); border-radius: 0; }
.pg-admin .det-tab { color: var(--vc-dim); }

/* Calendarios */
.pg-admin .cal-car-tab,
.pg-admin .btn-nav-mes { border-radius: 0; color: var(--vc-fg); }
/* "Refrescar" y "Ver Gantt" usan el botón de flecha (32 px fijos) y se partían en dos líneas */
.pg-admin .btn-nav-mes { width: auto; min-width: 32px; padding: 0 10px; white-space: nowrap; }
.pg-admin .cal-car-tab.activo { background: var(--vc-gold); color: var(--vc-ink); border-color: var(--vc-gold); }
.pg-admin .cal-dia { border-radius: 2px; }
.pg-admin .cal-dia.disponible   { background: rgba(63, 213, 138, .14); color: var(--vc-ok-text); border-color: rgba(63, 213, 138, .4); }
.pg-admin .cal-dia.bloqueado    { background: rgba(255, 90, 95, .16); color: var(--vc-bad-text); border-color: rgba(255, 90, 95, .45); }
.pg-admin .cal-dia.sin-registro { background: rgba(255, 255, 255, .04); color: var(--vc-soft); border-color: var(--vc-hair); }
.pg-admin tr[style*="rgb(239, 246, 255)"] { background: rgba(230, 194, 122, .08) !important; outline-color: var(--vc-gold) !important; }
.pg-admin span[style*="background:#d1fae5"] { background: rgba(63, 213, 138, .14) !important; color: var(--vc-ok-text) !important; border-radius: 0 !important; }
.pg-admin span[style*="background:#f3f4f6"] { background: rgba(255, 255, 255, .07) !important; color: var(--vc-dim) !important; border-radius: 0 !important; }
/* Leyendas de color escritas en el HTML */
.pg-admin span[style*="background:#fee2e2"] { background: rgba(255, 90, 95, .25) !important; border-color: rgba(255, 90, 95, .6) !important; }
.pg-admin span[style*="background:#dcfce7"] { background: rgba(63, 213, 138, .2) !important; border-color: rgba(63, 213, 138, .5) !important; }
.pg-admin span[style*="background:#e5e7eb"] { background: rgba(255, 255, 255, .14) !important; }
.pg-admin [style*="color:#6b7280"] { color: var(--vc-dim) !important; }
.pg-admin [style*="color:#111827"] { color: var(--vc-fg) !important; }
.pg-admin [style*="color:#374151"] { color: var(--vc-soft) !important; }
.pg-admin [style*="border-top:1px solid #e5e7eb"] { border-top-color: var(--vc-hair) !important; }

/* Calendario de fincas (tabla tipo Gantt, era blanca) */
.pg-admin .gf-wrap { background: var(--vc-panel); border-color: var(--vc-hair); border-radius: 0; }
.pg-admin .gf-table th,
.pg-admin .gf-table td { border-color: rgba(255, 255, 255, .07); }
.pg-admin .gf-table th { background: #10151f; color: var(--vc-dim); }
.pg-admin .gf-table th.gf-finca,
.pg-admin .gf-table td.gf-finca { background: var(--vc-panel); }
.pg-admin .gf-table th.gf-hoy { background: rgba(230, 194, 122, .18); color: var(--vc-gold); }
.pg-admin .gf-table td.gf-day.gf-hoy { background: rgba(230, 194, 122, .06); }
.pg-admin .gf-finca-name { color: var(--vc-fg); }
.pg-admin .gf-finca-sub { color: var(--vc-dim); }
.pg-admin .sw-adm .slider { background: #3a4152; }
.pg-admin .sw-adm input:checked + .slider { background: var(--vc-gold); }

/* Celular: las pestañas se desplazan de lado y la barra y el título bajan de línea
   (antes la página quedaba más ancha que la pantalla) */
.pg-admin .tabs { max-width: 100%; overflow-x: auto; }
.pg-admin .tab { white-space: nowrap; flex-shrink: 0; }
.pg-admin .container > div:first-child { flex-wrap: wrap; gap: 12px; }
@media (max-width: 700px) {
  .pg-admin .navbar { height: auto; min-height: 64px; flex-wrap: wrap; gap: 8px; padding: 10px 16px; }
  .pg-admin .navbar > div:last-child { flex-wrap: wrap; justify-content: flex-end; }
  .pg-admin .nav-badge { display: none; }
  .pg-admin .nav-link { padding: 8px 8px; }
  .pg-admin h1 { font-size: 17px; }
}

/* ─── Monitor de servicios ───────────────────────────────────────────── */
body.pg-monitor {
  --bg: #04060b; --panel: #0b0f19; --panel2: #10151f; --border: rgba(255, 255, 255, .1);
  --text: #f4f1ea; --muted: #8a91a3; --blue: #e6c27a; --err: #ff5a5f;
}
.pg-monitor h1 { font-family: var(--vc-display); font-weight: 400; font-size: 20px; letter-spacing: -0.01em; }
.pg-monitor .card,
.pg-monitor .token-card { border-radius: 0; }
.pg-monitor .token-card { background: rgba(230, 194, 122, .04); border-color: var(--vc-line); }
.pg-monitor .token-dias { font-family: var(--vc-display); font-weight: 400; letter-spacing: -0.02em; }
.pg-monitor .badge,
.pg-monitor .alerta,
.pg-monitor .bars b,
.pg-monitor #hb-tip { border-radius: 0; }
.pg-monitor .live-dot { background: var(--vc-gold); }
.pg-monitor #hb-tip { background: var(--vc-panel); }
.pg-monitor .top a {
  display: inline-flex;
  padding: 10px 14px;
  border: 1px solid rgba(230, 194, 122, .5);
  color: var(--vc-fg);
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.pg-monitor .top a:hover { border-color: var(--vc-gold); color: var(--vc-gold); }

/* ─── Calendario de reservas (Gantt de carros) ───────────────────────── */
body.pg-gantt {
  --bg: #04060b; --surface: #0b0f19; --surface2: #10151f; --border: rgba(255, 255, 255, .1);
  --accent: #e6c27a; --text: #f4f1ea; --muted: #b9bfcc; --dim: #8a91a3; --radius: 0px;
}
.pg-gantt .topbar { background: rgba(4, 6, 11, .95); }
.pg-gantt .topbar-brand .logo { background: transparent; border: 1px solid var(--vc-line); border-radius: 0; }
.pg-gantt .topbar a,
.pg-gantt .nav-btn,
.pg-gantt .search-input,
.pg-gantt .filter-select,
.pg-gantt .stats-pill,
.pg-gantt .gantt-bar,
.pg-gantt .toast { border-radius: 0; }
.pg-gantt .pill-blue { background: rgba(230, 194, 122, .12); }
.pg-gantt .sidebar-row { border-bottom-color: var(--vc-hair); }
.pg-gantt .sidebar-row.active { background: rgba(230, 194, 122, .08); }
.pg-gantt .gh-cell { border-right-color: rgba(255, 255, 255, .06); }
.pg-gantt .gh-cell.today { background: rgba(230, 194, 122, .14); }
.pg-gantt .gantt-row { border-bottom-color: rgba(255, 255, 255, .06); }
.pg-gantt .gantt-cell { border-right-color: rgba(255, 255, 255, .04); }
.pg-gantt .gantt-cell.today { background: rgba(230, 194, 122, .05); }
.pg-gantt .bar-c0 { background: linear-gradient(90deg, var(--vc-gold-deep), var(--vc-gold)); color: var(--vc-ink); }
.pg-gantt .t-info { background: var(--vc-panel); border-color: var(--vc-gold); color: var(--vc-gold); }

/* ─── Contrato CheckinAutos (conserva sus esquinas redondeadas de siempre) ── */
body.pg-contrato {
  --bg: #04060b; --surface: #0b0f19; --surface2: #10151f; --border: rgba(255, 255, 255, .12);
  --accent: #e6c27a; --accent-hover: #f1d394;
  --text: #f4f1ea; --text-muted: #b9bfcc; --text-dim: #8a91a3;
}
.pg-contrato .page-header .logo { background: transparent; border: 1px solid var(--vc-line); }
/* Un nombre de vehículo largo ya no ensancha la tarjeta (se recorta con "…") */
.pg-contrato .v-card { min-width: 0; }
/* Vehículos de a 2 por fila también en celulares angostos (antes 1 por fila por debajo de 400 px) */
@media (max-width: 400px) {
  .pg-contrato .vehicles-grid { grid-template-columns: 1fr 1fr; }
  .pg-contrato .v-card { padding: 12px; }
  .pg-contrato .v-placa { font-size: 14px; }
}
@media (max-width: 339px) {
  .pg-contrato .vehicles-grid { grid-template-columns: 1fr; }
}
.pg-contrato .page-header h1 { font-family: var(--vc-display); font-weight: 400; font-size: 18px; letter-spacing: -0.01em; }
.pg-contrato .card-title { letter-spacing: .14em; }
.pg-contrato .field input:focus,
.pg-contrato .field select:focus { box-shadow: 0 0 0 3px rgba(230, 194, 122, .16); }
.pg-contrato .v-card:hover:not(.v-occupied):not(.v-otro),
.pg-contrato .v-card.v-selected { background: rgba(230, 194, 122, .07); }
.pg-contrato .v-card.v-selected::after { color: var(--vc-ink); }
.pg-contrato .badge-info { background: rgba(230, 194, 122, .12); }
.pg-contrato .add-vehicle-btn:hover { background: rgba(230, 194, 122, .05); }
.pg-contrato .total-row.grand { background: rgba(230, 194, 122, .06); }
.pg-contrato .btn-primary { color: var(--vc-ink); font-weight: 800; letter-spacing: .06em; }
.pg-contrato .btn-primary:disabled { color: var(--vc-panel); }
.pg-contrato .btn-primary .spin { border-color: rgba(16, 19, 28, .25); border-top-color: var(--vc-ink); }
/* Letra oscura sobre el verde de WhatsApp: la blanca casi no se leía */
.pg-contrato .btn-success { background: #25D366; color: var(--vc-ink); }
.pg-contrato .msg-info { background: rgba(230, 194, 122, .08); border-color: var(--vc-line); color: var(--vc-gold); }
.pg-contrato .toast.toast-info { background: var(--vc-panel); border-color: var(--vc-gold); color: var(--vc-gold); }
.pg-contrato .success-icon { color: #03140b; }
.pg-contrato #multi-summary {
  background: rgba(230, 194, 122, .05) !important;
  border-color: var(--vc-line) !important;
}
.pg-contrato #multi-summary > div:first-child { color: var(--vc-gold) !important; }
.pg-contrato #multi-summary-total { border-top-color: var(--vc-line) !important; }
.pg-contrato #multi-summary-total-val { color: var(--vc-gold) !important; font-family: var(--vc-display); font-weight: 400 !important; }

/* ─── Contratos de fincas ────────────────────────────────────────────── */
body.pg-fincas {
  --verde: #e6c27a; --verde-d: #c9a254; --verde-l: #e6c27a;
  --bg: #04060b; --surface: #0b0f19; --surface2: #10151f;
  --border: rgba(255, 255, 255, .12); --text: #f4f1ea; --muted: #9aa1b1; --azul: #e6c27a;
}
.pg-fincas .nav { background: rgba(4, 6, 11, .95); }
.pg-fincas .nav .brand { display: flex; align-items: center; gap: 12px; }
.pg-fincas .brand-mod {
  padding: 4px 10px;
  border: 1px solid var(--vc-line);
  color: var(--vc-gold);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.pg-fincas .nav .links a:hover { color: var(--vc-gold); }
.pg-fincas h1 { font-family: var(--vc-display); font-weight: 400; font-size: 22px; letter-spacing: -0.01em; }
.pg-fincas .card h2 { font-family: var(--vc-display); font-weight: 400; font-size: 15px; letter-spacing: -0.01em; color: var(--vc-fg); }
/* Botones, interruptor y notas que van dentro del título conservan la letra normal */
.pg-fincas .card h2 * { font-family: var(--vc-font); letter-spacing: normal; }
.pg-fincas .card,
.pg-fincas .modal,
.pg-fincas .ctr-item,
.pg-fincas .cal-wrap,
.pg-fincas .field input,
.pg-fincas .field select,
.pg-fincas .field textarea,
.pg-fincas .arrendador-fijo,
.pg-fincas .badge,
.pg-fincas .btn,
.pg-fincas .btn-act,
.pg-fincas .cal-nav,
.pg-fincas .toast { border-radius: 0; }
.pg-fincas .cal-d { border-radius: 2px; }
.pg-fincas .btn { color: var(--vc-ink); font-weight: 800; }
.pg-fincas .btn:hover { background: var(--vc-gold-hi); }
.pg-fincas .btn.sec { color: var(--vc-fg); }
.pg-fincas .btn.sec:hover { background: transparent; color: var(--vc-gold); }
.pg-fincas .btn.danger,
.pg-fincas #cancel-rsv-btn { background: #c62f34 !important; color: #fff; }
.pg-fincas .badge.activa { background: rgba(63, 213, 138, .14); color: var(--vc-ok-text); }
.pg-fincas .ctr-item:hover { border-color: var(--vc-line); }
.pg-fincas .ctr-total { color: var(--vc-gold); }
.pg-fincas .btn-act.btn-pdf { background: transparent; color: var(--vc-gold); border-color: var(--vc-line); }
.pg-fincas .btn-act.btn-pdf:hover { background: rgba(230, 194, 122, .08); }
.pg-fincas .btn-act.btn-wa { color: var(--vc-ink); }
.pg-fincas .toast.ok { background: #157a46; color: #fff; }
.pg-fincas .arrendador-fijo { background: rgba(230, 194, 122, .06); border-color: var(--vc-line); }
.pg-fincas .cal-d.libre { color: #03140b; }
.pg-fincas .cal-d.ocupado { background: #c62f34; border-color: #a8262b; }
.pg-fincas .cal-d.pasado { color: var(--vc-dim); }
.pg-fincas .switch .slider { background: #3a4152; }

/* ─── Pie ────────────────────────────────────────────────────────────── */
.pg-verificar .footer {
  background: rgba(4, 6, 11, .9);
  border-top: 1px solid var(--vc-hair);
  color: var(--vc-dim);
  display: grid;
  gap: 10px;
}
