/* ========== LIGHT MODE (DEFAULT) ========== */
.navbar .nav-link, .navbar .navbar-brand, .navbar .dropdown-toggle { color: #212529 !important; }
.navbar .nav-link:hover { color: #0d6efd !important; }
.dropdown-menu .dropdown-item { color: #212529 !important; }
.dropdown-menu .dropdown-item:hover { background-color: #f8f9fa !important; color: #000 !important; }
.navbar { padding: 0.75rem 1rem; transition: all 0.3s ease; border-bottom: 1px solid gainsboro; }
html { scroll-behavior: smooth; }
::-webkit-scrollbar { width: 8px; background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: #888; border-radius: 4px; }
.navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0,0,0,0.8)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important; }
.navbar-toggler { border-color: rgba(0,0,0,0.3) !important; }

/* ========== DARK MODE OVERRIDES ========== */
body.dark-mode { background-color: #33333d; color: #e0e0e0; }
body.dark-mode .navbar { background-color: #33333d !important; border-bottom: 1px solid #727272; }
body.dark-mode .navbar .nav-link, body.dark-mode .navbar .navbar-brand, body.dark-mode .navbar .dropdown-toggle { color: #f0f0f0 !important; }
body.dark-mode .navbar .nav-link:hover { color: #90cdf4 !important; }
body.dark-mode .dropdown-menu { background-color: #434350 !important; border-color: #444 !important; }
body.dark-mode .dropdown-item { color: #e0e0e0 !important; }
body.dark-mode .dropdown-item:hover { background-color: #3e3e4f !important; color: white !important; }
body.dark-mode .btn-outline-secondary { color: #e0e0e0; border-color: #6c757d; }
body.dark-mode .text-muted { color: #adb5bd !important; }
body.dark-mode .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,0.9)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important; }
body.dark-mode .navbar-toggler { border-color: rgba(255,255,255,0.3) !important; }
body.dark-mode ::-webkit-scrollbar-track { background: #2c2c2c; }
body.dark-mode ::-webkit-scrollbar-thumb { background: #666; }

/* Cards */
body.dark-mode .card, body.dark-mode .page-content, body.dark-mode .table, body.dark-mode .modal-content { background-color: #2d2d33; color: #e0e0e0; border-color: #404040; }
body.dark-mode .card-header, body.dark-mode .card-footer { background-color: #24242c !important; border-color: #33333d !important; }
body.dark-mode .card-header .text-muted, body.dark-mode .card-footer .text-muted { color: #adb5bd !important; }

/* Tabs */
body.dark-mode .nav-tabs .nav-link.active { background-color: #2c3034 !important; color: #fff !important; border-color: #444 !important; }
body.dark-mode .nav-tabs .nav-link:not(.active) { background-color: transparent !important; color: #adb5bd !important; }

/* Form controls */
body.dark-mode .form-control, body.dark-mode .form-select, body.dark-mode textarea.form-control { background-color: #33333d !important; color: #e0e0e0 !important; border-color: #444 !important; }
body.dark-mode .form-control:focus, body.dark-mode .form-select:focus { background-color: #2c3034 !important; color: #fff !important; border-color: #86b7fe !important; box-shadow: 0 0 0 0.25rem rgba(13,110,253,0.25); }
body.dark-mode .form-text { color: #adb5bd !important; }

/* Tables */
body.dark-mode .table-light { background-color: #2c3034 !important; color: #e0e0e0 !important; }

/* Additional dark fixes (borders, alerts, list groups, badges, modals, pagination, input-group) */
body.dark-mode .border, body.dark-mode .border-top, body.dark-mode .border-bottom, body.dark-mode .border-start, body.dark-mode .border-end { border-color: #3a3f44 !important; }
body.dark-mode .alert { background-color: #2c3034; color: #e0e0e0; border-color: #3a3f44; }
body.dark-mode .alert-primary { background-color: #1e3a5f; color: #cfe2ff; }
body.dark-mode .alert-secondary { background-color: #2c3034; color: #dee2e6; }
body.dark-mode .alert-success { background-color: #0f3b2c; color: #d1e7dd; }
body.dark-mode .alert-danger { background-color: #4a1c2c; color: #f8d7da; }
body.dark-mode .alert-warning { background-color: #4a3a1c; color: #fff3cd; }
body.dark-mode .alert-info { background-color: #1c4a5a; color: #cff4fc; }
body.dark-mode .list-group-item { background-color: #24242c; color: #e0e0e0; border-color: #33333d; }
body.dark-mode .list-group-item-action:hover { background-color: #2c3034; color: #fff; }
body.dark-mode .badge.bg-light { background-color: #2c3034; color: #e0e0e0; border: 1px solid #3a3f44; }
body.dark-mode .modal-content { background-color: #1e1e2f; border-color: #3a3f44; }
body.dark-mode .modal-header, body.dark-mode .modal-footer { border-color: #3a3f44; background-color: #1e1e2f; }
body.dark-mode .btn-close { filter: invert(1); }
body.dark-mode .page-link { background-color: #2c3034; color: #e0e0e0; border-color: #3a3f44; }
body.dark-mode .page-link:hover { background-color: #3a3f44; color: #fff; }
body.dark-mode .page-item.active .page-link { background-color: #0d6efd; border-color: #0d6efd; }
body.dark-mode .dropdown-menu { background-color: #2c3034; border-color: #3a3f44; }
body.dark-mode .dropdown-item { color: #e0e0e0; }
body.dark-mode .dropdown-item:hover { background-color: #3a3f44; color: #fff; }
body.dark-mode .input-group-text { background-color: #2c3034; color: #e0e0e0; border-color: #444; }
body.dark-mode .table thead th {
    background-color: #2c3034 !important;
    color: #e0e0e0 !important;
}
body.dark-mode .table tbody td {
    background-color: #24242c !important;
    color: #e0e0e0 !important;
}
body.dark-mode .bg-light { background-color: #2c3034 !important; color: #e0e0e0 !important; }
body.dark-mode .bg-white { background-color: #1e1e2f !important; }
body.dark-mode .border, body.dark-mode .border-top, body.dark-mode .border-bottom, body.dark-mode .border-start, body.dark-mode .border-end { border-color: #3a3f44 !important; }

/* =========================
   IMAGE CAPTCHA
========================= */

.captcha_image {
    display: flex;
    align-items: center;
    gap: 10px;
}

.captcha_image img {
    width: 150px;
    display: block;
    border: 1px solid #000;
    border-radius: 4px;
    background: radial-gradient(black, transparent);
    pointer-events: none;
}

.captcha_image .rbtn,
.captcha_image span {
    display: flex;
    align-items: center;
    justify-content: center;
}

.captcha_image span {
    cursor: pointer;
    color: #03a9f4;
}
/* =========================
   ALERTS
========================= */

.alert-msg {
    margin-bottom: 15px;
    border-radius: 1rem;
    padding: 1rem 1.25rem;
    font-size: 0.95rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    border: none;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    transition: all 0.3s ease;
}

.alert-success,
.success-msg {
    background: linear-gradient(135deg, #dcfce7, #bbf7d0);
    color: #166534;
}

.alert-info,
.info-msg {
    background: linear-gradient(135deg, #e0f2fe, #bae6fd);
    color: #075985;
}

.alert-warning,
.warning-msg {
    background: linear-gradient(135deg, #fef9c3, #fef08a);
    color: #854d0e;
}

.alert-danger,
.error-msg {
    background: linear-gradient(135deg, #fee2e2, #fecaca);
    color: #991b1b;
}


