/* KBOT License Server — dark control-panel theme.
   Applied on top of Bootstrap. Keeps Bootstrap's layout/utilities but overrides colors to a dark,
   EVE/KBOT-flavored palette (deep navy-black surfaces, blue accent matching the in-game overlay). */

:root {
  --kbot-bg: #0d1117;
  --kbot-surface: #161b22;
  --kbot-surface-2: #1c2330;
  --kbot-border: #2a3038;
  --kbot-text: #e6edf3;
  --kbot-muted: #8b949e;
  --kbot-accent: #4293fb;      /* matches the bot's ImGui button blue (0.26,0.59,0.98) */
  --kbot-accent-hover: #6aa9ff;
  --kbot-ok: #3fb950;
  --kbot-warn: #d29922;
  --kbot-danger: #f85149;
}

html { font-size: 14px; position: relative; min-height: 100%; }
@media (min-width: 768px) { html { font-size: 15px; } }

body {
  margin-bottom: 60px;
  background: var(--kbot-bg);
  color: var(--kbot-text);
  font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
}

a { color: var(--kbot-accent); text-decoration: none; }
a:hover { color: var(--kbot-accent-hover); text-decoration: underline; }

/* ---- Header / nav ---- */
header .navbar {
  background: var(--kbot-surface) !important;
  border-bottom: 1px solid var(--kbot-border) !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.35);
}
.navbar-brand {
  font-weight: 700;
  letter-spacing: .5px;
  color: var(--kbot-text) !important;
}
.navbar-brand::before {
  content: "▶ ";
  color: var(--kbot-accent);
}
.navbar .nav-link { color: var(--kbot-muted) !important; }
.navbar .nav-link:hover, .navbar .nav-link.active { color: var(--kbot-text) !important; }

/* ---- Headings ---- */
h1, h2, h3 { color: var(--kbot-text); font-weight: 600; }
h1 { font-size: 1.7rem; margin-bottom: 1rem; }
h2 { font-size: 1.25rem; margin-top: 1.5rem; }

/* ---- Cards / surfaces ---- */
.card {
  background: var(--kbot-surface);
  border: 1px solid var(--kbot-border);
  border-radius: 10px;
}
.card-body { color: var(--kbot-text); }

.kbot-stat {
  background: var(--kbot-surface);
  border: 1px solid var(--kbot-border);
  border-radius: 10px;
  padding: 1rem 1.25rem;
  height: 100%;
}
.kbot-stat .kbot-stat-label {
  color: var(--kbot-muted);
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.kbot-stat .kbot-stat-value {
  font-size: 1.9rem;
  font-weight: 700;
  color: var(--kbot-text);
  line-height: 1.2;
}
.kbot-stat .kbot-stat-value.accent { color: var(--kbot-accent); }

/* ---- Tables ---- */
.table {
  color: var(--kbot-text);
  border-color: var(--kbot-border);
  --bs-table-bg: transparent;
  --bs-table-striped-bg: rgba(255,255,255,.03);
  --bs-table-striped-color: var(--kbot-text);
  --bs-table-color: var(--kbot-text);
  --bs-table-border-color: var(--kbot-border);
}
.table thead th {
  color: var(--kbot-muted);
  text-transform: uppercase;
  font-size: .78rem;
  letter-spacing: .4px;
  border-bottom: 2px solid var(--kbot-border);
}
.table td, .table th { border-color: var(--kbot-border); }
.table code, code {
  color: var(--kbot-accent-hover);
  background: var(--kbot-surface-2);
  padding: .1rem .4rem;
  border-radius: 5px;
  font-size: .95em;
}

/* ---- Forms ---- */
.form-control, .form-select {
  background: var(--kbot-surface-2);
  border: 1px solid var(--kbot-border);
  color: var(--kbot-text);
}
.form-control::placeholder { color: #5c6470; }
.form-control:focus, .form-select:focus {
  background: var(--kbot-surface-2);
  color: var(--kbot-text);
  border-color: var(--kbot-accent);
  box-shadow: 0 0 0 .2rem rgba(66,147,251,.25);
}
.form-label { color: var(--kbot-muted); font-size: .85rem; }

/* ---- Buttons ---- */
.btn-primary {
  background: var(--kbot-accent);
  border-color: var(--kbot-accent);
}
.btn-primary:hover { background: var(--kbot-accent-hover); border-color: var(--kbot-accent-hover); }
.btn-outline-secondary { color: var(--kbot-muted); border-color: var(--kbot-border); }
.btn-outline-secondary:hover { background: var(--kbot-surface-2); color: var(--kbot-text); border-color: var(--kbot-muted); }

/* ---- Badges ---- */
.badge.text-bg-success { background: var(--kbot-ok) !important; }
.badge.text-bg-warning { background: var(--kbot-warn) !important; color: #1a1a1a !important; }
.badge.text-bg-secondary { background: #3a3f47 !important; }

/* ---- Alerts ---- */
.alert-success { background: rgba(63,185,80,.12); border-color: rgba(63,185,80,.4); color: #7ee787; }
.alert-danger { background: rgba(248,81,73,.12); border-color: rgba(248,81,73,.4); color: #ffa198; }
.alert-info { background: rgba(66,147,251,.12); border-color: rgba(66,147,251,.4); color: var(--kbot-accent-hover); }

/* ---- Nav pills (admin sub-nav) ---- */
.nav-pills .nav-link { color: var(--kbot-muted); }
.nav-pills .nav-link.active { background: var(--kbot-accent); color: #fff; }
.nav-pills .nav-link:hover:not(.active) { background: var(--kbot-surface-2); color: var(--kbot-text); }

/* ---- Footer ---- */
.footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  line-height: 60px;
  background: var(--kbot-surface);
  border-top: 1px solid var(--kbot-border) !important;
  color: var(--kbot-muted);
}
.border-top { border-top: 1px solid var(--kbot-border); }
.border-bottom { border-bottom: 1px solid var(--kbot-border); }

.text-muted { color: var(--kbot-muted) !important; }

/* login card centering for admin/account login pages */
.kbot-auth-wrap {
  max-width: 420px;
  margin: 4rem auto;
}
