/* v0.38.0: giao diện tối dễ đọc hơn.
   - Chữ phụ, nhãn, viền sáng hơn một bậc, chữ chính gần trắng.
   - Màu thương hiệu dùng bản xanh sáng, đọc rõ trên nền tối.
   - Hover đồng nhất: nền sáng lên, viền xanh sáng, chữ trắng. Nút chính phát sáng.
   Chỉ áp khi bật giao diện tối, giấy báo giá và bản in giữ nguyên nền trắng. */
body.theme-dark{
 --d-bg:#0b1220;--d-surface:#121c2e;--d-surface-2:#1a263d;--d-surface-3:#223250;
 --d-line:#28385a;--d-line-2:#37496d;
 --d-ink:#f1f5fb;--d-ink-2:#ccd8e8;--d-ink-3:#a3b3ca;
 --d-brand:#2d74e6;--d-brand-soft:#1c3a68;
 --d-hover:#22365a;--d-hover-line:#5b9dff;--d-accent:#8cc0ff;--d-glow:#3d86f566;
 --brand:#3d86f5;--blue:#3d86f5;--brand-soft:#1c3a68;--brand-hover:#5b9dff;--menu-hover:#ffffff;
 --sidebar-text:#ccd8e8}

/* Chữ phụ và liên kết */
body.theme-dark .muted:not(:is(.quote-paper,.qc-sheet) *),body.theme-dark .hint:not(:is(.quote-paper,.qc-sheet) *),body.theme-dark small:not(:is(.quote-paper,.qc-sheet) *),body.theme-dark figcaption:not(:is(.quote-paper,.qc-sheet) *),body.theme-dark .empty{color:var(--d-ink-3)}
body.theme-dark a:not(:is(.quote-paper,.qc-sheet) *){color:var(--d-accent)}
body.theme-dark a:hover:not(:is(.quote-paper,.qc-sheet) *){color:#b8d7ff}
body.theme-dark .range-label output,body.theme-dark .range-field output{color:var(--d-accent)}
body.theme-dark ::selection{background:#3d86f566;color:#fff}

/* Viền focus rõ, sáng */
body.theme-dark :is(button,a,summary,[tabindex]):focus-visible{outline:2px solid var(--d-accent);outline-offset:2px}
body.theme-dark :is(input,select,textarea):not([type=checkbox]):not([type=radio]):hover{border-color:#4a5f86}
body.theme-dark :is(input,select,textarea):not([type=checkbox]):not([type=radio]):focus{border-color:var(--d-hover-line);box-shadow:0 0 0 3px var(--d-glow);outline:0}

/* Nút thường: hover sáng lên, viền xanh sáng, chữ trắng */
body.theme-dark button:not(.primary):not(.danger):not(.danger-outline):not(:disabled):not(.lb-thumb):not(.qm-name):not(.tree-node):not(.help-q):not(:is(.quote-paper,#lb-page,.qp-page,.wm-a4,.qc-sheet) *):hover,
body.theme-dark .button-link:hover,body.theme-dark .file-btn:hover,body.theme-dark .guide-link:hover{background:var(--d-hover);border-color:var(--d-hover-line);color:#fff}
body.theme-dark button:not(.primary):not(:disabled):hover .solid-icon{color:#fff}
/* Nút chính: xanh sáng, hover phát sáng */
body.theme-dark .primary,body.theme-dark button.primary,body.theme-dark a.primary,body.theme-dark label.primary{background:var(--d-brand);border-color:var(--d-brand);color:#fff}
body.theme-dark .primary:not(:disabled):hover,body.theme-dark button.primary:not(:disabled):hover,body.theme-dark a.primary:hover,body.theme-dark label.primary:hover{background:#3b82f6;border-color:#8cc0ff;color:#fff;box-shadow:0 0 0 3px var(--d-glow),0 6px 20px #3d86f573}
body.theme-dark button:disabled{opacity:.55}
/* Nút xoá */
body.theme-dark .danger-outline,body.theme-dark button.danger{border-color:#7a3434;color:#ff9a90}
body.theme-dark .danger-outline:not(:disabled):hover,body.theme-dark button.danger:not(:disabled):hover,body.theme-dark .icon-btn.danger:hover{background:#4a1f1f;border-color:#ff8a80;color:#ffd0ca}

/* Menu trái */
body.theme-dark aside nav a,body.theme-dark aside nav summary,body.theme-dark aside nav button{color:var(--d-ink-2)}
body.theme-dark aside nav a:hover,body.theme-dark aside nav summary:hover,body.theme-dark aside nav button:hover{background:#1b2c4a!important;color:#fff!important}
body.theme-dark aside nav a:hover .solid-icon,body.theme-dark aside nav summary:hover .solid-icon{color:var(--d-accent)!important}
body.theme-dark aside nav a.active,body.theme-dark aside nav .active{background:#1f3d6e!important;color:#fff!important;box-shadow:inset 3px 0 0 var(--d-hover-line)}
body.theme-dark aside nav a.active .solid-icon{color:var(--d-accent)!important}

/* Thanh trên: chuông, hồ sơ */
body.theme-dark .bell-count{background:#dc2626;color:#fff;box-shadow:0 0 0 2px var(--d-surface)}
body.theme-dark .bell-toggle:hover,body.theme-dark .profile-toggle:hover,body.theme-dark .theme-toggle:hover{background:var(--d-hover);border-color:var(--d-hover-line)}

/* Dấu "?" */
body.theme-dark .help-q{background:var(--d-surface-3);border-color:var(--d-line-2);color:var(--d-ink)}
body.theme-dark .help-q:hover,body.theme-dark .help-q:focus-visible{background:var(--d-brand);border-color:var(--d-hover-line);color:#fff}

/* Bảng: dòng hover sáng lên, có vạch xanh bên trái */
body.theme-dark th:not(:is(.quote-paper,.qc-sheet) *){color:var(--d-ink-2)}
body.theme-dark tbody tr:hover>td:not(:is(.quote-paper,.qc-sheet) *),body.theme-dark .qm-table tbody tr:hover,body.theme-dark .sl-v2 .sl-table tbody tr:hover td,body.theme-dark .folder-list tbody tr:hover td{background:#1b2b48}
body.theme-dark tbody tr:hover>td:first-child:not(:is(.quote-paper,.qc-sheet) *){box-shadow:inset 3px 0 0 var(--d-hover-line)}
body.theme-dark tbody tr:hover>td:not(:is(.quote-paper,.qc-sheet) *),body.theme-dark .folder-list tbody tr:hover strong{color:var(--d-ink)}
body.theme-dark tbody tr:hover>td :is(.muted,.hint,small):not(:is(.quote-paper,.qc-sheet) *){color:var(--d-ink-2)}
body.theme-dark .catalog-table .sort-btn:hover{background:transparent;border-color:transparent;color:#fff}

/* Quản lý báo giá */
body.theme-dark .qm-table .qm-act{background:var(--d-surface-2);border-color:var(--d-line-2);color:var(--d-ink-2)}
body.theme-dark .qm-table .qm-act:hover{background:var(--d-hover);border-color:var(--d-hover-line);color:#fff}
body.theme-dark .qm-table .qm-act.pdf,body.theme-dark .qm-table .qm-act.delete{border-color:#7a3434;color:#ff9a90}
body.theme-dark .qm-table .qm-act.pdf:hover,body.theme-dark .qm-table .qm-act.delete:hover{background:#4a1f1f;border-color:#ff8a80;color:#ffd0ca}
body.theme-dark .qm-table .qm-act.excel{border-color:#1f5c3c;color:#6ee7a0}
body.theme-dark .qm-table .qm-act.excel:hover{background:#12351f;border-color:#6ee7a0;color:#b7f7cf}
body.theme-dark .qm-name:hover,body.theme-dark .qm-name:hover *{color:var(--d-accent)}
body.theme-dark .qm-status{background:var(--d-surface-3);color:var(--d-ink-2)}
body.theme-dark .qm-status.published{background:#113322;color:#6ee7a0}
body.theme-dark .qm-status.draft{background:#3a2a0c;color:#fcc96b}
body.theme-dark .badge{background:#25365a;color:#dbe5f3}
body.theme-dark .badge.ok{background:#113322;color:#6ee7a0}
body.theme-dark .badge.warn{background:#3a2a0c;color:#fcc96b}
body.theme-dark button.badge:hover{background:#2e4674;color:#fff}

/* Tab: tab đang chọn chữ xanh sáng, hover nền sáng lên */
body.theme-dark :is(.lib-tabs,.qm-folders){border-bottom-color:var(--d-line)}
body.theme-dark :is(.lib-tabs,.qm-folders) button{background:transparent;color:var(--d-ink-2)}
body.theme-dark :is(.lib-tabs,.qm-folders) button:hover{background:var(--d-hover);color:#fff}
body.theme-dark :is(.lib-tabs,.qm-folders) button[aria-selected=true]{border-bottom-color:var(--d-hover-line);color:var(--d-accent)}
body.theme-dark .qm-folders em{background:#25365a;color:#dbe5f3}
body.theme-dark .qm-folders button[aria-selected=true] em{background:var(--d-brand);color:#fff}

/* Nút lọc dạng viên */
body.theme-dark .sl-filter{background:var(--d-surface-2);border-color:var(--d-line-2);color:var(--d-ink-2)}
body.theme-dark .sl-filter b{background:#25365a;color:#dbe5f3}
body.theme-dark .sl-filter:hover{background:var(--d-hover);border-color:var(--d-hover-line);color:#fff}
body.theme-dark .sl-filter.on,body.theme-dark .sl-filter.on:hover{background:var(--d-brand);border-color:var(--d-hover-line);color:#fff}
body.theme-dark .sl-filter.on b{background:#ffffff33;color:#fff}
body.theme-dark :is(.segmented input:checked+span,.lib-view button[aria-pressed=true],.media-view button[aria-pressed=true],.guide-article .guide-toc button.small.on,.lb-align.on,.wm-orient button[aria-pressed=true]){background:var(--d-brand);border-color:var(--d-hover-line);color:#fff}

/* Công tắc: tắt vẫn nhìn thấy rõ */
body.theme-dark .switch-track{background:#34466a;box-shadow:inset 0 0 0 1px #4a5f86}
body.theme-dark .switch-track:after{background:#e9f0fa}
body.theme-dark .switch input:checked+.switch-track{background:var(--d-brand);box-shadow:none}
body.theme-dark .switch:hover .switch-track{box-shadow:inset 0 0 0 1px var(--d-hover-line)}

/* Thẻ, ô trang chủ, thư mục, ảnh: hover nổi lên */
body.theme-dark :is(.attention-card .attention-tile,.lb-card,.folder-tile,.media-item,.share-item,.stat){transition:border-color .15s,box-shadow .15s,background .15s}
body.theme-dark .attention-card .attention-tile{background:var(--d-surface-2);border-color:var(--d-line-2);color:var(--d-ink-2)}
body.theme-dark .attention-tile strong{color:var(--d-ink)}
body.theme-dark .attention-card .attention-tile.alert{background:#3a1d1d;border-color:#7a3434;color:#ffb3ab}
body.theme-dark .attention-tile.alert strong{color:#ff8a80}
body.theme-dark :is(.attention-card .attention-tile,.lb-card,.folder-tile,.media-item,.share-item):hover{border-color:var(--d-hover-line);background:var(--d-surface-3);box-shadow:0 0 0 1px var(--d-hover-line),0 10px 26px #0000008c}
body.theme-dark .attention-card .attention-tile.alert:hover{background:#4a1f1f;border-color:#ff8a80;box-shadow:0 0 0 1px #ff8a80,0 10px 26px #0000008c}

/* Cây thư mục, danh sách chọn, gợi ý, chuông */
body.theme-dark .tree-node:not(.active):hover{background:var(--d-hover);color:#fff}
body.theme-dark .tree-node.active{background:var(--d-brand);color:#fff}
body.theme-dark :is(.choice-panel [data-value],.choice-list button,.suggest-item,.bell-item,.scope-panel label):hover,
body.theme-dark :is(.choice-list [aria-selected=true],.suggest-item.active){background:var(--d-hover);color:#fff}
body.theme-dark .choice-list button:hover{background:var(--d-brand);color:#fff}

/* Hướng dẫn */
body.theme-dark #guide-list a:hover{background:var(--d-hover);color:#fff}
body.theme-dark #guide-list a.active{background:#1f3d6e;color:#fff;box-shadow:inset 3px 0 0 var(--d-hover-line)}

/* Khối gập trong trang soạn: hover sáng lên */
body.theme-dark .fold-head:hover,body.theme-dark .group-head:hover{filter:brightness(1.18)}
body.theme-dark .fold-toggle:hover{background:transparent!important;border-color:transparent!important}

/* Mục đang chọn vẫn sáng thêm khi rê chuột */
body.theme-dark aside nav a.active:hover,body.theme-dark #guide-list a.active:hover{background:#27508f!important}
/* Các nút nền xanh khác dùng cùng tông để chữ trắng đọc rõ */
body.theme-dark :is(.choice-list button:hover,.role-config:hover,#quote-form .group-head .head-add-line:hover,.explorer-tree .tree-add:hover,.tree-node.active){background:var(--d-brand);color:#fff}

/* Trang soạn: khối đang mở nổi bật (xanh đậm, vạch xanh sáng), khối thu gọn chìm hơn */
body.theme-dark #quote-form .fold-card:not(.collapsed)>.fold-head,body.theme-dark #quote-form .group-block:not(.collapsed)>.group-head{background:#1d3866;border-color:#2f5596;box-shadow:inset 4px 0 0 var(--d-hover-line)}
body.theme-dark #quote-form .fold-card:not(.collapsed)>.fold-head :is(.fold-toggle,h2,h3,strong),body.theme-dark #quote-form .group-block:not(.collapsed)>.group-head{color:#fff}
body.theme-dark #quote-form .fold-card.collapsed>.fold-head,body.theme-dark #quote-form .group-block.collapsed>.group-head{background:var(--d-surface-2);border-color:var(--d-line-2);box-shadow:none}
body.theme-dark #quote-form .fold-card.collapsed>.fold-head :is(.fold-toggle,h2,h3,strong){color:var(--d-ink-2)}
body.theme-dark #quote-form .fold-card.collapsed>.fold-head:hover,body.theme-dark #quote-form .group-block.collapsed>.group-head:hover{background:var(--d-hover);border-color:var(--d-hover-line);filter:none}
body.theme-dark #quote-form .fold-card.collapsed>.fold-head:hover :is(.fold-toggle,h2,h3,strong){color:#fff}

/* Hộp thoại tách khỏi nền trang */
body.theme-dark dialog{border:1px solid var(--d-line-2);box-shadow:0 24px 60px #000000b3,0 0 0 1px #ffffff0a}
body.theme-dark dialog::backdrop{background:#02060dcc}
