/* ===== Sales & purchase button interaction system (scoped, unified, role-based) ===== */
:where(.panel[data-view="sales-purchase-invoice"], .sales-purchase-modal-backdrop[data-sales-purchase-window-id]){
  --sp-button-lift-y:-2px;
  --sp-button-lift-scale:1.045;
  --sp-button-press-scale:1.065;
  --sp-button-transition:transform .18s cubic-bezier(.22,1,.36,1), box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease, filter .18s ease;
}

.panel[data-view="sales-purchase-invoice"] :is(
  .entries-toolbar,
  .sales-purchase-toolbar,
  .entries-toolbar__group,
  .sales-purchase-toolbar__group,
  .entries-toolbar__actions,
  .sales-purchase-toolbar__actions,
  .entries-toolbar__stats,
  .sales-purchase-toolbar__stats,
  .entries-toolbar__search,
  .sales-purchase-toolbar__search,
  .entries-actions__group
),
.sales-purchase-modal-backdrop[data-sales-purchase-window-id] :is(
  .sales-purchase-sheet__window-actions,
  .entries-actions__group,
  .entries-voucher-navstack,
  .entries-voucher-card-action,
  .entries-voucher-date__footer
){
  overflow:visible;
}

.panel[data-view="sales-purchase-invoice"] .entries-toolbar .entries-toolbar-btn,
.sales-purchase-modal-backdrop[data-sales-purchase-window-id] :is(
  .sales-purchase-sheet__chrome-btn,
  .sales-purchase-sheet__close,
  .entries-action-btn,
  .entries-voucher-navbox__button,
  .entries-voucher-card-action__btn,
  .entries-voucher-date__heading-trigger,
  .entries-voucher-date__nav,
  .entries-voucher-date__footer-btn
){
  --sp-button-rest-transform:translateY(0);
  --sp-button-hover-border:rgba(15,23,42,.20);
  --sp-button-hover-shadow:0 14px 26px rgba(15,23,42,.14);
  --sp-button-active-shadow:0 12px 22px rgba(15,23,42,.16);
  --sp-button-focus-ring:0 0 0 2px rgba(15,23,42,.10);
  --sp-button-cue-color:#05070b;
  --sp-button-hover-filter:none;
  --sp-button-active-filter:none;
  position:relative;
  isolation:isolate;
  transform-origin:center center;
  backface-visibility:hidden;
  will-change:transform, box-shadow, filter;
  transition:var(--sp-button-transition) !important;
  outline:none;
}

.panel[data-view="sales-purchase-invoice"] .entries-toolbar .entries-toolbar-btn{
  --sp-button-cue-color:#ffffff;
}

.sales-purchase-modal-backdrop[data-sales-purchase-window-id] :is(
  .sales-purchase-sheet__chrome-btn,
  .sales-purchase-sheet__close,
  .entries-voucher-card-action__btn
){
  --sp-button-lift-scale:1.10;
  --sp-button-press-scale:1.135;
}

.sales-purchase-modal-backdrop[data-sales-purchase-window-id] .entries-voucher-card-action__btn{
  --sp-button-hover-shadow:none;
  --sp-button-active-shadow:none;
  --sp-button-focus-ring:none;
}

.panel[data-view="sales-purchase-invoice"] :is(
  .entries-toolbar-btn--success
),
.sales-purchase-modal-backdrop[data-sales-purchase-window-id] .entries-action-btn--success{
  --sp-button-hover-border:rgba(34,197,94,.44);
  --sp-button-hover-shadow:0 16px 30px rgba(21,128,61,.24);
  --sp-button-active-shadow:0 18px 34px rgba(21,128,61,.28);
  --sp-button-focus-ring:0 0 0 2px rgba(34,197,94,.16);
  --sp-button-cue-color:#ffffff;
  --sp-button-hover-filter:brightness(1.06) saturate(1.03);
  --sp-button-active-filter:brightness(1.10) saturate(1.04);
}

.panel[data-view="sales-purchase-invoice"] :is(
  .entries-toolbar-btn--danger,
  .entries-toolbar-btn--delete
),
.sales-purchase-modal-backdrop[data-sales-purchase-window-id] :is(
  .entries-action-btn--danger,
  .sales-purchase-sheet__close
){
  --sp-button-hover-border:rgba(239,68,68,.44);
  --sp-button-hover-shadow:0 16px 30px rgba(185,28,28,.26);
  --sp-button-active-shadow:0 18px 34px rgba(185,28,28,.30);
  --sp-button-focus-ring:0 0 0 2px rgba(239,68,68,.15);
  --sp-button-cue-color:#ffffff;
  --sp-button-hover-filter:brightness(1.06) saturate(1.03);
  --sp-button-active-filter:brightness(1.10) saturate(1.04);
}

.panel[data-view="sales-purchase-invoice"] .entries-toolbar-btn--dark,
.sales-purchase-modal-backdrop[data-sales-purchase-window-id] .entries-action-btn--dark{
  --sp-button-hover-border:rgba(100,116,139,.42);
  --sp-button-hover-shadow:0 16px 30px rgba(15,23,42,.24);
  --sp-button-active-shadow:0 18px 34px rgba(15,23,42,.28);
  --sp-button-focus-ring:0 0 0 2px rgba(71,85,105,.16);
  --sp-button-cue-color:#ffffff;
  --sp-button-hover-filter:brightness(1.05) saturate(1.02);
  --sp-button-active-filter:brightness(1.08) saturate(1.03);
}

.panel[data-view="sales-purchase-invoice"] .entries-toolbar-btn--primary,
.sales-purchase-modal-backdrop[data-sales-purchase-window-id] :is(
  .entries-action-btn--primary,
  .sales-purchase-sheet__chrome-btn
){
  --sp-button-hover-border:rgba(147,197,253,.46);
  --sp-button-hover-shadow:0 16px 30px rgba(37,99,235,.24);
  --sp-button-active-shadow:0 18px 34px rgba(37,99,235,.28);
  --sp-button-focus-ring:0 0 0 2px rgba(59,130,246,.16);
  --sp-button-cue-color:#ffffff;
  --sp-button-hover-filter:brightness(1.06) saturate(1.04);
  --sp-button-active-filter:brightness(1.10) saturate(1.05);
}

.panel[data-view="sales-purchase-invoice"] .entries-toolbar-btn--journal{
  --sp-button-hover-border:rgba(251,146,60,.46);
  --sp-button-hover-shadow:0 16px 30px rgba(194,65,12,.24);
  --sp-button-active-shadow:0 18px 34px rgba(194,65,12,.28);
  --sp-button-focus-ring:0 0 0 2px rgba(249,115,22,.16);
  --sp-button-cue-color:#ffffff;
  --sp-button-hover-filter:brightness(1.06) saturate(1.03);
  --sp-button-active-filter:brightness(1.10) saturate(1.04);
}

.sales-purchase-modal-backdrop[data-sales-purchase-window-id] .entries-voucher-card-action__btn.is-append{
  --sp-button-hover-border:transparent;
  --sp-button-active-shadow:none;
  --sp-button-hover-shadow:none;
  --sp-button-cue-color:#1d4ed8;
}

.sales-purchase-modal-backdrop[data-sales-purchase-window-id] .entries-voucher-card-action__btn.is-remove{
  --sp-button-hover-border:transparent;
  --sp-button-active-shadow:none;
  --sp-button-hover-shadow:none;
  --sp-button-cue-color:#c62828;
}

.sales-purchase-modal-backdrop[data-sales-purchase-window-id] :is(
  .entries-voucher-date__heading-trigger,
  .entries-voucher-date__nav,
  .entries-voucher-date__footer-btn:not(.entries-voucher-date__footer-btn--ghost)
){
  --sp-button-hover-border:rgba(96,165,250,.34);
  --sp-button-hover-shadow:0 14px 26px rgba(37,99,235,.14);
  --sp-button-active-shadow:0 16px 30px rgba(37,99,235,.18);
  --sp-button-focus-ring:0 0 0 2px rgba(59,130,246,.12);
}

.panel[data-view="sales-purchase-invoice"] .entries-toolbar .entries-toolbar-btn:is(:hover, :focus, :focus-visible):not([disabled]):not([hidden]),
.sales-purchase-modal-backdrop[data-sales-purchase-window-id] :is(
  .sales-purchase-sheet__chrome-btn,
  .sales-purchase-sheet__close,
  .entries-action-btn,
  .entries-voucher-navbox__button,
  .entries-voucher-card-action__btn,
  .entries-voucher-date__heading-trigger,
  .entries-voucher-date__nav,
  .entries-voucher-date__footer-btn
):is(:hover, :focus, :focus-visible):not([disabled]):not([hidden]):is(:hover, :focus, :focus-visible):not([disabled]):not([hidden]){
  transform:var(--sp-button-rest-transform) translateY(var(--sp-button-lift-y)) scale(var(--sp-button-lift-scale)) !important;
  border-color:var(--sp-button-hover-border) !important;
  box-shadow:var(--sp-button-focus-ring), var(--sp-button-hover-shadow) !important;
  color:var(--sp-button-cue-color) !important;
  filter:var(--sp-button-hover-filter) !important;
  outline:none !important;
  z-index:3;
}

.panel[data-view="sales-purchase-invoice"] .entries-toolbar .entries-toolbar-btn:active:not([disabled]),
.sales-purchase-modal-backdrop[data-sales-purchase-window-id] :is(
  .sales-purchase-sheet__chrome-btn,
  .sales-purchase-sheet__close,
  .entries-action-btn,
  .entries-voucher-navbox__button,
  .entries-voucher-card-action__btn,
  .entries-voucher-date__heading-trigger,
  .entries-voucher-date__nav,
  .entries-voucher-date__footer-btn
):active:not([disabled]):active:not([disabled]){
  transform:var(--sp-button-rest-transform) translateY(var(--sp-button-lift-y)) scale(var(--sp-button-press-scale)) !important;
  border-color:var(--sp-button-hover-border) !important;
  box-shadow:var(--sp-button-focus-ring), var(--sp-button-active-shadow) !important;
  color:var(--sp-button-cue-color) !important;
  filter:var(--sp-button-active-filter) !important;
  outline:none !important;
  z-index:4;
}

.panel[data-view="sales-purchase-invoice"] .entries-toolbar .entries-toolbar-btn:is(:hover, :active, :focus, :focus-visible):not([disabled]):not([hidden]) .taif-control-text,
.sales-purchase-modal-backdrop[data-sales-purchase-window-id] :is(
  .sales-purchase-sheet__chrome-btn,
  .sales-purchase-sheet__close,
  .entries-action-btn,
  .entries-voucher-navbox__button,
  .entries-voucher-card-action__btn,
  .entries-voucher-date__heading-trigger,
  .entries-voucher-date__nav,
  .entries-voucher-date__footer-btn
):is(:hover, :active, :focus, :focus-visible):not([disabled]):not([hidden]) .taif-control-text:is(:hover, :active, :focus, :focus-visible):not([disabled]):not([hidden]) .taif-control-text{
  color:inherit !important;
}

.panel[data-view="sales-purchase-invoice"] .entries-toolbar .entries-toolbar-btn:is(:focus, :focus-visible):not([disabled]):not([hidden]),
.sales-purchase-modal-backdrop[data-sales-purchase-window-id] :is(
  .sales-purchase-sheet__chrome-btn,
  .sales-purchase-sheet__close,
  .entries-action-btn,
  .entries-voucher-navbox__button,
  .entries-voucher-card-action__btn,
  .entries-voucher-date__heading-trigger,
  .entries-voucher-date__nav,
  .entries-voucher-date__footer-btn
):is(:focus, :focus-visible):not([disabled]):not([hidden]):is(:focus, :focus-visible):not([disabled]):not([hidden]){
  outline:none !important;
}

.panel[data-view="sales-purchase-invoice"] .entries-toolbar .entries-toolbar-btn[disabled],
.sales-purchase-modal-backdrop[data-sales-purchase-window-id] :is(
  .sales-purchase-sheet__chrome-btn,
  .sales-purchase-sheet__close,
  .entries-action-btn,
  .entries-voucher-navbox__button,
  .entries-voucher-card-action__btn,
  .entries-voucher-date__heading-trigger,
  .entries-voucher-date__nav,
  .entries-voucher-date__footer-btn
)[disabled][disabled]{
  transform:var(--sp-button-rest-transform) !important;
  box-shadow:none !important;
  filter:none !important;
}
