/* Scoped compatibility for the existing MDUI, Bootstrap and independent pages.
   Only paint/type/decoration; display, positioning, state and interaction stay owned by components. */
.qd-theme.qd-admin-layout body { background: var(--qd-paper); color: var(--qd-ink); font-family: var(--qd-font-sans); }
.qd-theme.qd-admin-layout :is(h1,h2,h3,h4,.page-title,.section-title,.admin-brand) { font-family: var(--qd-font-sans); font-weight: 600; letter-spacing: .015em; }
.qd-theme.qd-admin-layout:lang(zh) :is(h1,h2,h3,h4,.page-title,.section-title,.admin-brand) { font-family: var(--qd-font-serif); font-weight: 600; letter-spacing: .015em; }
.qd-theme.qd-admin-layout :is(button,input,select,textarea,mdui-button,mdui-text-field,.btn,.form-control,.form-select) { font-family: var(--qd-font-sans) !important; }
.qd-theme.qd-admin-layout :is(.admin-sidebar,.admin-topbar,.admin-header,.card,.panel,.aui-card,.exh-card,.modal-content,mdui-card,mdui-dialog) { background: var(--qd-surface); color: var(--qd-ink); border-color: var(--qd-line) !important; box-shadow: 0 2px 12px #183e2e08; }
.qd-theme.qd-admin-layout :is(.card,.panel,.aui-card,.exh-card,.modal-content,mdui-card,mdui-dialog) { border-radius: 20px !important; }
.qd-theme.qd-admin-layout :is(.admin-sidebar,.admin-topbar,.admin-header,.card-header,.modal-header,.modal-footer) { border-radius: 0 !important; }
.qd-theme.qd-admin-layout :is(mdui-button,.btn,button[class*="btn"],.scenic-token-insert) { border-width: 1px !important; border-color: var(--qd-line) !important; border-radius: 14px !important; box-shadow: none !important; font-weight: 600; }
.qd-theme.qd-admin-layout :is(mdui-button,.btn,button[class*="btn"]):is(:hover,:active) { transform: none !important; }
.qd-theme.qd-admin-layout :is(mdui-button[variant="filled"],.btn-primary,.aui-button-primary) { background: var(--qd-brand) !important; color: #fff !important; border-color: var(--qd-brand) !important; }
.qd-theme.qd-admin-layout :is(mdui-button[variant="filled"],.btn-primary,.aui-button-primary):hover { background: var(--qd-deep) !important; }
.qd-theme.qd-admin-layout :is(.form-control,.form-select,mdui-text-field,mdui-select) { border-color: var(--qd-line) !important; border-width: 1px !important; border-radius: 14px !important; background: var(--qd-surface); color: var(--qd-ink); }
.qd-theme.qd-admin-layout :is(.text-danger,.invalid-feedback,.param-required) { color: var(--color-danger,#b42318) !important; }
.qd-theme.qd-admin-layout :is(.bg-danger,.badge.bg-danger) { color: #b42318 !important; background: #fff0ed !important; border-color: #efc8c0 !important; }
.qd-theme.qd-admin-layout :is(.text-success,.status-ok) { color: var(--qd-brand) !important; }
.qd-theme.qd-admin-layout :is(.bg-success,.badge.bg-success) { color: var(--qd-deep) !important; background: var(--qd-soft) !important; }
.qd-theme.qd-admin-layout :is(.table-responsive,.admin-table-wrap,.table-wrap) { max-width: 100%; overflow-x: auto; }
.qd-theme.qd-admin-layout :is(.admin-main,.admin-content,.page-content,.project-tools) { min-width: 0; }
.qd-theme.qd-admin-layout :is(.admin-nav-item,.admin-sidebar a).is-active { background: var(--qd-soft); color: var(--qd-deep); }
.qd-theme.qd-admin-layout :is(button,input,select,textarea):disabled { opacity: .58; cursor: not-allowed; }
.qd-theme.qd-admin-layout input[readonly],.qd-theme.qd-admin-layout textarea[readonly] { background: var(--qd-paper); }
@media(max-width:600px) {
 .qd-theme.qd-admin-layout :is(.modal-dialog,mdui-dialog) { max-width: calc(100vw - 24px); }
 .qd-theme.qd-admin-layout :is(.project-tools,.section-actions,.admin-toolbar) { flex-wrap: wrap; }
 .qd-theme.qd-admin-layout :is(.admin-main,.admin-content) { max-width: 100%; }
}
.qd-theme.qd-admin-layout :is(mdui-button:not([variant]),.btn-primary):not([disabled]):not(.is-disabled) { background:var(--qd-brand); color:#fff; }
.qd-theme.qd-admin-layout :is(mdui-button.mdui-btn-danger,.btn-danger) { background:#fff0ed !important; color:#b42318 !important; border-color:#efc8c0 !important; }
.qd-theme.qd-admin-layout :is(mdui-button,mdui-button-icon).is-loading { color:var(--qd-muted) !important; }
.qd-theme.qd-admin-layout :is(mdui-button,mdui-button-icon)[disabled] { background:var(--qd-paper) !important; color:var(--qd-muted) !important; box-shadow:none !important; }
/* Visual/model-pool controls are shared by API and project multimodal pages. */
.qd-theme.qd-admin-layout :is(.vm-button,.vm-field input,.vm-field select,.vm-field textarea,.vm-embed-code) { border:1px solid var(--qd-line); border-radius:14px; font-family:var(--qd-font-sans); box-shadow:none; }
.qd-theme.qd-admin-layout :is(.vm-item,.vm-project-card,.vm-dialog,.vm-intro,.vm-kb-summary) { border:1px solid var(--qd-line); border-radius:20px; box-shadow:0 2px 12px #183e2e08; }
.qd-theme.qd-admin-layout .vm-button.is-primary { background:var(--qd-brand); color:#fff; border-color:var(--qd-brand); }
.qd-theme.qd-admin-layout .vm-button.is-primary:hover { background:var(--qd-deep); }
.qd-theme.qd-admin-layout .vm-button.is-danger { color:#b42318; }
.qd-theme.qd-admin-layout .overview-dot--warn { background:var(--color-warning,#8a6a00) !important; }
/* Exhibition management shares the same foundation, with its own plain-button family. */
.qd-theme.qd-admin-layout .exh-admin { --exh-ink:var(--qd-ink); --exh-muted:var(--qd-muted); --exh-line:var(--qd-line); --exh-yellow:var(--qd-soft); --exh-bg:var(--qd-paper); --exh-good:var(--qd-brand); background:var(--qd-paper); }
.qd-theme.qd-admin-layout .exh-admin :is(.muted,.exh-eyebrow,.exh-metric span,.exh-row p,.exh-page-title p) { color:var(--qd-muted); }
.qd-theme.qd-admin-layout .exh-admin :is(.exh-panel,.exh-metric,dialog) { background:var(--qd-surface); border-color:var(--qd-line); border-radius:20px; box-shadow:0 2px 12px #183e2e08; }
.qd-theme.qd-admin-layout .exh-admin button:hover { background:var(--qd-soft); color:var(--qd-deep); }
.qd-theme.qd-admin-layout .exh-admin button.primary { background:var(--qd-brand); color:#fff; border-color:var(--qd-brand); box-shadow:0 2px 8px #183e2e0d; }
.qd-theme.qd-admin-layout .exh-admin button.primary:hover { background:var(--qd-deep); color:#fff; }
.qd-theme.qd-admin-layout .exh-admin .exh-nav button.active { background:var(--qd-soft); color:var(--qd-deep); box-shadow:0 2px 8px #183e2e08; }
.qd-theme.qd-admin-layout .exh-admin .exh-brand-icon { background:var(--qd-brand); color:#fff; border-radius:12px; }
.qd-theme.qd-admin-layout .exh-admin .exh-badge { background:var(--qd-soft); color:var(--qd-deep); border-color:var(--qd-line); border-radius:999px; }
.qd-theme.qd-admin-layout .exh-admin :is(input:not([type="checkbox"]):not([type="file"]),textarea,select) { border-color:var(--qd-line); }
.qd-theme.qd-admin-layout .exh-admin input[type="checkbox"] { accent-color:var(--qd-brand); }
.qd-theme.qd-admin-layout .exh-admin :is(button,input,select,textarea,a):focus-visible { outline-color:var(--qd-brand); }
.qd-theme.qd-admin-layout .exh-admin button:disabled { background:var(--qd-paper); color:var(--qd-muted); border-color:var(--qd-line); box-shadow:none; opacity:.58; cursor:not-allowed; }
