.admin { background: var(--stone); font-family: var(--sans); font-size: 1.05rem; line-height: 1.5; }
.admin-inner { max-width: 60rem; margin: 0 auto; padding: 0 var(--gutter); }
.admin-main { padding-block: 2.5rem 4rem; }
.admin h1 { font-size: 2rem; margin: 0; }
.admin h2 { font-size: 1.3rem; margin: 2.5rem 0 0.75rem; color: var(--muted); }

.admin-bar { background: var(--green-deep); color: #fff; }
.admin-bar .admin-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem 2rem; flex-wrap: wrap; padding-block: 0.75rem; }
.admin-brand { display: flex; align-items: center; gap: 0.75rem; color: #fff; font-weight: 700; font-size: 1.15rem; text-decoration: none; }
.admin-brand:hover { color: #fff; }
.admin-bar nav { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.admin-bar nav a, .admin-bar nav button { color: #dfe9e2; font: 500 1.05rem var(--sans); text-decoration: none; background: none; border: 0; padding: 0.3em 0; cursor: pointer; border-bottom: 2px solid transparent; }
.admin-bar nav a:hover, .admin-bar nav button:hover, .admin-bar nav a[aria-current] { color: #fff; border-color: #fff; }
.admin-bar nav form { margin: 0; }
.admin-bar :focus-visible { outline-color: #fff; }

.admin-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.admin-head a:not(.button) { font-weight: 500; }
.admin-main:has(.record-form) .admin-head { max-width: 40rem; }
.admin .button { border: 0; cursor: pointer; }
.crumb { margin: 0 0 0.5rem; font-weight: 500; }

.records { width: 100%; table-layout: fixed; border-collapse: collapse; background: var(--paper); border: 1px solid var(--rule); }
.records th:first-child { width: 15rem; }
.records th:last-child { width: 8rem; }
.records th { text-align: left; font-weight: 700; font-size: 0.95rem; color: var(--muted); padding: 0.75rem 1rem; border-bottom: 1px solid var(--rule); }
.records td { padding: 0.85rem 1rem; border-bottom: 1px solid var(--rule); vertical-align: top; }
.records tr:last-child td { border-bottom: 0; }
.records td:first-child { white-space: nowrap; color: var(--muted); }
.records td a { font-weight: 500; }
.status { display: inline-block; font-size: 0.9rem; font-weight: 500; padding: 0.15em 0.6em; border-radius: 3px; background: var(--stone); color: var(--muted); }
.status.live { background: #dcebe1; color: var(--green-deep); }

.record-form { display: grid; gap: 0.35rem; max-width: 40rem; background: var(--paper); border: 1px solid var(--rule); padding: clamp(1.25rem, 4vw, 2rem); }
.record-form label { font-weight: 700; margin-top: 1rem; }
.record-form > label:first-child, .field-row label { margin-top: 0; }
.field-row { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 1rem; margin-top: 1rem; }
.field-row > div { display: grid; gap: 0.35rem; }
.record-form input:not([type="checkbox"]), .record-form textarea { font: 400 1.05rem/1.5 var(--sans); padding: 0.6em 0.75em; border: 1px solid #8d978f; border-radius: 3px; background: var(--paper); color: var(--ink); width: 100%; }
.record-form textarea { font-family: var(--serif); resize: vertical; }
.record-form input[type="file"] { padding: 0.5em; background: var(--stone); }
.record-form .check { display: flex; align-items: center; gap: 0.6rem; font-weight: 400; margin-top: 0.5rem; }
.record-form .check input { width: 1.15rem; height: 1.15rem; accent-color: var(--green); }
.record-form .publish { font-weight: 700; margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--rule); }
.current-image { max-width: 16rem; border: 1px solid var(--rule); margin-top: 0.25rem; }
.field-error { margin: 0.1rem 0 0; color: #a3261d; font-weight: 500; }

.actions { display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; margin-top: 1.5rem; }
.actions a { font-weight: 500; }
.actions .danger { margin-left: auto; color: #a3261d; }
.danger-button { background: #a3261d; }
.danger-button:hover { background: #7f1d16; }

.auth { max-width: 28rem; margin: clamp(1rem, 6vw, 4rem) auto 0; }
.auth h1 { margin-bottom: 1.25rem; }
.auth .record-form { max-width: none; }
.auth-link { margin-top: 1rem; font-weight: 500; }
.notice, .alert { padding: 0.75rem 1rem; border-radius: 3px; margin-bottom: 1rem; }
.notice { background: #dcebe1; color: var(--green-deep); }
.alert { background: #f7e1df; color: #7f1d16; }

@media (max-width: 36rem) {
  .field-row { grid-template-columns: 1fr 1fr; }
  .field-row > div:first-child { grid-column: 1 / -1; }
  .records thead { display: none; }
  .records tr { display: grid; grid-template-columns: 1fr auto; padding: 0.75rem 1rem; border-bottom: 1px solid var(--rule); }
  .records tr:last-child { border-bottom: 0; }
  .records td { padding: 0; border: 0; }
  .records td:first-child { grid-column: 1 / -1; font-size: 0.95rem; }
  .actions .danger { margin-left: 0; }
}
