/* 系统管理（原型 app.css 账号部分；组件「按钮」「对话框」）：页签间距、账号表操作、危险文字钮与账号对话框。 */
.admin-panel { margin-top: 16px; }
.admin-bar { margin-bottom: 16px; }
.admin-more { display: flex; justify-content: center; margin-top: 12px; }
.account-actions { display: flex; gap: 4px; flex-wrap: wrap; }
.account-error { margin: 12px 0; }
.account-error:focus { outline: none; }
.btn-text.btn-danger-text { color: var(--danger-ink); } /* 危险文字钮：--danger-ink，悬停 --danger-soft */
@media (hover: hover) { .btn-text.btn-danger-text:hover { background: var(--danger-soft); } }

/* 控规成果只读页（原型 app.css 控规部分）：当前版本、匹配统计与历史版本三个分组，没有上传、启用或切换操作 */
.kg-admin { display: grid; gap: 16px; }
.kg-panel-head { flex-wrap: wrap; margin-bottom: 8px; }
.kg-panel-head h3 { margin: 0; }
.kg-facts { margin: 0; }
.kg-facts .dt-row { padding: 4px 0; }

/* 片区维护：现有表格/模态样式，范围和限制分行；放大文字时操作可换行。 */
[data-add-region], [data-edit-region], [data-at="dictionary"], .dictionary-dialog .btn { min-width: 44px; min-height: 44px; height: auto; white-space: normal; }
.dictionary-dialog .input-shell { min-height: 44px; height: auto; }
.dictionary-dialog :is(input,select) { min-height: 44px; height: auto; }
.dictionary-dialog { overflow-wrap: anywhere; }

/* 宗地恢复：完整影响可换行，确认与查询保持44px命中。 */
[data-restore-preview], [data-restore-page], [data-restore-refresh], [data-restore-status], [data-at="restore"], [data-restore-search] .btn,
.restore-dialog .btn { min-width: 44px; min-height: 44px; height: auto; white-space: normal; }
.restore-dialog .input-shell, [data-restore-search] .input-shell { min-height: 44px; height: auto; }
.restore-dialog :is(input:not([type="checkbox"]),textarea), [data-restore-search] input { min-height: 44px; }
.restore-dialog textarea { appearance: none; width: 100%; min-width: 0; min-height: 5rem; padding: var(--space-3) 0; resize: vertical; background: transparent; border: 0; outline: 0; font: inherit; color: var(--fg); }
.restore-dialog textarea:focus-visible { box-shadow: none; }
.restore-dialog label:has(input[type="checkbox"]) { display: flex; align-items: center; gap: 8px; min-height: 44px; cursor: pointer; }
.restore-dialog { overflow-wrap: anywhere; }
[data-restore-search] { flex-wrap: wrap; gap: 12px; }

/* 玻璃对话框：弱化说明文字改用 --fg-2，文字钮用玻璃上的蓝色 */
.modal { --muted: var(--fg-2); }
.modal :is(.btn-text, a:not(.btn)) { color: var(--accent-glass-ink); }
/* 0.5px 体系描边；增强对比度下改 1px --fg-2（见本文件末尾的显式覆盖：本规则优先级高于 glass.css 的 .glass，靠 .glass 的降级会被压掉） */
dialog.account-dialog { position: fixed; inset: 0; margin: auto; border: 0.5px solid var(--glass-border); width: min(420px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); color: var(--fg); }
dialog.account-dialog:not([open]) { display: none; }
dialog.account-dialog.restore-dialog { width: min(640px, calc(100vw - 32px)); }
dialog.account-dialog.is-closing { pointer-events: none; }
dialog.account-dialog::backdrop { background: var(--scrim); backdrop-filter: blur(6px); }
.account-dialog form { display: flex; flex-direction: column; min-height: 0; }
.account-dialog .body { display: grid; gap: 10px; }
.account-dialog .field { margin: 0; }
.account-dialog footer { flex-wrap: wrap; }
.account-dialog #dialog-form-error:focus { outline: none; }
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) { dialog.account-dialog::backdrop { backdrop-filter: none; } }
html.sim-reduce-transparency dialog.account-dialog::backdrop, html.sim-contrast-more dialog.account-dialog::backdrop { -webkit-backdrop-filter: none; backdrop-filter: none; }
/* 增强对比度：对话框改 1px --fg-2 体系描边（≥3:1）。本文件的 dialog.account-dialog 声明优先于 glass.css 的 .glass，须在此显式覆盖 */
@media (prefers-contrast: more) { dialog.account-dialog { border: 1px solid var(--fg-2); } }
html.sim-contrast-more dialog.account-dialog { border: 1px solid var(--fg-2); }
@media (max-width: 640px) { .account-dialog footer .btn { flex: 1; } }
