* { box-sizing: border-box; }
body {
  margin: 0; font: 15px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif;
  color: #1c1e21; background: #f5f6f8;
}
header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 24px; background: #fff; border-bottom: 1px solid #e3e5e8;
}
h1 { font-size: 18px; margin: 0; }
h2 { font-size: 15px; margin: 0 0 8px; }
main, #login { max-width: 1100px; margin: 24px auto; padding: 0 24px; }
section {
  background: #fff; border: 1px solid #e3e5e8; border-radius: 8px;
  padding: 18px; margin-bottom: 18px;
}
.hint { color: #65686c; font-size: 13px; margin: 0 0 12px; }
button {
  font: inherit; padding: 8px 16px; border-radius: 6px; cursor: pointer;
  border: 1px solid #c9ccd1; background: #fff;
}
button:hover:not(:disabled) { background: #f0f1f3; }
button:disabled { opacity: .5; cursor: default; }
button.danger { background: #c53030; border-color: #c53030; color: #fff; }
button.danger:hover:not(:disabled) { background: #9b2626; }
input {
  font: inherit; padding: 8px 10px; border: 1px solid #c9ccd1;
  border-radius: 6px; width: 100%; max-width: 340px;
}
.err { color: #c53030; font-size: 13px; }
pre {
  background: #f5f6f8; border: 1px solid #e3e5e8; border-radius: 6px;
  padding: 10px; font-size: 13px; white-space: pre-wrap; margin: 12px 0 0;
}
.summary { display: flex; gap: 24px; flex-wrap: wrap; margin-bottom: 14px; }
.summary div { font-size: 13px; }
.summary strong { display: block; font-size: 22px; font-weight: 600; }
.tabs { display: flex; gap: 6px; margin-bottom: 12px; }
.tab { border-radius: 6px 6px 0 0; }
.tab.active { background: #1c1e21; color: #fff; border-color: #1c1e21; }
table { width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 12px; }
th, td { text-align: left; padding: 6px 10px; border-bottom: 1px solid #eceef0; }
th { color: #65686c; font-weight: 600; }
td.num { text-align: right; font-variant-numeric: tabular-nums; }
#table-wrap { overflow-x: auto; }
#pager { display: flex; gap: 8px; align-items: center; margin-top: 12px; font-size: 13px; }
.aborted { color: #c53030; font-weight: 600; }
