    /* Loading Screen Styles */
    .loading-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(26, 26, 26, 0.95);
        backdrop-filter: blur(10px);
        display: none;
        justify-content: center;
        align-items: center;
        z-index: 10000;
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    .loading-overlay.show {
        display: flex;
        opacity: 1;
    }

    .loading-content {
        text-align: center;
        color: white;
        position: relative;
    }

    .loading-logo {
        width: 100px;
        height: 100px;
        margin: 0 auto 30px auto;
        position: relative;
        border-radius: 50%;
        background: linear-gradient(45deg, rgb(255, 255, 255), rgb(255, 255, 255), rgb(255, 255, 255));
        background-size: 300% 300%;
        animation: gradientShift 2s ease-in-out infinite;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 0 50px rgba(76, 175, 80, 0.3);
    }

    .loading-logo::before {
        content: '';
        position: absolute;
        top: -3px;
        left: -3px;
        right: -3px;
        bottom: -3px;
        border-radius: 50%;
        background: conic-gradient(from 0deg, rgb(255, 255, 255), rgb(254, 255, 255), rgb(228, 240, 229), rgb(247, 247, 247), rgb(227, 236, 228));
        animation: rotate 2s linear infinite;
        z-index: -1;
    }

    .loading-logo img {
        width: 60px;
        height: 60px;
        object-fit: contain;
        position: relative;
        z-index: 2;
        animation: logoFloat 2s ease-in-out infinite alternate;
        filter: brightness(1.1) drop-shadow(0 0 10px rgba(255, 255, 255, 0.3));
    }

    .loading-text {
        font-size: 1.4rem;
        font-weight: 600;
        margin-bottom: 10px;
        animation: textGlow 2s ease-in-out infinite alternate;
    }

    .loading-subtext {
        font-size: 1rem;
        opacity: 0.8;
        font-weight: 400;
        animation: fadeInOut 2s ease-in-out infinite;
    }

    .loading-dots {
        display: inline-block;
        position: relative;
        width: 80px;
        height: 12px;
        margin-top: 20px;
    }

    .loading-dots div {
        position: absolute;
        top: 0;
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background: #4CAF50;
        animation: loadingDots 1.2s linear infinite;
    }

    .loading-dots div:nth-child(1) { left: 8px; animation-delay: 0s; }
    .loading-dots div:nth-child(2) { left: 32px; animation-delay: -0.4s; }
    .loading-dots div:nth-child(3) { left: 56px; animation-delay: -0.8s; }

    /* Form validation styles */
    .form-control.is-invalid {
        border-color: var(--error-color);
    }

    .invalid-feedback {
        color: var(--error-color);
        font-size: 0.875rem;
        margin-top: 0.25rem;
        display: block;
    }

    /* Success/Error Messages */
    .alert {
        border-radius: 0;
        border: none;
        padding: 1rem 1.5rem;
        margin-bottom: 2rem;
        font-weight: 500;
    }

    .alert-success {
        background: var(--success-color);
        color: white;
    }

    .alert-danger {
        background: var(--error-color);
        color: white;
    }

    /* Enhanced form styles */
    .form-label {
        font-weight: 600;
        color: var(--primary-black);
        margin-bottom: 0.5rem;
        display: block;
        font-size: 1rem;
    }

    /* Animations */
    @keyframes rotate {
        0% { transform: rotate(0deg); }
        100% { transform: rotate(360deg); }
    }

    @keyframes logoFloat {
        0% { transform: translateY(0px) scale(1); }
        100% { transform: translateY(-10px) scale(1.05); }
    }

    @keyframes textGlow {
        0% { text-shadow: 0 0 5px rgba(76, 175, 80, 0.5); }
        100% { text-shadow: 0 0 20px rgba(76, 175, 80, 0.8); }
    }

    @keyframes gradientShift {
        0% { background-position: 0% 0%; }
        50% { background-position: 100% 100%; }
        100% { background-position: 0% 0%; }
    }

    @keyframes fadeInOut {
        0% { opacity: 0.6; }
        100% { opacity: 1; }
    }

    @keyframes loadingDots {
        0%, 80%, 100% { transform: scale(0); opacity: 0.5; }
        40% { transform: scale(1); opacity: 1; }
    }

    /* Success animation */
    .success-checkmark {
        width: 80px;
        height: 80px;
        border-radius: 50%;
        background: #4CAF50;
        margin: 0 auto 20px auto;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        animation: successPulse 0.6s ease-out;
    }

    .success-checkmark::after {
        content: '✓';
        color: white;
        font-size: 40px;
        font-weight: bold;
    }

    @keyframes successPulse {
        0% { transform: scale(0); }
        50% { transform: scale(1.1); }
        100% { transform: scale(1); }
    }
       /* Success/Error Messages */
        .alert {
            border-radius: 0;
            border: none;
            padding: 1rem 1.5rem;
            margin-bottom: 2rem;
            font-weight: 500;
        }

        .alert-success {
            background: var(--success-color);
            color: white;
        }

        .alert-danger {
            background: var(--error-color);
            color: white;
        }
    







