/* AIREP dark theme inspired by the legacy Qt stylesheet */
/* Bridge legacy tokens to new semantic tokens for backward compatibility */
:root {
  --bg: var(--color-bg-alt, #242424);
  --bg-2: var(--color-bg-surface, #2C2C2C);
  --bg-3: var(--color-bg-inset, #3C3C3C);
  --text: var(--color-fg-primary, #ffffff);
  --muted: var(--color-fg-secondary, #b2b8c2);
  --border: var(--color-border, #5F5F5F);
  --accent: var(--color-accent, #004687);
  --accent-2: var(--color-accent-alt, #00BFFF);
}

/* Scope legacy dark theme to application pages only (body.app-body) so marketing pages can define their own palettes */
body.app-body { background-color: var(--color-bg-base, var(--bg)); color: var(--color-fg-primary, var(--text)); }

/* Light surface utility (prevents inherited white text on light / white sections) */
.surface-light { background: var(--color-bg-light,#ffffff); color: var(--color-fg-inverse,#1e252c); }
.surface-light .text-muted { color: var(--color-fg-secondary,#5a6672) !important; }
.surface-light a { color: var(--color-accent,var(--accent)); }
.surface-light a:hover { color: var(--color-accent-alt,var(--accent-2)); }

.airep-input,
input[type="text"],
input[type="search"],
input[type="date"],
textarea,
select {
  background-color: var(--color-bg-inset,var(--bg-3)) !important;
  color: var(--color-fg-primary,var(--text)) !important;
  border: 1px solid var(--color-border,var(--border)) !important;
}

.airep-btn,
.btn-secondary { background-color: var(--color-border,#5F5F5F) !important; color: var(--color-fg-primary,var(--text)) !important; border: none !important; }
.airep-btn:hover,
.btn-secondary:hover { background-color: color-mix(in srgb, var(--color-border,#5F5F5F) 70%, #ffffff) !important; }
.airep-btn:active,
.btn-secondary:active { background-color: var(--color-accent-alt, lightblue) !important; color: var(--color-fg-inverse,#000) !important; }

.navbar-dark.bg-dark { background-color: var(--color-bg-alt,#1f1f1f) !important; }

/* Side menu similar to QFrame#side_menu */
.side-menu { background-color: var(--color-bg-alt,#1F1F38); border-right: 2px solid color-mix(in srgb, var(--color-border,#44475a) 85%, #ffffff); }
.side-menu .list-group-item {
  background: transparent;
  color: var(--text);
  border: 0;
  padding: 0.75rem 1rem;
}
.side-menu .list-group-item:hover { background-color: color-mix(in srgb, var(--color-bg-inset,#363636) 90%, #ffffff); }
.side-menu .list-group-item.active { background-color: var(--color-accent,var(--accent)); border-left: 5px solid var(--color-accent-alt,var(--accent-2)); }

/* Tables */
.table { color: var(--color-fg-primary,var(--text)); }
.table-striped > tbody > tr:nth-of-type(odd) { --bs-table-accent-bg: var(--color-bg-inset,#2F2F2F); color: var(--color-fg-primary,var(--text)); }
.table > :not(caption) > * > * { background-color: var(--color-bg-alt,#242424); border-color: var(--color-border,var(--border)); }
.table thead th { background: color-mix(in srgb, var(--color-bg-inset,#2f2f2f) 85%, #000); color: var(--color-fg-primary,#fff); }

/* Forms */
label { color: var(--color-fg-primary,var(--text)); }

/* Utilities */
.muted { color: var(--color-fg-secondary,var(--muted)); }
small, .small { color: var(--color-fg-secondary,var(--muted)); }

/* Improve focus visibility */
:focus-visible { outline:2px solid rgba(var(--color-focus-ring,61 126 255)/.75); outline-offset:2px; }
