
        /* ============================================================
           REGISTRO DE USUARIOS - SISTEMA NAVY + GOLD
           ============================================================ */

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

        :root {
            --radius: 0.875rem;
            --radius-sm: 0.75rem;
            --radius-xl: 1.25rem;
            --radius-2xl: 1.5rem;
            
            --background: oklch(0.99 0.005 90);
            --foreground: oklch(0.18 0.04 260);
            --card: oklch(1 0 0);
            --card-foreground: oklch(0.18 0.04 260);
            
            --navy: oklch(0.22 0.06 265);
            --navy-deep: oklch(0.14 0.05 265);
            --navy-light: oklch(0.35 0.08 265);
            --primary: oklch(0.22 0.06 265);
            --primary-foreground: oklch(0.98 0.005 90);
            
            --gold: oklch(0.82 0.16 85);
            --gold-dark: oklch(0.70 0.14 85);
            --gold-light: oklch(0.88 0.14 88);
            --gold-foreground: oklch(0.18 0.04 260);
            
            --muted: oklch(0.96 0.01 250);
            --muted-foreground: oklch(0.45 0.03 260);
            --accent: oklch(0.82 0.16 85);
            --border: oklch(0.9 0.012 260);
            --input: oklch(0.95 0.005 90);
            --ring: oklch(0.82 0.16 85);
            
            --gradient-hero: linear-gradient(135deg, oklch(0.14 0.05 265) 0%, oklch(0.22 0.06 265) 55%, oklch(0.32 0.09 270) 100%);
            --gradient-gold: linear-gradient(135deg, oklch(0.88 0.14 88) 0%, oklch(0.78 0.17 75) 100%);
            --gradient-card: linear-gradient(145deg, rgba(255,255,255,0.98), rgba(248,250,252,0.98));
            
            --shadow-elegant: 0 25px 60px -25px color-mix(in oklab, var(--navy-deep) 45%, transparent);
            --shadow-gold: 0 20px 50px -20px color-mix(in oklab, var(--gold) 55%, transparent);
            --shadow-card: 0 10px 30px -15px color-mix(in oklab, var(--navy-deep) 25%, transparent);
            --shadow-sm: 0 1px 3px rgba(0,0,0,0.1);
            --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1);
            
            --font-display: 'Space Grotesk', system-ui, sans-serif;
            --font-sans: 'Inter', system-ui, sans-serif;
            --font-mono: 'DM Mono', monospace;
            
            --success: #10b981;
            --success-bg: rgba(16, 185, 129, 0.12);
            --warning: #f59e0b;
            --warning-bg: rgba(245, 158, 11, 0.12);
            --danger: #ef4444;
            --danger-bg: rgba(239, 68, 68, 0.12);
            --info: #3b82f6;
            --info-bg: rgba(59, 130, 246, 0.12);
        }

        body {
            background: radial-gradient(circle at 10% 20%, var(--navy) 0%, var(--navy-deep) 100%);
            color: var(--foreground);
            font-family: var(--font-sans);
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            padding-top: 72px;
            min-height: 100vh;
        }

        h1, h2, h3, h4, h5, h6 {
            font-family: var(--font-display);
            letter-spacing: -0.02em;
        }


        /* ===== FORMULARIO DE REGISTRO ===== */
        .registro-wrapper {
            max-width: 580px;
            margin: 2rem auto;
            padding: 0 1.5rem;
        }

        .registro-card {
            background: var(--gradient-card);
            border-radius: var(--radius-2xl);
            padding: 2rem;
            box-shadow: var(--shadow-card);
            border: 1px solid var(--border);
            transition: all 0.3s ease;
        }

        .registro-card:hover {
            transform: translateY(-3px);
            border-color: var(--gold);
            box-shadow: var(--shadow-gold);
        }

        .registro-card h2 {
            font-size: 1.5rem;
            font-weight: 700;
            margin-bottom: 0.5rem;
            color: var(--navy);
            display: flex;
            align-items: center;
            gap: 0.75rem;
        }

        .registro-card h2 i {
            background: var(--gradient-gold);
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
        }

        .registro-subtitle {
            color: var(--muted-foreground);
            font-size: 0.8rem;
            margin-bottom: 1.5rem;
            padding-bottom: 1rem;
            border-bottom: 1px solid var(--border);
        }

        .form-group {
            margin-bottom: 1.25rem;
        }

        .form-group label {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.75rem;
            font-weight: 700;
            margin-bottom: 0.5rem;
            color: var(--navy);
            text-transform: uppercase;
            letter-spacing: 0.03em;
        }

        .form-group label i {
            color: var(--gold);
        }

        .form-group input:not([type="checkbox"]) {
            width: 100%;
            padding: 0.75rem 1rem;
            border: 1.5px solid var(--border);
            border-radius: var(--radius-sm);
            font-size: 0.85rem;
            transition: all 0.2s;
            background: white;
            font-family: var(--font-sans);
        }

        .form-group input:not([type="checkbox"]):focus {
            outline: none;
            border-color: var(--gold);
            box-shadow: 0 0 0 3px rgba(210, 158, 0, 0.15);
        }

        small {
            display: block;
            margin-top: 0.25rem;
            font-size: 0.65rem;
            color: var(--muted-foreground);
        }

        /* Password wrapper */
        .password-wrapper {
            position: relative;
            display: flex;
            align-items: center;
        }

        .password-wrapper input {
            flex: 1;
            padding-right: 2.5rem;
        }

        .toggle-password {
            position: absolute;
            right: 0.75rem;
            background: none;
            border: none;
            color: var(--muted-foreground);
            cursor: pointer;
            font-size: 1rem;
            padding: 0.25rem;
            transition: color 0.2s;
        }

        .toggle-password:hover {
            color: var(--gold);
        }

        /* Password strength */
        .strength-container {
            margin-top: 0.75rem;
        }

        .strength-bar-container {
            height: 6px;
            background: var(--border);
            border-radius: 9999px;
            overflow: hidden;
        }

        .strength-bar {
            height: 100%;
            width: 0%;
            transition: width 0.3s ease;
            border-radius: 9999px;
        }

        .strength-text {
            font-size: 0.65rem;
            margin-top: 0.5rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        .password-match-status {
            font-size: 0.65rem;
            margin-top: 0.5rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        /* Requirements card */
        .requirements-card {
            background: var(--muted);
            border-radius: var(--radius-sm);
            padding: 1rem;
            margin-top: 1rem;
            border: 1px solid var(--border);
        }

        .requirements-title {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.75rem;
            font-weight: 700;
            color: var(--gold);
            margin-bottom: 0.75rem;
            padding-bottom: 0.5rem;
            border-bottom: 2px solid var(--gold);
        }

        .requirements-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
            gap: 0.5rem;
        }

        .requirement-item {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.7rem;
            padding: 0.4rem 0.6rem;
            background: white;
            border-radius: 9999px;
            border: 1px solid var(--border);
            transition: all 0.2s;
        }

        .requirement-item i {
            font-size: 0.65rem;
            color: var(--muted-foreground);
        }

        .requirement-item .fa-check-circle {
            color: var(--success);
        }

        .requirement-met {
            background: var(--success-bg);
            border-color: var(--success);
        }

        /* Checkbox */
        .form-group input[type="checkbox"] {
            width: auto;
            margin-right: 0.5rem;
            accent-color: var(--gold);
        }

        .form-group label a {
            color: var(--navy);
            text-decoration: none;
            font-weight: 600;
        }

        .form-group label a:hover {
            text-decoration: underline;
        }

        /* Botón registro */
        .btn-registro {
            width: 100%;
            background: var(--gradient-gold);
            color: var(--gold-foreground);
            border: none;
            padding: 0.85rem;
            border-radius: 9999px;
            font-weight: 700;
            font-size: 0.9rem;
            cursor: pointer;
            transition: all 0.2s;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            margin-top: 1rem;
        }

        .btn-registro:hover {
            transform: translateY(-2px);
            filter: brightness(1.05);
        }

        .btn-registro:disabled {
            opacity: 0.7;
            cursor: not-allowed;
            transform: none;
        }

        /* Login link */
        .login-link {
            text-align: center;
            margin-top: 1.5rem;
            padding-top: 1rem;
            border-top: 1px solid var(--border);
            font-size: 0.8rem;
        }

        .login-link a {
            color: var(--gold);
            text-decoration: none;
            font-weight: 600;
        }

        .login-link a:hover {
            text-decoration: underline;
        }

        /* Alertas */
        .alert-message {
            padding: 0.75rem 1rem;
            border-radius: var(--radius-sm);
            margin-bottom: 1.25rem;
            font-size: 0.8rem;
            display: none;
        }

        .alert-success {
            background: var(--success-bg);
            color: var(--success);
            border-left: 3px solid var(--success);
        }

        .alert-error {
            background: var(--danger-bg);
            color: var(--danger);
            border-left: 3px solid var(--danger);
        }

        /* Input error animation */
        .input-error {
            border-color: var(--danger) !important;
            background-color: var(--danger-bg) !important;
            animation: shake 0.3s ease-in-out 0s 2;
        }

        @keyframes shake {
            0%, 100% { transform: translateX(0); }
            25% { transform: translateX(-5px); }
            75% { transform: translateX(5px); }
        }

        /* Footer */
        footer {
            background: var(--gradient-hero);
            color: white;
            margin-top: 3rem;
            padding: 2rem 1.5rem;
            text-align: center;
        }

        footer p {
            color: rgba(255, 255, 255, 0.8);
            font-size: 0.75rem;
            margin-bottom: 0.5rem;
        }

        footer a {
            color: rgba(255, 255, 255, 0.7);
            margin: 0 0.5rem;
            font-size: 1.1rem;
            transition: all 0.2s;
            display: inline-block;
            text-decoration: none;
        }

        footer a:hover {
            color: white;
            transform: translateY(-2px);
        }

        .footer-links {
            margin-top: 0.75rem;
            font-size: 0.7rem;
        }

        .footer-links a {
            color: rgba(255, 255, 255, 0.6);
            font-size: 0.7rem;
            margin: 0;
        }

        .footer-links a:hover {
            color: white;
        }

        /* WhatsApp flotante */
        .whatsapp-float {
            position: fixed;
            bottom: 1.5rem;
            right: 1.5rem;
            background: #25D366;
            color: white;
            width: 3.5rem;
            height: 3.5rem;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 9999px;
            font-size: 1.75rem;
            transition: transform 0.2s;
            z-index: 40;
            text-decoration: none;
            box-shadow: var(--shadow-md);
        }

        .whatsapp-float:hover {
            transform: scale(1.1);
        }

        /* Scrollbar */
        ::-webkit-scrollbar {
            width: 8px;
            height: 8px;
        }

        ::-webkit-scrollbar-track {
            background: #e2e8f0;
            border-radius: 4px;
        }

        ::-webkit-scrollbar-thumb {
            background: var(--gold);
            border-radius: 4px;
        }

        ::-webkit-scrollbar-thumb:hover {
            background: var(--gold-dark);
        }

        /* Responsive */
        @media (max-width: 640px) {
            .registro-wrapper {
                padding: 0 1rem;
            }
            
            .registro-card {
                padding: 1.5rem;
            }
            
            .registro-card h2 {
                font-size: 1.3rem;
            }
            
            .requirements-grid {
                grid-template-columns: 1fr;
            }
            
            .btn-registro {
                padding: 0.7rem;
                font-size: 0.85rem;
            }
        }
