/* NPM Dark Mode Theme */
:root {
  --dark-bg: #1a1a2e;
  --dark-card: #16213e;
  --dark-sidebar: #0f3460;
  --dark-input: #1c2541;
  --dark-border: #2a2a4a;
  --dark-text: #e0e0e0;
  --dark-text-muted: #a0a0b8;
  --dark-accent: #4da8da;
}

body, .page { background-color: var(--dark-bg) !important; color: var(--dark-text) !important; }
.navbar, .header { background-color: #0d1b2a !important; border-bottom: 1px solid var(--dark-border) !important; }
.navbar .nav-link, .header a, .navbar-brand { color: var(--dark-text) !important; }
.sidebar, .aside { background-color: var(--dark-sidebar) !important; }
.sidebar .nav-link, .aside a { color: var(--dark-text) !important; }
.sidebar .nav-link:hover, .aside a:hover { background-color: rgba(255,255,255,0.1) !important; }
.card, .modal-content, .dropdown-menu { background-color: var(--dark-card) !important; color: var(--dark-text) !important; border-color: var(--dark-border) !important; }
.card-header, .card-footer { background-color: rgba(0,0,0,0.2) !important; border-color: var(--dark-border) !important; }
.table, .table th, .table td { color: var(--dark-text) !important; border-color: var(--dark-border) !important; }
.table-hover tbody tr:hover { background-color: rgba(255,255,255,0.05) !important; }
.table-striped tbody tr:nth-of-type(odd) { background-color: rgba(0,0,0,0.15) !important; }
.form-control, .input-group-text, select, textarea, input[type="text"], input[type="password"], input[type="email"], input[type="number"] {
  background-color: var(--dark-input) !important; color: var(--dark-text) !important;
  border-color: var(--dark-border) !important;
}
.form-control:focus { border-color: var(--dark-accent) !important; box-shadow: 0 0 0 0.2rem rgba(77,168,218,0.25) !important; }
.btn-primary { background-color: var(--dark-accent) !important; border-color: var(--dark-accent) !important; }
.btn-outline-secondary, .btn-default { color: var(--dark-text) !important; border-color: var(--dark-border) !important; background-color: transparent !important; }
.alert-info { background-color: #1c3a5e !important; border-color: #2a5a8e !important; color: var(--dark-text) !important; }
.text-muted, .dimmer-content, small { color: var(--dark-text-muted) !important; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, label, legend { color: var(--dark-text) !important; }
.page-header, .page-title { color: var(--dark-text) !important; }
.modal-backdrop { background-color: rgba(0,0,0,0.7) !important; }
.close, .btn-close { color: var(--dark-text) !important; filter: invert(1); }
.badge { opacity: 0.9; }
a { color: var(--dark-accent) !important; }
a:hover { color: #6bc0e8 !important; }
hr { border-color: var(--dark-border) !important; }
.dimmer .loader { border-color: var(--dark-border) !important; border-top-color: var(--dark-accent) !important; }
.selectize-input, .selectize-dropdown { background-color: var(--dark-input) !important; color: var(--dark-text) !important; border-color: var(--dark-border) !important; }
.selectize-dropdown-content .option { color: var(--dark-text) !important; }
.selectize-dropdown-content .active { background-color: var(--dark-accent) !important; }
.CodeMirror { background-color: var(--dark-input) !important; color: var(--dark-text) !important; }
.page-content, .container, .container-xl { background-color: transparent !important; }
.stamp { opacity: 0.8; }
