/* AutoDiagnost themes: light (default) + dark, toggled via data-theme on <html> */

:root {
    --ad-bg: #ffffff;
    --ad-bg-soft: #f8f9fa;
    --ad-text: #111827;
    --ad-muted: #6b7280;
    --ad-border: #dee2e6;
    --ad-card-bg: #ffffff;
    --ad-card-shadow: 0 .125rem .5rem rgba(0,0,0,.075);
    --ad-input-bg: #ffffff;
    --ad-input-text: #212529;
    --ad-table-stripe: rgba(0,0,0,.05);
    --ad-hover: #e9ecef;
    --ad-code-bg: #f1f3f5;
}

html[data-theme="dark"] {
    --ad-bg: #14181f;
    --ad-bg-soft: #1c2230;
    --ad-text: #e5e7eb;
    --ad-muted: #9aa4b2;
    --ad-border: #2c3542;
    --ad-card-bg: #1c2230;
    --ad-card-shadow: 0 .125rem .5rem rgba(0,0,0,.4);
    --ad-input-bg: #232a38;
    --ad-input-text: #e5e7eb;
    --ad-table-stripe: rgba(255,255,255,.04);
    --ad-hover: #2a3342;
    --ad-code-bg: #232a38;
    color-scheme: dark;
}

html, body { background: var(--ad-bg); color: var(--ad-text); }

body {
    transition: background-color .2s ease, color .2s ease;
}

/* Cards */
.card, .list-group-item {
    background: var(--ad-card-bg) !important;
    color: var(--ad-text);
    border-color: var(--ad-border) !important;
    box-shadow: var(--ad-card-shadow);
}
.card-header, .card-footer {
    background: var(--ad-bg-soft) !important;
    color: var(--ad-text) !important;
    border-color: var(--ad-border) !important;
}
html[data-theme="dark"] .card-header.bg-primary,
html[data-theme="dark"] .card-header.bg-success,
html[data-theme="dark"] .card-header.bg-danger,
html[data-theme="dark"] .card-header.bg-info,
html[data-theme="dark"] .card-header.bg-warning,
html[data-theme="dark"] .card-header.bg-secondary,
html[data-theme="dark"] .card-header.bg-dark {
    color: #fff !important;
}

/* Text helpers */
.text-muted { color: var(--ad-muted) !important; }

/* Tables */
.table { color: var(--ad-text) !important; --bs-table-bg: transparent; }
.table > :not(caption) > * > * {
    background: transparent;
    border-color: var(--ad-border) !important;
}
.table-striped > tbody > tr:nth-of-type(odd) > * {
    background: var(--ad-table-stripe) !important;
    color: var(--ad-text) !important;
}
.table-hover > tbody > tr:hover > * { background: var(--ad-hover) !important; }
.table-bordered { border-color: var(--ad-border) !important; }

/* Forms */
.form-control, .form-select, textarea.form-control {
    background: var(--ad-input-bg) !important;
    color: var(--ad-input-text) !important;
    border-color: var(--ad-border) !important;
}
.form-control::placeholder { color: var(--ad-muted); opacity: .8; }
.form-control:focus, .form-select:focus {
    background: var(--ad-input-bg) !important;
    color: var(--ad-input-text) !important;
}
.form-label, .form-check-label { color: var(--ad-text); }
.form-text { color: var(--ad-muted) !important; }

/* Lists / groups */
.list-group-item { background: var(--ad-card-bg); color: var(--ad-text); border-color: var(--ad-border); }
.list-group-item.list-group-item-action:hover { background: var(--ad-hover); }
.list-group-item.active { background: #0d6efd; color: #fff; border-color: #0d6efd; }

/* Navbars: keep Bootstrap colors but darken soft surfaces */
html[data-theme="dark"] .navbar.bg-light,
html[data-theme="dark"] .navbar-light.bg-light {
    background: #1c2230 !important;
}
html[data-theme="dark"] .bg-light { background: var(--ad-bg-soft) !important; }
html[data-theme="dark"] .text-dark { color: var(--ad-text) !important; }
html[data-theme="dark"] footer.bg-light { background: var(--ad-bg-soft) !important; border-color: var(--ad-border) !important; }
html[data-theme="dark"] .footer { background: var(--ad-bg-soft) !important; color: var(--ad-text) !important; border-top-color: var(--ad-border) !important; }
html[data-theme="dark"] .footer .text-muted { color: var(--ad-muted) !important; }

/* Alerts */
html[data-theme="dark"] .alert { border: 1px solid var(--ad-border); }
html[data-theme="dark"] .alert-dismissible .btn-close { filter: invert(1) grayscale(100%) brightness(200%); }

/* Dropdowns & modals & accordion */
html[data-theme="dark"] .dropdown-menu {
    background: var(--ad-card-bg);
    border-color: var(--ad-border);
}
html[data-theme="dark"] .dropdown-item { color: var(--ad-text); }
html[data-theme="dark"] .dropdown-item:hover { background: var(--ad-hover); }
html[data-theme="dark"] .modal-content { background: var(--ad-card-bg); color: var(--ad-text); }
html[data-theme="dark"] .modal-header, html[data-theme="dark"] .modal-footer { border-color: var(--ad-border); }
html[data-theme="dark"] .accordion-item { background: var(--ad-card-bg); border-color: var(--ad-border); }
html[data-theme="dark"] .accordion-button { background: var(--ad-bg-soft); color: var(--ad-text); box-shadow: none; }
html[data-theme="dark"] .accordion-button:not(.collapsed) { background: #24304a; color: #cfe2ff; }
html[data-theme="dark"] .accordion-body { background: var(--ad-card-bg); color: var(--ad-text); }

/* Code / pre */
code, pre { background: var(--ad-code-bg) !important; color: #e28ea9 !important; }
html[data-theme="dark"] code { color: #f0a3b8 !important; }
kbd { background: var(--ad-bg-soft); }

/* Pagination */
html[data-theme="dark"] .page-link {
    background: var(--ad-card-bg);
    color: var(--ad-text);
    border-color: var(--ad-border);
}
html[data-theme="dark"] .page-item.active .page-link { background: #0d6efd; color: #fff; border-color: #0d6efd; }
html[data-theme="dark"] .page-item.disabled .page-link { background: var(--ad-bg-soft); color: var(--ad-muted); }

/* Tabs */
html[data-theme="dark"] .nav-tabs .nav-link { color: var(--ad-muted); }
html[data-theme="dark"] .nav-tabs .nav-link.active {
    background: var(--ad-card-bg);
    color: var(--ad-text);
    border-color: var(--ad-border) var(--ad-border) var(--ad-card-bg);
}

/* Misc */
html[data-theme="dark"] hr { border-color: var(--ad-border); opacity: .5; }
html[data-theme="dark"] .table th, html[data-theme="dark"] .table td { color: var(--ad-text); }
html[data-theme="dark"] blockquote { color: var(--ad-muted); border-left-color: var(--ad-border); }
html[data-theme="dark"] .border { border-color: var(--ad-border) !important; }
html[data-theme="dark"] .rounded.bg-light, html[data-theme="dark"] .bg-light.border { background: var(--ad-bg-soft) !important; }

/* Theme toggle button */
.theme-toggle {
    cursor: pointer;
    border: 1px solid var(--ad-border);
    background: var(--ad-bg-soft);
    color: var(--ad-text);
    border-radius: 8px;
    padding: .25rem .55rem;
    line-height: 1;
    font-size: 1rem;
}
.theme-toggle:hover { background: var(--ad-hover); }
