/* Draft styles must be in a stylesheet actually linked by index.html. */
.pc-calculations-page > .pc-draft-list.pc-data-surface { display: grid; gap: 16px; padding: 20px; min-height: 0; color: var(--pc-text); background: var(--pc-surface); }
.pc-draft-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.pc-draft-header > div, .pc-draft-description { min-width: 0; }
.pc-draft-header h2 { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 18px; line-height: 1.3; }
.pc-draft-header h2 small { padding: 3px 8px; border-radius: 999px; background: var(--pc-surface-soft); color: var(--pc-muted); font-size: 12px; }
.pc-draft-header p { margin: 6px 0 0; color: var(--pc-muted); font-size: 13px; line-height: 1.5; }
.pc-draft-empty { margin: 0; padding: 16px; border: 1px dashed var(--pc-line); border-radius: 14px; color: var(--pc-muted); background: var(--pc-surface-soft); font-size: 14px; line-height: 1.5; }
.pc-draft-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px; border: 1px solid var(--pc-line); border-radius: 14px; background: var(--pc-surface); }
.pc-draft-label { display: block; margin-bottom: 5px; color: var(--pc-muted); font-size: 11px; font-weight: 750; text-transform: uppercase; }
.pc-draft-row strong, .pc-draft-row small { display: block; overflow-wrap: anywhere; }
.pc-draft-row strong { font-size: 16px; line-height: 1.4; }
.pc-draft-row small { margin-top: 5px; color: var(--pc-muted); font-size: 12px; }
.pc-draft-actions { display: flex; flex-wrap: wrap; gap: 8px; flex-shrink: 0; }
.pc-calculations-page .pc-draft-actions > .pc-registry-refresh { grid-column: auto; min-width: 0; }
.pc-local-draft-documents input[type="file"]::file-selector-button { margin-right: 12px; padding: 9px 14px; border: 1px solid var(--pc-line); border-radius: 10px; background: var(--pc-surface-soft); color: var(--pc-text); font: inherit; font-weight: 750; cursor: pointer; }
.pc-local-draft-documents input[type="file"]:disabled::file-selector-button { cursor: default; opacity: .6; }
.pc-draft-document-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pc-draft-document-list li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border: 1px solid var(--pc-line); border-radius: 12px; background: var(--pc-surface-soft); }
.pc-draft-document-list li > div { min-width: 0; }
.pc-draft-document-list strong { display: block; overflow-wrap: anywhere; font-size: 14px; }
.pc-draft-document-list small { display: block; margin-top: 4px; color: var(--pc-muted); font-size: 12px; }
.pc-draft-document-state { flex-shrink: 0; color: var(--pc-selection-text); font-size: 12px; font-weight: 750; }
.pc-draft-list > [role="alert"] { color: var(--pc-text); border-left: 3px solid var(--pc-orange); padding: 10px 14px; background: var(--pc-surface-soft); }
.pc-draft-list > [role="status"] { color: var(--pc-muted); }
@media (max-width: 600px) {
    .pc-calculations-page > .pc-draft-list.pc-data-surface { padding: 16px; }
    .pc-draft-header, .pc-draft-row { align-items: stretch; flex-direction: column; gap: 12px; }
    .pc-draft-header > button { align-self: flex-start; }
    .pc-draft-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .pc-draft-document-list li { align-items: flex-start; flex-direction: column; }
}

.pc-calculations-workspace {
    container: calculation-workspace / inline-size;
    flex: 1 1 100%;
    width: 100%;
    --calc-border: var(--pc-line, #e6edf3);
    --calc-muted: var(--pc-muted, #6b7c8c);
    --calc-ink: var(--pc-text, #172b3a);
    display: grid;
    gap: 18px;
    min-width: 0;
    padding: 20px;
    color: var(--calc-ink);
}

.pc-calculation-controls {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: stretch;
    gap: 12px;
}

.pc-calculation-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.pc-calculation-summary.is-current {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pc-calculation-summary-card {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-width: 0;
    min-height: 76px;
    padding: 14px 18px;
    border: 1px solid var(--calc-border);
    border-radius: var(--pc-radius-200);
    background: #fff;
    color: var(--calc-ink);
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.pc-calculation-summary-card::before {
    position: absolute;
    inset: 12px auto 12px 0;
    width: 3px;
    border-radius: 0 4px 4px 0;
    background: #8ca1b3;
    content: "";
}

.pc-calculation-summary-card.is-progress::before { background: #ff7a18; }
.pc-calculation-summary-card.is-attention::before { background: #e3a008; }
.pc-calculation-summary-card.is-order::before { background: #3478b8; }
.pc-calculation-summary-card.is-complete::before { background: #27a36a; }

.pc-calculation-summary-card:hover,
.pc-calculation-summary-card.is-active {
    border-color: #ff9a52;
    box-shadow: var(--pc-card-hover-shadow);
    transform: translateY(-1px);
}

.pc-calculation-summary-card:focus-visible,
.pc-calculation-controls .pc-segment-button:focus-visible,
.pc-calculation-kind-filters button:focus-visible,
.pc-calculation-toolbar button:focus-visible,
.pc-calculation-toolbar input:focus-visible,
.pc-calculation-load-more button:focus-visible {
    outline: 3px solid var(--pc-focus-ring);
    outline-offset: 2px;
}

.pc-calculation-order-link:focus-visible {
    outline: 3px solid var(--pc-focus-ring);
    outline-offset: 2px;
}

.pc-calculation-summary-card span {
    min-width: 0;
    color: var(--calc-muted);
    font-size: 14px;
    font-weight: 700;
}

.pc-calculation-summary-card strong {
    margin-left: 12px;
    font-size: clamp(24px, 2.2vw, 34px);
    line-height: 1;
}

.pc-calculation-toolbar {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) auto;
    gap: 12px;
    align-items: center;
}

.pc-calculation-search {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    min-width: 0;
    height: 48px;
    overflow: hidden;
    border: 1px solid var(--calc-border);
    border-radius: 14px;
    background: #fff;
}

.pc-calculation-search-icon {
    position: relative;
    box-sizing: border-box;
    width: 18px;
    height: 18px;
    margin-left: 16px;
    border: 2px solid #526b7e;
    border-radius: 50%;
}

.pc-calculation-search-icon::after {
    position: absolute;
    top: 11px;
    left: 11px;
    width: 7px;
    height: 2px;
    background: #526b7e;
    transform: rotate(45deg);
    transform-origin: left center;
    content: "";
}

.pc-calculation-search input {
    min-width: 0;
    height: 100%;
    padding: 0 14px;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--calc-ink);
    font: inherit;
}

.pc-calculation-search-clear,
.pc-calculation-search-submit,
.pc-calculation-refresh,
.pc-calculation-load-more button {
    border: 0;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.pc-calculation-search-clear {
    padding: 7px 11px;
    background: transparent;
    color: #6a7e8e;
    font-size: 22px;
}

.pc-calculation-search-submit {
    align-self: stretch;
    padding: 0 20px;
    background: #ff7a18;
    color: #fff;
}

.pc-calculation-refresh {
    height: 48px;
    padding: 0 18px;
    border: 1px solid var(--calc-border);
    border-radius: 14px;
    background: #fff;
    color: #28465d;
}

.pc-calculation-refresh span {
    margin-right: 6px;
    font-size: 20px;
}

.pc-calculation-search-submit:hover,
.pc-calculation-load-more button:hover { background: #e96608; }
.pc-calculation-refresh:hover { border-color: #ff9a52; }
.pc-calculation-toolbar button:disabled { cursor: wait; opacity: .62; }

.pc-calculation-kind-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pc-calculation-view-filters {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    gap: 5px;
    padding: 5px;
    border: 1px solid var(--calc-border);
    border-radius: 13px;
    background: #fff;
}

.pc-calculation-view-filters button {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    gap: 8px;
    padding: 0 13px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: #526b7e;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.pc-calculation-view-filters button > span {
    min-width: 22px;
    padding: 4px 7px;
    border-radius: 999px;
    background: #edf3f7;
    color: #405b70;
    font-size: 11px;
    text-align: center;
}

.pc-calculation-view-filters button.is-active {
    background: #fff1e8;
    color: #b94f00;
}

.pc-calculation-view-filters button.is-active > span {
    background: #fff;
    color: #b94f00;
}

.pc-calculation-kind-filters button {
    min-height: 38px;
    padding: 8px 13px;
    border: 1px solid var(--calc-border);
    border-radius: 999px;
    background: #fff;
    color: #405b70;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}

.pc-calculation-kind-filters button span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    margin-left: 6px;
    padding: 2px 6px;
    border-radius: 999px;
    background: #edf3f7;
    color: #5a7082;
    font-size: 12px;
}

.pc-calculation-kind-filters button:hover,
.pc-calculation-kind-filters button.is-active {
    border-color: #ff9a52;
    background: #fff4eb;
    color: #c95700;
}

.pc-calculation-results-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    min-width: 0;
    padding-top: 2px;
}

.pc-calculation-results-heading div {
    display: flex;
    align-items: baseline;
    min-width: 0;
    gap: 10px;
}

.pc-calculation-results-heading strong { font-size: 20px; }
.pc-calculation-results-heading span { color: var(--calc-muted); font-size: 14px; }

.pc-calculation-list {
    display: grid;
    gap: 10px;
    min-width: 0;
}

.pc-calculation-row {
    position: relative;
    display: grid;
    grid-template-columns: minmax(145px, .7fr) minmax(260px, 1.6fr) minmax(230px, 1.05fr) auto;
    gap: 18px;
    align-items: center;
    min-width: 0;
    padding: 17px 19px;
    overflow: hidden;
    border: 1px solid var(--calc-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 3px 14px rgba(20, 45, 66, .045);
    transition: border-color .18s ease, box-shadow .18s ease;
}

.pc-calculation-row::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: #ff7417;
    content: "";
}

.pc-calculation-row.is-complete::before {
    background: #28a36a;
}

.pc-calculation-row.is-attention {
    border-color: #efc7c7;
}

.pc-calculation-row.is-attention::before {
    background: #c84545;
}

.pc-calculation-row:hover {
    border-color: #c5d5e2;
    box-shadow: 0 8px 24px rgba(20, 45, 66, .08);
}

.pc-calculation-number,
.pc-calculation-main,
.pc-calculation-meta,
.pc-calculation-meta-stack {
    min-width: 0;
}

.pc-calculation-number,
.pc-calculation-meta {
    display: grid;
    gap: 4px;
}

.pc-calculation-number > span,
.pc-calculation-meta > span {
    color: var(--calc-muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.pc-calculation-number strong {
    overflow: hidden;
    color: #18334b;
    font-size: 18px;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pc-calculation-number time {
    color: var(--calc-muted);
    font-size: 13px;
}

.pc-calculation-main {
    display: grid;
    gap: 8px;
}

.pc-calculation-main h3 {
    display: -webkit-box;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    color: var(--calc-ink);
    font-size: 16px;
    font-weight: 750;
    line-height: 1.35;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.pc-calculation-badges {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.pc-calculation-meta-stack {
    display: grid;
    gap: 10px;
}

.pc-calculation-footer {
    display: flex;
    grid-column: 4;
    grid-row: 1;
    align-items: center;
    justify-content: flex-end;
    min-width: 0;
}

.pc-calculation-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    min-width: 0;
    gap: 8px;
}

.pc-calculation-content {
    display: grid;
    grid-column: 1 / -1;
    min-width: 0;
    padding-top: 12px;
    border-top: 1px solid #edf2f5;
}

.pc-calculation-kind,
.pc-calculation-status {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 24px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .02em;
}

.pc-calculation-kind { background: #edf4fa; color: #315f7e; }
.pc-calculation-kind i { margin-right: 5px; font-style: normal; }
.pc-calculation-kind.is-customs { background: #edf1ff; color: #405db5; }
.pc-calculation-kind.is-certification { background: #f4eefc; color: #7551a7; }
.pc-calculation-status.is-progress { background: #fff1e6; color: #bd5200; }
.pc-calculation-status.is-order { background: #e9f3fc; color: #245f96; }
.pc-calculation-status.is-complete { background: #eaf7f0; color: #18794e; }
.pc-calculation-status.is-action { background: #fff0e2; color: #a94700; }
.pc-calculation-status.is-review { background: #eef3ff; color: #385a9f; }

.pc-calculation-order-link {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    color: #245f96;
    font-size: 13px;
    font-weight: 750;
    text-decoration: none;
}

.pc-calculation-order-link::after {
    margin-left: 6px;
    content: "→";
}

.pc-calculation-order-link:hover {
    color: #c95700;
    text-decoration: underline;
}

.pc-calculation-meta strong {
    display: -webkit-box;
    min-width: 0;
    overflow: hidden;
    color: #29465d;
    font-size: 14px;
    line-height: 1.35;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.pc-calculation-offer {
    display: grid;
    grid-column: 1 / -1;
    gap: 14px;
    min-width: 0;
    padding: 16px;
    border: 1px solid #dbe7ef;
    border-radius: 14px;
    background: linear-gradient(135deg, #f8fbfd 0%, #fff 72%);
}

.pc-calculation-offer-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.pc-calculation-offer-head > div:first-child {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.pc-calculation-offer-head > div:first-child > span {
    color: #c95700;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.pc-calculation-offer-head strong {
    overflow-wrap: anywhere;
    color: var(--calc-ink);
    font-size: 17px;
}

.pc-calculation-offer-validity {
    display: grid;
    flex: 0 0 auto;
    gap: 3px;
    color: var(--calc-muted);
    font-size: 12px;
    text-align: right;
}

.pc-calculation-offer-lines {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 8px;
}

.pc-calculation-offer-lines > div {
    display: grid;
    min-width: 0;
    gap: 4px;
    padding: 11px 12px;
    border: 1px solid #e4edf3;
    border-radius: 11px;
    background: #fff;
}

.pc-calculation-offer-lines span {
    overflow: hidden;
    color: var(--calc-muted);
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pc-calculation-offer-lines strong {
    color: #173750;
    font-size: 18px;
    font-variant-numeric: tabular-nums;
}

.pc-calculation-offer-actions,
.pc-calculation-reject-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.pc-calculation-offer-actions button,
.pc-calculation-reject-actions button,
.pc-calculation-reject-reasons button {
    min-height: 40px;
    padding: 0 15px;
    border: 1px solid #cfdce5;
    border-radius: 10px;
    background: #fff;
    color: #29465d;
    font-weight: 750;
}

.pc-calculation-offer-actions .is-accept,
.pc-calculation-reject-actions .is-submit {
    border-color: #ff7a18;
    background: #ff7a18;
    color: #fff;
}

.pc-calculation-offer-actions .is-reject:hover,
.pc-calculation-reject-actions button:not(.is-submit):hover,
.pc-calculation-reject-reasons button:hover {
    border-color: #9fb5c5;
    background: #f5f9fb;
}

.pc-calculation-offer-actions button:disabled,
.pc-calculation-reject-actions button:disabled {
    cursor: not-allowed;
    opacity: .55;
}

.pc-calculation-reject-panel {
    display: grid;
    gap: 11px;
    padding: 14px;
    border-radius: 12px;
    background: #f1f6f9;
}

.pc-calculation-accept-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px;
    border: 1px solid #cfe2d8;
    border-radius: 12px;
    background: linear-gradient(135deg, #edf8f2, #fbfefc);
}

.pc-calculation-accept-panel > div:first-child {
    display: grid;
    gap: 3px;
}

.pc-calculation-accept-panel strong {
    color: #145f41;
    font-size: 14px;
}

.pc-calculation-accept-panel span {
    color: #557267;
    font-size: 12px;
    line-height: 1.4;
}

.pc-calculation-reject-panel > strong {
    color: var(--calc-ink);
    font-size: 14px;
}

.pc-calculation-reject-reasons {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.pc-calculation-reject-reasons button {
    min-height: 34px;
    padding-inline: 12px;
    font-size: 12px;
}

.pc-calculation-reject-reasons button.is-selected {
    border-color: #ff7a18;
    background: #fff4eb;
    color: #b94f00;
}

.pc-calculation-reject-panel textarea {
    width: 100%;
    min-height: 82px;
    resize: vertical;
    padding: 10px 12px;
    border: 1px solid #cfdce5;
    border-radius: 10px;
    background: #fff;
    color: var(--calc-ink);
    font: inherit;
}

.pc-calculation-reject-panel textarea:focus {
    border-color: #ff7a18;
    outline: 3px solid var(--pc-focus-ring);
}

.pc-calculation-decision {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 12px;
    padding: 11px 13px;
    border-radius: 10px;
    font-size: 13px;
}

.pc-calculation-decision.is-accepted { background: #eaf7f0; color: #176a46; }
.pc-calculation-decision.is-rejected { background: #f3f5f7; color: #425b6e; }
.pc-calculation-decision span { opacity: .82; }

.pc-calculation-decision-error {
    padding: 10px 12px;
    border-radius: 10px;
    background: #fff0f0;
    color: #a52d2d;
    font-size: 13px;
}

.pc-calculation-skeleton {
    display: grid;
    gap: 10px;
}

.pc-calculation-skeleton span {
    height: 104px;
    border-radius: 16px;
    background: linear-gradient(90deg, var(--pc-border-soft, #eef3f6) 25%, var(--pc-surface-soft, #f8fafb) 42%, var(--pc-border-soft, #eef3f6) 65%);
    background-size: 400% 100%;
    animation: pc-calculation-pulse 1.25s ease-in-out infinite;
}

@keyframes pc-calculation-pulse {
    from { background-position: 100% 0; }
    to { background-position: 0 0; }
}

.pc-calculation-empty {
    display: grid;
    place-items: center;
    min-height: 220px;
    gap: 6px;
    border: 1px dashed #cbd9e4;
    border-radius: 16px;
    color: var(--calc-muted);
    text-align: center;
}

.pc-calculation-empty strong { color: var(--calc-ink); font-size: 18px; }

/* Ошибка загрузки реестра рисуется общим компонентом LoadErrorState (registry-controls.css). */

.pc-calculation-load-more {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 8px 0 2px;
    color: var(--calc-muted);
    font-size: 13px;
}

.pc-calculation-load-more button {
    min-height: 42px;
    padding: 0 18px;
    border-radius: 12px;
    background: #ff7a18;
    color: #fff;
}

/* The open sidebar reduces the workspace without changing viewport breakpoints. */
@container calculation-workspace (max-width: 900px) {
    .pc-calculation-row {
        grid-template-columns: 145px minmax(0, 1fr) auto;
    }

    .pc-calculation-meta-stack {
        grid-column: 2 / 3;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding-top: 10px;
        border-top: 1px solid #edf2f5;
    }

    .pc-calculation-footer {
        grid-column: 3;
        grid-row: 1;
    }

    .pc-registry-controls:not(.pc-registry-controls--search-only) {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .pc-registry-controls > .pc-segmented {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .pc-calculations-workspace { gap: 14px; padding: 14px; }
    .pc-calculation-controls { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .pc-calculation-controls > .pc-segmented { width: 100%; }
    .pc-calculation-controls > .pc-segmented .pc-segment-button { flex: 1 1 0; min-width: 0; padding-inline: 10px; }
    .pc-calculation-toolbar { grid-template-columns: minmax(0, 1fr); }
    .pc-calculation-search { grid-template-columns: auto minmax(0, 1fr) auto; height: 46px; }
    .pc-calculation-search-submit { grid-column: 1 / -1; height: 42px; }
    .pc-calculation-search { height: auto; }
    .pc-calculation-search input { height: 46px; }
    .pc-calculation-refresh { width: 100%; }
    .pc-calculation-results-heading div { display: grid; gap: 2px; }
    .pc-calculation-load-more { flex-direction: column; }
    .pc-calculation-offer { padding: 13px; }
    .pc-calculation-offer-head { display: grid; gap: 8px; }
    .pc-calculation-offer-validity { text-align: left; }
    .pc-calculation-offer-lines { grid-template-columns: minmax(0, 1fr); }
    .pc-calculation-offer-actions button,
    .pc-calculation-reject-actions button { flex: 1 1 160px; }
}

@container calculation-workspace (max-width: 760px) {
    .pc-calculation-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
    .pc-calculation-summary-card { display: grid; gap: 6px; min-height: 76px; padding: 11px 12px; }
    .pc-calculation-summary-card strong { margin: 0; font-size: 24px; }
    .pc-calculation-kind-filters { flex-wrap: wrap; margin-inline: 0; padding: 0; overflow: visible; }
    .pc-calculation-kind-filters button { flex: 0 0 auto; max-width: 100%; }
    .pc-calculation-row { grid-template-columns: minmax(0, 1fr); gap: 13px; padding: 16px; }
    .pc-calculation-number { grid-template-columns: auto minmax(0, 1fr); align-items: baseline; gap: 5px 8px; }
    .pc-calculation-number > span { grid-column: 1; }
    .pc-calculation-number strong { grid-column: 2; }
    .pc-calculation-number time { grid-column: 1 / -1; }
    .pc-calculation-number,
    .pc-calculation-main,
    .pc-calculation-meta-stack,
    .pc-calculation-content,
    .pc-calculation-footer { grid-column: 1; grid-row: auto; }
    .pc-calculation-meta-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding-top: 10px; border-top: 1px solid #edf2f5; }
    .pc-calculation-footer,
    .pc-calculation-actions,
    .pc-calculation-actions .pc-details-action { width: 100%; }
    .pc-calculation-actions { flex-wrap: wrap; }
    .pc-calculation-order-link { min-height: 34px; }
}

@container calculation-workspace (max-width: 640px) {
    .pc-registry-controls:not(.pc-registry-controls--search-only) {
        grid-template-columns: minmax(0, 1fr);
    }
    .pc-registry-controls > .pc-segmented {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }
    .pc-registry-controls .pc-segment-button { min-width: 0; padding-inline: 9px; white-space: normal; }
    .pc-registry-controls > .pc-registry-refresh { grid-column: 1 / -1; width: 100%; }
}

@container calculation-workspace (max-width: 430px) {
    .pc-calculation-meta-stack { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 430px) {
    .pc-calculation-summary-card span { font-size: 12px; }
    .pc-calculation-summary-card strong { font-size: 21px; }
    .pc-calculation-search input { padding-inline: 10px; font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
    .pc-calculation-summary-card,
    .pc-calculation-row { transition: none; }
    .pc-calculation-skeleton span { animation: none; }
}

/* CALCULATION_OFFER_MODAL_V2 */
.pc-calculation-offer-summary {
    display: flex;
    flex-wrap: wrap;
    grid-column: 1 / -1;
    align-items: center;
    gap: 16px;
    min-width: 0;
    padding: 13px 14px;
    border: 1px solid #cfe2d8;
    border-radius: 13px;
    background: linear-gradient(135deg, #f1faf5 0%, #fff 72%);
}

.pc-calculation-offer-summary-copy {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.pc-calculation-offer-summary-copy > span {
    color: #18724d;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.pc-calculation-offer-summary-copy > strong {
    color: var(--calc-ink);
    font-size: 20px;
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
}

.pc-calculation-offer-summary-copy > small {
    color: var(--calc-muted);
    font-size: 12px;
}

.pc-calculation-offer-summary-decision {
    display: grid;
    margin-left: auto;
    gap: 2px;
    padding: 8px 11px;
    border-radius: 10px;
    font-size: 12px;
}

.pc-calculation-offer-summary-decision.is-accepted {
    background: #dff3e8;
    color: #176a46;
}

.pc-calculation-offer-summary-decision.is-rejected {
    background: #eef2f5;
    color: #425b6e;
}

.pc-calculation-offer-summary-decision span {
    opacity: .82;
}

.pc-calculation-offer-details {
    flex: 0 0 auto;
    min-height: 40px;
    margin-left: auto;
    padding: 0 16px;
    border: 1px solid #c7d8e3;
    border-radius: 10px;
    background: #fff;
    color: #173750;
    font-weight: 800;
    cursor: pointer;
}

.pc-calculation-offer-summary-decision + .pc-calculation-offer-details {
    margin-left: 0;
}

.pc-calculation-offer-details:hover {
    border-color: #ff7a18;
    color: #b94f00;
}

.pc-calculation-offer-archive {
    flex: 0 0 auto;
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: #eef3f6;
    color: #405b70;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.pc-calculation-offer-archive:hover,
.pc-calculation-offer-archive.is-restore {
    border-color: #ffc59d;
    background: #fff4ec;
    color: #b94f00;
}

.pc-calculation-offer-archive:disabled {
    cursor: wait;
    opacity: .62;
}

.pc-calculation-offer-archive-error {
    flex: 1 1 100%;
    color: #a92d20;
    font-size: 12px;
}

.pc-offer-modal-backdrop {
    position: fixed;
    z-index: 1200;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 24px;
    overflow: hidden;
    background: rgba(10, 31, 49, .52);
    backdrop-filter: blur(4px);
}

.pc-offer-modal {
    display: grid;
    width: min(680px, 100%);
    max-height: min(760px, calc(100dvh - 82px));
    gap: 18px;
    padding: 22px;
    overflow-y: auto;
    border: 1px solid rgba(255, 255, 255, .74);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 28px 72px rgba(7, 28, 45, .28);
}

.pc-offer-modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.pc-offer-modal-header > div {
    display: grid;
    min-width: 0;
    gap: 4px;
}

.pc-offer-modal-header span {
    color: #c95700;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.pc-offer-modal-header h2 {
    margin: 0;
    color: var(--calc-ink);
    font-size: clamp(21px, 3vw, 28px);
    line-height: 1.18;
}

.pc-offer-modal-total {
    display: grid;
    gap: 3px;
    padding: 18px;
    border: 1px solid #d6e8de;
    border-radius: 15px;
    background: linear-gradient(135deg, #edf8f2, #fbfefc);
}

.pc-offer-modal-total > span,
.pc-offer-modal-total > small {
    color: var(--calc-muted);
    font-size: 12px;
}

.pc-offer-modal-total > strong {
    margin-block: 2px 5px;
    color: #145f41;
    font-size: clamp(25px, 4vw, 34px);
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.pc-offer-modal-lines {
    display: grid;
    gap: 0;
    overflow: hidden;
    border: 1px solid #e0e9ef;
    border-radius: 14px;
}

.pc-offer-modal-lines > div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 20px;
    min-width: 0;
    padding: 13px 15px;
    background: #fff;
}

.pc-offer-modal-lines > div + div {
    border-top: 1px solid #e8eef2;
}

.pc-offer-modal-lines span {
    min-width: 0;
    color: #526b7d;
    overflow-wrap: anywhere;
}

.pc-offer-modal-line-copy {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.pc-offer-modal-line-copy small {
    color: #7a8f9e;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.pc-offer-modal-lines strong {
    flex: 0 0 auto;
    color: #173750;
    font-variant-numeric: tabular-nums;
}

.pc-offer-history-list {
    display: grid;
    gap: 10px;
}

.pc-offer-history-item {
    overflow: hidden;
    border: 1px solid #dbe6ed;
    border-radius: 13px;
    background: #f8fafc;
}

.pc-offer-history-item > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 16px;
    color: var(--calc-ink);
    cursor: pointer;
    list-style: none;
}

.pc-offer-history-item > summary::-webkit-details-marker {
    display: none;
}

.pc-offer-history-item > summary::after {
    width: 8px;
    height: 8px;
    flex: 0 0 auto;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    content: "";
    transform: rotate(45deg);
    transition: transform .18s ease;
}

.pc-offer-history-item[open] > summary::after {
    transform: rotate(225deg);
}

.pc-offer-history-item > summary > span {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.pc-offer-history-item > summary strong,
.pc-offer-history-item > summary b {
    font-size: 13px;
}

.pc-offer-history-item > summary small {
    color: var(--calc-muted);
    font-size: 12px;
}

.pc-offer-history-item > summary b {
    margin-left: auto;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.pc-offer-history-content {
    display: grid;
    gap: 12px;
    padding: 0 16px 16px;
}

.pc-offer-modal .pc-calculation-offer-actions {
    justify-content: flex-end;
}

.pc-offer-modal .pc-calculation-offer-actions button {
    min-width: 140px;
}

@container calculation-workspace (max-width: 680px) {
    .pc-calculation-offer-summary {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .pc-calculation-offer-summary-copy {
        flex: 1 1 220px;
    }

    .pc-calculation-offer-summary-decision {
        flex: 1 1 100%;
        margin-left: 0;
    }

    .pc-calculation-offer-details {
        flex: 1 1 120px;
        margin-left: 0;
    }

    .pc-calculation-offer-archive {
        flex: 1 1 100px;
    }
}

@media (max-width: 680px) {
    .pc-offer-history-item > summary {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .pc-offer-history-item > summary b {
        width: calc(100% - 24px);
        margin-left: 0;
        white-space: normal;
    }

    .pc-offer-modal-backdrop {
        place-items: end stretch;
        padding: 10px;
    }

    .pc-offer-modal {
        width: 100%;
        max-height: calc(100dvh - 54px);
        padding: 18px;
        border-radius: 18px;
    }

    .pc-offer-modal-lines > div {
        display: grid;
        gap: 5px;
    }

    .pc-offer-modal .pc-calculation-offer-actions button,
    .pc-offer-modal .pc-calculation-reject-actions button {
        flex: 1 1 140px;
    }

    .pc-calculation-accept-panel {
        align-items: stretch;
        flex-direction: column;
    }
}

@media (max-width: 520px) {
    .pc-calculation-view-filters {
        display: grid;
        width: 100%;
        grid-template-columns: 1fr 1fr;
    }

    .pc-calculation-view-filters button {
        justify-content: center;
        min-width: 0;
    }
}

/* CALCULATION_REQUEST_V1 */
body:has(.pc-request-modal-backdrop),
body:has(.pc-offer-modal-backdrop) {
    overflow: hidden;
}

.pc-main:has(.pc-request-modal-backdrop),
.pc-main:has(.pc-offer-modal-backdrop) {
    overflow: hidden;
}

.pc-main:has(.pc-request-modal-backdrop) > *,
.pc-main:has(.pc-offer-modal-backdrop) > * {
    animation: none;
    transform: none;
}

.pc-new-calculation-button,
.pc-request-footer button,
.pc-request-services button,
.pc-request-transport button {
    font: inherit;
}

.pc-new-calculation-button {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 2px;
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 17px;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, #ff7518, #ff9138);
    color: #fff;
    box-shadow: 0 10px 24px rgba(233, 94, 0, .2);
    font-weight: 850;
    cursor: pointer;
}

.pc-calculations-page > .pc-section-heading {
    padding-right: 190px;
}

.pc-new-calculation-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(233, 94, 0, .26);
}

.pc-request-modal-backdrop {
    position: fixed;
    z-index: 1250;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 24px;
    overflow: hidden;
    background: rgba(10, 31, 49, .56);
    backdrop-filter: blur(4px);
}

/* The blur covers the whole window; only the sandbox banner, when shown,
   stays above it. A fixed 34px top gap left a sharp strip of the page
   header on stands without the banner. */
#app[style*="padding-top:34px"] .pc-request-modal-backdrop,
#app[style*="padding-top:34px"] .pc-offer-modal-backdrop {
    top: var(--pc-sandbox-banner-height, 34px);
}

.pc-request-modal {
    position: relative;
    display: grid;
    width: min(920px, 100%);
    max-height: min(900px, calc(100dvh - 82px));
    gap: 17px;
    padding: 24px;
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 1px solid rgba(255, 255, 255, .76);
    border-radius: 22px;
    background: #f8fafc;
    box-shadow: 0 30px 80px rgba(7, 28, 45, .32);
}

.pc-request-modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.pc-request-modal-header > div {
    display: grid;
    min-width: 0;
    gap: 4px;
}

.pc-request-modal-header > div > span {
    color: #d85c00;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.pc-request-modal-header h2 {
    margin: 0;
    color: var(--calc-ink);
    font-size: clamp(24px, 3vw, 32px);
    line-height: 1.12;
}

.pc-request-modal-header p {
    margin: 0;
    color: var(--calc-muted);
    font-size: 14px;
}

.pc-offer-modal {
    width: min(920px, 100%);
    max-height: min(900px, calc(100dvh - 82px));
}

.pc-calculation-details-overview,
.pc-calculation-details-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.pc-calculation-details-overview > div,
.pc-calculation-details-overview > a,
.pc-calculation-details-facts > div {
    display: grid;
    min-width: 0;
    gap: 4px;
    padding: 12px 13px;
    border: 1px solid #e0e9ef;
    border-radius: 12px;
    background: #f9fbfc;
    color: inherit;
    text-decoration: none;
}

.pc-calculation-details-overview > a:hover {
    border-color: #ffb37b;
    background: #fff8f2;
}

.pc-calculation-details-overview span,
.pc-calculation-details-facts span {
    color: var(--calc-muted);
    font-size: 11px;
    font-weight: 750;
}

.pc-calculation-details-overview strong,
.pc-calculation-details-facts strong {
    min-width: 0;
    color: var(--calc-ink);
    font-size: 13px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.pc-calculation-details-section {
    display: grid;
    gap: 14px;
    padding: 17px;
    border: 1px solid #dee8ee;
    border-radius: 16px;
    background: #fff;
}

.pc-calculation-request-details {
    display: grid;
    gap: 14px;
}

.pc-calculation-details-section.is-request-summary {
    background: linear-gradient(145deg, #fff, #f8fbfd);
}

.pc-calculation-details-section.is-request-unavailable {
    border-style: dashed;
    background: #f8fafc;
}

.pc-calculation-details-section.is-request-unavailable p {
    margin: 0;
    color: var(--calc-muted);
    font-size: 13px;
    line-height: 1.5;
}

.pc-calculation-details-section > header {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--pc-text, #31536b);
}

.pc-calculation-details-section > header > div {
    display: grid;
    gap: 2px;
}

.pc-calculation-details-section > header strong {
    color: var(--calc-ink);
    font-size: 15px;
}

.pc-calculation-details-section > header span {
    color: var(--calc-muted);
    font-size: 12px;
}

.pc-calculation-details-section.is-logistics { background: linear-gradient(145deg, #fff, #f6fbff); }
.pc-calculation-details-section.is-customs { background: linear-gradient(145deg, #fff, #f8fbff); }
.pc-calculation-details-section.is-certification { background: linear-gradient(145deg, #fff, #fffaf3); }
.pc-calculation-details-section.is-offer { background: linear-gradient(145deg, #fff, #f8fcfa); }

.pc-calculation-details-services,
.pc-calculation-details-checks {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pc-calculation-details-services > span,
.pc-calculation-details-checks > span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 10px;
    border: 1px solid #dce7ee;
    border-radius: 999px;
    background: #f5f8fa;
    color: #36566d;
    font-size: 12px;
    font-weight: 800;
}

.pc-calculation-details-services > .is-logistics { border-color: #cfe2ef; background: #eef7fc; }
.pc-calculation-details-services > .is-customs { border-color: #d6ddf0; background: #f2f4fb; }
.pc-calculation-details-services > .is-certification { border-color: #f0dfbd; background: #fff8ea; }

.pc-calculation-details-facts > .is-wide {
    grid-column: 1 / -1;
}

.pc-calculation-details-route {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    padding: 13px 15px;
    border-radius: 13px;
    background: #edf6fb;
    color: #244b65;
}

.pc-calculation-details-route strong:last-child {
    text-align: right;
}

@media (max-width: 720px) {
    .pc-calculation-details-overview,
    .pc-calculation-details-facts {
        grid-template-columns: 1fr 1fr;
    }

    .pc-calculation-details-route {
        grid-template-columns: 1fr;
    }

    .pc-calculation-details-route svg {
        transform: rotate(90deg);
    }

    .pc-calculation-details-route strong:last-child {
        text-align: left;
    }
}

@media (max-width: 480px) {
    .pc-calculation-details-overview,
    .pc-calculation-details-facts {
        grid-template-columns: 1fr;
    }

    .pc-calculation-details-facts > .is-wide {
        grid-column: auto;
    }
}

.pc-request-company {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 13px;
    border: 1px solid #dde7ed;
    border-radius: 11px;
    background: #fff;
    color: #61788a;
    font-size: 13px;
}

.pc-request-company strong {
    color: #173750;
}

.pc-request-services {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.pc-request-services button {
    display: flex;
    min-width: 0;
    min-height: 76px;
    align-items: center;
    gap: 12px;
    padding: 13px;
    border: 1px solid #d9e4ea;
    border-radius: 14px;
    background: #fff;
    color: #29465d;
    text-align: left;
    cursor: pointer;
}

.pc-request-services button > span {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.pc-request-services strong,
.pc-request-services small {
    overflow: hidden;
    text-overflow: ellipsis;
}

.pc-request-services small {
    color: #738797;
    white-space: nowrap;
}

.pc-request-services button.is-selected {
    border-color: #ff8a35;
    background: #fff6ef;
    color: #bd4f00;
    box-shadow: inset 0 0 0 1px rgba(255, 117, 24, .12);
}

.pc-request-section {
    display: grid;
    gap: 14px;
    padding: 17px;
    border: 1px solid #dfe8ed;
    border-radius: 16px;
    background: #fff;
}

.pc-request-section.is-logistics { border-left: 4px solid #2a7de1; }
.pc-request-section.is-customs { border-left: 4px solid #16a36b; }
.pc-request-section.is-certification { border-left: 4px solid #8c5bd7; }
.pc-request-section.is-attachments { border-left: 4px solid #607d8b; }

.pc-request-section-title {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #27465e;
}

.pc-request-section-title > div {
    display: grid;
    gap: 1px;
}

.pc-request-section-title span {
    color: #748898;
    font-size: 12px;
}

.pc-request-file-picker {
    position: relative;
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    cursor: pointer;
}

.pc-request-file-picker input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

.pc-request-file-picker > span {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    gap: 8px;
    padding: 0 13px;
    border: 1px solid #cfdde5;
    border-radius: 10px;
    background: #f8fbfc;
    color: #294d67;
    font-weight: 800;
}

.pc-request-file-picker:focus-within > span,
.pc-request-file-picker:hover > span {
    border-color: #ff8a35;
    background: #fff7f1;
}

.pc-request-file-list {
    display: grid;
    gap: 7px;
}

.pc-request-file-list > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 9px;
    padding: 9px 10px;
    border: 1px solid #e0e8ed;
    border-radius: 10px;
    background: #fbfdfe;
    color: #36566d;
}

.pc-request-file-list span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pc-request-file-list small { color: #748898; }

.pc-request-file-list button {
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #6e8290;
    display: grid;
    place-items: center;
    cursor: pointer;
}

.pc-request-file-list button:focus-visible {
    outline: 3px solid var(--pc-focus-ring, rgba(255, 115, 16, .32));
    outline-offset: 1px;
}

.pc-request-file-list button:hover {
    background: #f7e8e8;
    color: #9e3232;
}

.pc-request-section.is-attachments.is-closed { border-left-color: #b8c6cf; }

.pc-request-file-list small.pc-request-file-status {
    padding: 3px 8px;
    border: 1px solid #d5e0e7;
    border-radius: 999px;
    background: #f5f9fb;
    color: #4d6577;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.pc-request-file-list small.pc-request-file-status.is-uploading { border-color: #f2c7a6; background: #fff4ec; color: #9a4a12; }
.pc-request-file-list small.pc-request-file-status.is-stored { border-color: #cde4d8; background: #eff9f4; color: #176a46; }
.pc-request-file-list small.pc-request-file-status.is-failed { border-color: #efc6c6; background: #fff3f3; color: #9e3232; }

.pc-request-file-message {
    grid-column: 2 / -1;
    color: #9e3232;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
}

.pc-request-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.pc-request-field {
    display: grid;
    min-width: 0;
    gap: 6px;
}

.pc-request-field.is-wide {
    grid-column: 1 / -1;
}

.pc-request-route-hint {
    grid-column: 1 / -1;
    margin-top: -4px;
    color: #6b8191;
    font-size: 12px;
    line-height: 1.45;
}

.pc-request-field > span,
.pc-request-field > label {
    color: #526b7d;
    font-size: 12px;
    font-weight: 800;
}

.pc-request-field input,
.pc-request-field textarea {
    width: 100%;
    min-width: 0;
    padding: 11px 12px;
    border: 1px solid #cfdee7;
    border-radius: 10px;
    outline: none;
    background: #fbfdfe;
    color: #173750;
    font: inherit;
    resize: vertical;
}

.pc-request-field input {
    min-height: 43px;
}

.pc-request-field input:focus,
.pc-request-field textarea:focus {
    border-color: #ff8a35;
    background: #fff;
    box-shadow: 0 0 0 3px var(--pc-focus-shadow);
}

.pc-request-transport {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pc-request-transport button {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    gap: 7px;
    padding: 0 12px;
    border: 1px solid #d7e3ea;
    border-radius: 999px;
    background: #f8fbfc;
    color: #456175;
    cursor: pointer;
}

.pc-request-transport button.is-selected {
    border-color: #5a9ce8;
    background: #eaf4ff;
    color: #1d67bb;
}

.pc-request-checks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 12px;
}

.pc-request-checks label {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    gap: 9px;
    padding: 10px 11px;
    border: 1px solid #e1e9ee;
    border-radius: 10px;
    background: #fbfdfe;
    color: #38556b;
    cursor: pointer;
}

.pc-request-checks input {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 1px 0 0;
    accent-color: #ff7518;
}

.pc-request-error {
    padding: 11px 13px;
    border: 1px solid #efc6c6;
    border-radius: 11px;
    background: #fff3f3;
    color: #9e3232;
    font-weight: 700;
}

.pc-request-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

/* The same buttons inside a message (discard confirmation): no panel of their
   own, just spacing from the text above. */
.pc-request-footer.is-inline {
    margin-top: 10px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.pc-request-error p {
    margin: 6px 0 0;
    font-weight: 600;
}

.pc-request-footer button {
    display: inline-flex;
    min-height: 43px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 17px;
    border: 1px solid #d5e0e7;
    border-radius: 11px;
    background: #fff;
    color: #29465d;
    font-weight: 800;
    cursor: pointer;
}

.pc-request-footer button.is-primary {
    border-color: #ff7518;
    background: #ff7518;
    color: #fff;
}

.pc-request-footer button:disabled {
    cursor: wait;
    opacity: .68;
}

.pc-request-success {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    padding: 20px;
    border: 1px solid #cde4d8;
    border-radius: 16px;
    background: #eff9f4;
    color: #176a46;
}

.pc-request-success > div {
    display: grid;
    gap: 4px;
}

.pc-request-success strong {
    font-size: 18px;
}

.pc-request-success span {
    color: #426d5b;
}

.pc-request-attachment-notice {
    padding: 12px 14px;
    border-radius: 11px;
    font-weight: 700;
}

.pc-request-attachment-notice.is-success {
    border: 1px solid #cde4d8;
    background: #eff9f4;
    color: #176a46;
}

.pc-request-attachment-notice.is-warning {
    border: 1px solid #ead7aa;
    background: #fff9e9;
    color: #775518;
}

.pc-request-attachment-notice.is-progress {
    border: 1px solid #d5e0e7;
    background: #f5f9fb;
    color: #29465d;
}

.pc-calculation-kind .pc-icon,
.pc-calculation-refresh .pc-icon,
.pc-calculation-offer-details .pc-icon {
    flex: 0 0 auto;
}

.pc-calculation-offer-details {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

/* CALCULATION_SCROLL_FIX_V1 */
.pc-calculations-page.pc-data-page--registry {
    height: auto;
    min-height: 100%;
}

.pc-calculations-page > .pc-data-surface {
    flex: 0 0 auto;
    height: auto;
    min-height: 0;
    overflow: visible;
}

@media (max-width: 760px) {
    .pc-calculations-page > .pc-section-heading {
        padding-right: 2px;
    }

    .pc-new-calculation-button {
        position: static;
        width: 100%;
    }

    .pc-request-modal-backdrop {
        place-items: end stretch;
        padding: 8px;
    }

    .pc-request-modal {
        width: 100%;
        max-height: calc(100dvh - 48px);
        padding: 18px;
        border-radius: 19px;
    }

    .pc-request-modal-header {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px;
    }

    .pc-request-services,
    .pc-request-grid,
    .pc-request-checks {
        grid-template-columns: 1fr;
    }

    .pc-request-services button {
        min-height: 64px;
    }

    .pc-request-footer {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .pc-request-footer button {
        width: 100%;
    }
}
.pc-calculation-request-queue {
    margin: 0 0 16px;
    padding: 16px;
    border: 1px solid #dfe8ef;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(19, 49, 73, .055);
}

.pc-calculation-request-queue > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

.pc-calculation-request-queue > header div {
    display: grid;
    gap: 2px;
}

.pc-calculation-request-queue > header strong { color: #17324a; font-size: 15px; }
.pc-calculation-request-queue > header span { color: #718395; font-size: 12px; }
.pc-calculation-request-queue > header button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid #d9e5ed;
    border-radius: 10px;
    color: #49667c;
    background: #f8fafc;
    cursor: pointer;
    transition: border-color .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.pc-calculation-request-queue > header button:hover:not(:disabled) {
    border-color: #ffad70;
    background: #fff7ef;
    color: #d85b00;
    box-shadow: 0 6px 16px rgba(24, 51, 75, .1);
    transform: translateY(-1px);
}

.pc-calculation-request-queue > header button:active:not(:disabled) {
    box-shadow: none;
    transform: translateY(0);
}

.pc-calculation-request-queue > header button:focus-visible {
    outline: 3px solid var(--pc-focus-ring);
    outline-offset: 2px;
}

.pc-calculation-request-queue > header button:disabled {
    cursor: wait;
    opacity: .68;
}

.pc-calculation-request-queue > header button .pc-icon {
    pointer-events: none;
}

.pc-calculation-request-queue > header button.is-loading .pc-icon {
    animation: pc-calculation-request-refresh-spin .75s linear infinite;
}

.pc-calculation-request-refresh-state {
    min-height: 14px;
    color: #8a9aa7;
    font-size: 11px;
    line-height: 1.2;
}

.pc-calculation-request-refresh-state.is-error {
    color: #b84949;
}

@keyframes pc-calculation-request-refresh-spin {
    to { transform: rotate(360deg); }
}

.pc-calculation-request-items { container: calculation-queue / inline-size; display: grid; gap: 8px; }
.pc-calculation-request-items article {
    display: grid;
    grid-template-columns: minmax(180px, .7fr) minmax(260px, 1.5fr) auto;
    align-items: center;
    gap: 16px;
    min-width: 0;
    padding: 11px 13px;
    border: 1px solid #e4ebf0;
    border-radius: 13px;
    background: #fbfcfd;
}

.pc-calculation-request-state { display: flex; align-items: center; gap: 8px; color: #b56313; font-size: 12px; font-weight: 750; }
.pc-calculation-request-items article.is-processed .pc-calculation-request-state { color: #1e8657; }
.pc-calculation-request-items article.is-error .pc-calculation-request-state { color: #b84949; }
.pc-calculation-request-main { display: grid; min-width: 0; gap: 2px; }
.pc-calculation-request-main strong { color: #17324a; font-size: 13px; }
.pc-calculation-request-main span { color: #536d80; font-size: 12px; }
.pc-calculation-request-main small { overflow: hidden; color: #7b8c9a; text-overflow: ellipsis; white-space: nowrap; }
.pc-calculation-request-items time { color: #7b8c9a; font-size: 11px; white-space: nowrap; }

@container calculation-queue (max-width: 640px) {
    .pc-calculation-request-items article { grid-template-columns: 1fr; gap: 7px; }
    .pc-calculation-request-items time { justify-self: start; }
}

.pc-calculation-action-required {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 27px;
    padding: 5px 9px;
    border: 1px solid #ffd0a8;
    border-radius: 999px;
    color: #a94700;
    background: #fff5ec;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
}

.pc-calculation-clarification {
    display: grid;
    gap: 16px;
    margin: 18px 0;
    padding: 20px;
    border: 1px solid #ffc997;
    border-radius: 18px;
    background: linear-gradient(145deg, #fffaf5 0%, #fff 72%);
    box-shadow: 0 10px 28px rgba(152, 71, 4, .08);
}

.pc-calculation-clarification.is-loading {
    grid-template-columns: auto 1fr;
    align-items: center;
    color: var(--calc-muted);
}

.pc-calculation-clarification.is-loading .pc-icon {
    color: #ef6c00;
    animation: pc-clarification-spin 1s linear infinite;
}

.pc-calculation-clarification.is-review {
    border-color: #cbd8f3;
    background: linear-gradient(145deg, #f6f8ff 0%, #fff 72%);
    box-shadow: 0 10px 28px rgba(56, 90, 159, .08);
}

.pc-calculation-clarification.is-review .pc-calculation-clarification-icon {
    color: #385a9f !important;
    background: #e9efff;
}

.pc-calculation-clarification.is-history {
    border-color: #d8e1e8;
    background: linear-gradient(145deg, #f8fafb 0%, #fff 72%);
    box-shadow: 0 10px 28px rgba(23, 47, 68, .06);
}

.pc-calculation-clarification.is-history.is-accepted {
    border-color: #b8dfca;
    background: linear-gradient(145deg, #f2fbf6 0%, #fff 72%);
}

.pc-calculation-clarification.is-history.is-accepted .pc-calculation-clarification-icon {
    color: #18794e !important;
    background: #def4e8;
}

.pc-calculation-clarification.is-history.is-superseded {
    border-color: #f1c7a7;
    background: linear-gradient(145deg, #fff8f2 0%, #fff 72%);
}

.pc-calculation-clarification.is-history.is-superseded .pc-calculation-clarification-icon {
    color: #b85508 !important;
    background: #ffead8;
}

.pc-calculation-clarification.is-history.is-closed .pc-calculation-clarification-icon {
    color: #526879 !important;
    background: #eaf0f4;
}

@keyframes pc-clarification-spin { to { transform: rotate(360deg); } }

.pc-calculation-clarification > header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
}

.pc-calculation-clarification > header > div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.pc-calculation-clarification > header strong {
    color: var(--calc-ink);
    font-size: 16px;
}

.pc-calculation-clarification > header span,
.pc-calculation-clarification > header small {
    color: var(--calc-muted);
    font-size: 12px;
}

.pc-calculation-clarification-icon {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 13px;
    color: var(--pc-selection-text, #bd5200) !important;
    background: var(--pc-orange-soft, #fff0e2);
}

.pc-calculation-clarification-comment {
    margin: 0;
    padding: 12px 14px;
    border-left: 3px solid #ff7a19;
    border-radius: 0 10px 10px 0;
    color: var(--calc-ink);
    background: var(--pc-orange-soft, #fff0e2);
    line-height: 1.5;
}

.pc-calculation-clarification-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.pc-calculation-clarification-fields label,
.pc-calculation-clarification-note {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.pc-calculation-clarification-fields label > span,
.pc-calculation-clarification-note > span {
    color: var(--calc-ink);
    font-size: 13px;
    font-weight: 750;
}

.pc-calculation-clarification-fields label.is-required > span::after {
    margin-left: 4px;
    color: #c94f00;
    content: "*";
}

.pc-calculation-clarification-fields label > small {
    min-height: 34px;
    color: var(--calc-muted);
    font-size: 11px;
    line-height: 1.45;
}

.pc-calculation-clarification input,
.pc-calculation-clarification select,
.pc-calculation-clarification textarea {
    box-sizing: border-box;
    width: 100%;
    border: 1px solid var(--calc-border);
    border-radius: 11px;
    color: var(--calc-ink);
    background: var(--pc-surface, #fff);
    font: inherit;
    outline: none;
    transition: border-color .16s ease, box-shadow .16s ease;
}

.pc-calculation-clarification input,
.pc-calculation-clarification select { min-height: 44px; padding: 0 12px; }
.pc-calculation-clarification textarea { min-height: 86px; padding: 11px 12px; resize: vertical; }
.pc-calculation-clarification-note textarea { min-height: 70px; }

.pc-calculation-clarification input:focus,
.pc-calculation-clarification select:focus,
.pc-calculation-clarification textarea:focus {
    border-color: #ff8a34;
    box-shadow: 0 0 0 3px var(--pc-focus-shadow);
}

.pc-calculation-clarification input:disabled,
.pc-calculation-clarification select:disabled,
.pc-calculation-clarification textarea:disabled { opacity: .65; }

.pc-calculation-clarification-actions {
    display: flex;
    justify-content: flex-end;
}

.pc-calculation-clarification-actions button {
    min-height: 44px;
    padding: 0 20px;
    border: 0;
    border-radius: 12px;
    color: #fff;
    background: linear-gradient(135deg, #f56d0a, #ff8d36);
    box-shadow: 0 8px 18px rgba(239, 108, 0, .2);
    font-weight: 800;
}

.pc-calculation-clarification-actions button:disabled { opacity: .6; box-shadow: none; }

@media (max-width: 760px) {
    .pc-calculation-clarification { padding: 16px; border-radius: 15px; }
    .pc-calculation-clarification > header { grid-template-columns: auto minmax(0, 1fr); }
    .pc-calculation-clarification > header > small { grid-column: 2; }
    .pc-calculation-clarification-fields { grid-template-columns: 1fr; }
    .pc-calculation-clarification-fields label > small { min-height: 0; }
    .pc-calculation-clarification-actions button { width: 100%; }
}

/* Offer with several transport variants: the client accepts exactly one. */
.pc-offer-variants {
    display: grid;
    gap: 10px;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.pc-offer-variants legend {
    margin-bottom: 8px;
    padding: 0;
    color: var(--calc-ink);
    font-weight: 700;
}

.pc-offer-variant {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px 12px;
    align-items: start;
    padding: 12px 14px;
    border: 1px solid var(--calc-border);
    border-radius: 14px;
    background: var(--pc-surface, #fff);
    cursor: pointer;
}

.pc-offer-variant.is-selected {
    border-color: #1f8a5b;
    box-shadow: 0 0 0 1px #1f8a5b;
}

.pc-offer-variants:disabled .pc-offer-variant {
    cursor: default;
}

.pc-offer-variant input {
    margin-top: 3px;
    accent-color: #1f8a5b;
}

.pc-offer-variant-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    min-width: 0;
    color: var(--calc-ink);
    font-weight: 600;
}

.pc-offer-variant-head strong {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.pc-offer-variant .pc-offer-modal-lines {
    grid-column: 1 / -1;
}

.pc-offer-variant .pc-offer-modal-lines > span {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 20px;
    min-width: 0;
    padding: 10px 13px;
    background: var(--pc-surface, #fff);
}

.pc-offer-variant .pc-offer-modal-lines > span + span {
    border-top: 1px solid var(--pc-border-soft, #e8eef2);
}

.pc-offer-variant-hint {
    color: #8a5a00;
}

@media (max-width: 640px) {
    .pc-offer-variant-head,
    .pc-offer-variant .pc-offer-modal-lines > span {
        flex-direction: column;
        gap: 4px;
    }
}

/* PcDatePicker: the cabinet's own date field. The browser's native picker
   cannot be themed and looked grey with a blue selection in dark mode. */
.pc-date-picker {
    position: relative;
    min-width: 0;
}

.pc-date-picker__field {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    min-width: 0;
    padding: 11px 12px;
    border: 1px solid #cfdee7;
    border-radius: 10px;
    background: #fbfdfe;
    color: #173750;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.pc-date-picker__field .pc-icon {
    flex: 0 0 auto;
    color: var(--pc-text-muted, #687b8d);
}

.pc-date-picker__field .is-placeholder {
    color: var(--pc-text-muted, #687b8d);
}

.pc-date-picker__field:focus-visible,
.pc-date-picker.is-open .pc-date-picker__field {
    border-color: #ff8a35;
    outline: none;
    box-shadow: 0 0 0 3px var(--pc-focus-shadow);
}

.pc-date-picker__dismiss {
    position: fixed;
    z-index: 119;
    inset: 0;
}

.pc-date-picker__popup {
    position: absolute;
    top: calc(100% + .35rem);
    left: 0;
    z-index: 120;
    display: grid;
    gap: 6px;
    width: 288px;
    max-width: calc(100vw - 32px);
    padding: 12px;
    border: 1px solid rgba(148, 163, 184, .35);
    border-radius: .9rem;
    background: var(--pc-surface, #fff);
    color: var(--pc-text, #172b3a);
    box-shadow: 0 18px 46px rgba(15, 23, 42, .16);
}

.pc-date-picker__popup header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 2px;
}

.pc-date-picker__popup header strong {
    font-size: 14px;
    font-weight: 800;
}

.pc-date-picker__nav {
    display: inline-flex;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 9px;
    color: var(--pc-text, #172b3a);
    background: transparent;
    cursor: pointer;
}

.pc-date-picker__nav.is-next .pc-icon {
    transform: rotate(180deg);
}

.pc-date-picker__nav:hover:not(:disabled),
.pc-date-picker__days button:hover:not(:disabled):not(.is-selected),
.pc-date-picker__popup footer button:hover:not(:disabled) {
    background: rgba(255, 108, 15, .1);
}

.pc-date-picker__nav:disabled {
    opacity: .35;
    cursor: default;
}

.pc-date-picker__weekdays,
.pc-date-picker__days {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 2px;
}

.pc-date-picker__weekdays span {
    padding: 4px 0;
    color: var(--pc-text-muted, #687b8d);
    font-size: 11px;
    font-weight: 800;
    text-align: center;
}

.pc-date-picker__days button {
    height: 34px;
    border: 1px solid transparent;
    border-radius: 9px;
    color: var(--pc-text, #172b3a);
    background: transparent;
    font: inherit;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
    cursor: pointer;
}

.pc-date-picker__days button.is-outside {
    color: var(--pc-text-muted, #687b8d);
}

.pc-date-picker__days button.is-today {
    border-color: #ff8a35;
}

.pc-date-picker__days button.is-selected {
    border-color: #ff7518;
    color: #fff;
    background: #ff7518;
    font-weight: 800;
}

.pc-date-picker__days button:disabled {
    opacity: .3;
    cursor: default;
}

.pc-date-picker__popup footer {
    display: flex;
    justify-content: flex-end;
    padding-top: 6px;
    border-top: 1px solid var(--pc-border-soft, #edf1f5);
}

.pc-date-picker__popup footer button {
    min-height: 32px;
    padding: 0 12px;
    border: 0;
    border-radius: 9px;
    color: #c85510;
    background: transparent;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.pc-date-picker__popup footer button:disabled {
    opacity: .35;
    cursor: default;
}
