/* ==========================================================================
   OrbisX — Dark Mode Overrides
   ========================================================================== */

[data-theme="dark"] {
  /* ── Background ──────────────────────────────────────────────────────── */
  --color-bg-primary:     #1C2333;
  --color-bg-secondary:   #242D40;
  --color-bg-tertiary:    #2C3650;

  /* ── Borders ─────────────────────────────────────────────────────────── */
  --color-border:        #2E3A52;
  --color-border-subtle: #253044;

  /* ── Text ────────────────────────────────────────────────────────────── */
  --color-text-primary:   #F0F4F8;
  --color-text-body:      #B8C5D6;
  --color-text-secondary: #7A8FA8;
  --color-text-disabled:  #4A5A72;

  /* ── Sidebar (dark) ──────────────────────────────────────────────────── */
  --color-sidebar-bg:         #1C2333;
  --color-sidebar-border:     #2E3A52;
  --color-sidebar-text:       #B8C5D6;
  --color-sidebar-text-hover: #FFFFFF;
  --color-sidebar-hover:      rgba(255, 255, 255, 0.06);

  /* ── Status Badges ───────────────────────────────────────────────────── */
  --badge-success-bg:   #052E16;  --badge-success-text:   #34D399;
  --badge-scheduled-bg: #0A1628;  --badge-scheduled-text: #60A5FA;
  --badge-pending-bg:   #1C2333;  --badge-pending-text:   #94A3B8;
  --badge-warning-bg:   #2D1F00;  --badge-warning-text:   #FCD34D;
  --badge-danger-bg:    #2D0909;  --badge-danger-text:    #F87171;
  --badge-paused-bg:    #1A0A2E;  --badge-paused-text:    #A78BFA;
}

/* ── Cards: border instead of shadow in dark mode ──────────────────────── */
[data-theme="dark"] .card,
[data-theme="dark"] .card-stat,
[data-theme="dark"] .table-wrapper {
  box-shadow: none;
  border-color: var(--color-border);
}
[data-theme="dark"] .card-hover:hover {
  box-shadow: none;
  border-color: #3D4E6A;
}

/* ── Inputs: darker fill ───────────────────────────────────────────────── */
[data-theme="dark"] .field-input,
[data-theme="dark"] .field-select,
[data-theme="dark"] .field-textarea {
  background: #2C3650;
  border-color: #2E3A52;
  color: var(--color-text-primary);
}
[data-theme="dark"] .field-input:focus,
[data-theme="dark"] .field-select:focus,
[data-theme="dark"] .field-textarea:focus {
  border-color: #00C4E0;
  box-shadow: 0 0 0 3px rgba(0, 196, 224, 0.15);
  background: #2C3650;
}
[data-theme="dark"] .field-input::placeholder,
[data-theme="dark"] .field-textarea::placeholder {
  color: var(--color-text-disabled);
}

/* ── Topbar ────────────────────────────────────────────────────────────── */
[data-theme="dark"] .topbar {
  background: var(--color-bg-secondary);
  border-bottom-color: var(--color-border);
  box-shadow: none;
}
[data-theme="dark"] .topbar-search input {
  background: var(--color-bg-tertiary);
  color: var(--color-text-body);
}
[data-theme="dark"] .topbar-search input:focus {
  background: var(--color-bg-tertiary);
}
[data-theme="dark"] .topbar-btn:hover {
  background: var(--color-bg-tertiary);
}
[data-theme="dark"] .topbar-btn .badge-dot {
  border-color: var(--color-bg-secondary);
}

/* ── Tab bar ───────────────────────────────────────────────────────────── */
[data-theme="dark"] .tab-bar {
  background: rgba(28, 35, 51, 0.92);
  border-top-color: var(--color-border);
}

/* ── Buttons ───────────────────────────────────────────────────────────── */
[data-theme="dark"] .btn-ghost {
  border-color: var(--color-border);
  color: var(--color-text-body);
}
[data-theme="dark"] .btn-ghost:hover:not(:disabled) {
  background: var(--color-bg-tertiary);
  border-color: var(--color-text-disabled);
}
[data-theme="dark"] .btn-secondary:hover:not(:disabled) {
  background: rgba(0, 196, 224, 0.1);
}
[data-theme="dark"] .btn-icon:hover {
  background: var(--color-bg-tertiary);
  color: var(--color-text-primary);
}

/* ── Tables ────────────────────────────────────────────────────────────── */
[data-theme="dark"] .table thead th {
  background: var(--color-bg-tertiary);
  color: var(--color-text-secondary);
}
[data-theme="dark"] .table tbody td {
  border-bottom-color: var(--color-border-subtle);
}
[data-theme="dark"] .table tbody tr:hover {
  background: var(--color-bg-tertiary);
}

/* ── Callout ───────────────────────────────────────────────────────────── */
[data-theme="dark"] .card-callout {
  background: rgba(0, 196, 224, 0.08);
  color: var(--color-text-body);
}

/* ── Alerts ────────────────────────────────────────────────────────────── */
[data-theme="dark"] .alert-success { background: #052E16; color: #34D399; border-color: #065F46; }
[data-theme="dark"] .alert-warning { background: #2D1F00; color: #FCD34D; border-color: #92400E; }
[data-theme="dark"] .alert-danger  { background: #2D0909; color: #F87171; border-color: #991B1B; }
[data-theme="dark"] .alert-info    { background: #0A1628; color: #60A5FA; border-color: #1E40AF; }

/* ── Toasts ────────────────────────────────────────────────────────────── */
[data-theme="dark"] .toast {
  background: var(--color-bg-secondary);
  border-color: var(--color-border);
  color: var(--color-text-primary);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
}

/* ── Modals ────────────────────────────────────────────────────────────── */
[data-theme="dark"] .modal-panel {
  background: var(--color-bg-secondary);
}
[data-theme="dark"] .modal-header {
  border-bottom-color: var(--color-border);
}
[data-theme="dark"] .modal-footer {
  border-top-color: var(--color-border);
}

/* ── Checkboxes/Radios ─────────────────────────────────────────────────── */
[data-theme="dark"] .checkbox-custom .checkmark,
[data-theme="dark"] .radio-custom .radiomark {
  background: var(--color-bg-tertiary);
  border-color: var(--color-border);
}
[data-theme="dark"] .toggle-track {
  background: var(--color-border);
}

/* ── Skeleton ──────────────────────────────────────────────────────────── */
[data-theme="dark"] .skeleton {
  background: linear-gradient(90deg, #242D40 25%, #2C3650 50%, #242D40 75%);
  background-size: 200% 100%;
}

/* ── Tags ──────────────────────────────────────────────────────────────── */
[data-theme="dark"] .tag {
  background: var(--color-bg-tertiary);
  border-color: var(--color-border);
  color: var(--color-text-body);
}

/* ── Cyan glow for primary actions ─────────────────────────────────────── */
[data-theme="dark"] .btn-primary:hover:not(:disabled) {
  box-shadow: 0 4px 12px rgba(0, 196, 224, 0.35), 0 0 12px rgba(0, 196, 224, 0.15);
}

/* ── System preference fallback ────────────────────────────────────────── */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --color-bg-primary:     #1C2333;
    --color-bg-secondary:   #242D40;
    --color-bg-tertiary:    #2C3650;
    --color-border:         #2E3A52;
    --color-border-subtle:  #253044;
    --color-text-primary:   #F0F4F8;
    --color-text-body:      #B8C5D6;
    --color-text-secondary: #7A8FA8;
    --color-text-disabled:  #4A5A72;
    --badge-success-bg:   #052E16;  --badge-success-text:   #34D399;
    --badge-scheduled-bg: #0A1628;  --badge-scheduled-text: #60A5FA;
    --badge-pending-bg:   #1C2333;  --badge-pending-text:   #94A3B8;
    --badge-warning-bg:   #2D1F00;  --badge-warning-text:   #FCD34D;
    --badge-danger-bg:    #2D0909;  --badge-danger-text:    #F87171;
    --badge-paused-bg:    #1A0A2E;  --badge-paused-text:    #A78BFA;
  }
}
