/* Admin + sign in */
.admin .nav { gap: 18px; }
.admin .nav form { display: contents; }
.muted-label { color: var(--muted-3); font-size: 13px; margin-left: 4px; }
.admin-main { padding-top: 32px; padding-bottom: 88px; }
.admin-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.admin-head h1 { margin: 0; font-size: 26px; font-weight: 600; letter-spacing: -0.01em; }
.admin-head-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.admin-head-actions form { display: contents; }
.subtle { color: var(--muted-3); font-size: 12px; }

.btn-primary {
  font: inherit; font-size: 14px; font-weight: 600; cursor: pointer;
  background: var(--accent); color: var(--bg); border: 0; border-radius: 6px; padding: 10px 16px;
}
.btn-primary:hover { background: var(--accent-hover); }
button.btn-outline { background: transparent; color: var(--fg); cursor: pointer; font: inherit; font-size: 14px; }
.btn-link { background: none; border: 0; padding: 0; cursor: pointer; color: var(--muted); font-size: 14px; }
.btn-link:hover { color: var(--accent); }
.btn-danger { font: inherit; font-size: 14px; cursor: pointer; background: transparent; color: #ff8a80; border: 1px solid #5c2b28; border-radius: 6px; padding: 10px 16px; }
.btn-danger:hover { border-color: #ff8a80; }

.flash { padding: 12px 14px; border-radius: 6px; margin-bottom: 20px; font-size: 14px; }
.flash-notice { border: 1px solid var(--accent); color: var(--accent); }
.flash-alert { border: 1px solid #5c2b28; color: #ff8a80; }

.admin-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.admin-table th { text-align: left; font-family: var(--mono); font-size: 12px; font-weight: 400; text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted-3); padding: 8px 10px; border-bottom: 1px solid var(--line-strong); }
.admin-table td { padding: 12px 10px; border-bottom: 1px solid var(--line); vertical-align: top; }
.admin-table tr.is-hidden td { opacity: 0.55; }
.admin-table .actions { white-space: nowrap; text-align: right; }
.admin-table .actions > * { display: inline-block; margin-left: 12px; }
.admin-table .actions a { color: var(--muted); }
@media (max-width: 800px) {
  .admin-table thead { display: none; }
  .admin-table tr { display: block; border-bottom: 1px solid var(--line); padding: 8px 0; }
  .admin-table td { display: block; border: 0; padding: 4px 0; }
  .admin-table .actions { text-align: left; }
  .admin-table .actions > * { margin: 0 12px 0 0; }
}

.admin-form { display: flex; flex-direction: column; gap: 20px; max-width: 780px; }
.field { display: flex; flex-direction: column; gap: 6px; min-width: 0; flex: 1; }
.field-row { display: flex; flex-wrap: wrap; gap: 20px; }
.field-narrow { flex: 0 0 120px; }
.field label, .field legend { font-family: var(--mono); font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted); }
.admin input[type=text], .admin input[type=number], .admin input[type=email], .admin input[type=password], .admin textarea,
.login input[type=email], .login input[type=password] {
  font: inherit; font-size: 15px; color: var(--fg); background: #111416; width: 100%;
  border: 1px solid var(--line-strong); border-radius: 6px; padding: 10px 12px;
}
.admin textarea { line-height: 1.55; resize: vertical; }
.admin textarea.mono { font-family: var(--mono); font-size: 14px; }
.admin input:focus, .admin textarea:focus, .login input:focus { outline: none; border-color: var(--accent); }
.input-small { max-width: 90px; }
.hint { margin: 0; font-size: 13px; color: var(--muted-3); }
.hint code { font-family: var(--mono); color: var(--soft); }
.locks { border: 1px solid var(--line); border-radius: 8px; padding: 14px 16px; }
.locks legend { padding: 0 6px; }
.check { display: inline-flex; align-items: center; gap: 8px; margin-right: 20px; font-size: 14px; color: var(--soft); }
.check input { accent-color: var(--accent); }
.form-actions { display: flex; align-items: center; gap: 18px; }
.inline-form { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 24px; }
.inline-form input[type=text] { max-width: 280px; }
.inline-form .flash { flex-basis: 100%; margin: 0; }
.danger-zone { margin-top: 56px; padding-top: 24px; border-top: 1px solid var(--line); max-width: 780px; display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.danger-zone h2 { margin: 0; font-size: 18px; }
.login { max-width: 420px; }
