/* Backend-only dark-mode completion patch. */
:root[data-theme="dark"] { color-scheme: dark; }
:root[data-theme="dark"] body,
:root[data-theme="dark"] #app { background: var(--admin-canvas, #0d1117); color: var(--admin-text, #e6edf3); }

:root[data-theme="dark"] .app-shell .el-card,
:root[data-theme="dark"] .app-shell .el-descriptions,
:root[data-theme="dark"] .app-shell .el-table,
:root[data-theme="dark"] .app-shell .el-table__inner-wrapper,
:root[data-theme="dark"] .app-shell .el-table__body-wrapper,
:root[data-theme="dark"] .app-shell .el-table__header-wrapper {
  background: var(--admin-card, #161b22); color: var(--admin-text, #e6edf3);
}
:root[data-theme="dark"] .app-shell .el-card,
:root[data-theme="dark"] .app-shell .el-descriptions,
:root[data-theme="dark"] .app-shell .el-table,
:root[data-theme="dark"] .app-shell .el-divider,
:root[data-theme="dark"] .app-shell .el-table td.el-table__cell,
:root[data-theme="dark"] .app-shell .el-table th.el-table__cell,
:root[data-theme="dark"] .app-shell .el-descriptions__cell { border-color: var(--admin-line, #2a3440); }
:root[data-theme="dark"] .app-shell .el-card__header,
:root[data-theme="dark"] .app-shell .el-descriptions__label,
:root[data-theme="dark"] .app-shell .el-descriptions__content,
:root[data-theme="dark"] .app-shell .el-form-item__label,
:root[data-theme="dark"] .app-shell .el-checkbox__label,
:root[data-theme="dark"] .app-shell .el-radio__label,
:root[data-theme="dark"] .app-shell .el-statistic__head,
:root[data-theme="dark"] .app-shell .el-statistic__content,
:root[data-theme="dark"] .app-shell .el-empty__description p { color: var(--admin-text-2, #9ba9bc); }
:root[data-theme="dark"] .app-shell .el-descriptions__label.is-bordered-label,
:root[data-theme="dark"] .app-shell .el-table th.el-table__cell { background: var(--admin-card-alt, #1c2430); }

:root[data-theme="dark"] .app-shell .el-input__wrapper,
:root[data-theme="dark"] .app-shell .el-select__wrapper,
:root[data-theme="dark"] .app-shell .el-textarea__inner,
:root[data-theme="dark"] .app-shell .el-input-number,
:root[data-theme="dark"] .app-shell .el-input-number__decrease,
:root[data-theme="dark"] .app-shell .el-input-number__increase {
  background: var(--admin-card-alt, #1c2430); color: var(--admin-text, #e6edf3); border-color: var(--admin-line, #2a3440);
}
:root[data-theme="dark"] .app-shell .el-input__inner,
:root[data-theme="dark"] .app-shell .el-textarea__inner,
:root[data-theme="dark"] .app-shell .el-select__placeholder,
:root[data-theme="dark"] .app-shell .el-select__selected-item { color: var(--admin-text, #e6edf3); }

/* Element Plus overlays are teleported outside .app-shell. */
:root[data-theme="dark"] .el-dialog,
:root[data-theme="dark"] .el-drawer,
:root[data-theme="dark"] .el-message-box,
:root[data-theme="dark"] .el-popper,
:root[data-theme="dark"] .el-select-dropdown,
:root[data-theme="dark"] .el-dropdown-menu,
:root[data-theme="dark"] .el-picker-panel {
  background: var(--admin-card, #161b22); color: var(--admin-text, #e6edf3); border-color: var(--admin-line, #2a3440);
}
:root[data-theme="dark"] .el-dialog__title,
:root[data-theme="dark"] .el-drawer__title,
:root[data-theme="dark"] .el-message-box__title,
:root[data-theme="dark"] .el-message-box__message,
:root[data-theme="dark"] .el-select-dropdown__item,
:root[data-theme="dark"] .el-dropdown-menu__item,
:root[data-theme="dark"] .el-picker-panel,
:root[data-theme="dark"] .el-date-table th,
:root[data-theme="dark"] .el-date-table td { color: var(--admin-text-2, #9ba9bc); }
:root[data-theme="dark"] .el-select-dropdown__item.is-hovering,
:root[data-theme="dark"] .el-dropdown-menu__item:not(.is-disabled):focus,
:root[data-theme="dark"] .el-dropdown-menu__item:not(.is-disabled):hover { background: var(--admin-card-alt, #1c2430); color: var(--admin-text, #e6edf3); }
:root[data-theme="dark"] .el-popper__arrow::before { background: var(--admin-card, #161b22); border-color: var(--admin-line, #2a3440); }

/* Admin pages that still contain hard-coded light-mode colors. */
:root[data-theme="dark"] .app-shell .overview-item,
:root[data-theme="dark"] .app-shell .link-item { background: var(--admin-card-alt, #1c2430); border-color: var(--admin-line, #2a3440); color: var(--admin-text-2, #9ba9bc); }
:root[data-theme="dark"] .app-shell .overview-item:hover,
:root[data-theme="dark"] .app-shell .overview-item.active { color: var(--c-blue, #4fbbff); background: var(--c-blue-soft, #12293b); border-color: var(--c-blue, #4fbbff); }
:root[data-theme="dark"] .app-shell .overview-item strong,
:root[data-theme="dark"] .app-shell .link-remark,
:root[data-theme="dark"] .app-shell .coupon-summary,
:root[data-theme="dark"] .app-shell .coupon-block-title,
:root[data-theme="dark"] .app-shell .coupon-line,
:root[data-theme="dark"] .app-shell .qm-title,
:root[data-theme="dark"] .app-shell .section-heading h2 { color: var(--admin-text, #e6edf3); }
:root[data-theme="dark"] .app-shell .token-remark,
:root[data-theme="dark"] .app-shell .time-muted,
:root[data-theme="dark"] .app-shell .cup-summary,
:root[data-theme="dark"] .app-shell .order-id,
:root[data-theme="dark"] .app-shell .text-muted,
:root[data-theme="dark"] .app-shell .link-tip,
:root[data-theme="dark"] .app-shell .order-state,
:root[data-theme="dark"] .app-shell .hb-time,
:root[data-theme="dark"] .app-shell .cleanup-grid,
:root[data-theme="dark"] .app-shell .token-cell,
:root[data-theme="dark"] .app-shell .section-heading p,
:root[data-theme="dark"] .app-shell .form-unit { color: var(--admin-text-2, #9ba9bc); }
:root[data-theme="dark"] .app-shell .link-url,
:root[data-theme="dark"] .app-shell .order-link { color: var(--c-blue, #4fbbff); }
:root[data-theme="dark"] .app-shell .state-ready { color: var(--c-green, #3fd79a); }
:root[data-theme="dark"] .app-shell .state-processing,
:root[data-theme="dark"] .app-shell .pickup-code { color: var(--c-yellow, #ffc94d); }
:root[data-theme="dark"] .app-shell .state-used { color: var(--admin-text-2, #9ba9bc); }
:root[data-theme="dark"] .app-shell .state-failed,
:root[data-theme="dark"] .app-shell .err-text,
:root[data-theme="dark"] .app-shell .forbid-cell { color: var(--c-red, #ff7263); }
:root[data-theme="dark"] .app-shell .coupon-ok { background: var(--c-green-soft, #10322a); border-color: color-mix(in srgb, var(--c-green, #3fd79a) 35%, transparent); }
:root[data-theme="dark"] .app-shell .coupon-no { background: var(--c-yellow-soft, #332912); border-color: color-mix(in srgb, var(--c-yellow, #ffc94d) 35%, transparent); }
:root[data-theme="dark"] .app-shell .coupon-fail { background: var(--c-red-soft, #3a1e1b); border-color: color-mix(in srgb, var(--c-red, #ff7263) 35%, transparent); }
:root[data-theme="dark"] .app-shell .qm-section,
:root[data-theme="dark"] .app-shell .general-config { border-color: var(--admin-line, #2a3440); }
