/* ═══════════════════════════════════════════════════════════════
   PRESTAMAR - Full Canvas Design System
   Estilo moderno tipo Brubank / Fintech
   Color primario: Azul fuerte
   ═══════════════════════════════════════════════════════════════ */

*, *::before, *::after {
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
}

:root {
    --pm-blue-900: #0B2545;
    --pm-blue-800: #0F3457;
    --pm-blue-700: #0A1D38;
    --pm-blue-600: #0B2545;
    --pm-blue-500: #00C9A7;
    --pm-blue-400: #5EEAD4;
    --pm-blue-100: #D8F5EE;
    --pm-blue-50: #EEF7F4;
    --pm-cyan: #00C9A7;
    --pm-green: #10b981;
    --pm-amber: #f59e0b;
    --pm-red: #ef4444;
    --pm-bg: #f8fafc;
    --pm-surface: #ffffff;
    --pm-text: #081B33;
    --pm-text-secondary: #64748b;
    --pm-text-muted: #94a3b8;
    --pm-border: #e2e8f0;
    --pm-gradient: linear-gradient(135deg, #0B2545 0%, #0A1D38 50%, #00C9A7 100%);
    --pm-gradient-light: linear-gradient(135deg, #EEF7F4 0%, #D8F5EE 100%);
    --pm-shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
    --pm-shadow: 0 4px 6px -1px rgba(0,0,0,0.07), 0 2px 4px -2px rgba(0,0,0,0.05);
    --pm-shadow-lg: 0 10px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.05);
    --pm-shadow-xl: 0 20px 50px -12px rgba(0,0,0,0.15);
    --pm-radius: 16px;
    --pm-radius-sm: 10px;
    --pm-radius-full: 9999px;

    /* Marca "Marea Profesional" — acento cálido para CTAs principales */
    --pm-coral: #FF6B45;
    --pm-coral-dark: #E8542F;
    --pm-font-heading: 'Manrope', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

h1, h2, h3, h4,
.pm-nav-logo, .pm-footer-logo,
.pm-hero-v2 h1, .pm-hero-card-amount,
.pm-sim-header h1, .pm-sim-result-amount,
.pm-dash-hero h1, .pm-dash-header h1,
.pm-section-header h2, .pm-howit-step h3,
.pm-benefits-v2-title, .pm-benefit-v2-white h3, .pm-benefit-v2-blue h3, .pm-benefit-v2-full-left h3,
.pm-cta-v2-box h2, .pm-razones-title, .pm-razon-card h3,
.pm-cooldown-card h3, .pm-auth-header h1, .pm-verify-title,
.pm-stat-value, .pm-cuota-amount, .pm-pay-amount {
    font-family: var(--pm-font-heading) !important;
    letter-spacing: -0.02em !important;
}

.pm-canvas {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    color: var(--pm-text) !important;
    line-height: 1.6 !important;
    background: var(--pm-bg) !important;
    min-height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
}

.pm-main {
    flex: 1 !important;
}

/* ═══════════════════════════════════════════
   NAVIGATION
   ═══════════════════════════════════════════ */

.pm-nav {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1000 !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-bottom: 1px solid transparent !important;
    transition: all 0.3s ease !important;
}

.pm-nav.scrolled {
    background: rgba(255,255,255,0.97) !important;
    border-bottom-color: var(--pm-border) !important;
    box-shadow: var(--pm-shadow-sm) !important;
}

.admin-bar .pm-nav {
    top: 32px !important;
}

.pm-nav-inner {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: 72px !important;
}

.pm-nav-logo {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 1.4rem !important;
    font-weight: 800 !important;
    color: var(--pm-blue-800) !important;
    text-decoration: none !important;
    letter-spacing: -0.5px !important;
}

.pm-nav-logo-icon {
    font-size: 1.6rem !important;
}

.pm-nav-links {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.pm-nav-link {
    padding: 8px 16px !important;
    color: var(--pm-text-secondary) !important;
    text-decoration: none !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    border-radius: var(--pm-radius-sm) !important;
    transition: all 0.2s ease !important;
}

.pm-nav-link:hover {
    color: var(--pm-blue-700) !important;
    background: var(--pm-blue-50) !important;
}

.pm-nav-auth {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-left: 16px !important;
}

.pm-nav-btn-outline,
.pm-nav-btn-outline:visited {
    padding: 8px 20px !important;
    border: 2px solid var(--pm-blue-600) !important;
    color: var(--pm-blue-600) !important;
    border-radius: var(--pm-radius-full) !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    background: transparent !important;
}

.pm-nav-btn-outline:hover {
    background: var(--pm-blue-50) !important;
}

.pm-nav-btn-solid,
.pm-nav-btn-solid:visited {
    padding: 8px 20px !important;
    background: var(--pm-blue-600) !important;
    color: #fff !important;
    border-radius: var(--pm-radius-full) !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    border: 2px solid var(--pm-blue-600) !important;
}

.pm-nav-btn-solid:hover {
    background: var(--pm-blue-700) !important;
    border-color: var(--pm-blue-700) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(11,37,69,0.3) !important;
}

.pm-nav-toggle {
    display: none !important;
    flex-direction: column !important;
    gap: 5px !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    padding: 8px !important;
}

.pm-nav-toggle span {
    display: block !important;
    width: 24px !important;
    height: 2px !important;
    background: var(--pm-text) !important;
    border-radius: 2px !important;
    transition: all 0.3s ease !important;
}

.pm-nav-toggle.open span:nth-child(1) { transform: rotate(45deg) translateY(7px) !important; }
.pm-nav-toggle.open span:nth-child(2) { opacity: 0 !important; }
.pm-nav-toggle.open span:nth-child(3) { transform: rotate(-45deg) translateY(-7px) !important; }

/* ═══════════════════════════════════════════
   BUTTONS
   ═══════════════════════════════════════════ */

.pm-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 14px 32px !important;
    border-radius: var(--pm-radius-full) !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    text-decoration: none !important;
    border: none !important;
    outline: none !important;
    line-height: 1.4 !important;
    font-family: inherit !important;
}

.pm-btn-primary, .pm-btn-primary:visited, .pm-btn-primary:hover, .pm-btn-primary:focus, .pm-btn-primary:active {
    background: var(--pm-blue-600) !important;
    color: #fff !important;
}
.pm-btn-primary:hover {
    background: var(--pm-blue-700) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(11,37,69,0.35) !important;
}

.pm-btn-white, .pm-btn-white:visited, .pm-btn-white:hover, .pm-btn-white:focus {
    background: #fff !important;
    color: var(--pm-blue-700) !important;
}
.pm-btn-white:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.15) !important;
}

.pm-btn-ghost, .pm-btn-ghost:visited {
    background: rgba(255,255,255,0.15) !important;
    color: #fff !important;
    border: 2px solid rgba(255,255,255,0.4) !important;
}
.pm-btn-ghost:hover {
    background: rgba(255,255,255,0.25) !important;
    border-color: #fff !important;
}

.pm-btn-outline, .pm-btn-outline:visited {
    background: transparent !important;
    color: var(--pm-blue-600) !important;
    border: 2px solid var(--pm-blue-200, #BEEFE3) !important;
}
.pm-btn-outline:hover {
    background: var(--pm-blue-50) !important;
    border-color: var(--pm-blue-600) !important;
}

.pm-btn-success, .pm-btn-success:visited, .pm-btn-success:hover { background: var(--pm-green) !important; color: #fff !important; }
.pm-btn-danger, .pm-btn-danger:visited, .pm-btn-danger:hover { background: var(--pm-red) !important; color: #fff !important; }

.pm-btn-lg { padding: 18px 40px !important; font-size: 1.05rem !important; }
.pm-btn-sm { padding: 10px 22px !important; font-size: 0.85rem !important; }
.pm-btn-full { width: 100% !important; }
.pm-btn:disabled { opacity: 0.5 !important; cursor: not-allowed !important; transform: none !important; }

/* ═══════════════════════════════════════════
   HERO V2 - Animated Brubank Style
   ═══════════════════════════════════════════ */

@keyframes pmFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
@keyframes pmFadeUp { from { opacity:0; transform: translateY(30px); } to { opacity:1; transform: translateY(0); } }
@keyframes pmOrb1 { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(40px,-30px) scale(1.1); } }
@keyframes pmOrb2 { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(-30px,20px) scale(0.95); } }
@keyframes pmOrb3 { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(20px,25px) scale(1.05); } }
@keyframes pmBarFill { from { width:0; } to { width:75%; } }

.pm-anim-up { animation: pmFadeUp 0.8s ease both !important; }
.pm-anim-float { animation: pmFloat 4s ease-in-out infinite !important; }

.pm-hero-v2 {
    background: linear-gradient(160deg, #081B33 0%, #0B2545 30%, #0A1D38 70%, #00C9A7 100%) !important;
    padding: 160px 24px 100px !important;
    position: relative !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 60px !important;
    min-height: 90vh !important;
}

.pm-hero-v2-bg {
    position: absolute !important;
    inset: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

.pm-hero-v2-orb {
    position: absolute !important;
    border-radius: 50% !important;
    filter: blur(80px) !important;
    opacity: 0.35 !important;
}

.pm-hero-v2-orb1 { width: 500px !important; height: 500px !important; background: #00C9A7 !important; top: -100px !important; right: -100px !important; animation: pmOrb1 8s ease-in-out infinite !important; }
.pm-hero-v2-orb2 { width: 350px !important; height: 350px !important; background: #00C9A7 !important; bottom: -80px !important; left: -80px !important; animation: pmOrb2 10s ease-in-out infinite !important; }
.pm-hero-v2-orb3 { width: 250px !important; height: 250px !important; background: #FF6B45 !important; top: 40% !important; left: 50% !important; animation: pmOrb3 12s ease-in-out infinite !important; }

.pm-hero-v2-content {
    position: relative !important;
    z-index: 2 !important;
    max-width: 560px !important;
}

.pm-hero-v2 h1 {
    font-size: 3.5rem !important;
    font-weight: 900 !important;
    color: #fff !important;
    line-height: 1.08 !important;
    letter-spacing: -2px !important;
    margin-bottom: 20px !important;
}

.pm-text-gradient-hero {
    background: linear-gradient(135deg, #5EEAD4, #00C9A7, #FFB199) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}

.pm-hero-v2-sub {
    font-size: 1.1rem !important;
    color: rgba(255,255,255,0.75) !important;
    line-height: 1.7 !important;
    margin-bottom: 36px !important;
}

.pm-hero-v2-btns {
    display: flex !important;
    gap: 16px !important;
}

.pm-hero-cta-btn,
.pm-hero-cta-btn:visited {
    display: inline-flex !important;
    align-items: center !important;
    padding: 16px 36px !important;
    background: #fff !important;
    color: var(--pm-blue-700) !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    border-radius: 60px !important;
    text-decoration: none !important;
    transition: all 0.3s cubic-bezier(0.4,0,0.2,1) !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15) !important;
    font-family: inherit !important;
    border: none !important;
}

.pm-hero-cta-btn:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 35px rgba(0,0,0,0.25) !important;
}

/* Hero floating card */
.pm-hero-v2-card {
    position: relative !important;
    z-index: 2 !important;
    flex-shrink: 0 !important;
}

.pm-hero-card-inner {
    background: rgba(255,255,255,0.12) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
    border-radius: 24px !important;
    padding: 36px 32px !important;
    width: 300px !important;
    color: #fff !important;
}

.pm-hero-card-top {
    font-size: 0.9rem !important;
    color: rgba(255,255,255,0.7) !important;
    margin-bottom: 8px !important;
}

.pm-hero-card-amount {
    font-size: 2.8rem !important;
    font-weight: 900 !important;
    color: #fff !important;
    letter-spacing: -1px !important;
    margin-bottom: 20px !important;
}

.pm-hero-card-bar {
    height: 8px !important;
    background: rgba(255,255,255,0.15) !important;
    border-radius: 4px !important;
    margin-bottom: 24px !important;
    overflow: hidden !important;
}

.pm-hero-card-bar-fill {
    height: 100% !important;
    background: linear-gradient(90deg, #00C9A7, #00C9A7) !important;
    border-radius: 4px !important;
    width: 0 !important;
    animation: pmBarFill 2s ease 1s forwards !important;
}

.pm-hero-card-bottom {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 14px 16px !important;
    background: rgba(255,255,255,0.08) !important;
    border-radius: 14px !important;
    font-size: 0.88rem !important;
    font-weight: 500 !important;
}

.pm-hero-card-check {
    width: 28px !important;
    height: 28px !important;
    background: var(--pm-green) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.8rem !important;
    flex-shrink: 0 !important;
}

/* ── Section Headers ── */

.pm-section-header {
    text-align: center !important;
    margin-bottom: 56px !important;
}

.pm-section-header h2 {
    font-size: 2.2rem !important;
    font-weight: 800 !important;
    color: var(--pm-text) !important;
    letter-spacing: -0.5px !important;
    margin-bottom: 12px !important;
}

.pm-section-header p {
    color: var(--pm-text-secondary) !important;
    font-size: 1.05rem !important;
    max-width: 550px !important;
    margin: 0 auto !important;
}

/* ── How It Works (Brubank step cards) ── */

/* ═══════════════════════════════════════════
   HOW IT WORKS V2 - Steps
   ═══════════════════════════════════════════ */

.pm-howit {
    padding: 100px 24px !important;
    background: linear-gradient(180deg, #F1F6F9 0%, #fff 100%) !important;
}

.pm-howit-inner {
    max-width: 1000px !important;
    margin: 0 auto !important;
}

.pm-section-header {
    text-align: center !important;
    margin-bottom: 56px !important;
}

.pm-section-header h2 {
    font-size: 2.4rem !important;
    font-weight: 800 !important;
    color: var(--pm-text) !important;
    letter-spacing: -1px !important;
    margin-bottom: 8px !important;
}

.pm-section-header p {
    font-size: 1.05rem !important;
    color: var(--pm-text-secondary) !important;
}

.pm-howit-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
}

.pm-howit-step {
    background: #fff !important;
    border-radius: 20px !important;
    padding: 32px 24px !important;
    transition: all 0.35s cubic-bezier(0.4,0,0.2,1) !important;
    border: 1px solid #e8edf5 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.03) !important;
    position: relative !important;
    overflow: hidden !important;
}

.pm-howit-step::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 4px !important;
    background: linear-gradient(90deg, var(--pm-blue-500), var(--pm-cyan)) !important;
    transform: scaleX(0) !important;
    transform-origin: left !important;
    transition: transform 0.4s ease !important;
}

.pm-howit-step:hover::before { transform: scaleX(1) !important; }

.pm-howit-step:hover {
    box-shadow: 0 12px 40px rgba(15,52,87,0.1) !important;
    transform: translateY(-6px) !important;
}

.pm-howit-tag {
    display: inline-block !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    color: var(--pm-blue-600) !important;
    background: var(--pm-blue-50) !important;
    padding: 5px 14px !important;
    border-radius: 20px !important;
    margin-bottom: 16px !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
}

.pm-howit-step h3 {
    font-size: 1.1rem !important;
    font-weight: 800 !important;
    color: var(--pm-text) !important;
    margin-bottom: 8px !important;
    line-height: 1.3 !important;
}

.pm-howit-step p {
    font-size: 0.88rem !important;
    color: var(--pm-text-secondary) !important;
    line-height: 1.55 !important;
}

/* ═══════════════════════════════════════════
   BENEFITS V2 - Two-tone Cards
   ═══════════════════════════════════════════ */

.pm-benefits-v2 {
    padding: 100px 24px !important;
    background: #fff !important;
}

.pm-benefits-v2-inner {
    max-width: 1000px !important;
    margin: 0 auto !important;
}

.pm-benefits-v2-title {
    text-align: center !important;
    font-size: 2.4rem !important;
    font-weight: 800 !important;
    color: var(--pm-text) !important;
    margin-bottom: 8px !important;
    letter-spacing: -1px !important;
}

.pm-benefits-v2-sub {
    text-align: center !important;
    color: var(--pm-text-secondary) !important;
    font-size: 1.05rem !important;
    margin-bottom: 48px !important;
}

.pm-benefits-v2-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
}

.pm-benefit-v2-card {
    border-radius: 24px !important;
    padding: 40px 32px !important;
    position: relative !important;
    overflow: hidden !important;
    transition: all 0.35s cubic-bezier(0.4,0,0.2,1) !important;
}

.pm-benefit-v2-card:hover { transform: translateY(-5px) !important; }

.pm-benefit-v2-white {
    background: #fff !important;
    border: 1px solid #e8edf5 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.03) !important;
}

.pm-benefit-v2-white:hover { box-shadow: 0 12px 40px rgba(0,0,0,0.08) !important; }

.pm-benefit-v2-white h3 {
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    color: var(--pm-text) !important;
    margin-bottom: 12px !important;
}

.pm-benefit-v2-white p {
    font-size: 0.95rem !important;
    color: var(--pm-text-secondary) !important;
    line-height: 1.7 !important;
    margin-bottom: 20px !important;
}

.pm-benefit-link,
.pm-benefit-link:visited {
    display: inline-flex !important;
    align-items: center !important;
    color: var(--pm-blue-600) !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    text-decoration: none !important;
    transition: gap 0.3s ease !important;
    gap: 4px !important;
}

.pm-benefit-link:hover { gap: 8px !important; }

.pm-benefit-v2-blue {
    background: linear-gradient(160deg, #12365E 0%, #00C9A7 60%, #00C9A7 100%) !important;
    color: #fff !important;
}

.pm-benefit-v2-blue h3 {
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    color: #fff !important;
    margin-bottom: 12px !important;
}

.pm-benefit-v2-blue p {
    font-size: 0.95rem !important;
    color: rgba(255,255,255,0.85) !important;
    line-height: 1.7 !important;
}

.pm-benefit-v2-icon {
    font-size: 3rem !important;
    margin-top: 20px !important;
}

.pm-benefit-v2-full {
    grid-column: 1 / -1 !important;
    background: linear-gradient(135deg, #0B2545 0%, #0A1D38 60%, #00C9A7 100%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 40px !important;
}

.pm-benefit-v2-full:hover { box-shadow: 0 16px 50px rgba(15,52,87,0.2) !important; }

.pm-benefit-v2-full-left h3 {
    font-size: 1.6rem !important;
    font-weight: 800 !important;
    color: #fff !important;
    margin-bottom: 12px !important;
}

.pm-benefit-v2-full-left p {
    font-size: 1rem !important;
    color: rgba(255,255,255,0.8) !important;
    line-height: 1.7 !important;
    margin-bottom: 20px !important;
}

.pm-benefit-link-white,
.pm-benefit-link-white:visited {
    display: inline-flex !important;
    align-items: center !important;
    padding: 12px 28px !important;
    background: #fff !important;
    color: var(--pm-blue-700) !important;
    font-weight: 700 !important;
    font-size: 0.9rem !important;
    border-radius: 50px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.12) !important;
}

.pm-benefit-link-white:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.2) !important;
}

.pm-benefit-v2-full-icon {
    font-size: 5rem !important;
    flex-shrink: 0 !important;
}

/* ═══════════════════════════════════════════
   CTA V2 - Bottom Call to Action
   ═══════════════════════════════════════════ */

.pm-cta-v2 {
    padding: 80px 24px 100px !important;
    background: linear-gradient(180deg, #fff 0%, #F1F6F9 100%) !important;
}

.pm-cta-v2-box {
    max-width: 800px !important;
    margin: 0 auto !important;
    background: linear-gradient(135deg, #0B2545 0%, #0A1D38 50%, #00C9A7 100%) !important;
    border-radius: 32px !important;
    padding: 72px 40px !important;
    text-align: center !important;
    position: relative !important;
    overflow: hidden !important;
}

.pm-cta-v2-orb {
    position: absolute !important;
    top: -60px !important;
    right: -60px !important;
    width: 250px !important;
    height: 250px !important;
    background: rgba(255,255,255,0.06) !important;
    border-radius: 50% !important;
    animation: pmOrb1 8s ease-in-out infinite !important;
}

.pm-cta-v2-box h2 {
    font-size: 2.2rem !important;
    font-weight: 800 !important;
    color: #fff !important;
    margin-bottom: 12px !important;
    position: relative !important;
    z-index: 2 !important;
    letter-spacing: -0.5px !important;
}

.pm-cta-v2-box p {
    color: rgba(255,255,255,0.8) !important;
    margin-bottom: 32px !important;
    font-size: 1.05rem !important;
    position: relative !important;
    z-index: 2 !important;
}

.pm-cta-v2-btn,
.pm-cta-v2-btn:visited {
    display: inline-flex !important;
    align-items: center !important;
    padding: 16px 40px !important;
    background: #fff !important;
    color: var(--pm-blue-700) !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    border-radius: 60px !important;
    text-decoration: none !important;
    transition: all 0.3s cubic-bezier(0.4,0,0.2,1) !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15) !important;
    position: relative !important;
    z-index: 2 !important;
    font-family: inherit !important;
    border: none !important;
}

.pm-cta-v2-btn:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 35px rgba(0,0,0,0.25) !important;
}

/* ═══════════════════════════════════════════
   FORMS & CARDS
   ═══════════════════════════════════════════ */

.pm-card {
    background: var(--pm-surface) !important;
    border-radius: var(--pm-radius) !important;
    box-shadow: var(--pm-shadow) !important;
    padding: 36px !important;
    border: 1px solid var(--pm-border) !important;
}

.pm-card-header {
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    color: var(--pm-text) !important;
    margin-bottom: 28px !important;
    padding-bottom: 16px !important;
    border-bottom: 2px solid var(--pm-blue-50) !important;
}

.pm-form-group {
    margin-bottom: 22px !important;
}

.pm-form-label {
    display: block !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    color: var(--pm-text) !important;
    margin-bottom: 8px !important;
}

.pm-form-input,
.pm-form-select,
.pm-form-textarea {
    width: 100% !important;
    padding: 14px 18px !important;
    border: 2px solid var(--pm-border) !important;
    border-radius: var(--pm-radius-sm) !important;
    font-size: 0.95rem !important;
    color: var(--pm-text) !important;
    background: var(--pm-surface) !important;
    transition: all 0.2s ease !important;
    outline: none !important;
    font-family: inherit !important;
    -webkit-appearance: none !important;
}

.pm-form-input:focus,
.pm-form-select:focus {
    border-color: var(--pm-blue-500) !important;
    box-shadow: 0 0 0 4px rgba(0,201,167,0.12) !important;
}

.pm-form-input::placeholder {
    color: var(--pm-text-muted) !important;
}

.pm-form-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
}

.pm-form-error {
    color: var(--pm-red) !important;
    font-size: 0.78rem !important;
    margin-top: 6px !important;
    font-weight: 500 !important;
}

/* ═══════════════════════════════════════════
   SIMULADOR - Estilo Brubank Premium
   ═══════════════════════════════════════════ */

.pm-sim-wrap {
    padding: 110px 24px 0 !important;
    max-width: 640px !important;
    margin: 0 auto !important;
}

.pm-sim-header {
    text-align: center !important;
    margin-bottom: 48px !important;
}

.pm-sim-header h1 {
    font-size: 2.6rem !important;
    font-weight: 900 !important;
    color: var(--pm-text) !important;
    line-height: 1.15 !important;
    letter-spacing: -1px !important;
}

.pm-text-gradient {
    background: linear-gradient(135deg, var(--pm-blue-600), var(--pm-cyan)) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}

.pm-sim-section {
    margin-bottom: 40px !important;
}

.pm-sim-question {
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    color: var(--pm-text-secondary) !important;
    text-align: center !important;
    margin-bottom: 20px !important;
}

.pm-sim-hint {
    text-align: center !important;
    color: var(--pm-text-muted) !important;
    font-size: 0.9rem !important;
    padding: 32px 0 !important;
}

/* ── Monto Buttons ── */

.pm-monto-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 10px !important;
}

.pm-monto-btn {
    padding: 18px 8px !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 14px !important;
    background: #fff !important;
    cursor: pointer !important;
    font-weight: 700 !important;
    font-size: 0.92rem !important;
    color: var(--pm-text) !important;
    transition: all 0.25s cubic-bezier(0.4,0,0.2,1) !important;
    text-align: center !important;
    font-family: inherit !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
}

.pm-monto-btn:hover {
    border-color: var(--pm-blue-400) !important;
    color: var(--pm-blue-700) !important;
    box-shadow: 0 4px 12px rgba(11,37,69,0.1) !important;
    transform: translateY(-2px) !important;
}

.pm-monto-btn.active {
    background: var(--pm-blue-600) !important;
    color: #fff !important;
    border-color: var(--pm-blue-600) !important;
    box-shadow: 0 6px 20px rgba(11,37,69,0.35) !important;
    transform: translateY(-2px) scale(1.03) !important;
}

/* ── Plazo Buttons ── */

.pm-plazo-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
}

.pm-plazo-btn {
    padding: 22px 16px !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 16px !important;
    background: #fff !important;
    cursor: pointer !important;
    transition: all 0.25s cubic-bezier(0.4,0,0.2,1) !important;
    text-align: center !important;
    font-family: inherit !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
}

.pm-plazo-btn:hover {
    border-color: var(--pm-blue-400) !important;
    box-shadow: 0 4px 12px rgba(11,37,69,0.1) !important;
    transform: translateY(-2px) !important;
}

.pm-plazo-btn.active {
    background: var(--pm-blue-600) !important;
    border-color: var(--pm-blue-600) !important;
    box-shadow: 0 6px 20px rgba(11,37,69,0.35) !important;
    transform: translateY(-2px) !important;
}

.pm-plazo-name {
    display: block !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
    color: var(--pm-text) !important;
    margin-bottom: 6px !important;
}

.pm-plazo-btn.active .pm-plazo-name { color: #fff !important; }

.pm-plazo-return {
    display: block !important;
    font-size: 0.82rem !important;
    color: var(--pm-text-secondary) !important;
    font-weight: 500 !important;
}

.pm-plazo-btn.active .pm-plazo-return,
.pm-plazo-btn.active .pm-plazo-return strong { color: rgba(255,255,255,0.85) !important; }

.pm-plazo-detail {
    display: block !important;
    font-size: 0.75rem !important;
    color: var(--pm-text-muted) !important;
    margin-top: 4px !important;
}

.pm-plazo-btn.active .pm-plazo-detail { color: rgba(255,255,255,0.65) !important; }

/* ── Resultado ── */

.pm-sim-result {
    margin-top: 16px !important;
    margin-bottom: 12px !important;
}

.pm-sim-result-inner {
    background: #fff !important;
    border-radius: 24px !important;
    padding: 40px 32px !important;
    text-align: center !important;
    box-shadow: 0 8px 40px rgba(0,0,0,0.08), 0 1px 3px rgba(0,0,0,0.04) !important;
    border: 1.5px solid #e5e7eb !important;
}

.pm-sim-result-label {
    font-size: 0.9rem !important;
    color: var(--pm-text-secondary) !important;
    font-weight: 500 !important;
    margin-bottom: 4px !important;
}

.pm-sim-result-amount {
    font-size: 3.5rem !important;
    font-weight: 900 !important;
    color: var(--pm-blue-600) !important;
    letter-spacing: -2px !important;
    line-height: 1 !important;
    margin-bottom: 28px !important;
}

.pm-sim-result-details {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 24px !important;
    padding: 20px 0 !important;
    border-top: 1px solid #f1f5f9 !important;
    border-bottom: 1px solid #f1f5f9 !important;
    margin-bottom: 28px !important;
}

.pm-sim-result-detail { text-align: center !important; }

.pm-sim-detail-label {
    display: block !important;
    font-size: 0.72rem !important;
    color: var(--pm-text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    font-weight: 600 !important;
    margin-bottom: 4px !important;
}

.pm-sim-detail-value {
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    color: var(--pm-text) !important;
}

.pm-sim-result-divider {
    width: 1px !important;
    height: 36px !important;
    background: #e5e7eb !important;
}

.pm-sim-cta-btn,
.pm-sim-cta-btn:visited {
    display: inline-block !important;
    padding: 16px 40px !important;
    background: linear-gradient(135deg, var(--pm-blue-600) 0%, var(--pm-blue-500) 100%) !important;
    color: #fff !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: 60px !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.4,0,0.2,1) !important;
    text-decoration: none !important;
    font-family: inherit !important;
    letter-spacing: -0.3px !important;
    box-shadow: 0 4px 15px rgba(11,37,69,0.3) !important;
}

.pm-sim-cta-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 30px rgba(11,37,69,0.4) !important;
    background: linear-gradient(135deg, var(--pm-blue-700) 0%, var(--pm-blue-600) 100%) !important;
}

.pm-sim-cta-btn:disabled,
.pm-sim-cta-btn.sent {
    opacity: 0.7 !important;
    cursor: default !important;
    transform: none !important;
}

.pm-sim-legal {
    text-align: center !important;
    margin-top: 20px !important;
    font-size: 0.78rem !important;
    color: var(--pm-text-muted) !important;
}

/* ── 3 Razones (Brubank style) ── */

.pm-razones {
    padding: 80px 0 40px !important;
    text-align: center !important;
}

.pm-razones-title {
    font-size: 2rem !important;
    font-weight: 800 !important;
    color: var(--pm-text) !important;
    line-height: 1.2 !important;
    margin-bottom: 48px !important;
    letter-spacing: -0.5px !important;
}

.pm-razones-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    max-width: 520px !important;
    margin: 0 auto !important;
}

.pm-razon-card {
    background: #fff !important;
    border-radius: 20px !important;
    padding: 32px 28px !important;
    text-align: left !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
    border: 1px solid #f1f5f9 !important;
    transition: all 0.3s ease !important;
}

.pm-razon-card:hover {
    box-shadow: 0 8px 30px rgba(0,0,0,0.06) !important;
    transform: translateY(-2px) !important;
}

.pm-razon-num {
    font-size: 2.5rem !important;
    font-weight: 900 !important;
    color: var(--pm-blue-100) !important;
    line-height: 1 !important;
    display: block !important;
    margin-bottom: 12px !important;
}

.pm-razon-card h3 {
    font-size: 1.2rem !important;
    font-weight: 800 !important;
    color: var(--pm-text) !important;
    margin-bottom: 8px !important;
}

.pm-razon-card p {
    font-size: 0.9rem !important;
    color: var(--pm-text-secondary) !important;
    line-height: 1.6 !important;
}

.pm-sim-bottom-cta {
    margin-top: 40px !important;
    text-align: center !important;
}

/* ── Cooldown Card ── */

.pm-cooldown-card {
    background: #fff !important;
    border-radius: 24px !important;
    box-shadow: 0 8px 40px rgba(0,0,0,0.08) !important;
    padding: 56px 32px !important;
    text-align: center !important;
    border: 1.5px solid var(--pm-amber) !important;
    margin-bottom: 28px !important;
}

.pm-cooldown-icon {
    font-size: 3.5rem !important;
    margin-bottom: 16px !important;
}

.pm-cooldown-card h3 {
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    color: var(--pm-text) !important;
    margin-bottom: 8px !important;
}

.pm-cooldown-card p {
    color: var(--pm-text-secondary) !important;
    font-size: 0.95rem !important;
}

.pm-cooldown-date {
    font-size: 0.82rem !important;
    color: var(--pm-text-muted) !important;
}

.pm-cooldown-timer {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    margin: 28px 0 12px !important;
}

.pm-cooldown-num {
    font-size: 4.5rem !important;
    font-weight: 900 !important;
    color: var(--pm-blue-600) !important;
    line-height: 1 !important;
}

.pm-cooldown-label {
    font-size: 0.8rem !important;
    color: var(--pm-text-muted) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    margin-top: 8px !important;
}

.pm-resultado-item-value {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: #fff !important;
    margin-top: 4px !important;
}

/* ═══════════════════════════════════════════
   AUTH PAGES (Login / Register)
   ═══════════════════════════════════════════ */

.pm-auth-page {
    min-height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 100px 24px 60px !important;
}

.pm-auth-container {
    width: 100% !important;
    max-width: 460px !important;
}

.pm-auth-container.wide {
    max-width: 680px !important;
}

.pm-auth-header {
    text-align: center !important;
    margin-bottom: 32px !important;
}

.pm-auth-header h1 {
    font-size: 2rem !important;
    font-weight: 800 !important;
    color: var(--pm-text) !important;
    letter-spacing: -0.5px !important;
    margin-bottom: 8px !important;
}

.pm-auth-header p {
    color: var(--pm-text-secondary) !important;
}

.pm-auth-footer {
    text-align: center !important;
    margin-top: 24px !important;
    color: var(--pm-text-secondary) !important;
    font-size: 0.9rem !important;
}

.pm-auth-footer a,
.pm-auth-footer a:visited {
    color: var(--pm-blue-600) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.pm-auth-footer a:hover {
    text-decoration: underline !important;
}

/* ── Multi-step ── */

.pm-steps-indicator {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0 !important;
    margin-bottom: 36px !important;
    flex-wrap: wrap !important;
}

.pm-step-dot {
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 700 !important;
    font-size: 0.85rem !important;
    transition: all 0.3s ease !important;
    background: var(--pm-border) !important;
    color: var(--pm-text-muted) !important;
    position: relative !important;
    z-index: 2 !important;
}

.pm-step-dot.active {
    background: var(--pm-blue-600) !important;
    color: #fff !important;
    box-shadow: 0 0 0 4px rgba(11,37,69,0.2) !important;
}

.pm-step-dot.completed {
    background: var(--pm-green) !important;
    color: #fff !important;
}

.pm-step-line {
    width: 32px !important;
    height: 2px !important;
    background: var(--pm-border) !important;
}

.pm-step-line.completed {
    background: var(--pm-green) !important;
}

.pm-register-step {
    display: none !important;
}

.pm-register-step.active {
    display: block !important;
    animation: pmSlideUp 0.4s ease !important;
}

@keyframes pmSlideUp {
    from { opacity: 0; transform: translateY(16px); }
    to { opacity: 1; transform: translateY(0); }
}

.pm-step-nav {
    display: flex !important;
    justify-content: space-between !important;
    margin-top: 28px !important;
    gap: 16px !important;
}

/* ── Upload ── */

.pm-upload-area {
    border: 2px dashed var(--pm-blue-300, #7DEDD1) !important;
    border-radius: var(--pm-radius) !important;
    padding: 40px 20px !important;
    text-align: center !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    background: var(--pm-blue-50) !important;
    position: relative !important;
}

.pm-upload-area:hover {
    border-color: var(--pm-blue-600) !important;
    background: var(--pm-blue-100) !important;
}

.pm-upload-area.has-file {
    border-color: var(--pm-green) !important;
    background: #ecfdf5 !important;
}

.pm-upload-icon { display: flex !important; align-items: center !important; justify-content: center !important; margin-bottom: 8px !important; }
.pm-upload-text { font-weight: 600 !important; color: var(--pm-blue-700) !important; font-size: 0.9rem !important; }
.pm-upload-hint { font-size: 0.78rem !important; color: var(--pm-text-muted) !important; margin-top: 4px !important; display: block !important; }
.pm-upload-preview { max-width: 180px !important; border-radius: 8px !important; margin-top: 12px !important; }
.pm-upload-input { position: absolute !important; inset: 0 !important; opacity: 0 !important; cursor: pointer !important; }

/* ═══════════════════════════════════════════
   PHONE PREFIX
   ═══════════════════════════════════════════ */

.pm-phone-wrapper {
    display: flex !important;
    align-items: stretch !important;
    border: 1.5px solid var(--pm-border) !important;
    border-radius: var(--pm-radius-sm) !important;
    overflow: hidden !important;
    background: #fff !important;
    transition: border-color 0.2s ease !important;
}

.pm-phone-wrapper:focus-within {
    border-color: var(--pm-blue-500) !important;
    box-shadow: 0 0 0 3px rgba(0,201,167,0.1) !important;
}

.pm-phone-prefix {
    display: flex !important;
    align-items: center !important;
    padding: 0 14px !important;
    background: var(--pm-blue-50) !important;
    color: var(--pm-blue-700) !important;
    font-weight: 700 !important;
    font-size: 0.92rem !important;
    border-right: 1.5px solid var(--pm-border) !important;
    white-space: nowrap !important;
    user-select: none !important;
}

.pm-phone-input {
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    flex: 1 !important;
}

.pm-phone-input:focus {
    border: none !important;
    box-shadow: none !important;
}

/* ═══════════════════════════════════════════
   DNI SCANNER UI
   ═══════════════════════════════════════════ */

.pm-scan-desc {
    color: var(--pm-text-secondary) !important;
    margin-bottom: 24px !important;
    font-size: 0.9rem !important;
    line-height: 1.6 !important;
}

.pm-scan-section { margin-bottom: 8px !important; }

.pm-scan-box {
    position: relative !important;
    border-radius: 16px !important;
    overflow: hidden !important;
}

.pm-scan-placeholder {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 40px 20px !important;
    background: linear-gradient(135deg, var(--pm-blue-50) 0%, #F1F6F9 100%) !important;
    border: 2px dashed rgba(0,201,167,0.4) !important;
    border-radius: 16px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    gap: 8px !important;
}

.pm-scan-placeholder:hover {
    border-color: var(--pm-blue-600) !important;
    background: linear-gradient(135deg, var(--pm-blue-100) 0%, #e0e7ff 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 30px rgba(0,201,167,0.12) !important;
}

.pm-scan-icon-wrap {
    width: 80px !important;
    height: 80px !important;
    background: #fff !important;
    border-radius: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.06) !important;
    margin-bottom: 8px !important;
}

.pm-scan-label {
    font-weight: 700 !important;
    color: var(--pm-blue-700) !important;
    font-size: 0.95rem !important;
}

.pm-scan-hint {
    font-size: 0.8rem !important;
    color: var(--pm-text-muted) !important;
}

.pm-scan-result {
    display: none !important;
    flex-direction: column !important;
    align-items: center !important;
    padding: 24px !important;
    background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 100%) !important;
    border: 1.5px solid rgba(16,185,129,0.3) !important;
    border-radius: 16px !important;
    gap: 14px !important;
}

.pm-scan-result.pm-visible {
    display: flex !important;
}

.pm-scan-preview {
    max-width: 300px !important;
    max-height: 190px !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
    object-fit: cover !important;
    border: 2px solid rgba(16,185,129,0.2) !important;
}

.pm-scan-check {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-weight: 700 !important;
    color: #059669 !important;
    font-size: 0.9rem !important;
}

.pm-scan-retry {
    background: none !important;
    border: 1.5px solid var(--pm-border) !important;
    color: var(--pm-text-secondary) !important;
    font-size: 0.82rem !important;
    padding: 6px 16px !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    font-family: inherit !important;
    transition: all 0.2s ease !important;
}

.pm-scan-retry:hover {
    border-color: var(--pm-blue-500) !important;
    color: var(--pm-blue-600) !important;
}

/* Scanner Modal */
.pm-scanner-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    background: #000 !important;
    display: none !important;
    flex-direction: column !important;
}

.pm-scanner-modal.pm-modal-open {
    display: flex !important;
}

.pm-scanner-header {
    display: flex !important;
    align-items: center !important;
    padding: 16px 20px !important;
    background: rgba(0,0,0,0.8) !important;
    gap: 16px !important;
    position: relative !important;
    z-index: 3 !important;
}

.pm-scanner-close {
    width: 40px !important;
    height: 40px !important;
    background: rgba(255,255,255,0.15) !important;
    border: none !important;
    border-radius: 50% !important;
    color: #fff !important;
    font-size: 1.5rem !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

.pm-scanner-title {
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
}

.pm-scanner-body {
    flex: 1 !important;
    position: relative !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.pm-scanner-body video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.pm-scanner-overlay {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: none !important;
}

.pm-scanner-frame {
    width: 85% !important;
    max-width: 400px !important;
    aspect-ratio: 1.58 / 1 !important;
    position: relative !important;
    border: 2px solid rgba(0,201,167,0.5) !important;
    border-radius: 12px !important;
}

.pm-frame-corner {
    position: absolute !important;
    width: 24px !important;
    height: 24px !important;
    border-color: #00C9A7 !important;
    border-style: solid !important;
    border-width: 0 !important;
}

.pm-fc-tl { top: -2px !important; left: -2px !important; border-top-width: 4px !important; border-left-width: 4px !important; border-radius: 8px 0 0 0 !important; }
.pm-fc-tr { top: -2px !important; right: -2px !important; border-top-width: 4px !important; border-right-width: 4px !important; border-radius: 0 8px 0 0 !important; }
.pm-fc-bl { bottom: -2px !important; left: -2px !important; border-bottom-width: 4px !important; border-left-width: 4px !important; border-radius: 0 0 0 8px !important; }
.pm-fc-br { bottom: -2px !important; right: -2px !important; border-bottom-width: 4px !important; border-right-width: 4px !important; border-radius: 0 0 8px 0 !important; }

.pm-scanner-line {
    position: absolute !important;
    left: 10% !important;
    right: 10% !important;
    height: 2px !important;
    background: linear-gradient(90deg, transparent, #00C9A7, transparent) !important;
    top: 0 !important;
    display: none !important;
    box-shadow: 0 0 8px rgba(0,201,167,0.5) !important;
}

.pm-scanner-instruction {
    position: absolute !important;
    bottom: 100px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background: rgba(0,0,0,0.7) !important;
    color: #fff !important;
    padding: 10px 24px !important;
    border-radius: 30px !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    z-index: 3 !important;
    backdrop-filter: blur(8px) !important;
}

.pm-scanner-instruction.pm-scan-error { background: rgba(239,68,68,0.85) !important; }
.pm-scanner-instruction.pm-scan-success { background: rgba(16,185,129,0.85) !important; }

.pm-scanner-quality {
    position: absolute !important;
    top: 20px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    padding: 6px 18px !important;
    border-radius: 20px !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    z-index: 3 !important;
}

.pm-quality-good { background: rgba(16,185,129,0.2) !important; color: #10b981 !important; }
.pm-quality-bad { background: rgba(239,68,68,0.2) !important; color: #ef4444 !important; }

.pm-scanner-footer {
    padding: 20px !important;
    background: rgba(0,0,0,0.8) !important;
    display: flex !important;
    justify-content: center !important;
    position: relative !important;
    z-index: 3 !important;
}

.pm-scanner-capture {
    min-width: 200px !important;
}

/* Modal step screens */
.pm-modal-step-screen {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 40px 28px !important;
    width: 100% !important;
    height: 100% !important;
    background: #081B33 !important;
}

.pm-modal-step-icon {
    margin-bottom: 24px !important;
    opacity: 0.9 !important;
}

.pm-modal-step-icon-error {
    margin-bottom: 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.pm-modal-step-title {
    font-size: 1.4rem !important;
    font-weight: 800 !important;
    color: #fff !important;
    margin-bottom: 12px !important;
    letter-spacing: -0.5px !important;
}

.pm-modal-step-desc {
    font-size: 0.95rem !important;
    color: rgba(255,255,255,0.7) !important;
    line-height: 1.6 !important;
    max-width: 380px !important;
}

.pm-modal-step-tips {
    list-style: none !important;
    margin-top: 24px !important;
    text-align: left !important;
}

.pm-modal-step-tips li {
    color: rgba(255,255,255,0.8) !important;
    font-size: 0.88rem !important;
    padding: 8px 0 !important;
    padding-left: 24px !important;
    position: relative !important;
    line-height: 1.4 !important;
}

.pm-modal-step-tips li::before {
    content: '✓' !important;
    position: absolute !important;
    left: 0 !important;
    color: #10b981 !important;
    font-weight: 700 !important;
}

.pm-modal-action {
    min-width: 180px !important;
}

.pm-spinner-lg {
    width: 48px !important;
    height: 48px !important;
    border: 4px solid rgba(255,255,255,0.15) !important;
    border-top-color: #00C9A7 !important;
    border-radius: 50% !important;
    animation: pmSpin 0.8s linear infinite !important;
}

@keyframes pmSpin { to { transform: rotate(360deg); } }

.pm-scanner-footer {
    gap: 12px !important;
    flex-wrap: wrap !important;
}

.pm-scan-review-img {
    max-width: 340px !important;
    max-height: 220px !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.3) !important;
    object-fit: cover !important;
    border: 3px solid rgba(255,255,255,0.15) !important;
}

.pm-face-review-img {
    width: 160px !important;
    height: 160px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.3) !important;
    border: 4px solid #10b981 !important;
}

.pm-face-timer-text {
    color: rgba(255,255,255,0.7) !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    text-align: center !important;
    padding: 8px 0 !important;
}

/* ═══════════════════════════════════════════
   FACE VERIFICATION UI
   ═══════════════════════════════════════════ */

.pm-face-section { margin-bottom: 8px !important; }

.pm-face-placeholder {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 48px 20px !important;
    background: linear-gradient(135deg, #F1F6F9 0%, #E3F7F1 100%) !important;
    border: 2px dashed rgba(20,184,166,0.4) !important;
    border-radius: 16px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    gap: 12px !important;
}

.pm-face-placeholder:hover {
    border-color: #14B8A6 !important;
    background: linear-gradient(135deg, #e0e7ff 0%, #D3F0E8 100%) !important;
    transform: translateY(-2px) !important;
}

.pm-face-oval-preview { opacity: 0.7 !important; }

.pm-face-result {
    display: none !important;
    flex-direction: column !important;
    align-items: center !important;
    padding: 28px !important;
    background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 100%) !important;
    border: 1.5px solid rgba(16,185,129,0.3) !important;
    border-radius: 16px !important;
    gap: 14px !important;
}

.pm-face-result.pm-visible {
    display: flex !important;
}

.pm-face-preview-img {
    width: 120px !important;
    height: 120px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1) !important;
    border: 3px solid rgba(16,185,129,0.4) !important;
}

.pm-face-retry {
    background: none !important;
    border: 1.5px solid var(--pm-border) !important;
    color: var(--pm-text-secondary) !important;
    font-size: 0.82rem !important;
    padding: 6px 16px !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    font-family: inherit !important;
}

/* Face Modal */
.pm-face-body video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transform: scaleX(-1) !important;
}

.pm-face-overlay {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: none !important;
}

.pm-face-oval { position: relative !important; }

@keyframes pmFacePulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.6; }
}

.pm-face-oval svg ellipse {
    animation: pmFacePulse 2s ease-in-out infinite !important;
}

.pm-face-instruction {
    position: absolute !important;
    bottom: 110px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background: rgba(0,0,0,0.7) !important;
    color: #fff !important;
    padding: 12px 28px !important;
    border-radius: 30px !important;
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    z-index: 3 !important;
    backdrop-filter: blur(8px) !important;
}

.pm-face-step-indicator {
    position: absolute !important;
    bottom: 80px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    gap: 8px !important;
    z-index: 3 !important;
}

.pm-face-step-dot {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.3) !important;
    transition: all 0.3s ease !important;
}

.pm-face-step-dot.active { background: #fff !important; transform: scale(1.3) !important; }

.pm-face-progress {
    width: 100% !important;
    height: 4px !important;
    background: rgba(255,255,255,0.15) !important;
    border-radius: 2px !important;
    overflow: hidden !important;
}

.pm-face-progress-bar {
    height: 100% !important;
    background: linear-gradient(90deg, #00C9A7, #10b981) !important;
    border-radius: 2px !important;
    width: 0 !important;
    transition: width 0.5s ease !important;
}

/* ═══════════════════════════════════════════
   DASHBOARD
   ═══════════════════════════════════════════ */

.pm-dash {
    padding: 100px 24px 60px !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
}

.pm-dash-hero {
    margin-bottom: 36px !important;
}

.pm-dash-hero h1 {
    font-size: 1.8rem !important;
    font-weight: 800 !important;
    color: var(--pm-text) !important;
    margin-bottom: 4px !important;
}

.pm-dash-hero p {
    color: var(--pm-text-secondary) !important;
}

.pm-dash-stats {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px !important;
    margin-bottom: 24px !important;
}

.pm-quick-actions {
    display: flex !important;
    gap: 12px !important;
    margin-bottom: 28px !important;
    flex-wrap: wrap !important;
}

.pm-dash-page {
    padding: 100px 24px 60px !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
}

.pm-dash-header {
    margin-bottom: 36px !important;
}

.pm-dash-header h1 {
    font-size: 1.8rem !important;
    font-weight: 800 !important;
    color: var(--pm-text) !important;
    margin-bottom: 4px !important;
}

.pm-dash-header p {
    color: var(--pm-text-secondary) !important;
}

.pm-stats-row {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
    gap: 16px !important;
    margin-bottom: 32px !important;
}

.pm-stat-card {
    background: var(--pm-surface) !important;
    border-radius: var(--pm-radius) !important;
    padding: 24px !important;
    border: 1px solid var(--pm-border) !important;
    border-left: 4px solid var(--pm-blue-600) !important;
}

.pm-stat-label {
    font-size: 0.75rem !important;
    color: var(--pm-text-secondary) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    font-weight: 600 !important;
}

.pm-stat-value {
    font-size: 1.6rem !important;
    font-weight: 800 !important;
    color: var(--pm-blue-700) !important;
    margin-top: 4px !important;
}

.pm-dash-actions {
    display: flex !important;
    gap: 12px !important;
    margin-bottom: 32px !important;
    flex-wrap: wrap !important;
}

/* ── Tables ── */

.pm-table-wrap {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    border-radius: var(--pm-radius-sm) !important;
}

.pm-table {
    width: 100% !important;
    border-collapse: collapse !important;
}

.pm-table th {
    background: var(--pm-blue-50) !important;
    padding: 14px 16px !important;
    text-align: left !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    color: var(--pm-blue-700) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    white-space: nowrap !important;
}

.pm-table td {
    padding: 14px 16px !important;
    border-bottom: 1px solid var(--pm-border) !important;
    font-size: 0.9rem !important;
}

.pm-table tr:hover td {
    background: var(--pm-blue-50) !important;
}

/* ── Badges ── */

.pm-badge {
    display: inline-block !important;
    padding: 4px 14px !important;
    border-radius: var(--pm-radius-full) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
}

.pm-badge-pending   { background: #fef3c7 !important; color: #92400e !important; }
.pm-badge-approved  { background: #d1fae5 !important; color: #065f46 !important; }
.pm-badge-rejected  { background: #fee2e2 !important; color: #991b1b !important; }
.pm-badge-active    { background: #D8F5EE !important; color: #0F3457 !important; }
.pm-badge-paid      { background: #d1fae5 !important; color: #065f46 !important; }
.pm-badge-overdue   { background: #fee2e2 !important; color: #991b1b !important; }
.pm-badge-info      { background: #D8F5EE !important; color: #0F3457 !important; }
.pm-badge-success   { background: #d1fae5 !important; color: #065f46 !important; }
.pm-badge-warning   { background: #fef3c7 !important; color: #92400e !important; }
.pm-badge-danger    { background: #fee2e2 !important; color: #991b1b !important; }
.pm-badge-primary   { background: #D8F5EE !important; color: #0F3457 !important; }
.pm-badge-secondary { background: #f1f5f9 !important; color: #475569 !important; }

/* ── Alerts ── */

.pm-alert {
    padding: 16px 20px !important;
    border-radius: var(--pm-radius-sm) !important;
    margin-bottom: 20px !important;
    font-weight: 500 !important;
    font-size: 0.9rem !important;
}

.pm-alert-success { background: #d1fae5 !important; color: #065f46 !important; border: 1px solid #a7f3d0 !important; }
.pm-alert-error   { background: #fee2e2 !important; color: #991b1b !important; border: 1px solid #fecaca !important; }
.pm-alert-info    { background: #D8F5EE !important; color: #0F3457 !important; border: 1px solid #BEEFE3 !important; }
.pm-alert-warning { background: #fef3c7 !important; color: #92400e !important; border: 1px solid #fde68a !important; }

.pm-empty {
    text-align: center !important;
    padding: 60px 20px !important;
    color: var(--pm-text-secondary) !important;
}

.pm-empty-icon {
    font-size: 3.5rem !important;
    margin-bottom: 16px !important;
    display: block !important;
}

.pm-spinner {
    display: inline-block !important;
    width: 20px !important;
    height: 20px !important;
    border: 3px solid rgba(255,255,255,0.3) !important;
    border-top-color: #fff !important;
    border-radius: 50% !important;
    animation: pmSpin 0.6s linear infinite !important;
}

@keyframes pmSpin { to { transform: rotate(360deg); } }

/* ═══════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════ */

.pm-footer {
    background: var(--pm-text) !important;
    color: #fff !important;
    padding: 64px 24px 32px !important;
    margin-top: auto !important;
}

.pm-footer-inner {
    max-width: 1200px !important;
    margin: 0 auto !important;
}

.pm-footer-grid {
    display: grid !important;
    grid-template-columns: 2fr 1fr 1fr 1fr !important;
    gap: 40px !important;
    margin-bottom: 40px !important;
}

.pm-footer-logo {
    font-size: 1.3rem !important;
    font-weight: 800 !important;
    margin-bottom: 12px !important;
    color: #fff !important;
}

.pm-footer-desc {
    color: var(--pm-text-muted) !important;
    font-size: 0.9rem !important;
    line-height: 1.6 !important;
}

.pm-footer-col h4 {
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: var(--pm-text-muted) !important;
    margin-bottom: 16px !important;
}

.pm-footer-col a {
    display: block !important;
    color: #cbd5e1 !important;
    text-decoration: none !important;
    font-size: 0.9rem !important;
    padding: 4px 0 !important;
    transition: color 0.2s ease !important;
}

.pm-footer-col a:hover {
    color: #fff !important;
}

.pm-footer-bottom {
    border-top: 1px solid #0A1F38 !important;
    padding-top: 24px !important;
    text-align: center !important;
}

.pm-footer-bottom p {
    color: var(--pm-text-muted) !important;
    font-size: 0.85rem !important;
}

/* ═══════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════ */

@media (max-width: 768px) {
    .pm-nav-links {
        display: none !important;
        position: fixed !important;
        top: 72px !important;
        left: 0 !important;
        right: 0 !important;
        background: #fff !important;
        flex-direction: column !important;
        padding: 16px 24px 24px !important;
        box-shadow: var(--pm-shadow-lg) !important;
        border-bottom: 1px solid var(--pm-border) !important;
        gap: 4px !important;
    }

    .admin-bar .pm-nav-links { top: 118px !important; }

    .pm-nav-links.open {
        display: flex !important;
    }

    .pm-nav-link {
        padding: 12px 16px !important;
        font-size: 1rem !important;
        border-radius: 8px !important;
    }

    .pm-nav-auth {
        margin-left: 0 !important;
        margin-top: 8px !important;
        padding-top: 12px !important;
        border-top: 1px solid var(--pm-border) !important;
        width: 100% !important;
    }

    .pm-nav-btn-outline, .pm-nav-btn-solid {
        flex: 1 !important;
        text-align: center !important;
    }

    .pm-nav-toggle {
        display: flex !important;
    }

    .pm-hero-v2 {
        flex-direction: column !important;
        padding: 130px 20px 70px !important;
        gap: 40px !important;
        min-height: auto !important;
        text-align: center !important;
    }

    .pm-hero-v2 h1 {
        font-size: 2.4rem !important;
    }

    .pm-hero-v2-sub {
        font-size: 1rem !important;
    }

    .pm-hero-v2-btns {
        justify-content: center !important;
    }

    .pm-hero-v2-card { display: none !important; }

    .pm-howit-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    .pm-benefits-v2-grid {
        grid-template-columns: 1fr !important;
    }

    .pm-benefit-v2-full {
        flex-direction: column !important;
        text-align: center !important;
    }

    .pm-form-row {
        grid-template-columns: 1fr !important;
    }

    .pm-monto-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .pm-plazo-grid {
        grid-template-columns: 1fr !important;
    }

    .pm-sim-header h1 {
        font-size: 1.8rem !important;
    }

    .pm-sim-result-amount {
        font-size: 2.6rem !important;
    }

    .pm-sim-result-details {
        flex-direction: column !important;
        gap: 12px !important;
    }

    .pm-sim-result-divider {
        width: 60px !important;
        height: 1px !important;
    }

    .pm-sim-result-inner {
        padding: 28px 20px !important;
    }

    .pm-sim-cta-btn {
        width: 100% !important;
    }

    .pm-dash-stats {
        grid-template-columns: 1fr 1fr !important;
    }

    .pm-stats-row {
        grid-template-columns: 1fr 1fr !important;
    }

    .pm-footer-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    .pm-step-nav {
        flex-direction: column-reverse !important;
    }

    .pm-step-nav .pm-btn { width: 100% !important; }

    .pm-card {
        padding: 24px !important;
    }
}

@media (max-width: 480px) {
    .pm-hero-v2 h1 { font-size: 1.8rem !important; }
    .pm-hero-v2 { padding: 120px 16px 60px !important; }
    .pm-howit-grid { grid-template-columns: 1fr !important; }
    .pm-benefits-v2-grid { grid-template-columns: 1fr !important; }
    .pm-benefits-v2-title { font-size: 1.8rem !important; }
    .pm-benefit-v2-full-left h3 { font-size: 1.3rem !important; }
    .pm-cta-v2-box { padding: 48px 24px !important; }
    .pm-cta-v2-box h2 { font-size: 1.6rem !important; }
    .pm-section-header h2 { font-size: 1.8rem !important; }
    .pm-stats-row { grid-template-columns: 1fr !important; }
    .pm-dash-stats { grid-template-columns: 1fr !important; }
    .pm-footer-grid { grid-template-columns: 1fr !important; }
    .pm-monto-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .pm-sim-header h1 { font-size: 1.5rem !important; }
    .pm-sim-result-amount { font-size: 2.2rem !important; }
    .pm-razones-title { font-size: 1.5rem !important; }
    .pm-cooldown-num { font-size: 3rem !important; }
    .pm-stat-value { font-size: 1.3rem !important; }
    .pm-auth-page { padding: 90px 16px 40px !important; }
    .pm-card { padding: 20px !important; }

    .pm-form-row { flex-direction: column !important; gap: 0 !important; }
    .pm-form-row .pm-form-group { width: 100% !important; }
    .pm-table-wrap { overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; }
    .pm-table { min-width: 500px !important; font-size: 0.82rem !important; }
    .pm-table th, .pm-table td { padding: 10px 8px !important; }
    .pm-dash-hero h1 { font-size: 1.4rem !important; }
    .pm-quick-actions { flex-direction: column !important; }
    .pm-quick-actions .pm-btn { width: 100% !important; text-align: center !important; }
    .pm-profile-save { flex-direction: column !important; align-items: flex-start !important; }
    .pm-sim-result-details { flex-direction: column !important; gap: 8px !important; }
    .pm-sim-result-divider { display: none !important; }
    .pm-sim-result-detail { flex-direction: row !important; justify-content: space-between !important; padding: 8px 0 !important; border-bottom: 1px solid rgba(0,0,0,0.05) !important; }
    .pm-auth-container.wide { padding: 24px 16px !important; }
    .pm-step-nav { flex-direction: column !important; gap: 10px !important; }
    .pm-step-nav .pm-btn { width: 100% !important; text-align: center !important; }
    .pm-nav-logo span { font-size: 1rem !important; }
}

/* Checkbox fix */
.pm-check-label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    cursor: pointer !important;
    font-size: 0.88rem !important;
    color: var(--pm-text-secondary) !important;
    line-height: 1.5 !important;
}

.pm-check-label input[type="checkbox"] {
    min-width: 20px !important;
    min-height: 20px !important;
    margin-top: 2px !important;
    accent-color: var(--pm-blue-600) !important;
}

.pm-check-label a {
    color: var(--pm-blue-600) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

/* Profile card extras */
.pm-profile-save {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin-top: 20px !important;
}

.pm-profile-msg {
    font-size: 0.85rem !important;
    font-weight: 600 !important;
}

.pm-label-note {
    font-weight: 400 !important;
    color: var(--pm-text-muted) !important;
    font-size: 0.78rem !important;
}

.pm-input-readonly {
    background: #f1f5f9 !important;
    color: var(--pm-text-muted) !important;
    cursor: not-allowed !important;
}

.pm-form-hint {
    font-size: 0.78rem !important;
    color: var(--pm-text-muted) !important;
    margin-top: 4px !important;
    display: block !important;
}

/* Bank info in simulator */
.pm-sim-bank-info {
    margin-top: 20px !important;
    padding-top: 20px !important;
    border-top: 1px solid rgba(0,0,0,0.06) !important;
    width: 100% !important;
}

.pm-sim-bank-summary {
    margin-bottom: 16px !important;
}

.pm-sim-bank-label {
    font-size: 0.82rem !important;
    color: var(--pm-text-muted) !important;
    margin: 0 0 8px !important;
}

.pm-sim-bank-detail {
    background: #F1F6F9 !important;
    border: 1px solid rgba(0,201,167,0.15) !important;
    border-radius: 12px !important;
    padding: 14px 18px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.pm-sim-bank-detail strong {
    color: var(--pm-text) !important;
    font-size: 0.9rem !important;
}

.pm-sim-bank-detail span {
    color: var(--pm-text-secondary) !important;
    font-size: 0.82rem !important;
}

/* ═══════════════════════════════════
   Email Verification Card
═══════════════════════════════════ */
.pm-verify-card {
    background: linear-gradient(135deg, #EEF7F4 0%, #F1F6F9 100%) !important;
    border: 1.5px solid rgba(11,37,69,0.2) !important;
    border-radius: 20px !important;
    padding: 40px 32px !important;
    text-align: center !important;
    margin-bottom: 30px !important;
    max-width: 520px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.pm-verify-icon {
    margin-bottom: 16px !important;
}

.pm-verify-title {
    font-size: 1.4rem !important;
    font-weight: 800 !important;
    color: var(--pm-text) !important;
    margin: 0 0 8px !important;
    letter-spacing: -0.5px !important;
}

.pm-verify-desc {
    color: var(--pm-text-secondary) !important;
    font-size: 0.9rem !important;
    line-height: 1.6 !important;
    margin: 0 0 28px !important;
}

.pm-verify-desc strong {
    color: var(--pm-blue-700) !important;
}

.pm-code-inputs {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 20px !important;
}

.pm-code-digit {
    width: 48px !important;
    height: 56px !important;
    text-align: center !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    font-family: monospace !important;
    border: 2px solid var(--pm-border) !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: var(--pm-text) !important;
    outline: none !important;
    transition: all 0.2s ease !important;
    -webkit-appearance: none !important;
    -moz-appearance: textfield !important;
}

.pm-code-digit:focus {
    border-color: var(--pm-blue-500) !important;
    box-shadow: 0 0 0 3px rgba(0,201,167,0.15) !important;
}

.pm-code-digit.pm-filled {
    border-color: var(--pm-blue-500) !important;
    background: #F1F6F9 !important;
}

.pm-code-sep {
    font-size: 1.5rem !important;
    color: var(--pm-text-muted) !important;
    font-weight: 300 !important;
    padding: 0 2px !important;
}

.pm-verify-actions {
    margin-bottom: 16px !important;
}

.pm-verify-msg {
    min-height: 24px !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    margin-bottom: 4px !important;
}

.pm-verify-msg.pm-msg-error { color: #ef4444 !important; }
.pm-verify-msg.pm-msg-success { color: #059669 !important; }

.pm-verify-resend {
    margin-top: 16px !important;
    padding-top: 16px !important;
    border-top: 1px solid rgba(0,0,0,0.06) !important;
}

.pm-verify-resend p {
    margin: 0 !important;
    font-size: 0.85rem !important;
    color: var(--pm-text-secondary) !important;
}

.pm-link-btn {
    background: none !important;
    border: none !important;
    color: var(--pm-blue-600) !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    font-size: inherit !important;
    font-family: inherit !important;
    text-decoration: underline !important;
    padding: 0 !important;
}

.pm-link-btn:hover {
    color: var(--pm-blue-700) !important;
}

.pm-verify-hint {
    font-size: 0.78rem !important;
    color: var(--pm-text-muted) !important;
    margin-top: 4px !important;
}

.pm-verify-success {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 20px 0 !important;
}

@media (max-width: 480px) {
    .pm-verify-card { padding: 28px 20px !important; }
    .pm-code-digit { width: 40px !important; height: 48px !important; font-size: 1.2rem !important; }
    .pm-code-inputs { gap: 5px !important; }
}

/* ═══════════════════════════════════
   Loan Card & Cuota Cards
═══════════════════════════════════ */
.pm-loan-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-bottom: 20px !important;
}
.pm-loan-number {
    font-size: 1.1rem !important;
    color: var(--pm-blue-700) !important;
    margin-right: 10px !important;
}
.pm-loan-date {
    color: var(--pm-text-secondary) !important;
    font-size: 0.85rem !important;
}
.pm-loan-stats {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 12px !important;
    margin-bottom: 16px !important;
}
.pm-loan-stat {
    background: var(--pm-bg-light, #f8fafc) !important;
    border-radius: 12px !important;
    padding: 14px !important;
    text-align: center !important;
}
.pm-loan-stat-label {
    display: block !important;
    font-size: 0.72rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: var(--pm-text-muted) !important;
    margin-bottom: 4px !important;
}
.pm-loan-stat-value {
    display: block !important;
    font-size: 1.1rem !important;
    font-weight: 800 !important;
    color: var(--pm-text-main) !important;
}
.pm-color-green { color: #059669 !important; }
.pm-color-red { color: #ef4444 !important; }

.pm-loan-proof {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 14px !important;
    background: #EEF7F4 !important;
    border-radius: 10px !important;
    font-size: 0.82rem !important;
    color: #0F3457 !important;
    margin-bottom: 16px !important;
}
.pm-loan-proof a {
    color: #0B2545 !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
}

.pm-loan-progress {
    margin: 20px 0 4px !important;
    padding-top: 16px !important;
    border-top: 1px solid var(--pm-border) !important;
}
.pm-loan-progress-header {
    display: flex !important;
    justify-content: space-between !important;
    font-size: 0.8rem !important;
    color: var(--pm-text-secondary) !important;
    margin-bottom: 8px !important;
    font-weight: 600 !important;
}
.pm-loan-progress-bar {
    height: 8px !important;
    background: #e5e7eb !important;
    border-radius: 100px !important;
    overflow: hidden !important;
}
.pm-loan-progress-fill {
    height: 100% !important;
    background: linear-gradient(90deg, #0B2545, #059669) !important;
    border-radius: 100px !important;
    transition: width 0.6s ease !important;
}

.pm-cuotas-section {
    margin-top: 20px !important;
    padding-top: 16px !important;
    border-top: 1px solid var(--pm-border) !important;
}
.pm-cuotas-title {
    font-weight: 700 !important;
    color: var(--pm-blue-700) !important;
    margin-bottom: 14px !important;
    font-size: 1rem !important;
}
.pm-cuotas-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
    gap: 14px !important;
}

.pm-cuota-card {
    border: 1.5px solid #e5e7eb !important;
    border-radius: 14px !important;
    padding: 18px !important;
    background: #fff !important;
    transition: all 0.2s ease !important;
    position: relative !important;
}
.pm-cuota-card:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.06) !important;
    transform: translateY(-1px) !important;
}
.pm-cuota-paid { border-color: #bbf7d0 !important; background: linear-gradient(135deg, #f0fdf4 0%, #fff 100%) !important; }
.pm-cuota-overdue { border-color: #fecaca !important; background: linear-gradient(135deg, #fef2f2 0%, #fff 100%) !important; }
.pm-cuota-pending { border-color: #e5e7eb !important; }

.pm-cuota-top {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 12px !important;
}
.pm-cuota-num {
    font-weight: 700 !important;
    font-size: 0.88rem !important;
    color: var(--pm-text-main) !important;
}
.pm-cuota-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    padding: 3px 10px !important;
    border-radius: 100px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
}
.pm-cuota-badge-paid { background: #dcfce7 !important; color: #15803d !important; }
.pm-cuota-badge-overdue { background: #fee2e2 !important; color: #dc2626 !important; }
.pm-cuota-badge-pending { background: #fef3c7 !important; color: #b45309 !important; }

.pm-cuota-amount {
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    color: var(--pm-text-main) !important;
    margin-bottom: 4px !important;
}
.pm-cuota-penalty {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 0.78rem !important;
    color: #ef4444 !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
}
.pm-cuota-date {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 0.82rem !important;
    color: var(--pm-text-secondary) !important;
    margin-bottom: 10px !important;
}

.pm-cuota-countdown {
    font-size: 0.78rem !important;
    padding: 6px 12px !important;
    border-radius: 8px !important;
    margin-bottom: 12px !important;
    text-align: center !important;
}
.pm-cuota-countdown-ok { background: #EEF7F4 !important; color: #0A1D38 !important; }
.pm-cuota-countdown-warning { background: #fef3c7 !important; color: #92400e !important; }
.pm-cuota-countdown-overdue { background: #fee2e2 !important; color: #dc2626 !important; }

.pm-cuota-actions {
    margin-top: 4px !important;
}
.pm-cuota-proof-link {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px !important;
    background: #f8fafc !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    border: 1px solid #e5e7eb !important;
    transition: background 0.15s !important;
}
.pm-cuota-proof-link:hover { background: #f1f5f9 !important; }
.pm-cuota-proof-link img {
    width: 44px !important;
    height: 44px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    border: 1px solid #e5e7eb !important;
}
.pm-cuota-proof-link span {
    font-size: 0.8rem !important;
    color: #0B2545 !important;
    font-weight: 600 !important;
}

.pm-pay-btn {
    width: 100% !important;
    padding: 10px !important;
    font-weight: 700 !important;
    font-size: 0.9rem !important;
    border-radius: 10px !important;
}

/* ═══════════════════════════════════
   Payment Modal
═══════════════════════════════════ */
.pm-modal-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: rgba(0,0,0,0.5) !important;
    backdrop-filter: blur(4px) !important;
    z-index: 99999 !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 16px !important;
    display: none !important;
}
.pm-modal-overlay.pm-modal-open {
    display: flex !important;
}
.pm-modal {
    background: #fff !important;
    border-radius: 20px !important;
    padding: 32px 28px !important;
    max-width: 440px !important;
    width: 100% !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
    position: relative !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.15) !important;
    animation: pmModalIn 0.25s ease !important;
}
@keyframes pmModalIn {
    from { opacity: 0; transform: translateY(20px) scale(0.97); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
.pm-modal-close {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    background: #f1f5f9 !important;
    border: none !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    font-size: 20px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #64748b !important;
    transition: all 0.15s !important;
}
.pm-modal-close:hover { background: #e2e8f0 !important; color: #0A1F38 !important; }

.pm-modal-icon {
    text-align: center !important;
    margin-bottom: 16px !important;
}
.pm-modal-title {
    text-align: center !important;
    font-size: 1.2rem !important;
    font-weight: 800 !important;
    color: #081B33 !important;
    margin-bottom: 4px !important;
}
.pm-modal-subtitle {
    text-align: center !important;
    font-size: 0.85rem !important;
    color: #64748b !important;
    margin-bottom: 20px !important;
}

.pm-pay-amount {
    text-align: center !important;
    font-size: 2rem !important;
    font-weight: 900 !important;
    color: #0B2545 !important;
    margin-bottom: 4px !important;
}
.pm-pay-venc {
    text-align: center !important;
    font-size: 0.82rem !important;
    color: #64748b !important;
    margin-bottom: 20px !important;
}

.pm-pay-details {
    background: #f8fafc !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 14px !important;
    padding: 16px !important;
    margin-bottom: 20px !important;
}
.pm-pay-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid #f1f5f9 !important;
}
.pm-pay-row:last-child { border-bottom: none !important; }
.pm-pay-label {
    font-size: 0.8rem !important;
    color: #64748b !important;
    font-weight: 500 !important;
}
.pm-pay-value {
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    color: #081B33 !important;
}
.pm-pay-cbu {
    font-family: 'SF Mono', SFMono-Regular, Menlo, monospace !important;
    font-size: 0.78rem !important;
    letter-spacing: 0.5px !important;
}

.pm-pay-upload { margin-bottom: 16px !important; }
.pm-pay-upload-title {
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    color: #334155 !important;
    margin-bottom: 10px !important;
}
.pm-pay-upload-area {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 24px !important;
    border: 2px dashed #cbd5e1 !important;
    border-radius: 14px !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    text-align: center !important;
}
.pm-pay-upload-area:hover { border-color: #0B2545 !important; background: #f8fafc !important; }
.pm-pay-upload-area span {
    font-size: 0.82rem !important;
    color: #94a3b8 !important;
}

#pm-pay-preview {
    text-align: center !important;
}
#pm-pay-preview img {
    max-width: 100% !important;
    max-height: 200px !important;
    border-radius: 12px !important;
    border: 1px solid #e5e7eb !important;
    margin-bottom: 8px !important;
}
.pm-pay-remove-file {
    background: none !important;
    border: none !important;
    color: #0B2545 !important;
    font-size: 0.82rem !important;
    cursor: pointer !important;
    text-decoration: underline !important;
}

.pm-btn-full {
    width: 100% !important;
    padding: 14px !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    border-radius: 12px !important;
}
.pm-btn-full:disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
}

.pm-pay-msg {
    text-align: center !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    margin-top: 10px !important;
    min-height: 20px !important;
}

@media (max-width: 600px) {
    .pm-loan-stats { grid-template-columns: repeat(3, 1fr) !important; gap: 8px !important; }
    .pm-loan-stat { padding: 10px 8px !important; }
    .pm-loan-stat-value { font-size: 0.95rem !important; }
    .pm-cuotas-grid { grid-template-columns: 1fr !important; }
    .pm-modal { padding: 24px 20px !important; border-radius: 16px !important; }
    .pm-pay-amount { font-size: 1.6rem !important; }
}

/* ═══════════════════════════════════
   Dashboard Loan Countdown
═══════════════════════════════════ */
.pm-dash-loan-countdown {
    background: linear-gradient(135deg, #EEF7F4 0%, #F1F6F9 100%) !important;
    border: 1.5px solid #BEEFE3 !important;
    border-radius: 16px !important;
    padding: 20px !important;
    margin-bottom: 20px !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}
.pm-dash-countdown-icon {
    width: 48px !important;
    height: 48px !important;
    background: #0B2545 !important;
    border-radius: 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}
.pm-dash-countdown-info h4 {
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: #0B2545 !important;
    margin-bottom: 2px !important;
}
.pm-dash-countdown-info p {
    font-size: 0.82rem !important;
    color: #00C9A7 !important;
    margin: 0 !important;
}
.pm-dash-countdown-days {
    margin-left: auto !important;
    text-align: center !important;
    flex-shrink: 0 !important;
}
.pm-dash-countdown-num {
    display: block !important;
    font-size: 1.8rem !important;
    font-weight: 900 !important;
    color: #0B2545 !important;
    line-height: 1 !important;
}
.pm-dash-countdown-label {
    font-size: 0.7rem !important;
    color: #00C9A7 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* ═══════════════════════════════════════════
   MAREA PROFESIONAL — Ajustes finales de marca
   (CTAs en coral + motivo de ola + logo)
   ═══════════════════════════════════════════ */

/* CTAs principales: coral cálido, más llamativo que el navy de fondo */
.pm-hero-cta-btn, .pm-hero-cta-btn:visited,
.pm-cta-v2-btn, .pm-cta-v2-btn:visited,
.pm-sim-cta-btn, .pm-sim-cta-btn:visited,
.pm-btn-primary, .pm-btn-primary:visited {
    background: var(--pm-coral) !important;
    color: #ffffff !important;
    box-shadow: 0 6px 20px rgba(255,107,69,0.35) !important;
}
.pm-hero-cta-btn:hover, .pm-cta-v2-btn:hover, .pm-sim-cta-btn:hover, .pm-btn-primary:hover {
    background: var(--pm-coral-dark) !important;
    box-shadow: 0 10px 28px rgba(255,107,69,0.42) !important;
}
.pm-benefit-link-white, .pm-benefit-link-white:visited {
    color: var(--pm-coral-dark) !important;
}

/* Logo / wordmark: navy + turquesa, sin emoji */
.pm-nav-logo, .pm-nav-logo:visited { color: #0B2545 !important; }
.pm-footer-logo { color: #ffffff !important; }

/* Mascota "lobo marino" — logo real de marca, recortado en círculo */
.pm-nav-logo-mascota, .pm-footer-logo-mascota {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    background: linear-gradient(160deg, #0B2545, #0F3457) !important;
    box-shadow: 0 0 0 2px rgba(0,201,167,0.55), 0 2px 8px rgba(11,37,69,0.25) !important;
}
.pm-nav-logo-mascota img, .pm-footer-logo-mascota img {
    width: 145% !important;
    height: 145% !important;
    object-fit: cover !important;
    object-position: 48% 22% !important;
    display: block !important;
}
.pm-footer-logo-mascota {
    width: 34px !important;
    height: 34px !important;
}

/* Motivo de "ola" sutil — separador entre el hero y la siguiente sección */
.pm-hero-v2 {
    position: relative !important;
}
.pm-hero-v2::after {
    content: '' !important;
    position: absolute !important;
    left: 0 !important; right: 0 !important; bottom: -1px !important;
    height: 60px !important;
    background: #fff !important;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 60' preserveAspectRatio='none'%3E%3Cpath d='M0,30 C150,60 350,0 600,25 C850,50 1050,5 1200,30 L1200,60 L0,60 Z'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 60' preserveAspectRatio='none'%3E%3Cpath d='M0,30 C150,60 350,0 600,25 C850,50 1050,5 1200,30 L1200,60 L0,60 Z'/%3E%3C/svg%3E") !important;
    -webkit-mask-size: 100% 100% !important;
    mask-size: 100% 100% !important;
    z-index: 3 !important;
    pointer-events: none !important;
}

/* Franja de ola turquesa en el footer, arriba de todo */
.pm-footer {
    position: relative !important;
    padding-top: 84px !important;
}
.pm-footer::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important; left: 0 !important; right: 0 !important;
    height: 24px !important;
    background: linear-gradient(90deg, #00C9A7, #0B2545) !important;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 24' preserveAspectRatio='none'%3E%3Cpath d='M0,12 C150,24 350,0 600,10 C850,20 1050,2 1200,12 L1200,24 L0,24 Z'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 24' preserveAspectRatio='none'%3E%3Cpath d='M0,12 C150,24 350,0 600,10 C850,20 1050,2 1200,12 L1200,24 L0,24 Z'/%3E%3C/svg%3E") !important;
    -webkit-mask-size: 100% 100% !important;
    mask-size: 100% 100% !important;
}

@media (max-width: 768px) {
    .pm-hero-v2::after { height: 36px !important; }
    .pm-footer { padding-top: 60px !important; }
    .pm-footer::before { height: 16px !important; }
}

/* ============ Nuevas secciones — landing "Marea Profesional" ============ */

/* Trust bar */
.pm-trust-bar {
    background: var(--pm-blue-900) !important;
    padding: 18px 24px !important;
    position: relative !important;
    z-index: 2 !important;
}
.pm-trust-bar-inner {
    max-width: 1200px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 28px 40px !important;
}
.pm-trust-item {
    color: rgba(255,255,255,0.92) !important;
    font-size: 0.92rem !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    white-space: nowrap !important;
}
.pm-trust-ico { font-size: 1.05rem !important; }

/* Requisitos */
.pm-requisitos { padding: 90px 24px !important; background: var(--pm-surface) !important; }
.pm-requisitos-inner { max-width: 1200px !important; margin: 0 auto !important; }
.pm-requisitos-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
    margin-top: 48px !important;
}
.pm-req-item {
    background: var(--pm-bg) !important;
    border: 1px solid var(--pm-border) !important;
    border-radius: var(--pm-radius) !important;
    padding: 28px 24px !important;
    position: relative !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}
.pm-req-item:hover { transform: translateY(-4px) !important; box-shadow: var(--pm-shadow-md) !important; }
.pm-req-num {
    width: 36px !important; height: 36px !important;
    border-radius: 50% !important;
    background: var(--pm-blue-900) !important;
    color: #fff !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    font-weight: 800 !important;
    font-family: var(--pm-font-heading) !important;
    margin-bottom: 16px !important;
}
.pm-req-item h3 { font-size: 1.05rem !important; color: var(--pm-text) !important; margin-bottom: 6px !important; }
.pm-req-item p { color: var(--pm-text-secondary) !important; font-size: 0.92rem !important; line-height: 1.5 !important; }

/* Mar del Plata / Mascota */
.pm-marplata {
    padding: 100px 24px !important;
    background: linear-gradient(180deg, #F1F6F9 0%, #ffffff 100%) !important;
}
.pm-marplata-inner {
    max-width: 1200px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: 0.85fr 1fr !important;
    gap: 56px !important;
    align-items: center !important;
}
.pm-marplata-img {
    border-radius: 28px !important;
    overflow: hidden !important;
    box-shadow: 0 20px 50px rgba(11,37,69,0.18) !important;
    aspect-ratio: 1 / 1 !important;
}
.pm-marplata-img img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.pm-marplata-text .pm-howit-tag { margin-bottom: 16px !important; display: inline-block !important; }
.pm-marplata-text h2 {
    font-size: 2.1rem !important;
    color: var(--pm-text) !important;
    margin-bottom: 18px !important;
    line-height: 1.2 !important;
}
.pm-marplata-text p {
    color: var(--pm-text-secondary) !important;
    font-size: 1.02rem !important;
    line-height: 1.7 !important;
    margin-bottom: 22px !important;
}

/* FAQ */
.pm-faq { padding: 90px 24px !important; background: var(--pm-surface) !important; }
.pm-faq-inner { max-width: 780px !important; margin: 0 auto !important; }
.pm-faq-list { margin-top: 40px !important; display: flex !important; flex-direction: column !important; gap: 12px !important; }
.pm-faq-item {
    border: 1px solid var(--pm-border) !important;
    border-radius: var(--pm-radius-sm) !important;
    background: var(--pm-bg) !important;
    overflow: hidden !important;
}
.pm-faq-q {
    width: 100% !important;
    text-align: left !important;
    background: none !important;
    border: none !important;
    padding: 18px 22px !important;
    font-family: var(--pm-font-heading) !important;
    font-weight: 700 !important;
    font-size: 0.98rem !important;
    color: var(--pm-text) !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}
.pm-faq-arrow {
    flex-shrink: 0 !important;
    width: 26px !important; height: 26px !important;
    border-radius: 50% !important;
    background: var(--pm-blue-900) !important;
    color: #fff !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    font-weight: 700 !important;
    transition: transform 0.25s ease, background 0.25s ease !important;
}
.pm-faq-item.open .pm-faq-arrow { background: var(--pm-coral) !important; transform: rotate(45deg) !important; }
.pm-faq-a {
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 0.3s ease !important;
    padding: 0 22px !important;
}
.pm-faq-item.open .pm-faq-a { max-height: 220px !important; padding: 0 22px 20px !important; }
.pm-faq-a p { color: var(--pm-text-secondary) !important; font-size: 0.92rem !important; line-height: 1.6 !important; }

@media (max-width: 900px) {
    .pm-requisitos-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .pm-marplata-inner { grid-template-columns: 1fr !important; gap: 32px !important; }
    .pm-marplata-img { max-width: 380px !important; margin: 0 auto !important; }
}
@media (max-width: 600px) {
    .pm-requisitos-grid { grid-template-columns: 1fr !important; }
    .pm-trust-bar-inner { gap: 16px 24px !important; }
    .pm-trust-item { font-size: 0.82rem !important; }
}

/* Divisor "o con tu email" bajo el botón de Google */
.pm-auth-divider {
    display: flex !important;
    align-items: center !important;
    text-align: center !important;
    margin-top: 18px !important;
    color: var(--pm-text-muted) !important;
    font-size: 0.82rem !important;
}
.pm-auth-divider::before, .pm-auth-divider::after {
    content: '' !important;
    flex: 1 !important;
    height: 1px !important;
    background: var(--pm-border) !important;
}
.pm-auth-divider span { padding: 0 12px !important; white-space: nowrap !important; }

/* Mini-mapa de las 3 fases del proceso de registro */
.pm-phase-bar {
    display: flex !important;
    justify-content: center !important;
    gap: 6px !important;
    margin-bottom: 24px !important;
    flex-wrap: wrap !important;
}
.pm-phase {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    color: var(--pm-text-muted) !important;
    padding: 6px 12px !important;
    border-radius: 999px !important;
    background: var(--pm-bg) !important;
    border: 1px solid var(--pm-border) !important;
    white-space: nowrap !important;
}
.pm-phase-n {
    width: 18px !important; height: 18px !important;
    border-radius: 50% !important;
    background: var(--pm-border) !important;
    color: #fff !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    font-size: 0.68rem !important; font-weight: 800 !important;
    flex-shrink: 0 !important;
}
.pm-phase.on { background: #D8F5EE !important; border-color: #7DEDD1 !important; color: var(--pm-blue-900) !important; }
.pm-phase.on .pm-phase-n { background: var(--pm-blue-900) !important; }
.pm-phase.done { color: var(--pm-green) !important; }
.pm-phase.done .pm-phase-n { background: var(--pm-green) !important; }

.pm-auth-hint {
    text-align: center !important;
    font-size: 0.82rem !important;
    color: var(--pm-text-muted) !important;
    margin-top: 16px !important;
    line-height: 1.5 !important;
}

.pm-subheading {
    font-weight: 700 !important;
    color: var(--pm-text) !important;
    margin: 28px 0 16px !important;
    font-size: 0.95rem !important;
}

.pm-upload-single { max-width: 50% !important; }
.pm-upload-single .pm-upload-area { max-width: 100% !important; }

/* CTA para completar el KYC desde el dashboard */
.pm-kyc-cta {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    background: linear-gradient(135deg, #F1F6F9 0%, #D8F5EE 100%) !important;
    border: 1px solid #BEEFE3 !important;
    border-radius: var(--pm-radius) !important;
    padding: 22px 24px !important;
    margin-bottom: 24px !important;
}
.pm-kyc-cta-icon {
    width: 52px !important; height: 52px !important;
    border-radius: 14px !important;
    background: #fff !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    flex-shrink: 0 !important;
    box-shadow: 0 2px 8px rgba(11,37,69,0.1) !important;
}
.pm-kyc-cta-text { flex: 1 !important; min-width: 0 !important; }
.pm-kyc-cta-text h3 { font-size: 1.05rem !important; color: var(--pm-text) !important; margin-bottom: 4px !important; }
.pm-kyc-cta-text p { font-size: 0.88rem !important; color: var(--pm-text-secondary) !important; line-height: 1.5 !important; margin: 0 !important; }
.pm-kyc-cta .pm-btn { flex-shrink: 0 !important; white-space: nowrap !important; }

/* ============ RESPONSIVE — Registro / KYC (mobile) ============ */
@media (max-width: 768px) {
    .pm-kyc-cta { flex-direction: column !important; text-align: center !important; }
    .pm-kyc-cta .pm-btn { width: 100% !important; }

    .pm-phase-bar { gap: 8px !important; }
    .pm-phase { font-size: 0.72rem !important; padding: 5px 10px !important; flex: 1 1 auto !important; justify-content: center !important; }

    .pm-steps-indicator { gap: 0 !important; margin-bottom: 24px !important; }
    .pm-step-dot { width: 28px !important; height: 28px !important; font-size: 0.72rem !important; }
    .pm-step-line { width: 14px !important; }

    .pm-scan-desc, .pm-auth-hint { font-size: 0.85rem !important; }
    .pm-upload-single { max-width: 100% !important; }
    .pm-upload-area { padding: 28px 14px !important; }
    .pm-scan-icon-wrap svg, .pm-upload-icon svg { width: 36px !important; height: 36px !important; }
    .pm-face-oval-preview svg { width: 90px !important; height: 112px !important; }

    .pm-auth-header h1 { font-size: 1.5rem !important; }
    .pm-card-header { font-size: 1rem !important; }
    .pm-subheading { margin: 22px 0 12px !important; }

    .g_id_signin, .g_id_signin > div { width: 100% !important; }
}
@media (max-width: 420px) {
    .pm-step-dot { width: 24px !important; height: 24px !important; font-size: 0.65rem !important; }
    .pm-step-line { width: 8px !important; }
    .pm-phase-label { display: none !important; }
    .pm-phase { padding: 6px 9px !important; }
    .pm-phase-n { margin: 0 !important; }
}
