/* Файл: public_html/public/assets/css/app.css */
:root{
  --brand-700:#0f4454; --brand-600:#16697a; --brand-300:#4fa9b8; --brand-100:#e3f3f5; --brand-050:#f2fafb;
  --border-soft:#dfeaec; --text-soft:#5c7d84; --bg-page:#eef4f5;
}
body{ background:var(--bg-page); font-size:14px; color:#1d2f33; }
.app-nav{ background:linear-gradient(90deg,var(--brand-700),var(--brand-600)); }
.app-nav .nav-link{ color:rgba(255,255,255,.8); border-radius:8px; padding:.35rem .7rem!important; }
.app-nav .nav-link:hover,.app-nav .nav-link.active{ color:#fff; background:rgba(255,255,255,.14); }

.page-top{ display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;
  margin-bottom:10px; padding:9px 14px; border-radius:14px; border:1px solid #fff;
  background:linear-gradient(120deg,rgba(15,68,84,.08) 0%,rgba(255,255,255,.95) 45%,rgba(22,105,122,.10) 100%);
  box-shadow:0 6px 18px rgba(15,68,84,.08); }
.page-top h1{ margin:0; font-size:16px; font-weight:800; color:var(--brand-700); }

.card-soft{ background:#fff; border:1px solid var(--border-soft); border-radius:12px; box-shadow:0 2px 10px rgba(15,68,84,.06); }
.filters{ background:#fff; border:1px solid var(--border-soft); border-radius:10px; padding:8px 10px; margin-bottom:10px; }
.form-label{ font-weight:700; color:#1d3a41; margin-bottom:.3rem; }
.filters .form-label{ margin-bottom:2px; font-size:11px; font-weight:700; color:var(--text-soft); }
.form-control,.form-select{ border-color:#a9bfc4; }
.form-control:disabled,.form-control[readonly]{ background:#f1f5f6; }
.form-check-input{ border-color:#8faab0; }
.form-control:focus,.form-select:focus{ border-color:var(--brand-300); box-shadow:0 0 0 .15rem rgba(15,68,84,.14); }

.btn-brand{ background:var(--brand-700); color:#fff; border:0; }
.btn-brand:hover{ background:var(--brand-600); color:#fff; }

.table-wrap{ border:1px solid var(--border-soft); border-radius:12px; overflow:auto; background:#fff;
  box-shadow:0 6px 22px rgba(15,68,84,.10); }
.table-excel{ font-size:13px; margin:0; }
.table-excel td,.table-excel th{ padding:.38rem .55rem; vertical-align:middle; }
.table-excel thead th{ position:sticky; top:0; z-index:2; white-space:nowrap;
  background:linear-gradient(180deg,var(--brand-050),var(--brand-100))!important; color:var(--brand-700);
  font-weight:800; font-size:10.5px; text-transform:uppercase; letter-spacing:.03em; }
.table-excel tbody tr:nth-child(even) td{ background:rgba(15,68,84,.045); }
.table-excel tbody tr:hover td{ background:var(--brand-100)!important; }
.table-excel tfoot td{ font-weight:800; background:var(--brand-050); }
.nowrap{ white-space:nowrap; } .num{ text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.text-pos{ color:#2e7d32; } .text-neg{ color:#c62828; }

.kpi{ background:#fff; border:1px solid var(--border-soft); border-radius:12px; padding:10px 14px; height:100%; }
.kpi .lbl{ font-size:11px; font-weight:700; color:var(--text-soft); text-transform:uppercase; }
.kpi .val{ font-size:20px; font-weight:800; color:var(--brand-700); }

.badge{ font-weight:600; }
.badge-primary{ background:#0d6efd; } .badge-secondary{ background:#6c757d; } .badge-success{ background:#198754; }
.badge-danger{ background:#dc3545; } .badge-warning{ background:#ffc107; color:#212529; } .badge-info{ background:#0dcaf0; color:#053b45; }
.badge-dark{ background:#212529; } .badge-brown{ background:#8d6e63; } .badge-navy{ background:#1a237e; } .badge-lime{ background:#9e9d24; }

.login-wrap{ min-height:100vh; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,var(--brand-700),var(--brand-300)); }
.login-card{ width:100%; max-width:380px; background:#fff; border-radius:16px; padding:28px; box-shadow:0 20px 50px rgba(0,0,0,.25); }

@media (max-width:576px){ .page-top h1{ font-size:15px; } .table-excel{ font-size:12px; } }
@media print{ .app-nav,.filters,.no-print{ display:none!important; } body{ background:#fff; } }

/* без стрелок увеличения/уменьшения в числовых полях */
input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
input[type=number]{ -moz-appearance:textfield; appearance:textfield; }

/* выпадающий список клиентов */
.cbox{ position:relative; }
.cbox-list{ display:none; position:absolute; left:0; right:0; top:100%; z-index:1050; margin-top:2px; max-height:300px; overflow:auto;
  background:#fff; border:1px solid var(--border-soft); border-radius:10px; box-shadow:0 10px 26px rgba(15,68,84,.18); }
.cbox-item{ padding:6px 10px; cursor:pointer; border-bottom:1px solid #e3ecee; }
.cbox-item:nth-child(even){ background:#eaf2f4; }
.cbox-item:hover,.cbox-item.active{ background:var(--brand-100); }
.cbox-empty{ padding:10px; color:#6c757d; font-size:13px; }
.dots{ font-weight:900; line-height:1.2; border:1px solid var(--border-soft); }
.dots:hover{ background:var(--brand-100); }

/* карточка заказа */
.info-tbl td{ padding:.12rem .25rem; }
.info-tbl td:first-child{ color:var(--text-soft); width:42%; }
.money-mini{ display:grid; grid-template-columns:1fr 1fr; gap:4px 10px; }
.money-mini div{ display:flex; justify-content:space-between; align-items:baseline; font-size:12px; }
.money-mini span{ color:var(--text-soft); }
.money-mini b{ font-size:14px; font-variant-numeric:tabular-nums; }
.order-tabs .nav-link{ color:var(--brand-700); font-weight:600; padding:.4rem .8rem; }
.order-tabs .nav-link.active{ background:#fff; border-color:var(--border-soft) var(--border-soft) #fff; }
.row-flash td{ background:#d1f0d9!important; transition:background .3s; }

/* ===== Клиенты ===== */
.page-narrow{ max-width:1080px; margin:0 auto; }
.cl-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin:4px 0 14px; }
.cl-title{ font-size:24px; font-weight:800; color:var(--brand-700); margin:0; }
.cl-sub{ color:var(--text-soft); font-size:13px; margin-top:2px; }
.cl-tools{ display:flex; gap:12px; align-items:center; margin-bottom:12px; }
.cl-search{ position:relative; flex:1; }
.cl-search-ic{ position:absolute; left:12px; top:50%; transform:translateY(-50%); opacity:.5; font-size:14px; }
.cl-search .form-control{ padding:.6rem .9rem .6rem 2.2rem; border-radius:12px; box-shadow:0 2px 8px rgba(15,68,84,.06); }
.cl-toggle{ display:flex; gap:6px; align-items:center; white-space:nowrap; background:#fff; border:1px solid var(--border-soft);
  border-radius:12px; padding:.55rem .8rem; cursor:pointer; font-size:13px; margin:0; }
.cl-card{ background:#fff; border:1px solid var(--border-soft); border-radius:16px; box-shadow:0 8px 28px rgba(15,68,84,.08); overflow:hidden; }
.cl-table{ font-size:14px; }
.cl-table thead th{ background:var(--brand-050); color:var(--text-soft); font-size:11px; text-transform:uppercase; letter-spacing:.04em;
  font-weight:700; border-bottom:1px solid var(--border-soft); padding:.65rem .75rem; }
.cl-table td{ padding:.6rem .75rem; vertical-align:middle; border-color:#eef3f4; }
.cl-table tbody tr.odd td{ background:#fff; }
.cl-table tbody tr.even td{ background:rgba(15,68,84,.06); }
.cl-table tbody tr:hover td{ background:var(--brand-100); }
.cl-n{ width:44px; color:#9aaeb3; font-size:12px; text-align:right; }
.cl-who{ font-weight:600; }
.cl-who-in{ display:flex; align-items:center; gap:10px; }
.cl-av{ flex:0 0 34px; width:34px; height:34px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,var(--brand-300),var(--brand-600)); color:#fff; font-size:12px; font-weight:700; }
.cl-ph a{ color:#1d2f33; text-decoration:none; font-variant-numeric:tabular-nums; }
.cl-ph a:hover{ color:var(--brand-600); }
.cl-ad{ color:var(--text-soft); }
.cl-debt{ text-align:right; white-space:nowrap; }
.cl-debt-b{ background:#fdecec; color:#c62828; font-weight:700; padding:.15rem .5rem; border-radius:8px; font-variant-numeric:tabular-nums; }
.cl-act{ text-align:right; white-space:nowrap; width:1%; }
.cl-act .btn{ border:1px solid var(--border-soft); }
.cl-empty{ padding:28px; text-align:center; color:var(--text-soft); }

@media (max-width: 767.98px){
  main.container-fluid{ padding-left:10px; padding-right:10px; }
  .cl-head{ align-items:center; }
  .cl-title{ font-size:20px; }
  .cl-add{ padding:.4rem .7rem; font-size:14px; }
  .cl-tools{ flex-direction:column; align-items:stretch; gap:8px; }
  .cl-card{ background:transparent; border:0; box-shadow:none; overflow:visible; }
  .cl-card .cs-table{ border-radius:12px; overflow:hidden; border:1px solid var(--border-soft); }
  .cl-table thead{ display:none; }
  .cl-table, .cl-table tbody{ display:block; }
  .cl-table tbody tr{ display:grid; grid-template-columns:auto 1fr auto; grid-template-areas:"who who debt" "ph ph ph" "ad ad ad" "act act act";
    gap:4px 8px; background:#fff; border:1px solid var(--border-soft); border-radius:14px; padding:12px; margin-bottom:10px;
    box-shadow:0 2px 10px rgba(15,68,84,.06); }
  .cl-table tbody tr.d-none{ display:none; }
  .cl-table td{ border:0; padding:0; background:transparent!important; }
  .cl-n{ display:none; }
  .cl-who{ grid-area:who; font-size:15px; }
  .cl-debt{ grid-area:debt; align-self:center; }
  .cl-ph{ grid-area:ph; }
  .cl-ph a{ color:var(--brand-600); font-weight:600; }
  .cl-ph a:before{ content:"📞 "; }
  .cl-ad{ grid-area:ad; font-size:13px; }
  .cl-table tbody tr.even{ background:#f3f8f9; }
  .cl-ad:empty{ display:none; }
  .cl-act{ grid-area:act; display:flex; gap:6px; width:auto; padding-top:6px!important; }
  .cl-act .btn{ flex:1; padding:.4rem; }
}
.cl-add{ white-space:nowrap; flex:0 0 auto; }
.cl-sub b{ white-space:nowrap; }

/* ===== История клиента ===== */
.hs-kpi{ display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:8px; margin-bottom:12px; }
.hs-kpi > div{ background:#fff; border:1px solid var(--border-soft); border-radius:12px; padding:8px 12px; }
.hs-kpi span{ display:block; font-size:11px; color:var(--text-soft); text-transform:uppercase; font-weight:700; letter-spacing:.03em; }
.hs-kpi b{ font-size:18px; color:var(--brand-700); font-variant-numeric:tabular-nums; }
.hs-kpi small{ display:block; color:var(--text-soft); font-size:11px; }
.hs-kpi .hs-profit{ background:linear-gradient(135deg,#f0faf2,#fff); border-color:#cfe9d6; }
.hs-table td{ vertical-align:top; }
.hs-m{ text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.hs-items div{ line-height:1.35; }
.hs-foot td{ font-weight:800; background:var(--brand-050)!important; }

@media (max-width: 767.98px){
  .hs-kpi{ grid-template-columns:1fr 1fr; }
  .hs-kpi .hs-profit{ grid-column:1 / -1; }
  .hs-table thead{ display:none; }
  .hs-table, .hs-table tbody, .hs-table tfoot{ display:block; }
  .cl-table.hs-table tbody tr, .cl-table.hs-table tfoot tr{ display:grid; grid-template-areas:none; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px 10px; background:#fff; border:1px solid var(--border-soft);
    border-radius:14px; padding:12px; margin-bottom:10px; }
  .hs-table tr.even{ background:#f3f8f9; }
  .hs-table td{ border:0; padding:0; background:transparent!important; }
  .hs-table .cl-n{ display:none; }
  .hs-table .hs-ord{ grid-column:1 / 3; }
  .hs-table .hs-st{ grid-column:3; grid-row:1; text-align:right; }
  .hs-table .hs-ord{ grid-row:1; }
  .hs-table .hs-items{ grid-column:1 / -1; font-size:13px; padding-bottom:4px!important; border-bottom:1px dashed var(--border-soft); }
  .hs-table .hs-m{ text-align:left; font-size:14px; }
  .hs-table .hs-m:before{ content:attr(data-l); display:block; font-size:10px; color:var(--text-soft); text-transform:uppercase; font-weight:700; }
  .hs-table .hs-foot{ background:var(--brand-050); }
  .hs-table .hs-foot td:first-child{ display:none; }
  .hs-table .hs-foot td[colspan]{ grid-column:1 / -1; }
}

.cl-link{ color:#1d2f33; text-decoration:none; } .cl-link:hover{ color:var(--brand-600); text-decoration:underline; }

/* ===== Оплаты ===== */
.pm-sum{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-bottom:12px; }
.pm-sum-i{ background:#fff; border:1px solid var(--border-soft); border-radius:12px; padding:8px 12px; }
.pm-sum-i span{ display:block; font-size:11px; color:var(--text-soft); text-transform:uppercase; font-weight:700; letter-spacing:.03em; }
.pm-sum-i b{ font-size:18px; color:var(--brand-700); font-variant-numeric:tabular-nums; }
.pm-sum-all{ background:linear-gradient(135deg,#f0faf2,#fff); border-color:#cfe9d6; }
.pm-sum-all b{ color:#1b7a3a; }
.pm-filters{ display:flex; flex-wrap:wrap; gap:8px; align-items:flex-end; background:#fff; border:1px solid var(--border-soft); border-radius:12px; padding:10px 12px; margin-bottom:12px; }
.pm-filters label{ display:block; font-size:11px; color:var(--text-soft); font-weight:700; margin-bottom:2px; }
.pm-filters > div{ min-width:110px; }
.pm-f-q{ flex:1; min-width:160px; }
.pm-table .pm-d{ white-space:nowrap; font-variant-numeric:tabular-nums; }
.pm-table .pm-o a{ font-weight:700; text-decoration:none; white-space:nowrap; }
.pm-cn{ font-weight:600; }
.pm-note{ font-size:12px; color:var(--text-soft); }
.pm-note:empty{ display:none; }
.pm-acc{ font-size:12px; color:var(--text-soft); }
.pm-m{ white-space:nowrap; }
.pm-a{ text-align:right; white-space:nowrap; font-weight:700; color:#1b7a3a; font-variant-numeric:tabular-nums; }
.pm-type{ display:inline-block; font-size:12px; font-weight:700; padding:.12rem .5rem; border-radius:8px; white-space:nowrap; }
.pm-t-adv{ background:#e7f0fd; color:#1f5fbf; }
.pm-t-rest{ background:#e6f6ea; color:#1b7a3a; }
.pm-t-extra{ background:#fff2e0; color:#b26a00; }
/* окно */
.pm-pick{ position:relative; }
.pm-list{ border:1px solid #a9bfc4!important; position:absolute; z-index:20; left:0; right:0; top:100%; margin-top:4px; background:#fff; border:1px solid var(--border-soft);
  border-radius:12px; box-shadow:0 10px 30px rgba(15,68,84,.15); max-height:280px; overflow:auto; }
.pm-li{ display:flex; width:100%; justify-content:space-between; align-items:center; gap:8px; text-align:left; border:0; background:#fff;
  padding:.5rem .75rem; border-bottom:1px solid #dbe6e9; }
.pm-li:nth-child(even){ background:#eaf2f4; }
.pm-li:hover{ background:var(--brand-100); }
.pm-li small{ display:block; color:var(--text-soft); font-size:12px; }
.pm-li em{ font-style:normal; font-size:12px; font-weight:700; white-space:nowrap; padding:.1rem .45rem; border-radius:8px; }
.pm-li-debt{ background:#fdecec; color:#c62828; }
.pm-li-ok{ background:#e6f6ea; color:#1b7a3a; }
.pm-li-none{ padding:.75rem; color:var(--text-soft); text-align:center; }
.pm-chosen{ display:flex; justify-content:space-between; align-items:center; gap:8px; background:var(--brand-050); border:1px solid var(--border-soft);
  border-radius:10px; padding:.5rem .75rem; }
.pm-debt{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-top:10px; }
.pm-debt > div{ background:#f7fafb; border:1px solid #eef3f4; border-radius:10px; padding:6px 10px; }
.pm-debt span{ display:block; font-size:11px; color:var(--text-soft); font-weight:700; text-transform:uppercase; }
.pm-debt b{ font-size:16px; font-variant-numeric:tabular-nums; }
.pm-debt-rest{ background:#fff6f6!important; border-color:#f6d5d5!important; }
.pm-debt-cl{ grid-column:1 / -1; }
.pm-debt-cl small{ color:var(--text-soft); }
.pm-amount{ font-size:18px; font-weight:700; }
.pm-amount.is-warn{ border-color:#e0a100; box-shadow:0 0 0 .2rem rgba(224,161,0,.2); }
.pm-quick a{ font-size:12px; text-decoration:none; }

@media (max-width: 767.98px){
  .pm-sum{ grid-template-columns:1fr 1fr; }
  .pm-filters > div{ flex:1 1 45%; min-width:0; }
  .pm-f-q, .pm-f-btn{ flex-basis:100%!important; }
  .cl-table.pm-table tbody tr{ grid-template-columns:auto minmax(0,1fr) auto; grid-template-areas:"o c a" "d c act" "t m m"; align-items:center; gap:4px 10px; }
  .pm-o{ grid-area:o; } .pm-c{ grid-area:c; min-width:0; align-self:start; } .pm-a{ grid-area:a; font-size:16px; }
  .pm-d{ grid-area:d; font-size:12px; color:var(--text-soft); }
  .pm-t{ grid-area:t; } .pm-m{ grid-area:m; font-size:13px; white-space:normal; min-width:0; } .pm-m .pm-acc{ display:inline; } .pm-m .pm-acc:not(:empty):before{ content:" · "; }
  .pm-table .cl-act{ grid-area:act; display:block; padding-top:0!important; text-align:right; }
  .pm-table .cl-act .btn{ flex:none; padding:.2rem .6rem; }
  .pm-debt b{ font-size:14px; }
  .pm-table .cl-act:empty{ display:none; }
}

/* ===== Пользователи ===== */
.us-name{ font-weight:600; }
.us-login{ font-size:12px; color:var(--text-soft); }
.us-ph a{ text-decoration:none; white-space:nowrap; }
.us-flag{ display:inline-block; font-size:11px; font-weight:600; color:var(--brand-700); background:var(--brand-050); border:1px solid var(--border-soft);
  border-radius:6px; padding:0 .35rem; margin:1px 0; }
.us-bal{ text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; font-weight:600; }
.us-off td{ opacity:.6; }
.us-checks{ display:flex; flex-wrap:wrap; gap:6px 18px; }
.us-active{ background:#f3f8f9; border:1px solid var(--border-soft); border-radius:10px; padding:.5rem .75rem .5rem 2.8rem; }

/* ===== Справочники ===== */
.dc-tabs{ display:flex; gap:6px; margin-bottom:12px; flex-wrap:wrap; }
.dc-tabs a{ text-decoration:none; padding:.4rem .9rem; border-radius:10px; background:#fff; border:1px solid var(--border-soft); color:var(--brand-700); font-weight:600; }
.dc-tabs a.active{ background:var(--brand-700); color:#fff; border-color:var(--brand-700); }
.dc-name{ font-weight:600; }
.dc-sort{ text-align:center; color:var(--text-soft); }
.dc-used{ text-align:right; font-variant-numeric:tabular-nums; }
.dc-off td{ opacity:.55; }
.dc-colors{ display:flex; flex-wrap:wrap; gap:6px; }
.dc-colors label{ cursor:pointer; }
.dc-colors input{ position:absolute; opacity:0; pointer-events:none; }
.dc-colors .badge{ padding:.45rem .65rem; font-size:12px; border:2px solid transparent; }
.dc-colors input:checked + .badge{ outline:2px solid #1d3a41; outline-offset:2px; }
#dcPrev .badge{ font-size:14px; padding:.45rem .8rem; }
.dropdown-item.active, .dropdown-item:active{ background:var(--brand-700); }

@media (max-width: 767.98px){
  .cl-table.us-table tbody tr{ grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"who bal" "ph ph" "role act"; align-items:center; }
  .us-ph:empty{ display:none; }
  .us-who{ grid-area:who; min-width:0; } .us-bal{ grid-area:bal; } .us-ph{ grid-area:ph; } .us-role{ grid-area:role; }
  .us-table .cl-act{ grid-area:act; display:block; text-align:right; }
  .us-table .cl-n{ display:none; }
  .cl-table.dc-table tbody tr{ grid-template-columns:minmax(0,1fr) auto auto; grid-template-areas:"name used act" "badge sort act"; }
  .dc-name{ grid-area:name; } .dc-badge{ grid-area:badge; } .dc-sort{ grid-area:sort; font-size:12px; } .dc-used{ grid-area:used; }
  .dc-table .cl-act{ grid-area:act; display:block; align-self:center; }
  .dc-table .cl-n{ display:none; }
  .dc-sort:before{ content:"№ "; } .dc-used:before{ content:"исп.: "; color:var(--text-soft); font-size:12px; }
}
.us-nodel{ order:-1; font-size:12px; color:#8a5a00; background:#fff8e6; border:1px solid #f3dfa6; border-radius:8px; padding:.4rem .6rem; }

/* ===== Касса ===== */
.cs-btn{ font-weight:700; border-radius:12px; padding:.45rem 1rem; white-space:nowrap; }
.cs-debts{ table-layout:fixed; } .cs-debts th:nth-child(1){ width:44px; } .cs-debts th:nth-child(2){ width:110px; } .cs-debts th:nth-child(n+4){ width:110px; }
.cs-top{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:12px; }
.cs-card{ display:block; text-decoration:none; color:inherit; background:#fff; border:1px solid var(--border-soft); border-radius:14px; padding:10px 14px;
  box-shadow:0 4px 14px rgba(15,68,84,.06); }
.cs-card span{ display:block; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.03em; color:var(--text-soft); }
.cs-card b{ display:block; font-size:24px; line-height:1.2; font-variant-numeric:tabular-nums; }
.cs-card small{ color:var(--text-soft); font-size:12px; }
.cs-bal{ background:linear-gradient(135deg,#eaf7ee,#fff); border-color:#cfe9d6; } .cs-bal b{ color:#1b7a3a; }
.cs-debt b{ color:#c62828; } .cs-recv b{ color:#6a3db8; }
a.cs-card:hover{ border-color:var(--brand-300); }
.cs-period{ background:#fff; border:1px solid var(--border-soft); border-radius:14px; padding:10px 12px; margin-bottom:12px; }
.cs-quick{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:8px; }
.cs-quick a{ text-decoration:none; font-size:13px; font-weight:600; padding:.25rem .7rem; border-radius:20px; border:1px solid var(--border-soft); color:var(--brand-700); background:#f7fafb; }
.cs-quick a.active{ background:var(--brand-700); border-color:var(--brand-700); color:#fff; }
.cs-dates{ display:flex; flex-wrap:wrap; gap:8px; align-items:flex-end; }
.cs-dates label{ display:block; font-size:11px; font-weight:700; color:var(--text-soft); margin-bottom:2px; }
.cs-dates > div{ min-width:120px; } .cs-q{ flex:1; min-width:180px!important; }
.cs-sum{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:12px; }
.cs-sum-i{ text-decoration:none; color:inherit; background:#fff; border:2px solid var(--border-soft); border-radius:14px; padding:8px 14px; }
.cs-sum-i span{ display:block; font-size:12px; font-weight:800; text-transform:uppercase; color:var(--text-soft); }
.cs-sum-i b{ display:block; font-size:20px; font-variant-numeric:tabular-nums; }
.cs-sum-i small{ color:var(--text-soft); font-size:12px; }
.cs-s-inc b{ color:#1b7a3a; } .cs-s-out b{ color:#c62828; } .cs-s-net b{ color:var(--brand-700); }
.cs-s-inc.active{ border-color:#1b7a3a; background:#f0faf2; } .cs-s-out.active{ border-color:#c62828; background:#fff5f5; } .cs-s-net.active{ border-color:var(--brand-700); background:var(--brand-050); }
.cs-list-head{ display:flex; gap:10px; align-items:baseline; flex-wrap:wrap; padding:.6rem .9rem; border-bottom:1px solid var(--border-soft); }
.cs-d{ white-space:nowrap; font-variant-numeric:tabular-nums; }
.cs-what{ font-weight:600; }
.cs-dot{ display:inline-block; width:8px; height:8px; border-radius:50%; margin-right:6px; vertical-align:middle; }
.cs-dot.in{ background:#1b7a3a; } .cs-dot.out{ background:#c62828; }
.cs-sub{ font-size:12px; color:var(--text-soft); } .cs-sub a{ text-decoration:none; font-weight:600; }
.cs-f{ font-size:13px; color:var(--text-soft); }
.cs-in, .cs-out{ text-align:right; white-space:nowrap; font-weight:700; font-variant-numeric:tabular-nums; }
td.cs-in{ color:#1b7a3a; } td.cs-out{ color:#c62828; }
.cs-pages{ display:flex; flex-wrap:wrap; gap:4px; justify-content:center; padding:10px; border-top:1px solid var(--border-soft); }
.cs-pages a{ text-decoration:none; min-width:34px; text-align:center; padding:.25rem .55rem; border-radius:8px; border:1px solid var(--border-soft); color:var(--brand-700); }
.cs-pages a.active{ background:var(--brand-700); color:#fff; border-color:var(--brand-700); }
.cs-funds{ margin-top:12px; background:#fff; border:1px solid var(--border-soft); border-radius:14px; overflow:hidden; }
.cs-funds summary{ cursor:pointer; padding:.6rem .9rem; font-weight:700; color:var(--brand-700); }

/* компактные строки как в Excel (только компьютер) */
@media (min-width: 768px){
  .cs-table:not(.cs-debts){ table-layout:fixed; }
  .cs-table:not(.cs-debts) th:nth-child(1){ width:44px; } .cs-table:not(.cs-debts) th:nth-child(2){ width:92px; }
  .cs-table:not(.cs-debts) th:nth-child(3), .cs-table:not(.cs-debts) th:nth-child(4){ width:110px; } .cs-table:not(.cs-debts) th:nth-child(6){ width:150px; }
  .cs-table:not(.cs-debts) td.cs-out{ border-right:1px solid #d5e2e5; } .cs-table:not(.cs-debts) td.cs-w{ padding-left:.75rem; }
  .cs-table thead th{ padding:.3rem .5rem; }
  .cs-table td{ padding:.15rem .5rem; font-size:13px; line-height:1.35; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; border-bottom:1px solid #e3ecee; }
  .cs-table .cs-what, .cs-table .cs-sub{ display:inline; }
  .cs-table .cs-sub{ margin-left:6px; }
  .cs-table .cs-sub:not(:empty):before{ content:"· "; }
  .cs-table .cs-dot{ width:7px; height:7px; margin-right:4px; }
  .cs-table .cl-n{ font-size:11px; }
}

@media (max-width: 767.98px){
  .cs-btn{ padding:.4rem .7rem; font-size:14px; }
  .cs-top{ grid-template-columns:1fr 1fr; } .cs-bal{ grid-column:1 / -1; }
  .cs-card b{ font-size:20px; }
  .cs-sum{ gap:6px; } .cs-sum-i{ padding:6px 8px; } .cs-sum-i b{ font-size:15px; } .cs-sum-i small{ display:none; }
  .cs-dates > div{ flex:1 1 45%; min-width:0; } .cs-q, .cs-go{ flex-basis:100%!important; }
  /* касса и долги на телефоне: компактные строки в 2 линии, без карточек
     1-я линия: операция … сумма;  2-я линия: дата … фонд */
  .cl-table.cs-table, .cl-table.cs-table tbody{ display:block; width:100%; }
  .cl-table.cs-table thead{ display:none; }
  .cl-table.cs-table tbody tr{ display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"w amt" "d f";
    gap:0 10px; align-items:baseline; margin:0; padding:.35rem .6rem; border:0; border-bottom:1px solid #e3ecee; border-radius:0; box-shadow:none; background:#fff; }
  .cl-table.cs-table tbody tr.even{ background:#eef4f5; }
  .cl-table.cs-table td{ display:block; padding:0; border:0; background:transparent!important; min-width:0; font-size:13px; line-height:1.35; }
  .cs-table .cl-n{ display:none!important; }
  .cs-table td.cs-w{ grid-area:w; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .cs-table .cs-what, .cs-table .cs-sub{ display:inline; }
  .cs-table .cs-sub{ margin-left:4px; }
  .cs-table .cs-dot{ display:none; }
  .cs-table td.cs-in, .cs-table td.cs-out{ grid-area:amt; text-align:right; white-space:nowrap; font-size:14px; }
  .cs-table td.cs-in:empty, .cs-table td.cs-out:empty{ display:none; }
  .cs-table td.cs-d{ grid-area:d; font-size:11.5px; color:var(--text-soft); white-space:nowrap; }
  .cs-table td.cs-f{ grid-area:f; font-size:11.5px; text-align:right; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:45vw; }
  /* долги: сумму и «оплачено» не показываем, только долг */
  .cs-debts td.text-end{ display:none!important; }
  .cs-funds .cl-table tbody tr{ display:table-row; } .cs-funds .cl-table thead{ display:table-header-group; }
}

/* ===== Личные счета ===== */
.ac-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:8px; margin-bottom:14px; }
.ac-item{ display:flex; flex-direction:column; text-decoration:none; color:inherit; background:#fff; border:1px solid var(--border-soft);
  border-radius:12px; padding:8px 12px; min-width:0; }
.ac-item:hover{ border-color:var(--brand-300); }
.ac-item.active{ border:2px solid var(--brand-700); background:var(--brand-050); padding:7px 11px; }
.ac-item.off{ opacity:.55; }
.ac-name{ font-size:13px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ac-name em{ font-style:normal; font-size:10px; font-weight:800; color:#fff; background:var(--brand-600, #1f6f80); border-radius:6px; padding:0 .3rem; vertical-align:1px; }
.ac-item b{ font-size:18px; font-variant-numeric:tabular-nums; color:#1d3a41; }
.ac-toggle{ justify-content:center; align-items:center; font-size:12px; color:var(--text-soft); border-style:dashed; background:transparent; }
.ac-title{ display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin:4px 0 10px; }
.ac-title h2{ font-size:20px; font-weight:800; color:var(--brand-700); margin:0; }
.ac-title span{ color:var(--text-soft); } .ac-title b{ color:#1d3a41; font-size:17px; }
.ac-sum{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:12px; }
.ac-sum div.cs-sum-i b{ color:#1d3a41; }
@media (min-width: 768px){
  .ac-table th:nth-child(6){ width:90px!important; }
  .ac-table td.ac-x{ text-align:right; }
}
@media (max-width: 767.98px){
  .ac-grid{ grid-template-columns:1fr 1fr; gap:6px; }
  .ac-item b{ font-size:16px; }
  .ac-sum{ grid-template-columns:1fr 1fr; gap:6px; }
}
.tr-table .btnUndo, .ac-table .btnUndo{ font-size:12px; line-height:1.2; vertical-align:baseline; text-decoration:none; }
/* список счетов */
.ac-list td{ padding:.3rem .6rem; font-size:14px; }
.ac-nm{ font-weight:600; }
.ac-me{ font-size:10px; font-weight:800; color:#fff; background:var(--brand-700); border-radius:6px; padding:0 .3rem; vertical-align:1px; }
.ac-bal{ text-align:right; font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; }
.ac-act{ text-align:right; width:1%; white-space:nowrap; }
.ac-act .btn{ border:1px solid var(--border-soft); padding:.1rem .6rem; font-size:13px; }
.ac-off td{ opacity:.55; }
td.tr-amt{ color:var(--brand-700)!important; }
.tr-arrow{ color:var(--text-soft); font-weight:400; }
@media (min-width: 768px){
  .tr-table{ table-layout:fixed; }
  .cs-table.tr-table th:nth-child(1){ width:44px; } .cs-table.tr-table th:nth-child(2){ width:92px; } .cs-table.tr-table th:nth-child(3){ width:120px; }
  .cs-table.tr-table th:nth-child(4){ width:auto; } .cs-table.tr-table th:nth-child(5){ width:90px; } .tr-table td.ac-x{ text-align:right; }
}
@media (max-width: 767.98px){
  .cl-card .ac-list{ border-radius:12px; overflow:hidden; border:1px solid var(--border-soft); }
  .cl-table.ac-list, .cl-table.ac-list tbody{ display:table; width:100%; }
  .cl-table.ac-list tbody{ display:table-row-group; }
  .cl-table.ac-list tbody tr{ display:table-row; border:0; border-radius:0; box-shadow:none; padding:0; margin:0; }
  .cl-table.ac-list td{ display:table-cell; padding:.4rem .6rem; border-bottom:1px solid #e3ecee; }
  .cl-table.ac-list tbody tr.odd td{ background:#fff!important; } .cl-table.ac-list tbody tr.even td{ background:#eef4f5!important; }
  .ac-list .cl-n{ display:none; }
}