body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: #f5f7fb;
  color: #1c2434;
}

a { color: #1f5eff; text-decoration: none; }
.page { max-width: 1180px; margin: 0 auto; padding: 24px; }
.topbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }
.brand { font-size: 20px; font-weight: 700; }
.panel {
  background: #fff;
  border: 1px solid #dfe5f0;
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 18px;
}
.grid { display: grid; gap: 16px; }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.field { display: flex; flex-direction: column; gap: 8px; }
label { font-size: 13px; color: #536079; }
input, textarea {
  border: 1px solid #cad4e6;
  border-radius: 6px;
  padding: 10px 12px;
  font-size: 14px;
  background: #fff;
  color: #1c2434;
}
input::placeholder,
textarea::placeholder { color: #98a3b8; }
textarea { min-height: 92px; resize: vertical; }
button {
  border: 0;
  border-radius: 6px;
  padding: 10px 14px;
  background: #1f5eff;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}
button.secondary { background: #e9eef9; color: #20304f; }
.alert {
  border-radius: 6px;
  padding: 12px 14px;
  margin-bottom: 16px;
  font-size: 14px;
}
.alert.error { background: #fff1f1; color: #9a1c1c; border: 1px solid #f0c2c2; }
.alert.success { background: #eefcf2; color: #17603a; border: 1px solid #bbebca; }
.muted { color: #6f7c94; font-size: 13px; }
.table { width: 100%; border-collapse: collapse; }
.table th, .table td { padding: 12px 10px; border-bottom: 1px solid #e6ecf5; text-align: left; font-size: 14px; vertical-align: top; }
.table th { font-size: 12px; color: #62708c; text-transform: uppercase; letter-spacing: .03em; }
.pill {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 999px;
  background: #eef3ff;
  color: #3450a2;
  font-size: 12px;
}
.pill.warn { background: #fff4df; color: #8d5a00; }
.pill.danger { background: #ffe9e9; color: #9d2020; }
.actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; }
.login-wrap { min-height: 100vh; display: grid; place-items: center; }
.login-card { width: min(420px, calc(100vw - 32px)); }
@media (max-width: 900px) {
  .grid-2, .grid-3 { grid-template-columns: 1fr; }
}
