:root {
    --bg: #f4f5f7;
    --panel: #ffffff;
    --line: #e2e5ea;
    --ink: #1c2430;
    --muted: #7a8493;
    --accent: #2f6fed;
    --ok: #1f9d55;
    --err: #d64545;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    font: 15px/1.45 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    color: var(--ink);
    background: var(--bg);
}

.topbar {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 12px 24px;
    background: var(--panel);
    border-bottom: 1px solid var(--line);
    position: sticky;
    top: 0;
    z-index: 100;
}

.brand { flex: 1 1 0; font-weight: 700; font-size: 18px; color: var(--ink); text-decoration: none; }

.topbar nav { display: flex; gap: 4px; }
.topbar nav a,
.bottomnav a {
    padding: 6px 12px;
    border-radius: 8px;
    text-decoration: none;
    color: var(--muted);
}
.topbar nav a.on,
.bottomnav a.on { background: #eaf0ff; color: var(--accent); }
.bottomnav { display: none; }

.who { flex: 1 1 0; justify-content: flex-end; display: flex; align-items: center; gap: 12px; color: var(--muted); }

main { max-width: 1080px; margin: 0 auto; padding: 24px; }

h1 { font-size: 22px; margin: 8px 0 20px; }
h2 { font-size: 17px; margin: 28px 0 12px; }

.cards { display: flex; flex-wrap: wrap; gap: 12px; }
.card {
    flex: 1 1 160px;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 14px 16px;
}
.card span { display: block; color: var(--muted); font-size: 13px; }
.card b { font-size: 24px; }
.card small {
    display: block;
    margin-top: 6px;
    font-size: 11px;
    line-height: 1.4;
    color: var(--muted);
}
.card b.stale { color: var(--muted); font-weight: 600; }
.accounts-title { margin: 0 0 10px; font-size: 15px; color: var(--muted); font-weight: 600; }
.accounts-cards { margin-bottom: 16px; }
.accounts-cards .card { flex: 1 1 200px; }

table {
    width: 100%;
    border-collapse: collapse;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 12px;
    overflow: hidden;
}
th, td { padding: 9px 12px; border-bottom: 1px solid var(--line); text-align: left; }
th { background: #fafbfc; color: var(--muted); font-weight: 600; font-size: 13px; }
tbody tr:last-child td { border-bottom: 0; }
.num { text-align: right; font-variant-numeric: tabular-nums; }
.nowrap { white-space: nowrap; }
td.st-blue { background: #e8f1ff; }
td.st-green { background: #e7f7ec; }
td.st-red { background: #fdeaea; }
.muted { color: var(--muted); }
.neg { color: var(--err); font-weight: 600; }
.pos { color: var(--ok); font-weight: 600; }

form.inline {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: flex-end;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 8px;
}
form.inline label { display: flex; flex-direction: column; gap: 5px; font-size: 13px; color: var(--muted); }
form.purchases-add-form { margin-top: 8px; margin-bottom: 0; }
form.production-add-form { margin-top: 8px; margin-bottom: 0; }
input, select {
    font: inherit;
    padding: 8px 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    color: var(--ink);
    min-width: 140px;
}
button {
    font: inherit;
    padding: 9px 16px;
    border: 0;
    border-radius: 8px;
    background: var(--accent);
    color: #fff;
    cursor: pointer;
}
button.link { background: none; color: var(--muted); padding: 0; text-decoration: underline; }
a.link { color: var(--muted); }

.tag { padding: 2px 8px; border-radius: 999px; font-size: 12px; background: #eef1f5; }
.tag.ozon { background: #e6f0ff; color: #1a56db; }
.tag.wb { background: #f3e6ff; color: #7e22ce; }
.tag.recap { background: #e6f6ec; color: #136c39; font-weight: 600; }
.tag.reserve { background: #fff3d6; color: #9a6400; font-weight: 600; }
.tag.fbo { background: #e6f6ec; color: #136c39; font-weight: 600; }
.tag.fbs { background: #eef1f5; color: #51607a; }
.tag.cat-material { background: #e6f6ec; color: #136c39; font-weight: 600; }
.tag.cat-expense { background: #eef1f5; color: #51607a; }
.tag.cat-rent { background: #f3e6ff; color: #7e22ce; font-weight: 600; }
.tag + .tag { margin-left: 4px; }
form.inline-form { display: inline; margin: 0; }
button.tag-btn { background: #eef1f5; color: #51607a; padding: 3px 10px; font-size: 12px; border-radius: 999px; }
button.tag-btn:hover { background: #e2e7ee; }
button.tag-btn.on { background: #fbe0e0; color: #b91c1c; font-weight: 600; }
tr.depleted-row > td { opacity: 0.55; }
tr.row-delivering > td { background: #e8f1ff; }
tr.row-new > td { background: #e8f1ff; }
tr.row-done > td { background: #d9f2e1; }
tr.row-cancelled > td { background: #fbe0e0; }

.banner { padding: 10px 16px; border-radius: 10px; margin: 0 0 16px; }
.banner.ok { background: #e6f6ec; color: #136c39; }
.banner.err { background: #fbe9e9; color: #a12626; }

.login { max-width: 360px; margin: 12vh auto; }
.login form { display: flex; flex-direction: column; gap: 14px; background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding: 22px; }
.login label { display: flex; flex-direction: column; gap: 5px; font-size: 13px; color: var(--muted); }
.login input { min-width: 0; }

table.journal input[type="number"],
table.journal input[type="text"],
table.journal input[type="date"] {
    min-width: 0;
    width: 100%;
    padding: 5px 8px;
    border-radius: 6px;
}
table.journal select {
    min-width: 160px;
    width: auto;
    max-width: 100%;
    padding: 5px 8px;
    border-radius: 6px;
}
table.journal select.supply { min-width: 300px; }
table.journal input.model-input { min-width: 160px; width: 160px; }
table.journal td.num input[type="number"] { text-align: right; }
table.journal form { margin: 0; }
button.save { padding: 6px 12px; font-size: 13px; background: #eef1f5; color: var(--ink); }
button.save:hover { background: #e2e5ea; }

table.journal { overflow: visible; font-size: 13px; }
table.journal th,
table.journal td { padding: 7px 10px; white-space: nowrap; }
table.purchases-journal th { font-size: 11px; }
table.production-journal th { font-size: 11px; }
table.bank-journal th { font-size: 11px; }
.table-scroll { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.table-scroll table.production-journal { width: max-content; min-width: 100%; }
.table-scroll table.production-journal th,
.table-scroll table.production-journal td { white-space: nowrap; }
.table-scroll table.production-journal th:first-child,
.table-scroll table.production-journal td:first-child {
    position: sticky;
    left: 0;
    z-index: 2;
    background: var(--panel);
}
.table-scroll table.production-journal thead th:first-child { z-index: 3; background: #fafbfc; }
.table-scroll table.production-journal tr.month-row td {
    position: static;
    background: #eaf0fb;
    font-weight: 600;
    border-top: 1px solid var(--line);
}
table.assembly-journal { width: 100%; }
table.assembly-journal th:first-child,
table.assembly-journal td:first-child { width: 100%; }
table.journal tr.day-band td { background: #f3f6fb; }
table.journal .month-row td { background: #eaf0fb; font-weight: 600; border-top: 1px solid var(--line); }

button.toggle-orders {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: var(--accent);
    color: #fff;
    font-size: 12px;
    line-height: 1;
    vertical-align: middle;
    cursor: pointer;
    transition: background 0.15s;
}
button.toggle-orders:hover { background: #215dcf; }
table.journal th.toggle-col, table.journal td.toggle-cell {
    width: 34px;
    padding-right: 0;
    text-align: center;
}
tr.orders-row > td { background: #f6f8fb; padding: 0; }
tr.orders-row .orders-table {
    width: 100%;
    border: 0;
    border-radius: 0;
    background: transparent;
}
.orders-table th, .orders-table td { padding: 6px 10px; font-size: 13px; white-space: nowrap; }
.orders-table td.order-id { max-width: 150px; font-size: 12px; letter-spacing: 0.2px; white-space: normal; word-break: break-all; }
table.journal td.supply-cell { max-width: 200px; white-space: normal; line-height: 1.35; }
table.orders-day { font-size: 12.5px; table-layout: fixed; border: 0; border-radius: 0; }
table.orders-day th,
table.orders-day td { padding: 6px 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
table.orders-day tbody td { border-bottom: 1px solid #fff; }
table.orders-day tbody tr:last-child td { border-bottom: 0; }
table.orders-day td.clip { overflow: hidden; text-overflow: ellipsis; }
table.orders-day td.order-num-cell { font-size: 10px; color: var(--ink); letter-spacing: 0.2px; white-space: normal; word-break: break-all; }
table.orders-day td.order-num-cell { text-align: center; }
button.copy-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 3px 6px;
    border: 1px solid var(--line);
    background: var(--panel);
    color: var(--muted);
    border-radius: 6px;
    cursor: pointer;
    line-height: 1;
}
button.copy-btn:hover { color: var(--accent); border-color: var(--accent); }
button.copy-btn.copied { color: var(--ok); border-color: var(--ok); }
table.orders-day td.party { white-space: normal; font-size: 11px; }
table.orders-day td.party .tag { font-size: 11px; }
.batch-line { white-space: nowrap; line-height: 1.5; }
.batch-line + .batch-line { margin-top: 3px; }
.batch-pos { color: var(--muted); margin-left: 4px; font-variant-numeric: tabular-nums; }
.group { margin: 16px 0 18px; }
.group-header { display: flex; align-items: center; gap: 10px; padding: 8px 12px; background: #1c1c1c; color: #fff; border: 1px solid #1c1c1c; border-bottom: 0; border-radius: 10px 10px 0 0; }
.group-header strong { color: #fff; }
.group-header .muted { color: rgba(255, 255, 255, 0.85); }
.group-header .muted b { color: #fff; }
.group-toggle { border: 1px solid var(--accent); background: var(--accent); color: #fff; padding: 2px 6px; border-radius: 6px; cursor: pointer; line-height: 1; }
.group-body { margin-top: 0; border: 1px solid #1c1c1c; border-top: 0; border-radius: 0 0 10px 10px; overflow: hidden; }
tr.batch-row:hover > td { background: #f7f9fc; }

.journal-head { display: flex; align-items: center; gap: 12px; }
.journal-head h2 { margin: 16px 0 8px; }
button.edit-toggle { background: var(--accent); color: #fff; padding: 7px 14px; font-size: 13px; }
button.edit-toggle:hover { background: #215dcf; }
button.edit-toggle.on { background: var(--ok); }

.product-card { padding: 16px 18px; box-shadow: 0 1px 3px rgba(16, 24, 40, 0.07); }
.product-card + .product-card { margin-top: 18px; }
.product-card h2 { margin: 0 0 8px; }

table.journal .edit { display: none; }
main.editing .view { display: none; }
main.editing .edit { display: inline-block; }
.row-forms { display: none; }
.row-deletes { display: none; }

/* «Банк»: в ячейке суммы при редактировании стоят два поля друг под другом —
   вид операции и сумма, поэтому inline-block не подходит. */
main.editing .cell-amount .edit { display: block; width: 100%; margin-top: 6px; }
button.btn-del {
    padding: 4px 9px;
    font-size: 12px;
    border-radius: 6px;
    background: #fbe0e0;
    color: #b91c1c;
}
button.btn-del:hover { background: #f7c9c9; }

/* Категории журнала «Банк» (см. src/bank.js). cat-rent общий с «Закупкой». */
.tag.cat-marketplace { background: #e6f0ff; color: #1a56db; font-weight: 600; }
.tag.cat-deposit { background: #e6f6ec; color: #136c39; font-weight: 600; }
.tag.cat-refund { background: #fff3d6; color: #9a6400; }
.tag.cat-purchase { background: #e6f6ec; color: #136c39; font-weight: 600; }
.tag.cat-tax { background: #f3e6ff; color: #7e22ce; font-weight: 600; }
.tag.cat-fee { background: #f3e6ff; color: #7e22ce; }
.tag.cat-salary { background: #f3e6ff; color: #7e22ce; font-weight: 600; }
.tag.cat-withdrawal { background: #eef1f5; color: #51607a; }
.tag.cat-other { background: #eef1f5; color: #51607a; }

/* ---- Показатели ---- */
main .card h3 { margin: 0 0 12px; font-size: 15px; }
main .card h4 { margin: 0 0 8px; font-size: 13px; color: var(--muted); }
.metrics-section + .metrics-section { margin-top: 20px; }
.metrics-months { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 8px; }
.chip { padding: 3px 10px; border: 1px solid var(--line); border-radius: 999px; font-size: 13px; text-decoration: none; color: var(--ink); background: var(--panel); }
.chip.on { background: var(--accent); border-color: var(--accent); color: #fff; }
table.metrics { border-radius: 10px; margin-bottom: 10px; }
table.metrics th, table.metrics td { padding: 7px 12px; }
table.metrics tfoot td { border-top: 2px solid var(--line); border-bottom: 0; }
tr.total td { background: #fafbfc; }
.metrics-status { display: flex; flex-wrap: wrap; gap: 24px; }
.metrics-status > div { flex: 1 1 260px; min-width: 220px; }
.metrics-row { display: flex; gap: 16px; align-items: stretch; }
.metrics-row > .metrics-section { flex: 1 1 0; min-width: 0; margin-top: 0; display: flex; flex-direction: column; }
.metrics-row > .metrics-section + .metrics-section { margin-top: 0; }
.metrics-row table.metrics { font-size: 12px; }
.metrics-row table.metrics th,
.metrics-row table.metrics td { padding: 6px 8px; }
.metrics-row .metrics-status { flex: 1; gap: 16px; align-content: flex-start; }
.metrics-row .metrics-status > div { flex: 1 1 0; min-width: 150px; }
.metrics-row + .metrics-section { margin-top: 20px; }
.metrics-row + .metrics-section table.metrics { font-size: 11px; }
.metrics-row + .metrics-section table.metrics th,
.metrics-row + .metrics-section table.metrics td { font-size: 11px; padding: 6px 8px; }
.metrics-row + .metrics-section table.metrics b { font-size: 11px; }
.metrics-row + .metrics-section table.metrics th.num,
.metrics-row + .metrics-section table.metrics td.num { width: 1%; white-space: nowrap; }
.summary-table td:last-child { font-size: 11px; }
.summary-table tr.total td.num { font-size: 11px; }
.summary-table td:last-child b,
.summary-table tr.total td.num b { font-size: 11px; }
.summary-note { font-size: 11px; }
.summary-table tr.net-flight td,
.summary-table tr.net-flight td b { color: #b0b7c0; font-weight: 400; }

.models-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.models-table { min-width: 640px; overflow: visible; border-collapse: separate; border-spacing: 0; }
.models-table td.ozon { background: #eef4ff; }
.models-table td.wb { background: #fdeef7; }

.metrics-daily-section table.metrics { font-size: 12px; }
.metrics-daily-section table.metrics b { font-size: 13px; }
.metrics-daily th, .metrics-daily td { white-space: nowrap; }
.metrics-daily th:first-child, .metrics-daily td:first-child { width: 100%; }
.metrics-daily .day-band td { background: #f3f6fb; }
.metrics-daily td.day-date { vertical-align: middle; white-space: nowrap; }
.metrics-daily td.day-sum { font-weight: 600; }

.table-scroll table.metrics-daily { width: max-content; min-width: 100%; border-collapse: separate; border-spacing: 0; overflow: visible; }
.table-scroll table.metrics-daily th,
.table-scroll table.metrics-daily td { white-space: nowrap; }
.table-scroll table.metrics-daily th:first-child,
.table-scroll table.metrics-daily td:first-child { width: auto; }
.table-scroll table.metrics-daily th:first-child,
.table-scroll table.metrics-daily td.day-date,
.table-scroll table.metrics-daily tfoot tr.total td:first-child {
    position: sticky;
    left: 0;
    z-index: 1;
    background: #fff;
}
.table-scroll table.metrics-daily thead th:first-child { z-index: 3; }
.table-scroll table.metrics-daily .day-band td.day-date { background: #f3f6fb; }
.table-scroll table.metrics-daily tfoot tr.total td:first-child { background: #fafbfc; }

/* ===================== Мобильная версия ===================== */
@media (max-width: 720px) {
    html { -webkit-text-size-adjust: 100%; }
    body { padding-bottom: 68px; }

    main { padding: 14px 12px; }
    h1 { font-size: 20px; margin: 6px 0 14px; }
    h2 { font-size: 16px; margin: 20px 0 10px; }
    p { margin: 10px 0; }

    /* --- шапка + нижняя панель вкладок --- */
    .topbar { gap: 10px; padding: 10px 12px; }
    .brand { font-size: 16px; }
    .who { gap: 8px; font-size: 13px; }
    .who > span { display: none; }
    .topbar .topnav { display: none; }
    .bottomnav {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        display: flex;
        gap: 0;
        z-index: 110;
        background: var(--panel);
        border-top: 1px solid var(--line);
        padding: 4px 4px calc(4px + env(safe-area-inset-bottom, 0px));
        box-shadow: 0 -1px 8px rgba(16, 24, 40, 0.06);
    }
    .bottomnav a {
        flex: 1 1 0;
        min-width: 0;
        text-align: center;
        padding: 8px 2px;
        font-size: 10.5px;
        line-height: 1.15;
        border-radius: 8px;
        overflow-wrap: anywhere;
    }

    /* --- формы: всё в столбик --- */
    input, select, button { font-size: 16px; }
    form.inline { flex-direction: column; align-items: stretch; gap: 10px; }
    form.inline label { width: 100%; }
    input, select { min-width: 0; width: 100%; }
    form.inline button, form.inline a.link { width: 100%; text-align: center; }
    .journal-head { flex-wrap: wrap; }
    .banner { margin-bottom: 12px; }

    /* --- карточки-показатели в столбик --- */
    .cards { flex-direction: column; }
    .card { flex: 1 1 auto; }
    .metrics-status { gap: 14px; }
    .metrics-status > div { flex: 1 1 100%; min-width: 0; }
    .metrics-row { flex-direction: column; }
    .metrics-row > .metrics-section { flex: 1 1 100%; }
    .metrics-row .metrics-status > div { flex: 1 1 100%; }

    /* --- сводка: дневные таблицы остаются таблицами, мелкий шрифт --- */
    .metrics-daily-section table.metrics { font-size: 9.5px; }
    .metrics-daily-section table.metrics th,
    .metrics-daily-section table.metrics td { padding: 3px 4px; }
    .metrics-daily-section table.metrics th { font-size: 9px; }
    .metrics-daily-section table.metrics b { font-size: 10px; }
    .metrics-daily-section table.metrics th:first-child,
    .metrics-daily-section table.metrics td:first-child { width: auto; }
    .table-scroll table.metrics-daily th:first-child,
    .table-scroll table.metrics-daily td.day-date {
        max-width: 44px;
        overflow: hidden;
        text-overflow: ellipsis;
        padding: 3px 4px;
    }
    .table-scroll table.metrics-daily td.day-date { font-size: 9px; }

    /* --- сводка и модели: влезают без скрола --- */
    .metrics-row table.summary-table { font-size: 9.5px; }
    .metrics-row table.summary-table th,
    .metrics-row table.summary-table td { font-size: 9.5px; padding: 3px 4px; }
    .metrics-row table.summary-table b { font-size: 10px; }
    .metrics-row .summary-table td:last-child,
    .metrics-row .summary-table tr.total td.num,
    .metrics-row .summary-table td:last-child b,
    .metrics-row .summary-table tr.total td.num b { font-size: 9.5px; }

    .metrics-row + .metrics-section table.models-table { font-size: 9.5px; }
    .metrics-row + .metrics-section table.models-table th,
    .metrics-row + .metrics-section table.models-table td { font-size: 9.5px; padding: 3px 6px; white-space: nowrap; }
    .metrics-row + .metrics-section table.models-table b { font-size: 10px; }
    .metrics-row + .metrics-section table.models-table th.num,
    .metrics-row + .metrics-section table.models-table td.num { width: auto; }

    /* --- «По моделям»: закреплена колонка «Модель» --- */
    .models-table th:first-child,
    .models-table td:first-child {
        position: sticky;
        left: 0;
        z-index: 1;
        padding-right: 10px;
        background: var(--panel);
        box-shadow: 1px 0 0 var(--line);
    }
    .models-table tr.total td,
    .models-table tr.total td:first-child { background: #f3f6fb; }

    /* --- журнал закупок: таблицей, мелкий шрифт --- */
    table.purchases-journal { font-size: 10px; }
    table.purchases-journal th,
    table.purchases-journal td { padding: 3px 4px; }

    /* --- журнал банка: 6 колонок, плотно --- */
    table.bank-journal { font-size: 10px; }
    table.bank-journal th,
    table.bank-journal td { padding: 3px 4px; }
    table.bank-journal td { white-space: normal; }
    table.bank-journal .edit { max-width: 100%; }
    table.bank-journal button.btn-del { padding: 3px 7px; font-size: 11px; }

    /* --- журнал печати: скролл по горизонтали, без «Модели» --- */
    table.production-journal th:nth-child(4),
    table.production-journal td:nth-child(4) { display: none; }
    .group-header { flex-wrap: wrap; gap: 4px 8px; }
    .login { margin: 8vh auto; padding: 0 14px; }

    /* --- таблицы → карточки --- */
    table:not(.cardview) th,
    table:not(.cardview) td { white-space: normal; }
    table.cardview {
        border: 0;
        background: transparent;
        overflow: visible;
        font-size: 14px;
    }
    table.cardview thead { display: none; }
    table.cardview,
    table.cardview tbody,
    table.cardview tfoot,
    table.cardview tr,
    table.cardview td {
        display: block;
        width: auto;
        white-space: normal;
        text-align: left;
        max-width: none;
    }
    table.cardview tr[hidden] { display: none; }
    table.cardview tbody > tr,
    table.cardview tfoot > tr {
        background: var(--panel);
        border: 1px solid var(--line);
        border-radius: 12px;
        padding: 4px 12px;
        margin: 0 0 10px;
    }
    table.cardview tbody > tr.month-row {
        background: #eaf0fb;
        border-color: #cfe0ff;
        font-weight: 600;
    }
    table.cardview tfoot > tr { background: #fafbfc; }
    table.cardview tbody > tr.depleted-row > td { opacity: 0.55; }
    table.cardview td {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 12px;
        padding: 7px 0;
        border-bottom: 1px dashed var(--line);
        text-align: right;
    }
    table.cardview tr > td:last-child { border-bottom: 0; }
    table.cardview td::before {
        content: attr(data-label);
        flex: 0 0 40%;
        text-align: left;
        color: var(--muted);
        font-size: 12px;
        font-weight: 400;
    }
    table.cardview td[data-label=""] { display: block; text-align: left; padding-left: 0; }
    table.cardview td[data-label=""]::before { content: none; }
    table.cardview td.toggle-cell { justify-content: flex-start; }
    table.cardview td.num input { text-align: right; }
    table.cardview tr.orders-row > td { padding: 0; border: 0; }
    table.cardview ul, table.cardview .batch-line { text-align: left; }

    /* --- заказы: горизонтальная таблица, скролл внутри дня --- */
    .group-body { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    table.orders-day { table-layout: auto; width: max-content; min-width: 100%; font-size: 10px; }
    table.orders-day colgroup { display: none; }
    table.orders-day th,
    table.orders-day td {
        padding: 3px 6px;
        font-size: 10px;
        white-space: nowrap;
        overflow: visible;
        text-overflow: clip;
    }
    table.orders-day td.order-num-cell { white-space: nowrap; word-break: normal; }
    table.orders-day td.clip { overflow: visible; text-overflow: clip; }
    table.orders-day td.party { white-space: nowrap; }

    /* --- общий горизонтальный скролл таблиц --- */
    .table-scroll > table { width: max-content; min-width: 100%; }
    .table-scroll > table > thead > tr > th,
    .table-scroll > table > tbody > tr > td,
    .table-scroll > table > tfoot > tr > td { white-space: nowrap; }
}
