/* Improve dark-theme readability without changing light mode or overlay states. */
body.dark-layout {
    color: #edf2fa;
    background-color: #0f1726;
    font-weight: 400;
}
body.dark-layout .app-content { background-color: #0f1726; }
body.dark-layout .main-menu,
body.dark-layout .crm-navbar { background-color: #1b2639 !important; }
body.dark-layout h1, body.dark-layout h2, body.dark-layout h3,
body.dark-layout h4, body.dark-layout h5, body.dark-layout h6 {
    color: #f1f5fb;
}
body.dark-layout .card, body.dark-layout .modal-content,
body.dark-layout .dropdown-menu {
    color: #edf2fa;
    background-color: #202d43;
    border-color: #52627d;
}
body.dark-layout .table { color: #edf2fa; }
/* Match legacy table badges to the status palette used by subscriber lists. */
body.dark-layout .app-content .badge-success { background-color: #294c47; color: #95d7bf; }
body.dark-layout .app-content .badge-danger { background-color: #55384a; color: #f0a5b5; }
body.dark-layout .app-content .badge-warning { background-color: #554834; color: #f0cb8a; }
body.dark-layout .app-content .badge-info { background-color: #244957; color: #88e4f1; }
body.dark-layout .app-content .badge-secondary { background-color: #3a455b; color: #c7cfe0; }
body.dark-layout .app-content .breadcrumb a { color: #c4b5fd; }
body.dark-layout .app-content .table td a:not(.btn):not(.badge) {
    color: #c4b5fd;
}
body.dark-layout .app-content .btn-outline-primary,
body.dark-layout .modal-content .btn-outline-primary {
    color: #c4b5fd;
    border-color: #9382e8;
}
body.dark-layout .modal .modal-content {
    background-color: #202d43;
    color: #edf2fa;
}
body.dark-layout .btn-outline-secondary {
    color: #d1dced;
    border-color: #70819b;
}
body.dark-layout .table thead th { color: #ffffff; background-color: #2d3e59; }
/* Match the legacy core selectors so ordinary lists receive the same palette. */
body.dark-layout .app-content .table:not(.table-dark):not(.table-light) thead:not(.thead-dark) th {
    color: #edf2fa;
    background-color: #2d3e59;
    border-color: #52627d;
}
body.dark-layout .app-content .table tbody tr:not([class*="table-"]) td {
    color: #edf2fa;
    border-color: #52627d;
}
body.dark-layout .form-control, body.dark-layout .custom-select {
    color: #edf2fb;
    border-color: #56627a;
    background-color: #152136;
}
body.dark-layout .form-control::placeholder {
    color: #acb9ce;
    opacity: 1;
}
body.dark-layout .app-content .list-group-item:not(.active) {
    background-color: #202d43;
    color: #edf2fa;
    border-color: #52627d;
}
body.dark-layout .select2-container .select2-selection {
    background-color: #152136;
    border-color: #56627a;
    color: #edf2fa;
}
body.dark-layout .select2-container .select2-selection__rendered,
body.dark-layout .select2-container .select2-selection__placeholder {
    color: #d1dced;
}
body.dark-layout label { color: #e5edfa; font-weight: 500; }
body.dark-layout .text-muted { color: #b9c5d8 !important; }
body.dark-layout .crm-sidebar {
    --nav-ink: #e0e7f2;
    --nav-muted: #b8c5da;
}
body.dark-layout .crm-navbar { --nav-muted: #c2cde0; }
body.dark-layout .tariff-management .tariff-heading p { color: #c2cede; }
body.dark-layout #isp-dashboard {
    --ink: #ffffff;
    --muted: #d1dced;
    --panel: #202d43;
    --border: #52627d;
}
/* Page-specific themes consume the same readable palette as shared controls. */
body.dark-layout .crm-users-page {
    --users-bg: #202d43;
    --users-alt: #24334b;
    --users-head: #2d3e59;
    --users-line: #52627d;
    --users-ink: #edf2fa;
    --users-muted: #d1dced;
}
body.dark-layout .crm-users-page .status_list[data-status="new"] { --summary-accent: #baafff; }
body.dark-layout .crm-users-page .status_list[data-status="active"] { --summary-accent: #76d9b0; }
body.dark-layout .crm-users-page .status_list[data-status="expired"] { --summary-accent: #ffc66b; }
body.dark-layout .crm-users-page .status_list[data-status="blocked"] { --summary-accent: #ff9bac; }
body.dark-layout .crm-users-page .status_list[data-status="online"] { --summary-accent: #88e4f1; }
body.dark-layout .crm-bulk-renew .status_list[data-name="active"] { color: #76d9b0; }
body.dark-layout .crm-bulk-renew .status_list[data-name="expired"] { color: #ffc66b; }
body.dark-layout .crm-bulk-renew .status_list[data-name="blocked"] { color: #ff9bac; }
body.dark-layout .crm-bulk-renew, body.dark-layout .bulk-renew-modal {
    --bulk-bg: #202d43;
    --bulk-alt: #24334b;
    --bulk-head: #2d3e59;
    --bulk-line: #52627d;
    --bulk-text: #edf2fa;
    --bulk-muted: #d1dced;
}
body.dark-layout .crm-import {
    --imp-bg: #202d43;
    --imp-soft: #152136;
    --imp-text: #edf2fa;
    --imp-muted: #d1dced;
    --imp-line: #52627d;
}
body.dark-layout #basic-tabs-components {
    --settings-ink: #edf2fa;
    --settings-muted: #d1dced;
    --settings-panel: #202d43;
    --settings-inset: #152136;
    --settings-border: #52627d;
}
body.dark-layout #basic-tabs-components .company-settings-card,
body.dark-layout #basic-tabs-components .remaining-settings .card,
body.dark-layout #basic-tabs-components aside {
    color: #edf2fa;
    background-color: #202d43;
    border-color: #52627d;
}
body.dark-layout #basic-tabs-components .company-settings-heading p,
body.dark-layout #basic-tabs-components .company-settings-card header p,
body.dark-layout #basic-tabs-components .remaining-settings header p,
body.dark-layout #basic-tabs-components aside p {
    color: #d1dced;
}
body.dark-layout #basic-tabs-components .company-settings-card .form-control,
body.dark-layout #basic-tabs-components .remaining-settings input:not([type=checkbox]):not([type=radio]),
body.dark-layout #basic-tabs-components .remaining-settings select,
body.dark-layout #basic-tabs-components #tax_form .tax-rate,
body.dark-layout #basic-tabs-components #invoice_tab .form-control {
    color: #edf2fa;
    background-color: #152136;
    border-color: #56627a;
}
/* Gateway lists use contextual list items instead of ordinary text links. */
body.dark-layout .app-content .list-group-item-primary,
body.dark-layout .app-content .list-group-item-primary > span:not(.badge),
body.dark-layout .app-content .list-group-item a:not(.btn) {
    color: #c4b5fd;
}
body.dark-layout .app-content .form-label { color: #e5edfa; }
body.dark-layout #providerTabs .nav-link:not(.active) {
    color: #d1dced;
    background-color: #152136;
    border-color: #52627d;
}
body.dark-layout .app-content .alert-info { color: #88e4f1; }
body.dark-layout .app-content .fc .fc-button-primary {
    color: #d1dced;
    background: #152136;
    border-color: #52627d;
}
body.dark-layout .app-content .fc .fc-button-primary:not(:disabled).fc-button-active,
body.dark-layout .app-content .fc .fc-button-primary:not(:disabled):hover {
    color: #f1edff;
    background: #514681;
    border-color: #9382e8;
}
body.dark-layout .app-content .fc .fc-daygrid-day-number,
body.dark-layout .app-content .fc .fc-col-header-cell-cushion { color: #edf2fa; }
/* Flatpickr popups are attached to body, outside the page content. */
body.dark-layout .flatpickr-calendar {
    background: #202d43;
    border: 1px solid #52627d;
}
body.dark-layout .flatpickr-calendar .flatpickr-day,
body.dark-layout .flatpickr-calendar .flatpickr-current-month,
body.dark-layout .flatpickr-calendar .flatpickr-weekday {
    color: #edf2fa;
}
body.dark-layout .flatpickr-calendar .flatpickr-day.prevMonthDay,
body.dark-layout .flatpickr-calendar .flatpickr-day.nextMonthDay {
    color: #aab8cf;
}
body.dark-layout .flatpickr-calendar .flatpickr-day.flatpickr-disabled {
    color: #76849b !important;
}
body.dark-layout .flatpickr-calendar .flatpickr-prev-month,
body.dark-layout .flatpickr-calendar .flatpickr-next-month {
    color: #d1dced;
    fill: #d1dced;
}
