/* ============================================================
   THPRI Print Shop Management — dark-mode.css
   Dark theme — activated by body.dark-mode class
   ============================================================ */

body.dark-mode {
  --bg-base:        #0f172a;
  --bg-surface:     #1e293b;
  --bg-elevated:    #263348;
  --text-primary:   #f1f5f9;
  --text-secondary: #94a3b8;
  --text-muted:     #64748b;
  --border-color:   #334155;
  --sidebar-bg:     #0a0f1e;
  --sidebar-text:   #94a3b8;
  --sidebar-text-active: #f1f5f9;
  --sidebar-active-bg:   rgba(26, 86, 219, 0.28);
  --sidebar-active-border: var(--primary-light);
  --header-bg:   #1e293b;
  --header-shadow: 0 1px 3px rgba(0,0,0,0.3);
  --bottom-nav-bg: #1e293b;
  color-scheme: dark;
}

body.dark-mode { background: var(--bg-base); color: var(--text-primary); }

/* Scrollbar */
body.dark-mode * { scrollbar-color: #334155 transparent; }
body.dark-mode *::-webkit-scrollbar-thumb { background: #334155; }
body.dark-mode *::-webkit-scrollbar-thumb:hover { background: #475569; }

/* Cards */
body.dark-mode .card,
body.dark-mode .stats-card,
body.dark-mode .login-card {
  background: var(--bg-surface);
  border-color: var(--border-color);
  box-shadow: 0 1px 3px rgba(0,0,0,0.4);
}
body.dark-mode .card-header,
body.dark-mode .card-footer { border-color: var(--border-color); }
body.dark-mode .card-footer { background: rgba(255,255,255,0.03); }

/* Page header */
body.dark-mode .page-header {
  background: var(--header-bg);
  border-color: var(--border-color);
  box-shadow: var(--header-shadow);
}

/* Sidebar */
body.dark-mode .sidebar { background: var(--sidebar-bg); box-shadow: 2px 0 16px rgba(0,0,0,0.4); }
body.dark-mode .sidebar-header { border-color: rgba(255,255,255,0.05); }
body.dark-mode .sidebar-footer { border-color: rgba(255,255,255,0.05); }
body.dark-mode .nav-item { color: var(--sidebar-text); }
body.dark-mode .nav-item:hover { background: rgba(255,255,255,0.05); color: #fff; }
body.dark-mode .nav-item.active { background: var(--sidebar-active-bg); color: var(--sidebar-text-active); }
body.dark-mode .nav-section-label { color: #475569; }

/* Bottom nav */
body.dark-mode .bottom-nav { background: var(--bottom-nav-bg); border-color: var(--border-color); box-shadow: 0 -2px 12px rgba(0,0,0,0.3); }
body.dark-mode .bottom-nav-item { color: var(--text-muted); }
body.dark-mode .bottom-nav-item.active { color: var(--primary-light); }
body.dark-mode .bottom-nav-item.active::after { background: var(--primary-light); }

/* Form inputs */
body.dark-mode .input,
body.dark-mode .select,
body.dark-mode .textarea {
  background: var(--bg-base);
  border-color: var(--border-color);
  color: var(--text-primary);
}
body.dark-mode .input::placeholder,
body.dark-mode .textarea::placeholder { color: var(--text-muted); }
body.dark-mode .input:hover,
body.dark-mode .select:hover,
body.dark-mode .textarea:hover { border-color: #475569; }
body.dark-mode .input:focus,
body.dark-mode .select:focus,
body.dark-mode .textarea:focus { border-color: var(--primary-light); box-shadow: 0 0 0 3px rgba(59,130,246,0.25); }
body.dark-mode .input:disabled,
body.dark-mode .select:disabled,
body.dark-mode .textarea:disabled { background: rgba(255,255,255,0.04); color: var(--text-muted); }
body.dark-mode .form-label { color: var(--text-primary); }
body.dark-mode .form-hint  { color: var(--text-muted); }
body.dark-mode .file-input-wrapper { background: rgba(255,255,255,0.03); border-color: #334155; }
body.dark-mode .file-input-wrapper:hover { border-color: var(--primary-light); background: rgba(59,130,246,0.07); }

/* Buttons */
body.dark-mode .btn-secondary {
  background: var(--bg-elevated);
  border-color: var(--border-color);
  color: var(--text-primary);
}
body.dark-mode .btn-secondary:hover:not(:disabled) { background: #2d3f56; border-color: #475569; }
body.dark-mode .btn-ghost { color: var(--text-secondary); }
body.dark-mode .btn-ghost:hover:not(:disabled) { background: rgba(255,255,255,0.06); color: var(--text-primary); }
body.dark-mode .menu-toggle:hover { background: rgba(255,255,255,0.06); color: var(--text-primary); }

/* Tables */
body.dark-mode .table-wrapper { background: var(--bg-surface); border-color: var(--border-color); }
body.dark-mode thead           { background: rgba(255,255,255,0.04); }
body.dark-mode thead th        { color: var(--text-secondary); }
body.dark-mode tbody tr        { border-color: var(--border-color); }
body.dark-mode tbody tr:hover  { background: rgba(255,255,255,0.04); }
body.dark-mode tbody tr.row-selected { background: rgba(59,130,246,0.08); }
body.dark-mode tbody td        { color: var(--text-primary); }
body.dark-mode tfoot td        { background: rgba(255,255,255,0.03); border-color: var(--border-color); }
body.dark-mode .table-topbar   { border-color: var(--border-color); }
body.dark-mode .pagination     { border-color: var(--border-color); }
body.dark-mode .page-btn       { background: var(--bg-surface); border-color: var(--border-color); color: var(--text-secondary); }
body.dark-mode .page-btn:hover:not(:disabled) { background: var(--bg-elevated); border-color: #475569; color: var(--text-primary); }

/* Badges */
body.dark-mode .badge-gray { background: rgba(255,255,255,0.08); color: var(--text-secondary); }
body.dark-mode .status-delivered { background: rgba(255,255,255,0.06); color: var(--gray-400); }
body.dark-mode .priority-normal  { background: rgba(255,255,255,0.06); color: var(--gray-400); }

/* Modal */
body.dark-mode .modal-backdrop { background: rgba(0,0,0,0.7); }
body.dark-mode .modal { background: var(--bg-surface); border: 1px solid var(--border-color); }
body.dark-mode .modal-header { border-color: var(--border-color); }
body.dark-mode .modal-footer { border-color: var(--border-color); background: rgba(255,255,255,0.02); }
body.dark-mode .modal-title  { color: var(--text-primary); }
body.dark-mode .modal-close:hover { background: rgba(255,255,255,0.06); color: var(--text-primary); }

/* Dropdown */
body.dark-mode .dropdown-menu { background: var(--bg-surface); border-color: var(--border-color); box-shadow: 0 20px 40px rgba(0,0,0,0.5); }
body.dark-mode .dropdown-item { color: var(--text-primary); }
body.dark-mode .dropdown-item:hover { background: rgba(255,255,255,0.05); }
body.dark-mode .dropdown-divider { background: var(--border-color); }
body.dark-mode .dropdown-header  { color: var(--text-muted); }

/* Tabs */
body.dark-mode .tabs    { border-color: var(--border-color); }
body.dark-mode .tab-item { color: var(--text-secondary); }
body.dark-mode .tab-item:hover { color: var(--text-primary); }
body.dark-mode .tab-item.active { color: var(--primary-light); border-bottom-color: var(--primary-light); }

/* Skeleton */
body.dark-mode .skeleton {
  background: linear-gradient(90deg, #263348 25%, #1e293b 50%, #263348 75%);
  background-size: 200% 100%;
}

/* Search */
body.dark-mode .search-input { background: var(--bg-base); border-color: var(--border-color); color: var(--text-primary); }
body.dark-mode .search-input:focus { border-color: var(--primary-light); box-shadow: 0 0 0 3px rgba(59,130,246,0.25); }
body.dark-mode .search-clear:hover { background: rgba(255,255,255,0.08); }

/* Toast */
body.dark-mode .toast { background: var(--bg-surface); border-color: var(--border-color); box-shadow: 0 20px 40px rgba(0,0,0,0.5); }
body.dark-mode .toast-title   { color: var(--text-primary); }
body.dark-mode .toast-message { color: var(--text-secondary); }

/* Stats card */
body.dark-mode .stats-card { background: var(--bg-surface); border-color: var(--border-color); }
body.dark-mode .stats-card:hover { box-shadow: 0 6px 20px rgba(0,0,0,0.4); }
body.dark-mode .stats-number { color: var(--text-primary); }
body.dark-mode .stats-icon.icon-primary { background: rgba(26,86,219,0.18); }
body.dark-mode .stats-icon.icon-success { background: rgba(16,185,129,0.15); }
body.dark-mode .stats-icon.icon-warning { background: rgba(245,158,11,0.15); }
body.dark-mode .stats-icon.icon-danger  { background: rgba(239,68,68,0.15); }
body.dark-mode .stats-icon.icon-info    { background: rgba(6,182,212,0.15); }

/* Alerts */
body.dark-mode .alert-info    { background: rgba(6,182,212,0.10);  border-color: rgba(6,182,212,0.25); }
body.dark-mode .alert-success { background: rgba(16,185,129,0.10); border-color: rgba(16,185,129,0.25); }
body.dark-mode .alert-warning { background: rgba(245,158,11,0.12); border-color: rgba(245,158,11,0.30); }
body.dark-mode .alert-danger  { background: rgba(239,68,68,0.10);  border-color: rgba(239,68,68,0.25); }

/* Divider */
body.dark-mode .divider-plain { border-color: var(--border-color); }
body.dark-mode .divider::before, body.dark-mode .divider::after { background: var(--border-color); }

/* Avatar */
body.dark-mode .avatar { border: 1px solid rgba(255,255,255,0.08); }
body.dark-mode .avatar-status { border-color: var(--bg-surface); }

/* Login */
body.dark-mode .login-card { background: rgba(30,41,59,0.96); border: 1px solid var(--border-color); }
body.dark-mode .login-heading h1 { color: var(--text-primary); }
body.dark-mode .login-heading p  { color: var(--text-secondary); }

/* Empty state */
body.dark-mode .empty-illustration { background: rgba(255,255,255,0.05); color: var(--text-muted); }

/* Toggle */
body.dark-mode .toggle-track { background: #334155; }

/* Tooltip */
body.dark-mode [data-tooltip]::before { background: #0f172a; border: 1px solid var(--border-color); }
