/* Bootstrap presentation bridge; vendor files and component behavior stay untouched. */
.erp-theme {
  --bs-body-font-family: var(--erp-font-sans);
  --bs-body-font-size: var(--erp-text-body);
  --bs-body-line-height: var(--erp-line-body);
  --bs-body-color: var(--erp-color-text);
  --bs-body-color-rgb: var(--erp-rgb-text);
  --bs-body-bg: var(--erp-color-canvas);
  --bs-body-bg-rgb: var(--erp-rgb-canvas);
  --bs-emphasis-color: var(--erp-color-text);
  --bs-emphasis-color-rgb: var(--erp-rgb-text);
  --bs-secondary-color: var(--erp-color-muted);
  --bs-secondary-color-rgb: var(--erp-rgb-muted);
  --bs-secondary-bg: var(--erp-color-muted-surface);
  --bs-secondary-bg-rgb: var(--erp-rgb-muted-surface);
  --bs-tertiary-bg: var(--erp-color-surface);
  --bs-tertiary-bg-rgb: var(--erp-rgb-surface);
  --bs-border-color: var(--erp-color-border);
  --bs-border-radius: var(--erp-radius);
  --bs-link-color: var(--erp-color-primary);
  --bs-link-color-rgb: var(--erp-rgb-primary);
  --bs-link-hover-color: var(--erp-color-accent-text);
  --bs-link-hover-color-rgb: var(--erp-rgb-accent-text);
  --bs-light-rgb: var(--erp-rgb-muted-surface);
  --bs-dark-rgb: var(--erp-rgb-sidebar);
  --bs-focus-ring-color: var(--erp-color-focus);
}

.erp-theme {
  --bs-primary: var(--erp-color-primary);
  --bs-primary-rgb: var(--erp-rgb-primary);
  --bs-primary-text-emphasis: var(--erp-color-primary);
  --bs-primary-bg-subtle: var(--erp-color-muted-surface);
  --bs-primary-border-subtle: var(--erp-color-border);
}
.erp-theme .btn-primary {
  --bs-btn-color: var(--erp-color-inverse);
  --bs-btn-bg: var(--erp-color-primary);
  --bs-btn-border-color: var(--erp-color-primary);
  --bs-btn-hover-color: var(--erp-color-inverse);
  --bs-btn-hover-bg: var(--erp-color-primary);
  --bs-btn-hover-border-color: var(--erp-color-text);
  --bs-btn-active-color: var(--erp-color-inverse);
  --bs-btn-active-bg: var(--erp-color-primary);
  --bs-btn-active-border-color: var(--erp-color-text);
  --bs-btn-disabled-color: var(--erp-color-inverse);
  --bs-btn-disabled-bg: var(--erp-color-primary);
  --bs-btn-disabled-border-color: var(--erp-color-primary);
}
.erp-theme .btn-outline-primary {
  --bs-btn-color: var(--erp-color-primary);
  --bs-btn-bg: var(--erp-color-surface);
  --bs-btn-border-color: var(--erp-color-input-border);
  --bs-btn-hover-color: var(--erp-color-primary);
  --bs-btn-hover-bg: var(--erp-color-muted-surface);
  --bs-btn-hover-border-color: var(--erp-color-primary);
  --bs-btn-active-color: var(--erp-color-primary);
  --bs-btn-active-bg: var(--erp-color-muted-surface);
  --bs-btn-active-border-color: var(--erp-color-primary);
  --bs-btn-disabled-color: var(--erp-color-muted);
  --bs-btn-disabled-bg: var(--erp-color-muted-surface);
  --bs-btn-disabled-border-color: var(--erp-color-input-border);
}

.erp-theme {
  --bs-secondary: var(--erp-color-muted);
  --bs-secondary-rgb: var(--erp-rgb-muted);
  --bs-secondary-text-emphasis: var(--erp-color-muted);
  --bs-secondary-bg-subtle: var(--erp-color-muted-surface);
  --bs-secondary-border-subtle: var(--erp-color-border);
}
.erp-theme .btn-secondary {
  --bs-btn-color: var(--erp-color-inverse);
  --bs-btn-bg: var(--erp-color-muted);
  --bs-btn-border-color: var(--erp-color-muted);
  --bs-btn-hover-color: var(--erp-color-inverse);
  --bs-btn-hover-bg: var(--erp-color-muted);
  --bs-btn-hover-border-color: var(--erp-color-text);
  --bs-btn-active-color: var(--erp-color-inverse);
  --bs-btn-active-bg: var(--erp-color-muted);
  --bs-btn-active-border-color: var(--erp-color-text);
  --bs-btn-disabled-color: var(--erp-color-inverse);
  --bs-btn-disabled-bg: var(--erp-color-muted);
  --bs-btn-disabled-border-color: var(--erp-color-muted);
}
.erp-theme .btn-outline-secondary {
  --bs-btn-color: var(--erp-color-muted);
  --bs-btn-bg: var(--erp-color-surface);
  --bs-btn-border-color: var(--erp-color-input-border);
  --bs-btn-hover-color: var(--erp-color-muted);
  --bs-btn-hover-bg: var(--erp-color-muted-surface);
  --bs-btn-hover-border-color: var(--erp-color-muted);
  --bs-btn-active-color: var(--erp-color-muted);
  --bs-btn-active-bg: var(--erp-color-muted-surface);
  --bs-btn-active-border-color: var(--erp-color-muted);
  --bs-btn-disabled-color: var(--erp-color-muted);
  --bs-btn-disabled-bg: var(--erp-color-muted-surface);
  --bs-btn-disabled-border-color: var(--erp-color-input-border);
}

.erp-theme {
  --bs-success: var(--erp-color-success);
  --bs-success-rgb: var(--erp-rgb-success);
  --bs-success-text-emphasis: var(--erp-color-success);
  --bs-success-bg-subtle: var(--erp-color-success-surface);
  --bs-success-border-subtle: var(--erp-color-success-border);
}
.erp-theme .btn-success {
  --bs-btn-color: var(--erp-color-inverse);
  --bs-btn-bg: var(--erp-color-success);
  --bs-btn-border-color: var(--erp-color-success);
  --bs-btn-hover-color: var(--erp-color-inverse);
  --bs-btn-hover-bg: var(--erp-color-success);
  --bs-btn-hover-border-color: var(--erp-color-text);
  --bs-btn-active-color: var(--erp-color-inverse);
  --bs-btn-active-bg: var(--erp-color-success);
  --bs-btn-active-border-color: var(--erp-color-text);
  --bs-btn-disabled-color: var(--erp-color-inverse);
  --bs-btn-disabled-bg: var(--erp-color-success);
  --bs-btn-disabled-border-color: var(--erp-color-success);
}
.erp-theme .btn-outline-success {
  --bs-btn-color: var(--erp-color-success);
  --bs-btn-bg: var(--erp-color-surface);
  --bs-btn-border-color: var(--erp-color-input-border);
  --bs-btn-hover-color: var(--erp-color-success);
  --bs-btn-hover-bg: var(--erp-color-success-surface);
  --bs-btn-hover-border-color: var(--erp-color-success);
  --bs-btn-active-color: var(--erp-color-success);
  --bs-btn-active-bg: var(--erp-color-success-surface);
  --bs-btn-active-border-color: var(--erp-color-success);
  --bs-btn-disabled-color: var(--erp-color-muted);
  --bs-btn-disabled-bg: var(--erp-color-muted-surface);
  --bs-btn-disabled-border-color: var(--erp-color-input-border);
}

.erp-theme {
  --bs-danger: var(--erp-color-danger);
  --bs-danger-rgb: var(--erp-rgb-danger);
  --bs-danger-text-emphasis: var(--erp-color-danger-text);
  --bs-danger-bg-subtle: var(--erp-color-danger-surface);
  --bs-danger-border-subtle: var(--erp-color-danger-border);
}
.erp-theme .btn-danger {
  --bs-btn-color: var(--erp-color-inverse);
  --bs-btn-bg: var(--erp-color-danger);
  --bs-btn-border-color: var(--erp-color-danger);
  --bs-btn-hover-color: var(--erp-color-inverse);
  --bs-btn-hover-bg: var(--erp-color-danger);
  --bs-btn-hover-border-color: var(--erp-color-text);
  --bs-btn-active-color: var(--erp-color-inverse);
  --bs-btn-active-bg: var(--erp-color-danger);
  --bs-btn-active-border-color: var(--erp-color-text);
  --bs-btn-disabled-color: var(--erp-color-inverse);
  --bs-btn-disabled-bg: var(--erp-color-danger);
  --bs-btn-disabled-border-color: var(--erp-color-danger);
}
.erp-theme .btn-outline-danger {
  --bs-btn-color: var(--erp-color-danger-text);
  --bs-btn-bg: var(--erp-color-surface);
  --bs-btn-border-color: var(--erp-color-input-border);
  --bs-btn-hover-color: var(--erp-color-danger-text);
  --bs-btn-hover-bg: var(--erp-color-danger-surface);
  --bs-btn-hover-border-color: var(--erp-color-danger);
  --bs-btn-active-color: var(--erp-color-danger-text);
  --bs-btn-active-bg: var(--erp-color-danger-surface);
  --bs-btn-active-border-color: var(--erp-color-danger);
  --bs-btn-disabled-color: var(--erp-color-muted);
  --bs-btn-disabled-bg: var(--erp-color-muted-surface);
  --bs-btn-disabled-border-color: var(--erp-color-input-border);
}

.erp-theme {
  --bs-warning: var(--erp-color-warning);
  --bs-warning-rgb: var(--erp-rgb-warning);
  --bs-warning-text-emphasis: var(--erp-color-warning);
  --bs-warning-bg-subtle: var(--erp-color-warning-surface);
  --bs-warning-border-subtle: var(--erp-color-warning-border);
}
.erp-theme .btn-warning {
  --bs-btn-color: var(--erp-color-inverse);
  --bs-btn-bg: var(--erp-color-warning);
  --bs-btn-border-color: var(--erp-color-warning);
  --bs-btn-hover-color: var(--erp-color-inverse);
  --bs-btn-hover-bg: var(--erp-color-warning);
  --bs-btn-hover-border-color: var(--erp-color-text);
  --bs-btn-active-color: var(--erp-color-inverse);
  --bs-btn-active-bg: var(--erp-color-warning);
  --bs-btn-active-border-color: var(--erp-color-text);
  --bs-btn-disabled-color: var(--erp-color-inverse);
  --bs-btn-disabled-bg: var(--erp-color-warning);
  --bs-btn-disabled-border-color: var(--erp-color-warning);
}
.erp-theme .btn-outline-warning {
  --bs-btn-color: var(--erp-color-warning);
  --bs-btn-bg: var(--erp-color-surface);
  --bs-btn-border-color: var(--erp-color-input-border);
  --bs-btn-hover-color: var(--erp-color-warning);
  --bs-btn-hover-bg: var(--erp-color-warning-surface);
  --bs-btn-hover-border-color: var(--erp-color-warning);
  --bs-btn-active-color: var(--erp-color-warning);
  --bs-btn-active-bg: var(--erp-color-warning-surface);
  --bs-btn-active-border-color: var(--erp-color-warning);
  --bs-btn-disabled-color: var(--erp-color-muted);
  --bs-btn-disabled-bg: var(--erp-color-muted-surface);
  --bs-btn-disabled-border-color: var(--erp-color-input-border);
}

.erp-theme {
  --bs-info: var(--erp-color-info);
  --bs-info-rgb: var(--erp-rgb-info);
  --bs-info-text-emphasis: var(--erp-color-info);
  --bs-info-bg-subtle: var(--erp-color-info-surface);
  --bs-info-border-subtle: var(--erp-color-info-border);
}
.erp-theme .btn-info {
  --bs-btn-color: var(--erp-color-inverse);
  --bs-btn-bg: var(--erp-color-info);
  --bs-btn-border-color: var(--erp-color-info);
  --bs-btn-hover-color: var(--erp-color-inverse);
  --bs-btn-hover-bg: var(--erp-color-info);
  --bs-btn-hover-border-color: var(--erp-color-text);
  --bs-btn-active-color: var(--erp-color-inverse);
  --bs-btn-active-bg: var(--erp-color-info);
  --bs-btn-active-border-color: var(--erp-color-text);
  --bs-btn-disabled-color: var(--erp-color-inverse);
  --bs-btn-disabled-bg: var(--erp-color-info);
  --bs-btn-disabled-border-color: var(--erp-color-info);
}
.erp-theme .btn-outline-info {
  --bs-btn-color: var(--erp-color-info);
  --bs-btn-bg: var(--erp-color-surface);
  --bs-btn-border-color: var(--erp-color-input-border);
  --bs-btn-hover-color: var(--erp-color-info);
  --bs-btn-hover-bg: var(--erp-color-info-surface);
  --bs-btn-hover-border-color: var(--erp-color-info);
  --bs-btn-active-color: var(--erp-color-info);
  --bs-btn-active-bg: var(--erp-color-info-surface);
  --bs-btn-active-border-color: var(--erp-color-info);
  --bs-btn-disabled-color: var(--erp-color-muted);
  --bs-btn-disabled-bg: var(--erp-color-muted-surface);
  --bs-btn-disabled-border-color: var(--erp-color-input-border);
}

.erp-theme .btn-primary { --bs-btn-hover-bg: var(--erp-color-primary-hover); --bs-btn-active-bg: var(--erp-color-primary-active); }
.erp-theme .btn-light {
  --bs-btn-color: var(--erp-color-text); --bs-btn-bg: var(--erp-color-surface);
  --bs-btn-border-color: var(--erp-color-border);
  --bs-btn-hover-color: var(--erp-color-text); --bs-btn-hover-bg: var(--erp-color-hover);
  --bs-btn-hover-border-color: var(--erp-color-input-border);
  --bs-btn-active-color: var(--erp-color-text); --bs-btn-active-bg: var(--erp-color-selected);
  --bs-btn-active-border-color: var(--erp-color-input-border);
  --bs-btn-disabled-color: var(--erp-color-muted); --bs-btn-disabled-bg: var(--erp-color-muted-surface);
}
.erp-theme .btn-link { --bs-btn-color: var(--erp-color-primary); --bs-btn-hover-color: var(--erp-color-accent-text); --bs-btn-active-color: var(--erp-color-primary); --bs-btn-disabled-color: var(--erp-color-muted); }
.erp-theme .btn:not(:disabled):not(.disabled):active { box-shadow: inset 0 1px 2px var(--erp-color-shadow); }
.erp-theme .dropdown-menu {
  --bs-dropdown-bg: var(--erp-color-surface); --bs-dropdown-color: var(--erp-color-text);
  --bs-dropdown-border-color: var(--erp-color-border);
  --bs-dropdown-link-color: var(--erp-color-text);
  --bs-dropdown-link-hover-color: var(--erp-color-text); --bs-dropdown-link-hover-bg: var(--erp-color-hover);
  --bs-dropdown-link-active-color: var(--erp-color-inverse); --bs-dropdown-link-active-bg: var(--erp-color-primary);
  --bs-dropdown-link-disabled-color: var(--erp-color-muted); --bs-dropdown-divider-bg: var(--erp-color-border);
  font-size: var(--erp-text-body);
}
.erp-theme .nav-tabs {
  --bs-nav-link-color: var(--erp-color-muted); --bs-nav-link-hover-color: var(--erp-color-primary);
  --bs-nav-tabs-border-color: var(--erp-color-border);
  --bs-nav-tabs-link-active-color: var(--erp-color-primary);
  --bs-nav-tabs-link-active-bg: var(--erp-color-surface);
  --bs-nav-tabs-link-active-border-color: var(--erp-color-border);
}
.erp-theme .nav-pills { --bs-nav-pills-link-active-bg: var(--erp-color-primary); --bs-nav-pills-link-active-color: var(--erp-color-inverse); }
.erp-theme .pagination {
  --bs-pagination-color: var(--erp-color-primary); --bs-pagination-bg: var(--erp-color-surface);
  --bs-pagination-border-color: var(--erp-color-border);
  --bs-pagination-hover-color: var(--erp-color-text); --bs-pagination-hover-bg: var(--erp-color-hover);
  --bs-pagination-hover-border-color: var(--erp-color-input-border);
  --bs-pagination-active-color: var(--erp-color-inverse); --bs-pagination-active-bg: var(--erp-color-primary);
  --bs-pagination-active-border-color: var(--erp-color-primary);
  --bs-pagination-disabled-color: var(--erp-color-muted); --bs-pagination-disabled-bg: var(--erp-color-muted-surface);
}
.erp-theme .table {
  --bs-table-bg: var(--erp-color-surface); --bs-table-color: var(--erp-color-text);
  --bs-table-border-color: var(--erp-color-border);
  --bs-table-striped-bg: var(--erp-color-canvas); --bs-table-striped-color: var(--erp-color-text);
  --bs-table-hover-bg: var(--erp-color-hover); --bs-table-hover-color: var(--erp-color-text);
  --bs-table-active-bg: var(--erp-color-selected); --bs-table-active-color: var(--erp-color-text);
}
.erp-theme .table-success { --bs-table-bg: var(--erp-color-success-surface); --bs-table-color: var(--erp-color-success); --bs-table-border-color: var(--erp-color-success-border); }
.erp-theme .table-warning { --bs-table-bg: var(--erp-color-warning-surface); --bs-table-color: var(--erp-color-warning); --bs-table-border-color: var(--erp-color-warning-border); }
.erp-theme .table-danger { --bs-table-bg: var(--erp-color-danger-surface); --bs-table-color: var(--erp-color-danger-text); --bs-table-border-color: var(--erp-color-danger-border); }
.erp-theme .table-info { --bs-table-bg: var(--erp-color-info-surface); --bs-table-color: var(--erp-color-info); --bs-table-border-color: var(--erp-color-info-border); }

.erp-theme .btn-dark {
  --bs-btn-color:var(--erp-color-inverse); --bs-btn-bg:var(--erp-color-sidebar); --bs-btn-border-color:var(--erp-color-sidebar);
  --bs-btn-hover-color:var(--erp-color-inverse); --bs-btn-hover-bg:var(--erp-color-sidebar-hover); --bs-btn-hover-border-color:var(--erp-color-sidebar-hover);
  --bs-btn-active-color:var(--erp-color-inverse); --bs-btn-active-bg:var(--erp-color-primary-active); --bs-btn-active-border-color:var(--erp-color-primary-active);
  --bs-btn-disabled-color:var(--erp-color-inverse); --bs-btn-disabled-bg:var(--erp-color-sidebar); --bs-btn-disabled-border-color:var(--erp-color-sidebar);
}
.erp-theme .btn-outline-light {
  --bs-btn-color:var(--erp-color-inverse); --bs-btn-border-color:var(--erp-color-inverse);
  --bs-btn-hover-color:var(--erp-color-primary); --bs-btn-hover-bg:var(--erp-color-surface); --bs-btn-hover-border-color:var(--erp-color-surface);
  --bs-btn-active-color:var(--erp-color-primary); --bs-btn-active-bg:var(--erp-color-selected); --bs-btn-active-border-color:var(--erp-color-selected);
  --bs-btn-disabled-color:var(--erp-color-inverse); --bs-btn-disabled-border-color:var(--erp-color-inverse);
}
