/* CMS Registry — compact control-panel styling (Polyphonic palette). */
:root {
  --ink: #050505; --ash: #131313; --bone: #f3eee5; --terracotta: #d24b1f;
  --saffron: #f5b524; --green: #6fcf97;
  --font-display: "Fraunces", Georgia, serif;
  --font-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "JetBrains Mono", "SF Mono", Consolas, monospace;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--ink); color: var(--bone); font-family: var(--font-sans); }
a { color: var(--saffron); text-decoration: none; }
a:hover { text-decoration: underline; }
.mono { font-family: var(--font-mono); }
.muted { color: rgba(243,238,229,0.5); }
em { font-style: italic; color: var(--terracotta); }

.topbar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 24px; border-bottom: 1px solid rgba(243,238,229,0.12); background: var(--ash);
}
.topbar__brand { font-family: var(--font-display); font-size: 20px; color: var(--bone); }
.topbar__brand span { color: var(--saffron); }
.topbar__nav { display: flex; align-items: center; gap: 18px; }
.inline { display: inline; margin: 0; }
.linkish { background: none; border: none; color: var(--saffron); font: inherit; cursor: pointer; padding: 0; }

.wrap { max-width: 1100px; margin: 0 auto; padding: 28px 24px 64px; }
.pagehead { display: flex; align-items: center; justify-content: space-between; margin-bottom: 22px; }
h1 { font-family: var(--font-display); font-weight: 600; font-size: clamp(1.6rem, 3vw, 2.4rem); margin: 0; }

.alert { padding: 10px 14px; border-radius: 4px; margin-bottom: 16px; font-size: 14px; }
.alert--ok { background: rgba(111,207,151,0.14); border: 1px solid var(--green); }
.alert--error { background: rgba(210,75,31,0.14); border: 1px solid var(--terracotta); }
.alert--message { background: rgba(245,181,36,0.12); border: 1px solid var(--saffron); }

.attention {
  border: 1px solid var(--terracotta); border-left-width: 4px; border-radius: 4px;
  background: rgba(210,75,31,0.1); padding: 14px 18px; margin-bottom: 22px;
}
.attention__title { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--saffron); margin-bottom: 8px; }
.attention ul { margin: 0; padding-left: 18px; }
.attention li { margin: 3px 0; font-size: 14px; }

.grid { width: 100%; border-collapse: collapse; }
.grid th { text-align: left; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(243,238,229,0.45); padding: 8px 10px; border-bottom: 1px solid rgba(243,238,229,0.12); }
.grid td { padding: 12px 10px; border-bottom: 1px solid rgba(243,238,229,0.08); font-size: 14px; vertical-align: middle; }
.grid tr.is-dim { opacity: 0.5; }
.cell-name { font-weight: 600; }
.cell-sub { font-size: 11px; color: rgba(243,238,229,0.45); }
.links { display: flex; gap: 12px; flex-wrap: wrap; font-size: 13px; }

.pill { font-family: var(--font-mono); font-size: 11px; padding: 2px 9px; border-radius: 999px; white-space: nowrap; }
.pill--ok { background: var(--green); color: #0c2a12; }
.pill--bad { background: var(--terracotta); color: var(--bone); }
.pill--warn { background: var(--saffron); color: var(--ink); }
.pill--off, .pill--muted { background: rgba(243,238,229,0.14); color: rgba(243,238,229,0.7); }

.card { background: rgba(19,19,19,0.6); border: 1px solid rgba(243,238,229,0.14); border-radius: 8px; padding: 22px 24px; }
.form { display: grid; gap: 16px; max-width: 420px; }
.form--wide { max-width: 620px; }
.form label { display: grid; gap: 6px; font-size: 13px; }
.form input, .form textarea {
  width: 100%; padding: 10px 12px; background: rgba(243,238,229,0.04);
  border: 1px solid rgba(243,238,229,0.2); color: var(--bone); font: inherit; border-radius: 3px;
}
.form input:focus, .form textarea:focus { border-color: var(--bone); outline: none; }
.form .check { display: flex; flex-direction: row; align-items: center; gap: 8px; }
.form .check input { width: auto; }
.form__actions { display: flex; gap: 12px; margin-top: 6px; }
.subset { border: 1px solid rgba(243,238,229,0.16); border-radius: 6px; padding: 14px 16px; display: grid; gap: 14px; }
.subset legend { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--saffron); padding: 0 6px; }

.btn { display: inline-block; padding: 10px 18px; border-radius: 3px; border: 1px solid transparent; font: inherit; font-size: 14px; cursor: pointer; }
.btn--primary { background: var(--saffron); color: var(--ink); }
.btn--primary:hover { background: var(--bone); text-decoration: none; }
.btn--danger { background: transparent; border-color: var(--terracotta); color: var(--terracotta); }
.btn--danger:hover { background: var(--terracotta); color: var(--bone); }

.login { max-width: 420px; margin: 8vh auto 0; }
.login h1 { margin-bottom: 4px; }
.login .form { margin-top: 20px; }

.prov { margin: 24px 0; }
.prov__head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 8px; }
.prov__head h2 { font-family: var(--font-display); font-size: 18px; margin: 0; }
.prov__code {
  width: 100%; background: rgba(243,238,229,0.04); border: 1px solid rgba(243,238,229,0.2);
  color: var(--bone); font-family: var(--font-mono); font-size: 12px; line-height: 1.5;
  padding: 12px 14px; border-radius: 4px; resize: vertical;
}
.checklist { margin: 0; padding-left: 22px; }
.checklist li { margin: 7px 0; font-size: 14px; line-height: 1.5; }
code { font-family: var(--font-mono); font-size: 12px; color: var(--saffron); }
