:root{--bg1:#fff;--bg2:#f5f5f4;--bg3:#eeede9;--t1:#1a1a18;--t2:#6b6b68;--t3:#9a9a96;--bd2:rgba(0,0,0,0.2);--bd3:rgba(0,0,0,0.1);--r1:8px;--r2:12px;--acc:#D85A30;--f:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
:root[data-theme="dark"]{--bg1:#1e1e1c;--bg2:#2a2a28;--bg3:#141413;--t1:#f0ede6;--t2:#9a9a96;--t3:#6b6b68;--bd2:rgba(255,255,255,0.18);--bd3:rgba(255,255,255,0.1)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]):not([data-theme="dark"]){--bg1:#1e1e1c;--bg2:#2a2a28;--bg3:#141413;--t1:#f0ede6;--t2:#9a9a96;--t3:#6b6b68;--bd2:rgba(255,255,255,0.18);--bd3:rgba(255,255,255,0.1)}}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--f);font-size:13px;color:var(--t1);background:var(--bg3);overflow:hidden}
.app{display:flex;height:100vh}
.sb{width:194px;min-width:194px;background:var(--bg1);border-right:0.5px solid var(--bd3);display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0}
.logo{padding:12px 14px;font-size:14px;font-weight:600;border-bottom:0.5px solid var(--bd3)}
.logo em{color:var(--acc);font-style:normal}
.logo small{font-size:10px;color:var(--t3);font-weight:400}
.role-sw{display:flex;gap:3px;padding:6px 10px;border-bottom:0.5px solid var(--bd3);flex-wrap:wrap}
.rb{padding:3px 7px;border:0.5px solid var(--bd2);border-radius:6px;font-size:10px;cursor:pointer;background:transparent;color:var(--t2);font-family:var(--f)}
.rb.active{background:var(--acc);border-color:var(--acc);color:#fff}
.nl{padding:5px 14px 3px;font-size:10px;color:var(--t3);letter-spacing:.05em;margin-top:3px}
.ni{display:flex;align-items:center;gap:8px;padding:7px 14px;cursor:pointer;font-size:12px;color:var(--t2);border-left:2px solid transparent;transition:all .1s;user-select:none}
.ni:hover{background:var(--bg2);color:var(--t1)}
.ni.active{background:var(--bg2);color:var(--t1);font-weight:500;border-left-color:var(--acc)}
.ni i{font-size:14px;flex-shrink:0}
.nbadge{margin-left:auto;background:#E24B4A;color:#fff;font-size:10px;padding:1px 5px;border-radius:8px;min-width:18px;text-align:center}
.main{flex:1;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.tb{position:sticky;top:0;z-index:800;padding:env(safe-area-inset-top) 18px 0 18px;height:calc(46px + env(safe-area-inset-top));background:var(--bg1);border-bottom:0.5px solid var(--bd3);display:flex;align-items:center;gap:10px;flex-shrink:0}
.tb-title{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:0 1 auto}
#ta{flex:1 1 auto;min-width:0}
.content{flex:1;overflow-y:auto;padding:14px 18px}
.btn{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border:0.5px solid var(--bd2);border-radius:var(--r1);background:transparent;color:var(--t1);font-size:12px;cursor:pointer;transition:background .1s;white-space:nowrap;font-family:var(--f)}
.btn:hover{background:var(--bg2)}
.btn.pri{background:var(--acc);border-color:var(--acc);color:#fff}
.btn.pri:hover{background:#993C1D}
.btn.sm{padding:3px 7px;font-size:11px}
.btn.del{color:#A32D2D;border-color:#F09595}
.btn.del:hover{background:#FCEBEB}
.btn.ghost{border-color:transparent;color:var(--t2)}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.stat{background:var(--bg2);border-radius:var(--r1);padding:11px}
.sl{font-size:11px;color:var(--t2)}.sv{font-size:18px;font-weight:500;margin-top:2px}.ss{font-size:11px;color:var(--t2);margin-top:1px}
/* ── Dashboard v2 ── */
.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:10px;margin-bottom:14px}
.stat2{background:var(--bg1);border:0.5px solid var(--bd3);border-radius:var(--r2);padding:12px 14px;display:flex;align-items:center;gap:11px;transition:border-color .12s,box-shadow .12s}
.stat2[onclick]{cursor:pointer}
.stat2[onclick]:hover{border-color:var(--acc);box-shadow:0 2px 10px rgba(0,0,0,.06)}
.stat2-ic{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}
.stat2-v{font-size:20px;font-weight:700;line-height:1.05}
.stat2-l{font-size:11px;color:var(--t2);margin-top:3px}
.stat2-s{font-size:10px;color:var(--t3);margin-top:1px}
.dash-greet{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.dash-greet h2{font-size:19px;font-weight:600;margin:0}
.dash-sec{font-size:12px;font-weight:600;margin:18px 0 9px;display:flex;justify-content:space-between;align-items:center}
.dash-panel{background:var(--bg1);border:0.5px solid var(--bd3);border-radius:var(--r2);padding:12px 14px}
.dash-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:0.5px solid var(--bd3);font-size:12px}
.dash-row:last-child{border-bottom:none}
.dash-empty{color:var(--t3);font-size:12px;padding:10px 0;text-align:center}
.tw{overflow-x:auto;background:var(--bg1);border:0.5px solid var(--bd3);border-radius:var(--r2)}
table{width:100%;border-collapse:collapse;font-size:12px}
th{padding:8px 11px;text-align:left;font-weight:500;color:var(--t2);font-size:11px;border-bottom:0.5px solid var(--bd3);white-space:nowrap;background:var(--bg2)}
th[onclick]{transition:background .12s,color .12s}
th[onclick]:hover{background:var(--bd3);color:var(--acc)}
td{padding:8px 11px;border-bottom:0.5px solid var(--bd3);vertical-align:middle}
tr:last-child td{border-bottom:none}
tr:hover td{background:var(--bg2)}
.badge{display:inline-block;padding:2px 7px;border-radius:8px;font-size:11px;font-weight:500;white-space:nowrap}
.b-request{background:#F3E8FF;color:#6B21A8}.b-dwait{background:#FEF3C7;color:#92400E}.b-rplan{background:#CCFBF1;color:#0F766E}.b-ret{background:#E0E7FF;color:#3730A3}.tab-alert{color:#A32D2D;font-weight:700}.b-new{background:#E6F1FB;color:#185FA5}.b-conf{background:#FAEEDA;color:#854F0B}.b-act{background:#E1F5EE;color:#0F6E56}.b-comp{background:#EAF3DE;color:#3B6D11}.b-debt{background:#FCEBEB;color:#A32D2D}.b-cancel{background:#F1EFE8;color:#5F5E5A}
.b-free{background:#EAF3DE;color:#3B6D11}.b-busy{background:#E1F5EE;color:#0F6E56}.b-maint{background:#FAEEDA;color:#854F0B}
.b-open{background:#FCEBEB;color:#A32D2D}.b-prog{background:#FAEEDA;color:#854F0B}.b-closed{background:#EAF3DE;color:#3B6D11}
.b-urg{background:#FCEBEB;color:#A32D2D}.b-norm{background:#FAEEDA;color:#854F0B}.b-low{background:#F1EFE8;color:#5F5E5A}
.debt{color:#A32D2D;font-weight:500}.ok{color:#1D9E75;font-weight:500}
.ov{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.45);display:flex;align-items:flex-start;justify-content:center;padding:16px;z-index:1000;overflow-y:auto}
.modal{background:var(--bg1);border-radius:var(--r2);border:0.5px solid var(--bd3);width:560px;max-width:100%;margin:auto}
.modal.lg{width:720px}.modal.xl{width:860px}.modal.sm{width:420px}
.mh{padding:13px 17px;border-bottom:0.5px solid var(--bd3);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--bg1);z-index:1;border-radius:var(--r2) var(--r2) 0 0}
.mh h3{font-size:14px;font-weight:500}
.mb{padding:16px 17px;max-height:calc(90vh - 110px);overflow-y:auto}
.mf{padding:11px 17px;border-top:0.5px solid var(--bd3);display:flex;justify-content:flex-end;gap:7px;position:sticky;bottom:0;background:var(--bg1);border-radius:0 0 var(--r2) var(--r2)}
.fr{margin-bottom:11px}
.fr label{display:block;font-size:11px;color:var(--t2);margin-bottom:3px}
/* Радио/чекбоксы внутри .fr — это переключатели, а не поля: им нельзя ни width:100%, ни display:block
   у подписи, иначе кружок растягивается на всю ширину, а текст падает в столбик (свап: «Client pays
   later / Collected now»). */
.fr input[type=radio],.fr input[type=checkbox]{width:auto;padding:0;margin:0;flex:0 0 auto}
.fr label:has(>input[type=radio]),.fr label:has(>input[type=checkbox]){display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--t1);margin:0;white-space:nowrap;overflow-wrap:normal;word-break:normal}
.fr input,.fr select,.fr textarea{width:100%;padding:6px 9px;border:0.5px solid var(--bd2);border-radius:var(--r1);background:var(--bg1);color:var(--t1);font-size:12px;font-family:var(--f)}
.fr textarea{height:50px;resize:vertical}
.st{font-size:11px;font-weight:500;color:var(--t2);letter-spacing:.04em;padding:10px 0 7px;border-top:0.5px solid var(--bd3);margin-top:3px}
.tab-row{display:flex;border-bottom:0.5px solid var(--bd3);margin-bottom:12px;flex-wrap:wrap}
.tab{padding:6px 12px;cursor:pointer;font-size:12px;color:var(--t2);border-bottom:2px solid transparent;margin-bottom:-0.5px;user-select:none;white-space:nowrap}
.tab.active{color:var(--t1);border-bottom-color:var(--acc);font-weight:500}
.pbox{background:var(--bg2);border-radius:var(--r2);padding:11px 13px;margin-top:9px}
.pl{display:flex;justify-content:space-between;font-size:12px;padding:3px 0;color:var(--t2)}
.pl.tot{font-size:14px;font-weight:500;color:var(--t1);border-top:0.5px solid var(--bd3);margin-top:4px;padding-top:6px}
.pl.debt{color:#A32D2D}.pl.ok{color:#1D9E75}.pl.disc{color:var(--acc)}
.svcr{display:flex;align-items:center;gap:7px;padding:6px 9px;background:var(--bg2);border-radius:var(--r1);margin-bottom:4px}
.qc{display:flex;align-items:center;gap:3px}
.qc button{width:20px;height:20px;border:0.5px solid var(--bd2);border-radius:4px;background:var(--bg1);cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;color:var(--t1)}
.qv{min-width:18px;text-align:center;font-size:12px;font-weight:500}
.pe{display:flex;align-items:center;gap:5px;padding:6px 9px;background:var(--bg2);border-radius:var(--r1);margin-bottom:4px;flex-wrap:wrap}
.pe select,.pe input{padding:3px 6px;font-size:11px;border:0.5px solid var(--bd2);border-radius:var(--r1);background:var(--bg1);color:var(--t1);font-family:var(--f)}
.av{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:500;background:#E6F1FB;color:#185FA5;flex-shrink:0}
.ni-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
.ni-icon.warn{background:#FAEEDA;color:#854F0B}.ni-icon.danger{background:#FCEBEB;color:#A32D2D}.ni-icon.info{background:#E6F1FB;color:#185FA5}.ni-icon.purple{background:#F3E8FF;color:#6B21A8}
.notif-item{display:flex;align-items:flex-start;gap:9px;padding:9px 13px;border-bottom:0.5px solid var(--bd3)}
.notif-item:last-child{border-bottom:none}
.today-card{background:var(--bg1);border:0.5px solid var(--bd3);border-radius:var(--r2);padding:12px;margin-bottom:8px}
.today-out{background:#E1F5EE;color:#0F6E56;padding:2px 7px;border-radius:6px;font-size:11px;font-weight:500;display:inline-block}
.today-in{background:#FAEEDA;color:#854F0B;padding:2px 7px;border-radius:6px;font-size:11px;font-weight:500;display:inline-block}
.chess-wrap{overflow:auto;background:var(--bg1);border:0.5px solid var(--bd3);border-radius:var(--r2);max-height:calc(100vh - 160px)}
.ct{border-collapse:collapse;font-size:11px}
.ct th{padding:4px 5px;text-align:center;font-weight:500;color:var(--t2);border:0.5px solid var(--bd3);white-space:nowrap;background:var(--bg2);min-width:32px;font-size:10px;position:sticky;top:0;z-index:2}
.ct th:first-child{position:sticky;left:0;z-index:3}
.ct td{border:0.5px solid var(--bd3);padding:2px;height:30px;vertical-align:middle}
.cb{min-width:180px;padding:4px 8px;background:var(--bg2);position:sticky;left:0;z-index:1}
.bbar{display:block;height:22px;line-height:22px;padding:0 5px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;border-radius:3px}
.bbar-request{background:#F3E8FF;color:#6B21A8}.bbar-new{background:#B5D4F4;color:#042C53}.bbar-conf{background:#FAC775;color:#412402}.bbar-act{background:#5DCAA5;color:#04342C}.bbar-comp{background:#A8D5A2;color:#1A4A16}.bbar-debt{background:#F09595;color:#501313}.bbar-cancel{background:#E0DED8;color:#4A4A48}
.cf{background:transparent;cursor:pointer}.cf:hover{background:#EAF3DE}
.maint-cell{background:rgba(220,38,38,0.07);cursor:not-allowed}
/* Шахматка v2 */
.chkpis{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.chk{background:var(--bg1);border:0.5px solid var(--bd3);border-radius:12px;padding:7px 14px;min-width:120px;cursor:pointer;user-select:none}
.chk b{display:block;font-size:19px;font-weight:700;line-height:1.15}
.chk span{font-size:11px;color:var(--t2)}
.chk.on{outline:2px solid var(--t1)}
.chbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.chin{height:30px;padding:0 9px;border:0.5px solid var(--bd2);border-radius:var(--r1);background:var(--bg1);color:var(--t1);font-size:12px;font-family:inherit;box-sizing:border-box}
.chq{display:flex;align-items:center;gap:6px;background:#ECFDF5;border:1px solid #A7F3D0;border-radius:10px;padding:3px 8px;color:#065F46;font-size:12px;font-weight:600;flex-wrap:wrap}
.chq .chin{height:26px;border-color:#A7F3D0;font-size:11.5px}
.chq label{display:flex;align-items:center;gap:4px;font-weight:500}
.chx{border:0;background:none;color:#065F46;font-size:16px;cursor:pointer;padding:0 3px}
.ct2 td{height:40px}
.ct2{table-layout:fixed;width:100%}
.ct2 th:not(.chh){min-width:0;padding:4px 1px}
.ct2 td{overflow:hidden}
.ct2 th.chh{text-align:left;padding:2px 8px 2px 10px;min-width:var(--chcol,300px);width:var(--chcol,300px)}
.chg2{display:grid;column-gap:1px;align-items:center}
.chh .chg2>span{text-align:center;font-size:10px;font-weight:600;color:var(--t3)}
.chh .chg2>span.chh0{text-align:left;font-size:11px;color:var(--t2);font-weight:600}
.chh0 small{display:block;font-size:9px;font-weight:500;color:var(--t3)}
.chpm{border:0;background:var(--bg3);border-radius:6px;font-size:9.5px;font-weight:700;color:var(--t2);cursor:pointer;padding:1px 6px;margin-left:4px;font-family:inherit}
.chpm:hover{color:var(--t1)}
.chqh{background:#10B981;color:#fff !important;border-radius:5px}
.ct2 .cb.chb{padding:2px 8px 2px 10px;min-width:var(--chcol,300px);max-width:var(--chcol,300px)}
.chn{min-width:0;padding-right:6px}
.cht1{font-weight:600;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cht2{font-size:10.5px;color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:3px}
.chinv{font-weight:700;color:#2563EB}
.chtool{background:none;border:none;padding:0 2px;cursor:pointer;font-size:12px;line-height:1;margin-left:auto}
.chsvc{background:#E24B4A;color:#fff;font-size:9px;padding:1px 5px;border-radius:3px;margin-left:4px;vertical-align:1px}
.chp{text-align:center;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--t1);border-left:1px solid var(--bd3);line-height:20px}
.chp.chpq{background:#10B981;color:#fff;border-radius:5px;border-left-color:transparent}
.chp.chdep{color:var(--t3);font-weight:500;font-size:10.5px}
.chp.chnt{grid-column:2/-1;background:#FEF3C7;color:#92400E;font-size:10.5px;border-radius:5px;border:0}
.chgr td{height:26px !important;background:var(--bg2)}
.chgr .cb{font-weight:700;font-size:12px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--bg2)}
.chgr .cb small{font-weight:500;color:var(--t2);margin-left:4px}
.chgs{font-size:11px;color:var(--t2);padding-left:10px !important;white-space:nowrap}
.ct th.cht{background:var(--acc);color:#fff;font-weight:700}
.ct th.chw{color:#A32D2D}
.ct2 td.chw{background:rgba(0,0,0,.018)}
.ct2 td.cht{background:rgba(216,90,48,.07)}
.ct2 td.chqd{background:#ECFDF5}
.chdim td:not(.cb){opacity:.45}.chdim td.cb .chn,.chdim td.cb .chp{opacity:.55}   /* закреплённая колонка не прозрачная — полосы под ней не просвечивают */
.chbt{padding:2px !important}
.chbar2{display:flex !important;align-items:center;gap:5px;height:26px !important;line-height:26px !important;font-size:10.5px !important;border-radius:6px !important;padding:0 4px 0 6px !important}
.chbl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.chnd{font-weight:500;opacity:.75}
.chpay{flex-shrink:0;background:rgba(255,255,255,.92);border-radius:5px;padding:0 5px;font-size:10px;font-weight:700;line-height:17px}
.chpay.ok{color:#047857}.chpay.no{color:#B91C1C}
.chend{flex-shrink:0;display:inline-flex;align-items:center;padding:0 4px;height:17px;border-radius:4px;background:#C2410C;color:#fff;cursor:pointer;font-size:11px}
@media(max-width:760px){
  .chkpis .chk{min-width:0;flex:1 1 30%;padding:6px 9px}.chk b{font-size:16px}
  .ct2 th.chh,.ct2 .cb.chb{min-width:150px !important;max-width:150px !important;width:150px !important}
  .ct2 .chp,.chh .chg2>span:not(.chh0),.chpm{display:none}
  .chg2{grid-template-columns:1fr !important}
}
.info-tag{display:inline-flex;align-items:center;gap:3px;background:var(--bg2);padding:2px 6px;border-radius:6px;font-size:11px;color:var(--t2);margin-right:3px}
.inline-cl{background:var(--bg2);border-radius:var(--r1);padding:10px;margin-top:6px;border:0.5px solid var(--bd2)}
.field-err{border-color:#A32D2D !important;background:#fff5f5 !important;animation:shake .25s ease}
.svc-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:20px;font-size:11px;font-weight:500;background:var(--bg2);border:0.5px solid var(--bd2);cursor:pointer;transition:all .15s;user-select:none;white-space:nowrap}
.svc-chip:hover{border-color:var(--acc);color:var(--acc)}
.svc-chip.on{background:var(--acc);color:#fff;border-color:var(--acc)}
.cat-badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:10px;font-weight:600;background:var(--bg2);border:0.5px solid var(--bd2);margin:1px 1px;white-space:nowrap}
.bk-sh{display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;font-size:11px;font-weight:700;color:var(--t2);letter-spacing:.5px;text-transform:uppercase;padding:7px 0 5px;margin-top:8px;border-bottom:0.5px solid var(--bd2);transition:color .15s}
.bk-sh:hover{color:var(--acc)}
.bk-arr{font-size:9px;color:var(--t3);transition:transform .25s;display:inline-block;margin-left:4px}
.bk-sh.sec-open .bk-arr{transform:rotate(90deg)}
.bk-sb{display:none;padding-top:6px}
.bk-sb.sec-open{display:block}
.bk-badge{margin-left:5px;background:var(--acc);color:#fff;border-radius:9px;font-size:10px;padding:0 6px;vertical-align:middle;font-weight:700;text-transform:none}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.part-row{display:flex;align-items:center;gap:7px;padding:6px 9px;background:var(--bg2);border-radius:var(--r1);margin-bottom:4px}
.phone-entry{background:var(--bg2);border-radius:var(--r1);padding:7px 9px;margin-bottom:5px;border:1px solid transparent;transition:border-color .15s}
.phone-entry:has(.ph-num-err){border-color:#A32D2D}
.ph-tg-row{display:none;align-items:center;gap:5px;margin-top:5px;padding-left:4px}
.ph-tg-row.visible{display:flex}
.ph-num-err{font-size:11px;color:#A32D2D;margin-top:4px;display:none}
.ph-num-err.visible{display:block}
/* Keep the phone row's flex layout intact even inside a .fr (which forces width:100% on inputs/selects) */
.phone-entry input,.phone-entry select{width:auto}
.phone-entry input[id^="ph_local_"]{flex:1;min-width:0}
.empty{text-align:center;padding:28px;color:var(--t2)}
.empty i{font-size:26px;margin-bottom:5px;display:block}
.src-web{color:#185FA5}.src-tg{color:#0088cc}.src-mgr{color:var(--t2)}.src-ig{color:#C13584}
.to-bar{background:var(--bg2);border-radius:4px;height:4px;overflow:hidden;margin-top:2px}
.to-fill{height:100%;border-radius:4px;background:#1D9E75}
.to-warn{background:#EF9F27}.to-over{background:#E24B4A}
.qa-btn{flex:1;min-width:110px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:11px 8px;background:var(--bg1);border:0.5px solid var(--bd3);border-radius:var(--r2);cursor:pointer;font-size:11px;color:var(--t2);transition:all .1s;text-align:center}
.qa-btn:hover{border-color:var(--acc);color:var(--acc)}.qa-btn i{font-size:20px}
.qa-btn.primary-qa{border-color:var(--acc);color:var(--acc);background:#FFF5F0}
/* Count of outstanding items on a quick-action (e.g. bookings still needing a contract) */
.qa-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin-left:3px;border-radius:8px;background:var(--acc);color:#fff;font-size:9px;font-weight:700;line-height:1;vertical-align:middle}
/* Shop */
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.shop-card{background:var(--bg1);border:0.5px solid var(--bd3);border-radius:var(--r2);padding:14px;cursor:pointer;transition:border-color .1s}
.shop-card:hover{border-color:var(--acc)}
/* Contract */
.contract-box{background:var(--bg1);border:1px solid var(--bd2);border-radius:var(--r2);padding:20px;font-size:12px;line-height:1.6}
.contract-box h2{font-size:15px;font-weight:600;margin-bottom:4px;text-align:center}
.contract-box .sub{text-align:center;color:var(--t2);font-size:11px;margin-bottom:16px}
.contract-section{margin-bottom:14px;padding-bottom:14px;border-bottom:0.5px solid var(--bd3)}
.contract-section:last-child{border-bottom:none;margin-bottom:0}
.contract-row{display:flex;justify-content:space-between;padding:3px 0;font-size:12px}
.contract-row .label{color:var(--t2)}
.contract-row .val{font-weight:500}
.sig-pad{border:1px dashed var(--bd2);border-radius:var(--r1);height:120px;display:flex;align-items:center;justify-content:center;color:var(--t2);font-size:12px;background:var(--bg2);cursor:crosshair;position:relative;touch-action:none}
.sig-pad canvas{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:var(--r1);touch-action:none}
/* Tasks */
.task-kanban{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.kanban-col{background:var(--bg2);border-radius:var(--r2);padding:10px}
.kanban-col-title{font-size:11px;font-weight:600;color:var(--t2);letter-spacing:.04em;margin-bottom:8px;display:flex;align-items:center;justify-content:space-between}
.task-card2{background:var(--bg1);border:0.5px solid var(--bd3);border-radius:var(--r1);padding:10px;margin-bottom:7px;cursor:pointer}
.task-card2:hover{border-color:var(--acc)}
/* Client photos */
.photo-slot{width:90px;height:90px;border:1px dashed var(--bd2);border-radius:var(--r1);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;color:var(--t2);font-size:10px;background:var(--bg2);transition:border-color .1s}
.photo-slot:hover{border-color:var(--acc)}
.photo-slot i{font-size:20px}
/* Log */
.log-row{display:flex;gap:10px;padding:7px 0;border-bottom:0.5px solid var(--bd3);font-size:12px}
.log-row:last-child{border-bottom:none}
.log-time{color:var(--t3);font-size:11px;min-width:42px}
.log-who{font-weight:500;min-width:70px;font-size:11px}
.log-what{flex:1;color:var(--t2)}
.log-section{color:var(--acc);font-size:10px;padding:1px 5px;background:#FFF5F0;border-radius:4px;white-space:nowrap}
/* Search bar */
.search-bar{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap;align-items:center}
.search-bar input{padding:6px 10px;border:0.5px solid var(--bd2);border-radius:var(--r1);background:var(--bg1);color:var(--t1);font-size:12px;min-width:200px}
.search-bar select{padding:6px 10px;border:0.5px solid var(--bd2);border-radius:var(--r1);background:var(--bg1);color:var(--t1);font-size:12px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--acc);outline-offset:1px}
.fuel-sel{display:flex;gap:5px;flex-wrap:wrap}
/* Existing-booking locked look */
.bk-edit .fr input,.bk-edit .fr select,.bk-edit .fr textarea,.bk-form .fr input,.bk-form .fr select,.bk-form .fr textarea{background:var(--bg2);border-color:var(--bd2);transition:background .12s,border-color .12s}
.bk-edit .fr input:focus,.bk-edit .fr select:focus,.bk-edit .fr textarea:focus,.bk-form .fr input:focus,.bk-form .fr select:focus,.bk-form .fr textarea:focus{background:var(--bg1) !important;border-color:var(--acc) !important;outline:2px solid var(--acc);outline-offset:1px}
.bk-form .fr label{font-weight:500}
.bk-form .fr input::placeholder,.bk-form .fr textarea::placeholder{color:var(--t3)}
/* Messenger link icons */
.ms-link{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;font-size:13px;text-decoration:none;flex-shrink:0;transition:opacity .1s}
.ms-link:hover{opacity:.75}
.ms-wa{background:#25D366;color:#fff}
.ms-tg{background:#0088cc;color:#fff}
.ms-ig{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%);color:#fff}
.ms-wc{background:#07C160;color:#fff}
.ms-ln{background:#00B900;color:#fff}
/* CC selector in phone rows */
.cc-sel{width:76px !important;flex-shrink:0;font-size:11px;padding:4px 2px !important}
.fuel-btn{padding:4px 10px;border:0.5px solid var(--bd2);border-radius:6px;font-size:12px;cursor:pointer;background:transparent;color:var(--t2);font-family:var(--f)}
.fuel-btn.active{background:var(--acc);border-color:var(--acc);color:#fff}

/* ── Tooltips ── */
[data-tip]{cursor:help}
.info-i{display:inline-flex;align-items:center;justify-content:center;cursor:help;color:var(--acc);font-size:9px;font-weight:700;border:1.5px solid currentColor;border-radius:50%;min-width:13px;height:13px;padding:0 2px;margin-left:4px;vertical-align:middle;flex-shrink:0;transition:background .12s,color .12s}
.info-i:hover{background:var(--acc);color:#fff}
#_tip{position:fixed;background:rgba(20,20,20,.92);color:#fff;padding:5px 10px;border-radius:6px;font-size:11px;white-space:nowrap;pointer-events:none;z-index:99999;box-shadow:0 2px 8px rgba(0,0,0,.3);display:none}
/* Hamburger + drawer backdrop — hidden on desktop */
.hamburger{display:none;background:transparent;border:0.5px solid var(--bd2);border-radius:var(--r1);color:var(--t1);cursor:pointer;padding:5px 8px;margin-right:10px;font-size:16px;line-height:1;align-items:center;justify-content:center}
.sb-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:900}
/* ── Mobile (≤768px) ─────────────────────────────────────────────────────── */
@media(max-width:768px){
  .sb{position:fixed;top:0;left:0;bottom:0;z-index:950;transform:translateX(-100%);transition:transform .22s ease;box-shadow:2px 0 16px rgba(0,0,0,.25);width:240px;min-width:240px}
  .sb.open{transform:translateX(0)}
  .sb-backdrop.show{display:block}
  .hamburger{display:inline-flex}
  .content{padding:11px 12px}
  .tb{padding:env(safe-area-inset-top) 12px 0 12px;gap:8px}
  .g2,.g3{grid-template-columns:1fr}
  .dash-grid{grid-template-columns:1fr 1fr}
  .modal,.modal.lg,.modal.xl,.modal.sm{width:100%}
  .ov{padding:8px}
  .desktop-only{display:none !important}
  .tb-usermeta{display:none}       /* avatar only in the top bar on phones */
  /* Kanban → swipeable columns (drag&drop is desktop-only; touch uses the ▸ buttons) */
  .task-kanban{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;gap:10px;padding-bottom:8px}
  .kanban-col{flex:0 0 85vw;min-width:85vw;scroll-snap-align:start}
  .task-card2{padding:12px}         /* larger tap target */
  .task-card2 .btn.sm{padding:5px 10px;font-size:12px}

  /* Чат на телефоне: шапка и подсказки разворачивались в столбик и съедали весь экран —
     сообщениям оставалось около 100px, и переписка выглядела как белый лист.
     Отдаём ленте сообщений всё свободное место, а служебное — ужимаем. */
  #chat_msgs{min-height:45vh}
  /* Шапка переписки на телефоне: имя и статус на всю ширину, кнопки — ниже одной строкой с прокруткой. */
  .cx-head{flex-wrap:wrap !important;padding:8px 10px !important;gap:6px 8px !important}
  .cx-hinfo{flex:1 1 0 !important;min-width:0}
  .cx-hact{flex:1 1 100% !important;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap !important;padding-bottom:2px}
  .cx-hact .btn.sm{padding:5px 9px;font-size:12px;white-space:nowrap}
  #chat_hint{display:none}                      /* пояснение под полем ответа — только на десктопе */
  #chat_reply{rows:1;min-height:38px !important}
}
@media(max-width:440px){
  .dash-grid{grid-template-columns:1fr}
  /* Use more of the small screen and tighten spacing so long forms (contract) scroll less */
  .ov{padding:5px}
  .mb{padding:12px 12px;max-height:calc(96vh - 92px)}
  .mb.bk-form{max-height:92vh !important}
  .modal .mh{padding:11px 13px}
  .mh h3,.mh-title{font-size:14px}
  .fr{margin-bottom:8px}
  .fr label{font-size:11px}
  .fr input,.fr select,.fr textarea{font-size:16px} /* 16px stops iOS auto-zoom on focus */
}

.bkm-spin{animation:bkmspin 1.1s linear infinite}@keyframes bkmspin{to{transform:rotate(360deg)}}

/* Chat list rows: subtle hover (active row keeps its inline highlight) */
.chat-row:hover{background:var(--bg2)}

/* ═══ Chats (раздел переписок): список, шапка, лента ═══════════════════════════════════ */
.cx-wrap{display:flex;height:calc(100vh - 116px);min-height:480px;border:0.5px solid var(--bd2);border-radius:var(--r2);overflow:hidden;background:var(--bg1)}
.cx-col{width:360px;flex-shrink:0;border-right:0.5px solid var(--bd2);background:var(--bg1);display:flex;flex-direction:column;min-height:0}
.cx-top{display:flex;gap:6px;align-items:center;padding:10px 10px 6px}
.cx-search{flex:1;min-width:0;display:flex;align-items:center;gap:6px;background:var(--bg2);border-radius:10px;padding:0 8px;height:34px}
.cx-search i{color:var(--t3);font-size:15px}
.cx-search input{flex:1;min-width:0;border:0 !important;background:transparent !important;outline:none;font-size:13px;padding:0 !important;box-shadow:none !important}
.cx-x{border:0;background:none;color:var(--t3);font-size:17px;cursor:pointer;padding:0 2px;line-height:1}
.cx-ib{flex-shrink:0;width:34px;height:34px;border-radius:10px;border:0.5px solid var(--bd2);background:var(--bg1);color:var(--t2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px}
.cx-ib:hover{background:var(--bg2);color:var(--t1)}
.cx-wa{background:#25D366;border-color:#25D366;color:#fff}
.cx-wa:hover{background:#1EBE5A;color:#fff}
.cx-chips{display:flex;gap:5px;overflow-x:auto;padding:2px 10px 9px;border-bottom:0.5px solid var(--bd3);scrollbar-width:none;flex-shrink:0}
.cx-chips::-webkit-scrollbar{display:none}
.cx-chip{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:13px;border:0.5px solid var(--bd2);background:var(--bg1);color:var(--t2);font-size:12px;cursor:pointer;white-space:nowrap;font-family:inherit}
.cx-chip b{font-weight:600;color:var(--t3)}
.cx-chip.on{background:var(--t1);border-color:var(--t1);color:var(--bg1)}
.cx-chip.on b{color:var(--bg1);opacity:.75}
.cx-dot{width:7px;height:7px;border-radius:50%;background:var(--cx)}
.cx-sep{flex-shrink:0;width:1px;background:var(--bd2);margin:3px 2px}
.cx-chan{flex-shrink:0;width:28px;height:26px;border-radius:13px;border:0.5px solid var(--bd2);background:var(--bg1);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:15px;opacity:.55}
.cx-chan.on{opacity:1;border-color:var(--t1);box-shadow:inset 0 0 0 1px var(--t1)}
.cx-list{flex:1;overflow-y:auto;min-height:0}
.cx-row{display:flex;gap:10px;align-items:center;padding:9px 12px 9px 10px;border-left:3px solid var(--cx);cursor:pointer;border-bottom:0.5px solid var(--bd3)}
.cx-row.sel{background:var(--bg3) !important}
.cx-av{position:relative;flex-shrink:0;width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;letter-spacing:.3px}
.cx-avch{position:absolute;right:-3px;bottom:-3px;background:var(--bg1);border-radius:50%;font-size:14px;padding:1px;line-height:1}
.cx-rb{flex:1;min-width:0}
.cx-l1,.cx-l2{display:flex;align-items:center;gap:6px;min-width:0}
.cx-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:500;color:var(--t1)}
.cx-row.un .cx-name{font-weight:700}
.cx-mgr{color:#C2410C;font-size:14px;flex-shrink:0}
.cx-time{flex-shrink:0;font-size:11px;color:var(--t3)}
.cx-row.un .cx-time{color:#16A34A;font-weight:600}
.cx-l2{margin-top:3px}
.cx-prev{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--t2)}
.cx-row.un .cx-prev{color:var(--t1)}
.cx-you{color:var(--t3)}
.cx-tag{display:inline-block;font-size:10px;font-weight:600;color:var(--cx);background:color-mix(in srgb,var(--cx) 12%,transparent);border-radius:6px;padding:0 5px;margin-right:3px;vertical-align:1px}
.cx-un{flex-shrink:0;min-width:20px;height:20px;border-radius:10px;background:#16A34A;color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;box-sizing:border-box}
.cx-more{display:block;width:calc(100% - 20px);margin:10px;padding:8px;border:0.5px dashed var(--bd2);border-radius:8px;background:var(--bg1);color:var(--t2);cursor:pointer;font-size:12px}
.cx-pane{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg2)}
.cx-empty{margin:auto;text-align:center;color:var(--t3);max-width:260px}
.cx-empty i{font-size:40px;display:block;margin-bottom:6px}
.cx-empty div{font-size:14px;color:var(--t2);font-weight:500}
.cx-empty small{display:block;margin-top:6px;font-size:11px;line-height:1.4}
.cx-head{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--bg1);border-bottom:0.5px solid var(--bd2);flex-wrap:wrap}
.cx-hinfo{flex:1 1 180px;min-width:0}
.cx-hname{font-weight:700;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cx-line{font-size:10px;font-weight:600;color:var(--t2);background:var(--bg2);border-radius:6px;padding:1px 6px;margin-left:6px;vertical-align:2px}
.cx-hsub{font-size:12px;color:var(--t2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px}
.cx-hsub a{color:var(--acc);cursor:pointer}
.cx-st{display:inline-flex;align-items:center;gap:3px;font-weight:600}
.cx-st.mgr{color:#C2410C}.cx-st.bot{color:#1D9E75}
.cx-hact{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.cx-menu{position:relative}
.cx-mlist{display:none;position:absolute;right:0;top:calc(100% + 4px);z-index:30;min-width:220px;background:var(--bg1);border:0.5px solid var(--bd2);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.14);padding:5px}
.cx-menu.open .cx-mlist{display:block}
.cx-mlist button{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;padding:8px 10px;border-radius:7px;font-size:13px;color:var(--t1);cursor:pointer;text-align:left;font-family:inherit}
.cx-mlist button:hover{background:var(--bg2)}
.cx-mlist .cx-danger{color:#A32D2D}
.cx-msgs{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:6px}
.cx-msg.cont{margin-top:-3px}
.cx-comp{display:flex;gap:6px;align-items:flex-end;padding:8px 10px;background:var(--bg1);border-top:0.5px solid var(--bd2)}
.cx-tools{display:flex;gap:2px;flex-shrink:0;padding-bottom:3px}
.cx-tb{width:32px;height:32px;border:0;background:none;border-radius:8px;color:var(--t2);cursor:pointer;font-size:17px;display:inline-flex;align-items:center;justify-content:center}
.cx-tb:hover{background:var(--bg2);color:var(--t1)}
.cx-comp textarea{flex:1;min-width:0;resize:none;min-height:38px;max-height:200px;line-height:1.4;font-family:inherit;font-size:14px;padding:9px 12px;box-sizing:border-box;border-radius:19px;border:0.5px solid var(--bd2);background:var(--bg2);overflow-y:auto}
.cx-comp textarea:focus{outline:none;border-color:var(--acc);background:var(--bg1)}
.cx-send{flex-shrink:0;width:38px;height:38px;border-radius:50%;border:0;background:var(--acc);color:#fff;font-size:17px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.cx-send:hover{filter:brightness(.95)}
.cx-day{align-self:center;position:sticky;top:0;z-index:2;margin:6px 0 2px}
.cx-day span{display:inline-block;font-size:11px;font-weight:600;color:var(--t2);background:var(--bg1);border:0.5px solid var(--bd3);border-radius:10px;padding:2px 10px;box-shadow:0 1px 2px rgba(0,0,0,.04)}

/* Chats: карточка клиента справа, очередь, заметки, «/», поиск по сообщениям */
.cx-side{width:290px;flex-shrink:0;border-left:0.5px solid var(--bd2);background:var(--bg1);overflow-y:auto;padding:4px 0}
.cx-sec{padding:10px 14px;border-bottom:0.5px solid var(--bd3)}
.cx-sh{font-size:10.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--t3);margin-bottom:6px}
.cx-kv{font-size:12px;color:var(--t2);margin-top:3px;line-height:1.45}
.cx-kv a,.cx-hist a,.cx-big{color:var(--acc);cursor:pointer}
.cx-big{display:block;font-size:14px;font-weight:700;margin-bottom:3px;text-decoration:none}
.cx-docs{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.cx-docs span{font-size:11px;font-weight:600;border-radius:6px;padding:1px 6px}
.cx-docs .ok{background:#ECFDF5;color:#065F46}.cx-docs .no{background:#FEF2F2;color:#A32D2D}
.cx-btns{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
.cx-bk{background:var(--bg2);border-radius:8px;padding:8px 10px;cursor:pointer;font-size:12.5px}
.cx-bk:hover{background:var(--bg3)}
.cx-hist{margin-top:8px;display:flex;flex-direction:column;gap:3px;font-size:11.5px}
.cx-seg{display:flex;flex-wrap:wrap;gap:4px}
.cx-seg button{flex:1 1 auto;border:0.5px solid var(--bd2);background:var(--bg1);color:var(--t2);border-radius:7px;padding:4px 7px;font-size:11.5px;cursor:pointer;font-family:inherit}
.cx-seg button.on{background:var(--cx);border-color:var(--cx);color:#fff;font-weight:600}
.cx-side-m .cx-sec{padding:10px 2px}
.cx-wait{flex-shrink:0;font-size:10.5px;font-weight:700;color:var(--cx);background:color-mix(in srgb,var(--cx) 12%,transparent);border-radius:6px;padding:0 5px}
.cx-tb.on{background:#FEF3C7;color:#92400E}
.cx-comp.note{background:#FFFBEB}
.cx-comp.note textarea{background:#FEF3C7;border-color:#F59E0B}
.cx-note{align-self:center;width:min(92%,520px);background:#FEF9C3;border:1px solid #FDE68A;color:#713F12;border-radius:10px;padding:7px 11px;font-size:12.5px;white-space:pre-wrap;overflow-wrap:anywhere}
.cx-nh{font-size:10.5px;color:#A16207;font-weight:600;margin-bottom:2px;display:flex;gap:4px;align-items:center}
.cx-nh a{margin-left:auto;cursor:pointer;color:#A16207}
.cx-inwrap{flex:1;min-width:0;position:relative;display:flex}
.cx-inwrap textarea{flex:1}
.cx-slash{display:none;position:absolute;left:0;right:0;bottom:calc(100% + 6px);z-index:20;background:var(--bg1);border:0.5px solid var(--bd2);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.14);padding:4px;max-height:280px;overflow-y:auto}
.cx-sl{padding:6px 9px;border-radius:7px;cursor:pointer;display:flex;flex-direction:column;gap:1px}
.cx-sl b{font-size:12.5px}.cx-sl span{font-size:11.5px;color:var(--t2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cx-sl.on,.cx-sl:hover{background:var(--bg2)}
.cx-sl-e{padding:8px;font-size:12px;color:var(--t3)}
.cx-srch-h{font-size:11px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.4px;padding:10px 12px 4px;background:var(--bg2)}
.cx-row mark{background:#FEF08A;color:inherit;border-radius:2px}
.cx-bub{font-size:13px}
.cx-tm{font-size:9.5px}
.cx-pane{position:relative;container-type:inline-size}
/* Узкая панель переписки (средний экран, планшет): кнопки — отдельной строкой, полю ввода вся ширина. */
@container (max-width:560px){.cx-comp{flex-wrap:wrap}.cx-tools{width:100%;padding-bottom:0}}
.cx-newpill{position:absolute;left:50%;transform:translateX(-50%);bottom:110px;z-index:5;border:0;border-radius:16px;background:var(--acc);color:#fff;font-size:12px;font-weight:600;padding:6px 12px;box-shadow:0 4px 14px rgba(0,0,0,.2);cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-family:inherit}
.cx-in{height:36px;border:0.5px solid var(--bd2);border-radius:8px;padding:0 10px;font-size:14px;background:var(--bg1);color:var(--t1);font-family:inherit;box-sizing:border-box}
.cx-hact{scrollbar-width:none}.cx-hact::-webkit-scrollbar{display:none}
.cx-esc{display:flex;gap:9px;align-items:flex-start;padding:8px 12px;background:#FEF2F2;border-top:1px solid #FECACA;color:#7F1D1D;font-size:12.5px}
.cx-esc>i{font-size:18px;color:#DC2626;margin-top:1px}
.cx-esc-b{flex:1;min-width:0}
.cx-esc-t{margin-top:2px;color:#991B1B;overflow-wrap:anywhere}
.cx-win{font-weight:600}
.cx-rec{align-items:center;gap:8px;padding:8px 12px;background:#FEF2F2;border-top:1px solid #FECACA;color:#991B1B;font-size:13px}
.cx-recdot{width:10px;height:10px;border-radius:50%;background:#DC2626;animation:cxblink 1s infinite}
@keyframes cxblink{50%{opacity:.25}}
.cx-pinic{color:#D85A30;font-size:12px;margin-right:4px;vertical-align:-1px}
.cx-row.pin{background:color-mix(in srgb,#D85A30 4%,transparent)}
.cx-docbtn{margin-top:4px;border:0.5px solid var(--bd2);background:var(--bg1);color:var(--acc);border-radius:7px;font-size:11px;padding:2px 8px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-family:inherit}
@media(max-width:760px){
  .cx-wrap{height:calc(100dvh - 104px);border-radius:0;border-left:0;border-right:0}
  .cx-col{width:100% !important;border-right:0}
  .cx-row{padding:10px 12px 10px 10px}
  .cx-msgs{padding:10px}
  .cx-side{display:none !important}
  .cx-wrap{min-height:0}
  .cx-line{display:none}
  .cx-bub{font-size:15px;line-height:1.4}
  .cx-tm{font-size:11px}
  .cx-msg{max-width:86% !important}
  .cx-note{font-size:14px}
  .cx-comp textarea{font-size:15px}
  .cx-search input{font-size:15px}
  .cx-tb{width:38px;height:36px;font-size:19px}
  .cx-hsub{font-size:12.5px}
  .cx-newpill{bottom:120px}
  .cx-in{height:40px;font-size:15px}
  .cx-comp{flex-wrap:wrap}
  .cx-tools{width:100%;padding-bottom:0;gap:4px}
}

/* ═══ Телефоны: слой поверх базовых правил (iPhone и Android) ═══════════════════════════ */
/* Android Chrome: 100vh включает адресную строку, и низ окна уезжал под неё; dvh — реальная высота. */
@supports (height:100dvh){
  .app{height:100dvh}
  .mb{max-height:calc(90dvh - 110px)}
  .ov{min-height:100dvh}
}
/* Android: свайп вниз внутри окна или списка дёргал pull-to-refresh всей страницы. */
body{overscroll-behavior-y:contain}
.content,.mb,.tw,.chess-wrap{overscroll-behavior:contain}
/* Сетки: потомок с широкой таблицей внутри раздвигал колонку за экран (min-width:auto у grid-item). */
.g2>*,.g3>*,.g4>*,.dash-grid>*{min-width:0}
button,.btn,.tab,.qa-btn,.chip{touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,.06)}
.tw{-webkit-overflow-scrolling:touch}

@media(max-width:480px){
  /* длинные имена/номера/адреса переносятся, а не уезжают за край — но НЕ в таблицах:
     там ячейки узкие, и перенос «где угодно» рассыпал имена и телефоны по букве */
  .content{overflow-wrap:anywhere}
  .content .tw td,.content .tw th,.content .tw td *,.content .tw th *{overflow-wrap:normal;word-break:normal}
  .content .tw td{min-width:64px}
  /* кнопки и вкладки — размер под палец */
  .btn{min-height:38px;padding:7px 12px;font-size:13px}
  .btn.sm{min-height:34px;padding:6px 10px;font-size:12px}
  .tw .btn.sm{min-height:32px;min-width:32px;padding:5px 8px}
  .qa-btn{min-height:56px}
  /* ряд вкладок-фильтров занимал 3–4 строки и съедал экран — одна строка со смахиванием */
  .tab-row{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:1px}
  .tab-row::-webkit-scrollbar{display:none}
  .tab{padding:9px 11px;font-size:13px;flex:0 0 auto}
  /* таблицы: плотнее, чтобы влезало больше колонок до прокрутки */
  .tw table td,.tw table th{padding:7px 8px;font-size:12px}
  /* окна: во всю ширину, футер над системной полосой жестов */
  .ov{padding:0;align-items:flex-end}
  .modal,.modal.lg,.modal.xl,.modal.sm{width:100%;max-width:100%;border-radius:14px 14px 0 0;border-left:0;border-right:0;border-bottom:0}
  .mf{padding-bottom:calc(11px + env(safe-area-inset-bottom))}
  .mh{padding:12px 14px;flex-wrap:wrap;gap:8px}
  /* Шапка карточки брони: кнопки (End Rental, Extend, Swap…) складывались столбиком справа
     от заголовка и занимали полэкрана. На телефоне блок кнопок — отдельной строкой во всю ширину. */
  .mh>div:last-child{flex:1 1 100%;justify-content:flex-start}
  .mh>div:last-child .btn{padding:6px 10px;font-size:12px;min-height:34px}
  .search-bar input{min-width:0;flex:1 1 160px;font-size:14px;padding:9px 10px}
  .stat .sv{font-size:20px}
}
/* iPhone: поле мельче 16px заставляет Safari зумить страницу при фокусе. Только iOS —
   на Android это не нужно, и компактные поля там остаются компактными. */
@supports (-webkit-touch-callout:none){
  @media(max-width:768px){
    input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px !important}
  }
}

/* ═══ Печать самой CRM (Cmd+P не в окне договора) ═══════════════════════════════════════════
   Без этих правил печаталась ровно одна страница: .app фиксирован по высоте экрана, содержимое —
   в прокрутке, окно — на тёмной подложке с потолком высоты. На бумаге: тёмный лист с обрезанным
   первым экраном и пустые листы дальше. Теперь: без меню и шапки, всё раскрыто по высоте, а если
   открыто окно — печатается только оно, целиком. */
@media print{
  .sb,.tb,.sb-backdrop,.hamburger,.role-sw,#role_preview_note,#_tip,#_app_err_banner{display:none !important}
  html,body,.app{height:auto !important;overflow:visible !important;background:#fff !important}
  .app{display:block !important}
  .content{overflow:visible !important;height:auto !important;padding:0 !important}
  .tw{overflow:visible !important;border:0 !important}
  /* открыто окно: печатаем только его */
  body:has(#mr .modal) .app{display:none !important}
  #mr .ov{position:static !important;background:none !important;padding:0 !important;display:block !important;overflow:visible !important;min-height:0 !important}
  #mr .modal,#mr .modal.lg,#mr .modal.xl,#mr .modal.sm{width:100% !important;max-width:none !important;border:0 !important;box-shadow:none !important;margin:0 !important}
  #mr .mb{max-height:none !important;overflow:visible !important}
  #mr .mf,#mr .mh .btn,#mr button{display:none !important}
}

/* Painting2: схема и таблица рядом, на телефоне — друг под другом */
@media (max-width: 900px){ .p2-grid{ grid-template-columns: minmax(0,1fr) !important; } }

/* Delivery Chat: список и переписка рядом, на телефоне — друг под другом */
@media (max-width: 800px){ .dc-grid{ grid-template-columns: minmax(0,1fr) !important; } .dc-grid #dc_list{ max-height: 38vh !important; border-right: none !important; border-bottom: 0.5px solid var(--bd2); } }

/* Календарь туров: на телефоне ячейки компактнее, подписи в одну строку обрезаются */
@media (max-width: 600px){ .tour-cal > div{ min-height: 56px !important; padding: 2px !important; } .tour-cal > div > div{ font-size: 9px !important; } }

/* Bike profitability (раздел владельца): на телефоне строки таблицы — карточки «подпись: значение» */
@media (max-width: 700px){
  .bp-t thead{display:none}
  .bp-t,.bp-t tbody,.bp-t tr,.bp-t td{display:block;width:100%;box-sizing:border-box}
  .bp-t tr{padding:8px 10px;border-bottom:0.5px solid var(--bd3)}
  .bp-t td{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:2px 0 !important;border:0 !important;text-align:right}
  .bp-t td::before{content:attr(data-l);color:var(--t2);font-size:11px;font-weight:400;text-align:left;flex-shrink:0}
  .bp-t td:first-child{display:block;text-align:left;font-size:13px;margin-bottom:3px}
  .bp-t td:first-child::before{content:none}
  .bp-t td > div{flex:1;max-width:60%}
}

/* До / после: на телефоне два больших снимка — один под другим */
@media (max-width: 700px){ .ba-pair{ flex-direction: column !important; align-items: stretch !important; } }

/* ═══ Мастер новой брони: 4 шага поверх той же формы ═══ */
.wz-steps{display:flex;gap:6px;align-items:flex-end;padding:9px 17px 10px;border-bottom:0.5px solid var(--bd3);background:var(--bg1)}
.wz-steps button{flex:1;min-width:0;border:0;background:transparent;padding:0;text-align:left;font-family:var(--f);font-size:11px;color:var(--t2);cursor:pointer;display:flex;flex-direction:column;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wz-steps button i{display:block;height:4px;border-radius:2px;background:var(--bg3)}
.wz-steps button.done i,.wz-steps button.cur i{background:var(--acc)}
.wz-steps button.cur{color:var(--acc);font-weight:700}
.wz-steps .wz-allb{font-size:11px;color:var(--t2);white-space:nowrap;cursor:pointer;text-decoration:underline;padding-bottom:1px}
.wz-p{display:none}
#wz[data-step="1"] .wz-p[data-p="1"],#wz[data-step="2"] .wz-p[data-p="2"],#wz[data-step="3"] .wz-p[data-p="3"],#wz[data-step="4"] .wz-p[data-p="4"],#wz.wz-allf .wz-p{display:block}
#wz.wz-allf .wz-p+.wz-p{border-top:2px solid var(--bd3);margin-top:16px;padding-top:4px}
.wz-h{font-size:13px;font-weight:700;color:var(--t1);margin:16px 0 8px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.wz-h span{font-weight:400;font-size:11px;color:var(--t2)}
.wz-p>.wz-h:first-child,.wz-p>div:first-child+.wz-h{margin-top:4px}
.wz-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 10px}
.wz-chip{padding:6px 12px;min-height:32px;border-radius:16px;border:0.5px solid var(--bd2);background:var(--bg1);color:var(--t1);font-size:12px;cursor:pointer;font-family:var(--f);white-space:nowrap}
.wz-chip:hover{border-color:var(--acc)}
.wz-chip.on{background:var(--t1);color:var(--bg1);border-color:var(--t1)}
.wz-chips input{padding:6px 8px;border:0.5px solid var(--bd2);border-radius:16px;background:var(--bg1);color:var(--t1);font-size:12px;min-height:32px;box-sizing:border-box}
.wz-box{border:0.5px solid var(--bd2);border-radius:var(--r2);padding:12px 12px 6px;margin:6px 0 10px}
.wz-link{color:var(--acc);font-size:12px;font-weight:600;cursor:pointer;display:inline-block;margin:2px 0 8px}
.wz-chk{display:flex;gap:7px;align-items:center;font-size:12px;cursor:pointer;margin:2px 0 8px}
.wz-hide{display:none}.wz-hide.on{display:block}
.wz-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:4px}
.wz-opt{border:0.5px solid var(--bd2);border-radius:var(--r2);background:var(--bg1);padding:8px 4px;text-align:center;cursor:pointer;font-family:var(--f);color:var(--t1);min-height:50px}
.wz-opt b{display:block;font-size:13px}.wz-opt span{font-size:11px;color:var(--t2)}
.wz-opt.on{border:1.5px solid var(--acc);background:rgba(216,90,48,.08)}
.wz-bikes{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.wz-bike{display:flex;align-items:center;gap:10px;padding:9px 11px;border:0.5px solid var(--bd2);border-radius:var(--r2);background:var(--bg1);cursor:pointer;text-align:left;font-family:var(--f);color:var(--t1);width:100%;box-sizing:border-box}
.wz-bike:hover{border-color:var(--acc)}
.wz-bike.on{border:1.5px solid var(--acc);background:rgba(216,90,48,.08)}
.wz-bike.off{opacity:.62}
.wz-res{background:var(--bg2);border-radius:var(--r1);padding:8px 10px;font-size:12px;margin:6px 0 8px;line-height:1.6}
.wz-ci{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 12px;background:var(--bg2);border-radius:var(--r1);padding:8px 11px;font-size:12px;margin:6px 0 4px}
.wz-ci>span:nth-child(odd){color:var(--t2)}
#wz:not(.wz-morex) .svcr.wz-rare:not(.wz-on){display:none}
#wz .svcr.wz-dlv:not(.wz-on){display:none}
/* Новая бронь на компьютере: шире, блоки — карточки в две колонки (оформление из прототипа) */
@media (min-width:900px){
  .modal.wz-modal{max-width:1040px;width:calc(100vw - 48px)}
  .modal.wz-modal .mb.bk-form{padding:18px 22px 24px}
  .modal.wz-modal .wz-steps{padding:10px 22px 12px}
  #wz .wz-sec{border:0.5px solid var(--bd2);border-radius:14px;padding:12px 14px 6px;margin:0 0 14px;background:var(--bg1);break-inside:avoid}
  #wz .wz-sec>.wz-h:first-child{margin-top:0}
  #wz .wz-sec label{white-space:normal;max-width:100%}   /* длинные подписи (STNK) переносятся, а не вылезают из карточки */
  #wz[data-step="2"] .wz-p[data-p="2"],#wz[data-step="3"] .wz-p[data-p="3"],#wz[data-step="4"] .wz-p[data-p="4"],#wz.wz-allf .wz-p:not([data-p="1"]){columns:2;column-gap:18px}
  #wz .wz-p[data-p="1"]{max-width:760px;margin-inline:auto}
  .mf.wz-mf{padding-left:22px;padding-right:22px}
  .mf.wz-mf #bk_live_sum{font-size:15px}
}
.mf.wz-mf{flex-wrap:wrap;align-items:center}
.mf.wz-mf .wz-why{flex-basis:100%;font-size:12px;color:#A32D2D;text-align:right;min-height:0}
.mf.wz-mf .wz-why:empty{display:none}
@media(max-width:768px){
  .wz-steps{padding:8px 13px 9px;gap:4px}
  .wz-steps button{font-size:10px}
  .mf.wz-mf #bk_live_sum{flex-basis:100%;margin-right:0}
  .mf.wz-mf .btn{flex:1;justify-content:center;min-height:42px;font-size:13px}
}

/* ═══ My day (раздел водителя) ═══ */
.md{max-width:640px;margin:0 auto}
.md-quick{display:flex;gap:6px;flex-wrap:wrap;max-width:640px;margin:0 auto 10px}
.md-quick button{flex:1 1 0;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:9px 8px;border:0.5px solid var(--bd2);border-radius:10px;background:var(--bg1);color:var(--t1);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}
.md-quick button b{background:#A32D2D;color:#fff;border-radius:999px;padding:0 6px;font-size:10px;line-height:16px}
.md-head{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.md-title{font-size:19px;font-weight:700}
.md-days{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:1px}
.md-days::-webkit-scrollbar{display:none}
.md-days button{flex:0 0 auto;min-height:36px;padding:0 13px;border-radius:18px;border:0.5px solid var(--bd2);background:var(--bg1);color:var(--t1);font-size:13px;font-family:var(--f);cursor:pointer}
.md-days button.on{background:var(--t1);color:var(--bg1);border-color:var(--t1)}
.md-days b{font-size:11px;background:var(--acc);color:#fff;border-radius:8px;padding:0 5px;margin-left:3px}
.md-q{width:100%;box-sizing:border-box;min-height:40px;padding:0 12px;border:0.5px solid var(--bd2);border-radius:12px;background:var(--bg1);color:var(--t1);font-size:14px;font-family:var(--f)}
.md-seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;background:var(--bg2);border-radius:10px;padding:3px;margin-bottom:10px}
.md-seg button{border:0;background:transparent;border-radius:8px;min-height:36px;font-size:13px;color:var(--t2);font-family:var(--f);cursor:pointer}
.md-seg button.on{background:var(--bg1);color:var(--t1);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.12)}
.md-sum{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;font-size:12px;color:var(--t2);background:var(--bg2);border-radius:10px;padding:8px 11px;margin-bottom:10px}
.md-sum b{color:var(--t1);font-size:13px}
.md-old{font-size:12px;color:#A32D2D;margin-bottom:10px}
.md-card{background:var(--bg1);border:0.5px solid var(--bd2);border-radius:14px;padding:12px;margin-bottom:10px;display:flex;flex-direction:column;gap:7px;cursor:pointer}
.md-card.md-mine{border:1.5px solid var(--acc)}
.md-card.md-late{border-left:4px solid #A32D2D}
.md-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.md-tm{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}
.md-pill{font-size:11px;font-weight:700;border-radius:6px;padding:2px 7px;white-space:nowrap}
.md-dl{background:var(--acc);color:#fff}.md-rt{background:#DBEAFE;color:#1E40AF}.md-way{background:#EFF6FF;color:#1D4ED8}
.md-who{margin-left:auto;font-size:12px;color:var(--t2)}
.md-name{font-size:15px;font-weight:600}
.md-sub{font-size:12px;color:var(--t2)}
.md-place{color:var(--t1)}
.md-due{display:flex;flex-direction:column;gap:1px;background:#FFF7ED;border-radius:10px;padding:8px 11px}
.md-due span{font-size:12px;color:#9A3412}
.md-due b{font-size:19px;font-variant-numeric:tabular-nums;color:#1a1a18}
.md-due small{font-size:11.5px;color:#6b6b68}
.md-due.md-ret{background:#EFF6FF}.md-due.md-ret span{color:#1D4ED8}
.md-paid{background:#ECFDF5;color:#15803D;border-radius:10px;padding:8px 11px;font-size:19px;font-weight:800;letter-spacing:.06em;text-align:center}
.md-warn{font-size:12px;color:#9A3412}
.md-acts{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.md-acts.md-one{grid-template-columns:1fr}
.md-b{min-height:40px;border-radius:10px;border:0.5px solid var(--bd2);background:var(--bg1);display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:600;color:var(--t1);text-decoration:none;font-family:var(--f);cursor:pointer;padding:0 8px;text-align:center}
.md-b.md-wa{background:#DCFCE7;border-color:#86EFAC;color:#166534}
.md-b.md-office,.md-b.md-nowa{cursor:default;color:var(--t2);font-weight:500;font-size:12px}
.md-pri{min-height:46px;border:0;border-radius:12px;background:var(--acc);color:#fff;font-weight:600;font-size:14px;font-family:var(--f);cursor:pointer;padding:0 10px}
.md-pri.md-take{background:#0F766E}
.md-sec{min-height:46px;border:0.5px solid var(--bd2);border-radius:12px;background:var(--bg1);color:var(--t1);font-weight:600;font-size:13px;font-family:var(--f);cursor:pointer;padding:0 8px}
.md-links{display:flex;gap:16px;font-size:12px}
.md-links a{color:var(--t2);cursor:pointer;text-decoration:underline}
.md-done{display:flex;align-items:center;gap:8px;background:#ECFDF5;color:#15803D;border-radius:12px;padding:10px 12px;margin-bottom:8px;font-size:13px;cursor:pointer}
:root[data-theme="dark"] .md-due{background:#2A1C10}:root[data-theme="dark"] .md-due b{color:#f0ede6}:root[data-theme="dark"] .md-due small{color:#9a9a96}
:root[data-theme="dark"] .md-due.md-ret{background:#132036}:root[data-theme="dark"] .md-paid,:root[data-theme="dark"] .md-done{background:#0F2A1A;color:#4ADE80}
:root[data-theme="dark"] .md-b.md-wa{background:#0F2A1A;border-color:#166534;color:#4ADE80}

/* ═══ Выдача байка одним экраном (hub) ═══ */
.hub{display:flex;flex-direction:column}
.hub-head{position:sticky;top:0;z-index:3;background:var(--bg1);padding:10px 14px 8px;border-bottom:0.5px solid var(--bd3);display:flex;flex-direction:column;gap:7px}
.hub-who{display:flex;align-items:center;gap:10px;justify-content:space-between}
.hub-who>div{min-width:0;display:flex;flex-direction:column}
.hub-who b{font-size:15px}.hub-who span{font-size:12px;color:var(--t2)}
.hub-who .md-b{min-height:36px;padding:0 12px;flex-shrink:0}
.hub-due{display:flex;flex-direction:column;gap:1px;background:#FFF7ED;border-radius:10px;padding:8px 12px}
.hub-due span{font-size:12px;color:#9A3412}.hub-due b{font-size:22px;font-variant-numeric:tabular-nums;color:#1a1a18}.hub-due small{font-size:11.5px;color:#6b6b68}
.hub-paid{background:#ECFDF5;color:#15803D;border-radius:10px;padding:9px 12px;font-size:17px;font-weight:800;letter-spacing:.04em;text-align:center}
.hub-bar{height:5px;border-radius:3px;background:var(--bg3);overflow:hidden}.hub-bar i{display:block;height:100%;background:#15803D}
.hub-prog{display:flex;justify-content:space-between;gap:8px;font-size:11.5px;color:var(--t2)}
.hub-body{padding:10px 12px;display:flex;flex-direction:column;gap:10px}
.hub-sec{border:0.5px solid var(--bd2);border-radius:14px;background:var(--bg1);scroll-margin-top:150px}
.hub-sec.flash{border:2px solid var(--acc);box-shadow:0 0 0 4px rgba(216,90,48,.15)}
.hub-sh{width:100%;display:flex;align-items:center;gap:8px;border:0;background:transparent;padding:12px;text-align:left;font-size:15px;font-family:var(--f);color:var(--t1);cursor:pointer}
.hub-sh b{flex:1}
.hub-chip{font-size:12px;font-weight:600;border-radius:10px;padding:2px 8px;white-space:nowrap}
.hub-chip.left{background:#FFF7ED;color:#9A3412}.hub-chip.ok{background:#ECFDF5;color:#15803D}
.hub-car{color:var(--t3);transition:transform .15s}
.hub-sec.closed .hub-car{transform:rotate(-90deg)}
.hub-sb{padding:0 12px 12px;display:flex;flex-direction:column;gap:9px}
.hub-sec.closed .hub-sb{display:none}
.hub[data-mode="step"] .hub-sec{display:none}
.hub[data-mode="step"][data-si="0"] .hub-sec[data-i="0"],.hub[data-mode="step"][data-si="1"] .hub-sec[data-i="1"],.hub[data-mode="step"][data-si="2"] .hub-sec[data-i="2"],.hub[data-mode="step"][data-si="3"] .hub-sec[data-i="3"],.hub[data-mode="step"][data-si="4"] .hub-sec[data-i="4"]{display:block}
.hub[data-mode="step"] .hub-sec .hub-sb{display:flex}
.hub[data-mode="step"] .hub-car{display:none}
.hub-note{font-size:12px;color:var(--t2);line-height:1.45}
.hub-okb{background:#ECFDF5;color:#15803D;border-radius:10px;padding:9px 11px;font-size:13px}
.hub-quick{display:flex;align-items:center;gap:7px;min-height:40px;padding:6px 12px;border:1px dashed var(--acc);border-radius:10px;background:var(--bg1);color:var(--acc);font-size:13px;font-weight:600;font-family:var(--f);cursor:pointer;text-align:left}
.hub-big{min-height:52px;border:0;border-radius:12px;background:#1D4ED8;color:#fff;font-weight:600;font-size:15px;font-family:var(--f);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 12px}
.hub-pay{border:0.5px solid var(--bd2);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px}
.hub-pay-t{font-size:13px;font-weight:600}
.hub-pay-r{display:flex;gap:8px;align-items:center}
.hub-pay-r input{flex:1;min-width:0;min-height:42px;padding:0 10px;border:0.5px solid var(--bd2);border-radius:10px;background:var(--bg1);color:var(--t1);font-size:16px;font-weight:600;font-family:var(--f)}
.hub-pay-r select{min-height:42px;padding:0 8px;border:0.5px solid var(--bd2);border-radius:10px;background:var(--bg1);color:var(--t1);font-size:13px;font-family:var(--f);max-width:46%}
.hub-cur{font-size:13px;font-weight:600;color:var(--t2)}
.hub-rec{min-height:44px;border:0;border-radius:10px;background:#15803D;color:#fff;font-weight:600;font-size:14px;font-family:var(--f);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px}
.hub-debt{display:flex;gap:8px;align-items:flex-start;font-size:13px;cursor:pointer}
.hub-det>summary{cursor:pointer;color:var(--acc);font-weight:600;font-size:13px;padding:4px 0}
.hub-det>div{border-radius:10px;margin-top:6px}
.hub-foot{position:sticky;bottom:0;z-index:3;background:var(--bg1);border-top:0.5px solid var(--bd3);padding:10px 12px calc(10px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:7px}
.hub-row{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.hub-fin{min-height:48px;border:0;border-radius:12px;background:var(--acc);color:#fff;font-weight:700;font-size:15px;font-family:var(--f);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 10px;width:100%}
.hub-fin.green{background:#15803D}
.hub-fin.amber{background:#FFF7ED;color:#9A3412;border:1px solid #9A3412}
.hub-sec2{min-height:42px;border:0.5px solid var(--bd2);border-radius:12px;background:var(--bg1);color:var(--t1);font-weight:600;font-size:13px;font-family:var(--f);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 8px}
.hub-sec2:disabled{opacity:.45;cursor:not-allowed}
.hub-miss{display:flex;flex-direction:column;gap:2px;background:#FFF7ED;border-radius:10px;padding:8px 11px;max-height:170px;overflow:auto}
.hub-miss a{color:#9A3412;font-size:13px;font-weight:600;cursor:pointer;padding:3px 0}
/* экран для клиента */
.hubc{position:fixed;inset:0;z-index:1500;background:var(--bg1);display:flex;flex-direction:column;font-size:15px;padding-top:env(safe-area-inset-top)}
.hubc-top{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:0.5px solid var(--bd3);font-size:13px;color:var(--t2)}
.hubc-lang{display:flex;gap:5px}
.hubc-lang button{min-height:32px;padding:0 11px;border-radius:16px;border:0.5px solid var(--bd2);background:var(--bg1);color:var(--t1);font-size:13px;font-family:var(--f);cursor:pointer}
.hubc-lang button.on{background:var(--t1);color:var(--bg1);border-color:var(--t1)}
.hubc-b{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;max-width:560px;width:100%;margin:0 auto;box-sizing:border-box}
.hubc-hi{font-size:24px;font-weight:700}
.hubc-sub{font-size:15px;color:var(--t2);margin-top:-8px}
.hubc-card{background:var(--bg2);border-radius:12px;padding:10px 13px;display:flex;flex-direction:column;gap:5px}
.hubc-row{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.hubc-row span{color:var(--t2)}.hubc-row b{text-align:right;font-weight:600}
.hubc-q{font-size:15px;font-weight:600}
.hubc-g2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.hubc-g2 input{min-height:46px;padding:0 12px;border:1px solid var(--bd2);border-radius:12px;background:var(--bg1);color:var(--t1);font-size:16px;font-family:var(--f);min-width:0}
.hubc-agr>summary{cursor:pointer;color:var(--acc);font-weight:600;font-size:14px}
.hubc-chk{display:flex;gap:10px;align-items:flex-start;font-size:15px;cursor:pointer}
.hubc-chk input{width:22px;height:22px;flex-shrink:0;margin-top:1px}
.hubc-pad{height:190px;background:var(--bg1)}
.hubc-clear{align-self:flex-start;border:0;background:transparent;color:var(--acc);font-weight:600;font-size:14px;font-family:var(--f);cursor:pointer;padding:0}
.hubc-f{border-top:0.5px solid var(--bd3);padding:12px 16px calc(12px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px;align-items:center;max-width:560px;width:100%;margin:0 auto;box-sizing:border-box}
.hubc-f a{font-size:13px;color:var(--t2);cursor:pointer;text-decoration:underline}
:root[data-theme="dark"] .hub-due{background:#2A1C10}:root[data-theme="dark"] .hub-due b{color:#f0ede6}:root[data-theme="dark"] .hub-due small{color:#9a9a96}
:root[data-theme="dark"] .hub-paid,:root[data-theme="dark"] .hub-okb,:root[data-theme="dark"] .hub-chip.ok{background:#0F2A1A;color:#4ADE80}
:root[data-theme="dark"] .hub-chip.left,:root[data-theme="dark"] .hub-miss,:root[data-theme="dark"] .hub-fin.amber{background:#2A1C10;color:#FDBA74;border-color:#FDBA74}
:root[data-theme="dark"] .hub-miss a{color:#FDBA74}

/* ═══ Приём байка одним экраном ═══ */
.erh-body{padding:0 !important}
.erh .hub-sec[data-sec="cond"] .hub-sb>.st:first-child,.erh .hub-sec[data-sec="dmg"] .hub-sb>.st:first-child,.erh .hub-sec[data-sec="dep"] .hub-sb>.st{display:none}
.erh .hub-sb>.st{margin-top:2px}
.erh .hub-foot{margin:10px -17px -16px;padding-left:17px;padding-right:17px}
@media(max-width:768px){.erh .hub-foot{margin:10px -12px -12px;padding-left:12px;padding-right:12px}}
/* окно выдачи/приёма не выше экрана: шапка сверху, кнопки снизу всегда видны */
.modal:has(#hub_root),.modal:has(#erh_root){display:flex;flex-direction:column;max-height:calc(100dvh - 32px)}
.modal:has(#hub_root)>.mb,.modal:has(#erh_root)>.mb{max-height:none !important;flex:1;min-height:0;overflow-y:auto}
@media(max-width:768px){.modal:has(#hub_root),.modal:has(#erh_root){max-height:100dvh}}
/* Motorcycles: переключатель вида и таблица цен */
.bkv-seg{display:inline-flex;background:var(--bg2);border-radius:10px;padding:3px;gap:2px}
.bkv-seg button{border:0;background:transparent;border-radius:8px;padding:6px 11px;font-size:12.5px;color:var(--t2);font-family:var(--f);cursor:pointer;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.bkv-seg button.on{background:var(--bg1);color:var(--t1);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.12)}
.bkp-t th,.bkp-t td{white-space:nowrap}
.bkp-t td.bkp-n,.bkp-t th.bkp-n{text-align:right;font-variant-numeric:tabular-nums;font-size:12.5px}
.bkp-t .bkp-g{border-left:0.5px solid var(--bd2)}
.bkp-t thead th.bkp-g{text-align:center}
/* My day — новый вид (2026-10-05) */
.mdn-h{display:flex;align-items:baseline;justify-content:space-between}.mdn-h b{font-size:22px}.mdn-h span{color:var(--t2);font-size:13px}
.md-days .mdn-sbtn{margin-left:auto}
.mdn-sum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:6px}
.mdn-sum div{background:var(--bg1);border-radius:12px;padding:8px 10px;border:0.5px solid var(--bd3);min-width:0}
.mdn-sum small{display:block;font-size:11px;color:var(--t2)}.mdn-sum b{font-size:14px;font-variant-numeric:tabular-nums;word-break:break-word}
.mdn-sec{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--t2);margin:14px 4px 8px}
.mdn-sec a{cursor:pointer;color:var(--t2)}
.mdn-now{background:var(--bg1);border-radius:18px;padding:14px;border:2px solid var(--t1);box-shadow:0 6px 18px -10px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:10px}
.mdn-now.late{border-color:#A32D2D}
.mdn-steps{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px}
.mdn-steps div{display:flex;flex-direction:column;gap:4px;font-size:10.5px;color:var(--t3);text-align:center}
.mdn-steps i{display:block;height:5px;border-radius:3px;background:var(--bg3)}
.mdn-steps .done{color:var(--t2)}.mdn-steps .done i{background:var(--t1)}
.mdn-steps .cur{color:var(--t1);font-weight:700}.mdn-steps .cur i{background:var(--acc)}
.mdn-top{display:flex;align-items:center;gap:8px}
.mdn-kind{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:12px;letter-spacing:.05em;border-radius:8px;padding:4px 9px}
.mdn-kind.dl{background:#ECFDF3;color:#15803D}.mdn-kind.rt{background:#EFF6FF;color:#1D4ED8}
.mdn-way{font-size:11px;font-weight:700;color:#1D4ED8;background:#EFF6FF;border-radius:6px;padding:2px 7px}
.mdn-tm{margin-left:auto;font-size:24px;font-weight:800;font-variant-numeric:tabular-nums}
.mdn-who{font-size:18px;font-weight:700;margin-top:-4px}
.mdn-bike{display:flex;align-items:center;gap:8px;font-size:14px;flex-wrap:wrap}
.mdn-plate{font-weight:800;font-size:13px;border:2px solid var(--t1);border-radius:6px;padding:0 7px;letter-spacing:.04em}
.mdn-place{display:flex;align-items:center;gap:10px;background:var(--bg2);border-radius:12px;padding:10px 12px}
.mdn-place>i{font-size:22px;color:var(--t2)}.mdn-place b{font-size:14px;font-weight:600}
.mdn-money{border-radius:14px;padding:10px 14px;display:flex;align-items:center;gap:12px;background:var(--bg2)}
.mdn-money>i{font-size:28px}.mdn-money small{display:block;font-size:12px;font-weight:600}.mdn-money b{font-size:22px;font-variant-numeric:tabular-nums}
.mdn-money .det{font-size:11.5px;color:var(--t2)}
.mdn-money.collect{background:#FFF7ED;color:#9A3412}.mdn-money.collect b{color:var(--t1)}
.mdn-money.paid{background:#ECFDF5;color:#15803D}
.mdn-money.refund{background:#EFF6FF;color:#1D4ED8}.mdn-money.refund b{color:var(--t1)}
.mdn-alert{display:flex;gap:8px;align-items:flex-start;background:#FEF2F2;color:#B91C1C;border-radius:12px;padding:9px 12px;font-size:13px;font-weight:600}
.mdn-alert i{font-size:18px}
.mdn-cl{display:flex;flex-direction:column;gap:6px}
.mdn-cl small,.mdn-chk small{font-size:11px;font-weight:700;color:var(--t2);letter-spacing:.05em}
.mdn-ci{display:flex;align-items:center;gap:10px;min-height:46px;border:0.5px solid var(--bd2);border-radius:12px;background:var(--bg1);padding:6px 12px;font-family:var(--f);font-size:13px;color:var(--t1);text-align:left;cursor:pointer}
.mdn-ci>i{font-size:20px;color:#C2410C}.mdn-ci span{flex:1;min-width:0}
.mdn-ci em{font-style:normal;font-size:12px;font-weight:700;color:#C2410C;white-space:nowrap;display:flex;align-items:center;gap:2px}
.mdn-ci.ok{background:#F0FDF4;border-color:#BBF7D0}.mdn-ci.ok>i,.mdn-ci.ok em{color:#15803D}
.mdn-chk{background:var(--bg2);border-radius:12px;padding:8px 12px}
.mdn-chk label{display:flex;align-items:center;gap:10px;min-height:36px;font-size:14px;cursor:pointer}
.mdn-chk input{width:22px;height:22px;accent-color:#15803D;flex-shrink:0}
.mdn-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mdn-ib{min-height:46px;border-radius:14px;border:0.5px solid var(--bd2);background:var(--bg1);display:flex;align-items:center;justify-content:center;gap:7px;font-family:var(--f);font-size:14px;font-weight:600;color:var(--t1);text-decoration:none;cursor:pointer;padding:0 8px;text-align:center}
.mdn-ib i{font-size:19px}.mdn-ib.wa{background:#DCFCE7;border-color:#86EFAC;color:#166534}.mdn-ib.off{color:var(--t2);font-weight:500;font-size:12px;cursor:default}
.mdn-go{width:100%;min-height:56px;border:0;border-radius:16px;font-family:var(--f);font-size:16px;font-weight:700;color:#fff;background:var(--acc);display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer}
.mdn-go i{font-size:21px}.mdn-go.take{background:#0F766E}
.mdn-sec2{min-height:44px;border:0.5px solid var(--bd2);border-radius:14px;background:var(--bg1);font-family:var(--f);font-size:14px;font-weight:600;color:var(--t1);cursor:pointer}
.mdn-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;font-size:12px}
.mdn-links a{color:var(--t2);text-decoration:underline;cursor:pointer}
.mdn-row{background:var(--bg1);border-radius:14px;border:0.5px solid var(--bd3);padding:10px 12px;margin-bottom:8px;display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:10px;align-items:center;cursor:pointer}
.mdn-row.late{border-left:4px solid #A32D2D}
.mdn-row .t{font-size:17px;font-weight:800;font-variant-numeric:tabular-nums}
.mdn-row .t small{display:block;font-size:9.5px;font-weight:700;letter-spacing:.04em}
.mdn-row .t small.dl{color:#15803D}.mdn-row .t small.rt{color:#1D4ED8}
.mdn-row .m{min-width:0}.mdn-row .m b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mdn-row .m span{display:block;font-size:12px;color:var(--t2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mdn-chip{font-size:12px;font-weight:700;border-radius:8px;padding:4px 8px;white-space:nowrap}
.mdn-chip.c{background:#FFF7ED;color:#9A3412}.mdn-chip.p{background:#ECFDF5;color:#15803D}.mdn-chip.r{background:#EFF6FF;color:#1D4ED8}
.mdn-take{min-height:38px;border:0;border-radius:10px;background:#0F766E;color:#fff;font-family:var(--f);font-weight:700;font-size:13px;padding:0 12px;cursor:pointer}
.mdn-take.alt{background:var(--bg1);color:var(--t1);border:0.5px solid var(--bd2)}
.mdn-empty{display:flex;align-items:center;gap:8px;justify-content:center;background:var(--bg1);border-radius:14px;padding:16px;color:var(--t2);font-size:14px;margin-top:10px}
:root[data-theme="dark"] .mdn-money.collect{background:#2A1C10}:root[data-theme="dark"] .mdn-money.paid,:root[data-theme="dark"] .mdn-ci.ok{background:#0F2A1A;border-color:#166534}
:root[data-theme="dark"] .mdn-money.refund{background:#132036}:root[data-theme="dark"] .mdn-alert{background:#2A1414;color:#FCA5A5}
:root[data-theme="dark"] .mdn-kind.dl{background:#0F2A1A;color:#4ADE80}:root[data-theme="dark"] .mdn-kind.rt{background:#132036;color:#93C5FD}
/* Chats → «📅 To confirm» */
.cx-chip.cx-todo{border-color:var(--acc);color:var(--acc);font-weight:700}
.cx-chip.cx-todo.on{background:var(--acc);color:#fff;border-color:var(--acc)}
.cx-chip.cx-todo b{background:var(--acc);color:#fff;border-radius:8px;padding:0 5px;font-size:10px;margin-left:3px}
.cx-chip.cx-todo b:empty{display:none}
.cx-chip.cx-todo.on b{background:#fff;color:var(--acc)}
.cx-tdg{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--t2);padding:10px 12px 6px;display:flex;justify-content:space-between;align-items:center;background:var(--bg2);border-top:0.5px solid var(--bd3)}
.cx-tdg.red{color:#B91C1C}.cx-tdg span{font-weight:600;letter-spacing:0}
.cx-tdi{padding:10px 12px;border-bottom:0.5px solid var(--bd3);display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px;cursor:pointer}
.cx-tdi:hover{background:var(--bg2)}.cx-tdi.sel{background:#FFF4EF;box-shadow:inset 3px 0 0 var(--acc)}
.cx-tdd{background:var(--bg2);border-radius:10px;text-align:center;padding:4px 0;font-weight:800;font-size:15px;line-height:1.15;align-self:start}
.cx-tdd small{display:block;font-size:9.5px;font-weight:700;color:var(--t2);text-transform:uppercase}
.cx-tdd.red{background:#FEF2F2;color:#B91C1C}.cx-tdd.red small{color:#B91C1C}.cx-tdd.now{background:#FBEDE7;color:var(--acc)}
.cx-tdd i{font-size:18px}
.cx-tdn{font-weight:700;font-size:13.5px}
.cx-tds{color:var(--t2);font-size:12px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cx-tdtags{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}
.cx-tdt{font-size:10.5px;font-weight:700;border-radius:6px;padding:1px 6px}
.cx-tdt.o{background:#FFF7ED;color:#9A3412}.cx-tdt.b{background:#EFF6FF;color:#1D4ED8}.cx-tdt.x{background:var(--bg3);color:var(--t2)}
.cx-tdbar{border-top:0.5px solid var(--bd3);background:#FFFCFA;padding:8px 12px;display:flex;flex-direction:column;gap:6px}
.cx-tdrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cx-tdrow>i{font-size:20px;color:var(--acc)}
.cx-tdrb{flex:1;min-width:200px;font-size:12.5px}.cx-tdrn{font-size:11.5px;color:var(--t2);margin-top:2px}
:root[data-theme="dark"] .cx-tdbar{background:#2A1C10}:root[data-theme="dark"] .cx-tdi.sel{background:#2A1C10}


/* Website leads: окно почти во весь экран, сверху сводка и фильтры, ниже — прокручиваемый список строк */
.modal.sl-modal{width:min(1180px,100%);height:calc(100dvh - 32px);display:flex;flex-direction:column;margin:0 auto}
.sl-modal>.mb.sl-mb{max-height:none;flex:1;min-height:0;overflow-y:auto;padding:0}
.sl-top{padding:12px 17px 10px;border-bottom:0.5px solid var(--bd3)}
.sl-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}
.sl-stats>div{background:var(--bg2);border-radius:10px;padding:8px 12px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.sl-stats span{font-size:12px;color:var(--t2);flex:1 1 100%}
.sl-stats b{font-size:22px;line-height:1.1}.sl-stats b.ok{color:#15803D}.sl-stats b.bad{color:#B91C1C}
.sl-stats i{font-style:normal;font-size:11.5px;color:var(--t2)}
.sl-fl{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.sl-n{margin-left:auto;font-size:12px;color:var(--t3)}
.sl-row{display:grid;grid-template-columns:110px minmax(0,1.1fr) minmax(0,1.2fr) minmax(0,1fr) 140px;gap:12px;align-items:center;padding:9px 17px;border-bottom:0.5px solid var(--bd3);font-size:13px}
.sl-row:hover{background:var(--bg2)}
.sl-row small{display:block;font-size:11.5px;color:var(--t2);margin-top:2px;overflow-wrap:anywhere}
.sl-row b{font-weight:600}
.sl-when{font-size:12.5px;white-space:nowrap}
.sl-st{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.sl-tag{font-size:11.5px;font-weight:600;border-radius:6px;padding:2px 7px;line-height:1.35}
.sl-tag.ok{color:#15803D;background:#ECFDF3}.sl-tag.warn{color:#9A3412;background:#FFF7ED}.sl-tag.bad{color:#B91C1C;background:#FEF2F2}.sl-tag.muted{color:var(--t2);background:var(--bg2)}
.sl-rep{font-size:11.5px;color:#15803D;font-weight:600}
.sl-act{display:flex;gap:6px;justify-content:flex-end;white-space:nowrap}
@media(max-width:768px){
  .modal.sl-modal{height:calc(100dvh - 8px)}
  .sl-top{padding:10px 12px}
  .sl-stats{gap:6px}.sl-stats>div{padding:6px 8px}.sl-stats b{font-size:18px}.sl-stats i{display:none}
  .sl-n{display:none}
  .sl-row{grid-template-columns:1fr auto;gap:4px 10px;padding:10px 12px}
  .sl-when{grid-column:1/-1;display:flex;gap:8px;align-items:baseline;color:var(--t2);font-size:12px}
  .sl-when small{display:inline;margin:0}
  .sl-cl{grid-column:1/2}.sl-bk{grid-column:1/2}.sl-st{grid-column:1/2;flex-direction:row;flex-wrap:wrap}
  .sl-act{grid-column:2/3;grid-row:2/5;flex-direction:column;align-self:center}
}

/* Motorcycles → Prices & deposits: как таблица MOTOR RENT — цветные группы колонок, узкие ячейки, шапка и название закреплены */
.bkp-t{--k1:#DCE8FB;--k1h:#B9D2F6;--k2:#FBE3E3;--k2h:#F4C6C6;--k3:#FFF6CC;--k3h:#FBE88A;--k4:#F1EFEA;--k4h:#E2DED5;--k5:#E3F4E3;--k5h:#C3E6C3;--k6:#DDF4FA;--k6h:#B6E7F3;--k7:transparent;--k7h:var(--bg2);--kb:#FFE94D}
:root[data-theme="dark"] .bkp-t,:root[data-theme="dark"] .bkp-bar{--k1:#17243A;--k1h:#1F3354;--k2:#341B1E;--k2h:#4A262A;--k3:#2E2914;--k3h:#4A421A;--k4:#262522;--k4h:#35332E;--k5:#16291A;--k5h:#1F3D25;--k6:#132C33;--k6h:#1B414B;--kb:#4A421A}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .bkp-t,:root:not([data-theme="light"]) .bkp-bar{--k1:#17243A;--k1h:#1F3354;--k2:#341B1E;--k2h:#4A262A;--k3:#2E2914;--k3h:#4A421A;--k4:#262522;--k4h:#35332E;--k5:#16291A;--k5h:#1F3D25;--k6:#132C33;--k6h:#1B414B;--kb:#4A421A}}
.bkp-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:11.5px;color:var(--t2);margin:-2px 0 8px}
.bkp-bar label{display:flex;gap:5px;align-items:center;white-space:nowrap;font-size:12.5px;color:var(--t1)}
.bkp-lg i{display:inline-block;width:10px;height:10px;border-radius:3px;vertical-align:-1px;margin:0 3px 0 8px}
.bkp-lg i.k1{background:#B9D2F6}.bkp-lg i.k2{background:#F4C6C6}.bkp-lg i.k3{background:#FBE88A}.bkp-lg i.k4{background:#E2DED5}.bkp-lg i.k5{background:#C3E6C3}.bkp-lg i.k6{background:#B6E7F3}
.bkp-dl{display:inline-block;width:14px;border-bottom:2px solid #D9643A;margin:0 4px 0 8px;vertical-align:3px}
.bkp-tw{max-height:calc(100dvh - 210px);overflow:auto}
.bkp-t{border-collapse:separate;border-spacing:0;width:auto}
.bkp-t th,.bkp-t td{padding:4px 7px;white-space:nowrap;border-bottom:0.5px solid var(--bd3)}
.bkp-t thead th{position:sticky;z-index:2;font-size:11px;font-weight:600;text-align:center;line-height:1.2;color:var(--t1)}
.bkp-t thead tr:first-child th{top:0;height:26px}
.bkp-t thead tr:nth-child(2) th{top:26px;font-weight:500}
.bkp-t .bkp-bike{position:sticky;left:0;z-index:1;background:var(--bg1);text-align:left;min-width:210px;max-width:260px;white-space:normal;border-right:0.5px solid var(--bd2)}
.bkp-t thead th.bkp-bike{z-index:3;background:var(--kb)}
.bkp-t td.bkp-n{text-align:right;font-variant-numeric:tabular-nums;font-size:12px}
.bkp-t .k1{background:var(--k1)}.bkp-t .k2{background:var(--k2)}.bkp-t .k3{background:var(--k3)}.bkp-t .k4{background:var(--k4)}.bkp-t .k5{background:var(--k5)}.bkp-t .k6{background:var(--k6)}.bkp-t .k7{background:var(--k7)}
.bkp-t thead .k1{background:var(--k1h)}.bkp-t thead .k2{background:var(--k2h)}.bkp-t thead .k3{background:var(--k3h)}.bkp-t thead .k4{background:var(--k4h)}.bkp-t thead .k5{background:var(--k5h)}.bkp-t thead .k6{background:var(--k6h)}.bkp-t thead .k7{background:var(--k7h)}
.bkp-t .sep{border-left:1.5px solid var(--bg1)}
.bkp-t td.mon{font-weight:700}
.bkp-dash{color:var(--t3)}
.bkp-auto{color:var(--t3);font-style:italic}
.bkp-diff{box-shadow:inset 0 -2px 0 #D9643A}
.bkp-nm{display:flex;align-items:center;gap:5px;font-size:12.5px;line-height:1.25}
.bkp-sub{font-size:10.5px;color:var(--t2);margin-top:1px}
.bkp-inv{display:inline-block;font-size:10px;padding:0 5px;border-radius:4px;background:var(--bg2);margin-left:5px}
.bkp-mod td{background:var(--bg2) !important;font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--t2);text-transform:uppercase;padding:7px 8px 4px}
.bkp-r{cursor:pointer}
.bkp-r:hover td{filter:brightness(.96)}
.bkp-not td.bkp-bike{background:#FFF0F0}
:root[data-theme="dark"] .bkp-not td.bkp-bike{background:#3A1A1A}
.bkp-svc{max-width:190px;white-space:normal !important;line-height:1.6}
.bkp-sv{display:inline-block;font-size:10px;font-weight:600;padding:0 5px;border-radius:3px;margin:0 3px 0 0;white-space:nowrap}
.bkp-sv.bad{color:#fff;background:#A32D2D}.bkp-sv.warn{color:#854F0B;background:#FAEEDA}
.bkp-ok{color:var(--t3);font-size:11px}
@media(max-width:768px){.bkp-t .bkp-bike{min-width:150px;max-width:170px}.bkp-tw{max-height:calc(100dvh - 190px)}}

/* Prices & deposits: статус байка и галочка «в сервисе» */
.bkp-t .bkp-stc{text-align:left;min-width:104px}
.bkp-st{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:2px 7px 2px 4px;border-radius:6px;cursor:pointer;white-space:nowrap}
.bkp-st input{width:14px;height:14px;margin:0;cursor:pointer}
.bkp-st.free{color:#15803D;background:#ECFDF3}.bkp-st.busy{color:#1D4ED8;background:#EEF4FF}.bkp-st.svc{color:#fff;background:#A32D2D}
:root[data-theme="dark"] .bkp-st.free{background:#0F2A1A;color:#4ADE80}:root[data-theme="dark"] .bkp-st.busy{background:#132036;color:#93C5FD}
.bkp-sn{font-size:10px;color:#A32D2D;margin-top:2px;max-width:140px;white-space:normal}

/* Запись сервиса (механик): слева шаги, справа итог; окно почти во весь экран, список шагов прокручивается */
.modal.sr-modal{width:min(1100px,100%);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;margin:0 auto}
.sr-modal>.mb.sr-mb{max-height:none;flex:1;min-height:0;overflow-y:auto;padding:0}
.sr-modal .mh{gap:10px}.sr-modal .mh h3{flex:1;min-width:0}
.sr-who{display:flex;gap:6px}.sr-who select,.sr-who input{width:auto;padding:5px 8px;font-size:13px}
.sr-body{display:grid;grid-template-columns:minmax(0,1fr) 310px}
.sr-main{padding:14px 18px 18px;display:flex;flex-direction:column;gap:14px;min-width:0;border-right:0.5px solid var(--bd3)}
.sr-side{padding:14px 16px;background:var(--bg2);display:flex;flex-direction:column;gap:10px;min-width:0}
.sr-sec{display:flex;flex-direction:column;gap:7px;min-width:0}
.sr-st{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--t3);text-transform:uppercase;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.sr-st b{width:18px;height:18px;border-radius:50%;background:var(--t1);color:var(--bg1);font-size:10.5px;display:inline-flex;align-items:center;justify-content:center;letter-spacing:0}
.sr-stn{font-weight:500;letter-spacing:0;text-transform:none;color:var(--t2)}
.sr-bike{display:flex;gap:11px;align-items:center;border:0.5px solid var(--bd2);border-radius:12px;padding:9px 12px}
.sr-bic{width:40px;height:40px;border-radius:10px;background:var(--bg2);display:flex;align-items:center;justify-content:center;font-size:21px;flex:0 0 40px}
.sr-bike b{font-size:15px}.sr-bike small{display:block;color:var(--t2);font-size:12px;margin-top:1px}
.sr-chg{margin-left:auto;border:0;background:none;color:var(--acc);font:inherit;font-weight:600;cursor:pointer}
.sr-cnt{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.sr-cnt:empty{display:none}
.sr-c{border:0.5px solid var(--bd2);border-radius:10px;padding:7px 9px}
.sr-c .t{display:flex;justify-content:space-between;flex-wrap:wrap;gap:2px 6px;font-size:12px;font-weight:600}
.sr-c .bar{height:5px;border-radius:3px;background:var(--bg2);margin:6px 0 4px;overflow:hidden}.sr-c .bar i{display:block;height:100%}
.sr-c small{font-size:10.5px;color:var(--t2)}
.sr-c.bad{border-color:#F3C3BE;background:#FEF3F2}.sr-c.bad .t span{color:#B42318}.sr-c.bad .bar i{background:#B42318}
.sr-c.warn{border-color:#F6D9A8;background:#FFFAEB}.sr-c.warn .t span{color:#B45309}.sr-c.warn .bar i{background:#F59E0B}
.sr-c.ok .bar i{background:#22A55B}.sr-c.ok .t span{color:#15803D}
.sr-c.reset{outline:2px solid #15803D;outline-offset:-1px;background:#F0FBF4;border-color:transparent}.sr-c.reset small b{color:#15803D}
:root[data-theme="dark"] .sr-c.bad{background:#2A1515;border-color:#5A2525}:root[data-theme="dark"] .sr-c.warn{background:#2A2010;border-color:#5A4515}:root[data-theme="dark"] .sr-c.reset{background:#0F2A1A}
.sr-row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.sr-odo{display:flex;gap:8px;align-items:center}
.sr-odo input{flex:1;min-width:0;font-size:20px !important;font-weight:700;padding:7px 12px}
.sr-odo span{color:var(--t2);font-weight:600}
.sr-cam{border:1px dashed var(--bd2);border-radius:10px;height:42px;width:46px;display:flex;align-items:center;justify-content:center;font-size:19px;color:var(--t2);cursor:pointer;flex:0 0 46px}
.sr-hint{font-size:11.5px;color:var(--t2)}.sr-hint b{color:var(--t1)}
.sr-okc{color:#15803D;font-weight:600}.sr-badc{color:#B42318;font-weight:600}
.sr-chips{display:flex;flex-wrap:wrap;gap:6px}
.svc-chip.sr-chip{font-size:12.5px;padding:6px 11px;background:var(--bg1)}
.svc-chip.sr-chip.on{background:var(--t1);border-color:var(--t1);color:var(--bg1)}
.svc-chip.sr-chip.sug{border:1px dashed #B42318;color:#B42318}
.sr-rs{font-size:9.5px;font-weight:700;padding:0 5px;border-radius:4px;background:rgba(21,128,61,.12);color:#15803D}
.svc-chip.sr-chip.on .sr-rs{background:rgba(255,255,255,.2);color:#BBF7D0}
.sr-gl{font-size:11.5px;color:var(--t2);font-weight:600;margin-top:2px}
.sr-hin{width:130px;padding:6px 10px;font-size:13px}
.sr-pt{border:0.5px solid var(--bd2);border-radius:12px;overflow:visible}
.sr-pnone{font-size:12px;color:var(--t2);padding:10px 12px}
.sr-pr{display:grid;grid-template-columns:minmax(0,1fr) auto 100px 84px 24px;gap:8px;align-items:center;padding:8px 10px;border-bottom:0.5px solid var(--bd3)}
.sr-pn{display:flex;flex-direction:column;gap:3px;min-width:0}.sr-pn b{font-size:13px}.sr-pn input{padding:5px 8px;font-size:13px}
.sr-tag{font-size:10.5px;font-weight:600;border-radius:5px;padding:1px 6px;width:max-content;max-width:100%}
.sr-tag.stock{background:#EEF4FF;color:#1D4ED8}.sr-tag.cash{background:#FFF4E5;color:#B45309}
.sr-qty{display:flex;align-items:center;border:0.5px solid var(--bd2);border-radius:8px;overflow:hidden}
.sr-qty button{border:0;background:var(--bg2);color:var(--t1);width:28px;height:30px;font-size:16px;cursor:pointer}.sr-qty span{min-width:30px;text-align:center;font-weight:600;font-size:13px}
.sr-pp{padding:5px 8px;text-align:right;font-size:13px}
.sr-ps{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.sr-pdel{border:0;background:none;color:var(--t3);cursor:pointer;font-size:14px}
.sr-addp{display:flex;gap:8px;padding:8px 10px;background:var(--bg2);border-radius:0 0 12px 12px;flex-wrap:wrap;align-items:center}
.sr-addp input{width:100%;padding:7px 10px}
.sr-pdd{position:absolute;left:0;right:0;top:100%;background:var(--bg1);border:0.5px solid var(--acc);border-radius:10px;max-height:240px;overflow-y:auto;z-index:9999;box-shadow:0 6px 20px rgba(0,0,0,.15)}
.sr-pdd div{display:flex;justify-content:space-between;gap:10px;padding:8px 11px;cursor:pointer;border-bottom:0.5px solid var(--bd3);font-size:12.5px}
.sr-pdd div:hover{background:var(--bg2)}.sr-pdd span{color:var(--t2);white-space:nowrap}
.sr-card{background:var(--bg1);border:0.5px solid var(--bd2);border-radius:12px;padding:11px 13px}
.sr-card h4{margin:0 0 7px;font-size:11px;color:var(--t3);letter-spacing:.06em;text-transform:uppercase}
.sr-li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:3px 0;font-size:12.5px}
.sr-li>span:last-child{font-variant-numeric:tabular-nums;font-weight:500}
.sr-li input,.sr-li select{width:116px;padding:4px 8px;font-size:12.5px;text-align:right}
.sr-tot{border-top:0.5px solid var(--bd2);margin-top:6px;padding-top:8px;font-weight:700;font-size:15px}
.sr-what{margin:0;padding-left:16px}.sr-what li{margin:0 0 6px;font-size:12px;line-height:1.4}.sr-what li::marker{color:#15803D}
.sr-ph{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.sr-thumb{aspect-ratio:1;border-radius:9px;background:var(--bg2) center/cover no-repeat;position:relative;cursor:pointer}
.sr-thumb button{position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:#fff;font-size:10px;cursor:pointer}
.sr-add,.sr-upl{display:flex;align-items:center;justify-content:center;border:1px dashed var(--bd2);background:var(--bg1);font-size:20px;color:var(--t2)}
.sr-modal .mf{gap:8px;align-items:center}
.sr-fsum{flex:1;font-size:12px;color:var(--t2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:820px){
  .modal.sr-modal{max-height:calc(100dvh - 8px)}
  .sr-body{grid-template-columns:minmax(0,1fr)}.sr-main{border-right:0;padding:12px}.sr-side{padding:12px}
  .sr-modal .mh{flex-wrap:wrap}.sr-modal .mh h3{flex:1 1 60%}.sr-who{order:3;flex:1 1 100%}.sr-who select{flex:1;min-width:0}
  .sr-cnt{grid-template-columns:repeat(2,minmax(0,1fr))}.sr-row2{grid-template-columns:minmax(0,1fr)}
  .sr-pr{grid-template-columns:minmax(0,1fr) auto 24px;row-gap:6px}.sr-pn{grid-column:1/3}.sr-pdel{grid-column:3;grid-row:1}
  .sr-qty{grid-column:1}.sr-pp{grid-column:2;width:110px}.sr-ps{grid-column:1/4;grid-row:3;display:none}
  .sr-fsum{display:none}.sr-modal .mf .btn{flex:1}.sr-modal .mf .btn.del{flex:0 0 auto}
}
.sr-modal input:not([type=checkbox]):not([type=file]),.sr-modal select,.sr-modal textarea{padding:7px 10px;border:0.5px solid var(--bd2);border-radius:9px;background:var(--bg1);color:var(--t1);font-size:13px;font-family:var(--f);box-sizing:border-box}
.sr-modal textarea{width:100%;resize:vertical;min-height:44px}
.sr-modal #sr_notes,.sr-modal #sr_bike_q{width:100%}
.sr-modal input:focus,.sr-modal select:focus,.sr-modal textarea:focus{border-color:var(--acc);outline:none}
@media(max-width:768px){.sr-modal input:not([type=checkbox]):not([type=file]),.sr-modal select,.sr-modal textarea{font-size:16px}}
@media(max-width:820px){.sr-who input{flex:0 1 150px;min-width:0}.sr-qty{justify-self:start}.sr-pp{justify-self:end}}

/* Add payment по брони: сводка, строки «за что платит», способ оплаты кнопками, итог внизу */
.modal.bp-modal{width:min(640px,100%)}
.bp-sub{font-size:12px;color:var(--t2);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bp-sum{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:14px}
.bp-sum>div{background:var(--bg2);border-radius:10px;padding:8px 10px;min-width:0}
.bp-sum span{display:block;font-size:11px;color:var(--t2)}.bp-sum b{font-size:14px;white-space:nowrap}
.bp-sum b.ok{color:#15803D}.bp-sum b.bad{color:#B42318}.bp-sum b.warn{color:#B45309}
.bp-st{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--t3);margin:4px 0 7px}
.bp-line{display:flex;align-items:center;gap:8px;border:0.5px solid var(--bd2);border-radius:11px;padding:8px 10px;margin-bottom:6px;opacity:.6}
.bp-line.on{opacity:1;border-color:var(--acc);background:color-mix(in srgb,var(--acc) 5%,var(--bg1))}
.bp-chk{display:flex;align-items:center;gap:9px;flex:1;min-width:0;cursor:pointer}
.bp-chk input{width:17px;height:17px;flex:0 0 17px;accent-color:var(--acc)}
.bp-chk b{display:block;font-size:13.5px}.bp-chk small{display:block;font-size:11px;color:var(--t2)}
.bp-amt{width:118px;padding:6px 9px;border:0.5px solid var(--bd2);border-radius:8px;background:var(--bg1);color:var(--t1);font-size:14px;font-weight:600;text-align:right;font-family:var(--f)}
.bp-up{width:96px;font-weight:500;font-size:12.5px}
.bp-line select{padding:6px 8px;border:0.5px solid var(--bd2);border-radius:8px;background:var(--bg1);color:var(--t1);font-size:12.5px}
.bp-qty{display:flex;align-items:center;border:0.5px solid var(--bd2);border-radius:8px;overflow:hidden}
.bp-qty button{border:0;background:var(--bg2);color:var(--t1);width:26px;height:30px;font-size:15px;cursor:pointer}.bp-qty span{min-width:24px;text-align:center;font-weight:600;font-size:13px}
.bp-x{border:0;background:none;color:var(--t3);cursor:pointer;width:18px;font-size:13px;flex:0 0 18px}
.bp-none{font-size:12.5px;color:var(--t2);background:var(--bg2);border-radius:10px;padding:10px 12px;margin-bottom:6px}
.bp-add{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 8px}
.bp-pick{display:flex;flex-wrap:wrap;gap:6px;background:var(--bg2);border-radius:11px;padding:8px;margin-bottom:10px}
.bp-pick span{background:var(--bg1);border:0.5px solid var(--bd2);border-radius:9px;padding:6px 10px;cursor:pointer}
.bp-pick span:hover{border-color:var(--acc)}.bp-pick b{display:block;font-size:12.5px;font-weight:600}.bp-pick small{font-size:11px;color:var(--t2)}
.bp-meth{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.bp-m{border:0.5px solid var(--bd2);border-radius:999px;padding:6px 12px;font-size:12.5px;cursor:pointer;background:var(--bg1)}
.bp-m.on{background:var(--t1);color:var(--bg1);border-color:var(--t1)}
.bp-feer{background:#EFF6FF;border:1px solid #BFDBFE;color:#1E40AF;border-radius:9px;padding:7px 10px;font-size:12.5px;margin-bottom:8px}
.bp-feer input{width:60px;padding:3px 6px;margin:0 3px;border:0.5px solid #BFDBFE;border-radius:6px}
:root[data-theme="dark"] .bp-feer{background:#132036;border-color:#1E3A5F;color:#93C5FD}
.bp-row{display:flex;gap:8px;flex-wrap:wrap}
.bp-row label{flex:1 1 140px;font-size:11.5px;color:var(--t2);display:flex;flex-direction:column;gap:3px}
.bp-row input{padding:7px 9px;border:0.5px solid var(--bd2);border-radius:8px;background:var(--bg1);color:var(--t1);font-size:13px;font-family:var(--f)}
.bp-adv{display:inline-block;margin-top:10px;font-size:11.5px;color:var(--t2);text-decoration:underline;cursor:pointer}
.bp-modal .mf{align-items:center;gap:8px}
.bp-tot{flex:1;font-size:13px;min-width:0}.bp-tot b{font-size:16px}.bp-tot span{color:var(--t2);font-size:11.5px}
@media(max-width:600px){
  .bp-sum{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bp-line{flex-wrap:wrap}.bp-chk{flex:1 1 100%}.bp-line .bp-amt:not(.bp-up){margin-left:auto}
  .bp-amt,.bp-row input,.bp-line select{font-size:16px}
  .bp-modal .mf{flex-wrap:wrap}.bp-tot{flex:1 1 100%}.bp-modal .mf .btn{flex:1}
}

/* deploy-probe 2026-10-06b */

/* Карточка брони: выбор клиента на планшете */
.kw-bar{margin:12px 16px 4px;border:1px solid #FED7AA;background:#FFF7ED;border-radius:12px;padding:10px 12px}
.kw-t{font-size:12.5px;font-weight:700;color:#9A3412;margin-bottom:6px}
.kw-c{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}.kw-c span{background:#fff;border:1px solid #FED7AA;border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:600}
.kw-a{display:flex;gap:6px;flex-wrap:wrap}.kw-n{font-size:11px;color:var(--t2);margin-top:6px}
:root[data-theme="dark"] .kw-bar{background:#2A1C10;border-color:#5A3A15}:root[data-theme="dark"] .kw-c span{background:#1e1e1c;border-color:#5A3A15}

/* Partners */
.pt-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px}.pt-bar input{flex:1 1 240px}.pt-bar select{width:auto}
.pt-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.pt-chips button{border:1px solid var(--bd2);background:var(--bg1);border-radius:999px;padding:5px 12px;font-size:12.5px;cursor:pointer;color:var(--t1)}
.pt-chips button b{color:var(--c,var(--t2));margin-left:3px}.pt-chips button.on{background:var(--t1);color:var(--bg1);border-color:var(--t1)}.pt-chips button.on b{color:inherit}
.pt-t td{vertical-align:top;font-size:12.5px}.pt-sub{font-size:11px;color:var(--t2);margin-top:2px}.pt-note{max-width:320px;white-space:normal}
.pt-kind{display:inline-block;font-size:11.5px;background:var(--bg2);border-radius:6px;padding:2px 7px;white-space:nowrap}
.pt-st{width:auto;font-size:12px;font-weight:600;border:0;border-radius:6px;padding:3px 6px}
.cx-ptn{margin-right:3px;font-size:12px}
.pt-bar input,.pt-bar select{padding:8px 11px;border:0.5px solid var(--bd2);border-radius:var(--r1);background:var(--bg1);color:var(--t1);font-size:13px}

/* Currency calculator: buy / sell */
.fx-mode{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.fx-mode button{border:1px solid var(--bd2);background:var(--bg1);border-radius:9px;padding:6px 12px;font-size:12.5px;cursor:pointer;color:var(--t1);text-align:left}
.fx-mode button small{display:block;font-size:10.5px;color:var(--t2)}
.fx-mode button.on{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 8%,var(--bg1));font-weight:600}
.fx-kind{font-size:12px;color:var(--t2);font-weight:500;margin-left:6px;background:var(--bg1);border-radius:6px;padding:2px 7px}
.fx-mg{width:62px!important;padding:3px 6px!important;font-size:12px}
.fx-mg::placeholder{color:var(--t3)}

.mdn-sec.debt{color:#A32D2D}
.mdn-row.debt{border-left:4px solid #A32D2D;background:#FEF2F2}
.mdn-row.debt .t{font-size:20px;color:#A32D2D}
.mdn-row.debt .m span{display:block;font-size:12px;color:var(--t2)}
.mdn-dbtns{display:flex;flex-direction:column;gap:6px}

/* График работы — недельный вид */
.sch-wk{border-collapse:separate;border-spacing:0;width:100%;min-width:640px;font-size:13px}
.sch-wk th,.sch-wk td{padding:7px 6px;border-bottom:1px solid var(--bd3);text-align:center;vertical-align:middle}
.sch-wk thead th{background:var(--bg2);position:sticky;top:0;z-index:2}
.sch-wk .sch-dn{font-weight:700;font-size:12px;color:var(--t2);text-transform:uppercase}
.sch-wk .sch-dd{font-size:13px;font-weight:600}
.sch-wk th.tod{background:#FEF9C3}.sch-wk th.we,.sch-wk td.we{background:var(--bg2)}
.sch-wk td.tod{box-shadow:inset 2px 0 0 #FACC15,inset -2px 0 0 #FACC15}
.sch-wk .sch-n{text-align:left;position:sticky;left:0;background:var(--bg1);z-index:1;min-width:112px;padding-left:10px;border-right:1px solid var(--bd3)}
.sch-wk .sch-n small{display:block;font-size:10.5px;color:var(--t3);font-weight:400}
.sch-wk tr.me .sch-n{background:#F0F9FF}
.sch-wk tr.sch-g td{background:var(--bg2);text-align:left;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--t2);padding:5px 10px}
.sch-wk tr.sch-f td{font-size:12px;color:var(--t2);background:var(--bg2)}
.sch-c span{display:inline-block;min-width:68px;padding:5px 6px;border-radius:8px;font-weight:600;font-size:12.5px;white-space:nowrap}
.sch-c.w span{background:#DCFCE7;color:#166534}.sch-c.x span{background:#16A34A;color:#fff}
.sch-c.o span{background:#F1F5F9;color:#94A3B8;font-weight:500}.sch-c.d span{background:#DBEAFE;color:#1D4ED8}
.sch-c.s span{background:#FED7AA;color:#9A3412}.sch-c.a span{background:#DC2626;color:#fff}
.sch-c.n span{background:#F3E8FF;color:#6B21A8}.sch-c.q span{background:#FEF3C7;color:#92400E}
.sch-lg{display:inline-block;padding:2px 9px;border-radius:7px;font-weight:600}
.sch-lg.w{background:#DCFCE7;color:#166534}.sch-lg.x{background:#16A34A;color:#fff}.sch-lg.o{background:#F1F5F9;color:#94A3B8}.sch-lg.d{background:#DBEAFE;color:#1D4ED8}.sch-lg.s{background:#FED7AA;color:#9A3412}.sch-lg.a{background:#DC2626;color:#fff}.sch-lg.n{background:#F3E8FF;color:#6B21A8}.sch-lg.q{background:#FEF3C7;color:#92400E}
@media (max-width:700px){.sch-c span{min-width:64px;font-size:11.5px;padding:4px 5px}.sch-wk .sch-n{min-width:96px}}

/* Водитель (24.10.2026): крупные иконки и кнопки — задача читается с первого взгляда, не вчитываясь в текст */
.mdn-row.debt{grid-template-columns:72px minmax(0,1fr) auto;padding:14px 14px}
.mdn-row.debt .t i{display:block;font-size:34px;margin-bottom:2px}
.mdn-row.debt .t{text-align:center}
.mdn-row.debt .m b{white-space:normal;font-size:15px;line-height:1.3}
.mdn-row.debt .m span{white-space:normal}.mdn-row.debt .m span em{font-style:normal}
.mdn-row.debt .m .who2{color:var(--t1);font-weight:600}
.mdn-row.debt .mdn-take{min-height:52px;font-size:15px;padding:0 16px;display:flex;align-items:center;justify-content:center;gap:6px}
.mdn-row.debt .mdn-take i{font-size:20px}
@media (max-width:560px){.mdn-row.debt{grid-template-columns:56px minmax(0,1fr)}.mdn-row.debt .mdn-dbtns{grid-column:1 / -1;flex-direction:row}.mdn-row.debt .mdn-take{flex:1}}
.mdn-row.debt .t small{font-size:10px;letter-spacing:0;word-break:keep-all}.mdn-row.debt .t{min-width:0}
@media (max-width:560px){.mdn-row.debt .m b{font-size:15px}.mdn-row.debt .t{grid-row:1}}
.mdn-row.debt .t small{font-size:8.5px;letter-spacing:-.01em}@media (max-width:560px){.mdn-row.debt{grid-template-columns:64px minmax(0,1fr)}}

.mdn-tg{display:flex;align-items:center;gap:10px;background:#EFF6FF;border:1px solid #BFDBFE;border-radius:14px;padding:10px 12px;margin-bottom:10px}
.mdn-tg>i{font-size:28px;color:#229ED9}.mdn-tg div{flex:1;min-width:0}.mdn-tg b{display:block;font-size:14px}.mdn-tg span{display:block;font-size:12px;color:var(--t2)}
.mdn-tg a{background:#229ED9;color:#fff;border-radius:10px;padding:9px 14px;font-weight:700;font-size:13px;text-decoration:none}

/* Карточка брони: шапка в два ряда, главные действия цветом, второстепенные — рядом справа */
.bv-mh{display:block !important}
.bv-head{display:flex;flex-direction:column;gap:10px;width:100%}
.bv-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bv-actions{padding-top:2px}
.bv-pri{padding:7px 14px;font-size:13px;font-weight:600;white-space:nowrap}
.bv-sep{flex:1 1 12px;min-width:8px}
.bv-actions .btn.sm{white-space:nowrap}

/* To finish: компактные карточки вместо широкой таблицы */
.tf-card{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--bg1);border:0.5px solid var(--bd3);border-left:4px solid #D97706;border-radius:12px;padding:10px 14px;margin-bottom:8px}
.tf-card.late{border-left-color:#B91C1C}
.tf-main{flex:1 1 360px;min-width:0}
.tf-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tf-id{font-size:12px;color:var(--t3);font-weight:600}
.tf-name{font-size:14px;cursor:pointer}
.tf-bike{font-size:13px;margin-top:2px}.tf-bike span{color:var(--t2);font-size:12px}
.tf-dates{font-size:11.5px;color:var(--t2);margin-top:2px}
.tf-pills{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.tf-pill{font-size:11.5px;font-weight:600;border-radius:999px;padding:3px 10px;white-space:nowrap}
.tf-act{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.tf-act .btn.pri{background:#0F766E;border-color:#0F766E;color:#fff;font-weight:600;padding:8px 14px}
@media (max-width:560px){.tf-act{width:100%}.tf-act .btn.pri{flex:1}}

/* Что мешает закрыть аренду — красным */
.cg{margin:12px 16px 4px;border-radius:12px;border:1.5px solid #FCA5A5;background:#FEF2F2;overflow:hidden}
.cg.ok{border-color:#86EFAC;background:#F0FDF4}
.cg-h{font-weight:700;font-size:14px;padding:10px 14px 6px;color:#991B1B}.cg.ok .cg-h{color:#166534}
.cg-row{display:flex;align-items:center;gap:10px;padding:8px 14px;border-top:0.5px solid rgba(0,0,0,.06);font-size:13px;flex-wrap:wrap}
.cg-row.bad{background:rgba(220,38,38,.07)}.cg-row.ok{color:var(--t2)}
.cg-ic{font-weight:800;width:18px;text-align:center}.cg-row.bad .cg-ic{color:#DC2626}.cg-row.ok .cg-ic{color:#16A34A}
.cg-t{flex:1 1 220px;min-width:0}.cg-b{display:flex;gap:6px}
.cg-n{font-size:11.5px;color:#7F1D1D;padding:6px 14px 12px}
.er-bad{outline:2px solid #DC2626 !important;outline-offset:1px;background:#FEF2F2 !important;border-radius:var(--r2)}
.er-need{width:100%;background:#FEE2E2;color:#991B1B;border-radius:8px;padding:7px 10px;font-size:12.5px;margin-bottom:4px}

/* Номер клиента у водителя: вместо цифр — размытая заглушка (настоящих цифр в браузере нет) */
.ph-blur{filter:blur(4px);user-select:none;-webkit-user-select:none;pointer-events:none;color:var(--t2);font-weight:500;letter-spacing:.5px}
