/* Субклиенты Pro (S5): столбцы «Клиент»/«Чек», окно «Чек», Справочник, балансы в Финансах. Кабинет светлый. */
:root { --ps-ink:#1b2430; --ps-mut:#5d6876; --ps-line:#e6eaef; --ps-line2:#d3d9e0; --ps-soft:#f5f7f9; --ps-blue:#1a5fb4;
  --ps-red:#dc2626; --ps-green:#15803d; --ps-warn-bg:#fff4e0; --ps-warn-br:#f0c27a; --ps-warn-fg:#5c3b00; }
.psub-mut { color: var(--ps-mut); font-size: 13px; }
.psub-b { font-weight: 600; }
.psub-r { text-align: right; }
.psub-scroll { overflow-x: auto; max-width: 100%; }
.psub-col { vertical-align: middle; background: #f7faff; min-width: 120px; }
.psub-h { color: var(--ps-blue); background: #f0f5fc; font-weight: 600; }
.psub-sel, .psub-inp { font: inherit; font-size: 16px; padding: 8px 10px; min-height: 40px; border: 1px solid var(--ps-line2); border-radius: 8px; background: #fff; color: var(--ps-ink); max-width: 100%; }
.psub-note { display: block; font-size: 12px; color: var(--ps-mut); margin-top: 4px; }
.psub-chk { display: inline-flex; align-items: center; font: inherit; font-size: 14px; padding: 8px 14px; min-height: 40px; min-width: 76px; border-radius: 8px; border: 1px solid transparent; justify-content: center; }
.psub-chk.is-grey { background: #eef1f4; color: var(--ps-mut); border-color: var(--ps-line2); }
.psub-chk.is-red { background: var(--ps-red); color: #fff; border-color: #b91c1c; cursor: pointer; }
.psub-chk.is-green { background: var(--ps-green); color: #fff; border-color: #166534; cursor: pointer; }
.psub-btn { font: inherit; font-size: 14px; padding: 8px 14px; min-height: 40px; border-radius: 8px; border: 1px solid var(--ps-line2); background: #fff; color: var(--ps-ink); cursor: pointer; }
.psub-btn--dark { background: var(--ps-ink); color: #fff; border-color: var(--ps-ink); }
.psub-btn--blue { background: var(--ps-blue); color: #fff; border-color: var(--ps-blue); }
.psub-btn--ok { background: var(--ps-green); color: #fff; border-color: #166534; font-weight: 600; }
.psub-btn--red { background: var(--ps-red); color: #fff; border-color: #b91c1c; }
.psub-err { color: #b91c1c; font-size: 13px; margin: 0; min-height: 0; flex-basis: 100%; }
.psub-err:empty { display: none; }
.psub-toast { position: fixed; left: 50%; bottom: 84px; transform: translateX(-50%); background: var(--ps-ink); color: #fff; padding: 10px 16px; border-radius: 8px; font-size: 14px; z-index: 300; opacity: 0; pointer-events: none; transition: opacity .2s; max-width: calc(100vw - 32px); }
.psub-toast.is-on { opacity: 1; }
/* окно «Чек» и «Внести сумму» */
.psub-ov { position: fixed; inset: 0; z-index: 200; background: rgba(10,14,20,.6); display: flex; align-items: flex-start; justify-content: center; overflow-y: auto; padding: 24px 16px; }
.psub-dlg { background: #fff; color: var(--ps-ink); border-radius: 12px; padding: 20px; display: flex; flex-direction: column; gap: 14px; width: 100%; max-width: 680px; min-width: 0; box-shadow: 0 12px 40px rgba(0,0,0,.25); }
.psub-dlg--s { max-width: 460px; }
.psub-hd { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.psub-hd > div { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.psub-hd h2, .psub-dir h2, .psub-fin h2 { margin: 0; font-size: 20px; font-weight: 600; overflow-wrap: anywhere; }
.psub-eye { font-size: 12px; font-weight: 600; letter-spacing: .06em; color: var(--ps-blue); }
.psub-x { width: 44px; height: 44px; flex: none; border-radius: 8px; border: 1px solid var(--ps-line); background: #fff; color: var(--ps-mut); font-size: 20px; cursor: pointer; }
.psub-warn { background: var(--ps-warn-bg); border: 1px solid var(--ps-warn-br); color: var(--ps-warn-fg); border-radius: 8px; padding: 10px 12px; font-size: 14px; }
.psub-lock { background: var(--ps-soft); border-radius: 8px; padding: 10px 12px; font-size: 14px; }
.psub-tbl { width: 100%; border-collapse: collapse; font-size: 14px; }
.psub-tbl th { text-align: left; color: var(--ps-mut); font-size: 13px; font-weight: 500; border-bottom: 1px solid var(--ps-line); padding: 8px; }
.psub-tbl th.psub-r { text-align: right; }
.psub-tbl td { padding: 8px; border-bottom: 1px solid #eef1f4; vertical-align: middle; }
.psub-tbl tfoot td { border-bottom: 0; font-size: 16px; }
.psub-chkbox { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; }
.psub-chkbox input { width: 20px; height: 20px; }
.psub-sum { width: 130px; max-width: 100%; font: inherit; font-size: 16px; padding: 8px 10px; border: 1px solid #9fbbe0; border-radius: 8px; }
.psub-sum:disabled { border-color: var(--ps-line); background: var(--ps-soft); color: #8a94a1; }
.psub-acts { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }
/* Справочник */
body.psub-dir-on .table-wrap, body.psub-dir-on #financePanel, body.psub-dir-on #officeTimeline, body.psub-dir-on #detailPark { display: none !important; }
.psub-dir, .psub-fin { background: #fff; border: 1px solid var(--ps-line); border-radius: 8px; padding: 16px; margin: 12px; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.psub-dir[hidden], .psub-fin[hidden] { display: none; }
.psub-dir__top, .psub-fin__top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; }
.psub-addf { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; background: var(--ps-soft); border-radius: 8px; padding: 12px; }
.psub-addf[hidden] { display: none; }
.psub-lab { display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: var(--ps-mut); flex: 1 1 140px; min-width: 0; }
/* Финансы */
.psub-gray { font-size: 13px; color: var(--ps-mut); background: var(--ps-soft); border-radius: 8px; padding: 8px 12px; margin: 0; }
.psub-bal { border: 1px solid var(--ps-line); border-radius: 8px; padding: 12px; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.psub-bal__h { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 12px; }
.psub-bal__v { margin-left: auto; font-size: 20px; font-variant-numeric: tabular-nums; }
.psub-bal__v.pos { color: var(--ps-green); }
.psub-bal__v.neg { color: #b91c1c; }
/* телефон */
.psub-ph { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 8px 12px 12px; }
.psub-ph__l { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--ps-mut); }
.psub-ph__c { display: flex; align-items: center; gap: 8px; }
.psub-ph .psub-note { margin: 0; }
@media (max-width: 720px) {
  .psub-dir, .psub-fin { margin: 8px; padding: 12px; }
  .psub-ov { padding: 12px 8px; }
  .psub-dlg { padding: 14px; }
  .psub-tbl th, .psub-tbl td { padding: 6px 4px; }
  .psub-sum { width: 96px; }
  .psub-bal__v { margin-left: 0; }
  #officePhoneNav [data-opn] span { font-size: 10px; }
}
.psub-new { display: block; font-size: 12px; color: #5c3b00; margin-top: 4px; cursor: pointer; }
