/* ТМС — собственная схема оформления (из прототипа, 01.10.2026).
   Раскладка как в TransTrade (лента, окна внутри, панель окон, строка состояния),
   но своя спокойная палитра: нейтральные поверхности, один акцентный цвет, цвет — только там, где он что-то значит. */
:root {
    --c-bg: #eef1f4;
    --c-surface: #ffffff;
    --c-surface-2: #f7f8fa;
    --c-border: #dde2e8;
    --c-border-strong: #c5ccd5;
    --c-text: #1d2733;
    --c-muted: #66717f;
    --c-accent: #0e6e86;
    --c-accent-hover: #0b5a6e;
    --c-accent-soft: #e3f1f5;
    --c-select: #d5ecf2;
    --c-bar: #1f2d3a;
    --c-bar-text: #e4ebf1;
    --c-danger: #c62828;
    --c-ok: #2e7d32;
    --c-info: #1565c0;
    --c-warn-bg: #fff4d6;
    --rz-primary: var(--c-accent);
    --rz-primary-light: #3c8ea3;
    --rz-primary-lighter: var(--c-accent-soft);
    --rz-primary-dark: var(--c-accent-hover);
}

/* Шрифт выбирает пользователь (строка состояния → «Вид»); он же — у компонентов Radzen. */
:root, html:root { --tt-font: "Segoe UI", Arial, sans-serif; --rz-text-font-family: var(--tt-font); }
/* Масштаб интерфейса («Вид» → размер) — через размер шрифта страницы, а не zoom: все размеры в программе в rem
   (1rem = 1rem при обычном размере), компоненты Radzen — тоже. С zoom браузер неверно ставил выпадающие списки и меню.
   --vh / --vw оставлены для совместимости. Рамки 1–2px остаются в px. */
:root { --tt-scale: 1; --vh: 1vh; --vw: 1vw; }
html { font-size: calc(13px * var(--tt-scale)); }
html, body { margin: 0; height: 100%; font-family: var(--tt-font); background: var(--c-bg); color: var(--c-text); }
body { font-size: 1rem; }
#blazor-error-ui { display: none; position: fixed; bottom: 0; left: 0; right: 0; background: #fde2e2; padding: 0.4615rem 0.9231rem; z-index: 1000; }
.rzi { font-size: 1.3846rem; }

/* ---------- Оболочка ---------- */
.tt-shell { display: flex; flex-direction: column; height: calc(100 * var(--vh)); }
.tt-titlebar { display: flex; align-items: center; background: var(--c-bar); color: var(--c-bar-text); padding: 0.2308rem 0.6154rem; height: 2rem; box-sizing: border-box; }
.tt-title { flex: 1; text-align: center; font-weight: 600; margin-right: 15.3846rem; letter-spacing: .2px; }
.tt-sub { opacity: .6; font-weight: 400; font-size: 0.8462rem; }
.tt-quick { display: flex; gap: 2px; }
.tt-quick button { color: var(--c-bar-text); background: transparent; border: 0; border-radius: 0.2308rem; width: 2rem; height: 1.6923rem; cursor: pointer; padding: 0; display: inline-flex; align-items: center; justify-content: center; }
.tt-quick button .rzi { font-size: 1.3077rem; }
.tt-quick button:hover { background: rgba(255,255,255,.12); }

.tt-menu-tabs { display: flex; align-items: flex-end; background: var(--c-surface-2); border-bottom: 1px solid var(--c-border); padding: 0 0.4615rem; }
.tt-menu-tabs button { background: transparent; border: 0; border-bottom: 2px solid transparent; padding: 0.5385rem 1.0769rem 0.4615rem; font-size: 0.9231rem; font-weight: 600; letter-spacing: .3px; color: var(--c-muted); cursor: pointer; font-family: inherit; }
.tt-menu-tabs button:hover:not(:disabled) { color: var(--c-text); }
.tt-menu-tabs button.active { color: var(--c-accent); border-bottom-color: var(--c-accent); background: var(--c-surface); }
.tt-menu-tabs button:disabled { color: #a8b0ba; cursor: default; }
.tt-menu-tabs button.opts { color: var(--c-text); }

.tt-ribbon { display: flex; background: var(--c-surface); border-bottom: 1px solid var(--c-border); padding: 0.4615rem 0.3077rem 0; overflow-x: auto; min-height: 7.0769rem; box-sizing: border-box; }
.tt-group { display: flex; flex-direction: column; border-right: 1px solid var(--c-border); padding: 0 0.7692rem; }
.tt-group:last-child { border-right: 0; }
.tt-buttons { display: flex; gap: 0.3077rem; align-items: flex-start; flex: 1; }
.tt-col { display: flex; flex-direction: column; gap: 1px; }
.tt-caption { text-align: center; color: var(--c-muted); font-size: 0.8462rem; padding: 0.2308rem 0 0.3077rem; }
.tt-btn { display: inline-flex; align-items: center; gap: 0.4615rem; background: transparent; border: 1px solid transparent; border-radius: 0.3077rem; padding: 2px 0.4615rem; font-size: 1rem; color: var(--c-text); cursor: pointer; white-space: nowrap; font-family: inherit; }
.tt-btn .rzi { color: var(--c-accent); font-size: 1.3846rem; }
.tt-btn:hover { background: var(--c-accent-soft); }
.tt-btn.tt-big { flex-direction: column; padding: 0.3077rem 0.6154rem; gap: 2px; line-height: 1.15; text-align: center; min-width: 4.9231rem; }
.tt-btn.tt-big .rzi { font-size: 2.3077rem; }
.tt-btn.stub { color: var(--c-muted); }
.tt-btn.stub .rzi { color: #9aa5b1; }
.tt-input { font-size: 0.9231rem; height: 1.8462rem; width: 16.1538rem; border: 1px solid var(--c-border-strong); border-radius: 0.3077rem; padding: 0 0.6154rem; font-family: inherit; background: var(--c-surface); }
.tt-input:focus { outline: 2px solid var(--c-accent-soft); border-color: var(--c-accent); }
.tt-select { font-size: 0.9231rem; height: 1.8462rem; border: 1px solid var(--c-border-strong); border-radius: 0.3077rem; font-family: inherit; background: var(--c-surface); color: var(--c-text); }
.tt-check { display: flex; align-items: center; gap: 0.3077rem; font-size: 0.9231rem; }

.tt-workspace { flex: 1; min-height: 0; position: relative; background: var(--c-surface); }
.tt-window { position: absolute; inset: 0; overflow: auto; }
.tt-window-journal { overflow: hidden; }
.tt-window:not(.tt-window-journal) { padding: 0.7692rem 0.9231rem; background: var(--c-bg); }

.tt-shell .tt-taskbar { display: flex; gap: 2px; background: var(--c-surface-2); border-top: 1px solid var(--c-border); padding: 0.2308rem 0.3077rem; overflow-x: auto; }
.tt-shell .tt-taskbar span { display: inline-flex; align-items: center; gap: 0.3077rem; border: 1px solid transparent; border-radius: 0.3077rem; padding: 2px 0.6154rem; font-size: 0.9231rem; cursor: pointer; white-space: nowrap; color: var(--c-muted); user-select: none; }
.tt-shell .tt-taskbar span:hover { background: var(--c-surface); color: var(--c-text); }
.tt-shell .tt-taskbar span.active { background: var(--c-surface); border-color: var(--c-border-strong); color: var(--c-text); box-shadow: inset 0 -2px 0 var(--c-accent); }
.tt-shell .tt-taskbar .tt-x { font-size: 1.1538rem; color: var(--c-muted); border-radius: 0.2308rem; }
.tt-shell .tt-taskbar .tt-x:hover { color: var(--c-danger); background: #fde2e2; }

.tt-status { display: flex; flex-wrap: wrap; gap: 1.8462rem; align-items: center; background: var(--c-bar); color: var(--c-bar-text); padding: 0.2308rem 0.7692rem; font-size: 0.9231rem; }
.tt-status b { color: #fff; }
.tt-status .tt-right { margin-left: auto; display: flex; gap: 1.0769rem; align-items: center; }
.tt-status .tt-select { height: 1.5385rem; }

/* ---------- Таблицы ---------- */
.tt-grid.rz-data-grid { border-radius: 0; border: 0; font-size: 1rem; }
.tt-grid .rz-grid-table thead th { background: var(--c-surface-2); color: var(--c-text); }
.tt-grid .rz-grid-table thead th .rz-column-title { font-weight: 600; }
.tt-grid .rz-grid-table td, .tt-grid .rz-grid-table th { padding-top: 0.2308rem !important; padding-bottom: 0.2308rem !important; }
.tt-grid .rz-cell-filter-content input { height: 1.6923rem; font-size: 0.8462rem; }
.tt-grid .rz-cell-data { color: var(--c-text); font-size: 1rem; }
.tt-grid .rz-data-row:hover > td { background: #f2f7f9 !important; }
.tt-grid .rz-data-row.rz-state-highlight > td, .tt-grid .rz-data-row.rz-state-highlight:hover > td { background: var(--c-select) !important; color: var(--c-text) !important; }
.tt-grid .rz-data-row.rz-state-highlight > td:first-child { box-shadow: inset 0.2308rem 0 0 var(--c-accent); }
.tt-grid tr.row-archived > td { color: #9aa5b1 !important; }
.tt-window-journal .rz-data-row { user-select: none; }
.tt-b { font-weight: 600; }
.tt-red { color: var(--c-danger); }
.tt-green { color: var(--c-ok); }
.tt-blue { color: var(--c-info); }
.tt-num { font-variant-numeric: tabular-nums; }
.tt-chip { display: inline-block; width: 0.7692rem; height: 0.7692rem; border-radius: 50%; border: 1px solid rgba(0,0,0,.15); margin-right: 0.4615rem; vertical-align: -1px; }

/* ---------- Контекстное меню ---------- */
.tt-ctx-overlay { position: fixed; inset: 0; z-index: 900; }
.tt-ctx { position: fixed; z-index: 901; background: var(--c-surface); border: 1px solid var(--c-border-strong); border-radius: 0.4615rem; box-shadow: 0 0.6154rem 1.8462rem rgba(16,24,40,.16); padding: 0.3077rem 0; min-width: 20.7692rem; font-size: 1rem; }
.tt-ctx-item { position: relative; display: flex; align-items: center; gap: 0.7692rem; padding: 0.3846rem 0.9231rem; cursor: pointer; white-space: nowrap; }
.tt-ctx-item .rzi { color: var(--c-accent); font-size: 1.3846rem; width: 1.5385rem; }
.tt-ctx-item .tt-kbd { margin-left: auto; color: var(--c-muted); font-size: 0.9231rem; padding-left: 1.8462rem; }
.tt-ctx-item:hover { background: var(--c-accent-soft); }
.tt-ctx-item.stub { color: var(--c-muted); }
.tt-ctx-item.stub .rzi { color: #9aa5b1; }
.tt-ctx-sep { height: 1px; background: var(--c-border); margin: 0.3077rem 0; }
.tt-ctx-sub { display: none; position: absolute; left: 100%; bottom: -5px; }
.tt-ctx-item:hover > .tt-ctx-sub { display: block; }
.tt-ctx-sub .tt-ctx { position: static; min-width: 16.9231rem; }

/* ---------- Окно заказа ---------- */
.tt-card { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 0.4615rem; padding: 0.7692rem 1.0769rem; }
.tt-card label { display: block; font-size: 0.8846rem; color: var(--c-muted); margin: 0.4615rem 0 2px; }
.tt-card .req::after { content: " *"; color: var(--c-danger); }
.tt-card .rz-textbox, .tt-card .rz-dropdown, .tt-card .rz-numeric, .tt-card .rz-datepicker, .tt-card .rz-textarea { width: 100%; font-size: 1rem; }
.tt-two { display: grid; grid-template-columns: 1fr 1fr; gap: 1.8462rem; }
.tt-three { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.6154rem; }
.tt-field { padding: 0 0 0.6154rem; margin-bottom: 0.4615rem; }
.tt-field > label:first-child { margin-top: 0; color: var(--c-text); font-weight: 600; }
.tt-indent { margin-left: 1.0769rem; padding-left: 0.9231rem; border-left: 2px solid var(--c-border); }
.tt-tabs-wnd .rz-tabview-panels { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 0 0.4615rem 0.4615rem 0.4615rem; padding: 0.9231rem 1.2308rem; }
.tt-tabs-wnd .rz-tabview-nav li a { padding: 0.4615rem 1.5385rem; font-size: 1rem; }
.tt-sub-title { font-size: 0.9231rem; color: var(--c-muted); margin-bottom: 0.3077rem; font-weight: 600; }
.tt-kv, .tt-tbl { width: 100%; border-collapse: collapse; background: var(--c-surface); font-size: 1rem; }
.tt-kv th, .tt-kv td, .tt-tbl th, .tt-tbl td { border: 1px solid var(--c-border); padding: 0.2308rem 0.6154rem; text-align: left; }
.tt-kv th { width: 23.8462rem; background: var(--c-surface-2); font-weight: 600; }
.tt-tbl thead th { background: var(--c-surface-2); text-align: center; font-weight: 600; }
.tt-tbl tbody th { font-weight: 600; }
.tt-kv input, .tt-tbl input:not([type=checkbox]) { width: 100%; border: 0; background: transparent; font: inherit; padding: 2px 0; }
.tt-kv input:focus, .tt-tbl input:focus { outline: 2px solid var(--c-accent-soft); }
.tt-tbl input.num, .tt-tbl td.num { text-align: right; }
.tt-tbl tr.total { background: var(--c-surface-2); }
.tt-feed { background: var(--c-surface-2); border: 1px solid var(--c-border); border-radius: 0.4615rem; min-height: 20rem; padding: 0.6154rem 0.9231rem; margin-bottom: 0.6154rem; display: flex; flex-direction: column; gap: 0.7692rem; }
.tt-fs { border: 1px solid var(--c-border); border-radius: 0.4615rem; padding: 0.6154rem 1.0769rem 0.9231rem; margin: 0 0 0.9231rem; background: var(--c-surface); }
.tt-fs legend { font-weight: 700; font-size: 0.8846rem; padding: 0 0.4615rem; letter-spacing: .4px; color: var(--c-muted); }
.tt-pill { display: inline-block; background: var(--c-surface-2); border: 1px solid var(--c-border); border-radius: 0.3077rem; padding: 1px 0.6154rem; font-weight: 600; }
.tt-wnd-bottom { display: flex; justify-content: space-between; align-items: center; padding: 0.6154rem 0; }
.tt-wbtn { min-width: 10.7692rem; height: 2.3077rem; background: var(--c-surface); border: 1px solid var(--c-border-strong); border-radius: 0.3077rem; font: inherit; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center; gap: 0.4615rem; vertical-align: middle; }
/* Значок и текст кнопки — на одной линии (раньше значок «всплывал» над текстом). */
.tt-wbtn .rzi, .tt-btn:not(.tt-big) .rzi { line-height: 1; vertical-align: middle; }
.tt-wbtn:hover { background: var(--c-accent-soft); }
.tt-wbtn.primary { background: var(--c-accent); border-color: var(--c-accent); color: #fff; font-weight: 600; }
.tt-wbtn.primary:hover { background: var(--c-accent-hover); }
.tt-profit { font-size: 1.6923rem; font-weight: 700; color: var(--c-ok); }

/* ---------- Окна справочников ---------- */
.tt-toolbar { display: flex; align-items: center; gap: 0.6154rem; padding: 0 0 0.6154rem; }
.tt-toolbar .tt-group, .tt-toolbar .tt-buttons, .tt-toolbar .tt-col { display: flex; flex-direction: row; align-items: center; gap: 0.6154rem; border: 0; padding: 0; }
.tt-toolbar .tt-caption { display: none; }
.tt-window .tt-status { background: transparent; color: var(--c-muted); padding: 0.3077rem 2px; }
.tt-window .tt-status b { color: var(--c-text); }

/* ---------- Диалог свойств ---------- */
.tt-props label { display: flex; justify-content: space-between; font-size: 0.9231rem; color: var(--c-muted); margin: 0.7692rem 0 0.2308rem; }
.tt-props label a { color: var(--c-accent); cursor: pointer; }
.tt-props .rz-textbox, .tt-props .rz-dropdown, .tt-props .rz-datepicker { width: 100%; }

/* ---------- Вход и смена пароля ---------- */
.tms-loading { padding: 3.0769rem; text-align: center; color: var(--c-muted); }
.login-page { min-height: calc(100 * var(--vh)); display: flex; align-items: center; justify-content: center; background: var(--c-bg); }
.login-box { width: 27.6923rem; max-width: calc(100 * var(--vw) - 2.4615rem); background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 0.7692rem; padding: 1.8462rem 2.1538rem; box-shadow: 0 0.7692rem 2.3077rem rgba(16,24,40,.08); box-sizing: border-box; }
.tt-window .login-box { box-shadow: none; }
.login-head { display: flex; gap: 0.9231rem; align-items: center; margin-bottom: 1.2308rem; }
.login-head .rzi { font-size: 3.0769rem; color: var(--c-accent); }
.login-title { font-size: 1.5385rem; font-weight: 700; }
.login-sub { color: var(--c-muted); }
.login-box label { display: block; font-size: 0.9231rem; color: var(--c-muted); margin: 0.7692rem 0 0.2308rem; }
.login-box input { width: 100%; box-sizing: border-box; height: 2.6154rem; border: 1px solid var(--c-border-strong); border-radius: 0.4615rem; padding: 0 0.7692rem; font: inherit; font-size: 1.0769rem; }
.login-box input:focus { outline: 2px solid var(--c-accent-soft); border-color: var(--c-accent); }
.login-box button { width: 100%; margin-top: 1.3846rem; height: 2.7692rem; border: 0; border-radius: 0.4615rem; background: var(--c-accent); color: #fff; font: inherit; font-size: 1.0769rem; font-weight: 600; cursor: pointer; }
.login-box button:hover { background: var(--c-accent-hover); }
.login-error { background: #fdecec; color: var(--c-danger); border: 1px solid #f5c2c2; border-radius: 0.4615rem; padding: 0.6154rem 0.7692rem; margin-bottom: 0.6154rem; }
.login-info { background: var(--c-accent-soft); border: 1px solid #b9dde7; border-radius: 0.4615rem; padding: 0.6154rem 0.7692rem; margin-bottom: 0.6154rem; }
.login-online { width: 100%; border-collapse: collapse; margin-bottom: 0.6154rem; font-size: 0.9231rem; }
.login-online th, .login-online td { border-bottom: 1px solid var(--c-border); padding: 0.2308rem 0.3077rem; text-align: left; }

/* ---------- Мелочи ---------- */
.tt-muted { color: var(--c-muted); font-size: 0.9231rem; }
.tt-mono { font-family: Consolas, monospace; font-size: 1.1538rem; letter-spacing: 1px; }
.tt-status-link { color: var(--c-bar-text); cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.tt-status-link:hover { color: #fff; }
.audit-changes { white-space: normal; font-size: 0.9231rem; }

/* ---------- Роли ---------- */
.roles { display: flex; gap: 0.9231rem; height: 100%; }
.roles-list { width: 19.2308rem; flex-shrink: 0; background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 0.4615rem; padding: 0.6154rem; overflow: auto; }
.roles-item { display: flex; align-items: center; gap: 0.4615rem; padding: 0.4615rem 0.6154rem; border-radius: 0.3077rem; cursor: pointer; }
.roles-item .tt-muted { margin-left: auto; }
.roles-item:hover { background: var(--c-surface-2); }
.roles-item.active { background: var(--c-select); }
.roles-item .rzi { color: var(--c-accent); }
.roles-edit { flex: 1; overflow: auto; }
.roles-perm { padding: 2px 0; }

/* ---------- Карточки ---------- */
.tt-lbl { display: block; font-size: 0.8846rem; color: var(--c-muted); margin: 0.4615rem 0 2px; }
.tt-lbl.req::after { content: " *"; color: var(--c-danger); }
.tt-fs .tt-check { margin-top: 0.4615rem; }
.tt-hint { margin-top: 0.3077rem; font-size: 0.9231rem; color: #8a5a00; background: var(--c-warn-bg); border-radius: 0.3077rem; padding: 0.2308rem 0.6154rem; }
.tt-window .rz-tabview { height: auto; }

/* ---------- Окно заказа ---------- */
.ow-head { display: flex; gap: 1.2308rem; align-items: center; margin-bottom: 0.6154rem; }
.ow-num { font-size: 1.1538rem; display: flex; gap: 0.4615rem; align-items: center; }
.ow-lock { color: var(--c-danger); font-weight: 600; display: inline-flex; gap: 0.3077rem; align-items: center; }
.ow-point { display: flex; gap: 0.4615rem; align-items: center; margin-top: 0.6154rem; }
.ow-party { display: flex; gap: 0.4615rem; margin: 0.2308rem 0 0 7.0769rem; }
.ow-kind { width: 6.6154rem; flex-shrink: 0; font-size: 0.9231rem; font-weight: 600; border-radius: 0.3077rem; padding: 0.2308rem 0.4615rem; text-align: center; }
.ow-kind.load { background: #e3f4e1; color: #2e7d32; }
.ow-kind.unload { background: #fdecec; color: #b23b3b; }
.ow-x { border: 0; background: transparent; cursor: pointer; color: var(--c-muted); padding: 2px; border-radius: 0.2308rem; display: inline-flex; }
.ow-x:hover { background: var(--c-accent-soft); color: var(--c-text); }
.ow-x .rzi { font-size: 1.2308rem; }
.ow-grid4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.3077rem 0.6154rem; }
.ow-pay { display: grid; grid-template-columns: 11.5385rem 1fr; gap: 0.4615rem 0.7692rem; align-items: center; font-size: 0.9615rem; }
.ow-pay > label { color: var(--c-muted); }
.ow-pay .rz-numeric, .ow-pay .rz-dropdown, .ow-pay .rz-datepicker, .ow-pay .rz-textbox { width: 100%; }
.ow-debt { margin-top: 0.6154rem; font-size: 1rem; }
.set-methods { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 1.2308rem; margin: 0.4615rem 0 0 2rem; }

/* ---------- Журнал: цвет строк, замок, меню, диалоги ---------- */
.tt-journal.color-rows .rz-data-row > td { background: color-mix(in srgb, var(--row-color, transparent) 22%, white) !important; }
.tt-journal.color-rows .rz-data-row.rz-state-highlight > td { background: var(--c-select) !important; }
.tt-lock { font-size: 1rem !important; color: var(--c-muted); vertical-align: -2px; margin-right: 0.2308rem; }
.tt-firms { width: 14.6154rem; font-size: 0.9231rem; }
.tt-status .tt-firms.rz-dropdown { min-height: 1.6923rem; padding-block: 0; display: inline-flex; align-items: center; }
.tt-status .tt-firms .rz-dropdown-label { padding: 0 0.4615rem; line-height: 1.5385rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tt-status .tt-firms .rz-dropdown-trigger { display: flex; align-items: center; }
.tt-hdr { display: block; }
.tt-status .tt-firms .rz-dropdown-label { color: var(--c-text); }
.asd { display: flex; flex-direction: column; gap: 2px; max-height: calc(60 * var(--vh)); overflow: auto; }
.asd-item { display: flex; align-items: center; gap: 0.3077rem; text-align: left; border: 1px solid transparent; background: transparent; padding: 0.4615rem 0.6154rem; border-radius: 0.3077rem; cursor: pointer; font: inherit; }
.asd-item:hover { background: var(--c-accent-soft); border-color: var(--c-border); }
.jc-list { max-height: 40rem; overflow: auto; }
.jc-on td { background: #f4fafb; }
.of-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.6154rem; }
.of-tabs .rz-tabview-panels { min-height: 32.3077rem; }
.of-grid { display: grid; grid-template-columns: 15.3846rem 1fr; gap: 0.6154rem 1.0769rem; align-items: center; max-width: 63.0769rem; }
.of-grid > label { font-size: 0.9615rem; color: var(--c-text); font-weight: 600; }
.of-grid .rz-textbox, .of-grid .rz-dropdown { width: 100%; }
.of-range { display: flex; gap: 0.4615rem; align-items: center; flex-wrap: wrap; }
.of-range .rz-numeric, .of-range .rz-datepicker { width: 13.0769rem; }
.of-q { color: var(--c-accent); cursor: pointer; font-size: 0.9231rem; }
.of-bottom { display: flex; justify-content: space-between; align-items: flex-end; margin-top: 0.7692rem; }

/* ---------- Окно заказа как в TT ---------- */
.ow-head { display: grid; grid-template-columns: 1fr auto 1fr; gap: 1.2308rem; align-items: start; margin-bottom: 0.6154rem; }
.ow-firm.client .rz-dropdown { border-bottom: 2px solid #e06c2c; }
.ow-firm.carrier .rz-dropdown:first-child { border-bottom: 2px solid #3aa655; }
.ow-account { display: flex; justify-content: flex-end; align-items: center; gap: 0.4615rem; color: #2e7d32; font-size: 0.9231rem; margin-top: 0.2308rem; }
.ow-account-dd { width: 21.5385rem; min-height: 2.1538rem; height: auto; font-size: 0.9231rem; }
.ow-account-dd .rz-dropdown-label { line-height: 1.3; display: flex; align-items: center; padding-top: 0; padding-bottom: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ow-lock { margin-bottom: 0.4615rem; }
.ow-field { margin-bottom: 0.6154rem; }
.ow-label { display: flex; align-items: baseline; gap: 0.7692rem; font-size: 0.9615rem; margin: 0.4615rem 0 2px; }
.ow-label > span:first-child { font-weight: 700; }
.ow-label .req::before { content: "* "; color: var(--c-danger); }
.ow-more { color: var(--c-accent); cursor: pointer; font-size: 0.9231rem; margin-left: auto; white-space: nowrap; }
.ow-more:hover { text-decoration: underline; }
.ow-contract { color: var(--c-muted); font-size: 0.9231rem; font-weight: 400 !important; margin-left: auto; }
.ow-contract + .ow-more { margin-left: 0.9231rem; }
.ow-client .rz-dropdown, .rz-dropdown.ow-client { background: #fdf0ea; }
.rz-dropdown.ow-carrier { background: #eef8ef; }
.rz-dropdown.ow-type { background: #f2effa; }
.rz-dropdown.ow-source { background: #edf4fb; }
.ow-period { display: grid; grid-template-columns: auto 17.6923rem 1fr; gap: 0.4615rem 0.7692rem; align-items: center; margin-bottom: 0.6154rem; }
.ow-period .rz-datepicker input { font-size: 1.2308rem; }
.ow-time { font-size: 0.9231rem; line-height: 1.6; }
.ow-addpoints { display: flex; gap: 1.3846rem; margin: 0.3077rem 0 0.6154rem 7.0769rem; }
.ow-flags { display: flex; gap: 1.2308rem; align-items: center; flex-wrap: wrap; margin-top: 0.4615rem; }
.ow-calc { display: flex; gap: 1.0769rem; align-items: center; margin-bottom: 0.4615rem; }
.ow-sum { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6154rem; margin-bottom: 0.4615rem; }
.ow-big input, .rz-numeric.ow-big input { font-size: 1.5385rem !important; font-weight: 700; }
.ow-carrier-box .ow-big input { background: #eef8ef; }
.ow-client-box .ow-big input { background: #fdf0ea; }
.ow-payline { display: grid; grid-template-columns: 8.4615rem 10.7692rem 1fr; gap: 0.6154rem; align-items: center; margin-top: 0.3077rem; }
.ow-payline .tt-check { margin: 0; }
.ow-files { display: flex; gap: 0.9231rem; align-items: flex-start; }
.ow-files-list { flex: 1; min-height: 6.1538rem; border: 1px solid var(--c-border); border-radius: 0.4615rem; background: var(--c-surface); padding: 0.4615rem 0.7692rem; }
.ow-file { display: flex; gap: 0.6154rem; align-items: center; padding: 2px 0; }
.ow-file .rzi { color: var(--c-accent); font-size: 1.3846rem; }
.ow-upload { display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }

/* Формулы расчёта */
.fw-pick { display: flex; gap: 1.2308rem; flex-wrap: wrap; }
.fw-box { display: flex; flex-direction: column; gap: 2px; margin-bottom: 0.6154rem; }
.fw-check { font-size: 0.9231rem; }
.fw-matrix { margin-top: 0.9231rem; overflow-x: auto; }
.fw-matrix .tt-tbl { width: auto; }
.fw-cell { text-align: center !important; cursor: pointer; min-width: 5.3846rem; }
.fw-cell:hover { background: var(--c-accent-soft); }
.fw-cell.on { outline: 2px solid var(--c-accent); outline-offset: -2px; font-weight: 700; }
.fw-cell.off { color: var(--c-danger); }

/* Печать заявок и бланки документов */
.tt-print-opts { display: flex; gap: 0.6154rem; align-items: center; }
.tt-print-opts select { height: 1.8462rem; padding: 0 0.3077rem; }
.tpl-wrap { display: flex; gap: 0.9231rem; height: 100%; min-height: 0; }
.tpl-main { flex: 1; min-width: 0; overflow: auto; }
.tpl-hint { margin: 0.4615rem 0 0.7692rem; font-size: 0.9231rem; }
.tpl-upload { position: relative; overflow: hidden; cursor: pointer; }
.tpl-upload input[type=file], .tpl-replace input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.tpl-replace { position: relative; display: inline-flex; width: 1.8462rem; height: 1.8462rem; align-items: center; justify-content: center; cursor: pointer; color: var(--c-accent); vertical-align: middle; }
.tpl-tbl td { vertical-align: middle; }
.tpl-tbl td.c { text-align: center; }
.tpl-tbl .tpl-file { max-width: 13.8462rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.9231rem; }
.tpl-tbl .tpl-act { white-space: nowrap; }
.tpl-off td { opacity: .55; }
.tpl-check { margin-top: 0.7692rem; padding: 0.6154rem 0.7692rem; background: var(--c-surface-2); border: 1px solid var(--c-border); border-radius: 0.4615rem; font-size: 1rem; }
.tpl-vars { width: 26.1538rem; flex-shrink: 0; overflow: auto; border-left: 1px solid var(--c-border); padding-left: 0.7692rem; }
.tpl-vars-head { position: sticky; top: 0; background: var(--c-bg, var(--c-surface)); display: flex; flex-direction: column; gap: 0.3077rem; padding-bottom: 0.4615rem; z-index: 1; }
.tpl-vg { margin-top: 0.7692rem; font-weight: 600; font-size: 0.9231rem; color: var(--c-muted, #666); text-transform: uppercase; }
.tpl-var { padding: 2px 0.3077rem; cursor: pointer; font-size: 0.9231rem; border-radius: 0.3077rem; }
.tpl-var:hover { background: var(--c-accent-soft); }
.tpl-var code { font-weight: 600; color: var(--c-accent); }

/* Договоры */
.cd-grid { display: grid; grid-template-columns: 13.0769rem 1fr; gap: 0.6154rem 0.9231rem; align-items: center; }
.cd-row { display: flex; align-items: center; gap: 0.6154rem; }
.cw-legend { margin-top: 0.4615rem; font-size: 0.9231rem; }
.cw-legend span { padding: 1px 0.4615rem; border-radius: 0.3077rem; }
:root { --cw-orig: #e3f4e5; --cw-sent: #e3eefb; --cw-scan: #fff4d6; }
.cw-orig { background: var(--cw-orig); }
.cw-sent { background: var(--cw-sent); }
.cw-scan { background: var(--cw-scan); }
.cw-grid .rz-data-row > td { background: var(--cw-row, transparent); }
.cw-none { background: var(--c-surface-2); }

/* Взаиморасчёты: оплата, долги, акт сверки */
.pw-side { display: inline-flex; border: 1px solid var(--c-border); border-radius: 0.4615rem; overflow: hidden; }
.pw-side button { border: 0; background: var(--c-surface); padding: 0.3077rem 0.9231rem; font: inherit; font-size: 1rem; cursor: pointer; color: var(--c-text); }
.pw-side button + button { border-left: 1px solid var(--c-border); }
.pw-side button.on { background: var(--c-accent); color: #fff; }
.pw-total { margin-left: auto; font-size: 1rem; }
.pw-empty { padding: 1.2308rem 0.3077rem; }
.pw-pay { display: flex; gap: 0.9231rem; align-items: flex-end; flex-wrap: wrap; margin: 0.6154rem 0 0.7692rem; }
.pw-tbl td.num, .pw-tbl th.num, .rc-tbl td.num { text-align: right; white-space: nowrap; }
.pw-tbl .pw-overdue td { background: #fdecec; }
.pw-tbl .pw-input { padding: 1px 0.3077rem; }
.pw-full { padding: 1px 0.6154rem; font-size: 0.9231rem; }
.pw-link { color: var(--c-accent); cursor: pointer; text-decoration: underline; }
.rc-tbl { margin-top: 0.6154rem; }
.rc-tbl .rc-sum td { font-weight: 600; background: var(--c-surface-2); }
.rc-result { margin: 0.7692rem 0 0.3077rem; font-weight: 600; }
.ow-plus { border: 1px solid var(--c-border); background: var(--c-surface); color: var(--c-accent); font-weight: 700; width: 1.6923rem; height: 1.6923rem; line-height: 1.3846rem; padding: 0; border-radius: 0.3077rem; cursor: pointer; margin-right: 0.3077rem; }
.ow-plus:disabled { opacity: .4; cursor: default; }

/* Производственный календарь */
.cal-year { font-size: 1.2308rem; margin: 0 0.3077rem; }
.cal-legend { margin-left: auto; display: inline-flex; gap: 0.4615rem; align-items: center; font-size: 0.9231rem; color: var(--c-muted); }
.cal-hint { margin: 0.3077rem 0 0.7692rem; font-size: 0.9231rem; }
.cal-wrap { display: flex; gap: 1.2308rem; align-items: flex-start; }
.cal-months { display: grid; grid-template-columns: repeat(4, minmax(14.6154rem, 1fr)); gap: 1.0769rem; flex: 1; }
.cal-month { border: 1px solid var(--c-border); border-radius: 0.4615rem; padding: 0.4615rem 0.6154rem; background: var(--c-surface); }
.cal-title { font-weight: 600; text-transform: capitalize; margin-bottom: 0.3077rem; }
.cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; text-align: center; font-size: 0.9231rem; }
.cal-h { color: var(--c-muted); font-size: 0.8462rem; }
.cal-d { display: inline-block; min-width: 1.6923rem; padding: 2px 0; border-radius: 0.3077rem; cursor: pointer; border: 1px solid transparent; }
.cal-d:hover { border-color: var(--c-accent); }
.cal-d.off { background: #eceff1; color: #78909c; }
.cal-d.holiday { background: #fdecec; color: #c62828; }
.cal-d.moved-off { background: #ffe0b2; color: #b45309; font-weight: 700; }
.cal-d.moved-work { background: #dcfce7; color: #166534; font-weight: 700; }
.cal-d.today { outline: 2px solid var(--c-accent); }
.cal-legend .cal-d { cursor: default; padding: 0 0.3077rem; }
.cal-list { width: 29.2308rem; flex-shrink: 0; display: flex; flex-direction: column; gap: 0.4615rem; }
.cal-item { display: flex; gap: 0.4615rem; align-items: center; font-size: 1rem; }

/* Отчёты */
.rp-wrap { display: flex; gap: 0.9231rem; height: 100%; min-height: 0; }
.rp-list { width: 22.3077rem; flex-shrink: 0; overflow: auto; border-right: 1px solid var(--c-border); padding-right: 0.6154rem; }
.rp-group { margin-top: 0.7692rem; font-size: 0.8462rem; font-weight: 600; color: var(--c-muted); text-transform: uppercase; }
.rp-item { padding: 0.3077rem 0.4615rem; border-radius: 0.3077rem; cursor: pointer; font-size: 1rem; }
.rp-item:hover { background: var(--c-accent-soft); }
.rp-item.on { background: var(--c-accent); color: #fff; }
.rp-main { flex: 1; min-width: 0; overflow: auto; }
.rp-empty { padding: 1.5385rem; }
.rp-title { font-size: 1.2308rem; font-weight: 600; }
.rp-hint { font-size: 0.9231rem; margin: 2px 0 0.6154rem; }
.rp-params { display: flex; flex-wrap: wrap; gap: 0.7692rem 1.2308rem; align-items: flex-end; }
.rp-p { display: flex; flex-direction: column; gap: 2px; }
.rp-opts { display: flex; flex-wrap: wrap; gap: 0.3077rem 1.2308rem; margin-top: 0.6154rem; }
.rp-actions { display: flex; gap: 0.6154rem; align-items: center; margin: 0.7692rem 0; }
.rp-sheet { font-weight: 600; margin: 0.9231rem 0 0.3077rem; }
.rp-table-wrap { overflow: auto; }
.rp-tbl { width: auto; min-width: 100%; }
.rp-tbl td.num, .rp-tbl th.num { text-align: right; white-space: nowrap; }
.rp-tbl tfoot th { background: var(--c-surface-2); }
.rp-tbl .rp-grp td { background: var(--c-surface-2); font-weight: 600; }
.rp-tbl .rp-sub td { font-weight: 600; border-top: 1px solid var(--c-text); }
.rp-tbl .rp-debt td { color: #c62828; }
.rp-tbl .rp-link { cursor: pointer; }
.rp-tbl tbody tr:hover td { background: #f2f7f9; }

/* Конструктор отчётов */
.rb-shared { font-size: 0.8462rem; color: var(--c-muted); margin-left: 0.3077rem; }
.rp-item.on .rb-shared { color: #fff; }
.rb-head { display: flex; gap: 1.2308rem; align-items: flex-end; }
.rb-blank { display: flex; flex-wrap: wrap; gap: 0.4615rem; align-items: center; margin: 0.6154rem 0; font-size: 1rem; }
.rb-cols { display: flex; gap: 1.2308rem; align-items: flex-start; margin-top: 0.6154rem; }
.rb-chosen { flex: 1; min-width: 23.0769rem; border: 1px solid var(--c-border); border-radius: 0.4615rem; padding: 0.4615rem; background: var(--c-surface); }
.rb-pick { width: 29.2308rem; flex-shrink: 0; }
.rb-pick .pw-side { flex-wrap: wrap; }
.rb-avail { max-height: 32.3077rem; overflow: auto; border: 1px solid var(--c-border); border-radius: 0.4615rem; padding: 0.3077rem; background: var(--c-surface); }
.rb-title { font-weight: 600; margin-bottom: 0.3077rem; }
.rb-field { display: flex; align-items: center; gap: 0.4615rem; padding: 2px 0.3077rem; border-radius: 0.3077rem; font-size: 1rem; }
.rb-field:hover { background: var(--c-accent-soft); }
.rb-field.added { opacity: .45; }
.rb-num { width: 1.6923rem; color: var(--c-muted); text-align: right; }
.rb-name { flex: 1; }
.rb-cat { font-size: 0.8462rem; }
.rb-mini { border: 1px solid var(--c-border); background: var(--c-surface); border-radius: 0.3077rem; width: 1.6923rem; height: 1.6923rem; padding: 0; cursor: pointer; }
.rb-mini:disabled { opacity: .35; cursor: default; }

/* Хозрасходы */
.ox-wrap { display: flex; gap: 1.2308rem; align-items: flex-start; }
.ox-table { flex: 1; min-width: 0; overflow: auto; }
.ox-sum { width: 24.6154rem; flex-shrink: 0; }
.ox-sum .tt-kv th { font-weight: 500; }
.ox-net th, .ox-net td { border-top: 2px solid var(--c-text) !important; }

/* Предзаказы */
.po-grid { display: grid; grid-template-columns: 11.5385rem 1fr; gap: 0.6154rem 0.9231rem; align-items: center; }
.po-grid .req::after { content: " *"; color: var(--c-danger); }
.po-filter { flex-wrap: wrap; }
.ow-track { display: flex; align-items: center; gap: 0.3077rem; }
.ow-track a { color: var(--c-accent); display: inline-flex; }

/* CRM */
.crm-funnel { display: flex; flex-wrap: wrap; gap: 0.4615rem; margin: 0.3077rem 0 0.6154rem; }
.crm-stage { padding: 0.2308rem 0.7692rem; border-radius: 1.0769rem; border: 1px solid var(--c-border); background: var(--c-surface); cursor: pointer; font-size: 0.9231rem; }
.crm-stage b { margin-left: 0.3077rem; }
.crm-stage.on { background: var(--c-accent); color: #fff; border-color: var(--c-accent); }
.crm-s4 { border-color: #86c79a; }
.crm-s5 { border-color: #e0a0a0; }
.crm-wrap { display: flex; gap: 0.9231rem; align-items: flex-start; min-height: 0; }
.crm-left { flex: 1; min-width: 0; overflow: auto; max-height: calc(100 * var(--vh) - 24.6154rem); }
.crm-right { width: 32.3077rem; flex-shrink: 0; }
.crm-tbl tbody tr { cursor: pointer; }
.crm-tbl tbody tr:hover td { background: #f2f7f9; }
.crm-tbl .crm-sel td { background: var(--c-select) !important; }
.crm-tbl .crm-black td { color: #b45309; }
.crm-hist { display: flex; flex-direction: column; gap: 0.4615rem; }
.crm-add { display: flex; flex-direction: column; gap: 0.3077rem; }
.crm-add .crm-text { width: 100%; resize: vertical; font: inherit; }
.crm-add button { align-self: flex-end; }
.crm-tools { display: flex; gap: 0.4615rem; align-items: center; }
.crm-list { max-height: calc(100 * var(--vh) - 32.3077rem); overflow: auto; display: flex; flex-direction: column; gap: 0.4615rem; }
.crm-ev { border: 1px solid var(--c-border); border-left: 0.2308rem solid var(--c-border); border-radius: 0.4615rem; padding: 0.3077rem 0.6154rem; background: var(--c-surface); font-size: 1rem; }
.crm-ev-head { display: flex; flex-wrap: wrap; gap: 0.4615rem; align-items: center; }
.crm-ev-text { white-space: pre-wrap; margin-top: 2px; }
.crm-callin, .crm-callout { border-left-color: #4a90c2; }
.crm-callmissed { border-left-color: #c62828; }
.crm-unhandled { background: #fdecec; }
.crm-email { border-left-color: #8e6bbf; }
.crm-meeting { border-left-color: #2e8b57; }
.crm-stagechanged { border-left-color: #c79a2c; }
.crm-due td { background: #fff4d6; }

/* Проигрыватель записей разговоров */
.call-player { display: flex; align-items: center; gap: 0.7692rem; flex-wrap: wrap; padding: 0.4615rem 0.7692rem; margin: 0.3077rem 0; background: var(--c-accent-soft, #eef6f8); border: 1px solid var(--c-border); border-radius: 0.4615rem; }
.call-player audio { height: 2.4615rem; width: 32.3077rem; max-width: 100%; }
.crm-audio { display: block; height: 2.3077rem; width: 100%; max-width: 27.6923rem; margin-top: 0.3077rem; }
.crm-tbl .call-playing td { background: #fff4d6 !important; }
.rb-mini.call-now { border-color: var(--c-accent); }

/* «Найти в журнале» — подсказки как в TT */
.jp-list { margin-top: 0.6154rem; max-height: 29.2308rem; overflow: auto; border: 1px solid var(--c-border); border-radius: 0.3077rem; padding: 0.3077rem; }
.jp-item { padding: 0.3077rem 0.4615rem; cursor: pointer; border-radius: 0.2308rem; }
.jp-item.on { background: var(--c-select); }

/* «Вид программы» */
.uip-fonts { border: 1px solid var(--c-border); border-radius: 0.3077rem; max-height: 25.3846rem; overflow: auto; padding: 0.3077rem; }
.uip-font { padding: 0.3846rem 0.6154rem; cursor: pointer; border-radius: 0.2308rem; font-size: 1.0769rem; }
.uip-font:hover { background: var(--c-accent-soft, #eef6f8); }
.uip-font.on { background: var(--c-select); font-weight: 600; }
.uip-sample { margin-top: 0.7692rem; padding: 0.6154rem; border: 1px dashed var(--c-border); border-radius: 0.3077rem; font-size: 1rem; }

/* Документооборот: журнал корреспонденции, карточка документа, вкладка «Документы» заказа */
.doc-dot { width: 0.8462rem; height: 0.8462rem; border-radius: 50%; display: inline-block; vertical-align: -1px; background: #cfd8dc; }
.doc-d1 { background: #64b5f6; } .doc-d2 { background: #ffb74d; } .doc-d3 { background: #66bb6a; } .doc-d4 { background: #e53935; }
.doc-in { color: #1565c0; font-weight: 700; text-align: center; } .doc-out { color: #6a1b9a; font-weight: 700; text-align: center; }
.doc-chip { display: inline-block; font-size: 0.8462rem; padding: 0 0.6154rem; border-radius: 0.7692rem; border: 1px solid #b6dbe4; background: #f2f9fb; color: var(--c-accent); cursor: pointer; margin: 0 0.3077rem 2px 0; text-decoration: none; }
.doc-chip-none { border-color: var(--c-border); background: var(--c-surface-2); color: var(--c-muted); cursor: default; }
.doc-name { cursor: pointer; color: inherit; }
.doc-name:hover { color: var(--c-accent); text-decoration: underline; }
.doc-sides { display: grid; grid-template-columns: 1fr 1fr; gap: 0.7692rem; align-items: start; }
.doc-sides .doc-side:nth-child(3) { grid-column: 1 / -1; }
.doc-set th, .doc-set td { vertical-align: middle; }
.doc-set tbody th { font-weight: 600; }
.doc-st { font-weight: 400; font-size: 0.9231rem; }
.doc-other { margin-top: 0.6154rem; }
.doc-other summary { cursor: pointer; color: var(--c-accent); font-weight: 600; padding: 0.3077rem 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.doc-files { display: flex; flex-wrap: wrap; gap: 0.4615rem; align-items: center; }
.doc-file { display: inline-flex; gap: 0.4615rem; align-items: center; border: 1px solid var(--c-border); border-radius: 0.4615rem; padding: 2px 0.3077rem 2px 0.6154rem; background: var(--c-surface); }
.doc-new { border-style: dashed; }
.doc-hist { border-left: 2px solid var(--c-border); margin-left: 0.3077rem; padding-left: 0.7692rem; display: grid; gap: 0.3077rem; }
.doc-drop { display: block; position: relative; border: 2px dashed #b6dbe4; border-radius: 0.6154rem; padding: 1.3846rem; text-align: center; color: var(--c-muted); background: #fafdfe; margin: 0.6154rem 0; cursor: pointer; }
.doc-drop input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.doc-intake td { vertical-align: middle; }
@media (max-width: 900px) { .doc-sides { grid-template-columns: 1fr; } }

/* Запросы клиентов (CRM) сверху журнала заказов */
.oj-wrap { display: flex; flex-direction: column; height: 100%; min-height: 0; }
.oj-grid { flex: 1; min-height: 0; }
.lead-panel { flex: none; border: 1px solid #f0d58a; background: #fffaf0; border-radius: 0.4615rem; margin-bottom: 0.4615rem; }
.lead-head { display: flex; align-items: center; gap: 0.7692rem; padding: 0.2308rem 0.6154rem; }
.lead-toggle { cursor: pointer; font-weight: 700; color: #8a6200; font-size: 0.9231rem; user-select: none; }
.lead-alert { color: var(--c-danger, #c62828); font-weight: 600; font-size: 0.9231rem; }
.lead-scroll { max-height: calc(30 * var(--vh)); overflow: auto; }
.lead-tbl td, .lead-tbl th { vertical-align: middle; }
.lead-tbl tbody td { background: #fff7e0; }
.lead-tbl tr.lead-hot td { background: #ffe9e6; }
.lead-tbl .tt-wbtn { padding: 2px 0.7692rem; }
.lead-st { font-size: 0.9231rem; padding: 1px 0.6154rem; border-radius: 0.7692rem; border: 1px solid var(--c-border); white-space: nowrap; background: #fff; }
.lead-st0 { color: #1565c0; border-color: #b3d4f5; } .lead-st1 { color: #00695c; border-color: #a7d7cf; } .lead-st2 { color: #c77700; border-color: #ffd591; }
.lead-st-bad { color: #c62828 !important; border-color: #f3b2b2 !important; background: #fdf1f1; }
.lead-win { background: #2e7d32 !important; color: #fff !important; border-color: #2e7d32 !important; }
.lead-lost { color: #c62828 !important; }
.lead-reasons { display: flex; flex-wrap: wrap; gap: 0.4615rem; }
.lead-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.7692rem; margin-bottom: 0.7692rem; }
.lead-kpi { border: 1px solid var(--c-border); border-radius: 0.6154rem; padding: 0.6154rem 0.9231rem; background: var(--c-surface); }
.lead-kpi b { display: block; font-size: 1.6923rem; }
.lead-bar { display: inline-block; height: 1.0769rem; border-radius: 0.2308rem; background: var(--c-accent); vertical-align: middle; margin-right: 0.4615rem; }
.lead-two { display: grid; grid-template-columns: 1fr 1fr; gap: 0.7692rem; margin-bottom: 0.7692rem; }
@media (max-width: 900px) { .lead-kpis { grid-template-columns: 1fr 1fr; } .lead-two { grid-template-columns: 1fr; } }
.lead-tbl th, .lead-tbl td { white-space: nowrap; }
.lead-tbl td:nth-child(3), .lead-tbl td:nth-child(4) { white-space: normal; min-width: 12.3077rem; }
.lead-tbl .tt-wbtn { min-width: 0; width: auto; margin-right: 0.3077rem; }

/* Роли: права карточками по разделам */
.perm-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(24.6154rem, 1fr)); gap: 0.7692rem; align-items: start; }
.perm-card { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 0.6154rem; padding: 0.6154rem 0.7692rem; }
.perm-head { display: flex; align-items: center; gap: 0.6154rem; padding-bottom: 0.4615rem; margin-bottom: 0.3077rem; border-bottom: 1px solid var(--c-border); }
.perm-head .rzi { color: var(--c-accent); }
.perm-count { margin-left: auto; font-size: 0.8462rem; padding: 0 0.6154rem; border-radius: 0.7692rem; background: #fff3e0; color: #a05a00; }
.perm-count.all { background: #e8f5e9; color: #2e7d32; }
.perm-count.none { background: var(--c-surface-2); color: var(--c-muted); }
.perm-all { font-size: 0.9231rem; cursor: pointer; color: var(--c-accent); }
.perm-row { display: flex; align-items: center; gap: 0.6154rem; padding: 0.2308rem 0; cursor: pointer; color: var(--c-muted); }
.perm-row.on { color: var(--c-text); }
.perm-users { display: grid; grid-template-columns: repeat(auto-fill, minmax(16.9231rem, 1fr)); gap: 2px 0.9231rem; margin: 0.6154rem 0 0 1.8462rem; }
.call-ad { margin-left: 0.4615rem; font-size: 0.8462rem; padding: 0 0.4615rem; border-radius: 0.6154rem; background: #fff3e0; color: #a05a00; white-space: nowrap; }

/* «Не работать» и «Важный» контрагент */
.caller-flag { margin-bottom: 0.7692rem; padding: 0.6154rem 0.9231rem; border-radius: 0.4615rem; font-weight: 700; }
.caller-flag.bad { background: #c62828; color: #fff; }
.caller-flag.vip { background: #fff3c4; color: #5c4300; border-left: 0.4615rem solid #f5a623; }
.crm-tbl tr.call-bad td { background: #fdecec; }
.crm-tbl tr.call-bad td:nth-child(4) { color: #c62828; font-weight: 600; }
.crm-tbl tr.call-vip td { background: #fff8dc; }
.crm-tbl tr.call-vip td:nth-child(4) { color: #8a6200; font-weight: 600; }
.crm-tbl tr.crm-vip td { background: #fff8dc; }
.rz-data-row.row-vip > td { background: #fff8dc !important; }

/* Подсказки адресов DaData */
.addr-box { position: relative; width: 100%; }
.addr-list { position: absolute; z-index: 2000; left: 0; right: 0; top: 100%; margin: 2px 0 0; padding: 0.3077rem 0; list-style: none; background: var(--c-surface);
    border: 1px solid var(--c-border); border-radius: 0.4615rem; box-shadow: 0 0.4615rem 1.3846rem rgba(0,0,0,.15); max-height: 20rem; overflow: auto; }
.addr-list li { padding: 0.3846rem 0.7692rem; cursor: pointer; font-size: 1rem; }
.addr-list li:hover, .addr-list li.on { background: var(--c-accent-soft); }
.addr-req { display: grid; grid-template-columns: 1fr; gap: 0.3077rem; }
.addr-req .tt-muted { font-size: 0.8462rem; }

/* Данные для ЭПД */
.epd-scroll { overflow: auto; max-height: calc(100 * var(--vh) - 17.6923rem); padding-right: 0.3077rem; }
.epd-point { border: 1px solid var(--c-border); border-radius: 0.4615rem; padding: 0.6154rem; margin-bottom: 0.6154rem; background: var(--c-surface); }
.epd-point-head { display: flex; align-items: center; gap: 0.7692rem; margin-bottom: 0.4615rem; }
.epd-row { display: flex; align-items: center; gap: 0.6154rem; margin-top: 0.4615rem; flex-wrap: wrap; }
.epd-ok { color: #2e7d32; font-weight: 600; font-size: 0.9231rem; }
.epd-missing { background: #fff3e0; border: 1px solid #ffcc80; border-radius: 0.4615rem; padding: 0.4615rem 0.7692rem; margin-bottom: 0.6154rem; font-size: 0.9231rem; }
.epd-legs .rz-numeric { width: 6.9231rem; }

/* Грузы по точкам в заказе */
.ow-cargo-items { margin-top: 0.4615rem; }
.ow-cargo-tbl td { vertical-align: middle; }
.ow-cargo-tbl .rz-numeric { width: 6.1538rem; }
.ow-cargo-tbl select { width: 100%; min-width: 10.7692rem; }

/* Выпадающие списки: не уже поля, но шире, если названия длинные (фирмы, р/с, банки) — без переноса строк и горизонтальной прокрутки. */
.rz-dropdown-panel, .rz-multiselect-panel { width: auto !important; max-width: min(40rem, 96vw); }
.rz-dropdown-panel .rz-dropdown-item, .rz-multiselect-panel .rz-multiselect-item { white-space: nowrap; }
.rz-dropdown-panel .rz-dropdown-items-wrapper, .rz-multiselect-panel .rz-multiselect-items-wrapper { overflow-x: hidden; }
