.admin-main { max-width: 900px; }

.admin-login {
  display: flex;
  justify-content: center;
  padding: 4rem 2rem;
}

.admin-login .form-card { max-width: 360px; }

.form-error { color: var(--error); font-size: 0.9rem; margin-top: 1rem; text-align: center; }

.admin-dashboard { padding: 2rem; }

.admin-stats {
  display: flex;
  gap: 1.5rem;
  margin-bottom: 2rem;
}

.stat-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 1.5rem 2rem;
  min-width: 140px;
}

.stat-value { font-size: 2rem; font-weight: 700; display: block; color: var(--primary); }
.stat-label { font-size: 0.9rem; color: var(--text-muted); }

.admin-users h3 { margin-bottom: 1rem; font-size: 1.25rem; }

.users-table-wrap {
  overflow-x: auto;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
}

.users-table {
  width: 100%;
  border-collapse: collapse;
}

.users-table th,
.users-table td {
  padding: 0.75rem 1rem;
  text-align: left;
  border-bottom: 1px solid var(--border);
}

.users-table th {
  color: var(--text-muted);
  font-weight: 600;
  font-size: 0.85rem;
}

.users-table tr:last-child td { border-bottom: none; }

.users-table .role-admin { color: var(--primary); font-weight: 500; }
.users-table .role-ow { color: #f59e0b; font-weight: 600; }
.role-actions .btn-sm { padding: 0.25rem 0.5rem; font-size: 0.8rem; margin-right: 0.25rem; }
.role-hint { font-size: 0.8rem; color: var(--text-muted); }

.admin-forbidden {
  text-align: center;
  padding: 4rem 2rem;
}

.admin-forbidden p { margin-bottom: 1.5rem; color: var(--text-muted); }
