:root {
  --tt-bg: #0f1012;
  --tt-panel: #17191c;
  --tt-panel-2: #1f2226;
  --tt-border: #2b2f35;
  --tt-text: #f5f5f5;
  --tt-muted: #8f96a3;
  --tt-accent: #2ee59d;
  --tt-green: #1aaa78;
  --tt-danger: #ff4d5e;
  --tt-warning: #facc15;
}

body {
  background: var(--tt-bg) !important;
  color: var(--tt-text);
  min-height: 100%;
}

.navbar {
  background: #15171a !important;
  border-bottom: 1px solid var(--tt-border);
}

.navbar-brand {
  color: #ffffff !important;
  font-weight: 800;
}

.nav-link {
  color: var(--tt-muted) !important;
}

.nav-link.active,
.nav-link:hover {
  color: #ffffff !important;
}

.card {
  background: var(--tt-panel) !important;
  color: var(--tt-text);
  border: 1px solid var(--tt-border) !important;
  box-shadow: none !important;
}

.card-header {
  background: var(--tt-panel-2) !important;
  color: var(--tt-text);
  border-bottom: 1px solid var(--tt-border);
}

.table {
  --bs-table-bg: var(--tt-panel);
  --bs-table-color: var(--tt-text);
  --bs-table-border-color: var(--tt-border);
  --bs-table-hover-bg: #22262b;
  color: var(--tt-text);
}

.table thead th {
  background: #111316 !important;
  color: var(--tt-muted) !important;
  border-bottom: 1px solid var(--tt-border);
  font-size: 13px;
  text-transform: uppercase;
}

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

.form-control,
.form-select {
  background: #111316 !important;
  border: 1px solid var(--tt-border) !important;
  color: var(--tt-text) !important;
}

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

.btn-primary {
  background: var(--tt-accent);
  border-color: var(--tt-accent);
  color: #000;
  font-weight: 700;
}

.btn-outline-primary,
.btn-outline-info {
  color: var(--tt-accent);
  border-color: var(--tt-accent);
}

.btn-outline-success {
  color: var(--tt-green);
  border-color: var(--tt-green);
}

.btn-dark {
  background: #22262b;
  border-color: var(--tt-border);
}

.badge.text-bg-secondary {
  background: #30343a !important;
  color: #d1d5db !important;
}

.badge.text-bg-success {
  background: var(--tt-green) !important;
}

.badge.text-bg-primary {
  background: #0d6efd !important;
}

.alert {
  background: var(--tt-panel-2);
  color: var(--tt-text);
  border: 1px solid var(--tt-border);
}

.tt-page-title {
  font-size: 30px;
  font-weight: 800;
  color: #ffffff;
}

.tt-subtitle {
  color: var(--tt-muted);
}

.tt-toolbar {
  background: var(--tt-panel);
  border: 1px solid var(--tt-border);
  border-radius: 16px;
  padding: 16px;
}

.tt-stat-number {
  font-size: 34px;
  font-weight: 900;
  color: var(--tt-accent);
}

.swal2-popup {
  background: var(--tt-panel) !important;
  color: var(--tt-text) !important;
  border: 1px solid var(--tt-border);
}

.tt-badge {
  background: #22262b !important;
  color: var(--tt-accent) !important;
  border: 1px solid var(--tt-border) !important;
}

main {
  background: var(--tt-bg) !important;
  min-height: calc(100vh - 56px);
}

.bg-light,
.bg-white {
  background-color: var(--tt-bg) !important;
}

.text-bg-light {
  background-color: #22262b !important;
  color: var(--tt-text) !important;
}

.text-primary {
  color: var(--tt-accent) !important;
}

.card.rounded-4 {
  border-radius: 18px !important;
  overflow: hidden !important;
}

.card.rounded-4 .card-header {
  border-top-left-radius: 18px !important;
  border-top-right-radius: 18px !important;
}

.card.rounded-4 .card-body:last-child {
  border-bottom-left-radius: 18px !important;
  border-bottom-right-radius: 18px !important;
}

.list-group,
.list-group-item {
  background: var(--tt-panel) !important;
  color: var(--tt-text) !important;
  border-color: var(--tt-border) !important;
}

.list-group-flush .list-group-item:last-child {
  border-bottom-left-radius: 18px !important;
  border-bottom-right-radius: 18px !important;
}

.table-responsive {
  border-bottom-left-radius: 18px;
  border-bottom-right-radius: 18px;
  overflow: hidden;
}

.tt-login-body {
  background:
    radial-gradient(circle at top, rgba(46, 229, 157, 0.15), transparent 40%),
    var(--tt-bg) !important;
  color: var(--tt-text);
  min-height: 100vh;
}

.tt-login-body .card {
  background: var(--tt-panel) !important;
  border: 1px solid var(--tt-border) !important;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6);
  border-radius: 20px !important;
}

.tt-login-body .form-control {
  background: #111316 !important;
  border: 1px solid var(--tt-border) !important;
  color: var(--tt-text) !important;
}

.tt-login-body .form-control:focus {
  border-color: var(--tt-accent) !important;
  box-shadow: 0 0 0 0.2rem rgba(46, 229, 157, 0.15) !important;
}

.tt-login-body a {
  color: var(--tt-accent);
}

.tt-login-body a:hover {
  color: #1fd18a;
}

.btn-edit {
  color: #fbbf24;
  border: 1px solid rgba(251, 191, 36, 0.4);
  background: rgba(251, 191, 36, 0.08);
  font-weight: 700;
}

.btn-edit:hover {
  background: rgba(251, 191, 36, 0.2);
  color: #fcd34d;
  border-color: rgba(251, 191, 36, 0.6);
}
