.admin-main {
  padding-block: 35px 70px;
}
.admin-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.admin-heading h1 {
  font-size: 52px;
}
.admin-intro {
  color: var(--muted);
  margin-top: 16px;
}
.admin-testing,
.admin-success,
.admin-error {
  padding: 15px 18px;
  border-radius: 5px;
  font-size: 13px;
  margin-block: 24px;
}
.admin-testing {
  background: #eee7d3;
  border: 1px solid #daccaa;
}
.admin-success {
  background: #e9edda;
  border: 1px solid #c6d0ad;
}
.admin-error {
  background: #fae6df;
  border: 1px solid #e4b6a8;
}
.tier-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-block: 28px;
}
.tier-stats > div {
  padding: 20px;
  background: #eeefe3;
  border: 1px solid var(--line);
  border-radius: 6px;
}
.tier-stats strong {
  font-family: var(--serif);
  font-size: 36px;
  font-weight: 400;
}
.tier-stats small {
  font-size: 20px;
  color: var(--muted);
}
.tier-stats > div > p:last-child {
  font-size: 11px;
  color: var(--muted);
}
.admin-workspace {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 35px;
  align-items: start;
}
.admin-list-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.admin-list-heading span {
  font-size: 12px;
  color: var(--muted);
}
.admin-list h2,
.admin-editor h2 {
  font-size: 30px;
  margin-bottom: 18px;
}
.admin-help {
  font-size: 11px;
  color: var(--muted);
  margin-block: 12px 20px;
}
.admin-tier {
  border: 1px solid var(--line);
  border-radius: 5px;
  margin-bottom: 14px;
  overflow: hidden;
}
.admin-tier summary {
  padding: 15px;
  background: #eeefe3;
  cursor: pointer;
  font-weight: 600;
  font-size: 13px;
}
.admin-tier summary span {
  font-size: 10px;
  font-weight: 400;
  margin-left: 10px;
  color: var(--muted);
}
.admin-tier ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.admin-tier li + li {
  border-top: 1px solid var(--line);
}
.admin-tier a {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 12px;
  background: #fffdf8;
}
.admin-tier a[aria-current="true"] {
  background: #e4eacb;
}
.admin-tier img {
  object-fit: contain;
  border-radius: 2px;
  flex-shrink: 0;
}
.admin-tier strong {
  font-size: 12px;
  font-weight: 600;
}
.admin-tier small {
  display: block;
  font-size: 10px;
  color: var(--muted);
}
.admin-row-status {
  margin-left: auto;
  text-align: right;
  font-size: 11px;
}
.admin-editor {
  background: white;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 26px;
  scroll-margin-top: 20px;
}
.admin-editor label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 15px;
}
.admin-editor input:not([type="checkbox"]),
.admin-editor textarea,
.admin-editor select {
  display: block;
  width: 100%;
  margin-top: 6px;
  padding: 11px;
  border: 1px solid #cfd3c7;
  border-radius: 4px;
  min-height: 44px;
  font-size: 13px;
  color: var(--ink);
  background: var(--paper);
}
.admin-editor input[type="file"] {
  font-size: 11px;
}
.admin-editor textarea {
  resize: vertical;
}
.admin-editor small {
  font-size: 10px;
  font-weight: 400;
  color: var(--muted);
  display: block;
  margin-top: 5px;
}
.admin-field-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}
.admin-cover-preview {
  object-fit: contain;
  border-radius: 3px;
  margin-bottom: 14px;
}
.admin-editor .checkbox-label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 400;
  font-size: 12px;
}
.checkbox-label input {
  width: 18px;
  height: 18px;
}
.admin-editor .text-link {
  margin-left: 18px;
}
@media (max-width: 900px) {
  .admin-workspace {
    grid-template-columns: 1fr;
  }
  .tier-stats {
    grid-template-columns: repeat(2, 1fr);
  }
  .admin-editor {
    max-width: 700px;
  }
}
@media (max-width: 560px) {
  .admin-heading {
    align-items: start;
    flex-direction: column;
  }
  .admin-heading h1 {
    font-size: 40px;
  }
  .admin-main {
    padding-top: 15px;
  }
  .tier-stats {
    gap: 10px;
  }
  .tier-stats > div {
    padding: 14px;
  }
  .tier-stats .eyebrow {
    font-size: 8px;
  }
  .admin-field-pair {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .admin-editor {
    padding: 20px;
  }
  .admin-tier summary span {
    display: block;
    margin-left: 18px;
  }
  .header-inner .button {
    font-size: 10px;
    gap: 6px;
    padding: 8px;
  }
  .header-inner .brand {
    font-size: 21px;
  }
}

.auth-main { max-width: 640px; padding-block: 48px 80px; }
.auth-main h1 { font-size: clamp(32px, 7vw, 48px); }
.auth-main form { display: grid; gap: 18px; margin-block: 24px; }
.auth-main .button { justify-self: start; }
.auth-uid { overflow-wrap: anywhere; padding: 12px; background: var(--cream); }
#auth-status { overflow-wrap: anywhere; }

.admin-advanced { border: 1px solid var(--line); border-radius: 4px; margin: 20px 0; }
.admin-advanced summary, .admin-categories > summary { cursor: pointer; padding: 14px; font-size: 13px; font-weight: 600; }
.admin-advanced-fields { padding: 18px 15px 0; }
.admin-slug { font-size: 11px; color: var(--muted); margin: 0 0 18px; overflow-wrap: anywhere; }
.admin-tier li, .admin-categories li { display: flex; align-items: center; gap: 4px; background: #fffdf8; }
.admin-tier li a { flex: 1; min-width: 0; }
.drag-handle, .sort-controls button { border: 1px solid var(--line); background: var(--paper); border-radius: 4px; min-width: 30px; min-height: 36px; color: var(--ink); }
.drag-handle { cursor: grab; touch-action: none; margin-left: 6px; font-size: 20px; }
.drag-handle:active { cursor: grabbing; }
.sort-controls { display: flex; flex-direction: column; gap: 3px; padding: 5px; }
.sort-controls button { cursor: pointer; }
.is-dragging { opacity: .6; outline: 2px solid var(--ink); }
[data-sort-list="books"] { min-height: 48px; }
[data-sort-list="books"]:empty::before { content: 'Drop a cookbook here'; display: block; padding: 16px; color: var(--muted); font-size: 12px; }
.admin-categories { margin-top: 28px; max-width: 700px; scroll-margin-top: 20px; }
.admin-categories ul { list-style: none; padding: 0; margin-bottom: 18px; }
.admin-categories li { border-bottom: 1px solid var(--line); padding: 6px 0; }
.admin-categories li label { flex: 1; margin: 0 8px; }
.admin-categories input[readonly] { color: var(--muted); }
button:disabled { opacity: .5; cursor: wait; }

.admin-library-search { background: #eeefe3; border: 1px solid var(--line); border-radius: 6px; padding: 22px; margin-top: 28px; }
.admin-library-search h2 { font-family: var(--serif); font-size: 25px; font-weight: 400; margin-bottom: 8px; }
.admin-library-search p { font-size: 12px; color: var(--muted); }
.admin-review-notice { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.admin-library-search form { display: flex; gap: 10px; margin-top: 16px; }
.admin-library-search input, .library-filters input, .library-filters select { min-height: 44px; border: 1px solid #cfd3c7; border-radius: 4px; background: #fffdf8; padding: 11px; color: var(--ink); font-size: 13px; width: 100%; }
.admin-library-search input { flex: 1; min-width: 0; }
.admin-search-results { list-style: none; margin: 18px 0 0; padding: 0; }
.admin-search-results a { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 12px 0; border-top: 1px solid var(--line); font-size: 13px; }
.admin-search-results span { color: var(--muted); font-size: 12px; }
.library-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 14px; padding: 22px; background: #eeefe3; border: 1px solid var(--line); border-radius: 6px; margin: 28px 0; }
.library-filters label { font-size: 12px; font-weight: 600; flex: 1 1 140px; }
.library-filters label:first-child { flex: 2 1 240px; }
.library-filters input, .library-filters select { display: block; margin-top: 7px; }
.library-filters > a { font-size: 12px; padding: 14px 4px; }
.library-table-window { overflow-x: auto; border: 1px solid var(--line); border-radius: 6px; background: #fffdf8; }
.library-table { border-collapse: collapse; width: 100%; min-width: 850px; text-align: left; font-size: 12px; }
.library-table th, .library-table td { padding: 16px; border-bottom: 1px solid var(--line); }
.library-table thead th { background: #eeefe3; font-size: 11px; white-space: nowrap; }
.library-table thead a { display: flex; align-items: center; gap: 8px; }
.library-table thead .fa-icon { opacity: .3; }
.library-table th[aria-sort] .fa-icon { opacity: 1; }
.library-table tbody tr:hover { background: #f0f3e5; }
.library-book { display: flex; align-items: center; gap: 12px; min-width: 190px; font-weight: 600; }
.library-book img { object-fit: contain; border-radius: 3px; }
.library-book small { display: block; color: var(--muted); font-weight: 400; margin-top: 5px; }
.library-status { display: inline-block; padding: 5px 9px; border-radius: 20px; background: #ece7da; font-size: 10px; }
.library-status.is-published { background: #e4eacb; }
@media (max-width: 560px) {
  .admin-review-notice { flex-direction: column; align-items: start; }
  .admin-library-search { padding: 18px; }
  .admin-library-search form { flex-wrap: wrap; }
  .admin-library-search input { flex-basis: 100%; }
  .library-filters { padding: 18px; }
}

.cover-drop-zone { margin: 20px 0; padding: 18px; border: 2px dashed #a4ad99; border-radius: 8px; background: #f6f7f1; }
.cover-drop-zone.is-dragging, .cover-drop-zone:focus-within { border-color: #465d38; background: #e9edda; }
.cover-drop-zone label { margin-top: 0; }
.cover-drop-zone [data-cover-preview] { width: 160px; height: 224px; object-fit: contain; margin: 12px auto; }
.cover-drop-zone [data-cover-preview]:not([hidden]) { display: block; }
.amazon-import-preview { margin-top: 16px; padding: 16px; border: 1px solid #a4ad99; border-radius: 6px; }
.amazon-import-preview dt { font-weight: 700; margin-top: 12px; }
.amazon-import-preview dd { margin: 4px 0 12px; overflow-wrap: anywhere; white-space: pre-line; max-height: 220px; overflow-y: auto; }

[data-import-cover] { object-fit: contain; margin: 10px 0; }
.library-editor [data-import-source] { overflow-wrap: anywhere; }

.book-wizard [hidden], .book-wizard-mode > [hidden] { display: none !important; }
.wizard-heading, .wizard-actions, .wizard-choices { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.wizard-heading { justify-content: space-between; margin-bottom: 18px; }
.book-wizard h3 { font-size: 28px; margin-bottom: 22px; }
.wizard-choices { margin-bottom: 22px; }
.wizard-actions { margin-top: 24px; }
.book-wizard-mode small, .book-wizard-mode .admin-help, .book-wizard-mode .admin-slug, .book-wizard-mode .library-editor > summary { display: none; }
.book-wizard-mode .library-editor { border: 0; padding: 0; }
.book-wizard-mode .library-editor [data-import-description] { max-height: 110px; }
.book-wizard-mode [data-cover-status] { display: block; }
.book-wizard-mode .cover-drop-zone label::after { content: 'JPEG, PNG, or WebP · up to 5 MB'; display: block; margin-top: 8px; font-size: 12px; color: var(--muted); }
.book-wizard-mode .author-agreement p { display: none; }
.book-wizard-mode [data-import-source] { font-size: 12px; }
@media (max-width: 500px) { .wizard-choices .button { width: 100%; } }

.book-wizard-mode label:has(select[name="status"]) { display: none; }

.book-wizard-mode .author-agreement .checkbox-label { display: block; }
.book-wizard-mode .author-agreement input { margin-right: 8px; }

.book-wizard-mode [data-library-status], .book-wizard-mode [data-amazon-status] { display: block; }
.book-wizard-mode label:has([data-import-use-cover]:disabled) { display: none; }

.admin-editor:has(form.book-wizard-mode) > h2 { display: none; }
.wizard-cover-current { display: block; width: 160px; height: 224px; object-fit: contain; margin: 0 auto 18px; }

.editor-placement { margin: 18px 0 24px; padding: 14px; background: #eeefe3; border: 1px solid var(--line); border-radius: 5px; }
.editor-placement ul { padding: 0; margin: 0 0 16px; list-style: none; }
.promotion-book { display: flex; align-items: center; gap: 4px; background: #fffdf8; }
.promotion-book > a { flex: 1; min-width: 0; display: flex; align-items: center; gap: 12px; padding: 12px; }
.promotion-book strong { font-size: 12px; overflow-wrap: anywhere; }
.promotion-book small { display: block; font-size: 10px; color: var(--muted); }
.promotion-book img { object-fit: contain; flex-shrink: 0; }
.remove-promotion { border: 0; background: transparent; color: #9c352e; cursor: pointer; min-width: 34px; min-height: 44px; margin-right: 4px; }
.remove-promotion:hover { background: #fae7e3; }
.promotion-book [hidden] { display: none !important; }
.remove-promotion:focus-visible { outline: 2px solid #626e36; outline-offset: 2px; }
.placement-enhanced form label:has([name="promotion_tier"]) { display: none; }

[data-sort-list="books"].is-drop-target { outline: 2px dashed #626e36; outline-offset: -2px; background: #e4eacb; }

.admin-categories li{flex-wrap:wrap}.admin-categories li>label:has(textarea){flex-basis:100%}.admin-categories textarea{width:100%;min-width:0}
