body {
            background: linear-gradient(135deg, #e6f2ff, #ffffff);
            min-height: 100vh;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        }

        .hero {
            padding: 100px 0;
            text-align: center;
        }

        .hero h1 {
            font-size: 3rem;
            font-weight: 800;
            color: #007bff;
        }

        .hero p {
            font-size: 1.5rem;
            color: #0d6efd;
            margin-top: 20px;
        }

        .registro-box {
            background: #ffffff;
            border-radius: 20px;
            padding: 40px;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
            max-width: 450px;
            margin: auto;
        }

        .btn-registrar {
            background: linear-gradient(45deg, #ff7a00, #ff9f40);
            border: none;
            font-weight: bold;
            padding: 12px;
            font-size: 1.1rem;
        }

        .btn-registrar:hover {
            background: linear-gradient(45deg, #ff6a00, #ff8c00);
        }

        .footer {
            text-align: center;
            margin-top: 80px;
            color: #6c757d;
        }

        /* -------------- */
        body[data-bs-theme="dark"] {
            background: linear-gradient(135deg, #0d1b2a, #1b263b);
        }

        body[data-bs-theme="dark"] .hero h1 {
            color: #66b2ff;
        }

        body[data-bs-theme="dark"] .hero p {
            color: #99ccff;
        }

        body[data-bs-theme="dark"] .registro-box {
            background: #1e293b;
            color: white;
        }

        body[data-bs-theme="dark"] .footer {
            color: #adb5bd;
        }

        /*------------------------*/
        .btn-tema {
            position: fixed;
            top: 15px;
            right: 15px;
            z-index: 9999;
            border-radius: 50px;
            padding: 8px 14px;
        }

        /* En celular un poco más pequeño */
        @media (max-width: 576px) {
            .btn-tema {
                top: 10px;
                right: 10px;
                padding: 6px 12px;
                font-size: 0.9rem;
            }
        }

        /*----------------------------*/
        /* LOADER FULLSCREEN */
        .loader-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(255, 255, 255, 0.7);
            backdrop-filter: blur(4px);
            display: flex;
            justify-content: center;
            align-items: center;
            z-index: 99999;
        }

        /* loader en modo oscuro */
        body[data-bs-theme="dark"] .loader-overlay {
            background: rgba(0, 0, 0, 0.6);
        }