/**
 * RK Admin - Design Token System
 * ~60 variables for scalable, maintainable UI
 * Supports light & dark mode via [data-theme="dark"]
 */

/* ============================================
   LIGHT THEME (default)
   ============================================ */
:root {
  /* ── BACKGROUND TOKENS ──────────────────── */
  --bg-main: #F8FAFC;
  --bg-card: #FFFFFF;
  --bg-card-soft: #FAFAFA;
  --bg-hover: #F1F5F9;
  --bg-muted: #F3F4F6;
  --bg-sidebar: #FFFFFF;
  --bg-topbar: #FFFFFF;
  --bg-dropdown: #FFFFFF;
  --bg-modal: #FFFFFF;

  /* ── TEXT TOKENS ───────────────────────── */
  --text-primary: #111827;
  --text-secondary: #6B7280;
  --text-muted: #9CA3AF;
  --text-inverse: #FFFFFF;
  --text-link: #4F46E5;
  --text-disabled: #D1D5DB;

  /* ── BORDER TOKENS ─────────────────────── */
  --border-color: #E5E7EB;
  --border-light: #F3F4F6;
  --border-strong: #D1D5DB;
  --border-focus: #6366F1;

  /* ── BRAND TOKENS ──────────────────────── */
  --primary: #6366F1;
  --primary-hover: #4F46E5;
  --primary-soft: #EEF2FF;
  --primary-active: #4338CA;

  --secondary: #64748B;
  --secondary-hover: #475569;

  /* ── STATUS TOKENS ─────────────────────── */
  --success: #10B981;
  --success-soft: #ECFDF5;

  --warning: #F59E0B;
  --warning-soft: #FFFBEB;

  --danger: #EF4444;
  --danger-soft: #FEF2F2;

  --info: #3B82F6;
  --info-soft: #EFF6FF;

  /* ── SHADOW TOKENS ─────────────────────── */
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px -1px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.06);
  --shadow-none: none;

  /* ── RADIUS TOKENS ─────────────────────── */
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;

  /* ── SPACING TOKENS ────────────────────── */
  --space-2: 0.125rem;
  --space-4: 0.25rem;
  --space-8: 0.5rem;
  --space-12: 0.75rem;
  --space-16: 1rem;
  --space-20: 1.25rem;
  --space-24: 1.5rem;
  --space-32: 2rem;
  --space-40: 2.5rem;
  --space-48: 3rem;

  /* ── COMPONENT TOKENS ──────────────────── */
  --sidebar-width: 260px;
  --sidebar-collapsed: 72px;
  --topbar-height: 64px;
  --card-padding: 1.5rem;
  --table-row-height: 48px;
  --input-height: 40px;
  --button-height: 40px;

  /* ── CHART TOKENS ──────────────────────── */
  --chart-grid: rgba(0, 0, 0, 0.05);
  --chart-axis: #334155;
  --chart-segment-stroke: #FFFFFF;
  --chart-point-stroke: #FFFFFF;
  --chart-point-highlight: #FFFFFF;

  /* ── SAAS ALIASES (backward compatibility) */
  --saas-primary: var(--primary);
  --saas-primary-hover: var(--primary-hover);
  --saas-primary-light: var(--primary-soft);
  --saas-secondary: var(--secondary);
  --saas-bg: var(--bg-main);
  --saas-card: var(--bg-card);
  --saas-border: var(--border-color);
  --saas-text: var(--text-primary);
  --saas-text-secondary: var(--text-secondary);
  --saas-text-muted: var(--text-muted);
  --saas-success: var(--success);
  --saas-warning: var(--warning);
  --saas-danger: var(--danger);
  --saas-radius-card: var(--radius-lg);
  --saas-radius-input: var(--radius-md);
  --saas-radius-btn: var(--radius-md);
  --saas-shadow: var(--shadow-sm);
  --saas-shadow-md: var(--shadow-md);
}

/* ============================================
   DARK THEME
   ============================================ */
[data-theme="dark"] {
  /* ── BACKGROUND ────────────────────────── */
  --bg-main: #0F172A;
  --bg-card: #1E293B;
  --bg-card-soft: #162032;
  --bg-hover: #263244;
  --bg-muted: #162032;
  --bg-sidebar: #0F172A;
  --bg-topbar: #1E293B;
  --bg-dropdown: #1E293B;
  --bg-modal: #1E293B;

  /* ── TEXT ──────────────────────────────── */
  --text-primary: #F1F5F9;
  --text-secondary: #94A3B8;
  --text-muted: #64748B;
  --text-inverse: #0F172A;
  --text-link: #818CF8;
  --text-disabled: #475569;

  /* ── BORDER ────────────────────────────── */
  --border-color: #334155;
  --border-light: #1E293B;
  --border-strong: #475569;
  --border-focus: #6366F1;

  /* ── BRAND ─────────────────────────────── */
  --primary: #818CF8;
  --primary-hover: #6366F1;
  --primary-soft: rgba(99, 102, 241, 0.15);
  --primary-active: #4F46E5;

  --secondary: #94A3B8;
  --secondary-hover: #CBD5E1;

  /* ── STATUS ────────────────────────────── */
  --success: #34D399;
  --success-soft: rgba(16, 185, 129, 0.2);

  --warning: #FBBF24;
  --warning-soft: rgba(245, 158, 11, 0.2);

  --danger: #F87171;
  --danger-soft: rgba(239, 68, 68, 0.2);

  --info: #60A5FA;
  --info-soft: rgba(59, 130, 246, 0.2);

  /* ── SHADOW ────────────────────────────── */
  --shadow-xs: none;
  --shadow-sm: none;
  --shadow-md: none;
  --shadow-lg: none;

  /* ── CHART ─────────────────────────────── */
  --chart-grid: rgba(148, 163, 184, 0.15);
  --chart-axis: #94A3B8;
  --chart-segment-stroke: #334155;
  --chart-point-stroke: #1E293B;
  --chart-point-highlight: #334155;

  /* ── SAAS ALIASES ──────────────────────── */
  --saas-bg: #0F172A;
  --saas-card: #1E293B;
  --saas-border: #334155;
  --saas-text: #F1F5F9;
  --saas-text-secondary: #94A3B8;
  --saas-text-muted: #64748B;
}

/* ============================================
   GLOBAL - Apply tokens
   ============================================ */
html {
  transition: background-color 0.2s ease, color 0.2s ease;
}

body {
  background: var(--bg-main) !important;
  color: var(--text-primary) !important;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.content-wrapper,
.right-side {
  background: var(--bg-main) !important;
  transition: background-color 0.2s ease;
}

.main-footer {
  background: var(--bg-main) !important;
  border-top-color: var(--border-color) !important;
  color: var(--text-secondary) !important;
}

.content-header { border-bottom-color: var(--border-color); }
.content-header h1,
.breadcrumb > li { color: var(--text-primary) !important; }
.breadcrumb > li + li::before { color: var(--text-muted) !important; }

/* Cards */
.bento-card,
.box,
.modern-box,
.nav-tabs-custom {
  background: var(--bg-card) !important;
  border-color: var(--border-color) !important;
  box-shadow: var(--shadow-sm);
  border-radius: var(--radius-lg);
  padding: var(--card-padding);
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

[data-theme="dark"] .bento-card,
[data-theme="dark"] .box,
[data-theme="dark"] .nav-tabs-custom {
  box-shadow: var(--shadow-none) !important;
}

/* Tables */
.table > thead > tr > th {
  background: var(--bg-muted) !important;
  color: var(--text-secondary) !important;
  border-color: var(--border-color) !important;
}

.table > tbody > tr > td {
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}

.table-hover > tbody > tr:hover > td {
  background: var(--bg-hover) !important;
}

/* Forms */
.form-control,
.select2-selection {
  background: var(--bg-card) !important;
  border: 1px solid var(--border-color) !important;
  color: var(--text-primary) !important;
  border-radius: var(--radius-md);
  min-height: var(--input-height);
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.form-control:focus {
  border-color: var(--border-focus) !important;
}

/* Buttons */
.btn-primary {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  color: var(--text-inverse) !important;
  min-height: var(--button-height);
  border-radius: var(--radius-md);
}

.btn-primary:hover {
  background: var(--primary-hover) !important;
  border-color: var(--primary-hover) !important;
  color: var(--text-inverse) !important;
}

.btn-default {
  background: var(--bg-card) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

.btn-default:hover {
  background: var(--bg-hover) !important;
  border-color: var(--border-strong) !important;
}

/* Modals */
.modal-content {
  background: var(--bg-modal) !important;
  border-color: var(--border-color) !important;
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-lg);
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.modal-header,
.modal-footer {
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .modal-content {
  box-shadow: var(--shadow-none) !important;
}

/* Dropdowns */
.dropdown-menu {
  background: var(--bg-dropdown) !important;
  border-color: var(--border-color) !important;
}

/* Sidebar */
[data-theme="dark"] .main-sidebar {
  background: var(--bg-sidebar) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .main-header .logo {
  background: var(--bg-topbar) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .sidebar-menu > li > a {
  color: var(--text-secondary) !important;
}

[data-theme="dark"] .sidebar-menu > li:hover > a {
  background: var(--bg-hover) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .sidebar-menu > li.active > a {
  background: var(--bg-hover) !important;
  color: var(--text-primary) !important;
  border-left: 3px solid var(--primary) !important;
}

[data-theme="dark"] .sidebar-menu .treeview-menu > li.active > a {
  background: var(--bg-card) !important;
  color: var(--primary) !important;
}

[data-theme="dark"] .sidebar-menu .treeview-menu > li > a:hover {
  background: var(--bg-hover) !important;
  color: var(--primary) !important;
}
