/* Aapka Style.css ka poora content yahan ayega */
/* Use a professional font */
body {
    font-family: 'Poppins', sans-serif;
    background-color: #f0f2f5; /* Fallback background */
}

/* Main background with image and overlay */
.main-bg {
    background-image: url('https://images.unsplash.com/photo-1500382017468-9049fed747ef?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1932&q=80');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;
    overflow: hidden;
}

/* Semi-transparent overlay */
.main-bg::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.55); 
    z-index: 0;
}

.auth-card {
    max-width: 480px;
    width: 90%;
    border: none;
    border-radius: 0.8rem;
    background-color: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(5px); 
    position: relative;
    z-index: 1;
    overflow: hidden;
    box-shadow: 0 0.5rem 1.5rem rgba(0,0,0,0.15); 
}

.input-group-text {
    background-color: #e9ecef;
    border: 1px solid #ced4da;
    border-right: none;
    padding: 0.5rem 0.75rem;
    color: #495057;
    border-top-left-radius: 0.375rem; 
    border-bottom-left-radius: 0.375rem;
}
.input-group .form-control {
     border-left: none;
     border-top-right-radius: 0.375rem; 
     border-bottom-right-radius: 0.375rem;
}
.input-group > .form-select {
    border-top-right-radius: 0.375rem;
    border-bottom-right-radius: 0.375rem;
}

.input-group .form-control:focus {
    z-index: 3;
}

.form-control.is-invalid, .form-control.is-valid,
.form-select.is-invalid, .form-select.is-valid {
     background-position: right calc(0.375em + 0.1875rem) center;
}

.form-select {
    cursor: pointer;
}

.form-control:focus, .form-select:focus {
    border-color: #86b7fe;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); 
}

a.text-decoration-none {
     color: #0d6efd;
}
a.text-decoration-none:hover {
     text-decoration: underline !important;
}
.close-modal-link {
    cursor: pointer;
}

::placeholder { color: #6c757d; opacity: 1; } 
:-ms-input-placeholder { color: #6c757d; }
::-ms-input-placeholder { color: #6c757d; }

.modal-content {
     border-radius: 0.6rem;
     border: none; 
}
.modal-header {
    background-color: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
    padding: 1rem 1.5rem;
}
.modal-title {
    font-weight: 500;
}
.modal-body {
    padding: 1.5rem;
}
.modal-footer {
     background-color: #f8f9fa;
     border-top: 1px solid #dee2e6;
     padding: 1rem 1.5rem;
}

@media (max-width: 576px) {
    .auth-card {
        width: 95%;
        margin: 1rem 0;
    }
     .card-body {
         padding: 1.5rem !important;
    }
     h2.card-title {
         font-size: 1.5rem;
    }
    .modal-dialog {
        margin: 0.5rem; 
    }
}