/* Public contract: --admin-* tokens + .admin-* components.
   Legacy aliases and adapters stay here so plugins do not copy a theme. */
html[data-admin-theme],
html[data-admin-theme] :is(.shopify-ui,.dashboard-page,.site-settings-page,.settings-page) {
    --primary:var(--admin-primary)!important; --primary-hover:var(--admin-primary-hover)!important;
    --primary-ring:var(--admin-primary-soft)!important;
    --shopify-green:var(--admin-primary)!important; --shopify-green-dark:var(--admin-primary-hover)!important;
    --shopify-green-soft:var(--admin-primary-soft)!important;
    --surface:var(--admin-surface)!important; --page-bg:var(--admin-page)!important;
    --background:var(--admin-page)!important; --bg:var(--admin-page)!important;
    --text:var(--admin-text)!important; --primary-text:var(--admin-text)!important;
    --secondary-text:var(--admin-muted)!important; --muted-text:var(--admin-muted)!important;
    --muted:var(--admin-muted)!important; --border:var(--admin-border)!important;
    --border-soft:var(--admin-border)!important; --line:var(--admin-border)!important;
    --shadow-soft:var(--admin-shadow)!important; --green:var(--admin-primary)!important;
    --sidebar-bg:var(--admin-sidebar)!important;
    --site-bg:var(--admin-page)!important; --site-surface:var(--admin-surface)!important;
    --site-text:var(--admin-text)!important; --site-muted:var(--admin-muted)!important;
    --site-line:var(--admin-border)!important; --site-green:var(--admin-primary)!important;
    --site-green-hover:var(--admin-primary-hover)!important; --site-blue:var(--admin-primary)!important;
    --site-nav:var(--admin-sidebar)!important; --site-nav-muted:var(--admin-sidebar-muted)!important;
    --site-radius:var(--admin-radius)!important; --site-shadow:var(--admin-shadow)!important;
    --ui-bg:var(--admin-page)!important; --ui-surface:var(--admin-surface)!important;
    --ui-text:var(--admin-text)!important; --ui-muted:var(--admin-muted)!important;
    --ui-border:var(--admin-border)!important; --ui-hover:var(--admin-hover)!important;
    --ui-add:var(--admin-primary)!important; --ui-add-hover:var(--admin-primary-hover)!important;
    --ui-edit:var(--admin-primary)!important; --ui-radius:var(--admin-radius-sm)!important;
    --ui-card-radius:var(--admin-radius)!important;
    --dash-ink:var(--admin-text)!important; --dash-muted:var(--admin-muted)!important;
    --dash-line:var(--admin-border)!important; --dash-soft:var(--admin-hover)!important;
    --dash-green:var(--admin-primary)!important; --dash-green-dark:var(--admin-primary-hover)!important;
    --cms-primary:var(--admin-primary)!important; --cms-primary-dark:var(--admin-primary-hover)!important;
    --cms-primary-soft:var(--admin-primary-soft)!important; --cms-accent:var(--admin-primary)!important;
    --cms-ai:var(--admin-primary)!important; --cms-bg:var(--admin-page)!important;
    --cms-card:var(--admin-surface)!important; --cms-surface:var(--admin-surface)!important;
    --cms-text:var(--admin-text)!important; --cms-muted:var(--admin-muted)!important;
    --cms-line:var(--admin-border)!important; --cms-border:var(--admin-border)!important;
    --cms-shadow:var(--admin-shadow)!important;
    --page-card:var(--admin-surface)!important; --page-text:var(--admin-text)!important;
    --page-muted:var(--admin-muted)!important; --page-line:var(--admin-border)!important;
    --page-accent:var(--admin-primary)!important;
    --cp-blue:var(--admin-primary)!important; --cp-blue-soft:var(--admin-primary-soft)!important;
    --cp-bg:var(--admin-page)!important; --cp-ink:var(--admin-text)!important;
    --cp-muted:var(--admin-muted)!important; --cp-line:var(--admin-border)!important;
    --ta-green:var(--admin-primary)!important; --ta-green-dark:var(--admin-primary-hover)!important;
    --ta-ink:var(--admin-text)!important; --ta-muted:var(--admin-muted)!important;
    --ta-line:var(--admin-border)!important; --ta-soft:var(--admin-hover)!important;
    --theme-emerald-600:var(--admin-primary)!important; --theme-emerald-700:var(--admin-primary-hover)!important;
    --theme-emerald-50:var(--admin-primary-soft)!important;
    --auth-bg:var(--admin-page)!important; --auth-surface:var(--admin-surface)!important;
    --auth-ink:var(--admin-text)!important; --auth-muted:var(--admin-muted)!important;
    --auth-line:var(--admin-border)!important; --auth-brand:var(--admin-primary)!important;
    --auth-brand-deep:var(--admin-primary-hover)!important; --auth-mint:var(--admin-primary)!important;
    --auth-soft:var(--admin-primary-soft)!important; --auth-shadow:var(--admin-shadow)!important;
}

html[data-admin-theme], html[data-admin-theme] body {
    background:var(--admin-page)!important; color:var(--admin-text);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
    -webkit-font-smoothing:antialiased;
}
html[data-admin-theme] :is(.admin-layout,.main-content,.content-area,.site-admin,.site-main) {background:var(--admin-page)!important}
html[data-admin-theme] :is(.sidebar,.site-admin>aside) {background:var(--admin-sidebar)!important;color:var(--admin-sidebar-text)!important;border-color:var(--admin-sidebar-border)!important}
html[data-admin-theme] :is(.sidebar .brand-text,.sidebar .brand,.site-brand,.site-brand strong) {color:var(--admin-sidebar-text)!important}
html[data-admin-theme] :is(.brand-mark,.site-brand__avatar,.site-switcher__avatar) {background:var(--admin-primary)!important;color:var(--admin-on-primary)!important;border-radius:var(--admin-radius-sm)!important}
html[data-admin-theme] :is(.nav-link,.site-admin>aside>nav a,.site-admin>aside>footer a) {color:var(--admin-sidebar-muted)!important;border-radius:var(--admin-radius-sm)!important;font-weight:500}
html[data-admin-theme] :is(.nav-link:hover,.nav-item.expanded>.nav-link,.site-admin>aside>nav a:hover,.site-brand:hover) {background:var(--admin-sidebar-hover)!important;color:var(--admin-sidebar-text)!important}
html[data-admin-theme] :is(.nav-link.active,.site-admin>aside>nav a.is-active) {background:var(--admin-sidebar-active)!important;color:var(--admin-sidebar-text)!important;font-weight:650;box-shadow:inset 2px 0 var(--admin-sidebar-text)!important}
html[data-admin-theme] :is(.site-admin>aside>nav a.is-active i,.site-switcher__option>i) {color:var(--admin-sidebar-text)!important}
html[data-admin-theme] :is(.nav-section-title,.nav-arrow,.site-nav-group span,.site-brand small,.site-brand__switch,.site-switcher__title,.site-switcher__copy small) {color:var(--admin-sidebar-muted)!important}
html[data-admin-theme] :is(.submenu,.site-nav-group,.site-brand,.site-admin>aside>footer) {border-color:var(--admin-sidebar-border)!important}
html[data-admin-theme] .site-switcher__menu {background:var(--admin-sidebar)!important;border-color:var(--admin-sidebar-border)!important;border-radius:var(--admin-radius)!important}
html[data-admin-theme] .site-switcher__menu::before {border-right-color:var(--admin-sidebar)!important}
html[data-admin-theme] :is(.site-switcher__option,.site-switcher__manage) {color:var(--admin-sidebar-text)!important;border-color:var(--admin-sidebar-border)!important}
html[data-admin-theme] :is(.site-switcher__option.is-current,.site-switcher__option:hover,.site-switcher__tag) {background:var(--admin-sidebar-active)!important;color:var(--admin-sidebar-text)!important;border-color:var(--admin-sidebar-border)!important;border-radius:var(--admin-radius-sm)!important}
html[data-admin-theme] :is(.site-switcher__tag b) {color:inherit!important}
html[data-admin-theme] :is(.topbar,.site-main>header,.auth-site-header) {background:var(--admin-surface)!important;border-color:var(--admin-border)!important;backdrop-filter:none;box-shadow:none}
html[data-admin-theme] .content-frame {background:var(--admin-page)!important;border-radius:var(--admin-radius)!important;border-color:var(--admin-border)!important;box-shadow:none!important}
html[data-admin-theme] :is(.dropdown-menu,.layui-layer,.site-store-preview__dialog,.theme-confirm-dialog) {background:var(--admin-surface)!important;border-color:var(--admin-border)!important;border-radius:var(--admin-radius-dialog)!important}
html[data-admin-theme] :is(.dropdown-item,.page-title,.modern-title,.site-page-header h1,.dashboard-welcome h1,.login-header h1) {color:var(--admin-text)!important}
html[data-admin-theme] :is(.dropdown-item:hover,.user-trigger:hover) {background:var(--admin-hover)!important}

/* Shared controls; semantic error/success actions keep their own colors. */
html[data-admin-theme] :is(.admin-btn,.btn,.modern-btn,.shopify-btn,.dashboard-btn,.theme-btn,.layui-btn,.button-secondary,.cms-btn,.cp-btn) {
    border-radius:var(--admin-radius-sm)!important;box-shadow:none!important;text-shadow:none!important;background-image:none!important;
}
html[data-admin-theme] :is(.admin-btn--primary,.btn-primary,.modern-btn-primary,.shopify-btn--primary,.dashboard-btn--primary,.theme-btn--primary,.cms-btn--primary,.cms-btn-primary,.cp-btn-primary,.layui-btn:not(.layui-btn-primary,.layui-btn-normal,.layui-btn-danger,.layui-btn-warm,.layui-btn-disabled),.site-form-panel button:not(.button-secondary),.shopify-toolbar button,.login-btn,.btn-login,.sass-auth__submit,.sass-users-recharge,.product-save,.article-save) {
    background:var(--admin-primary)!important;border-color:var(--admin-primary)!important;color:var(--admin-on-primary)!important;box-shadow:none!important;background-image:none!important;
}
html[data-admin-theme] :is(.admin-btn--primary,.btn-primary,.modern-btn-primary,.shopify-btn--primary,.dashboard-btn--primary,.theme-btn--primary,.cms-btn--primary,.cms-btn-primary,.cp-btn-primary,.layui-btn:not(.layui-btn-primary,.layui-btn-normal,.layui-btn-danger,.layui-btn-warm,.layui-btn-disabled),.login-btn,.btn-login,.sass-auth__submit):hover:not(:disabled) {
    background:var(--admin-primary-hover)!important;border-color:var(--admin-primary-hover)!important;transform:none!important;
}
html[data-admin-theme] :is(.admin-btn--secondary,.btn-secondary,.modern-btn-secondary,.shopify-btn--secondary,.dashboard-btn:not(.dashboard-btn--primary),.theme-btn--outline,.layui-btn-primary,.button-secondary) {background:var(--admin-surface)!important;color:var(--admin-text)!important;border:1px solid var(--admin-border)!important}
html[data-admin-theme] :is(.admin-btn--secondary,.btn-secondary,.modern-btn-secondary,.shopify-btn--secondary,.layui-btn-primary,.button-secondary):hover {background:var(--admin-hover)!important;border-color:var(--admin-muted)!important}
html[data-admin-theme] :is(.admin-btn--danger,.btn-danger,.modern-btn-danger,.layui-btn-danger,.shopify-btn--danger) {background:var(--admin-danger-soft)!important;color:var(--admin-danger)!important;border:1px solid var(--admin-danger)!important}
html[data-admin-theme] :is(.shopify-btn--text,.theme-text-link,.admin-site-card__enter,.admin-site-item__enter,.admin-sites-table__enter,.dashboard-eyebrow,.page-eyebrow,.admin-sites-page__eyebrow,.quick-grid a,.cms-ai-button,.auth-brand__word em,.sass-auth__form-tools a) {color:var(--admin-primary)!important}
html[data-admin-theme] :is(.modern-title i,.page-title i) {color:var(--admin-primary)!important}
html[data-admin-theme] :is(input:not([type=checkbox],[type=radio],[type=range],[type=file],[type=color],[type=hidden],[type=submit],[type=button]),textarea,select,.layui-input,.layui-textarea,.layui-select,.form-control) {
    border-color:var(--admin-border)!important;border-radius:var(--admin-radius-sm)!important;background-color:var(--admin-surface)!important;color:var(--admin-text)!important;box-shadow:none;
}
html[data-admin-theme] :is(input,textarea,select):focus-visible {outline:2px solid var(--admin-primary)!important;outline-offset:2px}
html[data-admin-theme] :is(button,a,[role=button]):focus-visible {outline:2px solid var(--admin-primary);outline-offset:3px}
html[data-admin-theme] :is(input[type=checkbox],input[type=radio]) {accent-color:var(--admin-primary)}
html[data-admin-theme] :is(.layui-form-checked[lay-skin=primary]>i,.layui-form-onswitch) {background:var(--admin-primary)!important;border-color:var(--admin-primary)!important}
html[data-admin-theme] .layui-form-radio:hover>i,html[data-admin-theme] .layui-form-radioed>i {color:var(--admin-primary)!important}
html[data-admin-theme] .layui-form-select dl dd.layui-this {background:var(--admin-primary-soft)!important;color:var(--admin-primary)!important}
html[data-admin-theme] :is(.layui-layer-title,.layui-layer-btn) {background:var(--admin-surface)!important;color:var(--admin-text)!important;border-color:var(--admin-border)!important}
html[data-admin-theme] .layui-layer-btn .layui-layer-btn0 {background:var(--admin-primary)!important;border-color:var(--admin-primary)!important;color:var(--admin-on-primary)!important;border-radius:var(--admin-radius-sm)!important}
html[data-admin-theme] .layui-layer-btn a {border-radius:var(--admin-radius-sm)!important}

/* Cards and tables: preserve page layout and functional geometry. */
html[data-admin-theme] :is(.admin-card,.card,.panel,.modern-card,.stat-card,.stats-card,.metric-card,.shopify-card,.site-panel,.metric-grid article,.product-card,.dashboard-card,.dashboard-metric,.dashboard-metrics article,.table-container,.search-form,.modern-search-container,.layui-card,.cms-card,.cms-panel,.cp-card,.admin-sites-summary__item,.admin-site-card,.admin-site-item,.sass-users-summary article,.login-box,.sass-auth__panel,.theme-card) {
    background:var(--admin-surface)!important;border:1px solid var(--admin-border)!important;border-radius:var(--admin-radius)!important;box-shadow:var(--admin-shadow)!important;background-image:none!important;
}
html[data-admin-theme] :is(.dashboard-welcome,.modern-header,.page-header,.layui-card-header,.table-header,.shopify-table-card) {border-color:var(--admin-border)!important;background:var(--admin-surface)!important}
html[data-admin-theme] :is(.stat-icon,.admin-sites-summary__icon,.sass-users-summary i,.theme-card__icon,.dashboard-step__icon) {background:var(--admin-primary-soft)!important;color:var(--admin-primary)!important;border-radius:var(--admin-radius-sm)!important;box-shadow:none!important}
html[data-admin-theme] :is(.admin-table, .table, .modern-table, .shopify-table-card table, .layui-table, .site-admin table) {color:var(--admin-text);border-color:var(--admin-border)!important}
html[data-admin-theme] :is(table th,.layui-table-header,.layui-table thead tr) {background:var(--admin-hover)!important;color:var(--admin-muted)!important;border-color:var(--admin-border)!important}
html[data-admin-theme] :is(table td,.layui-table td) {border-color:var(--admin-border)!important}
html[data-admin-theme] :is(.layui-table tbody tr:hover,.modern-table tbody tr:hover,.table tbody tr:hover) {background:var(--admin-hover)!important}
html[data-admin-theme] :is(.status-filter-tag,.scope-pill,.status,.badge,.theme-card__badge) {border-radius:var(--admin-radius-sm)!important}
html[data-admin-theme] :is(.status-filter-tag.active,.filter-tab.active,.theme-card--current) {background:var(--admin-primary-soft)!important;color:var(--admin-primary)!important;border-color:var(--admin-primary)!important;background-image:none!important}
html[data-admin-theme] :is(.pagination,.pagination-wrapper) {border-radius:var(--admin-radius)!important;box-shadow:none!important}
html[data-admin-theme] :is(.pagination a,.pagination span,.layui-laypage a,.layui-laypage span) {border-radius:var(--admin-radius-sm)!important;box-shadow:none!important;transform:none!important;background-image:none!important}
html[data-admin-theme] :is(.pagination li.active span,.pagination li.active a,.pagination .current,.layui-laypage .layui-laypage-curr .layui-laypage-em) {background:var(--admin-primary)!important;color:var(--admin-on-primary)!important;border-radius:var(--admin-radius-sm)!important}
html[data-admin-theme] .pagination a:hover {background:var(--admin-hover)!important;color:var(--admin-primary)!important}
html[data-admin-theme] :is(.sass-auth__story,.sass-auth__preview,.sass-auth__heading-icon) {background:var(--admin-primary-soft)!important;color:var(--admin-text)!important;border-radius:var(--admin-radius)!important;box-shadow:none!important}
html[data-admin-theme] :is(.sass-auth__story h1 span,.sass-auth__eyebrow) {color:var(--admin-primary)!important}
html[data-admin-theme] :is(.login-page,.login-container)::before,html[data-admin-theme] :is(.login-page,.login-container)::after {background:none!important}

.admin-appearance-link {display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:3px;color:var(--admin-muted);background:transparent;font-size:20px;text-decoration:none}
.admin-appearance-link:hover {background:var(--admin-hover)}
.admin-appearance-link:focus-visible,.site-appearance-link:focus-visible {outline:2px solid var(--admin-primary);outline-offset:2px}
html[data-admin-theme] .site-admin>aside>footer.site-admin-footer {display:flex;align-items:center;justify-content:space-between;gap:8px}
html[data-admin-theme] .site-admin>aside>footer .site-appearance-link {flex:0 0 34px;justify-content:center;width:34px;height:34px;padding:0;font-size:19px}
html[data-admin-theme] .site-admin>aside>footer .site-appearance-link:is(:hover,[aria-current="page"]) {background:var(--admin-sidebar-active);color:var(--admin-sidebar-text)!important}
html[data-admin-theme] [data-admin-brand-mark]:has(img) {background:transparent!important;box-shadow:none!important}
[data-admin-brand-mark] img {display:block;width:100%;height:100%;object-fit:contain;border-radius:3px}
.admin-preview-notice {position:fixed;z-index:2147483000;bottom:16px;right:20px;display:flex;align-items:center;gap:18px;max-width:calc(100vw - 32px);padding:12px 16px;border:1px solid var(--admin-border);border-left:3px solid var(--admin-primary);border-radius:4px;background:var(--admin-surface);color:var(--admin-text);font:12px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-shadow:0 4px 20px #00000012}
.admin-preview-notice button {flex-shrink:0;border:0;background:transparent;color:var(--admin-primary);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline}
.admin-btn {display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:7px 14px;border:1px solid var(--admin-border);border-radius:3px;background:var(--admin-surface);color:var(--admin-text);font:inherit;font-size:13px;font-weight:500;line-height:1.5;text-decoration:none;cursor:pointer}
.admin-btn:disabled {opacity:.5;cursor:not-allowed}
.admin-card {padding:20px;border:1px solid var(--admin-border);border-radius:4px;background:var(--admin-surface)}

/* Existing login, overview and payment components with independent legacy styles. */
html[data-admin-theme] .login-container {padding:0;border:0!important;background:transparent!important;box-shadow:none!important}
html[data-admin-theme] :is(.login-card,.dashboard-panel,.cp-stat) {background:var(--admin-surface)!important;border:1px solid var(--admin-border)!important;border-radius:var(--admin-radius)!important;box-shadow:var(--admin-shadow)!important}
html[data-admin-theme] :is(.brand-mark,.login-button,.password-toggle,.cp-button,.cp-action,.cp-selected-count,.cp-stat-icon,.cp-table-scroll,.cp-badge,.dashboard-attention__grid>a,.dashboard-attention__grid>a>i,.dashboard-metric__icon) {border-radius:var(--admin-radius-sm)!important;box-shadow:none!important}
html[data-admin-theme] :is(.login-button,.cp-button.is-primary) {background:var(--admin-primary)!important;color:var(--admin-on-primary)!important;border-color:var(--admin-primary)!important}
html[data-admin-theme] :is(.login-button,.cp-button.is-primary):hover {background:var(--admin-primary-hover)!important;transform:none!important}
html[data-admin-theme] :is(.cp-stat-icon,.dashboard-metric__icon,.dashboard-metric--revenue .dashboard-metric__icon) {background:var(--admin-primary-soft)!important;color:var(--admin-primary)!important}
html[data-admin-theme] :is(.dashboard-attention__grid>a,.cp-badge.is-info) {background:var(--admin-primary-soft)!important;color:var(--admin-primary)!important;border-color:var(--admin-border)!important}
html[data-admin-theme] :is(.cp-title,.cp-stat-value,.cp-main,.cp-money) {color:var(--admin-text)!important}
html[data-admin-theme] :is(.cp-table td,.cp-field .cp-label,.form-label,.dashboard-panel__heading span) {color:var(--admin-muted)!important}
html[data-admin-theme] :is(.cp-action,.cp-button:not(.is-primary,.is-danger),.cp-selected-count) {background:var(--admin-surface)!important;color:var(--admin-text)!important;border-color:var(--admin-border)!important}
html[data-admin-theme] :is(.cp-action:not(.is-danger):hover,.cp-table tbody tr:hover) {background:var(--admin-hover)!important;color:var(--admin-primary)!important}
html[data-admin-theme] :is(.dashboard-panel__heading,.cp-toolbar,.cp-pagination) {border-color:var(--admin-border)!important}

/* Secondary panels in the two dashboards and common site-admin editors. */
html[data-admin-theme] :is(.mini-card,.settings-nav,.settings-card,.settings-panel,.site-backup-card,.navigation-settings-card,.dashboard-shortcuts>a,.overview-section,.service-card,.prompt-version-panel,.prompt-editor-panel) {background:var(--admin-surface)!important;border-color:var(--admin-border)!important;border-radius:var(--admin-radius)!important;box-shadow:var(--admin-shadow)!important;background-image:none!important}
html[data-admin-theme] :is(.settings-nav a,.dashboard-shortcuts>a>i,.dashboard-stock__list em,.dashboard .tag,.content-status,.admin-sites-page__refresh) {border-radius:var(--admin-radius-sm)!important}
html[data-admin-theme] :is(.settings-nav a.active,.settings-nav a.is-active,.dashboard-shortcuts>a>i,.site-backup-card__icon,.dashboard .tag:not(.tag-danger)) {background:var(--admin-primary-soft)!important;color:var(--admin-primary)!important;border-color:var(--admin-border)!important}
html[data-admin-theme] :is(.settings-nav a:hover,.dashboard-shortcuts>a:hover,.dashboard-checklist>a:hover) {background:var(--admin-hover)!important;color:var(--admin-text)!important;border-color:var(--admin-border)!important}
html[data-admin-theme] .dashboard-progress {background:var(--admin-hover)!important}
html[data-admin-theme] .dashboard-progress>i {background:var(--admin-primary)!important}
html[data-admin-theme] :is(.settings-choice-modal__panel,.product-ai-dialog__card,.single-page-ai-dialog__card,.content-category-dialog-card) {background:var(--admin-surface)!important;border-color:var(--admin-border)!important;border-radius:var(--admin-radius-dialog)!important}
html[data-admin-theme] :is(.single-page-ai-dialog__header,.settings-card__header,.settings-panel__header) {background:var(--admin-surface)!important;border-color:var(--admin-border)!important}
html[data-admin-theme] :is(.product-ai-dialog__card header h2 i,.single-page-ai-dialog__header h2 i,.single-page-ai-dialog__hint i,.product-ai-dialog__actions>span.is-loading) {color:var(--admin-primary)!important}
@media(max-width:640px) {.admin-appearance-link span{display:none}.admin-preview-notice{right:16px;gap:10px}}
