/* The same paper, charcoal and brick-red system as the public and learning pages. */
.admin-page { --admin-muted: #71665b; color: var(--client-ink); }
.admin-page .admin-head { min-height: 138px; padding: 28px 32px; border-radius: 4px; background: var(--client-paper); box-shadow: none; align-items: center; }
.admin-page .admin-head::before { height: 3px; background: var(--client-red); }
.admin-page .admin-head h1 { margin: 9px 0 8px; color: var(--client-red); font-size: 32px; font-weight: 650; letter-spacing: .01em; }
.admin-page .admin-head .eyebrow { color: #937550; font-size: 10px; letter-spacing: .16em; }
.admin-page .admin-head .eyebrow::before { background: #bd975f; }
.admin-page .admin-head p { font-size: 13px; color: var(--admin-muted); }
.admin-head-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 12px; }
.admin-head-actions .admin-build { flex-basis: 100%; color: #8b7a68; font-size: 11px; text-align: right; }
.admin-page .admin-head .role-chip { max-width: 260px; border-color: var(--client-line); border-radius: 3px; background: var(--client-warm); color: #6f5840; }
.admin-page .admin-tabs { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 0; padding: 0; margin-top: 16px; border: 1px solid var(--client-line); border-radius: 4px; background: var(--client-paper); box-shadow: none; overflow: visible; }
.admin-page .admin-tabs button { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 58px; padding: 12px 6px; border-radius: 0; font-size: 14px; font-weight: 600; color: #62584e; }
.admin-tab-number { color: #a6927e; font-size: 10px; font-weight: 400; letter-spacing: .04em; }
.admin-page .admin-tabs button.active { color: var(--client-red); background: #f8f0e9; box-shadow: inset 0 -2px var(--client-red); }
.admin-page .admin-tabs button.active .admin-tab-number { color: var(--client-red); }
.admin-page .admin-tabs button:hover { background: #f8f3ec; color: var(--client-red); }
.admin-page .admin-content { margin-top: 22px; }
.admin-page .admin-content .panel { border-radius: 4px; box-shadow: none; background: var(--client-paper); padding: 26px; }
.admin-page .panel-head { gap: 16px; margin-bottom: 22px; padding-bottom: 18px; border-color: var(--client-line); }
.admin-page .panel-head :is(h2,h3) { margin: 0; color: #342e29; font-size: 21px; font-weight: 650; }
.admin-page .panel-head p { max-width: 720px; font-size: 13px; line-height: 1.7; }
.admin-page .panel-head > a { flex: none; white-space: nowrap; }
.admin-page .help-text { font-size: 12px; color: var(--admin-muted); }
.admin-page :is(.field,.rights-check) { color: #4c4239; }
.admin-page .field > span { font-size: 13px; font-weight: 600; }
.admin-page .field small { color: #887a6b; font-weight: 400; }
.admin-page .field :is(input,select,textarea),
.admin-page :is(.search-input,.compact-select,.site-group-picker select) { border: 1px solid #dcd2c6; border-radius: 3px; background: #fff; color: #332c26; font-size: 14px; line-height: 1.6; }
.admin-page .field :is(input,select) { min-height: 43px; }
.admin-page .field textarea { min-height: 122px; padding: 12px; line-height: 1.8; resize: vertical; }
.admin-page .field :is(input,select,textarea):focus,
.admin-page .search-input:focus { border-color: var(--client-red); box-shadow: 0 0 0 3px rgba(171,55,47,.08); }
.admin-page .site-text-fields { gap: 2px 24px; }
.admin-page .site-text-fields .field { margin-bottom: 20px; }
.admin-page .button { min-height: 38px; border-radius: 3px; font-size: 13px; font-weight: 600; }
.admin-page .button.dark { border-color: #39332d; background: #39332d; color: #fff; }
.admin-page .button.danger { border-color: #e0bcb6; background: #fffaf8; color: #9f3c31; }
.admin-page .site-editor-nav { gap: 6px; border-radius: 4px; padding: 10px; box-shadow: none; background: #f4eee6; }
.admin-page .site-editor-nav button { min-height: 42px; padding: 9px 16px; border: 1px solid transparent; border-radius: 3px; background: transparent; color: #65594d; font-size: 13px; font-weight: 600; }
.admin-page :is(.site-editor-nav,.site-group-nav,.admin-subtabs) button.active { color: var(--client-red); border-color: #e6d6c8; background: #fffdfa; box-shadow: inset 0 -2px var(--client-red); }
.admin-page .site-text-intro { border-color: var(--client-line); border-radius: 4px; background: var(--client-paper); padding: 24px; }
.admin-page .site-text-intro h2 { color: #342e29; font-size: 22px; font-weight: 650; }
.admin-page :is(.site-group-nav,.admin-subtabs) { flex-wrap: wrap; gap: 7px; }
.admin-page :is(.site-group-nav,.admin-subtabs) button { border: 1px solid var(--client-line); background: #f8f3ec; color: #5d5145; }
.admin-page .site-group-pickers { gap: 18px; border-color: var(--client-line); }
.admin-page .site-group-picker { color: #65594d; font-weight: 600; }
.admin-page .site-group-picker select:focus-visible { outline-color: var(--client-red); }
.site-save-bar { position: static; display: flex; flex-wrap: wrap; align-items: center; gap: 14px; width: 100%; max-width: 100%; margin-top: 12px; padding: 16px 0 0; border: 0; border-top: 1px solid var(--client-line); border-radius: 0; background: var(--paper); box-shadow: none; }
.site-save-bar output { color: #71665b; font-size: 12px; }
.site-save-bar output[data-status="dirty"] { color: var(--client-red); }
.admin-page .has-unsaved-changes { border-left-color: var(--client-red); }
.admin-page #import-form { border-top: 3px solid #bd975f; }
.admin-page :is(.upload-zone,.security-item,.site-media-extra,.media-editor-card,.image-batch-panel,.image-search-panel,.site-gallery-admin-item) { border-color: var(--client-line); border-radius: 4px; box-shadow: none; background: #faf6f0; color: #4c4238; }
.admin-page :is(.site-media-extra,.media-editor-card) { padding: 20px; }
.admin-page .site-media-extra h3 { color: #41382f; font-size: 17px; font-weight: 650; }
.admin-page .media-preview { border-radius: 3px; background: #f0e9df; }
.admin-page .media-editor-card[data-slot="logo"] .media-preview img { object-fit: contain; }
.admin-page .media-upload-form { border-color: var(--client-line); }
.admin-page .site-media-extra details { border-top: 1px solid var(--client-line); padding-top: 14px; }
.admin-page .site-media-extra summary { color: var(--client-red); cursor: pointer; font-size: 13px; font-weight: 600; }
.admin-page .site-video-admin-item video { width: min(100%,360px); background: #28241f; border-radius: 3px; }
.admin-page :is(.user-row strong,.word-editor-item strong,.image-batch-word strong,.media-current strong,.audit-code) { color: #3b3229; }
.admin-page :is(.user-row small,.word-editor-item small,.media-current small) { color: #7b6b5c; }
.admin-page :is(.admin-book-scroll,.import-rights,.filter-bar) { border-color: var(--client-line); }
.admin-page .admin-book-scroll .user-row > div:first-child { flex: 1 1 110px; }
.admin-page .admin-book-scroll .admin-book-actions { display: flex; flex: 0 1 auto; flex-wrap: nowrap; align-items: stretch; gap: 6px; max-width: 100%; margin-left: auto; }
.admin-page .admin-book-actions > .button { flex: 0 1 auto; min-width: 0; padding-inline: 7px; white-space: normal; overflow-wrap: anywhere; }
.admin-page .table-wrap { border-radius: 4px; }
.admin-page .data-table :is(th,td) { padding: 15px 14px; font-size: 13px; vertical-align: middle; }
.admin-page .data-table th { font-weight: 600; background: #f4eee5; }
.admin-page .security-item b { background: #f2e5ce; color: #8b6c3e; }
body:has(.admin-page) :is(.modal,.modal-head,.modal-body) { border-color: var(--client-line); }
body:has(.admin-page) .modal { border-radius: 5px; background: #fffdfa; box-shadow: 0 16px 60px rgba(40,29,19,.16); }
body:has(.admin-page) .modal-head { background: #f7f1e9; color: #342e29; }
body:has(.admin-page) .modal .field :is(input,textarea,select) { border-color: #dcd2c6; border-radius: 3px; }
@media (max-width: 1000px) {
  .admin-page .site-media-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-page .admin-tab-number { display: none; }
}
@media (max-width: 640px) {
  .admin-page .admin-head { padding: 23px 19px; }
  .admin-page .admin-head h1 { font-size: 28px; }
  .admin-head-actions { justify-content: flex-start; margin-top: 18px; }
  .admin-head-actions .admin-build { text-align: left; }
  .admin-page .admin-tabs { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .admin-page .admin-tabs button { min-height: 49px; font-size: 13px; }
  .admin-page .admin-content .panel { padding: 20px 15px; }
  .admin-page .panel-head { flex-wrap: wrap; }
  .admin-page .site-text-intro { padding: 20px 15px; }
  .admin-page .site-media-grid { grid-template-columns: minmax(0,1fr); }
  .admin-page .site-editor-nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-page .site-editor-nav button { padding-inline: 5px; white-space: normal; }
  .admin-page .site-group-nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); overflow: visible; }
  .admin-page .site-group-nav button { min-width: 0; white-space: normal; padding-inline: 5px; }
  .site-save-bar { bottom: 8px; gap: 8px; padding: 9px; }
}

.admin-page .word-media-form {
  width: 100%;
  max-width: none;
  margin-top: 24px;
}
.admin-page .word-image-panel > :is(.image-batch-panel,.image-search-panel,.word-media-form) { width: 100%; max-width: none; min-width: 0; }
.admin-page .word-image-panel .media-list-head { flex-wrap: wrap; }
.admin-page .word-image-panel #word-image-search { flex: 0 1 460px; flex-wrap: nowrap; min-width: 0; max-width: 100%; }
.admin-page .word-image-panel #word-image-search .search-input { flex: 1 1 0; min-width: 0; max-width: none; }
.admin-page .word-image-panel #word-image-search .button { flex: none; white-space: nowrap; min-width: 64px; }
@media (min-width: 1101px) {
  .admin-page .admin-book-sidebar {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    gap: 18px;
  }
  .admin-page .admin-book-sidebar > .panel { margin: 0; }
  .admin-page .import-security-panel { flex: 1; }
}

/* Keep long German administrator labels inside narrow screens. */
.admin-page .admin-tabs button { min-width: 0; overflow-wrap: anywhere; }
