/* Shared charcoal theme for every moonbot dashboard page. */
html[data-moonbot-theme="dark"] {
  color-scheme: dark;
  --mb-page: #0c0c0c;
  --mb-surface: #161616;
  --mb-soft: #1c1c1c;
  --mb-border: #303030;
  --mb-text: #ededed;
  --mb-muted: #a3a3a3;
  --mb-accent: #d4d4d4;
  background: var(--mb-page);
  scroll-padding-top: 24px;
}
html[data-moonbot-theme="dark"] body {
  margin: 0;
  background: var(--mb-page) !important;
  color: var(--mb-text) !important;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
html[data-moonbot-theme="dark"] ::selection { background: #ddd; color: #111; }
html[data-moonbot-theme="dark"] :focus-visible { outline: 2px solid #555; outline-offset: 3px; }
html[data-moonbot-theme="dark"] main { min-width: 0; }
html[data-moonbot-theme="dark"] h1 { letter-spacing: -.045em; line-height: 1.2; }
html[data-moonbot-theme="dark"] h2 { letter-spacing: -.025em; }
html[data-moonbot-theme="dark"] h3 { letter-spacing: -.015em; }
html[data-moonbot-theme="dark"] :is(.text-white,.text-gray-100,.text-gray-200,.text-gray-300) { color: #e5e5e5 !important; }
html[data-moonbot-theme="dark"] :is(.text-gray-400,.text-gray-500,.text-gray-600,.text-zinc-400,.text-zinc-500) { color: #aaa !important; }
html[data-moonbot-theme="dark"] [class*="text-white/"] { color: #aaa !important; }
html[data-moonbot-theme="dark"] :is(.text-moonbot,.text-moonbotLight,.text-purple-400,.text-violet-400,.text-indigo-400) { color: #d0d0d0 !important; }
html[data-moonbot-theme="dark"] [class*="text-[#6C53FF]"] { color: #d0d0d0 !important; }
html[data-moonbot-theme="dark"] :is(.text-gradient,.text-gradient-moonbot) {
  background: none !important; color: #f0f0f0 !important; -webkit-text-fill-color: #f0f0f0 !important;
}

/* Existing utility classes are shared by static pages and dynamically rendered content. */
html[data-moonbot-theme="dark"] :is([class*="bg-[#1a1a2e]"],[class*="bg-[#0a0a0a]"],[class*="bg-[#0f0f0f]"],[class*="bg-[#0f0f13]"],[class*="bg-[#101015]"],[class*="bg-[#0a0a0f]"],.bg-card,.glass-card,.feature-card,.server-card,.glass) {
  background: var(--mb-surface) !important;
  border-color: var(--mb-border) !important;
  box-shadow: 0 2px 5px #00000018, 0 12px 30px -22px #00000045;
}
html[data-moonbot-theme="dark"] :is([class*="bg-[#14142b]"],[class*="bg-[#0b0b14]"],[class*="bg-[#151520]"],[class*="bg-[#1a1a1a]"],[class*="bg-[#252525]"],[class*="bg-[#2a2a2a]"],[class*="bg-[#3a3a3a]"],[class*="bg-[#1a1a3a]"],[class*="bg-[#20204a]"],.bg-black,.bg-dark) {
  background-color: var(--mb-soft) !important;
}
html[data-moonbot-theme="dark"] :is([class*="bg-[#1e1f22]"],[class*="bg-[#202225]"],[class*="bg-[#2b2d31]"],[class*="bg-[#2f3136]"],[class*="bg-[#313338]"],[class*="bg-[#32353b]"],[class~="bg-[#111]"],[class~="bg-[#222]"],.bg-chat) { background-color: #212121 !important; }
html[data-moonbot-theme="dark"] :is([class*="bg-[#3a1a1f]"],[class*="bg-[#4a2030]"]) { background: #301a1e !important; }
html[data-moonbot-theme="dark"] :is([class*="text-[#b9bbbe]"],[class*="text-[#dbdee1]"],[class*="text-[#dcddde]"]) { color: #a8a8a8 !important; }
html[data-moonbot-theme="dark"] :is([class*="border-[#202225]"],[class*="border-[#3f4147]"],[class*="border-[#1e1f22]"]) { border-color: #363636 !important; }
html[data-moonbot-theme="dark"] .embed-container { background: #161616 !important; border-top: 1px solid #333; border-right: 1px solid #333; border-bottom: 1px solid #333; }
html[data-moonbot-theme="dark"] :is(.embed-title,.embed-field-name) { color: #e5e5e5 !important; }
html[data-moonbot-theme="dark"] :is(.embed-desc,.embed-field-value,.embed-footer) { color: #b5b5b5 !important; }
html[data-moonbot-theme="dark"] .message-group:hover { background: #252525 !important; }
html[data-moonbot-theme="dark"] [class*="bg-[#050508]"] { background: #101010ed !important; }
html[data-moonbot-theme="dark"] :is([class*="bg-white/"],[class*="bg-gray-500/"],[class*="bg-moonbot/"],[class*="bg-purple-500/"],[class*="bg-indigo-500/"],[class*="bg-[#6C53FF]/"]) { background-color: #262626 !important; }
html[data-moonbot-theme="dark"] :is([class*="border-white/"],[class*="border-[#1f"],[class*="border-[#2a"],[class*="border-[#333]"],[class*="border-[#0b0b14]"],[class*="border-[#0f0f13]"],[class*="border-[#6C53FF30]"]) { border-color: var(--mb-border) !important; }
html[data-moonbot-theme="dark"] [class*="divide-white/"] > :not([hidden]) ~ :not([hidden]) { border-color: var(--mb-border) !important; }
html[data-moonbot-theme="dark"] :is([class*="shadow-moonbot"],[class*="shadow-purple"]) { --tw-shadow-color: #0000000d !important; }
html[data-moonbot-theme="dark"] :is([class*="from-moonbot"],[class*="from-purple"],[class*="from-[#1a1a2e]"]) { --tw-gradient-from: #222 !important; --tw-gradient-to: #303030 !important; }
html[data-moonbot-theme="dark"] :is([class*="to-moonbot"],[class*="to-[#5438ff]"],[class*="to-[#10101a]"]) { --tw-gradient-to: #303030 !important; }
html[data-moonbot-theme="dark"] .feature-card:hover { transform: translateY(-3px); border-color: #505050 !important; }
html[data-moonbot-theme="dark"] :is(.animate-blob,.bg-grid) { opacity: .25; }
html[data-moonbot-theme="dark"] .bg-grid { background-image: linear-gradient(to right,#ffffff06 1px,transparent 1px),linear-gradient(to bottom,#ffffff06 1px,transparent 1px); }
html[data-moonbot-theme="dark"] .admin-badge { animation: none; }
html[data-moonbot-theme="dark"] .skeleton { background: linear-gradient(90deg,#202020 25%,#212121 50%,#202020 75%); background-size: 200% 100%; }

/* Form controls keep native select menus and keyboard navigation. */
html[data-moonbot-theme="dark"] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),textarea,select) {
  background: #121212 !important;
  color: #ededed !important;
  border: 1px solid #383838 !important;
  border-radius: 10px;
  box-shadow: 0 1px 2px #00000018;
  transition: border-color .16s, box-shadow .16s;
}
html[data-moonbot-theme="dark"] :is(input,textarea,select):focus { border-color: #888 !important; box-shadow: 0 0 0 3px #00000009 !important; }
html[data-moonbot-theme="dark"] :is(input,textarea)::placeholder { color: #858585 !important; }
html[data-moonbot-theme="dark"] option { background: #161616 !important; color: #e5e5e5 !important; }
html[data-moonbot-theme="dark"] :is(input[type="checkbox"],input[type="radio"],input[type="range"]) { accent-color: #404040; }
html[data-moonbot-theme="dark"] input:disabled,html[data-moonbot-theme="dark"] select:disabled { opacity: .55; cursor: not-allowed; }
html[data-moonbot-theme="dark"] button { transition: background-color .16s,border-color .16s,box-shadow .16s,transform .16s; }
html[data-moonbot-theme="dark"] :is(button,a)[class*="bg-white/"]:hover { background-color: #303030 !important; }
html[data-moonbot-theme="dark"] :is(.bg-moonbot,.bg-moonbotDark,[class~="bg-[#6C53FF]"],[class~="bg-[#5b42ff]"],.btn:not(.danger):not(.success)) {
  background: #d4d4d4 !important; color: #fff !important; border-color: #b8b8b8 !important;
  box-shadow: 0 2px 3px #00000012;
}
html[data-moonbot-theme="dark"] :is(.bg-moonbot,.bg-moonbotDark,[class~="bg-[#6C53FF]"],[class~="bg-[#5b42ff]"]) :is(.text-white,.text-gray-300,svg) { color: #fff !important; }
html[data-moonbot-theme="dark"] :is(button,a).bg-moonbot:hover { background: #f3f3f3 !important; }
html[data-moonbot-theme="dark"] .tab-btn.active { color: #e5e5e5 !important; }
html[data-moonbot-theme="dark"] .tab-btn::after { background: #333 !important; }
html[data-moonbot-theme="dark"] .slot-btn.active { background: #d4d4d4 !important; color: #fff !important; border-color: #b8b8b8 !important; box-shadow: 0 2px 6px #00000012 !important; }
html[data-moonbot-theme="dark"] .slot-btn.active .text-white { color: #fff !important; }
html[data-moonbot-theme="dark"] .toggle-label { background: #383838 !important; border-color: #484848 !important; }
html[data-moonbot-theme="dark"] .toggle-checkbox:checked + .toggle-label { background: #a3a3a3 !important; box-shadow: none !important; }

/* Status colors remain meaningful and readable on dark surfaces. */
html[data-moonbot-theme="dark"] :is(.text-green-300,.text-green-400,.text-emerald-400) { color: #71d7a4 !important; }
html[data-moonbot-theme="dark"] :is(.text-red-300,.text-red-400,.text-rose-400) { color: #ff8c9b !important; }
html[data-moonbot-theme="dark"] :is(.text-yellow-300,.text-yellow-400,.text-amber-400) { color: #e3c37d !important; }
html[data-moonbot-theme="dark"] :is(.text-blue-300,.text-blue-400,.text-cyan-400) { color: #a4c4d9 !important; }
html[data-moonbot-theme="dark"] :is(.bg-green-600,.bg-red-600,.bg-blue-600,.bg-green-500,.bg-red-500,.bg-discord,[class~="bg-[#5865F2]"],[class~="bg-[#FF3B5C]"],[class~="bg-[#ff1f45]"]) { color: #fff !important; }
html[data-moonbot-theme="dark"] :is(.bg-green-600,.bg-red-600,.bg-blue-600,.bg-green-500,.bg-red-500,.bg-discord,[class~="bg-[#5865F2]"],[class~="bg-[#FF3B5C]"]) .text-white { color: #fff !important; }
html[data-moonbot-theme="dark"] :is(.bg-gray-700,.bg-gray-800) { background-color: #383838 !important; }
html[data-moonbot-theme="dark"] :is(.peer:checked ~ .peer-checked\:bg-moonbot) { background-color: #a3a3a3 !important; }
html[data-moonbot-theme="dark"] :is(#toast,#notification) { border: 1px solid #ffffff14; box-shadow: 0 8px 28px #00000018; }
html[data-moonbot-theme="dark"] #toast :is(span,.text-white) { color: inherit !important; }

/* Table headers, rows and dividers. */
html[data-moonbot-theme="dark"] table { border-collapse: collapse; }
html[data-moonbot-theme="dark"] thead { background: #1c1c1c !important; color: #aaa !important; }
html[data-moonbot-theme="dark"] th { color: #a8a8a8 !important; font-size: 11px; letter-spacing: .06em; }
html[data-moonbot-theme="dark"] tbody { background: #161616 !important; }
html[data-moonbot-theme="dark"] tbody tr { border-color: #2b2b2b !important; }
html[data-moonbot-theme="dark"] tbody tr:hover { background: #202020 !important; }

/* Shared navigation, including the admin area. */
html[data-moonbot-theme="dark"] :is(#moonbot-sidebar,#sidebar-container aside) {
  background: #161616 !important; border-right: 1px solid #303030 !important;
  box-shadow: 4px 0 24px #00000018 !important;
}
html[data-moonbot-theme="dark"] #moonbot-sidebar { flex-shrink: 0; }
html[data-moonbot-theme="dark"] .sidebar-link { border: 1px solid transparent; border-radius: 9px; padding-top: 10px; padding-bottom: 10px; font-weight: 500; transform: none !important; }
html[data-moonbot-theme="dark"] .sidebar-link:hover { background: #212121 !important; color: #f0f0f0 !important; }
html[data-moonbot-theme="dark"] :is(.moonbot-nav-active,.moonbot-nav-active:hover) {
  background: #363636 !important; color: #fff !important; border-color: #505050 !important; box-shadow: 0 2px 4px #00000012 !important;
}
html[data-moonbot-theme="dark"] .moonbot-nav-active :is(svg,span,.sidebar-icon,.text-white) { color: #fff !important; }
html[data-moonbot-theme="dark"] .sidebar-active-dot { background: #161616 !important; animation: none; }
html[data-moonbot-theme="dark"] .sidebar-category { letter-spacing: .12em; }
html[data-moonbot-theme="dark"] :is(.support-panel,#desktop-collapse,#mobile-toggle) { background: #161616 !important; border-color: #363636 !important; color: #d0d0d0 !important; }
html[data-moonbot-theme="dark"] .support-panel > a { background: #1c1c1c !important; }
html[data-moonbot-theme="dark"] #sidebar-overlay { background: #00000050 !important; backdrop-filter: blur(3px); }
html[data-moonbot-theme="dark"] .mb-nav-search { padding: 8px 20px 16px; }
html[data-moonbot-theme="dark"] .mb-nav-search input { width: 100%; padding: 10px 12px; font-size: 12px; }
html[data-moonbot-theme="dark"] .mb-nav-empty { color: #999; padding: 12px 24px; font-size: 12px; }
html[data-moonbot-theme="dark"] .mb-context {
  display: flex; align-items: center; gap: 9px; margin-bottom: 24px; color: #999; font-size: 11px; font-weight: 600; letter-spacing: .035em;
}
html[data-moonbot-theme="dark"] .mb-context a:hover { color: #e5e5e5; }
html[data-moonbot-theme="dark"] .mb-context span:last-child { color: #ddd; }
html[data-moonbot-theme="dark"] .mb-brand-mark { width: 36px; height: 36px; border-radius: 10px; }
html[data-moonbot-theme="dark"] ::-webkit-scrollbar { width: 7px; height: 7px; }
html[data-moonbot-theme="dark"] ::-webkit-scrollbar-track { background: transparent; }
html[data-moonbot-theme="dark"] ::-webkit-scrollbar-thumb { background: #505050; border: 2px solid transparent; border-radius: 10px; background-clip: padding-box; }
@media (min-width: 1024px) {
  html[data-moonbot-layout="workspace"] main { padding: 32px 40px; }
  html[data-moonbot-theme="dark"] #moonbot-sidebar.collapsed .mb-nav-search { display: none; }
}
@media (max-width: 1023px) {
  html[data-moonbot-layout="workspace"] main { padding-top: 92px; }
}
@media (max-width: 767px) {
  html[data-moonbot-theme="dark"] main { padding-left: 18px; padding-right: 18px; }
  html[data-moonbot-theme="dark"] main > .mb-context { margin-top: 8px; margin-bottom: 18px; }
  html[data-moonbot-theme="dark"] h1.text-3xl { font-size: 26px; }
  html[data-moonbot-theme="dark"] :is(input,select,textarea) { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-moonbot-theme="dark"] *,html[data-moonbot-theme="dark"] *::before,html[data-moonbot-theme="dark"] *::after {
    animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important;
  }
}

/* Strong contrast for neutral actions and active navigation. */
html[data-moonbot-theme="dark"] :is(.bg-moonbot,.bg-moonbotDark,[class~="bg-[#6C53FF]"],[class~="bg-[#5b42ff]"],.btn:not(.danger):not(.success)) { color: #171717 !important; }
html[data-moonbot-theme="dark"] :is(.bg-moonbot,.bg-moonbotDark,[class~="bg-[#6C53FF]"],[class~="bg-[#5b42ff]"]) :is(.text-white,.text-gray-300,svg) { color: #171717 !important; }
html[data-moonbot-theme="dark"] :is(.moonbot-nav-active,.moonbot-nav-active:hover,.slot-btn.active) { background: #353535 !important; color: #fafafa !important; border-color: #555 !important; }
html[data-moonbot-theme="dark"] .moonbot-nav-active :is(svg,span,.sidebar-icon,.text-white) { color: #fafafa !important; }
html[data-moonbot-theme="dark"] :focus-visible { outline-color: #aaa; }
html[data-moonbot-theme="dark"] #sidebar-overlay { background: #000000a0 !important; }
html[data-moonbot-theme="dark"] .tab-btn::after { background: #ccc !important; }
