/* BarrioMarkets UI foundations — infraestructura transversal (v1.0) */

.bm-ui-results {
    scroll-margin-top: 12px;
}

.bm-ui-pagination {
    margin-top: 14px;
    margin-bottom: 0;
}

.bm-ui-pagination--top {
    margin-top: 0;
    margin-bottom: 12px;
}

.bm-ui-pagination--bottom {
    margin-top: 14px;
}

/* Pagination V2 — grid shell (true center nav) */
.bm-ui-pagination--v2 .bm-ui-pagination__shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    width: 100%;
    box-sizing: border-box;
}

.bm-ui-pagination--v2 .bm-ui-pagination__left,
.bm-ui-pagination--v2 .bm-ui-pagination__right {
    font-size: 0.9rem;
    font-weight: 600;
    color: #334155;
    white-space: nowrap;
}

.bm-ui-pagination--v2 .bm-ui-pagination__left {
    justify-self: start;
}

.bm-ui-pagination--v2 .bm-ui-pagination__right {
    justify-self: end;
    text-align: right;
}

.bm-ui-pagination--v2 .bm-ui-pagination__center {
    justify-self: center;
    min-width: 0;
}

.bm-ui-pagination--v2 .bm-ui-pagination__controls {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex-wrap: nowrap;
}

.bm-ui-pagination--v2 .bm-ui-pagination__nums {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex-wrap: nowrap;
}

.bm-ui-pagination--v2 a.admin-pagination__num,
.bm-ui-pagination--v2 .admin-pagination__num--current {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    min-height: 2rem;
    padding: 4px 8px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
    white-space: nowrap;
}

.bm-ui-pagination--v2 .admin-pagination__num--current {
    background: #1e3a5f;
    color: #fff;
}

.bm-ui-pagination--v2 .admin-pagination__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    min-height: 2rem;
    padding: 4px 8px;
    text-decoration: none;
    font-weight: 700;
    white-space: nowrap;
}

.bm-ui-pagination--v2 .bm-ui-pagination__chev {
    font-size: 1.05rem;
    line-height: 1;
}

/* Table column contract — semantic alignment (Batch 6.2 / 6.3) */
th.bm-ui-col-status,
td.bm-ui-col-status,
.bm-finances-table th.bm-ui-col-status,
.bm-finances-table td.bm-ui-col-status,
[data-bm-ui-foundation="table-pagination-v1"] .bm-ui-table tbody td:has(> .bm-uc2-status-badge) {
    text-align: center;
}

th.bm-ui-col-actions,
td.bm-ui-col-actions.admin-table__actions,
.bm-finances-table th.bm-ui-col-actions,
.bm-finances-table td.bm-ui-col-actions {
    text-align: center;
}

.bm-ui-col-actions-grid.admin-table__actions-grid,
.bm-finances-table .bm-ui-col-actions-grid.admin-table__actions-grid {
    justify-content: center;
}

.bm-ui-col-actions-grid.admin-table__actions-grid > .admin-table__btn,
.bm-ui-col-actions-grid.admin-table__actions-grid > .admin-table__action-form,
.bm-ui-col-actions-grid.admin-table__actions-grid > form {
    flex: 0 1 auto;
    min-width: 0;
}

/* Filter bar V2 */
[data-bm-ui-filterbar="filterbar-v2"],
[data-bm-ui-foundation="filterbar-v2"] {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.bm-ui-filterbar__primary {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 10px 12px;
    width: 100%;
}

.bm-ui-filterbar__search-wrap {
    position: relative;
    flex: 1 1 12rem;
    min-width: min(100%, 20ch);
    max-width: 100%;
}

.bm-ui-filterbar__search {
    width: 100%;
    min-width: 0;
}

.bm-ui-filterbar__search-input {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.bm-ui-filterbar__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.bm-ui-filterbar__actions .admin-table__btn,
.bm-ui-filterbar__actions .admin-btn-primary {
    white-space: nowrap;
}

.bm-ui-filterbar__advanced-panel {
    margin-top: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 12px;
    width: 100%;
    box-sizing: border-box;
}

.bm-ui-filterbar__suggestions {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 2px);
    z-index: var(--bm-ui-z-dropdown);
    max-width: 100%;
    box-sizing: border-box;
}

.bm-ui-filterbar__suggestions .bm-location-suggestions__item {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bm-store-catalog-barcode-action {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 12px 0 14px;
    width: 100%;
    box-sizing: border-box;
}

.bm-store-catalog-barcode-action .admin-btn-primary {
    white-space: nowrap;
}

.admin-pagination__ellipsis,
.bm-ui-pagination__ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.25rem;
    padding: 0 4px;
    color: #6b7280;
    font-weight: 600;
    user-select: none;
}

.admin-pagination__link.is-disabled {
    color: #9ca3af;
    cursor: default;
    text-decoration: none;
    font-weight: 600;
}

.bm-ui-empty-state__text {
    margin: 0;
}

/* Overlay / z-index stack */
:root {
    --bm-ui-z-base: 1;
    --bm-ui-z-sticky: 100;
    --bm-ui-z-dropdown: 1000;
    --bm-ui-z-popover: 1100;
    --bm-ui-z-modal: 1200;
    --bm-ui-z-toast: 1300;
}

.bm-ss-portal-root { z-index: var(--bm-ui-z-popover); }
.bm-ui-modal { z-index: var(--bm-ui-z-modal); }
.owner-confirm-modal::backdrop { z-index: calc(var(--bm-ui-z-modal) - 1); }

.bm-ui-feedback--warning {
    background: #fffbeb;
    border: 1px solid #f59e0b;
    color: #92400e;
}

.bm-ui-feedback--info {
    background: #eff6ff;
    border: 1px solid #93c5fd;
    color: #1e40af;
}

.bm-ui-validation-summary {
    margin: 0 0 12px;
    padding: 10px 12px;
    border: 1px solid #fca5a5;
    background: #fef2f2;
    border-radius: 8px;
}

.bm-ui-validation-summary__title { margin: 0 0 6px; font-weight: 600; }
.bm-ui-validation-summary__list { margin: 0; padding-left: 1.2rem; }

.bm-ui-modal__inner {
    max-height: min(85vh, 720px);
    overflow-y: auto;
}

@media (max-width: 480px) {
    .bm-ui-pagination .bm-ui-pagination__prev-label,
    .bm-ui-pagination .bm-ui-pagination__next-label {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }
}

/* Expandable row foundation (v1.3) */
[data-bm-ui-expandable="1"] tr.is-collapsed[hidden] {
    display: none;
}

[data-bm-ui-expandable="1"] .bm-ui-expandable-panel {
    vertical-align: top;
}

[data-bm-ui-expandable="1"] .bm-ui-expandable-panel__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    width: 100%;
    box-sizing: border-box;
}

[data-bm-ui-expandable="1"] .bm-ui-row-controls {
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
}

[data-bm-ui-expandable="1"] .bm-ui-expandable-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    min-height: 2rem;
    padding: 4px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #fff;
    cursor: pointer;
}

[data-bm-ui-expandable="1"] .bm-ui-expandable-toggle__icon {
    transition: transform 0.15s ease;
}

[data-bm-ui-expandable="1"] [class*="-actions-toggle"].is-expanded [class*="-actions-toggle__icon"],
[data-bm-ui-expandable="1"] [class*="-actions-toggle"].is-expanded svg {
    transform: rotate(180deg);
}

/* T-1 — cursor pointer en fila de datos expandible (transversal mínimo) */
[data-bm-ui-expandable="1"] tr[data-bm-ui-expandable-data="1"],
tr.bm-ui-expandable-data-row,
tr.bm-lot-data-row,
#workspace-store-catalog-root tr.bm-sc-row--data[data-bm-sc-toggle-row] {
    cursor: pointer;
}

tr.bm-lot-row--actions,
tr.bm-sc-row--actions,
[data-bm-ui-expandable="1"] tr.bm-ui-expandable-panel {
    cursor: auto;
}

tr.bm-lot-data-row a,
tr.bm-lot-data-row button,
tr.bm-lot-data-row input,
tr.bm-lot-data-row select,
tr.bm-lot-data-row textarea,
tr.bm-lot-data-row label,
tr.bm-lot-data-row form,
#workspace-store-catalog-root tr.bm-sc-row--data a,
#workspace-store-catalog-root tr.bm-sc-row--data button,
#workspace-store-catalog-root tr.bm-sc-row--data input,
#workspace-store-catalog-root tr.bm-sc-row--data select,
#workspace-store-catalog-root tr.bm-sc-row--data textarea,
#workspace-store-catalog-root tr.bm-sc-row--data label,
#workspace-store-catalog-root tr.bm-sc-row--data form,
[data-bm-ui-expandable="1"] tr[data-bm-ui-expandable-data="1"] a,
[data-bm-ui-expandable="1"] tr[data-bm-ui-expandable-data="1"] button,
[data-bm-ui-expandable="1"] tr[data-bm-ui-expandable-data="1"] input,
[data-bm-ui-expandable="1"] tr[data-bm-ui-expandable-data="1"] select,
[data-bm-ui-expandable="1"] tr[data-bm-ui-expandable-data="1"] textarea,
[data-bm-ui-expandable="1"] tr[data-bm-ui-expandable-data="1"] label,
[data-bm-ui-expandable="1"] tr[data-bm-ui-expandable-data="1"] form {
    cursor: auto;
}

@media (max-width: 430px) {
    .bm-ui-pagination--v2 .bm-ui-pagination__shell {
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .bm-ui-pagination--v2 .bm-ui-pagination__left,
    .bm-ui-pagination--v2 .bm-ui-pagination__right {
        display: none;
    }

    .bm-ui-pagination--v2 .bm-ui-pagination__center {
        width: 100%;
        justify-self: center;
    }

    .bm-ui-pagination--v2 .bm-ui-pagination__controls {
        width: 100%;
        justify-content: center;
    }

    .bm-ui-filterbar__primary {
        flex-direction: column;
        align-items: stretch;
    }

    .bm-ui-filterbar__search-wrap {
        flex: 1 1 auto;
        width: 100%;
        min-width: 0;
    }

    .bm-ui-filterbar__actions {
        width: 100%;
        justify-content: flex-start;
    }

    html:has(#my-stores-pattern-root),
    body:has(#my-stores-pattern-root),
    html:has(#workspace-scf-forms-root),
    body:has(#workspace-scf-forms-root) {
        overflow-x: hidden;
        max-width: 100%;
    }

    .admin-main:has(#my-stores-pattern-root),
    .admin-main:has(#workspace-scf-forms-root),
    .main:has(#my-stores-pattern-root),
    .main:has(#workspace-scf-forms-root) {
        overflow-x: hidden;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    [data-bm-ui-expandable="1"] {
        max-width: 100%;
        overflow-x: clip;
        box-sizing: border-box;
    }

    [data-bm-ui-expandable="1"] [class*="-actions-panel"],
    [data-bm-ui-expandable="1"] [class*="-actions-cell"] .admin-table__actions-grid {
        flex-wrap: wrap;
        gap: 8px;
        max-width: 100%;
        box-sizing: border-box;
    }

    [data-bm-ui-expandable="1"] .bm-canonical-table-wrap,
    [data-bm-ui-expandable="1"] .admin-table-wrap,
    [data-bm-ui-expandable="1"] .my-stores-table-wrap {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        box-sizing: border-box;
    }
}
