/* Tokeny NetFlota: kolory, fonty, wymiary. Motyw jasny domyślnie, ciemny wg systemu albo data-theme="dark". */
:root {
  --nf-bg: #ffffff;
  --nf-surface: #f6f8fb;
  --nf-line: #e3e8ef;
  --nf-ink: #142033;
  --nf-muted: #5c6b80;
  --nf-accent: #0b63ce;
  --nf-accent-soft: #e8f1fd;
  --nf-panel: #f1f6fd;
  --nf-moving: #16a34a;
  --nf-idle: #d97706;
  --nf-off: #94a3b8;
  --nf-alarm: #dc2626;
  --nf-map: #eef2f6;
  --nf-font: "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --nf-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --nf-sidebar: 248px;

  --bs-body-font-family: var(--nf-font);
  --bs-body-bg: var(--nf-bg);
  --bs-body-color: var(--nf-ink);
  --bs-primary: var(--nf-accent);
  --bs-primary-rgb: 11, 99, 206;
  --bs-border-color: var(--nf-line);
  --bs-secondary-color: var(--nf-muted);
  --bs-link-color-rgb: 11, 99, 206;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --nf-bg: #0f1520; --nf-surface: #151d2b; --nf-line: #263244; --nf-ink: #e6ecf4; --nf-muted: #93a3b8;
    --nf-accent: #4c95ef; --nf-accent-soft: #15284a; --nf-panel: #121b29; --nf-map: #1a2332;
    --bs-primary-rgb: 76, 149, 239; --bs-link-color-rgb: 76, 149, 239; color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --nf-bg: #0f1520; --nf-surface: #151d2b; --nf-line: #263244; --nf-ink: #e6ecf4; --nf-muted: #93a3b8;
  --nf-accent: #4c95ef; --nf-accent-soft: #15284a; --nf-panel: #121b29; --nf-map: #1a2332;
  --bs-primary-rgb: 76, 149, 239; --bs-link-color-rgb: 76, 149, 239; color-scheme: dark;
}
[data-bs-theme] {
  --bs-body-bg: var(--nf-bg);
  --bs-body-color: var(--nf-ink);
  --bs-border-color: var(--nf-line);
  --bs-secondary-color: var(--nf-muted);
}

body { background: var(--nf-bg); color: var(--nf-ink); font-family: var(--nf-font); font-size: .9rem; }
.mono { font-family: var(--nf-mono); font-size: .8em; font-variant-numeric: tabular-nums; }
.tnum { font-variant-numeric: tabular-nums; }

.btn-primary {
  --bs-btn-bg: var(--nf-accent); --bs-btn-border-color: var(--nf-accent);
  --bs-btn-hover-bg: var(--nf-accent); --bs-btn-hover-border-color: var(--nf-accent);
  --bs-btn-active-bg: var(--nf-accent); --bs-btn-active-border-color: var(--nf-accent);
  --bs-btn-disabled-bg: var(--nf-accent); --bs-btn-disabled-border-color: var(--nf-accent);
  font-weight: 600;
}
.btn-primary:hover { filter: brightness(.92); }
.btn-outline-secondary {
  --bs-btn-color: var(--nf-ink); --bs-btn-border-color: var(--nf-line);
  --bs-btn-hover-bg: var(--nf-surface); --bs-btn-hover-color: var(--nf-ink); --bs-btn-hover-border-color: var(--nf-line);
  --bs-btn-active-bg: var(--nf-accent-soft); --bs-btn-active-color: var(--nf-accent); --bs-btn-active-border-color: var(--nf-accent);
}
/* Jasne przyciski i plakietki Bootstrapa dopasowane do motywu (domyślnie są zawsze białe) */
.btn-light {
  --bs-btn-bg: var(--nf-surface); --bs-btn-border-color: var(--nf-surface); --bs-btn-color: var(--nf-ink);
  --bs-btn-hover-bg: var(--nf-line); --bs-btn-hover-border-color: var(--nf-line); --bs-btn-hover-color: var(--nf-ink);
  --bs-btn-active-bg: var(--nf-line); --bs-btn-active-border-color: var(--nf-line); --bs-btn-active-color: var(--nf-ink);
}
.text-bg-light { color: var(--nf-ink) !important; background-color: var(--nf-surface) !important; }

.form-control, .form-select { border-color: var(--nf-line); background-color: var(--nf-bg); color: var(--nf-ink); }
.form-control:focus, .form-select:focus { border-color: var(--nf-accent); box-shadow: 0 0 0 3px var(--nf-accent-soft); }
.form-check-input:checked { background-color: var(--nf-accent); border-color: var(--nf-accent); }
.form-label { font-weight: 600; font-size: .82rem; margin-bottom: .35rem; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--nf-accent); outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }
