/* Readable report details and request cards; no changes to calculation colours. */
/* Fit every visible report column into the desktop workspace without a
   horizontal rail. CSS :has follows saved/hidden columns from the server's
   first paint, while the weights preserve the reading priority of each field. */
@media (min-width: 921px) {
    .ui-redesign .procurement-report-scroll,
    .ui-redesign .rk-procurement-scroll {
        container-type: inline-size;
        overflow-x: hidden;
        scrollbar-gutter: stable;
    }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) {
        --report-weight-total: calc(var(--col-name, 0) + var(--col-article, 0) + var(--col-brand, 0) + var(--col-component_type, 0) + var(--col-gost, 0) + var(--col-fob, 0) + var(--col-assembly, 0) + var(--col-assembly_russia, 0) + var(--col-positions, 0) + var(--col-in_requests, 0) + var(--col-sold, 0) + var(--col-received, 0) + var(--col-sold_rub, 0) + var(--col-available, 0) + var(--col-in_transit, 0) + var(--col-sold_kg, 0) + var(--col-need_percent, 0) + var(--col-need_kg, 0) + var(--col-need_units, 0) + var(--col-carton, 0) + var(--col-transit_signed, 0) + var(--col-transit_factory_ready, 0) + var(--col-transit_departed, 0) + var(--col-transit_customs, 0) + var(--col-transit_rail_loaded, 0) + var(--col-transit_rail_unloaded, 0) + var(--col-required, 0));
        --report-grow-total: calc(var(--grow-name, 0) + var(--grow-article, 0) + var(--grow-brand, 0) + var(--grow-component_type, 0) + var(--grow-gost, 0) + var(--grow-fob, 0) + var(--grow-assembly, 0) + var(--grow-assembly_russia, 0) + var(--grow-positions, 0) + var(--grow-in_requests, 0) + var(--grow-sold, 0) + var(--grow-received, 0) + var(--grow-sold_rub, 0) + var(--grow-available, 0) + var(--grow-in_transit, 0) + var(--grow-sold_kg, 0) + var(--grow-need_percent, 0) + var(--grow-need_kg, 0) + var(--grow-need_units, 0) + var(--grow-carton, 0) + var(--grow-transit_signed, 0) + var(--grow-transit_factory_ready, 0) + var(--grow-transit_departed, 0) + var(--grow-transit_customs, 0) + var(--grow-transit_rail_loaded, 0) + var(--grow-transit_rail_unloaded, 0) + var(--grow-required, 0));
        --report-service-width: 36px;
        --report-selection-width: 0px;
        --report-row-number-width: 38px;
        --report-fixed-width: calc(var(--report-service-width) + var(--report-selection-width) + var(--report-row-number-width));
        --report-column-unit: calc((100cqw - var(--report-fixed-width)) / var(--report-weight-total));
        --report-free-width: 0px;
        width: 100%;
        min-width: 0 !important;
        max-width: 100%;
        table-layout: fixed;
    }
    .ui-redesign .procurement-report-table[data-report-selection-table] { --report-selection-width: 52px; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table):has(col[data-column-key="name"]:not([hidden])) { --col-name: 170; --grow-name: 1.2; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) col[data-column-key="name"] { width: calc(var(--col-name, 0) * var(--report-column-unit) + var(--report-free-width) * var(--grow-name, 0) / var(--report-grow-total)); }
    .ui-redesign .procurement-report-table.has-custom-name-column-width {
        --report-column-unit: calc((100cqw - var(--report-fixed-width) - var(--report-name-column-width)) / (var(--report-weight-total) - var(--col-name, 0)));
        width: 100%;
        max-width: 100%;
    }
    .ui-redesign .procurement-report-table.has-custom-name-column-width col[data-column-key="name"] {
        width: var(--report-name-column-width);
    }
    .ui-redesign .procurement-report-table .report-header-details th.has-name-column-resizer {
        position: relative;
        overflow: visible;
    }
    .ui-redesign .report-name-column-resizer {
        position: absolute;
        z-index: 4;
        inset-block: 0;
        inset-inline-end: -5px;
        width: 11px;
        cursor: col-resize;
        touch-action: none;
    }
    .ui-redesign .report-name-column-resizer::after {
        position: absolute;
        top: 50%;
        left: 5px;
        width: 2px;
        height: 24px;
        background: #9eb8c7;
        border-radius: 2px;
        content: "";
        opacity: .42;
        transform: translateY(-50%);
        transition: height .12s, opacity .12s, background .12s;
    }
    .ui-redesign .report-name-column-resizer:is(:hover, :focus-visible)::after,
    .ui-redesign .procurement-report-table.is-resizing-name-column .report-name-column-resizer::after {
        height: 34px;
        background: #176f96;
        opacity: 1;
    }
    .ui-redesign .report-name-column-resizer:focus-visible { outline: none; }
    .ui-redesign .report-name-column-resize-guide {
        position: fixed;
        z-index: 1000;
        width: 2px;
        pointer-events: none;
        background: #176f96;
        box-shadow: 0 0 0 1px rgb(255 255 255 / 72%), 0 0 8px rgb(23 111 150 / 24%);
        contain: strict;
        will-change: transform;
    }
    .ui-redesign .procurement-report-table.is-resizing-name-column,
    .ui-redesign .procurement-report-table.is-resizing-name-column * {
        cursor: col-resize !important;
        user-select: none !important;
    }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table):has(col[data-column-key="article"]:not([hidden])) { --col-article: 108; --grow-article: 0.35; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) col[data-column-key="article"] { width: calc(var(--col-article, 0) * var(--report-column-unit) + var(--report-free-width) * var(--grow-article, 0) / var(--report-grow-total)); }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table):has(col[data-column-key="brand"]:not([hidden])) { --col-brand: 88; --grow-brand: 0.25; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) col[data-column-key="brand"] { width: calc(var(--col-brand, 0) * var(--report-column-unit) + var(--report-free-width) * var(--grow-brand, 0) / var(--report-grow-total)); }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table):has(col[data-column-key="component_type"]:not([hidden])) { --col-component_type: 112; --grow-component_type: 0.35; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) col[data-column-key="component_type"] { width: calc(var(--col-component_type, 0) * var(--report-column-unit) + var(--report-free-width) * var(--grow-component_type, 0) / var(--report-grow-total)); }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table):has(col[data-column-key="gost"]:not([hidden])) { --col-gost: 112; --grow-gost: 0.4; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) col[data-column-key="gost"] { width: calc(var(--col-gost, 0) * var(--report-column-unit) + var(--report-free-width) * var(--grow-gost, 0) / var(--report-grow-total)); }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table):has(col[data-column-key="fob"]:not([hidden])) { --col-fob: 58; --grow-fob: 0.05; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) col[data-column-key="fob"] { width: calc(var(--col-fob, 0) * var(--report-column-unit) + var(--report-free-width) * var(--grow-fob, 0) / var(--report-grow-total)); }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table):has(col[data-column-key="assembly"]:not([hidden])) { --col-assembly: 178; --grow-assembly: 0.5; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) col[data-column-key="assembly"] { width: calc(var(--col-assembly, 0) * var(--report-column-unit) + var(--report-free-width) * var(--grow-assembly, 0) / var(--report-grow-total)); }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table):has(col[data-column-key="assembly_russia"]:not([hidden])) { --col-assembly_russia: 118; --grow-assembly_russia: 0.15; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) col[data-column-key="assembly_russia"] { width: calc(var(--col-assembly_russia, 0) * var(--report-column-unit) + var(--report-free-width) * var(--grow-assembly_russia, 0) / var(--report-grow-total)); }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table):has(col[data-column-key="positions"]:not([hidden])) { --col-positions: 94; --grow-positions: 0.1; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) col[data-column-key="positions"] { width: calc(var(--col-positions, 0) * var(--report-column-unit) + var(--report-free-width) * var(--grow-positions, 0) / var(--report-grow-total)); }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table):has(col[data-column-key="in_requests"]:not([hidden])) { --col-in_requests: 96; --grow-in_requests: 0.4; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) col[data-column-key="in_requests"] { width: calc(var(--col-in_requests, 0) * var(--report-column-unit) + var(--report-free-width) * var(--grow-in_requests, 0) / var(--report-grow-total)); }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table):has(col[data-column-key="sold"]:not([hidden])) { --col-sold: 144; --grow-sold: 0.8; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) col[data-column-key="sold"] { width: calc(var(--col-sold, 0) * var(--report-column-unit) + var(--report-free-width) * var(--grow-sold, 0) / var(--report-grow-total)); }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table):has(col[data-column-key="received"]:not([hidden])) { --col-received: 116; --grow-received: 0.4; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) col[data-column-key="received"] { width: calc(var(--col-received, 0) * var(--report-column-unit) + var(--report-free-width) * var(--grow-received, 0) / var(--report-grow-total)); }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table):has(col[data-column-key="sold_rub"]:not([hidden])) { --col-sold_rub: 128; --grow-sold_rub: 0.7; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) col[data-column-key="sold_rub"] { width: calc(var(--col-sold_rub, 0) * var(--report-column-unit) + var(--report-free-width) * var(--grow-sold_rub, 0) / var(--report-grow-total)); }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table):has(col[data-column-key="available"]:not([hidden])) { --col-available: 88; --grow-available: 0.45; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) col[data-column-key="available"] { width: calc(var(--col-available, 0) * var(--report-column-unit) + var(--report-free-width) * var(--grow-available, 0) / var(--report-grow-total)); }
    .ui-redesign .gost-report-table:has(col[data-column-key="available"]:not([hidden])) { --col-available: 118; --grow-available: 0.65; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table):has(col[data-column-key="in_transit"]:not([hidden])) { --col-in_transit: 132; --grow-in_transit: 0.75; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) col[data-column-key="in_transit"] { width: calc(var(--col-in_transit, 0) * var(--report-column-unit) + var(--report-free-width) * var(--grow-in_transit, 0) / var(--report-grow-total)); }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table):has(col[data-column-key="sold_kg"]:not([hidden])) { --col-sold_kg: 86; --grow-sold_kg: 0.35; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) col[data-column-key="sold_kg"] { width: calc(var(--col-sold_kg, 0) * var(--report-column-unit) + var(--report-free-width) * var(--grow-sold_kg, 0) / var(--report-grow-total)); }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table):has(col[data-column-key="need_percent"]:not([hidden])) { --col-need_percent: 168; --grow-need_percent: 0.7; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) col[data-column-key="need_percent"] { width: calc(var(--col-need_percent, 0) * var(--report-column-unit) + var(--report-free-width) * var(--grow-need_percent, 0) / var(--report-grow-total)); }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table):has(col[data-column-key="need_kg"]:not([hidden])) { --col-need_kg: 152; --grow-need_kg: 0.6; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) col[data-column-key="need_kg"] { width: calc(var(--col-need_kg, 0) * var(--report-column-unit) + var(--report-free-width) * var(--grow-need_kg, 0) / var(--report-grow-total)); }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table):has(col[data-column-key="need_units"]:not([hidden])) { --col-need_units: 194; --grow-need_units: 1.2; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) col[data-column-key="need_units"] { width: calc(var(--col-need_units, 0) * var(--report-column-unit) + var(--report-free-width) * var(--grow-need_units, 0) / var(--report-grow-total)); }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table):has(col[data-column-key="carton"]:not([hidden])) { --col-carton: 104; --grow-carton: 0.3; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) col[data-column-key="carton"] { width: calc(var(--col-carton, 0) * var(--report-column-unit) + var(--report-free-width) * var(--grow-carton, 0) / var(--report-grow-total)); }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table):has(col[data-column-key="transit_signed"]:not([hidden])) { --col-transit_signed: 90; --grow-transit_signed: 0.5; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) col[data-column-key="transit_signed"] { width: calc(var(--col-transit_signed, 0) * var(--report-column-unit) + var(--report-free-width) * var(--grow-transit_signed, 0) / var(--report-grow-total)); }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table):has(col[data-column-key="transit_factory_ready"]:not([hidden])) { --col-transit_factory_ready: 120; --grow-transit_factory_ready: 0.65; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) col[data-column-key="transit_factory_ready"] { width: calc(var(--col-transit_factory_ready, 0) * var(--report-column-unit) + var(--report-free-width) * var(--grow-transit_factory_ready, 0) / var(--report-grow-total)); }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table):has(col[data-column-key="transit_departed"]:not([hidden])) { --col-transit_departed: 88; --grow-transit_departed: 0.5; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) col[data-column-key="transit_departed"] { width: calc(var(--col-transit_departed, 0) * var(--report-column-unit) + var(--report-free-width) * var(--grow-transit_departed, 0) / var(--report-grow-total)); }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table):has(col[data-column-key="transit_customs"]:not([hidden])) { --col-transit_customs: 146; --grow-transit_customs: 0.8; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) col[data-column-key="transit_customs"] { width: calc(var(--col-transit_customs, 0) * var(--report-column-unit) + var(--report-free-width) * var(--grow-transit_customs, 0) / var(--report-grow-total)); }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table):has(col[data-column-key="transit_rail_loaded"]:not([hidden])) { --col-transit_rail_loaded: 124; --grow-transit_rail_loaded: 0.65; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) col[data-column-key="transit_rail_loaded"] { width: calc(var(--col-transit_rail_loaded, 0) * var(--report-column-unit) + var(--report-free-width) * var(--grow-transit_rail_loaded, 0) / var(--report-grow-total)); }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table):has(col[data-column-key="transit_rail_unloaded"]:not([hidden])) { --col-transit_rail_unloaded: 120; --grow-transit_rail_unloaded: 0.65; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) col[data-column-key="transit_rail_unloaded"] { width: calc(var(--col-transit_rail_unloaded, 0) * var(--report-column-unit) + var(--report-free-width) * var(--grow-transit_rail_unloaded, 0) / var(--report-grow-total)); }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table):has(col[data-column-key="required"]:not([hidden])) { --col-required: 104; --grow-required: 0.15; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) col[data-column-key="required"] { width: calc(var(--col-required, 0) * var(--report-column-unit) + var(--report-free-width) * var(--grow-required, 0) / var(--report-grow-total)); }
    .ui-redesign .repair-kit-need-report-table:has(col[data-column-key="name"]:not([hidden])) { --col-name: 240; --grow-name: 2; }
    .ui-redesign .repair-kit-need-report-table .report-product-name-line > span { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
    .ui-redesign .rk-procurement-table:has(col[data-column-key="name"]:not([hidden])) { --col-name: 240; }
    .ui-redesign .rk-procurement-table:has(col[data-column-key="assembly"]:not([hidden])) { --col-assembly: 154; }
    .ui-redesign .rk-procurement-table:has(col[data-column-key="need_units"]:not([hidden])) { --col-need_units: 126; }
    .ui-redesign .rk-procurement-table:has(col[data-column-key="need_kg"]:not([hidden])) { --col-need_kg: 108; }

    .ui-redesign .procurement-report-table col[data-report-service-col],
    .ui-redesign .rk-procurement-table col.rk-col-add { width: var(--report-service-width); }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) col[data-report-row-number-col] { width: var(--report-row-number-width); }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) > :is(thead, tbody) > tr > :is(th, td) { padding-inline: 6px; }
    .ui-redesign .procurement-report-table :is([data-report-service-header], [data-report-service-cell]),
    .ui-redesign .rk-procurement-table > :is(thead, tbody) > tr > :is(th, td):first-child { width: var(--report-service-width); min-width: 0; padding-inline: 4px; }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) :is(th, td)[data-report-row-number] {
        width: var(--report-row-number-width);
        min-width: var(--report-row-number-width);
        padding-inline: 3px;
        color: #607789;
        text-align: center;
        font-weight: 700;
        font-variant-numeric: tabular-nums;
    }

    /* Compact the space around tools, never the icon or the text itself. */
    .ui-redesign .procurement-report-table .report-header-details :is(.sortable-heading, .report-column-summary, .report-column-title),
    .ui-redesign .rk-procurement-table th,
    .ui-redesign .rk-procurement-table th a { white-space: normal; overflow-wrap: normal; word-break: normal; letter-spacing: 0; gap: 4px; }
    .ui-redesign .procurement-report-table .report-header-details th { white-space: normal; }
    .ui-redesign .procurement-report-table .report-header-details .sortable-heading > .report-tooltip-marker,
    .ui-redesign .procurement-report-table .report-header-details .report-column-title + :is(.report-tooltip-marker, svg, b) { margin-inline-start: 0; }

    /* Keep every row tooltip on one right-hand rail inside its own column.
       Values keep their natural left edge, while differing digit counts no
       longer move the action back and forth from row to row. */
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) tbody td[data-column-key] > :is(
        .report-sales-with-merge,
        .gost-position-count,
        .report-coverage-value,
        .report-need-scenario-value
    ):has(> :is(
        .report-merge-indicator,
        .report-demand-forecast-indicator,
        .report-hidden-demand-indicator,
        .report-stock-cover-indicator,
        .report-need-scenario-indicator
    )) {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 4px;
    }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) tbody td[data-column-key] > :is(
        .report-sales-with-merge,
        .gost-position-count,
        .report-coverage-value,
        .report-need-scenario-value
    ) > :is(strong, .report-cell-unit) {
        flex: 0 0 auto;
        white-space: nowrap;
        overflow-wrap: normal;
        word-break: normal;
    }
    .ui-redesign :is(.procurement-report-table, .rk-procurement-table) tbody td[data-column-key] > :is(
        .report-sales-with-merge,
        .gost-position-count,
        .report-coverage-value,
        .report-need-scenario-value
    ) > :is(
        .report-merge-indicator,
        .report-demand-forecast-indicator,
        .report-hidden-demand-indicator,
        .report-stock-cover-indicator,
        .report-need-scenario-indicator
    ) {
        margin-inline-start: auto !important;
        margin-inline-end: 0 !important;
    }
    .ui-redesign .procurement-report-table tbody td[data-column-key="sold"] > .report-sales-basis {
        width: 100%;
        flex-wrap: nowrap;
    }
    .ui-redesign .procurement-report-table tbody td[data-column-key="sold"] > .report-sales-basis > small { order: 1; }
    .ui-redesign .procurement-report-table tbody td[data-column-key="sold"] > .report-sales-basis > .report-merge-indicator {
        order: 2;
        margin-inline-start: auto !important;
        margin-inline-end: 0 !important;
    }

    /* The standalone RK triggers use the same rail without changing the
       table-cell display mode (mobile keeps its card grid unchanged). */
    .ui-redesign .rk-procurement-table tbody td:is(.rk-source-cell, .rk-status-cell, .rk-to-purchase):has(> :is(
        .report-merge-indicator,
        .report-need-scenario-indicator
    )) {
        position: relative;
        padding-inline-end: calc(var(--report-icon-size) + 10px);
    }
    .ui-redesign .rk-procurement-table tbody td:is(.rk-source-cell, .rk-status-cell, .rk-to-purchase) > :is(
        .report-merge-indicator,
        .report-need-scenario-indicator
    ) {
        position: absolute;
        inset-inline-end: 6px;
        top: 50%;
        margin: 0 !important;
        transform: translateY(-50%);
    }
}

@media (max-width: 920px) {
    .ui-redesign .report-name-column-resizer { display: none; }
}

.ui-redesign .source-exports-content-shell { max-width: 800px; margin-inline: auto; }
.ui-redesign .odata-datasets { padding: 0; overflow: hidden; border-radius: 16px; box-shadow: 0 4px 20px rgb(27 62 82 / 5%); }
.ui-redesign .odata-check-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 24px; }
.ui-redesign .odata-check-heading h1 { margin: 0; font-size: 24px; line-height: 1.25; letter-spacing: -.025em; }
.ui-redesign .odata-check-heading p { margin: 7px 0 0; font-size: 14px; line-height: 1.5; color: #627b8b; }
.ui-redesign .odata-refresh { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 0 14px; flex-shrink: 0; font-size: 14px; }
.ui-redesign .odata-refresh svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ui-redesign .odata-dataset-head, .ui-redesign .odata-dataset { display: grid; grid-template-columns: minmax(0, 1fr) 218px; gap: 20px; align-items: center; padding: 14px 24px; border-top: 1px solid #e2e9ee; }
.ui-redesign .odata-dataset-head { padding-block: 11px; background: #f4f7f9; font-size: 13px; font-weight: 600; color: #657b8a; }
.ui-redesign .odata-dataset { min-height: 58px; }
.ui-redesign .odata-dataset-name { font-size: 16px; line-height: 1.45; font-weight: 500; color: #254b60; }
.ui-redesign .odata-dataset-date { font-size: 15px; color: #234556; font-variant-numeric: tabular-nums; }
.ui-redesign .odata-dataset-date time { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; white-space: nowrap; }
.ui-redesign .odata-dataset-date time > span { color: #657b8a; }
.ui-redesign .odata-dataset-date strong { font-size: 16px; font-weight: 600; }
.ui-redesign .odata-dataset-date:is(.is-unavailable, .is-empty) { color: #986018; }
@media (max-width: 600px) {
    .ui-redesign .odata-check-heading { align-items: flex-start; padding: 18px 16px; gap: 12px; }
    .ui-redesign .odata-check-heading h1 { font-size: 21px; }
    .ui-redesign .odata-check-heading p { font-size: 13px; max-width: 210px; }
    .ui-redesign .odata-refresh { width: 40px; padding: 0; }
    .ui-redesign .odata-refresh > span { display: none; }
    .ui-redesign .odata-dataset-head, .ui-redesign .odata-dataset { grid-template-columns: minmax(0, 1fr) 108px; gap: 12px; padding-inline: 16px; }
    .ui-redesign .odata-dataset-head > span:last-child { text-align: right; }
    .ui-redesign .odata-dataset { min-height: 72px; padding-block: 13px; }
    .ui-redesign .odata-dataset-date { text-align: right; }
    .ui-redesign .odata-dataset-date time { flex-direction: column; align-items: flex-end; gap: 3px; }
    .ui-redesign .odata-dataset-date time > span { font-size: 13px; }
}
.ui-redesign .procurement-report-table .repair-kit-assembly-status {
    font-size: var(--report-type-size, 14px);
    line-height: 1.4;
    gap: 8px;
    white-space: normal;
    text-align: left;
}
.ui-redesign .repair-kit-assembly-component {
    min-height: 66px;
    grid-template-columns: minmax(200px, 2.6fr) repeat(5, minmax(65px, .7fr)) minmax(130px, 1.1fr);
}
.ui-redesign .repair-kit-assembly-component > span { padding: 12px; }
.ui-redesign .repair-kit-assembly-component strong,
.ui-redesign .repair-kit-assembly-component.is-shortage .repair-kit-assembly-deficit strong {
    font-size: 15px;
    line-height: 1.45;
    white-space: normal;
    overflow-wrap: anywhere;
    text-overflow: clip;
}
.ui-redesign .repair-kit-assembly-component small { font-size: 13px; line-height: 1.45; color: #66788a; }
.ui-redesign .repair-kit-assembly-component.is-heading { min-height: 44px; font-size: 12px; line-height: 1.4; letter-spacing: 0; }
.ui-redesign .repair-kit-assembly-overview { flex-wrap: wrap; }
.ui-redesign .repair-kit-assembly-overview > header span:first-child { font-size: 12px; letter-spacing: .025em; }
.ui-redesign .repair-kit-assembly-overview > header h3 { font-size: 17px; white-space: normal; }
.ui-redesign .repair-kit-assembly-summary { flex-wrap: wrap; }
.ui-redesign .repair-kit-assembly-summary > span { min-height: 78px; }
.ui-redesign .repair-kit-assembly-summary small,
.ui-redesign .repair-kit-assembly-summary strong em { font-size: 13px; }
.ui-redesign .repair-kit-assembly-summary strong { font-size: 18px; }
.ui-redesign .report-money-cell > strong { display: inline; white-space: normal; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.ui-redesign .report-money-cell .cell-unit { font-size: 12px; margin-left: 4px; color: #708292; }
.ui-redesign .need-calculation-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 14px 0; }
.ui-redesign .need-calculation-facts > div { padding: 12px; border: 1px solid #3b4b60; border-radius: 8px; background: #263448; }
.ui-redesign .need-calculation-facts dt { color: #b8c5d4; font-size: 13px; line-height: 1.45; }
.ui-redesign .need-calculation-facts dd { margin: 5px 0 0; color: #fff; font-size: 16px; font-weight: 650; }
.ui-redesign .need-calculation-facts dd small { font-size: 13px; font-weight: 400; }

.ui-redesign .request-card { container: request-card / inline-size; }
.ui-redesign .request-card-header { padding: 10px 12px; }
.ui-redesign .request-card-number-row > .request-card-number { font-size: 10px; }
.ui-redesign .request-card .request-card-utilities :is(a, button) { font-size: 10px; min-height: 34px; line-height: 1.35; }
.ui-redesign .request-card .request-title-value,
.ui-redesign .request-card .request-title-form input { min-height: 34px; font-size: 15px; }
.ui-redesign .request-card .request-period-option { font-size: 10px; }
.ui-redesign .request-card .request-card-empty :is(p, a) { font-size: 14px; line-height: 1.6; }
.ui-redesign .request-card .request-table { font-size: 14px; width: 100%; min-width: 0; max-width: 100%; table-layout: fixed; }
.ui-redesign .request-card .request-table th { font-size: 12px; line-height: 1.4; padding: 10px 8px; letter-spacing: 0; text-transform: none; }
.ui-redesign .request-card .request-table td { height: 56px; padding: 10px 8px; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; }
.ui-redesign .request-card .request-table td strong,
.ui-redesign .request-card .request-table .request-product-cell strong { font-size: 14px; line-height: 1.5; white-space: normal; text-overflow: clip; }
.ui-redesign .request-card .request-table th:nth-child(1) { width: 25%; }
.ui-redesign .request-card .request-table th:nth-child(2) { width: 11%; }
.ui-redesign .request-card .request-table th:nth-child(3) { width: 20%; }
.ui-redesign .request-card .request-table th:nth-child(4),
.ui-redesign .request-card .request-table th:nth-child(5),
.ui-redesign .request-card .request-table th:nth-child(6) { width: 11%; }
.ui-redesign .request-card .request-table th:nth-child(7) { width: 8%; }
.ui-redesign .request-card .request-table col.request-col-action,
.ui-redesign .request-card .request-table th.request-row-action { width: 34px; }
.ui-redesign .request-card .request-table th.request-row-action,
.ui-redesign .request-card .request-table td.request-row-action { padding-inline: 0; }
.ui-redesign .request-card .request-row-action .request-remove-button {
    width: 30px;
    height: 30px;
    font-size: 21px;
}
.ui-redesign .request-card .request-quantity-value { padding: 4px 0; font-size: 14px; gap: 4px; flex-wrap: wrap; justify-content: flex-start; }
.ui-redesign .request-card .request-quantity-form input { font-size: 14px; padding: 8px 4px; }
.ui-redesign .request-card .request-cell-unit,
.ui-redesign .request-card .request-demand-source { font-size: 12px; white-space: normal; }
.ui-redesign .request-card .request-cell-unit { display: inline-block; margin-left: 3px; white-space: nowrap; overflow-wrap: normal; }
.ui-redesign .request-card .request-table-wrap {
    overflow-x: hidden;
    overscroll-behavior: auto;
    scrollbar-gutter: auto;
}

/* On smaller cards keep all seven fields as labelled records, not a tiny grid. */
@container request-card (max-width: 760px) {
    .ui-redesign .request-card .request-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .ui-redesign .request-card .request-table,
    .ui-redesign .request-card .request-table tbody { display: block; }
    .ui-redesign .request-card .request-table tbody tr { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid #dce5eb; }
    .ui-redesign .request-card .request-table td { display: block; width: auto; height: auto; min-width: 0; border: 0; padding: 10px 12px; grid-row: auto; }
    .ui-redesign .request-card .request-table td:first-child { position: static; width: auto; min-height: 0; padding: 10px 12px; grid-column: 1 / -1; }
    .ui-redesign .request-card .request-table td[data-label]::before { content: attr(data-label); display: block; margin-bottom: 4px; color: #6a7b88; font-size: 12px; line-height: 1.4; text-transform: none; letter-spacing: 0; }
    .ui-redesign .request-card .request-table td:first-child::before { display: none; }
}
@container request-card (max-width: 480px) {
    .ui-redesign .request-card .request-table tbody tr { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 920px) {
    .ui-redesign .repair-kit-assembly-component { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ui-redesign .repair-kit-assembly-component.is-heading { display: none; }
    .ui-redesign .repair-kit-assembly-component-name { grid-column: 1 / -1; }
}

/* Full-HD office monitors need a little more table space than the default
   application shell leaves available. Rebalance the report only in this
   range: desktop headings and compact metrics stay on one readable line,
   while mobile and wide-screen layouts keep their existing proportions. */
@media (min-width: 1800px) and (max-width: 1960px) {
    .ui-redesign:has(.report-content-shell) { --sidebar-width: 232px; }
    .ui-redesign .report-content-shell {
        padding-right: 14px;
        padding-left: 14px;
    }

    .ui-redesign .procurement-report-table:not(.repair-kit-need-report-table) {
        --report-service-width: 32px;
        --report-row-number-width: 34px;
    }
    .ui-redesign .procurement-report-table[data-report-selection-table]:not(.repair-kit-need-report-table) {
        --report-selection-width: 42px;
    }

    .ui-redesign .procurement-report-table:not(.repair-kit-need-report-table):has(col[data-column-key="name"]:not([hidden])) { --col-name: 150; }
    .ui-redesign .procurement-report-table:not(.repair-kit-need-report-table):has(col[data-column-key="brand"]:not([hidden])) { --col-brand: 80; }
    .ui-redesign .procurement-report-table:not(.repair-kit-need-report-table):has(col[data-column-key="in_requests"]:not([hidden])) { --col-in_requests: 97; }
    .ui-redesign .procurement-report-table:not(.repair-kit-need-report-table):has(col[data-column-key="sold"]:not([hidden])) { --col-sold: 125; }
    .ui-redesign .procurement-report-table:not(.repair-kit-need-report-table):has(col[data-column-key="received"]:not([hidden])) { --col-received: 110; }
    .ui-redesign .procurement-report-table:not(.repair-kit-need-report-table):has(col[data-column-key="sold_rub"]:not([hidden])) { --col-sold_rub: 125; }
    .ui-redesign .procurement-report-table:not(.repair-kit-need-report-table):has(col[data-column-key="available"]:not([hidden])) { --col-available: 95; }
    .ui-redesign .procurement-report-table:not(.repair-kit-need-report-table):has(col[data-column-key="in_transit"]:not([hidden])) { --col-in_transit: 120; }
    .ui-redesign .procurement-report-table:not(.repair-kit-need-report-table):has(col[data-column-key="sold_kg"]:not([hidden])) { --col-sold_kg: 85; }
    .ui-redesign .procurement-report-table:not(.repair-kit-need-report-table):has(col[data-column-key="need_percent"]:not([hidden])) { --col-need_percent: 145; }
    .ui-redesign .procurement-report-table:not(.repair-kit-need-report-table):has(col[data-column-key="need_kg"]:not([hidden])) { --col-need_kg: 132; }
    .ui-redesign .procurement-report-table:not(.repair-kit-need-report-table):has(col[data-column-key="need_units"]:not([hidden])) { --col-need_units: 159; }
    .ui-redesign .procurement-report-table:not(.repair-kit-need-report-table):has(col[data-column-key="carton"]:not([hidden])) { --col-carton: 107; }
    .ui-redesign .gost-report-table:has(col[data-column-key="available"]:not([hidden])) { --col-available: 95; }

    .ui-redesign .procurement-report-table:not(.repair-kit-need-report-table) > :is(thead, tbody) > tr > :is(th, td) {
        padding-inline: 5px;
    }
    .ui-redesign .procurement-report-table:not(.repair-kit-need-report-table) .report-header-details th {
        font-size: 9.5px;
    }
    .ui-redesign .procurement-report-table:not(.repair-kit-need-report-table) .report-header-details :is(.sortable-heading, .report-column-summary, .report-column-title) {
        gap: 2px;
        flex-wrap: nowrap;
        white-space: nowrap;
    }
    .ui-redesign .procurement-report-table:not(.repair-kit-need-report-table) tbody td[data-column-key="sold"] > .report-sales-with-merge {
        flex-wrap: nowrap;
        white-space: nowrap;
    }
    .ui-redesign .procurement-report-table:not(.repair-kit-need-report-table) tbody td[data-column-key="brand"] {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

/* Snapshot provenance must remain readable under legacy dense-table styles. */
.ui-redesign .procurement-report-table .report-sales-basis > small {
    font-size: 12px !important;
    line-height: 1.3;
}
