/* =====================
   VARIÁVEIS (PADRÃO)
===================== */
:root {
    --bg-main: #0f1115;
    --bg-secondary: #1a1d23;
    --bg-hover: #21252b;
    --bg-input: #121417;

    --border-color: #2a2f38;

    --text-main: #e4e6eb;
    --text-secondary: #9aa4b2;
    --text-white: #ffffff;

    --primary: #4f8cff;
    --danger: #ff4d4f;
    --warning: #f0ad4e;
    --success: #2ecc71;
}

/* =====================
   BASE
===================== */
body,
#content,
#content-wrapper,
.container-fluid {
    background-color: var(--bg-main);
    color: var(--text-main);
}

/* =====================
   NAVBAR / TOPO
===================== */
.topbar {
    background-color: var(--bg-secondary) !important;
    border-bottom: 1px solid var(--border-color);
}

/* busca */
.navbar-search .form-control {
    background-color: var(--bg-input) !important;
    border: 1px solid var(--border-color) !important;
    color: var(--text-main) !important;
}

.navbar-search .form-control::placeholder {
    color: #8b949e !important;
}

.navbar-search .form-control:focus {
    border-color: var(--primary) !important;
    color: var(--text-white) !important;
    box-shadow: none !important;
}

.navbar-search .btn {
    background-color: var(--bg-secondary) !important;
    border: 1px solid var(--border-color) !important;
}

.navbar-search .btn:hover {
    background-color: var(--bg-hover) !important;
}

/* =====================
   SIDEBAR
===================== */
.sidebar {
    background: #16181d !important;
}

.sidebar .nav-link {
    color: #c9d1d9;
}

.sidebar .nav-item.active .nav-link,
.sidebar .nav-link:hover {
    background-color: var(--bg-hover);
    color: var(--text-white);
}

/* =====================
   CARDS
===================== */
.card {
    background-color: var(--bg-secondary);
    border: 1px solid var(--border-color);
}

.card-header {
    background-color: #1f232a;
    border-bottom: 1px solid var(--border-color);
}

/* =====================
   TABELAS
===================== */
.table {
    background-color: var(--bg-secondary);
    color: var(--text-main);
}

.table thead th {
    background-color: #20242c;
    color: var(--text-white);
}

.table-bordered,
.table-bordered th,
.table-bordered td {
    border-color: var(--border-color);
}

/* =====================
   FORMULÁRIOS
===================== */
.form-control {
    background-color: var(--bg-main);
    border: 1px solid var(--border-color);
    color: var(--text-main);
}

.form-control:focus {
    border-color: var(--primary);
    color: var(--text-white);
    box-shadow: none;
}

/* =====================
   DROPDOWN
===================== */
.dropdown-menu {
    background-color: var(--bg-secondary);
    border: 1px solid var(--border-color);
}

.dropdown-item {
    color: var(--text-main);
}

.dropdown-item:hover {
    background-color: var(--bg-hover);
    color: var(--text-white);
}

/* =====================
   LISTAS / FOOTER
===================== */
.list-group-item {
    background-color: var(--bg-secondary);
    border-color: var(--border-color);
}

footer.sticky-footer {
    background-color: var(--bg-secondary) !important;
    border-top: 1px solid var(--border-color);
    color: var(--text-secondary);
}

/* =====================
   BADGES (ALERTAS)
===================== */
.badge-danger {
    background-color: var(--danger);
}

.badge-warning {
    background-color: var(--warning);
    color: #111;
}

.badge-success {
    background-color: var(--success);
}

/* =====================
   MODAL
===================== */
.modal-content {
    background-color: var(--bg-secondary);
    border: 1px solid var(--border-color);
}

.modal-header,
.modal-footer {
    border-color: var(--border-color);
}

/* =====================
   LIGHT MODE OVERRIDES
===================== */
.light-mode {
    --bg-main: #ffffff;
    --bg-secondary: #f8f9fa;
    --bg-hover: #e9ecef;
    --bg-input: #ffffff;

    --border-color: #dee2e6;

    --text-main: #212529;
    --text-secondary: #6c757d;
    --text-white: #ffffff;

    --primary: #007bff;
    --danger: #dc3545;
    --warning: #ffc107;
    --success: #28a745;
}

.light-mode .sidebar {
    background: #f8f9fa !important;
    border-right: 1px solid var(--border-color);
}

.light-mode .sidebar .nav-link {
    color: var(--text-main);
}

.light-mode .sidebar .nav-item.active .nav-link,
.light-mode .sidebar .nav-link:hover {
    background-color: var(--bg-hover);
    color: var(--text-main);
}

.light-mode .topbar {
    background-color: var(--bg-main) !important;
    border-bottom: 1px solid var(--border-color);
}

.light-mode .card {
    background-color: var(--bg-main);
    border: 1px solid var(--border-color);
}

.light-mode .card-header {
    background-color: var(--bg-secondary);
    border-bottom: 1px solid var(--border-color);
}

.light-mode .table {
    background-color: var(--bg-main);
    color: var(--text-main);
}

.light-mode .table thead th {
    background-color: var(--bg-secondary);
    color: var(--text-main);
}

.light-mode .form-control {
    background-color: var(--bg-main);
    border: 1px solid var(--border-color);
    color: var(--text-main);
}

.light-mode .dropdown-menu {
    background-color: var(--bg-main);
    border: 1px solid var(--border-color);
}

.light-mode .dropdown-item {
    color: var(--text-main);
}

.light-mode .dropdown-item:hover {
    background-color: var(--bg-hover);
    color: var(--text-main);
}

.light-mode .list-group-item {
    background-color: var(--bg-main);
    border-color: var(--border-color);
}

.light-mode .modal-content {
    background-color: var(--bg-main);
    border: 1px solid var(--border-color);
}

/* Theme toggle button */
#themeToggle {
    border: none !important;
    box-shadow: none !important;
}

#themeToggle:focus {
    box-shadow: none !important;
}

.light-mode footer.sticky-footer {
    background-color: var(--bg-main) !important;
    border-top: 1px solid var(--border-color);
    color: var(--text-secondary);
}
