/* BestVM plugin adapter. Deliberately scoped: no admin, other theme or console repainting. */
/* Restore native semantic aliases: saved ModulesGarden presets may flatten them to hex colors.
   Derived from the supplied module's mg_variables.css; palette overrides follow below. */
body.bv-body #layers2, body.bv-body#layers2-body {
    --text-module-name: var(--color-grey-dark); --text-module-version: var(--color-grey-light-faded); --text-headers: var(--color-grey-dark);
    --table-mass-bar-background: var(--background-default); --table-pagination-text: var(--text-faded); --table-pagination-text-active: var(--type-primary);
    --table-pagination-icons: var(--text-default); --menu-text: var(--text-default); --menu-icons: var(--icon-default);
    --menu-background: var(--components-background); --menu-text-active: var(--text-success); --menu-submenu-text: var(--text-default);
    --menu-submenu-text-hover: var(--type-primary-hover); --menu-submenu-text-active: var(--type-primary-active); --menu-submenu-background: var(--components-background);
    --widget-text: var(--text-default); --widget-background: var(--components-background); --widget-border: var(--components-border);
    --modal-text: var(--text-default); --modal-background: var(--components-background); --modal-border: var(--components-border);
    --dropdown-text: var(--text-default); --dropdown-background: var(--components-background); --dropdown-border: var(--components-border);
    --input-text: var(--text-default); --input-background: var(--components-background); --input-border: var(--components-border);
    --input-border-hover: var(--border-default); --input-border-active: var(--border-primary); --input-label-text: var(--text-default);
    --input-label-background: var(--background-default); --select-dropdown-text: var(--input-text); --select-dropdown-text-active: var(--type-primary);
    --select-dropdown-background: var(--input-background); --select-items-text: var(--input-text); --select-items-background: var(--background-default);
    --select-items-remove-button: var(--type-primary); --switcher-knob: var(--components-background); --switcher-inactive-background: var(--background-grey-light);
    --switcher-active-background: var(--background-primary); --checkbox-active-background: var(--background-primary); --checkbox-active-border: var(--border-primary);
    --checkbox-checkmark: var(--text-white); --code-box-text: var(--text-default); --code-box-background: var(--background-default);
    --url-text: var(--type-primary); --url-text-hover: var(--type-primary-hover); --url-text-active: var(--type-primary-active);
    --tooltip-icon: var(--color-grey-light); --tooltip-text: var(--text-white); --tooltip-background: var(--background-grey-dark);
    --preloader-background: var(--components-background); --preloader-spinner-base: var(--border-default); --preloader-spinner-pointer: var(--border-primary);
    --alert-default-text: var(--text-default); --alert-default-background: var(--type-default-faded); --alert-outline-default-text: var(--text-default);
    --alert-outline-default-border: var(--text-default); --alert-outline-default-background: var(--components-background); --alert-info-text: var(--type-info);
    --alert-info-background: var(--type-info-faded); --alert-outline-info-text: var(--type-info); --alert-outline-info-border: var(--type-info);
    --alert-outline-info-background: var(--components-background); --alert-success-text: var(--type-success); --alert-success-background: var(--type-success-faded);
    --alert-outline-success-text: var(--type-success); --alert-outline-success-border: var(--type-success); --alert-outline-success-background: var(--components-background);
    --alert-warning-text: var(--type-warning); --alert-warning-background: var(--type-warning-faded); --alert-outline-warning-text: var(--type-warning);
    --alert-outline-warning-border: var(--type-warning); --alert-outline-warning-background: var(--components-background); --alert-danger-text: var(--type-danger);
    --alert-danger-background: var(--type-danger-faded); --alert-outline-danger-text: var(--type-danger); --alert-outline-danger-border: var(--type-danger);
    --alert-outline-danger-background: var(--components-background); --label-default-text: var(--text-default); --label-default-background: var(--type-default);
    --label-primary-text: var(--text-white); --label-primary-background: var(--type-primary); --label-secondary-text: var(--text-white);
    --label-secondary-background: var(--type-secondary); --label-success-text: var(--text-white); --label-success-background: var(--type-success);
    --label-info-text: var(--text-white); --label-info-background: var(--type-info); --label-warning-text: var(--text-white);
    --label-warning-background: var(--type-warning); --label-danger-text: var(--text-white); --label-danger-background: var(--type-danger);
    --label-critical-text: var(--text-white); --label-critical-background: var(--type-critical); --label-outline-default-text: var(--text-default);
    --label-outline-default-border: var(--type-default); --label-outline-primary-text: var(--type-primary); --label-outline-primary-border: var(--type-primary);
    --label-outline-secondary-text: var(--type-secondary); --label-outline-secondary-border: var(--type-secondary); --label-outline-success-text: var(--type-success);
    --label-outline-success-border: var(--type-success); --label-outline-info-text: var(--type-info); --label-outline-info-border: var(--type-info);
    --label-outline-warning-text: var(--type-warning); --label-outline-warning-border: var(--type-warning); --label-outline-danger-text: var(--type-danger);
    --label-outline-danger-border: var(--type-danger); --label-outline-critical-text: var(--type-critical); --label-outline-critical-border: var(--type-critical);
    --label-status-default-text: var(--text-default); --label-status-primary-text: var(--type-primary); --label-status-secondary-text: var(--type-secondary);
    --label-status-success-text: var(--type-success); --label-status-info-text: var(--type-info); --label-status-warning-text: var(--type-warning);
    --label-status-danger-text: var(--type-danger); --label-status-critical-text: var(--type-critical); --badge-default-text: var(--text-default);
    --badge-default-background: var(--type-default); --badge-default-border: var(--type-default); --badge-primary-text: var(--text-white);
    --badge-primary-background: var(--type-primary); --badge-primary-border: var(--type-primary); --badge-secondary-text: var(--text-white);
    --badge-secondary-background: var(--type-secondary); --badge-secondary-border: var(--type-secondary); --badge-success-text: var(--text-white);
    --badge-success-background: var(--type-success); --badge-success-border: var(--type-success); --badge-info-text: var(--text-white);
    --badge-info-background: var(--type-info); --badge-info-border: var(--type-info); --badge-warning-text: var(--text-white);
    --badge-warning-background: var(--type-warning); --badge-warning-border: var(--type-warning); --badge-danger-text: var(--text-white);
    --badge-danger-background: var(--type-danger); --badge-danger-border: var(--type-danger); --badge-outline-default-text: var(--text-default);
    --badge-outline-default-border: var(--type-default); --badge-outline-primary-text: var(--type-primary); --badge-outline-primary-border: var(--type-primary);
    --badge-outline-secondary-text: var(--type-secondary); --badge-outline-secondary-border: var(--type-secondary); --badge-outline-success-text: var(--type-success);
    --badge-outline-success-border: var(--type-success); --badge-outline-info-text: var(--type-info); --badge-outline-info-border: var(--type-info);
    --badge-outline-warning-text: var(--type-warning); --badge-outline-warning-border: var(--type-warning); --badge-outline-danger-text: var(--type-danger);
    --badge-outline-danger-border: var(--type-danger); --btn-plain-default-text: var(--text-default); --btn-plain-default-background: var(--type-default);
    --btn-plain-default-background-hover: var(--type-default-hover); --btn-plain-default-background-active: var(--type-default-active); --btn-plain-primary-text: var(--text-white);
    --btn-plain-primary-background: var(--type-primary); --btn-plain-primary-background-hover: var(--type-primary-hover); --btn-plain-primary-background-active: var(--type-primary-active);
    --btn-plain-secondary-text: var(--text-white); --btn-plain-secondary-background: var(--type-secondary); --btn-plain-secondary-background-hover: var(--type-secondary-hover);
    --btn-plain-secondary-background-active: var(--type-secondary-active); --btn-plain-success-text: var(--text-white); --btn-plain-success-background: var(--type-success);
    --btn-plain-success-background-hover: var(--type-success-hover); --btn-plain-success-background-active: var(--type-success-active); --btn-plain-info-text: var(--text-white);
    --btn-plain-info-background: var(--type-info); --btn-plain-info-background-hover: var(--type-info-hover); --btn-plain-info-background-active: var(--type-info-active);
    --btn-plain-warning-text: var(--text-white); --btn-plain-warning-background: var(--type-warning); --btn-plain-warning-background-hover: var(--type-warning-hover);
    --btn-plain-warning-background-active: var(--type-warning-active); --btn-plain-danger-text: var(--text-white); --btn-plain-danger-background: var(--type-danger);
    --btn-plain-danger-background-hover: var(--type-danger-hover); --btn-plain-danger-background-active: var(--type-danger-active); --btn-plain-critical-text: var(--text-white);
    --btn-plain-critical-background: var(--type-critical); --btn-plain-critical-background-hover: var(--type-critical-hover); --btn-plain-critical-background-active: var(--type-critical-active);
    --btn-outline-default-text: var(--text-faded); --btn-outline-default-text-hover: var(--text-default); --btn-outline-default-text-active: var(--text-default);
    --btn-outline-default-border: var(--type-default); --btn-outline-default-border-hover: var(--type-default-hover); --btn-outline-default-border-active: var(--type-default-active);
    --btn-outline-primary-text: var(--text-faded); --btn-outline-primary-text-hover: var(--type-primary-hover); --btn-outline-primary-text-active: var(--type-primary-active);
    --btn-outline-primary-border: var(--type-default); --btn-outline-primary-border-hover: var(--type-primary-hover); --btn-outline-primary-border-active: var(--type-primary-active);
    --btn-outline-secondary-text: var(--text-faded); --btn-outline-secondary-text-hover: var(--type-secondary-hover); --btn-outline-secondary-text-active: var(--type-secondary-active);
    --btn-outline-secondary-border: var(--type-default); --btn-outline-secondary-border-hover: var(--type-secondary-hover); --btn-outline-secondary-border-active: var(--type-secondary-active);
    --btn-outline-success-text: var(--text-faded); --btn-outline-success-text-hover: var(--type-success-hover); --btn-outline-success-text-active: var(--type-success-active);
    --btn-outline-success-border: var(--type-default); --btn-outline-success-border-hover: var(--type-success-hover); --btn-outline-success-border-active: var(--type-success-active);
    --btn-outline-info-text: var(--text-faded); --btn-outline-info-text-hover: var(--type-info-hover); --btn-outline-info-text-active: var(--type-info-active);
    --btn-outline-info-border: var(--type-default); --btn-outline-info-border-hover: var(--type-info-hover); --btn-outline-info-border-active: var(--type-info-active);
    --btn-outline-warning-text: var(--text-faded); --btn-outline-warning-text-hover: var(--type-warning-hover); --btn-outline-warning-text-active: var(--type-warning-active);
    --btn-outline-warning-border: var(--type-default); --btn-outline-warning-border-hover: var(--type-warning-hover); --btn-outline-warning-border-active: var(--type-warning-active);
    --btn-outline-danger-text: var(--text-faded); --btn-outline-danger-text-hover: var(--type-danger-hover); --btn-outline-danger-text-active: var(--type-danger-active);
    --btn-outline-danger-border: var(--type-default); --btn-outline-danger-border-hover: var(--type-danger-hover); --btn-outline-danger-border-active: var(--type-danger-active);
    --btn-outline-critical-text: var(--text-faded); --btn-outline-critical-text-hover: var(--type-critical-hover); --btn-outline-critical-text-active: var(--type-critical-active);
    --btn-outline-critical-border: var(--type-default); --btn-outline-critical-border-hover: var(--type-critical-hover); --btn-outline-critical-border-active: var(--type-critical-active);
    --btn-link-default-text: var(--text-default); --btn-link-default-text-hover: var(--text-default); --btn-link-default-text-active: var(--text-default);
    --btn-link-primary-text: var(--type-primary); --btn-link-primary-text-hover: var(--type-primary-hover); --btn-link-primary-text-active: var(--type-primary-active);
    --btn-link-secondary-text: var(--type-secondary); --btn-link-secondary-text-hover: var(--type-secondary-hover); --btn-link-secondary-text-active: var(--type-secondary-active);
    --btn-link-success-text: var(--type-success); --btn-link-success-text-hover: var(--type-success-hover); --btn-link-success-text-active: var(--type-success-active);
    --btn-link-info-text: var(--type-info); --btn-link-info-text-hover: var(--type-info-hover); --btn-link-info-text-active: var(--type-info-active);
    --btn-link-warning-text: var(--type-warning); --btn-link-warning-text-hover: var(--type-warning-hover); --btn-link-warning-text-active: var(--type-warning-active);
    --btn-link-danger-text: var(--type-danger); --btn-link-danger-text-hover: var(--type-danger-hover); --btn-link-danger-text-active: var(--type-danger-active);
    --btn-link-critical-text: var(--type-critical); --btn-link-critical-text-hover: var(--type-critical-hover); --btn-link-critical-text-active: var(--type-critical-active);
    --icon-btn-default-text: var(--icon-default); --icon-btn-default-text-hover: var(--text-default); --icon-btn-primary-text: var(--icon-default);
    --icon-btn-primary-text-hover: var(--type-primary-active); --icon-btn-secondary-text: var(--icon-default); --icon-btn-secondary-text-hover: var(--type-secondary-active);
    --icon-btn-success-text: var(--icon-default); --icon-btn-success-text-hover: var(--type-success-active); --icon-btn-info-text: var(--icon-default);
    --icon-btn-info-text-hover: var(--type-info-active); --icon-btn-warning-text: var(--icon-default); --icon-btn-warning-text-hover: var(--type-warning-active);
    --icon-btn-danger-text: var(--icon-default); --icon-btn-danger-text-hover: var(--type-danger-active); --icon-btn-critical-text: var(--icon-default);
    --icon-btn-critical-text-hover: var(--type-critical-active); --tile-btn-text: var(--type-primary); --tile-btn-background: var(--components-background);
    --tile-btn-border: var(--border-default); --tile-btn-text-hover: var(--type-primary); --tile-btn-background-hover: var(--components-background);
    --tile-btn-border-hover: var(--border-primary); --icon-default: var(--text-faded); --icon-primary: var(--type-primary);
    --icon-secondary: var(--type-secondary); --icon-success: var(--type-success); --icon-info: var(--type-info);
    --icon-warning: var(--type-warning); --icon-danger: var(--type-danger); --icon-critical: var(--type-critical);
    --progressbar-default-fill: var(--text-default); --progressbar-default-unfill: var(--background-default); --progressbar-primary-fill: var(--type-primary);
    --progressbar-primary-unfill: var(--background-default); --progressbar-success-fill: var(--type-success); --progressbar-success-unfill: var(--background-default);
    --progressbar-info-fill: var(--type-info); --progressbar-info-unfill: var(--background-default); --progressbar-warning-fill: var(--type-warning);
    --progressbar-warning-unfill: var(--background-default); --progressbar-danger-fill: var(--type-danger); --progressbar-danger-unfill: var(--background-default);
    --slider-primary-fill: var(--type-primary); --slider-primary-background: var(--type-default); --slider-primary-thumb-background: var(--type-primary);
    --slider-primary-thumb-border: var(--type-primary); --slider-primary-thumb-background-hover: var(--type-primary-hover); --slider-primary-thumb-border-hover: var(--type-primary-hover);
    --slider-primary-marks-text: var(--text-default); --slider-primary-marks-background: var(--text-faded); --slider-primary-text: var(--text-default);
    --slider-danger-fill: var(--type-danger); --slider-danger-background: var(--type-default); --slider-danger-thumb-background: var(--type-danger);
    --slider-danger-thumb-border: var(--type-danger); --slider-danger-thumb-background-hover: var(--type-danger-hover); --slider-danger-thumb-border-hover: var(--type-danger-hover);
    --slider-danger-marks-text: var(--text-default); --slider-danger-marks-background: var(--text-faded); --slider-danger-text: var(--text-default);
    --hint-default-text: var(--text-default); --hint-success-text: var(--type-success); --hint-info-text: var(--type-info);
    --hint-warning-text: var(--type-warning); --hint-danger-text: var(--type-danger); --text-primary: var(--type-primary);
    --text-secondary: var(--type-secondary); --text-success: var(--type-success); --text-info: var(--type-info);
    --text-warning: var(--type-warning); --text-danger: var(--type-danger); --text-critical: var(--type-critical);
    --background-grey: var(--color-grey); --background-grey-light: var(--color-grey-light); --background-grey-dark: var(--color-grey-dark);
    --background-default: var(--type-default); --background-primary: var(--type-primary); --background-success: var(--type-success);
    --background-info: var(--type-info); --background-warning: var(--type-warning); --background-danger: var(--type-danger);
    --border-grey: var(--color-grey); --border-grey-light: var(--color-grey-light); --border-dark: var(--color-grey-dark);
    --border-default: var(--type-default); --border-primary: var(--type-primary); --border-secondary: var(--type-secondary);
    --border-success: var(--type-success); --border-info: var(--type-info); --border-warning: var(--type-warning);
    --border-danger: var(--type-danger);
}
body.bv-body { --bv-on-accent: #fff; }
html[data-theme="dark"] body.bv-body { --bv-on-accent: #0c1830; }

/* ModulesGarden Proxmox VE VPS & Cloud: native Layers variables also cover teleported modals. */
body.bv-body #layers2, body.bv-body#layers2-body {
    --text-default: var(--bv-text); --text-headers: var(--bv-text); --text-faded: var(--bv-muted);
    --color-grey: var(--bv-border); --color-grey-light: var(--bv-muted); --color-grey-dark: var(--bv-text);
    --app-background: var(--bv-bg); --components-background: var(--bv-panel); --components-border: var(--bv-border);
    --type-default: var(--bv-panel-alt); --type-default-hover: var(--bv-soft); --type-default-active: var(--bv-border); --type-default-faded: var(--bv-panel-alt);
    --type-primary: var(--bv-accent); --type-primary-hover: var(--bv-accent-hover); --type-primary-active: var(--bv-accent-hover); --type-primary-faded: var(--bv-soft);
    --type-secondary: var(--bv-muted); --type-secondary-hover: var(--bv-text); --type-secondary-active: var(--bv-text); --type-secondary-faded: var(--bv-panel-alt);
    --type-info: var(--bv-accent); --type-info-hover: var(--bv-accent-hover); --type-info-active: var(--bv-accent-hover); --type-info-faded: var(--bv-soft);
    --type-success: var(--bv-success); --type-success-hover: var(--bv-success); --type-success-active: var(--bv-success); --type-success-faded: var(--bv-success-bg);
    --type-warning: var(--bv-warning); --type-warning-hover: var(--bv-warning); --type-warning-active: var(--bv-warning); --type-warning-faded: var(--bv-warning-bg);
    --type-danger: var(--bv-danger); --type-danger-hover: var(--bv-danger); --type-danger-active: var(--bv-danger); --type-danger-faded: var(--bv-danger-bg);
    --type-critical: var(--bv-danger); --type-critical-hover: var(--bv-danger); --type-critical-active: var(--bv-danger); --type-critical-faded: var(--bv-danger-bg);
    --table-lines: var(--bv-border); --menu-text-active: var(--bv-accent); --border-default: var(--bv-border);
    --btn-plain-primary-text: var(--bv-on-accent); --btn-plain-info-text: var(--bv-on-accent);
    --label-primary-text: var(--bv-on-accent); --badge-primary-text: var(--bv-on-accent);
    --label-success-background: var(--bv-success-bg); --label-success-text: var(--bv-success);
    --label-warning-background: var(--bv-warning-bg); --label-warning-text: var(--bv-warning);
    --label-danger-background: var(--bv-danger-bg); --label-danger-text: var(--bv-danger);
    --tooltip-background: var(--bv-text); --tooltip-text: var(--bv-panel);
    font-family: inherit; color: var(--bv-text); color-scheme: inherit;
}
html[data-theme="dark"] :is(body.bv-body #layers2,body.bv-body#layers2-body) {
    --btn-plain-success-text: #102b21; --btn-plain-warning-text: #30230e; --btn-plain-danger-text: #32131c; --btn-plain-critical-text: #32131c;
}
html:has(body.bv-page-clientareaproductdetails#layers2-body), body.bv-page-clientareaproductdetails#layers2-body { overflow-x: clip; }
body.bv-page-clientareaproductdetails .product-details-tab-container { border-color: var(--bv-border); }
body.bv-body .mg-wrapper { font-family: inherit; max-width: 100%; min-width: 0; }
body.bv-body #layers2 :is(.lu-app-main,.lu-app-main__body,.lu-app-clientarea) { background: transparent; min-width: 0; }
body.bv-body #layers2 .lu-app-main__body { padding: 0; }
body.bv-body #layers2 :is(.lu-widget,.lu-tile,.lu-card) { border-radius: 14px; box-shadow: var(--bv-shadow); }
:is(body.bv-body #layers2,body.bv-body#layers2-body) :is(.lu-widget__header,.lu-modal__top) { border-color: var(--bv-border); }
:is(body.bv-body #layers2,body.bv-body#layers2-body) :is(.lu-widget__top,.lu-top__title) { color: var(--bv-text); font-weight: 600; }
:is(body.bv-body #layers2,body.bv-body#layers2-body) :is(.lu-btn,.lu-form-control) { border-radius: 8px; }
:is(body.bv-body #layers2,body.bv-body#layers2-body) .lu-form-control { background: var(--input-background); color: var(--input-text); border-color: var(--input-border); }
:is(body.bv-body #layers2,body.bv-body#layers2-body) .lu-btn { min-height: 36px; }
:is(body.bv-body #layers2,body.bv-body#layers2-body) .lu-btn--icon { min-width: 36px; }
:is(body.bv-body #layers2,body.bv-body#layers2-body) .lu-modal__content { background: var(--modal-background); color: var(--modal-text); border-radius: 16px; border: 1px solid var(--bv-border); box-shadow: var(--bv-shadow); }
:is(body.bv-body #layers2,body.bv-body#layers2-body) :is(a,button,input,select,textarea):focus-visible { outline: 2px solid var(--bv-accent); outline-offset: 3px; }
body.bv-body #layers2 :is(.lu-table-responsive,.lu-tabs-nav) { overflow-x: auto; }
body.bv-body #layers2 .lu-nav-tabs { flex-wrap: wrap; }
body.bv-body #layers2 .apexcharts-text { fill: var(--bv-muted) !important; }
body.bv-body #layers2 :is(.apexcharts-gridline,.apexcharts-xaxis line,.apexcharts-yaxis line) { stroke: var(--bv-border); }
body.bv-body #layers2 :is(.apexcharts-tooltip,.apexcharts-tooltip-title,.apexcharts-menu) { background: var(--bv-panel) !important; color: var(--bv-text) !important; border-color: var(--bv-border) !important; }
body.bv-body #layers2 .apexcharts-legend-text { color: var(--bv-muted) !important; }
/* Preserve VNC framebuffer and xterm colors: never invert canvas, images or terminal contents. */

/* Traffic purchase: service identity, readable usage, billing confirmation. */
body.bv-body .pve-purchase-wrap { max-width: none; margin: 0; }
body.bv-body .pve-page-title { font-size: 20px; color: var(--bv-text); }
body.bv-body :is(.pve-section,.pve-usage-card,.pve-confirm-item,.pve-modal) { border-color: var(--bv-border); background: var(--bv-panel); border-radius: 14px; color: var(--bv-text); box-shadow: var(--bv-shadow); }
body.bv-body :is(.pve-section-header,.pve-modal-header,.pve-modal-footer) { background: var(--bv-panel-alt); border-color: var(--bv-border); }
body.bv-body :is(.pve-section-title,.pve-usage-value,.pve-number,.pve-field label,.pve-usage-percent,.pve-modal-title,.pve-confirm-item strong) { color: var(--bv-text); }
body.bv-body :is(.pve-section-note,.pve-usage-label,.pve-service-meta,.pve-confirm-item span) { color: var(--bv-muted); }
body.bv-body :is(.pve-product-badge,.pve-price-box,.pve-confirm-total) { background: var(--bv-soft); color: var(--bv-accent); border-color: var(--bv-border); }
body.bv-body :is(.pve-confirm-total strong,.pve-service-id) { color: var(--bv-accent); }
body.bv-body .pve-usage-bar { background: var(--bv-border); }
body.bv-body .pve-usage-fill { background: var(--bv-accent); }
body.bv-body .pve-usage-fill.is-ok { background: var(--bv-success); }
body.bv-body .pve-usage-fill.is-warning { background: var(--bv-warning); }
body.bv-body .pve-usage-fill.is-danger { background: var(--bv-danger); }
body.bv-body :is(.pve-status-pill.is-active,.pve-status-success) { background: var(--bv-success-bg); color: var(--bv-success); }
body.bv-body :is(.pve-status-pill.is-suspended,.pve-tier-warning) { background: var(--bv-warning-bg); color: var(--bv-warning); border-color: var(--bv-warning); }
body.bv-body .pve-status-failed { background: var(--bv-danger-bg); color: var(--bv-danger); }
body.bv-body :is(.pve-table th,.pve-empty) { background: var(--bv-panel-alt); color: var(--bv-muted); }
body.bv-body .pve-table :is(th,td) { border-color: var(--bv-border); }
body.bv-body .pve-table tbody tr:hover { background: var(--bv-panel-alt); }
body.bv-body .pve-modal { max-height: calc(100dvh - 36px); overflow-y: auto; }
body.bv-body .pve-confirm-item strong { white-space: normal; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
body.bv-body .pve-confirm-total [data-confirm-cycle] { font-size: 17px; }
body.bv-body .bv-plugin-toolbar { display: flex; gap: 10px; flex-wrap: wrap; justify-content: space-between; align-items: center; margin-bottom: 20px; }
body.bv-body .bv-plugin-toolbar h2 { margin: 0; font-size: 20px; }

/* Transfer: explicit ownership warning, one clear form, bounded layout. */
body.bv-body .bv-push { max-width: 820px; margin: 0 auto; }
body.bv-body .bv-plugin-card { padding: 24px; border: 1px solid var(--bv-border); border-radius: 16px; background: var(--bv-panel); box-shadow: var(--bv-shadow); }
body.bv-body .bv-plugin-lead { color: var(--bv-muted); line-height: 1.7; }
body.bv-body .bv-push .input-group { gap: 8px; flex-wrap: nowrap; }
body.bv-body .bv-push .input-group .form-control { min-width: 0; border-radius: 8px; }
body.bv-body .bv-push-confirm { display: flex; gap: 10px; align-items: flex-start; padding: 16px; background: var(--bv-danger-bg); color: var(--bv-danger); border-radius: 10px; margin: 20px 0; line-height: 1.6; }
body.bv-body .bv-push-confirm input { flex: 0 0 auto; margin-top: 5px; }
body.bv-body .bv-plugin-empty { padding: 36px 20px; text-align: center; color: var(--bv-muted); }
body.bv-body .bv-plugin-table { overflow-x: auto; border: 1px solid var(--bv-border); border-radius: 14px; }
body.bv-body .bv-plugin-table table { margin-bottom: 0; }
body.bv-body .bv-plugin-table td { overflow-wrap: anywhere; min-width: 100px; }

/* Email verification: reuse the module's controls/requests; remove unrelated branding treatment. */
body.bv-body #emailverify {
    --ev-blue: var(--bv-accent); --ev-ink: var(--bv-text); --ev-muted: var(--bv-muted);
    --ev-border: var(--bv-border); --ev-surface: var(--bv-panel); --ev-control: var(--bv-panel-alt);
    margin-top: 0; border: 1px solid var(--bv-border); border-radius: 16px; box-shadow: var(--bv-shadow); backdrop-filter: none;
}
body.bv-body #emailverify .company-text { font-size: 28px; letter-spacing: -.02em; }
body.bv-body #emailverify :is(.ev-intro,.ev-secondary-link) { font-weight: 400; line-height: 1.75; }
body.bv-body #emailverify .ev-visual { background: var(--bv-soft); border-radius: 14px; }
body.bv-body #emailverify .ev-code-group { box-shadow: none; }
body.bv-body #emailverify .btn-primary { background: var(--bv-accent); color: var(--bv-on-accent); border-color: var(--bv-accent); box-shadow: none; border-radius: 8px; }
body.bv-body #emailverify .ev-input { color: var(--bv-text); background: var(--bv-panel-alt); }
body.bv-body #emailverify .ev-input::placeholder { color: var(--bv-muted); }
body.bv-body #dmitError { background: var(--bv-panel); color: var(--bv-text); border: 1px solid var(--bv-border); border-radius: 16px; box-shadow: var(--bv-shadow); }
body.bv-body #dmitError :is(.errorTitle,.errorText) { color: var(--bv-text); }

/* Identity: selection cards -> native provider form; QR stays white for scanning. */
body.bv-body .realname-auth-card { padding: 24px; background: var(--bv-panel); color: var(--bv-text); border: 1px solid var(--bv-border); border-radius: 16px; box-shadow: var(--bv-shadow); font-family: inherit; }
body.bv-body .realname-auth-card .edit-auth-type-tit { text-align: left; }
body.bv-body .realname-auth-card .edit-auth-type-tit h1 { color: var(--bv-text); padding: 0 0 10px; }
body.bv-body .realname-auth-card :is(.edit-auth-type-des,.edit-auth-type-item-txt,.edit-auth-type-ft) { color: var(--bv-muted); }
body.bv-body section.realname-auth-card .edit-auth-type-list.style-2 { display: grid; grid-template-columns: repeat(auto-fit,minmax(230px,1fr)); gap: 16px; margin: 0; padding-top: 24px; }
body.bv-body section.realname-auth-card .style-2 .edit-auth-type-item { display: flex; flex-direction: column; margin: 0; padding: 20px; width: auto; min-width: 0; max-width: none; border: 1px solid var(--bv-border); border-radius: 12px; background: var(--bv-panel-alt); }
body.bv-body .realname-auth-card :is(.edit-auth-type-item-icon,.edit-auth-type-item-con,.edit-auth-type-item-ft) { display: block; width: 100%; padding: 0; }
body.bv-body .realname-auth-card .edit-auth-type-item-icon { text-align: left; }
body.bv-body .realname-auth-card .edit-auth-type-item-tit { color: var(--bv-text); }
body.bv-body .realname-auth-card .edit-auth-type-item-con { flex: 1; padding-bottom: 20px; }
body.bv-body .realname-auth-card .edit-auth-type-item-txt { line-height: 1.75; padding-top: 16px; }
body.bv-body .realname-auth-card .edit-auth-type-item-txt ul { padding-left: 0; }
body.bv-body .realname-auth-card .edit-auth-type-item-txt li { font-weight: 400; }
body.bv-body .realname-auth-card .edit-auth-type-des { text-align: left; }
body.bv-body .realname-auth-card .btn-return { background: var(--bv-panel-alt); color: var(--bv-text); border: 1px solid var(--bv-border); }
body.bv-body .realname-auth-card .edit-auth-type-item-ft .btn { width: 100%; }
body.bv-body .realname-auth-card .edit-auth-type-ft { padding: 20px 0 0; }
body.bv-body :is(.realname-auth-card,.certification,.certification-yes) :is(.col-red,.text-danger) { color: var(--bv-danger); }
body.bv-body :is(.certification,.certification-yes) { color: var(--bv-text); }
body.bv-body .realname-qrcode-wrap #qrcode { background: #fff; }
body.bv-body .realname-qrcode-mask { background: var(--bv-panel); color: var(--bv-text); border-color: var(--bv-border); }
body.bv-body .realname-qrcode-mask span { color: var(--bv-muted); }
body.bv-body .completeinfo-card { background: var(--bv-panel); color: var(--bv-text); border: 1px solid var(--bv-border); border-radius: 14px; box-shadow: var(--bv-shadow); }
body.bv-body :is(.completeinfo-title,.completeinfo-subtitle) { color: var(--bv-text); }

/* Shared third-party dialogs. No interference with close/acknowledgement timers. */
body.bv-body :is(.swal2-popup,.layui-layer,.jconfirm .jconfirm-box) { background: var(--bv-panel); color: var(--bv-text); border: 1px solid var(--bv-border); border-radius: 16px; }
body.bv-body :is(.swal2-title,.swal2-content,.swal2-html-container,.jconfirm-title,.jconfirm-content,.layui-layer-content) { color: var(--bv-text); }
body.bv-body :is(.layui-layer-title,.layui-layer-btn) { background: var(--bv-panel-alt); color: var(--bv-text); border-color: var(--bv-border); }
body.bv-body .swal2-styled.swal2-confirm { background: var(--bv-accent); color: var(--bv-on-accent); }
body.bv-body .swal2-styled.swal2-cancel { background: var(--bv-panel-alt); color: var(--bv-text); border: 1px solid var(--bv-border); }

/* Announcement: theme follows BestVM, severity and forced-reading rules remain intact. */
body.bv-body .idc-popup-notice-root .idc-popup-notice-panel { background: var(--bv-panel); color: var(--bv-text); border-color: var(--bv-border); border-radius: 16px; box-shadow: 0 24px 80px #0004; }
body.bv-body .idc-popup-notice-root :is(.idc-popup-notice-title,.idc-popup-notice-body,.idc-popup-notice-countdown,.idc-popup-notice-confirm span) { color: var(--bv-text); }
body.bv-body .idc-popup-notice-root :is(.idc-popup-notice-close,.idc-popup-notice-confirm,.idc-popup-notice-confirm-cancel) { background: var(--bv-panel-alt); color: var(--bv-text); border-color: var(--bv-border); }
body.bv-body .idc-popup-notice-root [data-theme="blue"] :is(.idc-popup-notice-link,.idc-popup-notice-read,.idc-popup-notice-confirm-close,.idc-popup-notice-accent) { background: var(--bv-accent); color: var(--bv-on-accent); }
body.bv-body .idc-popup-notice-root button:focus-visible { outline: 2px solid var(--bv-accent); outline-offset: 3px; }

/* Affiliate eligibility panels use WHMCS markup, scoped here to its native page. */
body.bv-body.bv-page-affiliates .progress { border-radius: 6px; background: var(--bv-border); }
body.bv-body.bv-page-affiliates .progress-bar { background: var(--bv-accent); color: var(--bv-on-accent); }
body.bv-body.bv-page-affiliates .progress-bar-success { background: var(--bv-success-bg); color: var(--bv-success); }

@media (max-width: 760px) {
    body.bv-body :is(.bv-plugin-card,.realname-auth-card) { padding: 18px; }
    body.bv-body section.realname-auth-card .edit-auth-type-list.style-2 { grid-template-columns: 1fr; }
    body.bv-body :is(.realname-auth-card,.certification) :is(.form-group-l,.form-group-r) { width: 100%; max-width: 100%; flex-basis: 100%; text-align: left !important; padding: 0 15px; }
    body.bv-body :is(.realname-auth-card,.certification) .form-group { padding-right: 0; }
    body.bv-body #emailverify { padding: 20px; }
    body.bv-body #emailverify .ev-layout { grid-template-columns: 1fr; gap: 0; }
    body.bv-body #emailverify .ev-visual-column { display: none; }
    body.bv-body #layers2 .lu-widget__top { flex-wrap: wrap; gap: 10px; }
    :is(body.bv-body #layers2,body.bv-body#layers2-body) .lu-modal__dialog { max-width: calc(100vw - 24px); margin-inline: auto; }
    body.bv-body .pve-confirm-item strong { font-size: 20px; }
    body.bv-body .pve-form-grid { grid-template-columns: 1fr; }
    body.bv-body .bv-plugin-toolbar { align-items: flex-start; }
}
