@keyframes pge-rp-spin { to { transform: rotate(360deg); } }

    .pge-rp-wrapper { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: #1e293b; line-height: 1.6; }
    .pge-rp-wrapper * { box-sizing: border-box; }

    .pge-rp-hero {
        background: linear-gradient(135deg, #1b3beb 0%, #1b3bebdd 50%, #1b3bebbb 100%);
        padding: 50px 24px 70px; text-align: center; position: relative; overflow: hidden;
    }
    .pge-rp-hero-title { font-size: 32px; font-weight: 800; color: #fff; margin: 0 0 8px; }
    .pge-rp-hero-sub { font-size: 16px; color: rgba(255,255,255,0.85); margin: 0; max-width: 500px; margin: 0 auto; }

    .pge-rp-card {
        max-width: 440px; margin: -40px auto 40px; padding: 0 16px; position: relative; z-index: 2;
    }
    .pge-rp-card-inner {
        background: #fff; border-radius: 16px; padding: 32px 28px;
        box-shadow: 0 10px 40px rgba(0,0,0,0.08); border: 1px solid #f1f5f9;
    }
    .pge-rp-form-title { font-size: 20px; font-weight: 700; margin: 0 0 4px; text-align: center; }
    .pge-rp-form-sub { font-size: 13px; color: #94a3b8; margin: 0 0 20px; text-align: center; }

    .pge-rp-field { margin-bottom: 16px; }
    .pge-rp-label { display: block; font-size: 13px; font-weight: 600; color: #374151; margin-bottom: 5px; }
    .pge-rp-req { color: #ef4444; }
    .pge-rp-input {
        width: 100%; padding: 12px 14px; border: 1.5px solid #e2e8f0; border-radius: 10px;
        font-size: 15px; color: #1e293b; transition: border-color 0.2s, box-shadow 0.2s;
        background: #fff; outline: none;
    }
    .pge-rp-input:focus { border-color: #1b3beb; box-shadow: 0 0 0 3px #1b3beb22; }
    .pge-rp-input::placeholder { color: #94a3b8; }

    .pge-rp-pw-toggle {
        position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
        background: none; border: none; cursor: pointer; color: #94a3b8; padding: 4px;
    }
    .pge-rp-pw-toggle:hover { color: #475569; }

    .pge-rp-strength {
        display: flex; align-items: center; gap: 10px; margin-bottom: 16px;
    }
    .pge-rp-strength-bar {
        flex: 1; height: 6px; background: #e2e8f0; border-radius: 3px; overflow: hidden;
    }
    .pge-rp-strength-fill {
        height: 100%; width: 0; border-radius: 3px; transition: width 0.3s, background 0.3s;
    }
    .pge-rp-strength-text {
        font-size: 11px; font-weight: 600; white-space: nowrap;
    }

    .pge-rp-btn {
        width: 100%; padding: 14px; border: none; border-radius: 10px; font-size: 16px; font-weight: 700;
        color: #fff; cursor: pointer; transition: opacity 0.2s, transform 0.1s;
        background: linear-gradient(135deg, #1b3beb, #1b3bebcc);
        display: flex; align-items: center; justify-content: center; gap: 8px;
    }
    .pge-rp-btn:hover { opacity: 0.92; transform: translateY(-1px); }
    .pge-rp-btn:active { transform: translateY(0); }
    .pge-rp-btn:disabled { opacity: 0.7; cursor: not-allowed; transform: none; }

    .pge-rp-spinner {
        display: inline-block; width: 16px; height: 16px; border: 2px solid rgba(255,255,255,0.3);
        border-top-color: #fff; border-radius: 50%; animation: pge-rp-spin 0.6s linear infinite;
    }

    .pge-rp-trust {
        display: flex; justify-content: center; gap: 16px; margin-top: 20px; flex-wrap: wrap;
        padding-top: 16px; border-top: 1px solid #f1f5f9;
    }
    .pge-rp-trust span { font-size: 11px; color: #94a3b8; white-space: nowrap; }

    @media (max-width: 480px) {
        .pge-rp-hero { padding: 36px 16px 56px; }
        .pge-rp-hero-title { font-size: 24px; }
        .pge-rp-card-inner { padding: 24px 20px; }
        .pge-rp-trust { gap: 10px; }
    }
