:root {
  --brand: #4338ca;
  --brand-dark: #3730a3;
  --brand-soft: #eef2ff;
  --ink: #1e1b2e;
}

body { color: var(--ink); }

/* Accessible skip-to-content link: hidden off-screen until keyboard-focused */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 2000;
  background: var(--brand);
  color: #fff;
  padding: 0.65rem 1rem;
  border-radius: 0 0 0.5rem 0;
  text-decoration: none;
}
.skip-link:focus {
  left: 0;
}

.navbar-brand { font-weight: 700; letter-spacing: -0.02em; }

.btn-primary {
  background-color: var(--brand);
  border-color: var(--brand);
}
.btn-primary:hover, .btn-primary:focus {
  background-color: var(--brand-dark);
  border-color: var(--brand-dark);
}
.text-brand { color: var(--brand); }

.auth-card {
  max-width: 420px;
  margin: 4rem auto;
}

.stat-card {
  border: 1px solid #eceafd;
  border-radius: 0.75rem;
  padding: 1.25rem 1.5rem;
  background: #fff;
}
.stat-card .stat-value { font-size: 1.9rem; font-weight: 700; }
.stat-card .stat-label { color: #6b7280; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.04em; }

.sidebar {
  min-height: calc(100vh - 56px);
  background: #fff;
  border-right: 1px solid #eceafd;
}
.sidebar .nav-link {
  color: var(--ink);
  border-radius: 0.5rem;
  padding: 0.55rem 0.85rem;
}
.sidebar .nav-link.active, .sidebar .nav-link:hover {
  background: var(--brand-soft);
  color: var(--brand-dark);
}

.form-card {
  border: 1px solid #eceafd;
  border-radius: 0.75rem;
  background: #fff;
}

.question-card { cursor: default; transition: opacity 0.15s ease; }
.question-card .drag-handle { cursor: grab; }
.question-card .drag-handle:active { cursor: grabbing; }
.question-card.opacity-50 { opacity: 0.5; }

.timer-bar {
  background: var(--brand);
  color: #fff;
  font-variant-numeric: tabular-nums;
  z-index: 1030;
}
.timer-bar.timer-warning { background: #b45309; }
.timer-bar.timer-critical { background: #b91c1c; }

