/**
 * Global widget accent palette — light and dark mode
 * Requires dark-mode-variables.css tokens
 */


/* ── Widget palette slots (8-color cycle) ── */
#dashboard-root .dashboard-kpi-grid > div:nth-child(8n+1),
#dashboard-root .dashboard-kpi-grid > a:nth-child(8n+1) > div,
#dashboard-root .dashboard-charts-grid > div:nth-child(8n+1),
#dashboard-root .dashboard-quick-actions a:nth-child(8n+1),
.pptms-dashboard .pptms-kpi-grid > a:nth-child(8n+1),
.pptms-dashboard .pptms-chart-grid > .pptms-chart-card:nth-child(8n+1),
.pptms-billing .pptms-bill-kpi-grid > .pptms-bill-kpi:nth-child(8n+1),
.pptms-intelligence .pptms-intel-kpi-grid > .pptms-intel-kpi:nth-child(8n+1),
.content .info-box:nth-child(8n+1),
.content .small-box:nth-child(8n+1),
section.content .box:nth-of-type(8n+1),
section.content .card:not(.modal-content):nth-of-type(8n+1) {
    border: 1px solid color-mix(in srgb, var(--widget-accent-1) 45%, var(--border-strong));
    border-left-width: 3px;
    border-left-color: var(--widget-accent-1);
    background-color: color-mix(in srgb, var(--widget-tint-1) 100%, var(--bg-card));
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--widget-accent-1) 15%, transparent);
}

#dashboard-root .dashboard-kpi-grid > div:nth-child(8n+2),
#dashboard-root .dashboard-kpi-grid > a:nth-child(8n+2) > div,
#dashboard-root .dashboard-charts-grid > div:nth-child(8n+2),
#dashboard-root .dashboard-quick-actions a:nth-child(8n+2),
.pptms-dashboard .pptms-kpi-grid > a:nth-child(8n+2),
.pptms-dashboard .pptms-chart-grid > .pptms-chart-card:nth-child(8n+2),
.pptms-billing .pptms-bill-kpi-grid > .pptms-bill-kpi:nth-child(8n+2),
.pptms-intelligence .pptms-intel-kpi-grid > .pptms-intel-kpi:nth-child(8n+2),
.content .info-box:nth-child(8n+2),
.content .small-box:nth-child(8n+2),
section.content .box:nth-of-type(8n+2),
section.content .card:not(.modal-content):nth-of-type(8n+2) {
    border: 1px solid color-mix(in srgb, var(--widget-accent-2) 45%, var(--border-strong));
    border-left-width: 3px;
    border-left-color: var(--widget-accent-2);
    background-color: color-mix(in srgb, var(--widget-tint-2) 100%, var(--bg-card));
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--widget-accent-2) 15%, transparent);
}

#dashboard-root .dashboard-kpi-grid > div:nth-child(8n+3),
#dashboard-root .dashboard-kpi-grid > a:nth-child(8n+3) > div,
#dashboard-root .dashboard-charts-grid > div:nth-child(8n+3),
#dashboard-root .dashboard-quick-actions a:nth-child(8n+3),
.pptms-dashboard .pptms-kpi-grid > a:nth-child(8n+3),
.pptms-dashboard .pptms-chart-grid > .pptms-chart-card:nth-child(8n+3),
.pptms-billing .pptms-bill-kpi-grid > .pptms-bill-kpi:nth-child(8n+3),
.pptms-intelligence .pptms-intel-kpi-grid > .pptms-intel-kpi:nth-child(8n+3),
.content .info-box:nth-child(8n+3),
.content .small-box:nth-child(8n+3),
section.content .box:nth-of-type(8n+3),
section.content .card:not(.modal-content):nth-of-type(8n+3) {
    border: 1px solid color-mix(in srgb, var(--widget-accent-3) 45%, var(--border-strong));
    border-left-width: 3px;
    border-left-color: var(--widget-accent-3);
    background-color: color-mix(in srgb, var(--widget-tint-3) 100%, var(--bg-card));
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--widget-accent-3) 15%, transparent);
}

#dashboard-root .dashboard-kpi-grid > div:nth-child(8n+4),
#dashboard-root .dashboard-kpi-grid > a:nth-child(8n+4) > div,
#dashboard-root .dashboard-charts-grid > div:nth-child(8n+4),
#dashboard-root .dashboard-quick-actions a:nth-child(8n+4),
.pptms-dashboard .pptms-kpi-grid > a:nth-child(8n+4),
.pptms-dashboard .pptms-chart-grid > .pptms-chart-card:nth-child(8n+4),
.pptms-billing .pptms-bill-kpi-grid > .pptms-bill-kpi:nth-child(8n+4),
.pptms-intelligence .pptms-intel-kpi-grid > .pptms-intel-kpi:nth-child(8n+4),
.content .info-box:nth-child(8n+4),
.content .small-box:nth-child(8n+4),
section.content .box:nth-of-type(8n+4),
section.content .card:not(.modal-content):nth-of-type(8n+4) {
    border: 1px solid color-mix(in srgb, var(--widget-accent-4) 45%, var(--border-strong));
    border-left-width: 3px;
    border-left-color: var(--widget-accent-4);
    background-color: color-mix(in srgb, var(--widget-tint-4) 100%, var(--bg-card));
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--widget-accent-4) 15%, transparent);
}

#dashboard-root .dashboard-kpi-grid > div:nth-child(8n+5),
#dashboard-root .dashboard-kpi-grid > a:nth-child(8n+5) > div,
#dashboard-root .dashboard-charts-grid > div:nth-child(8n+5),
#dashboard-root .dashboard-quick-actions a:nth-child(8n+5),
.pptms-dashboard .pptms-kpi-grid > a:nth-child(8n+5),
.pptms-dashboard .pptms-chart-grid > .pptms-chart-card:nth-child(8n+5),
.pptms-billing .pptms-bill-kpi-grid > .pptms-bill-kpi:nth-child(8n+5),
.pptms-intelligence .pptms-intel-kpi-grid > .pptms-intel-kpi:nth-child(8n+5),
.content .info-box:nth-child(8n+5),
.content .small-box:nth-child(8n+5),
section.content .box:nth-of-type(8n+5),
section.content .card:not(.modal-content):nth-of-type(8n+5) {
    border: 1px solid color-mix(in srgb, var(--widget-accent-5) 45%, var(--border-strong));
    border-left-width: 3px;
    border-left-color: var(--widget-accent-5);
    background-color: color-mix(in srgb, var(--widget-tint-5) 100%, var(--bg-card));
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--widget-accent-5) 15%, transparent);
}

#dashboard-root .dashboard-kpi-grid > div:nth-child(8n+6),
#dashboard-root .dashboard-kpi-grid > a:nth-child(8n+6) > div,
#dashboard-root .dashboard-charts-grid > div:nth-child(8n+6),
#dashboard-root .dashboard-quick-actions a:nth-child(8n+6),
.pptms-dashboard .pptms-kpi-grid > a:nth-child(8n+6),
.pptms-dashboard .pptms-chart-grid > .pptms-chart-card:nth-child(8n+6),
.pptms-billing .pptms-bill-kpi-grid > .pptms-bill-kpi:nth-child(8n+6),
.pptms-intelligence .pptms-intel-kpi-grid > .pptms-intel-kpi:nth-child(8n+6),
.content .info-box:nth-child(8n+6),
.content .small-box:nth-child(8n+6),
section.content .box:nth-of-type(8n+6),
section.content .card:not(.modal-content):nth-of-type(8n+6) {
    border: 1px solid color-mix(in srgb, var(--widget-accent-6) 45%, var(--border-strong));
    border-left-width: 3px;
    border-left-color: var(--widget-accent-6);
    background-color: color-mix(in srgb, var(--widget-tint-6) 100%, var(--bg-card));
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--widget-accent-6) 15%, transparent);
}

#dashboard-root .dashboard-kpi-grid > div:nth-child(8n+7),
#dashboard-root .dashboard-kpi-grid > a:nth-child(8n+7) > div,
#dashboard-root .dashboard-charts-grid > div:nth-child(8n+7),
#dashboard-root .dashboard-quick-actions a:nth-child(8n+7),
.pptms-dashboard .pptms-kpi-grid > a:nth-child(8n+7),
.pptms-dashboard .pptms-chart-grid > .pptms-chart-card:nth-child(8n+7),
.pptms-billing .pptms-bill-kpi-grid > .pptms-bill-kpi:nth-child(8n+7),
.pptms-intelligence .pptms-intel-kpi-grid > .pptms-intel-kpi:nth-child(8n+7),
.content .info-box:nth-child(8n+7),
.content .small-box:nth-child(8n+7),
section.content .box:nth-of-type(8n+7),
section.content .card:not(.modal-content):nth-of-type(8n+7) {
    border: 1px solid color-mix(in srgb, var(--widget-accent-7) 45%, var(--border-strong));
    border-left-width: 3px;
    border-left-color: var(--widget-accent-7);
    background-color: color-mix(in srgb, var(--widget-tint-7) 100%, var(--bg-card));
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--widget-accent-7) 15%, transparent);
}

#dashboard-root .dashboard-kpi-grid > div:nth-child(8n+8),
#dashboard-root .dashboard-kpi-grid > a:nth-child(8n+8) > div,
#dashboard-root .dashboard-charts-grid > div:nth-child(8n+8),
#dashboard-root .dashboard-quick-actions a:nth-child(8n+8),
.pptms-dashboard .pptms-kpi-grid > a:nth-child(8n+8),
.pptms-dashboard .pptms-chart-grid > .pptms-chart-card:nth-child(8n+8),
.pptms-billing .pptms-bill-kpi-grid > .pptms-bill-kpi:nth-child(8n+8),
.pptms-intelligence .pptms-intel-kpi-grid > .pptms-intel-kpi:nth-child(8n+8),
.content .info-box:nth-child(8n+8),
.content .small-box:nth-child(8n+8),
section.content .box:nth-of-type(8n+8),
section.content .card:not(.modal-content):nth-of-type(8n+8) {
    border: 1px solid color-mix(in srgb, var(--widget-accent-8) 45%, var(--border-strong));
    border-left-width: 3px;
    border-left-color: var(--widget-accent-8);
    background-color: color-mix(in srgb, var(--widget-tint-8) 100%, var(--bg-card));
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--widget-accent-8) 15%, transparent);
}

/* Default accent border on widgets not yet matched by nth-child */
.card:not(.modal-content),
.box,
.info-box,
.small-box,
#dashboard-root .dashboard-kpi-grid > div,
#dashboard-root .dashboard-kpi-grid > a > div,
#dashboard-root .dashboard-charts-grid > div,
.pptms-dashboard .pptms-kpi-grid > a,
.pptms-dashboard .pptms-chart-grid > .pptms-chart-card,
.pptms-billing .pptms-bill-kpi-grid > .pptms-bill-kpi,
.pptms-intelligence .pptms-intel-kpi-grid > .pptms-intel-kpi {
    border: 1px solid var(--border-strong);
}

/* ── Tables ── */
.table,
table.dataTable,
.hms-module-page table,
.healthcare-module-page table {
    border: 1px solid var(--border-strong);
}

.table > thead > tr > th,
.table > thead > tr > td,
.table > tbody > tr > th,
.table > tbody > tr > td,
table.dataTable thead th,
table.dataTable thead td,
table.dataTable tbody th,
table.dataTable tbody td,
.table-bordered,
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > td {
    border-color: var(--border-strong) !important;
}

.dataTables_wrapper .table,
.dataTables_wrapper table.dataTable {
    border: 1px solid var(--border-strong);
}

/* ── Buttons ── */
.btn:not(.btn-link):not(.close),
.tw-dw-btn:not(.tw-dw-btn-ghost) {
    border: 1px solid var(--border-strong) !important;
}

body:not(.dark-mode) .btn:not(.btn-link):not(.close),
body:not(.dark-mode) .tw-dw-btn:not(.tw-dw-btn-ghost) {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

body.dark-mode .btn:not(.btn-link):not(.close),
body.dark-mode .tw-dw-btn:not(.tw-dw-btn-ghost) {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.btn-primary {
    border-color: color-mix(in srgb, var(--accent-primary) 70%, var(--border-strong)) !important;
}

body:not(.dark-mode) .btn-primary:not(.btn-outline),
body:not(.dark-mode) .tw-dw-btn-primary:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost) {
    background-color: var(--btn-primary-bg, var(--accent-primary)) !important;
    color: var(--text-on-primary, var(--btn-text-on-filled, #fff)) !important;
}

body:not(.dark-mode) .btn-primary:not(.btn-outline):hover,
body:not(.dark-mode) .btn-primary:not(.btn-outline):focus,
body:not(.dark-mode) .tw-dw-btn-primary:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):hover,
body:not(.dark-mode) .tw-dw-btn-primary:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):focus {
    background-color: var(--btn-primary-hover, var(--secondary, var(--accent-primary))) !important;
    color: var(--text-on-primary, var(--btn-text-on-filled, #fff)) !important;
}

body.dark-mode .btn-primary:not(.btn-outline),
body.dark-mode .tw-dw-btn-primary:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost) {
    background-color: var(--btn-primary-bg, var(--accent-primary)) !important;
    color: var(--text-on-primary, var(--btn-text-on-filled, #fff)) !important;
}

body.dark-mode .btn-primary:not(.btn-outline):hover,
body.dark-mode .btn-primary:not(.btn-outline):focus,
body.dark-mode .tw-dw-btn-primary:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):hover,
body.dark-mode .tw-dw-btn-primary:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):focus {
    background-color: var(--btn-primary-hover, var(--secondary, var(--accent-primary))) !important;
    color: var(--text-on-primary, var(--btn-text-on-filled, #fff)) !important;
}

.btn-secondary {
    border-color: color-mix(in srgb, var(--btn-secondary-bg, var(--secondary)) 70%, var(--border-strong)) !important;
}

.btn-secondary:not(.btn-outline),
.tw-dw-btn-secondary:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost) {
    background-color: var(--btn-secondary-bg, var(--secondary, #6b7280)) !important;
    color: var(--text-on-secondary, #fff) !important;
}

.btn-secondary:not(.btn-outline):hover,
.btn-secondary:not(.btn-outline):focus,
.tw-dw-btn-secondary:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):hover,
.tw-dw-btn-secondary:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):focus {
    background-color: var(--btn-secondary-hover, var(--accent-color, var(--btn-secondary-bg, #4b5563))) !important;
    color: var(--text-on-secondary, #fff) !important;
}

.btn-success {
    border-color: color-mix(in srgb, var(--btn-success-bg, var(--accent-success, #16a34a)) 70%, var(--border-strong)) !important;
}

.btn-success:not(.btn-outline),
.tw-dw-btn-success:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost) {
    background-color: var(--btn-success-bg, var(--accent-success, #16a34a)) !important;
    color: #fff !important;
}

.btn-success:not(.btn-outline):hover,
.btn-success:not(.btn-outline):focus,
.tw-dw-btn-success:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):hover,
.tw-dw-btn-success:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):focus {
    background-color: var(--btn-success-hover, #15803d) !important;
    color: #fff !important;
}

.btn-danger {
    border-color: color-mix(in srgb, var(--btn-danger-bg, var(--accent-danger, #dc2626)) 70%, var(--border-strong)) !important;
}

.btn-danger:not(.btn-outline),
.tw-dw-btn-error:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost) {
    background-color: var(--btn-danger-bg, var(--accent-danger, #dc2626)) !important;
    color: #fff !important;
}

.btn-danger:not(.btn-outline):hover,
.btn-danger:not(.btn-outline):focus,
.tw-dw-btn-error:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):hover,
.tw-dw-btn-error:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):focus {
    background-color: var(--btn-danger-hover, #b91c1c) !important;
    color: #fff !important;
}

.btn-warning {
    border-color: color-mix(in srgb, var(--accent-warning, #d97706) 70%, var(--border-strong)) !important;
}

.btn-info {
    border-color: color-mix(in srgb, var(--accent-info, #0284c7) 70%, var(--border-strong)) !important;
}

/* ── Filled button contrast (light + dark) ── */
.btn-primary,
.btn-success,
.btn-danger,
.btn-warning,
.btn-info,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:focus-visible,
.btn-primary:active,
.btn-success:hover,
.btn-success:focus,
.btn-success:focus-visible,
.btn-success:active,
.btn-danger:hover,
.btn-danger:focus,
.btn-danger:focus-visible,
.btn-danger:active,
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:focus-visible,
.btn-warning:active,
.btn-info:hover,
.btn-info:focus,
.btn-info:focus-visible,
.btn-info:active,
.tw-dw-btn-primary:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost),
.tw-dw-btn-primary:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):hover,
.tw-dw-btn-primary:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):focus,
.tw-dw-btn-primary:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):focus-visible,
.tw-dw-btn-primary:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):active,
.tw-dw-btn-success:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost),
.tw-dw-btn-success:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):hover,
.tw-dw-btn-success:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):focus,
.tw-dw-btn-success:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):focus-visible,
.tw-dw-btn-success:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):active,
.tw-dw-btn-error:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost),
.tw-dw-btn-error:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):hover,
.tw-dw-btn-error:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):focus,
.tw-dw-btn-error:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):focus-visible,
.tw-dw-btn-error:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):active,
.tw-dw-btn-warning:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost),
.tw-dw-btn-warning:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):hover,
.tw-dw-btn-warning:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):focus,
.tw-dw-btn-warning:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):focus-visible,
.tw-dw-btn-warning:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):active,
.tw-dw-btn-info:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost),
.tw-dw-btn-info:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):hover,
.tw-dw-btn-info:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):focus,
.tw-dw-btn-info:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):focus-visible,
.tw-dw-btn-info:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost):active,
.theme-btn-bg,
.theme-btn-bg:hover,
.theme-btn-bg:focus,
.theme-btn-bg:focus-visible,
.theme-btn-bg:active,
.pos-sale-btn,
.pos-sale-btn:hover,
.pos-sale-btn:focus,
.pos-sale-btn:focus-visible,
.pos-sale-btn:active,
.subscription-badge,
.subscription-badge:hover,
.subscription-badge:focus,
.subscription-badge:focus-visible,
.subscription-badge:active,
.app-header-back-user,
.app-header-back-user:hover,
.app-header-back-user:focus,
.app-header-back-user:focus-visible,
.app-header-back-user:active,
.app-header-user-menu,
.app-header-user-menu:hover,
.app-header-user-menu:focus,
.app-header-user-menu:focus-visible,
.app-header-user-menu:active,
.app-header-toolbar .theme-btn-bg,
.app-header-toolbar .theme-btn-bg:hover,
.app-header-toolbar .theme-btn-bg:focus,
.app-header-toolbar .theme-btn-bg:focus-visible,
.app-header-toolbar .theme-btn-bg:active,
.app-header-toolbar .pos-sale-btn,
.app-header-toolbar .pos-sale-btn:hover,
.app-header-toolbar .pos-sale-btn:focus,
.app-header-toolbar .pos-sale-btn:focus-visible,
.app-header-toolbar .pos-sale-btn:active,
.app-header-toolbar .app-header-user-menu,
.app-header-toolbar .app-header-user-menu:hover,
.app-header-toolbar .app-header-back-user,
.app-header-toolbar .app-header-back-user:hover,
.app-header-toolbar .subscription-badge,
.app-header-toolbar .subscription-badge:hover {
    color: var(--btn-text-on-filled) !important;
}

.app-header-toolbar .app-header-user-name,
.app-header-toolbar .app-header-pos-label,
.app-header-toolbar .app-header-date-short,
.app-header-toolbar .app-header-date-full,
.app-header-toolbar .app-header-back-user-label,
.app-header-toolbar .subscription-badge-label {
    color: var(--btn-text-on-filled) !important;
}

.btn-primary svg,
.btn-primary i,
.btn-primary .fas,
.btn-primary .far,
.btn-primary .fa,
.btn-success svg,
.btn-success i,
.btn-success .fas,
.btn-success .far,
.btn-success .fa,
.btn-danger svg,
.btn-danger i,
.btn-danger .fas,
.btn-danger .far,
.btn-danger .fa,
.btn-warning svg,
.btn-warning i,
.btn-warning .fas,
.btn-warning .far,
.btn-warning .fa,
.btn-info svg,
.btn-info i,
.btn-info .fas,
.btn-info .far,
.btn-info .fa,
.tw-dw-btn-primary:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost) svg,
.tw-dw-btn-primary:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost) i,
.tw-dw-btn-success:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost) svg,
.tw-dw-btn-success:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost) i,
.tw-dw-btn-error:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost) svg,
.tw-dw-btn-error:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost) i,
.tw-dw-btn-warning:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost) svg,
.tw-dw-btn-warning:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost) i,
.tw-dw-btn-info:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost) svg,
.tw-dw-btn-info:not(.tw-dw-btn-outline):not(.tw-dw-btn-ghost) i,
.theme-btn-bg svg,
.theme-btn-bg i,
.theme-btn-bg .fas,
.theme-btn-bg .far,
.theme-btn-bg .fa,
.theme-btn-bg:hover svg,
.theme-btn-bg:focus svg,
.theme-btn-bg:active svg,
.pos-sale-btn svg,
.pos-sale-btn i,
.pos-sale-btn .fas,
.pos-sale-btn .far,
.pos-sale-btn .fa,
.pos-sale-btn:hover svg,
.pos-sale-btn:focus svg,
.pos-sale-btn:active svg,
.subscription-badge svg,
.subscription-badge i,
.subscription-badge .fas,
.subscription-badge .far,
.subscription-badge .fa,
.subscription-badge:hover svg,
.app-header-back-user svg,
.app-header-back-user i,
.app-header-back-user .fas,
.app-header-back-user .far,
.app-header-back-user .fa,
.app-header-back-user:hover svg,
.app-header-user-menu svg,
.app-header-user-menu i,
.app-header-user-menu .fas,
.app-header-user-menu .far,
.app-header-user-menu .fa,
.app-header-user-menu:hover svg,
.app-header-toolbar .theme-btn-bg svg,
.app-header-toolbar .theme-btn-bg i,
.app-header-toolbar .theme-btn-bg:hover svg,
.app-header-toolbar .theme-btn-bg:focus svg,
.app-header-toolbar .theme-btn-bg:active svg,
.app-header-toolbar .pos-sale-btn svg,
.app-header-toolbar .pos-sale-btn i,
.app-header-toolbar .pos-sale-btn:hover svg,
.app-header-toolbar .pos-sale-btn:focus svg,
.app-header-toolbar .pos-sale-btn:active svg {
    color: var(--btn-icon-on-filled) !important;
    opacity: 1;
}

/* Net connection chip — beat theme-btn-bg white text/icon overrides */
#online_indicator.text-success,
#online_indicator.text-success i,
#online_indicator.text-success span {
    color: #22c55e !important;
}

#online_indicator.text-danger,
#online_indicator.text-danger i,
#online_indicator.text-danger span {
    color: #ef4444 !important;
}

/* ── Add / primary action pills — lock to scheme (beats Daisy .tw-dw-btn borders) ── */
a.btn-add,
button.btn-add,
a.btn-ui--primary,
button.btn-ui--primary,
a.btn-create,
button.btn-create,
a.btn-primary-action,
button.btn-primary-action,
a.ed-btn--primary,
button.ed-btn--primary,
.tw-dw-btn.btn-add,
.tw-dw-btn.btn-ui--primary,
.tw-dw-btn.btn-create,
.tw-dw-btn.btn-primary-action,
.btn.btn-add,
.btn.btn-ui--primary {
    border: none !important;
    background-image: none !important;
    background-color: var(--btn-primary-bg, var(--accent-primary, #5b6cf0)) !important;
    color: var(--text-on-primary, #fff) !important;
}

a.btn-add:hover,
a.btn-add:focus,
a.btn-add:focus-visible,
button.btn-add:hover,
button.btn-add:focus,
button.btn-add:focus-visible,
a.btn-ui--primary:hover,
a.btn-ui--primary:focus,
button.btn-ui--primary:hover,
button.btn-ui--primary:focus,
.tw-dw-btn.btn-add:hover,
.tw-dw-btn.btn-add:focus,
.tw-dw-btn.btn-ui--primary:hover,
.tw-dw-btn.btn-ui--primary:focus,
.btn.btn-add:hover,
.btn.btn-add:focus,
a.ed-btn--primary:hover,
a.ed-btn--primary:focus {
    border: none !important;
    background-image: none !important;
    background-color: var(--btn-primary-hover, var(--secondary, var(--btn-primary-bg, var(--accent-primary, #5b6cf0)))) !important;
    color: var(--text-on-primary, #fff) !important;
}

/* ── Shared list/data panels (contacts import, customer groups, etc.) ── */
.infobms-data-panel {
    --infobms-panel-accent: var(--btn-primary-bg, var(--accent-primary, #3b82f6));
    --infobms-panel-bg: var(--pos-bg-surface, var(--bg-card, #ffffff));
    --infobms-panel-text: var(--pos-text-primary, var(--text-primary, #111827));
    --infobms-panel-muted: var(--pos-text-secondary, var(--text-secondary, #6b7280));
    --infobms-panel-border: var(--pos-border, var(--border-color, #e5e7eb));
    --infobms-panel-head-bg: var(--pos-bg-surface-alt, var(--bg-table-head, #f8fafc));

    background: var(--infobms-panel-bg);
    color: var(--infobms-panel-text);
    border: 1px solid var(--infobms-panel-border);
    border-left: 4px solid var(--infobms-panel-accent);
    border-radius: 0.75rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    overflow: hidden;
    margin-bottom: 1rem;
}

.infobms-data-panel--primary { --infobms-panel-accent: var(--btn-primary-bg, var(--accent-primary, #3b82f6)); }
.infobms-data-panel--secondary { --infobms-panel-accent: var(--btn-secondary-bg, #6b7280); }
.infobms-data-panel--success { --infobms-panel-accent: var(--btn-success-bg, var(--accent-success, #16a34a)); }
.infobms-data-panel--warning { --infobms-panel-accent: var(--btn-warning-bg, var(--accent-warning, #d97706)); }
.infobms-data-panel--danger { --infobms-panel-accent: var(--btn-danger-bg, var(--accent-danger, #dc2626)); }
.infobms-data-panel--info { --infobms-panel-accent: var(--btn-info-bg, var(--accent-info, #0ea5e9)); }

.infobms-data-panel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    background: var(--infobms-panel-head-bg);
    border-bottom: 1px solid var(--infobms-panel-border);
}

.infobms-data-panel__title-wrap {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.infobms-data-panel__icon {
    color: var(--infobms-panel-accent);
    flex-shrink: 0;
}

.infobms-data-panel__title {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--infobms-panel-text);
}

.infobms-data-panel__actions { flex-shrink: 0; }

.infobms-data-panel__body {
    padding: 1rem;
}

.infobms-data-panel__body > .table,
.infobms-data-panel__body > .table-responsive {
    margin-bottom: 0;
}

.infobms-data-panel table.table thead th {
    background: transparent;
    border-bottom-width: 2px;
}

/* ── App-wide table accent borders (ColorScheme cycle) ── */
.content table.table,
.content .table-responsive > table.table,
.content table.dataTable,
.healthcare-module-page table.table,
.hms-module-page table.table,
.hc-data-panel table.table,
.partners-data-panel table.table,
.infobms-data-panel table.table {
    border: 1px solid color-mix(in srgb, var(--widget-accent-1, var(--btn-primary-bg, #3b82f6)) 35%, var(--border-strong, var(--pos-border, #e5e7eb)));
    border-left-width: 3px;
    border-left-color: var(--widget-accent-1, var(--btn-primary-bg, var(--accent-primary, #3b82f6)));
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 0.35rem;
    overflow: hidden;
}

.content .box:nth-of-type(8n+1) table.table,
.content .card:nth-of-type(8n+1) table.table,
.content .table-responsive:nth-of-type(8n+1) > table.table,
.healthcare-module-page .hc-data-panel:nth-of-type(8n+1) table.table,
section.content > .row:nth-of-type(8n+1) table.table {
    border-left-color: var(--widget-accent-1, var(--btn-primary-bg, #3b82f6));
}
.content .box:nth-of-type(8n+2) table.table,
.content .card:nth-of-type(8n+2) table.table,
.content .table-responsive:nth-of-type(8n+2) > table.table,
.healthcare-module-page .hc-data-panel:nth-of-type(8n+2) table.table,
section.content > .row:nth-of-type(8n+2) table.table {
    border-left-color: var(--widget-accent-2, var(--btn-info-bg, #0ea5e9));
}
.content .box:nth-of-type(8n+3) table.table,
.content .card:nth-of-type(8n+3) table.table,
.content .table-responsive:nth-of-type(8n+3) > table.table,
.healthcare-module-page .hc-data-panel:nth-of-type(8n+3) table.table,
section.content > .row:nth-of-type(8n+3) table.table {
    border-left-color: var(--widget-accent-3, var(--btn-success-bg, #16a34a));
}
.content .box:nth-of-type(8n+4) table.table,
.content .card:nth-of-type(8n+4) table.table,
.content .table-responsive:nth-of-type(8n+4) > table.table,
.healthcare-module-page .hc-data-panel:nth-of-type(8n+4) table.table,
section.content > .row:nth-of-type(8n+4) table.table {
    border-left-color: var(--widget-accent-4, var(--btn-warning-bg, #d97706));
}
.content .box:nth-of-type(8n+5) table.table,
.content .card:nth-of-type(8n+5) table.table,
.content .table-responsive:nth-of-type(8n+5) > table.table,
.healthcare-module-page .hc-data-panel:nth-of-type(8n+5) table.table,
section.content > .row:nth-of-type(8n+5) table.table {
    border-left-color: var(--widget-accent-5, var(--btn-danger-bg, #dc2626));
}
.content .box:nth-of-type(8n+6) table.table,
.content .card:nth-of-type(8n+6) table.table,
.content .table-responsive:nth-of-type(8n+6) > table.table,
.healthcare-module-page .hc-data-panel:nth-of-type(8n+6) table.table,
section.content > .row:nth-of-type(8n+6) table.table {
    border-left-color: var(--widget-accent-6, var(--btn-secondary-bg, #6b7280));
}
.content .box:nth-of-type(8n+7) table.table,
.content .card:nth-of-type(8n+7) table.table,
.content .table-responsive:nth-of-type(8n+7) > table.table,
.healthcare-module-page .hc-data-panel:nth-of-type(8n+7) table.table,
section.content > .row:nth-of-type(8n+7) table.table {
    border-left-color: var(--widget-accent-7, var(--accent-info, #06b6d4));
}
.content .box:nth-of-type(8n+8) table.table,
.content .card:nth-of-type(8n+8) table.table,
.content .table-responsive:nth-of-type(8n+8) > table.table,
.healthcare-module-page .hc-data-panel:nth-of-type(8n+8) table.table,
section.content > .row:nth-of-type(8n+8) table.table {
    border-left-color: var(--widget-accent-8, var(--accent-primary, #6366f1));
}

/* Stable accents inside eye exam panes */
.eye-exam-tab-content .table-responsive:nth-of-type(1) > table.table { border-left-color: var(--btn-info-bg, #0ea5e9); }
.eye-exam-tab-content .table-responsive:nth-of-type(2) > table.table { border-left-color: var(--btn-success-bg, #16a34a); }
.eye-exam-tab-content table.table { border-left-width: 3px; }

@media print {
    .content table.table,
    .content .table-responsive > table.table,
    .content table.dataTable {
        border-left-width: 1px !important;
        border-left-color: #000 !important;
    }
}
