/* CTR SUITE global palette v2 — accent authority; no functional DOM changes.
   Theme selection is supplied by theme-runtime-v2.js as --blue and --theme-on-primary. */
:root{
 --ctr-accent:var(--blue,#2f6fea);
 --ctr-accent-ink:var(--theme-on-primary,#fff);
 --ctr-accent-soft:color-mix(in srgb,var(--ctr-accent) 12%,transparent);
 --ctr-accent-border:color-mix(in srgb,var(--ctr-accent) 30%,transparent);
 --ctr-accent-gradient:linear-gradient(125deg,var(--ctr-accent),var(--blue-dark,var(--ctr-accent)));
}
/* Workspace sidebar: keep optional navy/neutral sidebar canvas, but unify active/hover/indicator. */
html #sidebar .sidebar-nav .nav-item.active,
html #sidebar .sidebar-nav .nav-group.open > .nav-item{
 background:var(--ctr-accent-soft)!important;
 border-color:var(--ctr-accent-border)!important;
 box-shadow:0 4px 13px color-mix(in srgb,var(--ctr-accent) 9%,transparent)!important;
 color:#fff!important;
}
html #sidebar .sidebar-nav :is(.nav-item.active,.nav-group.open > .nav-item) .ic-wrap{
 background:color-mix(in srgb,var(--ctr-accent) 25%,transparent)!important;
 border-color:var(--ctr-accent-border)!important;
}
html #sidebar .sidebar-nav :is(.nav-item.active,.nav-group.open > .nav-item) .ic-wrap i,
html #sidebar .sidebar-nav :is(.nav-item.active,.nav-group.open > .nav-item) .ic-wrap{
 color:color-mix(in srgb,var(--ctr-accent) 38%,white)!important;
}
html #sidebar .sidebar-nav .nav-item:hover:not(.active){background:color-mix(in srgb,var(--ctr-accent) 9%,transparent)!important;}
html #sidebar .sidebar-nav .submenu a.active{background:var(--ctr-accent-soft)!important;color:#fff!important;}
html #sidebar .sidebar-nav .submenu a.active::before{background:var(--ctr-accent)!important;}
html #sidebar .sidebar-nav .submenu{border-left-color:var(--ctr-accent-border)!important;}
html #sidebar .sidebar-profile .avatar{background:var(--ctr-accent-gradient)!important;color:var(--ctr-accent-ink)!important;}
/* Universal interactive accent. Avoid neutral/outline and semantic destructive/status controls. */
html :is(.btn-primary,.button-primary,.primary-btn,.m-btn-primary,.btn-save,.btn-submit,.btn-add,.action-primary,
 .pagination .active,.pagination button.active,.tab.active,.tabs button.active,.nav-tab.active,
 .filter-chip.active,.category-chip.active,.segmented-btn.active,.ctr-flow-nav a.active,
 .ctr-stock-tabs a.active,.pb-tabs .active,.snav-item.active .snav-icon){
 background:var(--ctr-accent)!important;
 border-color:var(--ctr-accent)!important;
 color:var(--ctr-accent-ink)!important;
}
html :is(.btn-primary,.button-primary,.primary-btn,.m-btn-primary,.btn-save,.btn-submit,.btn-add,.action-primary):hover:not(:disabled){
 background:var(--blue-dark,var(--ctr-accent))!important;
 border-color:var(--blue-dark,var(--ctr-accent))!important;
}
html :is(.tab.active,.nav-tab.active,.filter-chip.active,.category-chip.active,.pagination .active) :is(i,svg,span){color:inherit!important;}
/* POS checkout and selected methods: explicitly defeat old purple gradients. */
html body.ctr-pos-v65 :is(.pay-btn,#payBtn,.posx-btn.primary,#pmConfirmBtn,#splitConfirmBtn){
 background:var(--ctr-accent-gradient)!important;
 border-color:var(--ctr-accent)!important;
 color:var(--ctr-accent-ink)!important;
 box-shadow:0 9px 23px color-mix(in srgb,var(--ctr-accent) 23%,transparent)!important;
}
html body.ctr-pos-v65 :is(.pay-btn,#payBtn,.posx-btn.primary) :is(i,span){color:inherit!important;}
html body.ctr-pos-v65 :is(.cat-pill.active,.cat-pill[aria-pressed="true"],#productGrid .add-fab,.pay-method.selected){
 background:var(--ctr-accent)!important;border-color:var(--ctr-accent)!important;color:var(--ctr-accent-ink)!important;
}
html body.ctr-pos-v65 :is(.product-card.selected,.product-card.in-cart,.pay-method.selected,.posx-input:focus){border-color:var(--ctr-accent)!important;}
html body.ctr-pos-v65 :is(.posx-modal-icon,.posx-toast-bar){background:var(--ctr-accent-gradient)!important;color:var(--ctr-accent-ink)!important;}
/* Cards / informational highlights / form focus */
html :is(.m-input,.m-select,.m-textarea,.pb-input,.pb-select,input,select,textarea):focus-visible{outline-color:var(--ctr-accent)!important;border-color:var(--ctr-accent)!important;}
html :is(.m-card,.m-kpi,.stat-card,.pb-card,.profile-card,.customer-stat,.catalog-card,.cart-card){border-color:var(--ctr-palette-line,var(--ctr-accent-border))!important;}
html :is(.m-table,.customer-table,.sales-table,.tbl-card) tbody tr:hover{background-color:var(--ctr-palette-row-hover)!important;}
/* Accessibility: selected accent contrast follows runtime calculation. Semantic success/warning/danger unchanged. */
