.admin-shell, .admin-access-wrap { color: var(--bone, #f4f1f0); }
.admin-shell { width: min(100% - 32px, 1240px); margin: 0 auto; padding: 36px 0 72px; }
.admin-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; padding: 20px 0 28px; border-bottom: 1px solid var(--line, #393332); }
.admin-heading h1, .admin-access-card h1 { margin: 0; font: 600 clamp(36px, 6vw, 56px)/.96 "Barlow Condensed", sans-serif; }
.admin-heading p:not(.admin-eyebrow), .admin-access-card > p:not(.admin-eyebrow) { max-width: 680px; color: var(--bone-2, #bdb6b4); line-height: 1.6; }
.admin-eyebrow { margin: 0 0 12px; color: #e56a65; font: 500 10px/1.4 "IBM Plex Mono", monospace; letter-spacing: .14em; text-transform: uppercase; }
.admin-back { color: #f26a64; font: 500 11px/1.4 "IBM Plex Mono", monospace; text-decoration: none; white-space: nowrap; }
.admin-back:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.admin-tabs { display: flex; gap: 5px; overflow-x: auto; border-bottom: 1px solid var(--line, #393332); padding: 12px 0; }
.admin-tabs a { flex: 0 0 auto; padding: 10px 13px; color: #aaa3a1; font: 500 10px/1.3 "IBM Plex Mono", monospace; text-decoration: none; }
.admin-tabs a:hover, .admin-tabs a[aria-current="page"] { color: #fff; background: #231817; }
.admin-overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; padding: 24px 0; }
.admin-stat { display: grid; gap: 12px; min-height: 140px; border: 1px solid #393332; padding: 18px; background: #11100f; color: #f4f1f0; text-decoration: none; }
.admin-stat:hover { border-color: #b5322c; }
.admin-stat span, .admin-stat small { color: #aaa3a1; font: 500 10px/1.5 "IBM Plex Mono", monospace; }
.admin-stat strong { font: 600 36px/1 "Barlow Condensed", sans-serif; }
.admin-notice { border-left: 3px solid #c8322d; padding: 14px 16px; background: #171211; color: #c5bfbd; font-size: 13px; line-height: 1.55; }
.admin-notice b { color: #fff; }
.admin-list-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; padding: 24px 0 14px; }
.admin-list-head h2 { margin: 0; font: 600 30px/1 "Barlow Condensed", sans-serif; }
.admin-upload { margin: 6px 0 20px; padding: 16px; border: 1px solid #393332; }
.admin-upload summary { cursor: pointer; font-weight: 600; }
.admin-upload form { display: grid; gap: 14px; margin-top: 18px; max-width: 640px; }
.admin-upload label { display: grid; gap: 7px; color: #c7c0be; font-size: 13px; }
.admin-upload input, .admin-upload select { width: 100%; min-width: 0; padding: 10px 12px; border: 1px solid #494341; background: #090909; color: #f4f1f0; font: inherit; }
.admin-upload button { justify-self: start; }
#admin-search { display: flex; gap: 8px; }
#admin-query, .admin-detail input, .admin-detail textarea, #admin-access-code { width: 100%; min-width: 0; border: 1px solid #494341; border-radius: 0; padding: 10px 12px; background: #090909; color: #f4f1f0; font: 400 13px/1.5 "Barlow", sans-serif; }
#admin-query { width: min(320px, 52vw); }
.admin-detail input:focus, .admin-detail textarea:focus, #admin-query:focus, #admin-access-code:focus { outline: 2px solid #c8322d; outline-offset: 1px; }
.admin-table-wrap { overflow: auto; border: 1px solid #393332; }
.admin-table { width: 100%; min-width: 820px; border-collapse: collapse; font-size: 12px; }
.admin-table th { padding: 11px 12px; background: #171514; color: #aaa3a1; text-align: left; font: 500 9px/1.4 "IBM Plex Mono", monospace; letter-spacing: .07em; text-transform: uppercase; }
.admin-table td { max-width: 330px; border-top: 1px solid #302d2c; padding: 12px; vertical-align: top; color: #d8d1cf; }
.admin-table td b, .admin-table td small { display: block; }
.admin-table td small { margin-top: 4px; color: #8f8987; overflow-wrap: anywhere; }
.admin-table details pre, .admin-detail details pre { max-width: 900px; max-height: 440px; overflow: auto; color: #c6bfbd; white-space: pre-wrap; overflow-wrap: anywhere; }
.admin-pill { display: inline-block; border: 1px solid #71403d; border-radius: 999px; padding: 3px 8px; color: #f08a83; font: 500 9px/1.3 "IBM Plex Mono", monospace; text-transform: uppercase; }
.admin-button, .admin-primary { display: inline-flex; min-height: 36px; align-items: center; justify-content: center; border: 1px solid #494341; padding: 8px 11px; background: #151312; color: #f3efed; cursor: pointer; font: 600 10px/1.3 "IBM Plex Mono", monospace; text-decoration: none; }
.admin-button:hover { border-color: #c8322d; color: #fff; }
.admin-button:disabled, .admin-primary:disabled { opacity: .45; cursor: not-allowed; }
.admin-primary { min-height: 42px; border-color: #c8322d; background: #aa211d; color: #fff; }
.admin-primary:hover { background: #c9322c; }
.admin-pager { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 0; color: #aaa3a1; font: 400 10px/1.4 "IBM Plex Mono", monospace; }
.admin-pager > div { display: flex; gap: 8px; }
.admin-empty, .admin-loading { color: #aaa3a1; padding: 22px !important; }
.admin-detail { margin: 20px 0 0; border: 1px solid #494341; padding: clamp(16px, 3vw, 28px); background: #11100f; }
.admin-detail-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.admin-detail h3 { margin: 0; font: 600 26px/1 "Barlow Condensed", sans-serif; }
.admin-detail form { display: grid; gap: 14px; margin: 20px 0; }
.admin-detail label, .admin-access-card label { display: grid; gap: 7px; color: #c7c0be; font: 500 10px/1.3 "IBM Plex Mono", monospace; text-transform: uppercase; }
.admin-detail textarea { min-height: 200px; resize: vertical; font: 12px/1.5 "IBM Plex Mono", monospace; text-transform: none; }
.admin-detail .admin-check { display: flex; align-items: center; gap: 10px; }
.admin-detail .admin-check input { width: 18px; min-height: 18px; accent-color: #b52a25; }
.admin-detail > .admin-button { margin-top: 8px; border-color: #6a3431; color: #f08a83; }
.admin-detail-actions { display: flex; gap: 8px; margin: 10px 0 18px; }
.admin-detail summary { padding: 9px 0; color: #e8e3e1; cursor: pointer; font: 500 11px/1.4 "IBM Plex Mono", monospace; }
.admin-muted { color: #99918f; font-size: 12px; line-height: 1.55; }
.admin-success { border-left: 3px solid #5d9d70; padding: 12px 14px; color: #bce1c6; background: #101a13; }
.admin-error { border-left: 3px solid #d04a44; padding: 10px 12px; color: #f4b4b0; background: #211211; font-size: 13px; }
.admin-access-wrap { min-height: 65vh; display: grid; place-items: center; padding: 36px 18px; }
.admin-access-card { width: min(100%, 460px); border: 1px solid #393332; padding: clamp(24px, 6vw, 42px); background: #11100f; }
.admin-access-card .admin-back { display: inline-block; margin-bottom: 34px; }
.admin-access-card > p:not(.admin-eyebrow) { margin-bottom: 24px; }
#admin-access-form { display: grid; gap: 12px; }
#admin-access-code { min-height: 46px; font: 500 18px/1.2 "IBM Plex Mono", monospace; letter-spacing: .2em; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
@media (max-width: 680px) {
  .admin-shell { width: min(100% - 24px, 1240px); padding-top: 20px; }
  .admin-heading { align-items: flex-start; flex-direction: column; }
  .admin-heading .admin-back { align-self: flex-end; }
  .admin-list-head { align-items: stretch; flex-direction: column; }
  #admin-search, #admin-query { width: 100%; }
  .admin-detail-head { align-items: flex-start; }
}
