/* Theme tokens. Light is default; dark opts in via [data-bs-theme="dark"] on <html>.
   Per-template colors are migrated to these tokens incrementally — see DARK_MODE_AUDIT.md. */

:root, [data-bs-theme="light"] {
  --bg-app:        #ffffff;
  --bg-surface:    #ffffff;
  --bg-surface-2:  #f8f9fa;
  --bg-muted:      #e9ecef;
  --fg-default:    #212529;
  --fg-muted:      #6c757d;
  --fg-inverse:    #ffffff;
  --border-default:#dee2e6;
  --border-muted:  #e9ecef;
  --link:          #0d6efd;
  --link-hover:    #0a58ca;
  --navbar-bg:     #f8f9fa;
  --navbar-fg:     #212529;
  --sidebar-bg-gradient: linear-gradient(180deg, #003c8f 0%, #00897b 100%);
  --sidebar-fg:    #ffffff;
  --card-bg:       #ffffff;
  --card-border:   #dee2e6;
  --input-bg:      #ffffff;
  --input-fg:      #212529;
  --input-border:  #ced4da;
  --shadow-sm:     0 .125rem .25rem rgba(0, 0, 0, .075);
  --shadow:        0 .5rem 1rem rgba(0, 0, 0, .15);
  --code-fg:       #c7254e;
  --code-bg:       #f9f2f4;
  --table-stripe:  rgba(0, 0, 0, 0.02);
  --table-hover:   rgba(0, 0, 0, 0.04);
  --bg-table-warning: #fff3cd;
  --bg-warning-subtle: #fffbeb;
  --overlay-scrim: rgba(255, 255, 255, 0.80);
}

[data-bs-theme="dark"] {
  --bg-app:        #0f1115;
  --bg-surface:    #1a1d23;
  --bg-surface-2:  #22262d;
  --bg-muted:      #2a2f37;
  --fg-default:    #e6e8eb;
  --fg-muted:      #adb5bd;
  --fg-inverse:    #0f1115;
  --border-default:#363b44;
  --border-muted:  #2a2f37;
  --link:          #6ea8fe;
  --link-hover:    #9ec5fe;
  --navbar-bg:     #1a1d23;
  --navbar-fg:     #e6e8eb;
  --sidebar-bg-gradient: linear-gradient(180deg, #1a1f2e 0%, #0d4a44 100%);
  --sidebar-fg:    #e6e8eb;
  --card-bg:       #1a1d23;
  --card-border:   #4a5260;
  --input-bg:      #22262d;
  --input-fg:      #e6e8eb;
  --input-border:  #363b44;
  --shadow-sm:     0 .125rem .25rem rgba(0, 0, 0, .4);
  --shadow:        0 .5rem 1rem rgba(0, 0, 0, .5);
  --code-fg:       #ff79c6;
  --code-bg:       rgba(255, 121, 198, 0.1);
  --table-stripe:  rgba(255, 255, 255, 0.04);
  --table-hover:   rgba(255, 255, 255, 0.06);
  --bg-table-warning: #5c4f1a;
  --bg-warning-subtle: rgba(245, 158, 11, 0.14);
  --overlay-scrim: rgba(0, 0, 0, 0.65);
}

body {
  background: var(--bg-app);
  color: var(--fg-default);
}

/* Print: always render light tokens regardless of data-bs-theme so the
   PDF / paper output doesn't carry dark backgrounds (wastes ink and
   reads poorly). Re-declare the light values inside the dark scope. */
@media print {
  [data-bs-theme="dark"] {
    --bg-app:        #ffffff;
    --bg-surface:    #ffffff;
    --bg-surface-2:  #f8f9fa;
    --bg-muted:      #e9ecef;
    --fg-default:    #212529;
    --fg-muted:      #6c757d;
    --fg-inverse:    #ffffff;
    --border-default:#dee2e6;
    --border-muted:  #e9ecef;
    --link:          #0d6efd;
    --link-hover:    #0a58ca;
    --navbar-bg:     #f8f9fa;
    --navbar-fg:     #212529;
    --card-bg:       #ffffff;
    --card-border:   #dee2e6;
    --input-bg:      #ffffff;
    --input-fg:      #212529;
    --input-border:  #ced4da;
    --table-stripe:  rgba(0, 0, 0, 0.02);
    --table-hover:   rgba(0, 0, 0, 0.04);
    --bg-table-warning: #fff3cd;
    --bg-warning-subtle: #fffbeb;
    --overlay-scrim: rgba(255, 255, 255, 0.80);
  }
}