body {
    font-family: 'Satoshi', 'Inter', sans-serif;
    background: var(--erp-bg-main);
    color: var(--erp-text);
    line-height: 1.625;
}

.surface-card {
    background: var(--erp-card-bg);
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius-md);
    box-shadow: var(--erp-shadow-sm);
}

.surface-card:hover {
    border-color: var(--erp-border-strong);
}

.erp-screen-stack {
    display: grid;
    gap: 1rem;
}

.erp-form-card .card-body,
.erp-form-card-body {
    padding: 1.5rem;
}

.erp-form-card,
.erp-toolbar-card,
.erp-data-card {
    overflow: hidden;
}

.erp-page-heading {
    margin-bottom: 1rem;
}

.erp-page-heading-title {
    margin-bottom: .35rem;
    font-weight: 800;
}

.erp-page-heading-text {
    color: var(--erp-muted);
    margin-bottom: 0;
}

.erp-record-status {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: 1rem;
    padding: .55rem .75rem;
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius-sm);
    background: var(--erp-surface-soft);
}

.erp-inline-feedback {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    border-radius: var(--erp-radius-sm);
    padding: .4rem .65rem;
    font-size: .875rem;
    font-weight: 600;
    border: 1px solid var(--erp-border);
    background: var(--erp-surface-soft);
    color: var(--erp-muted);
}

.erp-inline-feedback.is-success {
    border-color: color-mix(in srgb, var(--erp-success) 24%, var(--erp-border));
    background: color-mix(in srgb, var(--erp-success) 10%, var(--erp-surface));
    color: var(--erp-success);
}

.erp-inline-feedback.is-error {
    border-color: color-mix(in srgb, var(--erp-danger) 24%, var(--erp-border));
    background: color-mix(in srgb, var(--erp-danger) 10%, var(--erp-surface));
    color: var(--erp-danger);
}

.erp-muted-label {
    color: var(--erp-muted);
    font-size: .875rem;
    font-weight: 600;
}

.erp-audit-panel {
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius-md);
    background: linear-gradient(180deg, var(--erp-surface-soft) 0%, var(--erp-surface) 100%);
    padding: 1rem;
}

.erp-soft-panel,
.erp-field-panel {
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius-md);
    background: var(--erp-surface-soft);
    color: var(--erp-text);
}

.erp-field-panel {
    background: var(--erp-surface);
}

.erp-step-badge,
.badge.text-bg-light {
    background: var(--erp-surface-soft) !important;
    border-color: var(--erp-border-strong) !important;
    color: var(--erp-table-header-text) !important;
}

.erp-destination-badge-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem;
}

.erp-destination-badge-label {
    color: var(--erp-muted);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.erp-consolidado-created-at {
    color: var(--erp-muted);
    font-size: .9rem;
}

.erp-destination-badge {
    border: 1px solid color-mix(in srgb, var(--erp-primary) 28%, var(--erp-border-strong));
    background: color-mix(in srgb, var(--erp-primary) 10%, var(--erp-surface));
    color: var(--erp-text) !important;
    font-size: .82rem;
    font-weight: 700;
    padding: .42rem .7rem;
}

.erp-destination-badge.is-empty {
    background: var(--erp-surface-soft);
    border-color: var(--erp-border-strong);
    box-shadow: none;
    color: var(--erp-muted);
}

.erp-form-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .5rem;
    margin-top: 1rem;
}

.erp-logo-panel {
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius-md);
    background: var(--erp-surface-soft);
    padding: 1rem;
}

.erp-logo-preview {
    min-height: 160px;
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius-md);
    background: var(--erp-surface);
    display: flex;
    align-items: center;
    justify-content: center;
}

.erp-logo-preview-image {
    max-width: 260px;
    max-height: 120px;
    object-fit: contain;
}

.erp-color-input {
    width: 4.5rem;
    min-height: 44px;
    padding: .35rem;
    flex: 0 0 4.5rem;
}

.erp-color-hex-input {
    min-height: 44px;
    font-family: var(--erp-font-monospace, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    text-transform: uppercase;
}

.erp-theme-token-stack {
    display: grid;
    gap: 1rem;
}

.erp-theme-token-panel {
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius-md);
    background: var(--erp-card-bg);
    overflow: hidden;
}

.erp-theme-token-panel-header {
    padding: 1rem;
    border-bottom: 1px solid var(--erp-border);
    background: var(--erp-surface-soft);
}

.erp-theme-token-table {
    --bs-table-bg: var(--erp-card-bg);
    --bs-table-color: var(--erp-text);
    --bs-table-border-color: var(--erp-border);
}

.erp-theme-token-table thead th {
    background: var(--erp-table-header-bg);
    color: var(--erp-table-header-text);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.erp-theme-token-table th,
.erp-theme-token-table td {
    border-color: var(--erp-border);
    padding: .85rem 1rem;
}

.erp-theme-token-label,
.erp-theme-token-usage {
    display: block;
}

.erp-theme-token-label {
    color: var(--erp-text);
    font-weight: 800;
}

.erp-theme-token-usage {
    color: var(--erp-muted);
    font-size: .82rem;
    font-weight: 500;
}

.erp-theme-token-code {
    color: var(--erp-muted);
    font-family: var(--erp-font-monospace, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-size: .78rem;
    white-space: nowrap;
}

.erp-theme-token-table .erp-color-field {
    display: flex;
    min-width: 190px;
}

.erp-theme-token-table .erp-color-input {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.erp-theme-token-table .erp-color-hex-input {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.erp-theme-preview {
    min-height: 180px;
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius-md);
    background: var(--erp-surface);
    box-shadow: var(--erp-shadow-sm);
    display: grid;
    grid-template-columns: 88px 1fr;
    overflow: hidden;
}

.erp-theme-preview-sidebar {
    background: linear-gradient(180deg, var(--erp-sidebar-gradient-start) 0%, var(--erp-sidebar-gradient-mid) 46%, var(--erp-sidebar-gradient-end) 100%);
    padding: 1rem .75rem;
    display: grid;
    align-content: start;
    gap: .6rem;
}

.erp-theme-preview-sidebar span {
    display: block;
    height: .55rem;
    border-radius: 999px;
    background: var(--erp-sidebar-muted);
}

.erp-theme-preview-content {
    padding: 1rem;
    display: grid;
    align-content: center;
    gap: .75rem;
}

.erp-theme-preview-title {
    color: var(--erp-text);
    font-weight: 800;
}

.erp-theme-preview-bar,
.erp-theme-preview-accent {
    height: .8rem;
    border-radius: 999px;
}

.erp-theme-preview-bar {
    background: var(--erp-primary);
}

.erp-theme-preview-accent {
    width: 72%;
    background: var(--erp-accent);
}

.erp-sticky-summary {
    max-width: 360px;
    position: sticky;
    top: 1rem;
}

.sender-panel,
.invoice-step-panel {
    background: linear-gradient(180deg, rgba(var(--bs-primary-rgb), .045), rgba(var(--bs-primary-rgb), .015));
    border-color: rgba(var(--bs-primary-rgb), .18) !important;
}

.invoice-line-panel {
    background: var(--bs-body-bg);
    border-color: rgba(var(--bs-primary-rgb), .16) !important;
}

.sender-details {
    border-color: rgba(var(--bs-primary-rgb), .14) !important;
}

.sender-details-dot {
    width: .65rem;
    height: .65rem;
    border-radius: 999px;
    background: var(--bs-primary);
    box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .12);
    flex: 0 0 auto;
}

.pos-service-card {
    border-color: var(--bs-border-color) !important;
    transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease, background-color .12s ease;
}

.pos-service-card:hover,
.pos-service-card:focus-visible,
.pos-service-card.is-active {
    transform: translateY(-2px);
    border-color: var(--bs-primary) !important;
    box-shadow: 0 .75rem 1.5rem rgba(var(--bs-primary-rgb), .16) !important;
    background: rgba(var(--bs-primary-rgb), .04);
}

.pos-service-card:focus-visible {
    outline: .2rem solid rgba(var(--bs-primary-rgb), .25);
    outline-offset: .15rem;
}

.erp-empty-state-icon {
    width: 4rem;
    height: 4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: color-mix(in srgb, var(--erp-warning) 16%, var(--erp-surface));
    color: #92400e;
}

.erp-address-textarea {
    min-height: 4rem;
    resize: vertical;
}

.erp-toolbar-card {
    margin-bottom: 1rem;
}

.erp-toolbar-form {
    display: flex;
    flex: 1 1 auto;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    min-width: 0;
}

.erp-toolbar-form .input-group:not(.erp-filter-currency) {
    flex: 1 1 32rem;
    min-width: 220px;
    max-width: none;
}

.erp-toolbar-field-wide {
    flex: 1 1 34rem;
    min-width: min(100%, 320px);
}

.erp-toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
}

.erp-filter-currency {
    min-width: 200px;
}

.erp-data-card .card-body {
    padding: 0;
}

.erp-data-table {
    --bs-table-bg: var(--erp-surface);
    --bs-table-striped-bg: var(--erp-row-striped);
    --bs-table-hover-bg: var(--erp-row-hover);
    --bs-table-color: var(--erp-text);
    --bs-table-border-color: var(--erp-border);
    margin-bottom: 0;
    border-color: var(--erp-border);
}

.erp-data-table thead th {
    background: var(--erp-table-header-bg);
    color: var(--erp-table-header-text);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    border-bottom-color: var(--erp-border);
    box-shadow: inset 0 -1px 0 rgba(var(--erp-primary-rgb), .18);
}

.erp-data-table tbody td {
    --bs-table-bg-state: transparent;
    background-color: var(--erp-surface);
    box-shadow: none;
    color: var(--erp-text);
    border-color: var(--erp-border);
}

.erp-data-table tbody tr:nth-child(even) td {
    --bs-table-bg-state: transparent;
    background-color: var(--erp-row-striped);
    box-shadow: none;
    color: var(--erp-text);
}

.erp-data-table tbody tr:hover td {
    --bs-table-bg-state: transparent;
    background-color: var(--erp-row-hover);
    box-shadow: none;
    color: var(--erp-text);
}

.erp-data-table .badge.text-bg-light {
    background: var(--erp-surface-soft) !important;
    border-color: var(--erp-border-strong) !important;
    color: var(--erp-table-header-text) !important;
}

.erp-selection-cell {
    width: 2.75rem;
    text-align: center;
}

.erp-table-actions {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}

.erp-icon-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: .25rem;
    background: transparent;
    padding: 0;
    line-height: 1;
    text-decoration: none;
}

.erp-icon-link:hover,
.erp-icon-link:focus {
    background: transparent;
    text-decoration: none;
}

.erp-icon-link:focus-visible {
    outline: 2px solid var(--erp-primary);
    outline-offset: 2px;
}

.erp-tracking-hero {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
    gap: 1rem;
    border: 1px solid color-mix(in srgb, var(--erp-primary) 32%, var(--erp-border));
    border-radius: var(--erp-radius-md);
    background:
        radial-gradient(circle at 12% 18%, color-mix(in srgb, var(--erp-primary-contrast) 18%, transparent), transparent 30%),
        linear-gradient(135deg, var(--erp-primary) 0%, var(--erp-primary-600) 100%);
    color: var(--erp-primary-contrast);
    box-shadow: var(--erp-primary-shadow);
    padding: 1.35rem;
}

.erp-tracking-hero-main,
.erp-tracking-current {
    display: grid;
    align-content: center;
    gap: .45rem;
}

.erp-tracking-eyebrow,
.erp-tracking-current-label,
.erp-tracking-current-date {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: color-mix(in srgb, var(--erp-primary-contrast) 86%, transparent);
    font-weight: 700;
}

.erp-tracking-number {
    font-size: clamp(1.75rem, 4vw, 2.65rem);
    font-weight: 900;
    letter-spacing: .02em;
    line-height: 1;
}

.erp-tracking-chip {
    display: inline-flex;
    width: fit-content;
    border: 1px solid color-mix(in srgb, var(--erp-primary-contrast) 28%, transparent);
    border-radius: 999px;
    background: color-mix(in srgb, var(--erp-primary-contrast) 16%, transparent);
    color: var(--erp-primary-contrast);
    font-size: .8rem;
    font-weight: 800;
    padding: .35rem .65rem;
}

.erp-tracking-current {
    min-width: min(100%, 18rem);
    border: 1px solid color-mix(in srgb, var(--erp-primary-contrast) 22%, transparent);
    border-radius: var(--erp-radius-md);
    background: color-mix(in srgb, var(--erp-primary-contrast) 13%, transparent);
    padding: 1rem;
}

.erp-tracking-status-pill {
    --erp-tracking-status: var(--erp-primary);
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    width: fit-content;
    border: 1px solid color-mix(in srgb, var(--erp-tracking-status) 32%, var(--erp-border));
    border-radius: 999px;
    background: color-mix(in srgb, var(--erp-tracking-status) 12%, var(--erp-surface));
    color: color-mix(in srgb, var(--erp-tracking-status) 72%, var(--erp-text));
    font-size: .78rem;
    font-weight: 800;
    padding: .35rem .65rem;
}

.erp-tracking-status-pill.is-success,
.erp-tracking-timeline-item.is-success {
    --erp-tracking-status: var(--erp-success);
}

.erp-tracking-status-pill.is-warning,
.erp-tracking-timeline-item.is-warning {
    --erp-tracking-status: var(--erp-warning);
}

.erp-tracking-status-pill.is-danger,
.erp-tracking-timeline-item.is-danger {
    --erp-tracking-status: var(--erp-danger);
}

.erp-tracking-status-pill.is-primary,
.erp-tracking-timeline-item.is-primary {
    --erp-tracking-status: var(--erp-primary);
}

.erp-tracking-status-pill.is-muted,
.erp-tracking-timeline-item.is-muted {
    --erp-tracking-status: var(--erp-muted);
}

.erp-tracking-info-card,
.erp-tracking-context-card,
.erp-tracking-progress-card {
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius-md);
    background: linear-gradient(180deg, var(--erp-surface-soft) 0%, var(--erp-surface) 100%);
    box-shadow: var(--erp-shadow-sm);
    padding: 1rem;
}

.erp-tracking-info-card h2 {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: var(--erp-primary-600);
    font-size: 1rem;
    font-weight: 900;
    margin-bottom: .85rem;
}

.erp-tracking-context-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
    gap: .75rem;
}

.erp-tracking-context-grid > div {
    display: flex;
    align-items: center;
    gap: .5rem;
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius-sm);
    background: var(--erp-surface);
    padding: .75rem;
}

.erp-tracking-context-grid i {
    color: var(--erp-primary-600);
}

.erp-tracking-progress-header {
    border-bottom: 1px solid var(--erp-border);
    margin: -1rem -1rem 1rem;
    padding: 1rem;
}

.erp-tracking-timeline {
    display: grid;
    gap: .85rem;
    position: relative;
}

.erp-tracking-timeline-item {
    --erp-tracking-status: var(--erp-primary);
    display: grid;
    grid-template-columns: 2.75rem 1fr;
    gap: .85rem;
    position: relative;
}

.erp-tracking-timeline-item:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 1.35rem;
    top: 2.75rem;
    bottom: -.85rem;
    width: 2px;
    background: color-mix(in srgb, var(--erp-tracking-status) 28%, var(--erp-border));
}

.erp-tracking-timeline-marker {
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 999px;
    background: var(--erp-tracking-status);
    color: var(--erp-primary-contrast);
    box-shadow: 0 0 0 .35rem color-mix(in srgb, var(--erp-tracking-status) 14%, transparent);
}

.erp-tracking-timeline-body {
    border: 1px solid color-mix(in srgb, var(--erp-tracking-status) 22%, var(--erp-border));
    border-radius: var(--erp-radius-md);
    background: var(--erp-surface);
    padding: .85rem 1rem;
}

.erp-profile-permissions-table th:first-child {
    width: 40%;
}

.erp-section-row td {
    background: var(--erp-surface-soft);
    color: var(--erp-table-header-text);
    font-weight: 700;
}

.erp-permission-options {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

.erp-check-option {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: var(--erp-muted);
    font-size: .875rem;
    font-weight: 600;
}

.erp-per-page-custom {
    width: 110px;
}

.erp-pagination-bar {
    background: var(--erp-pagination-bg);
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius-md);
    box-shadow: var(--erp-shadow-sm);
    padding: .75rem 1rem;
}

.erp-pagination-form {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.erp-pagination-label {
    color: var(--erp-table-header-text);
    font-size: .875rem;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 0;
}

.erp-pagination-control,
.erp-pagination-bar .form-select,
.erp-pagination-bar .form-control {
    min-height: 38px;
    background-color: var(--erp-surface);
    border-color: var(--erp-border-strong);
    border-radius: var(--erp-radius-sm);
    color: var(--erp-text);
    box-shadow: none;
}

.erp-pagination-control:hover,
.erp-pagination-bar .form-select:hover,
.erp-pagination-bar .form-control:hover {
    background-color: var(--erp-control-hover);
    border-color: var(--erp-primary);
}

.erp-pagination-control:focus,
.erp-pagination-bar .form-select:focus,
.erp-pagination-bar .form-control:focus {
    background-color: var(--erp-surface);
    border-color: var(--erp-primary);
    box-shadow: var(--erp-focus-shadow-sm);
}

.text-bg-primary,
.badge.text-bg-primary {
    background-color: var(--erp-primary) !important;
    color: var(--erp-primary-contrast) !important;
}

.badge.text-bg-success {
    background-color: #dcfce7 !important;
    color: #166534 !important;
}

.badge.text-bg-secondary {
    background-color: var(--erp-surface-muted) !important;
    color: var(--erp-table-header-text) !important;
}

a,
.link-primary {
    color: var(--erp-primary-600);
}

a:hover,
a:focus,
.link-primary:hover,
.link-primary:focus {
    color: var(--erp-primary-700);
}

h1, h2, h3, h4, h5, h6 {
    letter-spacing: -0.02em;
    color: var(--erp-text);
}

.form-label {
    font-size: .9rem;
    font-weight: 600;
    color: var(--erp-text);
}

.erp-internal-page .text-muted,
.form-text {
    color: var(--erp-muted) !important;
}

.form-control,
.form-select {
    border-color: var(--erp-input-border);
    background-color: var(--erp-input-bg);
    color: var(--erp-text);
    min-height: 44px;
    border-radius: var(--erp-radius-sm);
}

.form-control::placeholder {
    color: var(--erp-muted);
    opacity: .75;
}

.form-control:disabled,
.form-control[readonly],
.form-select:disabled {
    background-color: var(--erp-surface-soft);
    border-color: var(--erp-border);
    color: var(--erp-muted);
    opacity: 1;
}

.form-check-input {
    border-color: var(--erp-input-border);
}

.form-check-input:focus {
    border-color: var(--erp-primary);
    box-shadow: var(--erp-focus-shadow-sm);
}

.form-check-input:checked {
    background-color: var(--erp-primary);
    border-color: var(--erp-primary);
}

.invalid-feedback {
    color: var(--erp-danger);
}

.input-group-text {
    border-color: var(--erp-input-border);
    background: var(--erp-surface-soft);
    color: var(--erp-muted);
}

.erp-internal-page .erp-toolbar-card .input-group-text,
.erp-internal-page .erp-toolbar-card .form-control,
.erp-internal-page .erp-toolbar-card .form-select {
    background-color: var(--erp-input-bg);
    border-color: var(--erp-input-border);
    color: var(--erp-text);
}

.erp-internal-page .erp-toolbar-card .input-group-text {
    background-color: var(--erp-surface-soft);
    color: var(--erp-table-header-text);
}

.form-control:focus,
.form-select:focus {
    border-color: var(--erp-primary);
    box-shadow: var(--erp-focus-shadow);
}

.btn-primary,
.erp-internal-page .btn-primary {
    --bs-btn-color: var(--erp-primary-contrast);
    --bs-btn-bg: var(--erp-primary);
    --bs-btn-border-color: var(--erp-primary);
    --bs-btn-hover-color: var(--erp-primary-600-contrast);
    --bs-btn-hover-bg: var(--erp-primary-600);
    --bs-btn-hover-border-color: var(--erp-primary-600);
    --bs-btn-focus-shadow-rgb: var(--erp-focus-rgb);
    --bs-btn-active-color: var(--erp-primary-700-contrast);
    --bs-btn-active-bg: var(--erp-primary-700);
    --bs-btn-active-border-color: var(--erp-primary-700);
    --bs-btn-disabled-color: var(--erp-primary-contrast);
    --bs-btn-disabled-bg: var(--erp-border-strong);
    --bs-btn-disabled-border-color: var(--erp-border-strong);
    background: var(--erp-primary);
    background-color: var(--erp-primary);
    border: 1px solid var(--erp-primary);
    border-color: var(--erp-primary);
    color: var(--erp-primary-contrast);
    min-height: 44px;
    border-radius: var(--erp-radius-sm);
    font-weight: 700;
}

.btn-primary:hover,
.btn-primary:focus,
.erp-internal-page .btn-primary:hover,
.erp-internal-page .btn-primary:focus {
    background: var(--erp-primary-600);
    background-color: var(--erp-primary-600);
    border-color: var(--erp-primary-600);
    color: var(--erp-primary-600-contrast);
}

.erp-internal-page .btn-primary:active,
.erp-internal-page .btn-primary.active,
.erp-internal-page .btn-primary.show {
    background: var(--erp-primary-700);
    background-color: var(--erp-primary-700);
    border-color: var(--erp-primary-700);
    color: var(--erp-primary-700-contrast);
}

.btn-outline-secondary,
.erp-internal-page .btn-outline-secondary {
    --bs-btn-color: var(--erp-table-header-text);
    --bs-btn-border-color: var(--erp-border);
    --bs-btn-bg: var(--erp-surface);
    --bs-btn-hover-color: var(--erp-text);
    --bs-btn-hover-bg: var(--erp-control-hover);
    --bs-btn-hover-border-color: var(--erp-border-strong);
    --bs-btn-focus-shadow-rgb: var(--erp-focus-rgb);
    --bs-btn-active-color: var(--erp-primary-600-contrast);
    --bs-btn-active-bg: var(--erp-primary-600);
    --bs-btn-active-border-color: var(--erp-primary-600);
    background: var(--erp-surface);
    background-color: var(--erp-surface);
    border-color: var(--erp-border-strong);
    color: var(--erp-table-header-text);
}

.erp-internal-page .btn-outline-secondary:hover,
.erp-internal-page .btn-outline-secondary:focus,
.erp-internal-page .btn-outline-secondary:active,
.erp-internal-page .btn-outline-secondary.active,
.erp-internal-page .btn-outline-secondary.show {
    background: var(--erp-control-hover);
    background-color: var(--erp-control-hover);
    border-color: var(--erp-border-strong);
    color: var(--erp-text);
}

.btn-outline-success {
    --bs-btn-color: #15803d;
    --bs-btn-border-color: #86efac;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: var(--erp-success);
    --bs-btn-hover-border-color: var(--erp-success);
}

.btn-outline-warning {
    --bs-btn-color: #92400e;
    --bs-btn-border-color: #fcd34d;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: var(--erp-warning);
    --bs-btn-hover-border-color: var(--erp-warning);
}

.erp-internal-page .btn-outline-warning:hover,
.erp-internal-page .btn-outline-warning:focus,
.erp-internal-page .btn-outline-warning:active,
.erp-internal-page .btn-outline-warning.active,
.erp-internal-page .btn-outline-warning.show {
    background: var(--erp-surface-soft);
    background-color: var(--erp-surface-soft);
    border-color: #f59e0b;
    color: #92400e;
}

.btn-outline-primary,
.erp-internal-page .btn-outline-primary {
    --bs-btn-color: var(--erp-primary);
    --bs-btn-border-color: var(--erp-primary);
    --bs-btn-hover-color: var(--erp-primary-contrast);
    --bs-btn-hover-bg: var(--erp-primary);
    --bs-btn-hover-border-color: var(--erp-primary);
    --bs-btn-focus-shadow-rgb: var(--erp-focus-rgb);
    --bs-btn-active-color: var(--erp-primary-600-contrast);
    --bs-btn-active-bg: var(--erp-primary-600);
    --bs-btn-active-border-color: var(--erp-primary-600);
    color: var(--erp-primary);
    border-color: var(--erp-primary);
}

.erp-internal-page .btn-outline-primary:hover,
.erp-internal-page .btn-outline-primary:focus,
.erp-internal-page .btn-outline-primary:active,
.erp-internal-page .btn-outline-primary.active,
.erp-internal-page .btn-outline-primary.show {
    background: var(--erp-primary);
    background-color: var(--erp-primary);
    border-color: var(--erp-primary);
    color: var(--erp-primary-contrast);
}

.btn,
.form-control,
.form-select,
.surface-card,
.nav-link,
.table tbody tr {
    transition: all .2s cubic-bezier(0.4, 0, 0.2, 1);
}

.dashboard-hero {
    position: relative;
    overflow: hidden;
    background-color: var(--erp-card-bg);
}

.erp-fade-in-up {
    opacity: 0;
    transform: translateY(20px);
    animation: erpFadeInUp .8s ease-out forwards;
}

.fade-delay-0 { animation-delay: 0s; }
.fade-delay-1 { animation-delay: .08s; }
.fade-delay-2 { animation-delay: .16s; }
.fade-delay-3 { animation-delay: .22s; }
.fade-delay-4 { animation-delay: .28s; }
.fade-delay-5 { animation-delay: .34s; }
.fade-delay-6 { animation-delay: .4s; }
.fade-delay-7 { animation-delay: .48s; }

@keyframes erpFadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.erp-audit-table thead th {
    position: sticky;
    top: 0;
    z-index: 1;
}

.erp-audit-table tbody tr:hover {
    background-color: var(--erp-row-hover);
}

.erp-audit-table .erp-time-col {
    color: var(--erp-table-header-text);
}

.erp-audit-table .badge.text-bg-success {
    background: #dcfce7 !important;
    color: #166534 !important;
}

.erp-audit-table .badge.text-bg-warning {
    background: #fef3c7 !important;
    color: #92400e !important;
}

.erp-audit-table .badge.text-bg-primary {
    background: var(--erp-primary) !important;
    color: var(--erp-primary-contrast) !important;
}
