/* IMS_Demo module — extends TV Commercial Booking shell */

.tvc-ims-demo-module {
    --tvc-ims-accent: #10b981;
    --tvc-ims-accent-soft: rgba(16, 185, 129, 0.15);
}

.tvc-ims-demo-module .tvc-booking-subnav__brand {
    color: #6ee7b7;
}

.tvc-ims-demo-module .tvc-booking-subnav__link.active {
    background: var(--tvc-ims-accent-soft);
    color: #ecfdf5;
}

.tvc-ims-demo-subnav__soon {
    opacity: 0.72;
    cursor: default;
}

.tvc-ims-demo-kpi__label {
    font-size: 0.82rem;
    color: var(--tvc-bk-muted, #94a3b8);
    margin-bottom: 0.35rem;
}

.tvc-ims-demo-kpi__value {
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.1;
    color: #f8fafc;
}

.tvc-ims-demo-table thead th {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #94a3b8;
    border-bottom-color: #334155;
}

.tvc-ims-demo-nav-card {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-height: 100%;
    padding: 0.9rem 1rem;
    border: 1px solid #334155;
    border-radius: 0.5rem;
    background: #1e293b;
    color: inherit;
    text-decoration: none;
}

.tvc-ims-demo-nav-card--link:hover {
    border-color: var(--tvc-ims-accent);
    background: rgba(16, 185, 129, 0.08);
    color: inherit;
}

.tvc-ims-demo-nav-card--soon {
    opacity: 0.85;
}

.tvc-ims-demo-nav-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.45rem;
    background: var(--tvc-ims-accent-soft);
    color: #6ee7b7;
    flex-shrink: 0;
}

.tvc-ims-demo-nav-card h2,
.tvc-ims-demo-nav-card h3 {
    color: #f8fafc;
}

.tvc-ims-dashboard-section-title {
    letter-spacing: 0.04em;
    font-size: 0.72rem;
}

.tvc-ims-analytics-chart-card .card-header {
    font-size: 0.82rem;
}

.tvc-ims-analytics-chart-wrap {
    min-height: 16rem;
    height: 16rem;
}

.tvc-ims-analytics-chart-wrap canvas {
    width: 100% !important;
    height: 100% !important;
}

.tvc-ims-sales-analytics .tvc-booking-chart-empty {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    text-align: center;
    color: #94a3b8;
    font-size: 0.875rem;
}

@media (min-width: 992px) {
    .tvc-ims-analytics-chart-wrap {
        min-height: 18rem;
        height: 18rem;
    }
}

.tvc-ims-analysis-card {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    width: 100%;
    min-height: 5.5rem;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 0.75rem;
    background: linear-gradient(180deg, rgba(51, 65, 85, 0.55) 0%, rgba(15, 23, 42, 0.95) 100%);
    color: #e2e8f0;
    text-align: left;
    transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.tvc-ims-analysis-card:hover,
.tvc-ims-analysis-card:focus {
    border-color: rgba(102, 179, 255, 0.55);
    box-shadow: 0 0 0 1px rgba(102, 179, 255, 0.25);
    transform: translateY(-1px);
    color: #f8fafc;
}

.tvc-ims-analysis-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.65rem;
    background: rgba(102, 179, 255, 0.14);
    color: #93c5fd;
    flex-shrink: 0;
    font-size: 1.15rem;
}

.tvc-ims-analysis-card__body {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.tvc-ims-analysis-card__body strong {
    font-size: 0.92rem;
    font-weight: 600;
}

.tvc-ims-analysis-card__body span {
    font-size: 0.78rem;
    color: #94a3b8;
    line-height: 1.35;
}

.tvc-ims-analysis-card__arrow {
    margin-left: auto;
    color: #64748b;
    font-size: 1.35rem;
    flex-shrink: 0;
}

.tvc-ims-health-kpi {
    border-width: 1px;
    border-style: solid;
}

.tvc-ims-health-kpi--healthy {
    border-color: rgba(16, 185, 129, 0.45);
    background: linear-gradient(180deg, rgba(16, 185, 129, 0.1) 0%, rgba(30, 41, 59, 1) 100%);
}

.tvc-ims-health-kpi--attention {
    border-color: rgba(245, 158, 11, 0.45);
    background: linear-gradient(180deg, rgba(245, 158, 11, 0.12) 0%, rgba(30, 41, 59, 1) 100%);
}

.tvc-ims-health-kpi--closed {
    border-color: rgba(148, 163, 184, 0.35);
    background: linear-gradient(180deg, rgba(148, 163, 184, 0.08) 0%, rgba(30, 41, 59, 1) 100%);
}

.tvc-ims-health-badge {
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    white-space: nowrap;
}

.tvc-ims-health-badge--healthy {
    background: rgba(16, 185, 129, 0.2);
    color: #6ee7b7;
}

.tvc-ims-health-badge--attention {
    background: rgba(245, 158, 11, 0.2);
    color: #fcd34d;
}

.tvc-ims-health-badge--closed {
    background: rgba(148, 163, 184, 0.18);
    color: #cbd5e1;
}

@media (max-width: 991.98px) {
    .tvc-ims-demo-kpi__value {
        font-size: 1.45rem;
    }
}

/* Sales Invoice — ERP entry UX (Phase 3A.5) */
.tvc-ims-invoice-header.card {
    margin-bottom: 0.45rem !important;
}

.tvc-ims-invoice-header .card-header {
    padding-top: 0.3rem;
    padding-bottom: 0.3rem;
}

.tvc-ims-invoice-header .card-body,
.tvc-ims-invoice-lines .card-header {
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
}

.tvc-ims-invoice-header .card-body {
    padding-left: 0.65rem;
    padding-right: 0.65rem;
}

.tvc-ims-invoice-header .row {
    --bs-gutter-x: 0.45rem;
    --bs-gutter-y: 0.4rem;
}

.tvc-ims-invoice-header .form-label {
    margin-bottom: 0.12rem;
    font-size: 0.78rem;
    line-height: 1.15;
}

.tvc-ims-invoice-header .form-control-sm,
.tvc-ims-invoice-header .form-select-sm {
    height: 2.3125rem;
    min-height: 2.3125rem;
    padding: 0.2rem 0.45rem;
    font-size: 0.8125rem;
    line-height: 1.25;
}

.tvc-ims-invoice-header #customerAddress {
    height: 2.45rem;
    min-height: 2.45rem;
    max-height: 2.45rem;
    padding: 0.2rem 0.45rem;
    line-height: 1.2;
    resize: none;
    overflow-y: auto;
}

.tvc-ims-invoice-header .tvc-ims-invoice-vat-rate {
    height: 2.3125rem;
    min-height: 2.3125rem;
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
}

.tvc-ims-invoice-header .tvc-ims-invoice-commercial-profile {
    min-height: 2rem;
    max-height: 2.35rem;
    padding: 0.25rem 0.5rem;
    gap: 0.4rem;
}

.tvc-ims-invoice-header .tvc-ims-invoice-commercial-profile__item {
    padding: 0.12rem 0.45rem;
    font-size: 0.74rem;
}

.tvc-ims-invoice-grid-scroll {
    min-height: 20rem;
    max-height: 26rem;
    overflow-y: auto;
}

.tvc-ims-invoice-grid-scroll thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #1e293b;
}

.tvc-ims-invoice-grid .line-no {
    width: 3rem;
    text-align: center;
    color: #94a3b8;
    font-weight: 600;
}

.tvc-ims-invoice-grid .col-amount {
    min-width: 7rem;
    white-space: nowrap;
}

.tvc-ims-invoice-readonly {
    background-color: rgba(15, 23, 42, 0.45) !important;
    color: #cbd5e1;
    cursor: default;
}

.tvc-ims-item-lookup {
    position: relative;
}

.tvc-ims-item-suggest {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    z-index: 20;
    margin-top: 2px;
    max-height: 12rem;
    overflow-y: auto;
    background: #1e293b;
    border: 1px solid #334155;
    border-radius: 0.35rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

.tvc-ims-item-suggest__option {
    display: block;
    width: 100%;
    padding: 0.4rem 0.55rem;
    border: 0;
    background: transparent;
    color: #e2e8f0;
    text-align: left;
    font-size: 0.82rem;
}

.tvc-ims-item-suggest__option:hover,
.tvc-ims-item-suggest__option.is-active {
    background: rgba(16, 185, 129, 0.15);
    color: #ecfdf5;
}

.tvc-ims-item-lookup-modal-scroll {
    max-height: 18rem;
}

.tvc-ims-item-lookup-row {
    cursor: pointer;
}

.tvc-ims-item-lookup-row:hover {
    background: rgba(16, 185, 129, 0.12) !important;
}

.tvc-ims-invoice-summary {
    background: rgba(15, 23, 42, 0.55);
    border-top: 1px solid #334155;
}

.tvc-ims-invoice-summary__layout {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem 1rem;
}

.tvc-ims-invoice-summary__metrics {
    flex: 1 1 16rem;
    min-width: 0;
}

.tvc-ims-invoice-summary__metrics > .row {
    align-items: center;
}

.tvc-ims-invoice-summary__metric-label {
    display: block;
    margin-bottom: 0.15rem;
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: #94a3b8;
}

.tvc-ims-invoice-summary__metric-value {
    display: block;
    font-size: 0.98rem;
    font-weight: 600;
    color: #e2e8f0;
    line-height: 1.25;
}

.tvc-ims-invoice-summary__grand-total-wrap {
    flex: 0 0 auto;
    margin-left: auto;
    display: flex;
    align-items: center;
    align-self: center;
}

.tvc-ims-invoice-grand-total-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 17.5rem;
    min-width: 16.25rem;
    max-width: 18.75rem;
    padding: 0.4rem 0.85rem;
    border-radius: 0.5rem;
    border: 1px solid rgba(109, 76, 255, 0.35);
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.12), 0 1px 3px rgba(109, 76, 255, 0.1);
    text-align: right;
}

.tvc-ims-invoice-grand-total-card__label {
    display: block;
    margin-bottom: 0.1rem;
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #6d4cff;
    white-space: nowrap;
}

.tvc-ims-invoice-grand-total-card__value {
    display: block;
    font-size: clamp(1.25rem, 1.15rem + 0.35vw, 1.6rem);
    font-weight: 700;
    line-height: 1.15;
    color: #6d4cff;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

@media (max-width: 991.98px) {
    .tvc-ims-invoice-grand-total-card__value {
        font-size: clamp(1.15rem, 1.05rem + 0.45vw, 1.45rem);
    }
}

@media (max-width: 767.98px) {
    .tvc-ims-invoice-summary__layout {
        flex-direction: column;
        align-items: stretch;
    }

    .tvc-ims-invoice-summary__grand-total-wrap {
        width: 100%;
        margin-left: 0;
        order: 2;
        justify-content: center;
    }

    .tvc-ims-invoice-grand-total-card {
        width: min(100%, 18.75rem);
        min-width: 16.25rem;
        max-width: 18.75rem;
        text-align: center;
    }

    .tvc-ims-invoice-grand-total-card__value {
        font-size: clamp(1.1rem, 4.5vw, 1.4rem);
    }

    .tvc-ims-invoice-summary--detail-footer .tvc-ims-invoice-summary__grand-total-wrap {
        order: -1;
    }

    .tvc-ims-invoice-summary--detail-footer .tvc-ims-invoice-summary__metrics {
        order: 1;
    }
}

.tvc-ims-sales-history-detail-content {
    display: flex;
    flex-direction: column;
}

.tvc-ims-sales-history-detail #salesHistoryDetailLinesWrap {
    flex: 1 1 auto;
    max-height: min(28rem, 45vh);
    overflow: auto;
}

.tvc-ims-invoice-summary--detail-footer {
    flex: 0 0 auto;
    position: sticky;
    bottom: 0;
    z-index: 2;
    margin-top: 0.75rem;
    padding-top: 0.85rem;
    padding-bottom: 0.15rem;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0) 0%, rgba(15, 23, 42, 0.92) 16%, rgba(15, 23, 42, 0.98) 100%);
}

.tvc-ims-invoice-grid input.form-control,
.tvc-ims-invoice-grid select.form-select {
    min-width: 0;
}

.tvc-ims-invoice-grid .price-cell {
    min-width: 8.5rem;
    vertical-align: top;
}

.tvc-ims-invoice-grid .col-price.is-price-missing {
    border-color: #fbbf24 !important;
    box-shadow: 0 0 0 0.15rem rgba(251, 191, 36, 0.25);
    background-color: rgba(120, 53, 15, 0.28) !important;
    color: #fef3c7;
}

.tvc-ims-invoice-price-warning {
    margin-top: 0.25rem;
    color: #fcd34d;
    font-size: 0.72rem;
    line-height: 1.25;
}

.tvc-ims-invoice-mode-banner {
    border-color: rgba(251, 191, 36, 0.35);
    background: rgba(120, 53, 15, 0.25);
    color: #fde68a;
}

.tvc-ims-invoice-top-bar {
    width: 100%;
}

.tvc-ims-invoice-top-bar__actions {
    flex: 0 0 auto;
}

.tvc-ims-invoice-record-nav {
    flex: 1 1 auto;
    min-width: 0;
}

.tvc-ims-invoice-record-nav__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 0.5rem;
    max-width: 42rem;
}

.tvc-ims-invoice-record-nav__btn {
    min-width: 6.75rem;
    border-color: #475569;
    color: #e2e8f0;
    white-space: nowrap;
}

.tvc-ims-invoice-record-nav__btn:first-child {
    justify-self: start;
}

.tvc-ims-invoice-record-nav__btn:last-child {
    justify-self: end;
}

.tvc-ims-invoice-record-nav__btn:hover:not(:disabled),
.tvc-ims-invoice-record-nav__btn:focus:not(:disabled) {
    border-color: #6ee7b7;
    color: #f8fafc;
    background: rgba(16, 185, 129, 0.12);
}

.tvc-ims-invoice-record-nav__btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.tvc-ims-invoice-record-nav__back {
    justify-self: center;
    border-color: #475569;
    color: #cbd5e1;
    white-space: nowrap;
}

.tvc-ims-invoice-record-nav__back:hover,
.tvc-ims-invoice-record-nav__back:focus {
    border-color: #94a3b8;
    color: #f8fafc;
    background: rgba(148, 163, 184, 0.12);
}

@media (max-width: 767.98px) {
    .tvc-ims-invoice-record-nav {
        width: 100%;
    }

    .tvc-ims-invoice-record-nav__inner {
        max-width: none;
        grid-template-columns: 1fr;
        justify-items: stretch;
    }

    .tvc-ims-invoice-record-nav__btn,
    .tvc-ims-invoice-record-nav__back {
        justify-self: stretch;
        width: 100%;
    }
}

.tvc-ims-invoice-vat-rate-field .form-label {
    color: #c4b5fd;
    font-weight: 600;
}

.tvc-ims-invoice-vat-rate {
    background-color: #ffffff !important;
    color: #6d28d9 !important;
    font-weight: 700;
    text-align: center;
    border: 1px solid #a78bfa !important;
    box-shadow: 0 0 0 0.12rem rgba(109, 40, 217, 0.12);
}

.tvc-ims-invoice-vat-rate:focus {
    background-color: #ffffff !important;
    color: #5b21b6 !important;
    border-color: #7c3aed !important;
    box-shadow: 0 0 0 0.2rem rgba(109, 40, 217, 0.28) !important;
}

.tvc-ims-invoice-vat-rate:read-only {
    background-color: #f8fafc !important;
    color: #6d28d9 !important;
    opacity: 1;
}

.tvc-ims-invoice-vat-rate.is-invalid {
    border-color: #f87171 !important;
    box-shadow: 0 0 0 0.15rem rgba(248, 113, 113, 0.25) !important;
}

/* Sales Invoice — Phase 4A save simulation */
.tvc-ims-invoice-validation {
    border-color: rgba(248, 113, 113, 0.45);
    background: rgba(127, 29, 29, 0.25);
    color: #fecaca;
}

.tvc-ims-invoice-preview-table .tvc-ims-invoice-preview-label {
    width: 11rem;
    color: #94a3b8;
    font-weight: 600;
    white-space: nowrap;
    vertical-align: middle;
}

.tvc-ims-invoice-preview-modal .modal-content {
    background: #1e293b;
}

.tvc-ims-invoice-readiness {
    border-color: rgba(52, 211, 153, 0.35);
    background: rgba(6, 78, 59, 0.35);
    color: #d1fae5;
}

/* Master summary cards (Phase ERP-Polish-1) */
.tvc-ims-master-summary .card-body {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.tvc-ims-master-summary strong {
    font-size: 1.05rem;
    color: #f8fafc;
}

/* Master maintenance split layout (Phase CM-1 / IM-1) */
.tvc-ims-customer-split {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.tvc-ims-customer-workspace {
    display: grid;
    grid-template-columns: minmax(0, 32fr) minmax(0, 35fr) minmax(0, 33fr);
    gap: 1rem;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.tvc-ims-customer-workspace-panel {
    min-width: 0;
    height: 100%;
}

.tvc-ims-customer-workspace-panel > .card {
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 15.5rem);
    height: 100%;
    overflow: hidden;
}

.tvc-ims-customer-workspace-panel__body {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.tvc-ims-customer-workspace-scroll,
.tvc-ims-customer-profile-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
}

.tvc-ims-customer-workspace-panel__heading {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.tvc-ims-customer-workspace-panel__title {
    font-size: 1rem;
    font-weight: 700;
    color: #f8fafc;
    line-height: 1.25;
}

.tvc-ims-customer-workspace-panel__subtitle {
    font-size: 0.78rem;
    color: #94a3b8;
    line-height: 1.35;
}

.tvc-ims-customer-profile-header {
    margin-top: 0.35rem;
}

.tvc-ims-customer-profile-card .card-header {
    padding-top: 0.65rem;
    padding-bottom: 0.65rem;
}

.tvc-ims-customer-profile-fields {
    border-bottom: none;
}

/* Item Master — 70% grid / 30% pricing panel (grid + min-width:0 prevents table blowout) */
.tvc-ims-demo-module .tvc-ims-item-master-layout,
.tvc-ims-demo-module .tvc-ims-item-split {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
    column-gap: 1rem;
    align-items: start;
    width: 100%;
}

.tvc-ims-item-grid-panel,
.tvc-ims-item-detail-panel {
    flex: none;
    max-width: none;
    width: auto;
    min-width: 0;
}

.tvc-ims-item-grid-panel {
    grid-column: 1;
}

.tvc-ims-item-detail-panel {
    grid-column: 2;
    position: sticky;
    top: 1rem;
    align-self: start;
}

/* Price Lists — executive summary KPI strip */
.tvc-ims-price-executive-summary {
    padding: 0.85rem 1rem 0.95rem;
    border-radius: 0.55rem;
    border: 1px solid rgba(110, 231, 183, 0.35);
    border-left: 4px solid #6ee7b7;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.1) 0%, rgba(15, 23, 42, 0.92) 100%);
}

.tvc-ims-price-executive-summary__head {
    margin-bottom: 0.65rem;
}

.tvc-ims-price-executive-summary__title {
    color: #ffffff;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.tvc-ims-price-executive-kpi-row {
    margin-bottom: 0.75rem;
}

.tvc-ims-price-executive-kpi-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 6.5rem;
    padding: 0.7rem 0.8rem;
    border-radius: 0.5rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(15, 23, 42, 0.55);
}

.tvc-ims-price-executive-kpi-card__label {
    display: block;
    margin-bottom: 0.25rem;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.tvc-ims-price-executive-kpi-card__value {
    display: block;
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.15;
    color: #f8fafc;
    font-variant-numeric: tabular-nums;
}

.tvc-ims-price-executive-kpi-card__hint {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.72rem;
    line-height: 1.4;
    color: #b8c4d4;
}

.tvc-ims-price-executive-kpi-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-top: 0.35rem;
}

.tvc-ims-price-executive-kpi-card__meta .tvc-ims-price-list-badge {
    font-size: 0.62rem;
    padding: 0.12rem 0.35rem;
}

.tvc-ims-price-executive-summary__caption {
    color: #d7dee8;
    line-height: 1.55;
}

.tvc-ims-price-executive-summary__impact {
    padding: 0.55rem 0.7rem;
    border-radius: 0.45rem;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: rgba(15, 23, 42, 0.45);
}

.tvc-ims-price-executive-summary__impact-label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #93c5fd;
}

.tvc-ims-price-executive-summary__impact-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.85rem;
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
    color: #cbd5e1;
}

.tvc-ims-price-executive-summary__impact-list li {
    position: relative;
    padding-left: 0.85rem;
}

.tvc-ims-price-executive-summary__impact-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #6ee7b7;
    font-weight: 700;
}

/* Price Lists — 40% summary / 60% matrix detail */
.tvc-ims-demo-module .tvc-ims-price-list-layout {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    column-gap: 1rem;
    align-items: start;
    width: 100%;
}

.tvc-ims-price-list-grid-panel,
.tvc-ims-price-list-detail-panel {
    min-width: 0;
}

.tvc-ims-price-list-grid-panel {
    grid-column: 1;
}

.tvc-ims-price-list-left-stack {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-width: 0;
}

.tvc-ims-price-import-history .card-header {
    align-items: flex-start;
}

.tvc-ims-price-import-history__subtitle {
    margin-top: 0.15rem;
    font-size: 0.72rem;
    font-weight: 400;
    line-height: 1.45;
    color: #b8c4d4;
}

.tvc-ims-price-import-history-table {
    font-size: 0.76rem;
}

.tvc-ims-price-import-history-table thead th {
    background: #1f2c44;
    color: #fff;
    font-weight: 600;
    border-color: rgba(148, 163, 184, 0.25);
    white-space: nowrap;
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
}

.tvc-ims-price-import-history-table tbody td {
    border-color: rgba(148, 163, 184, 0.18);
    vertical-align: middle;
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
}

.tvc-ims-price-import-history-col-date {
    width: 6.5rem;
    white-space: nowrap;
}

.tvc-ims-price-import-history-col-file {
    min-width: 0;
    max-width: 11rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tvc-ims-price-import-history-col-action {
    width: 4.25rem;
}

.tvc-ims-price-import-history__view {
    font-size: 0.68rem;
    line-height: 1.2;
}

.tvc-ims-price-import-history-note {
    margin: 0.75rem;
    padding: 0.75rem 0.85rem;
    border-radius: 0.5rem;
    border: 1px solid rgba(110, 231, 183, 0.45);
    border-left: 4px solid #6ee7b7;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.12) 0%, rgba(15, 23, 42, 0.9) 100%);
}

.tvc-ims-price-import-history-note__title {
    color: #a7f3d0;
    letter-spacing: 0.02em;
}

.tvc-ims-price-import-history-note__body {
    color: #d7dee8;
    line-height: 1.55;
}

.tvc-ims-price-import-history-note__list {
    margin-bottom: 0;
    padding-left: 1.1rem;
    color: #d7dee8;
}

.tvc-ims-price-import-history-note__list li + li {
    margin-top: 0.2rem;
}

.tvc-ims-price-import-history-note__impact-title {
    color: #a7f3d0;
    letter-spacing: 0.02em;
}

.tvc-ims-price-import-history-note__impact {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
    color: #d7dee8;
}

.tvc-ims-price-import-history-note__impact li {
    display: flex;
    align-items: flex-start;
    gap: 0.35rem;
    line-height: 1.5;
}

.tvc-ims-price-import-history-note__impact li + li {
    margin-top: 0.25rem;
}

.tvc-ims-price-import-history-note__impact .bi-check-circle-fill {
    flex: 0 0 auto;
    margin-top: 0.1rem;
    color: #6ee7b7;
}

.tvc-ims-import-status-badge {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.tvc-ims-import-status-badge--success {
    background-color: #198754 !important;
    color: #fff !important;
}

.tvc-ims-import-status-badge--partial {
    background-color: #ca8a04 !important;
    color: #111827 !important;
}

.tvc-ims-import-status-badge--failed {
    background-color: #dc3545 !important;
    color: #fff !important;
}

.tvc-ims-import-action-badge {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.tvc-ims-import-action-badge--insert {
    background-color: #198754 !important;
    color: #fff !important;
}

.tvc-ims-import-action-badge--update {
    background-color: #0d6efd !important;
    color: #fff !important;
}

.tvc-ims-import-action-badge--reject {
    background-color: #dc3545 !important;
    color: #fff !important;
}

.tvc-ims-import-history-modal .modal-content {
    border: 1px solid rgba(148, 163, 184, 0.25);
}

.tvc-ims-import-history-modal .modal-footer {
    border-top: 1px solid rgba(148, 163, 184, 0.2);
}

.tvc-ims-import-history-detail__field,
.tvc-ims-import-history-detail__metric {
    padding: 0.65rem 0.75rem;
    border-radius: 0.45rem;
    border: 1px solid rgba(148, 163, 184, 0.2);
    background: rgba(15, 23, 42, 0.45);
    min-height: 100%;
}

.tvc-ims-import-history-detail__label {
    display: block;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #94a3b8;
    margin-bottom: 0.2rem;
}

.tvc-ims-import-history-detail__value {
    display: block;
    color: #f8fafc;
    font-size: 0.84rem;
    line-height: 1.45;
    word-break: break-word;
}

.tvc-ims-import-history-detail__metric strong {
    display: block;
    color: #f8fafc;
    font-size: 0.95rem;
    font-variant-numeric: tabular-nums;
}

.tvc-ims-import-history-detail__section-title {
    color: #eef2f7;
    font-weight: 600;
}

.tvc-ims-import-history-modal-scroll {
    max-height: 16rem;
    overflow-y: auto;
}

.tvc-ims-import-history-modal-scroll code {
    color: #93c5fd;
    background: rgba(37, 99, 235, 0.12);
    padding: 0.1rem 0.35rem;
    border-radius: 0.25rem;
}

.tvc-ims-import-history-detail__audit {
    padding: 0.85rem 0.95rem;
    border-radius: 0.5rem;
    border: 1px solid rgba(110, 231, 183, 0.45);
    border-left: 4px solid #6ee7b7;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.12) 0%, rgba(15, 23, 42, 0.9) 100%);
}

.tvc-ims-import-history-detail__audit-lead {
    color: #eef2f7;
    line-height: 1.55;
}

.tvc-ims-import-history-detail__audit-list {
    margin-bottom: 0;
    padding-left: 1.1rem;
    color: #d7dee8;
}

.tvc-ims-import-history-detail__audit-list li + li {
    margin-top: 0.2rem;
}

.tvc-ims-price-resolution-section__title {
    color: #ffffff;
    font-weight: 700;
}

.tvc-ims-price-resolution-section__subtitle {
    margin: 0 0 0.75rem;
    font-size: 0.92rem;
    font-weight: 600;
    color: #eef2f7;
}

.tvc-ims-price-resolution-section__body {
    color: #d7dee8;
    line-height: 1.55;
}

.tvc-ims-price-resolution-section__block {
    padding-top: 0.15rem;
}

.tvc-ims-price-resolution-steps {
    display: grid;
    gap: 0.65rem;
}

.tvc-ims-price-resolution-step {
    padding: 0.75rem 0.85rem;
    border-radius: 0.5rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(15, 23, 42, 0.45);
}

.tvc-ims-price-resolution-step__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.45rem;
}

.tvc-ims-price-resolution-step__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 3.4rem;
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    background: rgba(16, 185, 129, 0.18);
    border: 1px solid rgba(110, 231, 183, 0.45);
    color: #a7f3d0;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.tvc-ims-price-resolution-step__label {
    color: #f8fafc;
    font-size: 0.82rem;
    font-weight: 600;
}

.tvc-ims-price-resolution-step__example {
    padding-left: 0.15rem;
}

.tvc-ims-price-resolution-step__stop {
    color: #6ee7b7;
}

.tvc-ims-price-resolution-step__list {
    margin-bottom: 0;
    padding-left: 1.1rem;
    color: #d7dee8;
}

.tvc-ims-price-resolution-step__list li + li {
    margin-top: 0.15rem;
}

.tvc-ims-price-resolution-path {
    padding: 0.85rem 0.95rem;
    border-radius: 0.55rem;
    border: 1px solid rgba(96, 165, 250, 0.35);
    background: rgba(15, 23, 42, 0.55);
}

.tvc-ims-price-resolution-path__label {
    color: #93c5fd;
    letter-spacing: 0.05em;
    font-weight: 600;
}

.tvc-ims-price-resolution-path__track {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.15rem;
}

.tvc-ims-price-resolution-path__step {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    padding: 0.45rem 0.65rem;
    border-radius: 0.4rem;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: rgba(15, 23, 42, 0.65);
    color: #cbd5e1;
    font-size: 0.78rem;
}

.tvc-ims-price-resolution-path__step strong {
    color: #f8fafc;
    font-variant-numeric: tabular-nums;
}

.tvc-ims-price-resolution-path__step em {
    color: #94a3b8;
    font-style: normal;
    font-size: 0.72rem;
}

.tvc-ims-price-resolution-path__step--active {
    border-color: rgba(110, 231, 183, 0.55);
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.22) 0%, rgba(15, 23, 42, 0.85) 100%);
    color: #ecfdf5;
    box-shadow: inset 0 0 0 1px rgba(110, 231, 183, 0.15);
}

.tvc-ims-price-resolution-path__step--final {
    border-color: rgba(251, 191, 36, 0.45);
    background: rgba(251, 191, 36, 0.1);
    color: #fde68a;
}

.tvc-ims-price-resolution-path__step--skipped {
    opacity: 0.72;
}

.tvc-ims-price-resolution-path__arrow {
    display: flex;
    justify-content: center;
    color: #64748b;
    line-height: 1;
}

.tvc-ims-price-resolution-flow {
    padding: 0.85rem 0.95rem;
    border-radius: 0.55rem;
    border: 1px solid rgba(110, 231, 183, 0.35);
    background: rgba(15, 23, 42, 0.55);
}

.tvc-ims-price-resolution-flow__label {
    color: #6ee7b7;
    letter-spacing: 0.05em;
    font-weight: 600;
}

.tvc-ims-price-resolution-flow__track {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.35rem;
}

.tvc-ims-price-resolution-flow__step {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0.55rem 0.65rem;
    border-radius: 0.4rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(15, 23, 42, 0.72);
    color: #cbd5e1;
    font-size: 0.76rem;
    font-weight: 600;
    text-align: center;
}

.tvc-ims-price-resolution-flow__step--active {
    border-color: rgba(110, 231, 183, 0.55);
    background: rgba(16, 185, 129, 0.16);
    color: #ecfdf5;
}

.tvc-ims-price-resolution-flow__step--final {
    border-color: rgba(251, 191, 36, 0.45);
    background: rgba(251, 191, 36, 0.12);
    color: #fde68a;
}

.tvc-ims-price-resolution-flow__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    font-size: 1.1rem;
    line-height: 1;
}

.tvc-ims-price-resolution-impact {
    padding: 0.85rem 0.95rem;
    border-radius: 0.5rem;
    border: 1px solid rgba(110, 231, 183, 0.45);
    border-left: 4px solid #6ee7b7;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.12) 0%, rgba(15, 23, 42, 0.9) 100%);
}

.tvc-ims-price-resolution-impact__list {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
    color: #eef2f7;
}

.tvc-ims-price-resolution-impact__list li {
    display: flex;
    align-items: flex-start;
    gap: 0.35rem;
    line-height: 1.5;
}

.tvc-ims-price-resolution-impact__list li + li {
    margin-top: 0.3rem;
}

.tvc-ims-price-resolution-impact__list .bi-check-circle-fill {
    flex: 0 0 auto;
    margin-top: 0.1rem;
    color: #6ee7b7;
}

.tvc-ims-price-resolution-thinking {
    padding: 0.9rem 1rem;
    border-radius: 0.5rem;
    border: 1px solid rgba(96, 165, 250, 0.4);
    border-left: 4px solid #60a5fa;
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.14) 0%, rgba(15, 23, 42, 0.92) 100%);
}

.tvc-ims-price-resolution-thinking__title {
    color: #bfdbfe;
    letter-spacing: 0.02em;
}

.tvc-ims-price-resolution-thinking__body {
    color: #dbeafe;
    line-height: 1.55;
}

.tvc-ims-price-resolution-thinking__list {
    margin-bottom: 0;
    padding-left: 1.1rem;
    color: #dbeafe;
}

.tvc-ims-price-resolution-thinking__list li + li {
    margin-top: 0.15rem;
}

@media (min-width: 768px) {
    .tvc-ims-price-resolution-flow__track {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 0.35rem;
    }

    .tvc-ims-price-resolution-flow__step {
        min-height: 3.1rem;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .tvc-ims-price-resolution-flow__arrow {
        flex: 0 0 auto;
    }
}

.tvc-ims-price-list-detail-panel {
    grid-column: 2;
    position: sticky;
    top: 1rem;
    align-self: start;
}

.tvc-ims-price-list-left-stack > .card,
.tvc-ims-price-list-detail-panel > .card,
.tvc-ims-price-list-grid-scroll,
.tvc-ims-price-list-matrix__body,
.tvc-ims-price-list-matrix-scroll {
    min-width: 0;
    max-width: 100%;
}

.tvc-ims-price-list-grid-scroll,
.tvc-ims-price-list-matrix-scroll {
    max-height: calc(100vh - 16rem);
    overflow-y: auto;
}

.tvc-ims-price-list-row {
    cursor: pointer;
}

.tvc-ims-price-list-row.is-selected {
    background-color: rgba(102, 179, 255, 0.12) !important;
}

.tvc-ims-price-list-matrix-header {
    font-weight: 600;
    color: #f8fafc;
}

.tvc-ims-price-list-matrix__body {
    min-height: 12rem;
}

.tvc-ims-price-list-matrix-col-date {
    width: 7.5rem;
    white-space: nowrap;
}

.tvc-ims-price-list-matrix-col-price {
    width: 7rem;
    white-space: nowrap;
}

.tvc-ims-price-list-matrix-col-status {
    width: 6.5rem;
}

.tvc-ims-item-grid-panel > .card,
.tvc-ims-item-detail-panel > .card,
.tvc-ims-item-grid-panel .card-body,
.tvc-ims-item-detail-panel .card-body,
.tvc-ims-item-grid-scroll,
.tvc-ims-item-pricing-matrix__body,
.tvc-ims-item-pricing-scroll {
    min-width: 0;
    max-width: 100%;
}

.tvc-ims-item-grid-panel > .card,
.tvc-ims-item-detail-panel > .card {
    width: 100%;
}

.tvc-ims-customer-grid-panel {
    flex: none;
    max-width: none;
    width: auto;
    min-width: 0;
}

.tvc-ims-customer-discount-panel,
.tvc-ims-customer-profile-panel {
    flex: none;
    max-width: none;
    width: auto;
    min-width: 0;
}

.tvc-ims-customer-detail-panel {
    flex: 0 0 calc(30% - 1rem);
    max-width: calc(30% - 1rem);
    position: sticky;
    top: 1rem;
    align-self: flex-start;
}

.tvc-ims-customer-grid-scroll {
    max-height: none;
}

.tvc-ims-item-grid-scroll {
    max-height: calc(100vh - 16rem);
    overflow-x: auto;
    overflow-y: auto;
}

.tvc-ims-customer-workspace .tvc-ims-customer-grid-scroll {
    overflow-y: auto;
    overflow-x: hidden;
}

.tvc-ims-customer-grid-scroll thead th,
.tvc-ims-item-grid-scroll thead th,
.tvc-ims-customer-panel-scroll .tvc-ims-customer-grid-scroll thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #1e293b;
}

#itemGrid {
    table-layout: fixed;
    width: 100%;
}

#itemGrid .tvc-ims-item-grid-col-code {
    width: 6.5rem;
    min-width: 6rem;
    white-space: nowrap;
}

#itemGrid .tvc-ims-item-grid-col-name {
    width: auto;
    min-width: 14rem;
}

#itemGrid td.tvc-ims-item-grid-col-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tvc-ims-customer-row,
.tvc-ims-item-row,
.tvc-ims-warehouse-row,
.tvc-ims-inventory-row {
    cursor: pointer;
}

/* Master grid — current row indicator (FoxPro-style) */
.tvc-ims-current-row-cell {
    width: 28px;
    min-width: 24px;
    max-width: 30px;
    padding-left: 0.35rem !important;
    padding-right: 0.35rem !important;
    text-align: center;
    vertical-align: middle;
}

.tvc-ims-current-row-indicator {
    display: inline-block;
    width: 1em;
    line-height: 1;
}

.tvc-ims-item-row.is-selected .tvc-ims-current-row-indicator::before,
.tvc-ims-customer-row.is-selected .tvc-ims-current-row-indicator::before,
.tvc-ims-warehouse-row.is-selected .tvc-ims-current-row-indicator::before,
.tvc-ims-price-list-row.is-selected .tvc-ims-current-row-indicator::before,
.tvc-ims-inventory-row.is-selected .tvc-ims-current-row-indicator::before {
    content: "\25B6";
    color: #facc15;
    font-weight: 700;
}

.tvc-ims-item-row.is-selected {
    background-color: rgba(59, 130, 246, 0.25) !important;
    box-shadow: inset 4px 0 0 #3b82f6;
}

.tvc-ims-item-row.is-selected td {
    font-weight: 700;
    color: #ffffff;
}

/* Customer Master — selected row (CM-2 final UX polish) */
.tvc-ims-customer-row.is-selected {
    background-color: rgba(59, 130, 246, 0.18) !important;
    box-shadow:
        inset 5px 0 0 #3b82f6,
        inset 0 1px 0 rgba(147, 197, 253, 0.2),
        inset 0 -1px 0 rgba(30, 64, 175, 0.25);
}

.tvc-ims-customer-row.is-selected td {
    font-weight: 700;
    color: #ffffff;
}

.tvc-ims-customer-row:hover:not(.is-selected) {
    background-color: rgba(59, 130, 246, 0.08) !important;
}

.tvc-ims-item-row:hover:not(.is-selected) {
    background-color: rgba(59, 130, 246, 0.08) !important;
}

.tvc-ims-item-row.is-selected:hover {
    background-color: rgba(59, 130, 246, 0.25) !important;
}

.tvc-ims-warehouse-row.is-selected {
    background-color: rgba(59, 130, 246, 0.25) !important;
    box-shadow: inset 4px 0 0 #3b82f6;
}

.tvc-ims-warehouse-row.is-selected td {
    font-weight: 700;
    color: #ffffff;
}

.tvc-ims-warehouse-row:hover:not(.is-selected) {
    background-color: rgba(59, 130, 246, 0.08) !important;
}

.tvc-ims-warehouse-row.is-selected:hover {
    background-color: rgba(59, 130, 246, 0.25) !important;
}

/* Sales History — compact operations layout */
.tvc-ims-demo-module:has(.tvc-ims-sales-history-page) .tvc-booking-page__head {
    margin-bottom: 0.35rem !important;
}

.tvc-ims-demo-module:has(.tvc-ims-sales-history-page) .tvc-booking-page__subtitle {
    font-size: 0.78rem;
    line-height: 1.35;
    max-width: 52rem;
}

.tvc-ims-sales-history-filter-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.5rem 0.65rem;
}

.tvc-ims-sales-history-filter-field {
    flex: 0 0 auto;
    min-width: 6.5rem;
}

.tvc-ims-sales-history-filter-field--doc {
    flex: 1 1 10rem;
    min-width: 9rem;
    max-width: 16rem;
}

.tvc-ims-sales-history-filter-label {
    display: block;
    margin-bottom: 0.15rem;
    font-size: 0.66rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.tvc-ims-sales-history-filter-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin-left: auto;
}

.tvc-ims-sales-history-kpi-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 4.5rem;
    padding: 0.55rem 0.7rem;
    border-radius: 0.45rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(15, 23, 42, 0.55);
}

.tvc-ims-sales-history-kpi-card__label {
    display: block;
    margin-bottom: 0.15rem;
    font-size: 0.66rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.tvc-ims-sales-history-kpi-card__value {
    display: block;
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.15;
    color: #f8fafc;
    font-variant-numeric: tabular-nums;
}

.tvc-ims-sales-history-control-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.tvc-ims-sales-history-control-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.22rem 0.55rem;
    border-radius: 999px;
    border: 1px solid rgba(96, 165, 250, 0.35);
    background: rgba(37, 99, 235, 0.1);
    color: #bfdbfe;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.tvc-ims-sales-history-master__title {
    font-size: 0.88rem;
    font-weight: 600;
    color: #f8fafc;
}

/* Sales History — master-detail (ERP pattern) */
.tvc-ims-sales-history-layout {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.tvc-ims-sales-history-master {
    margin-bottom: 0;
}

.tvc-ims-sales-history-grid-scroll {
    max-height: min(calc(100vh - 19.5rem), 34rem);
    overflow: auto;
}

@media (min-width: 1200px) {
    .tvc-ims-sales-history-grid-scroll {
        max-height: min(calc(100vh - 18rem), 36rem);
    }
}

@media (min-width: 1920px) {
    .tvc-ims-sales-history-grid-scroll {
        max-height: min(calc(100vh - 17rem), 40rem);
    }
}

.tvc-ims-sales-history-row {
    cursor: pointer;
}

.tvc-ims-sales-history-row.is-selected .tvc-ims-current-row-indicator::before {
    content: "\25B6";
    color: #facc15;
    font-weight: 700;
}

.tvc-ims-sales-history-row.is-selected {
    background-color: rgba(59, 130, 246, 0.22) !important;
    box-shadow:
        inset 5px 0 0 #3b82f6,
        inset 0 1px 0 rgba(147, 197, 253, 0.2),
        inset 0 -1px 0 rgba(30, 64, 175, 0.25);
}

.tvc-ims-sales-history-row.is-selected td {
    font-weight: 700;
    color: #ffffff;
}

.tvc-ims-sales-history-row:hover:not(.is-selected) {
    background-color: rgba(59, 130, 246, 0.08) !important;
}

.tvc-ims-sales-history-row.is-selected:hover {
    background-color: rgba(59, 130, 246, 0.22) !important;
}

.tvc-ims-sales-history-lock-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    font-size: 0.82rem;
    font-weight: 600;
    white-space: nowrap;
}

.tvc-ims-sales-history-lock-badge--locked {
    color: #fbbf24;
}

.tvc-ims-sales-history-lock-badge--open {
    color: #86efac;
}

.tvc-ims-sales-history-select-cell {
    width: 34px;
    min-width: 34px;
    max-width: 36px;
    text-align: center;
    vertical-align: middle;
}

.tvc-ims-sales-history-select-cell .form-check-input {
    margin: 0;
    float: none;
}

.tvc-ims-sales-history-bulk-toolbar {
    background: transparent;
}

.tvc-ims-sales-history-detail .card-body {
    min-height: 10rem;
    padding: 0.75rem;
}

.tvc-ims-sales-history-detail .card-header {
    padding-top: 0.45rem;
    padding-bottom: 0.45rem;
}

.tvc-ims-sales-history-detail--locked #salesHistoryDetailHeaderFields {
    opacity: 0.92;
}

.tvc-ims-sales-history-doc-header {
    padding: 0.8rem 0.9rem;
    border-radius: 0.45rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-bottom: 1px solid rgba(148, 163, 184, 0.32);
    background: linear-gradient(180deg, rgba(30, 41, 59, 0.55) 0%, rgba(15, 23, 42, 0.72) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.tvc-ims-sales-history-doc-header__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem 1rem;
}

@media (min-width: 768px) {
    .tvc-ims-sales-history-doc-header__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 1200px) {
    .tvc-ims-sales-history-doc-header__grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .tvc-ims-sales-history-doc-field--wide {
        grid-column: span 1;
    }
}

.tvc-ims-sales-history-doc-field__label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #b8c9dc;
}

.tvc-ims-sales-history-doc-field__value {
    display: block;
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.35;
    color: #f8fafc;
    word-break: break-word;
}

.tvc-ims-sales-history-financial-kpi {
    flex: 0 0 auto;
}

.tvc-ims-sales-history-financial-kpi-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 4.35rem;
    padding: 0.55rem 0.7rem;
    border-radius: 0.45rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(15, 23, 42, 0.55);
}

.tvc-ims-sales-history-financial-kpi-card__label {
    display: block;
    margin-bottom: 0.2rem;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.tvc-ims-sales-history-financial-kpi-card__value {
    display: block;
    font-size: 1.02rem;
    font-weight: 700;
    line-height: 1.2;
    color: #f8fafc;
    font-variant-numeric: tabular-nums;
}

.tvc-ims-sales-history-financial-kpi-card--total {
    border-color: rgba(110, 231, 183, 0.35);
    background: rgba(16, 185, 129, 0.1);
}

.tvc-ims-sales-history-financial-kpi-card--total .tvc-ims-sales-history-financial-kpi-card__label {
    color: #a7f3d0;
}

.tvc-ims-sales-history-financial-kpi-card--total .tvc-ims-sales-history-financial-kpi-card__value {
    color: #ecfdf5;
    font-size: 1.08rem;
}

.tvc-ims-item-txn-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 1rem;
    align-items: start;
}

.tvc-ims-item-txn-grid-scroll {
    max-height: min(52vh, 34rem);
    overflow: auto;
}

.tvc-ims-item-txn-doc-link:hover {
    text-decoration: underline !important;
}

.tvc-ims-item-txn-summary-grid {
    display: grid;
    gap: 0.85rem;
}

.tvc-ims-item-txn-summary-item {
    padding: 0.65rem 0.75rem;
    border: 1px solid #334155;
    border-radius: 0.4rem;
    background: rgba(15, 23, 42, 0.45);
}

.tvc-ims-item-txn-summary-item--closing {
    border-color: rgba(59, 130, 246, 0.45);
    background: rgba(30, 58, 138, 0.22);
}

.tvc-ims-item-txn-summary-item--closing strong {
    font-size: 1.15rem;
}

.tvc-ims-beginning-grid-scroll {
    max-height: min(60vh, 37rem);
    overflow: auto;
}

/* Beginning Inventory — ERP period control workspace */
.tvc-ims-demo-module:has(.tvc-ims-beginning-page) .tvc-booking-page__head {
    margin-bottom: 0.15rem !important;
}

.tvc-ims-beginning-page {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.tvc-ims-beginning-filter-card .card-body {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}

.tvc-ims-beginning-kpi-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.45rem;
    margin-bottom: 0.1rem;
}

.tvc-ims-beginning-kpi {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.3rem 0.5rem;
    min-height: 2.1rem;
    padding: 0.32rem 0.55rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 0.45rem;
    background: rgba(30, 41, 59, 0.55);
}

.tvc-ims-beginning-kpi__value {
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.1;
    color: #f8fafc;
    font-variant-numeric: tabular-nums;
}

.tvc-ims-beginning-kpi__label {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #64748b;
    white-space: nowrap;
}

.tvc-ims-beginning-kpi__meta {
    color: #94a3b8;
    font-weight: 500;
}

.tvc-ims-beginning-kpi--period {
    border-color: rgba(96, 165, 250, 0.3);
}

.tvc-ims-beginning-kpi--period .tvc-ims-beginning-kpi__value {
    color: #93c5fd;
}

.tvc-ims-beginning-info-banner {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    padding: 0.38rem 0.65rem;
    border: 1px solid rgba(59, 130, 246, 0.35);
    border-radius: 0.45rem;
    background: rgba(30, 58, 138, 0.28);
    color: #bfdbfe;
    font-size: 0.78rem;
    line-height: 1.35;
}

.tvc-ims-beginning-info-banner__icon {
    flex: 0 0 auto;
    margin-top: 0.05rem;
    color: #60a5fa;
    font-size: 0.9rem;
}

.tvc-ims-period-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.2rem;
    padding: 0.12rem 0.5rem;
    border-radius: 999px;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
    border: 1px solid transparent;
}

.tvc-ims-period-status-badge--open {
    color: #fff;
    background: #16a34a;
    border-color: rgba(74, 222, 128, 0.45);
}

.tvc-ims-period-status-badge--closed {
    color: #fff;
    background: #64748b;
    border-color: rgba(148, 163, 184, 0.45);
}

.tvc-ims-beginning-close-period-btn {
    color: #fff;
    background-color: #d97706;
    border-color: #d97706;
    font-weight: 600;
}

.tvc-ims-beginning-close-period-btn:hover,
.tvc-ims-beginning-close-period-btn:focus,
.tvc-ims-beginning-close-period-btn:focus-visible {
    color: #fff;
    background-color: #b45309;
    border-color: #b45309;
    box-shadow: 0 0 0 0.2rem rgba(251, 191, 36, 0.28);
}

.tvc-ims-beginning-rebuild-btn {
    color: #cbd5e1;
    background: transparent;
    border-color: #64748b;
    font-weight: 500;
}

.tvc-ims-beginning-rebuild-btn:hover,
.tvc-ims-beginning-rebuild-btn:focus,
.tvc-ims-beginning-rebuild-btn:focus-visible {
    color: #f8fafc;
    background: rgba(100, 116, 139, 0.2);
    border-color: #94a3b8;
    box-shadow: 0 0 0 0.2rem rgba(148, 163, 184, 0.2);
}

.tvc-ims-beginning-period-table thead th,
.tvc-ims-beginning-grid-table thead th {
    padding: 0.3rem 0.5rem;
    font-size: 0.66rem;
    line-height: 1.15;
}

.tvc-ims-beginning-period-table tbody td,
.tvc-ims-beginning-grid-table tbody td {
    padding: 0.28rem 0.5rem;
    font-size: 0.78rem;
    line-height: 1.2;
    vertical-align: middle;
}

.tvc-ims-beginning-period-row--active > td {
    background: rgba(22, 163, 74, 0.08) !important;
}

.tvc-ims-beginning-period-row--active > td:first-child {
    box-shadow: inset 3px 0 0 rgba(74, 222, 128, 0.5);
}

.tvc-ims-beginning-period-footnote,
.tvc-ims-beginning-carry-note,
.tvc-ims-beginning-empty-message {
    padding: 0.65rem 0.75rem;
}

.tvc-ims-beginning-period-card,
.tvc-ims-beginning-grid-card,
.tvc-ims-beginning-filter-card {
    margin-bottom: 0 !important;
}

@media (max-width: 767.98px) {
    .tvc-ims-beginning-kpi-row {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 991.98px) {
    .tvc-ims-item-txn-layout {
        grid-template-columns: 1fr;
    }
}

.tvc-ims-customer-detail-field,
.tvc-ims-item-detail-field {
    margin-bottom: 0.75rem;
}

.tvc-ims-customer-detail-field .label,
.tvc-ims-item-detail-field .label {
    display: block;
    margin-bottom: 0.15rem;
    font-size: 0.78rem;
    color: #94a3b8;
}

.tvc-ims-customer-detail-field .value,
.tvc-ims-item-detail-field .value {
    color: #f8fafc;
    word-break: break-word;
}

.tvc-ims-customer-detail-placeholder {
    opacity: 0.85;
}

/* Item Master — pricing matrix (Phase IM-2) */
.tvc-ims-item-pricing-card,
.tvc-ims-item-planning-card {
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 11.5rem);
    max-height: calc(100vh - 8rem);
    overflow-y: auto;
}

.tvc-ims-item-pricing-card > .card-body,
.tvc-ims-item-planning-card > .card-body {
    flex: 1 1 auto;
    min-height: 0;
}

.tvc-ims-item-pricing-header,
.tvc-ims-item-planning-header {
    font-size: 0.92rem;
    font-weight: 700;
    color: #f8fafc;
    line-height: 1.3;
}

.tvc-ims-item-pricing-matrix__title {
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid #334155;
    font-size: 1.1rem;
    font-weight: 700;
    color: #f8fafc;
}

.tvc-ims-item-pricing-matrix__title--section {
    margin-top: 0.15rem;
    border-top: 1px solid #334155;
    font-size: 0.88rem;
    padding-top: 0.55rem;
    padding-bottom: 0.45rem;
}

.tvc-ims-item-pricing-matrix__body {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.tvc-ims-item-pricing-hero {
    margin: 0.75rem;
    padding: 1rem 0.75rem;
    text-align: center;
    border: 1px solid #334155;
    border-radius: 0.5rem;
    background: rgba(15, 23, 42, 0.45);
}

.tvc-ims-item-pricing-hero--current {
    border-color: rgba(34, 197, 94, 0.45);
    background: rgba(6, 78, 59, 0.28);
    box-shadow: inset 0 1px 0 rgba(134, 239, 172, 0.12);
}

.tvc-ims-item-pricing-hero--missing {
    border-color: rgba(251, 191, 36, 0.45);
    background: rgba(120, 53, 15, 0.22);
}

.tvc-ims-item-pricing-hero__label {
    display: block;
    font-size: 0.78rem;
    font-weight: 600;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.tvc-ims-item-pricing-hero__label--date {
    margin-top: 0.75rem;
}

.tvc-ims-item-pricing-hero__value {
    display: block;
    margin-top: 0.25rem;
    font-size: clamp(2rem, 3.2vw, 2.5rem);
    font-weight: 700;
    line-height: 1.1;
    color: #86efac;
}

.tvc-ims-item-pricing-hero--missing .tvc-ims-item-pricing-hero__value {
    color: #fcd34d;
}

.tvc-ims-item-pricing-hero__date {
    display: block;
    margin-top: 0.2rem;
    font-size: 1rem;
    font-weight: 600;
    color: #e2e8f0;
}

.tvc-ims-item-pricing-scroll {
    flex: 1 1 auto;
    min-height: 220px;
    max-height: none;
    overflow-x: auto;
    overflow-y: auto;
}

.tvc-ims-item-pricing-scroll thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #1e293b;
}

.tvc-ims-item-pricing-table {
    table-layout: fixed;
    width: 100%;
    min-width: 100%;
}

.tvc-ims-item-pricing-table th,
.tvc-ims-item-pricing-table td {
    font-size: 0.82rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    vertical-align: middle;
}

.tvc-ims-item-pricing-table .tvc-ims-item-pricing-col-list {
    width: 36%;
    min-width: 6.5rem;
}

.tvc-ims-item-pricing-table .tvc-ims-item-pricing-col-date {
    width: 26%;
    min-width: 5.75rem;
    white-space: nowrap;
}

.tvc-ims-item-pricing-table .tvc-ims-item-pricing-col-price {
    width: 22%;
    min-width: 4.75rem;
    white-space: nowrap;
}

.tvc-ims-item-pricing-table .tvc-ims-item-pricing-col-status {
    width: 16%;
    min-width: 4.25rem;
    white-space: nowrap;
}

.tvc-ims-item-pricing-table td.tvc-ims-item-pricing-col-list {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tvc-ims-item-pricing-table td.tvc-ims-item-pricing-col-date {
    color: #e2e8f0;
    font-weight: 500;
}

.tvc-ims-item-price-value {
    font-size: 1.05rem;
    font-weight: 700;
    color: #f8fafc;
}

.tvc-ims-item-price-value.is-missing {
    color: #fcd34d;
}

.tvc-ims-item-price-badge {
    min-width: 4.5rem;
    font-size: 0.78rem;
    font-weight: 700;
}

.tvc-ims-item-price-badge--current {
    background-color: rgba(34, 197, 94, 0.2);
    border: 1px solid rgba(34, 197, 94, 0.45);
    color: #86efac;
}

.tvc-ims-item-price-badge--missing {
    background-color: rgba(251, 191, 36, 0.2);
    border: 1px solid rgba(251, 191, 36, 0.5);
    color: #fcd34d;
}

.tvc-ims-item-price-badge--future {
    background-color: rgba(59, 130, 246, 0.2);
    border: 1px solid rgba(59, 130, 246, 0.45);
    color: #93c5fd;
}

.tvc-ims-item-price-badge--history {
    background-color: rgba(100, 116, 139, 0.25);
    border: 1px solid rgba(100, 116, 139, 0.45);
    color: #cbd5e1;
}

/* Customer Master — discount matrix (CM-2 UX polish) */
.tvc-ims-customer-discount-card {
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 15.5rem);
}

.tvc-ims-customer-discount-card > .card-body {
    flex: 1 1 auto;
    min-height: 0;
}

.tvc-ims-customer-detail-primary {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.tvc-ims-customer-detail-secondary {
    flex: 0 0 auto;
}

.tvc-ims-customer-commercial-settings {
    border-bottom: 1px solid #334155;
    flex: 0 0 auto;
}

.tvc-ims-customer-commercial-settings .form-label {
    color: #94a3b8;
}

.tvc-ims-customer-group-discount-help {
    line-height: 1.45;
    flex: 0 0 auto;
}

.tvc-ims-customer-discount-matrix__title {
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid #334155;
    font-size: 1.1rem;
    font-weight: 700;
    color: #f8fafc;
    flex: 0 0 auto;
}

.tvc-ims-customer-discount-matrix__title--secondary {
    font-size: 0.92rem;
    font-weight: 600;
    color: #cbd5e1;
    background: rgba(15, 23, 42, 0.25);
}

.tvc-ims-customer-pricing-rules-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.45rem 0.75rem;
    border-bottom: 1px solid #334155;
    background: rgba(30, 41, 59, 0.55);
    flex: 0 0 auto;
}

.tvc-ims-customer-pricing-rules-summary__label {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.tvc-ims-customer-pricing-rules-summary__value {
    font-size: 0.82rem;
    font-weight: 600;
    color: #e2e8f0;
    text-align: right;
}

.tvc-ims-customer-discount-header__code {
    font-size: 1.25rem;
    font-weight: 700;
    color: #f8fafc;
    line-height: 1.2;
}

.tvc-ims-customer-discount-header__name {
    margin-top: 0.2rem;
    font-size: 1rem;
    font-weight: 500;
    color: #e2e8f0;
    line-height: 1.3;
}

.tvc-ims-customer-discount-matrix__body {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.tvc-ims-customer-discount-card .card-header {
    padding-top: 0.65rem;
    padding-bottom: 0.65rem;
}

.tvc-ims-customer-discount-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
}

.tvc-ims-customer-workspace--erp .tvc-ims-customer-discount-scroll thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #1e293b;
}

.tvc-ims-customer-discount-badge {
    min-width: 48px;
    padding-left: 0.55rem;
    padding-right: 0.55rem;
    font-size: 0.9rem;
    font-weight: 700;
    background-color: rgba(255, 193, 7, 0.22);
    border: 1px solid rgba(255, 193, 7, 0.5);
    color: #ffc107;
}

.tvc-ims-customer-discount-table th,
.tvc-ims-customer-discount-table td {
    font-size: 0.82rem;
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
}

.tvc-ims-price-list-badge {
    display: inline-block;
    min-width: 4.5rem;
    padding: 0.18rem 0.45rem;
    border-radius: 0.25rem;
    border: 1px solid transparent;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.2;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
}

.tvc-ims-price-list-badge--retail {
    background-color: rgba(59, 130, 246, 0.22);
    border-color: rgba(59, 130, 246, 0.55);
    color: #93c5fd;
}

.tvc-ims-price-list-badge--wholesale {
    background-color: rgba(245, 158, 11, 0.22);
    border-color: rgba(245, 158, 11, 0.55);
    color: #fcd34d;
}

.tvc-ims-price-list-badge--supermarket {
    background-color: rgba(34, 197, 94, 0.2);
    border-color: rgba(34, 197, 94, 0.55);
    color: #86efac;
}

.tvc-ims-price-list-badge--vip {
    background-color: rgba(168, 85, 247, 0.22);
    border-color: rgba(168, 85, 247, 0.55);
    color: #d8b4fe;
}

.tvc-ims-price-list-badge--cholon {
    background-color: rgba(20, 184, 166, 0.2);
    border-color: rgba(20, 184, 166, 0.55);
    color: #5eead4;
}

.tvc-ims-price-list-badge--default {
    background-color: rgba(100, 116, 139, 0.22);
    border-color: rgba(100, 116, 139, 0.5);
    color: #cbd5e1;
}

.tvc-ims-customer-pricing-preview,
.tvc-ims-customer-pricing-hierarchy {
    border-bottom: 1px solid #334155;
    background: rgba(15, 23, 42, 0.35);
}

.tvc-ims-customer-detail-secondary .tvc-ims-customer-pricing-hierarchy {
    border-bottom: 0;
}

.tvc-ims-customer-pricing-hierarchy__title {
    font-size: 1rem;
}

.tvc-ims-customer-pricing-preview__list {
    display: grid;
    gap: 0.35rem;
}

.tvc-ims-customer-pricing-preview__row {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.82rem;
}

.tvc-ims-customer-pricing-preview__row dt {
    margin: 0;
    color: #94a3b8;
    font-weight: 500;
}

.tvc-ims-customer-pricing-preview__row dd {
    margin: 0;
    color: #e2e8f0;
    font-weight: 600;
    text-align: right;
}

.tvc-ims-customer-pricing-preview__row--emphasis dd {
    color: #fbbf24;
    font-size: 0.92rem;
}

.tvc-ims-customer-pricing-hierarchy__list {
    margin: 0;
    padding-left: 1.15rem;
    display: grid;
    gap: 0.55rem;
}

.tvc-ims-customer-pricing-hierarchy__step {
    font-size: 0.82rem;
    color: #e2e8f0;
}

.tvc-ims-customer-pricing-hierarchy__step-title {
    display: block;
    font-weight: 700;
    color: #f8fafc;
}

.tvc-ims-customer-pricing-hierarchy__step-detail {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.78rem;
}

/* Warehouse Master — split layout + inventory snapshot (Phase WM-1) */
.tvc-ims-warehouse-split {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.tvc-ims-warehouse-list-panel {
    flex: 0 0 260px;
    width: 260px;
    max-width: 260px;
    min-width: 260px;
    position: sticky;
    top: 1rem;
    align-self: flex-start;
}

.tvc-ims-warehouse-snapshot-panel {
    flex: 0 0 calc(75% - 1rem);
    max-width: calc(75% - 1rem);
    min-width: 0;
}

.tvc-ims-warehouse-list-scroll,
.tvc-ims-warehouse-snapshot-scroll {
    max-height: calc(100vh - 16rem);
    overflow-y: auto;
}

.tvc-ims-warehouse-list-scroll thead th,
.tvc-ims-warehouse-snapshot-scroll thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #1e293b;
}

.tvc-ims-warehouse-snapshot-card {
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 16rem);
}

.tvc-ims-warehouse-snapshot-card > .card-body {
    flex: 1 1 auto;
    min-height: 0;
}

.tvc-ims-warehouse-snapshot-header {
    font-size: 1.1rem;
    font-weight: 700;
    color: #f8fafc;
    line-height: 1.3;
}

.tvc-ims-warehouse-snapshot__title {
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid #334155;
    font-size: 1.1rem;
    font-weight: 700;
    color: #f8fafc;
}

.tvc-ims-warehouse-snapshot__body {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.tvc-ims-warehouse-snapshot-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    padding: 0.75rem;
    border-bottom: 1px solid #334155;
    background: rgba(15, 23, 42, 0.35);
}

.tvc-ims-warehouse-snapshot-summary__item .label {
    display: block;
    margin-bottom: 0.2rem;
    font-size: 0.78rem;
    color: #94a3b8;
}

.tvc-ims-warehouse-snapshot-summary__item strong {
    font-size: 1.05rem;
    color: #f8fafc;
}

.tvc-ims-warehouse-snapshot-summary__item strong.is-negative {
    color: #fca5a5;
}

.tvc-ims-warehouse-snapshot-filters {
    padding: 0.75rem;
    border-bottom: 1px solid #334155;
    background: rgba(15, 23, 42, 0.2);
}

.tvc-ims-warehouse-snapshot-scroll {
    flex: 1 1 auto;
    min-height: 220px;
    max-height: none;
}

/* Portfolio warehouse operations (demo) */
.tvc-ims-warehouse-split__list {
    flex: 0 0 260px;
    width: 260px;
    max-width: 260px;
    min-width: 260px;
}

.tvc-ims-warehouse-split__detail {
    flex: 1 1 0;
    min-width: 0;
}

.tvc-ims-warehouse-list-panel {
    background: rgba(15, 23, 42, 0.45);
    border: 1px solid #334155;
    border-radius: 0.5rem;
    padding: 0.85rem;
    width: 100%;
    position: sticky;
    top: 1rem;
    align-self: flex-start;
}

.tvc-ims-warehouse-filters {
    margin-bottom: 0.85rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid #334155;
}

.tvc-ims-warehouse-filters .form-group {
    margin-bottom: 0.65rem;
}

.tvc-ims-warehouse-filters .tvc-ims-filter-label {
    white-space: nowrap;
}

.tvc-ims-warehouse-filters .form-control {
    width: 100%;
}

.tvc-ims-warehouse-list-wrap {
    max-height: calc(100vh - 22rem);
    overflow-y: auto;
}

.tvc-ims-warehouse-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.tvc-ims-warehouse-list__item {
    display: block;
    padding: 0.6rem 0.5rem;
    border-radius: 0.375rem;
    cursor: pointer;
    color: #e2e8f0;
    border: 1px solid transparent;
}

.tvc-ims-warehouse-list__item:hover {
    background: rgba(51, 65, 85, 0.45);
}

.tvc-ims-warehouse-list__item.is-selected {
    background: rgba(30, 41, 59, 0.85);
    border-color: rgba(212, 175, 55, 0.45);
}

.tvc-ims-warehouse-list__item-head {
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.tvc-ims-warehouse-list__arrow {
    flex: 0 0 1rem;
    color: #d4af37;
    font-size: 0.75rem;
}

.tvc-ims-warehouse-list__code {
    flex: 0 0 auto;
    font-weight: 700;
    color: #f8fafc;
    white-space: nowrap;
}

.tvc-ims-warehouse-list__name {
    margin-top: 0.25rem;
    padding-left: 1.45rem;
    font-size: 0.82rem;
    color: #94a3b8;
    line-height: 1.4;
    word-break: break-word;
}

.tvc-ims-warehouse-list__status {
    flex: 0 0 auto;
    font-size: 0.65rem;
    white-space: nowrap;
}

.tvc-ims-warehouse-list-meta {
    margin: 0.65rem 0 0;
    font-size: 0.78rem;
    white-space: nowrap;
}

.tvc-ims-warehouse-stock-controls {
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px solid #334155;
}

.tvc-ims-warehouse-stock-controls .tvc-ims-filter-label {
    white-space: nowrap;
}

.tvc-ims-warehouse-stock-controls .form-control {
    margin-bottom: 0.55rem;
}

.tvc-ims-warehouse-stock-controls .btn {
    margin-bottom: 0.55rem;
}

.tvc-ims-warehouse-snapshot {
    background: rgba(15, 23, 42, 0.45);
    border: 1px solid #334155;
    border-radius: 0.5rem;
    min-height: calc(100vh - 16rem);
    display: flex;
    flex-direction: column;
}

.tvc-ims-warehouse-snapshot__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1rem 0.5rem;
    border-bottom: none;
    flex-wrap: nowrap;
}

.tvc-ims-warehouse-snapshot__title {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 700;
    color: #f8fafc;
    line-height: 1.3;
    flex: 1 1 auto;
    min-width: 0;
}

.tvc-ims-currency-selector {
    display: none;
    align-items: center;
    gap: 0.45rem;
    flex: 0 0 auto;
    white-space: nowrap;
}

.tvc-ims-currency-selector .tvc-ims-filter-label {
    margin: 0;
}

.tvc-ims-currency-selector .form-control {
    width: 5.5rem;
    min-width: 5.5rem;
}

.tvc-ims-portfolio-kpi-row {
    display: none;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0;
    padding: 0 1rem 0.85rem;
    border-bottom: 1px solid #334155;
}

.tvc-ims-portfolio-kpi-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 5.25rem;
    height: 100%;
    margin: 0;
    padding: 0.75rem 0.9rem;
    background: rgba(30, 41, 59, 0.65);
    border: 1px solid #334155;
    border-radius: 0.5rem;
}

.tvc-ims-portfolio-kpi-card__label {
    margin-bottom: 0.35rem;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #94a3b8;
    white-space: nowrap;
}

.tvc-ims-portfolio-kpi-card__value {
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.2;
    color: #f8fafc;
}

.tvc-ims-portfolio-kpi-card__value--date {
    font-size: 1rem;
}

.tvc-ims-warehouse-stock-section {
    display: none;
    flex: 1 1 auto;
    min-height: 0;
}

.tvc-ims-warehouse-stock-wrap {
    padding: 0;
}

.tvc-ims-warehouse-stock-section .tvc-ims-portfolio-meta {
    margin: 0;
    padding: 0.55rem 1rem 0.85rem;
    font-size: 0.78rem;
}

@media (max-width: 991.98px) {
    .tvc-ims-portfolio-kpi-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .tvc-ims-portfolio-kpi-row {
        grid-template-columns: minmax(0, 1fr);
    }
}

.tvc-ims-portfolio-panel {
    background: rgba(15, 23, 42, 0.45);
    border: 1px solid #334155;
    border-radius: 0.5rem;
    padding: 1rem;
}

.tvc-ims-portfolio-filters {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #334155;
}

.tvc-ims-portfolio-checkbox {
    margin: 0.35rem 0 0;
}

.tvc-ims-portfolio-checkbox label {
    color: #cbd5e1;
    font-weight: 400;
}

/* Shared IMS_Demo portfolio tables (Warehouse, Inventory Inquiry, Transaction History) */
.tvc-ims-portfolio-table-wrap,
.tvc-ims-warehouse-stock-wrap {
    max-height: calc(100vh - 18rem);
    overflow: auto;
    border: 1px solid #334155;
    border-radius: 0.375rem;
    background: rgba(15, 23, 42, 0.25);
}

.tvc-ims-portfolio-table {
    width: 100%;
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
}

.tvc-ims-portfolio-table thead th {
    position: sticky;
    top: 0;
    z-index: 3;
    background-color: #1f2c44;
    color: #ffffff;
    font-weight: 600;
    font-size: 0.82rem;
    line-height: 1.25;
    padding: 0.65rem 0.75rem;
    border-bottom: 1px solid #334155;
    vertical-align: middle;
    white-space: nowrap;
    box-shadow: inset 0 -1px 0 #334155;
}

.tvc-ims-portfolio-table tbody td {
    font-size: 0.82rem;
    padding: 0.55rem 0.75rem;
    vertical-align: middle;
    border-top: 1px solid rgba(51, 65, 85, 0.55);
    color: #e2e8f0;
    background-color: transparent;
}

.tvc-ims-portfolio-table.table-striped > tbody > tr:nth-of-type(odd) > td {
    background-color: rgba(15, 23, 42, 0.35);
}

.tvc-ims-portfolio-table tbody tr:hover > td {
    background-color: rgba(51, 65, 85, 0.48);
}

.tvc-ims-portfolio-table.table-striped > tbody > tr:nth-of-type(odd):hover > td {
    background-color: rgba(51, 65, 85, 0.48);
}

.tvc-ims-portfolio-meta {
    margin: 0.75rem 0 0;
    font-size: 0.78rem;
}

.tvc-ims-qty-negative {
    color: #fca5a5;
    font-weight: 700;
}

.tvc-ims-qty-zero {
    color: #94a3b8;
}

.tvc-ims-warehouse-snapshot-table th,
.tvc-ims-warehouse-snapshot-table td {
    font-size: 0.82rem;
    padding-top: 0.45rem;
    padding-bottom: 0.45rem;
    vertical-align: middle;
}

.tvc-ims-warehouse-qty-value {
    font-size: 1.05rem;
    font-weight: 700;
    color: #f8fafc;
}

.tvc-ims-warehouse-qty-value.is-negative {
    color: #fca5a5;
}

.tvc-ims-price-import-scroll {
    max-height: min(28rem, 55vh);
    overflow: auto;
}

.tvc-ims-price-import-row--reject td {
    background-color: rgba(127, 29, 29, 0.18);
}

.tvc-ims-price-import-template {
    background: rgba(15, 23, 42, 0.65);
    border: 1px solid #334155;
    border-radius: 0.375rem;
    color: #e2e8f0;
    padding: 0.75rem;
    white-space: pre-wrap;
}

.tvc-ims-price-trace {
    min-width: 0;
}

.tvc-ims-price-trace__inline {
    flex-wrap: nowrap;
    white-space: nowrap;
}

.tvc-ims-price-source-badge {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    white-space: nowrap;
}

.tvc-ims-price-source-badge--customer {
    background-color: rgba(59, 130, 246, 0.25);
    border: 1px solid rgba(59, 130, 246, 0.55);
    color: #bfdbfe;
}

.tvc-ims-price-source-badge--list {
    background-color: rgba(168, 85, 247, 0.22);
    border: 1px solid rgba(168, 85, 247, 0.5);
    color: #e9d5ff;
}

.tvc-ims-price-source-badge--retail {
    background-color: rgba(100, 116, 139, 0.28);
    border: 1px solid rgba(100, 116, 139, 0.55);
    color: #e2e8f0;
}

.tvc-ims-price-source-badge--manual {
    background-color: rgba(245, 158, 11, 0.2);
    border: 1px solid rgba(245, 158, 11, 0.5);
    color: #fde68a;
}

.tvc-ims-price-source-badge--missing {
    background-color: rgba(127, 29, 29, 0.25);
    border: 1px solid rgba(248, 113, 113, 0.45);
    color: #fecaca;
}

.tvc-ims-price-source-label {
    display: none;
}

.tvc-ims-price-trace-info {
    color: #93c5fd;
    text-decoration: none;
    line-height: 1;
}

.tvc-ims-price-trace-info:hover,
.tvc-ims-price-trace-info:focus {
    color: #bfdbfe;
}

.price-cell {
    min-width: 7rem;
    vertical-align: top;
}

.price-source-cell {
    min-width: 6.25rem;
    vertical-align: middle;
    white-space: nowrap;
}

.tvc-ims-price-trace-tooltip .tooltip-inner {
    max-width: 18rem;
    text-align: left;
}

.tvc-ims-invoice-commercial-profile {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.55rem;
    min-height: 2.5rem;
    max-height: 55px;
    padding: 0.35rem 0.65rem;
    border-radius: 0.45rem;
    border: 1px solid rgba(110, 231, 183, 0.4);
    border-left: 3px solid #6ee7b7;
    background: rgba(15, 23, 42, 0.72);
    overflow: hidden;
}

.tvc-ims-invoice-commercial-profile__item {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.18rem 0.55rem;
    border-radius: 0.35rem;
    border: 1px solid rgba(51, 65, 85, 0.85);
    background: rgba(15, 23, 42, 0.55);
    font-size: 0.78rem;
    line-height: 1.2;
    white-space: nowrap;
}

.tvc-ims-invoice-commercial-profile__label {
    color: #94a3b8;
    font-weight: 500;
}

.tvc-ims-invoice-commercial-profile__item .badge {
    font-size: 0.68rem;
    letter-spacing: 0.03em;
}

.tvc-ims-invoice-save-success {
    font-size: 0.84rem;
}

.tvc-ims-invoice-commercial-profile__title {
    font-size: 0.82rem;
    font-weight: 700;
    color: #f8fafc;
    margin-bottom: 0.55rem;
}

.tvc-ims-invoice-commercial-profile__list {
    display: grid;
    gap: 0.4rem;
}

.tvc-ims-invoice-commercial-profile__row {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.82rem;
}

.tvc-ims-invoice-commercial-profile__row dt {
    margin: 0;
    color: #94a3b8;
    font-weight: 500;
}

.tvc-ims-invoice-commercial-profile__row dd {
    margin: 0;
    color: #e2e8f0;
    font-weight: 600;
    text-align: right;
}

.tvc-ims-invoice-pricing-breakdown {
    border: 1px solid rgba(110, 231, 183, 0.35);
    border-left: 3px solid #6ee7b7;
}

.tvc-ims-invoice-pricing-breakdown__flow {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-bottom: 0.75rem;
    padding: 0.55rem 0.65rem;
    border-radius: 0.4rem;
    background: rgba(16, 185, 129, 0.08);
}

.tvc-ims-invoice-pricing-breakdown__flow-step {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #cbd5e1;
}

.tvc-ims-invoice-pricing-breakdown__flow-step--final {
    color: #6ee7b7;
}

.tvc-ims-invoice-pricing-breakdown__flow-arrow {
    color: #6ee7b7;
    font-size: 0.85rem;
    line-height: 1;
}

.tvc-ims-invoice-pricing-breakdown__list {
    display: grid;
    gap: 0.4rem;
}

.tvc-ims-invoice-pricing-breakdown__row {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.82rem;
}

.tvc-ims-invoice-pricing-breakdown__row dt {
    margin: 0;
    color: #94a3b8;
    font-weight: 500;
}

.tvc-ims-invoice-pricing-breakdown__row dd {
    margin: 0;
    color: #e2e8f0;
    font-weight: 600;
    text-align: right;
}

.tvc-ims-invoice-pricing-breakdown__row--final dt {
    color: #6ee7b7;
    font-weight: 700;
}

.tvc-ims-invoice-pricing-breakdown__final-value {
    display: inline-block;
    padding: 0.12rem 0.45rem;
    border-radius: 0.3rem;
    border: 1px solid rgba(110, 231, 183, 0.55);
    background: rgba(16, 185, 129, 0.18);
    color: #6ee7b7;
    font-size: 0.95rem;
    font-weight: 800;
}

.tvc-ims-invoice-pricing-guide {
    border: 1px solid rgba(148, 163, 184, 0.35);
}

.tvc-ims-invoice-pricing-guide__toggle {
    color: #e2e8f0 !important;
    font-weight: 700;
}

.tvc-ims-invoice-pricing-guide__toggle:hover,
.tvc-ims-invoice-pricing-guide__toggle:focus {
    color: #6ee7b7 !important;
}

.tvc-ims-invoice-pricing-guide__chevron {
    transition: transform 0.2s ease;
}

.tvc-ims-invoice-pricing-guide__toggle[aria-expanded="true"] .tvc-ims-invoice-pricing-guide__chevron {
    transform: rotate(180deg);
}

.tvc-ims-invoice-pricing-guide__list {
    padding-left: 1.2rem;
    display: grid;
    gap: 0.65rem;
    color: #e2e8f0;
    font-size: 0.84rem;
}

.tvc-ims-invoice-pricing-guide__list li::marker {
    color: #6ee7b7;
    font-weight: 700;
}

@media (max-width: 991.98px) {
    .tvc-ims-customer-split:not(.tvc-ims-customer-workspace),
    .tvc-ims-warehouse-split {
        flex-direction: column;
    }

    .tvc-ims-customer-workspace {
        grid-template-columns: minmax(0, 1fr);
    }

    .tvc-ims-customer-page--erp {
        --tvc-ims-customer-chrome-h: 10.5rem;
        height: auto;
        max-height: none;
        overflow: visible;
    }

    .tvc-dash-body--booking:has(.tvc-ims-customer-page--erp) {
        overflow: auto;
        height: auto;
    }

    .tvc-ims-demo-module:has(.tvc-ims-customer-page--erp) {
        max-height: none;
        overflow: visible;
    }

    .tvc-ims-demo-module:has(.tvc-ims-customer-page--erp) .tvc-booking-layout {
        max-height: none;
        overflow: visible;
    }

    .tvc-ims-demo-module:has(.tvc-ims-customer-page--erp) .tvc-booking-layout__main {
        height: auto;
        max-height: none;
        overflow: visible;
    }

    .tvc-ims-customer-workspace--erp {
        height: auto;
        max-height: none;
        overflow: visible;
    }

    .tvc-ims-customer-workspace--erp .tvc-ims-customer-panel-card {
        min-height: 18rem;
        max-height: 24rem;
    }

    .tvc-ims-customer-workspace--erp .tvc-ims-customer-panel-scroll {
        max-height: 20rem;
    }

    .tvc-ims-demo-module .tvc-ims-item-master-layout,
    .tvc-ims-demo-module .tvc-ims-item-split,
    .tvc-ims-demo-module .tvc-ims-price-list-layout,
    .tvc-ims-demo-module .tvc-ims-inventory-balance-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .tvc-ims-item-grid-panel,
    .tvc-ims-item-detail-panel,
    .tvc-ims-item-pricing-panel,
    .tvc-ims-item-planning-panel,
    .tvc-ims-price-list-grid-panel,
    .tvc-ims-price-list-detail-panel,
    .tvc-ims-inventory-grid-panel,
    .tvc-ims-inventory-detail-panel {
        grid-column: auto;
    }

    .tvc-ims-customer-grid-panel,
    .tvc-ims-customer-discount-panel,
    .tvc-ims-customer-profile-panel,
    .tvc-ims-customer-detail-panel,
    .tvc-ims-warehouse-list-panel,
    .tvc-ims-warehouse-split__list {
        flex: 1 1 100%;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }
    .tvc-ims-warehouse-split__detail,
    .tvc-ims-warehouse-snapshot-panel,
    .tvc-ims-inventory-grid-panel,
    .tvc-ims-inventory-detail-panel {
        flex: 1 1 100%;
        max-width: 100%;
    }

    .tvc-ims-customer-detail-panel,
    .tvc-ims-customer-discount-panel,
    .tvc-ims-customer-profile-panel,
    .tvc-ims-item-detail-panel,
    .tvc-ims-warehouse-list-panel,
    .tvc-ims-price-list-detail-panel,
    .tvc-ims-inventory-detail-panel {
        position: static;
    }
}

/* IMS_Demo Overview landing page */

.tvc-ims-overview-page {
    --tvc-ims-overview-body: #d7dee8;
    --tvc-ims-overview-body-muted: #b8c4d4;
    --tvc-ims-overview-heading: #ffffff;
}

.tvc-ims-overview-page .text-secondary {
    color: var(--tvc-ims-overview-body) !important;
}

.tvc-ims-overview-page .tvc-ims-dashboard-section-title {
    color: #e2e8f0;
    font-weight: 600;
}

.tvc-ims-overview-page .tvc-ims-overview-card p,
.tvc-ims-overview-page .tvc-ims-overview-engine p {
    color: var(--tvc-ims-overview-body) !important;
}

.tvc-ims-overview-hero {
    border-color: rgba(16, 185, 129, 0.35);
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.12) 0%, rgba(30, 41, 59, 0.95) 55%);
}

.tvc-ims-overview-hero p {
    color: var(--tvc-ims-overview-body);
}

.tvc-ims-overview-kicker {
    letter-spacing: 0.08em;
    color: #6ee7b7 !important;
}

.tvc-ims-overview-pill-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    list-style: none;
    padding: 0;
}

.tvc-ims-overview-pill-list li {
    padding: 0.25rem 0.65rem;
    border-radius: 999px;
    border: 1px solid #475569;
    background: rgba(15, 23, 42, 0.65);
    font-size: 0.78rem;
    color: var(--tvc-ims-overview-body);
}

.tvc-ims-overview-pill-list__highlight {
    border-color: rgba(110, 231, 183, 0.65);
    background: rgba(16, 185, 129, 0.18);
    color: #ecfdf5;
    font-weight: 600;
}

.tvc-ims-overview-card h3 {
    color: #ffffff;
}

.tvc-ims-overview-engine {
    border-left: 3px solid var(--tvc-ims-accent);
}

.tvc-ims-overview-engine__label {
    display: block;
    font-weight: 600;
    color: #ffffff;
    margin-bottom: 0.35rem;
}

.tvc-ims-overview-metrics {
    border-color: rgba(16, 185, 129, 0.25);
}

.tvc-ims-overview-metrics .small {
    color: var(--tvc-ims-overview-body-muted);
}

.tvc-ims-overview-metric {
    display: block;
    font-size: 1.35rem;
    color: #6ee7b7;
    line-height: 1.2;
}

.tvc-ims-overview-feature {
    display: inline-block;
    width: 100%;
    padding: 0.45rem 0.75rem;
    font-weight: 500;
    color: var(--tvc-ims-overview-body) !important;
    border: 1px solid #475569;
    background: #0f172a !important;
}

.tvc-ims-overview-pricing-section__title {
    color: #ffffff !important;
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.tvc-ims-overview-pricing-case .card-body {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}

.tvc-ims-overview-pricing-section .tvc-ims-overview-case__subsection + .tvc-ims-overview-case__subsection {
    margin-top: 1.75rem;
    padding-top: 1.65rem;
}

.tvc-ims-overview-pricing-section .tvc-ims-overview-case__subsection-title {
    font-size: 1.15rem;
    margin-bottom: 0.85rem;
}

.tvc-ims-overview-case__subsection-title--engine {
    color: #6ee7b7;
}

.tvc-ims-overview-case__subsection--engine {
    padding: 1.1rem 1rem;
    border-radius: 0.55rem;
    border: 1px solid rgba(110, 231, 183, 0.45);
    background: rgba(15, 23, 42, 0.72);
}

.tvc-ims-overview-case {
    border: 1px solid rgba(16, 185, 129, 0.35);
    border-left: 4px solid var(--tvc-ims-accent);
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.12) 0%, rgba(15, 23, 42, 0.98) 52%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.tvc-ims-overview-case__body {
    color: var(--tvc-ims-overview-body);
    line-height: 1.6;
}

.tvc-ims-overview-case__lead {
    color: #ffffff;
    font-weight: 600;
}

.tvc-ims-overview-case__body strong,
.tvc-ims-overview-case__example-body strong {
    color: #ffffff;
    font-weight: 700;
}

.tvc-ims-overview-case__questions,
.tvc-ims-overview-case__capabilities {
    padding-left: 1.25rem;
    margin-bottom: 0;
    color: var(--tvc-ims-overview-body);
}

.tvc-ims-overview-case__questions li,
.tvc-ims-overview-case__resolution li {
    color: var(--tvc-ims-overview-body);
    line-height: 1.6;
}

.tvc-ims-overview-case__questions li + li,
.tvc-ims-overview-case__capabilities li + li,
.tvc-ims-overview-case__resolution li + li {
    margin-top: 0.4rem;
}

.tvc-ims-overview-case__questions li::marker {
    color: #6ee7b7;
}

.tvc-ims-overview-case__resolution {
    padding-left: 1.35rem;
    margin-bottom: 0;
}

.tvc-ims-overview-case__resolution li::marker {
    color: #6ee7b7;
    font-weight: 700;
}

.tvc-ims-overview-case__subsection + .tvc-ims-overview-case__subsection {
    margin-top: 1.35rem;
    padding-top: 1.35rem;
    border-top: 1px solid rgba(148, 163, 184, 0.35);
}

.tvc-ims-overview-case__subsection-title {
    color: #ffffff;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 0.75rem;
}

.tvc-ims-overview-case__example {
    padding: 0.95rem 1.05rem;
    border-radius: 0.45rem;
    border: 1px solid rgba(110, 231, 183, 0.45);
    border-left: 3px solid #6ee7b7;
    background: rgba(15, 23, 42, 0.82);
    margin-top: 0.75rem;
}

.tvc-ims-overview-case__example-label {
    letter-spacing: 0.08em;
    color: #6ee7b7 !important;
    font-weight: 700;
}

.tvc-ims-overview-case__example-body {
    color: #eef2f7;
    line-height: 1.6;
}

.tvc-ims-overview-case__example-muted {
    color: var(--tvc-ims-overview-body);
    line-height: 1.55;
}

.tvc-ims-overview-case__note {
    padding: 0.75rem 0.9rem;
    border-radius: 0.45rem;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: rgba(15, 23, 42, 0.55);
    color: var(--tvc-ims-overview-body);
    line-height: 1.55;
}

.tvc-ims-overview-pricing-flow {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    margin: 1rem 0;
    padding: 0.85rem 1rem;
    border-radius: 0.45rem;
    border: 1px solid rgba(110, 231, 183, 0.35);
    background: rgba(15, 23, 42, 0.72);
}

.tvc-ims-overview-pricing-flow__step {
    min-width: 14rem;
    padding: 0.45rem 0.85rem;
    border-radius: 0.35rem;
    border: 1px solid rgba(148, 163, 184, 0.45);
    background: rgba(30, 41, 59, 0.85);
    color: #f8fafc;
    font-size: 0.82rem;
    font-weight: 700;
    text-align: center;
}

.tvc-ims-overview-pricing-flow__step--optional {
    border-color: rgba(245, 158, 11, 0.45);
}

.tvc-ims-overview-pricing-flow__step--final {
    border-color: rgba(110, 231, 183, 0.55);
    color: #6ee7b7;
}

.tvc-ims-overview-pricing-flow__arrow {
    color: #94a3b8;
    font-size: 0.95rem;
    line-height: 1;
}

.tvc-ims-overview-pricing-example {
    display: grid;
    gap: 0.45rem;
}

.tvc-ims-overview-pricing-example__row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    font-size: 0.82rem;
}

.tvc-ims-overview-pricing-example__row dt {
    margin: 0;
    color: #94a3b8;
    font-weight: 500;
}

.tvc-ims-overview-pricing-example__row dd {
    margin: 0;
    color: #eef2f7;
    font-weight: 600;
    text-align: right;
}

.tvc-ims-overview-pricing-example__row--emphasis dd {
    color: #fbbf24;
    font-size: 0.92rem;
}

.tvc-ims-overview-pricing-level {
    padding: 0.85rem 1rem;
    border-radius: 0.5rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(15, 23, 42, 0.35);
}

.tvc-ims-overview-pricing-level + .tvc-ims-overview-pricing-level {
    margin-top: 0.75rem;
}

.tvc-ims-overview-pricing-level__title {
    margin: 0 0 0.5rem;
    font-size: 0.88rem;
    font-weight: 600;
    color: #eef2f7;
    letter-spacing: 0.01em;
}

.tvc-ims-overview-page .tvc-ims-price-list-badge {
    vertical-align: middle;
}

.tvc-ims-overview-distributor-benefits {
    margin-bottom: 0;
}

.tvc-ims-overview-benefit-card {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    height: 100%;
    padding: 0.85rem 0.95rem;
    border-radius: 0.45rem;
    border: 1px solid rgba(110, 231, 183, 0.35);
    background: rgba(15, 23, 42, 0.82);
    color: #eef2f7;
    font-size: 0.84rem;
    line-height: 1.55;
}

.tvc-ims-overview-benefit-card__icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 0.4rem;
    background: rgba(16, 185, 129, 0.18);
    color: #6ee7b7;
    font-size: 1rem;
}

.tvc-ims-overview-pricing-engine {
    padding: 1rem;
    border-radius: 0.55rem;
    border: 1px solid rgba(110, 231, 183, 0.4);
    background: linear-gradient(180deg, rgba(16, 185, 129, 0.1) 0%, rgba(15, 23, 42, 0.88) 100%);
}

.tvc-ims-overview-pricing-engine__track {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.45rem;
}

.tvc-ims-overview-pricing-engine__step {
    width: 100%;
    max-width: 18rem;
    padding: 0.55rem 0.85rem;
    border-radius: 0.4rem;
    border: 1px solid rgba(148, 163, 184, 0.45);
    background: rgba(30, 41, 59, 0.9);
    color: #f8fafc;
    font-size: 0.82rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.35;
}

.tvc-ims-overview-pricing-engine__step--final {
    border-color: rgba(110, 231, 183, 0.65);
    background: rgba(16, 185, 129, 0.16);
    color: #6ee7b7;
}

.tvc-ims-overview-pricing-engine__arrow {
    color: #6ee7b7;
    font-size: 1.35rem;
    line-height: 1;
}

.tvc-ims-overview-pricing-engine__arrow-icon--right {
    display: none;
}

.tvc-ims-overview-impact-panel {
    padding: 1rem 1.05rem;
    border-radius: 0.55rem;
    border: 1px solid rgba(110, 231, 183, 0.55);
    border-left: 4px solid #6ee7b7;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.14) 0%, rgba(15, 23, 42, 0.92) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.tvc-ims-overview-impact-panel__lead {
    color: #eef2f7;
    line-height: 1.6;
}

.tvc-ims-overview-impact-panel__list {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
    color: #eef2f7;
}

.tvc-ims-overview-impact-panel__list li {
    display: flex;
    align-items: flex-start;
    gap: 0.35rem;
    line-height: 1.55;
}

.tvc-ims-overview-impact-panel__list li + li {
    margin-top: 0.45rem;
}

.tvc-ims-overview-impact-panel__list .bi-check-circle-fill {
    flex: 0 0 auto;
    margin-top: 0.12rem;
    color: #6ee7b7;
}

@media (min-width: 992px) {
    .tvc-ims-overview-pricing-engine__track {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 0.35rem;
    }

    .tvc-ims-overview-pricing-engine__step {
        flex: 1 1 0;
        min-width: 0;
        max-width: none;
        min-height: 3.25rem;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .tvc-ims-overview-pricing-engine__arrow {
        flex: 0 0 auto;
    }

    .tvc-ims-overview-pricing-engine__arrow-icon--down {
        display: none;
    }

    .tvc-ims-overview-pricing-engine__arrow-icon--right {
        display: inline;
    }
}

.tvc-ims-overview-import-section__title {
    letter-spacing: 0.08em;
    font-weight: 600;
    color: #94a3b8;
}

.tvc-ims-overview-import-case .card-body {
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.35) 0%, rgba(15, 23, 42, 0.08) 100%);
}

.tvc-ims-overview-import-features {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
    color: var(--tvc-ims-overview-body);
}

.tvc-ims-overview-import-features li {
    display: flex;
    align-items: flex-start;
    gap: 0.35rem;
    line-height: 1.55;
}

.tvc-ims-overview-import-features li + li {
    margin-top: 0.4rem;
}

.tvc-ims-overview-import-features .bi-check-circle-fill {
    flex: 0 0 auto;
    margin-top: 0.12rem;
    color: #6ee7b7;
}

.tvc-ims-overview-import-value {
    padding: 0.85rem 1rem;
    border-radius: 0.5rem;
    border: 1px solid rgba(148, 163, 184, 0.25);
    background: rgba(15, 23, 42, 0.45);
}

.tvc-ims-overview-import-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    border: 1px solid rgba(96, 165, 250, 0.45);
    background: rgba(37, 99, 235, 0.12);
    color: #dbeafe;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.tvc-ims-overview-import-badge__meta {
    font-weight: 500;
    color: #93c5fd;
}

.tvc-ims-overview-excel-template {
    padding-top: 0.25rem;
    border-top: 1px solid rgba(148, 163, 184, 0.18);
}

.tvc-ims-overview-excel-template__title {
    margin: 0 0 0.65rem;
    font-size: 0.92rem;
    font-weight: 600;
    color: #eef2f7;
}

.tvc-ims-overview-import-template-table {
    margin-bottom: 0;
    font-size: 0.78rem;
}

.tvc-ims-overview-import-template-table thead th {
    background: #1f2c44;
    color: #fff;
    font-weight: 600;
    border-color: rgba(148, 163, 184, 0.25);
    white-space: nowrap;
}

.tvc-ims-overview-import-template-table tbody td {
    border-color: rgba(148, 163, 184, 0.18);
    vertical-align: middle;
}

.tvc-ims-overview-import-template-table code {
    color: #93c5fd;
    background: rgba(37, 99, 235, 0.12);
    padding: 0.1rem 0.35rem;
    border-radius: 0.25rem;
}

.tvc-ims-overview-excel-shot {
    margin: 0;
}

.tvc-ims-overview-excel-shot__caption {
    margin-top: 0.65rem;
    font-size: 0.78rem;
    color: var(--tvc-ims-overview-body-muted);
    line-height: 1.55;
}

.tvc-ims-overview-excel-mock {
    border: 1px solid rgba(148, 163, 184, 0.35);
    border-radius: 0.45rem;
    overflow: hidden;
    background: #f3f3f3;
    box-shadow: 0 10px 28px rgba(2, 6, 23, 0.35);
}

.tvc-ims-overview-excel-mock__toolbar {
    display: flex;
    align-items: flex-end;
    gap: 0.15rem;
    padding: 0.35rem 0.45rem 0;
    background: #217346;
}

.tvc-ims-overview-excel-mock__tab {
    display: inline-block;
    padding: 0.2rem 0.65rem;
    border-radius: 0.25rem 0.25rem 0 0;
    background: rgba(255, 255, 255, 0.18);
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.72rem;
    font-weight: 600;
}

.tvc-ims-overview-excel-mock__tab--active {
    background: #f3f3f3;
    color: #1f2937;
}

.tvc-ims-overview-excel-mock__grid {
    display: grid;
    grid-template-columns: 2rem repeat(4, minmax(0, 1fr));
    font-size: 0.72rem;
    line-height: 1.35;
}

.tvc-ims-overview-excel-mock__corner,
.tvc-ims-overview-excel-mock__col-head,
.tvc-ims-overview-excel-mock__row-head {
    background: #e6e6e6;
    color: #4b5563;
    text-align: center;
    font-weight: 600;
    border: 1px solid #c7c7c7;
    padding: 0.2rem 0.15rem;
}

.tvc-ims-overview-excel-mock__col-head--highlight,
.tvc-ims-overview-excel-mock__cell--date {
    background: #fff8e6;
}

.tvc-ims-overview-excel-mock__cell {
    background: #fff;
    color: #111827;
    border: 1px solid #d4d4d4;
    padding: 0.28rem 0.45rem;
    min-height: 1.65rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tvc-ims-overview-excel-mock__cell--header {
    background: #217346;
    color: #fff;
    font-weight: 700;
}

.tvc-ims-overview-excel-mock__cell--number {
    text-align: right;
}

.tvc-ims-overview-excel-mock__cell--empty {
    background: #fafafa;
}

.tvc-ims-overview-iso-note {
    padding: 0.9rem 1rem;
    border-radius: 0.5rem;
    border: 1px solid rgba(251, 191, 36, 0.45);
    border-left: 4px solid #fbbf24;
    background: linear-gradient(135deg, rgba(251, 191, 36, 0.12) 0%, rgba(15, 23, 42, 0.88) 100%);
}

.tvc-ims-overview-iso-note__title {
    color: #fde68a;
    letter-spacing: 0.02em;
}

.tvc-ims-overview-iso-note__examples {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.tvc-ims-overview-iso-note__examples li {
    margin: 0;
}

.tvc-ims-overview-iso-note__examples code {
    color: #fecaca;
    background: rgba(127, 29, 29, 0.35);
    padding: 0.15rem 0.45rem;
    border-radius: 0.25rem;
}

.tvc-ims-overview-iso-solution {
    padding: 0.85rem 1rem;
    border-radius: 0.5rem;
    border: 1px solid rgba(96, 165, 250, 0.35);
    background: rgba(37, 99, 235, 0.08);
}

.tvc-ims-overview-customer-price-table {
    font-size: 0.78rem;
}

.tvc-ims-overview-customer-price-table thead th {
    background: #1f2c44;
    color: #fff;
    font-weight: 600;
    border-color: rgba(148, 163, 184, 0.25);
    white-space: nowrap;
}

.tvc-ims-overview-customer-price-table tbody td {
    border-color: rgba(148, 163, 184, 0.18);
    vertical-align: middle;
}

.tvc-ims-overview-customer-price-table tbody td.text-end {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    color: #eef2f7;
}

.tvc-ims-overview-value-section__title,
.tvc-ims-overview-dataset__title {
    color: #ffffff !important;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.07em;
}

.tvc-ims-overview-value-card__platform,
.tvc-ims-overview-value-card__benefits {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
    color: var(--tvc-ims-overview-body);
}

.tvc-ims-overview-value-card__platform li,
.tvc-ims-overview-value-card__benefits li {
    position: relative;
    padding-left: 1rem;
    line-height: 1.6;
}

.tvc-ims-overview-value-card__platform li + li,
.tvc-ims-overview-value-card__benefits li + li {
    margin-top: 0.35rem;
}

.tvc-ims-overview-value-card__platform li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #6ee7b7;
    font-weight: 700;
}

.tvc-ims-overview-value-card__benefits .bi-check-circle-fill {
    color: #6ee7b7;
}

.tvc-ims-overview-value-card__quote {
    padding: 1rem 1.1rem;
    border-left: 3px solid #6ee7b7;
    border-radius: 0.45rem;
    background: rgba(15, 23, 42, 0.72);
    color: #eef2f7;
    font-size: 0.92rem;
    line-height: 1.65;
    font-style: italic;
}

.tvc-ims-overview-workflow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.35rem;
    padding: 1rem;
    border: 1px solid rgba(16, 185, 129, 0.28);
    border-radius: 0.55rem;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.08) 0%, rgba(15, 23, 42, 0.95) 55%);
}

.tvc-ims-overview-workflow__step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.45rem;
    min-width: 6.5rem;
    flex: 1 1 6.5rem;
    padding: 0.65rem 0.45rem;
    border: 1px solid #475569;
    border-radius: 0.45rem;
    background: rgba(15, 23, 42, 0.85);
    text-align: center;
}

.tvc-ims-overview-workflow__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 0.45rem;
    background: var(--tvc-ims-accent-soft);
    color: #6ee7b7;
    font-size: 1rem;
}

.tvc-ims-overview-workflow__label {
    font-size: 0.78rem;
    font-weight: 600;
    color: #ffffff;
    line-height: 1.3;
}

.tvc-ims-overview-workflow__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6ee7b7;
    font-size: 1rem;
    flex: 0 0 auto;
}

.tvc-ims-overview-kpi {
    border-color: rgba(16, 185, 129, 0.28);
    background: rgba(15, 23, 42, 0.88);
    transition: border-color 0.15s ease, transform 0.15s ease;
}

.tvc-ims-overview-kpi:hover {
    border-color: rgba(110, 231, 183, 0.55);
    transform: translateY(-1px);
}

.tvc-ims-overview-kpi__label {
    display: block;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--tvc-ims-overview-body-muted);
    margin-bottom: 0.35rem;
}

.tvc-ims-overview-kpi__value {
    display: block;
    font-size: 1.45rem;
    font-weight: 700;
    color: #6ee7b7;
    line-height: 1.15;
}

.tvc-ims-overview-kpi__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.95rem;
    font-weight: 700;
    color: #ecfdf5;
}

.tvc-ims-overview-kpi__badge .bi-check-circle-fill {
    color: #6ee7b7;
}

.tvc-ims-overview-kpi__hint {
    display: block;
    margin-top: 0.45rem;
    font-size: 0.72rem;
    line-height: 1.45;
    color: var(--tvc-ims-overview-body-muted);
}

.tvc-ims-overview-kpi--capability {
    border-left: 3px solid var(--tvc-ims-accent);
}

.tvc-ims-overview-closing {
    text-align: center;
    padding: 1.35rem 1.5rem;
    border: 1px solid rgba(16, 185, 129, 0.35);
    border-radius: 0.55rem;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.14) 0%, rgba(15, 23, 42, 0.98) 60%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.tvc-ims-overview-closing p {
    max-width: 52rem;
    margin-left: auto;
    margin-right: auto;
    color: #eef2f7;
    font-size: 0.95rem;
    line-height: 1.65;
}

@media (max-width: 767.98px) {
    .tvc-ims-overview-workflow__arrow {
        transform: rotate(90deg);
        width: 100%;
    }

    .tvc-ims-overview-workflow__step {
        flex: 1 1 calc(50% - 1.5rem);
    }
}

/* Inventory Balance — ERP analysis layout */
.tvc-ims-demo-module .tvc-ims-inventory-balance-layout {
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 1fr);
    column-gap: 0.75rem;
    align-items: start;
    width: 100%;
}

.tvc-ims-inventory-grid-panel,
.tvc-ims-inventory-detail-panel {
    min-width: 0;
}

.tvc-ims-inventory-grid-panel {
    grid-column: 1;
}

.tvc-ims-inventory-detail-panel {
    grid-column: 2;
    position: sticky;
    top: 1rem;
    align-self: start;
}

.tvc-ims-inventory-grid-panel > .card,
.tvc-ims-inventory-detail-panel > .card,
.tvc-ims-inventory-grid-scroll {
    min-width: 0;
    max-width: 100%;
}

.tvc-ims-inventory-grid-scroll {
    max-height: calc(100vh - 16rem);
    overflow: auto;
}

.tvc-ims-inventory-grid-scroll thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #1e293b;
}

#inventoryBalanceGrid {
    table-layout: fixed;
    width: 100%;
}

#inventoryBalanceGrid td {
    vertical-align: middle;
}

#inventoryBalanceGrid .tvc-ims-inventory-col-item-code {
    width: 5.75rem;
    min-width: 5.25rem;
    max-width: 6.5rem;
    white-space: nowrap;
}

#inventoryBalanceGrid .tvc-ims-inventory-col-item-name {
    width: 16rem;
    min-width: 13.75rem;
    max-width: 17.5rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tvc-ims-inventory-kpi {
    height: 100%;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 0.65rem;
    background: linear-gradient(180deg, rgba(51, 65, 85, 0.45) 0%, rgba(15, 23, 42, 0.95) 100%);
}

.tvc-ims-inventory-kpi__label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.tvc-ims-inventory-kpi__value {
    display: block;
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.tvc-ims-inventory-kpi--active {
    border-color: rgba(148, 163, 184, 0.28);
}

.tvc-ims-inventory-kpi--active .tvc-ims-inventory-kpi__value {
    color: #f8fafc;
}

.tvc-ims-inventory-kpi--opening {
    border-color: rgba(148, 163, 184, 0.35);
    background: linear-gradient(180deg, rgba(100, 116, 139, 0.18) 0%, rgba(15, 23, 42, 0.95) 100%);
}

.tvc-ims-inventory-kpi--opening .tvc-ims-inventory-kpi__value {
    color: #cbd5e1;
}

.tvc-ims-inventory-kpi--receipt {
    border-color: rgba(74, 222, 128, 0.35);
    background: linear-gradient(180deg, rgba(34, 197, 94, 0.14) 0%, rgba(15, 23, 42, 0.95) 100%);
}

.tvc-ims-inventory-kpi--receipt .tvc-ims-inventory-kpi__value {
    color: #4ade80;
}

.tvc-ims-inventory-kpi--issue {
    border-color: rgba(251, 146, 60, 0.35);
    background: linear-gradient(180deg, rgba(249, 115, 22, 0.14) 0%, rgba(15, 23, 42, 0.95) 100%);
}

.tvc-ims-inventory-kpi--issue .tvc-ims-inventory-kpi__value {
    color: #fb923c;
}

.tvc-ims-inventory-kpi--closing {
    border-color: rgba(96, 165, 250, 0.35);
    background: linear-gradient(180deg, rgba(59, 130, 246, 0.14) 0%, rgba(15, 23, 42, 0.95) 100%);
}

.tvc-ims-inventory-kpi--closing .tvc-ims-inventory-kpi__value {
    color: #60a5fa;
}

.tvc-ims-inventory-col-opening {
    color: #94a3b8;
    font-variant-numeric: tabular-nums;
}

.tvc-ims-inventory-col-receipt {
    color: #4ade80;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.tvc-ims-inventory-col-issue {
    color: #fb923c;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.tvc-ims-inventory-col-closing {
    color: #60a5fa;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.tvc-ims-inventory-col-avg-cost {
    color: #fbbf24;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.tvc-ims-inventory-row.is-selected {
    background-color: rgba(59, 130, 246, 0.18) !important;
    box-shadow:
        inset 5px 0 0 #3b82f6,
        inset 0 1px 0 rgba(147, 197, 253, 0.2),
        inset 0 -1px 0 rgba(30, 64, 175, 0.25);
}

.tvc-ims-inventory-row.is-selected td {
    font-weight: 700;
    color: #ffffff;
}

.tvc-ims-inventory-row:hover:not(.is-selected) {
    background-color: rgba(59, 130, 246, 0.08) !important;
}

.tvc-ims-inventory-txn-btn {
    border-color: rgba(148, 163, 184, 0.35);
    color: #94a3b8;
    font-weight: 500;
    box-shadow: none;
}

.tvc-ims-inventory-txn-btn:hover,
.tvc-ims-inventory-txn-btn:focus {
    border-color: rgba(96, 165, 250, 0.55);
    background: rgba(59, 130, 246, 0.12);
    color: #dbeafe;
}

.tvc-ims-inventory-detail-card {
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 16rem);
}

.tvc-ims-inventory-detail-card > .card-body {
    flex: 1 1 auto;
    min-height: 0;
}

.tvc-ims-inventory-detail-header__code {
    font-size: 0.95rem;
    font-weight: 700;
    color: #f8fafc;
    line-height: 1.25;
}

.tvc-ims-inventory-detail-header__name {
    font-size: 0.82rem;
    line-height: 1.35;
}

.tvc-ims-inventory-detail-section-title {
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid #334155;
    font-size: 0.92rem;
    font-weight: 700;
    color: #f8fafc;
}

.tvc-ims-inventory-detail-body {
    flex: 1 1 auto;
    min-height: 12rem;
    display: flex;
    flex-direction: column;
}

.tvc-ims-inventory-detail-hero {
    margin: 0.75rem;
    padding: 1rem 0.85rem;
    text-align: center;
    border: 1px solid rgba(96, 165, 250, 0.4);
    border-radius: 0.55rem;
    background: linear-gradient(180deg, rgba(59, 130, 246, 0.16) 0%, rgba(15, 23, 42, 0.55) 100%);
}

.tvc-ims-inventory-detail-hero__label {
    display: block;
    margin-bottom: 0.25rem;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #93c5fd;
}

.tvc-ims-inventory-detail-hero__value {
    display: block;
    font-size: 1.85rem;
    font-weight: 800;
    line-height: 1.1;
    color: #60a5fa;
    font-variant-numeric: tabular-nums;
}

.tvc-ims-inventory-detail-hero__unit {
    display: block;
    margin-top: 0.2rem;
    font-size: 0.78rem;
    color: #94a3b8;
}

.tvc-ims-inventory-detail-fields {
    padding: 0 0.75rem 0.75rem;
}

.tvc-ims-inventory-detail-field {
    margin-bottom: 0.75rem;
}

.tvc-ims-inventory-detail-field .label {
    display: block;
    margin-bottom: 0.15rem;
    font-size: 0.78rem;
    color: #94a3b8;
}

.tvc-ims-inventory-detail-field .value {
    display: block;
    color: #f8fafc;
    font-weight: 600;
    word-break: break-word;
}

.tvc-ims-inventory-detail-value--inventory {
    font-size: 1.05rem;
    font-weight: 700;
    color: #e2e8f0;
}

.tvc-ims-inventory-detail-breakdown {
    margin-bottom: 0.85rem;
    padding-top: 0.15rem;
}

.tvc-ims-inventory-detail-breakdown__title {
    margin-bottom: 0.35rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: #94a3b8;
}

.tvc-ims-inventory-detail-breakdown-table thead th {
    font-size: 0.72rem;
}

.tvc-ims-inventory-detail-date {
    color: #64748b !important;
}

.tvc-ims-inventory-detail-date-hint {
    margin-top: 0.35rem;
    font-size: 0.72rem;
}

.tvc-ims-inventory-detail-actions {
    margin-top: auto;
    padding: 0.75rem;
    border-top: 1px solid #334155;
}

/* IMS_Demo Executive Dashboard (portfolio analytics) */
.tvc-ims-exec-dashboard {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: 100%;
    overflow-x: hidden;
}

.tvc-ims-exec-dashboard__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.5rem 0.75rem;
    margin-bottom: 0.15rem;
}

.tvc-ims-exec-dashboard__intro {
    font-size: 0.78rem;
    line-height: 1.35;
    max-width: 42rem;
}

.tvc-ims-exec-dashboard__currency-form {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0;
}

.tvc-ims-exec-dashboard__sales-notice {
    font-size: 0.82rem;
    margin-bottom: 0 !important;
}

.tvc-ims-exec-dashboard__executive-panels {
    margin-left: 0;
    margin-right: 0;
}

.tvc-ims-exec-sales-panel {
    display: flex;
    flex-direction: column;
    min-height: 20rem;
    border: 1px solid rgba(102, 179, 255, 0.28);
    border-radius: 0.65rem;
    background: linear-gradient(180deg, rgba(30, 41, 59, 0.92) 0%, rgba(15, 23, 42, 0.98) 100%);
    box-shadow: 0 10px 28px rgba(2, 6, 23, 0.35);
    height: 100%;
}

.tvc-ims-exec-sales-panel__head {
    padding: 0.75rem 1rem 0.55rem;
    border-bottom: 1px solid rgba(51, 65, 85, 0.85);
}

.tvc-ims-exec-sales-panel__title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: #f8fafc;
    letter-spacing: 0.01em;
}

.tvc-ims-exec-sales-panel__subtitle {
    margin-top: 0.25rem;
    color: #94a3b8;
    font-size: 0.78rem;
}

.tvc-ims-exec-revenue-chart-wrap {
    position: relative;
    flex: 1;
    min-height: 14rem;
    height: 250px;
    padding: 0.55rem 0.85rem 0.75rem;
}

.tvc-ims-exec-revenue-chart-wrap canvas {
    width: 100% !important;
    height: 100% !important;
}

.tvc-ims-exec-tab-mount[hidden],
.tvc-ims-exec-tab-bundle[hidden],
.tvc-ims-exec-view-pane[hidden] {
    display: none !important;
}

.tvc-ims-exec-tab-mount {
    min-height: 0;
}

.tvc-ims-exec-revenue-trend {
    padding: 0.85rem 1.1rem 1.1rem;
    flex: 1;
}

.tvc-ims-exec-revenue-trend__header,
.tvc-ims-exec-revenue-trend__row {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 5.5rem;
    gap: 0.75rem;
    align-items: center;
}

.tvc-ims-exec-revenue-trend__header {
    margin-bottom: 0.55rem;
    padding-bottom: 0.45rem;
    border-bottom: 1px solid rgba(51, 65, 85, 0.85);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.tvc-ims-exec-revenue-trend__row {
    padding: 0.72rem 0;
    border-bottom: 1px solid rgba(51, 65, 85, 0.55);
}

.tvc-ims-exec-revenue-trend__row:last-child {
    border-bottom: none;
}

.tvc-ims-exec-revenue-trend__month {
    color: #e2e8f0;
    font-size: 0.92rem;
    font-weight: 600;
}

.tvc-ims-exec-revenue-trend__value {
    color: #f8fafc;
    font-size: 1.05rem;
    font-weight: 700;
}

.tvc-ims-exec-revenue-trend__growth {
    text-align: right;
    font-size: 0.92rem;
    font-weight: 700;
}

.tvc-ims-exec-revenue-trend__growth--up {
    color: #4ade80;
}

.tvc-ims-exec-revenue-trend__growth--down {
    color: #f87171;
}

.tvc-ims-exec-revenue-trend__growth--neutral {
    color: #94a3b8;
}

.tvc-ims-exec-customer-donut {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    gap: 0.85rem;
    padding: 0.85rem 1.1rem 1.1rem;
    flex: 1;
    align-items: center;
}

.tvc-ims-exec-customer-donut__chart-wrap {
    position: relative;
    min-height: 14rem;
    height: 14rem;
}

.tvc-ims-exec-customer-donut__chart-wrap canvas {
    width: 100% !important;
    height: 100% !important;
}

.tvc-ims-exec-customer-donut__center {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    text-align: center;
    padding: 0 1.5rem;
}

.tvc-ims-exec-customer-donut__center-label {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.tvc-ims-exec-customer-donut__center-value {
    margin-top: 0.25rem;
    font-size: 0.95rem;
    font-weight: 700;
    color: #f8fafc;
    line-height: 1.25;
}

.tvc-ims-exec-customer-donut__legend {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 14rem;
    overflow: auto;
}

.tvc-ims-exec-customer-donut__legend-item {
    display: grid;
    grid-template-columns: 0.75rem minmax(0, 1fr) auto;
    gap: 0.45rem;
    align-items: start;
    margin-bottom: 0.45rem;
    font-size: 0.74rem;
    color: #cbd5e1;
}

.tvc-ims-exec-customer-donut__swatch {
    width: 0.65rem;
    height: 0.65rem;
    border-radius: 999px;
    margin-top: 0.2rem;
}

.tvc-ims-exec-customer-donut__swatch--0 { background: rgba(102, 179, 255, 0.9); }
.tvc-ims-exec-customer-donut__swatch--1 { background: rgba(34, 197, 94, 0.9); }
.tvc-ims-exec-customer-donut__swatch--2 { background: rgba(255, 201, 51, 0.9); }
.tvc-ims-exec-customer-donut__swatch--3 { background: rgba(181, 108, 255, 0.9); }
.tvc-ims-exec-customer-donut__swatch--4 { background: rgba(249, 115, 22, 0.9); }
.tvc-ims-exec-customer-donut__swatch--5 { background: rgba(236, 72, 153, 0.9); }
.tvc-ims-exec-customer-donut__swatch--6 { background: rgba(20, 184, 166, 0.9); }
.tvc-ims-exec-customer-donut__swatch--7 { background: rgba(167, 139, 250, 0.9); }
.tvc-ims-exec-customer-donut__swatch--8 { background: rgba(248, 113, 113, 0.9); }
.tvc-ims-exec-customer-donut__swatch--9 { background: rgba(56, 189, 248, 0.9); }

.tvc-ims-exec-customer-donut__legend-label {
    line-height: 1.35;
}

.tvc-ims-exec-customer-donut__legend-share {
    font-weight: 700;
    color: #f8fafc;
    white-space: nowrap;
}

.tvc-ims-exec-view-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    padding: 0.45rem;
    border: 1px solid rgba(102, 179, 255, 0.22);
    border-radius: 0.65rem;
    background: rgba(15, 23, 42, 0.55);
    box-shadow: 0 6px 18px rgba(2, 6, 23, 0.22);
}

.tvc-ims-exec-view-nav__btn {
    border: 1px solid transparent;
    border-radius: 0.45rem;
    background: transparent;
    color: #cbd5e1;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    padding: 0.45rem 0.85rem;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.tvc-ims-exec-view-nav__btn:hover,
.tvc-ims-exec-view-nav__btn:focus {
    border-color: rgba(102, 179, 255, 0.45);
    color: #f8fafc;
}

.tvc-ims-exec-view-nav__btn.is-active {
    border-color: rgba(102, 179, 255, 0.65);
    background: rgba(102, 179, 255, 0.16);
    color: #f8fafc;
    box-shadow: inset 0 0 0 1px rgba(102, 179, 255, 0.2);
}

.tvc-ims-exec-dashboard__exec-kpi-row {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.55rem;
}

.tvc-ims-exec-kpi-card {
    padding: 0.65rem 0.75rem;
    border: 1px solid #334155;
    border-radius: 0.5rem;
    background: rgba(30, 41, 59, 0.72);
    min-height: 4.5rem;
}

.tvc-ims-exec-kpi-card__label {
    margin-bottom: 0.25rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.tvc-ims-exec-kpi-card__value {
    font-size: 0.92rem;
    font-weight: 700;
    color: #f8fafc;
    line-height: 1.25;
    word-break: break-word;
}

.tvc-ims-exec-view-pane[hidden] {
    display: none !important;
}

.tvc-ims-exec-progress__bar--revenue {
    background: rgba(102, 179, 255, 0.9);
}

.tvc-ims-exec-dashboard {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: 100%;
    overflow-x: hidden;
}

.tvc-ims-exec-dashboard__sales-notice {
    font-size: 0.82rem;
}

.tvc-ims-exec-dashboard__executive-panels {
    margin-left: 0;
    margin-right: 0;
}

.tvc-ims-exec-sales-panel {
    display: flex;
    flex-direction: column;
    min-height: 24rem;
    border: 1px solid rgba(102, 179, 255, 0.28);
    border-radius: 0.65rem;
    background: linear-gradient(180deg, rgba(30, 41, 59, 0.92) 0%, rgba(15, 23, 42, 0.98) 100%);
    box-shadow: 0 10px 28px rgba(2, 6, 23, 0.35);
    height: 100%;
    width: 100%;
    overflow: hidden;
}

.tvc-ims-exec-sales-panel__head {
    padding: 1rem 1.1rem 0.75rem;
    border-bottom: 1px solid rgba(51, 65, 85, 0.85);
    flex-shrink: 0;
}

.tvc-ims-exec-sales-panel__title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: #f8fafc;
    letter-spacing: 0.01em;
}

.tvc-ims-exec-sales-panel__subtitle {
    margin-top: 0.3rem;
    color: #94a3b8;
    font-size: 0.78rem;
    line-height: 1.35;
}

.tvc-ims-exec-revenue-chart-wrap {
    position: relative;
    flex: 1 1 auto;
    min-height: 16rem;
    height: 16rem;
    padding: 0.75rem 1rem 1rem;
}

.tvc-ims-exec-customer-donut {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    gap: 0.85rem;
    padding: 0.85rem 1.1rem 1.1rem;
    flex: 1 1 auto;
    align-items: center;
    min-height: 16rem;
}

.tvc-ims-exec-revenue-chart-wrap canvas {
    width: 100% !important;
    height: 100% !important;
}

.tvc-ims-exec-tab-mount[hidden],
.tvc-ims-exec-tab-bundle[hidden],
.tvc-ims-exec-view-pane[hidden] {
    display: none !important;
}

.tvc-ims-exec-tab-mount {
    min-height: 0;
}

.tvc-ims-exec-revenue-trend {
    padding: 0.85rem 1.1rem 1.1rem;
    flex: 1;
}

.tvc-ims-exec-revenue-trend__header,
.tvc-ims-exec-revenue-trend__row {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 5.5rem;
    gap: 0.75rem;
    align-items: center;
}

.tvc-ims-exec-revenue-trend__header {
    margin-bottom: 0.55rem;
    padding-bottom: 0.45rem;
    border-bottom: 1px solid rgba(51, 65, 85, 0.85);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.tvc-ims-exec-revenue-trend__row {
    padding: 0.72rem 0;
    border-bottom: 1px solid rgba(51, 65, 85, 0.55);
}

.tvc-ims-exec-revenue-trend__month {
    color: #e2e8f0;
    font-size: 0.92rem;
    font-weight: 600;
}

.tvc-ims-exec-revenue-trend__value {
    color: #f8fafc;
    font-size: 1.05rem;
    font-weight: 700;
}

.tvc-ims-exec-revenue-trend__growth {
    text-align: right;
    font-size: 0.92rem;
    font-weight: 700;
}

.tvc-ims-exec-revenue-trend__growth--up { color: #4ade80; }
.tvc-ims-exec-revenue-trend__growth--down { color: #f87171; }
.tvc-ims-exec-revenue-trend__growth--neutral { color: #94a3b8; }

.tvc-ims-exec-customer-donut__chart-wrap {
    position: relative;
    min-height: 14rem;
    height: 14rem;
}

.tvc-ims-exec-customer-donut__chart-wrap canvas {
    width: 100% !important;
    height: 100% !important;
}

.tvc-ims-exec-customer-donut__center {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    text-align: center;
    padding: 0 1.5rem;
}

.tvc-ims-exec-customer-donut__center-label {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.tvc-ims-exec-customer-donut__center-value {
    margin-top: 0.25rem;
    font-size: 0.95rem;
    font-weight: 700;
    color: #f8fafc;
}

.tvc-ims-exec-customer-donut__legend {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 14rem;
    overflow: auto;
}

.tvc-ims-exec-customer-donut__legend-item {
    display: grid;
    grid-template-columns: 0.75rem minmax(0, 1fr) auto;
    gap: 0.45rem;
    align-items: start;
    margin-bottom: 0.45rem;
    font-size: 0.74rem;
    color: #cbd5e1;
}

.tvc-ims-exec-customer-donut__swatch {
    width: 0.65rem;
    height: 0.65rem;
    border-radius: 999px;
    margin-top: 0.2rem;
}

.tvc-ims-exec-customer-donut__swatch--0 { background: rgba(102, 179, 255, 0.9); }
.tvc-ims-exec-customer-donut__swatch--1 { background: rgba(34, 197, 94, 0.9); }
.tvc-ims-exec-customer-donut__swatch--2 { background: rgba(255, 201, 51, 0.9); }
.tvc-ims-exec-customer-donut__swatch--3 { background: rgba(181, 108, 255, 0.9); }
.tvc-ims-exec-customer-donut__swatch--4 { background: rgba(249, 115, 22, 0.9); }
.tvc-ims-exec-customer-donut__swatch--5 { background: rgba(236, 72, 153, 0.9); }
.tvc-ims-exec-customer-donut__swatch--6 { background: rgba(20, 184, 166, 0.9); }
.tvc-ims-exec-customer-donut__swatch--7 { background: rgba(167, 139, 250, 0.9); }
.tvc-ims-exec-customer-donut__swatch--8 { background: rgba(248, 113, 113, 0.9); }
.tvc-ims-exec-customer-donut__swatch--9 { background: rgba(56, 189, 248, 0.9); }

.tvc-ims-exec-customer-donut__legend-share {
    font-weight: 700;
    color: #f8fafc;
    white-space: nowrap;
}

.tvc-ims-exec-view-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    padding: 0.45rem;
    border: 1px solid rgba(102, 179, 255, 0.22);
    border-radius: 0.65rem;
    background: rgba(15, 23, 42, 0.55);
    box-shadow: 0 6px 18px rgba(2, 6, 23, 0.22);
}

.tvc-ims-exec-view-nav__btn {
    border: 1px solid transparent;
    border-radius: 0.45rem;
    background: transparent;
    color: #cbd5e1;
    font-size: 0.78rem;
    font-weight: 600;
    padding: 0.45rem 0.85rem;
}

.tvc-ims-exec-view-nav__btn.is-active {
    border-color: rgba(102, 179, 255, 0.65);
    background: rgba(102, 179, 255, 0.16);
    color: #f8fafc;
}

.tvc-ims-exec-dashboard__exec-kpi-row {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.55rem;
}

.tvc-ims-exec-kpi-card {
    padding: 0.65rem 0.75rem;
    border: 1px solid #334155;
    border-radius: 0.5rem;
    background: rgba(30, 41, 59, 0.72);
}

.tvc-ims-exec-kpi-card__label {
    margin-bottom: 0.25rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.tvc-ims-exec-kpi-card__value {
    font-size: 0.92rem;
    font-weight: 700;
    color: #f8fafc;
}

.tvc-ims-exec-view-pane[hidden] {
    display: none !important;
}

.tvc-ims-exec-progress__bar--revenue {
    background: rgba(102, 179, 255, 0.9);
}

.tvc-ims-exec-dashboard__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.tvc-ims-exec-dashboard__intro {
    margin: 0;
    font-size: 0.82rem;
}

.tvc-ims-exec-dashboard__currency-form {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    white-space: nowrap;
}

.tvc-ims-exec-dashboard__currency-form .form-control {
    width: 5.5rem;
    min-width: 5.5rem;
}

.tvc-ims-exec-dashboard__kpi-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.tvc-ims-exec-dashboard__header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem 1.25rem;
    margin-bottom: 0.25rem;
}

.tvc-ims-exec-dashboard__header-main {
    flex: 1 1 18rem;
    min-width: 0;
}

.tvc-ims-exec-dashboard__header-title {
    margin: 0 0 0.4rem;
    color: #f8fafc;
    font-size: clamp(1.5rem, 2.2vw, 2rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

.tvc-ims-exec-dashboard__header-subtitle {
    margin: 0;
    color: #94a3b8;
    font-size: 0.92rem;
    line-height: 1.45;
    max-width: 36rem;
}

.tvc-ims-exec-dashboard__currency-card {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 0.85rem;
    flex: 0 1 auto;
    padding: 0.65rem 0.85rem;
    border: 1px solid rgba(102, 179, 255, 0.22);
    border-radius: 0.65rem;
    background: linear-gradient(180deg, rgba(30, 41, 59, 0.82) 0%, rgba(15, 23, 42, 0.92) 100%);
    box-shadow: 0 6px 18px rgba(2, 6, 23, 0.28);
}

.tvc-ims-exec-dashboard__currency-info {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.tvc-ims-exec-dashboard__currency-line {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem;
    font-size: 0.78rem;
    line-height: 1.35;
}

.tvc-ims-exec-dashboard__currency-label {
    color: #94a3b8;
    font-weight: 600;
    white-space: nowrap;
}

.tvc-ims-exec-dashboard__currency-value {
    color: #e2e8f0;
    font-weight: 700;
}

.tvc-ims-exec-dashboard__currency-form {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    white-space: nowrap;
}

.tvc-ims-exec-dashboard__currency-select {
    width: 4.75rem;
    min-width: 4.75rem;
    height: 1.85rem;
    padding: 0.15rem 0.45rem;
    font-size: 0.78rem;
    font-weight: 600;
    border-radius: 0.45rem;
    border-color: #334155;
    background: rgba(15, 23, 42, 0.85);
    color: #e2e8f0;
}

.tvc-ims-exec-summary-kpi {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 5.5rem;
    height: 100%;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(102, 179, 255, 0.22);
    border-radius: 0.65rem;
    background: linear-gradient(180deg, rgba(30, 41, 59, 0.88) 0%, rgba(15, 23, 42, 0.95) 100%);
    box-shadow: 0 8px 22px rgba(2, 6, 23, 0.3);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.tvc-ims-exec-summary-kpi:hover {
    border-color: rgba(102, 179, 255, 0.45);
    box-shadow: 0 12px 28px rgba(2, 6, 23, 0.38);
    transform: translateY(-1px);
}

.tvc-ims-exec-summary-kpi__label {
    margin-bottom: 0.4rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.tvc-ims-exec-summary-kpi__value {
    font-size: clamp(1.05rem, 1.6vw, 1.35rem);
    font-weight: 700;
    line-height: 1.25;
    color: #f8fafc;
    word-break: break-word;
}

.tvc-ims-exec-summary-kpi--revenue {
    border-color: rgba(52, 211, 153, 0.3);
    background: linear-gradient(180deg, rgba(16, 185, 129, 0.1) 0%, rgba(15, 23, 42, 0.95) 100%);
    box-shadow:
        0 8px 22px rgba(2, 6, 23, 0.3),
        0 0 0 1px rgba(52, 211, 153, 0.06),
        0 0 20px rgba(16, 185, 129, 0.1);
}

.tvc-ims-exec-summary-kpi--revenue:hover {
    border-color: rgba(52, 211, 153, 0.46);
    box-shadow:
        0 12px 28px rgba(2, 6, 23, 0.38),
        0 0 0 1px rgba(52, 211, 153, 0.1),
        0 0 26px rgba(16, 185, 129, 0.16);
}

.tvc-ims-exec-summary-kpi--customers {
    border-color: rgba(96, 165, 250, 0.3);
    background: linear-gradient(180deg, rgba(59, 130, 246, 0.1) 0%, rgba(15, 23, 42, 0.95) 100%);
    box-shadow:
        0 8px 22px rgba(2, 6, 23, 0.3),
        0 0 0 1px rgba(96, 165, 250, 0.06),
        0 0 20px rgba(59, 130, 246, 0.1);
}

.tvc-ims-exec-summary-kpi--customers:hover {
    border-color: rgba(96, 165, 250, 0.46);
    box-shadow:
        0 12px 28px rgba(2, 6, 23, 0.38),
        0 0 0 1px rgba(96, 165, 250, 0.1),
        0 0 26px rgba(59, 130, 246, 0.16);
}

.tvc-ims-exec-summary-kpi--products {
    border-color: rgba(167, 139, 250, 0.3);
    background: linear-gradient(180deg, rgba(139, 92, 246, 0.1) 0%, rgba(15, 23, 42, 0.95) 100%);
    box-shadow:
        0 8px 22px rgba(2, 6, 23, 0.3),
        0 0 0 1px rgba(167, 139, 250, 0.06),
        0 0 20px rgba(139, 92, 246, 0.1);
}

.tvc-ims-exec-summary-kpi--products:hover {
    border-color: rgba(167, 139, 250, 0.46);
    box-shadow:
        0 12px 28px rgba(2, 6, 23, 0.38),
        0 0 0 1px rgba(167, 139, 250, 0.1),
        0 0 26px rgba(139, 92, 246, 0.16);
}

.tvc-ims-exec-summary-kpi--warehouses {
    border-color: rgba(251, 191, 36, 0.28);
    background: linear-gradient(180deg, rgba(245, 158, 11, 0.09) 0%, rgba(15, 23, 42, 0.95) 100%);
    box-shadow:
        0 8px 22px rgba(2, 6, 23, 0.3),
        0 0 0 1px rgba(251, 191, 36, 0.06),
        0 0 20px rgba(245, 158, 11, 0.09);
}

.tvc-ims-exec-summary-kpi--warehouses:hover {
    border-color: rgba(251, 191, 36, 0.42);
    box-shadow:
        0 12px 28px rgba(2, 6, 23, 0.38),
        0 0 0 1px rgba(251, 191, 36, 0.1),
        0 0 26px rgba(245, 158, 11, 0.14);
}

.tvc-ims-exec-dashboard__executive-panels > [class*="col-"] {
    display: flex;
    min-width: 0;
}

.tvc-ims-exec-dashboard__panels {
    margin-left: 0;
    margin-right: 0;
}

.tvc-ims-exec-panel {
    background: linear-gradient(180deg, rgba(30, 41, 59, 0.82) 0%, rgba(15, 23, 42, 0.92) 100%);
    border: 1px solid rgba(102, 179, 255, 0.22);
    border-radius: 0.65rem;
    box-shadow: 0 8px 22px rgba(2, 6, 23, 0.28);
    height: 100%;
    margin-bottom: 1rem;
}

.tvc-ims-exec-panel__head {
    padding: 0.85rem 1rem;
    border-bottom: 1px solid #334155;
}

.tvc-ims-exec-panel__title {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: #f8fafc;
}

.tvc-ims-exec-panel__body {
    padding: 0.85rem 1rem 1rem;
}

.tvc-ims-exec-panel__body--flush {
    padding: 0;
}

.tvc-ims-exec-bar-row {
    margin-bottom: 0.85rem;
}

.tvc-ims-exec-bar-row:last-child {
    margin-bottom: 0;
}

.tvc-ims-exec-bar-row__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.35rem;
}

.tvc-ims-exec-bar-row__label {
    color: #e2e8f0;
    font-weight: 600;
    font-size: 0.84rem;
}

.tvc-ims-exec-bar-row__status {
    margin-left: 0.35rem;
    font-size: 0.62rem;
    vertical-align: middle;
}

.tvc-ims-exec-bar-row__value {
    color: #cbd5e1;
    font-size: 0.82rem;
    white-space: nowrap;
}

.tvc-ims-exec-bar-row__share {
    margin-top: 0.25rem;
    font-size: 0.74rem;
    color: #94a3b8;
}

.tvc-ims-exec-progress {
    height: 0.55rem;
    margin: 0;
    background: rgba(30, 41, 59, 0.85);
    border-radius: 999px;
    overflow: hidden;
}

.tvc-ims-exec-progress__bar {
    background: rgba(148, 163, 184, 0.85);
    box-shadow: none;
}

.tvc-ims-exec-progress__bar--warehouse {
    background: rgba(100, 116, 139, 0.95);
}

.tvc-ims-exec-aging-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.tvc-ims-exec-aging-card {
    background: rgba(30, 41, 59, 0.65);
    border: 1px solid #334155;
    border-radius: 0.5rem;
    padding: 0.85rem;
    min-height: 8.5rem;
}

.tvc-ims-exec-aging-card__label {
    margin-bottom: 0.55rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #94a3b8;
}

.tvc-ims-exec-aging-card__metric {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.35rem;
}

.tvc-ims-exec-aging-card__metric-label {
    color: #94a3b8;
    font-size: 0.76rem;
}

.tvc-ims-exec-aging-card__metric-value {
    color: #f8fafc;
    font-size: 0.84rem;
    font-weight: 600;
    text-align: right;
}

.tvc-ims-exec-aging-card__share {
    margin-top: 0.55rem;
    padding-top: 0.55rem;
    border-top: 1px solid #334155;
    font-size: 0.74rem;
    color: #94a3b8;
}

@media (max-width: 991.98px) {
    .tvc-ims-exec-dashboard__header {
        flex-direction: column;
        align-items: stretch;
    }

    .tvc-ims-exec-dashboard__currency-card {
        align-self: flex-start;
    }

    .tvc-ims-exec-dashboard__kpi-row,
    .tvc-ims-exec-aging-row,
    .tvc-ims-exec-dashboard__exec-kpi-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tvc-ims-exec-customer-donut {
        grid-template-columns: minmax(0, 1fr);
    }

    .tvc-ims-exec-insights-thinking__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .tvc-ims-exec-dashboard__kpi-row,
    .tvc-ims-exec-aging-row,
    .tvc-ims-exec-dashboard__exec-kpi-row {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Executive Dashboard — insights panel */
.tvc-ims-exec-insights {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.tvc-ims-exec-insights__title {
    margin: 0;
    color: #f8fafc;
    font-weight: 700;
}

.tvc-ims-exec-insights__subtitle {
    color: #94a3b8;
}

.tvc-ims-exec-insights-card {
    padding: 0.85rem 1rem;
    border: 1px solid #334155;
    border-radius: 0.5rem;
    background: rgba(15, 23, 42, 0.45);
}

.tvc-ims-exec-insights-card__title {
    margin: 0;
    color: #f8fafc;
    font-weight: 700;
}

.tvc-ims-exec-insights-metric {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    margin-bottom: 0.65rem;
    padding-bottom: 0.65rem;
    border-bottom: 1px solid rgba(51, 65, 85, 0.75);
}

.tvc-ims-exec-insights-metric__label {
    font-size: 0.74rem;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.tvc-ims-exec-insights-metric__value {
    color: #e2e8f0;
    font-size: 0.88rem;
}

.tvc-ims-exec-insights-metric__accent {
    color: #93c5fd;
}

.tvc-ims-exec-insights-status-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

.tvc-ims-exec-insights-status-item {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.55rem 0.65rem;
    border: 1px solid rgba(51, 65, 85, 0.75);
    border-radius: 0.45rem;
    background: rgba(30, 41, 59, 0.55);
}

.tvc-ims-exec-insights-status-item__label {
    font-size: 0.72rem;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.tvc-ims-exec-insights-status {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.76rem;
    font-weight: 700;
}

.tvc-ims-exec-insights-status--healthy {
    background: rgba(34, 197, 94, 0.15);
    color: #4ade80;
    border: 1px solid rgba(34, 197, 94, 0.35);
}

.tvc-ims-exec-insights-status--warning {
    background: rgba(250, 204, 21, 0.12);
    color: #facc15;
    border: 1px solid rgba(250, 204, 21, 0.35);
}

.tvc-ims-exec-insights-status--critical {
    background: rgba(248, 113, 113, 0.12);
    color: #f87171;
    border: 1px solid rgba(248, 113, 113, 0.35);
}

.tvc-ims-exec-insights-observation {
    padding: 0.85rem 1rem;
    border: 1px solid #334155;
    border-radius: 0.5rem;
    background: rgba(30, 41, 59, 0.45);
}

.tvc-ims-exec-insights-observation__title {
    color: #e2e8f0;
}

.tvc-ims-exec-insights-observation__list {
    padding-left: 1.1rem;
    color: #cbd5e1;
}

.tvc-ims-exec-insights-thinking {
    padding: 1rem 1.1rem;
    border: 1px solid rgba(102, 179, 255, 0.22);
    border-radius: 0.65rem;
    background: linear-gradient(180deg, rgba(30, 41, 59, 0.82) 0%, rgba(15, 23, 42, 0.92) 100%);
    box-shadow: 0 8px 22px rgba(2, 6, 23, 0.28);
}

.tvc-ims-exec-insights-thinking__title {
    margin: 0 0 0.85rem;
    color: #f8fafc;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.tvc-ims-exec-insights-thinking__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.tvc-ims-exec-insights-thinking__item {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    min-height: 3.25rem;
    padding: 0.7rem 0.8rem;
    border: 1px solid rgba(51, 65, 85, 0.85);
    border-radius: 0.55rem;
    background: rgba(15, 23, 42, 0.55);
    color: #cbd5e1;
    font-size: 0.82rem;
    line-height: 1.4;
    transition: border-color 0.15s ease, background 0.15s ease;
}

.tvc-ims-exec-insights-thinking__item:hover {
    border-color: rgba(102, 179, 255, 0.35);
    background: rgba(30, 41, 59, 0.65);
}

.tvc-ims-exec-insights-thinking__icon {
    flex-shrink: 0;
    margin-top: 0.1rem;
    color: #4ade80;
    font-size: 0.9rem;
    line-height: 1;
}

.tvc-ims-exec-insights-thinking__list .bi-check-circle-fill {
    color: #4ade80;
}

@media (max-width: 991.98px) {
    .tvc-ims-exec-insights-thinking__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .tvc-ims-exec-insights-status-grid,
    .tvc-ims-exec-insights-thinking__list {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* Item Master — ERP 3-panel restore (Jun 2026) */
/* Item Master — pricing matrix (Phase IM-2) */
.tvc-ims-item-pricing-card,
.tvc-ims-item-planning-card {
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 11.5rem);
    max-height: calc(100vh - 8rem);
    overflow-y: auto;
}

.tvc-ims-item-pricing-card > .card-body,
.tvc-ims-item-planning-card > .card-body {
    flex: 1 1 auto;
    min-height: 0;
}

.tvc-ims-item-pricing-header,
.tvc-ims-item-planning-header {
    font-size: 0.92rem;
    font-weight: 700;
    color: #f8fafc;
    line-height: 1.3;
}

.tvc-ims-item-pricing-matrix__title {
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid #334155;
    font-size: 1.1rem;
    font-weight: 700;
    color: #f8fafc;
}

.tvc-ims-item-pricing-matrix__title--section {
    margin-top: 0.15rem;
    border-top: 1px solid #334155;
    font-size: 0.88rem;
    padding-top: 0.55rem;
    padding-bottom: 0.45rem;
}

@media (max-width: 767.98px) {
    .tvc-ims-warehouse-thinking__list {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Item Master — compact toolbar and item planning profile */
.tvc-ims-demo-module:has(.tvc-ims-item-page) .tvc-booking-page__head {
    margin-bottom: 0.35rem !important;
}

.tvc-ims-demo-module:has(.tvc-ims-item-page) .tvc-booking-page__title {
    font-size: 1.05rem;
}

.tvc-ims-demo-module:has(.tvc-ims-item-page) .tvc-booking-page__subtitle {
    font-size: 0.78rem;
    line-height: 1.35;
}

.tvc-ims-item-toolbar__layout {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.65rem 1rem;
}

.tvc-ims-item-toolbar__filters {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.5rem 0.65rem;
    flex: 1 1 18rem;
    min-width: 0;
}

.tvc-ims-item-toolbar__field {
    flex: 0 0 auto;
    min-width: 8rem;
}

.tvc-ims-item-toolbar__field--search {
    flex: 1 1 12rem;
    min-width: 10rem;
    max-width: 18rem;
}

.tvc-ims-item-toolbar__field--status {
    min-width: 7rem;
    max-width: 9rem;
}

.tvc-ims-item-toolbar__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
}

.tvc-ims-item-toolbar__stats {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 1rem;
    padding: 0.15rem 0;
    font-size: 0.82rem;
    color: #cbd5e1;
}

.tvc-ims-item-toolbar__stat-label {
    color: #94a3b8;
    margin-right: 0.15rem;
}

.tvc-ims-item-toolbar__stat strong {
    color: #f8fafc;
    font-weight: 700;
}

/* Customer Master — compact ERP commercial profile layout */
.tvc-ims-demo-module:has(.tvc-ims-customer-page) .tvc-booking-page__head {
    margin-bottom: 0.2rem !important;
    padding-bottom: 0 !important;
}

.tvc-ims-demo-module:has(.tvc-ims-customer-page) .tvc-booking-page__title {
    font-size: 1.05rem;
    line-height: 1.25;
    margin-bottom: 0 !important;
}

.tvc-ims-demo-module:has(.tvc-ims-customer-page) .tvc-booking-page__subtitle {
    display: none !important;
}

.tvc-ims-customer-page {
    max-width: 100%;
    overflow-x: hidden;
}

/* Customer Master — ERP viewport workspace (independent panel scrolling) */
.tvc-dash-body--booking:has(.tvc-ims-customer-page--erp) {
    overflow: hidden;
    height: 100vh;
}

.tvc-ims-demo-module:has(.tvc-ims-customer-page--erp) {
    overflow: hidden;
    max-height: calc(100vh - var(--dzm-header-h, 56px) - 0.65rem);
}

.tvc-ims-demo-module:has(.tvc-ims-customer-page--erp) .tvc-booking-layout {
    align-items: stretch;
    min-height: 0;
    height: 100%;
    max-height: calc(100vh - var(--dzm-header-h, 56px) - 1rem);
    overflow: hidden;
}

.tvc-ims-demo-module:has(.tvc-ims-customer-page--erp) .tvc-booking-layout__main {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    height: calc(100vh - var(--dzm-header-h, 56px) - 1rem);
    max-height: calc(100vh - var(--dzm-header-h, 56px) - 1rem);
}

.tvc-ims-demo-module:has(.tvc-ims-customer-page--erp) .tvc-booking-page__head {
    flex-shrink: 0;
}

.tvc-ims-customer-page--erp {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

.tvc-ims-customer-page--erp .tvc-ims-customer-page__subtitle {
    flex-shrink: 0;
}

.tvc-ims-customer-page--erp .tvc-ims-customer-page__subtitle,
.tvc-ims-customer-page--erp .tvc-ims-customer-toolbar {
    flex-shrink: 0;
}

.tvc-ims-customer-page--erp .tvc-ims-customer-toolbar {
    margin-bottom: 0.35rem !important;
}

.tvc-ims-customer-workspace--erp {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    align-items: stretch;
}

.tvc-ims-customer-workspace--erp .tvc-ims-customer-workspace-panel {
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.tvc-ims-customer-workspace--erp .tvc-ims-customer-panel-card {
    height: 100%;
    min-height: 0;
    max-height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.tvc-ims-customer-workspace--erp .tvc-ims-customer-panel-card > .card-header {
    flex-shrink: 0;
}

.tvc-ims-customer-panel-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.tvc-ims-customer-workspace--erp .tvc-ims-customer-grid-scroll {
    max-height: none;
    overflow: visible;
}

.tvc-ims-customer-workspace--erp .tvc-ims-customer-discount-matrix__body {
    flex: none;
    min-height: 0;
}

.tvc-ims-customer-workspace--erp .tvc-ims-customer-discount-scroll {
    overflow: visible;
    max-height: none;
}

.tvc-ims-customer-workspace--erp .tvc-ims-customer-detail-primary {
    flex: none;
    min-height: 0;
}

.tvc-ims-customer-page__subtitle {
    margin: 0 0 0.45rem;
    padding: 0;
    font-size: 0.78rem;
    line-height: 1.35;
    color: #94a3b8;
}

.tvc-ims-customer-toolbar__layout {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.5rem 0.85rem;
}

.tvc-ims-customer-toolbar__filters {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.45rem 0.65rem;
    flex: 1 1 18rem;
    min-width: 0;
}

.tvc-ims-customer-toolbar__field {
    flex: 0 0 auto;
    min-width: 8rem;
}

.tvc-ims-customer-toolbar__field--search {
    flex: 1 1 12rem;
    min-width: 10rem;
    max-width: 18rem;
}

.tvc-ims-customer-toolbar__field--status {
    min-width: 7rem;
    max-width: 9rem;
}

.tvc-ims-customer-toolbar__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
}

.tvc-ims-customer-toolbar__stats {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem 0.85rem;
    padding: 0.1rem 0;
    font-size: 0.82rem;
    color: #cbd5e1;
}

.tvc-ims-customer-toolbar__stat {
    display: inline-flex;
    align-items: baseline;
    gap: 0.2rem;
    padding: 0.12rem 0.55rem;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(15, 23, 42, 0.45);
    white-space: nowrap;
}

.tvc-ims-customer-toolbar__stat-label {
    color: #94a3b8;
}

.tvc-ims-customer-toolbar__stat strong {
    color: #f8fafc;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.tvc-ims-customer-page .tvc-ims-customer-workspace {
    gap: 0.65rem;
}

.tvc-ims-customer-page--erp .tvc-ims-customer-workspace--erp {
    gap: 0.65rem;
}

.tvc-ims-customer-page .tvc-ims-customer-split {
    gap: 0.65rem;
}

.tvc-ims-customer-page .tvc-ims-customer-discount-card .card-header {
    padding-top: 0.45rem;
    padding-bottom: 0.45rem;
}

.tvc-ims-customer-page .tvc-ims-customer-discount-header__code {
    font-size: 1.05rem;
}

.tvc-ims-customer-page .tvc-ims-customer-discount-header__name {
    margin-top: 0.1rem;
    font-size: 0.88rem;
}

.tvc-ims-customer-page .tvc-ims-customer-discount-matrix__title {
    padding: 0.45rem 0.65rem;
    font-size: 0.92rem;
}

.tvc-ims-customer-page .tvc-ims-customer-discount-matrix__title--secondary {
    font-size: 0.84rem;
}

.tvc-ims-customer-page .tvc-ims-customer-commercial-settings {
    padding: 0.5rem 0.65rem !important;
}

.tvc-ims-customer-page .tvc-ims-customer-commercial-settings .mb-2 {
    margin-bottom: 0.45rem !important;
}

.tvc-ims-customer-page .tvc-ims-customer-pricing-rules-summary {
    padding: 0.35rem 0.65rem;
}

.tvc-ims-customer-page .tvc-ims-customer-group-discount-help {
    padding: 0.35rem 0.65rem 0.45rem !important;
    font-size: 0.74rem;
}

.tvc-ims-customer-page .tvc-ims-customer-pricing-preview,
.tvc-ims-customer-page .tvc-ims-customer-pricing-hierarchy {
    padding: 0.5rem 0.65rem !important;
}

.tvc-ims-item-page .tvc-ims-item-master-layout {
    gap: 0.75rem;
}

.tvc-ims-item-page .tvc-ims-item-grid-scroll {
    max-height: calc(100vh - 11.5rem);
}

.tvc-ims-item-planning-profile__title {
    padding: 0.45rem 0.75rem;
    border-bottom: 1px solid #334155;
    font-size: 0.88rem;
    font-weight: 700;
    color: #f8fafc;
}

.tvc-ims-item-planning-kpi-panel {
    padding: 0.55rem 0.75rem 0.65rem;
    border-bottom: 1px solid #334155;
}

.tvc-ims-item-planning-kpi-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
}

.tvc-ims-item-planning-kpi {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 3.65rem;
    padding: 0.45rem 0.55rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 0.45rem;
    background: rgba(15, 23, 42, 0.55);
}

.tvc-ims-item-planning-kpi__label {
    display: block;
    margin-bottom: 0.2rem;
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.tvc-ims-item-planning-kpi__value {
    display: block;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.25;
    color: #f8fafc;
    font-variant-numeric: tabular-nums;
}

.tvc-ims-item-planning-kpi--abc {
    border-color: rgba(96, 165, 250, 0.35);
    background: linear-gradient(180deg, rgba(59, 130, 246, 0.12) 0%, rgba(15, 23, 42, 0.55) 100%);
}

.tvc-ims-item-planning-kpi--abc .tvc-ims-item-planning-kpi__value {
    color: #60a5fa;
}

.tvc-ims-item-planning-kpi--strategy {
    border-color: rgba(74, 222, 128, 0.3);
}

.tvc-ims-item-planning-kpi--lead-time,
.tvc-ims-item-planning-kpi--reorder,
.tvc-ims-item-planning-kpi--safety {
    border-color: rgba(148, 163, 184, 0.28);
}

.tvc-ims-item-planning-kpi--vendor .tvc-ims-item-planning-kpi__value {
    font-size: 0.78rem;
    font-weight: 600;
}

.tvc-ims-item-procurement-insight {
    margin: 0.65rem 0.75rem 0;
    padding: 0.65rem 0.75rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 0.5rem;
    background: rgba(15, 23, 42, 0.55);
}

.tvc-ims-item-procurement-insight__title {
    color: #ffffff;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.tvc-ims-item-procurement-insight__head {
    margin-bottom: 0.55rem;
}

.tvc-ims-item-procurement-insight__grid {
    display: grid;
    gap: 0.45rem;
}

.tvc-ims-item-procurement-insight__row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: baseline;
    gap: 0.35rem;
    font-size: 0.82rem;
    color: #cbd5e1;
}

.tvc-ims-item-procurement-insight__label {
    color: #94a3b8;
    font-weight: 600;
}

.tvc-ims-item-procurement-insight__dots {
    border-bottom: 1px dotted rgba(148, 163, 184, 0.45);
    transform: translateY(-0.15rem);
}

.tvc-ims-item-procurement-insight__value {
    color: #f8fafc;
    font-size: 0.88rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.tvc-ims-item-inventory-status {
    display: inline-block;
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    white-space: nowrap;
}

.tvc-ims-item-inventory-status--healthy {
    border: 1px solid rgba(74, 222, 128, 0.45);
    background: rgba(34, 197, 94, 0.2);
    color: #4ade80;
}

.tvc-ims-item-inventory-status--monitor {
    border: 1px solid rgba(250, 204, 21, 0.45);
    background: rgba(234, 179, 8, 0.2);
    color: #facc15;
}

.tvc-ims-item-inventory-status--reorder {
    border: 1px solid rgba(248, 113, 113, 0.45);
    background: rgba(239, 68, 68, 0.2);
    color: #f87171;
}

.tvc-ims-item-planning-thinking {
    margin: 0.65rem 0.75rem 0;
    padding: 0.75rem 0.85rem;
    border-radius: 0.5rem;
    border: 1px solid rgba(96, 165, 250, 0.4);
    border-left: 4px solid #60a5fa;
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.14) 0%, rgba(15, 23, 42, 0.92) 100%);
}

.tvc-ims-item-planning-thinking__title {
    color: #bfdbfe;
    letter-spacing: 0.02em;
}

.tvc-ims-item-planning-thinking__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.3rem 0.85rem;
    margin-bottom: 0;
    padding-left: 0;
    list-style: none;
    color: #dbeafe;
}

.tvc-ims-item-planning-thinking__list li {
    display: flex;
    align-items: flex-start;
    gap: 0.15rem;
}

.tvc-ims-item-planning-thinking__list .bi-check-circle-fill {
    flex: 0 0 auto;
    margin-top: 0.1rem;
    color: #6ee7b7;
}

.tvc-ims-item-page .tvc-ims-item-pricing-hero {
    margin: 0.55rem 0.75rem;
    padding: 0.75rem 0.65rem;
}

.tvc-ims-item-page .tvc-ims-item-pricing-hero__value {
    font-size: clamp(1.45rem, 2.4vw, 1.85rem);
}

.tvc-ims-item-page .tvc-ims-item-pricing-scroll {
    min-height: 160px;
    max-height: 240px;
}

@media (max-width: 767.98px) {
    .tvc-ims-item-planning-kpi-grid,
    .tvc-ims-item-planning-thinking__list {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 767.98px) {
    .tvc-ims-item-planning-kpi-grid,
    .tvc-ims-item-planning-thinking__list,
    .tvc-ims-item-pricing-meta-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Item Master — ERP three-panel architecture */
.tvc-ims-item-page .tvc-ims-item-master-layout--erp {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: 0.75rem;
    align-items: start;
    width: 100%;
}

.tvc-ims-item-page .tvc-ims-item-grid-panel,
.tvc-ims-item-page .tvc-ims-item-pricing-panel,
.tvc-ims-item-page .tvc-ims-item-planning-panel {
    min-width: 0;
}

.tvc-ims-item-page .tvc-ims-item-panel-card {
    min-height: calc(100vh - 11.5rem);
    max-height: calc(100vh - 8rem);
    overflow-y: auto;
}

.tvc-ims-item-pricing-meta-panel {
    padding: 0.55rem 0.75rem 0.65rem;
    border-bottom: 1px solid #334155;
}

.tvc-ims-item-pricing-meta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
}

.tvc-ims-item-pricing-meta-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 3.55rem;
    padding: 0.45rem 0.55rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 0.45rem;
    background: rgba(15, 23, 42, 0.55);
}

.tvc-ims-item-pricing-meta-card__label {
    display: block;
    margin-bottom: 0.2rem;
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.tvc-ims-item-pricing-meta-card__value {
    display: block;
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.25;
    color: #f8fafc;
    font-variant-numeric: tabular-nums;
    word-break: break-word;
}

.tvc-ims-item-pricing-meta-card--price {
    border-color: rgba(74, 222, 128, 0.35);
    background: linear-gradient(180deg, rgba(34, 197, 94, 0.12) 0%, rgba(15, 23, 42, 0.55) 100%);
}

.tvc-ims-item-pricing-meta-card--price .tvc-ims-item-pricing-meta-card__value {
    color: #4ade80;
}

.tvc-ims-item-pricing-meta-card--date {
    border-color: rgba(96, 165, 250, 0.3);
}

.tvc-ims-item-pricing-meta-card--version {
    grid-column: 1 / -1;
}

.tvc-ims-item-pricing-meta-card--version .tvc-ims-item-pricing-meta-card__value {
    font-size: 0.8rem;
    font-weight: 600;
}

.tvc-ims-item-page .tvc-ims-item-pricing-matrix__title--section {
    font-size: 0.82rem;
}

.tvc-ims-item-page .tvc-ims-item-procurement-insight {
    margin-left: 0.65rem;
    margin-right: 0.65rem;
}

.tvc-ims-item-page .tvc-ims-item-planning-thinking {
    margin-left: 0.65rem;
    margin-right: 0.65rem;
    margin-bottom: 0.75rem;
}

@media (max-width: 1199.98px) {
    .tvc-ims-item-page .tvc-ims-item-master-layout--erp {
        grid-template-columns: minmax(0, 1fr);
    }
}

#itemGrid .tvc-ims-item-grid-col-code {
    width: 6.5rem;
    min-width: 6rem;
    white-space: nowrap;
}

#itemGrid .tvc-ims-item-grid-col-name {
    width: auto;
    min-width: 14rem;
}

#itemGrid td.tvc-ims-item-grid-col-name {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (max-width: 1199.98px) {
    .tvc-ims-item-page .tvc-ims-item-master-layout--erp {
        grid-template-columns: minmax(0, 1fr);
    }
}

.tvc-ims-item-master-profile {
    margin: 0.65rem 0.75rem 0;
    padding: 0.65rem 0.75rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 0.5rem;
    background: rgba(15, 23, 42, 0.55);
}

.tvc-ims-item-master-profile__title {
    color: #f8fafc;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.tvc-ims-item-master-profile__head {
    margin-bottom: 0.55rem;
}

.tvc-ims-item-master-profile-tile-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.45rem;
}

.tvc-ims-item-master-profile-tile {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 3.35rem;
    padding: 0.4rem 0.5rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 0.45rem;
    background: rgba(30, 41, 59, 0.55);
}

.tvc-ims-item-master-profile-tile__label {
    display: block;
    margin-bottom: 0.18rem;
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.tvc-ims-item-master-profile-tile__value {
    display: block;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.25;
    color: #f8fafc;
}

.tvc-ims-item-master-profile-tile--category {
    border-color: rgba(96, 165, 250, 0.35);
}

.tvc-ims-item-master-profile-tile--category .tvc-ims-item-master-profile-tile__value {
    color: #60a5fa;
}

.tvc-ims-item-master-profile-tile__badge {
    display: inline-block;
    padding: 0.1rem 0.4rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.tvc-ims-item-master-profile-tile__badge--active {
    border: 1px solid rgba(74, 222, 128, 0.45);
    background: rgba(34, 197, 94, 0.18);
    color: #4ade80;
}

.tvc-ims-item-master-profile-tile__badge--inactive {
    border: 1px solid rgba(148, 163, 184, 0.45);
    background: rgba(100, 116, 139, 0.22);
    color: #cbd5e1;
}

@media (max-width: 767.98px) {
    .tvc-ims-item-master-profile-tile-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

#itemGrid .tvc-ims-item-grid-col-code {
    width: 6.5rem;
    min-width: 6rem;
    white-space: nowrap;
}

#itemGrid .tvc-ims-item-grid-col-name {
    width: auto;
    min-width: 14rem;
}

#itemGrid td.tvc-ims-item-grid-col-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tvc-ims-item-page .tvc-ims-item-master-layout--erp {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.05fr) minmax(0, 1.05fr);
    gap: 0.75rem;
    align-items: start;
    width: 100%;
}

@media (max-width: 767.98px) {
    .tvc-ims-item-master-profile-tile-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Item Master — ERP portfolio polish */
.tvc-ims-item-erp-flow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.45rem 0.75rem;
    margin-bottom: 0.75rem;
    padding: 0.55rem 0.85rem;
    border: 1px solid rgba(96, 165, 250, 0.28);
    border-radius: 0.5rem;
    background: linear-gradient(90deg, rgba(34, 197, 94, 0.1) 0%, rgba(59, 130, 246, 0.1) 50%, rgba(109, 90, 255, 0.1) 100%);
}

.tvc-ims-item-erp-flow__step {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #e2e8f0;
    white-space: nowrap;
}

.tvc-ims-item-erp-flow__step--master {
    border: 1px solid rgba(74, 222, 128, 0.35);
    background: rgba(34, 197, 94, 0.12);
    color: #bbf7d0;
}

.tvc-ims-item-erp-flow__step--pricing {
    border: 1px solid rgba(96, 165, 250, 0.35);
    background: rgba(59, 130, 246, 0.12);
    color: #bfdbfe;
}

.tvc-ims-item-erp-flow__step--planning {
    border: 1px solid rgba(167, 139, 250, 0.35);
    background: rgba(109, 90, 255, 0.12);
    color: #ddd6fe;
}

.tvc-ims-item-erp-flow__arrow {
    color: #94a3b8;
    font-size: 0.95rem;
    font-weight: 700;
}

.tvc-ims-item-page .tvc-ims-item-master-layout--erp {
    align-items: stretch;
}

.tvc-ims-item-page .tvc-ims-item-panel-card {
    min-height: calc(100vh - 13.5rem);
    max-height: calc(100vh - 9rem);
    display: flex;
    flex-direction: column;
}

.tvc-ims-item-page .tvc-ims-item-panel-card > .card-body,
.tvc-ims-item-page .tvc-ims-item-directory-body {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.tvc-ims-item-page .tvc-ims-item-grid-scroll,
.tvc-ims-item-page .tvc-ims-item-pricing-matrix__body {
    flex: 1 1 auto;
    min-height: 0;
}

.tvc-ims-item-page .tvc-ims-item-grid-scroll {
    max-height: none;
}

.tvc-ims-item-page .tvc-ims-item-pricing-scroll {
    max-height: none;
    min-height: 10rem;
}

.tvc-ims-item-planning-kpi__hint {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.68rem;
    line-height: 1.35;
    font-weight: 600;
    color: #94a3b8;
}

.tvc-ims-item-planning-kpi--abc .tvc-ims-item-planning-kpi__hint {
    color: #93c5fd;
}

.tvc-ims-item-pricing-meta-card--price {
    grid-column: 1 / -1;
}

.tvc-ims-item-pricing-meta-card__trend-label {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.tvc-ims-item-price-trend {
    display: block;
    margin-top: 0.12rem;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.35;
}

.tvc-ims-item-price-trend--up {
    color: #4ade80;
}

.tvc-ims-item-price-trend--down {
    color: #f87171;
}

.tvc-ims-item-price-trend--neutral {
    color: #94a3b8;
    font-weight: 600;
}

.tvc-ims-item-business-impact {
    margin: 0.65rem 0.65rem 0.75rem;
    padding: 0.75rem 0.85rem;
    border-radius: 0.5rem;
    border: 1px solid rgba(74, 222, 128, 0.35);
    border-left: 4px solid #4ade80;
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.12) 0%, rgba(15, 23, 42, 0.92) 100%);
}

.tvc-ims-item-business-impact__title {
    color: #bbf7d0;
    letter-spacing: 0.02em;
}

.tvc-ims-item-business-impact__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.3rem 0.85rem;
    margin-bottom: 0;
    padding-left: 0;
    list-style: none;
    color: #dcfce7;
}

.tvc-ims-item-business-impact__list li {
    display: flex;
    align-items: flex-start;
    gap: 0.15rem;
}

.tvc-ims-item-business-impact__list .bi-check-circle-fill {
    flex: 0 0 auto;
    margin-top: 0.1rem;
    color: #6ee7b7;
}

@media (max-width: 767.98px) {
    .tvc-ims-item-business-impact__list {
        grid-template-columns: minmax(0, 1fr);
    }
}

.tvc-ims-item-page .tvc-ims-item-procurement-insight {
    margin-left: 0.65rem;
    margin-right: 0.65rem;
}

.tvc-ims-item-page .tvc-ims-item-planning-thinking {
    margin-left: 0.65rem;
    margin-right: 0.65rem;
    margin-bottom: 0.75rem;
}

.tvc-ims-item-pricing-meta-panel {
    padding: 0.35rem 0.55rem 0.4rem;
    border-bottom: 1px solid #334155;
    max-height: 7.5rem;
}

.tvc-ims-item-pricing-summary {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.tvc-ims-item-pricing-summary__row {
    display: grid;
    gap: 0.3rem;
    align-items: stretch;
}

.tvc-ims-item-pricing-summary__row--primary {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr) minmax(0, 1fr);
}

.tvc-ims-item-pricing-summary__row--stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tvc-ims-item-pricing-summary__metric,
.tvc-ims-item-pricing-summary__stat {
    min-height: 0;
    padding: 0.28rem 0.4rem;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 0.35rem;
    background: rgba(15, 23, 42, 0.55);
}

.tvc-ims-item-pricing-summary__metric--price {
    border-color: rgba(74, 222, 128, 0.35);
    background: linear-gradient(180deg, rgba(34, 197, 94, 0.12) 0%, rgba(15, 23, 42, 0.55) 100%);
}

.tvc-ims-item-pricing-summary__metric--date {
    border-color: rgba(148, 163, 184, 0.22);
}

.tvc-ims-item-pricing-summary__metric--version {
    border-color: rgba(96, 165, 250, 0.28);
    background: rgba(30, 41, 59, 0.55);
}

.tvc-ims-item-pricing-summary__metric-line,
.tvc-ims-item-pricing-summary__stat {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.2rem;
    font-size: 0.74rem;
    line-height: 1.25;
    color: #e2e8f0;
}

.tvc-ims-item-pricing-summary__label {
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #94a3b8;
    white-space: nowrap;
}

.tvc-ims-item-pricing-summary__value {
    font-size: 0.8rem;
    font-weight: 700;
    color: #f8fafc;
    font-variant-numeric: tabular-nums;
}

.tvc-ims-item-pricing-summary__metric--price .tvc-ims-item-pricing-summary__value {
    color: #4ade80;
    font-size: 0.88rem;
}

.tvc-ims-item-pricing-summary__trend-wrap {
    margin-top: 0.08rem;
}

.tvc-ims-item-pricing-summary__badge {
    display: inline-block;
    padding: 0.08rem 0.35rem;
    border-radius: 999px;
    border: 1px solid rgba(96, 165, 250, 0.4);
    background: rgba(59, 130, 246, 0.14);
    font-size: 0.68rem;
    font-weight: 700;
    color: #93c5fd;
    white-space: nowrap;
}

.tvc-ims-item-pricing-panel__header {
    padding-top: 0.35rem !important;
    padding-bottom: 0.35rem !important;
}

.tvc-ims-item-pricing-panel__title {
    font-size: 0.88rem;
    font-weight: 700;
    color: #f8fafc;
    white-space: nowrap;
}

.tvc-ims-item-pricing-header--compact {
    font-size: 0.72rem;
    font-weight: 600;
    color: #94a3b8;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.tvc-ims-item-pricing-meta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
}

.tvc-ims-item-pricing-meta-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 3.55rem;
    padding: 0.45rem 0.55rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 0.45rem;
    background: rgba(15, 23, 42, 0.55);
}

.tvc-ims-item-page .tvc-ims-item-pricing-scroll {
    max-height: none;
    min-height: 14rem;
}

.tvc-ims-item-page .tvc-ims-item-pricing-matrix__title--section {
    padding-top: 0.35rem;
    padding-bottom: 0.3rem;
}

.tvc-ims-item-page .tvc-ims-item-pricing-table th,
.tvc-ims-item-page .tvc-ims-item-pricing-table td {
    padding-top: 0.28rem;
    padding-bottom: 0.28rem;
}

@media (max-width: 767.98px) {
    .tvc-ims-item-planning-kpi-grid,
    .tvc-ims-item-planning-thinking__list,
    .tvc-ims-item-pricing-meta-grid,
    .tvc-ims-item-pricing-summary__row--primary,
    .tvc-ims-item-pricing-summary__row--stats {
        grid-template-columns: minmax(0, 1fr);
    }
}

.tvc-ims-item-pricing-summary__metric--date,
.tvc-ims-item-pricing-summary__metric--version {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.08rem;
}

.tvc-ims-item-pricing-summary__metric--version .tvc-ims-item-pricing-summary__label,
.tvc-ims-item-pricing-summary__metric--date .tvc-ims-item-pricing-summary__label {
    display: block;
}

.tvc-ims-item-pricing-summary__metric--date {
    border-color: rgba(148, 163, 184, 0.22);
}

.tvc-ims-item-pricing-summary__metric--version {
    border-color: rgba(96, 165, 250, 0.28);
    background: rgba(30, 41, 59, 0.55);
}

.tvc-ims-item-pricing-summary__metric--date,
.tvc-ims-item-pricing-summary__metric--version {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.08rem;
}

.tvc-ims-item-pricing-summary__metric--version .tvc-ims-item-pricing-summary__label,
.tvc-ims-item-pricing-summary__metric--date .tvc-ims-item-pricing-summary__label {
    display: block;
}

/* Inventory Inquiry — ERP portfolio restore (Jun 2026) */
.tvc-ims-inventory-inquiry-page .tvc-ims-portfolio-filters {
    border-bottom: none;
}

/* Inventory Inquiry — compact dashboard density */
.tvc-ims-demo-module:has(.tvc-ims-inventory-inquiry-page--compact) .tvc-booking-page__head {
    margin-bottom: 0.1rem !important;
    padding-bottom: 0 !important;
}

.tvc-ims-demo-module:has(.tvc-ims-inventory-inquiry-page--compact) .tvc-booking-page__title {
    font-size: 1.05rem;
    line-height: 1.2;
    margin-bottom: 0 !important;
}

.tvc-ims-inventory-inquiry-page--compact.tvc-ims-portfolio-panel {
    padding: 0.55rem 0.75rem 0.65rem;
}

.tvc-ims-inventory-inquiry-toolbar {
    margin-bottom: 0.4rem;
    padding-bottom: 0.38rem;
    border-bottom: 1px solid #334155;
}

.tvc-ims-inventory-inquiry-toolbar__filters {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-end;
    gap: 0.4rem 0.55rem;
    overflow-x: auto;
}

.tvc-ims-inventory-inquiry-toolbar__field {
    flex: 0 0 auto;
    min-width: 7.5rem;
}

.tvc-ims-inventory-inquiry-toolbar__field--currency {
    min-width: 5.5rem;
    max-width: 6.5rem;
}

.tvc-ims-inventory-inquiry-toolbar__field--search {
    flex: 1 1 9rem;
    min-width: 8rem;
    max-width: 13rem;
}

.tvc-ims-inventory-inquiry-toolbar__field--stock {
    min-width: 9.5rem;
    max-width: 11.5rem;
}

.tvc-ims-inventory-inquiry-toolbar__checkbox {
    display: flex;
    align-items: center;
    min-height: calc(1.5em + 0.45rem + 2px);
    padding: 0.2rem 0;
}

.tvc-ims-inventory-inquiry-toolbar__checkbox label {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin: 0;
    font-size: 0.72rem;
    line-height: 1.2;
    color: #cbd5e1;
    white-space: nowrap;
}

.tvc-ims-inventory-inquiry-toolbar__actions {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
}

.tvc-ims-inventory-inquiry-page--compact .tvc-ims-filter-label {
    margin-bottom: 0.12rem;
    font-size: 0.68rem;
}

.tvc-ims-inventory-inquiry-page--compact .form-control.input-sm {
    height: calc(1.5em + 0.45rem + 2px);
    padding: 0.2rem 0.45rem;
    font-size: 0.75rem;
}

.tvc-ims-inventory-inquiry-page--compact .btn-sm {
    padding: 0.2rem 0.55rem;
    font-size: 0.75rem;
    line-height: 1.25;
}

.tvc-ims-inventory-inquiry-kpi-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.45rem;
    margin-bottom: 0.4rem;
    padding-bottom: 0.4rem;
    border-bottom: 1px solid #334155;
}

.tvc-ims-inventory-inquiry-kpi {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 0.35rem;
    row-gap: 0.08rem;
    align-content: center;
    min-height: 2.35rem;
    padding: 0.3rem 0.5rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 0.45rem;
    background: rgba(30, 41, 59, 0.55);
}

.tvc-ims-inventory-inquiry-kpi__value {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: center;
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.1;
    color: #f8fafc;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.tvc-ims-inventory-inquiry-kpi__label {
    grid-column: 2;
    grid-row: 1;
    font-size: 0.66rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #94a3b8;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tvc-ims-inventory-inquiry-kpi__hint {
    grid-column: 2;
    grid-row: 2;
    font-size: 0.6rem;
    line-height: 1.2;
    color: #94a3b8;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tvc-ims-inventory-inquiry-kpi--aging {
    border-color: rgba(248, 113, 113, 0.35);
    background: linear-gradient(180deg, rgba(239, 68, 68, 0.1) 0%, rgba(15, 23, 42, 0.55) 100%);
}

.tvc-ims-inventory-inquiry-kpi--aging .tvc-ims-inventory-inquiry-kpi__value {
    color: #f87171;
}

.tvc-ims-inventory-health-compact {
    margin-bottom: 0.4rem;
    padding-bottom: 0.4rem;
    border-bottom: 1px solid #334155;
}

.tvc-ims-inventory-health-compact__title {
    margin: 0 0 0.35rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #f8fafc;
}

.tvc-ims-inventory-health-compact__row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.45rem;
}

.tvc-ims-inventory-health-compact-kpi {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 0.35rem;
    row-gap: 0.08rem;
    align-content: center;
    min-height: 2.2rem;
    padding: 0.28rem 0.48rem;
    border-radius: 0.45rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(15, 23, 42, 0.55);
}

.tvc-ims-inventory-health-compact-kpi__value {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: center;
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.tvc-ims-inventory-health-compact-kpi__label {
    grid-column: 2;
    grid-row: 1;
    font-size: 0.64rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #94a3b8;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tvc-ims-inventory-health-compact-kpi__hint {
    grid-column: 2;
    grid-row: 2;
    font-size: 0.58rem;
    line-height: 1.2;
    color: #94a3b8;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tvc-ims-inventory-health-compact-kpi--fresh {
    border-color: rgba(74, 222, 128, 0.35);
    background: linear-gradient(180deg, rgba(34, 197, 94, 0.12) 0%, rgba(15, 23, 42, 0.55) 100%);
}

.tvc-ims-inventory-health-compact-kpi--fresh .tvc-ims-inventory-health-compact-kpi__value {
    color: #4ade80;
}

.tvc-ims-inventory-health-compact-kpi--normal {
    border-color: rgba(96, 165, 250, 0.35);
    background: linear-gradient(180deg, rgba(59, 130, 246, 0.12) 0%, rgba(15, 23, 42, 0.55) 100%);
}

.tvc-ims-inventory-health-compact-kpi--normal .tvc-ims-inventory-health-compact-kpi__value {
    color: #60a5fa;
}

.tvc-ims-inventory-health-compact-kpi--slow {
    border-color: rgba(251, 146, 60, 0.35);
    background: linear-gradient(180deg, rgba(249, 115, 22, 0.12) 0%, rgba(15, 23, 42, 0.55) 100%);
}

.tvc-ims-inventory-health-compact-kpi--slow .tvc-ims-inventory-health-compact-kpi__value {
    color: #fb923c;
}

.tvc-ims-inventory-health-compact-kpi--aging {
    border-color: rgba(248, 113, 113, 0.35);
    background: linear-gradient(180deg, rgba(239, 68, 68, 0.12) 0%, rgba(15, 23, 42, 0.55) 100%);
}

.tvc-ims-inventory-health-compact-kpi--aging .tvc-ims-inventory-health-compact-kpi__value {
    color: #f87171;
}

.tvc-ims-inventory-inquiry-page--compact .tvc-ims-inventory-inquiry-grid-scroll {
    max-height: calc(100vh - 11.75rem);
}

.tvc-ims-inventory-inquiry-page--compact .tvc-ims-portfolio-table thead th {
    padding: 0.32rem 0.5rem;
    font-size: 0.68rem;
    line-height: 1.15;
}

.tvc-ims-inventory-inquiry-page--compact .tvc-ims-portfolio-table tbody td {
    padding: 0.26rem 0.5rem;
    font-size: 0.76rem;
    line-height: 1.2;
}

.tvc-ims-inventory-inquiry-page--compact .tvc-ims-stock-status-badge {
    padding: 0.08rem 0.32rem;
    font-size: 0.6rem;
}

.tvc-ims-inventory-inquiry-page--compact .tvc-ims-portfolio-meta {
    margin-top: 0.35rem !important;
    font-size: 0.72rem;
}

.tvc-ims-inventory-inquiry-page--compact .tvc-ims-inventory-inquiry-thinking {
    margin: 0.45rem 0 0;
    padding: 0.55rem 0.65rem;
}

.tvc-ims-inventory-inquiry-page--compact .tvc-ims-inventory-inquiry-thinking__title {
    margin-bottom: 0.35rem !important;
    font-size: 0.76rem;
}

.tvc-ims-inventory-inquiry-page--compact .tvc-ims-inventory-inquiry-thinking__list {
    gap: 0.25rem 0.65rem;
    font-size: 0.72rem;
}

@media (max-width: 1199.98px) {
    .tvc-ims-inventory-inquiry-kpi-row,
    .tvc-ims-inventory-health-compact__row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .tvc-ims-inventory-inquiry-toolbar__filters {
        flex-wrap: wrap;
    }

    .tvc-ims-inventory-inquiry-page--compact .tvc-ims-inventory-inquiry-grid-scroll {
        max-height: calc(100vh - 14rem);
    }
}

@media (max-width: 575.98px) {
    .tvc-ims-inventory-inquiry-kpi-row,
    .tvc-ims-inventory-health-compact__row {
        grid-template-columns: minmax(0, 1fr);
    }
}

.tvc-ims-inventory-inquiry-executive {
    padding: 0 1rem 0.25rem;
    margin-bottom: 0.75rem;
    border-bottom: 1px solid #334155;
}

.tvc-ims-inventory-inquiry-kpi-card--aging {
    border-color: rgba(248, 113, 113, 0.35);
    background: linear-gradient(180deg, rgba(239, 68, 68, 0.12) 0%, rgba(15, 23, 42, 0.55) 100%);
}

.tvc-ims-inventory-inquiry-kpi-card--aging .tvc-ims-price-executive-kpi-card__value {
    color: #f87171;
}

.tvc-ims-inventory-health-summary {
    padding: 0 1rem 0.85rem;
    margin-bottom: 0.25rem;
    border-bottom: 1px solid #334155;
}

.tvc-ims-inventory-health-summary__head {
    margin-bottom: 0.65rem;
}

.tvc-ims-inventory-health-summary__title {
    color: #ffffff;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.tvc-ims-inventory-health-kpi-row {
    margin-bottom: 0;
}

.tvc-ims-inventory-health-kpi {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 5.75rem;
    padding: 0.65rem 0.8rem;
    border-radius: 0.5rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(15, 23, 42, 0.55);
}

.tvc-ims-inventory-health-kpi__label {
    display: block;
    margin-bottom: 0.25rem;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.tvc-ims-inventory-health-kpi__value {
    display: block;
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.15;
    font-variant-numeric: tabular-nums;
}

.tvc-ims-inventory-health-kpi__hint {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.72rem;
    line-height: 1.4;
    color: #b8c4d4;
}

.tvc-ims-inventory-health-kpi--fresh {
    border-color: rgba(74, 222, 128, 0.35);
    background: linear-gradient(180deg, rgba(34, 197, 94, 0.14) 0%, rgba(15, 23, 42, 0.55) 100%);
}

.tvc-ims-inventory-health-kpi--fresh .tvc-ims-inventory-health-kpi__value {
    color: #4ade80;
}

.tvc-ims-inventory-health-kpi--normal {
    border-color: rgba(96, 165, 250, 0.35);
    background: linear-gradient(180deg, rgba(59, 130, 246, 0.14) 0%, rgba(15, 23, 42, 0.55) 100%);
}

.tvc-ims-inventory-health-kpi--normal .tvc-ims-inventory-health-kpi__value {
    color: #60a5fa;
}

.tvc-ims-inventory-health-kpi--slow {
    border-color: rgba(250, 204, 21, 0.35);
    background: linear-gradient(180deg, rgba(234, 179, 8, 0.14) 0%, rgba(15, 23, 42, 0.55) 100%);
}

.tvc-ims-inventory-health-kpi--slow .tvc-ims-inventory-health-kpi__value {
    color: #facc15;
}

.tvc-ims-inventory-health-kpi--aging {
    border-color: rgba(248, 113, 113, 0.35);
    background: linear-gradient(180deg, rgba(239, 68, 68, 0.14) 0%, rgba(15, 23, 42, 0.55) 100%);
}

.tvc-ims-inventory-health-kpi--aging .tvc-ims-inventory-health-kpi__value {
    color: #f87171;
}

.tvc-ims-stock-status-badge {
    display: inline-block;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    white-space: nowrap;
}

.tvc-ims-stock-status-badge--fresh {
    border: 1px solid rgba(74, 222, 128, 0.45);
    background: rgba(34, 197, 94, 0.2);
    color: #4ade80;
}

.tvc-ims-stock-status-badge--normal {
    border: 1px solid rgba(96, 165, 250, 0.45);
    background: rgba(59, 130, 246, 0.2);
    color: #60a5fa;
}

.tvc-ims-stock-status-badge--slow {
    border: 1px solid rgba(250, 204, 21, 0.45);
    background: rgba(234, 179, 8, 0.2);
    color: #facc15;
}

.tvc-ims-stock-status-badge--aging {
    border: 1px solid rgba(248, 113, 113, 0.45);
    background: rgba(239, 68, 68, 0.2);
    color: #f87171;
}

.tvc-ims-inventory-inquiry-thinking {
    margin: 0.85rem 1rem 1rem;
    padding: 0.9rem 1rem;
    border-radius: 0.5rem;
    border: 1px solid rgba(74, 222, 128, 0.35);
    border-left: 4px solid #4ade80;
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.12) 0%, rgba(15, 23, 42, 0.92) 100%);
}

.tvc-ims-inventory-inquiry-thinking__title {
    color: #bbf7d0;
    letter-spacing: 0.02em;
}

.tvc-ims-inventory-inquiry-thinking__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.35rem 1rem;
    margin-bottom: 0;
    padding-left: 0;
    list-style: none;
    color: #dcfce7;
}

.tvc-ims-inventory-inquiry-thinking__list li {
    display: flex;
    align-items: flex-start;
    gap: 0.15rem;
}

.tvc-ims-inventory-inquiry-thinking__list .bi-check-circle-fill {
    flex: 0 0 auto;
    margin-top: 0.1rem;
    color: #6ee7b7;
}

@media (max-width: 767.98px) {
    .tvc-ims-inventory-inquiry-thinking__list {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Executive Dashboard — tab analytics bundles */
.tvc-ims-exec-tab-bundle {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.tvc-ims-exec-tab-insights {
    margin-top: 0.15rem;
}

.tvc-ims-exec-tab-analysis-list {
    margin: 0;
    padding-left: 1.1rem;
    color: #cbd5e1;
}

.tvc-ims-exec-tab-analysis-list li {
    margin-bottom: 0.35rem;
}

.tvc-ims-exec-kpi-card__value--compact {
    font-size: 0.82rem;
    line-height: 1.35;
    font-weight: 600;
}

.tvc-ims-exec-health-summary-row {
    margin-bottom: 0;
}

.tvc-ims-exec-health-kpi {
    min-height: 5.5rem;
}

.tvc-ims-exec-health-kpi--fresh .tvc-ims-portfolio-kpi-card__value {
    color: #4ade80;
}

.tvc-ims-exec-health-kpi--normal .tvc-ims-portfolio-kpi-card__value {
    color: #60a5fa;
}

.tvc-ims-exec-health-kpi--slow .tvc-ims-portfolio-kpi-card__value {
    color: #facc15;
}

.tvc-ims-exec-health-kpi--aging .tvc-ims-portfolio-kpi-card__value {
    color: #f87171;
}

.tvc-ims-exec-aging-row--compact {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.55rem;
}

.tvc-ims-exec-aging-row--compact .tvc-ims-exec-aging-card {
    min-height: auto;
    padding: 0.65rem;
}

.tvc-ims-warehouse-status-badge {
    display: inline-block;
    margin-left: 0.35rem;
    padding: 0.08rem 0.4rem;
    border-radius: 0.25rem;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    vertical-align: middle;
    color: #fde68a;
    background: rgba(245, 158, 11, 0.18);
    border: 1px solid rgba(245, 158, 11, 0.45);
    cursor: help;
}

.tvc-ims-warehouse-status-closing {
    color: #fde68a;
    font-weight: 600;
    cursor: help;
    border-bottom: 1px dotted rgba(253, 224, 138, 0.55);
}

.tvc-ims-exec-kpi-card__label--help {
    cursor: help;
    border-bottom: 1px dotted rgba(148, 163, 184, 0.55);
}

.tvc-ims-warehouse-list__status--closing {
    background-color: rgba(245, 158, 11, 0.22);
    border: 1px solid rgba(245, 158, 11, 0.45);
    color: #fde68a;
    cursor: help;
}

/* Transaction History — light ERP operations polish */
.tvc-ims-demo-module:has(.tvc-ims-txn-history-page) .tvc-booking-page__head {
    margin-bottom: 0.15rem !important;
    padding-bottom: 0 !important;
}

.tvc-ims-demo-module:has(.tvc-ims-txn-history-page) .tvc-booking-page__title {
    font-size: 1.05rem;
    line-height: 1.25;
    margin-bottom: 0 !important;
}

.tvc-ims-demo-module:has(.tvc-ims-txn-history-page) .tvc-booking-page__subtitle {
    display: none !important;
}

.tvc-ims-txn-history-page__subtitle {
    margin: 0 0 0.4rem;
    padding: 0;
    font-size: 0.78rem;
    line-height: 1.35;
    color: #94a3b8;
}

.tvc-ims-txn-history-page {
    padding: 0.55rem 0.75rem 0.65rem;
}

.tvc-ims-txn-history-kpi-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.tvc-ims-txn-history-kpi {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.3rem 0.45rem;
    min-height: 2.75rem;
    padding: 0.4rem 0.6rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 0.45rem;
    background: rgba(30, 41, 59, 0.55);
}

.tvc-ims-txn-history-kpi__value {
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.1;
    color: #f8fafc;
    font-variant-numeric: tabular-nums;
}

.tvc-ims-txn-history-kpi__label {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #94a3b8;
    white-space: nowrap;
}

.tvc-ims-txn-history-kpi--inbound {
    border-color: rgba(74, 222, 128, 0.35);
}

.tvc-ims-txn-history-kpi--inbound .tvc-ims-txn-history-kpi__value {
    color: #4ade80;
}

.tvc-ims-txn-history-kpi--outbound {
    border-color: rgba(251, 146, 60, 0.35);
}

.tvc-ims-txn-history-kpi--outbound .tvc-ims-txn-history-kpi__value {
    color: #fb923c;
}

.tvc-ims-txn-history-kpi--warehouses {
    border-color: rgba(96, 165, 250, 0.35);
}

.tvc-ims-txn-history-kpi--warehouses .tvc-ims-txn-history-kpi__value {
    color: #60a5fa;
}

.tvc-ims-txn-history-toolbar {
    margin-bottom: 0.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #334155;
}

.tvc-ims-txn-history-toolbar__filters {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-end;
    gap: 0.45rem 0.6rem;
    overflow-x: auto;
}

.tvc-ims-txn-history-toolbar__field {
    flex: 0 0 auto;
    min-width: 8.5rem;
}

.tvc-ims-txn-history-toolbar__field--search {
    flex: 1 1 10rem;
    min-width: 9rem;
    max-width: 14rem;
}

.tvc-ims-txn-history-toolbar__field--type {
    min-width: 7.5rem;
    max-width: 9rem;
}

.tvc-ims-txn-history-toolbar__actions {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
}

.tvc-ims-txn-history-page .tvc-ims-filter-label {
    margin-bottom: 0.15rem;
    font-size: 0.72rem;
}

.tvc-ims-txn-history-grid-scroll {
    max-height: calc(100vh - 14.5rem);
    overflow: auto;
}

.tvc-ims-txn-history-page .tvc-ims-portfolio-meta {
    margin-top: 0.45rem !important;
    padding-top: 0;
    font-size: 0.76rem;
}

.tvc-ims-txn-type-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.2rem;
    padding: 0.12rem 0.5rem;
    border-radius: 999px;
    font-size: 0.62rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    white-space: nowrap;
    border: 1px solid transparent;
    vertical-align: middle;
}

.tvc-ims-txn-type-badge--receipt {
    color: #bbf7d0;
    background: rgba(22, 163, 74, 0.32);
    border-color: rgba(74, 222, 128, 0.55);
}

.tvc-ims-txn-type-badge--sales {
    color: #bfdbfe;
    background: rgba(37, 99, 235, 0.32);
    border-color: rgba(96, 165, 250, 0.55);
}

.tvc-ims-txn-type-badge--issue {
    color: #fed7aa;
    background: rgba(234, 88, 12, 0.32);
    border-color: rgba(251, 146, 60, 0.55);
}

.tvc-ims-txn-type-badge--transfer {
    color: #e9d5ff;
    background: rgba(126, 34, 206, 0.32);
    border-color: rgba(192, 132, 252, 0.55);
}

.tvc-ims-txn-type-badge--adjustment {
    color: #fde68a;
    background: rgba(217, 119, 6, 0.32);
    border-color: rgba(251, 191, 36, 0.55);
}

.tvc-ims-txn-type-badge--default {
    color: #e2e8f0;
    background: rgba(100, 116, 139, 0.28);
    border-color: rgba(148, 163, 184, 0.45);
}

@media (max-width: 991.98px) {
    .tvc-ims-txn-history-kpi-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tvc-ims-txn-history-toolbar__filters {
        flex-wrap: wrap;
    }
}

@media (max-width: 575.98px) {
    .tvc-ims-txn-history-kpi-row {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Item Transaction History — ERP stock ledger workspace */
.tvc-ims-demo-module:has(.tvc-ims-item-txn-page) .tvc-booking-page__head {
    margin-bottom: 0.1rem !important;
    padding-bottom: 0 !important;
}

.tvc-ims-demo-module:has(.tvc-ims-item-txn-page) .tvc-booking-page__title {
    font-size: 1.05rem;
    line-height: 1.2;
    margin-bottom: 0 !important;
}

.tvc-ims-item-txn-page {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    padding: 0.55rem 0.75rem 0.65rem;
    border: 1px solid #334155;
    border-radius: 0.5rem;
    background: rgba(15, 23, 42, 0.45);
}

.tvc-ims-item-txn-toolbar {
    margin: 0;
    padding-bottom: 0.4rem;
    border-bottom: 1px solid #334155;
}

.tvc-ims-item-txn-toolbar__filters {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-end;
    gap: 0.4rem 0.55rem;
    overflow-x: auto;
}

.tvc-ims-item-txn-toolbar__field {
    flex: 0 0 auto;
    min-width: 8rem;
}

.tvc-ims-item-txn-toolbar__field--item {
    flex: 1 1 11rem;
    min-width: 10rem;
    max-width: 16rem;
}

.tvc-ims-item-txn-toolbar__field--date {
    min-width: 8.5rem;
    max-width: 9.5rem;
}

.tvc-ims-item-txn-toolbar__actions {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex: 0 0 auto;
}

.tvc-ims-item-txn-page .tvc-ims-filter-label {
    margin-bottom: 0.12rem;
    font-size: 0.68rem;
}

.tvc-ims-item-txn-page .form-control.input-sm {
    height: calc(1.5em + 0.45rem + 2px);
    padding: 0.2rem 0.45rem;
    font-size: 0.75rem;
}

.tvc-ims-item-txn-page .btn-sm {
    padding: 0.2rem 0.55rem;
    font-size: 0.75rem;
    line-height: 1.25;
}

.tvc-ims-item-txn-toolbar__actions .btn-primary {
    color: #fff;
    background-color: #2563eb;
    border-color: #2563eb;
    border-radius: 0.375rem;
}

.tvc-ims-item-txn-toolbar__actions .btn-primary:hover,
.tvc-ims-item-txn-toolbar__actions .btn-primary:focus,
.tvc-ims-item-txn-toolbar__actions .btn-primary:active,
.tvc-ims-item-txn-toolbar__actions .btn-primary:focus-visible {
    color: #fff;
    background-color: #1d4ed8;
    border-color: #1d4ed8;
    box-shadow: 0 0 0 0.2rem rgba(59, 130, 246, 0.35);
}

.tvc-ims-item-txn-toolbar__actions .btn-outline-light:focus-visible {
    box-shadow: 0 0 0 0.2rem rgba(148, 163, 184, 0.25);
}

.tvc-ims-item-txn-item-input .btn {
    padding: 0.2rem 0.45rem;
}

.tvc-ims-item-txn-alert {
    margin-top: 0.15rem;
}

.tvc-ims-item-txn-snapshot {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.4fr) minmax(0, 0.85fr) minmax(0, 0.95fr) minmax(0, 1.1fr);
    gap: 0.45rem;
    padding-bottom: 0.4rem;
    border-bottom: 1px solid #334155;
}

.tvc-ims-item-txn-snapshot__tile {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 2.35rem;
    padding: 0.32rem 0.55rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 0.45rem;
    background: rgba(30, 41, 59, 0.55);
}

.tvc-ims-item-txn-snapshot__label {
    margin-bottom: 0.1rem;
    font-size: 0.64rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #94a3b8;
}

.tvc-ims-item-txn-snapshot__value {
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.25;
    color: #f8fafc;
    word-break: break-word;
}

.tvc-ims-item-txn-snapshot__tile--stock {
    border-color: rgba(96, 165, 250, 0.35);
    background: linear-gradient(180deg, rgba(59, 130, 246, 0.12) 0%, rgba(15, 23, 42, 0.55) 100%);
}

.tvc-ims-item-txn-snapshot__tile--stock .tvc-ims-item-txn-snapshot__value {
    color: #60a5fa;
    font-variant-numeric: tabular-nums;
}

.tvc-ims-item-txn-kpi-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.45rem;
}

.tvc-ims-item-txn-kpi {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.3rem 0.45rem;
    min-height: 2.1rem;
    padding: 0.32rem 0.55rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 0.45rem;
    background: rgba(30, 41, 59, 0.55);
}

.tvc-ims-item-txn-kpi__value {
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.1;
    color: #f8fafc;
    font-variant-numeric: tabular-nums;
}

.tvc-ims-item-txn-kpi__label {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #94a3b8;
    white-space: nowrap;
}

.tvc-ims-item-txn-kpi--opening {
    border-color: rgba(148, 163, 184, 0.35);
}

.tvc-ims-item-txn-kpi--opening .tvc-ims-item-txn-kpi__value {
    color: #cbd5e1;
}

.tvc-ims-item-txn-kpi--inbound {
    border-color: rgba(74, 222, 128, 0.35);
}

.tvc-ims-item-txn-kpi--inbound .tvc-ims-item-txn-kpi__value {
    color: #4ade80;
}

.tvc-ims-item-txn-kpi--outbound {
    border-color: rgba(251, 146, 60, 0.35);
}

.tvc-ims-item-txn-kpi--outbound .tvc-ims-item-txn-kpi__value {
    color: #fb923c;
}

.tvc-ims-item-txn-kpi--closing {
    border-color: rgba(96, 165, 250, 0.35);
    background: linear-gradient(180deg, rgba(59, 130, 246, 0.1) 0%, rgba(15, 23, 42, 0.55) 100%);
}

.tvc-ims-item-txn-kpi--closing .tvc-ims-item-txn-kpi__value {
    color: #60a5fa;
}

.tvc-ims-item-txn-ledger {
    margin: 0;
}

.tvc-ims-item-txn-page .tvc-ims-item-txn-grid-scroll {
    max-height: calc(100vh - 13.5rem);
    overflow: auto;
}

.tvc-ims-item-txn-ledger-table thead th {
    padding: 0.32rem 0.5rem;
    font-size: 0.66rem;
    line-height: 1.15;
}

.tvc-ims-item-txn-ledger-table tbody td {
    padding: 0.26rem 0.5rem;
    font-size: 0.76rem;
    line-height: 1.2;
    vertical-align: middle;
}

.tvc-ims-item-txn-formula-note {
    font-size: 0.72rem;
    line-height: 1.35;
    padding-top: 0.15rem;
}

.tvc-ims-item-txn-formula-note__sep {
    margin: 0 0.35rem;
    color: #64748b;
}

@media (max-width: 1199.98px) {
    .tvc-ims-item-txn-snapshot {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .tvc-ims-item-txn-snapshot__tile--name {
        grid-column: span 2;
    }
}

@media (max-width: 991.98px) {
    .tvc-ims-item-txn-toolbar__filters {
        flex-wrap: wrap;
    }

    .tvc-ims-item-txn-snapshot {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tvc-ims-item-txn-snapshot__tile--name {
        grid-column: auto;
    }

    .tvc-ims-item-txn-kpi-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tvc-ims-item-txn-page .tvc-ims-item-txn-grid-scroll {
        max-height: calc(100vh - 16rem);
    }
}

@media (max-width: 575.98px) {
    .tvc-ims-item-txn-snapshot,
    .tvc-ims-item-txn-kpi-row {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Inventory Balance — compact ERP density (aligned with Transaction History) */
.tvc-ims-demo-module:has(.tvc-ims-inventory-balance-page) .tvc-booking-page__head {
    margin-bottom: 0.15rem !important;
    padding-bottom: 0 !important;
}

.tvc-ims-demo-module:has(.tvc-ims-inventory-balance-page) .tvc-booking-page__title {
    font-size: 1.05rem;
    line-height: 1.25;
    margin-bottom: 0 !important;
}

.tvc-ims-inventory-balance-page {
    padding: 0.55rem 0.75rem 0.65rem;
}

.tvc-ims-inventory-balance-toolbar {
    margin-bottom: 0.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #334155;
}

.tvc-ims-inventory-balance-toolbar__filters {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-end;
    gap: 0.45rem 0.6rem;
    overflow-x: auto;
}

.tvc-ims-inventory-balance-toolbar__field {
    flex: 0 0 auto;
    min-width: 8.5rem;
}

.tvc-ims-inventory-balance-toolbar__field--search {
    flex: 1 1 10rem;
    min-width: 9rem;
    max-width: 14rem;
}

.tvc-ims-inventory-balance-toolbar__field--status {
    min-width: 7rem;
    max-width: 8.5rem;
}

.tvc-ims-inventory-balance-toolbar__actions {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex: 0 0 auto;
}

.tvc-ims-inventory-balance-page .tvc-ims-filter-label {
    margin-bottom: 0.15rem;
    font-size: 0.72rem;
}

.tvc-ims-inventory-balance-kpi-row {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.tvc-ims-inventory-balance-kpi {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.3rem 0.45rem;
    min-height: 2.1rem;
    padding: 0.32rem 0.55rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 0.45rem;
    background: rgba(30, 41, 59, 0.55);
}

.tvc-ims-inventory-balance-kpi__value {
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.1;
    color: #f8fafc;
    font-variant-numeric: tabular-nums;
}

.tvc-ims-inventory-balance-kpi__label {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #94a3b8;
    white-space: nowrap;
}

.tvc-ims-inventory-balance-kpi--opening {
    border-color: rgba(148, 163, 184, 0.35);
}

.tvc-ims-inventory-balance-kpi--opening .tvc-ims-inventory-balance-kpi__value {
    color: #cbd5e1;
}

.tvc-ims-inventory-balance-kpi--receipt {
    border-color: rgba(74, 222, 128, 0.35);
}

.tvc-ims-inventory-balance-kpi--receipt .tvc-ims-inventory-balance-kpi__value {
    color: #4ade80;
}

.tvc-ims-inventory-balance-kpi--issue {
    border-color: rgba(251, 146, 60, 0.35);
}

.tvc-ims-inventory-balance-kpi--issue .tvc-ims-inventory-balance-kpi__value {
    color: #fb923c;
}

.tvc-ims-inventory-balance-kpi--closing {
    border-color: rgba(96, 165, 250, 0.35);
}

.tvc-ims-inventory-balance-kpi--closing .tvc-ims-inventory-balance-kpi__value {
    color: #60a5fa;
}

.tvc-ims-inventory-balance-page .tvc-ims-inventory-grid-scroll {
    max-height: calc(100vh - 14.5rem);
}

.tvc-ims-inventory-balance-page #inventoryBalanceGrid thead th {
    padding: 0.35rem 0.5rem;
    font-size: 0.66rem;
    line-height: 1.2;
}

.tvc-ims-inventory-balance-page #inventoryBalanceGrid tbody td {
    padding: 0.28rem 0.5rem;
    font-size: 0.78rem;
    line-height: 1.25;
    vertical-align: middle;
}

.tvc-ims-inventory-balance-page .tvc-ims-inventory-txn-btn {
    padding: 0.12rem 0.4rem;
    font-size: 0.68rem;
    line-height: 1.2;
}

.tvc-ims-inventory-balance-page .badge {
    font-size: 0.62rem;
    padding: 0.12rem 0.35rem;
}

.tvc-ims-inventory-balance-page .tvc-ims-inventory-detail-card {
    min-height: calc(100vh - 14.5rem);
}

.tvc-ims-inventory-balance-page .tvc-ims-inventory-detail-section-title {
    padding: 0.45rem 0.65rem;
    font-size: 0.84rem;
}

.tvc-ims-inventory-balance-page .tvc-ims-inventory-detail-header__code {
    font-size: 0.88rem;
}

.tvc-ims-inventory-balance-page .tvc-ims-inventory-detail-header__name {
    font-size: 0.76rem;
}

.tvc-ims-inventory-balance-footnote {
    margin-top: 0.45rem !important;
    font-size: 0.76rem;
}

@media (max-width: 1199.98px) {
    .tvc-ims-inventory-balance-kpi-row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .tvc-ims-inventory-balance-kpi-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tvc-ims-inventory-balance-toolbar__filters {
        flex-wrap: wrap;
    }
}

@media (max-width: 575.98px) {
    .tvc-ims-inventory-balance-kpi-row {
        grid-template-columns: minmax(0, 1fr);
    }
}
