/* Only the administrative surface changes. Public and member layouts retain their styles. */
/* Admin steps scroll to their own controls: keep the public-looking masthead
   in normal flow here, rather than covering the editor as a fixed overlay. */
body.admin-app #site-header { position: static; }
body.admin-app .layout { padding-top: 0; }
#view-admin { --muted: #666; max-width: 720px; color: #0f0f0f; }
#view-admin *, #view-admin *::before, #view-admin *::after { box-sizing: border-box; }
#view-admin .admin-heading { font-size: 21px; line-height: 1.5; }
#view-admin .admin-sub, #view-admin .admin-imgstatus, #view-admin .adm-toolbar-note,
#view-admin .adm-card-note, #view-admin .admin-check, #view-admin .admin-preview-label { color: #666; font-size: 13px; }
#view-admin .form-input, #view-admin .form-textarea, #view-admin select { font-size: 16px; min-height: 48px; max-width: 100%; }
#view-admin .form-textarea { line-height: 1.85; resize: vertical; }
#view-admin button, #view-admin .admin-btn, #view-admin summary { min-height: 44px; font-weight: 400; touch-action: manipulation; }
#view-admin .admin-btn { display: inline-flex; justify-content: center; align-items: center; text-decoration: none; }
#view-admin .admin-btn.primary { color: #f5f3ef; background: #0f0f0f; }
#view-admin .admin-tabs { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); overflow: visible; gap: 0; margin: 20px 0; }
#view-admin .admin-tab { min-width: 0; min-height: 48px; padding: 10px 4px; font-size: 13px; }
#view-admin .admin-tab.active { color: #0f0f0f; }
#view-admin .adm-card { border-color: #e0ddd7; border-radius: 2px; background: transparent; }
#view-admin .adm-card > summary { padding: 14px 16px; font-size: 14px; }
#view-admin .adm-card-b { padding: 16px; min-width: 0; }
#view-admin .admin-row > *, #view-admin .admin-btns > * { min-width: 0; }
#view-admin .admin-imgbar { gap: 8px; }
#view-admin .admin-check { min-height: 44px; margin: 8px 0; }
#view-admin .admin-check input { min-width: 20px; height: 20px; }
#view-admin .admin-local-note { margin: 10px 0 18px; font-size: 12px; line-height: 1.7; color: #666; }
#view-admin .admin-save-status { display: block; font-size: 13px; color: #666; min-height: 24px; }
#view-admin .admin-save-status.err { color: #a12b23; }
/* The admin workspace changes in place; public-page entrance effects do not apply. */
body.admin-app #view-admin.active > *,
body.admin-app.booted .layout, body.admin-app.booted #site-header { animation: none; }
#view-admin .admin-draft-location { margin: 0 0 4px; font-size: 12px; line-height: 1.7; color: #666; }
#view-admin .admin-draft-bar { margin: 0 0 20px; }
#view-admin .admin-draft-bar .admin-save-status { font-size: 12px; line-height: 1.7; }
#view-admin .admin-draft-menu > summary { display: flex; align-items: center; gap: 8px; width: fit-content; font-size: 12px; color: #666; cursor: pointer; }
#view-admin .admin-draft-menu > summary::after { content: '+'; }
#view-admin .admin-draft-menu[open] > summary::after { content: '−'; }
#view-admin .admin-draft-menu > summary::-webkit-details-marker { display: none; }
#view-admin .admin-draft-menu .admin-local-note { margin: 0 0 12px; }
#view-admin .admin-compose-work { margin: 0 0 28px; padding-bottom: 24px; border-top: 1px solid #e0ddd7; border-bottom: 1px solid #e0ddd7; }
#view-admin .admin-step-nav { position: fixed; bottom: var(--admin-keyboard-inset, 0px); left: 50%; transform: translateX(-50%); z-index: 10; width: calc(100% - 40px); max-width: 720px; display: grid; grid-template-columns: 72px 1fr 72px; align-items: center; gap: 12px; padding: 8px 0 calc(8px + env(safe-area-inset-bottom, 0px)); margin: 0; background: #f5f3ef; border-top: 1px solid #e0ddd7; }
#view-admin .admin-step-nav button { border: 0; padding: 0; color: #0f0f0f; background: transparent; font: inherit; font-size: 13px; cursor: pointer; }
#view-admin #admin-step-back { grid-column: 1; text-align: left; }
#view-admin #admin-step-progress { grid-column: 2; grid-row: 1; text-align: center; font-size: 13px; }
#view-admin #admin-step-next { grid-column: 3; grid-row: 1; text-align: right; }
#view-admin #admpane-compose { padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px)); }
#view-admin .admin-step-panels { display: flow-root; overflow-anchor: none; }
#view-admin .admin-step-panels input, #view-admin .admin-step-panels textarea { scroll-margin-top: 24px; scroll-margin-bottom: 88px; }
#view-admin .admin-step-panels > [data-compose-step] { display: flow-root; min-width: 0; }
#view-admin .admin-step-title { margin: 24px 0; font-size: 18px; line-height: 1.5; font-weight: 400; }
#view-admin .admin-step-title:focus { outline: none; }
#view-admin .admin-step-panels .adm-card-b { padding: 0; }
#view-admin .admin-step-panels .admin-preview { height: 520px; max-height: 65svh; min-height: 300px; }
#view-admin .admin-expiry { border: 1px solid #a12b23; padding: 14px; margin: 16px 0; color: #a12b23; font-size: 14px; line-height: 1.75; }
#view-admin .admin-expiry a { color: inherit; display: inline-block; min-height: 44px; padding-top: 10px; }
#view-admin .admin-status { line-height: 1.8; overflow-wrap: anywhere; }
#view-admin .admin-press-row { display: grid !important; grid-template-columns: 1fr auto auto; gap: 8px !important; padding: 16px 0 !important; align-items: start !important; }
#view-admin .admin-press-row > a { grid-column: 1 / -1; font-size: 15px !important; line-height: 1.8; overflow-wrap: anywhere; }
#view-admin .admin-press-row > span { font-size: 12px !important; }
#view-admin .admin-press-row > span:nth-child(2) { grid-column: 2 / -1; text-align: right; }
#view-admin .admin-press-row > button { grid-row: 3; font-size: 13px !important; }
#view-admin .admin-press-row > button:first-of-type { grid-column: 2; }
#view-admin .admin-press-row > button:last-of-type { grid-column: 3; }
#view-admin :focus-visible { outline: 2px solid #0f0f0f; outline-offset: 3px; }
#view-admin [hidden] { display: none !important; }
#admin-send-dialog { width: min(440px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow: auto; border: 1px solid #e0ddd7; border-radius: 2px; padding: 24px; background: #f5f3ef; color: #0f0f0f; font: inherit; }
#admin-send-dialog::backdrop { background: rgba(15,15,15,.45); }
#admin-send-dialog h2 { font-size: 19px; font-weight: 400; margin: 0 0 20px; }
#admin-send-dialog p { line-height: 1.8; font-size: 14px; overflow-wrap: anywhere; }
#admin-send-dialog button { min-height: 48px; font: inherit; font-size: 14px; width: 100%; margin-top: 10px; border: 1px solid #0f0f0f; background: transparent; color: #0f0f0f; border-radius: 2px; cursor: pointer; }
#admin-send-dialog button.primary { background: #0f0f0f; color: #f5f3ef; }
@media (max-width: 480px) {
  #view-admin .adm-head { align-items: center; }
  #view-admin .admin-tab { text-align: center; padding: 10px 4px; }
  #view-admin .adm-card-b { padding: 14px; }
  #view-admin .admin-btns > .admin-btn { flex: 1 1 120px; }
  #view-admin .admin-preview { height: 62vh; min-height: 340px; }
  #view-admin .admin-row { gap: 12px; }
  #view-admin .admin-row .form-field { flex-basis: 100% !important; }
  #view-admin #adm-archive-btn { margin-left: 0 !important; }
}
