    :root {
        --primary-color: #0040ff;
        --primary-dark: #0033cc;
        --secondary-color: #00d974;
        --primary-gradient: linear-gradient(135deg, #0040ff 0%, #0033cc 100%);
        --secondary-gradient: linear-gradient(135deg, #00d974 0%, #00b85c 100%);
        --background-gradient: linear-gradient(135deg, #0040ff 0%, #00d974 100%);
        --shadow-light: 0 4px 15px rgba(0, 0, 0, 0.1);
        --shadow-medium: 0 10px 40px rgba(0, 0, 0, 0.15);
        --shadow-strong: 0 20px 60px rgba(0, 0, 0, 0.2);
        --border-radius: 16px;
        --border-radius-lg: 24px;
    }

    .enhanced-auth-wrapper {
        min-height: 100vh;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 2rem 1rem;
        position: relative;
        background: var(--background-gradient);
        overflow: hidden;
    }

    .auth-background {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1;
    }

    .auth-wave {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 200px;
        background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320"><path fill="rgba(255,255,255,0.1)" d="M0,96L48,112C96,128,192,160,288,160C384,160,480,128,576,112C672,96,768,96,864,122.7C960,149,1056,203,1152,213.3C1248,224,1344,192,1392,176L1440,160L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z"></path></svg>') no-repeat bottom;
        background-size: cover;
        animation: waveFloat 6s ease-in-out infinite;
    }

    @keyframes waveFloat {
        0%, 100% { transform: translateX(0) scaleY(1); }
        50% { transform: translateX(-20px) scaleY(0.9); }
    }

    .auth-particles {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        pointer-events: none;
    }

    .particle {
        position: absolute;
        width: 4px;
        height: 4px;
        background: rgba(255, 255, 255, 0.3);
        border-radius: 50%;
        animation: floatParticle 12s linear infinite;
    }

    .particle:nth-child(1) { left: 10%; animation-delay: -2s; }
    .particle:nth-child(2) { left: 25%; animation-delay: -4s; }
    .particle:nth-child(3) { left: 40%; animation-delay: -1s; }
    .particle:nth-child(4) { left: 60%; animation-delay: -6s; }
    .particle:nth-child(5) { left: 75%; animation-delay: -3s; }
    .particle:nth-child(6) { left: 90%; animation-delay: -5s; }

    @keyframes floatParticle {
        0% { transform: translateY(100vh) rotate(0deg); opacity: 0; }
        10% { opacity: 1; }
        90% { opacity: 1; }
        100% { transform: translateY(-20px) rotate(360deg); opacity: 0; }
    }

    .enhanced-auth-card {
        width: 480px;
        max-width: 100%;
        background: rgba(255, 255, 255, 0.95);
        backdrop-filter: blur(20px);
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: var(--border-radius-lg);
        box-shadow: var(--shadow-strong);
        position: relative;
        z-index: 10;
        overflow: hidden;
        animation: slideInUp 0.6s ease-out;
        max-height: 90vh;
        overflow-y: auto;
    }

    @keyframes slideInUp {
        from {
            opacity: 0;
            transform: translateY(30px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .enhanced-auth-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 2px;
        background: var(--primary-gradient);
        animation: shimmer 2s ease-in-out infinite;
    }

    @keyframes shimmer {
        0% { left: -100%; }
        50% { left: 100%; }
        100% { left: 100%; }
    }

    .auth-header {
        text-align: center;
        padding: 2.5rem 3rem 1.5rem;
        position: relative;
    }

    .logo-container {
        margin-bottom: 1.5rem;
        animation: logoFloat 3s ease-in-out infinite;
    }

    @keyframes logoFloat {
        0%, 100% { transform: translateY(0px); }
        50% { transform: translateY(-5px); }
    }

    .enhanced-logo {
        height: 50px;
        width: auto;
        filter: drop-shadow(0 4px 15px rgba(0, 64, 255, 0.3));
    }

    .auth-title {
        font-size: 1.75rem;
        font-weight: 700;
        color: #1a202c;
        margin-bottom: 0.5rem;
        background: var(--primary-gradient);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }

    .auth-subtitle {
        color: #64748b;
        font-size: 0.95rem;
        margin: 0;
        opacity: 0.8;
    }

    .auth-form-container {
        padding: 0 3rem 1.5rem;
    }

    .form-group {
        margin-bottom: 1.25rem;
    }

    .input-container, .select-container {
        position: relative;
        margin-bottom: 0.5rem;
    }

    .input-icon {
        position: absolute;
        left: 1rem;
        top: 50%;
        transform: translateY(-50%);
        color: #64748b;
        font-size: 1rem;
        z-index: 2;
        transition: color 0.3s ease;
    }

    .enhanced-form-control, .enhanced-form-select {
        width: 100%;
        padding: 0.875rem 0.875rem 0.875rem 2.75rem;
        border: 2px solid #e2e8f0;
        border-radius: var(--border-radius);
        font-size: 0.95rem;
        background: #f8fafc;
        transition: all 0.3s ease;
        position: relative;
        z-index: 1;
        appearance: none;
    }

    .enhanced-form-select {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
        background-position: right 0.75rem center;
        background-repeat: no-repeat;
        background-size: 1.5em 1.5em;
        padding-right: 2.5rem;
    }

    .enhanced-form-control:focus, .enhanced-form-select:focus {
        outline: none;
        border-color: var(--primary-color);
        background: white;
        box-shadow: 0 0 0 3px rgba(0, 64, 255, 0.1);
        transform: translateY(-1px);
    }

    .enhanced-form-control:focus + .input-border,
    .enhanced-form-select:focus + .select-border {
        transform: scaleX(1);
    }

    .enhanced-form-control:focus ~ .input-icon,
    .enhanced-form-select:focus ~ .input-icon {
        color: var(--primary-color);
    }

    .input-border, .select-border {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 2px;
        background: var(--primary-gradient);
        transform: scaleX(0);
        transition: transform 0.3s ease;
        border-radius: 1px;
    }

    .role-fields {
        transition: all 0.3s ease;
    }

    .field-validation-error {
        color: #ef4444;
        font-size: 0.8rem;
        margin-top: 0.25rem;
        display: block;
        opacity: 0;
        transform: translateY(-10px);
        transition: all 0.3s ease;
    }

    .field-validation-error:not(:empty) {
        opacity: 1;
        transform: translateY(0);
    }

    .auth-error-summary {
        background: #fef2f2;
        border: 1px solid #fecaca;
        border-radius: var(--border-radius);
        padding: 1rem;
        margin-bottom: 1.25rem;
        color: #dc2626;
        font-size: 0.8rem;
    }

    .auth-error-summary ul {
        margin: 0;
        padding-left: 1.25rem;
    }

    .enhanced-login-btn {
        width: 100%;
        background: var(--primary-gradient);
        border: none;
        border-radius: var(--border-radius);
        padding: 1rem 2rem;
        font-size: 1rem;
        font-weight: 600;
        color: white;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        transition: all 0.3s ease;
        position: relative;
        overflow: hidden;
        margin-top: 1rem;
    }

    .enhanced-login-btn::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
        transition: left 0.5s;
    }

    .enhanced-login-btn:hover::before {
        left: 100%;
    }

    .enhanced-login-btn:hover {
        transform: translateY(-2px);
        box-shadow: var(--shadow-medium);
    }

    .enhanced-login-btn:active {
        transform: translateY(0);
    }

    .btn-text {
        position: relative;
        z-index: 2;
    }

    .btn-icon {
        position: relative;
        z-index: 2;
        transition: transform 0.3s ease;
    }

    .enhanced-login-btn:hover .btn-icon {
        transform: translateX(4px);
    }

    .social-login-section {
        padding: 1rem 3rem;
        border-top: 1px solid #e2e8f0;
        background: rgba(248, 250, 252, 0.5);
    }

    .divider {
        position: relative;
        text-align: center;
        margin-bottom: 1rem;
    }

    .divider::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 0;
        right: 0;
        height: 1px;
        background: #e2e8f0;
    }

    .divider-text {
        background: rgba(248, 250, 252, 0.9);
        padding: 0 1rem;
        color: #64748b;
        font-size: 0.875rem;
        position: relative;
        z-index: 1;
    }

    .social-buttons {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
    }

    .social-btn {
        background: white;
        border: 2px solid #e2e8f0;
        border-radius: var(--border-radius);
        padding: 0.75rem 1rem;
        font-size: 0.9rem;
        color: #4a5568;
        cursor: pointer;
        transition: all 0.3s ease;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .social-btn:hover {
        border-color: var(--primary-color);
        color: var(--primary-color);
        transform: translateY(-1px);
        box-shadow: var(--shadow-light);
    }

    .forgot-password-btn {
        width: 100%;
        margin-top: 0.5rem;
        gap: 0.5rem;
        text-decoration: none;
        font-weight: 600;
    }

    .forgot-password-btn i {
        font-size: 1rem;
    }

    .auth-footer {
        padding: 1rem 3rem 2.5rem;
        text-align: center;
        border-top: 1px solid #e2e8f0;
        background: #f8fafc;
    }

    .login-link {
        margin: 0;
        color: #64748b;
        font-size: 0.9rem;
    }

    .enhanced-link {
        color: var(--primary-color);
        text-decoration: none;
        font-weight: 600;
        transition: all 0.3s ease;
        position: relative;
    }

    .enhanced-link::after {
        content: '';
        position: absolute;
        bottom: -2px;
        left: 0;
        width: 0;
        height: 2px;
        background: var(--primary-gradient);
        transition: width 0.3s ease;
    }

    .enhanced-link:hover {
        color: var(--primary-dark);
        text-decoration: none;
    }

    .enhanced-link:hover::after {
        width: 100%;
    }

    /* Responsive Design */
    @media (max-width: 576px) {
        .enhanced-auth-wrapper {
            padding: 1rem;
        }

        .enhanced-auth-card {
            width: 100%;
            margin: 0;
        }

        .auth-header {
            padding: 2rem 2rem 1.25rem;
        }

        .auth-form-container {
            padding: 0 2rem 1.25rem;
        }

        .social-login-section {
            padding: 1rem 2rem;
        }

        .auth-footer {
            padding: 1rem 2rem 2rem;
        }

        .auth-title {
            font-size: 1.5rem;
        }

        .enhanced-form-control, .enhanced-form-select {
            padding: 0.8rem 0.8rem 0.8rem 2.5rem;
        }

        .input-icon {
            left: 0.8rem;
            font-size: 0.95rem;
        }

        .form-group {
            margin-bottom: 1rem;
        }
    }
