.screen--admin { width: min(100%, 1280px) !important; }
.cms-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.cms-toolbar .chip[aria-pressed=true] { color: var(--ink); border-color: var(--line-strong); background: var(--card-hover); }
.cms-message { font-size: 14px; line-height: 1.6; padding: 12px 16px; background: var(--bg-raised); border-left: 2px solid var(--cta); border-radius: 4px; }
.cms-message:empty { display: none; }
.cms-message.is-error { border-color: var(--rose); }
.cms-workspace { display: grid; grid-template-columns: 290px minmax(0,1fr); gap: 32px; align-items: start; }
.cms-sidebar { min-width: 0; }
.cms-archive-toggle { margin: 14px 0; font-size: 13px; }
.cms-item { display: flex; flex-direction: column; gap: 12px; width: 100%; text-align: left; padding: 18px 14px; border-bottom: 1px solid var(--line); border-left: 2px solid transparent; }
.cms-item strong { display: block; font-size: 14px; font-weight: 500; overflow-wrap: anywhere; }
.cms-item small { display: block; font-size: 12px; color: var(--ink-4); margin-top: 5px; }
.cms-item:hover, .cms-item.is-selected { background: var(--bg-raised); }
.cms-item.is-selected { border-left-color: var(--cta); }
.cms-status { color: var(--ink-4); font-size: 11px; border: 1px solid var(--line); border-radius: 4px; padding: 3px 8px; width: fit-content; }
.cms-status.is-live { color: var(--cta); }
.cms-editor { border: 1px solid var(--line); border-radius: 12px; padding: 28px; min-width: 0; }
.cms-editor-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.cms-editor h2, .cms-empty-editor h2 { font-family: var(--font-serif); font-size: 32px; font-weight: 500; line-height: 1.1; }
.cms-help, .cms-empty { font-size: 12px; line-height: 1.6; color: var(--ink-4); margin-top: 10px; }
.cms-empty-editor { padding: 40px 20px; text-align: center; }
.cms-empty-editor p { max-width: 38ch; margin: 16px auto; color: var(--ink-4); line-height: 1.7; }
.cms-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-top: 26px; }
.cms-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.cms-field > span, .cms-label { font-size: 13px; color: var(--ink-2); }
.cms-field textarea { min-height: 120px; }
.cms-span { grid-column: 1/-1; }
.cms-check { display: flex; gap: 10px; align-items: center; font-size: 13px; color: var(--ink-3); }
.cms-check input { width: 18px; height: 18px; accent-color: var(--cta); flex: none; }
.cms-upload-row { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin-top: 10px; }
.cms-upload-label { position: relative; cursor: pointer; }
.cms-upload-label input { position: absolute; inset: 0; opacity: 0; width: 100%; cursor: pointer; }
.cms-upload-label:focus-within { outline: 2px solid var(--line-strong); outline-offset: 3px; }
.cms-preview-label { font-size: 11px; letter-spacing: .02em; color: var(--ink-4); margin-bottom: 10px; }
.cms-preview-card { border: 1px solid var(--line); border-radius: 8px; overflow: hidden; background: var(--bg); }
.cms-preview-card > img { width: 100%; max-height: 240px; object-fit: contain; background: var(--bg-deep); }
.cms-preview-card > div { padding: 22px; }
.cms-preview-card small { color: var(--ink-4); font-size: 12px; }
.cms-preview-card h2 { margin-top: 8px; overflow-wrap: anywhere; }
.cms-preview-card p { font-size: 14px; line-height: 1.65; color: var(--ink-4); margin-top: 8px; overflow-wrap: anywhere; }
.cms-preview-body { white-space: pre-wrap; }
.cms-form-actions, .cms-secondary-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.cms-form-actions .btn { flex: 1; }
.cms-secondary-actions { border-top: 1px solid var(--line); margin-top: 22px; padding-top: 12px; justify-content: space-between; }
.cms-secondary-actions .text-link { font-size: 12px; }
.content-notice { padding: 16px; border: 1px solid var(--line); border-radius: 8px; font-size: 14px; line-height: 1.6; color: var(--ink-3); }
.content-notice .text-link { margin-top: 4px; }
.gallery-image { width: 100%; height: 100%; object-fit: cover; }
.lightbox-art .gallery-image { object-fit: contain; }
@media (max-width: 899px) {
  .cms-toolbar { flex-direction: column; align-items: stretch; gap: 8px; }
  .cms-workspace { grid-template-columns: 1fr; gap: 24px; }
  #cmsList { display: flex; overflow-x: auto; gap: 8px; padding-bottom: 8px; }
  .cms-item { min-width: 210px; width: 210px; flex: none; border: 1px solid var(--line); border-radius: 6px; }
  .cms-item.is-selected { border-color: var(--cta); }
  .cms-editor { padding: 20px; }
  .cms-form { grid-template-columns: 1fr; gap: 18px; }
  .cms-editor-heading { flex-direction: column; align-items: flex-start; gap: 8px; }
}
.gallery-open { display: block; position: relative; width: 100%; height: 100%; }
.gallery-open .gallery-tile__label { padding-right: 55px; }
.gallery-fav { position: absolute; right: 7px; bottom: 5px; display: grid; place-items: center; width: 44px; height: 44px; color: #f3f0e8; z-index: 2; }
.gallery-fav svg { width: 18px; height: 18px; }
.gallery-fav.is-on { color: var(--warm); }
.gallery-description { white-space: pre-wrap; color: var(--ink-3); font-size: 15px; line-height: 1.7; margin-block: 20px; }
.bio-footer { flex-wrap: wrap; }
.bio-feature__title, .bio-link__title, .shelf-row strong { overflow-wrap: anywhere; }
.gallery-cover-image { display: block; width: 100%; aspect-ratio: 1.5; object-fit: cover; border-radius: 6px; }
.gallery-coming { display: flex !important; flex-direction: column; align-items: center !important; justify-content: center !important; aspect-ratio: 1.5; background: var(--bg-raised); border: 1px solid var(--line); border-radius: 6px; font-family: var(--font-serif); font-size: 26px !important; color: var(--ink-2); margin: 0 !important; gap: 6px; }
.gallery-coming small { font-family: var(--font-sans); font-size: 11px; color: var(--ink-4); }

/* A sound draft previews as the file itself: she should hear it before
   anyone else can. */
.cms-preview-sound audio {
  width: 100%;
  margin-top: 12px;
  border-radius: var(--r-pill);
}
.cms-preview-sound .cms-help { margin-top: 8px; }
