/* ===== Chart of accounts button interaction system (scoped, unified, role-based) ===== */
:where(.panel[data-view="chart-of-accounts"], .coa-window-layer){
  --coa-button-lift-y:-2px;
  --coa-button-lift-scale:1.045;
  --coa-button-press-scale:1.065;
  --coa-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;
}

.coa-window-layer .coa-deleted-row,
.coa-window-layer .coa-deleted-row__actions{
  overflow:visible;
}

.panel[data-view="chart-of-accounts"] .chart-accounts__toolbar--top :is(
  .chart-accounts__toolbar-btn,
  .chart-accounts__pager-btn,
  .chart-accounts__pager-chip,
  .coa-choice-picker__trigger
),
.coa-window-layer :is(
  .coa-window-btn,
  .coa-close-btn,
  .coa-modal .coa-btn,
  .coa-modal .coa-form__media-btn,
  .coa-confirm .coa-btn
){
  --coa-button-rest-transform:translateY(0);
  --coa-button-hover-border:rgba(15,23,42,.20);
  --coa-button-hover-shadow:0 14px 26px rgba(15,23,42,.14);
  --coa-button-active-shadow:0 12px 22px rgba(15,23,42,.16);
  --coa-button-focus-ring:0 0 0 2px rgba(15,23,42,.10);
  --coa-button-cue-color:#05070b;
  --coa-button-hover-filter:none;
  --coa-button-active-filter:none;
  position:relative;
  isolation:isolate;
  transform-origin:center center;
  backface-visibility:hidden;
  will-change:transform, box-shadow, filter;
  transition:var(--coa-button-transition) !important;
  outline:none;
}

.coa-window-layer .coa-deleted-row .coa-btn{
  --coa-button-lift-scale:1.10;
  --coa-button-press-scale:1.135;
}

.panel[data-view="chart-of-accounts"] .chart-accounts__toolbar--top :is(
  .chart-accounts__toolbar-btn.coa-btn--success,
  .chart-accounts__toolbar-btn[data-coa-action="add-center"]
),
.coa-window-layer :is(
  .coa-modal .coa-btn--success,
  .coa-modal [data-coa-save],
  .coa-modal [data-coa-restore],
  .coa-modal .coa-form__media-btn--upload
){
  --coa-button-hover-border:rgba(34,197,94,.44);
  --coa-button-hover-shadow:0 16px 30px rgba(21,128,61,.24);
  --coa-button-active-shadow:0 18px 34px rgba(21,128,61,.28);
  --coa-button-focus-ring:0 0 0 2px rgba(34,197,94,.16);
  --coa-button-cue-color:#ffffff;
  --coa-button-hover-filter:brightness(1.06) saturate(1.03);
  --coa-button-active-filter:brightness(1.10) saturate(1.04);
}

.panel[data-view="chart-of-accounts"] .chart-accounts__toolbar--top :is(
  .chart-accounts__toolbar-btn.coa-btn--danger,
  .chart-accounts__toolbar-btn[data-coa-action="open-deleted"]
),
.coa-window-layer :is(
  .coa-close-btn,
  .coa-modal .coa-btn--danger,
  .coa-modal [data-coa-cancel],
  .coa-modal [data-coa-hard-delete],
  .coa-modal .coa-form__media-btn--clear,
  .coa-confirm .coa-btn.coa-btn--danger
){
  --coa-button-hover-border:rgba(239,68,68,.44);
  --coa-button-hover-shadow:0 16px 30px rgba(185,28,28,.26);
  --coa-button-active-shadow:0 18px 34px rgba(185,28,28,.30);
  --coa-button-focus-ring:0 0 0 2px rgba(239,68,68,.15);
  --coa-button-cue-color:#ffffff;
  --coa-button-hover-filter:brightness(1.06) saturate(1.03);
  --coa-button-active-filter:brightness(1.10) saturate(1.04);
}

.coa-window-layer :is(
  .coa-window-btn,
  .coa-modal .coa-btn--primary,
  .coa-confirm .coa-btn.coa-btn--primary
){
  --coa-button-hover-border:rgba(147,197,253,.46);
  --coa-button-hover-shadow:0 16px 30px rgba(37,99,235,.24);
  --coa-button-active-shadow:0 18px 34px rgba(37,99,235,.28);
  --coa-button-focus-ring:0 0 0 2px rgba(59,130,246,.16);
  --coa-button-cue-color:#ffffff;
  --coa-button-hover-filter:brightness(1.06) saturate(1.04);
  --coa-button-active-filter:brightness(1.10) saturate(1.05);
}

.panel[data-view="chart-of-accounts"] .chart-accounts__toolbar--top :is(
  .chart-accounts__toolbar-btn,
  .chart-accounts__pager-btn,
  .chart-accounts__pager-chip,
  .coa-choice-picker__trigger
):is(:hover, :focus, :focus-visible, [data-coa-focused="true"]):not([disabled]):not([hidden]),
.coa-window-layer :is(
  .coa-window-btn,
  .coa-close-btn,
  .coa-modal .coa-btn,
  .coa-modal .coa-form__media-btn,
  .coa-confirm .coa-btn
):is(:hover, :focus, :focus-visible, [data-coa-focused="true"]):not([disabled]):not([hidden]){
  transform:var(--coa-button-rest-transform) translateY(var(--coa-button-lift-y)) scale(var(--coa-button-lift-scale)) !important;
  border-color:var(--coa-button-hover-border) !important;
  box-shadow:var(--coa-button-focus-ring), var(--coa-button-hover-shadow) !important;
  color:var(--coa-button-cue-color) !important;
  filter:var(--coa-button-hover-filter) !important;
  z-index:3;
}

.panel[data-view="chart-of-accounts"] .chart-accounts__toolbar--top :is(
  .chart-accounts__toolbar-btn,
  .chart-accounts__pager-btn,
  .chart-accounts__pager-chip,
  .coa-choice-picker__trigger
):active:not([disabled]):not([hidden]),
.coa-window-layer :is(
  .coa-window-btn,
  .coa-close-btn,
  .coa-modal .coa-btn,
  .coa-modal .coa-form__media-btn,
  .coa-confirm .coa-btn
):active:not([disabled]):not([hidden]){
  transform:var(--coa-button-rest-transform) translateY(var(--coa-button-lift-y)) scale(var(--coa-button-press-scale)) !important;
  border-color:var(--coa-button-hover-border) !important;
  box-shadow:var(--coa-button-focus-ring), var(--coa-button-active-shadow) !important;
  color:var(--coa-button-cue-color) !important;
  filter:var(--coa-button-active-filter) !important;
  z-index:4;
}

.panel[data-view="chart-of-accounts"] .chart-accounts__toolbar--top :is(
  .chart-accounts__toolbar-btn,
  .chart-accounts__pager-btn,
  .chart-accounts__pager-chip,
  .coa-choice-picker__trigger
):is(:hover, :active, :focus, :focus-visible, [data-coa-focused="true"]):not([disabled]):not([hidden]) .taif-control-text,
.coa-window-layer :is(
  .coa-window-btn,
  .coa-close-btn,
  .coa-modal .coa-btn,
  .coa-modal .coa-form__media-btn,
  .coa-confirm .coa-btn
):is(:hover, :active, :focus, :focus-visible, [data-coa-focused="true"]):not([disabled]):not([hidden]) .taif-control-text{
  color:inherit !important;
}

.panel[data-view="chart-of-accounts"] .chart-accounts__toolbar--top :is(
  .chart-accounts__toolbar-btn,
  .chart-accounts__pager-btn,
  .chart-accounts__pager-chip,
  .coa-choice-picker__trigger
):is(:focus, :focus-visible, [data-coa-focused="true"]):not([disabled]):not([hidden]),
.coa-window-layer :is(
  .coa-window-btn,
  .coa-close-btn,
  .coa-modal .coa-btn,
  .coa-modal .coa-form__media-btn,
  .coa-confirm .coa-btn
):is(:focus, :focus-visible, [data-coa-focused="true"]):not([disabled]):not([hidden]){
  outline:none !important;
}

.panel[data-view="chart-of-accounts"] .chart-accounts__toolbar--top :is(
  .chart-accounts__toolbar-btn,
  .chart-accounts__pager-btn,
  .chart-accounts__pager-chip,
  .coa-choice-picker__trigger
)[disabled],
.coa-window-layer :is(
  .coa-window-btn,
  .coa-close-btn,
  .coa-modal .coa-btn,
  .coa-modal .coa-form__media-btn,
  .coa-confirm .coa-btn
)[disabled]{
  transform:var(--coa-button-rest-transform) !important;
  filter:none !important;
  box-shadow:none !important;
}

/* Chart-of-accounts search clear: keep the same red resting look as currency management search clear, while removing hover/press/focus color drift and halo effects. */
.panel[data-view="chart-of-accounts"] .chart-accounts__toolbar-search .chart-accounts__search-clear{
  --coa-main-search-clear-rest-border:rgba(220,38,38,.22);
  --coa-main-search-clear-rest-background:linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
  --coa-main-search-clear-rest-shadow:0 10px 16px rgba(185,28,28,.16), inset 0 1px 0 rgba(255,255,255,.16);
  background:var(--coa-main-search-clear-rest-background) !important;
  border-color:var(--coa-main-search-clear-rest-border) !important;
  box-shadow:var(--coa-main-search-clear-rest-shadow) !important;
  color:#fff !important;
  filter:none !important;
}

.panel[data-view="chart-of-accounts"] .chart-accounts__toolbar-search .chart-accounts__search-clear:is(:hover, :active, :focus, :focus-visible){
  background:var(--coa-main-search-clear-rest-background) !important;
  border-color:var(--coa-main-search-clear-rest-border) !important;
  box-shadow:var(--coa-main-search-clear-rest-shadow) !important;
  color:#fff !important;
  filter:none !important;
  outline:none !important;
}

.panel[data-view="chart-of-accounts"] .chart-accounts__toolbar-search .chart-accounts__search-clear:hover{
  transform:translateY(calc(-50% - 1px));
}

.panel[data-view="chart-of-accounts"] .chart-accounts__toolbar-search .chart-accounts__search-clear:active{
  transform:translateY(-50%) scale(.96);
}

.panel[data-view="chart-of-accounts"] .chart-accounts__toolbar-search .chart-accounts__search-clear:is(:focus, :focus-visible){
  transform:translateY(-50%);
}

/* Chart-of-accounts row action buttons: match currency-management row-action behavior without touching other chart controls. Keep motion, but remove hover/press/focus color drift and halo effects. */
.panel[data-view="chart-of-accounts"] .chart-accounts__actions .chart-accounts__iconbtn{
  --coa-row-action-rest-background:rgba(255,255,255,.92);
  --coa-row-action-rest-border:rgba(15,23,42,.10);
  --coa-row-action-rest-color:#0b1220;
  background:var(--coa-row-action-rest-background);
  border-color:var(--coa-row-action-rest-border);
  color:var(--coa-row-action-rest-color);
}

.panel[data-view="chart-of-accounts"] .chart-accounts__actions .chart-accounts__iconbtn.chart-accounts__iconbtn--danger{
  --coa-row-action-rest-border:rgba(239,68,68,.16);
  --coa-row-action-rest-color:#b91c1c;
}

.panel[data-view="chart-of-accounts"] .chart-accounts__actions .chart-accounts__iconbtn:is(:hover, :focus, :focus-visible):not([disabled]):not(.is-disabled){
  transform:translateY(-2px) scale(1.10) !important;
  background:var(--coa-row-action-rest-background) !important;
  border-color:var(--coa-row-action-rest-border) !important;
  box-shadow:none !important;
  color:var(--coa-row-action-rest-color) !important;
  filter:none !important;
  outline:none !important;
}

.panel[data-view="chart-of-accounts"] .chart-accounts__actions .chart-accounts__iconbtn:active:not([disabled]):not(.is-disabled){
  transform:translateY(-2px) scale(1.135) !important;
  background:var(--coa-row-action-rest-background) !important;
  border-color:var(--coa-row-action-rest-border) !important;
  box-shadow:none !important;
  color:var(--coa-row-action-rest-color) !important;
  filter:none !important;
  outline:none !important;
}
