body {
    font-family: sans-serif;
    margin: 0px;
}
.header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #222;
  color: white;
  padding: 10px 20px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  z-index: 1000;
  box-sizing: border-box;
}
.header-title {
  font-size: 28px;
  font-weight: bold;
  margin: 0;
}
.header-subinfo {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  font-size: 14px;
  margin-top: 6px;
  color: #ccc;
}
.header-subinfo span.value {
  color: #00e676;
  font-weight: bold;
  font-family: monospace;
}
.header-button {
  background-color: #00e676;
  color: black;
  padding: 6px 14px;
  text-decoration: none;
  border-radius: 4px;
  font-weight: bold;
  font-size: 14px;
}
.header-button:hover { background-color: #00c853; }
table {
    border-collapse: collapse;
    width: 600px;
}
th, td {
    padding: 12px 18px;
    border: 1px solid #ccc;
    text-align: left;
}
th { background-color: #f5f5f5; }
a.button {
    padding: 6px 14px;
    background-color: #007bff;
    color: white;
    text-decoration: none;
    border-radius: 4px;
}
a.button:hover { background-color: #0056b3; }
h1 {
    padding-left: 5px;
    margin-bottom: 24px;
}
.button {
    background-color: #007BFF;
    color: white;
    padding: 6px 12px;
    border: none;
    border-radius: 4px;
    text-decoration: none;
    font-weight: bold;
    font-size: 14px;
    cursor: pointer;
}
.button:hover { background-color: #0056b3; }
.button:visited { color: white; }
a.button { display: inline-block; }
button.button { font-family: inherit; }

/* ── Ops table ── */
.ops-table { border-collapse: collapse; width: 100%; }
.ops-table th, .ops-table td { border: 1px solid #ccc; padding: 4px 8px; font-size: 13px; }
.ops-table th { background: #f0f0f0; }

/* ── Utility ── */
.error-msg   { color: #cc0000; font-weight: bold; }
.link-danger { color: #cc0000; }
.cmd-block   { margin-bottom: 12px; }
.cmd-error   { color: #cc0000; }
.cmd-success { color: #007700; }
.input-wide  { width: 400px; }
.ops-output  { padding: 12px; background: #f9f9f9; border: 1px solid #ccc; }

/* ── Page layout ── */
.page-content { padding: 0 20px 40px; }
.page-title   { padding: 20px 20px 4px; margin: 0; }
.back-link    { display: block; padding: 4px 20px 16px; font-size: 14px; }

/* ── Form elements ── */
table.form-table { width: auto; }
input.text-input { font-size: 15px; padding: 4px 8px; font-family: inherit; }

/* ── Feedback messages ── */
.msg-error { color: #cc0000; margin-top: 12px; font-weight: bold; }
.msg-info  { color: #0055aa; margin-top: 12px; }

/* ── Result display ── */
.result-block {
    background: #f5f5f5;
    border: 1px solid #ccc;
    padding: 16px;
    border-radius: 4px;
    overflow-x: auto;
    font-size: 13px;
    font-family: monospace;
    white-space: pre-wrap;
    word-break: break-all;
}

/* ── Promote diff table ── */
tr.action-new    td { background: #d4edda; }
tr.action-update td { background: #fff3cd; }
tr.action-delete td { background: #f8d7da; }
