/* log.donkey.do dark palette on top of SB Admin 2 + log.css. CSP: external stylesheet only.
   Charcoal sidebar, slate cards, teal accent; status colours kept saturated so attention badges stay clear. */
:root {
  --lg-bg: #1e1f22;        /* page */
  --lg-side: #2b2d31;      /* sidebar (charcoal) */
  --lg-side-hi: #35373c;
  --lg-card: #26282c;
  --lg-card-head: #2e3035;
  --lg-line: #3a3d43;
  --lg-text: #dcdee3;
  --lg-muted: #9aa0aa;
  --lg-faint: #6d727c;
  --lg-accent: #2dd4bf;    /* teal */
  --lg-accent-2: #22b8a6;
  --lg-link: #5eead4;
  --lg-danger: #f87171;
  --lg-warn: #fbbf24;
  --lg-ok: #34d399;
  --lg-info: #60a5fa;
}
body.log-dark, body.log-dark #content-wrapper, body.log-dark #content { background: var(--lg-bg) !important; color: var(--lg-text); }
body.log-auth { background: radial-gradient(ellipse at top, #2b2d31 0%, #1e1f22 70%) fixed; min-height: 100vh; }
.log-dark a { color: var(--lg-link); }
.log-dark a:hover { color: #99f6e4; }

/* Sidebar */
.log-dark .sidebar-charcoal { background: var(--lg-side) !important; border-right: 1px solid #1a1b1e; }
.log-dark .sidebar-charcoal .sidebar-brand { color: #fff; }
.log-dark .sidebar-charcoal .sidebar-brand-icon { color: var(--lg-accent); }
.log-dark .sidebar-charcoal .nav-item .nav-link { color: #b5bac1; }
.log-dark .sidebar-charcoal .nav-item .nav-link i { color: #80868e; }
.log-dark .sidebar-charcoal .nav-item .nav-link:hover { color: #fff; background: var(--lg-side-hi); }
.log-dark .sidebar-charcoal .nav-item.active .nav-link { color: #fff; box-shadow: inset 3px 0 0 var(--lg-accent); background: var(--lg-side-hi); }
.log-dark .sidebar-charcoal .nav-item.active .nav-link i { color: var(--lg-accent); }
.log-dark .sidebar-charcoal hr.sidebar-divider { border-top-color: rgba(255,255,255,.08); }
.log-dark .sidebar-charcoal .sidebar-heading { color: #6d727c; }
.log-dark .sidebar-charcoal #sidebarToggle { background: rgba(255,255,255,.08); }
.log-dark .sidebar-charcoal #sidebarToggle::after { color: #b5bac1; }

/* Topbar / footer */
.log-dark .topbar-dark { background: #232428 !important; border-bottom: 1px solid var(--lg-line); box-shadow: none !important; }
.log-dark .topbar .nav-item .nav-link .fa-user-circle { color: #80868e !important; }
.log-dark .topbar .text-gray-600 { color: var(--lg-muted) !important; }
.log-dark .footer-dark { background: #232428; color: var(--lg-faint); border-top: 1px solid var(--lg-line); }

/* Cards */
.log-dark .card { background: var(--lg-card); border: 1px solid var(--lg-line); box-shadow: 0 .25rem 1.25rem rgba(0,0,0,.35) !important; }
.log-dark .card-header { background: var(--lg-card-head); border-bottom: 1px solid var(--lg-line); }
.log-dark .card-header .text-primary, .log-dark .text-primary { color: var(--lg-accent) !important; }
.log-dark .border-left-primary { border-left: .25rem solid var(--lg-accent) !important; }
.log-dark .border-left-success { border-left-color: var(--lg-ok) !important; }
.log-dark .border-left-info { border-left-color: var(--lg-info) !important; }
.log-dark .border-left-warning { border-left-color: var(--lg-warn) !important; }
.log-dark .border-left-danger { border-left-color: var(--lg-danger) !important; }
.log-dark .text-success { color: var(--lg-ok) !important; }
.log-dark .text-info { color: var(--lg-info) !important; }
.log-dark .text-warning { color: var(--lg-warn) !important; }
.log-dark .text-danger { color: var(--lg-danger) !important; }
.log-dark .text-dark { color: #c7cbd3 !important; }

/* Grey scale text (SB Admin uses text-gray-100..900 for light backgrounds): invert. */
.log-dark .text-gray-900, .log-dark .text-gray-800 { color: #eef0f3 !important; }
.log-dark .text-gray-700 { color: #cfd3da !important; }
.log-dark .text-gray-600 { color: #aeb4bd !important; }
.log-dark .text-gray-500 { color: var(--lg-muted) !important; }
.log-dark .text-gray-400 { color: var(--lg-faint) !important; }
.log-dark .text-gray-300 { color: #4b4f57 !important; }
.log-dark h1, .log-dark h2, .log-dark h3, .log-dark h4, .log-dark h5, .log-dark h6 { color: #eef0f3; }

/* Tables */
.log-dark .table { color: var(--lg-text); }
.log-dark .table th, .log-dark .table td { border-top-color: var(--lg-line); }
.log-dark .table thead th { border-bottom-color: var(--lg-line); }
.log-dark .thead-light th, .log-dark .table .thead-light th { background: #2e3035; color: #cfd3da; border-color: var(--lg-line); }
.log-dark .table-hover tbody tr:hover { background: rgba(45, 212, 191, .07); color: #fff; }
.log-dark .table-striped tbody tr:nth-of-type(odd) { background: rgba(255,255,255,.025); }
.log-dark .logbook-table td a { color: var(--lg-link); }

/* Buttons */
.log-dark .btn-primary { background: var(--lg-accent-2); border-color: var(--lg-accent-2); color: #0f2a27; font-weight: 700; }
.log-dark .btn-primary:hover, .log-dark .btn-primary:focus { background: var(--lg-accent); border-color: var(--lg-accent); color: #0f2a27; }
.log-dark .btn-light { background: #34363b; border-color: #3f4248; color: var(--lg-text); }
.log-dark .btn-light:hover { background: #3d4046; color: #fff; }
.log-dark .btn-secondary { background: #4b4f57; border-color: #4b4f57; }
.log-dark .btn-outline-primary { color: var(--lg-accent); border-color: var(--lg-accent); }

/* Badges: saturated so severity stays readable on dark */
.log-dark .badge-danger { background: #dc2626; color: #fff; }
.log-dark .badge-warning { background: #f59e0b; color: #1f1300; }
.log-dark .badge-secondary { background: #4b5563; color: #e5e7eb; }
.log-dark .badge-info { background: #0e7490; color: #ecfeff; }
.log-dark .badge-success { background: #059669; color: #ecfdf5; }
.log-dark .badge-primary { background: var(--lg-accent-2); color: #0f2a27; }
.log-dark .badge-light { background: #e5e7eb; color: #1e1f22; }

/* Alerts (attention panel / issue pane) */
.log-dark .alert-danger { background: rgba(220, 38, 38, .14); border-color: rgba(248, 113, 113, .45); color: #fecaca; }
.log-dark .alert-warning { background: rgba(245, 158, 11, .13); border-color: rgba(251, 191, 36, .45); color: #fde68a; }
.log-dark .alert-success { background: rgba(16, 185, 129, .12); border-color: rgba(52, 211, 153, .4); color: #a7f3d0; }
.log-dark .alert-info { background: rgba(14, 116, 144, .18); border-color: rgba(96, 165, 250, .4); color: #bfdbfe; }
.log-dark .alert-secondary { background: #2e3035; border-color: var(--lg-line); color: var(--lg-text); }
.log-dark .alert a { color: inherit; text-decoration: underline; }

/* Forms, dropdowns, modal, pagination */
.log-dark .form-control, .log-dark .custom-select { background: #1b1c1f; border-color: #43464d; color: var(--lg-text); }
.log-dark .form-control:focus { background: #1b1c1f; color: #fff; border-color: var(--lg-accent); box-shadow: 0 0 0 .2rem rgba(45, 212, 191, .25); }
.log-dark .custom-control-label::before { background: #1b1c1f; border-color: #5b5f67; }
.log-dark .custom-control-input:checked ~ .custom-control-label::before { background: var(--lg-accent-2); border-color: var(--lg-accent-2); }
.log-dark .dropdown-menu { background: #2b2d31; border-color: var(--lg-line); }
.log-dark .dropdown-item { color: var(--lg-text); }
.log-dark .dropdown-item:hover { background: #35373c; color: #fff; }
.log-dark .dropdown-divider { border-top-color: var(--lg-line); }
.log-dark .modal-content { background: var(--lg-card); border-color: var(--lg-line); color: var(--lg-text); }
.log-dark .modal-header, .log-dark .modal-footer { border-color: var(--lg-line); }
.log-dark .close { color: #fff; text-shadow: none; }
.log-dark .page-link { background: #26282c; border-color: var(--lg-line); color: var(--lg-link); }
.log-dark .page-item.active .page-link { background: var(--lg-accent-2); border-color: var(--lg-accent-2); color: #0f2a27; }
.log-dark .page-item.disabled .page-link { background: #222327; color: var(--lg-faint); border-color: var(--lg-line); }
.log-dark hr { border-top-color: var(--lg-line); }
.log-dark .auth-brand { color: var(--lg-accent) !important; }

/* Attention tooltip + inline editors */
.log-dark .attn-tip { background: #2b2d31; color: var(--lg-text); border-color: var(--lg-line); box-shadow: 0 .5rem 1.5rem rgba(0,0,0,.5); }
.log-dark .le-input { caret-color: var(--lg-accent); background-image: linear-gradient(rgba(45, 212, 191, .55), rgba(45, 212, 191, .55)); }
.log-dark .le-input.le-invalid { color: var(--lg-danger); }
.log-dark .scroll-to-top { background: rgba(45, 212, 191, .4); }
.log-dark .btn-use { border-color: var(--lg-accent); color: var(--lg-accent); background: rgba(45, 212, 191, .08); }
.log-dark .btn-use:hover, .log-dark .btn-use:focus { background: var(--lg-accent); color: #0f2a27; }
.log-dark .le-est { background: #4b5563; color: #fde68a; }
.log-dark .le-cell-error { box-shadow: inset 2px 0 0 var(--lg-danger); }
