/* Behfiab R17 · one interaction language for every existing control family.
   These adapters do not replace bound inputs or move Blazor-owned DOM nodes.
   Dropdown placement and dialog lifecycle stay with their owning component. */
:root {
  --control-height:44px;
  --control-radius:12px;
  --control-radius-panel:16px;
  --control-radius-dialog:22px;
  --control-gap:8px;
  --control-padding:14px;
  --control-ease:cubic-bezier(.2,.7,.2,1);
}
html[data-theme] {
  --control-border:var(--ui-border);
  --control-surface:var(--ui-input);
  --control-panel:var(--ui-surface-raised);
  --control-selected:var(--ui-primary-soft);
  --control-ring:0 0 0 3px color-mix(in srgb,var(--ui-primary) 20%,transparent);
  --control-shadow:0 18px 48px color-mix(in srgb,var(--ui-text) 14%,transparent),0 2px 7px color-mix(in srgb,var(--ui-text) 5%,transparent);
  --control-dialog-shadow:0 28px 95px rgba(7,18,29,.24);
  --rz-input-border-radius:var(--control-radius);
  --rz-input-height:var(--control-height);
  --rz-dropdown-panel-background-color:var(--control-panel);
  --rz-dropdown-item-selected-background-color:var(--control-selected);
  --rz-dropdown-item-selected-color:var(--ui-primary);
  --rz-dialog-border-radius:var(--control-radius-dialog);
}
html[data-theme=dark] {
  --control-shadow:0 18px 48px rgba(0,0,0,.35),0 2px 7px rgba(0,0,0,.18);
  --control-dialog-shadow:0 28px 95px rgba(0,0,0,.5);
}

/* 1. Field: native, Radzen, searchable QpSelect and accounting tree. */
html[data-theme] :is(.qp-app-shell,.qp-main-layout,.qp-account-settings,.rz-dialog,.modal,.side-dialog-content,.qp-financial-dialog) select:not([multiple]):not([size]),
html[data-theme] :is(.rz-dropdown,.rz-multiselect,.qp-v12-select-trigger,.qp-tree-picker__control) {
  min-height:var(--control-height);
  border:1px solid var(--control-border)!important;
  border-radius:var(--control-radius)!important;
  background-color:var(--control-surface)!important;
  color:var(--ui-text)!important;
  font-family:var(--ui-font)!important;
  font-size:13px;
  line-height:1.7;
  box-shadow:0 1px 2px color-mix(in srgb,var(--ui-text) 3%,transparent);
  transition:border-color .16s var(--control-ease),box-shadow .16s var(--control-ease),background-color .16s var(--control-ease);
}
html[data-theme] :is(.qp-app-shell,.qp-main-layout,.qp-account-settings,.rz-dialog,.modal,.side-dialog-content,.qp-financial-dialog) select:not([multiple]):not([size]) {
  padding-block:9px;
  padding-inline:var(--control-padding) 38px;
  text-align:start;
  background-position:left 13px center;
  background-size:13px 13px;
  cursor:pointer;
}
html[data-theme] [dir=ltr] select:not([multiple]):not([size]) {background-position:right 13px center}
html[data-theme] :is(.rz-dropdown,.rz-multiselect,.qp-v12-select-trigger,.qp-tree-picker__control):hover:not(:disabled):not(.rz-state-disabled),
html[data-theme] :is(.qp-app-shell,.qp-main-layout,.qp-account-settings,.rz-dialog,.qp-financial-dialog) select:hover:not(:disabled) {
  border-color:color-mix(in srgb,var(--ui-primary) 45%,var(--ui-border))!important;
}
html[data-theme] :is(.qp-v12-select.is-open>.qp-v12-select-trigger,.qp-tree-picker__control:focus-within,.rz-dropdown:focus-within,.rz-multiselect:focus-within),
html[data-theme] :is(.qp-app-shell,.qp-main-layout,.qp-account-settings,.rz-dialog,.qp-financial-dialog) select:focus-visible {
  border-color:var(--ui-primary)!important;
  outline:none;
  box-shadow:var(--control-ring)!important;
}
html[data-theme] :is(.rz-dropdown,.rz-multiselect,.qp-v12-select-trigger)[aria-invalid=true],
html[data-theme] :is(.rz-dropdown,.rz-multiselect,.qp-v12-select-trigger).invalid,
html[data-theme] :is(.qp-app-shell,.qp-main-layout,.qp-account-settings,.rz-dialog,.qp-financial-dialog) select:is(.invalid,[aria-invalid=true]) {
  border-color:var(--ui-danger)!important;
}
html[data-theme] :is(.rz-dropdown.rz-state-disabled,.rz-multiselect.rz-state-disabled,.qp-v12-select-trigger:disabled),
html[data-theme] :is(.qp-app-shell,.qp-main-layout,.qp-account-settings,.rz-dialog,.qp-financial-dialog) select:disabled {
  background-color:var(--ui-surface-alt)!important;
  color:var(--ui-subtle)!important;
  border-style:dashed!important;
  box-shadow:none!important;
  opacity:.72;
  cursor:not-allowed;
}
html[data-theme] :is(.rz-dropdown-label,.rz-multiselect-label) {padding-block:10px;padding-inline-start:13px;font-size:13px;line-height:1.7;min-width:0}
html[data-theme] .rz-dropdown-trigger {width:36px;color:var(--ui-muted);background:transparent}
html[data-theme] .qp-v12-select-trigger {padding:9px 13px;gap:10px;text-align:start}
html[data-theme] .qp-v12-select-trigger>span {min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html[data-theme] .qp-v12-select-trigger>i:last-child {font-size:10px;color:var(--ui-muted);transition:rotate .18s var(--control-ease)}
html[data-theme] .qp-v12-select.is-open .qp-v12-select-trigger>i:last-child {rotate:180deg}
html[data-theme] .qp-tree-picker__trigger {min-height:42px;padding:8px 13px}
html[data-theme] .qp-tree-picker__label {font-size:13px;font-weight:500}

/* Native selects keep their real browser/Blazor semantics. Supporting browsers
   use a fully themed native popup; older browsers retain their OS picker. */
@supports (appearance:base-select) {
  html[data-theme] :is(.qp-app-shell,.qp-main-layout,.qp-account-settings,.rz-dialog,.modal,.qp-financial-dialog) select:not([multiple]):not([size]),
  html[data-theme] :is(.qp-app-shell,.qp-main-layout,.qp-account-settings,.rz-dialog,.modal,.qp-financial-dialog) select:not([multiple]):not([size])::picker(select) {appearance:base-select}
  html[data-theme] :is(.qp-app-shell,.qp-main-layout,.qp-account-settings,.rz-dialog,.modal,.qp-financial-dialog) select:not([multiple]):not([size]) {background-image:none;padding-inline:13px;gap:14px;align-items:center}
  html[data-theme] select::picker(select) {border:1px solid var(--ui-border);border-radius:var(--control-radius-panel);background:var(--control-panel);color:var(--ui-text);box-shadow:var(--control-shadow);padding:6px;max-height:min(340px,65dvh);overflow:auto;scrollbar-width:thin}
  html[data-theme] select::picker-icon {color:var(--ui-muted);font-size:12px;transition:rotate .18s var(--control-ease)}
  html[data-theme] select:open::picker-icon {rotate:180deg}
  html[data-theme] select option {font:400 13px/1.8 var(--ui-font);border-radius:9px;min-height:40px;padding:8px 11px;gap:10px;background:var(--control-panel);color:var(--ui-text)}
  html[data-theme] select option:is(:hover,:focus-visible,:checked) {background:var(--control-selected);color:var(--ui-primary)}
  html[data-theme] select option:disabled {color:var(--ui-subtle);background:var(--ui-surface-alt)}
  html[data-theme] select optgroup {font:600 12px/1.8 var(--ui-font);color:var(--ui-muted);padding:5px}
  html[data-theme] select option::checkmark {color:var(--ui-primary)}
}

/* 2. Selection surfaces: radius, breathing room, search, selected/empty states.
   No z-index changes: native popovers and Radzen own their top-layer placement. */
html[data-theme] :is(.qp-v12-select-panel,.qp-tree-picker__panel:not(.is-inline),.rz-dropdown-panel,.rz-multiselect-panel,.rz-autocomplete-panel,.select2-dropdown) {
  border:1px solid var(--ui-border)!important;
  border-radius:var(--control-radius-panel)!important;
  background:var(--control-panel)!important;
  color:var(--ui-text)!important;
  box-shadow:var(--control-shadow)!important;
  font-family:var(--ui-font)!important;
  scrollbar-width:thin;
  scrollbar-color:var(--ui-border) transparent;
  overscroll-behavior:contain;
}
html[data-theme] .qp-v12-select-panel {padding:7px;max-width:calc(100vw - 24px);animation:qp-control-appear .14s var(--control-ease)}
html[data-theme] .qp-v12-select-panel::backdrop {background:transparent}
html[data-theme] .qp-select-panel-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 7px 10px;color:var(--ui-muted);font-size:11px;line-height:1.8}
html[data-theme] .qp-select-panel-heading strong {font-size:11px;font-weight:600;color:var(--ui-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html[data-theme] .qp-select-count {min-width:22px;padding:1px 7px;border-radius:6px;background:var(--ui-surface-alt);color:var(--ui-muted);text-align:center;font-variant-numeric:tabular-nums;flex-shrink:0}
html[data-theme] :is(.qp-v12-select-search,.qp-tree-picker__search-wrap) {margin:0;padding:0 2px 7px;border:0;background:transparent}
html[data-theme] .qp-v12-select-search {position:relative;gap:0;display:flex;align-items:center}
html[data-theme] .qp-v12-select-search>i {position:absolute;inset-inline-start:15px;font-size:12px;color:var(--ui-muted);pointer-events:none}
html[data-theme] .qp-v12-select-search input,
html[data-theme] .qp-tree-picker__search {
  width:100%;height:40px;min-height:40px;padding:9px 12px;border:1px solid var(--ui-border)!important;border-radius:10px!important;background:var(--ui-surface-alt)!important;color:var(--ui-text)!important;font:400 12px/1.7 var(--ui-font);box-shadow:none!important;
}
html[data-theme] .qp-v12-select-search input {padding-inline-start:35px}
html[data-theme] :is(.qp-v12-select-search input,.qp-tree-picker__search):focus-visible {border-color:var(--ui-primary)!important;outline:none;box-shadow:var(--control-ring)!important}
html[data-theme] .qp-tree-picker__search-wrap {padding:10px 10px 7px}
html[data-theme] .qp-v12-select-options {max-height:290px;padding:2px;scrollbar-width:thin;scroll-padding-block:6px}
html[data-theme] .qp-v12-select-options>button {min-height:44px;padding:10px 11px;gap:10px;border-radius:10px;line-height:1.7;margin-block:2px;transition:background-color .12s,color .12s;position:relative}
html[data-theme] .qp-v12-select-options strong {font-size:13px;font-weight:500;line-height:1.7}
html[data-theme] .qp-v12-select-options small {font-size:11px;color:var(--ui-muted);line-height:1.75;margin-top:3px}
html[data-theme] .qp-v12-select-options>button>i:first-child:not(:last-child) {width:27px;height:27px;display:grid;place-items:center;flex-shrink:0;border-radius:8px;background:var(--ui-surface-alt);color:var(--ui-muted);font-size:12px}
html[data-theme] .qp-v12-select-options>button:is(:hover,:focus-visible,.is-selected),
html[data-theme] :is(.rz-dropdown-item,.rz-multiselect-item):is(:hover,:focus-visible,.rz-state-highlight),
html[data-theme] .select2-results__option[aria-selected=true] {background:var(--control-selected)!important;color:var(--ui-primary)!important}
html[data-theme] .qp-v12-select-options>button.is-selected {box-shadow:inset -3px 0 0 var(--ui-primary)}
html[data-theme] .qp-v12-select-options>button:focus-visible {outline:2px solid var(--ui-primary);outline-offset:-2px}
html[data-theme] .qp-v12-select-options>button:disabled {background:transparent!important;color:var(--ui-subtle)!important;box-shadow:none;cursor:not-allowed;opacity:.65}
html[data-theme] .qp-select-empty {display:grid;justify-items:center;gap:9px;padding:25px 15px;color:var(--ui-muted);text-align:center;font-size:12px;line-height:1.8}
html[data-theme] .qp-select-empty>i {display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--ui-surface-alt);font-size:17px;color:var(--ui-subtle)}
html[data-theme] :is(.rz-dropdown-items,.rz-multiselect-items) {padding:5px!important}
html[data-theme] :is(.rz-dropdown-item,.rz-multiselect-item,.rz-autocomplete-list-item) {min-height:40px;border-radius:9px;padding:9px 11px!important;font-size:13px;line-height:1.7;white-space:normal;overflow-wrap:anywhere;margin-block:2px}
html[data-theme] :is(.rz-dropdown-panel,.rz-multiselect-panel) :is(.rz-dropdown-filter-container,.rz-multiselect-filter-container) {padding:10px;border-bottom:1px solid var(--ui-border);background:var(--control-panel)}
html[data-theme] :is(.rz-dropdown-filter,.rz-multiselect-filter) {background:var(--ui-surface-alt)!important;border:1px solid var(--ui-border)!important;border-radius:10px!important;min-height:38px;font-size:12px;color:var(--ui-text)!important}
html[data-theme] .qp-tree-picker__heading {padding:10px 12px;min-height:44px;background:var(--control-panel);border-color:var(--ui-border)}
html[data-theme] .qp-tree-picker__heading strong {font-size:12px;font-weight:600}
html[data-theme] .qp-tree-picker__toolbar {padding:3px 10px 9px;border-color:var(--ui-border);gap:6px}
html[data-theme] .qp-tree-picker__toolbar>button {min-height:29px;border-radius:7px;color:var(--ui-primary);font-size:11px}
html[data-theme] .qp-tree-picker__additional {padding:12px 14px;background:var(--ui-secondary-soft);color:var(--ui-secondary-ink);border-color:var(--ui-border);font-weight:600}
html[data-theme] .qp-tree-picker__additional:hover {background:color-mix(in srgb,var(--ui-secondary-soft) 82%,var(--ui-secondary));color:var(--ui-text)}
html[data-theme] .qp-tree-picker__selection {padding:10px 13px;border-color:var(--ui-border);background:var(--ui-surface-alt)}
html[data-theme] .qp-account-tree-picker {--picker-root:var(--ui-text);--picker-branch:var(--ui-info);--picker-leaf:var(--ui-success);--picker-selected:var(--ui-primary)}
html[data-theme] .qp-tree-picker__node.is-selected {color:var(--ui-on-primary);background:var(--ui-primary)}

/* 3. Dialog shells. Explicit adapters keep drawers, fullscreen screens and
   nested content containers out of the shell selector. Existing widths stay. */
html[data-theme] :is(.qp-financial-dialog,.rz-dialog,.modal-content,.side-dialog-content,.qb-dialog,.role-dialog,.qp-modal,.qp-report-modal,.qp-voucher-modal,.qp-oobe-modal-shell,.qp-bank-modal-content,.qp-bank-modal,.qp-print-modal,.qp-product-modal-shell,.qp-product-modal,.qp-quotation-modal-shell,.qp-customer-modal,.qp-customer-modal-shell,.qp-warehouse-modal-shell,.qp-type-modal,.qp-confirm-modal,.qp-invoice-detail-modal,.qp-ledger-modal-content,.qpc-modal,.pos-simple-modal,.pos-payment-modal,.payroll-modal,.qp-turnover-dialog,.qp-fx-dialog,.qp-stock-filter-dialog) {
  border:1px solid var(--ui-border)!important;
  border-radius:var(--control-radius-dialog)!important;
  background:var(--control-panel)!important;
  color:var(--ui-text)!important;
  font-family:var(--ui-font)!important;
  box-shadow:var(--control-dialog-shadow)!important;
  color-scheme:inherit;
}
html[data-theme] :is(.qp-financial-dialog,.qp-turnover-dialog,.qp-fx-dialog,.qp-stock-filter-dialog)::backdrop {background:var(--ui-overlay);backdrop-filter:blur(5px)}
html[data-theme] :is(.qp-modal-backdrop,.qp-voucher-modal-backdrop,.qp-bank-modal-backdrop,.qp-print-modal-backdrop,.qp-product-modal-backdrop,.qp-customer-modal-backdrop,.qb-dialog-backdrop,.role-backdrop,.people-modal-backdrop,.pos-modal-backdrop,.payroll-modal-backdrop,.qpc-modal-backdrop,.qp-cashbook-modal-backdrop,.rz-dialog-mask,.qp-oobe-modal-root,.qp-quotation-modal-root,.qp-customer-modal-root,.qp-warehouse-modal-root,.qp-product-modal-root) {background:var(--ui-overlay)!important;backdrop-filter:blur(5px)}
html[data-theme] .modal[style*="background"] {background:var(--ui-overlay)!important;backdrop-filter:blur(5px)}
html[data-theme] .modal-backdrop.show {background:var(--ui-overlay);opacity:1;backdrop-filter:blur(5px)}
html[data-theme] :is(.qp-financial-dialog__header,.rz-dialog-titlebar,.modal-header,.side-dialog-header,.qb-dialog-head,.qp-modal__head,.qp-modal-header,.qp-voucher-modal__head,.qp-oobe-modal-head,.qp-bank-modal-head,.qp-print-modal-head,.qp-product-modal-head,.product-modal-head,.qp-quotation-modal-head,.qp-customer-modal__head,.qp-type-modal-head,.qp-ledger-modal-header),
html[data-theme] :is(.role-dialog,.payroll-modal,.qpc-modal)>header {
  padding:21px 24px!important;
  gap:14px;
  border-bottom:1px solid var(--ui-border)!important;
  background:linear-gradient(120deg,color-mix(in srgb,var(--ui-primary-soft) 40%,var(--control-panel)),var(--control-panel))!important;
  color:var(--ui-text)!important;
  border-radius:calc(var(--control-radius-dialog) - 1px) calc(var(--control-radius-dialog) - 1px) 0 0;
  flex-shrink:0;
}
html[data-theme] :is(.qp-financial-dialog__header,.rz-dialog-titlebar,.modal-header,.side-dialog-header,.qb-dialog-head,.qp-modal__head,.qp-modal-header,.qp-voucher-modal__head,.qp-oobe-modal-head,.qp-bank-modal-head,.qp-print-modal-head,.qp-product-modal-head,.product-modal-head,.qp-quotation-modal-head,.qp-customer-modal__head,.qp-type-modal-head,.qp-ledger-modal-header) :is(h1,h2,h3,h4,h5,h6),
html[data-theme] :is(.role-dialog,.payroll-modal,.qpc-modal)>header :is(h1,h2,h3),
html[data-theme] :is(.rz-dialog-title,.modal-title) {color:var(--ui-text)!important;font:650 18px/1.65 var(--ui-font)!important;margin:0;letter-spacing:normal}
html[data-theme] :is(.qp-financial-dialog__header,.qb-dialog-head,.qp-modal__head,.qp-oobe-modal-head,.qp-bank-modal-head,.qp-print-modal-head,.qp-product-modal-head,.qp-quotation-modal-head,.qp-customer-modal__head,.qp-ledger-modal-header) :is(p,small,.qp-modal__desc) {color:var(--ui-muted)!important;font-size:12px;line-height:1.85;margin-block:5px 0}
html[data-theme] :is(.qp-financial-dialog__icon,.qp-bank-modal-icon,.qp-voucher-modal__icon,.qp-customer-modal__icon) {width:45px;height:45px;min-width:45px;display:grid;place-items:center;border-radius:14px;background:var(--ui-primary-soft)!important;color:var(--ui-primary)!important;box-shadow:none;font-size:18px}
html[data-theme] :is(.qp-financial-dialog__body,.rz-dialog-content,.modal-body,.side-dialog-body,.qp-modal__body,.qp-modal-body,.qp-voucher-modal__body,.qp-oobe-modal-body,.qp-bank-modal-body,.qp-print-modal-body,.qp-product-modal-body,.qp-quotation-modal-body,.qp-customer-modal__body,.qp-customer-modal-body,.qp-warehouse-modal-body,.qp-type-modal-body,.qp-ledger-modal-body,.qpc-modal-body) {
  padding:23px 24px!important;
  background:var(--control-panel)!important;
  color:var(--ui-text)!important;
  min-width:0;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:var(--ui-border) transparent;
}
html[data-theme] :is(.qp-financial-dialog__footer,.modal-footer,.qp-modal__foot,.qp-oobe-modal-foot,.qp-bank-modal-foot,.qp-print-modal-foot,.qp-customer-modal__foot),
html[data-theme] :is(.qb-dialog,.role-dialog,.payroll-modal,.qpc-modal)>footer {
  padding:16px 24px!important;
  gap:10px;
  border-top:1px solid var(--ui-border)!important;
  background:var(--ui-surface-alt)!important;
  color:var(--ui-muted)!important;
  border-radius:0 0 calc(var(--control-radius-dialog) - 1px) calc(var(--control-radius-dialog) - 1px);
  flex-shrink:0;
}
html[data-theme] :is(.qp-financial-dialog__close,.qp-modal-close,.qp-modal__close,.qp-bank-modal-close,.qp-oobe-modal-close,.qp-voucher-modal__close,.qp-print-modal-close,.rz-dialog-titlebar-close,.modal-header>.close,.side-dialog-header>.close) {
  display:grid;place-items:center;flex-shrink:0;width:36px;min-width:36px;height:36px;min-height:36px;padding:0!important;border:1px solid var(--ui-border)!important;border-radius:11px!important;background:var(--control-panel)!important;color:var(--ui-muted)!important;box-shadow:none!important;cursor:pointer;font-weight:400;opacity:1;
}
html[data-theme] :is(.qp-financial-dialog__close,.qp-modal-close,.qp-modal__close,.qp-bank-modal-close,.qp-oobe-modal-close,.qp-voucher-modal__close,.qp-print-modal-close,.rz-dialog-titlebar-close,.modal-header>.close):hover:not(:disabled) {color:var(--ui-danger)!important;background:var(--ui-danger-soft)!important;border-color:var(--ui-danger)!important}
html[data-theme=dark] .modal .btn-close {filter:invert(1) grayscale(1) brightness(1.7)}
html[data-theme] :is(.qp-financial-dialog__footer,.modal-footer,.qp-modal__foot,.qp-oobe-modal-foot,.qp-bank-modal-foot,.qp-print-modal-foot,.qp-customer-modal__foot) :is(button,a.btn),
html[data-theme] :is(.qp-financial-primary,.qp-dialog-secondary,.qp-dialog-danger) {min-height:42px;border-radius:11px!important;padding:10px 18px;font:550 13px/1.65 var(--ui-font)!important;display:inline-flex;align-items:center;justify-content:center;gap:8px}
html[data-theme] .qp-financial-primary {background:var(--ui-primary)!important;color:var(--ui-on-primary)!important;border:1px solid var(--ui-primary)!important;cursor:pointer}
html[data-theme] .qp-financial-primary:hover:not(:disabled) {background:var(--ui-primary-hover)!important}
html[data-theme] .qp-dialog-secondary {background:var(--control-panel);color:var(--ui-text);border:1px solid var(--ui-border);cursor:pointer}
html[data-theme] .qp-dialog-secondary:hover:not(:disabled) {border-color:var(--ui-primary);color:var(--ui-primary);background:var(--ui-primary-soft)}
html[data-theme] .qp-dialog-danger {background:var(--ui-danger-soft);color:var(--ui-danger);border:1px solid var(--ui-danger);cursor:pointer}
html[data-theme] .qp-dialog-danger:hover:not(:disabled) {box-shadow:0 0 0 3px var(--ui-danger-soft)}
html[data-theme] :is(.qp-financial-dialog,.rz-dialog,.modal-content) :is(button,input,select,textarea):focus-visible {outline:2px solid var(--ui-primary);outline-offset:3px}
html[data-theme] .qp-confirmation-dialog {width:min(520px,calc(100vw - 32px))}
html[data-theme] .qp-confirmation-copy {margin:0;line-height:2;font-size:14px;overflow-wrap:anywhere;color:var(--ui-text)}
html[data-theme] .qp-confirmation-dialog .qp-financial-dialog__footer {justify-content:flex-end}
html[data-theme] .qp-confirmation-processing {display:inline-flex;align-items:center;gap:7px;margin-inline-end:auto;color:var(--ui-muted);font-size:12px}

/* Earlier banking adapters used a solid green title bar. Match their exact
   specificity so all legacy banking/printing dialogs use the shared header. */
html[data-theme] .qp-bank-modal-backdrop .qp-bank-modal-head {
  background:linear-gradient(120deg,color-mix(in srgb,var(--ui-primary-soft) 40%,var(--control-panel)),var(--control-panel))!important;
  color:var(--ui-text)!important;
}
html[data-theme] .qp-bank-modal-backdrop .qp-bank-modal-head :is(h1,h2,h3,h4,h5,h6) {color:var(--ui-text)!important}
html[data-theme] .qp-bank-modal-backdrop .qp-bank-modal-head small {color:var(--ui-muted)!important}
html[data-theme] .qp-bank-modal-backdrop .qp-bank-modal-head .qp-modal-close {background:var(--control-panel)!important;color:var(--ui-muted)!important;border:1px solid var(--ui-border)!important}
html[data-theme] .qp-bank-modal-backdrop .qp-bank-modal-head .qp-modal-close:hover {background:var(--ui-danger-soft)!important;color:var(--ui-danger)!important}
html[data-theme] .qp-print-modal-backdrop .qp-print-modal-head {background:linear-gradient(120deg,color-mix(in srgb,var(--ui-primary-soft) 40%,var(--control-panel)),var(--control-panel))!important}
html[data-theme] .qp-print-modal-backdrop .qp-print-modal-foot {background:var(--ui-surface-alt)!important}

/* 4. Animation and touch. Never animate values or preserve stale overlays. */
@keyframes qp-control-appear {from{opacity:0}to{opacity:1}}
@media(max-width:600px) {
  :root {--control-radius-dialog:18px;--control-height:44px}
  html[data-theme] :is(.qp-financial-dialog__header,.rz-dialog-titlebar,.modal-header,.side-dialog-header,.qb-dialog-head,.qp-modal__head,.qp-modal-header,.qp-voucher-modal__head,.qp-oobe-modal-head,.qp-bank-modal-head,.qp-print-modal-head,.qp-product-modal-head,.product-modal-head,.qp-quotation-modal-head,.qp-customer-modal__head,.qp-type-modal-head,.qp-ledger-modal-header) {padding:17px 16px!important;gap:10px}
  html[data-theme] :is(.qp-financial-dialog__body,.rz-dialog-content,.modal-body,.side-dialog-body,.qp-modal__body,.qp-modal-body,.qp-voucher-modal__body,.qp-oobe-modal-body,.qp-bank-modal-body,.qp-print-modal-body,.qp-product-modal-body,.qp-quotation-modal-body,.qp-customer-modal__body,.qp-customer-modal-body,.qp-warehouse-modal-body,.qp-type-modal-body,.qp-ledger-modal-body,.qpc-modal-body) {padding:18px 16px!important}
  html[data-theme] :is(.qp-financial-dialog__footer,.modal-footer,.qp-modal__foot,.qp-oobe-modal-foot,.qp-bank-modal-foot,.qp-print-modal-foot,.qp-customer-modal__foot) {padding:14px 16px!important;flex-wrap:wrap}
  html[data-theme] :is(.qp-financial-dialog__header,.modal-header,.qp-modal__head,.qp-bank-modal-head) :is(h2,h3,h4,h5) {font-size:16px!important}
  html[data-theme] .qp-financial-dialog__icon {width:38px;height:38px;min-width:38px;border-radius:12px;font-size:16px}
  html[data-theme] .qp-v12-select-options>button {min-height:47px}
  html[data-theme] .qp-financial-dialog {max-height:calc(100dvh - 20px);width:calc(100vw - 20px)}
  html[data-theme] .qp-confirmation-dialog .qp-financial-dialog__footer {flex-direction:row;align-items:center}
}
@media(prefers-reduced-motion:reduce) {
  html[data-theme] :is(.qp-v12-select-panel,.qp-v12-select-trigger,.qp-tree-picker__control,.rz-dropdown,.rz-multiselect,.qp-financial-dialog) {animation:none!important;transition:none!important}
  html[data-theme] .qp-v12-select-trigger>i:last-child {transition:none}
}
@media print {
  .qp-v12-select-panel,.qp-tree-picker__panel:not(.is-inline),.rz-dropdown-panel,.rz-multiselect-panel {display:none!important}
}
