/* ===================================
   ErbsUI - JSF & PrimeFaces Integration
   =================================== */

/* Confirm Dialog - Customização */

/* Overlay escuro nativo do PrimeFaces */
.ui-widget-overlay {
    background-color: rgba(0, 0, 0, 0.6) !important;
    opacity: 0.6 !important;
}

.ui-confirm-dialog .ui-dialog-titlebar {
    background-color: var(--erbs-primary-alpha-08) !important;
    color: var(--erbs-primary) !important;
    border-color: var(--erbs-primary) !important;
    display: flex !important;
    align-items: center !important;
}

.ui-confirm-dialog .ui-dialog-title {
    color: var(--erbs-primary) !important;
    font-weight: var(--erbs-font-semibold) !important;
}

.ui-confirm-dialog .ui-dialog-titlebar-close {
    color: var(--erbs-primary) !important;
    border-radius: var(--erbs-radius-control) !important;
    transition: background-color var(--erbs-duration-fast) var(--erbs-ease-standard) !important;
}

.ui-confirm-dialog .ui-dialog-titlebar-close:hover {
    color: var(--erbs-primary) !important;
    background-color: var(--erbs-primary-alpha-08) !important;
}

/* Conteúdo do diálogo centralizado */
.ui-confirm-dialog .ui-dialog-content {
    text-align: center !important;
}

/* Botões centralizados */
.ui-confirm-dialog .ui-dialog-buttonpane {
    display: flex !important;
    justify-content: center !important;
    gap: var(--erbs-spacing-sm) !important;
    padding: var(--erbs-spacing-md) !important;
}

.ui-confirm-dialog .ui-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: var(--erbs-spacing-xs) !important;
    padding: var(--erbs-spacing-sm) var(--erbs-spacing-md) !important;
}

.ui-confirm-dialog .ui-button-text {
    text-align: center !important;
    padding: 0 !important;
}

/* Botão Sim - Verde */
.ui-confirmdialog-yes {
    background-color: var(--erbs-success) !important;
    border-color: var(--erbs-success) !important;
    color: var(--erbs-text-on-color) !important;
}

.ui-confirmdialog-yes:hover {
    background-color: var(--erbs-success-hover) !important;
    border-color: var(--erbs-success-hover) !important;
}

/* Botão Não - Vermelho */
.ui-confirmdialog-no {
    background-color: var(--erbs-danger) !important;
    border-color: var(--erbs-danger) !important;
    color: var(--erbs-text-on-color) !important;
}

.ui-confirmdialog-no:hover {
    background-color: var(--erbs-danger-hover) !important;
    border-color: var(--erbs-danger-hover) !important;
}

/* JSF Form wrapper - handles dynamic IDs */
[data-jsf-form] .erbs-input,
[data-jsf-form] .erbs-select,
[data-jsf-form] .erbs-textarea {
    font-family: inherit;
}

/* File Upload - Simple mode wrapper */
.erbs-file-upload-wrapper {
    display: flex;
    flex-direction: column;
    gap: var(--erbs-spacing-xs);
}

.erbs-file-upload-wrapper .erbs-input[type="file"] {
    -webkit-appearance: auto !important;
    appearance: auto !important;
    background: initial !important;
    border: initial !important;
    padding: initial !important;
    border-radius: initial !important;
    min-height: initial !important;
    cursor: pointer;
}

.erbs-form-hint {
    font-size: var(--erbs-text-xs);
    color: var(--erbs-text-muted);
    margin-top: var(--erbs-spacing-xs);
}

/* File upload feedback with clear button */
.erbs-file-feedback {
    display: flex;
    align-items: center;
    gap: var(--erbs-spacing-sm);
    margin-top: var(--erbs-spacing-xs);
}

.erbs-file-clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    padding: 0;
    border: none;
    border-radius: var(--erbs-radius-sm);
    background: var(--erbs-danger);
    color: var(--erbs-text-on-color);
    font-size: var(--erbs-text-xs);
    line-height: 1;
    cursor: pointer;
    transition: background-color var(--erbs-duration-fast) var(--erbs-ease-standard), transform var(--erbs-duration-fast) var(--erbs-ease-standard);
}

.erbs-file-clear:hover {
    background: var(--erbs-danger-hover);
    transform: scale(1.05);
}

.erbs-file-clear:focus-visible {
    outline: var(--erbs-focus-ring-width) solid var(--erbs-focus-ring-color);
    outline-offset: var(--erbs-focus-ring-offset);
}

.erbs-file-clear--hidden {
    display: none;
}

/* Autocomplete wrapper - para appendTo funcionar com posicionamento correto */
.erbs-autocomplete-wrapper {
    position: relative;
    width: 100%;
}

.erbs-autocomplete-wrapper .ui-autocomplete {
    display: block !important;
    width: 100% !important;
}

.erbs-autocomplete-wrapper .ui-autocomplete-input {
    width: 100% !important;
}

/* Hide autocomplete loading spinner */
.erbs-autocomplete-wrapper .ui-autocomplete-loading,
.ui-autocomplete .ui-autocomplete-loading {
    display: none !important;
}

/* DataTable mensagem vazia — sem bordas */
.erbs-table-container .ui-datatable .ui-datatable-empty-message td {
    border: none !important;
    background: transparent !important;
    text-align: center !important;
    color: var(--erbs-text-muted) !important;
    font-style: italic !important;
    padding: var(--erbs-spacing-md) !important;
}

/* DataTable container wrapper */
.erbs-table-container .ui-datatable {
    border: none !important;
    background: var(--erbs-bg) !important;
}

/* p:dataTable Paginator */
.ui-paginator {
    background: var(--erbs-bg-secondary) !important;
    border: none !important;
    border-top: 1px solid var(--erbs-border) !important;
    padding: var(--erbs-spacing-md) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: var(--erbs-spacing-xs) !important;
}

.ui-paginator .ui-paginator-page {
    background: var(--erbs-bg) !important;
    border: 1px solid var(--erbs-border) !important;
    color: var(--erbs-text-secondary) !important;
    border-radius: var(--erbs-radius-full) !important;
    margin: 0 !important;
    min-width: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: var(--erbs-font-medium) !important;
    font-variant-numeric: tabular-nums;
    transition: var(--erbs-transition-fast) !important;
}

.ui-paginator .ui-paginator-page:hover {
    background: var(--erbs-bg-hover) !important;
    color: var(--erbs-text-primary) !important;
    border-color: var(--erbs-primary-alpha-12) !important;
}

.ui-paginator .ui-paginator-page.ui-state-active {
    background: var(--erbs-primary) !important;
    border-color: var(--erbs-primary) !important;
    color: var(--erbs-text-on-color) !important;
    font-weight: var(--erbs-font-semibold) !important;
}

.ui-paginator .ui-paginator-current {
    color: var(--erbs-text-secondary) !important;
    margin: 0 var(--erbs-spacing-sm) !important;
}

.ui-paginator .ui-paginator-rpp-options {
    background: var(--erbs-bg) !important;
    border: 1px solid var(--erbs-border) !important;
    color: var(--erbs-text-primary) !important;
    border-radius: var(--erbs-radius-control) !important;
    padding: var(--erbs-spacing-xs) !important;
    min-height: 40px !important;
    min-width: 36px !important;
}

.ui-paginator .ui-paginator-prev,
.ui-paginator .ui-paginator-next,
.ui-paginator .ui-paginator-first,
.ui-paginator .ui-paginator-last {
    background: var(--erbs-bg) !important;
    border: 1px solid var(--erbs-border) !important;
    color: var(--erbs-text-secondary) !important;
    border-radius: var(--erbs-radius-full) !important;
    margin: 0 var(--erbs-spacing-xs) !important;
    min-width: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.ui-paginator .ui-paginator-prev:hover,
.ui-paginator .ui-paginator-next:hover,
.ui-paginator .ui-paginator-first:hover,
.ui-paginator .ui-paginator-last:hover {
    background: var(--erbs-bg-hover) !important;
    color: var(--erbs-text-primary) !important;
}

.ui-paginator .ui-paginator-pages {
    display: flex !important;
    gap: var(--erbs-spacing-xs) !important;
}

/* DataTable rows - Match ErbsUI table styles exactly */
/* PrimeFaces uses ARIA grid structure, not standard table */
.erbs-table-container .ui-datatable {
    border: none !important;
    background: transparent !important;
}

.erbs-table-container .ui-datatable .ui-datatable-tablewrapper {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    border: 1px solid var(--erbs-border) !important;
    border-radius: var(--erbs-radius-lg) !important;
    overflow: hidden !important;
}

.erbs-table-container .ui-datatable .ui-datatable-tablewrapper>table {
    min-width: 640px;
    width: 100% !important;
    table-layout: auto !important;
}

.erbs-table-container .ui-datatable thead th,
.erbs-table-container .ui-datatable th.ui-state-default {
    padding: var(--erbs-spacing-2) var(--erbs-spacing-md) !important;
    text-align: left !important;
    font-size: var(--erbs-text-xs) !important;
    font-weight: var(--erbs-font-semibold) !important;
    color: var(--erbs-text-muted) !important;
    letter-spacing: var(--erbs-letter-spacing-wide);
    background-color: var(--erbs-bg-secondary) !important;
    border-bottom: 1px solid var(--erbs-border) !important;
    border-left: none !important;
    border-right: none !important;
    border-top: none !important;
    white-space: nowrap !important;
}

.erbs-table-container .ui-datatable thead th:first-child {
    border-top-left-radius: var(--erbs-radius-lg) !important;
}

.erbs-table-container .ui-datatable thead th:last-child {
    border-top-right-radius: var(--erbs-radius-lg) !important;
}

.erbs-table-container .ui-datatable .ui-sortable-column {
    cursor: pointer;
    transition: color var(--erbs-transition-fast);
}

.erbs-table-container .ui-datatable .ui-sortable-column .ui-column-title {
    display: inline-flex !important;
    align-items: center !important;
    gap: var(--erbs-spacing-xs) !important;
}

.erbs-table-container .ui-datatable .ui-sortable-column .ui-sortable-column-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.95rem !important;
    margin-left: var(--erbs-spacing-xs) !important;
    opacity: 0.35 !important;
    color: var(--erbs-text-secondary) !important;
    transition: opacity var(--erbs-transition-fast), color var(--erbs-transition-fast);
    width: 16px !important;
    height: 16px !important;
    text-indent: 0 !important;
    background: none !important;
}

.erbs-table-container .ui-datatable .ui-sortable-column .ui-sortable-column-icon:before {
    content: '⇅';
    font-size: 0.85rem;
}

.erbs-table-container .ui-datatable .ui-sortable-column:hover .ui-sortable-column-icon {
    opacity: 0.65 !important;
}

.erbs-table-container .ui-datatable .ui-sortable-column.ui-state-active,
.erbs-table-container .ui-datatable .ui-sortable-column.ui-state-active .ui-column-title {
    color: var(--erbs-primary) !important;
}

.erbs-table-container .ui-datatable .ui-sortable-column.ui-state-active .ui-sortable-column-icon {
    opacity: 1 !important;
    color: var(--erbs-primary) !important;
}

.erbs-table-container .ui-datatable .ui-sortable-column .ui-sortable-column-icon.ui-icon-triangle-1-n:before {
    content: '↑';
}

.erbs-table-container .ui-datatable .ui-sortable-column .ui-sortable-column-icon.ui-icon-triangle-1-s:before {
    content: '↓';
}

.erbs-table-container .ui-datatable tbody td,
.erbs-table-container .ui-datatable [role="gridcell"] {
    padding: var(--erbs-spacing-sm) var(--erbs-spacing-md) !important;
    font-size: var(--erbs-text-sm) !important;
    color: var(--erbs-text-primary) !important;
    border-bottom: 1px solid var(--erbs-border) !important;
    border-left: none !important;
    border-right: none !important;
    white-space: normal !important;
    background: transparent !important;
}

/* Colunas numéricas e de ação não devem quebrar linha —
   erbs-text-right (valores, quantidades) e erbs-text-center (ações, seq, datas curtas) */
.erbs-table-container .ui-datatable tbody td.erbs-text-right,
.erbs-table-container .ui-datatable tbody td.erbs-text-center,
.erbs-table-container .ui-datatable [role="gridcell"].erbs-text-right,
.erbs-table-container .ui-datatable [role="gridcell"].erbs-text-center {
    white-space: nowrap !important;
}

.erbs-table-container .ui-datatable tbody tr:last-child td,
.erbs-table-container .ui-datatable [role="row"]:last-child [role="gridcell"] {
    border-bottom: none !important;
}

.erbs-table-container .ui-datatable tbody tr:hover td,
.erbs-table-container .ui-datatable [role="row"]:hover [role="gridcell"] {
    background-color: var(--erbs-bg-secondary) !important;
}

/* F7.1 — Hover com borda esquerda accent */
.erbs-table-container .ui-datatable tbody tr:hover td:first-child,
.erbs-table-container .ui-datatable [role="row"]:hover [role="gridcell"]:first-child {
    box-shadow: inset 3px 0 0 var(--erbs-primary) !important;
}

.erbs-table-container .ui-datatable [role="row"]:nth-child(odd) [role="gridcell"],
.erbs-table-container .ui-datatable [role="row"]:nth-child(even) [role="gridcell"] {
    background: transparent !important;
}

/* Notas Fiscais - Grid de filtros específico */
.notasfiscais-filter-grid,
.titulosativos-filter-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--erbs-spacing-lg);
}

@media (max-width: 768px) {

    .notasfiscais-filter-grid,
    .titulosativos-filter-grid {
        grid-template-columns: 1fr;
    }
}

.garantia-filter-grid {
    grid-auto-flow: row;
    grid-auto-columns: unset;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

/* Notas Fiscais - Ações de download na tabela */
.nf-actions {
    display: flex;
    gap: var(--erbs-spacing-md);
    justify-content: flex-end;
    flex-wrap: wrap;
}

@media (max-width: 1024px) {
    .nf-actions {
        justify-content: flex-start;
    }

    .nf-actions .erbs-btn {
        width: 100%;
    }
}

/* Títulos ativos - linhas vencidas */
.erbs-table.ui-datatable .ui-datatable-data tr.titulo-vencido,
.erbs-table.ui-datatable .ui-datatable-data tr.titulo-vencido.ui-datatable-odd,
.erbs-table.ui-datatable .ui-datatable-data tr.titulo-vencido.ui-datatable-even {
    background-color: rgba(239, 68, 68, 0.15) !important;
}

.erbs-table.ui-datatable .ui-datatable-data tr.titulo-vencido td {
    color: var(--erbs-text-primary) !important;
}

/* Remove PrimeFaces default styles that conflict */
.erbs-table-container .ui-datatable .ui-datatable-odd,
.erbs-table-container .ui-datatable .ui-datatable-even {
    background: transparent !important;
}

.erbs-table-container .ui-datatable .ui-state-default {
    background: transparent !important;
    border: none !important;
}

.erbs-table-container .ui-datatable .ui-corner-all {
    border-radius: 0 !important;
}

.erbs-table-container .ui-datatable .ui-widget-header {
    background: transparent !important;
    border: none !important;
}

/* Paginator icons - Use FontAwesome icons */
.erbs-table-container .ui-paginator .ui-paginator-first .ui-icon,
.erbs-table-container .ui-paginator .ui-paginator-prev .ui-icon,
.erbs-table-container .ui-paginator .ui-paginator-next .ui-icon,
.erbs-table-container .ui-paginator .ui-paginator-last .ui-icon,
.ui-paginator .ui-paginator-first .ui-icon,
.ui-paginator .ui-paginator-prev .ui-icon,
.ui-paginator .ui-paginator-next .ui-icon,
.ui-paginator .ui-paginator-last .ui-icon {
    text-indent: -9999px !important;
    background: none !important;
    color: var(--erbs-text-secondary) !important;
    font-family: "Font Awesome 7 Free" !important;
    font-weight: 900 !important;
    display: inline-block !important;
    width: 16px !important;
    height: 16px !important;
    overflow: visible !important;
    position: relative !important;
}

.erbs-table-container .ui-paginator .ui-paginator-first .ui-icon:before,
.ui-paginator .ui-paginator-first .ui-icon:before {
    content: '\f100';
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    text-indent: 0 !important;
    font-size: 1rem !important;
}

.erbs-table-container .ui-paginator .ui-paginator-prev .ui-icon:before,
.ui-paginator .ui-paginator-prev .ui-icon:before {
    content: '\f104';
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    text-indent: 0 !important;
    font-size: 1rem !important;
}

.erbs-table-container .ui-paginator .ui-paginator-next .ui-icon:before,
.ui-paginator .ui-paginator-next .ui-icon:before {
    content: '\f105';
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    text-indent: 0 !important;
    font-size: 1rem !important;
}

.erbs-table-container .ui-paginator .ui-paginator-last .ui-icon:before,
.ui-paginator .ui-paginator-last .ui-icon:before {
    content: '\f101';
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    text-indent: 0 !important;
    font-size: 1rem !important;
}

/* Hide top paginator, keep only bottom paginator */
.erbs-table-container .ui-datatable .ui-paginator-top {
    display: none !important;
}

.erbs-table-container .ui-datatable .ui-paginator-bottom {
    display: flex !important;
}

/* Row toggler icons - Use FontAwesome since PrimeFaces theme is disabled */
.erbs-table-container .ui-datatable .ui-row-toggler {
    background: none !important;
    text-indent: 0 !important;
    font-family: "Font Awesome 7 Free" !important;
    font-weight: 900 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    cursor: pointer !important;
    color: var(--erbs-text-primary) !important;
    font-size: 1rem !important;
}

.erbs-table-container .ui-datatable .ui-row-toggler:before {
    content: '\f0da';
    display: inline-block !important;
}

.erbs-table-container .ui-datatable .ui-row-toggler.ui-icon-circle-triangle-s:before {
    content: '\f0d7';
}

.erbs-table-container .ui-datatable .ui-row-toggler:hover {
    color: var(--erbs-primary) !important;
}

/* Paginator - Match ErbsUI pagination styles */
.erbs-table-container .ui-paginator,
.erbs-table-container .ui-paginator.ui-paginator-bottom {
    background: transparent !important;
    border: none !important;
    padding: var(--erbs-spacing-lg) 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: var(--erbs-spacing-xs) !important;
}

.erbs-table-container .ui-paginator .ui-paginator-page,
.erbs-table-container .ui-paginator .ui-paginator-prev,
.erbs-table-container .ui-paginator .ui-paginator-next,
.erbs-table-container .ui-paginator .ui-paginator-first,
.erbs-table-container .ui-paginator .ui-paginator-last {
    background: var(--erbs-bg) !important;
    border: 1px solid var(--erbs-border) !important;
    color: var(--erbs-text-primary) !important;
    border-radius: var(--erbs-radius-full) !important;
    min-width: 40px !important;
    min-height: 40px !important;
    padding: var(--erbs-spacing-sm) !important;
    font-size: var(--erbs-text-sm) !important;
    font-variant-numeric: tabular-nums;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    width: auto !important;
    height: auto !important;
    transition: background-color var(--erbs-duration-fast) var(--erbs-ease-standard),
                border-color var(--erbs-duration-fast) var(--erbs-ease-standard),
                color var(--erbs-duration-fast) var(--erbs-ease-standard) !important;
}

.erbs-table-container .ui-paginator .ui-paginator-page:hover,
.erbs-table-container .ui-paginator .ui-paginator-prev:hover,
.erbs-table-container .ui-paginator .ui-paginator-next:hover,
.erbs-table-container .ui-paginator .ui-paginator-first:hover,
.erbs-table-container .ui-paginator .ui-paginator-last:hover {
    background: var(--erbs-bg-hover) !important;
    border-color: var(--erbs-neutral-300) !important;
}

.erbs-table-container .ui-paginator .ui-paginator-page.ui-state-active {
    background: var(--erbs-primary) !important;
    border-color: var(--erbs-primary) !important;
    color: var(--erbs-text-on-color) !important;
    font-weight: var(--erbs-font-semibold) !important;
}

.erbs-table-container .ui-paginator .ui-paginator-current {
    color: var(--erbs-text-muted) !important;
    font-size: var(--erbs-text-sm) !important;
    font-variant-numeric: tabular-nums;
    margin: 0 var(--erbs-spacing-md) !important;
    letter-spacing: var(--erbs-letter-spacing-wide);
}

.erbs-table-container .ui-paginator .ui-paginator-rpp-options {
    background: var(--erbs-bg) !important;
    border: 1px solid var(--erbs-border) !important;
    color: var(--erbs-text-primary) !important;
    border-radius: var(--erbs-radius-control) !important;
    padding: var(--erbs-spacing-xs) !important;
    font-size: var(--erbs-text-sm) !important;
}

/* Legacy compatibility */
.ui-datatable .erbs-table-container,
.ui-datatable .erbs-table-wrapper {
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.ui-datatable .erbs-table-container table,
.ui-datatable .erbs-table-wrapper .erbs-table {
    border-collapse: collapse !important;
    width: 100% !important;
}

.ui-datatable .erbs-table-header,
.ui-datatable .erbs-table th {
    background-color: var(--erbs-bg-secondary) !important;
    border-bottom: 1px solid var(--erbs-border) !important;
    color: var(--erbs-text-secondary) !important;
    font-weight: var(--erbs-font-semibold) !important;
    font-size: var(--erbs-text-sm) !important;
}

.ui-datatable .erbs-table-data,
.ui-datatable .erbs-table td {
    border-bottom: 1px solid var(--erbs-border) !important;
    color: var(--erbs-text-primary) !important;
}

/* Panel and Fieldset */
.ui-panel .erbs-card,
.ui-fieldset .erbs-card {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Dialog - Z-Index Fixed */
.ui-dialog {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90vw;
    max-width: 500px;
    max-height: 80vh;
    background: var(--erbs-bg);
    border: 1px solid var(--erbs-border);
    border-radius: var(--erbs-radius-lg);
    box-shadow: var(--erbs-shadow-lg);
    z-index: var(--erbs-z-modal) !important;
    overflow: hidden;
}

/* Dialog close button - WCAG touch target */
.ui-dialog-titlebar-icon {
    min-width: 36px !important;
    min-height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: var(--erbs-radius-control) !important;
    transition: background-color var(--erbs-duration-fast) var(--erbs-ease-standard) !important;
}

.ui-dialog .erbs-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    border: none;
    box-shadow: none;
    background: transparent;
}

.ui-dialog .erbs-card-header {
    flex-shrink: 0;
    border-bottom: 1px solid var(--erbs-border);
    padding: var(--erbs-spacing-md);
}

.ui-dialog .erbs-card-body {
    flex: 1;
    overflow-y: auto;
    padding: var(--erbs-spacing-md);
}

/* Mobile Dialog */
@media (max-width: 768px) {
    .ui-dialog {
        width: 95vw;
        height: 70vh;
        top: 15vh;
        left: 2.5vw;
        transform: none;
    }
}

@media (max-width: 480px) {
    .ui-dialog {
        width: 100vw;
        height: 80vh;
        top: 10vh;
        left: 0;
        transform: none;
        border-radius: 0;
    }
}

/* PrimeFaces Messages (p:message — validação de campo) */
.ui-message {
    font-size: var(--erbs-text-xs);
    margin-top: var(--erbs-spacing-xs);
}

.ui-message.ui-message-error {
    color: var(--erbs-danger);
}

.ui-message.ui-message-info {
    color: var(--erbs-primary);
}

.ui-message.ui-message-warn {
    color: var(--erbs-warning);
}

.ui-message.ui-message-success {
    color: var(--erbs-success);
}

/* PrimeFaces Messages (p:messages — mensagens globais da página) */
.ui-messages {
    border-radius: var(--erbs-radius-md) !important;
    margin-bottom: var(--erbs-spacing-md) !important;
    overflow: hidden !important;
}

.ui-messages:empty {
    margin-bottom: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.ui-messages .ui-messages-info {
    background: var(--erbs-primary-alpha-08) !important;
    border: 1px solid rgba(var(--erbs-primary-rgb), 0.2) !important;
    border-left: 3px solid var(--erbs-primary) !important;
    border-radius: var(--erbs-radius-md) !important;
    color: var(--erbs-text-primary) !important;
    padding: var(--erbs-spacing-md) var(--erbs-spacing-lg) !important;
}

.ui-messages .ui-messages-error {
    background: var(--erbs-danger-alpha-10) !important;
    border: 1px solid rgba(var(--erbs-danger-rgb), 0.2) !important;
    border-left: 3px solid var(--erbs-danger) !important;
    border-radius: var(--erbs-radius-md) !important;
    color: var(--erbs-text-primary) !important;
    padding: var(--erbs-spacing-md) var(--erbs-spacing-lg) !important;
}

.ui-messages .ui-messages-warn {
    background: var(--erbs-warning-alpha-10) !important;
    border: 1px solid rgba(var(--erbs-warning-rgb), 0.2) !important;
    border-left: 3px solid var(--erbs-warning) !important;
    border-radius: var(--erbs-radius-md) !important;
    color: var(--erbs-text-primary) !important;
    padding: var(--erbs-spacing-md) var(--erbs-spacing-lg) !important;
}

.ui-messages .ui-messages-success {
    background: var(--erbs-success-alpha-10) !important;
    border: 1px solid rgba(var(--erbs-success-rgb), 0.2) !important;
    border-left: 3px solid var(--erbs-success) !important;
    border-radius: var(--erbs-radius-md) !important;
    color: var(--erbs-text-primary) !important;
    padding: var(--erbs-spacing-md) var(--erbs-spacing-lg) !important;
}

.ui-messages ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Hide all default PrimeFaces message icons */
.ui-messages .ui-messages-icon,
.ui-messages .ui-messages-error-icon,
.ui-messages .ui-messages-info-icon,
.ui-messages .ui-messages-warn-icon,
.ui-messages .ui-messages-success-icon,
.ui-messages .ui-messages-fatal-icon,
.erbs-messages-custom .ui-messages-error .ui-messages-error-icon,
.erbs-messages-custom .ui-messages-info .ui-messages-info-icon,
.erbs-messages-custom .ui-messages-success .ui-messages-success-icon,
.erbs-messages-custom .ui-messages-warn .ui-messages-warn-icon {
    display: none !important;
}

/* Custom message layout with FontAwesome icons */
.erbs-messages-custom .ui-messages-error,
.erbs-messages-custom .ui-messages-info,
.erbs-messages-custom .ui-messages-success {
    display: flex;
    align-items: center !important;
    position: relative !important;
    padding-right: 32px !important;
}

/* Custom error icon using FontAwesome */
.erbs-messages-custom .ui-messages-error:before {
    content: '\f071';
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    font-size: 1.25rem;
    color: var(--erbs-danger);
    margin-right: var(--erbs-spacing-sm);
    display: inline-block;
    line-height: 1;
    vertical-align: middle;
}

/* Custom info icon using FontAwesome */
.erbs-messages-custom .ui-messages-info:before {
    content: '\f05a';
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    font-size: 1.25rem;
    color: var(--erbs-primary);
    margin-right: var(--erbs-spacing-sm);
    display: inline-block;
    line-height: 1;
    vertical-align: middle;
}

/* Custom success icon using FontAwesome */
.erbs-messages-custom .ui-messages-success:before {
    content: '\f00c';
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    font-size: 1.25rem;
    color: var(--erbs-success);
    margin-right: var(--erbs-spacing-sm);
    display: inline-block;
    line-height: 1;
    vertical-align: middle;
}

/* Custom close icon for p:messages using FontAwesome */
.erbs-messages-custom .ui-messages-close {
    background: none !important;
    border: none !important;
    color: var(--erbs-text-secondary) !important;
    font-family: "Font Awesome 7 Free" !important;
    font-weight: 900 !important;
    font-size: 1rem !important;
    width: 24px !important;
    height: 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: color var(--erbs-transition-fast) !important;
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    text-decoration: none !important;
}

.erbs-messages-custom .ui-messages-close:hover {
    color: var(--erbs-text-primary) !important;
}

.erbs-messages-custom .ui-messages-close:before {
    content: '\f00d' !important;
    margin: 0 !important;
}

.erbs-messages-custom .ui-messages-close .ui-icon {
    display: none !important;
}

/* PrimeFaces Button overrides */
.ui-button .erbs-btn {
    background: none;
    border: none;
    padding: 0;
}

/* PrimeFaces SelectOneMenu */
.ui-selectonemenu .erbs-select {
    width: 100%;
}

/* PrimeFaces Calendar */
.ui-calendar .erbs-input {
    width: 100%;
}

/* JSF Component state helpers */
[data-jsf-disabled] {
    opacity: 0.6;
    pointer-events: none;
}

[data-jsf-error] {
    border-color: var(--erbs-danger) !important;
    box-shadow: 0 0 0 2px var(--erbs-danger-alpha-10) !important;
}

[data-jsf-loading] {
    position: relative;
    pointer-events: none;
}

[data-jsf-loading]::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    margin: -8px 0 0 -8px;
    border: 2px solid var(--erbs-border);
    border-top-color: var(--erbs-primary);
    border-radius: 50%;
    animation: erbs-spin 1s linear infinite;
    will-change: transform;
}

/* Animation cleanup for memory leak prevention */
.erbs-spinning[data-jsf-loading="false"]::after {
    animation: none;
    display: none;
}

/* Growl & Toast - scoped via #growl_container ID */
#growl_container {
    z-index: var(--erbs-z-toast) !important;
}

/* Container do growl - alta especificidade para vencer PrimeFaces */
#growl_container .ui-growl-item-container,
#growl_container .ui-growl-item-container.ui-state-highlight,
#growl_container .ui-growl-item-container.ui-shadow {
    background: var(--erbs-bg) !important;
    opacity: 1 !important;
    border: 1px solid var(--erbs-border) !important;
    border-radius: var(--erbs-radius-lg) !important;
    box-shadow: var(--erbs-shadow-lg) !important;
    margin-bottom: var(--erbs-spacing-md) !important;
    min-width: 320px !important;
    max-width: 420px !important;
}

/* Item interno */
#growl_container .ui-growl-item {
    background: var(--erbs-bg) !important;
    border-radius: var(--erbs-radius-lg) !important;
    padding: var(--erbs-spacing-md) var(--erbs-spacing-lg) !important;
    color: var(--erbs-text-primary) !important;
    display: flex !important;
    align-items: center !important;
    gap: var(--erbs-spacing-md) !important;
    position: relative !important;
}

/* Borda esquerda colorida por tipo */
#growl_container .ui-growl-item-container.ui-growl-info .ui-growl-item {
    border-left: 4px solid var(--erbs-primary) !important;
}

#growl_container .ui-growl-item-container.ui-growl-warn .ui-growl-item {
    border-left: 4px solid var(--erbs-warning) !important;
}

#growl_container .ui-growl-item-container.ui-growl-error .ui-growl-item {
    border-left: 4px solid var(--erbs-danger) !important;
}

#growl_container .ui-growl-item-container.ui-growl-success .ui-growl-item {
    border-left: 4px solid var(--erbs-success) !important;
}

/* Ícone de tipo - usar FontAwesome */
#growl_container .ui-growl-item-container .ui-growl-image {
    display: none !important;
}

/* Ícone info — bg circular tonal */
#growl_container .ui-growl-item-container.ui-growl-info .ui-growl-message:before {
    content: '\f05a';
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    font-size: 1rem;
    color: var(--erbs-primary);
    background: var(--erbs-primary-alpha-12);
    width: 36px;
    height: 36px;
    border-radius: var(--erbs-radius-full);
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-right: var(--erbs-spacing-md);
    flex-shrink: 0;
}

/* Ícone warn — bg circular tonal */
#growl_container .ui-growl-item-container.ui-growl-warn .ui-growl-message:before {
    content: '\f071';
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    font-size: 1rem;
    color: var(--erbs-warning);
    background: var(--erbs-warning-alpha-12);
    width: 36px;
    height: 36px;
    border-radius: var(--erbs-radius-full);
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-right: var(--erbs-spacing-md);
    flex-shrink: 0;
}

/* Ícone error — bg circular tonal */
#growl_container .ui-growl-item-container.ui-growl-error .ui-growl-message:before {
    content: '\f06a';
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    font-size: 1rem;
    color: var(--erbs-danger);
    background: var(--erbs-danger-alpha-12);
    width: 36px;
    height: 36px;
    border-radius: var(--erbs-radius-full);
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-right: var(--erbs-spacing-md);
    flex-shrink: 0;
}

/* Ícone success — bg circular tonal */
#growl_container .ui-growl-item-container.ui-growl-success .ui-growl-message:before {
    content: '\f058';
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    font-size: 1rem;
    color: var(--erbs-success);
    background: var(--erbs-success-alpha-12);
    width: 36px;
    height: 36px;
    border-radius: var(--erbs-radius-full);
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-right: var(--erbs-spacing-md);
    flex-shrink: 0;
}

/* Área da mensagem */
#growl_container .ui-growl-message {
    color: var(--erbs-text-primary) !important;
    font-size: var(--erbs-text-base) !important;
    line-height: 1.5 !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
}

/* Título da mensagem */
#growl_container .ui-growl-title {
    font-weight: var(--erbs-font-semibold) !important;
    color: var(--erbs-text-primary) !important;
    font-size: var(--erbs-text-base) !important;
    display: block !important;
}

/* Botão de fechar */
#growl_container .ui-growl-icon-close {
    color: var(--erbs-text-secondary) !important;
    opacity: 0.6 !important;
    position: absolute !important;
    top: var(--erbs-spacing-sm) !important;
    right: var(--erbs-spacing-sm) !important;
    width: 28px !important;
    height: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: var(--erbs-radius-control) !important;
    transition: background-color var(--erbs-duration-fast) var(--erbs-ease-standard), color var(--erbs-duration-fast) var(--erbs-ease-standard), opacity var(--erbs-duration-fast) var(--erbs-ease-standard) !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
}

#growl_container .ui-growl-icon-close:hover {
    opacity: 1 !important;
    background: var(--erbs-bg-secondary) !important;
}

#growl_container .ui-growl-icon-close .ui-icon {
    display: none !important;
}

#growl_container .ui-growl-icon-close:before {
    content: '\f00d';
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    font-size: 0.875rem;
    color: var(--erbs-text-secondary);
}

/* Posicionamento do growl no topo direito */
#growl_container.ui-growl {
    top: 24px !important;
    right: 24px !important;
    left: auto !important;
}

/* BlockUI */
.ui-blockui {
    background: rgba(255, 255, 255, 0.75) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
}

.ui-blockui .ui-blockui-document {
    background: transparent !important;
}

/* Password Strength Indicator */
.ui-password-panel {
    background: var(--erbs-bg) !important;
    border: 1px solid var(--erbs-border) !important;
    border-radius: var(--erbs-radius-md) !important;
    box-shadow: var(--erbs-shadow-lg) !important;
    padding: var(--erbs-spacing-md) !important;
}

.ui-password-meter {
    height: 4px !important;
    border-radius: var(--erbs-radius-sm) !important;
}

.ui-password-info {
    font-size: var(--erbs-text-xs) !important;
    color: var(--erbs-text-secondary) !important;
}

/* OutputLabel */
.ui-outputlabel {
    font-weight: var(--erbs-font-medium) !important;
    color: var(--erbs-text-primary) !important;
}

.ui-outputlabel.ui-state-error {
    color: var(--erbs-danger) !important;
}

/* Final Adjustments for Edge Cases */

/* Fix for inline forms */
.ui-panelgrid .ui-panelgrid-cell {
    padding: var(--erbs-spacing-sm) !important;
    border: none !important;
}

/* Fix for mobile touch targets */
@media (hover: none) {

    .ui-button,
    .ui-menuitem-link,
    .ui-datatable-data tr {
        min-height: 44px !important;
    }
}

/* Fix for high contrast mode */
@media (prefers-contrast: high) {
    :root {
        --erbs-border: #000000;
        --erbs-text-primary: #000000;
        --erbs-text-secondary: #333333;
    }
}

/* Fix for reduced motion */
@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Print styles */
@media print {

    .erbs-sidebar,
    .erbs-header,
    .ui-dialog,
    .ui-overlaypanel,
    .ui-growl,
    .ui-confirm-dialog,
    .erbs-header-toggle,
    .erbs-header-search,
    .erbs-dropdown-menu {
        display: none !important;
    }

    .erbs-main {
        margin-left: 0 !important;
    }

    .erbs-content {
        padding: 0 !important;
    }

    .erbs-card {
        box-shadow: none !important;
        border: 1px solid #000 !important;
        break-inside: avoid !important;
    }
}

/* Selection colors */
::selection {
    background: var(--erbs-primary-alpha-12);
    color: var(--erbs-text-primary);
}

/* Scrollbar styling (WebKit) */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--erbs-bg-secondary);
}

::-webkit-scrollbar-thumb {
    background: var(--erbs-border);
    border-radius: var(--erbs-radius-sm);
}

::-webkit-scrollbar-thumb:hover {
    background: var(--erbs-text-secondary);
}

/* Firefox scrollbar */
* {
    scrollbar-width: thin;
    scrollbar-color: var(--erbs-border) var(--erbs-bg-secondary);
}

/* Placeholder styling */
::placeholder {
    color: var(--erbs-text-secondary);
    opacity: 1;
}

/* File input styling */
input[type="file"]::-webkit-file-upload-button {
    background: var(--erbs-bg-secondary);
    border: 1px solid var(--erbs-border);
    border-radius: var(--erbs-radius-sm);
    padding: var(--erbs-spacing-sm);
    color: var(--erbs-text-primary);
    cursor: pointer;
}

input[type="file"]::-webkit-file-upload-button:hover {
    background: var(--erbs-bg-hover);
}

/* Range input styling */
input[type="range"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: transparent;
}

input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    background: var(--erbs-primary);
    border-radius: 50%;
    width: 16px;
    height: 16px;
    cursor: pointer;
    margin-top: -6px;
}

input[type="range"]::-webkit-slider-runnable-track {
    background: var(--erbs-bg-secondary);
    border-radius: var(--erbs-radius-sm);
    height: 4px;
}

/* Color input styling */
input[type="color"] {
    border: 1px solid var(--erbs-border);
    border-radius: var(--erbs-radius-sm);
    padding: var(--erbs-spacing-xs);
    width: 40px;
    height: 40px;
    cursor: pointer;
}

/* Date/Time input icons */
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator {
    filter: invert(0.5);
    cursor: pointer;
}

/* File input styling — restore native browse button for PrimeFaces simple upload */
input[type="file"].erbs-input {
    -webkit-appearance: auto;
    appearance: auto;
    cursor: pointer;
}

/* Search input clear button */
input[type="search"]::-webkit-search-cancel-button {
    filter: invert(0.5);
    cursor: pointer;
}

/* Details/Summary (accordion nativo) */
details>summary {
    list-style: none;
    cursor: pointer;
    padding: var(--erbs-spacing-sm);
    border-radius: var(--erbs-radius-md);
}

details>summary:hover {
    background: var(--erbs-bg-secondary);
}

details>summary::-webkit-details-marker {
    display: none;
}

details[open]>summary {
    border-bottom: 1px solid var(--erbs-border);
    border-radius: var(--erbs-radius-md) var(--erbs-radius-md) 0 0;
}

details>div {
    padding: var(--erbs-spacing-md);
}

/* Dialog nativo */
dialog {
    border: 1px solid var(--erbs-border);
    border-radius: var(--erbs-radius-lg);
    box-shadow: var(--erbs-shadow-lg);
    padding: 0;
    max-width: 90vw;
    max-height: 80vh;
}

dialog::backdrop {
    background: rgba(0, 0, 0, 0.5);
}

dialog[open] {
    animation: dialog-show 0.3s ease;
}

@keyframes dialog-show {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Focus visible for table rows and paginator (WCAG 2.4.7) */
.erbs-table tbody tr:focus-within {
    outline: var(--erbs-focus-ring-width) solid var(--erbs-focus-ring-color);
    outline-offset: -2px;
}

.erbs-table .ui-paginator .ui-paginator-page:focus-visible,
.erbs-table .ui-paginator .ui-paginator-next:focus-visible,
.erbs-table .ui-paginator .ui-paginator-prev:focus-visible,
.erbs-table .ui-paginator .ui-paginator-first:focus-visible,
.erbs-table .ui-paginator .ui-paginator-last:focus-visible {
    outline: var(--erbs-focus-ring-width) solid var(--erbs-focus-ring-color);
    outline-offset: var(--erbs-focus-ring-offset);
    border-radius: var(--erbs-radius-sm);
}

/* Container queries support */
@container (min-width: 400px) {
    .erbs-grid-auto {
        grid-template-columns: repeat(2, 1fr);
    }
}

@container (min-width: 600px) {
    .erbs-grid-auto {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ===================================
   p:dataTable com Classe ErbsUI (Escopado)
   Design System ErbsUI + PrimeFaces como Engine
   =================================== */

/* Garantir min-height consistente para todos os inputs do PrimeFaces */
.ui-autocomplete-input,
.ui-selectonemenu .ui-selectonemenu-label,
.ui-selectonemenu-trigger,
.ui-paginator-rpp-options,
.ui-inputfield.ui-inputtext {
    min-height: 40px !important;
    line-height: 1.25 !important;
}

/* Corrigir padding do ui-autocomplete-input para igualar ao erbs-input padrão */
.ui-autocomplete-input {
    padding: var(--erbs-spacing-sm) var(--erbs-spacing-md) !important;
}

/* Padronizar padding nos inputs PrimeFaces com classe ErbsUI */
.erbs-input.ui-inputfield,
.erbs-input.ui-inputtext {
    padding: var(--erbs-spacing-sm) var(--erbs-spacing-md) !important;
}

.erbs-textarea.ui-inputtextarea {
    padding: var(--erbs-spacing-sm) var(--erbs-spacing-md) !important;
}

/* Input com ícone — ajustar padding-left para não sobrepor o ícone (28px de largura) */
.erbs-input-wrapper .erbs-input.ui-inputfield,
.erbs-input-wrapper .erbs-input.ui-inputtext,
.erbs-input-wrapper .erbs-input.ui-password {
    padding-left: calc(var(--erbs-spacing-md) + 28px + var(--erbs-spacing-2)) !important;
}

/* Input com ícone à direita */
.erbs-input-wrapper--icon-right .erbs-input.ui-inputfield,
.erbs-input-wrapper--icon-right .erbs-input.ui-inputtext,
.erbs-input-wrapper--icon-right .erbs-input.ui-password {
    padding-left: var(--erbs-spacing-md) !important;
    padding-right: calc(var(--erbs-spacing-md) + 28px + var(--erbs-spacing-2)) !important;
}

.ui-inputfield.ui-state-focus,
.ui-autocomplete.ui-state-focus .ui-autocomplete-input,
.ui-inputtext.ui-state-focus,
.ui-selectonemenu.ui-state-focus {
    border-color: var(--erbs-primary) !important;
    box-shadow: 0 0 0 3px rgba(var(--erbs-primary-rgb), 0.12) !important;
    outline-style: none !important;
    outline-width: 0 !important;
    outline-color: transparent !important;
}

/* p:autoComplete — Painel de sugestões */
.ui-autocomplete-panel {
    background: var(--erbs-bg) !important;
    border: 1px solid var(--erbs-border) !important;
    border-radius: var(--erbs-radius-md) !important;
    box-shadow: var(--erbs-shadow-lg) !important;
    overflow: hidden !important;
    padding: var(--erbs-spacing-1) 0 !important;
}

.ui-autocomplete-items {
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

.ui-autocomplete-item {
    padding: var(--erbs-spacing-2) var(--erbs-spacing-3) !important;
    color: var(--erbs-text-primary) !important;
    font-size: var(--erbs-text-sm) !important;
    font-family: var(--erbs-font) !important;
    cursor: pointer !important;
    min-height: 36px !important;
    transition: background-color var(--erbs-duration-fast) var(--erbs-ease-standard) !important;
}

.ui-autocomplete-item:hover,
.ui-autocomplete-item.ui-state-highlight {
    background: rgba(var(--erbs-primary-rgb), 0.08) !important;
    color: var(--erbs-primary) !important;
}

/* Texto destacado no autocomplete (highlight da busca) */
.ui-autocomplete-item strong,
.ui-autocomplete-item b {
    color: var(--erbs-primary) !important;
    font-weight: var(--erbs-font-semibold) !important;
}

/* SelectOneMenu — highlight com brand color */
.ui-selectonemenu-panel .ui-selectonemenu-item.ui-state-highlight {
    background: rgba(var(--erbs-primary-rgb), 0.1) !important;
    color: var(--erbs-primary) !important;
    font-weight: var(--erbs-font-medium) !important;
}

/* Corrigir altura do container do SelectOneMenu */
.ui-selectonemenu {
    height: 40px !important;
}

/* Botões do PrimeFaces */
.ui-button {
    min-height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: var(--erbs-spacing-2) !important;
    padding: var(--erbs-spacing-sm) var(--erbs-spacing-md) !important;
}

.ui-button .ui-button-icon-left {
    position: static !important;
    margin: 0 !important;
    order: -1;
}

/* Font Awesome icons inside PrimeFaces buttons */
.ui-button .ui-button-icon-left[class*="fa-"] {
    text-indent: 0 !important;
    overflow: visible !important;
    background: none !important;
    width: auto !important;
    height: auto !important;
    font-family: "Font Awesome 7 Free" !important;
    font-weight: 900 !important;
    display: inline-block !important;
}

.ui-button .ui-button-text {
    padding: 0 var(--erbs-spacing-2) 0 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: var(--erbs-spacing-2) !important;
}

.ui-button .ui-button-text .ui-icon {
    position: static !important;
    margin: 0 !important;
}

/* Corrigir fundo transparente do dropdown SelectOneMenu */
.ui-selectonemenu-panel {
    background: var(--erbs-bg) !important;
    border: 1px solid var(--erbs-border) !important;
    border-radius: var(--erbs-radius-md) !important;
    box-shadow: var(--erbs-shadow-lg) !important;
}

.ui-selectonemenu-panel .ui-selectonemenu-item {
    background: var(--erbs-bg) !important;
    color: var(--erbs-text-primary) !important;
    min-height: 44px !important;
    line-height: 1.25 !important;
    padding: var(--erbs-spacing-sm) var(--erbs-spacing-md) !important;
}

.ui-selectonemenu-panel .ui-selectonemenu-item:hover,
.ui-selectonemenu-panel .ui-selectonemenu-item.ui-state-highlight {
    background: var(--erbs-bg-hover) !important;
    color: var(--erbs-text-primary) !important;
}

/* Checkbox do PrimeFaces - container mantém touch target 44x44 */
.ui-chkbox {
    min-height: 44px !important;
    min-width: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Caixa visual do checkbox - tamanho reduzido e proporcional */
.ui-chkbox-box {
    width: 20px !important;
    height: 20px !important;
    min-height: auto !important;
    min-width: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2px solid var(--erbs-divider) !important;
    border-radius: var(--erbs-radius-sm) !important;
    background: var(--erbs-bg) !important;
    transition: var(--erbs-transition-fast) !important;
    cursor: pointer !important;
}

.ui-chkbox-box.ui-state-active {
    background: var(--erbs-primary) !important;
    border-color: var(--erbs-primary) !important;
}

.ui-chkbox-icon {
    min-height: 14px !important;
    min-width: 14px !important;
}

/* Ícone de check usando FontAwesome quando checkbox está marcado */
.ui-chkbox-icon.ui-icon-check:before {
    content: '\f00c' !important;
    font-family: "Font Awesome 7 Free" !important;
    font-weight: 900 !important;
    font-size: var(--erbs-text-xs) !important;
    color: var(--erbs-text-on-color) !important;
    display: inline-block !important;
    line-height: 1 !important;
}

/* Estado hover do checkbox */
.ui-chkbox-box.ui-state-hover:not(.ui-state-active) {
    border-color: var(--erbs-primary) !important;
    background: var(--erbs-primary-alpha-08) !important;
}

/* Foco visível no checkbox (WCAG) */
.ui-chkbox-box.ui-state-focus,
.ui-chkbox-box:focus-visible {
    outline: var(--erbs-focus-ring-width) solid var(--erbs-focus-ring-color) !important;
    outline-offset: var(--erbs-focus-ring-offset) !important;
}

/* Paginator - opções de linhas por página */
.ui-paginator-rpp-options {
    padding: var(--erbs-spacing-sm) var(--erbs-spacing-md) !important;
}

/* ✅ Correto - escopado com erbs-table */
.erbs-table .ui-datatable-header {
    background: var(--erbs-bg-secondary);
    border-radius: var(--erbs-radius-md);
    padding: var(--erbs-spacing-md);
    color: var(--erbs-text-primary);
}

.erbs-table .ui-paginator {
    font-family: var(--erbs-font);
    background: var(--erbs-bg-secondary);
    padding: var(--erbs-spacing-md);
}

.erbs-table .ui-paginator .ui-paginator-page {
    color: var(--erbs-text-primary);
}

.erbs-table .ui-paginator .ui-paginator-page.ui-state-active {
    background: var(--erbs-primary);
    color: var(--erbs-text-on-color);
}


.erbs-table .ui-datatable-data tr {
    color: var(--erbs-text-primary);
}

.erbs-table .ui-datatable-data tr:hover {
    background: var(--erbs-bg-hover);
}

.erbs-table .ui-sortable-column {
    color: var(--erbs-text-primary);
}

.erbs-table .ui-sortable-column:hover {
    background: var(--erbs-bg-hover);
}

/* DataTable - empty message styling */
.erbs-table-container .ui-datatable .ui-datatable-data tr.ui-datatable-empty td {
    text-align: center !important;
    padding: var(--erbs-spacing-8) var(--erbs-spacing-md) !important;
    color: var(--erbs-text-muted) !important;
    font-size: var(--erbs-text-sm) !important;
    font-style: italic !important;
}

/* PrimeFaces Chart */
.erbs-chart-area {
    width: 100%;
    height: 400px;
}

.erbs-chart-area canvas {
    width: 100% !important;
    height: 100% !important;
}

/* h:selectOneRadio / erbs-radio-group — Pill chip group */
table.erbs-radio-group {
    display: flex !important;
    flex-wrap: wrap;
    gap: var(--erbs-spacing-sm);
    border: none !important;
    background: none !important;
    width: auto !important;
    padding: 0 !important;
}

table.erbs-radio-group tbody,
table.erbs-radio-group tr {
    display: flex !important;
    flex-wrap: wrap;
    gap: var(--erbs-spacing-sm);
}

table.erbs-radio-group td {
    display: flex !important;
    align-items: center;
    gap: var(--erbs-spacing-xs);
    padding: calc(var(--erbs-spacing-sm) - 1px) var(--erbs-spacing-md);
    border: 1px solid var(--erbs-border);
    border-radius: var(--erbs-radius-full);
    cursor: pointer;
    font-size: var(--erbs-text-sm);
    color: var(--erbs-text-secondary);
    background: var(--erbs-bg);
    transition: var(--erbs-transition-fast);
    white-space: nowrap;
    min-height: 44px;
}

table.erbs-radio-group td:hover {
    border-color: rgba(var(--erbs-primary-rgb), 0.5);
    background: rgba(var(--erbs-primary-rgb), 0.04);
    color: var(--erbs-text-primary);
}

table.erbs-radio-group td label {
    cursor: pointer;
    user-select: none;
    color: inherit;
}

table.erbs-radio-group td input[type="radio"] {
    accent-color: var(--erbs-primary);
    width: 20px;
    height: 20px;
    cursor: pointer;
}

table.erbs-radio-group td:has(input[type="radio"]:checked) {
    border-color: var(--erbs-primary);
    background: rgba(var(--erbs-primary-rgb), 0.08);
    color: var(--erbs-primary);
    font-weight: var(--erbs-font-medium);
}

/* ===================================
   p:selectOneButton — Pill toggle group
   =================================== */

/* F5.3 — Período toggle elegante (segmented control refinado) */
.erbs-period-toggle {
    display: inline-flex;
    border: 1px solid var(--erbs-border);
    border-radius: var(--erbs-radius-full);
    overflow: hidden;
    background: var(--erbs-bg-secondary);
    padding: 3px;
    gap: 2px;
}

.erbs-period-toggle .ui-button {
    background: transparent;
    border: none;
    color: var(--erbs-text-secondary);
    font-size: var(--erbs-text-sm);
    font-weight: var(--erbs-font-medium);
    padding: var(--erbs-spacing-sm) var(--erbs-spacing-md);
    min-height: 36px;
    cursor: pointer;
    transition: var(--erbs-transition-fast);
    border-radius: var(--erbs-radius-full) !important;
}

.erbs-period-toggle .ui-button:last-child {
    border-right: none;
}

.erbs-period-toggle .ui-button:hover {
    background: var(--erbs-bg);
    color: var(--erbs-text-primary);
}

.erbs-period-toggle .ui-button.ui-state-active {
    background: var(--erbs-primary);
    color: var(--erbs-text-on-color);
    font-weight: var(--erbs-font-semibold);
    box-shadow: var(--erbs-shadow-sm);
}

.erbs-period-toggle .ui-button.ui-state-active:hover {
    background: var(--erbs-primary-hover);
}

.erbs-period-toggle .ui-button-text {
    padding: 0;
}

/* ===================================
   Documentos da Ocorrência — Seção de download
   =================================== */

.erbs-document-section {
    background: var(--erbs-bg-secondary);
    border: 1px solid var(--erbs-border);
    border-radius: var(--erbs-radius-lg);
    padding: var(--erbs-spacing-lg);
}

.erbs-document-header {
    display: flex;
    align-items: center;
    gap: var(--erbs-spacing-sm);
    margin-bottom: var(--erbs-spacing-sm);
}

.erbs-document-header .erbs-card-subtitle {
    margin: 0;
}

.erbs-document-icon {
    color: var(--erbs-primary);
    font-size: 1.25rem;
}

.erbs-document-description {
    color: var(--erbs-text-secondary);
    font-size: var(--erbs-text-sm);
    margin: 0 0 var(--erbs-spacing-md) 0;
}

.erbs-document-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--erbs-spacing-sm);
}

.erbs-document-btn .ui-button-text {
    display: inline-flex;
    align-items: center;
    gap: var(--erbs-spacing-xs);
}

/* Lista de arquivos — moderna e acessível */
.erbs-file-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--erbs-spacing-sm);
}

.erbs-file-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--erbs-spacing-md);
    background: var(--erbs-bg);
    border: 1px solid var(--erbs-border);
    border-radius: var(--erbs-radius-md);
    padding: var(--erbs-spacing-md);
    transition: background-color var(--erbs-duration-fast) var(--erbs-ease-standard), border-color var(--erbs-duration-fast) var(--erbs-ease-standard);
}

.erbs-file-item:hover {
    background: var(--erbs-bg-hover);
    border-color: var(--erbs-primary);
}

.erbs-file-item:focus-within {
    border-color: var(--erbs-primary);
    box-shadow: 0 0 0 3px rgba(var(--erbs-primary-rgb), 0.15);
}

.erbs-file-info {
    display: flex;
    align-items: center;
    gap: var(--erbs-spacing-md);
    min-width: 0;
    flex: 1;
}

.erbs-file-type-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--erbs-radius-sm);
    font-size: 1.25rem;
    flex-shrink: 0;
}

.erbs-file-type-icon.xml {
    background: rgba(59, 130, 246, 0.12);
    color: #2563eb;
}

.erbs-file-type-icon.pdf {
    background: rgba(239, 68, 68, 0.12);
    color: #dc2626;
}

.erbs-file-details {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.erbs-file-name {
    font-weight: var(--erbs-font-semibold);
    color: var(--erbs-text-primary);
    font-size: var(--erbs-text-sm);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.erbs-file-meta {
    color: var(--erbs-text-muted);
    font-size: var(--erbs-text-xs);
}

.erbs-file-btn {
    min-width: 120px;
    min-height: 44px;
    flex-shrink: 0;
}

.erbs-file-btn.erbs-file-btn.ui-button {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: var(--erbs-spacing-xs) !important;
}

.erbs-file-btn .ui-button-text.ui-button-text {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: var(--erbs-spacing-xs) !important;
    padding: 0 !important;
}

.erbs-file-btn.ui-button .ui-button-icon-left.ui-icon {
    position: static !important;
    text-indent: 0 !important;
    overflow: visible !important;
    display: inline-flex !important;
    align-items: center !important;
    align-self: center !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
}

/* ===================================
   Ícones coloridos por tipo de arquivo
   =================================== */

.erbs-icon-pdf {
    color: #dc2626;
}

.erbs-icon-xml {
    color: #2563eb;
}

.erbs-icon-boleto {
    color: var(--erbs-primary);
}

/* ===================================
   Tabela com linhas clicáveis (rowExpansion)
   =================================== */

.erbs-table--clickable .ui-datatable-data tr:not(.ui-expanded-row-content) {
    cursor: pointer;
}

.erbs-table--clickable .ui-datatable-data tr,
.erbs-table--clickable .ui-datatable-data tr > td {
    outline: none !important;
}

.ui-expanded-row-content .ui-datatable tbody td {
    border-top: none !important;
}

.erbs-table--clickable .ui-datatable-data tr:focus,
.erbs-table--clickable .ui-datatable-data tr > td:focus,
.erbs-table--clickable .ui-datatable-data tr.ui-expanded-row,
.erbs-table--clickable .ui-datatable-data tr.ui-state-highlight,
.erbs-table--clickable .ui-datatable-data tr > td.ui-state-highlight {
    outline: none !important;
    box-shadow: none !important;
}

/* ===================================
   Calendar / Datepicker - PrimeFaces Override
   =================================== */

/* Datepicker panel */
.ui-datepicker {
    background: var(--erbs-surface-elevated) !important;
    border: 1px solid var(--erbs-border) !important;
    border-radius: var(--erbs-radius-md) !important;
    box-shadow: var(--erbs-shadow-lg) !important;
    padding: var(--erbs-spacing-2) !important;
    font-family: var(--erbs-font) !important;
}

/* Header */
.ui-datepicker-header {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid var(--erbs-border) !important;
    padding: var(--erbs-spacing-2) var(--erbs-spacing-1) !important;
    margin-bottom: var(--erbs-spacing-1) !important;
    color: var(--erbs-text-primary) !important;
    font-weight: var(--erbs-font-semibold) !important;
}

/* Title (Month/Year) */
.ui-datepicker-title {
    color: var(--erbs-text-primary) !important;
    font-weight: var(--erbs-font-semibold) !important;
    font-size: var(--erbs-text-sm) !important;
}

/* Navigation buttons (prev/next) */
.ui-datepicker-prev,
.ui-datepicker-next {
    cursor: pointer !important;
    color: var(--erbs-text-secondary) !important;
    transition: color var(--erbs-duration-fast) var(--erbs-ease-standard) !important;
    min-width: 32px !important;
    min-height: 32px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: var(--erbs-radius-control) !important;
}

.ui-datepicker-prev:hover,
.ui-datepicker-next:hover {
    color: var(--erbs-primary) !important;
    background: var(--erbs-primary-alpha-08) !important;
}

/* Calendar table */
.ui-datepicker-calendar {
    width: 100% !important;
    border-collapse: collapse !important;
}

.ui-datepicker-calendar th {
    padding: var(--erbs-spacing-1) !important;
    text-align: center !important;
    color: var(--erbs-text-muted) !important;
    font-size: var(--erbs-text-xs) !important;
    font-weight: var(--erbs-font-medium) !important;
    text-transform: uppercase !important;
    letter-spacing: var(--erbs-letter-spacing-wide) !important;
    border: none !important;
    background: transparent !important;
}

.ui-datepicker-calendar td {
    padding: 2px !important;
    text-align: center !important;
    border: none !important;
}

/* Day cells */
.ui-datepicker-calendar .ui-state-default {
    border: none !important;
    background: transparent !important;
    color: var(--erbs-text-primary) !important;
    padding: var(--erbs-spacing-1) !important;
    text-align: center !important;
    border-radius: var(--erbs-radius-control) !important;
    transition: all var(--erbs-duration-fast) var(--erbs-ease-standard) !important;
    min-width: 32px !important;
    min-height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: var(--erbs-text-sm) !important;
}

.ui-datepicker-calendar .ui-state-default:hover {
    background: var(--erbs-bg-hover) !important;
    color: var(--erbs-text-primary) !important;
}

/* Selected day */
.ui-datepicker-calendar .ui-state-active {
    background: var(--erbs-primary) !important;
    color: var(--erbs-text-on-color) !important;
    font-weight: var(--erbs-font-semibold) !important;
}

.ui-datepicker-calendar .ui-state-active:hover {
    background: var(--erbs-primary-hover) !important;
}

/* Today */
.ui-datepicker-current {
    background: var(--erbs-primary-alpha-08) !important;
    color: var(--erbs-primary) !important;
    font-weight: var(--erbs-font-semibold) !important;
}

/* Other month days */
.ui-datepicker-other-month {
    color: var(--erbs-text-subtle) !important;
}

/* Disabled days */
.ui-datepicker-unselectable {
    color: var(--erbs-text-disabled) !important;
    cursor: not-allowed !important;
}

/* Inline calendar */
.ui-datepicker-inline {
    background: var(--erbs-surface-1) !important;
    border: 1px solid var(--erbs-border) !important;
    box-shadow: none !important;
}

/* Timepicker */
.ui-timepicker {
    border-top: 1px solid var(--erbs-border) !important;
    margin-top: var(--erbs-spacing-1) !important;
    padding-top: var(--erbs-spacing-1) !important;
}

.ui-timepicker .ui-separator {
    color: var(--erbs-text-muted) !important;
}

/* ===================================
   SelectOneMenu Trigger
   =================================== */

/* SelectOneMenu trigger */
.ui-selectonemenu-trigger {
    background: var(--erbs-surface-1) !important;
    border-left: 1px solid var(--erbs-border) !important;
    border-radius: 0 var(--erbs-radius-control) var(--erbs-radius-control) 0 !important;
    color: var(--erbs-text-muted) !important;
    transition: background-color var(--erbs-duration-fast) var(--erbs-ease-standard) !important;
}

.ui-selectonemenu-trigger:hover {
    background: var(--erbs-bg-hover) !important;
    color: var(--erbs-text-secondary) !important;
}

.ui-selectonemenu-trigger .ui-icon {
    background: none !important;
    font-size: var(--erbs-text-sm) !important;
    color: var(--erbs-text-muted) !important;
}

.ui-selectonemenu-trigger .ui-icon-triangle-1-s::before {
    content: '\f078'; /* fa-chevron-down */
    font-family: 'Font Awesome 6 Free', 'Font Awesome 5 Free', sans-serif !important;
    font-weight: 900 !important;
}

/* ===================================
   SelectOneMenu Filter
   =================================== */

/* SelectOneMenu filter */
.ui-selectonemenu-filter-container {
    padding: var(--erbs-spacing-2) !important;
    border-bottom: 1px solid var(--erbs-border) !important;
}

.ui-selectonemenu-filter {
    width: 100% !important;
    padding: var(--erbs-spacing-1) var(--erbs-spacing-2) !important;
    border: 1px solid var(--erbs-border) !important;
    border-radius: var(--erbs-radius-control) !important;
    font-size: var(--erbs-text-sm) !important;
    min-height: 36px !important;
}

.ui-selectonemenu-filter:focus {
    border-color: var(--erbs-primary) !important;
    box-shadow: var(--erbs-focus-ring-shadow) !important;
    outline: none !important;
}

/* ===================================
   DataTable Column Filters
   =================================== */

/* DataTable column filters */
.ui-datatable .ui-column-filter {
    width: 100% !important;
    padding: var(--erbs-spacing-1) var(--erbs-spacing-2) !important;
    border: 1px solid var(--erbs-border) !important;
    border-radius: var(--erbs-radius-control) !important;
    font-size: var(--erbs-text-sm) !important;
    min-height: 36px !important;
    background: var(--erbs-surface-1) !important;
}

.ui-datatable .ui-column-filter:focus {
    border-color: var(--erbs-primary) !important;
    box-shadow: var(--erbs-focus-ring-shadow) !important;
    outline: none !important;
}

/* ===================================
   DataTable Row Selection
   =================================== */

/* DataTable row selection */
.ui-datatable .ui-state-highlight {
    background: var(--erbs-primary-alpha-08) !important;
    color: var(--erbs-text-primary) !important;
    border-left: 3px solid var(--erbs-primary) !important;
}

.ui-datatable .ui-state-highlight:hover {
    background: var(--erbs-primary-alpha-12) !important;
}

/* ===================================
   DataTable Sort Active
   =================================== */

.ui-datatable .ui-sortable-column.ui-state-active {
    background: var(--erbs-primary-alpha-05) !important;
    color: var(--erbs-primary) !important;
}

/* ===================================
   Standard Radio Button (not pill group)
   =================================== */

/* Standard radio button (not pill group) */
.ui-radiobutton {
    display: inline-flex !important;
    align-items: center !important;
    cursor: pointer !important;
}

.ui-radiobutton-box {
    width: 20px !important;
    height: 20px !important;
    border: 2px solid var(--erbs-border) !important;
    border-radius: 50% !important;
    background: var(--erbs-surface-1) !important;
    transition: all var(--erbs-duration-fast) var(--erbs-ease-standard) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.ui-radiobutton-box:hover {
    border-color: var(--erbs-primary) !important;
}

.ui-radiobutton-box.ui-state-focus {
    box-shadow: var(--erbs-focus-ring-shadow) !important;
}

.ui-radiobutton-box.ui-state-active {
    border-color: var(--erbs-primary) !important;
    background: var(--erbs-primary) !important;
}

.ui-radiobutton-box.ui-state-active .ui-radiobutton-icon {
    background: none !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: var(--erbs-bg) !important;
}

/* ===================================
   Dialog Header / Footer
   =================================== */

/* Dialog header */
.ui-dialog .ui-dialog-titlebar {
    padding: var(--erbs-spacing-4) var(--erbs-spacing-4) var(--erbs-spacing-3) !important;
    border-bottom: 1px solid var(--erbs-border) !important;
    background: var(--erbs-surface-1) !important;
    border-radius: var(--erbs-radius-lg) var(--erbs-radius-lg) 0 0 !important;
}

.ui-dialog .ui-dialog-title {
    font-size: var(--erbs-text-lg) !important;
    font-weight: var(--erbs-font-semibold) !important;
    color: var(--erbs-text-primary) !important;
    letter-spacing: var(--erbs-letter-spacing-tight) !important;
}

/* Dialog content */
.ui-dialog .ui-dialog-content {
    padding: var(--erbs-spacing-4) !important;
}

/* Dialog footer */
.ui-dialog .ui-dialog-footer {
    padding: var(--erbs-spacing-3) var(--erbs-spacing-4) var(--erbs-spacing-4) !important;
    border-top: 1px solid var(--erbs-border) !important;
    background: var(--erbs-surface-2) !important;
    border-radius: 0 0 var(--erbs-radius-lg) var(--erbs-radius-lg) !important;
}

/* ===================================
   p:divider — PrimeFaces 15
   O PrimeFaces 15 não inclui CSS para o divider no components.css.
   Implementar o estilo completo aqui, alinhado com tokens ErbsUI.
   =================================== */

.ui-divider {
    margin: var(--erbs-spacing-md) 0 !important;
    box-sizing: content-box !important;
}

.ui-divider.ui-divider-horizontal {
    display: flex !important;
    align-items: center !important;
    white-space: nowrap !important;
    width: 100% !important;
    border-top: 1px solid var(--erbs-border) !important;
}

.ui-divider.ui-divider-horizontal.ui-divider-solid {
    border-top-style: solid !important;
}

.ui-divider.ui-divider-horizontal.ui-divider-dotted {
    border-top-style: dotted !important;
}

.ui-divider.ui-divider-horizontal.ui-divider-dashed {
    border-top-style: dashed !important;
}

.ui-divider.ui-divider-vertical {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    white-space: nowrap !important;
    height: 100% !important;
    min-height: 1em !important;
    margin: 0 var(--erbs-spacing-md) !important;
    border-left: 1px solid var(--erbs-border) !important;
}

.ui-divider.ui-divider-vertical.ui-divider-solid {
    border-left-style: solid !important;
}

.ui-divider.ui-divider-vertical.ui-divider-dotted {
    border-left-style: dotted !important;
}

.ui-divider.ui-divider-vertical.ui-divider-dashed {
    border-left-style: dashed !important;
}

.ui-divider .ui-divider-content {
    display: inline-block !important;
    padding: 0 var(--erbs-spacing-sm) !important;
    background: var(--erbs-bg) !important;
    font-size: var(--erbs-text-sm) !important;
    color: var(--erbs-text-secondary) !important;
}

.ui-divider.ui-divider-horizontal .ui-divider-content {
    transform: translateY(-50%) !important;
}

.ui-divider.ui-divider-vertical .ui-divider-content {
    transform: translateX(-50%) !important;
}