:root {
  --bg-main: #07111f;
  --bg-panel: #101b2d;
  --bg-panel-soft: #162338;
  --bg-input: #0b1526;
  --border: #253852;
  --text-main: #e5edf8;
  --text-muted: #8fa6c3;
  --accent: #58c4ff;
  --accent-strong: #1d84ff;
}

html, body {
  min-height: 100%;
}

body {
  background:
    radial-gradient(circle at top, rgba(29, 132, 255, 0.18), transparent 32%),
    linear-gradient(180deg, #081221 0%, #07111f 100%);
  color: var(--text-main);
}

.page,
.page-wrapper,
.page-body,
.container-xl {
  background: transparent;
}

.page {
  min-height: 100vh;
}

.navbar,
.page-header,
.card,
.dropdown-menu,
.modal-content,
.offcanvas,
.toast {
  background: var(--bg-panel);
  color: var(--text-main);
  border-color: var(--border);
}

.page-header {
  box-shadow: inset 0 -1px 0 rgba(37, 56, 82, 0.8);
}

.card {
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.18);
}

.card-header,
.card-footer,
.table thead th {
  background: rgba(255, 255, 255, 0.02);
  border-color: var(--border);
}

.navbar-brand a,
.nav-link,
.page-title,
.card-title,
h1,
h2,
h3,
h4,
h5,
h6,
label,
.table,
.form-label,
.alert,
.btn,
.list-group-item {
  color: var(--text-main);
}

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

a:hover {
  color: #8cd8ff;
}

.text-secondary,
.text-muted,
.small.text-secondary {
  color: var(--text-muted) !important;
}

.form-control,
.form-select,
.form-control:focus,
.form-select:focus,
.form-check-input,
.form-check-input:focus {
  background: var(--bg-input);
  color: var(--text-main);
  border-color: var(--border);
  box-shadow: none;
}

.form-control::placeholder {
  color: #6f86a5;
}

.table > :not(caption) > * > *,
.list-group-item,
.dropdown-item,
.modal-header,
.modal-footer {
  background: transparent;
  color: var(--text-main);
  border-color: var(--border);
}

.hero-card {
  background: linear-gradient(135deg, #101b2d 0%, #0b4ea8 100%);
}

.border,
.rounded,
.table,
hr {
  border-color: var(--border) !important;
}

.btn-primary {
  background: linear-gradient(135deg, var(--accent-strong), #3ab9ff);
  border-color: transparent;
  color: #f8fbff;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background: linear-gradient(135deg, #1675e3, #21a8ff);
  color: #fff;
}

.btn-outline-primary {
  color: var(--accent);
  border-color: rgba(88, 196, 255, 0.45);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
  background: rgba(88, 196, 255, 0.12);
  color: #dff6ff;
  border-color: rgba(88, 196, 255, 0.6);
}

.btn-outline-danger {
  color: #ffc0c0;
  border-color: rgba(255, 107, 107, 0.45);
}

.btn-outline-danger:hover,
.btn-outline-danger:focus {
  background: rgba(255, 107, 107, 0.12);
  color: #ffe3e3;
  border-color: rgba(255, 107, 107, 0.6);
}

.alert-secondary,
.page-note {
  background: rgba(22, 35, 56, 0.95);
  border: 1px solid var(--border);
  color: var(--text-main);
}

.badge-soft {
  background: rgba(88, 196, 255, 0.12);
  color: #bfe9ff;
  border: 1px solid rgba(88, 196, 255, 0.2);
}

.admin-search-form {
  width: min(100%, 420px);
}

.navbar .nav-link:hover,
.navbar .nav-link:focus,
.dropdown-item:hover,
.dropdown-item:focus {
  color: #dff6ff;
}
