/* ==========================================================================
   DC Design Tokens

   Две темы, переключаются атрибутом data-theme на <html> (см. base.html):
     :root                        → base (сине-серая, исходная тема)
     :root[data-theme="military"] → military (зелёный камуфляж)
   ========================================================================== */

:root {
  /* Surfaces */
  --bg-page: #1E1E1E;
  --bg-surface: #2B2B2B;
  --bg-surface-2: #232323;
  --bg-surface-3: #262626;
  --bg-deep: #1A1A1A;
  --bg-elevated: #1a1d21;
  --bg-input: #2c3034;
  --bg-panel: #2B2B2B;
  --bg-panel-flat: #232323;
  --bg-chrome: #1E1E1E;

  /* Solid fallbacks (where rgba is awkward, e.g. sticky columns) */
  --bg-surface-solid: #2B2B2B;
  --bg-surface-2-solid: #232323;
  --bg-deep-solid: #1A1A1A;
  --bg-page-solid: #1E1E1E;

  /* Text */
  --text-primary: #ffffff;
  --text-muted: #808080;
  --text-dim: #585858;

  /* Borders */
  --border: #404040;
  --border-soft: #373b3e;
  --border-hairline: rgba(255, 255, 255, 0.10);
  /* Accent line (camo in military, neutral hairline in base) */
  --cam-line: rgba(255, 255, 255, 0.10);

  /* Brand */
  --primary: #0d6efd;
  --primary-hover: #0b5ed7;
  --primary-active: #0a58ca;
  --accent: #5B8FF9;
  --accent-hover: #8cbaff;

  /* DataTables selection (base blue) */
  --dt-row-selected: 13, 110, 253;
  --dt-row-selected-text: 255, 255, 255;
  --dt-row-selected-link: 224, 236, 255;

  /* Semantics (theme-independent) */
  --success: #198754;
  --danger: #dc3545;
  --warning: #ffc107;
  --info: #2AB9D5;

  /* Radii */
  --r-xs: 4px;
  --r-sm: 6px;
  --r-md: 8px;
  --r-lg: 12px;
  --r-xl: 16px;
  --r-2xl: 24px;
  --r-pill: 999px;

  /* Typography */
  --font-ui: 'Inter', 'Roboto', -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;

  /* Legacy aliases (project.css / existing var() consumers).
     Reference themed tokens → follow the active theme automatically. */
  --background-color: var(--bg-elevated);
  --text-color: var(--text-primary);
  --primary-color: var(--primary);
  --secondary-color: var(--bg-input);
  --border-color: var(--border-soft);
  --border-soft-legacy: var(--border-soft);
  --bg-elevated-legacy: var(--bg-elevated);
  --text-muted-legacy: var(--text-muted);

  /* Bootstrap dark-theme overrides (base) */
  --bs-primary: #0d6efd;
  --bs-primary-rgb: 13, 110, 253;
  --bs-link-color: #5B8FF9;
  --bs-link-hover-color: #8cbaff;
  --bs-border-color: #404040;
  --bs-body-bg: transparent;
  --bs-body-color: #ffffff;
  --bs-secondary-bg: #2B2B2B;
  --bs-tertiary-bg: #232323;
  --bs-emphasis-color: #ffffff;
  --bs-focus-ring-color: rgba(13, 110, 253, 0.40);
}

/* ==========================================================================
   Military theme — зелёный милитари-пиксель
   ========================================================================== */

:root[data-theme="military"] {
  /* Surfaces */
  --bg-page: #12160c;
  --bg-surface: rgba(28, 34, 19, 0.88);
  --bg-surface-2: rgba(23, 28, 16, 0.90);
  --bg-surface-3: rgba(23, 28, 16, 0.90);
  --bg-deep: rgba(14, 18, 10, 0.92);
  --bg-elevated: rgba(14, 18, 10, 0.78);
  --bg-input: rgba(28, 34, 19, 0.88);
  --bg-panel: rgba(28, 34, 19, 0.88);
  --bg-panel-flat: rgba(23, 28, 16, 0.90);
  --bg-chrome: rgba(14, 18, 10, 0.78);

  /* Solid fallbacks (where rgba is awkward, e.g. sticky columns) */
  --bg-surface-solid: #1c2213;
  --bg-surface-2-solid: #171c10;
  --bg-deep-solid: #0e120a;
  --bg-page-solid: #12160c;

  /* Borders */
  --border: #3c4531;
  --border-soft: #38402d;
  --cam-line: rgba(160, 192, 96, 0.16);

  /* Brand */
  --primary: #5f8b2e;
  --primary-hover: #537a27;
  --primary-active: #47691f;
  --accent: #aacd6b;
  --accent-hover: #c6e390;

  /* DataTables selection (military green) */
  --dt-row-selected: 95, 139, 46;
  --dt-row-selected-text: 255, 255, 255;
  --dt-row-selected-link: 238, 246, 223;

  /* Bootstrap dark-theme overrides (military) */
  --bs-primary: #5f8b2e;
  --bs-primary-rgb: 95, 139, 46;
  --bs-link-color: #aacd6b;
  --bs-link-hover-color: #c6e390;
  --bs-border-color: #3c4531;
  --bs-body-bg: transparent;
  --bs-body-color: #ffffff;
  --bs-secondary-bg: rgba(28, 34, 19, 0.88);
  --bs-tertiary-bg: rgba(23, 28, 16, 0.90);
  --bs-emphasis-color: #ffffff;
  --bs-focus-ring-color: rgba(95, 139, 46, 0.40);
}
