* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: system-ui, -apple-system, 'Segoe UI', sans-serif;
  background: #10121a;
  color: #e6e8ef;
}
a { color: #4e8cff; }
.container { max-width: 900px; margin: 40px auto; padding: 0 16px; }
.wide { max-width: 1200px; }
.card {
  background: #1a1d29;
  border: 1px solid #2a2e3f;
  border-radius: 10px;
  padding: 24px;
  margin-bottom: 24px;
}
h1, h2, h3 { margin-top: 0; }
.header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.btn {
  display: inline-block;
  padding: 9px 16px;
  border: none;
  border-radius: 6px;
  background: #4e8cff;
  color: #fff;
  cursor: pointer;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
}
.btn:hover { opacity: 0.9; }
.btn-secondary { background: #3a3f52; }
.btn-danger { background: #e15361; }
.btn-sm { padding: 5px 10px; font-size: 12px; }
input, select {
  width: 100%;
  padding: 10px;
  border-radius: 6px;
  border: 1px solid #2a2e3f;
  background: #10121a;
  color: #e6e8ef;
  margin-bottom: 14px;
  font-size: 14px;
}
label { display: block; font-size: 13px; color: #9aa1b5; margin-bottom: 4px; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: 10px 8px; border-bottom: 1px solid #2a2e3f; font-size: 14px; }
th { color: #9aa1b5; font-weight: 600; font-size: 12px; text-transform: uppercase; }
.badge { padding: 3px 9px; border-radius: 999px; font-size: 12px; font-weight: 600; }
.badge-success { background: #1e3a2a; color: #4ade80; }
.badge-danger { background: #3a1e22; color: #f87171; }
.mono { font-family: 'Courier New', monospace; background: #10121a; padding: 4px 8px; border-radius: 4px; word-break: break-all; }
.alert { padding: 12px 16px; border-radius: 6px; margin-bottom: 16px; font-size: 14px; }
.alert-error { background: #3a1e22; color: #f87171; }
.alert-success { background: #1e3a2a; color: #4ade80; }
.form-row { display: flex; gap: 16px; }
.form-row > div { flex: 1; }
.log-filters { display: flex; gap: 8px; margin-bottom: 14px; }
.log-item { padding: 8px 0; border-bottom: 1px solid #2a2e3f; font-size: 13px; font-family: monospace; }
.log-item.ok { color: #4ade80; }
.log-item.fail { color: #f87171; }
.actions { display: flex; gap: 6px; flex-wrap: wrap; }
