* {
    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;
}

.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 {
    width: auto;
    min-height: 30px;
    padding: 5px 9px;
    border: 1px solid #cfd6df;
    background: #fff;
    color: #1d4f83;
}

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

.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;
}

.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;
}

.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) 84px 76px 64px 88px;
    gap: 10px;
    align-items: end;
}

.received-shipments-filters-row {
    display: grid;
    grid-template-columns: minmax(190px, 1.2fr) minmax(160px, 1fr) minmax(170px, 1fr) minmax(140px, 0.8fr) 126px 126px 72px 72px 72px 88px;
    gap: 10px;
    align-items: end;
}

.economics-filters-row {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) 140px 140px 92px 86px 92px;
    gap: 10px;
    align-items: end;
}

.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.8fr) minmax(170px, 1fr) minmax(130px, 0.8fr) minmax(220px, 1.2fr) 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 {
    gap: 5px;
    margin-bottom: 5px;
}

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

.compact-roles-picker label span {
    font-size: 11px;
}

.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 {
    table-layout: fixed;
}

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

.user-status-col {
    width: 64px;
}

.user-roles-col {
    width: 240px;
}

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

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

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

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

.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-roles-form {
    grid-template-columns: minmax(0, 1fr) 54px;
    align-items: center;
    gap: 6px;
}

.user-telegram-form {
    grid-template-columns: 96px minmax(92px, 1fr) 96px 54px;
    gap: 5px;
    min-width: 0;
}

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

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

.user-assignee-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 {
    min-height: 26px;
    padding: 3px 6px;
    font-size: 12px;
}

.users-table button,
.users-create-row button {
    width: auto;
    min-height: 26px;
    padding: 4px 8px;
    font-size: 12px;
}

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

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

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

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

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

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

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

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

.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 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-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-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.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;
}

.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-processed,
.stat-shipped {
    color: #1d5c84;
}

.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-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;
}

.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-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 {
    background: #fff0f6;
    box-shadow: inset 3px 0 0 #e879b4;
}

.compensations-list-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;
}

.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;
}

.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;
    overflow: auto;
}

.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;
}

.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-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-processed,
.compact-table tbody tr.row-status-shipped {
    background: #e8f6ff;
    box-shadow: inset 3px 0 0 #68a4d9;
}

.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-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-processed:hover,
.compact-table tbody tr.row-status-shipped:hover {
    background: #ddf0fc;
}

.compact-table tbody tr.row-status-complete:hover {
    background: #e3e8ef;
}

.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-processed {
    background: #eaf4ff;
    box-shadow: inset 3px 0 0 #68a4d9;
}

.accept-acts-table tbody tr.row-status-shipped {
    background: #f3ecff;
    box-shadow: inset 3px 0 0 #8b5cf6;
}

.accept-acts-table tbody tr.row-status-complete {
    background: #edf0f4;
    box-shadow: inset 3px 0 0 #9aa6b2;
}

.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-processed:hover {
    background: #dfeeff;
}

.accept-acts-table tbody tr.row-status-shipped:hover {
    background: #eadcff;
}

.accept-acts-table tbody tr.row-status-complete:hover {
    background: #e3e8ef;
}

.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-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;
}

.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"] {
    width: 100%;
}

.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: 140px;
}

.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 .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;
}

.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(3, 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-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;
}

.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: 20px;
}

.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(860px, 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);
}

.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-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: normal;
}

.scanner-tsd-summary span small {
    display: block;
    margin-top: 1px;
    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 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-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(170px, 1fr)
        minmax(170px, 1fr)
        minmax(150px, 0.9fr)
        minmax(170px, 1fr)
        minmax(170px, 1fr)
        100px
        158px;
    align-items: end;
    gap: 8px;
}

.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: 2102px;
    table-layout: fixed;
}

.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: 124px;
}

.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 {
    background: #effdf5;
}

.compact-table tbody tr.loss-row-ignored td {
    background: #f8fafc;
}

.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 {
    background: #dcfce7;
}

.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: 138px;
}

.loss-candidate-status-form {
    display: flex;
    align-items: center;
    gap: 6px;
}

.loss-candidate-status-form select {
    min-width: 108px;
}

.loss-candidate-status-state {
    min-width: 18px;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
}

.loss-claim-approved {
    display: block;
    color: #0f766e;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.15;
}

.disputes-table {
    min-width: 1460px;
}

.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-highlight td {
    background: #eaf7f5;
}

.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: grid;
    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-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(0, 1fr));
}

.dispute-edit-two-columns {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(260px, 2fr);
    gap: 12px;
    align-items: start;
}

.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;
    min-height: 150px;
    padding: 12px;
    border: 1px solid #d8e0ea;
    border-radius: 6px;
    background: #f8fafc;
}

.dispute-materials-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.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-list {
    display: grid;
    gap: 8px;
}

.dispute-material-card {
    display: grid;
    gap: 5px;
    padding: 8px;
    border: 1px solid #d8e0ea;
    border-radius: 6px;
    background: #fff;
}

.dispute-material-card-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
}

.dispute-material-card-header strong {
    color: #172033;
    font-size: 12px;
}

.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;
    overflow-wrap: anywhere;
}

.dispute-material-link-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.dispute-material-copy-message {
    width: auto;
    min-height: 24px;
    padding: 3px 8px;
    font-size: 11px;
}

.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-edit-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 7px;
}

.dispute-material-edit-grid .wide {
    grid-column: 1 / -1;
}

.dispute-material-edit-grid textarea {
    min-height: 46px;
}

.dispute-material-card-actions {
    display: flex;
    justify-content: flex-end;
    gap: 7px;
}

.dispute-material-card-actions button {
    width: auto;
    min-width: 84px;
    min-height: 28px;
    padding: 4px 10px;
}

.dispute-material-create-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
}

.dispute-material-create-grid .wide,
.dispute-material-create-grid button {
    grid-column: 1 / -1;
}

.dispute-material-create-grid textarea {
    min-height: 52px;
}

.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;
}

.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 th:first-child {
    width: 52px;
}

.dispute-chats-table th:last-child {
    width: 84px;
}

.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 #closeDisputeChatModal {
    width: auto;
    min-width: 78px;
    min-height: 30px;
    padding: 5px 10px;
    justify-self: end;
    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 {
    display: grid;
    gap: 8px;
    padding: 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-actions,
.dispute-chat-message-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 8px;
}

.dispute-chat-message-actions form {
    margin: 0;
}

.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: 78px;
}

.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;
}

.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: 18px;
}

.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(680px, 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(5, minmax(0, 1fr));
}

.economics-accruals-table {
    table-layout: fixed;
}

.economics-detail-panel .table-wrap {
    padding-bottom: 14px;
}

.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;
}

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

.econ-shipment-col {
    width: 136px;
}

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

.econ-product-col {
    width: 250px;
}

.econ-status-col {
    width: 86px;
}

.econ-qty-col,
.econ-price-count-col {
    width: 48px;
}

.econ-money-col {
    width: 84px;
}

.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: minmax(150px, 1.1fr) minmax(120px, 0.9fr) minmax(150px, 1fr) repeat(3, minmax(130px, 0.9fr)) 86px 96px 96px;
    gap: 12px;
    align-items: end;
}

.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-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;
}

@media (max-width: 820px) {
    .page-header {
        display: block;
    }

    .top-nav {
        margin-top: 14px;
    }

    .form-row,
    .search-row,
    .filters-row,
    .claims-filters-row,
    .received-shipments-filters-row,
    .economics-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;
    }
}
