.admin { padding-block: clamp(1rem, 3vw, 2.5rem); }
.admin-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .65rem; padding-bottom: 1rem; border-bottom: 1px solid var(--ink); }
.admin-brand img { width: 1.8rem; height: 1.8rem; object-fit: contain; }
.admin-links { display: flex; flex-wrap: wrap; gap: .55rem; }
.admin h1 { font: 400 clamp(1.65rem, 4vw, 3rem)/1.12 var(--display); letter-spacing: -.045em; text-transform: none; }
.admin-heading { padding-block: 1.5rem 1rem; }
.admin-tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.admin-tabs .button { border-radius: 999px; }
.admin-tabs [aria-current] { background: var(--lavender); }
.admin-layout { display: grid; grid-template-columns: minmax(13rem, .75fr) minmax(0, 1.4fr); align-items: start; gap: 1rem; }
.admin-card { border: 1px solid var(--ink); border-radius: 1rem; padding: clamp(1rem, 3vw, 1.6rem); min-width: 0; }
.admin-login { display: grid; gap: 1rem; margin: 2rem auto; max-width: 36rem; }
.admin-login .button { justify-self: start; }
.admin-list h2 { font-size: 1.4rem; margin: 0 0 .85rem; }
.admin-list ul { display: grid; gap: .55rem; list-style: none; margin: 1rem 0 0; padding: 0; }
.admin-list li .button { justify-content: space-between; width: 100%; text-align: start; overflow-wrap: anywhere; }
.admin-list li a:hover, .admin-list [aria-current] { background: var(--lavender); }
.admin-list small { white-space: nowrap; }
.admin-form { display: grid; gap: .85rem; }
.admin-contact { max-width: 42rem; }
.admin-form h3 { font-size: 1.2rem; }
.admin-form .button { justify-self: start; }
.admin-field { display: grid; gap: .28rem; min-width: 0; }
.admin-field span { font-weight: 700; }
.admin-field input, .admin-field textarea, .admin-field select { width: 100%; min-width: 0; min-height: 2.55rem; padding: .48rem .55rem; border: 1px solid var(--ink); border-radius: .45rem; background: var(--paper); color: var(--ink); font: inherit; }
.admin-field textarea { resize: vertical; }
.admin-field input[type="file"] { border-style: dashed; }
.admin-field small, .admin-existing { font-size: .85rem; overflow-wrap: anywhere; }
.admin-existing .button { margin-inline-start: .4rem; text-align: start; }
.admin-field-pair { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; align-items: start; }
.admin-check { font-size: .9rem; }
.admin-preview { width: min(9rem, 100%); max-height: 7rem; object-fit: contain; padding: .35rem; background: var(--lavender); border-radius: .5rem; }
.admin-notice, .admin-error { padding: .65rem .85rem; border: 1px solid var(--ink); border-radius: .45rem; }
.admin-notice { background: var(--lavender); margin-bottom: 1rem; }
.admin-error { font-weight: 700; }
.stats-page, .stats-block { display: grid; gap: 1rem; }
.stats-block h2 { font-size: clamp(1.05rem, 2vw, 1.45rem); }
.stats-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.stats-filter, .stats-pagination { display: flex; flex-wrap: wrap; align-items: end; gap: .55rem; }
.stats-filter { justify-content: space-between; }
.stats-pagination [aria-current] { background: var(--lavender); }
.stats-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr)); gap: .65rem; margin: 0; }
.stats-metrics > div { display: grid; align-content: start; gap: .3rem; padding: .7rem; border: 1px solid var(--ink); border-radius: .6rem; }
.stats-metrics dt { font-size: .82rem; font-weight: 700; }
.stats-metrics dd { margin: 0; font-size: 1.35rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.admin-table-scroll { overflow-x: auto; max-width: 100%; }
.admin-table { width: 100%; border-collapse: collapse; text-align: start; font-size: .87rem; font-variant-numeric: tabular-nums; }
.admin-table th, .admin-table td { border-bottom: 1px solid var(--ink); padding: .6rem .55rem; text-align: start; }
.admin-table thead { background: var(--lavender); }
.admin-table td { white-space: nowrap; }
@media (max-width: 44rem) {
  .admin-layout, .stats-columns { grid-template-columns: 1fr; }
}
