/* Claude dark (warm) — override darkly */
:root {
    --cl-bg: #1F1E1D;
    --cl-bg-alt: #262624;
    --cl-bg-card: #2B2A28;
    --cl-bg-elev: #343230;
    --cl-text: #EDEBE5;
    --cl-text-muted: #B5B1A8;
    --cl-border-dark: rgba(255, 255, 255, 0.09);
}

body, html {
    background-color: var(--cl-bg) !important;
    color: var(--cl-text) !important;
}

/* Override darkly's default backgrounds */
.bg-dark, .bg-body, .bg-body-tertiary, .bg-body-secondary {
    background-color: var(--cl-bg-alt) !important;
    color: var(--cl-text) !important;
}

.navbar, .navbar-dark {
    background-color: transparent !important;
}

/* Cards / modals / list groups */
.card, .modal-content, .list-group-item, .accordion-item {
    background-color: var(--cl-bg-card) !important;
    color: var(--cl-text) !important;
    border-color: var(--cl-border-dark) !important;
}
.modal-header, .modal-footer { border-color: var(--cl-border-dark) !important; }

/* Forms */
.form-control, .form-select, input, textarea, select {
    background-color: var(--cl-bg-elev) !important;
    color: var(--cl-text) !important;
    border-color: var(--cl-border-dark) !important;
}
.form-control::placeholder, input::placeholder, textarea::placeholder {
    color: var(--cl-text-muted) !important;
    opacity: 1;
}
.form-floating > label {
    color: var(--cl-text-muted);
}
.input-group-text {
    background-color: var(--cl-bg-elev) !important;
    color: var(--cl-text) !important;
    border-color: var(--cl-border-dark) !important;
}

/* Tables */
.table {
    color: var(--cl-text) !important;
    --bs-table-bg: transparent;
    --bs-table-color: var(--cl-text);
    --bs-table-striped-bg: rgba(255,255,255,0.03);
    --bs-table-striped-color: var(--cl-text);
    --bs-table-hover-bg: rgba(255,255,255,0.05);
    --bs-table-hover-color: var(--cl-text);
    --bs-table-border-color: var(--cl-border-dark);
}
.table > thead {
    background-color: rgba(255, 255, 255, 0.04);
}

/* Dropdown */
.dropdown-menu {
    background-color: var(--cl-bg-card) !important;
    border-color: var(--cl-border-dark) !important;
    color: var(--cl-text) !important;
}
.dropdown-item { color: var(--cl-text) !important; }
.dropdown-item:hover, .dropdown-item:focus {
    background-color: var(--cl-accent-soft) !important;
    color: var(--cl-accent) !important;
}
.dropdown-divider { border-color: var(--cl-border-dark) !important; }

/* Nav pills/tabs */
.nav-pills .nav-link {
    color: var(--cl-text) !important;
}
.nav-pills .nav-link.active {
    background-color: var(--cl-accent-soft) !important;
    color: var(--cl-accent) !important;
}

/* Alerts — keep colored tint but dark base */
.alert {
    background-color: var(--cl-bg-card) !important;
    color: var(--cl-text) !important;
    border: 1px solid var(--cl-border-dark) !important;
}
.alert-info    { background-color: rgba(91,126,156,0.15) !important; color: #A8C3DD !important; border-color: rgba(91,126,156,0.35) !important; }
.alert-success { background-color: rgba(94,140,90,0.15) !important; color: #B5D4B1 !important; border-color: rgba(94,140,90,0.35) !important; }
.alert-warning { background-color: rgba(199,154,58,0.15) !important; color: #E6C878 !important; border-color: rgba(199,154,58,0.35) !important; }
.alert-danger  { background-color: rgba(176,75,63,0.15) !important; color: #E8A097 !important; border-color: rgba(176,75,63,0.35) !important; }

/* Buttons secondary on dark */
.btn-secondary, .btn-outline-secondary {
    background-color: transparent !important;
    color: var(--cl-text) !important;
    border-color: var(--cl-border-dark) !important;
}
.btn-secondary:hover, .btn-outline-secondary:hover {
    background-color: rgba(255, 255, 255, 0.06) !important;
    color: var(--cl-text) !important;
}

/* Close button (X) */
.btn-close {
    filter: invert(1) grayscale(1) opacity(0.7);
}

/* hr, code, pre */
hr { border-top: 1px solid var(--cl-border-dark); opacity: 1; }

code {
    background-color: rgba(255, 255, 255, 0.08) !important;
    color: #F0C896 !important;
}
pre {
    background-color: rgba(0, 0, 0, 0.35) !important;
    border-color: var(--cl-border-dark) !important;
    color: var(--cl-text) !important;
}

.console-prompt { color: #8FB4D8; }
.console-output { color: #9FCF90; }

.navbar-brand { font-size: 1.4rem !important; }

.logo-title {
    font-family: var(--cl-font-serif);
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--cl-text);
}
.logo-subtitle {
    font-size: .72em;
    color: var(--cl-accent);
    font-weight: 500;
}

/* Text muted */
.text-muted, .text-secondary {
    color: var(--cl-text-muted) !important;
}

/* Links inside cards/alerts stay accent */
.card a, .alert a, p a { color: var(--cl-accent); }

/* Borders */
.border, .border-top, .border-bottom, .border-start, .border-end {
    border-color: var(--cl-border-dark) !important;
}

/* Blazor error UI visible on dark */
#blazor-error-ui {
    background: #3A2E1E !important;
    color: #F0C896 !important;
}
#components-reconnect-modal { color: var(--cl-text) !important; }
