/* Shared UI primitives extracted from feature-specific files to reduce drift and selector duplication. */

.currency-management-search-input:focus,
.currency-management-input:focus,
.chart-accounts__search-input:focus,
.entries-search__input:focus{
  border-color:rgba(37,99,235,.18);
  box-shadow:none;
  background:#fff;
}

.taif-currency-management-modal__close::before,
.taif-currency-management-modal__close::after,
.currency-management-search-clear::before,
.currency-management-search-clear::after,
.chart-accounts__search-clear::before,
.chart-accounts__search-clear::after,
.coa-window-btn::before,
.coa-window-btn::after,
.coa-close-btn::before,
.coa-close-btn::after,
.entries-sheet__chrome-btn::before,
.entries-sheet__chrome-btn::after,
.entries-sheet__close::before,
.entries-sheet__close::after,
.taif-factory-reset__close::before,
.taif-factory-reset__close::after,
.entries-search__clear::before,
.entries-search__clear::after{
  content:none !important;
  display:none !important;
}

.currency-management-search-clear:hover,
.chart-accounts__search-clear:hover,
.entries-search__clear:hover{
  filter:saturate(1.04) brightness(1.015);
  box-shadow:none;
}

.currency-management-search-clear:active,
.chart-accounts__search-clear:active,
.entries-search__clear:active{
  transform:translateY(-50%) scale(.97);
  box-shadow:none;
}

.taif-currency-management-modal--grand.is-maximized,
.coa-modal.is-maximized,
.entries-modal-window.is-maximized{
  width:auto;
  max-width:none;
  height:auto;
  max-height:none;
}

.taif-currency-management-modal-backdrop.is-window-active .taif-currency-management-modal,
.coa-modal-backdrop.is-window-active .coa-modal,
.entries-modal-backdrop.is-window-active .entries-modal-window{
  box-shadow:0 34px 88px rgba(15,23,42,.30), 0 0 0 1px rgba(96,165,250,.18);
}

.taif-currency-management-modal-backdrop:not(.is-window-active) .taif-currency-management-modal,
.coa-modal-backdrop:not(.is-window-active) .coa-modal,
.entries-modal-backdrop:not(.is-window-active) .entries-modal-window{
  box-shadow:0 24px 58px rgba(15,23,42,.22);
}

.currency-management-state-dot::after,
.chart-accounts__state-dot::after,
.entries-record-row__state-dot::after{
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  width:4px;
  height:7px;
  border-right:2px solid #2563eb;
  border-bottom:2px solid #2563eb;
  transform:translate(-50%, -60%) rotate(45deg);
  opacity:0;
}

.currency-management-state-dot.is-active,
.chart-accounts__state-dot.is-active,
.entries-record-row__state-dot.is-active{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(239,246,255,.98));
  border-color:rgba(37,99,235,.42);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.98), 0 6px 14px rgba(15,23,42,.10);
}

.currency-management-state-dot.is-active::after,
.chart-accounts__state-dot.is-active::after,
.entries-record-row__state-dot.is-active::after{
  opacity:1;
}

.currency-management-row:hover .currency-management-state-dot,
.chart-accounts__table tbody tr:hover .chart-accounts__state-dot,
.entries-record-row:hover .entries-record-row__state-dot{
  transform:scale(1.04);
  border-color:rgba(96,165,250,.38);
}

.currency-management-row:hover .currency-management-state-dot.is-active,
.chart-accounts__table tbody tr:hover .chart-accounts__state-dot.is-active,
.entries-record-row:hover .entries-record-row__state-dot.is-active{
  border-color:rgba(37,99,235,.46);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.98), 0 7px 16px rgba(15,23,42,.10);
}

.currency-management-row--selected:hover .currency-management-state-dot,
.chart-accounts__table tbody tr.chart-accounts__row--selected:hover .chart-accounts__state-dot,
.entries-record-row--selected:hover .entries-record-row__state-dot{
  border-color:rgba(148,163,184,.52);
}

.currency-management-row--selected:hover .currency-management-state-dot.is-active,
.chart-accounts__table tbody tr.chart-accounts__row--selected:hover .chart-accounts__state-dot.is-active,
.entries-record-row--selected:hover .entries-record-row__state-dot.is-active{
  border-color:rgba(37,99,235,.46);
}

/* Shared modal backdrops for the fixed-window feature families. */
.taif-currency-management-modal-backdrop,
.coa-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:2200;
  display:block;
  padding:0;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  pointer-events:none;
  opacity:1;
  transition:opacity .12s ease;
}

/* Shared state-dot shell. */
.currency-management-state-dot,
.entries-record-row__state-dot{
  width:16px;
  height:16px;
  position:relative;
  border-radius:10px;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(241,245,249,.96));
  border:1px solid rgba(148,163,184,.46);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96), 0 5px 12px rgba(15,23,42,.08);
  transition:transform .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.chart-accounts__state-dot{
  width:var(--coa-state-dot-size);
  height:var(--coa-state-dot-size);
  position:relative;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(241,245,249,.96));
  border:1px solid rgba(148,163,184,.46);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96), 0 5px 12px rgba(15,23,42,.08);
  transition:transform .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease;
}

/* Currency-management topbar semantic button themes stay here because this file is mounted before that view-specific sheet. */
.currency-management-topbar-tools .currency-management-btn[data-currency-management-action="usd"]{
  background:linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
  color:#fff;
  border-color:rgba(37,99,235,.34);
  box-shadow:none;
}

.currency-management-topbar-tools .currency-management-btn[data-currency-management-action="usd"]::before{
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0));
}

.currency-management-topbar-tools .currency-management-btn[data-currency-management-action="delete-currency"]{
  background:linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
  color:#fff;
  border-color:rgba(220,38,38,.34);
  box-shadow:none;
}

.currency-management-topbar-tools .currency-management-btn[data-currency-management-action="delete-currency"]::before{
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0));
}

.currency-management-topbar-tools .currency-management-btn[data-currency-management-action="add"]{
  background:linear-gradient(135deg, #16a34a 0%, #15803d 100%);
  color:#fff;
  border-color:rgba(22,163,74,.34);
  box-shadow:none;
}

.currency-management-topbar-tools .currency-management-btn[data-currency-management-action="add"]::before{
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0));
}

.currency-management-topbar-tools .currency-management-btn[data-currency-management-action="bulk"]{
  background:linear-gradient(135deg, #374151 0%, #111827 58%, #020617 100%);
  color:#fff;
  border-color:rgba(15,23,42,.44);
  box-shadow:none;
}

.currency-management-topbar-tools .currency-management-btn[data-currency-management-action="bulk"]::before{
  background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,0));
}

/* Shared flat panel-toolbar treatment so workspace toolbars keep one visual shell instead of redefining the same reset per feature. */
.panel[data-view="currency-management"] .currency-management-topbar,
.panel[data-view="chart-of-accounts"] .chart-accounts__toolbar--top,
.panel[data-view="entries-vouchers"] .entries-toolbar,
.panel[data-view="sales-purchase-invoice"] .entries-toolbar{
  padding-inline:0;
  border:none;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  overflow:visible;
}


/* Shared window-control visuals unified from the chart-of-accounts reference so every window chrome uses one official source of truth. */
.coa-window-actions,
.entries-sheet__window-actions,
.sales-purchase-sheet__window-actions,
.taif-currency-management-modal__window-actions{
  position:absolute;
  top:50%;
  left:10px;
  z-index:2;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  gap:4px;
  flex:0 0 auto;
  cursor:auto;
}

.coa-window-btn,
.entries-sheet__chrome-btn,
.sales-purchase-sheet__chrome-btn,
.taif-currency-management-modal__chrome-btn,
.coa-close-btn,
.entries-sheet__close,
.sales-purchase-sheet__close,
.taif-currency-management-modal__close,
.taif-factory-reset__close{
  width:25px;
  height:25px;
  border-radius:6px;
  display:grid;
  place-items:center;
  padding:0;
  cursor:auto;
  position:relative;
  font-size:0;
  line-height:0;
  outline:none;
  -webkit-tap-highlight-color:transparent;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}

.coa-window-btn,
.entries-sheet__chrome-btn,
.sales-purchase-sheet__chrome-btn,
.taif-currency-management-modal__chrome-btn{
  border:1px solid rgba(255,255,255,.24);
  background:linear-gradient(180deg, rgba(56,189,248,.30), rgba(59,130,246,.18));
  color:#fff;
  box-shadow:none;
}

.coa-close-btn,
.entries-sheet__close,
.sales-purchase-sheet__close,
.taif-currency-management-modal__close,
.taif-factory-reset__close{
  border:1px solid rgba(220,38,38,.34);
  background:linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
  color:#fff;
  box-shadow:none;
}

.coa-window-btn svg,
.entries-sheet__chrome-btn svg,
.sales-purchase-sheet__chrome-btn svg,
.taif-currency-management-modal__chrome-btn svg,
.coa-close-btn svg,
.entries-sheet__close svg,
.sales-purchase-sheet__close svg,
.taif-currency-management-modal__close svg,
.taif-factory-reset__close svg{
  display:block;
  width:13px;
  height:13px;
  overflow:visible;
  pointer-events:none;
  flex:none;
}

.coa-window-btn svg path,
.entries-sheet__chrome-btn svg path,
.sales-purchase-sheet__chrome-btn svg path,
.taif-currency-management-modal__chrome-btn svg path,
.coa-close-btn svg path,
.entries-sheet__close svg path,
.sales-purchase-sheet__close svg path,
.taif-currency-management-modal__close svg path,
.taif-factory-reset__close svg path{
  vector-effect:non-scaling-stroke;
}

.coa-window-btn:focus,
.coa-window-btn:focus-visible,
.coa-window-btn:active,
.entries-sheet__chrome-btn:focus,
.entries-sheet__chrome-btn:focus-visible,
.entries-sheet__chrome-btn:active,
.sales-purchase-sheet__chrome-btn:focus,
.sales-purchase-sheet__chrome-btn:focus-visible,
.sales-purchase-sheet__chrome-btn:active,
.coa-close-btn:focus,
.coa-close-btn:focus-visible,
.coa-close-btn:active,
.entries-sheet__close:focus,
.entries-sheet__close:focus-visible,
.entries-sheet__close:active,
.sales-purchase-sheet__close:focus,
.sales-purchase-sheet__close:focus-visible,
.sales-purchase-sheet__close:active,
.taif-factory-reset__close:focus,
.taif-factory-reset__close:focus-visible,
.taif-factory-reset__close:active{
  outline:none;
  box-shadow:none;
}

.coa-window-btn:hover,
.entries-sheet__chrome-btn:hover,
.sales-purchase-sheet__chrome-btn:hover{
  transform:translateY(-1px);
  box-shadow:none;
}

.coa-close-btn:hover,
.entries-sheet__close:hover,
.sales-purchase-sheet__close:hover,
.taif-factory-reset__close:hover{
  transform:translateY(-1px);
  border-color:rgba(239,68,68,.42);
  background:linear-gradient(135deg, #ef4444 0%, #c81e1e 100%);
  box-shadow:none;
}

/* Shared split-record scrollbar shell used by entries vouchers and sales/purchase logs. */
.panel[data-view="entries-vouchers"] .entries-records__scroller--split-scroll::-webkit-scrollbar,
.panel[data-view="sales-purchase-invoice"] .entries-records__scroller--split-scroll::-webkit-scrollbar{
  width:var(--entries-scrollbar-size);
  height:var(--entries-scrollbar-size);
}

.panel[data-view="entries-vouchers"] .entries-records__scroller--split-scroll::-webkit-scrollbar-track,
.panel[data-view="sales-purchase-invoice"] .entries-records__scroller--split-scroll::-webkit-scrollbar-track{
  background:transparent;
}

.panel[data-view="entries-vouchers"] .entries-records__scroller--split-scroll::-webkit-scrollbar-thumb,
.panel[data-view="sales-purchase-invoice"] .entries-records__scroller--split-scroll::-webkit-scrollbar-thumb{
  background:var(--entries-scrollbar-thumb);
  border-radius:var(--entries-scrollbar-size);
  border:var(--entries-scrollbar-thumb-border) solid transparent;
  background-clip:content-box;
}

/* Counterpart list keeps the global dropdown scrollbar treatment through one definition. */
.currency-management-counterpart-popover__list::-webkit-scrollbar{
  width:8px;
}

.currency-management-counterpart-popover__list::-webkit-scrollbar-track{
  background:var(--taif-scrollbar-track);
  border-radius:10px;
}

.currency-management-counterpart-popover__list::-webkit-scrollbar-thumb{
  background:var(--taif-scrollbar-thumb);
  border-radius:10px;
}


/* Root no-shadow policy for every interactive button across workspace windows and dialogs. */
:where(
  .content,
  .panel,
  .taif-currency-management-window-layer,
  .taif-currency-management-modal-backdrop,
  .taif-currency-management-modal,
  .coa-window-layer,
  .coa-modal-backdrop,
  .coa-modal,
  .entries-window-layer,
  .entries-modal-backdrop,
  .entries-modal-window,
  .sales-purchase-window-layer,
  .sales-purchase-modal-backdrop,
  .cash-boxes-window-layer,
  .cash-boxes-modal-backdrop,
  .cash-boxes-modal-window,
  .cash-boxes-surface,
  .taif-factory-reset-backdrop,
  .taif-factory-reset-modal
) :is(button, input[type="button"], input[type="submit"], input[type="reset"], [role="button"]),
:where(
  .content,
  .panel,
  .taif-currency-management-window-layer,
  .taif-currency-management-modal-backdrop,
  .taif-currency-management-modal,
  .coa-window-layer,
  .coa-modal-backdrop,
  .coa-modal,
  .entries-window-layer,
  .entries-modal-backdrop,
  .entries-modal-window,
  .sales-purchase-window-layer,
  .sales-purchase-modal-backdrop,
  .cash-boxes-window-layer,
  .cash-boxes-modal-backdrop,
  .cash-boxes-modal-window,
  .cash-boxes-surface,
  .taif-factory-reset-backdrop,
  .taif-factory-reset-modal
) :is(button, input[type="button"], input[type="submit"], input[type="reset"], [role="button"])::before,
:where(
  .content,
  .panel,
  .taif-currency-management-window-layer,
  .taif-currency-management-modal-backdrop,
  .taif-currency-management-modal,
  .coa-window-layer,
  .coa-modal-backdrop,
  .coa-modal,
  .entries-window-layer,
  .entries-modal-backdrop,
  .entries-modal-window,
  .sales-purchase-window-layer,
  .sales-purchase-modal-backdrop,
  .cash-boxes-window-layer,
  .cash-boxes-modal-backdrop,
  .cash-boxes-modal-window,
  .cash-boxes-surface,
  .taif-factory-reset-backdrop,
  .taif-factory-reset-modal
) :is(button, input[type="button"], input[type="submit"], input[type="reset"], [role="button"])::after{
  box-shadow:none !important;
  filter:none !important;
  text-shadow:none !important;
}

:where(
  .content,
  .panel,
  .taif-currency-management-window-layer,
  .taif-currency-management-modal-backdrop,
  .taif-currency-management-modal,
  .coa-window-layer,
  .coa-modal-backdrop,
  .coa-modal,
  .entries-window-layer,
  .entries-modal-backdrop,
  .entries-modal-window,
  .sales-purchase-window-layer,
  .sales-purchase-modal-backdrop,
  .cash-boxes-window-layer,
  .cash-boxes-modal-backdrop,
  .cash-boxes-modal-window,
  .cash-boxes-surface,
  .taif-factory-reset-backdrop,
  .taif-factory-reset-modal
) :is(button, input[type="button"], input[type="submit"], input[type="reset"], [role="button"]):is(:hover, :active, :focus, :focus-visible){
  box-shadow:none !important;
  filter:none !important;
  text-shadow:none !important;
}


/* Modal window controls: keep chrome buttons visually fixed with no press movement. */
:where(
  .taif-currency-management-modal,
  .coa-modal,
  .coa-confirm,
  .entries-modal-window,
  .sales-purchase-modal-window,
  .entries-confirm-dialog,
  .taif-factory-reset-modal
) :where(button, [type="button"], [type="submit"], [type="reset"], [role="button"]):active{
  transform:none !important;
}

.coa-window-btn:is(:hover, :active, :focus, :focus-visible),
.entries-sheet__chrome-btn:is(:hover, :active, :focus, :focus-visible),
.sales-purchase-sheet__chrome-btn:is(:hover, :active, :focus, :focus-visible){
  transform:none !important;
  border-color:rgba(255,255,255,.24) !important;
  background:linear-gradient(180deg, rgba(56,189,248,.30), rgba(59,130,246,.18)) !important;
  box-shadow:none !important;
}

.coa-close-btn:is(:hover, :active, :focus, :focus-visible),
.entries-sheet__close:is(:hover, :active, :focus, :focus-visible),
.sales-purchase-sheet__close:is(:hover, :active, :focus, :focus-visible),
.taif-factory-reset__close:is(:hover, :active, :focus, :focus-visible){
  transform:none !important;
  border-color:rgba(220,38,38,.34) !important;
  background:linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important;
  color:#fff !important;
  box-shadow:none !important;
}
