* {
    box-sizing: border-box;
}

[hidden] {
    display: none !important;
}

body {
    margin: 0;
    background: #f4f6f8;
    color: #20242a;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
}

.page {
    width: min(1240px, calc(100% - 24px));
    margin: 0 auto;
    padding: 18px 0 32px;
}

.wide-page {
    width: min(1560px, calc(100% - 32px));
}

.page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid #dfe4ea;
}

h1, h2, p {
    margin: 0;
}

h1 {
    font-size: 22px;
    font-weight: 700;
}

.page-header p {
    margin-top: 4px;
    color: #626b77;
}

.top-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
    align-items: center;
}

.site-logo-link {
    display: none;
}

@media (min-width: 900px) {
    .page-header:has(.site-logo-link) {
        position: relative;
        min-height: 52px;
        padding-left: 62px;
    }

    .page-header .site-logo-link {
        position: absolute;
        top: calc(50% - 5px);
        left: 0;
        transform: translateY(-50%);
        display: inline-flex;
        width: 48px;
        height: 48px;
        align-items: center;
        justify-content: center;
        border-radius: 8px;
        text-decoration: none;
    }

    .page-header .site-logo-link:hover {
        background: #eef5fb;
    }

    .site-logo-link img {
        display: block;
        width: 44px;
        height: 44px;
        object-fit: contain;
    }
}

.nav-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 4px;
    padding: 4px;
    border: 1px solid #d7dde5;
    border-radius: 8px;
    background: #fff;
}

.nav-links a {
    display: inline-block;
    padding: 7px 9px;
    border: 1px solid transparent;
    border-radius: 6px;
    color: #31516f;
    font-weight: 700;
    text-decoration: none;
}

.nav-dropdown {
    position: relative;
}

.nav-dropdown summary {
    display: inline-block;
    padding: 7px 9px;
    border: 1px solid transparent;
    border-radius: 6px;
    color: #31516f;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
}

.nav-dropdown summary::-webkit-details-marker {
    display: none;
}

.nav-dropdown summary::after {
    content: "▾";
    margin-left: 5px;
    color: #667180;
    font-size: 10px;
}

.nav-dropdown:hover summary,
.nav-dropdown[open] summary {
    background: #f1f5f9;
    color: #123f6b;
}

.nav-dropdown.active summary {
    border-color: #bdd3ea;
    background: #eaf4ff;
    color: #0f5f9f;
}

.nav-dropdown-menu {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 30;
    display: grid;
    min-width: 142px;
    padding: 5px;
    border: 1px solid #d7dde5;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 20px rgba(24, 35, 48, 0.16);
}

.nav-dropdown:not([open]) .nav-dropdown-menu {
    display: none;
}

.nav-dropdown-menu a {
    display: block;
    white-space: nowrap;
}

.nav-links a:hover {
    background: #f1f5f9;
    color: #123f6b;
}

.nav-links a.active {
    border-color: #bdd3ea;
    background: #eaf4ff;
    color: #0f5f9f;
}

.user-nav {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-top: 2px;
}

.user-nav span {
    color: #53606f;
    font-weight: 700;
    white-space: nowrap;
}

.user-nav form {
    margin: 0;
}

.user-nav button,
.user-profile-trigger {
    width: auto;
    min-height: 30px;
    padding: 5px 9px;
    border: 1px solid #cfd6df;
    background: #fff;
    color: #1d4f83;
}

.user-nav button:hover,
.user-profile-trigger:hover {
    background: #f3f6fa;
}

.user-profile-trigger {
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-profile-modal[hidden] {
    display: none;
}

.user-profile-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 72px 24px 24px;
}

.user-profile-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(20, 28, 38, 0.34);
}

.user-profile-panel {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 16px;
    width: min(420px, calc(100vw - 32px));
    max-height: calc(100vh - 96px);
    overflow: auto;
    padding: 18px;
    border: 1px solid #d7dde5;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 40px rgba(20, 28, 38, 0.22);
}

.user-profile-header,
.user-profile-footer,
.user-profile-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.user-profile-header h2,
.user-profile-password-form h3 {
    margin: 0;
}

.user-profile-header p {
    margin: 3px 0 0;
    color: #586171;
    font-weight: 700;
}

.user-profile-close,
.user-profile-primary,
.user-profile-secondary,
.user-profile-logout {
    width: auto;
    min-height: 34px;
    padding: 7px 12px;
}

.user-profile-close {
    border: 1px solid #cfd6df;
    background: #fff;
    color: #1d4f83;
}

.user-profile-close:hover {
    background: #f3f6fa;
}

.user-profile-secondary {
    border: 1px solid #cfd6df;
    background: #fff;
    color: #1d4f83;
}

.user-profile-secondary:hover {
    background: #f3f6fa;
}

.user-profile-facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin: 0;
}

.user-profile-facts div {
    min-width: 0;
    padding: 10px;
    border: 1px solid #e0e6ee;
    border-radius: 8px;
    background: #f8fafc;
}

.user-profile-facts dt {
    margin-bottom: 3px;
    color: #586171;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.user-profile-facts dd {
    margin: 0;
    overflow-wrap: anywhere;
    font-weight: 700;
}

.user-profile-password-form {
    display: grid;
    gap: 10px;
}

.user-profile-password-form[hidden] {
    display: none;
}

.user-profile-status {
    min-height: 20px;
    color: #586171;
    font-weight: 700;
}

.user-profile-status.success {
    color: #087443;
}

.user-profile-status.error {
    color: #a22626;
}

.user-profile-logout {
    background: #a22626;
}

.user-profile-logout:hover {
    background: #861f1f;
}

.user-profile-footer form {
    margin-left: auto;
}

.upload-panel,
.table-section,
.detail-section,
.form-section,
.notice {
    background: #fff;
    border: 1px solid #dde2e8;
    border-radius: 8px;
}

.upload-panel {
    padding: 14px;
    margin-bottom: 10px;
}

.compact-panel {
    padding: 12px;
}

.imports-upload-panel {
    padding: 10px;
}

.drop-upload {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(300px, 2fr);
    gap: 10px;
    align-items: stretch;
}

.drop-upload input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.drop-zone {
    display: grid;
    min-height: 72px;
    place-items: center;
    gap: 4px;
    padding: 12px;
    border: 2px dashed #9eb4ca;
    border-radius: 7px;
    background: #f8fbff;
    color: #465466;
    text-align: center;
    cursor: pointer;
}

.drop-zone strong {
    color: #1d4f83;
    font-size: 14px;
}

.drop-zone span {
    margin: 0;
    color: #667180;
    font-size: 13px;
    text-transform: none;
}

.drop-zone.active {
    border-color: #1167b1;
    background: #eef7ff;
}

.upload-actions {
    display: grid;
    grid-template-columns: 136px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
}

.upload-actions button {
    min-height: 32px;
    padding: 6px 10px;
}

.upload-actions span {
    color: #626b77;
}

.upload-option {
    display: inline-flex;
    grid-column: 2;
    gap: 8px;
    align-items: center;
    width: fit-content;
    color: #465466;
    font-weight: 700;
}

.upload-option input {
    width: 16px;
    height: 16px;
}

.selected-files-list {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 4px;
    margin: 0;
    padding: 6px;
    border: 1px solid #e1e6ee;
    border-radius: 6px;
    background: #fbfcfe;
    list-style: none;
}

.selected-files-list li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    min-width: 0;
    padding: 5px 7px;
    border: 1px solid #e7ebf1;
    border-radius: 5px;
    background: #fff;
    overflow: hidden;
    color: #374150;
    font-size: 12px;
}

.selected-file-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.selected-files-list small {
    color: #697382;
    font-size: 11px;
    white-space: nowrap;
}

.batch-results {
    margin-top: 10px;
    border-top: 1px solid #e4e8ee;
}

.section-title.compact {
    padding: 10px 0 8px;
    border-bottom: 0;
}

.message-cell {
    min-width: 280px;
    white-space: normal;
    overflow-wrap: anywhere;
}

.form-row {
    display: grid;
    grid-template-columns: 160px 180px minmax(260px, 1fr) 130px;
    gap: 14px;
    align-items: end;
}

.search-row {
    display: grid;
    grid-template-columns: minmax(260px, 420px) 130px;
    gap: 14px;
    align-items: end;
}

.label-form-row {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) minmax(260px, 1fr) 140px;
    gap: 14px;
    align-items: end;
}

.filters-row {
    display: grid;
    grid-template-columns: 120px minmax(160px, 1fr) 135px 130px 130px 92px 92px;
    gap: 10px;
    align-items: end;
}

.accept-acts-filters {
    grid-template-columns: 120px minmax(190px, 1.1fr) minmax(170px, 0.9fr) 130px 130px 92px 92px;
}

.imports-filters-row {
    display: grid;
    grid-template-columns: minmax(190px, 1.1fr) minmax(160px, 0.9fr) minmax(170px, 0.9fr) 130px 130px 92px 92px;
    gap: 10px;
    align-items: end;
}

.label-template-param-group textarea {
    min-height: 74px;
    resize: vertical;
}

.finance-filters-row {
    display: grid;
    grid-template-columns: 130px 130px minmax(230px, 1.1fr) 130px minmax(210px, 1fr) 145px 84px 130px 82px 82px 82px;
    gap: 10px;
    align-items: end;
}

.filter-field {
    position: relative;
}

.filter-field > span {
    display: block;
    margin-bottom: 4px;
    color: #586171;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.multi-filter {
    position: relative;
}

.multi-filter summary {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 32px;
    padding: 6px 26px 6px 8px;
    border: 1px solid #ccd3dc;
    border-radius: 6px;
    background: #fff;
    color: #20242a;
    cursor: pointer;
    list-style: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.multi-filter summary::-webkit-details-marker {
    display: none;
}

.multi-filter summary::after {
    content: "";
    position: absolute;
    top: 10px;
    right: 10px;
    width: 7px;
    height: 7px;
    border-right: 2px solid #6a7482;
    border-bottom: 2px solid #6a7482;
    transform: rotate(45deg);
}

.multi-filter[open] summary {
    border-color: #8bb9e3;
    box-shadow: 0 0 0 3px #e4f1ff;
}

.multi-filter-menu {
    position: absolute;
    z-index: 20;
    top: calc(100% + 4px);
    left: 0;
    min-width: 100%;
    max-height: 260px;
    overflow-y: auto;
    padding: 6px;
    border: 1px solid #cbd5df;
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(31, 41, 55, 0.16);
}

.multi-filter-menu.compact-menu {
    min-width: 190px;
}

.multi-filter-menu label {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 28px;
    padding: 4px 6px;
    border-radius: 5px;
    cursor: pointer;
}

.multi-filter-menu label:hover {
    background: #eef5fc;
}

.filter-empty-option {
    display: block;
    padding: 6px;
    color: #7a8491;
    font-size: 12px;
}

.multi-filter-menu input[type="checkbox"],
.multi-filter-menu input[type="radio"] {
    flex: 0 0 14px;
    width: 14px;
    height: 14px;
    margin: 0;
}

.multi-filter-menu label span {
    margin: 0;
    color: #20242a;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.2;
    text-transform: none;
}

.claims-filters-row {
    display: grid;
    grid-template-columns: minmax(160px, 0.95fr) minmax(160px, 0.95fr) minmax(150px, 0.9fr) minmax(150px, 0.9fr) minmax(140px, 0.8fr) 72px 64px 82px;
    gap: 10px;
    align-items: end;
}

.compensations-list-filters-row {
    display: grid;
    grid-template-columns: minmax(170px, 0.9fr) minmax(150px, 0.7fr) minmax(240px, 1.2fr) minmax(130px, 0.75fr) minmax(180px, 0.9fr) 84px 76px 64px 88px;
    gap: 10px;
    align-items: end;
}

.dispute-payments-filters-row {
    display: grid;
    grid-template-columns: minmax(190px, 1fr) minmax(150px, 0.8fr) minmax(190px, 1fr) 150px;
    gap: 10px;
    align-items: end;
}

.dispute-payments-filter-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.received-shipments-filters-row {
    display: grid;
    grid-template-columns:
        minmax(170px, 1fr)
        160px
        minmax(160px, 0.9fr)
        minmax(170px, 0.95fr)
        minmax(160px, 0.9fr)
        136px
        136px
        76px
        68px
        64px
        88px;
    gap: 10px;
    align-items: end;
}

.received-shipments-filters-row button,
.received-shipments-filters-row .button {
    width: 100%;
    min-width: 0;
}

.compact-checkbox-filter {
    display: grid;
    grid-template-rows: auto 36px;
    align-items: end;
}

.compact-checkbox-filter > label {
    height: 36px;
    border: 1px solid #cdd7e3;
    border-radius: 8px;
    padding: 0 10px;
    background: #fff;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

.economics-filters-row {
    display: grid;
    grid-template-columns: 260px 140px 140px 92px 112px 150px 128px 128px 128px;
    gap: 10px;
    align-items: end;
}

.economics-filters-row button,
.economics-filters-row .button {
    justify-content: center;
    min-width: 128px;
    white-space: nowrap;
}

.economics-account-filter {
    width: 100%;
}

.inline-checkbox-field input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 7px 0;
}

.economics-np-recalculate-form {
    display: none;
}

.accept-act-edit-row {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 180px 140px;
    gap: 14px;
    align-items: end;
}

.user-create-form {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) minmax(180px, 1.2fr) minmax(150px, 1fr) minmax(180px, 1fr) 120px;
    gap: 14px;
    align-items: end;
}

.users-create-row {
    grid-template-columns: minmax(130px, 0.75fr) minmax(170px, 0.95fr) minmax(130px, 0.75fr) minmax(220px, 1.15fr) minmax(180px, 1fr) 92px;
    gap: 10px;
}

.roles-picker {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    align-items: center;
}

.roles-picker > span {
    width: 100%;
    margin-bottom: 0;
    color: #586171;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.roles-picker label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.roles-picker label span {
    margin: 0;
    color: #20242a;
    font-size: 13px;
    font-weight: 700;
    text-transform: none;
}

.roles-picker input[type="checkbox"] {
    width: 16px;
    height: 16px;
}

.roles-picker.inline {
    margin-bottom: 8px;
}

.compact-roles-picker {
    display: grid;
    grid-template-columns: repeat(3, minmax(72px, 1fr));
    gap: 4px;
    margin-bottom: 0;
}

.compact-roles-picker label {
    min-width: 0;
    gap: 3px;
    padding: 3px 4px;
    border: 1px solid #d9e0e8;
    border-radius: 6px;
    background: #f7f9fb;
}

.compact-roles-picker label span {
    font-size: 10px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.compact-roles-picker input[type="checkbox"] {
    width: 13px;
    height: 13px;
}

.compact-form,
.password-form {
    display: grid;
    gap: 8px;
    min-width: 150px;
}

.compact-form button,
.password-form button,
.telegram-form button,
.users-table td > form > button {
    min-height: 34px;
    padding: 7px 10px;
}

.telegram-form {
    display: grid;
    grid-template-columns: minmax(170px, 1fr);
    gap: 8px;
    min-width: 190px;
}

.users-table td {
    vertical-align: top;
}

.users-table .text-cell {
    min-width: 170px;
}

.users-table {
    min-width: 1780px;
    table-layout: fixed;
}

.user-login-col {
    width: 180px;
}

.user-access-col {
    width: 380px;
}

.user-telegram-col {
    width: 450px;
}

.user-links-col {
    width: 450px;
}

.user-password-col {
    width: 220px;
}

.user-actions-col {
    width: 100px;
}

.user-name-cell strong,
.user-name-cell small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
}

.user-name-cell small {
    margin-top: 2px;
    color: #667180;
    font-size: 12px;
}

.user-status-badge {
    min-width: 42px;
    text-align: center;
}

.user-access-cell,
.user-telegram-cell,
.user-links-cell,
.user-password-cell {
    background: #fbfdff;
}

.user-access-layout {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
}

.user-roles-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    align-items: start;
    gap: 8px;
    min-width: 0;
}

.user-telegram-form {
    display: grid;
    grid-template-columns: 118px minmax(130px, 1fr) 118px 52px;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.user-telegram-form label {
    display: block;
    margin: 0;
    min-width: 0;
}

.user-telegram-form button {
    align-self: center;
}

.user-password-form {
    grid-template-columns: minmax(0, 1fr) 72px;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.user-assignee-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    align-items: center;
    gap: 6px;
}

.user-partner-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    align-items: center;
    gap: 6px;
}

.user-links-layout {
    display: grid;
    gap: 8px;
}

.user-link-block {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
}

.user-link-block > span {
    color: #667180;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
    white-space: nowrap;
}

.user-assignee-current {
    display: block;
    margin-top: 4px;
    color: #667180;
    font-size: 11px;
}

.user-partner-current {
    display: block;
    margin-top: 4px;
    color: #667180;
    font-size: 11px;
}

.user-active-form {
    margin: 0;
}

.users-table input[type="text"],
.users-table input[type="number"],
.users-table input[type="password"],
.users-table select {
    width: 100%;
    min-height: 30px;
    padding: 5px 7px;
    font-size: 12px;
}

.users-table button,
.users-create-row button {
    width: auto;
    min-height: 30px;
    padding: 5px 9px;
    font-size: 12px;
    white-space: nowrap;
}

.users-table button {
    width: 100%;
}

.users-table button.danger {
    background: #8f2424;
}

.users-table button.danger:hover {
    background: #7f1d1d;
}

.user-password-create-field {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 30px 30px;
    gap: 6px;
    align-items: center;
}

.password-icon-button {
    position: relative;
    display: inline-grid;
    width: 30px;
    min-width: 30px;
    height: 30px;
    min-height: 30px;
    place-items: center;
    padding: 0;
    border: 1px solid #c5d2df;
    border-radius: 6px;
    background: #f8fbff;
    color: #1b5f9c;
}

.password-icon-button:hover {
    background: #eef7ff;
}

.password-generate-icon {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.password-copy-button .delivery-inline-copy {
    margin: 0;
}

.users-admin-section {
    display: grid;
    gap: 10px;
}

.users-admin-section .section-title {
    align-items: center;
}

.users-admin-section .section-title > div {
    min-width: 0;
}

#user-create-button {
    width: auto;
    min-width: 168px;
    justify-self: end;
    padding: 7px 14px;
}

.users-filter-panel {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) 140px 140px 190px 96px;
    gap: 10px;
    align-items: end;
    padding: 10px;
    border-bottom: 1px solid #e1e6ee;
    background: #fbfcfe;
}

.users-filter-panel label {
    margin: 0;
}

.users-filter-panel input,
.users-filter-panel select {
    min-height: 34px;
}

.users-filter-panel button {
    min-height: 34px;
}

.user-card-list {
    display: grid;
}

.user-card {
    display: grid;
    grid-template-columns: minmax(210px, 0.9fr) minmax(460px, 2fr) 104px;
    gap: 14px;
    align-items: center;
    padding: 10px 12px;
    border-top: 1px solid #e6ebf2;
    background: #fff;
}

.user-card:hover {
    background: #f8fbff;
}

.user-card[hidden] {
    display: none;
}

.user-card-main {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.user-card-title {
    display: grid;
    gap: 1px;
    min-width: 0;
}

.user-card-title strong,
.user-card-title small,
.user-card-meta strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-card-title strong {
    font-size: 15px;
}

.user-card-title small {
    color: #667180;
    font-size: 12px;
}

.user-card-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    align-items: center;
}

.user-role-chip {
    display: inline-flex;
    min-height: 22px;
    align-items: center;
    padding: 2px 7px;
    border: 1px solid #d5dee8;
    border-radius: 999px;
    background: #f3f7fb;
    color: #203246;
    font-size: 11px;
    font-weight: 800;
}

.user-card-meta {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) minmax(150px, 1fr) minmax(150px, 1fr);
    gap: 10px;
    min-width: 0;
}

.user-card-meta div {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.user-card-meta span {
    color: #667180;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.user-card-meta strong {
    color: #172033;
    font-size: 13px;
}

.user-card-actions {
    display: flex;
    justify-content: flex-end;
}

.user-card-actions button {
    min-height: 32px;
    padding: 6px 10px;
}

.users-empty-filter {
    margin: 10px;
}

.user-edit-dialog {
    width: min(920px, calc(100vw - 32px));
    padding: 0;
    border: 1px solid #cad6e3;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 20px 60px rgba(13, 27, 42, 0.24);
}

.user-edit-dialog::backdrop {
    background: rgba(26, 37, 52, 0.42);
}

.user-edit-form {
    display: grid;
    gap: 0;
}

.user-edit-header {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: start;
    padding: 16px 18px 12px;
    border-bottom: 1px solid #e1e6ee;
}

.user-edit-header h2 {
    margin: 0;
    font-size: 22px;
}

.user-edit-header small {
    display: block;
    margin-top: 2px;
    color: #667180;
}

.user-edit-header button {
    display: inline-flex;
    width: auto;
    min-width: 94px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    padding: 7px 14px;
}

.user-edit-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 14px 18px;
}

.user-edit-panel {
    display: grid;
    gap: 10px;
    min-width: 0;
    padding: 12px;
    border: 1px solid #e1e6ee;
    border-radius: 8px;
    background: #fbfcfe;
}

.user-edit-panel h3 {
    margin: 0;
    color: #465466;
    font-size: 13px;
    text-transform: uppercase;
}

.user-edit-panel label {
    margin: 0;
}

.user-active-toggle {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    width: fit-content;
    font-weight: 800;
}

.user-active-toggle input[type="checkbox"] {
    width: 16px;
    height: 16px;
}

.user-edit-roles {
    gap: 6px;
}

.user-edit-footer {
    display: flex;
    justify-content: flex-end;
    padding: 12px 18px 16px;
    border-top: 1px solid #e1e6ee;
}

.user-edit-footer button {
    min-width: 132px;
}

@media (max-width: 1100px) {
    .users-create-row,
    .users-filter-panel,
    .user-card,
    .user-card-meta,
    .user-edit-grid {
        grid-template-columns: 1fr;
    }

    .user-card-actions {
        justify-content: stretch;
    }

    .user-card-actions button {
        width: 100%;
    }
}

.assignee-create-row {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) minmax(150px, 1fr) minmax(180px, 1.1fr) 112px 82px 110px 104px 82px 82px minmax(180px, 1.2fr) 92px;
    gap: 10px;
    align-items: end;
}

.assignees-table {
    min-width: 1430px;
    table-layout: fixed;
}

.assignee-name-col {
    width: 170px;
}

.assignee-user-col {
    width: 230px;
}

.assignee-status-col {
    width: 112px;
}

.assignee-number-col {
    width: 86px;
}

.assignee-check-col {
    width: 88px;
}

.assignee-comments-col {
    width: 270px;
}

.assignee-actions-col {
    width: 72px;
}

.assignees-table input,
.assignees-table select,
.assignee-create-row input,
.assignee-create-row select {
    width: 100%;
    min-height: 28px;
    padding: 4px 7px;
    font-size: 12px;
}

.assignees-table input[type="checkbox"],
.assignee-create-row input[type="checkbox"] {
    width: auto;
    min-height: auto;
}

.assignees-table td small {
    display: block;
    margin-top: 3px;
    color: #667180;
    font-size: 11px;
}

.assignees-table form {
    margin: 0;
}

.assignees-table button,
.assignee-create-row button {
    min-height: 28px;
    padding: 5px 9px;
    font-size: 12px;
}

.logistics-driver-create-row {
    display: grid;
    grid-template-columns: minmax(160px, 1fr) 130px minmax(130px, 0.8fr) 105px 170px 58px minmax(180px, 1fr) 82px;
    gap: 10px;
    align-items: end;
}

.logistics-customer-create-row {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(170px, 0.9fr) 150px 93px minmax(230px, 1.25fr) 82px;
    gap: 10px;
    align-items: end;
}

.logistics-service-create-row {
    display: grid;
    grid-template-columns: 135px minmax(180px, 1fr) 92px 92px 104px 110px minmax(190px, 1fr) 82px;
    gap: 10px;
    align-items: end;
}

.logistics-trips-filter-row {
    display: grid;
    grid-template-columns: 118px 118px minmax(190px, 0.9fr) 138px 64px 66px;
    gap: 10px;
    align-items: end;
}

.logistics-payments-filter-row {
    display: grid;
    grid-template-columns: 118px 118px minmax(190px, 0.9fr) 138px 108px 108px 64px 54px 66px;
    gap: 10px;
    align-items: end;
}

.logistics-accept-costs-filter-row {
    display: grid;
    grid-template-columns: 118px 118px minmax(180px, 0.8fr) minmax(180px, 0.8fr) minmax(230px, 1fr) 64px 66px;
    gap: 10px;
    align-items: end;
}

.logistics-trip-create-row {
    display: grid;
    grid-template-columns: 112px minmax(170px, 0.9fr) minmax(185px, 1fr) 84px 124px 58px 58px minmax(160px, 1fr) 74px;
    gap: 8px;
    align-items: end;
}

.logistics-customer-create-row .logistics-customer-warehouse-field {
    grid-column: 1 / -1;
    order: 10;
}

.logistics-customers-list {
    display: grid;
    gap: 7px;
}

.logistics-customer-card {
    display: grid;
    gap: 4px;
    padding: 6px;
    border: 1px solid #dbe4ee;
    border-radius: 6px;
    background: #fbfdff;
}

.logistics-customer-card.is-muted {
    background: #f5f7fa;
    color: #7b8794;
}

.logistics-customer-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 24px;
    padding-bottom: 3px;
    border-bottom: 1px solid #e6edf5;
}

.logistics-customer-card-header > div:first-child {
    display: grid;
    grid-template-columns: 46px minmax(170px, 0.8fr) minmax(260px, 1fr);
    align-items: center;
    gap: 7px;
    min-width: 0;
}

.logistics-customer-card-header strong {
    overflow: hidden;
    color: #20242a;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.logistics-customer-card-meta {
    overflow: hidden;
    color: #667180;
    font-size: 11px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.logistics-customer-state {
    flex: 0 0 auto;
    padding: 2px 8px;
    border: 1px solid #d7e0ea;
    border-radius: 999px;
    background: #fff;
    color: #586171;
    font-size: 10px;
    font-weight: 900;
}

.logistics-customer-state.is-active {
    border-color: #b9d5c6;
    background: #eef9f2;
    color: #1f6b3a;
}

.logistics-customer-state.is-inactive {
    border-color: #d3dae3;
    background: #eef2f6;
    color: #7b8794;
}

.logistics-customer-card-body {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    gap: 6px;
    align-items: end;
}

.logistics-customer-card-form {
    grid-column: 2;
    display: grid;
    grid-template-columns: minmax(170px, 1fr) minmax(150px, 0.85fr) 132px 66px minmax(260px, 1.35fr) minmax(170px, 1fr) 56px;
    gap: 5px;
    align-items: end;
}

.logistics-customer-card-form label {
    margin: 0;
}

.logistics-customer-card-form label > span {
    margin-bottom: 3px;
    color: #667180;
    font-size: 10px;
    font-weight: 800;
}

.logistics-customer-card-form input,
.logistics-customer-card-form select,
.logistics-customer-card-form button,
.logistics-customer-active-form button {
    box-sizing: border-box;
    height: 24px;
    min-height: 24px;
    padding: 2px 6px;
    font-size: 12px;
    line-height: 20px;
}

.logistics-customer-card-form button,
.logistics-customer-active-form button {
    width: auto;
    padding: 2px 8px;
}

.logistics-customer-active-form {
    grid-column: 3;
    margin: 0;
}

.logistics-customer-active-form button.danger {
    background: #8f2424;
}

.logistics-customer-active-form button.danger:hover {
    background: #7f1d1d;
}

.logistics-drivers-table {
    table-layout: fixed;
}

.logistics-customers-table {
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
}

.logistics-services-table {
    table-layout: fixed;
}

.logistics-trips-table {
    table-layout: fixed;
}

.logistics-payments-table {
    table-layout: fixed;
}

.logistics-accept-costs-table {
    table-layout: fixed;
}

.customer-deliveries-table {
    table-layout: fixed;
    min-width: 2020px;
}

.customer-deliveries-filter-row {
    grid-template-columns: 150px 142px 142px 180px 160px 190px 108px 92px 250px;
    align-items: end;
}

.customer-deliveries-import-row {
    grid-template-columns: 250px minmax(340px, 520px) 130px;
    align-items: end;
}

.customer-deliveries-import-row .filter-field,
.customer-deliveries-import-row input,
.customer-deliveries-import-row select {
    min-width: 0;
}

.customer-deliveries-import-row button {
    width: 100%;
}

.customer-deliveries-filter-row .filter-field,
.customer-deliveries-filter-row input,
.customer-deliveries-filter-row select {
    min-width: 0;
}

.customer-deliveries-filter-actions {
    display: grid;
    grid-template-columns: 120px 120px;
    gap: 8px;
}

.customer-deliveries-filter-actions .button,
.customer-deliveries-filter-actions button {
    width: 100%;
}

.logistics-drivers-table td {
    vertical-align: top;
}

.logistics-customers-table td {
    vertical-align: top;
}

.logistics-customers-table tbody tr:not(.logistics-customer-warehouse-row):not(.logistics-customer-block-gap) td,
.logistics-customer-warehouse-row td {
    background: #f7fbff;
    border-top: 1px solid #d7e2ef;
}

.logistics-customers-table tbody tr:not(.logistics-customer-warehouse-row):not(.logistics-customer-block-gap) td:first-child {
    border-left: 4px solid #2f7fc1;
    border-top-left-radius: 7px;
}

.logistics-customers-table tbody tr:not(.logistics-customer-warehouse-row):not(.logistics-customer-block-gap) td:last-child {
    border-top-right-radius: 7px;
}

.logistics-customer-warehouse-row td {
    border-bottom: 1px solid #d7e2ef;
    border-left: 4px solid #2f7fc1;
    border-bottom-left-radius: 7px;
    border-bottom-right-radius: 7px;
}

.logistics-customer-block-gap td {
    height: 10px;
    padding: 0;
    border: 0;
    background: #ffffff;
}

.logistics-customers-table tbody tr.muted-row td,
.logistics-customer-warehouse-row.muted-row td {
    background: #f2f5f8;
    border-color: #d3dae3;
}

.logistics-customers-table tbody tr.muted-row:not(.logistics-customer-warehouse-row):not(.logistics-customer-block-gap) td:first-child,
.logistics-customer-warehouse-row.muted-row td {
    border-left-color: #9aa6b2;
}

.logistics-services-table td {
    vertical-align: top;
}

.logistics-trips-table td {
    vertical-align: top;
}

.logistics-drivers-table input,
.logistics-drivers-table select,
.logistics-driver-create-row input,
.logistics-driver-create-row select,
.logistics-customers-table input,
.logistics-customers-table select,
.logistics-customer-create-row input,
.logistics-customer-create-row select,
.logistics-services-table input,
.logistics-services-table select,
.logistics-service-create-row input,
.logistics-service-create-row select,
.logistics-trips-table input,
.logistics-trips-table select,
.logistics-trips-filter-row input,
.logistics-trips-filter-row select,
.logistics-payments-filter-row input,
.logistics-payments-filter-row select,
.logistics-accept-costs-filter-row input,
.logistics-accept-costs-filter-row select,
.logistics-trip-create-row input,
.logistics-trip-create-row select {
    box-sizing: border-box;
    height: 26px;
    min-height: 26px;
    padding: 2px 6px;
    font-size: 12px;
    line-height: 20px;
}

.logistics-drivers-table input,
.logistics-drivers-table select,
.logistics-driver-create-row input,
.logistics-driver-create-row select,
.logistics-customers-table input,
.logistics-customers-table select,
.logistics-customer-create-row input,
.logistics-customer-create-row select,
.logistics-services-table input,
.logistics-services-table select,
.logistics-service-create-row input,
.logistics-service-create-row select {
    box-sizing: border-box;
    height: 28px;
    line-height: 20px;
}

.logistics-drivers-table button,
.logistics-driver-create-row button,
.logistics-customers-table button,
.logistics-customer-create-row button,
.logistics-services-table button,
.logistics-service-create-row button,
.logistics-trips-table button,
.logistics-trips-filter-row button,
.logistics-trips-filter-row .button,
.logistics-payments-filter-row button,
.logistics-payments-filter-row .button,
.logistics-accept-costs-filter-row button,
.logistics-accept-costs-filter-row .button,
.logistics-trip-create-row button {
    width: auto;
    min-height: 24px;
    padding: 3px 8px;
    font-size: 12px;
}

.logistics-drivers-table button.danger,
.logistics-customers-table button.danger,
.logistics-services-table button.danger {
    background: #8f2424;
}

.logistics-drivers-table button.danger:hover,
.logistics-customers-table button.danger:hover,
.logistics-services-table button.danger:hover {
    background: #7f1d1d;
}

.log-driver-person-col {
    width: 190px;
}

.log-driver-phone-col {
    width: 132px;
}

.log-driver-car-col {
    width: 150px;
}

.log-driver-number-col {
    width: 105px;
}

.log-driver-vat-col {
    width: 165px;
}

.log-driver-rate-col {
    width: 62px;
}

.log-driver-comment-col {
    width: auto;
}

.log-driver-actions-col {
    width: 70px;
}

.log-customer-name-col {
    width: 230px;
}

.log-customer-partner-col {
    width: 240px;
}

.log-customer-vat-col {
    width: 170px;
}

.log-customer-rate-col {
    width: 93px;
}

.log-customer-comment-col {
    width: auto;
}

.log-customer-actions-col {
    width: 116px;
}

.log-service-code-col {
    width: 140px;
}

.log-service-name-col {
    width: 230px;
}

.log-service-money-col {
    width: 90px;
}

.log-service-flag-col {
    width: 70px;
}

.log-service-comment-col {
    width: auto;
}

.log-service-actions-col {
    width: 70px;
}

.log-trip-date-col {
    width: 104px;
}

.log-trip-driver-col {
    width: 166px;
}

.log-trip-tariff-col {
    width: 245px;
}

.log-trip-money-col {
    width: 104px;
}

.log-trip-status-col {
    width: 128px;
}

.log-trip-flag-col {
    width: 48px;
}

.log-trip-points-col {
    width: 54px;
}

.log-trip-comment-col {
    width: auto;
}

.log-trip-actions-col {
    width: 74px;
}

.log-pay-select-col {
    width: 34px;
}

.log-pay-date-col {
    width: 104px;
}

.log-pay-driver-col {
    width: 180px;
}

.log-pay-tariff-col {
    width: 250px;
}

.log-pay-money-col {
    width: 96px;
}

.log-pay-status-col {
    width: 126px;
}

.log-pay-flag-col {
    width: 52px;
}

.log-pay-comment-col {
    width: auto;
}

.log-cost-act-col {
    width: 92px;
}

.log-cost-date-col {
    width: 96px;
}

.log-cost-account-col {
    width: 150px;
}

.log-cost-warehouse-col {
    width: 210px;
}

.log-cost-trip-col {
    width: 92px;
}

.log-cost-driver-col {
    width: 160px;
}

.log-cost-point-col {
    width: 116px;
}

.log-cost-number-col {
    width: 76px;
}

.log-cost-money-col {
    width: 96px;
}

.customer-deliveries-table th:first-child,
.customer-deliveries-table td:first-child {
    width: auto;
}

.customer-deliveries-table .delivery-route-col {
    width: 145px;
}

.customer-deliveries-table .delivery-select-col {
    width: 32px;
}

.customer-deliveries-table .delivery-date-col {
    width: 118px;
}

.customer-deliveries-table .delivery-status-col {
    width: 170px;
}

.customer-deliveries-table .delivery-internal-status-col {
    min-width: 220px;
    width: 220px;
}

.customer-deliveries-table .delivery-manual-comment-col {
    min-width: 88px;
    width: 90px;
}

.customer-deliveries-table .delivery-shipment-col {
    width: 150px;
}

.customer-deliveries-table .delivery-recipient-col {
    width: 165px;
}

.customer-deliveries-table .delivery-address-col {
    width: 315px;
}

.customer-deliveries-table .delivery-product-col {
    width: 250px;
}

.customer-deliveries-table .delivery-article-col {
    width: 120px;
}

.customer-deliveries-table .delivery-quantity-col {
    width: 58px;
}

.customer-deliveries-table .delivery-paid-col {
    width: 105px;
}

.customer-deliveries-table .delivery-method-col {
    width: 120px;
}

.customer-deliveries-table th,
.customer-deliveries-table td {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: anywhere;
}

.customer-deliveries-table .number-cell {
    white-space: nowrap;
}

.customer-deliveries-table .select-cell {
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
}

.customer-deliveries-table .select-cell input {
    width: 15px;
    height: 15px;
    margin: 0;
    cursor: pointer;
}

.customer-delivery-inline-status-form {
    min-width: 190px;
}

.customer-delivery-inline-status-form select {
    box-sizing: border-box;
    min-width: 190px;
    width: 190px;
    padding-right: 34px;
    white-space: nowrap;
}

.delivery-route-cell {
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.25;
}

.delivery-date-cell,
.delivery-shipment-cell,
.delivery-address-cell {
    vertical-align: middle;
}

.delivery-date-cell > span,
.delivery-date-cell > strong,
.delivery-status-cell > span,
.delivery-status-cell > small,
.delivery-shipment-cell > span,
.delivery-shipment-cell > small,
.delivery-recipient-cell > span,
.delivery-recipient-cell > small,
.delivery-address-cell > span,
.delivery-address-cell > small {
    display: block;
    margin: 0;
    line-height: 1.25;
}

.delivery-status-cell small {
    margin-top: 2px;
    color: #64748b;
    font-size: 11px;
    font-weight: 700;
}

.delivery-manual-comment-cell {
    color: #334155;
    font-size: 12px;
}

.customer-delivery-manual-form {
    display: grid;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(148, 163, 184, 0.35);
}

.customer-delivery-provider-block {
    display: grid;
    gap: 10px;
    margin-top: 12px;
    padding: 12px;
    border: 1px solid rgba(37, 99, 235, 0.22);
    border-radius: 10px;
    background: rgba(239, 246, 255, 0.74);
}

.customer-delivery-provider-block[hidden] {
    display: none;
}

.customer-delivery-provider-heading {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
}

.customer-delivery-provider-heading > div {
    display: grid;
    gap: 2px;
}

.customer-delivery-provider-heading .customer-delivery-provider-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    justify-content: flex-end;
}

.customer-delivery-provider-heading span,
.customer-delivery-provider-grid span,
.customer-delivery-provider-full-address > span {
    color: #64748b;
    font-size: 11px;
    font-weight: 700;
}

.customer-delivery-provider-badge {
    padding: 4px 8px;
    border-radius: 999px;
    background: #dbeafe;
    color: #1d4ed8 !important;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.customer-delivery-provider-change-badge,
.delivery-provider-change-pill {
    padding: 3px 7px;
    border: 1px solid rgba(217, 119, 6, 0.28);
    border-radius: 999px;
    background: #fef3c7;
    color: #92400e !important;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.25;
    white-space: nowrap;
}

.customer-delivery-provider-change-badge[hidden] {
    display: none;
}

.customer-delivery-row.provider-change-pending {
    box-shadow: inset 4px 0 0 #f59e0b;
}

.provider-field-changed {
    margin: -5px;
    padding: 5px;
    border-radius: 7px;
    background: rgba(254, 243, 199, 0.82);
}

.customer-delivery-provider-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.customer-delivery-provider-grid strong {
    overflow-wrap: anywhere;
}

.customer-delivery-provider-full-address {
    margin: 0;
}

.customer-delivery-provider-full-address p {
    margin: 3px 0 0;
}

.customer-delivery-provider-observed {
    color: #64748b;
    font-size: 11px;
}

.customer-delivery-provider-acknowledge-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    padding: 9px 10px;
    border: 1px solid rgba(217, 119, 6, 0.3);
    border-radius: 8px;
    background: rgba(255, 251, 235, 0.9);
}

.customer-delivery-provider-acknowledge-actions[hidden],
.customer-delivery-provider-acknowledge-actions button[hidden] {
    display: none;
}

.customer-delivery-provider-acknowledge-actions button {
    padding: 7px 10px;
}

.customer-delivery-provider-acknowledge-actions small {
    color: #64748b;
    font-size: 11px;
    font-weight: 700;
}

.customer-delivery-provider-acknowledge-actions small.error {
    color: #b91c1c;
}

.customer-delivery-provider-history {
    display: grid;
    gap: 8px;
    padding-top: 10px;
    border-top: 1px solid rgba(37, 99, 235, 0.16);
}

.customer-delivery-provider-history-title {
    display: flex;
    gap: 8px;
    align-items: baseline;
    justify-content: space-between;
}

.customer-delivery-provider-history-title small,
.customer-delivery-provider-history-item > small,
.customer-delivery-provider-history-empty {
    color: #64748b;
    font-size: 11px;
}

.customer-delivery-provider-history-list {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.customer-delivery-provider-history-item {
    display: grid;
    gap: 7px;
    padding: 9px 10px;
    border: 1px solid rgba(148, 163, 184, 0.26);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.72);
}

.customer-delivery-provider-history-item.provider-history-pending {
    border-color: rgba(217, 119, 6, 0.38);
    background: rgba(255, 251, 235, 0.92);
}

.customer-delivery-provider-history-heading,
.customer-delivery-provider-history-heading > div {
    display: flex;
    gap: 7px;
    align-items: baseline;
}

.customer-delivery-provider-history-heading {
    justify-content: space-between;
}

.customer-delivery-provider-history-heading span,
.customer-delivery-provider-history-heading time,
.customer-delivery-provider-history-values span {
    color: #64748b;
    font-size: 10px;
    font-weight: 700;
}

.customer-delivery-provider-history-values {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 8px;
    align-items: center;
}

.customer-delivery-provider-history-values.provider-history-baseline {
    grid-template-columns: minmax(0, 1fr);
}

.customer-delivery-provider-history-values p {
    margin: 2px 0 0;
    overflow-wrap: anywhere;
    font-size: 12px;
}

.customer-delivery-provider-history-arrow {
    color: #94a3b8 !important;
    font-size: 16px !important;
}

.customer-delivery-provider-history-empty {
    margin: 0;
}

.delivery-provider-substatus {
    overflow-wrap: anywhere;
    color: #1d4ed8 !important;
}

@media (max-width: 720px) {
    .customer-delivery-provider-grid {
        grid-template-columns: 1fr;
    }

    .customer-delivery-provider-history-values {
        grid-template-columns: 1fr;
    }

    .customer-delivery-provider-history-arrow {
        transform: rotate(90deg);
        justify-self: start;
    }
}

.customer-delivery-detail-panel {
    width: min(806px, 96vw);
}

.customer-delivery-detail-panel .customer-delivery-summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.customer-delivery-manual-form h3 {
    margin: 0;
    color: #344255;
    font-size: 13px;
    text-transform: uppercase;
}

.customer-delivery-manual-form textarea {
    min-height: 66px;
    resize: vertical;
}

.customer-delivery-date-row {
    gap: 8px;
    border: 0;
}

.customer-delivery-date-row input {
    min-width: 0;
}

.customer-delivery-manual-actions {
    display: grid;
    grid-template-columns: 140px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
}

.customer-delivery-manual-actions span {
    color: #477046;
    font-weight: 700;
}

.customer-delivery-manual-actions span.error {
    color: #b91c1c;
}

.delivery-address-main {
    display: block !important;
}

.delivery-address-main > span {
    display: inline;
}

.delivery-inline-copy {
    position: relative;
    display: inline-block;
    width: 14px;
    height: 14px;
    margin: 0 0 0 5px;
    cursor: pointer;
    vertical-align: -2px;
}

.delivery-inline-copy:focus-visible {
    outline: 2px solid rgba(27, 109, 180, 0.45);
    outline-offset: 2px;
}

.delivery-inline-copy::before,
.delivery-inline-copy::after {
    content: "";
    position: absolute;
    width: 7px;
    height: 7px;
    border: 1.3px solid #8a94a3;
    border-radius: 2px;
    background: #fff;
}

.delivery-inline-copy::before {
    top: 5px;
    left: 2px;
}

.delivery-inline-copy::after {
    top: 2px;
    left: 5px;
}

.delivery-inline-copy:hover::before,
.delivery-inline-copy:hover::after {
    border-color: #1b6db4;
}

.delivery-inline-copy.copied::before,
.delivery-inline-copy.copied::after {
    border-color: #15803d;
}

.delivery-inline-copy.copied::before {
    width: 9px;
    height: 5px;
    border-top: 0;
    border-right: 0;
    border-radius: 0;
    background: transparent;
    transform: rotate(-45deg);
    top: 3px;
    left: 2px;
}

.delivery-inline-copy.copied::after {
    display: none;
}

.delivery-inline-copy.copy-error::before,
.delivery-inline-copy.copy-error::after {
    border-color: #b91c1c;
}

.delivery-date-cell strong {
    margin-top: 2px;
    color: #1b4f83;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
}

.delivery-shipment-cell small,
.delivery-recipient-cell small,
.delivery-address-cell small {
    color: #64748b;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.25;
}

.delivery-address-cell .delivery-address-lift {
    margin-top: 6px;
    color: #475569;
}

.delivery-route-cell span,
.delivery-route-cell small {
    display: block;
}

.delivery-route-cell span {
    color: #1b4f83;
    font-weight: 800;
}

.delivery-route-cell small {
    margin-top: 2px;
    color: #9a5b12;
    font-size: 10px;
    font-weight: 800;
}

.customer-delivery-row {
    cursor: pointer;
}

.compact-table tbody tr.customer-delivery-row.selected {
    outline: 2px solid rgba(29, 79, 131, 0.28);
    outline-offset: -2px;
}

.compact-table tbody tr.delivery-status-waiting {
    background: #fff8e7;
    box-shadow: inset 3px 0 0 #d6a436;
}

.compact-table tbody tr.delivery-status-progress {
    background: #eef7ff;
    box-shadow: inset 3px 0 0 #68a4d9;
}

.compact-table tbody tr.delivery-status-done {
    background: #ecf9f0;
    box-shadow: inset 3px 0 0 #58b677;
}

.compact-table tbody tr.delivery-status-cancelled {
    background: #fff0f1;
    box-shadow: inset 3px 0 0 #b4454f;
}

.compact-table tbody tr.delivery-status-other {
    background: #fbfcfe;
}

.compact-table tbody tr.delivery-status-waiting:hover {
    background: #fff1cc;
}

.compact-table tbody tr.delivery-status-progress:hover {
    background: #e1f1ff;
}

.compact-table tbody tr.delivery-status-done:hover {
    background: #e2f4e8;
}

.compact-table tbody tr.delivery-status-cancelled:hover {
    background: #ffe3e6;
}

.customer-delivery-detail-panel.delivery-status-waiting {
    background: #fff8e7;
}

.customer-delivery-detail-panel.delivery-status-progress {
    background: #eef7ff;
}

.customer-delivery-detail-panel.delivery-status-done {
    background: #ecf9f0;
}

.customer-delivery-detail-panel.delivery-status-cancelled {
    background: #fff0f1;
}

.customer-delivery-detail-panel.delivery-status-waiting .shipment-detail-panel-header {
    background: #fff1cc;
}

.customer-delivery-detail-panel.delivery-status-progress .shipment-detail-panel-header {
    background: #e1f1ff;
}

.customer-delivery-detail-panel.delivery-status-done .shipment-detail-panel-header {
    background: #e2f4e8;
}

.customer-delivery-detail-panel.delivery-status-cancelled .shipment-detail-panel-header {
    background: #ffe3e6;
}

.logistics-drivers-table td > input,
.logistics-drivers-table td > select,
.logistics-customers-table td > input,
.logistics-customers-table td > select,
.logistics-services-table td > input,
.logistics-services-table td > select,
.logistics-trips-table td > input,
.logistics-trips-table td > select {
    margin-bottom: 0;
}

.logistics-trips-table th,
.logistics-trips-table td {
    padding-left: 5px;
    padding-right: 5px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.logistics-payments-table th,
.logistics-payments-table td {
    padding-left: 6px;
    padding-right: 6px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.logistics-accept-costs-table th,
.logistics-accept-costs-table td {
    padding-left: 6px;
    padding-right: 6px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.logistics-accept-costs-table td {
    vertical-align: middle;
}

.logistics-accept-costs-table td > strong,
.logistics-accept-costs-table td > small {
    display: block;
}

.logistics-accept-costs-table td > small {
    color: #667180;
    font-size: 10px;
    font-weight: 700;
}

.logistics-accept-costs-table a {
    color: #1167b1;
    font-weight: 800;
    text-decoration: none;
}

.logistics-accept-cost-summary div:last-child strong {
    color: #1f6b3a;
}

.logistics-payments-table td {
    vertical-align: middle;
}

.logistics-payments-table td > strong,
.logistics-payments-table td > small {
    display: block;
}

.logistics-payments-table td > small {
    color: #667180;
    font-size: 10px;
    font-weight: 700;
}

.logistics-payments-table td:nth-child(4) {
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.15;
}

.logistics-payment-actions {
    margin-left: auto;
}

.logistics-payment-actions form {
    display: flex;
    gap: 6px;
    align-items: center;
    margin: 0;
}

.logistics-payment-actions button {
    width: auto;
    min-height: 24px;
    padding: 3px 8px;
    font-size: 12px;
}

.logistics-payment-row {
    cursor: pointer;
}

.logistics-payment-row:hover td {
    background: #eef6ff;
}

.logistics-payments-table .strong-money {
    color: #1f6b3a;
    font-weight: 900;
}

.logistics-payment-summary strong {
    color: #20242a;
}

.logistics-payment-summary div:last-child strong {
    color: #1f6b3a;
}

.logistics-trips-table .number-cell {
    white-space: nowrap;
}

.logistics-trips-table .logistics-trip-row td:nth-child(3) {
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.15;
}

.logistics-trips-table .number-cell strong,
.logistics-trips-table .number-cell small {
    display: block;
}

.logistics-trips-table .number-cell small {
    overflow: hidden;
    color: #667180;
    font-size: 10px;
    text-overflow: ellipsis;
}

.logistics-trip-row {
    cursor: pointer;
}

.logistics-trip-row td {
    vertical-align: middle;
}

.logistics-trip-row td > strong,
.logistics-trip-row td > small {
    display: block;
}

.logistics-trip-row td > small {
    color: #667180;
    font-size: 10px;
    font-weight: 700;
}

.logistics-trip-row.is-selected td {
    background: #eef6ff;
}

.logistics-trip-open {
    min-width: 62px;
}

.logistics-trips-table .table-check-label {
    min-height: 24px;
}

.logistics-trips-table .table-check-label input[type="checkbox"] {
    width: 15px;
    height: 15px;
}

.logistics-points-row td {
    padding: 0 5px 7px 5px;
    border-top: 0;
    background: #fbfcfe;
}

.logistics-trip-summary-row td {
    padding: 0 5px 4px 5px;
    border-top: 0;
    background: #fbfcfe;
}

.trip-summary-panel {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
    min-height: 28px;
    padding: 4px 8px;
    border: 1px solid #dde5ee;
    border-radius: 6px;
    background: #fff;
}

.trip-summary-panel span,
.trip-summary-panel strong {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 2px 8px;
    border: 1px solid #d7e0ea;
    border-radius: 999px;
    background: #f8fafc;
    color: #4b5563;
    font-size: 11px;
    font-weight: 800;
}

.trip-summary-panel .trip-summary-title {
    border-color: transparent;
    background: transparent;
    color: #586171;
    padding-left: 0;
    text-transform: uppercase;
}

.trip-summary-panel strong {
    border-color: #b9d5c6;
    background: #eef9f2;
    color: #1f6b3a;
}

.shipment-detail-panel.logistics-trip-detail-panel {
    z-index: 24;
    width: 85vw;
}

.shipment-detail-panel.logistics-trip-detail-panel.is-open {
    transform: translateX(0);
}

.logistics-drawer-summary {
    margin-bottom: 2px;
}

.logistics-trip-detail-form {
    display: grid;
    grid-template-columns: 102px minmax(150px, 0.8fr) minmax(190px, 1fr) 86px 112px 46px 46px minmax(130px, 1fr) 50px;
    gap: 6px;
    align-items: end;
    padding: 8px;
    border: 1px solid #dde5ee;
    border-radius: 6px;
    background: #fff;
}

.logistics-trip-detail-form label {
    margin: 0;
}

.logistics-trip-detail-form label > span {
    display: block;
    margin-bottom: 3px;
    color: #667180;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.logistics-trip-detail-form input,
.logistics-trip-detail-form select,
.logistics-trip-detail-form button {
    box-sizing: border-box;
    width: 100%;
    height: 28px;
    min-height: 28px;
    padding: 3px 7px;
    font-size: 13px;
}

.logistics-trip-create-row input[type="number"],
.logistics-trips-table input[type="number"],
.logistics-trip-detail-panel input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

.logistics-trip-create-row input[type="number"]::-webkit-outer-spin-button,
.logistics-trip-create-row input[type="number"]::-webkit-inner-spin-button,
.logistics-trips-table input[type="number"]::-webkit-outer-spin-button,
.logistics-trips-table input[type="number"]::-webkit-inner-spin-button,
.logistics-trip-detail-panel input[type="number"]::-webkit-outer-spin-button,
.logistics-trip-detail-panel input[type="number"]::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

.logistics-trip-detail-form .service-check-label {
    align-self: center;
    padding-top: 16px;
}

.logistics-drawer-points {
    grid-template-columns: 64px minmax(0, 1fr);
    margin-top: 2px;
}

.trip-points-panel {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 6px;
    align-items: start;
    padding: 5px 8px;
    border: 1px solid #dde5ee;
    border-radius: 6px;
    background: #fff;
}

.trip-points-title {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding-top: 4px;
    color: #586171;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.trip-points-title small {
    color: #8a94a3;
    font-size: 11px;
    font-weight: 700;
    text-transform: none;
}

.trip-points-list {
    display: grid;
    gap: 7px;
}

.trip-point-card {
    position: relative;
    display: grid;
    gap: 4px;
    padding: 6px;
    border: 1px solid #dbe4ee;
    border-radius: 6px;
    background: #fbfdff;
}

.trip-point-card.is-dragging {
    opacity: 0.45;
}

.trip-point-card.is-drag-over {
    border-color: #7fb0dc;
    background: #f3f9ff;
}

.trip-point-card.has-open-combobox {
    z-index: 80;
}

.trip-point-card-header {
    display: block;
    align-items: center;
    min-height: 24px;
    padding-bottom: 3px;
    border-bottom: 1px solid #e6edf5;
}

.trip-point-card[data-point-id] .trip-point-card-header {
    cursor: pointer;
}

.trip-point-card[data-point-id] .trip-point-card-header:hover {
    background: #f8fbff;
}

.trip-point-card.is-collapsed {
    gap: 0;
}

.trip-point-card.is-collapsed .trip-point-card-header {
    padding-bottom: 0;
    border-bottom: 0;
}

.trip-point-card.is-collapsed .trip-point-body {
    display: none;
}

.trip-point-card-header > div:first-child {
    display: grid;
    grid-template-columns: 40px 142px minmax(0, 1fr) 24px;
    align-items: center;
    gap: 7px;
    min-width: 0;
}

.trip-point-drag-handle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 20px;
    min-height: 20px;
    padding: 0;
    border: 1px solid #d7e0ea;
    border-radius: 5px;
    background: #ffffff;
    color: #697586;
    cursor: grab;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
}

.trip-point-drag-handle:hover {
    background: #eef6ff;
    color: #1d4f83;
}

.trip-point-drag-handle:active {
    cursor: grabbing;
}

.trip-point-card-header strong {
    overflow: hidden;
    color: #20242a;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.trip-point-order {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: #eaf4ff;
    color: #1167b1;
    font-size: 11px;
    font-weight: 900;
}

.trip-point-card-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 4px;
    min-width: 0;
}

.trip-point-card-meta span {
    max-width: 260px;
    overflow: hidden;
    padding: 2px 7px;
    border: 1px solid #d7e0ea;
    border-radius: 999px;
    background: #fff;
    color: #586171;
    font-size: 10px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.trip-point-header-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
    min-width: 0;
}

.trip-point-subline {
    display: flex;
    flex-wrap: wrap;
    grid-column: 2 / -1;
    gap: 4px;
    min-width: 0;
}

.trip-point-warehouse-badge,
.trip-point-customer-badge,
.trip-point-order-badge,
.trip-point-shipment-badge,
.trip-point-comment-badge,
.trip-point-services-badge,
.trip-point-act-badge {
    display: inline-flex;
    align-items: center;
    max-width: 320px;
    overflow: hidden;
    padding: 3px 9px;
    border: 1px solid #c9d8e8;
    border-radius: 999px;
    background: #fff;
    color: #334155;
    font-size: 11px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.trip-point-address-text {
    overflow: hidden;
    color: #566273;
    font-size: 13px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.trip-point-customer-badge {
    border-color: #c9d8e8;
    background: #f8fbff;
    color: #245277;
}

.trip-point-order-badge {
    border-color: #d7e0ea;
    background: #fff;
    color: #4b5563;
}

.trip-point-shipment-badge {
    border-color: #bcd5ee;
    background: #eef6ff;
    color: #1b4f83;
}

.trip-point-comment-badge {
    border-color: #e0d5c4;
    background: #fffaf2;
    color: #6f4b16;
    font-weight: 800;
}

.trip-point-services-badge {
    justify-content: flex-end;
    border-color: #bad9c4;
    background: #eef9f2;
    color: #1f6b3a;
    font-variant-numeric: tabular-nums;
}

.trip-point-warehouse-badge {
    border-color: #d6c7ea;
    background: #fbf7ff;
    color: #5b3f8c;
}

.trip-point-act-badge {
    border-color: #c7d6ea;
    background: #f4f8ff;
    color: #245277;
    font-weight: 900;
}

.trip-point-add-card {
    background: #fff;
}

.trip-point-form {
    display: grid;
    gap: 4px;
}

.trip-point-form-main {
    display: grid;
    grid-template-columns: 38px 168px 180px minmax(24px, 1fr) 294px 28px 28px 48px 42px;
    column-gap: 3px;
    row-gap: 3px;
    align-items: center;
}

.trip-point-order-shipment-fields {
    display: grid;
    grid-template-columns: 125px 10px 156px;
    grid-column: 5;
    gap: 3px;
    align-items: center;
    min-width: 0;
}

.trip-point-order-shipment-fields input {
    text-align: right;
}

.trip-point-order-shipment-fields > span {
    color: #7c8795;
    font-size: 12px;
    font-weight: 900;
    text-align: center;
}

.trip-point-form-extra {
    display: grid;
    grid-template-columns: 38px minmax(135px, 0.85fr) minmax(320px, 1.8fr) minmax(200px, 1fr);
    gap: 3px;
    align-items: center;
}

.trip-point-form-extra .warehouse-combobox {
    grid-column: 2;
}

.trip-point-form input[name="pointOrder"] {
    text-align: center;
}

.trip-point-form input,
.trip-point-form select,
.trip-point-form button {
    box-sizing: border-box;
    height: 24px;
    min-height: 24px;
    padding: 2px 6px;
    font-size: 12px;
    line-height: 20px;
}

.trip-point-form button {
    width: auto;
    padding: 2px 7px;
}

.trip-point-form .trip-point-delete-button {
    border: 1px solid #9f2424;
    background: #9f2424;
    color: #ffffff;
}

.trip-point-form .trip-point-delete-button:hover {
    background: #842020;
}

.trip-point-add-form {
    padding-top: 4px;
    border-top: 1px dashed #d8e0ea;
}

.warehouse-combobox {
    position: relative;
    min-width: 0;
}

.warehouse-combobox.open {
    z-index: 90;
}

.warehouse-combobox-input {
    width: 100%;
}

.warehouse-combobox-menu {
    display: none;
    position: absolute;
    z-index: 100;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    max-height: 210px;
    overflow-y: auto;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.18);
}

.warehouse-combobox-floating-menu.is-open {
    display: grid;
}

.warehouse-combobox-floating-menu {
    display: none;
    position: fixed;
    z-index: 2000;
    max-height: 260px;
    overflow-y: auto;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.18);
}

.warehouse-combobox-option {
    width: 100%;
    min-height: 24px;
    padding: 4px 8px;
    border-radius: 0;
    background: #fff;
    color: #20242a;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    text-align: left;
}

.warehouse-combobox-option:hover {
    background: #eaf4ff;
    color: #0d5797;
}

.point-accept-acts {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 3px;
    padding: 1px 0 3px 42px;
}

.point-accept-acts-label {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    color: #586171;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.point-empty-note {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 1px 7px;
    border: 1px dashed #d6dee8;
    border-radius: 999px;
    background: #fff;
    color: #8a94a3;
    font-size: 10px;
    font-weight: 800;
}

.point-accept-acts-empty {
    opacity: 0.82;
}

.point-economics {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    padding: 1px 0 1px 42px;
}

.point-economics span,
.point-economics strong {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 1px 7px;
    border: 1px solid #d7e0ea;
    border-radius: 999px;
    background: #f8fafc;
    color: #4b5563;
    font-size: 10px;
    font-weight: 800;
}

.point-economics strong {
    border-color: #b9d5c6;
    background: #eef9f2;
    color: #1f6b3a;
}

.point-accept-act {
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    max-width: 360px;
    padding: 2px 7px;
    border: 1px solid #c7d7ea;
    border-radius: 999px;
    background: #eef6ff;
    color: #1b4f83;
    font-size: 11px;
    font-weight: 800;
}

.point-accept-act a {
    color: inherit;
    text-decoration: none;
}

.point-accept-act small {
    overflow: hidden;
    color: #58708c;
    font-size: 10px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.point-deliveries-panel {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 5px;
    padding: 3px 0 3px 42px;
}

.point-deliveries-title {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding-top: 5px;
    color: #586171;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.point-deliveries-title small {
    color: #8a94a3;
    font-size: 10px;
    font-weight: 700;
    text-transform: none;
}

.point-deliveries-list {
    display: grid;
    gap: 4px;
}

.point-delivery-row {
    display: grid;
    grid-template-columns: 130px 130px minmax(160px, 1fr) 110px 70px minmax(0, 150px) 28px;
    gap: 4px;
    align-items: center;
    padding: 4px;
    border: 1px solid #e0e9f2;
    border-radius: 5px;
    background: #fbfdff;
}

.point-delivery-row strong,
.point-delivery-row span,
.point-delivery-row small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.point-delivery-row strong {
    color: #1b4f83;
    font-size: 11px;
}

.point-delivery-row span {
    color: #334155;
    font-size: 11px;
    font-weight: 700;
}

.point-delivery-address-cell {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.point-delivery-row .point-delivery-address-cell small {
    color: #5b6675;
    font-size: 10px;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.point-delivery-row .warning-text {
    color: #9a5b12;
    font-size: 10px;
    font-weight: 800;
}

.point-delivery-form {
    margin: 0;
}

.point-delivery-link-form {
    display: grid;
    grid-template-columns: minmax(160px, 1fr) 82px;
    gap: 4px;
}

.point-delivery-form input,
.point-delivery-form button {
    box-sizing: border-box;
    height: 24px;
    min-height: 24px;
    padding: 2px 6px;
    font-size: 12px;
    line-height: 20px;
}

.point-delivery-form button {
    width: auto;
    padding: 2px 7px;
}

.point-delivery-unlink-form button {
    min-width: 0;
    width: 24px;
    color: #8f2424;
}

.point-services-panel {
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 5px;
    padding: 3px 0 3px 42px;
}

.point-services-title {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding-top: 4px;
    color: #586171;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.point-services-title small {
    color: #8a94a3;
    font-size: 10px;
    font-weight: 700;
    text-transform: none;
}

.point-services-list {
    display: grid;
    gap: 4px;
}

.point-service-header {
    display: grid;
    grid-template-columns: minmax(140px, 1fr) 58px 76px 76px 28px 28px minmax(100px, 0.9fr) 44px;
    gap: 4px;
    align-items: center;
    padding: 0 5px 1px;
    color: #8a94a3;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
}

.point-service-form {
    display: grid;
    grid-template-columns: minmax(140px, 1fr) 58px 76px 76px 28px 28px minmax(100px, 0.9fr) 44px;
    gap: 4px;
    align-items: center;
    padding: 4px;
    border: 1px solid #e2e9f1;
    border-radius: 5px;
    background: #fff;
}

.point-service-form input,
.point-service-form select,
.point-service-form button {
    box-sizing: border-box;
    height: 24px;
    min-height: 24px;
    padding: 2px 6px;
    font-size: 12px;
    line-height: 20px;
}

.point-service-form button {
    width: auto;
    padding: 2px 7px;
}

.point-service-add-form {
    border-style: dashed;
    background: #fbfdff;
}

.logistics-driver-row td {
    padding-top: 5px;
    padding-bottom: 4px;
}

.logistics-tariffs-row td {
    padding: 0 8px 8px 8px;
    border-top: 0;
    background: #fbfcfe;
}

.logistics-tariffs-row.muted-row td {
    background: #f8fafc;
}

.tariff-panel {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    padding: 6px 8px;
    border: 1px solid #dde5ee;
    border-radius: 6px;
    background: #fff;
}

.tariff-panel-title {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding-top: 4px;
    color: #586171;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.tariff-panel-title small {
    color: #8a94a3;
    font-size: 11px;
    font-weight: 700;
    text-transform: none;
}

.tariff-list {
    display: grid;
    gap: 4px;
}

.tariff-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px 52px;
    gap: 4px;
    align-items: center;
}

.tariff-form,
.tariff-add-row {
    display: grid;
    grid-template-columns: minmax(130px, 1fr) 88px 48px 42px minmax(140px, 1.2fr) 48px;
    gap: 4px;
    align-items: center;
}

.tariff-default-form {
    margin: 0;
}

.tariff-default-form button {
    background: #475569;
}

.tariff-default-form button:hover {
    background: #334155;
}

.tariff-default-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 2px 7px;
    border-radius: 999px;
    background: #eaf4ff;
    color: #1167b1;
    font-size: 11px;
    font-weight: 800;
}

.tariff-inactive {
    opacity: 0.58;
}

.check-label {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin: 0;
    color: #20242a;
    font-size: 11px;
    font-weight: 700;
}

.check-label span {
    margin: 0;
    color: #20242a;
    font-size: 11px;
    font-weight: 700;
    text-transform: none;
}

.check-label input[type="checkbox"] {
    width: 13px;
    height: 13px;
    margin: 0;
}

.service-check-label {
    align-self: center;
    padding-bottom: 5px;
}

.table-check-label {
    justify-content: center;
}

.logistics-actions-cell {
    vertical-align: top;
}

.logistics-actions-cell form {
    margin: 0;
}

.logistics-actions-cell form + form {
    margin-top: 5px;
}

.logistics-customers-table .logistics-actions-cell {
    display: flex;
    gap: 5px;
    justify-content: center;
    align-items: center;
}

.logistics-customers-table .logistics-actions-cell form + form {
    margin-top: 0;
}

.logistics-customer-warehouse-row td {
    padding-top: 0;
}

.logistics-customer-warehouse-row label {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
}

.logistics-customer-warehouse-row label span {
    color: #586171;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.compact-table tbody tr.muted-row {
    background: #f8fafc;
    color: #7b8794;
}

label span {
    display: block;
    margin-bottom: 4px;
    color: #586171;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

select,
input[type="search"],
input[type="text"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="file"],
textarea,
button {
    width: 100%;
    min-height: 32px;
    border-radius: 6px;
    font: inherit;
}

select,
input[type="search"],
input[type="text"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="file"],
textarea {
    border: 1px solid #ccd3dc;
    background: #fff;
    padding: 6px 8px;
}

button {
    border: 0;
    background: #1167b1;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

button:hover {
    background: #0d5797;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 32px;
    border-radius: 6px;
    font: inherit;
    font-weight: 700;
    text-decoration: none;
}

.button.secondary {
    border: 1px solid #ccd3dc;
    background: #fff;
    color: #1d4f83;
}

.button.secondary:hover {
    background: #f3f6fa;
}

button.secondary-button {
    border: 1px solid #ccd3dc;
    background: #fff;
    color: #1d4f83;
}

button.secondary-button:hover {
    background: #f3f6fa;
}

button.secondary-button:disabled,
button.secondary-button[disabled] {
    cursor: not-allowed;
    opacity: 0.45;
    background: #eef2f6;
    color: #7d8896;
}

button.secondary-button:disabled:hover,
button.secondary-button[disabled]:hover {
    background: #eef2f6;
}

.button.small-button {
    width: auto;
    min-height: 28px;
    padding: 0 12px;
    font-size: 12px;
}

.compact-button {
    width: auto;
    min-height: 28px;
    padding: 5px 10px;
    font-size: 12px;
}

.disabled-link {
    pointer-events: none;
    opacity: 0.45;
}

.icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    min-height: 30px;
    padding: 0;
    border: 1px solid #ccd3dc;
    border-radius: 6px;
    background: #fff;
    color: #53606f;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
}

.icon-button:hover {
    background: #f3f6fa;
}

.inline-link-button {
    padding: 0;
    border: 0;
    background: transparent;
    color: #0f5f9f;
    font: inherit;
    font-weight: 800;
    text-decoration: underline;
    cursor: pointer;
}

.inline-link-button:hover {
    background: transparent;
    color: #0b4f86;
}

.compensation-claims-open {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 20px;
    padding: 0 7px;
    border: 1px solid #b8d2ea;
    border-radius: 999px;
    background: #eef7ff;
    color: #0f5f9f;
    font-size: 12px;
    line-height: 1;
    text-decoration: none;
}

.compensation-claims-open:hover {
    border-color: #8fbde1;
    background: #dff0ff;
    color: #0b4f86;
}

.disabled-link {
    pointer-events: none;
    opacity: 0.55;
}

.notice {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 14px;
    padding: 12px 14px;
}

.notice.success {
    border-color: #b9dfc8;
    background: #f1fbf4;
}

.notice.error {
    border-color: #f0b8b8;
    background: #fff5f5;
}

.notice.warning {
    border-color: #edd28d;
    background: #fff9e8;
}

.finance-summary-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(150px, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

.finance-summary-grid > div {
    padding: 12px 14px;
    border: 1px solid #d8dee7;
    border-radius: 6px;
    background: #fff;
}

.finance-summary-grid span {
    display: block;
    color: #586171;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.finance-summary-grid strong {
    display: block;
    margin-top: 4px;
    color: #20242a;
    font-size: 18px;
}

.login-page {
    display: grid;
    min-height: 100vh;
    place-items: center;
    padding: 24px;
}

.login-panel {
    width: min(420px, 100%);
    padding: 24px;
    border: 1px solid #dde2e8;
    border-radius: 8px;
    background: #fff;
}

.login-panel p {
    margin-top: 8px;
    color: #626b77;
}

.login-form {
    display: grid;
    gap: 14px;
    margin-top: 18px;
}

.section-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 11px 13px;
    border-bottom: 1px solid #e4e8ee;
}

.section-title h2 {
    font-size: 15px;
}

.section-title span {
    color: #697382;
}

.section-metrics {
    font-variant-numeric: tabular-nums;
}

.section-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.table-status-stats {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.table-status-filter {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    width: auto;
    min-height: 24px;
    padding: 3px 7px;
    border: 1px solid transparent;
    border-radius: 5px;
    background: transparent;
    font-size: 12px;
    line-height: 1.2;
    white-space: nowrap;
}

.table-status-filter:hover,
.table-status-filter.active {
    border-color: currentColor;
    background: rgba(24, 35, 48, 0.06);
}

.table-status-filter strong {
    font-variant-numeric: tabular-nums;
}

.table-status-filter span {
    color: inherit;
}

.stat-new,
.stat-created,
.stat-processing {
    color: #1e5d8f;
}

.stat-receiving,
.stat-partial {
    color: #87620d;
}

.stat-received,
.stat-inprocessing,
.stat-processed,
.stat-shipped {
    color: #1d5c84;
}

.stat-assembly {
    color: #87620d;
}

.stat-assembled,
.stat-customerreceived {
    color: #176b3a;
}

.stat-complete {
    color: #53606f;
}

.stat-done {
    color: #176b3a;
}

.stat-failed {
    color: #8f2424;
}

.imports-table {
    table-layout: fixed;
}

.claims-table {
    table-layout: fixed;
}

.claim-id-col {
    width: 54px;
}

.claim-assignee-col {
    width: 96px;
}

.claim-row-col {
    width: 54px;
}

.claim-seller-col {
    width: 118px;
}

.claim-type-col {
    width: 54px;
}

.claim-number-col,
.claim-shipment-col {
    width: 140px;
}

.claim-product-col {
    width: 260px;
}

.claim-codes-col {
    width: 120px;
}

.claim-money-col {
    width: 112px;
}

.claim-date-col {
    width: 96px;
}

.claim-compact-col {
    width: 92px;
}

.claim-video-col {
    width: 92px;
}

.claim-request-type-col {
    width: 106px;
}

.claim-status-col {
    width: 118px;
}

.claim-shipment-status-col {
    width: 142px;
}

.claim-text-col {
    width: 170px;
}

.claim-comment-col {
    width: 340px;
}

.claim-date-time-col {
    width: 116px;
}

.claims-table .claim-row {
    cursor: pointer;
}

.claim-shipment-cell {
    white-space: normal;
    overflow-wrap: anywhere;
}

.claim-seller-cell span,
.claim-seller-cell small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
}

.claim-seller-cell small {
    margin-top: 2px;
    color: #667180;
    font-size: 11px;
}

.claim-related-open {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    float: right;
    width: 20px;
    min-width: 20px;
    height: 20px;
    min-height: 20px;
    margin: 0 0 0 5px;
    padding: 0;
    border: 1px solid #b8d4ee;
    border-radius: 999px;
    background: #eef7ff;
    color: #1261a6;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
}

.claim-related-open:hover {
    background: #dff0ff;
}

.compensation-report-header .detail-grid {
    grid-template-columns: 72px minmax(150px, 1fr) 92px 132px 112px minmax(160px, 1fr) 80px 110px;
}

.compensation-report-header .detail-grid > div {
    padding: 8px 10px;
}

.compensation-report-rows-table {
    table-layout: fixed;
}

.compensations-list-table {
    table-layout: fixed;
}

.dispute-payments-table {
    table-layout: fixed;
}

.payment-report-col {
    width: 78px;
}

.payment-date-col {
    width: 84px;
}

.payment-account-col {
    width: 104px;
}

.payment-product-col {
    width: 300px;
}

.payment-article-col {
    width: 112px;
}

.payment-shipment-col {
    width: 150px;
}

.payment-amount-col {
    width: 78px;
}

.payment-assignee-col {
    width: 92px;
}

.payment-request-col {
    width: 78px;
}

.payment-scheme-col {
    width: 72px;
}

.payment-status-col {
    width: 92px;
}

.payment-type-col {
    width: 104px;
}

.payment-video-col {
    width: 86px;
}

.dispute-payments-summary em {
    color: #58677a;
    font-style: normal;
}

.comp-list-report-col {
    width: 78px;
}

.comp-list-date-col {
    width: 84px;
}

.comp-list-account-col {
    width: 104px;
}

.comp-list-product-col {
    width: 300px;
}

.comp-row-num-col {
    width: 54px;
}

.comp-type-col {
    width: 150px;
}

.comp-type-cell {
    white-space: normal;
    overflow-wrap: anywhere;
}

.comp-product-col {
    width: 320px;
}

.comp-article-col {
    width: 105px;
}

.comp-sku-col {
    width: 96px;
}

.comp-barcode-col {
    width: 112px;
}

.comp-warehouse-col {
    width: 150px;
}

.comp-qty-col {
    width: 48px;
}

.comp-shipments-col {
    width: 144px;
}

.compensation-shipments-cell {
    white-space: pre-line;
    overflow-wrap: anywhere;
}

.comp-linked-col {
    width: 42px;
}

.comp-claim-count-col {
    width: 42px;
}

.comp-claim-assignee-col {
    width: 86px;
}

.comp-claim-request-col {
    width: 78px;
}

.comp-claim-order-col {
    width: 72px;
}

.comp-claim-status-col {
    width: 92px;
}

.comp-claim-type-col {
    width: 104px;
}

.comp-claim-video-col {
    width: 86px;
}

.claim-compact-cell {
    white-space: normal;
    overflow-wrap: anywhere;
}

.compensation-claim-card {
    display: grid;
    gap: 8px;
    padding: 10px;
    border: 1px solid #d9e0e8;
    border-radius: 8px;
    background: #fff;
}

.compensations-list-table tbody tr.row-missing-claim,
.dispute-payments-table tbody tr.row-missing-claim {
    background: #fff0f6;
    box-shadow: inset 3px 0 0 #e879b4;
}

.compensations-list-table tbody tr.row-missing-claim:hover,
.dispute-payments-table tbody tr.row-missing-claim:hover {
    background: #ffe3ef;
}

.comp-amount-col {
    width: 72px;
}

.comp-percent-col {
    width: 46px;
}

.compact-table tbody tr.claim-row.selected {
    outline: 2px solid rgba(29, 79, 131, 0.28);
    outline-offset: -2px;
}

.import-date-col {
    width: 118px;
}

.import-id-col {
    width: 56px;
}

.import-mp-col {
    width: 74px;
}

.import-account-col {
    width: 120px;
}

.import-type-col {
    width: 112px;
}

.import-file-col {
    width: auto;
}

.import-status-col {
    width: 82px;
}

.import-count-col {
    width: 58px;
}

.section-actions button {
    width: auto;
    min-height: 30px;
    padding: 6px 10px;
}

.claims-refresh-info {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    padding: 0 13px 10px;
    color: #667180;
    font-size: 12px;
}

.claims-refresh-info strong {
    color: #475569;
}

.claims-refresh-info span {
    display: inline-flex;
    gap: 4px;
    align-items: center;
}

.inline-status-form {
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 160px;
}

.inline-status-form select {
    width: 132px;
    min-height: 26px;
    padding: 3px 7px;
}

.autosave-state {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 24px;
    width: 24px;
    min-height: 24px;
    border-radius: 5px;
    color: #697382;
    font-size: 11px;
    font-weight: 700;
}

.autosave-state.saving {
    background: #eef3f8;
}

.autosave-state.saved {
    background: #dff4e6;
    color: #176a31;
}

.autosave-state.failed {
    background: #ffe3e3;
    color: #9d2020;
}

.table-wrap {
    overflow-x: auto;
}

.table-wrap:has(.compact-table) {
    max-height: min(68vh, 760px);
    overflow: auto;
    scrollbar-gutter: stable;
    border-top: 1px solid #e1e6ee;
    border-bottom: 1px solid #e1e6ee;
}

.table-wrap:has(.imports-table) {
    padding-right: 14px;
}

.table-wrap:has(.compensations-list-table) {
    padding-right: 14px;
    padding-bottom: 12px;
    scrollbar-gutter: stable both-edges;
}

.detail-section {
    margin-bottom: 14px;
}

.compact-detail-section {
    margin-bottom: 10px;
}

.detail-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    background: #edf0f4;
    border-top: 1px solid #edf0f4;
}

.detail-grid > div {
    min-width: 0;
    background: #fff;
    padding: 10px 12px;
}

.detail-grid .wide {
    grid-column: span 2;
}

.detail-grid span {
    display: block;
    margin-bottom: 3px;
    color: #667180;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.detail-grid strong {
    display: block;
    overflow-wrap: anywhere;
    font-weight: 700;
}

.detail-grid small {
    display: block;
    margin-top: 2px;
    color: #667180;
    font-size: 11px;
}

.detail-header-form {
    margin: 0;
}

.detail-grid select {
    min-height: 28px;
    padding: 4px 7px;
    font-weight: 700;
}

.detail-grid a {
    overflow-wrap: anywhere;
}

.detail-pdf-cell {
    overflow: hidden;
}

.summary-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 1px;
    margin-bottom: 10px;
    overflow: hidden;
    border: 1px solid #dfe4ea;
    border-radius: 8px;
    background: #dfe4ea;
}

.summary-strip > div {
    min-width: 120px;
    padding: 8px 12px;
    background: #fff;
}

.summary-strip span {
    display: block;
    margin-bottom: 2px;
    color: #667180;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.summary-strip strong {
    display: block;
    font-size: 16px;
}

.summary-strip em {
    display: block;
    margin-top: 1px;
    color: #344256;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th,
td {
    padding: 9px 10px;
    border-bottom: 1px solid #edf0f4;
    text-align: left;
    white-space: nowrap;
}

th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #fafbfc;
    color: #53606f;
    font-size: 11px;
    text-transform: uppercase;
}

.data-table {
    font-size: 12px;
}

.compact-table th,
.compact-table td {
    padding: 6px 8px;
}

.compact-table th {
    z-index: 3;
    border-bottom: 1px solid #cfd7e2;
    background: #eef2f6;
    box-shadow: 0 1px 0 rgba(24, 35, 48, 0.08);
}

.compact-table tbody tr:hover {
    background: #f7fbff;
}

.shipment-detail-row {
    cursor: pointer;
}

.compact-table tbody tr.shipment-detail-row.selected {
    background: #fff8df;
    box-shadow: inset 4px 0 0 #b78214, inset 0 0 0 1px rgba(183, 130, 20, 0.28);
}

.compact-table tbody tr.shipment-detail-row.selected:hover {
    background: #fff3c4;
}

.compact-table tbody tr.row-alert-green {
    background: #f2fbf5;
    box-shadow: inset 3px 0 0 #58b677;
}

.compact-table tbody tr.row-alert-blue {
    background: #f1f7ff;
    box-shadow: inset 3px 0 0 #5d8fd1;
}

.compact-table tbody tr.row-alert-red {
    background: #fff1f1;
    box-shadow: inset 3px 0 0 #c45252;
}

.compact-table tbody tr.row-alert-green:hover {
    background: #e8f7ee;
}

.compact-table tbody tr.row-alert-blue:hover {
    background: #e7f1ff;
}

.compact-table tbody tr.row-alert-red:hover {
    background: #ffe7e7;
}

.row-stats {
    display: flex;
    align-items: center;
    gap: 8px;
}

.row-stats > span {
    color: #667180;
}

.row-stat-total strong {
    color: #4b5563;
    font-weight: 700;
}

.row-stat-total em {
    margin-left: 3px;
    font-style: normal;
    font-weight: 400;
}

.row-stat-total {
    cursor: pointer;
}

.row-stat-filter {
    width: auto;
    min-width: 48px;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: inherit;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    text-align: right;
    cursor: pointer;
}

.row-stat-filter span {
    color: inherit;
}

.row-stat-filter:hover,
.row-stat-filter.active {
    background: rgba(24, 35, 48, 0.07);
}

.row-stats em {
    margin-left: 2px;
    font-style: normal;
    font-weight: 400;
}

.row-stat-wage {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    margin-left: 4px;
    padding-left: 10px;
    border-left: 1px solid #d7dde5;
}

.row-stat-wage strong {
    color: #374151;
    font-weight: 700;
}

.row-stat-wage small {
    color: #6b7280;
    font-size: 12px;
}

.row-stat-green {
    color: #176b3a;
}

.row-stat-blue {
    color: #1e3a8a;
}

.row-stat-red {
    color: #7f1d1d;
}

.row-stat-white {
    color: #667180;
}

.shipment-detail-panel {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 20;
    display: flex;
    flex-direction: column;
    width: min(520px, 94vw);
    height: 100vh;
    border-left: 1px solid #ccd5df;
    background: #fff;
    box-shadow: -14px 0 28px rgba(24, 35, 48, 0.16);
    transform: translateX(105%);
    transition: transform 160ms ease;
}

.shipment-detail-panel.row-alert-green {
    background: #f2fbf5;
}

.shipment-detail-panel.row-alert-blue {
    background: #f1f7ff;
}

.shipment-detail-panel.row-alert-red {
    background: #fff1f1;
}

.shipment-detail-panel.open {
    transform: translateX(0);
}

.shipment-detail-panel-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px 12px;
    border-bottom: 1px solid #e4e8ee;
    background: #f8fafc;
}

.shipment-detail-panel.row-alert-green .shipment-detail-panel-header {
    background: #e8f7ee;
}

.shipment-detail-panel.row-alert-blue .shipment-detail-panel-header {
    background: #e7f1ff;
}

.shipment-detail-panel.row-alert-red .shipment-detail-panel-header {
    background: #ffe7e7;
}

.shipment-detail-panel.row-status-new {
    background: #fff0f6;
}

.shipment-detail-panel.row-status-receiving {
    background: #fff8e7;
}

.shipment-detail-panel.row-status-received {
    background: #f2fbf5;
}

.shipment-detail-panel.row-status-processed {
    background: #f1f7ff;
}

.shipment-detail-panel.row-status-shipped {
    background: #f7f1ff;
}

.shipment-detail-panel.row-status-complete {
    background: #f5f7fa;
}

.shipment-detail-panel.row-status-new .shipment-detail-panel-header {
    background: #ffe3ef;
}

.shipment-detail-panel.row-status-receiving .shipment-detail-panel-header {
    background: #ffedbf;
}

.shipment-detail-panel.row-status-received .shipment-detail-panel-header {
    background: #e2f4e8;
}

.shipment-detail-panel.row-status-processed .shipment-detail-panel-header {
    background: #dfeeff;
}

.shipment-detail-panel.row-status-shipped .shipment-detail-panel-header {
    background: #eadcff;
}

.shipment-detail-panel.row-status-complete .shipment-detail-panel-header {
    background: #e3e8ef;
}

.shipment-detail-panel-header span,
.detail-block span {
    display: block;
    margin-bottom: 4px;
    color: #667180;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.shipment-detail-panel-header h2 {
    margin: 0;
    color: #20242a;
    font-size: 18px;
    line-height: 1.2;
}

.logistics-trip-header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.logistics-trip-header-actions .button {
    width: auto;
    min-height: 32px;
    padding: 7px 12px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.logistics-trip-close {
    position: relative;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    min-width: 32px;
    min-height: 32px;
    padding: 0;
    border-color: #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    color: #53606f;
    font-family: inherit;
    font-size: 23px;
    font-weight: 800;
    line-height: 28px;
}

.logistics-trip-close:hover {
    border-color: #b9c5d4;
    background: #eef3f8;
}

.shipment-detail-panel-body {
    display: grid;
    gap: 10px;
    padding: 12px 20px 12px 12px;
    overflow: auto;
    scrollbar-gutter: stable;
}

.detail-summary-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.detail-summary-strip span {
    max-width: 100%;
    padding: 5px 8px;
    border: 1px solid #d9e0e8;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.8);
    color: #20242a;
    font-size: 12px;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.compact-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border: 1px solid #edf0f4;
}

.tri-detail-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.detail-block {
    padding: 10px 12px;
    border: 1px solid #edf0f4;
    background: rgba(255, 255, 255, 0.78);
}

.detail-block p {
    margin: 0;
    color: #20242a;
    font-size: 13px;
    line-height: 1.35;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.detail-block small {
    display: block;
    margin-top: 4px;
    color: #6b7280;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.detail-block small:empty {
    display: none;
}

.accept-act-status-history {
    display: grid;
    gap: 4px;
}

.accept-act-status-history p {
    margin: 0;
    padding: 4px 0;
    border-bottom: 1px solid rgba(210, 218, 229, 0.7);
    color: #2b3440;
    font-size: 12px;
    line-height: 1.25;
}

.accept-act-status-history p:last-child {
    border-bottom: 0;
}

.accept-act-status-history .muted-inline {
    color: #7a8491;
}

.detail-actions {
    display: grid;
    gap: 6px;
    padding-top: 2px;
}

.detail-action-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}

.detail-actions .button {
    width: auto;
    min-height: 28px;
    padding: 5px 8px;
    font-size: 12px;
}

.copy-state {
    min-height: 16px;
    color: #667180;
    font-size: 12px;
    text-align: right;
}

.welcome-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}

.welcome-link-card {
    display: grid;
    gap: 5px;
    padding: 14px;
    border: 1px solid #d8e0ea;
    border-radius: 6px;
    background: #fff;
    color: inherit;
    text-decoration: none;
}

.welcome-link-card:hover {
    border-color: #9ab7d8;
    background: #f8fbff;
}

.welcome-link-card strong {
    color: #172033;
    font-size: 16px;
}

.welcome-link-card span {
    color: #667180;
    font-size: 12px;
}

.capture-body {
    margin: 0;
    background: #f4f7fb;
}

.capture-page {
    width: min(760px, 100%);
    min-height: 100vh;
    margin: 0 auto;
    padding: 10px;
    box-sizing: border-box;
}

.capture-header {
    position: sticky;
    top: 0;
    z-index: 5;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 8px;
    padding: 8px 0 10px;
    background: #f4f7fb;
}

.capture-header h1 {
    margin: 0;
    text-align: center;
    font-size: 20px;
}

.capture-header-actions {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
}

.capture-back,
.capture-refresh,
.capture-summary-button,
.capture-add-button {
    border: 1px solid #cbd7e6;
    border-radius: 6px;
    background: #fff;
    color: #174f8a;
    padding: 7px 9px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.capture-add-button {
    display: inline-grid;
    grid-column: 1 / -1;
    place-items: center;
    width: 100%;
    min-height: 42px;
    padding: 0;
    font-size: 24px;
    line-height: 1;
}

.capture-list {
    display: grid;
    gap: 10px;
}

.capture-card {
    width: 100%;
    border: 1px solid #d4dfeb;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(22, 36, 55, 0.05);
    box-sizing: border-box;
}

.capture-package-card {
    position: relative;
    display: grid;
    gap: 6px;
    min-width: 0;
    padding: 10px 12px;
    text-align: left;
}

.capture-package-card.processing {
    background: #eaf4ff;
    box-shadow: inset 4px 0 0 #2887d8;
}

.capture-package-card.ok {
    background: #eaf8ef;
    box-shadow: inset 4px 0 0 #31a25d;
}

.capture-package-card.error {
    background: #fff0f0;
    box-shadow: inset 4px 0 0 #d85050;
}

.capture-card-top,
.capture-card-meta {
    display: flex;
    gap: 10px;
}

.capture-card-top {
    align-items: flex-start;
    justify-content: space-between;
    min-width: 0;
}

.capture-card-heading {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 8px;
    flex-wrap: wrap;
}

.capture-card-top strong {
    font-size: 16px;
}

.capture-card-code {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: #174f8a;
    padding: 2px 8px;
    font-size: 13px;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.capture-card-code[hidden] {
    display: none;
}

.capture-card-date,
.capture-card-meta,
.capture-card-context,
.capture-card-result {
    color: #516174;
    font-size: 13px;
}

.capture-card-date {
    flex: 0 0 auto;
    max-width: 45%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.capture-card-meta {
    justify-content: flex-start;
    gap: 6px;
}

.capture-card-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    border: 1px solid rgba(123, 145, 170, 0.35);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.56);
    padding: 1px 8px;
    font-weight: 700;
}

.capture-card-comment {
    margin: 0;
    color: #172033;
    font-size: 14px;
    line-height: 1.3;
}

.capture-card-result {
    min-height: 18px;
    font-weight: 700;
}

.capture-card-duplicate {
    min-height: 18px;
    color: #9a3412;
    font-size: 13px;
    font-weight: 800;
}

.capture-card-duplicate[hidden] {
    display: none;
}

.capture-card-context {
    display: grid;
    gap: 2px;
}

.capture-card-context small[hidden] {
    display: none;
}

.capture-card-context small {
    overflow-wrap: anywhere;
}

.capture-card-storage {
    color: #172033;
    font-weight: 800;
}

.capture-process-rail {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 4px;
    min-width: 0;
}

.capture-process-rail[hidden],
.capture-process-stage:not(.is-desktop) {
    display: none;
}

.capture-process-stage {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    grid-template-rows: 15px 13px;
    align-items: center;
    min-width: 0;
    min-height: 32px;
    border: 1px solid #ccd8e5;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.76);
    color: #263649;
    padding: 1px 5px;
    text-align: left;
    cursor: pointer;
}

.capture-process-stage-marker {
    grid-row: 1 / 3;
    display: grid;
    place-items: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #e5ebf2;
    color: #526173;
    font-size: 12px;
    font-weight: 900;
}

.capture-process-stage strong,
.capture-process-stage small {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    letter-spacing: 0;
}

.capture-process-stage strong {
    font-size: 11px;
}

.capture-process-stage small {
    color: #66778a;
    font-size: 9px;
}

.capture-process-stage.status-done .capture-process-stage-marker,
.capture-process-detail.status-done .capture-process-detail-marker {
    background: #d8f0e0;
    color: #217a43;
}

.capture-process-stage.status-running .capture-process-stage-marker,
.capture-process-detail.status-running .capture-process-detail-marker {
    background: #dcecff;
    color: #176bb0;
}

.capture-process-stage.status-action_required .capture-process-stage-marker,
.capture-process-detail.status-action_required .capture-process-detail-marker {
    background: #fff0bd;
    color: #916400;
}

.capture-process-stage.status-error .capture-process-stage-marker,
.capture-process-detail.status-error .capture-process-detail-marker {
    background: #ffd9d9;
    color: #b42323;
}

.capture-process-current {
    min-height: 15px;
    overflow: hidden;
    color: #526173;
    font-size: 11px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.capture-process-current[hidden] {
    display: none;
}

.capture-process-current.severity-warning {
    color: #805b00;
}

.capture-process-current.severity-error {
    color: #a82828;
}

.capture-process-panel {
    width: min(680px, 100%);
}

.capture-process-deadline {
    margin-top: 3px;
    color: #526173;
    font-size: 12px;
    font-weight: 700;
}

.capture-process-deadline.due_soon,
.capture-process-deadline.overdue,
.capture-process-deadline.late {
    color: #a82828;
}

.capture-process-details {
    display: grid;
    gap: 5px;
}

.capture-process-detail {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    padding: 7px 0;
    border-bottom: 1px solid #e2e8f0;
}

.capture-process-detail:last-child {
    border-bottom: 0;
}

.capture-process-detail-marker {
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #e5ebf2;
    color: #526173;
    font-size: 13px;
    font-weight: 900;
}

.capture-process-detail-body {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.capture-process-detail-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
}

.capture-process-detail-heading strong {
    font-size: 13px;
}

.capture-process-detail-heading span,
.capture-process-detail-body small {
    color: #657386;
    font-size: 11px;
}

.capture-process-detail-summary {
    color: #172033;
    font-size: 13px;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.capture-process-detail-time {
    font-variant-numeric: tabular-nums;
}

.capture-process-detail-body code {
    display: block;
    max-height: 80px;
    overflow: auto;
    border-radius: 4px;
    background: #f3f6f9;
    padding: 5px;
    color: #445369;
    font-size: 10px;
    white-space: pre-wrap;
}

.capture-process-detail-body a {
    justify-self: start;
    color: #176bb0;
    font-size: 12px;
    font-weight: 800;
}

@media (max-width: 720px) {
    .capture-process-rail {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .capture-process-stage:not(.is-mobile) {
        display: none;
    }

    .capture-process-stage.is-mobile {
        display: grid;
    }

    .capture-process-stage {
        grid-template-columns: 18px minmax(0, 1fr);
        grid-template-rows: 14px 12px;
        min-height: 30px;
        padding-inline: 4px;
    }

    .capture-process-stage small {
        display: none;
    }

    .capture-process-stage strong {
        grid-row: 1 / 3;
        align-self: center;
        font-size: 10px;
    }
}

.capture-manual-code-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px;
}

.capture-manual-code-form[hidden] {
    display: none;
}

.capture-manual-code-form input {
    min-width: 0;
    width: 100%;
    border: 1px solid #cbd7e6;
    border-radius: 6px;
    padding: 8px;
    font: inherit;
}

.capture-manual-code-form button {
    border: 1px solid #b9c9dc;
    border-radius: 6px;
    background: #fff;
    color: #174f8a;
    padding: 0 12px;
    font-weight: 700;
}

.capture-manual-code-form.saving {
    opacity: 0.65;
    pointer-events: none;
}

.capture-card-actions {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
    flex-wrap: wrap;
    min-width: 0;
}

.capture-action-label-mobile {
    display: none;
}

.capture-add-files,
.capture-reprocess,
.capture-show-photos,
.capture-comment-button {
    flex: 0 0 auto;
    justify-self: end;
    width: auto;
    min-width: 0;
    border: 1px solid #b9c9dc;
    border-radius: 6px;
    background: #fff;
    color: #174f8a;
    padding: 6px 10px;
    font-weight: 700;
}

@media (max-width: 720px) {
    .capture-card-actions {
        gap: 4px;
        flex-wrap: nowrap;
    }

    .capture-card-actions button {
        flex: 1 1 0;
        padding-inline: 4px;
        font-size: 12px;
        white-space: nowrap;
    }

    .capture-action-label-desktop {
        display: none;
    }

    .capture-action-label-mobile {
        display: inline;
    }
}

.capture-reprocess[hidden] {
    display: none;
}

.capture-reprocess:disabled,
.capture-show-photos:disabled {
    background: #edf2f7;
    color: #8a9bad;
    cursor: not-allowed;
}

.capture-modal[hidden] {
    display: none;
}

.capture-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    align-items: end;
}

.capture-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(10, 18, 28, 0.42);
}

.capture-modal-panel {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 12px;
    width: min(760px, 100%);
    max-height: 92vh;
    margin: 0 auto;
    padding: 14px;
    overflow: auto;
    border-radius: 8px 8px 0 0;
    background: #fff;
    box-sizing: border-box;
}

.capture-modal-panel header,
.capture-modal-panel footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}

.capture-modal-panel h2 {
    margin: 0;
    font-size: 18px;
}

.capture-photos-panel {
    width: min(920px, 100%);
}

.capture-photo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(92px, 1fr));
    gap: 8px;
}

.capture-photo-thumb {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    overflow: hidden;
    border: 1px solid #cbd7e6;
    border-radius: 6px;
    background: #f8fafc;
    padding: 0;
}

.capture-photo-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.capture-photo-thumb.selected {
    border-color: #1769aa;
    box-shadow: 0 0 0 2px rgba(23, 105, 170, 0.18);
}

.capture-photo-preview {
    display: grid;
    justify-items: center;
    border-top: 1px solid #e2e8f0;
    padding-top: 12px;
}

.capture-photo-preview[hidden] {
    display: none;
}

.capture-photo-preview img {
    display: block;
    max-width: 100%;
    max-height: 65vh;
    border-radius: 6px;
}

.capture-photo-code-editor {
    position: sticky;
    bottom: -14px;
    width: 100%;
    padding: 10px 0 2px;
    background: #fff;
}

.capture-photo-code-current,
.capture-photo-code-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 6px;
}

.capture-photo-code-current[hidden],
.capture-photo-code-form[hidden] {
    display: none;
}

.capture-photo-code-current span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.capture-photo-code-current button,
.capture-photo-code-form button {
    min-height: 38px;
    padding-inline: 12px;
}

.capture-photo-code-form input {
    min-width: 0;
    width: 100%;
    min-height: 38px;
    padding: 8px;
    border: 1px solid #cbd7e6;
    border-radius: 6px;
    box-sizing: border-box;
    font: inherit;
}

.capture-photo-code-form.saving {
    opacity: 0.65;
    pointer-events: none;
}

.capture-photo-code-editor .capture-modal-status:empty {
    display: none;
}

.capture-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.capture-modal-panel header button,
.capture-modal-panel footer button {
    width: auto;
    min-height: 36px;
}

.capture-summary-panel {
    gap: 14px;
}

.capture-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.capture-summary-item {
    display: grid;
    gap: 3px;
    padding: 10px;
    border: 1px solid #dbe5f0;
    border-radius: 8px;
    background: #f8fbff;
}

.capture-summary-item strong {
    color: #172033;
    font-size: 22px;
}

.capture-summary-value {
    display: flex;
    align-items: baseline;
    min-width: 0;
    gap: 7px;
}

.capture-summary-amount {
    overflow: hidden;
    color: #65758a;
    font-size: 12px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.capture-summary-amount.incomplete {
    color: #9a6500;
    cursor: help;
    text-decoration: underline dotted;
    text-underline-offset: 2px;
}

.capture-summary-item span {
    color: #516174;
    font-size: 13px;
}

.capture-field {
    display: grid;
    gap: 5px;
    color: #46566a;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.capture-field textarea {
    width: 100%;
    min-height: 84px;
    resize: vertical;
    border: 1px solid #cbd7e6;
    border-radius: 6px;
    padding: 8px;
    box-sizing: border-box;
    font: inherit;
}

.capture-comment-presets {
    display: flex;
    gap: 6px;
    margin-top: -6px;
    padding: 0 0 2px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.capture-comment-preset {
    flex: 0 0 auto;
    min-height: 28px;
    width: auto;
    padding: 4px 9px;
    border: 1px solid #cbd7e6;
    border-radius: 999px;
    background: #f8fbff;
    color: #244d74;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.capture-comment-preset:hover {
    background: #edf6ff;
}

.capture-selected-files {
    display: grid;
    gap: 5px;
    color: #516174;
    font-size: 13px;
}

.capture-selected-files strong {
    color: #172033;
}

.capture-modal-status {
    min-height: 18px;
    color: #667180;
    font-size: 13px;
}

.capture-modal-status.error {
    color: #b02020;
    font-weight: 700;
}

.capture-modal-status.saving {
    color: #1269b0;
    font-weight: 700;
}

.capture-upload-progress[hidden] {
    display: none;
}

.capture-upload-progress {
    display: grid;
    gap: 6px;
}

.capture-upload-progress-track {
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: #dce7f3;
}

.capture-upload-progress-track span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: #2f7fc8;
    transition: width 0.16s ease;
}

.capture-upload-progress-text {
    color: #516174;
    font-size: 12px;
    font-weight: 700;
}

.capture-card-upload-progress[hidden] {
    display: none;
}

.capture-card-upload-progress {
    display: grid;
    gap: 6px;
    margin-top: 8px;
}

.capture-card-upload-progress-track {
    height: 7px;
    overflow: hidden;
    border-radius: 999px;
    background: #dce7f3;
}

.capture-card-upload-progress-track span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: #2f7fc8;
    transition: width 0.16s ease;
}

.capture-card-upload-progress-text {
    color: #516174;
    font-size: 12px;
    font-weight: 700;
}

.compact-table tbody tr.row-status-done {
    background: #ecf9f0;
    box-shadow: inset 3px 0 0 #58b677;
}

.compact-table tbody tr.row-status-partial {
    background: #fff4d6;
    box-shadow: inset 3px 0 0 #d4a72c;
}

.compact-table tbody tr.row-status-duplicate {
    background: #fff8db;
    box-shadow: inset 3px 0 0 #d9b236;
}

.compact-table tbody tr.row-status-empty-data {
    background: #f1f5f9;
    box-shadow: inset 3px 0 0 #94a3b8;
}

.compact-table tbody tr.row-status-warning {
    background: #fff3e8;
    box-shadow: inset 3px 0 0 #f28b36;
}

.compact-table tbody tr.row-status-failed {
    background: #ffe9e9;
    box-shadow: inset 3px 0 0 #dc6262;
}

.compact-table tbody tr.row-status-created,
.compact-table tbody tr.row-status-new,
.compact-table tbody tr.row-status-processing {
    background: #eaf4ff;
    box-shadow: inset 3px 0 0 #68a4d9;
}

.compact-table tbody tr.row-status-receiving {
    background: #fff4d6;
    box-shadow: inset 3px 0 0 #d4a72c;
}

.compact-table tbody tr.row-status-received,
.compact-table tbody tr.row-status-inprocessing,
.compact-table tbody tr.row-status-processed,
.compact-table tbody tr.row-status-assembly,
.compact-table tbody tr.row-status-assembled,
.compact-table tbody tr.row-status-shipped {
    background: #e8f6ff;
    box-shadow: inset 3px 0 0 #68a4d9;
}

.compact-table tbody tr.row-status-customerreceived {
    background: #ecf9f0;
    box-shadow: inset 3px 0 0 #58b677;
}

.compact-table tbody tr.row-status-complete {
    background: #edf0f4;
    box-shadow: inset 3px 0 0 #9aa6b2;
}

.compact-table tbody tr.row-status-done:hover {
    background: #e2f4e8;
}

.compact-table tbody tr.row-status-partial:hover,
.compact-table tbody tr.row-status-receiving:hover {
    background: #ffedbf;
}

.compact-table tbody tr.row-status-duplicate:hover {
    background: #fff0b8;
}

.compact-table tbody tr.row-status-empty-data:hover {
    background: #e2e8f0;
}

.compact-table tbody tr.row-status-warning:hover {
    background: #ffe7d1;
}

.compact-table tbody tr.row-status-failed:hover {
    background: #ffdcdc;
}

.compact-table tbody tr.row-status-created:hover,
.compact-table tbody tr.row-status-new:hover,
.compact-table tbody tr.row-status-processing:hover {
    background: #dfeeff;
}

.compact-table tbody tr.row-status-received:hover,
.compact-table tbody tr.row-status-inprocessing:hover,
.compact-table tbody tr.row-status-processed:hover,
.compact-table tbody tr.row-status-assembly:hover,
.compact-table tbody tr.row-status-assembled:hover,
.compact-table tbody tr.row-status-shipped:hover {
    background: #ddf0fc;
}

.compact-table tbody tr.row-status-customerreceived:hover {
    background: #e2f4e8;
}

.compact-table tbody tr.row-status-complete:hover {
    background: #e3e8ef;
}

.compact-table tbody tr.finance-direction-in {
    background: #f4fbf7;
}

.compact-table tbody tr.finance-direction-out {
    background: #fff8f3;
}

.compact-table tbody tr.finance-direction-in:hover {
    background: #eaf7ef;
}

.compact-table tbody tr.finance-direction-out:hover {
    background: #fff0e5;
}

.finance-operations-table td {
    vertical-align: top;
}

.finance-operations-table td strong,
.finance-operations-table td small {
    display: block;
}

.finance-operations-table td small {
    margin-top: 2px;
    color: #697382;
    font-size: 11px;
}

.finance-operation-purpose {
    min-width: 280px;
    max-width: 520px;
    white-space: normal;
    overflow-wrap: anywhere;
}

.finance-amount {
    font-weight: 800;
    white-space: nowrap;
}

.finance-amount.amount-in {
    color: #167544;
}

.finance-amount.amount-out {
    color: #9a4a12;
}

.finance-operation-edit {
    display: grid;
    grid-template-columns: minmax(170px, 1fr) minmax(140px, 0.8fr) 72px 82px;
    gap: 6px;
    align-items: end;
    min-width: 520px;
}

.finance-operation-edit label {
    min-width: 0;
}

.finance-operation-edit label > span {
    display: block;
    margin-bottom: 3px;
    color: #586171;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.finance-operation-edit select {
    width: 100%;
    min-height: 30px;
}

.finance-inline-checkbox {
    display: flex;
    align-items: center;
    gap: 5px;
    min-height: 30px;
}

.finance-inline-checkbox input {
    width: 14px;
    height: 14px;
}

.finance-checkbox-filter {
    min-height: 32px;
    align-items: center;
}

.accept-acts-table tbody tr.row-status-new {
    background: #fff0f6;
    box-shadow: inset 3px 0 0 #e879b4;
}

.accept-acts-table tbody tr.row-status-receiving {
    background: #fff4d6;
    box-shadow: inset 3px 0 0 #d4a72c;
}

.accept-acts-table tbody tr.row-status-received {
    background: #ecf9f0;
    box-shadow: inset 3px 0 0 #58b677;
}

.accept-acts-table tbody tr.row-status-inprocessing {
    background: #f0f7ff;
    box-shadow: inset 3px 0 0 #5b9bd5;
}

.accept-acts-table tbody tr.row-status-processed {
    background: #eaf4ff;
    box-shadow: inset 3px 0 0 #68a4d9;
}

.accept-acts-table tbody tr.row-status-assembly {
    background: #fff7df;
    box-shadow: inset 3px 0 0 #d6a434;
}

.accept-acts-table tbody tr.row-status-assembled {
    background: #f0fbf3;
    box-shadow: inset 3px 0 0 #58b677;
}

.accept-acts-table tbody tr.row-status-shipped {
    background: #f3ecff;
    box-shadow: inset 3px 0 0 #8b5cf6;
}

.accept-acts-table tbody tr.row-status-customerreceived {
    background: #e9f9f4;
    box-shadow: inset 3px 0 0 #2aa876;
}

.accept-acts-table tbody tr.row-status-complete {
    background: #edf0f4;
    box-shadow: inset 3px 0 0 #9aa6b2;
}

.accept-acts-table tbody tr.row-status-ignored {
    background: #f3f4f6;
    box-shadow: inset 3px 0 0 #6b7280;
    color: #6b7280;
}

.accept-acts-table tbody tr.row-status-new:hover {
    background: #ffe3ef;
}

.accept-acts-table tbody tr.row-status-receiving:hover {
    background: #ffedbf;
}

.accept-acts-table tbody tr.row-status-received:hover {
    background: #e2f4e8;
}

.accept-acts-table tbody tr.row-status-inprocessing:hover {
    background: #e3f0ff;
}

.accept-acts-table tbody tr.row-status-processed:hover {
    background: #dfeeff;
}

.accept-acts-table tbody tr.row-status-assembly:hover {
    background: #ffefc5;
}

.accept-acts-table tbody tr.row-status-assembled:hover {
    background: #e2f4e8;
}

.accept-acts-table tbody tr.row-status-shipped:hover {
    background: #eadcff;
}

.accept-acts-table tbody tr.row-status-customerreceived:hover {
    background: #d9f3ea;
}

.accept-acts-table tbody tr.row-status-complete:hover {
    background: #e3e8ef;
}

.accept-acts-table tbody tr.row-status-ignored:hover {
    background: #e5e7eb;
}

.accept-acts-page .section-title {
    align-items: flex-start;
    gap: 16px;
}

.accept-acts-page .section-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-items: end;
    gap: 9px;
    max-width: min(100%, 1320px);
}

.accept-acts-page .table-status-stats {
    justify-content: flex-end;
    gap: 5px 10px;
}

.accept-acts-page .table-status-filter {
    padding: 2px 5px;
}

.accept-acts-batch-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.accept-acts-batch-actions button {
    width: auto;
    min-width: 0;
}

.accept-acts-actions-dialog {
    width: min(420px, calc(100vw - 32px));
    padding: 0;
    border: 1px solid #d7dee8;
    border-radius: 8px;
    box-shadow: 0 18px 46px rgba(15, 23, 42, 0.25);
}

.accept-acts-actions-dialog::backdrop {
    background: rgba(15, 23, 42, 0.28);
}

.accept-acts-actions-dialog header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-bottom: 1px solid #e4e8ee;
}

.accept-acts-actions-dialog h3 {
    margin: 0;
    font-size: 16px;
}

.accept-acts-actions-dialog-body {
    display: grid;
    gap: 8px;
    padding: 14px;
}

.accept-acts-actions-dialog-body button {
    width: 100%;
}

.accept-acts-table .accept-act-row {
    cursor: pointer;
}

.compact-table tbody tr.accept-act-row.selected {
    outline: 2px solid rgba(29, 79, 131, 0.28);
    outline-offset: -2px;
}

.compact-table tbody tr.row-processing-new {
    background: #fffdf8;
    box-shadow: inset 3px 0 0 #d6b157;
}

.compact-table tbody tr.row-processing-received {
    background: #eef7ff;
    box-shadow: inset 3px 0 0 #68a4d9;
}

.compact-table tbody tr.row-processing-processed {
    background: #ecf9f0;
    box-shadow: inset 3px 0 0 #58b677;
}

.compact-table tbody tr.row-processing-shipped {
    background: #edf0f4;
    box-shadow: inset 3px 0 0 #9aa6b2;
}

.compact-table tbody tr.row-processing-customer-received {
    background: #ecf9f0;
    box-shadow: inset 3px 0 0 #58b677;
}

.compact-table tbody tr.row-processing-new:hover {
    background: #fff6df;
}

.compact-table tbody tr.row-processing-received:hover {
    background: #e1f1ff;
}

.compact-table tbody tr.row-processing-processed:hover {
    background: #e2f4e8;
}

.compact-table tbody tr.row-processing-shipped:hover {
    background: #e3e8ef;
}

.compact-table tbody tr.row-processing-customer-received:hover {
    background: #e2f4e8;
}

.step-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    margin-right: 2px;
    border: 1px solid #cbd5df;
    border-radius: 50%;
    background: #fff;
    color: #7a8491;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
}

.step-badge.active {
    border-color: #3f8f5a;
    background: #3f8f5a;
    color: #fff;
}

.accept-act-items-table {
    table-layout: fixed;
}

.label-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 60;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(15, 23, 42, 0.38);
}

.label-modal-overlay[hidden] {
    display: none;
}

.label-modal-panel {
    width: min(720px, 96vw);
    max-height: 88vh;
    overflow: auto;
    border: 1px solid #ccd6e2;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.28);
}

.label-modal-panel form {
    display: grid;
    gap: 10px;
    padding: 14px;
}

.label-modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.label-modal-header h2 {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 18px;
    font-size: 18px;
}

.label-modal-header h2 span {
    color: #697382;
    font-weight: 700;
}

.label-modal-toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
}

.label-modal-toolbar label {
    width: 160px;
}

.label-modal-toolbar .label-threshold-input {
    text-align: right;
}

.label-modal-note {
    color: #697382;
    font-size: 12px;
    font-weight: 700;
}

.label-modal-table {
    table-layout: fixed;
}

.label-modal-table th:nth-child(1),
.label-modal-table td:nth-child(1) {
    width: auto;
}

.label-modal-table th:nth-child(2),
.label-modal-table th:nth-child(3),
.label-modal-table td:nth-child(2),
.label-modal-table td:nth-child(3) {
    width: 90px;
}

.label-modal-table th:nth-child(4),
.label-modal-table td:nth-child(4) {
    width: 110px;
}

.label-modal-table input[type="number"] {
    min-height: 28px;
    text-align: right;
}

.label-modal-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.label-modal-actions button,
.label-modal-actions .button {
    width: auto;
    min-width: 86px;
    padding: 6px 14px;
}

.label-modal-print-state {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    min-height: 28px;
    border-radius: 5px;
    color: #697382;
    font-size: 11px;
    font-weight: 800;
}

.label-modal-print-state.saving {
    background: #eef3f8;
}

.label-modal-print-state.saved {
    background: #dff4e6;
    color: #176a31;
}

.label-modal-print-state.failed {
    background: #ffe3e3;
    color: #9d2020;
}

.scanner-page {
    min-width: 1120px;
}

.page-header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}

.page-header-actions .button {
    width: auto;
    min-width: 92px;
    padding: 6px 10px;
}

.scanner-toolbar {
    display: grid;
    grid-template-columns: 360px 116px 92px minmax(202px, 1fr) 120px 190px;
    grid-template-areas:
        "accounts lock condition current current current"
        "mode code code code state sound";
    gap: 10px;
    align-items: end;
    margin-bottom: 10px;
    padding: 10px;
    border: 1px solid #dde2e8;
    border-radius: 8px;
    background: #fff;
}

.scanner-account-filter {
    grid-area: accounts;
}

.scanner-account-filter .multi-filter {
    width: 100%;
}

.scanner-account-filter .multi-filter summary {
    min-height: 46px;
}

.scanner-account-filter .multi-filter-menu {
    max-height: 360px;
    overflow: auto;
}

.scanner-mode-tabs {
    grid-area: mode;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
    padding: 4px;
    border: 1px solid #d7dde5;
    border-radius: 8px;
    background: #f6f8fa;
}

.scanner-mode {
    min-height: 38px;
    border: 1px solid transparent;
    background: transparent;
    color: #425164;
}

.scanner-mode:hover {
    background: #eef3f8;
}

.scanner-mode.active {
    border-color: #9fc3e3;
    background: #1167b1;
    color: #fff;
}

.scanner-code-field {
    grid-area: code;
}

.scanner-code-field input {
    height: 46px;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0;
}

.scanner-state {
    grid-area: state;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    border: 1px solid #d7dde5;
    border-radius: 8px;
    background: #f8fafc;
    color: #53606f;
    font-weight: 700;
}

.scanner-lock-act {
    grid-area: lock;
}

.scanner-condition-toggle {
    grid-area: condition;
}

.scanner-lock-act,
.scanner-condition-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    align-self: end;
    min-height: 46px;
    padding: 9px 11px;
    border: 1px solid #d7dde5;
    border-radius: 8px;
    background: #fff;
    color: #344256;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
}

.scanner-condition-toggle.active,
.scanner-lock-act.active {
    border-color: #1b66b1;
    background: #e7f1ff;
    color: #074a8f;
}

.scanner-current-act {
    grid-area: current;
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: end;
    min-height: 46px;
    min-width: 150px;
    padding: 9px 11px;
    border-radius: 8px;
    background: #f7f9fc;
    color: #344256;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
}

.scanner-sound-button {
    grid-area: sound;
    min-height: 46px;
}

.scanner-sound-button.active {
    border-color: #8fc6a2;
    background: #e7f6ec;
    color: #176b39;
}

.scanner-layout {
    display: grid;
    grid-template-columns: 360px minmax(420px, 1fr) 320px;
    gap: 10px;
    align-items: start;
}

.scanner-acts-panel,
.scanner-result-panel,
.scanner-history-panel {
    min-height: 620px;
    border: 1px solid #dde2e8;
    border-radius: 8px;
    background: #fff;
}

.scanner-acts-panel,
.scanner-history-panel {
    overflow: hidden;
}

.scanner-result-panel {
    padding: 10px;
}

.scanner-panel-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px;
    border-bottom: 1px solid #e5e9ef;
}

.scanner-panel-title h2 {
    font-size: 15px;
}

.scanner-panel-title .button {
    width: auto;
    min-width: 72px;
    min-height: 28px;
    padding: 4px 8px;
}

.scanner-acts-summary {
    padding: 8px 10px;
    border-bottom: 1px solid #edf0f4;
    color: #5d6876;
    font-weight: 700;
}

.scanner-acts-list,
.scanner-history-list {
    max-height: 560px;
    overflow: auto;
    scrollbar-gutter: stable;
}

.scanner-acts-list {
    padding-right: 14px;
}

.scanner-act-option {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) 82px;
    gap: 7px;
    align-items: center;
    padding: 8px 8px 8px 10px;
    border-bottom: 1px solid #edf0f4;
    cursor: pointer;
}

.scanner-act-option:hover {
    background: #f7fbff;
}

.scanner-act-option.selected {
    background: #eaf4ff;
    box-shadow: inset 4px 0 0 #1167b1;
}

.scanner-act-option input {
    width: 16px;
    height: 16px;
}

.scanner-act-main {
    min-width: 0;
}

.scanner-act-main strong,
.scanner-act-main small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.scanner-act-main small {
    margin-top: 2px;
    color: #637083;
    font-size: 11px;
}

.scanner-act-count {
    color: #1f5e90;
    font-weight: 800;
    text-align: right;
    white-space: nowrap;
}

.scanner-progress {
    display: block;
    height: 6px;
    margin-top: 6px;
    overflow: hidden;
    border-radius: 999px;
    background: #e8edf3;
}

.scanner-progress i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #3f8f5a;
}

.scanner-result-status {
    margin-bottom: 10px;
    padding: 10px;
    border-radius: 8px;
    font-size: 18px;
    font-weight: 800;
}

.scanner-result-idle {
    background: #eef2f6;
    color: #53606f;
}

.scanner-result-success {
    background: #dff3e7;
    color: #176b39;
}

.scanner-result-warning {
    background: #fff1cc;
    color: #805600;
}

.scanner-result-error {
    background: #f9dadd;
    color: #8f1f2b;
}

.scanner-card {
    min-height: 320px;
    padding: 14px;
    border: 1px solid #e0e6ed;
    border-radius: 8px;
    background: #fbfcfe;
}

.scanner-card-header {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 12px;
}

.scanner-card-header > div:first-child {
    flex: 1 1 auto;
    min-width: 0;
}

.scanner-card-header span,
.scanner-card-grid span,
.scanner-empty-result span {
    display: block;
    color: #657081;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.scanner-card-header h2 {
    margin-top: 3px;
    font-size: 26px;
}

.scanner-shipment-code-line {
    display: flex;
    align-items: baseline;
    gap: 3ch;
    flex-wrap: nowrap;
}

.scanner-card-header .scanner-shipment-code-main {
    display: inline-flex;
    flex: 0 0 auto;
    justify-content: flex-start;
    width: auto;
    max-width: 100%;
    min-height: 0;
    border: 0;
    padding: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    text-align: left;
    text-transform: none;
    white-space: nowrap;
}

.scanner-card-header .scanner-shipment-code-main:hover {
    text-decoration: underline;
}

.scanner-card-header .scanner-ii-code {
    display: inline;
    width: auto;
    min-height: 0;
    margin-left: 0;
    border: 0;
    padding: 0;
    background: transparent;
    color: #0f766e;
    cursor: pointer;
    font-family: inherit;
    font-size: 22px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
    vertical-align: baseline;
    white-space: nowrap;
    text-decoration: none;
}

.scanner-card-header .scanner-ii-code.stacked {
    display: block;
    margin-top: 3px;
    font-size: 17px;
}

.scanner-shipment-location {
    display: block;
    margin-top: 4px;
    color: #687384;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.2;
    text-transform: none;
}

.scanner-candidate .scanner-ii-code {
    display: block;
    width: auto;
    min-height: 0;
    border: 0;
    padding: 0;
    background: transparent;
    margin-top: 2px;
    color: #0f766e;
    cursor: pointer;
    font-family: inherit;
    font-size: 14px;
    font-weight: 800;
    text-transform: none;
    white-space: nowrap;
    text-decoration: none;
}

.scanner-ii-code:hover {
    text-decoration: underline;
}

.scanner-label-modal,
.scanner-condition-modal {
    position: fixed;
    z-index: 10000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 20px;
}

.scanner-label-modal[hidden],
.scanner-condition-modal[hidden] {
    display: none;
}

.scanner-label-modal-backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgb(15 23 42 / 0.36);
}

.scanner-label-modal-panel {
    position: relative;
    z-index: 1;
    width: min(380px, 100%);
    padding: 18px;
    border: 1px solid #d7dde7;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 22px 50px rgb(15 23 42 / 0.24);
}

.scanner-condition-modal-panel {
    position: relative;
    z-index: 1;
    width: min(520px, 100%);
    max-height: calc(100vh - 40px);
    overflow: auto;
    padding: 18px;
    border: 1px solid #d7dde7;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 22px 50px rgb(15 23 42 / 0.24);
}

.scanner-label-modal-panel header,
.scanner-condition-modal-panel header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.scanner-label-modal-panel h2,
.scanner-condition-modal-panel h2 {
    margin: 0;
    font-size: 18px;
}

.scanner-condition-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.scanner-condition-options .button {
    min-height: 42px;
}

.scanner-condition-options .button.active {
    border-color: #176b39;
    background: #dff3e7;
    color: #176b39;
}

.scanner-condition-field {
    display: grid;
    gap: 6px;
    margin-top: 12px;
}

.scanner-condition-field > span {
    color: #657081;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.scanner-condition-field input[type="file"],
.scanner-condition-field input[type="text"],
.scanner-condition-field textarea {
    width: 100%;
}

.scanner-condition-field textarea {
    resize: vertical;
    min-height: 70px;
}

.scanner-condition-barcode-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 112px;
    gap: 8px;
}

.scanner-condition-barcodes,
.scanner-condition-photos {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-height: 28px;
}

.scanner-condition-barcode,
.scanner-condition-photo {
    width: auto;
    min-height: 28px;
    padding: 4px 8px;
    border: 1px solid #bad3ee;
    border-radius: 999px;
    background: #eef6ff;
    color: #07579c;
    font-weight: 800;
}

.scanner-condition-photo {
    border-color: #c8d3df;
    background: #f4f7fb;
    color: #334155;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.scanner-condition-barcode span,
.scanner-condition-photo span {
    margin-left: 6px;
}

.scanner-condition-status {
    min-height: 20px;
    margin-top: 10px;
    color: #805600;
    font-size: 13px;
    font-weight: 700;
}

.scanner-label-modal-code {
    display: block;
    color: #0f766e;
    font-size: 26px;
    font-weight: 800;
}

.scanner-label-modal-status {
    min-height: 20px;
    margin-top: 8px;
    color: #475569;
    font-size: 13px;
}

.scanner-label-modal-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 14px;
}

.scanner-condition-modal .scanner-label-modal-actions {
    grid-template-columns: 1fr 1fr;
}

.scanner-label-modal-tsd {
    align-items: end;
    padding: 12px;
}

.scanner-label-modal-tsd .scanner-label-modal-panel,
.scanner-condition-modal-tsd .scanner-condition-modal-panel {
    width: 100%;
}

.scanner-condition-modal-tsd {
    align-items: end;
    padding: 8px;
}

.scanner-condition-modal-tsd .scanner-condition-modal-panel {
    max-height: calc(100vh - 16px);
    padding: 12px;
}

.scanner-condition-modal-tsd .scanner-condition-options {
    grid-template-columns: 1fr;
}

.scanner-condition-modal-tsd .scanner-condition-options .button,
.scanner-condition-modal-tsd .scanner-label-modal-actions .button {
    min-height: 44px;
    font-size: 16px;
}

.scanner-label-modal-tsd .scanner-label-modal-actions {
    grid-template-columns: 1fr 1fr;
}

.printing-jobs-table .print-job-date-col {
    width: 145px;
}

.printing-jobs-table .print-job-id-col {
    width: 70px;
}

.printing-jobs-table .print-job-mode-col,
.printing-jobs-table .print-job-status-col,
.printing-jobs-table .print-job-copies-col,
.printing-jobs-table .print-job-size-col {
    width: 90px;
}

.printing-jobs-table .print-job-channel-col {
    width: 120px;
}

.printing-jobs-table .print-job-code-col {
    width: 190px;
}

.printing-jobs-table .print-job-template-col,
.printing-jobs-table .print-job-printer-col {
    width: 130px;
}

.printing-templates-table .print-template-id-col {
    width: 70px;
}

.printing-templates-table .print-template-code-col,
.printing-templates-table .print-template-kind-col,
.printing-templates-table .print-template-size-col,
.printing-templates-table .print-template-engine-col,
.printing-templates-table .print-template-state-col {
    width: 130px;
}

.printing-templates-table .print-template-actions-col {
    width: 280px;
}

.printing-templates-table .print-template-name-col {
    width: 220px;
}

.printing-templates-table .print-template-resource {
    white-space: normal;
    word-break: break-all;
}

.printing-templates-table small {
    display: block;
    color: #657081;
    font-size: 11px;
}

.print-template-actions {
    display: grid;
    grid-template-columns: 58px 88px 110px;
    gap: 6px;
}

.print-template-actions .button {
    width: 100%;
}

.print-template-active-form {
    margin: 0;
}

.print-template-active-form button {
    min-height: 28px;
    width: 100%;
    font-size: 12px;
}

.printing-sizes-table .print-size-id-col {
    width: 70px;
}

.printing-sizes-table .print-size-code-col,
.printing-sizes-table .print-size-dimension-col,
.printing-sizes-table .print-size-kind-col,
.printing-sizes-table .print-size-state-col,
.printing-printer-sizes-table .print-size-code-col,
.printing-printer-sizes-table .print-size-dimension-col,
.printing-printer-sizes-table .print-size-kind-col,
.printing-printer-sizes-table .print-size-state-col {
    width: 130px;
}

.printing-sizes-table .print-size-name-col,
.printing-printer-sizes-table .print-size-name-col {
    width: 220px;
}

.printing-printer-sizes-table .print-size-check-col {
    width: 74px;
}

.printing-printer-sizes-table .select-cell {
    text-align: center;
}

.printing-printer-sizes-table input[type="checkbox"],
.printing-printer-sizes-table input[type="radio"] {
    width: auto;
    min-height: 0;
}

.printing-form-actions {
    display: grid;
    grid-template-columns: 130px 110px;
    gap: 8px;
    align-items: center;
}

.printing-template-edit-card {
    padding: 14px;
}

.printing-template-edit-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(220px, 1fr));
    gap: 12px;
}

.printing-template-edit-form label {
    display: grid;
    gap: 5px;
}

.printing-template-edit-form textarea {
    min-height: 360px;
    resize: vertical;
    font: 12px/1.4 Consolas, "Courier New", monospace;
}

.print-template-json-source {
    display: none;
}

.print-template-json-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 5px;
}

.print-template-json-title > span {
    color: #586171;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.print-template-json-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.print-template-json-actions .button,
.print-template-json-actions button {
    width: auto;
    min-width: 86px;
    min-height: 28px;
    padding: 4px 10px;
}

.printing-template-edit-form .CodeMirror {
    height: 520px;
    border: 1px solid #ccd3dc;
    border-radius: 6px;
    font: 12px/1.45 Consolas, "Courier New", monospace;
}

.print-template-json-state {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    min-height: 28px;
    border-radius: 5px;
    color: #697382;
    font-size: 11px;
    font-weight: 800;
}

.print-template-json-state.saved {
    background: #dff4e6;
    color: #176a31;
}

.print-template-json-state.failed {
    background: #ffe3e3;
    color: #9d2020;
}

.print-template-json-error {
    min-height: 18px;
    margin-top: 5px;
    color: #9d2020;
    font-size: 12px;
    font-weight: 700;
}

.printing-template-edit-form label > span {
    color: #586171;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.printing-template-edit-form .wide-field,
.printing-template-edit-form .form-actions {
    grid-column: 1 / -1;
}

.printing-template-edit-form .checkbox-field {
    display: flex;
    align-items: center;
    gap: 8px;
}

.printing-template-edit-form .checkbox-field input {
    width: auto;
    min-height: 0;
}

.printing-template-edit-form .checkbox-field span {
    margin: 0;
}

.printing-template-edit-form .form-actions {
    display: grid;
    grid-template-columns: 150px 130px 130px;
    gap: 8px;
}

.printing-printers-table .print-printer-id-col {
    width: 70px;
}

.printing-printers-table .print-printer-test-col {
    width: 90px;
}

.printing-printers-table .print-printer-code-col,
.printing-printers-table .print-printer-size-col,
.printing-printers-table .print-printer-state-col {
    width: 130px;
}

.printing-printers-table .print-printer-name-col,
.printing-printers-table .print-printer-system-col {
    width: 180px;
}

.printing-printers-table small {
    display: block;
    color: #657081;
    font-size: 11px;
}

.printer-size-form {
    display: grid;
    grid-template-columns: minmax(90px, 1fr) 86px;
    gap: 6px;
    align-items: center;
}

.printer-size-form select,
.printer-size-form button {
    min-height: 28px;
    font-size: 12px;
}

.printer-test-form button {
    min-height: 28px;
    width: 100%;
    font-size: 12px;
}

.printing-agents-table .print-agent-id-col {
    width: 70px;
}

.printing-agents-table .print-agent-action-col {
    width: 110px;
}

.printing-agents-table .print-agent-code-col,
.printing-agents-table .print-agent-state-col,
.printing-agents-table .print-agent-ip-col,
.printing-agents-table .print-agent-version-col {
    width: 130px;
}

.printing-agents-table .print-agent-seen-col {
    width: 170px;
}

.printing-agents-table .print-agent-name-col {
    width: 220px;
}

.printing-agents-table small,
.agent-printer-list small {
    display: block;
    color: #657081;
    font-size: 11px;
}

.agent-log-form button {
    min-height: 28px;
    width: 100%;
    font-size: 12px;
}

.agent-printer-list {
    display: grid;
    gap: 4px;
}

.agent-printer-summary {
    display: inline-grid;
    grid-template-columns: auto auto auto;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.agent-printer-summary strong {
    font-size: 16px;
}

.agent-printer-summary button {
    min-height: 28px;
    padding: 0 10px;
    font-size: 12px;
}

.print-agent-modal[hidden] {
    display: none;
}

.print-agent-modal {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: grid;
    place-items: center;
    padding: 24px;
}

.print-agent-modal-backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(15, 23, 42, 0.42);
    cursor: default;
}

.print-agent-modal-panel {
    position: relative;
    z-index: 1;
    width: min(1040px, 96vw);
    max-height: min(760px, 92vh);
    overflow: auto;
    padding: 16px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.28);
}

.print-agent-edit-panel {
    width: min(720px, 94vw);
}

.print-agent-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.print-agent-modal-header h2 {
    margin: 0;
    font-size: 20px;
}

.print-agent-modal-header h2 span {
    display: block;
    margin-top: 2px;
    color: #657081;
    font-size: 13px;
}

.print-agent-modal-header button {
    min-height: 32px;
    width: auto;
    padding: 0 12px;
}

.agent-printer-modal-table th:last-child,
.agent-printer-modal-table td:last-child {
    width: 110px;
    text-align: right;
}

.agent-printer-modal-table td {
    vertical-align: middle;
}

.agent-printer-modal-table button {
    min-height: 28px;
    padding: 0 10px;
    font-size: 12px;
}

.agent-printer-edit-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.agent-printer-edit-form label {
    display: grid;
    gap: 4px;
    margin: 0;
}

.agent-printer-edit-form label span {
    color: #526173;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.agent-printer-edit-form input[type="text"],
.agent-printer-edit-form select,
.agent-printer-edit-form textarea {
    min-height: 34px;
    font-size: 13px;
}

.agent-printer-edit-form textarea,
.agent-printer-edit-form label:has(textarea),
.agent-printer-edit-form label:has(select[multiple]) {
    grid-column: 1 / -1;
}

.agent-printer-check {
    grid-template-columns: auto 1fr;
    align-items: center;
    justify-content: start;
    gap: 8px !important;
}

.agent-printer-check input {
    margin: 0;
}

.agent-printer-edit-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.agent-printer-edit-actions button {
    width: auto;
    min-height: 34px;
    padding: 0 14px;
}

.admin-logs-filter form {
    display: grid;
    grid-template-columns: minmax(180px, 280px) 120px minmax(240px, 1fr) 130px;
    gap: 10px;
    align-items: end;
}

.admin-logs-filter label {
    display: grid;
    gap: 4px;
    font-size: 12px;
    font-weight: 800;
    color: #475569;
    text-transform: uppercase;
}

.admin-logs-filter input,
.admin-logs-filter select,
.admin-logs-filter button {
    min-height: 34px;
}

.admin-log-view {
    max-height: 70vh;
    margin: 0;
    padding: 8px;
    overflow: auto;
    border: 1px solid #d9e2ec;
    border-radius: 6px;
    background: #0f172a;
    color: #e2e8f0;
    font-family: Consolas, "Liberation Mono", monospace;
    font-size: 12px;
    line-height: 1.45;
    white-space: pre-wrap;
    word-break: break-word;
}

.admin-log-line {
    display: block;
    min-height: 17px;
    padding: 1px 8px 1px 10px;
    border-left: 3px solid transparent;
    border-radius: 3px;
}

.admin-log-line-error {
    border-left-color: #ef4444;
    background: rgba(239, 68, 68, 0.18);
    color: #fecaca;
}

.admin-log-line-warn {
    border-left-color: #f59e0b;
    background: rgba(245, 158, 11, 0.18);
    color: #fde68a;
}

.admin-log-line-cause {
    border-left-color: #fb7185;
    background: rgba(251, 113, 133, 0.12);
    color: #fecdd3;
}

.admin-log-line-info {
    border-left-color: rgba(96, 165, 250, 0.45);
}

.admin-log-line-debug {
    color: #94a3b8;
}

.admin-log-line-match {
    box-shadow: inset 0 0 0 1px rgba(56, 189, 248, 0.38);
}

.print-agent-create-section {
    margin-bottom: 12px;
}

.print-agent-create-form {
    display: grid;
    grid-template-columns: minmax(150px, 220px) minmax(180px, 280px) minmax(220px, 1fr) 150px;
    gap: 10px;
    align-items: end;
}

.print-agent-create-form label {
    display: grid;
    gap: 4px;
    font-size: 12px;
    font-weight: 800;
    color: #475569;
    text-transform: uppercase;
}

.print-agent-create-form input,
.print-agent-create-form button {
    min-height: 34px;
}

.print-agent-token-notice code {
    display: inline-block;
    margin-left: 6px;
    padding: 2px 6px;
    border-radius: 4px;
    background: #f8fafc;
    color: #0f172a;
    font-family: Consolas, "Liberation Mono", monospace;
    font-weight: 800;
}

.print-routing-section {
    margin-bottom: 12px;
}

.print-routing-form {
    display: grid;
    grid-template-columns: minmax(220px, 280px) 120px;
    gap: 10px;
    align-items: end;
}

.print-routing-form label {
    display: grid;
    gap: 4px;
    font-size: 12px;
    font-weight: 800;
    color: #475569;
    text-transform: uppercase;
}

.print-routing-form select,
.print-routing-form button {
    min-height: 34px;
}

.printing-jobs-table small {
    display: block;
    color: #657081;
    font-size: 11px;
}

.printing-jobs-table .mono-cell {
    font-family: Consolas, "Liberation Mono", monospace;
    font-weight: 700;
}

.printing-jobs-table .mono-cell small {
    font-family: var(--font-sans);
    font-weight: 700;
    white-space: normal;
}

.printing-jobs-table tr.print-job-highlight td {
    background: #fff7d6;
}

.printing-jobs-table .print-job-message {
    max-width: 420px;
    white-space: normal;
}

.print-job-artifact-link {
    display: inline-block;
    margin-left: 8px;
    font-weight: 800;
}

.status-badge {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 999px;
    background: #edf2f7;
    color: #475569;
    font-size: 12px;
    font-weight: 800;
}

.status-done {
    background: #dff3e7;
    color: #176b39;
}

.status-failed {
    background: #f9dadd;
    color: #8f1f2b;
}

.status-processing {
    background: #fff1cc;
    color: #805600;
}

.special-group-packages-table .special-group-date-col {
    width: 150px;
}

.special-group-packages-table .special-group-status-col,
.special-group-packages-table .special-group-count-col,
.special-group-packages-table .special-group-files-col {
    width: 110px;
}

.special-group-packages-table .special-group-chat-col,
.special-group-packages-table .special-group-author-col {
    width: 130px;
}

.special-group-packages-table .special-group-code-col {
    width: 190px;
}

.special-group-packages-table .special-group-message-col {
    min-width: 360px;
}

.special-group-packages-table small,
.special-group-events-table small {
    display: block;
    margin-top: 3px;
    color: #64748b;
    font-size: 12px;
    line-height: 1.25;
}

.special-group-message {
    max-width: 520px;
    white-space: normal;
    overflow-wrap: anywhere;
}

.compact-table tbody tr.special-group-status-processed td {
    background: #eefdf3;
}

.compact-table tbody tr.special-group-status-failed td {
    background: #fff1f2;
}

.compact-table tbody tr.special-group-status-processing td,
.compact-table tbody tr.special-group-status-collecting td,
.compact-table tbody tr.special-group-status-waiting_media td {
    background: #f8fafc;
}

.compact-table tbody tr.special-group-status-waiting_media_timeout td {
    background: #fff7ed;
}

.special-group-items-row td {
    background: #f8fafc;
    padding: 6px 10px 10px;
}

.special-group-items-details summary {
    cursor: pointer;
    color: #0f4c81;
    font-weight: 800;
}

.special-group-items-table {
    margin-top: 8px;
    min-width: 980px;
}

.special-group-items-table th,
.special-group-items-table td {
    font-size: 12px;
    vertical-align: top;
}

.special-group-reactions {
    margin-top: 10px;
    border-top: 1px solid #dbe3ee;
    padding-top: 8px;
}

.special-group-reactions h3 {
    margin: 0 0 6px;
    color: #334155;
    font-size: 13px;
}

.special-group-reactions-table {
    min-width: 780px;
}

.scanner-card-price {
    flex: 0 0 auto;
    color: #1e2937;
    font-size: 36px;
    font-weight: 800;
    white-space: nowrap;
}

.scanner-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 12px;
}

.scanner-card-grid div {
    min-width: 0;
    padding: 9px;
    border: 1px solid #e3e8ef;
    border-radius: 8px;
    background: #fff;
}

.scanner-card-grid div.scanner-row-card.scheme-fbs {
    border-color: #b9dfc9;
    background: #e9f7ee;
}

.scanner-card-grid div.scanner-row-card.scheme-fbo {
    border-color: #f0b36a;
    background: #ffe0b3;
}

.scanner-card-grid strong {
    display: block;
    overflow: hidden;
    margin-top: 3px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.scanner-card-grid .scanner-row-card strong {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
}

.scanner-card-grid .scanner-act-card strong {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
}

.scanner-card-grid .scanner-act-card strong small {
    display: block;
    margin-top: 2px;
    color: #6b7280;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.1;
}

.scanner-card-grid .scanner-row-card strong small {
    display: block;
    margin-top: 2px;
    color: #4e5968;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.1;
}

.scanner-product {
    margin-bottom: 12px;
    padding: 12px;
    border-radius: 8px;
    background: #fff;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.25;
}

.scanner-product-meta {
    display: block;
    margin-top: 5px;
    color: #657184;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
}

.scanner-box-content {
    display: grid;
    gap: 6px;
    font-size: 16px;
    font-weight: 700;
}

.scanner-box-content span {
    color: #687386;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.1;
    text-transform: uppercase;
}

.scanner-box-content div {
    padding-top: 6px;
    border-top: 1px solid #e1e7ef;
    overflow-wrap: anywhere;
}

.scanner-flags {
    display: flex;
    gap: 6px;
    margin-bottom: 12px;
}

.scanner-flags span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 30px;
    border: 1px solid #cfd7e2;
    border-radius: 8px;
    background: #fff;
    color: #7a8491;
    font-weight: 800;
}

.scanner-flags span.active {
    border-color: #3f8f5a;
    background: #3f8f5a;
    color: #fff;
}

.scanner-shipment-info {
    overflow: auto;
    max-height: 180px;
    margin: 0;
    padding: 10px;
    border: 1px solid #e1e7ef;
    border-radius: 8px;
    background: #fff;
    color: #2d3642;
    font: inherit;
    white-space: pre-wrap;
}

.scanner-shipment-details {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
    margin-bottom: 12px;
    font-size: 12px;
}

.scanner-shipment-details div {
    min-width: 0;
    padding: 8px;
    border: 1px solid #e3e8ef;
    border-radius: 8px;
    background: #fff;
}

.scanner-shipment-details div.wide {
    grid-column: span 4;
}

.scanner-shipment-details span {
    display: block;
    margin-bottom: 3px;
    color: #657081;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.scanner-shipment-details strong {
    display: block;
    overflow-wrap: anywhere;
    font-weight: 700;
    line-height: 1.25;
}

.scanner-shipment-details .scanner-return-status strong small {
    display: block;
    margin-top: 2px;
    color: #6b7280;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.15;
}

.scanner-route {
    margin-bottom: 12px;
    padding: 8px;
    border: 1px solid #e3e8ef;
    border-radius: 8px;
    background: #fff;
}

.scanner-route.route-long {
    border-color: #b9dfc9;
    background: #e9f7ee;
}

.scanner-route.route-short {
    border-color: #f0b36a;
    background: #ffe0b3;
}

.scanner-route-title {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 6px;
}

.scanner-route-title span {
    color: #657081;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.scanner-route-title strong {
    color: #3f4a59;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.scanner-route table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

.scanner-route th,
.scanner-route td {
    padding: 5px 6px;
    border-top: 1px solid #edf1f6;
    text-align: left;
    vertical-align: top;
}

.scanner-route th {
    color: #657081;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.scanner-route td:first-child {
    width: 120px;
    white-space: nowrap;
}

.scanner-route td:last-child {
    overflow-wrap: anywhere;
    font-weight: 700;
}

.scanner-condition-actions {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    margin-top: 12px;
}

.scanner-condition-actions .button {
    min-height: 44px;
}

.scanner-condition-actions .danger {
    border-color: #b4454f;
    background: #b4454f;
    color: #fff;
}

.scanner-condition-edit {
    display: flex;
    justify-content: flex-end;
    margin-top: 10px;
}

.scanner-materials-summary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    margin: 8px 0 10px;
    padding: 6px 10px;
    border: 1px solid #bad3ee;
    border-radius: 999px;
    background: #eef6ff;
    color: #07579c;
}

.scanner-materials-summary span {
    color: #4f6881;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.scanner-materials-summary strong {
    font-size: 13px;
}

.scanner-reference-list {
    display: grid;
    gap: 8px;
}

.scanner-reference-card {
    display: grid;
    gap: 4px;
    border: 1px solid #e1ba60;
    border-radius: 6px;
    background: #fff9e8;
    padding: 10px;
}

.scanner-reference-card > span,
.scanner-reference-card > small {
    color: #667180;
    font-size: 11px;
}

.scanner-reference-card > strong {
    color: #172033;
    font-size: 18px;
    overflow-wrap: anywhere;
}

.scanner-reference-card > em {
    color: #805b00;
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
}

.accept-act-condition-cell {
    vertical-align: top;
}

.accept-act-condition-cell > span {
    display: block;
}

.item-materials-badge {
    display: inline-flex;
    width: auto;
    min-height: 0;
    margin-top: 4px;
    padding: 3px 7px;
    border: 1px solid #bad3ee;
    border-radius: 999px;
    background: #eef6ff;
    color: #07579c;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.25;
    text-align: left;
    white-space: normal;
}

.item-materials-badge:hover {
    border-color: #7fb2de;
    background: #dcefff;
}

.item-materials-modal {
    position: fixed;
    z-index: 10000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 8px;
}

.item-materials-modal[hidden] {
    display: none;
}

.item-materials-backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgb(15 23 42 / 0.36);
}

.item-materials-panel {
    position: relative;
    z-index: 1;
    width: min(1120px, 94vw);
    height: calc(100vh - 16px);
    max-height: calc(100vh - 16px);
    overflow: auto;
    padding: 18px;
    border: 1px solid #d7dde7;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 22px 50px rgb(15 23 42 / 0.24);
}

.item-materials-panel header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.item-materials-panel h2 {
    margin: 0;
    font-size: 18px;
}

.item-materials-status {
    min-height: 20px;
    margin-bottom: 10px;
    color: #475569;
    font-size: 13px;
    font-weight: 700;
}

.item-materials-list {
    display: grid;
    gap: 10px;
}

.item-card-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 10px;
}

.item-card-summary div,
.item-card-form,
.item-history-row,
.item-card-empty {
    border: 1px solid #dde5ee;
    border-radius: 8px;
    background: #fbfcfe;
}

.item-card-summary div {
    padding: 8px 10px;
}

.item-card-summary .wide {
    grid-column: 1 / -1;
}

.item-card-summary span,
.item-card-summary strong,
.item-history-row strong,
.item-history-row small {
    display: block;
}

.item-card-summary span {
    margin-bottom: 3px;
    color: #536174;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.item-card-summary strong {
    font-size: 14px;
}

.item-card-actions {
    display: flex;
    justify-content: flex-end;
    margin: 8px 0 10px;
}

.item-card-actions .button {
    width: auto;
}

.item-card-dialog {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: grid;
    place-items: center;
    padding: 16px 22px;
}

.item-card-dialog[hidden] {
    display: none;
}

.item-card-dialog-backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(15, 23, 42, 0.34);
}

.item-card-dialog-panel {
    position: relative;
    z-index: 1;
    width: min(980px, 100%);
    height: calc(100% - 32px);
    max-height: calc(100vh - 48px);
    overflow: auto;
    padding: 16px;
    border: 1px solid #cfd9e6;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.22);
    display: flex;
    flex-direction: column;
}

.item-card-dialog-panel header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

.item-card-dialog-panel h3 {
    margin: 0;
    font-size: 16px;
}

.item-card-dialog-panel .item-card-form {
    flex: 1;
    min-height: 0;
    margin-bottom: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.item-card-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto auto minmax(120px, 1fr) minmax(120px, 1fr) auto auto;
    gap: 10px;
    margin-bottom: 12px;
    padding: 12px;
}

.item-card-form[hidden] {
    display: none;
}

.item-card-form h3,
.item-card-form .wide,
.item-card-form-actions {
    grid-column: 1 / -1;
}

.item-card-form h3,
.item-card-section-title {
    margin: 0;
    font-size: 15px;
}

.item-card-section-title {
    margin: 12px 0 8px;
}

.item-card-form label,
.item-card-form label span {
    display: block;
}

.item-card-form label span {
    margin-bottom: 4px;
    color: #536174;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.item-card-form input,
.item-card-form select,
.item-card-form textarea {
    width: 100%;
}

.item-card-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    align-self: end;
}

.item-card-dialog-panel .item-card-form textarea {
    min-height: 120px;
}

.item-card-form-actions .button {
    width: auto;
}

.item-card-form-actions .danger {
    border-color: #fecaca;
    background: #fff5f5;
    color: #b91c1c;
}

.item-material-card.compact {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    padding: 7px 9px;
}

.item-material-card.compact small {
    grid-column: 1;
}

.item-material-row {
    display: grid;
    grid-template-columns: 72px minmax(180px, 1fr) minmax(120px, 180px) minmax(150px, 220px) auto;
    gap: 10px;
    align-items: center;
    min-height: 34px;
    padding: 6px 8px;
    border-bottom: 1px solid #e3eaf2;
}

.item-material-row:last-child {
    border-bottom: 0;
}

.item-material-type {
    color: #334155;
    font-size: 13px;
    font-weight: 800;
}

.item-material-main {
    min-width: 0;
}

.item-material-main a,
.item-material-main strong {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    color: #075ca8;
    font-weight: 800;
    text-overflow: ellipsis;
    vertical-align: bottom;
    white-space: nowrap;
}

.item-material-main strong {
    color: #0f172a;
}

.item-material-label {
    margin-right: 6px;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.item-material-condition {
    min-width: 0;
    overflow: hidden;
    color: #334155;
    font-size: 13px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.item-material-meta {
    min-width: 0;
    overflow: hidden;
    color: #667486;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.item-fixation-group {
    border: 1px solid #dbe5ef;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
}

.item-fixation-group > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 10px;
    border-bottom: 1px solid #e3eaf2;
    background: #f7fafd;
}

.item-fixation-group > header strong {
    display: block;
    color: #0f172a;
    font-size: 14px;
}

.item-fixation-group > header small {
    display: block;
    margin-top: 3px;
    color: #667486;
    font-size: 12px;
}

.item-fixation-group > header span {
    flex: 0 0 auto;
    color: #475569;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.item-fixation-group > p {
    margin: 0;
    padding: 8px 10px;
    border-bottom: 1px solid #e3eaf2;
    color: #1e293b;
    white-space: pre-wrap;
}

.item-fixation-materials {
    display: grid;
}

.inline-dots {
    width: auto;
    min-width: 0;
    padding: 0 4px;
    border: 0;
    background: transparent;
    color: #526176;
    font-size: 18px;
    font-weight: 900;
    line-height: 1;
}

.inline-dots:hover {
    color: #126ab3;
}

.item-history-list {
    display: grid;
    gap: 8px;
}

.item-history-row,
.item-card-empty {
    padding: 8px 10px;
}

.item-history-row small {
    margin-top: 3px;
    color: #667486;
}

.item-history-row p {
    margin: 6px 0 0;
    white-space: pre-wrap;
}

.item-material-card {
    display: grid;
    grid-template-columns: minmax(160px, 320px) minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 10px;
    border: 1px solid #dde5ee;
    border-radius: 8px;
    background: #fbfcfe;
}

.item-material-card img {
    display: block;
    width: 100%;
    max-height: 360px;
    object-fit: contain;
    border-radius: 6px;
    background: #eef2f6;
}

.item-material-card strong,
.item-material-card small {
    display: block;
}

.item-material-card small {
    margin-top: 4px;
    color: #667486;
}

.item-material-card.barcode {
    grid-template-columns: minmax(0, 1fr);
}

.item-material-card.barcode span {
    display: block;
    color: #657081;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.scanner-empty-result,
.scanner-empty-list {
    display: grid;
    gap: 6px;
    place-items: center;
    min-height: 160px;
    color: #687384;
    font-weight: 700;
    text-align: center;
}

.scanner-candidates {
    margin-top: 10px;
    padding: 10px;
    border: 1px solid #f0d28e;
    border-radius: 8px;
    background: #fff8e7;
}

.scanner-candidates h2 {
    margin-bottom: 8px;
    font-size: 14px;
}

.scanner-candidate {
    display: grid;
    gap: 2px;
    width: 100%;
    min-height: 0;
    padding: 7px 9px;
    border: 1px solid transparent;
    border-top-color: #f0dfb7;
    border-radius: 6px;
    background: transparent;
    color: #20242a;
    font-weight: 400;
    text-align: left;
}

.scanner-candidate-pending {
    border-color: #f0dfb7;
    background: #fff8e7;
}

.scanner-candidate-done {
    border-color: #b9dfc9;
    background: #e9f7ee;
}

.scanner-candidate:hover {
    background: rgba(17, 103, 177, 0.08);
}

.scanner-candidate:first-child {
    border-top-color: transparent;
}

.scanner-candidate span,
.scanner-candidate small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.scanner-candidate small {
    color: #667180;
}

.scanner-candidate-ii {
    color: #08756c;
    font-weight: 800;
}

.scanner-history-item {
    display: grid;
    gap: 2px;
    padding: 8px 10px;
    border-bottom: 1px solid #edf0f4;
    box-shadow: inset 4px 0 0 #cbd5df;
}

.scanner-history-item.clickable {
    cursor: pointer;
}

.scanner-history-item.clickable:hover,
.scanner-history-item.selected {
    background: #eef6ff;
}

.scanner-history-item.selected {
    outline: 1px solid #b8d7f5;
    outline-offset: -1px;
}

.scanner-history-success {
    box-shadow: inset 4px 0 0 #3f8f5a;
}

.scanner-history-duplicate,
.scanner-history-ambiguous,
.scanner-history-wrong_status,
.scanner-history-condition_required {
    box-shadow: inset 4px 0 0 #d6a436;
}

.scanner-history-not_found,
.scanner-history-wrong_act,
.scanner-history-error {
    box-shadow: inset 4px 0 0 #b4454f;
}

.scanner-history-item span,
.scanner-history-item small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.scanner-history-item small {
    color: #667180;
}

.scanner-tsd-body {
    margin: 0;
    background: #eef2f6;
}

.scanner-tsd-page {
    display: grid;
    grid-auto-rows: max-content;
    align-content: start;
    gap: 8px;
    width: 100%;
    min-height: 100vh;
    padding: 8px;
}

.scanner-tsd-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 58px 62px 38px;
    align-items: center;
    gap: 5px;
    padding: 3px 6px;
    border: 1px solid #d7dde5;
    border-radius: 8px;
    background: #fff;
}

.scanner-tsd-summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 5px;
    min-width: 0;
}

.scanner-tsd-summary strong,
.scanner-tsd-summary span {
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.scanner-tsd-summary strong {
    color: #102033;
    font-size: 14px;
    line-height: 1;
}

.scanner-tsd-summary span {
    color: #627085;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.05;
    white-space: nowrap;
}

.scanner-tsd-summary span small {
    display: inline;
    margin-left: 3px;
    color: #7a8798;
    font-size: 10px;
    line-height: 1;
    white-space: nowrap;
}

.scanner-tsd-state {
    max-width: 58px;
    overflow: hidden;
    color: #657081;
    font-size: 12px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.scanner-tsd-link,
.scanner-tsd-settings-button,
.scanner-tsd-settings-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    border: 1px solid #cbd4df;
    border-radius: 8px;
    background: #f7f9fc;
    color: #174d83;
    font-weight: 800;
    text-decoration: none;
}

.scanner-tsd-link {
    min-width: 38px;
}

.scanner-tsd-settings-button,
.scanner-tsd-settings-close {
    padding: 4px 8px;
}

.scanner-tsd-settings[hidden] {
    display: none;
}

.scanner-tsd-settings {
    position: fixed;
    inset: 0;
    z-index: 40;
    display: grid;
    align-items: start;
    padding: 8px;
}

.scanner-tsd-settings-backdrop {
    position: fixed;
    inset: 0;
    border: 0;
    background: rgba(24, 34, 48, 0.36);
}

.scanner-tsd-settings-panel {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 8px;
    width: min(100%, 520px);
    margin: 0 auto;
    padding: 10px;
    border: 1px solid #ccd5df;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(23, 34, 49, 0.22);
}

.scanner-tsd-settings-panel header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.scanner-tsd-settings-panel h2 {
    font-size: 16px;
}

.scanner-tsd-controls {
    display: grid;
    grid-template-columns: 1fr;
    gap: 7px;
}

.scanner-tsd-scanbar {
    padding: 6px;
    border: 1px solid #d7dde5;
    border-radius: 8px;
    background: #fff;
}

.scanner-tsd-controls .scanner-mode-tabs {
    grid-area: auto;
}

.scanner-tsd-select {
    width: 100%;
    height: 42px;
    padding: 7px 9px;
    border: 1px solid #cbd4df;
    border-radius: 8px;
    background: #fff;
    color: #263241;
    font-size: 14px;
    font-weight: 800;
}

.scanner-tsd-toggles {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
}

.scanner-tsd-toggles .scanner-lock-act,
.scanner-tsd-toggles .scanner-condition-toggle {
    grid-area: auto;
    min-height: 40px;
}

.scanner-tsd-code-field {
    display: grid;
}

.scanner-tsd-code-field span {
    display: none;
}

.scanner-tsd-code-field input {
    width: 100%;
    height: 46px;
    padding: 6px 9px;
    border: 2px solid #1167b1;
    border-radius: 8px;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: 0;
}

.scanner-tsd-progress {
    display: grid;
    gap: 5px;
    margin-top: 6px;
}

.scanner-tsd-progress[hidden] {
    display: none;
}

.scanner-tsd-progress-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    color: #526073;
    font-size: 12px;
    font-weight: 800;
}

.scanner-tsd-progress-row strong {
    color: #132033;
    font-size: 13px;
}

.scanner-tsd-result {
    display: grid;
    gap: 8px;
    align-content: start;
}

.scanner-tsd-page .scanner-result-status {
    margin-bottom: 0;
    padding: 9px 10px;
    font-size: 16px;
}

.scanner-tsd-page .scanner-card {
    min-height: 0;
    padding: 10px;
}

.scanner-tsd-page .scanner-card-header {
    gap: 8px;
    margin-bottom: 8px;
}

.scanner-tsd-page .scanner-card-header h2 {
    font-size: 20px;
    overflow-wrap: anywhere;
}

.scanner-tsd-page .scanner-shipment-location {
    font-size: 16px;
}

.scanner-tsd-page .scanner-shipment-code-line {
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
}

.scanner-tsd-page .scanner-card-header .scanner-shipment-code-main {
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: left;
}

.scanner-tsd-page .scanner-card-header .scanner-ii-code {
    font-size: 20px;
}

.scanner-tsd-page .scanner-card-price {
    font-size: 28px;
}

.scanner-tsd-page .scanner-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin-bottom: 8px;
}

.scanner-tsd-page .scanner-card-grid div {
    padding: 7px;
}

.scanner-tsd-page .scanner-card-grid strong {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
}

.scanner-tsd-page .scanner-card-grid strong small {
    display: block;
    margin-top: 2px;
    color: #667180;
    font-size: 11px;
    line-height: 1.1;
}

.scanner-tsd-page .scanner-product {
    margin-bottom: 8px;
    padding: 9px;
    font-size: 16px;
}

.scanner-tsd-page .scanner-box-content {
    gap: 5px;
    font-size: 14px;
}

.scanner-tsd-page .scanner-flags {
    margin-bottom: 8px;
}

.scanner-tsd-page .scanner-shipment-details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin-bottom: 8px;
}

.scanner-tsd-page .scanner-shipment-details div.wide {
    grid-column: 1 / -1;
}

.scanner-tsd-page .scanner-route {
    margin-bottom: 8px;
    padding: 7px;
}

.scanner-tsd-page .scanner-route table {
    font-size: 12px;
}

.scanner-tsd-page .scanner-route td:first-child {
    width: 82px;
    white-space: normal;
}

.scanner-tsd-page .scanner-condition-actions {
    gap: 6px;
}

.scanner-tsd-page .scanner-condition-actions .button {
    min-height: 50px;
    padding: 8px;
    font-size: 16px;
}

.scanner-tsd-page .scanner-shipment-info {
    max-height: 140px;
    font-size: 13px;
}

.scanner-tsd-page .scanner-candidates {
    margin-top: 0;
}

.scanner-tsd-page .scanner-candidate {
    padding: 9px 0;
}

.scanner-tsd-page .scanner-candidate span,
.scanner-tsd-page .scanner-candidate small {
    white-space: normal;
}

.scanner-events-filter-row {
    display: grid;
    grid-template-columns: 118px 118px 132px 132px minmax(150px, 1fr) 104px minmax(170px, 1.2fr) 70px 70px 78px;
    gap: 8px;
    align-items: end;
    overflow: hidden;
}

.scanner-events-filter-row button,
.scanner-events-filter-row .button {
    min-height: 32px;
    padding-inline: 8px;
}

.scanner-events-table {
    table-layout: fixed;
}

.scan-event-time-col {
    width: 138px;
}

.scan-event-user-col {
    width: 150px;
}

.scan-event-mode-col {
    width: 92px;
}

.scan-event-result-col {
    width: 104px;
}

.scan-event-code-col {
    width: 170px;
}

.scan-event-act-col {
    width: 76px;
}

.scan-event-row-col {
    width: 58px;
}

.scan-event-shipment-col {
    width: 150px;
}

.scan-event-message-col {
    width: auto;
}

.scanner-events-table tbody tr.scan-event-success {
    background: #f0faf3;
    box-shadow: inset 3px 0 0 #3f8f5a;
}

.scanner-events-table tbody tr.scan-event-warning {
    background: #fff8e7;
    box-shadow: inset 3px 0 0 #d6a436;
}

.scanner-events-table tbody tr.scan-event-error {
    background: #fff0f1;
    box-shadow: inset 3px 0 0 #b4454f;
}

.return-transit-tabs {
    display: flex;
    gap: 8px;
    margin: 0 0 14px;
}

.return-transit-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.return-transit-toolbar form {
    display: flex;
    align-items: center;
    gap: 14px;
}

.return-transit-toolbar .checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #334155;
}

.return-transit-freshness {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}

.return-transit-freshness-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 26px;
    padding: 4px 8px;
    border: 1px solid #c8d7ea;
    border-radius: 6px;
    background: #eef6ff;
    color: #29486d;
    font-size: 12px;
    line-height: 1.2;
    white-space: nowrap;
}

.return-transit-freshness-item strong {
    color: #123f70;
}

.return-transit-freshness-item.age-warning {
    border-color: #f0cf7a;
    background: #fff5d8;
    color: #7a5400;
}

.return-transit-freshness-item.age-warning strong {
    color: #7a3d00;
}

.return-transit-freshness-item.age-critical {
    border-color: #efb078;
    background: #fff0df;
    color: #98410f;
}

.return-transit-freshness-item.age-critical strong {
    color: #842d08;
}

.section-metrics.age-warning {
    color: #9a6900;
    font-weight: 700;
}

.section-metrics.age-critical {
    color: #b64210;
    font-weight: 800;
}

.return-transit-tab {
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #334155;
    padding: 8px 14px;
    border-radius: 6px;
    cursor: pointer;
}

.return-transit-tab.active {
    background: #0f766e;
    border-color: #0f766e;
    color: #ffffff;
}

.return-transit-wrap {
    overflow: auto;
}

.return-transit-table {
    min-width: 980px;
}

.return-transit-table th,
.return-transit-table td {
    vertical-align: top;
}

.return-transit-warehouse-col {
    width: 220px;
}

.return-transit-warehouse-head {
    position: sticky;
    left: 0;
    z-index: 5;
}

.return-transit-account-col {
    min-width: 150px;
}

.return-transit-total-col {
    width: 150px;
}

.return-transit-warehouse-cell {
    position: sticky;
    left: 0;
    z-index: 1;
    background: #f8fafc;
    text-align: left;
    font-weight: 600;
}

.return-transit-summary-label {
    z-index: 2;
}

.return-transit-warehouse-name {
    display: block;
}

.return-transit-warehouse-address {
    display: block;
    margin-top: 4px;
    color: #64748b;
    font-size: 10.5px;
    font-weight: 400;
    line-height: 1.25;
    white-space: normal;
}

.return-transit-row-processed .return-transit-warehouse-cell {
    background: #ecfdf5;
    box-shadow: inset 3px 0 0 #0f766e;
}

.return-transit-row-unknown .return-transit-warehouse-cell {
    background: #fffbeb;
    box-shadow: inset 3px 0 0 #d97706;
}

.return-transit-row-not-processed .return-transit-warehouse-cell {
    background: #f1f5f9;
    color: #64748b;
    box-shadow: inset 3px 0 0 #94a3b8;
}

.return-transit-cell {
    min-width: 150px;
    white-space: nowrap;
}

.return-transit-cell-button,
.return-transit-metrics {
    display: grid;
    gap: 2px;
    width: 100%;
    min-height: 82px;
    text-align: left;
    line-height: 1.25;
}

.return-transit-cell-button {
    border: 1px solid #d1d5db;
    background: #ffffff;
    color: inherit;
    border-radius: 6px;
    padding: 8px;
    cursor: pointer;
}

.return-transit-cell-button:hover {
    border-color: #0f766e;
    box-shadow: 0 0 0 2px rgba(15, 118, 110, 0.12);
}

.return-transit-row-processed .return-transit-cell-button {
    background: #f7fefb;
}

.return-transit-row-unknown .return-transit-cell-button {
    background: #fffdf4;
}

.return-transit-row-not-processed .return-transit-cell-button {
    background: #f8fafc;
    color: #64748b;
}

.return-transit-cell strong {
    font-size: 14px;
}

.return-transit-cell span {
    color: #475569;
    font-size: 12px;
}

.return-transit-total-cell {
    background: #f8fafc;
    padding: 8px;
}

.return-transit-grand-total-cell {
    background: #ecfdf5;
    padding: 8px;
}

.return-transit-summary-row th,
.return-transit-summary-row td {
    background: #f1f5f9;
    border-bottom: 2px solid #cbd5e1;
}

.return-transit-summary-metrics {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
    min-height: 0;
}

.return-transit-summary-metrics strong {
    flex-basis: 100%;
}

.return-transit-summary-metrics span {
    display: inline-flex;
}

.return-transit-detail-panel {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 70;
    display: flex;
    flex-direction: column;
    width: min(1180px, 92vw);
    height: 100vh;
    box-sizing: border-box;
    background: #ffffff;
    border-left: 1px solid #d1d5db;
    box-shadow: -18px 0 40px rgba(15, 23, 42, 0.18);
    padding: 18px;
    overflow: hidden;
    transform: translateX(0);
    transition: transform 0.18s ease;
}

.return-transit-detail-panel[aria-hidden="true"] {
    transform: translateX(105%);
}

.return-transit-detail-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

.return-transit-detail-header span,
.return-transit-detail-status {
    color: #64748b;
    font-size: 13px;
}

.return-transit-detail-status {
    flex: 0 0 auto;
    margin-bottom: 10px;
}

.return-transit-detail-header h2 {
    margin: 2px 0 0;
    font-size: 20px;
}

.return-transit-detail-wrap {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    overflow: auto;
    padding-right: 16px;
    padding-bottom: 16px;
    scrollbar-gutter: stable both-edges;
}

.return-transit-detail-table {
    min-width: 1160px;
}

.losses-filters-row {
    display: flex;
    align-items: end;
    gap: 12px;
    flex-wrap: wrap;
}

.losses-filters-main {
    flex-wrap: nowrap;
}

.losses-filters-row .filter-field {
    min-width: 180px;
}

.losses-filter-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-left: auto;
}

.losses-filter-actions button,
.losses-filter-actions .button,
.disputes-filter-actions button,
.disputes-filter-actions .button {
    width: auto;
    min-width: 72px;
    min-height: 28px;
    padding: 5px 10px;
    font-size: 12px;
}

.losses-filter-options {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 10px;
}

.losses-filter-options .checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #334155;
    font-size: 12px;
}

.disputes-filter-row {
    display: grid;
    grid-template-columns:
        minmax(132px, 0.8fr)
        minmax(150px, 0.95fr)
        minmax(132px, 0.8fr)
        minmax(150px, 0.95fr)
        minmax(112px, 0.62fr)
        minmax(128px, 0.78fr)
        76px
        144px;
    align-items: end;
    gap: 8px;
}

.disputes-filter-row input[name="limit"] {
    min-width: 0;
}

.disputes-deadline-filter .multi-filter-menu.compact-menu {
    min-width: 118px;
}

.disputes-filter-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.filter-hint {
    display: block;
    margin-top: 6px;
    color: #6b7280;
    font-size: 12px;
}

.warning-hint {
    color: #9a5b00;
}

.losses-table {
    min-width: 2138px;
    table-layout: fixed;
}

.table-wrap:has(.losses-table) {
    padding-right: 12px;
    scrollbar-gutter: stable both-edges;
}

.loss-col-category {
    width: 126px;
}

.loss-col-assignee {
    width: 80px;
}

.loss-col-claims {
    width: 92px;
}

.loss-col-dispute {
    width: 86px;
}

.loss-col-account {
    width: 100px;
}

.loss-col-shipment {
    width: 124px;
}

.loss-col-delivery-scheme {
    width: 58px;
}

.loss-col-return-date {
    width: 104px;
}

.loss-col-days {
    width: 52px;
}

.loss-col-status-detected {
    width: 112px;
}

.loss-col-status-current {
    width: 106px;
}

.loss-col-compensation-status {
    width: 126px;
}

.loss-col-product {
    width: 260px;
}

.loss-col-article {
    width: 96px;
}

.loss-col-sku {
    width: 110px;
}

.loss-col-qty {
    width: 60px;
}

.loss-col-price {
    width: 78px;
}

.loss-col-amount {
    width: 86px;
}

.loss-col-warehouse-route {
    width: 176px;
}

.loss-col-candidate {
    width: 160px;
}

.losses-table th {
    white-space: normal;
}

.loss-sort-link {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: inherit;
    text-decoration: none;
}

.loss-sort-link span {
    display: block;
}

.loss-sort-link small {
    color: #0f766e;
    font-size: 12px;
    line-height: 1;
}

.loss-return-date-sort-link {
    display: grid;
    grid-template-columns: auto auto;
    grid-template-areas:
        "date sort"
        "return sort";
    justify-content: center;
    align-items: center;
    column-gap: 3px;
    row-gap: 0;
}

.loss-return-date-sort-link span:first-child {
    grid-area: date;
}

.loss-return-date-sort-link span:nth-child(2) {
    grid-area: return;
}

.loss-return-date-sort-link small {
    grid-area: sort;
}

.losses-status-col {
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
}

.losses-status-col span,
.losses-status-col small {
    display: block;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: manual;
    line-height: 1.15;
}

.loss-delivery-scheme {
    color: #334155;
    font-weight: 700;
}

.loss-warehouse-route-cell span,
.loss-warehouse-route-cell small {
    display: block;
    max-width: 100%;
    overflow: hidden;
    color: #667180;
    font-size: 11px;
    line-height: 1.15;
    overflow-wrap: normal;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.loss-warehouse-route-cell small {
    margin-top: 2px;
}

.losses-claim-cell {
    white-space: normal;
}

.losses-dispute-cell {
    white-space: normal;
}

.losses-dispute-cell small {
    display: block;
    margin-top: 2px;
    color: #667180;
    font-size: 10px;
    line-height: 1.15;
}

.losses-dispute-cell form {
    margin: 0;
}

.compact-action-button {
    min-height: 26px;
    padding: 4px 7px;
    font-size: 11px;
    line-height: 1;
}

.losses-claim-cell .loss-claim-status-link,
.losses-claim-cell .loss-claim-id-link {
    display: block;
    width: 100%;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
}

.losses-claim-cell .loss-claim-status-link {
    font-size: 12px;
    font-weight: 800;
    line-height: 1.15;
    white-space: normal;
}

.losses-claim-cell .loss-claim-id-link {
    margin-top: 2px;
    color: #667180;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.15;
}

.loss-claim-link {
    display: inline;
    padding: 0;
    border: 0;
    background: transparent;
    color: #0f766e;
    font: inherit;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}

.loss-claim-link:hover {
    color: #115e59;
}

.losses-claim-panel {
    width: min(560px, 94vw);
}

.losses-detail-panel {
    width: min(620px, 94vw);
}

.losses-detail-panel .shipment-detail-panel-body,
.losses-claim-panel .shipment-detail-panel-body {
    padding-right: 20px;
    scrollbar-gutter: stable both-edges;
}

.loss-row {
    cursor: pointer;
}

.compact-table tbody tr.loss-row-active td {
    background: #f8fbff;
}

.compact-table tbody tr.loss-row-claimed td,
.compact-table tbody tr.loss-row-ignored td,
.compact-table tbody tr.loss-row-closed td {
    background: #f1f5f9;
    color: #475569;
}

.compact-table tbody tr.loss-row-unassigned td {
    background: #fff1f2;
}

.loss-row:hover td {
    background: #f8fafc;
}

.compact-table tbody tr.loss-row-unassigned:hover td {
    background: #ffe4e6;
}

.compact-table tbody tr.loss-row-claimed:hover td,
.compact-table tbody tr.loss-row-ignored:hover td,
.compact-table tbody tr.loss-row-closed:hover td {
    background: #e2e8f0;
}

.loss-row.selected td {
    background: #eaf7f5;
}

.loss-candidate-status-cell {
    min-width: 0;
    padding-right: 18px;
}

.loss-candidate-status-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: 3px;
}

.loss-candidate-status-form select {
    width: 100%;
    min-width: 0;
}

.loss-candidate-status-state {
    min-height: 13px;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.15;
    white-space: nowrap;
}

.loss-candidate-status-state.saved {
    color: #0f766e;
}

.loss-candidate-status-state.failed {
    color: #b42318;
}

.compact-table tbody tr.loss-row-status-saved td {
    box-shadow: inset 0 0 0 999px rgba(20, 184, 166, 0.08);
}

.loss-product-cell,
.loss-article-cell,
.loss-sku-cell {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}

.loss-product-cell {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
}

.loss-article-cell,
.loss-sku-cell {
    white-space: nowrap;
    text-overflow: ellipsis;
}

.loss-claim-approved {
    display: block;
    color: #0f766e;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.15;
}

.disputes-table {
    min-width: 1350px;
}

.partner-access-table td {
    vertical-align: middle;
}

.partner-access-table td:first-child small,
.partner-condition-source {
    display: block;
    margin-top: 3px;
    color: var(--muted);
}

.partner-condition-list {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    max-width: 560px;
}

.partner-condition-list span {
    padding: 2px 7px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: var(--surface-soft);
    white-space: nowrap;
}

.partner-settings-actions {
    white-space: nowrap;
}

.partner-settings-actions .compact-action-button + .compact-action-button {
    margin-left: 5px;
}

.partner-condition-default-row {
    background: #f7f9fc;
}

.partner-condition-editor .scanner-condition-modal-panel {
    width: min(620px, calc(100vw - 24px));
}

.partner-condition-editor-list {
    display: grid;
    gap: 7px;
    margin: 16px 0 10px;
}

.partner-condition-editor-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 38px 38px 38px;
    gap: 6px;
    align-items: center;
}

.partner-condition-editor-row input {
    width: 100%;
}

.partner-condition-editor-row .icon-button {
    width: 38px;
    height: 38px;
}

.partner-condition-add {
    margin-bottom: 12px;
}

.partner-condition-editor-status {
    min-height: 20px;
    color: var(--danger);
}

.partner-condition-editor-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
}

@media (max-width: 760px) {
    .partner-condition-editor-actions {
        flex-wrap: wrap;
    }
}

.dispute-date-cell {
    white-space: nowrap;
}

.disputes-table td.dispute-date-cell small {
    font-size: 10px;
}

.dispute-scheme-col {
    width: 58px;
}

.dispute-code-col {
    width: 150px;
}

.dispute-product-col {
    width: 280px;
}

.dispute-video-col {
    width: 112px;
}

.dispute-chats-col {
    width: 190px;
}

.dispute-source-code-cell {
    min-width: 150px;
}

.dispute-source-code {
    font-size: 13px;
    font-weight: 800;
    line-height: 1.15;
}

.dispute-copy-anchor {
    display: inline;
}

.dispute-chat-copy-item {
    display: inline-block;
    margin-right: 8px;
    white-space: nowrap;
}

.disputes-table td small.dispute-source-type {
    margin-top: 1px;
    font-size: 10px;
    line-height: 1.1;
}

.disputes-table td small.dispute-original-source {
    color: #8a5a12;
    font-size: 10px;
}

.disputes-table td small {
    display: block;
    margin-top: 2px;
    color: #667180;
    font-size: 11px;
    line-height: 1.15;
}

.dispute-stale td {
    background: #fff4d6;
}

.dispute-stale td:first-child {
    box-shadow: inset 4px 0 0 #f59e0b;
}

.dispute-highlight td {
    background: #eaf7f5;
}

.dispute-video-deadline-tomorrow td {
    background: #eef6ff;
}

.dispute-video-deadline-tomorrow td:first-child {
    box-shadow: inset 4px 0 0 #3b82f6;
}

.dispute-video-deadline-today td {
    background: #e8f0ff;
}

.dispute-video-deadline-today td:first-child {
    box-shadow: inset 4px 0 0 #2563eb;
}

.dispute-video-deadline-overdue td {
    background: #f4eaff;
}

.dispute-video-deadline-overdue td:first-child {
    box-shadow: inset 4px 0 0 #7c3aed;
}

.dispute-stale.dispute-video-deadline-tomorrow td,
.dispute-stale.dispute-video-deadline-today td,
.dispute-stale.dispute-video-deadline-overdue td {
    background: #fff4d6;
}

.dispute-stale.dispute-video-deadline-tomorrow td:first-child,
.dispute-stale.dispute-video-deadline-today td:first-child,
.dispute-stale.dispute-video-deadline-overdue td:first-child {
    box-shadow: inset 4px 0 0 #f59e0b;
}

.disputes-table td.dispute-video-cell-tomorrow {
    background: #e3f0ff;
}

.disputes-table td.dispute-video-cell-today {
    background: #dce8ff;
}

.disputes-table td.dispute-video-cell-overdue {
    background: #eadcff;
}

.disputes-table td small.dispute-video-deadline-warning-text {
    color: #6d28d9;
    font-weight: 800;
}

.dispute-edit-header-meta {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.dispute-edit-header-account,
.dispute-edit-header-source {
    font-size: 1.2em;
    font-weight: 800;
}

.dispute-edit-header-source {
    color: #0b3f75;
}

.dispute-edit-header-scheme {
    margin-left: 4px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #172033;
    font-size: 1.2em;
    font-weight: 800;
    line-height: 1.2;
    vertical-align: middle;
}

.dispute-edit-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 12px;
    align-items: start;
}

.dispute-main-column {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}

.dispute-edit-form {
    display: grid;
    gap: 12px;
}

.dispute-source-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 160px;
    gap: 10px;
    padding: 8px 10px;
    border: 1px solid #d8e0ea;
    border-radius: 6px;
    background: #f8fafc;
}

.dispute-source-summary div {
    min-width: 0;
}

.dispute-source-summary span {
    display: block;
    margin-bottom: 3px;
    color: #566274;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.dispute-source-summary strong {
    display: block;
    color: #172033;
    font-size: 14px;
    line-height: 1.25;
}

.dispute-tags-panel {
    display: grid;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid #d8e0ea;
    border-radius: 6px;
    background: #f8fafc;
}

.dispute-tags-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.dispute-tag-badge,
.dispute-tag-pill {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    min-height: 22px;
    gap: 5px;
    padding: 3px 8px;
    border: 1px solid #c7d3e0;
    border-radius: 999px;
    background: #fff;
    color: #344054;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
}

.dispute-tag-pill span,
.dispute-tag-badge {
    overflow-wrap: anywhere;
}

.dispute-tag-pill button {
    width: 16px;
    min-width: 16px;
    min-height: 16px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #e6edf5;
    color: #475569;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
}

.dispute-tag-pill button:hover,
.dispute-tag-pill button:focus-visible {
    background: #ffd6d6;
    color: #991b1b;
}

.dispute-tag-add-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
}

.dispute-tag-add-form input {
    min-width: 0;
}

.dispute-tag-add-form button {
    width: auto;
    min-height: 32px;
    padding: 6px 10px;
}

.dispute-tags-cell {
    min-width: 120px;
    white-space: normal;
}

.dispute-tags-cell .dispute-tag-badge {
    margin: 1px 4px 1px 0;
}

.dispute-edit-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    align-items: end;
}

.amounts-grid {
    grid-template-columns: repeat(3, minmax(110px, 150px));
    justify-content: start;
}

.dispute-edit-two-columns {
    display: grid;
    grid-template-columns: minmax(0, 42fr) minmax(360px, 58fr);
    gap: 12px;
    align-items: start;
}

.amounts-grid .filter-field input.money-input {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.dispute-edit-left-column,
.dispute-edit-right-column {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.dispute-video-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.dispute-materials-panel {
    display: grid;
    gap: 10px;
    align-content: start;
    min-height: 150px;
    padding: 12px;
    border: 1px solid #d8e0ea;
    border-radius: 6px;
    background: #f8fafc;
}

.dispute-video-requests-panel {
    display: grid;
    gap: 8px;
    padding: 10px;
    border: 1px solid #d8e0ea;
    border-radius: 6px;
    background: #f8fafc;
}

.dispute-video-requests-panel h3 {
    margin: 0;
    font-size: 15px;
}

.dispute-video-request-list {
    display: grid;
    gap: 8px;
}

.dispute-video-request-row {
    border-top: 1px solid #e4ebf3;
    padding-top: 8px;
    font-size: 13px;
}

.dispute-video-request-row:first-child {
    border-top: 0;
    padding-top: 0;
}

.dispute-video-request-row div {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.dispute-video-request-row p {
    margin: 4px 0 0;
    white-space: pre-wrap;
}

.dispute-materials-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.dispute-materials-header-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.dispute-materials-header-actions button,
.dispute-materials-header-actions a {
    width: auto;
    min-height: 26px;
    padding: 4px 9px;
}

.dispute-material-download-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #b7c8db;
    border-radius: 6px;
    background: #fff;
    color: #064f9e;
    font-weight: 700;
    text-decoration: none;
}

.dispute-material-download-button.disabled {
    cursor: not-allowed;
    border-color: #d5dde7;
    background: #eef2f7;
    color: #8a95a5;
}

.dispute-materials-header h3 {
    margin: 0;
    color: #172033;
    font-size: 14px;
}

.dispute-materials-header span {
    color: #667180;
    font-size: 12px;
    font-weight: 700;
}

.dispute-materials-groups {
    display: grid;
    gap: 10px;
}

.dispute-materials-group {
    display: grid;
    gap: 4px;
}

.dispute-materials-group h4 {
    margin: 0;
    color: #475569;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.dispute-materials-list {
    display: grid;
    gap: 2px;
    max-height: 220px;
    overflow-y: auto;
    padding-right: 4px;
}

.dispute-material-card {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    align-items: center;
    gap: 6px;
    min-height: 24px;
    padding: 1px 2px;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.dispute-material-card.partner {
    grid-template-columns: 54px minmax(0, 1fr) auto;
}

.dispute-material-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.dispute-material-card-header strong {
    color: #172033;
    font-size: 12px;
}

.dispute-material-type {
    min-width: 0;
    color: #475569;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.edit-dispute-material-button {
    width: auto;
    min-width: 0;
    min-height: 0;
    padding: 0 2px;
    border: 0;
    background: transparent;
    color: #64748b;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
}

.edit-dispute-material-button:hover,
.edit-dispute-material-button:focus-visible {
    background: transparent;
    color: #064f9e;
    text-decoration: none;
}

.dispute-material-card-header small,
.dispute-material-card > small {
    color: #667180;
    font-size: 11px;
}

.dispute-material-card a {
    color: #064f9e;
    font-size: 12px;
    font-weight: 700;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dispute-material-location {
    color: #172033;
    font-size: 12px;
    font-weight: 700;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dispute-material-link-row {
    display: flex;
    align-items: center;
    min-width: 0;
    flex-wrap: nowrap;
    gap: 6px;
}

.dispute-material-link-row a,
.dispute-material-link-row .dispute-material-location {
    flex: 0 1 auto;
}

.dispute-material-link-row .delivery-inline-copy {
    flex: 0 0 auto;
}

.dispute-material-size {
    flex: 0 0 auto;
    color: #64748b;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}

.dispute-material-source {
    flex: 0 0 auto;
    padding: 1px 5px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
}

.dispute-material-source.local {
    background: #dcfce7;
    color: #166534;
}

.dispute-material-source.disk {
    background: #e0f2fe;
    color: #075985;
}

.dispute-material-source.skipped {
    background: #fee2e2;
    color: #991b1b;
}

.dispute-partner-review-marker {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
}

.dispute-partner-review-marker.unknown {
    background: #fef3c7;
    color: #92400e;
}

.dispute-partner-review-marker.good {
    background: #dcfce7;
    color: #166534;
}

.dispute-partner-review-marker.bad {
    background: #fee2e2;
    color: #991b1b;
}

.dispute-material-card .dispute-material-review-comment {
    grid-column: 2 / 3;
    color: #64748b;
}

.dispute-material-card .dispute-material-review-comment strong {
    color: #475569;
}

.dispute-material-card p {
    margin: 0;
    color: #334155;
    font-size: 12px;
    line-height: 1.35;
}

.dispute-material-card button.danger {
    border-color: #efc4c4;
    background: #fff5f5;
    color: #a42626;
}

.dispute-material-modal[hidden] {
    display: none;
}

.dispute-material-modal {
    position: fixed;
    inset: 0;
    z-index: 61;
}

.dispute-material-modal-backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(15, 23, 42, 0.36);
}

.dispute-material-modal-panel {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 12px;
    width: min(620px, calc(100vw - 28px));
    max-height: calc(100vh - 44px);
    margin: 22px auto;
    padding: 14px;
    overflow: auto;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 24px 72px rgba(15, 23, 42, 0.28);
}

.dispute-material-modal-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
}

.dispute-material-modal-header h2 {
    margin: 0;
    color: #172033;
    font-size: 18px;
}

.dispute-material-modal-header button {
    width: auto;
    min-width: 78px;
    min-height: 30px;
    padding: 5px 10px;
}

.dispute-material-modal-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 10px;
}

.dispute-material-modal-form .wide,
.dispute-material-modal-actions {
    grid-column: 1 / -1;
}

.dispute-material-modal-form input,
.dispute-material-modal-form select,
.dispute-material-modal-form textarea {
    width: 100%;
}

.dispute-material-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.dispute-material-modal-actions button {
    width: auto;
    min-width: 88px;
    min-height: 30px;
    padding: 5px 10px;
}

.dispute-material-modal-actions .danger {
    border-color: #efc4c4;
    background: #fff5f5;
    color: #a42626;
}

.dispute-edit-form select,
.dispute-edit-form input:not([type="checkbox"]),
.dispute-edit-form textarea {
    width: 100%;
}

.dispute-edit-form textarea {
    min-height: 0;
    resize: vertical;
}

.dispute-checkboxes {
    display: grid;
    gap: 6px;
    align-content: center;
    min-height: 52px;
}

.dispute-checkboxes .checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #334155;
    font-size: 12px;
}

.dispute-checkboxes input[type="checkbox"] {
    width: auto;
    min-height: 0;
    flex: 0 0 auto;
}

.dispute-edit-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.dispute-edit-actions button {
    width: auto;
    min-height: 30px;
    padding: 6px 12px;
}

.dispute-side-card h2 {
    margin: 0 0 10px;
    color: #172033;
    font-size: 16px;
}

.dispute-side-card dl {
    display: grid;
    gap: 10px;
    margin: 0;
}

.dispute-side-card dt {
    color: #667180;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.dispute-side-card dd {
    margin: 2px 0 0;
    color: #1f2937;
    overflow-wrap: anywhere;
}

.dispute-side-card dd small {
    display: block;
    margin-top: 3px;
    color: #667180;
    font-size: 11px;
}

.dispute-history-panel {
    display: grid;
    gap: 8px;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid #d8e0ea;
}

.dispute-history-list {
    display: grid;
    gap: 7px;
}

.dispute-history-item {
    display: grid;
    gap: 3px;
    padding: 7px;
    border: 1px solid #e1e7ef;
    border-radius: 6px;
    background: #f8fafc;
}

.dispute-history-item div {
    display: flex;
    justify-content: space-between;
    gap: 8px;
}

.dispute-history-item strong {
    color: #172033;
    font-size: 12px;
}

.dispute-history-item small,
.dispute-history-item em {
    color: #667180;
    font-size: 11px;
    font-style: normal;
}

.dispute-history-item span {
    color: #334155;
    font-size: 12px;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.dispute-link-shipment-form {
    display: grid;
    gap: 6px;
}

.dispute-link-shipment-form input {
    width: 100%;
    min-height: 30px;
    padding: 5px 7px;
    border: 1px solid #ccd3dc;
    border-radius: 6px;
}

.dispute-chats-panel {
    display: grid;
    gap: 10px;
    width: 100%;
}

.dispute-chats-wrap {
    max-height: none;
}

.dispute-chats-table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
}

.dispute-chats-table input[hidden],
.dispute-chats-table select[hidden],
.dispute-chats-table button[type="submit"] {
    display: none !important;
}

.dispute-chats-table .dispute-chat-row {
    cursor: pointer;
}

.dispute-chats-table .dispute-chat-row:hover {
    background: #f1f7ff;
}

.dispute-chats-table th:first-child {
    width: 52px;
}

.dispute-chats-table th:nth-child(2) {
    width: 110px;
}

.dispute-chats-table th:nth-child(3) {
    width: 105px;
}

.dispute-chats-table th:nth-child(4) {
    width: 120px;
}

.dispute-chats-table th:nth-child(5),
.dispute-chats-table th:nth-child(6) {
    width: 118px;
}

.dispute-chats-table th:nth-child(7) {
    width: 62px;
}

.dispute-chats-table th,
.dispute-chats-table td {
    overflow-wrap: anywhere;
}

.dispute-chats-table input,
.dispute-chats-table select,
.dispute-chat-create-row input,
.dispute-chat-create-row select {
    width: 100%;
    min-height: 28px;
    padding: 4px 7px;
    font-size: 12px;
}

.dispute-chats-table form {
    margin: 0;
}

.dispute-chat-create-row {
    display: none;
    grid-template-columns: minmax(150px, 1fr) 150px 170px 170px 170px 106px;
    gap: 8px;
    align-items: end;
}

.dispute-chat-create-row button {
    min-height: 28px;
    padding: 5px 9px;
    font-size: 12px;
}

.dispute-chat-modal[hidden] {
    display: none;
}

.dispute-chat-modal {
    position: fixed;
    inset: 0;
    z-index: 60;
}

.dispute-chat-modal-backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(15, 23, 42, 0.36);
}

.dispute-chat-modal-panel {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 12px;
    width: min(1080px, calc(100vw - 32px));
    max-height: calc(100vh - 44px);
    margin: 22px auto;
    padding: 14px;
    overflow: auto;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 24px 72px rgba(15, 23, 42, 0.28);
}

.dispute-chat-modal-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
}

.dispute-chat-modal-header h2 {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    margin: 0;
    color: #172033;
    font-size: 18px;
    white-space: nowrap;
}

.dispute-chat-modal-header h2 #chatModalTitleText {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dispute-chat-modal-header-actions {
    display: inline-flex;
    align-items: center;
    justify-self: end;
    gap: 8px;
}

.dispute-chat-modal-header-actions button {
    width: auto;
    min-width: 78px;
    min-height: 30px;
    padding: 5px 10px;
    white-space: nowrap;
}

.dispute-chat-title-copy {
    display: inline-flex;
    align-items: center;
}

.dispute-chat-title-copy .delivery-inline-copy {
    margin: 0;
}

.dispute-chat-modal-form {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    align-items: end;
}

.dispute-chat-create-id-field {
    grid-column: 1 / -1;
    max-width: 260px;
}

.dispute-chat-modal-form .filter-field input,
.dispute-chat-modal-form .filter-field select {
    width: 100%;
    min-height: 36px;
}

.dispute-chat-modal-actions {
    grid-column: 1 / -1;
}

.dispute-chat-messages-panel {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid #d7dde5;
    border-radius: 6px;
    background: #f8fafc;
}

.dispute-chat-messages-panel h3 {
    margin: 0;
    color: #172033;
    font-size: 15px;
}

.dispute-chat-messages-mount {
    display: grid;
    gap: 8px;
    max-height: 360px;
    overflow: auto;
    padding-right: 4px;
}

.dispute-chat-message-list {
    display: grid;
    gap: 8px;
}

.dispute-chat-message {
    position: relative;
    display: grid;
    gap: 8px;
    padding: 10px 46px 10px 10px;
    border: 1px solid #dfe5ec;
    border-radius: 6px;
    background: #fff;
}

.dispute-chat-message-meta {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 5px;
    color: #647286;
    font-size: 12px;
}

.dispute-chat-message-meta strong {
    color: #172033;
    font-size: 13px;
}

.dispute-chat-message-text {
    color: #202938;
    font-size: 13px;
    line-height: 1.35;
    white-space: pre-wrap;
    word-break: break-word;
}

.dispute-chat-message-text a {
    color: #075da8;
    font-weight: 700;
}

.dispute-chat-message-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 8px;
}

.dispute-chat-message-actions {
    position: absolute;
    top: 6px;
    right: 8px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.dispute-chat-message-actions form {
    margin: 0;
}

.dispute-message-inline-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 0;
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #5c6878;
    font-size: 16px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
}

.dispute-message-inline-action:hover {
    color: #075da8;
}

.dispute-message-inline-action.danger-action-button:hover {
    color: #b3261e;
}

.dispute-chat-message-editor,
.dispute-chat-message-edit-form {
    display: grid;
    grid-template-columns: minmax(150px, 0.75fr) minmax(190px, 1fr) 180px;
    gap: 8px;
    align-items: end;
}

.dispute-chat-message-editor[hidden],
.dispute-chat-message-edit-form[hidden],
.dispute-chat-message-view[hidden] {
    display: none;
}

.dispute-chat-message-text-field,
.dispute-chat-message-form-actions {
    grid-column: 1 / -1;
}

.dispute-chat-message-editor textarea,
.dispute-chat-message-edit-form textarea {
    width: 100%;
    min-height: 110px;
    resize: vertical;
}

.dispute-chat-message-editor .filter-field input,
.dispute-chat-message-editor .filter-field select,
.dispute-chat-message-edit-form .filter-field input,
.dispute-chat-message-edit-form .filter-field select {
    width: 100%;
    min-height: 36px;
}

.dispute-chat-modal-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    padding-top: 2px;
}

.dispute-chat-modal-actions button,
.dispute-chat-modal-actions .button {
    width: auto;
    min-width: 92px;
    min-height: 30px;
    padding: 5px 12px;
    flex: 0 0 auto;
}

.compact-empty {
    margin: 0;
    padding: 10px;
}

.loss-category-badge,
.candidate-status {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 2px 7px;
    border-radius: 6px;
    background: #eef2f6;
    color: #334155;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.loss-category-badge {
    background: #e0f2fe;
    color: #075985;
}

.scan-event-result {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 78px;
    padding: 3px 7px;
    border: 1px solid #cfd7e2;
    border-radius: 999px;
    background: #fff;
    font-size: 11px;
    font-weight: 800;
}

.act-item-position-col {
    width: 32px;
}

.act-item-shipment-col {
    width: 150px;
}

.act-item-fbo-col {
    width: 132px;
}

.act-item-product-col {
    width: 260px;
}

.act-item-barcode-col {
    width: 128px;
}

.act-item-price-col {
    width: 72px;
}

.act-item-weight-col {
    width: 64px;
}

.act-item-steps-col {
    width: 104px;
}

.accept-act-items-table th:nth-child(8),
.accept-act-items-table td:nth-child(8) {
    white-space: nowrap;
}

.accept-act-items-table td:nth-child(8) {
    overflow: hidden;
}

.act-item-compact-col {
    width: 92px;
}

.act-item-status-col {
    width: 150px;
}

.act-item-reason-col,
.act-item-note-col {
    width: 120px;
}

.product-cell,
.compact-text-cell,
.status-text-cell {
    overflow: hidden;
    text-overflow: ellipsis;
}

.status-text-cell span,
.status-text-cell small,
.fbo-stock-cell span,
.fbo-stock-cell small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
}

.status-text-cell small,
.fbo-stock-cell small {
    color: #697382;
    font-size: 10px;
}

.fbo-box-content {
    margin-top: 4px;
}

.fbo-box-content small {
    display: block;
    color: #697382;
    font-size: 10px;
    line-height: 1.25;
    white-space: normal;
    overflow-wrap: anywhere;
}

.status-color-green {
    color: #176b3a;
    font-weight: 700;
}

.status-color-red {
    color: #7f1d1d;
    font-weight: 700;
}

.status-color-blue {
    color: #1e3a8a;
    font-weight: 700;
}

.status-color-green small,
.status-color-red small,
.status-color-blue small {
    color: inherit;
    opacity: 0.76;
}

.received-shipments-table {
    table-layout: fixed;
}

.smart-search-section {
    border-left: 4px solid #1f7a8c;
}

.smart-search-section .section-title {
    gap: 12px;
}

.smart-search-subtitle {
    margin-top: 14px;
}

.smart-search-subtitle h2 {
    font-size: 15px;
}

.muted-note {
    color: #697382;
    font-size: 12px;
    font-weight: 700;
}

.smart-search-table {
    table-layout: fixed;
}

.smart-search-table th:nth-child(1),
.smart-search-table td:nth-child(1) {
    width: 160px;
}

.smart-search-table th:nth-child(2),
.smart-search-table td:nth-child(2) {
    width: 150px;
}

.smart-search-table th:nth-child(3),
.smart-search-table td:nth-child(3) {
    width: 170px;
}

.smart-search-table th:nth-child(4),
.smart-search-table td:nth-child(4) {
    width: 86px;
}

.smart-search-table th:nth-child(6),
.smart-search-table td:nth-child(6) {
    width: 150px;
}

.smart-search-table th:nth-child(7),
.smart-search-table td:nth-child(7) {
    width: 80px;
}

.posting-search-table small {
    display: block;
    margin-top: 2px;
    color: #697382;
    font-size: 11px;
    font-weight: 700;
}

.inline-empty {
    margin: 0;
}

.fbo-stock-table {
    table-layout: fixed;
}

.fbo-stock-row {
    cursor: pointer;
}

.compact-table tbody tr.fbo-stock-row.selected {
    background: #fff8df;
    box-shadow: inset 4px 0 0 #b78214, inset 0 0 0 1px rgba(183, 130, 20, 0.28);
}

.fbo-stock-table small {
    display: block;
    color: #697382;
    font-size: 10px;
    font-weight: 700;
}

.economics-table {
    table-layout: fixed;
}

.economics-table .text-cell {
    min-width: 0;
}

.table-wrap:has(.economics-table) {
    padding-right: 22px;
    padding-bottom: 12px;
    scrollbar-gutter: stable both-edges;
}

.economics-account-filter .multi-filter-menu {
    min-width: 220px;
}

.economics-row {
    cursor: pointer;
}

.compact-table tbody tr.economics-row.row-economics-positive {
    background: #f2fbf5;
    box-shadow: inset 3px 0 0 #58b677;
}

.compact-table tbody tr.economics-row.row-economics-negative {
    background: #fff1f1;
    box-shadow: inset 3px 0 0 #c45252;
}

.compact-table tbody tr.economics-row.row-economics-positive:hover {
    background: #e8f7ee;
}

.compact-table tbody tr.economics-row.row-economics-negative:hover {
    background: #ffe7e7;
}

.compact-table tbody tr.economics-row.selected {
    background: #fff8df;
    box-shadow: inset 4px 0 0 #b78214, inset 0 0 0 1px rgba(183, 130, 20, 0.28);
}

.compact-table tbody tr.economics-row.selected:hover {
    background: #fff3c4;
}

.economics-detail-panel {
    width: min(820px, 96vw);
}

.economics-detail-panel.row-alert-green {
    background: #f2fbf5;
}

.economics-detail-panel.row-alert-red {
    background: #fff1f1;
}

.economics-detail-panel.row-alert-green .shipment-detail-panel-header {
    background: #e8f7ee;
}

.economics-detail-panel.row-alert-red .shipment-detail-panel-header {
    background: #ffe7e7;
}

.economics-detail-panel .compact-detail-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.economics-status-cell {
    min-width: 118px;
    white-space: normal;
    line-height: 1.18;
}

.economics-status-cell strong,
.economics-status-cell span,
.economics-status-cell small {
    display: block;
}

.economics-status-cell strong {
    font-size: 0.86rem;
    font-weight: 500;
    color: #425166;
}

.economics-status-cell span {
    margin-top: 2px;
    color: #506176;
    font-size: 0.82rem;
}

.economics-status-cell small {
    margin-top: 2px;
    color: #6c7888;
    font-size: 0.74rem;
}

.economics-accruals-table {
    table-layout: fixed;
}

.economics-detail-panel .table-wrap {
    padding-right: 22px;
    padding-bottom: 14px;
    scrollbar-gutter: stable both-edges;
}

.economics-accruals-table tbody tr.row-accrual-positive {
    background: #f2fbf5;
}

.economics-accruals-table tbody tr.row-accrual-negative {
    background: #fff1f1;
}

.economics-accruals-table tbody tr.row-accrual-positive:hover {
    background: #e8f7ee;
}

.economics-accruals-table tbody tr.row-accrual-negative:hover {
    background: #ffe7e7;
}

.economics-accruals-table th:nth-child(1),
.economics-accruals-table td:nth-child(1) {
    width: 82px;
}

.economics-accruals-table th:nth-child(2),
.economics-accruals-table td:nth-child(2) {
    width: 118px;
}

.economics-accruals-table th:nth-child(4),
.economics-accruals-table td:nth-child(4) {
    width: 78px;
}

.economics-accruals-table th:nth-child(5),
.economics-accruals-table td:nth-child(5) {
    width: 48px;
}

.economics-accruals-table th:nth-child(6),
.economics-accruals-table td:nth-child(6) {
    width: 74px;
}

.economics-dashboard-filters-row {
    display: grid;
    grid-template-columns: 140px 140px 92px 92px;
    gap: 10px;
    align-items: end;
}

.economics-dashboard-wrap {
    overflow: auto;
}

.economics-dashboard-table {
    min-width: 1100px;
}

.economics-dashboard-table th,
.economics-dashboard-table td {
    vertical-align: top;
}

.economics-dashboard-month-col,
.economics-dashboard-month-cell {
    width: 150px;
    min-width: 150px;
}

.economics-dashboard-month-cell {
    position: sticky;
    left: 0;
    z-index: 2;
    background: #f8fafc;
    color: #334155;
    font-weight: 800;
    text-align: left;
    text-transform: capitalize;
}

.economics-dashboard-month-col {
    position: sticky;
    left: 0;
    z-index: 5;
}

.economics-dashboard-total-col,
.economics-dashboard-account-col {
    min-width: 176px;
}

.economics-dashboard-total-cell,
.economics-dashboard-cell-wrap {
    min-width: 176px;
}

.economics-dashboard-summary-row th,
.economics-dashboard-summary-row td {
    background: #f1f5f9;
    border-bottom: 2px solid #cbd5e1;
}

.economics-dashboard-summary-label {
    z-index: 3;
    background: #e8f2ff;
}

.economics-dashboard-total-cell {
    background: #f8fafc;
}

.economics-dashboard-cell {
    min-width: 0;
}

.economics-dashboard-cell-button {
    display: grid;
    width: 100%;
    min-height: 142px;
    gap: 7px;
    padding: 8px;
    border: 1px solid #d1d8e2;
    border-radius: 6px;
    background: #ffffff;
    color: #1f2937;
    text-align: left;
    cursor: pointer;
}

.economics-dashboard-total-cell .economics-dashboard-cell-button {
    background: #f7fbff;
    border-color: #c6d8ec;
}

.economics-dashboard-summary-row .economics-dashboard-cell-button {
    background: #eef7ff;
}

.economics-dashboard-cell-button:hover:not(:disabled) {
    border-color: #1f7a8c;
    box-shadow: 0 0 0 2px rgba(31, 122, 140, 0.13);
}

.economics-dashboard-cell-button.selected {
    border-color: #b78214;
    background: #fff8df;
    box-shadow: 0 0 0 2px rgba(183, 130, 20, 0.16);
}

.economics-dashboard-cell-button:disabled {
    cursor: default;
}

.economics-dashboard-cell.is-empty .economics-dashboard-cell-button {
    background: #f8fafc;
    color: #94a3b8;
}

.economics-dashboard-cell-main,
.economics-dashboard-funnel {
    display: grid;
    gap: 3px;
}

.economics-dashboard-cell-main {
    padding-bottom: 6px;
    border-bottom: 1px solid #e2e8f0;
}

.economics-dashboard-cell-main strong {
    color: #0f172a;
    font-size: 14px;
}

.economics-dashboard-cell-main span,
.economics-dashboard-funnel span {
    color: #475569;
    font-size: 11px;
    line-height: 1.2;
}

.economics-dashboard-funnel span:nth-child(1) {
    color: #1e3a8a;
}

.economics-dashboard-funnel span:nth-child(2) {
    color: #8a5b00;
}

.economics-dashboard-funnel span:nth-child(3) {
    color: #8f2424;
}

.economics-dashboard-funnel span:nth-child(4) {
    color: #0f766e;
}

.economics-dashboard-funnel span:nth-child(5) {
    color: #176b3a;
    font-weight: 700;
}

.economics-dashboard-detail-panel {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 70;
    display: flex;
    flex-direction: column;
    width: min(1180px, 94vw);
    height: 100vh;
    box-sizing: border-box;
    background: #ffffff;
    border-left: 1px solid #d1d5db;
    box-shadow: -18px 0 40px rgba(15, 23, 42, 0.18);
    padding: 18px;
    overflow: hidden;
    transform: translateX(0);
    transition: transform 0.18s ease;
}

.economics-dashboard-detail-panel[aria-hidden="true"] {
    transform: translateX(105%);
}

.economics-dashboard-detail-wrap {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    overflow: auto;
    padding-right: 16px;
    padding-bottom: 16px;
    scrollbar-gutter: stable both-edges;
}

.economics-dashboard-detail-table {
    min-width: 1160px;
    table-layout: fixed;
}

.economics-dashboard-detail-table th:nth-child(1),
.economics-dashboard-detail-table td:nth-child(1) {
    width: 115px;
}

.economics-dashboard-detail-table th:nth-child(2),
.economics-dashboard-detail-table td:nth-child(2) {
    width: 70px;
}

.economics-dashboard-detail-table th:nth-child(6),
.economics-dashboard-detail-table td:nth-child(6) {
    width: 64px;
}

.economics-dashboard-detail-table th:nth-child(7),
.economics-dashboard-detail-table td:nth-child(7) {
    width: 82px;
}

.econ-date-col {
    width: 84px;
}

.econ-shipment-col {
    width: 136px;
}

.econ-article-col {
    width: 112px;
}

.econ-product-col {
    width: 250px;
}

.econ-status-col {
    width: 140px;
}

.econ-qty-col,
.econ-price-count-col {
    width: 42px;
}

.econ-money-col {
    width: 68px;
}

.received-shipment-code-col {
    width: 150px;
}

.received-account-col {
    width: 120px;
}

.received-date-col {
    width: 84px;
}

.received-warehouse-col {
    width: 130px;
}

.received-act-col {
    width: 92px;
}

.received-product-col {
    width: 260px;
}

.received-barcode-col {
    width: 126px;
}

.received-price-col {
    width: 76px;
}

.received-scheme-col {
    width: 68px;
}

.received-status-col {
    width: 130px;
}

.received-return-reason-col {
    width: 150px;
}

.received-compact-col {
    width: 92px;
}

.received-reason-col,
.received-assignee-col,
.received-note-col {
    width: 120px;
}

.fbo-stock-filters-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
    gap: 12px;
    align-items: end;
}

.fbo-stock-overdue-filter {
    min-height: 34px;
    align-items: center;
}

.fbo-stock-filters-row button,
.fbo-stock-filters-row .button {
    min-height: 34px;
}

.fbo-stock-account-col {
    width: 126px;
}

.fbo-stock-request-col {
    width: 112px;
}

.fbo-stock-box-col {
    width: 138px;
}

.fbo-stock-status-col {
    width: 128px;
}

.fbo-stock-state-col {
    width: 92px;
}

.fbo-stock-number-col {
    width: 64px;
}

.fbo-stock-warehouse-col {
    width: 145px;
}

.fbo-stock-link-col {
    width: 112px;
}

.fbo-stock-detail-panel {
    width: min(1080px, 98vw);
}

.fbo-stock-detail-panel .shipment-detail-panel-body {
    padding-right: 18px;
    padding-bottom: 18px;
    scrollbar-gutter: stable;
}

.fbo-two-line-cell span,
.fbo-two-line-cell small,
.fbo-two-line-link span,
.fbo-two-line-link small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
}

.fbo-two-line-cell small,
.fbo-two-line-link small {
    margin-top: 2px;
    color: #697382;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.15;
}

.fbo-in-transit-days {
    color: #9a5d00 !important;
}

.fbo-in-transit-days.overdue {
    color: #b91c1c !important;
    font-weight: 900;
}

.compact-table tbody tr.fbo-stock-overdue-row td {
    background: #fff2d8;
    border-color: #f2d18e;
}

.compact-table tbody tr.fbo-stock-overdue-row:hover td {
    background: #ffe8b7;
}

.fbo-stock-detail-panel .compact-detail-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fbo-stock-detail-panel .inner-table-section {
    margin: 0;
}

.fbo-stock-detail-panel .table-wrap {
    padding-right: 14px;
    padding-bottom: 16px;
    scrollbar-gutter: stable both-edges;
}

.fbo-stock-items-table {
    table-layout: fixed;
}

.fbo-stock-history-table {
    table-layout: fixed;
}

.fbo-stock-items-table small {
    display: block;
    color: #697382;
    font-size: 10px;
    font-weight: 700;
}

.fbo-stock-item-sku-col {
    width: 92px;
}

.fbo-stock-item-article-col {
    width: 118px;
}

.fbo-stock-item-product-col {
    width: 390px;
}

.fbo-stock-item-barcode-col {
    width: 150px;
}

.fbo-stock-item-qty-col {
    width: 64px;
}

.fbo-stock-item-status-col {
    width: 92px;
}

.fbo-stock-items-table .fbo-stock-item-status-cell {
    min-width: 0;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    line-height: 1.15;
}

.fbo-stock-items-table .fbo-stock-item-status-cell span,
.fbo-stock-items-table .fbo-stock-item-status-cell small {
    display: block;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: break-word;
    word-break: break-word;
    line-height: 1.2;
}

.fbo-stock-items-table .fbo-stock-item-status-cell small {
    max-width: 78px;
}

.fbo-stock-history-date-col {
    width: 104px;
}

.fbo-stock-history-level-col {
    width: 120px;
}

.fbo-stock-history-field-col {
    width: 116px;
}

.fbo-stock-history-value-col {
    width: 150px;
}

.fbo-stock-history-import-col {
    width: 62px;
}

.file-name {
    max-width: 320px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.text-ellipsis {
    overflow: hidden;
    text-overflow: ellipsis;
}

.pdf-name {
    min-width: 320px;
    max-width: 520px;
}

.warehouse-cell {
    max-width: 220px;
}

.number-cell {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.center-cell {
    text-align: center;
}

.compensations-list-table .comp-claim-count-cell {
    text-align: center;
}

.compensations-list-table .comp-claim-request-cell,
.compensations-list-table .comp-claim-order-cell {
    text-align: center;
}

.text-cell {
    min-width: 260px;
    white-space: normal;
}

.wrap-cell {
    white-space: normal;
    overflow-wrap: anywhere;
}

.text-cell small {
    display: block;
    margin-top: 4px;
    color: #697382;
}

.json-cell {
    min-width: 520px;
    max-width: 760px;
    white-space: normal;
    overflow-wrap: anywhere;
    font-family: Menlo, Consolas, monospace;
    font-size: 12px;
}

.status {
    display: inline-block;
    min-width: 64px;
    padding: 3px 7px;
    border-radius: 6px;
    background: #e8edf3;
    text-align: center;
    font-size: 11px;
    font-weight: 700;
}

.status.DONE {
    background: #dff4e6;
    color: #176a31;
}

.status.FAILED {
    background: #ffe3e3;
    color: #9d2020;
}

.status.PARTIAL {
    background: #fff0c7;
    color: #795600;
}

.empty {
    color: #727c89;
    text-align: center;
}

.local-agent-create-form {
    display: grid;
    grid-template-columns: minmax(160px, 0.7fr) minmax(220px, 1fr) minmax(240px, 1.2fr) auto;
    gap: 12px;
    align-items: end;
}

.local-agent-create-form label {
    display: grid;
    gap: 5px;
}

.local-agent-action-col {
    width: 70px;
}

.local-agent-code-col {
    width: 150px;
}

.local-agent-state-col {
    width: 110px;
}

.local-agent-ip-col {
    width: 130px;
}

.local-agent-seen-col {
    width: 150px;
}

.local-agent-version-col {
    width: 100px;
}

.local-agents-table button {
    min-width: 50px;
    padding: 5px 8px;
}

.local-agent-capabilities {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.local-agent-tasks-table td {
    vertical-align: top;
}

.dispute-videos-table .video-date-col {
    width: 6.5rem;
}

.dispute-videos-table .video-status-col {
    width: 8rem;
}

.dispute-videos-table .video-code-col {
    width: 11rem;
}

.dispute-videos-table .video-assignee-col,
.dispute-videos-table .video-claim-col {
    width: 9rem;
}

.dispute-videos-table .video-count-col {
    width: 5.5rem;
}

.dispute-videos-table .video-prefilter-col {
    width: 8rem;
}

.dispute-videos-table .video-storage-col {
    width: 11rem;
}

.dispute-videos-table .video-actions-col .compact-action-button + form,
.dispute-videos-table .video-actions-col form + form {
    margin-top: 4px;
}

.dispute-videos-table .video-lab-link.unresolved {
    border-color: #d99700;
    background: #fff7df;
    color: #8a5a00;
}

.admin-bot-actions {
    gap: 8px;
}

.admin-bot-actions form {
    margin: 0;
}

.admin-bot-actions button {
    width: auto;
    min-width: 110px;
}

.admin-bot-grid .admin-bot-status-card {
    border-left: 4px solid #c7d2e2;
}

.admin-bot-grid .admin-bot-status-card.status-positive {
    background: #edf8f1;
    border-left-color: #2f9e55;
}

.admin-bot-grid .admin-bot-status-card.status-warning {
    background: #fff7df;
    border-left-color: #d99700;
}

.admin-bot-grid .admin-bot-status-card.status-negative {
    background: #fff0f0;
    border-left-color: #d64545;
}

.admin-bot-grid .admin-bot-status-card.status-muted {
    background: #f7f9fc;
    border-left-color: #9aa7b7;
}

.dispute-videos-table .video-caption-col {
    min-width: 18rem;
}

.dispute-videos-table .video-actions-col {
    width: 7.5rem;
}

.dispute-videos-table .muted-line {
    color: #64748b;
    font-size: 0.78rem;
}

.section-actions .soft-stat {
    color: #64748b;
}

.section-actions .soft-stat strong {
    color: #475569;
}

.barcode-lab-layout {
    display: grid;
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
    gap: 14px;
}

.barcode-lab-sidebar,
.barcode-lab-main {
    min-width: 0;
}

.barcode-lab-page.barcode-lab-loading .barcode-lab-main {
    opacity: 0.62;
    pointer-events: none;
}

.barcode-lab-package-list {
    display: grid;
    gap: 6px;
    max-height: calc(100vh - 220px);
    overflow: auto;
    padding-right: 6px;
}

.barcode-lab-package-filter {
    display: grid;
    gap: 6px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 8px;
}

.barcode-lab-package-filter a {
    border: 1px solid #d8e0ea;
    border-radius: 6px;
    color: #475569;
    font-size: 12px;
    font-weight: 800;
    padding: 7px 8px;
    text-align: center;
    text-decoration: none;
}

.barcode-lab-package-filter a.active {
    background: #e8f2ff;
    border-color: #6aa8e8;
    color: #0b63ce;
}

.barcode-lab-package-list a,
.barcode-lab-photo-tabs a {
    border: 1px solid #d8e0ea;
    border-radius: 6px;
    color: #0f172a;
    display: grid;
    gap: 2px;
    padding: 8px 10px;
    text-decoration: none;
}

.barcode-lab-package-list a.active,
.barcode-lab-photo-tabs a.active {
    background: #e8f2ff;
    border-color: #6aa8e8;
}

.barcode-lab-package-list a.annotation-none {
    border-left: 4px solid #cbd5e1;
}

.barcode-lab-package-list a.annotation-unknown {
    border-left: 4px solid #cbd5e1;
}

.barcode-lab-package-list a.annotation-partial {
    background: #fff7ed;
    border-left: 4px solid #f59e0b;
}

.barcode-lab-package-list a.annotation-complete {
    background: #ecfdf5;
    border-left: 4px solid #22c55e;
}

.barcode-lab-package-list a.active.annotation-partial,
.barcode-lab-package-list a.active.annotation-complete {
    border-color: #6aa8e8;
}

.barcode-lab-package-list a.storage-missing {
    background: #f8fafc;
    border-left-color: #94a3b8;
    opacity: 0.68;
}

.barcode-lab-package-list a.storage-missing.active {
    opacity: 1;
}

.barcode-lab-package-list small,
.barcode-lab-photo-tabs small,
.barcode-lab-hint,
.barcode-lab-region-list small {
    color: #64748b;
}

.barcode-lab-package-annotation {
    color: #0f766e !important;
    font-weight: 700;
}

.barcode-lab-package-auto {
    font-weight: 800;
    overflow-wrap: anywhere;
}

.barcode-lab-package-process {
    color: #526173 !important;
    font-weight: 800;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.barcode-lab-package-process.severity-warning {
    color: #805b00 !important;
}

.barcode-lab-package-process.severity-error {
    color: #a82828 !important;
}

.barcode-lab-package-process.severity-processing {
    color: #176bb0 !important;
}

.barcode-lab-process {
    display: grid;
    gap: 3px;
    margin-bottom: 10px;
}

.barcode-lab-process-modal .capture-process-detail:target {
    background: #f7faff;
}

.barcode-lab-empty-filter {
    max-width: 520px;
}

.barcode-lab-training-status {
    color: #075ea8 !important;
    font-weight: 800;
}

.barcode-lab-training-case {
    align-items: center;
    background: #f6f8fb;
    border: 1px solid #cbd7e6;
    border-radius: 6px;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 10px;
    padding: 7px 9px;
}

.barcode-lab-training-case > div {
    display: grid;
    gap: 2px;
}

.barcode-lab-training-case small {
    color: #64748b;
}

.barcode-lab-training-case select {
    min-width: 130px;
}

@media (max-width: 720px) {
    .barcode-lab-training-case {
        align-items: stretch;
        flex-direction: column;
    }
}

.barcode-lab-package-auto.auto-found {
    color: #166534 !important;
}

.barcode-lab-package-auto.auto-not-found {
    color: #b45309 !important;
}

.barcode-lab-package-auto.auto-none {
    color: #94a3b8 !important;
}

.barcode-lab-package-storage-missing,
.barcode-lab-package-storage-status,
.barcode-lab-package-annotations-status {
    background: #e2e8f0;
    border-radius: 999px;
    color: #475569 !important;
    font-size: 11px;
    font-weight: 800;
    padding: 2px 7px;
    width: max-content;
}

.barcode-lab-package-storage-status.storage-upload-ok,
.barcode-lab-package-annotations-status.annotations-uploaded {
    background: #dcfce7;
    color: #166534 !important;
}

.barcode-lab-package-storage-status.storage-upload-bad {
    background: #fee2e2;
    color: #991b1b !important;
}

.barcode-lab-package-storage-status.storage-upload-missing {
    background: #e2e8f0;
    color: #475569 !important;
}

.barcode-lab-package-annotations-status.annotations-local {
    background: #fef3c7;
    color: #92400e !important;
}

.barcode-lab-package-annotations-status.annotations-missing {
    background: #e2e8f0;
    color: #64748b !important;
}

.barcode-lab-package-local-files {
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    padding: 2px 7px;
    width: max-content;
}

.barcode-lab-package-local-files.local-files-present {
    background: #dcfce7;
    color: #166534 !important;
}

.barcode-lab-package-local-files.local-files-partial {
    background: #fef3c7;
    color: #92400e !important;
}

.barcode-lab-package-local-files.local-files-missing {
    background: #fee2e2;
    color: #991b1b !important;
}

.barcode-lab-status-badge {
    border-radius: 999px;
    display: inline-flex;
    font-size: 11px;
    font-weight: 700;
    justify-content: center;
    line-height: 1.2;
    padding: 2px 6px;
    width: max-content;
}

.barcode-lab-status-badge.status-unmarked {
    background: #eef2f7;
    color: #64748b;
}

.barcode-lab-status-badge.status-has-code {
    background: #dcfce7;
    color: #166534;
}

.barcode-lab-status-badge.status-no-code {
    background: #fee2e2;
    color: #991b1b;
}

.barcode-lab-status-badge.status-irrelevant-code {
    background: #fef3c7;
    color: #92400e;
}

.barcode-lab-live-diag {
    border-radius: 999px;
    color: #64748b;
    display: block;
    font-weight: 700;
    line-height: 1.25;
    max-width: 100%;
    overflow-wrap: anywhere;
    padding: 2px 6px;
    width: fit-content;
}

.barcode-lab-live-diag.live-good {
    background: #dcfce7;
    color: #166534;
}

.barcode-lab-live-diag.live-bad {
    background: #fee2e2;
    color: #991b1b;
}

.barcode-lab-live-diag.live-neutral {
    background: #eef2f7;
    color: #64748b;
}

.barcode-lab-storage-plan {
    align-self: center;
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
    max-width: 520px;
}

.barcode-lab-photo-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px;
}

.barcode-lab-photo-tabs a {
    min-width: 54px;
    max-width: 240px;
    padding: 6px 8px;
}

.barcode-lab-workspace {
    display: grid;
    grid-template-columns: minmax(360px, 1fr) minmax(390px, 460px);
    gap: 14px;
    align-items: start;
}

.barcode-lab-image-wrap {
    background: #f8fafc;
    border: 1px solid #d8e0ea;
    border-radius: 6px;
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    position: relative;
}

.barcode-lab-image-wrap img {
    display: block;
    position: absolute;
    transform-origin: center center;
}

.barcode-lab-overlay {
    cursor: crosshair;
    inset: 0;
    position: absolute;
    width: 100%;
    height: 100%;
}

.barcode-lab-region {
    fill: rgba(31, 122, 224, 0.16);
    stroke: #0b63ce;
    stroke-width: 2;
}

.barcode-lab-region.draft {
    fill: rgba(217, 119, 6, 0.16);
    stroke: #d97706;
    stroke-dasharray: 5 4;
}

.barcode-lab-region.active {
    fill: rgba(34, 197, 94, 0.18);
    stroke: #16a34a;
    stroke-width: 3;
}

.barcode-lab-region-label {
    fill: #0b2f5b;
    font-size: 13px;
    font-weight: 700;
    paint-order: stroke;
    stroke: #ffffff;
    stroke-width: 3px;
}

.barcode-lab-editor {
    display: grid;
    gap: 12px;
}

.barcode-lab-editor #annotationForm {
    order: 1;
}

.barcode-lab-editor > .detail-grid {
    order: 2;
}

.barcode-lab-controls {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.barcode-lab-presence {
    display: grid;
    gap: 6px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.barcode-lab-presence label {
    align-items: center;
    border: 1px solid #d8e0ea;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    gap: 6px;
    padding: 8px;
}

.barcode-lab-presence label:has(input:checked) {
    background: #e8f2ff;
    border-color: #6aa8e8;
}

.barcode-lab-region-list {
    border: 1px dashed #cbd5e1;
    border-radius: 6px;
    display: grid;
    gap: 6px;
    padding: 8px;
}

.barcode-lab-region-list div {
    display: grid;
    gap: 2px;
}

.barcode-lab-actions {
    justify-content: end;
}

.barcode-prefilter-report {
    border: 1px solid #d8e0ea;
    border-radius: 6px;
    display: grid;
    gap: 8px;
    margin-bottom: 12px;
    padding: 10px;
}

.barcode-prefilter-summary {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.barcode-prefilter-buckets {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.barcode-prefilter-summary > div {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    display: grid;
    gap: 2px;
    min-width: 0;
    padding: 8px;
}

.barcode-prefilter-summary.warning > div {
    background: #fff7ed;
}

.barcode-prefilter-summary.notice > div {
    background: #fefce8;
}

.barcode-prefilter-summary.good > div {
    background: #ecfdf5;
}

.barcode-prefilter-summary > div.rule-good {
    background: #dcfce7;
    border-color: #86efac;
}

.barcode-prefilter-summary > div.rule-warning {
    background: #ffedd5;
    border-color: #fdba74;
}

.barcode-prefilter-summary > div.rule-muted {
    background: #f1f5f9;
    border-color: #cbd5e1;
}

.barcode-prefilter-summary span,
.barcode-prefilter-summary small,
.barcode-prefilter-errors small {
    color: #64748b;
}

.barcode-prefilter-summary strong {
    color: #0f172a;
    font-size: 18px;
}

.barcode-prefilter-errors {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.barcode-prefilter-errors a {
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    color: #0f172a;
    display: grid;
    gap: 1px;
    min-width: 190px;
    padding: 6px 8px;
    text-decoration: none;
}

.barcode-prefilter-errors a.false-negative {
    background: #fee2e2;
    border-color: #fca5a5;
}

.barcode-prefilter-errors a.false-positive {
    background: #fef9c3;
    border-color: #fde68a;
}

@media (max-width: 820px) {
    .page-header {
        display: block;
    }

    .top-nav {
        margin-top: 14px;
    }

    .form-row,
    .search-row,
    .filters-row,
    .claims-filters-row,
    .local-agent-create-form,
    .received-shipments-filters-row,
    .economics-filters-row,
    .economics-dashboard-filters-row,
    .imports-filters-row,
    .accept-act-edit-row,
    .user-create-form,
    .telegram-form,
    .upload-actions,
    .detail-grid {
        grid-template-columns: 1fr;
    }

    .detail-grid .wide {
        grid-column: span 1;
    }

    .shipment-detail-panel {
        width: 100vw;
    }

    .shipment-detail-panel.logistics-trip-detail-panel {
        width: 100vw;
    }

    .barcode-lab-layout,
    .barcode-lab-workspace {
        grid-template-columns: 1fr;
    }

    .dispute-edit-two-columns {
        display: grid;
        grid-template-columns: 1fr;
        padding-right: 0;
    }

    .dispute-edit-right-column {
        position: static;
        width: auto;
    }

    .dispute-chats-panel {
        width: 100%;
    }
}

.chat-import-panel textarea {
    width: 100%;
    min-height: 320px;
    resize: vertical;
    font-family: Consolas, "Courier New", monospace;
    line-height: 1.35;
}

.chat-import-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    padding: 10px;
    border-bottom: 1px solid #d8e0ea;
}

.chat-import-summary-grid > div {
    min-width: 0;
    padding: 8px;
    border: 1px solid #d8e0ea;
    border-radius: 6px;
    background: #f8fafc;
}

.chat-import-summary-grid span {
    display: block;
    color: #526174;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.chat-import-summary-grid strong {
    display: block;
    margin-top: 3px;
    color: #172033;
    overflow-wrap: anywhere;
}

.chat-import-table th:first-child,
.chat-import-table td:first-child {
    width: 42px;
}

.chat-import-message-text {
    min-width: 360px;
    white-space: pre-wrap;
}

.chat-import-category {
    display: inline-flex;
    padding: 2px 6px;
    border-radius: 999px;
    background: #eef4ff;
    color: #064f9e;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.chat-import-plan {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-bottom: 1px solid #d8e0ea;
    font-size: 14px;
}

.chat-import-plan.ready {
    background: #ecfdf3;
    color: #14532d;
}

.chat-import-plan.blocked {
    background: #fff7ed;
    color: #7c2d12;
}

.chat-import-plan.conflict {
    background: #fef2f2;
    color: #991b1b;
}

.chat-import-plan a {
    margin-left: auto;
    color: inherit;
    font-weight: 700;
}

.chat-import-risk-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.chat-import-risk {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.chat-import-risk.warning {
    background: #fff7df;
    color: #6f4300;
}

.chat-import-risk.error {
    background: #fef2f2;
    color: #991b1b;
}

.dispute-chat-message-category {
    display: inline-flex;
    padding: 1px 6px;
    border-radius: 999px;
    background: #eef4ff;
    color: #064f9e;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.dispute-chat-import-modal-panel {
    width: min(1180px, calc(100vw - 32px));
}

.dispute-chat-import-form {
    display: grid;
    gap: 10px;
}

.dispute-chat-import-form textarea {
    width: 100%;
    min-height: 220px;
    resize: vertical;
    font-family: Consolas, "Courier New", monospace;
}

.chat-import-inline-preview {
    display: grid;
    gap: 10px;
}

.compact-preview-scroll {
    max-height: 320px;
    overflow: auto;
}

.dispute-chat-import-confirm {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid #f2c97d;
    border-radius: 6px;
    background: #fff7df;
    color: #6f4300;
    font-weight: 700;
}

.dispute-chat-import-confirm input {
    width: auto;
}
.partner-videos-page .alert {
    margin-bottom: 12px;
}

.partner-video-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(140px, 220px));
    gap: 10px;
    margin-bottom: 14px;
}

.partner-video-summary div {
    border: 1px solid #d5dde8;
    border-radius: 8px;
    background: #fff;
    padding: 10px 12px;
}

.partner-video-summary span {
    display: block;
    color: #526072;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.partner-video-summary strong {
    display: block;
    margin-top: 4px;
    font-size: 24px;
}

.partner-video-section {
    margin-top: 14px;
}

.partner-video-filter-panel {
    margin-bottom: 12px;
}

.partner-video-filter-row {
    display: grid;
    grid-template-columns:
        minmax(150px, 1fr)
        minmax(150px, 1fr)
        minmax(130px, 0.85fr)
        minmax(140px, 0.9fr)
        86px
        96px
        auto;
    align-items: end;
    gap: 8px;
}

.partner-video-filter-row label,
.partner-video-filter-row .filter-field {
    min-width: 0;
}

.partner-video-filter-row input[type="search"],
.partner-video-filter-row select {
    width: 100%;
}

.partner-video-history-filter {
    align-self: end;
    grid-template-rows: 34px;
}

.partner-video-history-filter > label {
    height: 34px;
}

.partner-video-filter-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.partner-video-filter-actions button,
.partner-video-filter-actions .button {
    width: auto;
    min-width: 72px;
    min-height: 34px;
    padding: 7px 10px;
    font-size: 12px;
}

.partner-video-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    border: 1px solid #d7e0ec;
    border-left: 5px solid #2f80ed;
    border-radius: 8px;
    background: #fff;
    padding: 12px 14px;
    margin-bottom: 10px;
    cursor: pointer;
}

.partner-video-card:hover {
    border-color: #b9c8da;
    box-shadow: 0 3px 12px rgba(36, 52, 71, 0.08);
}

.partner-video-card.review {
    border-left-color: #b7791f;
    background: #fffaf0;
}

.partner-video-card.bad,
.partner-video-card.overdue {
    border-left-color: #c53030;
    background: #fff5f5;
}

.partner-video-card.history {
    grid-template-columns: minmax(0, 1fr);
    background: #f8fafc;
}

.partner-video-card.deadline-today {
    border-left-color: #f97316;
    background: #fff7ed;
}

.partner-video-modal-card {
    margin-bottom: 0;
    cursor: default;
    box-shadow: none;
}

.partner-video-modal-card:hover {
    border-color: #d7e0ec;
    box-shadow: none;
}

.partner-video-card-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
}

.partner-video-card-titleline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.partner-video-card-head strong {
    display: inline-block;
    font-size: 20px;
    line-height: 1.1;
}

.partner-video-card-head span {
    display: inline-block;
    margin-left: 8px;
    color: #3d4c5f;
    font-weight: 700;
}

.partner-video-card-head .partner-video-delivery-scheme,
.partner-video-card-head .partner-video-head-meta,
.partner-video-card-head .partner-video-head-meta span {
    margin-left: 0;
}

.partner-video-card-head .partner-video-identifier,
.partner-video-card-head .partner-video-identifier strong {
    font-size: 17px;
    line-height: 1.1;
}

.partner-video-card-head .partner-video-identifier + .partner-video-identifier + span {
    font-size: 17px;
    line-height: 1.1;
}

.partner-video-status {
    text-align: right;
    min-width: 132px;
}

.partner-video-status span {
    display: block;
    margin-left: 0;
    color: #0f3f75;
    font-size: 17px;
    line-height: 1.18;
    white-space: nowrap;
}

.partner-video-status small,
.partner-video-meta,
.partner-video-text.muted {
    color: #5b697a;
}

.partner-video-status small {
    display: block;
    margin-top: 6px;
    font-size: 14px;
    white-space: nowrap;
}

.partner-video-status small.deadline-urgent {
    color: #b42318;
    font-weight: 800;
}

.partner-video-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 8px 0;
    font-size: 13px;
}

.partner-video-card-head + .partner-video-meta {
    display: none;
}

.partner-video-head-meta {
    margin: 0;
}

.partner-video-meta span {
    border-radius: 999px;
    background: #edf2f7;
    padding: 3px 8px;
}

.partner-video-identifier strong {
    color: #1b2735;
    font-weight: 800;
}

.partner-video-source-key {
    display: inline-flex;
    align-items: center;
    min-width: 0;
}

.partner-video-source-key a {
    color: #075ea8;
    text-decoration: none;
}

.partner-video-source-key a:hover {
    text-decoration: underline;
}

.partner-video-copy-anchor {
    display: inline-flex;
    margin-left: 4px;
    vertical-align: -2px;
}

.partner-video-copy-anchor .delivery-inline-copy {
    margin-left: 0;
}

.shipment-card-heading {
    align-items: center;
}

.shipment-source-list {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 5px;
}

.shipment-source-list span {
    border: 1px solid #cbd7e6;
    border-radius: 999px;
    background: #f6f8fb;
    color: #526072;
    padding: 2px 7px;
    font-size: 11px;
    font-weight: 700;
}

.shipment-search-results {
    display: grid;
    gap: 6px;
}

.shipment-search-hit {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid #cbd7e6;
    border-radius: 6px;
    background: #fff;
    padding: 9px 11px;
}

.shipment-search-hit-main,
.shipment-search-hit-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.shipment-search-hit-main > a {
    color: #075ea8;
    font-weight: 800;
}

.shipment-search-hit-meta {
    justify-content: flex-end;
    color: #526072;
    font-size: 12px;
}

@media (max-width: 720px) {
    .shipment-search-hit {
        align-items: flex-start;
        flex-direction: column;
    }

    .shipment-search-hit-meta {
        justify-content: flex-start;
    }
}

.partner-video-title {
    font-weight: 700;
    margin: 8px 0;
    font-size: 17px;
    line-height: 1.18;
    white-space: normal;
}

.partner-video-text {
    margin: 6px 0;
    white-space: pre-wrap;
}

.partner-video-links {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin-top: 8px;
}

.partner-video-links > span {
    color: #526072;
    font-size: 13px;
    font-weight: 700;
}

.partner-video-links a {
    border-radius: 999px;
    background: #eef6ff;
    padding: 4px 8px;
    font-weight: 700;
}

.partner-video-link-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
}

.partner-video-links small {
    margin-left: 4px;
    color: #5b697a;
    font-weight: 400;
}

.partner-video-actions {
    display: grid;
    gap: 10px;
    align-content: start;
}

.partner-video-actions form {
    display: grid;
    gap: 6px;
    border: 1px solid #e1e8f0;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.82);
    padding: 8px;
}

.partner-video-actions input[type="file"] {
    width: 100%;
}

.partner-video-upload-buttons {
    display: grid;
    grid-template-columns: minmax(112px, 0.75fr) minmax(168px, 1fr);
    gap: 8px;
}

.partner-video-actions button,
.partner-video-modal-actions button {
    justify-self: stretch;
    width: 100%;
    min-width: 0;
    padding-left: 12px;
    padding-right: 12px;
    white-space: nowrap;
}

.partner-video-modal[hidden] {
    display: none;
}

.partner-video-modal {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: grid;
    place-items: center;
    padding: 16px;
}

.partner-video-modal-backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(15, 23, 42, 0.42);
}

.partner-video-modal-panel {
    position: relative;
    width: min(520px, 100%);
    border: 1px solid #cfdae7;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.22);
    padding: 16px;
}

.partner-video-task-modal-panel {
    width: min(860px, 100%);
    max-height: calc(100vh - 32px);
    overflow: auto;
}

.partner-video-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.partner-video-modal-titleline {
    display: flex;
    align-items: baseline;
    gap: 10px;
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
}

.partner-video-modal-header h2 {
    margin: 0;
    font-size: 20px;
    line-height: 1.2;
    white-space: nowrap;
}

.partner-video-modal-header small {
    display: inline-block;
    margin-top: 0;
    color: #5b697a;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.partner-video-modal-header button {
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
    justify-self: auto;
    margin-left: auto;
    border: 1px solid #c7d4e4;
    border-radius: 8px;
    background: #fff;
    color: #0f4f8f;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    padding: 8px 12px;
    cursor: pointer;
}

.partner-video-modal-header button:hover {
    border-color: #9bb3cf;
    background: #f4f8fc;
}

.partner-video-modal-panel form,
.partner-video-modal-panel label {
    display: grid;
    gap: 8px;
}

.partner-video-modal-panel label span {
    font-size: 12px;
    font-weight: 700;
    color: #405066;
    text-transform: uppercase;
}

.partner-video-modal-panel textarea {
    width: 100%;
    resize: vertical;
}

.partner-video-modal-body {
    display: grid;
    gap: 12px;
}

.partner-video-modal-action-panel {
    display: grid;
    gap: 12px;
    padding-top: 12px;
    border-top: 1px solid #e3e9f1;
}

.partner-video-modal-action-panel[hidden] {
    display: none;
}

.partner-video-modal-action-panel form {
    display: grid;
    gap: 8px;
    margin: 0;
}

.partner-video-modal-action-panel input[type="file"],
.partner-video-modal-action-panel input[type="url"] {
    width: 100%;
}

.partner-video-link-upload-form {
    padding-top: 10px;
    border-top: 1px solid #e3e9f1;
}

.partner-video-modal-action-panel button {
    width: 100%;
}

.partner-video-progress[hidden] {
    display: none;
}

.partner-video-progress {
    display: grid;
    gap: 5px;
}

.partner-video-progress-track {
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: #dbe4ef;
}

.partner-video-progress-track span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: #1669b7;
    transition: width 120ms ease;
}

.partner-video-progress-text,
.partner-video-modal-state {
    color: #53606f;
    font-size: 12px;
    font-weight: 700;
}

.partner-video-modal-state.success {
    color: #176b3a;
}

.partner-video-modal-state.error {
    color: #9d2020;
}

.partner-video-modal-state.saving {
    color: #0f3f75;
}

.partner-video-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 8px;
}

@media (max-width: 900px) {
    .partner-video-card {
        grid-template-columns: 1fr;
    }

    .partner-video-card-head {
        display: block;
    }

    .partner-video-status {
        margin-top: 8px;
        text-align: left;
    }

    .partner-video-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
.mobile-devices-page .inline-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    flex-wrap: wrap;
}

.mobile-devices-page .inline-actions form {
    margin: 0;
}

.mobile-devices-page .inline-actions button {
    min-height: 28px;
    padding: 4px 8px;
    white-space: nowrap;
}

.mobile-devices-page .device-session-count {
    display: inline-flex;
    align-items: baseline;
    gap: 3px;
    white-space: nowrap;
}

.mobile-devices-page .device-session-count strong {
    font-size: 16px;
}

.mobile-devices-page .device-location {
    display: grid;
    gap: 2px;
    min-width: 112px;
}

.mobile-devices-page .device-location a {
    font-weight: 700;
    white-space: nowrap;
}

.mobile-devices-page .device-location .low-accuracy {
    color: #a15c00;
    font-weight: 700;
}

.mobile-devices-page .status-pill {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 2px 8px;
    border-radius: 7px;
    background: #eef2f7;
    color: #42526e;
    font-weight: 700;
}

.mobile-devices-page .status-pill.status-positive {
    background: #e6f6ed;
    color: #17683a;
}

.mobile-devices-page .status-pill.status-negative {
    background: #fde8e8;
    color: #9b1c1c;
}

.mobile-devices-page .status-pill.status-muted {
    background: #eef2f7;
    color: #59677c;
}

.closing-documents-page .closing-documents-filter-row {
    display: grid;
    grid-template-columns: minmax(220px, 1.2fr) 160px 160px 110px auto auto;
    gap: 12px;
    align-items: end;
}

.closing-documents-page .warning-panel {
    border-color: #f6c56d;
    background: #fff8e6;
}

.closing-documents-page .warning-panel ul {
    margin: 8px 0 0;
    padding-left: 20px;
}

.closing-documents-page .section-title form {
    margin: 0;
}

.closing-documents-page .strong-code {
    font-weight: 700;
    color: #004b96;
    white-space: nowrap;
}

.closing-documents-page .wrap-cell {
    max-width: 420px;
    white-space: normal;
}

.closing-documents-page .muted-row {
    color: #6b7280;
    background: #f5f6f8;
}

.closing-documents-page .empty-cell {
    color: #6b7280;
    text-align: center;
    padding: 18px;
}

.closing-documents-page .summary-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
}

.closing-documents-page .small-action {
    min-height: 28px;
    padding: 4px 8px;
}

.releases-admin-page .page-header {
    align-items: flex-start;
}

.release-publish-section {
    margin-bottom: 12px;
    padding: 12px;
    border: 1px solid #dde2e8;
    border-radius: 8px;
    background: #fff;
}

.release-publish-form {
    display: grid;
    grid-template-columns: minmax(420px, 1.15fr) minmax(360px, 0.85fr);
    gap: 12px;
    align-items: start;
}

.release-form-block {
    min-width: 0;
    padding: 10px;
    border: 1px solid #e2e7ee;
    border-radius: 8px;
    background: #f8fafc;
}

.release-form-block h3 {
    margin: 0 0 10px;
    color: #263343;
    font-size: 14px;
}

.release-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    align-items: end;
}

.release-form-grid label {
    min-width: 0;
}

.release-form-grid input,
.release-form-grid select,
.release-form-grid textarea {
    width: 100%;
    min-height: 34px;
}

.release-form-grid input[type="datetime-local"] {
    min-height: 34px;
    padding: 6px 8px;
    border: 1px solid #ccd3dc;
    border-radius: 6px;
    background: #fff;
    font: inherit;
}

.release-form-grid input[type="file"] {
    padding: 5px 8px;
}

.release-form-grid textarea {
    resize: vertical;
}

.release-field-wide {
    grid-column: 1 / -1;
}

.release-switch {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 7px 8px;
    border: 1px solid #d7dee8;
    border-radius: 6px;
    background: #fff;
}

.release-switch input[type="checkbox"] {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin: 0;
}

.release-switch span {
    margin: 0;
    color: #2f3b4b;
    text-transform: none;
}

.release-form-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.release-form-actions button {
    width: auto;
    min-width: 160px;
    padding: 7px 14px;
}

.release-summary-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(140px, 1fr));
    gap: 1px;
    margin-bottom: 12px;
    overflow: hidden;
    border: 1px solid #dfe4ea;
    border-radius: 8px;
    background: #dfe4ea;
}

.release-summary-strip > div {
    min-width: 0;
    padding: 10px 12px;
    background: #fff;
}

.release-summary-strip span {
    display: block;
    margin-bottom: 3px;
    color: #667180;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.release-summary-strip strong {
    display: block;
    color: #1d2b3a;
    font-size: 18px;
}

.release-table-section .table-wrap {
    max-height: min(58vh, 680px);
}

.release-table td small {
    display: block;
    margin-top: 2px;
    color: #667180;
}

.release-actions {
    display: flex;
    flex-wrap: nowrap;
    gap: 5px;
    align-items: center;
    justify-content: flex-end;
}

.release-actions form {
    margin: 0;
}

.release-actions button {
    width: auto;
    min-height: 26px;
    padding: 4px 8px;
    white-space: nowrap;
}

.release-rollout-form {
    display: flex;
    gap: 4px;
    align-items: center;
}

.release-rollout-form input[type="number"] {
    width: 54px;
    min-height: 26px;
    padding: 3px 5px;
}

.release-rollout-form button {
    min-width: 28px;
    padding: 4px 6px;
}

@media (max-width: 1100px) {
    .release-publish-form {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .release-form-grid,
    .release-summary-strip {
        grid-template-columns: 1fr;
    }

    .release-form-actions {
        justify-content: stretch;
    }

    .release-form-actions button {
        width: 100%;
    }
}

.monitoring-page {
    --monitoring-border: #d8e0e8;
}

.monitoring-filters-row {
    display: grid;
    grid-template-columns: 132px 132px minmax(170px, 1fr) minmax(190px, 1.1fr) minmax(150px, 0.8fr) 92px 86px 76px;
    gap: 10px;
    align-items: end;
}

.monitoring-filters-row button,
.monitoring-filters-row .button {
    width: 100%;
    min-width: 0;
}

.monitoring-kpi-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 10px;
}

.monitoring-kpi {
    display: grid;
    gap: 7px;
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--monitoring-border);
    border-radius: 8px;
    background: #fff;
}

.monitoring-kpi span {
    color: #526173;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.monitoring-kpi strong {
    font-size: 24px;
    line-height: 1;
}

.monitoring-kpi small,
.monitoring-metric-cell small,
.monitoring-compact-metric small {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    color: #657386;
    font-size: 11px;
    font-weight: 700;
}

.monitoring-kpi small {
    justify-content: flex-start;
}

.monitoring-section {
    margin-bottom: 10px;
}

.monitoring-two-column {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 10px;
}

.monitoring-table {
    min-width: 100%;
}

.monitoring-metric-cell strong,
.monitoring-compact-metric strong {
    display: block;
}

.monitoring-compact-metric small {
    display: block;
}

.monitoring-summary-table {
    min-width: 1180px;
}

@media (max-width: 1100px) {
    .monitoring-filters-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .monitoring-kpi-grid,
    .monitoring-two-column {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 980px) {
    .closing-documents-page .closing-documents-filter-row {
        grid-template-columns: 1fr 1fr;
    }
}

.matrix-admin-page .matrix-command-section {
    display: grid;
    gap: 8px;
    align-items: start;
}

.matrix-admin-page .matrix-command-section h2 {
    margin: 0 0 2px;
    font-size: 18px;
}

.matrix-admin-page .matrix-schedule-section {
    padding: 14px 16px;
}

.matrix-admin-page .matrix-schedule-row {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto auto;
    gap: 12px;
    align-items: center;
}

.matrix-admin-page .matrix-schedule-row strong,
.matrix-admin-page .matrix-schedule-row small {
    display: block;
}

.matrix-admin-page .matrix-schedule-row small {
    margin-top: 3px;
    color: #5b6b7c;
}

.matrix-admin-page .matrix-command-form,
.matrix-admin-page .matrix-sync-form {
    margin: 0;
}

.matrix-admin-page .matrix-command-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.matrix-admin-page .matrix-command-buttons button,
.matrix-admin-page .matrix-sync-form button,
.matrix-admin-page .matrix-limit-form button {
    width: auto;
    min-height: 34px;
    padding: 7px 12px;
}

.matrix-admin-page .matrix-command-buttons button {
    min-width: 112px;
}

.matrix-admin-page .matrix-command-form textarea {
    min-height: 68px;
    resize: vertical;
}

.matrix-admin-page .matrix-limit-form {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}

.matrix-admin-page .matrix-limit-form select {
    width: 96px;
    min-height: 34px;
}

.matrix-admin-page .matrix-text-cell {
    max-width: 520px;
    white-space: normal;
    overflow-wrap: anywhere;
}

.ozon-matrix-bot-page .status-summary-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 10px;
}

.ozon-matrix-bot-page .matrix-schedule-row {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 12px 16px 0;
}

.ozon-matrix-bot-page .matrix-schedule-main {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto auto;
    gap: 12px;
    align-items: center;
}

.ozon-matrix-bot-page .matrix-run-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    width: 100%;
}

.ozon-matrix-bot-page .matrix-run-buttons form {
    margin: 0;
}

.ozon-matrix-bot-page .matrix-schedule-row strong,
.ozon-matrix-bot-page .matrix-schedule-row small {
    display: block;
}

.ozon-matrix-bot-page .matrix-schedule-row small {
    margin-top: 3px;
    color: #5b6b7c;
}

.ozon-matrix-bot-page .section-title .matrix-command-buttons {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ozon-matrix-bot-page .matrix-limit-form {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin: 0;
}

.ozon-matrix-bot-page .matrix-limit-form select {
    width: 104px;
    min-height: 34px;
}

.ozon-matrix-bot-page .matrix-tasks-table-wrap {
    width: min(100%, 1320px);
}

.ozon-matrix-bot-page .matrix-report-tasks-table {
    table-layout: fixed;
    width: 100%;
}

.ozon-matrix-bot-page .matrix-report-tasks-table th:nth-child(1),
.ozon-matrix-bot-page .matrix-report-tasks-table td:nth-child(1) {
    width: 270px;
}

.ozon-matrix-bot-page .matrix-report-tasks-table th:nth-child(2),
.ozon-matrix-bot-page .matrix-report-tasks-table td:nth-child(2) {
    width: 210px;
}

.ozon-matrix-bot-page .matrix-report-tasks-table th:nth-child(4),
.ozon-matrix-bot-page .matrix-report-tasks-table td:nth-child(4) {
    width: 66px;
    text-align: center;
}

.ozon-matrix-bot-page .matrix-report-tasks-table th:nth-child(5),
.ozon-matrix-bot-page .matrix-report-tasks-table td:nth-child(5) {
    width: 260px;
}

.ozon-matrix-bot-page .matrix-report-tasks-table th:nth-child(6),
.ozon-matrix-bot-page .matrix-report-tasks-table td:nth-child(6) {
    width: 166px;
}

.ozon-matrix-bot-page .matrix-task-cell,
.ozon-matrix-bot-page .matrix-time-cell,
.ozon-matrix-bot-page .matrix-command-cell,
.ozon-matrix-bot-page .matrix-error-cell {
    min-width: 0;
}

.ozon-matrix-bot-page .matrix-task-head,
.ozon-matrix-bot-page .matrix-task-meta,
.ozon-matrix-bot-page .matrix-time-cell div {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.ozon-matrix-bot-page .matrix-task-head {
    margin-bottom: 4px;
}

.ozon-matrix-bot-page .matrix-task-meta + .matrix-task-meta,
.ozon-matrix-bot-page .matrix-time-cell div + div {
    margin-top: 3px;
}

.ozon-matrix-bot-page .matrix-task-meta,
.ozon-matrix-bot-page .matrix-time-cell span {
    color: #526173;
    font-size: 12px;
}

.ozon-matrix-bot-page .matrix-task-meta strong,
.ozon-matrix-bot-page .matrix-task-meta span,
.ozon-matrix-bot-page .matrix-time-cell strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ozon-matrix-bot-page .matrix-command-cell span {
    display: block;
    overflow: hidden;
    white-space: normal;
    overflow-wrap: anywhere;
}

.ozon-matrix-bot-page .matrix-error-cell span:not(.matrix-task-note-pill) {
    display: -webkit-box;
    overflow: hidden;
    white-space: normal;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.ozon-matrix-bot-page .matrix-task-note-pill {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    margin: 0 0 4px;
    padding: 2px 7px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
}

.ozon-matrix-bot-page .matrix-task-note-duplicate {
    color: #66512c;
    background: #f4ead0;
}

.ozon-matrix-bot-page .matrix-stale-warning {
    margin: 8px 0 10px;
    padding: 9px 12px;
    border: 1px solid #f2cf8d;
    border-radius: 8px;
    color: #854d0e;
    background: #fff7dd;
    font-weight: 700;
}

.ozon-matrix-bot-page .actions-cell {
    white-space: nowrap;
}

.ozon-matrix-bot-page .matrix-action-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}

.ozon-matrix-bot-page .actions-cell form {
    margin: 0;
}

.ozon-matrix-bot-page .danger-button {
    color: #9f1d1d;
    border-color: #f2b8b8;
}

.ozon-matrix-bot-page .matrix-report-tasks-table td {
    vertical-align: top;
}

.ozon-matrix-bot-page .matrix-report-tasks-table tr.matrix-task-status-running td,
.ozon-matrix-bot-page .matrix-report-tasks-table tr.matrix-task-status-waiting_reply td {
    background: #e8f3ff;
}

.ozon-matrix-bot-page .matrix-report-tasks-table tr.matrix-task-status-done td {
    background: #edf8ef;
}

.ozon-matrix-bot-page .matrix-report-tasks-table tr.matrix-task-status-paused td {
    background: #fff7dd;
}

.ozon-matrix-bot-page .matrix-report-tasks-table tr.matrix-task-status-failed td {
    background: #fff0f0;
}

.ozon-matrix-bot-page .matrix-report-tasks-table tr.matrix-task-status-no_data td,
.ozon-matrix-bot-page .matrix-report-tasks-table tr.matrix-task-status-skipped td {
    background: #f7f4ee;
}

.ozon-matrix-bot-page .matrix-report-tasks-table tr.matrix-task-status-cancelled td {
    background: #f1f3f5;
    color: #667085;
}

.ozon-matrix-bot-page .matrix-report-tasks-table tr.matrix-task-status-running td:first-child,
.ozon-matrix-bot-page .matrix-report-tasks-table tr.matrix-task-status-waiting_reply td:first-child {
    border-left: 4px solid #2f80ed;
}

.ozon-matrix-bot-page .matrix-report-tasks-table tr.matrix-task-status-done td:first-child {
    border-left: 4px solid #2f9e44;
}

.ozon-matrix-bot-page .matrix-report-tasks-table tr.matrix-task-status-paused td:first-child {
    border-left: 4px solid #d29a00;
}

.ozon-matrix-bot-page .matrix-report-tasks-table tr.matrix-task-status-failed td:first-child {
    border-left: 4px solid #d64545;
}

.ozon-matrix-bot-page .matrix-report-tasks-table tr.matrix-task-status-no_data td:first-child,
.ozon-matrix-bot-page .matrix-report-tasks-table tr.matrix-task-status-skipped td:first-child {
    border-left: 4px solid #9a8f7a;
}

.ozon-matrix-bot-page .matrix-report-tasks-table tr.matrix-task-status-cancelled td:first-child {
    border-left: 4px solid #98a2b3;
}

.ozon-matrix-bot-page .matrix-task-status-pill {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 3px 8px;
    border-radius: 999px;
    font-weight: 800;
    letter-spacing: 0;
}

.ozon-matrix-bot-page .matrix-task-status-pill-new {
    color: #344054;
    background: #eef2f6;
}

.ozon-matrix-bot-page .matrix-task-status-pill-running,
.ozon-matrix-bot-page .matrix-task-status-pill-waiting_reply,
.ozon-matrix-bot-page .matrix-task-status-pill-downloaded,
.ozon-matrix-bot-page .matrix-task-status-pill-importing {
    color: #075985;
    background: #d7edff;
}

.ozon-matrix-bot-page .matrix-task-status-pill-done {
    color: #166534;
    background: #ccefd8;
}

.ozon-matrix-bot-page .matrix-task-status-pill-no_data {
    color: #2f6b3f;
    background: #e4f7df;
}

.ozon-matrix-bot-page .matrix-task-status-pill-skipped {
    color: #66512c;
    background: #f4ead0;
}

.ozon-matrix-bot-page .matrix-task-status-pill-paused {
    color: #854d0e;
    background: #fee7a6;
}

.ozon-matrix-bot-page .matrix-task-status-pill-failed {
    color: #991b1b;
    background: #ffd6d6;
}

.ozon-matrix-bot-page .matrix-task-status-pill-cancelled {
    color: #475467;
    background: #e4e7ec;
}

.matrix-admin-page .matrix-jobs-table th:nth-child(1),
.matrix-admin-page .matrix-jobs-table td:nth-child(1),
.matrix-admin-page .matrix-messages-table th:nth-child(2),
.matrix-admin-page .matrix-messages-table td:nth-child(2),
.matrix-admin-page .matrix-artifacts-table th:nth-child(1),
.matrix-admin-page .matrix-artifacts-table td:nth-child(1) {
    width: 64px;
}

.matrix-admin-page .matrix-status-grid small {
    overflow-wrap: anywhere;
}

@media (max-width: 900px) {
    .matrix-admin-page .matrix-schedule-row {
        grid-template-columns: 1fr;
        justify-items: start;
    }

    .matrix-admin-page .matrix-command-buttons {
        justify-content: flex-start;
    }

    .matrix-admin-page .matrix-command-buttons button {
        justify-self: start;
    }
}

.ozon-support-chats-page .ozon-support-chat-summary {
    grid-template-columns: repeat(5, minmax(140px, 1fr));
}

.ozon-support-chat-table-wrap {
    overflow-x: auto;
}

.ozon-support-chat-table {
    min-width: 1280px;
}

.ozon-support-chat-table td {
    vertical-align: top;
}

.ozon-support-chat-table td small,
.ozon-support-chat-table td strong {
    display: block;
}

.ozon-support-chat-badge,
.ozon-chat-badge {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 3px 8px;
    border-radius: 999px;
    font-weight: 800;
    letter-spacing: 0;
    white-space: nowrap;
}

.ozon-chat-badge-target,
.ozon-chat-owner-owned,
.ozon-chat-owner-manually_linked {
    color: #166534;
    background: #ccefd8;
}

.ozon-chat-badge-target_no_dispute,
.ozon-chat-owner-owned_unknown_assignee {
    color: #854d0e;
    background: #fee7a6;
}

.ozon-chat-badge-not_owned_claim,
.ozon-chat-owner-not_owned {
    color: #475467;
    background: #e4e7ec;
}

.ozon-chat-badge-ignored {
    color: #344054;
    background: #eef2f6;
}

.ozon-chat-badge-unknown,
.ozon-chat-owner-unknown {
    color: #991b1b;
    background: #ffd6d6;
}

.ozon-support-chat-table tr.ozon-chat-class-target_no_dispute td {
    background: #fff8e6;
}

.ozon-support-chat-table tr.ozon-chat-class-not_owned_claim td {
    background: #f4f6f8;
}

.ozon-chat-code-cell {
    font-weight: 800;
    white-space: nowrap;
}

.ozon-chat-topic-cell {
    min-width: 280px;
    max-width: 420px;
}

.ozon-chat-topic-cell span,
.ozon-chat-reason-cell {
    overflow-wrap: anywhere;
}

.ozon-chat-reason-cell {
    min-width: 220px;
    max-width: 360px;
}
.fbo-dispute-units {
    margin-top: 14px;
    border: 1px solid #d7e1eb;
    border-radius: 7px;
    background: #fff;
}

.fbo-dispute-units-header,
.fbo-dispute-unit-row {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(300px, auto);
    gap: 14px;
    align-items: center;
    padding: 12px 14px;
}

.fbo-dispute-units-header {
    border-bottom: 1px solid #d7e1eb;
    background: #f4f7fa;
}

.fbo-dispute-units-header h2 {
    display: inline;
    margin: 0 8px 0 0;
    font-size: 18px;
    letter-spacing: 0;
}

.fbo-dispute-units-header > span {
    text-align: right;
    color: #5a6c80;
}

.fbo-dispute-unit-row + .fbo-dispute-unit-row {
    border-top: 1px solid #e2e9f0;
}

.fbo-dispute-unit-product strong,
.fbo-dispute-unit-product span,
.fbo-dispute-unit-product small {
    display: block;
}

.fbo-dispute-unit-product span,
.fbo-dispute-unit-product small {
    margin-top: 3px;
    color: #586b80;
}

.fbo-dispute-unit-create {
    display: grid;
    grid-template-columns: minmax(150px, 240px) minmax(130px, 1fr) auto;
    gap: 8px;
    align-items: start;
}

.fbo-dispute-unit-create details {
    position: relative;
    padding: 8px 10px;
    border: 1px solid #cbd7e4;
    border-radius: 6px;
}

.fbo-dispute-unit-create details label {
    display: flex;
    gap: 6px;
    margin-top: 7px;
    font-size: 13px;
}

@media (max-width: 860px) {
    .fbo-dispute-units-header,
    .fbo-dispute-unit-row,
    .fbo-dispute-unit-create {
        grid-template-columns: 1fr;
    }

    .fbo-dispute-units-header > span {
        text-align: left;
    }
}

/* OzonMatrixBot analytics */
.ozon-matrix-analytics-page {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ozon-matrix-analytics-page .page-header-actions {
    display: flex;
    gap: 8px;
    align-items: center;
}

.ozon-matrix-analytics-page .page-header-actions > a {
    flex: 0 0 auto;
    white-space: nowrap;
}

.matrix-live-strip {
    display: grid;
    grid-template-columns: minmax(140px, .7fr) minmax(260px, 1.35fr) minmax(260px, 1.35fr) repeat(3, minmax(150px, .8fr));
    border: 1px solid #cbd7e4;
    border-radius: 6px;
    background: #fff;
    overflow: hidden;
}

.matrix-live-item {
    min-width: 0;
    padding: 10px 12px;
    border-right: 1px solid #dce4ed;
}

.matrix-live-item:last-child {
    border-right: 0;
}

.matrix-live-item > span,
.matrix-live-item > strong,
.matrix-live-item > small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.matrix-live-item > span {
    margin-bottom: 4px;
    color: #5c6d7f;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.matrix-live-item > strong {
    color: #172a3f;
    font-size: 14px;
}

.matrix-live-item > small {
    margin-top: 3px;
    color: #66788a;
    font-size: 11px;
}

.matrix-analytics-filter {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: end;
    padding: 10px 12px;
    border: 1px solid #cbd7e4;
    border-radius: 6px;
    background: #f8fafc;
}

.matrix-period-presets,
.matrix-period-form {
    display: flex;
    gap: 8px;
    align-items: end;
}

.matrix-period-form label {
    display: grid;
    gap: 3px;
    color: #4d6074;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.matrix-period-form input {
    min-width: 190px;
}

.matrix-metrics-section,
.matrix-trends-section {
    padding: 10px 12px 12px;
    border: 1px solid #cbd7e4;
    border-radius: 6px;
    background: #fff;
}

.matrix-period-title {
    align-items: end;
}

.matrix-period-title small {
    color: #66788a;
}

.matrix-metric-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(130px, 1fr));
    gap: 7px;
}

.matrix-metric-grid-compact {
    grid-template-columns: repeat(8, minmax(110px, 1fr));
}

.matrix-metric {
    min-width: 0;
    min-height: 72px;
    padding: 8px 10px;
    border: 1px solid #d8e1ea;
    border-radius: 5px;
    background: #f8fafc;
}

.matrix-metric > span,
.matrix-metric > strong,
.matrix-metric > small {
    display: block;
}

.matrix-metric > span {
    color: #5b6e81;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.matrix-metric > strong {
    margin-top: 5px;
    color: #102d4c;
    font-size: 20px;
}

.matrix-metric > small {
    margin-top: 3px;
    color: #6b7c8e;
    font-size: 11px;
}

.matrix-metric b {
    margin-left: 4px;
}

.trend-positive {
    color: #08783f;
}

.trend-negative {
    color: #b42318;
}

.trend-neutral {
    color: #657587;
}

.matrix-trend-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.matrix-trend-panel {
    min-width: 0;
    padding: 8px 10px;
    border-left: 3px solid #7f9fbd;
    background: #f8fafc;
}

.matrix-trend-head {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
}

.matrix-chart-legend {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    color: #5b6e81;
    font-size: 10px;
}

.matrix-chart-legend span {
    display: inline-flex;
    gap: 4px;
    align-items: center;
}

.matrix-chart-legend i {
    width: 8px;
    height: 8px;
    border-radius: 2px;
}

.legend-success,
.bar-success {
    background: #159455;
}

.legend-no-data,
.bar-no-data {
    background: #9cad6b;
}

.legend-failed,
.bar-failed {
    background: #d64545;
}

.legend-chats,
.bar-chats {
    background: #2678bd;
}

.legend-messages,
.bar-messages {
    background: #11a3a2;
}

.legend-disputes,
.bar-disputes {
    background: #d28b20;
}

.matrix-bar-chart {
    display: flex;
    gap: 4px;
    min-height: 190px;
    margin-top: 10px;
    padding: 8px 4px 0;
    overflow-x: auto;
    overflow-y: hidden;
    border-top: 1px solid #d9e2eb;
}

.matrix-bar-column {
    display: grid;
    grid-template-rows: 150px 28px;
    flex: 1 0 26px;
    min-width: 26px;
    max-width: 54px;
}

.matrix-bars {
    display: flex;
    gap: 2px;
    align-items: end;
    justify-content: center;
    min-height: 150px;
}

.matrix-bars i {
    display: block;
    width: 6px;
    min-height: 0;
    border-radius: 2px 2px 0 0;
}

.matrix-bar-column > span {
    overflow: hidden;
    color: #657587;
    font-size: 9px;
    text-align: center;
    white-space: nowrap;
    transform: rotate(-35deg);
    transform-origin: center;
}

.matrix-breakdown-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.matrix-breakdown-grid .table-section {
    min-width: 0;
    margin: 0;
}

.matrix-breakdown-table-wrap {
    max-height: 420px;
    overflow: auto;
}

.matrix-breakdown-table-wrap th,
.matrix-breakdown-table-wrap td {
    white-space: nowrap;
}

@media (max-width: 1350px) {
    .matrix-live-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .matrix-live-item:nth-child(3) {
        border-right: 0;
    }

    .matrix-live-item:nth-child(-n + 3) {
        border-bottom: 1px solid #dce4ed;
    }

    .matrix-metric-grid,
    .matrix-metric-grid-compact {
        grid-template-columns: repeat(4, minmax(120px, 1fr));
    }
}

@media (max-width: 1100px) {
    .ozon-matrix-analytics-page .page-header {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .ozon-matrix-analytics-page .page-header-actions {
        flex-basis: 100%;
        justify-content: space-between;
        margin-left: 0;
    }
}

@media (max-width: 900px) {
    .ozon-matrix-analytics-page .page-header-actions,
    .matrix-analytics-filter,
    .matrix-period-form,
    .matrix-period-presets {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .matrix-live-strip,
    .matrix-trend-layout,
    .matrix-breakdown-grid {
        grid-template-columns: 1fr;
    }

    .matrix-live-item,
    .matrix-live-item:nth-child(3) {
        border-right: 0;
        border-bottom: 1px solid #dce4ed;
    }

    .matrix-live-item:last-child {
        border-bottom: 0;
    }

    .matrix-metric-grid,
    .matrix-metric-grid-compact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .matrix-period-form input {
        min-width: 165px;
    }
}
