/* Ninja Neumorph - Design Tokens (Neumorphic Dark/Light) */

/* ===== DARK THEME (default) ===== */
:root,
[data-theme="dark"] {
  /* Surface colors */
  --nm-bg: #374151;
  --nm-bg-alt: #1f2937;
  --nm-surface: #374151;
  --nm-surface-raised: #4b5563;
  --nm-surface-inset: #1f2937;

  /* Text colors */
  --nm-text: #e5e7eb;
  --nm-text-secondary: #d1d5db;
  --nm-text-muted: #9ca3af;
  --nm-text-inverse: #31344b;

  /* Accent / brand */
  --nm-accent: #7c3aed;
  --nm-accent-hover: #6d28d9;
  --nm-accent-muted: rgba(124, 58, 237, 0.22);
  --nm-gradient-primary: linear-gradient(145deg, #7c3aed, #6d28d9);
  --nm-gradient-success: linear-gradient(145deg, #22c55e, #16a34a);
  --nm-gradient-info: linear-gradient(145deg, #3b82f6, #2563eb);
  --nm-gradient-warning: linear-gradient(145deg, #f59e0b, #d97706);
  --nm-gradient-danger: linear-gradient(145deg, #ef4444, #dc2626);
  --nm-accent2: #EC1C24;

  /* Semantic colors */
  --nm-success: #00bf9a;
  --nm-success-bg: rgba(0, 191, 154, 0.12);
  --nm-warning: #f5b759;
  --nm-warning-bg: rgba(245, 183, 89, 0.12);
  --nm-danger: #fa5252;
  --nm-danger-bg: rgba(250, 82, 82, 0.12);
  --nm-info: #1e90ff;
  --nm-info-bg: rgba(30, 144, 255, 0.12);

  /* Neumorphic shadows */
  --nm-shadow-raised: 6px 6px 12px rgba(19, 22, 30, 0.45), -6px -6px 12px rgba(106, 117, 145, 0.16);
  --nm-shadow-raised-sm: 3px 3px 6px rgba(19, 22, 30, 0.38), -3px -3px 6px rgba(106, 117, 145, 0.13);
  --nm-shadow-inset: inset 3px 3px 6px rgba(19, 22, 30, 0.48), inset -3px -3px 6px rgba(106, 117, 145, 0.13);
  --nm-shadow-inset-sm: inset 2px 2px 4px rgba(19, 22, 30, 0.42), inset -2px -2px 4px rgba(106, 117, 145, 0.1);
  --nm-shadow-flat: 0 1px 3px rgba(19, 22, 30, 0.26);
  --nm-shadow-hover: 8px 8px 16px rgba(19, 22, 30, 0.42), -8px -8px 16px rgba(106, 117, 145, 0.18);

  /* Borders */
  --nm-border: rgba(230, 231, 238, 0.16);
  --nm-border-strong: rgba(230, 231, 238, 0.28);
  --nm-border-accent: rgba(82, 84, 128, 0.45);

  /* Radii */
  --nm-radius-xs: 4px;
  --nm-radius-sm: 8px;
  --nm-radius: 12px;
  --nm-radius-lg: 16px;
  --nm-radius-xl: 24px;
  --nm-radius-round: 50%;

  /* Spacing */
  --nm-space-xxs: 2px;
  --nm-space-xs: 4px;
  --nm-space-sm: 8px;
  --nm-space-md: 16px;
  --nm-space-lg: 24px;
  --nm-space-xl: 32px;
  --nm-space-xxl: 48px;

  /* Typography */
  --nm-font-body: 'Dosis', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
  --nm-font-heading: 'Bebas Neue', 'Dosis', sans-serif;
  --nm-font-mono: 'SF Mono', 'Fira Code', 'Consolas', monospace;

  /* Transitions */
  --nm-transition-fast: 0.15s ease;
  --nm-transition: 0.25s ease;
  --nm-transition-slow: 0.4s ease;

  /* Z-index scale */
  --nm-z-dropdown: 1000;
  --nm-z-sticky: 1020;
  --nm-z-fixed: 1030;
  --nm-z-modal-backdrop: 1040;
  --nm-z-modal: 1050;
  --nm-z-popover: 1060;
  --nm-z-tooltip: 1070;

  /* Layout */
  --nm-container-max: 1320px;
  --nm-boxed-max: 1580px;
  --nm-header-height: 100px;
  --nm-header-height-scroll: 50px;
  --nm-sidebar-width: 280px;

  /* DXPR-compatible CSS variables (used by dxpr_custom_menu and other modules) */
  --dxt-color-header: #374151;
  --dxt-color-headertext: #e5e7eb;
  --dxt-color-base: #7c3aed;
  --dxt-color-body: #374151;
  --dxt-color-basesubtle: #1f2937;
  --dxt-color-headerside: #1f2937;
  --dxt-color-headersidetext: #e5e7eb;
  --dxt-setting-nav-font-face: 'Bebas Neue', sans-serif;
  --dxt-setting-menu-text-color: #e5e7eb;
  --dxt-setting-dropdown-background: #374151;
  --dxt-setting-dropdown-text-color: #e5e7eb;
  --dxt-setting-mobile-menu-background: #1f2937;
  --dxt-setting-mobile-menu-text-color: #e5e7eb;

  /* Bootstrap-compat variables */
  --bs-primary: #7c3aed;
  --bs-primary-bg-subtle: rgba(124, 58, 237, 0.2);
  --bs-body-bg: #374151;
  --bs-body-color: #e5e7eb;
  --bs-border-color: rgba(230, 231, 238, 0.16);
  --primary: #7c3aed;
  --blue: #7c3aed;
  --bs-form-select-bg-img: none;

  /* Scrollbar */
  --nm-scrollbar-track: #2a3040;
  --nm-scrollbar-thumb: #646c83;
  --nm-scrollbar-thumb-hover: #7c85a0;
}

/* ===== LIGHT THEME ===== */
[data-theme="light"] {
  --nm-bg: #e6e9ef;
  --nm-bg-alt: #d1d5db;
  --nm-surface: #e6e9ef;
  --nm-surface-raised: #eef2f7;
  --nm-surface-inset: #d1d5db;

  --nm-text: #31344b;
  --nm-text-secondary: #44476a;
  --nm-text-muted: #6b7280;
  --nm-text-inverse: #e6e7ee;

  --nm-accent: #7c3aed;
  --nm-accent-hover: #6d28d9;
  --nm-accent-muted: rgba(124, 58, 237, 0.12);
  --nm-gradient-primary: linear-gradient(145deg, #7c3aed, #6d28d9);
  --nm-gradient-success: linear-gradient(145deg, #22c55e, #16a34a);
  --nm-gradient-info: linear-gradient(145deg, #3b82f6, #2563eb);
  --nm-gradient-warning: linear-gradient(145deg, #f59e0b, #d97706);
  --nm-gradient-danger: linear-gradient(145deg, #ef4444, #dc2626);
  --nm-accent2: #EC1C24;

  --nm-success: #00bf9a;
  --nm-success-bg: rgba(0, 191, 154, 0.1);
  --nm-warning: #f5b759;
  --nm-warning-bg: rgba(245, 183, 89, 0.1);
  --nm-danger: #fa5252;
  --nm-danger-bg: rgba(250, 82, 82, 0.1);
  --nm-info: #1e90ff;
  --nm-info-bg: rgba(30, 144, 255, 0.1);

  --nm-shadow-raised: 6px 6px 12px rgba(163, 163, 180, 0.5), -6px -6px 12px rgba(255, 255, 255, 0.8);
  --nm-shadow-raised-sm: 3px 3px 6px rgba(163, 163, 180, 0.45), -3px -3px 6px rgba(255, 255, 255, 0.75);
  --nm-shadow-inset: inset 3px 3px 6px rgba(163, 163, 180, 0.5), inset -3px -3px 6px rgba(255, 255, 255, 0.8);
  --nm-shadow-inset-sm: inset 2px 2px 4px rgba(163, 163, 180, 0.45), inset -2px -2px 4px rgba(255, 255, 255, 0.75);
  --nm-shadow-flat: 0 1px 3px rgba(163, 163, 180, 0.3);
  --nm-shadow-hover: 8px 8px 16px rgba(163, 163, 180, 0.55), -8px -8px 16px rgba(255, 255, 255, 0.85);

  --nm-border: rgba(0, 0, 0, 0.06);
  --nm-border-strong: rgba(0, 0, 0, 0.12);
  --nm-border-accent: rgba(82, 84, 128, 0.32);

  --dxt-color-header: #e6e9ef;
  --dxt-color-headertext: #31344b;
  --dxt-color-base: #7c3aed;
  --dxt-color-body: #e6e9ef;
  --dxt-color-basesubtle: #d1d5db;
  --dxt-color-headerside: #d1d5db;
  --dxt-color-headersidetext: #31344b;
  --dxt-setting-menu-text-color: #31344b;
  --dxt-setting-dropdown-background: #eef2f7;
  --dxt-setting-dropdown-text-color: #31344b;
  --dxt-setting-mobile-menu-background: #e6e9ef;
  --dxt-setting-mobile-menu-text-color: #31344b;

  --bs-primary: #7c3aed;
  --bs-primary-bg-subtle: rgba(124, 58, 237, 0.12);
  --bs-body-bg: #e6e9ef;
  --bs-body-color: #31344b;
  --bs-border-color: rgba(0, 0, 0, 0.06);
  --primary: #7c3aed;
  --blue: #7c3aed;

  --nm-scrollbar-track: #dfe1e8;
  --nm-scrollbar-thumb: #b4b9c9;
  --nm-scrollbar-thumb-hover: #848ba8;
}

/* ===== Global scrollbar ===== */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--nm-scrollbar-track);
}

::-webkit-scrollbar-thumb {
  background: var(--nm-scrollbar-thumb);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--nm-scrollbar-thumb-hover);
}

html {
  scrollbar-color: var(--nm-scrollbar-thumb) var(--nm-scrollbar-track);
  scrollbar-width: thin;
}
