.footer {
  margin-top: 42px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
}
.health { padding: 10px 16px; border-radius: 99px; font-weight: 850; }
.health-ok { background: #dcefe6; color: var(--ok); }
.health-warning { background: #fff1d6; color: #8a5700; }
.health-error { background: #f7dddd; color: var(--danger); }
.health-grid { display: grid; grid-template-columns: repeat(3, minmax(190px, 1fr)); gap: 12px; }
.health-card { padding: 15px; border: 1px solid var(--line); border-left: 5px solid var(--ok); border-radius: 10px; background: #fbfdff; }
.health-card.health-warning { border-left-color: var(--warn); }
.health-card.health-error { border-left-color: var(--danger); }
.health-card span { float: right; text-transform: uppercase; font-size: 10px; }
.health-card p { margin-bottom: 0; }
.compact-action { display: flex; gap: 8px; max-width: 500px; }
.backup-actions { display: grid; gap: 12px; min-width: 460px; padding: 12px; }
.backup-actions form { display: grid; grid-template-columns: 1fr 140px; gap: 8px; }
.log-viewer { display: grid; gap: 0; max-height: 70vh; overflow: auto; background: #142a3d; color: #d9e7f2; }
.log-viewer code { padding: 7px; border-bottom: 1px solid #ffffff16; white-space: pre-wrap; overflow-wrap: anywhere; }
.settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.settings-list { display: grid; gap: 8px; }
.settings-list > div { display: grid; grid-template-columns: minmax(130px, .4fr) 1fr; gap: 12px; padding: 9px; border-bottom: 1px solid var(--line); }
.settings-list dt { font-weight: 800; }
.settings-list dd { margin: 0; overflow-wrap: anywhere; }
.export-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.export-grid > div { padding: 12px; border: 1px solid var(--line); border-radius: 9px; }
.document-preview { max-height: 55vh; overflow: auto; padding: 16px; background: #142a3d; color: #d9e7f2; border-radius: 10px; }
.state { display: inline-block; padding: 5px 9px; border-radius: 99px; background: #dceaf6; color: #1769aa; font-size: 11px; font-weight: 800; }
.state-metadata_only, .state-discovered, .state-imported, .state-completed { background: #dceaf6; color: #1769aa; }
.state-download_pending, .state-testing, .state-pending, .state-running, .state-queued, .state-retrying { background: #fff0cf; color: #9a5b00; }
.state-verified, .state-published { background: #dcefe6; color: #246a4d; }
.state-invalid, .state-rejected, .state-retired, .state-failed, .state-cancelled { background: #f7dddd; color: #8f2930; }
.state-hidden, .state-archived, .state-deprecated { background: #e8edf1; color: #526677; }
.catalog-filters { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.catalog-filters button { align-self: end; }
.metadata-json { white-space: pre-wrap; word-break: break-word; max-height: 620px; overflow: auto; background: #f5f8fa; padding: 14px; border-radius: 9px; }
.catalog-facts article { border-top: 4px solid var(--blue); }
.task-controls { display: flex; flex-wrap: wrap; gap: 6px; min-width: 160px; }
.task-controls button { padding: 7px 9px; }
dl { display: grid; grid-template-columns: minmax(130px, .45fr) 1fr; gap: 9px 18px; }
dt { font-size: 11px; font-weight: 800; letter-spacing: .08em; color: var(--muted); }
dd { margin: 0; word-break: break-word; }
@media (max-width: 950px) {
  .health-grid, .settings-grid, .export-grid, .catalog-filters { grid-template-columns: 1fr; }
  .compact-action { flex-direction: column; }
  .backup-actions { min-width: 280px; }
  .backup-actions form { grid-template-columns: 1fr; }
}
