/* management — domain styles; order is declared in index.html. */
.management-view { width: 100vw; height: 100dvh; overflow: hidden; background: var(--bg); color: var(--text); }
.management-header { height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: max(0px, env(safe-area-inset-top)) 28px 0; border-bottom: 1px solid var(--line); background: var(--surface); }
.management-header .header-brand { border-right: 0; padding-right: 0; }
.management-mode-label { margin-left: 5px; padding-left: 12px; border-left: 1px solid var(--line); color: var(--primary); font-size: 0.75rem; font-weight: 700; }
.management-header-actions { display: flex; align-items: center; gap: 12px; }
.management-header-actions > span { color: var(--muted); font-size: 0.75rem; }
.management-layout { min-height: 0; height: calc(100dvh - 68px); display: grid; grid-template-columns: 230px minmax(0, 1fr); }
.management-nav { display: flex; flex-direction: column; gap: 5px; padding: 22px 13px; border-right: 1px solid var(--line); background: #f3f4f8; }
.management-nav-item { min-height: 44px; display: flex; align-items: center; gap: 9px; padding: 0 12px; border: 0; border-radius: 8px; background: transparent; color: var(--muted); cursor: pointer; text-align: left; font-size: 0.8125rem; font-weight: 650; }
.management-nav-item svg { width: 17px; height: 17px; }
.management-nav-item:hover { background: var(--surface); color: var(--text); }
.management-nav-item.active { background: var(--primary-soft); color: var(--primary-hover); }
.management-content { min-width: 0; overflow: auto; padding: 42px clamp(22px, 6vw, 100px); }
.management-content-heading { max-width: 760px; }
.management-content-heading h1 { margin: 4px 0 8px; font-size: clamp(1.5625rem, 3vw, 2.375rem); letter-spacing: 0; }
.management-content-heading p:last-child { margin: 0; color: var(--muted); }
.management-panel-actions { max-width: 760px; display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; margin-top: 34px; }
.management-action-card { min-height: 108px; display: flex; align-items: flex-start; gap: 12px; padding: 18px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); box-shadow: var(--shadow-sm); color: var(--text); cursor: pointer; text-align: left; }
.management-action-card:hover { border-color: #aaa5ef; background: var(--surface-indigo); }
.management-action-card > svg { width: 20px; height: 20px; flex: 0 0 auto; color: var(--primary); }
.management-action-card > span { display: flex; flex-direction: column; gap: 5px; }
.management-action-card strong { font-size: 0.8125rem; }
.management-action-card small { color: var(--muted); font-size: 0.6875rem; line-height: 1.5; }
.reading-management-panel { max-width: 980px; margin-top: 30px; }
.feedback-management-panel { max-width: 980px; margin-top: 30px; }
.feedback-management-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.feedback-management-toolbar .checkbox-field { margin: 0; }
.feedback-management-status { min-height: 24px; margin: 0 0 10px; color: var(--muted); }
.feedback-table td:nth-child(2) { width: 50%; min-width: 260px; }
.feedback-content { max-width: 520px; }
.feedback-content summary { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; cursor: pointer; overflow-wrap: anywhere; }
.feedback-content[open] summary { display: none; }
.feedback-content p { margin: 6px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.reading-admin-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 16px; }
.reading-admin-summary > div { display: grid; gap: 3px; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.reading-admin-summary strong { font-size: 1.375rem; color: var(--text); }
.reading-admin-summary span, .reading-admin-status, .admin-reading-book-progress { color: var(--muted); font-size: 0.6875rem; }
.reading-upload-form { display: grid; grid-template-columns: minmax(180px, 1.5fr) repeat(3, minmax(120px, 1fr)) auto; align-items: end; gap: 10px; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); }
.reading-upload-form > div { align-self: center; }
.reading-upload-form > div strong { font-size: 0.875rem; }
.reading-upload-form > div p { margin: 4px 0 0; color: var(--muted); font-size: 0.6875rem; line-height: 1.4; }
.reading-upload-form input { min-width: 0; }
.reading-upload-form .primary-button { white-space: nowrap; }
.file-drop-zone { min-width: 0; min-height: 82px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 5px; padding: 12px; border: 1px dashed color-mix(in srgb, var(--primary) 55%, var(--line)); border-radius: 8px; background: var(--surface); color: var(--text); cursor: pointer; text-align: center; transition: border-color .16s ease, background .16s ease; }
.file-drop-zone:hover, .file-drop-zone.dragover { border-style: solid; border-color: var(--warning); background: #fff9e9; }
.file-drop-zone svg { width: 20px; height: 20px; color: var(--warning); }
.file-drop-zone span { font-size: 0.75rem; font-weight: 700; }
.file-drop-zone small { color: var(--muted); font-size: 0.625rem; }
.file-drop-zone input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.knowledge-import-tabs { display: flex; gap: 6px; margin: 10px 0; border-bottom: 1px solid var(--line); }
.knowledge-import-tabs button { padding: 7px 10px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--muted); cursor: pointer; }
.knowledge-import-tabs button[aria-selected="true"] { border-color: var(--warning); color: var(--text); font-weight: 700; }
.folder-drop-zone { margin-bottom: 10px; }
.reading-admin-status { min-height: 18px; margin: 12px 0; }
.reading-upload-note { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: 0.75rem; }
.reading-upload-progress { display: flex; align-items: center; gap: 9px; min-height: 22px; margin: 10px 0; color: var(--muted); font-size: 0.75rem; }
.reading-upload-progress progress { width: min(420px, 100%); height: 8px; accent-color: var(--primary); }
.reading-admin-status.error, .admin-reading-book-row .knowledge-error { color: var(--danger); }
.admin-reading-book-list { display: grid; gap: 10px; }
.admin-reading-sort-footer { display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:18px;padding:12px 0; }
.admin-reading-book-row { padding: 15px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); box-shadow: var(--shadow-sm); }
.admin-reading-book-header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.admin-reading-book-header strong { min-width: 0; overflow-wrap: anywhere; font-size: 0.875rem; }
.admin-reading-book-header small { flex: 0 0 auto; color: var(--muted); font-size: 0.6875rem; }
.admin-reading-book-row .knowledge-error { margin: 0 0 10px; font-size: 0.75rem; }
.admin-reading-book-form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; align-items: end; }
.admin-reading-book-form .field input { min-width: 0; }
.reading-cover-field input[type="file"] { width: 100%; font-size: 0.75rem; }
.reading-cover-field small { color: var(--muted); font-size: 0.6875rem; }
.reading-cover-preview { width: 80px; height: 112px; object-fit: contain; border-radius: 4px; border: 1px solid var(--line); background: var(--surface); }
.reading-cover-preview[hidden] { display: none; }
.admin-reading-book-controls { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.reading-publish-hint { color: var(--warning); font-size: 0.6875rem; }
.reading-search-toggle { margin-right: auto; }
.admin-reading-book-controls button { min-height: 36px; padding: 0 11px; }
.admin-reading-book-progress { display: block; margin-top: 9px; }
@media (max-width: 1000px) { .reading-upload-form { grid-template-columns: repeat(2, minmax(0, 1fr)); } .reading-upload-form > div { grid-column: 1 / -1; } .reading-upload-form .primary-button { grid-column: 2; } }
@media (max-width: 700px) { .reading-admin-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); } .admin-reading-book-form { grid-template-columns: repeat(2, minmax(0, 1fr)); } .reading-search-toggle { margin-right: 0; width: 100%; } }
