/* Cards + tables — match ffr-hero / ffr-table-card / ffr-card */

.card {
    --bs-card-border-radius: 1rem;
    --bs-card-inner-border-radius: calc(1rem - 1px);
    --bs-card-border-color: #dee2e6;
    --bs-card-bg: #fff;
    --bs-card-cap-bg: #212529;
    --bs-card-cap-color: #f8f9fa;
    --bs-border-radius: 1rem;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 1rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

.card.border-dark,
.card.border-secondary {
    background: #212529;
    border-color: #212529;
}

.card.border-dark > .card-body,
.card.border-dark > .card-footer,
.card.border-secondary > .card-body,
.card.border-secondary > .card-footer {
    background: #fff;
}

.card.border-gray-200,
.card.border-2 {
    border-color: #dee2e6;
}

.card.bg-gray-50,
.card.bg-gray-100,
.card.bg-light {
    background: #f8f9fa;
}

.card.bg-dark,
.card.bg-dark.border-dark,
.card.bg-dark .card-body,
.card.bg-dark .card-footer {
    background: #212529 !important;
    border-color: #212529 !important;
    color: #f8f9fa;
}

#selected-month-card,
#selected-month {
    min-width: 0;
    max-width: 100%;
}

#selected-month .card-header {
    overflow: hidden;
}

#selected-month .card-header .btn {
    flex: 0 0 auto;
}

.fm-month-label {
    display: inline-flex;
    align-items: baseline;
    gap: 0.35em;
    min-width: 0;
    flex: 1 1 auto;
    font-size: 0.85rem;
    font-weight: 500;
    color: #f8f9fa;
    letter-spacing: normal;
    word-spacing: 0.15em;
    line-height: 1.2;
}

.fm-month-editor {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 0.75rem 1.05rem;
}

.fm-month-editor.d-none {
    display: none !important;
}

.fm-month-editor input[type="month"] {
    width: 100%;
    min-height: 2.25rem;
    padding: 0 0.65rem;
    border: 1px solid #dee2e6;
    border-radius: 0.5rem;
    background: #fff;
    color: #212529;
    font-size: 0.82rem;
}

#selected-month-card.erp-busy {
    min-height: 0;
}

.card-header,
.card-header.bg-dark,
.card-header.bg-secondary {
    background: #212529 !important;
    color: #f8f9fa !important;
    border-bottom: 1px solid #212529 !important;
    padding: 0.75rem 1.05rem;
    letter-spacing: normal;
    word-spacing: 0.1em;
}

.card-header .text-white,
.card-header .text-light,
.card-header .text-body-tertiary {
    color: #f8f9fa !important;
}

.card-header .text-gray-400,
.card-header .text-gray-300,
.card-header .text-muted {
    color: #adb5bd !important;
}

.card-body.bg-gray-50,
.card-body.bg-light {
    background: #f8f9fa !important;
}

.card-footer {
    background: #fff;
    border-top: 1px solid #f1f3f5;
    color: #212529;
}

.card .list-group-item {
    border-color: #f1f3f5;
}

.card .list-group-flush > .list-group-item {
    padding-left: 1.05rem;
    padding-right: 1.05rem;
}

.card .accordion-item {
    border-color: #f1f3f5;
}

.card .accordion-button:not(.collapsed):not(.accordion-button-transparent) {
    background: #f8f9fa !important;
    color: #212529 !important;
}

.card .card-body > .bg-white.border.rounded-lg,
.card .card-body > .bg-white.border.rounded {
    border-radius: 0.75rem !important;
    border-color: #e9ecef !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.table {
    --bs-table-bg: #fff;
    --bs-table-color: #212529;
    --bs-table-striped-bg: #f8f9fa;
    --bs-table-striped-color: #212529;
    --bs-table-hover-bg: #f1f3f5;
    --bs-table-hover-color: #212529;
    --bs-table-border-color: #f1f3f5;
    --bs-table-active-bg: #f1f3f5;
    margin-bottom: 0;
    color: #212529;
    border-color: #f1f3f5;
}

.table > :not(caption) > * > * {
    padding: 0.7rem 0.9rem;
    border-bottom-color: #f1f3f5;
}

.table-sm > :not(caption) > * > * {
    padding: 0.45rem 0.65rem;
}

.table > thead,
.table > thead > tr,
.table thead th,
.table thead td {
    background: #212529 !important;
    color: #f8f9fa !important;
    border-color: #212529 !important;
}

.table thead th,
.table thead td {
    font-size: 0.68rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
    border-bottom: 0;
    vertical-align: middle;
}

.table tbody td,
.table tbody th {
    vertical-align: middle;
    font-size: 0.875rem;
}

.table tbody tr[data-href] {
    cursor: pointer;
}

.table tbody tr[data-href]:hover > * {
    --bs-table-accent-bg: var(--bs-table-hover-bg);
    color: var(--bs-table-hover-color);
}

.table-dark,
.table .table-dark,
thead.table-dark,
tr.table-dark,
.table > thead.table-dark,
.table-dark > :not(caption) > * > * {
    --bs-table-bg: #212529;
    --bs-table-color: #f8f9fa;
    --bs-table-border-color: #212529;
    --bs-table-striped-bg: #212529;
    --bs-table-hover-bg: #343a40;
    background: #212529 !important;
    color: #f8f9fa !important;
    border-color: #212529 !important;
}

.table-secondary,
.table .table-secondary,
tr.table-secondary {
    --bs-table-bg: #f8f9fa;
    --bs-table-color: #212529;
    background: #f8f9fa !important;
    color: #212529 !important;
}

.table-bordered,
.table-bordered > :not(caption) > * > * {
    border-color: #e9ecef;
}

.table-borderless > :not(caption) > * > * {
    border-color: transparent;
}

.table-responsive,
.overflow-hidden.rounded-lg.border,
.overflow-hidden.rounded.border,
.overflow-hidden.border-dark:has(> .table),
.overflow-hidden.border:has(> .table),
.table-responsive:has(> .table) {
    border-radius: 1rem;
    border-color: #dee2e6;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

.overflow-hidden.border-dark:has(> .table),
.rounded-lg.border-dark:has(> .table),
.border.border-dark:has(> .table) {
    border-color: #212529;
}

.table-responsive > .table {
    margin-bottom: 0;
}

.table thead.sticky-top,
.table .sticky-top {
    z-index: 2;
}

/* Dark stat chips / split totals / last-item bars */

.erp-stat,
.bg-dark.rounded,
.bg-dark.rounded-lg,
.bg-dark.rounded-xl {
    background: #212529 !important;
    border-color: #212529 !important;
    border-radius: 1rem !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.table .bg-dark.rounded,
.bg-dark.rounded.px-2.py-0\.5,
.bg-dark.rounded.py-0\.5 {
    border-radius: 0.5rem !important;
    box-shadow: none;
    min-height: 0;
}

.erp-stat-split {
    align-items: stretch;
    overflow: hidden;
}

.erp-stat-cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.1rem;
    padding: 0.45rem 0.7rem;
    min-width: 0;
}

.erp-stat-label,
.erp-stat .text-gray-400.text-xs,
.erp-stat .text-gray-300.text-xs,
.bg-dark.rounded .text-gray-400.text-xs,
.bg-dark.rounded-lg .text-gray-400.text-xs,
.bg-dark.rounded-xl .text-gray-400.text-xs,
.bg-dark.rounded .text-gray-300.text-xs,
.bg-dark.rounded-lg .text-gray-300,
.bg-dark.rounded-xl .text-gray-400 {
    font-size: 0.62rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #adb5bd !important;
    line-height: 1.2;
}

.erp-stat-value,
.erp-stat .text-white,
.bg-dark.rounded .text-white,
.bg-dark.rounded-lg .text-white,
.bg-dark.rounded-xl .text-white,
.bg-dark.rounded-lg .text-gray-200,
.bg-dark.rounded-xl .text-gray-200 {
    font-size: 0.82rem !important;
    font-weight: 500 !important;
    color: #f8f9fa !important;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0;
    line-height: 1.2;
}

.erp-stat-meta,
.erp-stat .erp-stat-meta {
    font-size: 0.7rem !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: #adb5bd !important;
}

.erp-stat-chip,
#current-time-tracking-duration {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    background: #fff !important;
    color: #212529 !important;
    border-radius: 0.65rem !important;
    font-size: 0.82rem !important;
    font-weight: 500;
    padding: 0 0.65rem !important;
    line-height: 1;
    flex: 0 0 auto;
    height: 1.65rem !important;
    min-height: 1.65rem !important;
    width: auto !important;
    text-decoration: none;
}

.erp-stat-chip.is-in {
    background: #fff !important;
    color: #198754 !important;
}

.erp-stat-chip.is-out {
    background: #fff !important;
    color: #dc3545 !important;
}

#sum-incomes-content .erp-stat-chip,
#sum-expenses-content .erp-stat-chip {
    font-size: 0.78rem !important;
    font-weight: 600;
    height: 1.7rem !important;
    min-height: 1.7rem !important;
    padding: 0 0.65rem !important;
}

#sum-incomes-content .erp-stat-chip.is-in {
    background: #d8ebe0 !important;
    color: #1b4d38 !important;
}

#sum-expenses-content .erp-stat-chip.is-out {
    background: #f3d6d6 !important;
    color: #8a2a2a !important;
}

#current-time-tracking-duration-text {
    font-size: 0.82rem !important;
    font-weight: 500 !important;
    color: #212529 !important;
    line-height: 1;
}

#current-time-tracking .card-header {
    align-items: center !important;
    min-height: 3rem;
}

#current-time-tracking-start-stop-button {
    width: 1.65rem !important;
    height: 1.65rem !important;
    min-width: 1.65rem;
    min-height: 1.65rem;
    max-height: 1.65rem;
    padding: 0 !important;
    background: #fff !important;
    color: #212529 !important;
    border-radius: 999px !important;
    flex: 0 0 auto;
    align-self: center;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#current-time-tracking-start-stop-button i,
.card-header .bg-white i,
.card-header .bg-gray-50 i {
    color: #212529 !important;
    font-size: 0.55rem !important;
}

.erp-stat-divider,
.bg-dark > .bg-gray-500,
.card.bg-dark .bg-gray-500 {
    background: rgba(255, 255, 255, 0.12) !important;
}

.erp-stat-divider {
    width: 1px;
    min-width: 1px;
    align-self: stretch;
}

/* List / dashboard filter headers — same language as ffr-hero */

.erp-header {
    position: relative;
    z-index: 20;
    margin-bottom: 1.25rem;
    padding: 0.5rem 0.85rem;
    background: #212529;
    border: 1px solid #212529;
    border-radius: 1rem;
    font-size: 0.82rem;
    max-width: 100%;
    box-sizing: border-box;
}

.erp-header:not(.row):not(.d-flex) {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

/* Bootstrap .row + .g-* uses negative margins — that pulls the hero
   into the navbar and wider than the navbar. Keep gutters, kill the pull. */
.erp-header.row,
.erp-header > .row,
.erp-header .row {
    --bs-gutter-x: 0.75rem;
    --bs-gutter-y: 0;
    margin-top: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100%;
    width: 100%;
    row-gap: 0.5rem;
}

.erp-header.row > *,
.erp-header > .row > *,
.erp-header .row > * {
    margin-top: 0 !important;
}

.erp-header-bar {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    min-width: 0;
}

.erp-header-bar .erp-header-actions {
    margin-left: auto;
    flex: 0 0 auto;
}

.erp-header-tools {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.5rem;
    width: 100%;
    min-width: 0;
}

.erp-header-search {
    display: flex;
    align-items: stretch;
    flex: 1 1 14rem;
    min-width: 0;
    max-width: 24rem;
}

.erp-header-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.4rem;
    flex: 1 1 18rem;
    min-width: 0;
}

.erp-header-filters > * {
    flex: 1 1 9.5rem;
    min-width: 0;
    width: auto;
    max-width: 100%;
}

.erp-header-filters .dropdown,
.erp-header-filters .js-wcc-searchable-dropdown {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

.erp-header-filters .dropdown > .btn,
.erp-header-filters [data-bs-toggle="dropdown"],
.erp-header-filters .erp-filter-toggle {
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
}

.erp-header-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.4rem;
    margin-left: auto;
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
}

.erp-header-actions > * {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
}

.erp-header-actions .btn {
    white-space: nowrap;
}

.erp-header-bar > .erp-balance,
.erp-header-tools > .erp-balance {
    flex: 0 1 auto;
    width: max-content;
    max-width: calc(100% - 8.5rem);
}

#invoices_balance_content {
    height: 3.5rem;
    min-height: 3.5rem;
}

#invoices_balance_content .erp-balance-kicker {
    font-size: 0.7rem;
}

#invoices_balance_content .erp-balance-toggle {
    height: 1.7rem;
    min-width: 4rem;
    font-size: 0.75rem;
}

#invoices_balance_content .erp-balance-toggle i {
    font-size: 0.65rem;
}

#invoices_balance_content .erp-balance-value {
    font-size: 1rem;
}

#invoices_balance_content .erp-balance-meta {
    font-size: 0.75rem;
}

#invoices_balance_content .erp-balance-cell {
    min-width: 0;
    padding: 0 0.85rem;
    gap: 0.1rem;
}

#invoices_balance_content .erp-balance-cell-value {
    font-size: 1rem;
}

#invoices_balance_content .erp-balance-cell-meta {
    font-size: 0.75rem;
}

#invoices_balance_content.erp-busy {
    min-height: 3.5rem;
}

#invoices_balance_content.erp-busy::before {
    border-color: #f8f9fa;
    border-right-color: transparent;
}

.erp-header-bar > .erp-balance .erp-balance-split,
.erp-header-tools > .erp-balance .erp-balance-split {
    flex: 1 1 auto;
    border-left: 0;
}

.erp-header-search > form,
.erp-header-search.form,
form.erp-header-search {
    display: flex;
    align-items: stretch;
    width: 100%;
    min-width: 0;
}

.erp-header-filters > :has(> .erp-filter-toggle),
.erp-header-filters > .erp-filter-toggle {
    display: flex;
    align-items: stretch;
    flex: 0 1 auto;
    width: auto;
    max-width: 100%;
}

.erp-header-filters > :has(> .erp-filter-toggle) .erp-filter-toggle {
    width: auto !important;
    height: 100%;
}

@media (max-width: 1199.98px) {
    .erp-header-search {
        max-width: none;
    }
}

@media (max-width: 991.98px) {
    .erp-header-search,
    .erp-header-filters,
    .erp-header-tools > .erp-header-actions {
        flex: 1 1 100%;
        max-width: none;
        margin-left: 0;
    }

    .erp-header-tools > .erp-header-actions {
        justify-content: stretch;
    }

    .erp-header-tools > .erp-header-actions > * {
        flex: 1 1 auto;
    }
}

@media (max-width: 575.98px) {
    .erp-header-filters > *,
    .erp-header-tools > .erp-header-actions > * {
        flex: 1 1 100%;
    }

    .erp-header-tools > .erp-header-actions .btn {
        white-space: normal;
        text-align: center;
    }
}

/* Search — ffr-hero .ffr-field (dark glass, icon left) */
.erp-header .input-group {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.55rem;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 2.5rem;
    padding: 0 0.75rem;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 0.5rem;
    overflow: hidden;
}

.erp-header .form-control {
    height: 2.5rem;
    min-height: 2.5rem;
    color: #f8f9fa !important;
    font-size: 0.82rem !important;
    padding: 0 0.8rem;
}

.erp-header .form-control::placeholder {
    color: #adb5bd !important;
}

.erp-header .input-group .form-control,
.erp-header .input-group .form-control:focus {
    order: 2;
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    height: auto;
    min-height: 0;
    align-self: stretch;
    appearance: none;
    -webkit-appearance: none;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    padding: 0 !important;
}

.erp-header .input-group .form-control::placeholder {
    color: #adb5bd !important;
}

.erp-header .input-group .input-group-text,
.erp-header .input-group .input-group-text:hover,
.erp-header .input-group .input-group-text:focus,
.erp-header .input-group .input-group-text:active {
    order: 1;
    background: transparent !important;
    border: 0 !important;
    color: #adb5bd !important;
    min-height: 0;
    padding: 0;
    box-shadow: none;
}

.erp-header-filters .dropdown,
.erp-header-filters .dropdown > .btn {
    width: 100%;
}

/* FM balances — compact strip on the dark hero */
.erp-balance {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    width: max-content;
    max-width: 100%;
    min-width: 0;
    min-height: 4rem;
    background: #343a40;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 0.85rem;
    overflow: hidden;
}

.erp-balance-head {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 0.4rem;
    flex: 0 0 auto;
    padding: 0 0.6rem;
    border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.erp-balance-kicker {
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #adb5bd;
    line-height: 1.2;
}

.erp-balance-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    height: 1.7rem;
    min-width: 4rem;
    padding: 0 0.5rem;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 0.5rem;
    background: rgba(255, 255, 255, 0.08);
    color: #ced4da;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: normal;
    word-spacing: 0.1em;
    white-space: nowrap;
    cursor: pointer;
}

.erp-balance-toggle i {
    font-size: 0.65rem;
}

.erp-balance-toggle:hover {
    background: rgba(255, 255, 255, 0.14);
    color: #f8f9fa;
}

.erp-balance-net {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0.05rem;
    flex: 0 0 auto;
    min-width: 0;
    padding: 0 0.85rem;
    border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.erp-balance-value {
    font-size: 1rem;
    font-weight: 500;
    color: #f8f9fa;
    font-variant-numeric: tabular-nums;
    line-height: 1.15;
    white-space: nowrap;
}

.erp-balance-meta {
    font-size: 0.75rem;
    font-weight: 500;
    color: #868e96;
    font-variant-numeric: tabular-nums;
    line-height: 1.15;
    white-space: nowrap;
}

.erp-balance-split {
    display: flex;
    flex: 0 0 auto;
    min-width: 0;
    border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.erp-balance-cell {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0.15rem;
    padding: 0.7rem 1.1rem;
    min-width: 9rem;
}

.erp-balance-cell + .erp-balance-cell {
    border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.erp-balance-cell-value {
    font-size: 1.1rem;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
    letter-spacing: normal;
    word-spacing: 0.15em;
    line-height: 1.2;
    white-space: nowrap;
}

.erp-balance-cell-meta {
    font-size: 0.8rem;
    font-weight: 500;
    color: #adb5bd;
    letter-spacing: normal;
    word-spacing: 0.15em;
    line-height: 1.2;
    white-space: nowrap;
}

.erp-balance-cell.is-out .erp-balance-cell-value {
    color: #ff6b6b;
}

.erp-balance-cell.is-in .erp-balance-cell-value {
    color: #69db7c;
}

@media (max-width: 767.98px) {
    .erp-header-tools > .erp-balance,
    .erp-balance {
        max-width: 100%;
        overflow-x: auto;
    }
}

/* Tracker list cards — dark shell, white body, lift on hover */
.erp-track-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-width: 0;
    position: relative;
    z-index: 0;
    background: #212529;
    border: 1px solid #212529;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
    transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.erp-track-card:hover {
    z-index: 2;
    transform: translateY(-4px);
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.16);
}

.erp-track-card.is-menu-open,
.erp-track-card.is-menu-open:hover {
    z-index: 80;
    transform: none;
}

.erp-track-card.is-menu-open .erp-track-card-head {
    border-radius: calc(1rem - 1px) calc(1rem - 1px) 0 0;
}

.erp-track-card.is-menu-open .erp-track-card-foot {
    border-radius: 0 0 calc(1rem - 1px) calc(1rem - 1px);
}

.erp-track-card-head .erp-kebab-btn:hover,
.erp-track-card-head .erp-kebab-btn[aria-expanded="true"] {
    background: rgba(255, 255, 255, 0.1);
    color: #f8f9fa;
}

.erp-track-card-head {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
    flex-grow: 1;
    padding: 0.65rem 0.35rem 0.65rem 0.85rem;
    background: #212529;
    border-radius: calc(1rem - 1px) calc(1rem - 1px) 0 0;
}

.erp-track-card-copy {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.erp-track-card-title,
.erp-track-card-title:hover,
.erp-track-card-title:focus {
    font-size: 0.82rem;
    font-weight: 500;
    color: #f8f9fa;
    line-height: 1.25;
    text-decoration: none;
}

.erp-track-card-title.is-empty,
.erp-track-card-desc.is-empty {
    color: #adb5bd;
}

.erp-track-card-desc {
    font-size: 0.68rem;
    font-weight: 500;
    color: #adb5bd;
    line-height: 1.25;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.erp-track-card-mid {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem;
    padding: 0.55rem 0.75rem;
    background: #fff;
    border-top: 1px solid #f1f3f5;
    border-bottom: 1px solid #f1f3f5;
}

.erp-track-card-time {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.1rem;
    min-width: 0;
}

.erp-track-card-label {
    font-size: 0.62rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #868e96;
    line-height: 1.2;
}

.erp-track-card-value {
    font-size: 0.82rem;
    font-weight: 500;
    color: #212529;
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
}

.erp-track-card-chevron {
    font-size: 0.42rem;
    color: #adb5bd;
}

.erp-track-card-foot {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 0.75rem;
    background: #212529;
    border-radius: 0 0 calc(1rem - 1px) calc(1rem - 1px);
}

.erp-track-card-duration {
    font-size: 0.82rem;
    font-weight: 500;
    color: #f8f9fa;
    font-variant-numeric: tabular-nums;
}

/* Actions stay white fields — filters do not */
.erp-header a.btn-dark,
.erp-header a.btn-secondary,
.erp-header-actions .btn-dark,
.erp-header button.btn-dark:not([data-bs-toggle]):not(.erp-filter-toggle),
.erp-header form .btn-dark:not([data-bs-toggle]):not(.erp-filter-toggle) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.4rem;
    background: #fff !important;
    border: 1px solid #fff !important;
    color: #212529 !important;
    border-radius: 0.5rem !important;
    font-weight: 500;
    font-size: 0.88rem !important;
    line-height: 1 !important;
    height: 2.5rem;
    min-height: 2.5rem;
    padding: 0 1rem;
    box-shadow: none !important;
}

.erp-header a.btn-dark:hover,
.erp-header a.btn-dark:focus,
.erp-header a.btn-dark:focus-visible,
.erp-header a.btn-dark:active,
.erp-header a.btn-secondary:hover,
.erp-header a.btn-secondary:focus,
.erp-header a.btn-secondary:focus-visible,
.erp-header a.btn-secondary:active,
.erp-header-actions .btn-dark:hover,
.erp-header-actions .btn-dark:focus,
.erp-header-actions .btn-dark:focus-visible,
.erp-header-actions .btn-dark:active,
.erp-header button.btn-dark:not([data-bs-toggle]):not(.erp-filter-toggle):hover,
.erp-header button.btn-dark:not([data-bs-toggle]):not(.erp-filter-toggle):focus,
.erp-header button.btn-dark:not([data-bs-toggle]):not(.erp-filter-toggle):focus-visible,
.erp-header button.btn-dark:not([data-bs-toggle]):not(.erp-filter-toggle):active,
.erp-header form .btn-dark:not([data-bs-toggle]):not(.erp-filter-toggle):hover,
.erp-header form .btn-dark:not([data-bs-toggle]):not(.erp-filter-toggle):focus,
.erp-header form .btn-dark:not([data-bs-toggle]):not(.erp-filter-toggle):focus-visible,
.erp-header form .btn-dark:not([data-bs-toggle]):not(.erp-filter-toggle):active {
    background: #f8f9fa !important;
    border-color: #f8f9fa !important;
    color: #212529 !important;
}

.erp-header a.btn-dark .text-white,
.erp-header a.btn-dark span,
.erp-header a.btn-dark i,
.erp-header a.btn-dark .bi,
.erp-header-actions .btn-dark span,
.erp-header-actions .btn-dark i,
.erp-header-actions .btn-dark .bi,
.erp-header button.btn-dark span,
.erp-header button.btn-dark i,
.erp-header button.btn-dark .bi {
    display: inline-flex !important;
    align-items: center !important;
    color: #212529 !important;
    font-size: 0.88rem !important;
    line-height: 1 !important;
    height: auto;
    margin: 0;
    padding: 0;
    transform: none;
    letter-spacing: normal;
    word-spacing: 0.1em;
}

.erp-header a.btn-dark i,
.erp-header a.btn-dark .bi,
.erp-header-actions .btn-dark i,
.erp-header-actions .btn-dark .bi,
.erp-header button.btn-dark i,
.erp-header button.btn-dark .bi {
    width: 1em;
    height: 1em;
    font-size: 0.88rem !important;
}

.erp-header a.btn-dark i::before,
.erp-header a.btn-dark .bi::before,
.erp-header-actions .btn-dark i::before,
.erp-header-actions .btn-dark .bi::before,
.erp-header button.btn-dark i::before,
.erp-header button.btn-dark .bi::before {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

/* Toggle chips — ffr-filter on a hero */
.erp-header .erp-filter-toggle,
.erp-header .btn-dark:has(.bi-circle),
.erp-header .btn-dark:has(.bi-x-circle-fill),
.erp-header .btn-dark:has(.fa-circle),
.erp-header .btn-dark:has(.fa-xmark-circle),
.erp-header .btn-dark:has(.fa-circle-xmark) {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    color: #ced4da !important;
    border-radius: 0.5rem !important;
    min-height: 2.5rem;
    height: auto;
    align-self: stretch;
    padding: 0 0.8rem !important;
    font-size: 0.78rem !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
    width: auto !important;
}

.erp-header .erp-filter-toggle span,
.erp-header .erp-filter-toggle .text-white,
.erp-header .btn-dark:has(.bi-circle) span,
.erp-header .btn-dark:has(.bi-x-circle-fill) span {
    color: inherit !important;
    font-size: 0.78rem !important;
    line-height: 1.2 !important;
    letter-spacing: normal;
    word-spacing: 0.1em;
    text-transform: none !important;
}

.erp-header .erp-filter-toggle i,
.erp-header .erp-filter-toggle .bi,
.erp-header .btn-dark:has(.bi-circle) i,
.erp-header .btn-dark:has(.bi-x-circle-fill) i {
    color: inherit !important;
    font-size: 0.7rem !important;
    width: 0.75rem;
    height: 0.75rem;
}

.erp-header .erp-filter-toggle:hover,
.erp-header .btn-dark:has(.bi-circle):hover,
.erp-header .btn-dark:has(.bi-x-circle-fill):hover,
.erp-header .btn-dark:has(.fa-circle):hover,
.erp-header .btn-dark:has(.fa-xmark-circle):hover,
.erp-header .btn-dark:has(.fa-circle-xmark):hover {
    background: #343a40 !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
    color: #f8f9fa !important;
}

.erp-header .erp-filter-toggle.is-on,
.erp-header .erp-filter-toggle[data-value="true"],
.erp-header .btn-dark:has(.bi-x-circle-fill),
.erp-header .btn-dark:has(.fa-xmark-circle),
.erp-header .btn-dark:has(.fa-circle-xmark) {
    background: #343a40 !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
    color: #f8f9fa !important;
}

.erp-header .erp-filter-toggle.is-on:hover,
.erp-header .erp-filter-toggle[data-value="true"]:hover,
.erp-header .btn-dark:has(.bi-x-circle-fill):hover,
.erp-header .btn-dark:has(.fa-xmark-circle):hover,
.erp-header .btn-dark:has(.fa-circle-xmark):hover {
    background: #495057 !important;
    border-color: rgba(255, 255, 255, 0.28) !important;
    color: #f8f9fa !important;
}

/* Segmented radios — ffr-filters track */
.erp-header .btn-group {
    display: inline-flex;
    align-items: stretch;
    height: 2.5rem;
    min-height: 2.5rem;
    padding: 3px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 0.65rem;
    overflow: hidden;
}

.erp-header .btn-group .btn,
.erp-header .btn-outline-dark {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0.5rem !important;
    color: #ced4da !important;
    min-height: 0;
    height: 100%;
    padding: 0 0.75rem !important;
    font-size: 0.75rem !important;
}

.erp-header .btn-group .btn:hover,
.erp-header .btn-outline-dark:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #f8f9fa !important;
}

.erp-header .btn-check:checked + .btn,
.erp-header .btn-check:checked + .btn-outline-dark,
.erp-header .btn-outline-dark.active {
    background: #fff !important;
    border-color: #fff !important;
    color: #212529 !important;
}

.erp-header .erp-stat,
.erp-header .bg-dark.rounded,
.erp-header .bg-dark.rounded-lg,
.erp-header .bg-dark.rounded-xl,
.erp-header .bg-dark.border-dark {
    background: #fff !important;
    border-color: #fff !important;
    color: #212529 !important;
    box-shadow: none;
}

.erp-header .erp-stat-label,
.erp-header .erp-stat .text-gray-400,
.erp-header .erp-stat .text-gray-300,
.erp-header .bg-dark.rounded .text-gray-400,
.erp-header .bg-dark.rounded-lg .text-gray-400,
.erp-header .bg-dark.rounded-xl .text-gray-400,
.erp-header .bg-dark.rounded-lg .text-gray-300 {
    color: #868e96 !important;
}

.erp-header .erp-stat-value,
.erp-header .erp-stat .text-white,
.erp-header .bg-dark.rounded .text-white,
.erp-header .bg-dark.rounded-lg .text-white,
.erp-header .bg-dark.rounded-xl .text-white,
.erp-header .bg-dark.rounded-lg .text-gray-200,
.erp-header .bg-dark.rounded-xl .text-gray-200 {
    color: #212529 !important;
}

.erp-header .erp-stat-divider,
.erp-header .bg-dark > .bg-gray-500 {
    background: #e9ecef !important;
}

.erp-header .erp-stat-chip {
    background: #212529 !important;
    color: #f8f9fa !important;
}

.erp-header .js-wcc-searchable-dropdown > button.btn {
    min-height: 2.5rem;
    font-size: 0.82rem;
}

.erp-header .erp-stat-value,
.erp-header .erp-stat .text-white {
    font-size: 0.82rem !important;
    color: #212529 !important;
}

.erp-header .erp-stat-label {
    font-size: 0.62rem !important;
}

.erp-header .text-gray-400 {
    color: #adb5bd;
}

/* Light form fields — drawers, cards, profile, page forms. Dark chrome keeps its own rules. */

input.form-control:not([type="file"]):not(.no-border),
textarea.form-control:not(.no-border),
select.form-control:not(.no-border),
.form-select {
    appearance: none;
    -webkit-appearance: none;
    min-height: 2.35rem;
    padding: 0.45rem 0.75rem;
    border: 1px solid #dee2e6;
    border-radius: 0.4rem;
    background-color: #fff;
    color: #212529;
    font-size: 0.85rem;
    font-weight: 500;
    line-height: 1.3;
    box-shadow: none;
}

select.form-control:not(.no-border),
.form-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23495057' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 0.7rem;
    padding-right: 2rem;
}

textarea.form-control:not(.no-border) {
    min-height: 6rem;
    height: auto;
}

input.form-control:not([type="file"]):not(.no-border)::placeholder,
textarea.form-control:not(.no-border)::placeholder {
    color: #adb5bd;
    font-weight: 500;
}

input.form-control:not([type="file"]):not(.no-border):focus,
textarea.form-control:not(.no-border):focus,
select.form-control:not(.no-border):focus,
.form-select:focus {
    border: 1px solid #212529 !important;
    box-shadow: none !important;
}

.input-group {
    --bs-border-radius: 0.4rem;
}

.input-group-text {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    color: #6c757d;
    font-size: 0.85rem;
    font-weight: 500;
}

/* Nested chrome search — wrapper is the field. Kill UA/Tailwind inner textfield. */
input[type="search"] {
    -webkit-appearance: none;
    appearance: none;
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
    -webkit-appearance: none;
}

.erp-header .input-group input.form-control,
.erp-header .input-group input.form-control:focus,
.ffr-field > input.ffr-field-input,
.ffr-hero input.ffr-field-input,
.pm-search-input,
.pc-list-search input {
    -webkit-appearance: none !important;
    appearance: none !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto;
    min-height: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    outline-offset: 0;
}

.dropdown-menu input.form-control,
.dropdown-menu input[type="search"],
.js-wcc-searchable-dropdown [data-wcc-selector-search].form-control {
    -webkit-appearance: none !important;
    appearance: none !important;
    outline-offset: 0;
}

/* Buttons — same language as ffr-btn / dropdown triggers */

.btn:not(.btn-close):not(.btn-link):not(.erp-tt-btn):not(.erp-icon-btn):not(.erp-action-btn):not(.ttm-month-stepper-nav):not(.erp-filter-toggle):not([data-bs-toggle="dropdown"]):not(.erp-btn-circle) {
    --bs-btn-border-radius: 0.5rem;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.35rem;
    border-radius: 0.5rem !important;
    font-weight: 500;
    font-size: 0.75rem !important;
    line-height: 1 !important;
    min-height: 1.85rem;
    padding: 0.2rem 0.75rem;
    box-shadow: none !important;
}

.btn-sm:not(.btn-close):not(.btn-link):not(.erp-btn-circle) {
    --bs-btn-border-radius: 0.5rem;
    border-radius: 0.5rem !important;
    font-size: 0.68rem !important;
    min-height: 1.55rem;
    padding: 0.15rem 0.6rem;
}

/* Dark chrome header actions — white + dark text */
.ffr-hero .ffr-btn:not(.is-danger),
.erp-header .ffr-btn:not(.is-danger),
.erp-header .btn-light,
.ffr-panel-header .ffr-btn:not(.is-danger),
.card-header .btn-light,
.card-header .ffr-btn:not(.is-danger),
.hrm-view-panel-head .ffr-btn:not(.is-danger) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    background: #fff;
    border: 1px solid #fff;
    color: #212529;
    text-decoration: none;
}

.ffr-hero .ffr-btn:not(.is-danger):hover,
.ffr-hero .ffr-btn:not(.is-danger):focus,
.erp-header .ffr-btn:not(.is-danger):hover,
.erp-header .ffr-btn:not(.is-danger):focus,
.erp-header .btn-light:hover,
.erp-header .btn-light:focus,
.ffr-panel-header .ffr-btn:not(.is-danger):hover,
.ffr-panel-header .ffr-btn:not(.is-danger):focus,
.card-header .btn-light:hover,
.card-header .btn-light:focus,
.card-header .ffr-btn:not(.is-danger):hover,
.card-header .ffr-btn:not(.is-danger):focus,
.hrm-view-panel-head .ffr-btn:not(.is-danger):hover,
.hrm-view-panel-head .ffr-btn:not(.is-danger):focus {
    background: #f8f9fa;
    border-color: #f8f9fa;
    color: #212529;
}

.ffr-panel-header .ffr-btn-sm,
.card-header .ffr-btn-sm,
.hrm-view-panel-head .ffr-btn-sm {
    height: 1.85rem;
    min-height: 1.85rem;
    padding: 0 0.7rem;
    border-radius: 0.5rem;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
}

.ffr-panel-header .ffr-btn-sm i,
.card-header .ffr-btn-sm i,
.hrm-view-panel-head .ffr-btn-sm i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 0.8rem;
    height: 0.8rem;
    font-size: 0.8rem;
    line-height: 1;
}

.ffr-panel-header .ffr-btn-sm i::before,
.card-header .ffr-btn-sm i::before,
.hrm-view-panel-head .ffr-btn-sm i::before {
    display: block;
    line-height: 1;
}

#download-button,
#download-all-invoices-button,
.erp-btn-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.45rem;
    font-size: 0.9rem !important;
    line-height: 1 !important;
    height: 2.5rem;
    min-height: 2.5rem;
    padding: 0 1rem;
}

#download-button i,
#download-all-invoices-button i,
.erp-btn-action i,
.erp-btn-action .bi,
.erp-btn-action span:not(.erp-spinner) {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 0.9rem !important;
    line-height: 1 !important;
}

#download-button i,
#download-all-invoices-button i,
.erp-btn-action i,
.erp-btn-action .bi {
    width: 1em;
    height: 1em;
}

.btn i:not(.d-none):not(.spinner-border):not(.hidden):not(.dropdown-toggle):not(.erp-spinner),
.btn .bi:not(.d-none):not(.hidden) {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 1em !important;
    line-height: 1 !important;
    width: 1em;
    height: 1em;
}

.btn i:not(.dropdown-toggle)::before,
.btn .bi::before {
    display: block;
    line-height: 1;
    font-size: inherit;
}

.btn.btn-sm:not(.btn-close):not(.btn-link):has(> i:only-child),
.btn.btn-sm:not(.btn-close):not(.btn-link):has(> .bi:only-child),
.erp-btn-circle {
    display: inline-grid !important;
    place-items: center !important;
    width: 1.45rem !important;
    height: 1.45rem !important;
    min-width: 1.45rem !important;
    min-height: 1.45rem !important;
    max-width: 1.45rem !important;
    max-height: 1.45rem !important;
    padding: 0 !important;
    aspect-ratio: 1 !important;
    flex: 0 0 1.45rem;
    border-radius: 999px !important;
    line-height: 0 !important;
}

a.btn.btn-sm:has(> i):not(.erp-btn-circle),
button.btn.btn-sm:has(> i):has(span):not(.erp-btn-circle) {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 1.55rem !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    flex: 0 0 auto;
    padding: 0.15rem 0.6rem !important;
    border-radius: 0.5rem !important;
}

.erp-btn-circle i,
.erp-btn-circle .bi,
.btn.btn-sm.erp-btn-circle i,
.btn.btn-sm:has(> i:only-child) i,
.btn.btn-sm:has(> .bi:only-child) .bi {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem !important;
    width: 1em !important;
    height: 1em !important;
    margin: 0 !important;
    line-height: 1 !important;
    overflow: visible !important;
    color: inherit !important;
    transform: none;
}

.erp-btn-circle i::before,
.erp-btn-circle .bi::before,
.btn.btn-sm:has(> i:only-child) i::before,
.btn.btn-sm:has(> .bi:only-child) .bi::before {
    display: block !important;
    line-height: 1 !important;
    font-size: inherit !important;
}

.card-header .btn-light,
.card-header .erp-btn-circle.btn-light {
    color: #212529 !important;
}

.card-header .btn-light i,
.card-header .btn-light .bi,
.card-header .erp-btn-circle i,
.card-header .erp-btn-circle .bi {
    color: #212529 !important;
    font-size: 0.75rem !important;
    width: 1em !important;
    height: 1em !important;
    overflow: visible !important;
}

.erp-stepper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.2rem;
    padding: 0.15rem 0.2rem;
    border-radius: 0.5rem;
    min-height: 2.25rem;
}

.erp-stepper-label {
    flex: 1 1 auto;
    min-width: 0;
    display: block;
    margin: 0;
    padding: 0.15rem 0.35rem;
    background: transparent;
    border: 0;
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    pointer-events: none;
    cursor: default;
}

.erp-stepper > .btn.erp-btn-circle,
.erp-stepper > .btn:has(> i:only-child) {
    background: transparent !important;
    border-color: transparent !important;
}

.card-header .erp-stepper,
.erp-header .erp-stepper,
.yo-card__header .erp-stepper {
    margin: 0.5rem;
    background: #fff;
}

.erp-header .erp-stepper {
    margin: 0;
    width: 100%;
}

.yo-card__header .erp-stepper {
    margin: 0;
    min-width: 8.5rem;
}

.card-header .erp-stepper > .btn.erp-btn-circle,
.card-header .erp-stepper > .btn:has(> i:only-child),
.erp-header .erp-stepper > .btn.erp-btn-circle,
.erp-header .erp-stepper > .btn:has(> i:only-child),
.yo-card__header .erp-stepper > .btn.erp-btn-circle,
.yo-card__header .erp-stepper > .btn:has(> i:only-child) {
    background: transparent !important;
    border-color: transparent !important;
    color: #212529 !important;
}

.card-header .erp-stepper-label,
.erp-header .erp-stepper-label,
.yo-card__header .erp-stepper-label {
    color: #212529 !important;
}

.erp-header .erp-stepper .spinner-border,
.card-header .erp-stepper .spinner-border {
    color: #212529 !important;
    width: 1rem;
    height: 1rem;
    border-width: 0.15em;
}

.btn.rounded-0 {
    border-radius: 0 !important;
}

.btn.rounded-pill {
    border-radius: 0.5rem !important;
}

.btn.rounded-circle,
.btn.w-8,
.members-count-btn-dec,
.members-count-btn-inc {
    border-radius: 999px !important;
}

.btn-dark:not([data-bs-toggle="dropdown"]),
.btn-primary:not([data-bs-toggle="dropdown"]),
.btn-secondary:not([data-bs-toggle="dropdown"]),
.btn.bg-dark:not([data-bs-toggle="dropdown"]) {
    background: #212529 !important;
    border-color: #212529 !important;
    color: #f8f9fa !important;
}

.btn-dark:not([data-bs-toggle="dropdown"]):hover,
.btn-dark:not([data-bs-toggle="dropdown"]):focus,
.btn-dark:not([data-bs-toggle="dropdown"]):focus-visible,
.btn-primary:not([data-bs-toggle="dropdown"]):hover,
.btn-primary:not([data-bs-toggle="dropdown"]):focus,
.btn-secondary:not([data-bs-toggle="dropdown"]):hover,
.btn-secondary:not([data-bs-toggle="dropdown"]):focus,
.btn.bg-dark:not([data-bs-toggle="dropdown"]):hover {
    background: #343a40 !important;
    border-color: #343a40 !important;
    color: #f8f9fa !important;
}

.btn-light,
.btn-outline-dark,
.btn-outline-secondary,
.btn-outline-light {
    background: #fff !important;
    border-color: #e9ecef !important;
    color: #212529 !important;
}

.btn-light:hover,
.btn-light:focus,
.btn-outline-dark:hover,
.btn-outline-secondary:hover,
.btn-outline-light:hover {
    background: #f8f9fa !important;
    border-color: #ced4da !important;
    color: #212529 !important;
}

.btn-danger {
    background: #dc3545 !important;
    border-color: #dc3545 !important;
    color: #fff !important;
}

.btn-danger:hover,
.btn-danger:focus {
    background: #bb2d3b !important;
    border-color: #bb2d3b !important;
    color: #fff !important;
}

.btn-success {
    background: #198754 !important;
    border-color: #198754 !important;
    color: #fff !important;
}

.btn-success:hover,
.btn-success:focus {
    background: #157347 !important;
    border-color: #157347 !important;
    color: #fff !important;
}

.btn-warning {
    background: #ffc107 !important;
    border-color: #ffc107 !important;
    color: #212529 !important;
}

.btn-group {
    gap: 0.3rem;
}

.btn-group > .btn {
    border-radius: 0.5rem !important;
}

.btn-group > .btn.active,
.btn-check:checked + .btn,
.btn-outline-dark.active,
.btn-outline-secondary.active {
    background: #212529 !important;
    border-color: #212529 !important;
    color: #f8f9fa !important;
}

/* Light segmented control — exclusive options (frequency, type, theme). Not in dark chrome. */
.erp-segment,
.wcc-segment,
.ffr-segment,
.do-segment,
.btn-group.btn-group-toggle {
    --segment-n: 2;
    --segment-i: 0;
    --segment-pad: 2px;
    --segment-gap: 2px;
    --segment-btn-h: 2.15rem;
    position: relative;
    isolation: isolate;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: var(--segment-gap);
    width: 100%;
    height: calc(var(--segment-btn-h) + (2 * var(--segment-pad)));
    padding: var(--segment-pad);
    overflow: hidden;
    background: #f1f3f5;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: none;
    line-height: 1;
    box-sizing: border-box;
}

.erp-segment > .btn-check,
.wcc-segment > .btn-check,
.do-segment > .btn-check,
.btn-group.btn-group-toggle > .btn-check {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    border: 0 !important;
    appearance: none !important;
    pointer-events: none;
}

.erp-segment:has(.btn-check:nth-of-type(2)):not(:has(.btn-check:nth-of-type(3))),
.wcc-segment:has(.btn-check:nth-of-type(2)):not(:has(.btn-check:nth-of-type(3))),
.do-segment:has(.btn-check:nth-of-type(2)):not(:has(.btn-check:nth-of-type(3))),
.ffr-segment:has(.ffr-segment-btn:nth-child(2)):not(:has(.ffr-segment-btn:nth-child(3))) {
    --segment-n: 2;
}

.erp-segment:has(.btn-check:nth-of-type(3)):not(:has(.btn-check:nth-of-type(4))),
.wcc-segment:has(.btn-check:nth-of-type(3)):not(:has(.btn-check:nth-of-type(4))),
.do-segment:has(.btn-check:nth-of-type(3)):not(:has(.btn-check:nth-of-type(4))),
.ffr-segment:has(.ffr-segment-btn:nth-child(3)):not(:has(.ffr-segment-btn:nth-child(4))) {
    --segment-n: 3;
}

.erp-segment:has(.btn-check:nth-of-type(4)):not(:has(.btn-check:nth-of-type(5))),
.wcc-segment:has(.btn-check:nth-of-type(4)):not(:has(.btn-check:nth-of-type(5))),
.do-segment:has(.btn-check:nth-of-type(4)):not(:has(.btn-check:nth-of-type(5))) {
    --segment-n: 4;
}

.erp-segment:has(.btn-check:nth-of-type(5)):not(:has(.btn-check:nth-of-type(6))),
.wcc-segment:has(.btn-check:nth-of-type(5)):not(:has(.btn-check:nth-of-type(6))),
.do-segment:has(.btn-check:nth-of-type(5)):not(:has(.btn-check:nth-of-type(6))) {
    --segment-n: 5;
}

.erp-segment:has(.btn-check:nth-of-type(6)):not(:has(.btn-check:nth-of-type(7))),
.wcc-segment:has(.btn-check:nth-of-type(6)):not(:has(.btn-check:nth-of-type(7))),
.do-segment:has(.btn-check:nth-of-type(6)):not(:has(.btn-check:nth-of-type(7))) {
    --segment-n: 6;
}

.erp-segment:has(.btn-check:nth-of-type(1):checked),
.wcc-segment:has(.btn-check:nth-of-type(1):checked),
.do-segment:has(.btn-check:nth-of-type(1):checked),
.ffr-segment:has(.ffr-segment-btn:nth-child(1).is-on) {
    --segment-i: 0;
}

.erp-segment:has(.btn-check:nth-of-type(2):checked),
.wcc-segment:has(.btn-check:nth-of-type(2):checked),
.do-segment:has(.btn-check:nth-of-type(2):checked),
.ffr-segment:has(.ffr-segment-btn:nth-child(2).is-on) {
    --segment-i: 1;
}

.erp-segment:has(.btn-check:nth-of-type(3):checked),
.wcc-segment:has(.btn-check:nth-of-type(3):checked),
.do-segment:has(.btn-check:nth-of-type(3):checked),
.ffr-segment:has(.ffr-segment-btn:nth-child(3).is-on) {
    --segment-i: 2;
}

.erp-segment:has(.btn-check:nth-of-type(4):checked),
.wcc-segment:has(.btn-check:nth-of-type(4):checked),
.do-segment:has(.btn-check:nth-of-type(4):checked) {
    --segment-i: 3;
}

.erp-segment:has(.btn-check:nth-of-type(5):checked),
.wcc-segment:has(.btn-check:nth-of-type(5):checked),
.do-segment:has(.btn-check:nth-of-type(5):checked) {
    --segment-i: 4;
}

.erp-segment:has(.btn-check:nth-of-type(6):checked),
.wcc-segment:has(.btn-check:nth-of-type(6):checked),
.do-segment:has(.btn-check:nth-of-type(6):checked) {
    --segment-i: 5;
}

.erp-segment::before,
.wcc-segment::before,
.ffr-segment:not(.is-areas)::before,
.do-segment::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: var(--segment-pad);
    right: auto;
    bottom: auto;
    left: calc(
        var(--segment-pad)
        + (
            var(--segment-i)
            * (
                (
                    (100% - (2 * var(--segment-pad)) - ((var(--segment-n) - 1) * var(--segment-gap)))
                    / var(--segment-n)
                )
                + var(--segment-gap)
            )
        )
    );
    width: calc(
        (100% - (2 * var(--segment-pad)) - ((var(--segment-n) - 1) * var(--segment-gap)))
        / var(--segment-n)
    );
    height: var(--segment-btn-h);
    box-sizing: border-box;
    background: #fff;
    border-radius: 0.4rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    pointer-events: none;
    transform: none;
    transition: left 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.erp-segment-btn,
.wcc-segment-btn,
.ffr-segment-btn,
.do-segment-btn,
.btn-group.btn-group-toggle > .btn,
.btn-group.btn-group-toggle > .btn-outline-dark,
.btn-group.btn-group-toggle > .btn-outline-secondary {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    flex: 1 1 0;
    min-width: 0;
    min-height: var(--segment-btn-h);
    height: var(--segment-btn-h);
    margin: 0;
    padding: 0 0.75rem;
    overflow: hidden;
    box-sizing: border-box;
    border: 0 !important;
    border-radius: 0.4rem !important;
    background: transparent !important;
    color: #6c757d !important;
    font-size: 0.85rem;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    letter-spacing: normal;
    word-spacing: 0.1em;
    text-transform: none;
    box-shadow: none !important;
    cursor: pointer;
    transition: color 0.2s ease;
}

.erp-segment-btn i,
.wcc-segment-btn i,
.ffr-segment-btn i,
.do-segment-btn i {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    margin: 0;
    overflow: hidden;
    font-size: 0.85rem;
    line-height: 1 !important;
}

.erp-segment-btn i::before,
.wcc-segment-btn i::before,
.do-segment-btn i::before,
.ffr-segment:not(.is-areas) .ffr-segment-btn i::before {
    display: block !important;
    width: 1em;
    height: 1em;
    line-height: 1 !important;
}

.ffr-segment-btn i::before {
    display: block !important;
    line-height: 1 !important;
}

.erp-segment-btn > span,
.wcc-segment-btn > span,
.ffr-segment-btn > span,
.do-segment-btn > span {
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

.erp-segment-btn:hover,
.wcc-segment-btn:hover,
.ffr-segment-btn:hover,
.do-segment-btn:hover,
.btn-group.btn-group-toggle > .btn:hover {
    color: #212529 !important;
    background: transparent !important;
}

.erp-segment .btn-check:checked + .erp-segment-btn,
.wcc-segment .btn-check:checked + .wcc-segment-btn,
.do-segment .btn-check:checked + .do-segment-btn,
.ffr-segment:not(.is-areas) .ffr-segment-btn.is-on {
    background: transparent !important;
    border-color: transparent !important;
    color: #212529 !important;
    box-shadow: none !important;
}

.btn-group.btn-group-toggle .btn-check:checked + .btn,
.btn-group.btn-group-toggle .btn-check:checked + .btn-outline-dark,
.btn-group.btn-group-toggle > .btn.active {
    background: #fff !important;
    border-color: transparent !important;
    color: #212529 !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.1) !important;
}

.ffr-segment.is-areas::before {
    content: none;
}

.ffr-segment.is-areas .ffr-segment-btn.is-on {
    background: #fff !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.1) !important;
    transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

@media (prefers-reduced-motion: reduce) {
    .erp-segment::before,
    .wcc-segment::before,
    .ffr-segment:not(.is-areas)::before,
    .do-segment::before {
        transition: none;
    }
}

.ffr-segment {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.ffr-segment.is-areas {
    height: auto;
    overflow: visible;
    align-items: stretch;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-radius: 0.85rem;
}

.ffr-segment.is-areas .ffr-segment-btn {
    min-height: 3.25rem;
    height: auto;
    flex-direction: column;
    gap: 0.25rem;
    border-radius: 0.7rem !important;
    font-size: 0.8rem;
    padding: 0.35rem 0.5rem;
    line-height: 1.2;
}

.erp-header .btn-group,
.erp-header .btn-group.btn-group-toggle,
.ffr-hero .btn-group,
.ffr-hero .btn-group.btn-group-toggle,
.card-header .btn-group,
.card-header .btn-group.btn-group-toggle,
.navbar .btn-group {
    display: inline-flex;
    width: auto;
    height: 2.5rem;
    min-height: 2.5rem;
    padding: 3px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 0.65rem;
}

.erp-header .btn-group .btn,
.erp-header .btn-group.btn-group-toggle > .btn,
.ffr-hero .btn-group .btn,
.card-header .btn-group .btn {
    min-height: 0;
    height: 100%;
    padding: 0 0.75rem !important;
    border-radius: 0.5rem !important;
    background: transparent !important;
    color: #ced4da !important;
    font-size: 0.75rem !important;
}

.erp-header .btn-check:checked + .btn,
.erp-header .btn-group.btn-group-toggle .btn-check:checked + .btn,
.ffr-hero .btn-group .btn-check:checked + .btn,
.card-header .btn-group .btn-check:checked + .btn {
    background: #fff !important;
    color: #212529 !important;
}

.card-header .btn-danger,
.ffr-hero .btn-danger,
.erp-header .btn-danger {
    background: #dc3545 !important;
    border-color: #dc3545 !important;
    color: #fff !important;
}

.card-header .btn-danger:hover,
.card-header .btn-danger:focus,
.card-header .btn-danger:focus-visible,
.card-header .btn-danger:active,
.ffr-hero .btn-danger:hover,
.erp-header .btn-danger:hover {
    background: #bb2d3b !important;
    border-color: #bb2d3b !important;
    color: #fff !important;
}

.card-header .btn-danger i,
.card-header .btn-danger span,
.card-header .btn-danger .bi {
    color: #fff !important;
}

.card-header .btn-dark,
.card-header .btn-secondary,
.card-header .btn-primary,
.card-header .btn.bg-dark,
.card-header .btn-light,
.card-header .btn-outline-dark,
.ffr-hero .btn-dark,
.ffr-hero button.btn-dark,
.ffr-hero .btn-secondary,
.ffr-hero .btn-primary,
.ffr-hero .btn.bg-dark,
.erp-header .btn.bg-dark {
    background: #fff !important;
    border-color: #fff !important;
    color: #212529 !important;
}

.card-header .btn-dark:hover,
.card-header .btn-dark:focus,
.card-header .btn-dark:focus-visible,
.card-header .btn-dark:active,
.card-header .btn-secondary:hover,
.card-header .btn-secondary:focus,
.card-header .btn-secondary:focus-visible,
.card-header .btn-secondary:active,
.card-header .btn-primary:hover,
.card-header .btn-primary:focus,
.card-header .btn-primary:focus-visible,
.card-header .btn-primary:active,
.card-header .btn-light:hover,
.card-header .btn-light:focus,
.card-header .btn-light:focus-visible,
.card-header .btn.bg-dark:hover,
.card-header .btn.bg-dark:focus,
.card-header .btn.bg-dark:focus-visible,
.ffr-hero .btn-dark:hover,
.ffr-hero .btn-dark:focus,
.ffr-hero .btn-dark:focus-visible,
.ffr-hero .btn-dark:active,
.ffr-hero button.btn-dark:hover,
.ffr-hero button.btn-dark:focus,
.ffr-hero button.btn-dark:focus-visible,
.ffr-hero button.btn-dark:active,
.erp-header .btn.bg-dark:hover,
.erp-header .btn.bg-dark:focus,
.erp-header .btn.bg-dark:focus-visible,
.erp-header .btn.bg-dark:active {
    background: #f8f9fa !important;
    border-color: #f8f9fa !important;
    color: #212529 !important;
}

.card-header .erp-stepper > .btn.erp-btn-circle,
.card-header .erp-stepper > .btn.btn-light.erp-btn-circle,
.card-header .erp-stepper > .btn:has(> i:only-child),
.erp-header .erp-stepper > .btn.erp-btn-circle,
.erp-header .erp-stepper > .btn.btn-light.erp-btn-circle,
.erp-header .erp-stepper > .btn:has(> i:only-child),
.yo-card__header .erp-stepper > .btn.erp-btn-circle,
.yo-card__header .erp-stepper > .btn.btn-light.erp-btn-circle,
.yo-card__header .erp-stepper > .btn:has(> i:only-child) {
    background: transparent !important;
    border-color: transparent !important;
    color: #212529 !important;
}

.card-header .erp-stepper > .btn.erp-btn-circle i,
.card-header .erp-stepper > .btn.erp-btn-circle .bi,
.erp-header .erp-stepper > .btn.erp-btn-circle i,
.erp-header .erp-stepper > .btn.erp-btn-circle .bi,
.yo-card__header .erp-stepper > .btn.erp-btn-circle i,
.yo-card__header .erp-stepper > .btn.erp-btn-circle .bi {
    color: #212529 !important;
}

.card-header .erp-stepper > .btn.erp-btn-circle:hover,
.card-header .erp-stepper > .btn.btn-light.erp-btn-circle:hover,
.card-header .erp-stepper > .btn:has(> i:only-child):hover,
.erp-header .erp-stepper > .btn.erp-btn-circle:hover,
.erp-header .erp-stepper > .btn.btn-light.erp-btn-circle:hover,
.erp-header .erp-stepper > .btn:has(> i:only-child):hover,
.yo-card__header .erp-stepper > .btn.erp-btn-circle:hover,
.yo-card__header .erp-stepper > .btn.btn-light.erp-btn-circle:hover,
.yo-card__header .erp-stepper > .btn:has(> i:only-child):hover {
    background: #f1f3f5 !important;
    border-color: #f1f3f5 !important;
    color: #212529 !important;
}

.erp-header .btn-outline-dark.active,
.erp-header .btn-check:checked + .btn-outline-dark,
.card-header .btn-outline-dark.active,
.ffr-hero .btn-outline-dark.active {
    background: #fff !important;
    border-color: #fff !important;
    color: #212529 !important;
}

.modal-footer .btn-secondary,
.erp-question-modal .erp-overlay-btn--ghost,
.erp-question-modal .btn-secondary {
    background: #fff !important;
    border-color: #dee2e6 !important;
    color: #495057 !important;
}

.modal-footer .btn-secondary:hover,
.erp-question-modal .btn-secondary:hover {
    background: #f8f9fa !important;
    border-color: #adb5bd !important;
    color: #212529 !important;
}

.modal-footer .btn-primary,
.modal-footer .btn-light,
.erp-question-modal .erp-overlay-btn.btn-primary,
.erp-question-modal .erp-overlay-btn.btn-light {
    background: #212529 !important;
    border-color: #212529 !important;
    color: #fff !important;
}

.modal-footer .btn-primary:hover,
.modal-footer .btn-light:hover,
.erp-question-modal .erp-overlay-btn.btn-primary:hover,
.erp-question-modal .erp-overlay-btn.btn-light:hover {
    background: #343a40 !important;
    border-color: #343a40 !important;
    color: #fff !important;
}

/* Pagination — same as Flame list pagers */

.erp-pagination,
.ffr-pagination,
.pc-pagination {
    padding: 0.75rem 0 0;
    background: transparent;
    border: 0;
}

.card-footer.erp-pagination,
.card-footer:has(.ffr-pager) {
    padding: 0.75rem 0.95rem 0;
    background: transparent;
    border-top: 0;
}

.ffr-pager {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
}

.ffr-pager-meta {
    margin: 0;
    font-size: 0.8rem;
    font-weight: 600;
    color: #868e96;
}

.ffr-pager-pages {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem;
}

.ffr-pager-btn,
.pagination .page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.15rem;
    height: 2.15rem;
    padding: 0 0.55rem;
    border: 1px solid #dee2e6;
    border-radius: 0.65rem;
    background: #fff;
    color: #495057;
    font-size: 0.85rem;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    box-shadow: none;
}

.ffr-pager-btn:hover,
.pagination .page-link:hover {
    background: #f8f9fa;
    border-color: #adb5bd;
    color: #212529;
}

.ffr-pager-btn.is-on,
.pagination .page-item.active .page-link {
    background: #212529;
    border-color: #212529;
    color: #fff;
}

.ffr-pager-btn.is-on:hover,
.pagination .page-item.active .page-link:hover {
    background: #212529;
    border-color: #212529;
    color: #fff;
}

.ffr-pager-btn.is-disabled,
.pagination .page-item.disabled .page-link {
    color: #ced4da;
    border-color: #e9ecef;
    background: #fff;
    pointer-events: none;
}

.ffr-pager-btn i {
    font-size: 0.65rem;
}

.ffr-pager-ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.5rem;
    color: #adb5bd;
    font-size: 0.85rem;
    font-weight: 500;
}

.pagination {
    --bs-pagination-padding-x: 0;
    --bs-pagination-padding-y: 0;
    --bs-pagination-border-width: 0;
    gap: 0.3rem;
    margin: 0;
}

/* Personal TTM day timeline */

.erp-timeline {
    border: 1px solid #dee2e6;
    border-radius: 1rem;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.erp-timeline-axis,
.erp-timeline-track {
    display: flex;
    width: 100%;
}

.erp-timeline-axis {
    background: #212529;
}

.erp-timeline-hour,
.erp-timeline-hour-ticks {
    flex: 1 1 0;
    min-width: 0;
}

.erp-timeline-hour {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 1.65rem;
    padding: 0 0.1rem;
}

.erp-timeline-label {
    font-size: 0.62rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #f8f9fa;
    line-height: 1;
}

.erp-timeline-hour-ticks {
    display: flex;
    align-items: stretch;
    min-height: 1.75rem;
}

.erp-timeline-tick {
    flex: 1 1 0;
    min-width: 0;
}

.erp-timeline-tick.is-empty {
    background: #f1f3f5;
}

.erp-timeline-tick.is-closed {
    background: #198754;
}

.erp-timeline-tick.is-current {
    background: #ffc107;
}

.erp-timeline-tick[data-bs-toggle="tooltip"] {
    cursor: pointer;
}

.erp-timeline-hour-ticks + .erp-timeline-hour-ticks {
    box-shadow: inset 1px 0 0 #e9ecef;
}

/* Loading — hidden spinners must not paint or animate */
.d-none.spinner-border,
.spinner-border.d-none,
.hidden.spinner-border,
.d-none .spinner-border,
.hidden .spinner-border,
.btn i.d-none,
.btn i.spinner-border.d-none,
.btn .spinner-border.d-none {
    display: none !important;
    animation: none !important;
}

.erp-spinner {
    display: none !important;
    width: 0.85rem;
    height: 0.85rem;
    border: 1.5px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    flex-shrink: 0;
    animation: none !important;
}

.is-busy > .erp-spinner,
.is-busy .erp-spinner,
.erp-spinner.is-active {
    display: inline-block !important;
    animation: erp-spin 0.7s linear infinite !important;
}

.btn.is-busy,
a.is-busy {
    pointer-events: none;
    opacity: 0.72;
}

.erp-busy {
    position: relative;
    pointer-events: none;
    min-height: 6rem;
}

.erp-busy::after {
    content: "";
    position: absolute;
    inset: 0;
    background: transparent;
    border-radius: inherit;
    z-index: 2;
}

.erp-busy::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.15rem;
    height: 1.15rem;
    margin: -0.575rem 0 0 -0.575rem;
    border: 1.5px solid #212529;
    border-right-color: transparent;
    border-radius: 50%;
    z-index: 3;
    animation: erp-spin 0.7s linear infinite;
}

@keyframes erp-spin {
    to {
        transform: rotate(360deg);
    }
}

/* Status labels vs quota meters — do not share danger-pink */
.erp-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    min-height: 1.45rem;
    padding: 0.12rem 0.5rem;
    border-radius: 0.3rem;
    font-size: 0.68rem;
    font-weight: 500;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    line-height: 1;
    white-space: nowrap;
}

.erp-status.is-blocked {
    background: #212529;
    color: #f8f9fa;
}

.erp-status.is-deleted {
    background: #e9ecef;
    color: #495057;
}

.erp-status.is-active {
    background: #fff;
    color: #212529;
}

.erp-status.is-inactive {
    background: #495057;
    color: #f8f9fa;
}

.erp-quota {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.2rem;
    min-width: 6.5rem;
}

.erp-quota-year {
    font-size: 0.62rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #868e96;
    line-height: 1.2;
}

.erp-quota-bar {
    display: flex;
    width: 100%;
    overflow: hidden;
    border: 1px solid #dee2e6;
    border-radius: 0.5rem;
    background: #fff;
}

.erp-quota-cell {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.12rem;
    min-height: 1.55rem;
    padding: 0.25rem 0.35rem;
    font-size: 0.78rem;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
    line-height: 1;
    cursor: default;
}

.erp-quota-label {
    font-size: 0.58rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1;
    opacity: 0.72;
}

.erp-quota-cell + .erp-quota-cell {
    border-left: 1px solid #dee2e6;
}

.erp-quota-cell.is-total {
    background: #f1f3f5;
    color: #495057;
}

.erp-quota-cell.is-used {
    background: #fff3cd;
    color: #856404;
}

.erp-quota-cell.is-left {
    background: #d1e7dd;
    color: #0f5132;
}

.btn:not(.btn-close):not(.btn-link) > span:not(.erp-spinner),
.erp-btn-action > span:not(.erp-spinner),
.erp-header a.btn-dark > span,
.erp-tab > span,
.dropdown-item > span:not(.d-flex) {
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

.btn:not(.btn-close):not(.btn-link) i:not(.dropdown-toggle):not(.erp-spinner):not(.spinner-border),
.btn:not(.btn-close):not(.btn-link) .bi,
.erp-tab i,
.dropdown-item > i,
.erp-btn-action i,
.erp-header a.btn-dark i,
.erp-kebab-btn i {
    position: static;
    top: auto;
}

.btn:not(.btn-close):not(.btn-link) i:not(.dropdown-toggle)::before,
.btn:not(.btn-close):not(.btn-link) .bi::before,
.erp-tab i::before,
.dropdown-item > i::before,
.erp-kebab-btn i::before {
    display: block;
    line-height: 1;
    position: static;
    top: auto;
}

.fpm-share-head {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.85rem;
}

.fpm-share-head-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem 1rem;
}

.fpm-share-head .btn,
.fpm-share-head .ffr-btn,
.fpm-share-head .ffr-btn-sm {
    height: 1.85rem;
    min-height: 1.85rem;
}

.fpm-revenue-share {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(22rem, 1fr));
    gap: 0.75rem;
    padding: 1rem;
    align-items: start;
    background: #f8f9fa;
}

.fpm-revenue-share-row {
    display: grid;
    grid-template-columns: minmax(12rem, 1fr) 6.75rem;
    gap: 0.65rem;
    align-items: center;
    min-width: 0;
    padding: 0.85rem;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 0.75rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.fpm-revenue-share-row:has(.fpm-revenue-share-remove) {
    grid-template-columns: minmax(12rem, 1fr) 6.75rem auto;
}

.fpm-revenue-share-row .js-wcc-searchable-dropdown,
.fpm-revenue-share-row .js-wcc-searchable-dropdown > button.btn {
    min-height: 2.75rem;
    height: auto;
}

.fpm-revenue-share-row .js-wcc-searchable-dropdown > button.btn {
    padding: 0.55rem 0.95rem;
    overflow: visible;
}

.fpm-revenue-share-row .js-wcc-searchable-dropdown > button > div {
    min-width: 0;
    overflow: hidden;
}

.fpm-revenue-share-row .js-wcc-searchable-dropdown [data-wcc-selector-label] {
    font-size: 0.9rem;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fpm-revenue-share-row .js-wcc-searchable-dropdown [data-wcc-selector-subtitle] {
    max-width: 100%;
    font-size: 0.72rem;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fpm-revenue-share-row .input-group,
.fpm-revenue-share-row .input-group .form-control,
.fpm-revenue-share-row .input-group .input-group-text {
    height: 2.75rem;
    min-height: 2.75rem;
}

.fpm-revenue-share-row .fpm-revenue-share-remove {
    align-self: center;
    justify-self: center;
    width: 2rem !important;
    height: 2rem !important;
    min-width: 2rem !important;
    min-height: 2rem !important;
    max-width: 2rem !important;
    max-height: 2rem !important;
    flex: 0 0 2rem;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #adb5bd !important;
}

.fpm-revenue-share-row .fpm-revenue-share-remove i {
    width: 0.85rem !important;
    height: 0.85rem !important;
    font-size: 0.85rem !important;
    color: inherit !important;
}

.fpm-revenue-share-row .fpm-revenue-share-remove:hover,
.fpm-revenue-share-row .fpm-revenue-share-remove:focus-visible {
    background: rgba(220, 53, 69, 0.1) !important;
    color: #dc3545 !important;
}
