/* mindmap5.3 · css/manager.css —— 资料管理器外壳、通用控件与响应式层级 */
#reading-manager {
  position: fixed; inset: var(--menubar-h) 0 0; z-index: var(--z-manager); display: grid;
  grid-template-rows: minmax(0, 1fr);
  grid-template-columns: var(--rm-left-w, 190px) 4px minmax(0, 1fr) 4px var(--rm-right-w, 400px);
  overflow: hidden; background: var(--ui-panel); color: var(--ui-text); font: var(--ui-weight-normal) var(--ui-font-size)/var(--ui-line-height) var(--ui-font);
  padding-bottom: env(safe-area-inset-bottom);
}
#reading-manager[hidden] { display: none; }
#reading-manager *, .rm-dialog * { box-sizing: border-box; }
body.reading-manager-open #mobilebar,
body.reading-manager-open #dock, body.reading-manager-open #zoompop,
body.reading-manager-open #hint, body.reading-manager-open #batch-dock,
body.reading-manager-open .sel-quickbar { visibility: hidden !important; }
#rm-header { display: none; }
#rm-header-main { display: flex; align-items: center; gap: 32px; flex: 1; min-width: 0; }
.rm-global-search { display: flex; align-items: center; gap: 8px; max-width: 620px; flex: 1; padding-left: 12px; background: var(--ui-panel); border: 1px solid var(--ui-border); border-radius: var(--ui-button-radius); }
.rm-global-search input { border: 0 !important; flex: 1; min-width: 0; background: transparent !important; }
.rm-col { min-width: 0; min-height: 0; display: flex; flex-direction: column; overflow: hidden; background: var(--ui-panel); }
#rm-left { grid-column: 1; grid-row: 1; background: var(--ui-bg); }
#rm-resizer-left { grid-column: 2; grid-row: 1; }
#rm-center { grid-column: 3; grid-row: 1; }
#rm-resizer-right { grid-column: 4; grid-row: 1; }
#rm-right { grid-column: 5; grid-row: 1; border-left: 1px solid var(--ui-border); }
.rm-col-scroll { flex: 1; min-height: 0; overflow: auto; overscroll-behavior: contain; }
.rm-resizer { cursor: col-resize; touch-action: none; background: linear-gradient(90deg, transparent 1px, var(--ui-border) 1px, var(--ui-border) 2px, transparent 2px); }
.rm-resizer:hover, .rm-resizer.is-dragging { background: var(--ui-accent-soft); }
#reading-manager.rm-right-collapsed { grid-template-columns: var(--rm-left-w, 190px) 4px minmax(0, 1fr) 0 0; }
#reading-manager.rm-right-collapsed #rm-right, #reading-manager.rm-right-collapsed #rm-resizer-right { display: none; }
.rm-right-handle, .rm-right-drawer-mask { display: none; }
#reading-manager button, .rm-dialog button { font-family: var(--ui-font); cursor: pointer; }
#reading-manager button:disabled, #reading-manager input:disabled, #reading-manager select:disabled,
.rm-dialog button:disabled, .rm-dialog input:disabled, .rm-dialog select:disabled { cursor: not-allowed; opacity: var(--ui-disabled-opacity); }
.rm-btn { display: inline-flex; justify-content: center; align-items: center; gap: var(--ui-control-gap); padding: var(--ui-button-padding); min-height: var(--ui-control-h); border: 1px solid transparent; border-radius: var(--ui-button-radius); background: transparent; color: var(--ui-text); font-size: var(--ui-font-control); font-weight: var(--ui-weight-normal); line-height: var(--ui-button-line-height); white-space: nowrap; transition: background var(--ui-motion), color var(--ui-motion), border-color var(--ui-motion); }
.rm-icon-btn { width: var(--ui-icon-button-size); min-height: var(--ui-icon-button-size); padding: 6px; flex-shrink: 0; }
.rm-btn:hover:not(:disabled) { background: var(--ui-hover-bg); color: var(--ui-hover-text); }
.rm-btn:active:not(:disabled), .rm-btn[aria-pressed="true"], .rm-btn[aria-expanded="true"], .rm-segment button[aria-pressed="true"] { background: var(--ui-pressed-bg); color: var(--ui-pressed-text); }
.rm-btn.rm-primary { background: var(--ui-accent); color: var(--ui-primary-text); border-color: var(--ui-accent); }
.rm-btn.rm-primary:hover:not(:disabled) { filter: brightness(1.06); }
.rm-btn.rm-danger, #reading-manager .is-danger, .rm-dialog .is-danger { color: var(--ui-danger); }
#reading-manager :focus-visible, .rm-dialog :focus-visible { outline: var(--ui-focus-width) solid var(--ui-accent); outline-offset: var(--ui-focus-offset); box-shadow: var(--ui-focus); }
#reading-manager input:not([type=checkbox]):not([type=radio]), #reading-manager select,
.rm-dialog input:not([type=checkbox]):not([type=radio]), .rm-dialog select { box-sizing: border-box; min-height: var(--ui-input-h); padding: var(--ui-input-padding); border: 1px solid var(--ui-input-border); border-radius: var(--ui-input-radius); background: var(--ui-input-bg); color: var(--ui-text); font: inherit; min-width: 0; }
#reading-manager input::placeholder, .rm-dialog input::placeholder { color: var(--ui-muted); }
#reading-manager input[type=checkbox], .rm-dialog input[type=checkbox], .rm-dialog input[type=radio] { width: 14px; height: 14px; margin: 0; flex-shrink: 0; accent-color: var(--ui-accent); }
.rm-icon { width: var(--ui-icon-size); height: var(--ui-icon-size); display: inline-flex; flex-shrink: 0; }
.rm-icon svg { width: 100%; height: 100%; }
.rm-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.rm-muted { color: var(--ui-muted); }
.rm-count { color: var(--ui-muted); font-variant-numeric: tabular-nums; font-size: 12px; }
.rm-badge { border: 0; border-radius: var(--ui-pill-radius); padding: 1px 4px; font-size: 9px; line-height: 1.4; background: var(--ui-bg); color: var(--ui-muted); white-space: nowrap; }
.rm-warning { color: var(--ui-warning); }
.rm-empty { margin: auto; min-height: 260px; padding: 35px 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; max-width: 620px; color: var(--ui-muted); }
.rm-empty > .rm-icon { width: 32px; height: 32px; margin-bottom: 12px; opacity: .55; }
.rm-empty h3 { color: var(--ui-text); font-size: 16px; font-weight: var(--ui-weight-strong); margin: 5px 0; }
.rm-empty p { color: var(--ui-muted); font-size: var(--ui-font-label); line-height: 1.8; max-width: 340px; margin: 7px 0 18px; }
.rm-empty .rm-actions { justify-content: center; }
.rm-menu-wrap { position: relative; }
.rm-menu { position: absolute; right: 0; top: calc(100% + 4px); z-index: var(--z-ctxmenu); min-width: var(--ui-menu-min-w); width: 220px; max-width: calc(100vw - 16px); max-height: calc(100dvh - 16px); overflow: auto; padding: var(--ui-menu-padding); border: 1px solid var(--ui-menu-border); border-radius: var(--ui-menu-radius); background: var(--ui-menu-bg); box-shadow: var(--ui-shadow); }
.rm-menu-item { display: block; width: 100%; min-height: var(--ui-control-h); padding: var(--ui-button-padding); border: 0; border-radius: var(--ui-button-radius); background: transparent; text-align: left; color: var(--ui-text); font-size: var(--ui-font-control); font-weight: var(--ui-weight-normal); line-height: var(--ui-button-line-height); }
.rm-menu-item:hover:not(:disabled), .rm-menu-item:active:not(:disabled) { background: var(--ui-hover-bg); color: var(--ui-hover-text); }
.rm-dialog { width: min(560px, calc(100vw - 32px)); max-height: calc(100dvh - 48px); box-sizing: border-box; overflow: auto; padding: 26px; border: 1px solid var(--ui-border); border-radius: var(--ui-dialog-radius); background: var(--ui-panel); color: var(--ui-text); box-shadow: var(--ui-shadow); font: var(--ui-weight-normal) var(--ui-font-size)/var(--ui-line-height) var(--ui-font); }
.rm-dialog:has(.rm-field):not(:has(.rm-options, .rm-pick-list)) { width: min(440px, calc(100vw - 32px)); }
.rm-dialog::backdrop { background: var(--ui-scrim); }
.rm-dialog h2 { margin: 0; font-size: 20px; font-weight: var(--ui-weight-strong); color: var(--ui-text); }
.rm-dialog p { overflow-wrap: anywhere; font-size: var(--ui-font-label); line-height: 1.8; color: var(--ui-muted); }
.rm-dialog p:empty { display: none; }
.rm-dialog input:not([type=checkbox]):not([type=radio]) { width: 100%; }
.rm-field, .rm-options label { display: flex; gap: 10px; margin: 14px 0; }
.rm-field { flex-direction: column; gap: 8px; font-size: var(--ui-font-label); margin: 20px 0; }
.rm-options label { align-items: center; }
.rm-dialog-actions { margin-top: 24px; display: flex; justify-content: flex-end; gap: 8px; }
.rm-pick-list { max-height: 40dvh; overflow: auto; margin-top: 12px; }
.rm-pick-row { display: flex; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--ui-border); }
.rm-pick-row strong, .rm-pick-row small { display: block; overflow-wrap: anywhere; }
.rm-pick-row small { color: var(--ui-muted); }
.rm-notice { position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%); z-index: 6; max-width: min(560px, 90vw); padding: 12px 18px; border: 1px solid var(--ui-border); border-radius: var(--ui-button-radius); background: var(--ui-panel); }
.rm-notice[hidden] { display: none; }
.rm-mobile-only { display: none; }
@media (min-width: 901px) and (max-width: 1179px) {
  #reading-manager, #reading-manager.rm-right-collapsed { grid-template-columns: 165px 4px minmax(0, 1fr) 0 0; }
  #rm-resizer-right { display: none; }
  #rm-right { display: none; position: absolute; top: 0; bottom: 0; right: 0; width: min(460px, 60vw); z-index: 4; box-shadow: var(--ui-shadow); }
  #reading-manager.rm-right-open:not(.rm-right-collapsed) #rm-right { display: flex; }
  .rm-right-drawer-mask:not([hidden]) { display: block; position: absolute; inset: 0; z-index: 3; background: var(--ui-scrim); }
}
@media (max-width: 900px) {
  #reading-manager, #reading-manager.rm-right-collapsed { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); }
  #rm-header { display: none; }
  #rm-header-main { gap: 0; }
  .rm-global-search { max-width: none; }
  .rm-manager-close { width: 44px; padding: 0; flex: none; }
  .rm-close-label { display: none; }
  #rm-left { grid-column: 1; grid-row: 1; display: flex; border-bottom: 1px solid var(--ui-border); }
  #rm-center { grid-column: 1; grid-row: 2; display: flex; }
  #rm-right { display: none; position: absolute; inset: 0 0 0 auto; width: min(400px, 100%); z-index: 4; box-shadow: var(--ui-shadow); }
  #reading-manager[data-rm-layer="outline"]:not(.rm-right-collapsed) #rm-right { display: flex; }
  .rm-resizer, .rm-right-drawer-mask { display: none !important; }
  .rm-mobile-only { display: inline-flex; }
  #reading-manager button, .rm-dialog button { min-height: var(--ui-touch-target); }
  #reading-manager input:not([type=checkbox]):not([type=radio]), #reading-manager select,
  .rm-dialog input:not([type=checkbox]):not([type=radio]), .rm-dialog select { min-height: var(--ui-touch-target); }
  .rm-menu-item { min-height: var(--ui-touch-target); }
  .rm-dialog { padding: 20px; }
  .rm-dialog .rm-field input { font-size: 16px; }
}
/* 底层工作区保留尺寸，管理时退出视觉与焦点交互。 */
body.reading-manager-open > :not(#reading-manager):not(#reader-panel):not(#menubar):not(.dropdown):not(dialog):not(script):not(#toasts) { visibility: hidden !important; }

.rm-menu-item.rm-menu-separated { margin-top: 6px; border-top: 1px solid var(--ui-border); border-radius: 0; }
