:root {
  --gbx-accent: #38bdf8;
  --gbx-line: #262c37;
  --gbx-panel: #12161d;
}

body {
  background: #0f1115;
  min-height: 100vh;
}

a { color: var(--gbx-accent); }

.navbar {
  background: rgba(18, 22, 29, .92);
  border-bottom: 1px solid var(--gbx-line);
  backdrop-filter: blur(8px);
}

.navbar-brand { font-weight: 600; }
.navbar .nav-link { color: #94a3b8; }
.navbar .nav-link:hover { color: #e2e8f0; }
.navbar .nav-link.active { color: var(--gbx-accent); }

.panel-card {
  background: var(--gbx-panel);
  border: 1px solid var(--gbx-line);
}

.panel-card .card-header {
  background: transparent;
  border-bottom: 1px solid var(--gbx-line);
  font-size: .9rem;
  font-weight: 600;
}

.stat-card {
  background: var(--gbx-panel);
  border: 1px solid var(--gbx-line);
  border-radius: .75rem;
  padding: 1rem;
  display: flex;
  align-items: center;
  gap: .9rem;
  height: 100%;
}

.stat-icon {
  width: 42px;
  height: 42px;
  border-radius: .6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  flex-shrink: 0;
}

.stat-value { font-size: 1.35rem; font-weight: 600; line-height: 1.1; }
.stat-label { font-size: .78rem; color: #94a3b8; }

.table { --bs-table-bg: transparent; border-color: var(--gbx-line); }
.table > :not(caption) > * > * { border-bottom-color: var(--gbx-line); }
.table thead th {
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #94a3b8;
  font-weight: 600;
}

.modal-content { background: var(--gbx-panel); border: 1px solid var(--gbx-line); }
.modal-header, .modal-footer { border-color: var(--gbx-line); }

.form-control, .input-group-text, .form-select {
  background: #161a21;
  border-color: var(--gbx-line);
  color: #e6e8eb;
}

.form-control:focus {
  background: #161a21;
  border-color: var(--gbx-accent);
  color: #e6e8eb;
  box-shadow: 0 0 0 .2rem rgba(56, 189, 248, .15);
}

.input-group-text { color: #94a3b8; }

.install-line {
  background: #161a21;
  border: 1px solid var(--gbx-line);
  border-radius: .4rem;
  padding: .5rem .7rem;
  color: #7dd3fc;
  word-break: break-all;
}

.bare { display: flex; align-items: center; justify-content: center; }
.bare-main { width: 100%; padding: 2rem 1rem; }

.login-wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center; }

.login-card {
  width: 100%;
  max-width: 380px;
  background: var(--gbx-panel);
  border: 1px solid var(--gbx-line);
  border-radius: .9rem;
  padding: 2rem 1.75rem;
}

@media (max-width: 991.98px) {
  .navbar-collapse { padding-bottom: .75rem; }
}
