
    :root {
        --primary-green: #0fae64;
              --accent-blue: #00692f;
              --primary-light: #2d8a5c;
              --secondary: #2c5f7a;
              --accent: #f97316;
              --light: #f8fafc;
              --dark: #1e293b;
              --gray: #64748b;
              --submit-green: #0fae64;
              --submit-green-hover: #00692f;
    }
    body {
        min-height: 100vh;
        background: linear-gradient(145deg, #F5F6F5, #e0e7ea);
        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        /* padding-top: 94px; */
    }
    .modern-card {
        border-radius: 1.5rem; 
        overflow: hidden;
        box-shadow: 0 12px 35px rgba(0, 0, 0, 0.15); 
        background: linear-gradient(135deg, #ffffff, #f8f9fa);
        animation: slideInUp 0.6s ease forwards;
        max-width: 550px; 
        margin: 40px auto; 
        padding: 20px;
    }
    .card-header {
        background: linear-gradient(135deg, var(--primary-green), var(--accent-blue));
        border-bottom: none;
        color: white;
        padding: 1.8rem;
        text-align: center;
        position: relative;
    }
    .card-header::after {
        content: '';
        position: absolute;
        inset: 0;
        background: url('https://www.transparenttextures.com/patterns/wavecut.png');
        opacity: 0.1;
        background-repeat: repeat;
    }
    .card-body {
        padding: 2.5rem; 
        background: rgba(255, 255, 255, 0.95);
    }
    .section-title {
        color: var(--primary-green);
        font-weight: 700;
        font-size: 1.3rem; 
        border-bottom: 2px solid var(--accent-blue);
        padding-bottom: 0.6rem;
        margin-bottom: 1.8rem;
        letter-spacing: -0.025em;
    }
    .form-label {
        font-weight: 500;
        color: var(--primary-green);
        font-size: 0.95rem; 
        margin-bottom: 0.5rem;
        opacity: 0.9;
        transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    }
    .form-control {
        background: rgba(255, 255, 255, 0.15);
        border: 1px solid rgba(0, 0, 0, 0.2);
        border-radius: 0.6rem; 
        padding: 0.7rem; 
        font-size: 1rem; 
        color: var(--primary-green);
        transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        width: 100%;
    }
    .form-control:focus {
        border-color: var(--accent-blue);
        box-shadow: 0 0 0 0.25rem rgba(44, 95, 122, 0.25); 
        background: rgba(255, 255, 255, 0.3);
    }
    .submit-btn {
        background: linear-gradient(135deg, var(--primary-green), var(--accent-blue));
        color: white;
        border: none;
        padding: 0.8rem 3rem; 
        min-width: 220px;
        border-radius: 0.6rem;
        font-size: 1rem;
        font-weight: 600;
        line-height: 1.5;
        transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    }
    .submit-btn:hover {
        background: linear-gradient(135deg, var(--accent-blue), var(--primary-green));
        transform: scale(1.05);
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2); 
    }
    .alert-success {
        background: linear-gradient(135deg, #d4edda, #c3e6cb);
        color: #155724;
        border: 1px solid var(--primary-green);
        border-radius: 0.75rem;
        padding: 1.2rem; 
        position: relative;
        animation: slideInUp 0.6s ease forwards;
    }
    .alert-danger {
        background: linear-gradient(135deg, #f8d7da, #f5c6cb);
        color: #721c24;
        border: 1px solid var(--primary-green);
        border-radius: 0.75rem;
        padding: 1.2rem;
        position: relative;
        animation: slideInUp 0.6s ease forwards;
    }
    @keyframes slideInUp {
        from {
            opacity: 0;
            transform: translateY(50px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
    .input-group .btn-outline-secondary {
        background: var(--primary-green);
        color: white;
        border: none;
        border-radius: 0 0.6rem 0.6rem 0; 
        transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    }
    .input-group .btn-outline-secondary:hover {
        background: var(--accent-blue);
        transform: translateY(-2px);
    }
    .input-group .btn-outline-secondary:disabled {
        background: #6c757d;
        opacity: 0.65;
    }
    .is-valid {
        border-color: var(--primary-green) !important;
    }
    .is-invalid {
        border-color: #dc3545 !important;
    }
    @media (max-width: 768px) {
        .modern-card {
            max-width: 450px;
        }
        .card-body {
            padding: 2rem;
        }
        .section-title {
            font-size: 1.2rem;
        }
        .submit-btn {
            width: 100%;
            padding: 0.7rem 2rem;
            min-width: 100%;
        }
    }
    @media (max-width: 576px) {
        .container {
            padding-left: 15px;
            padding-right: 15px;
        }
        .modern-card {
            max-width: 100%;
            margin: 20px auto;
        }
        .card-body {
            padding: 1.5rem;
        }
        .form-control {
            padding: 0.6rem;
            font-size: 0.9rem;
        }
    }
    .profile-pic {
        width: 120px;
        height: 120px;
        border-radius: 50%;
        object-fit: cover;
        border: 2px solid var(--accent-blue);
        margin: 0 auto 1rem auto;
        display: block;
    }
    .capture-btn {
        background: linear-gradient(135deg, var(--primary-green), var(--accent-blue));
        color: white;
        border: none;
        border-radius: 0.6rem;
        padding: 0.7rem 1.5rem;
        font-size: 1rem;
        font-weight: 600;
        transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    }
    .capture-btn:hover {
        background: linear-gradient(135deg, var(--accent-blue), var(--primary-green));
        transform: translateY(-2px);
        box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
    }

