:root{
  --ink:#16352A; --ink2:#224B3B; --bg:#F1F3EE; --card:#fff; --line:#DCE3D7;
  --text:#1A2A22; --mute:#65756B; --acc:#3F8F55; --acc-soft:#E2F0E3;
  --sun:#E0A23A; --sun-soft:#FBF0DA; --cell:#2E6E9E; --blue-soft:#E3EEF7;
  --in:#2F8A4E; --in-soft:#E0F2E6; --out:#C2432C; --out-soft:#FBE4DE; --warn:#9A5F00; --tg:#229ED9;
  --r:14px; --rail:232px;
}
*{box-sizing:border-box;margin:0}
html{-webkit-text-size-adjust:100%}
body{font-family:Onest,system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.45;overflow-x:hidden}
h1,h2,h3,.num{font-family:Geologica,Onest,sans-serif;letter-spacing:-.01em}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
input,select,textarea{font:inherit;color:inherit}
svg.i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
:focus-visible{outline:2px solid var(--sun);outline-offset:2px}
[hidden]{display:none!important}

.app{display:grid;grid-template-columns:var(--rail) minmax(0,1fr);min-height:100vh}
.rail{background:var(--ink);color:#C8D9CE;position:sticky;top:0;height:100vh;padding:22px 14px;display:flex;flex-direction:column;gap:4px}
.logo{display:flex;align-items:center;gap:10px;padding:0 8px 22px;color:#fff}
.logo .lg{width:38px;height:38px;border-radius:10px;background:#FCF6EA;display:grid;place-items:center;overflow:hidden}.logo .lg img{width:100%;height:100%;object-fit:contain}
.logo b{font:600 18px Geologica;display:block}
.logo small{display:block;font-size:11px;color:#8FB09C;margin-top:-2px}
.nav{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;width:100%;text-align:left;position:relative;color:#C8D9CE;transition:background .15s}
.nav:hover{background:rgba(255,255,255,.07)}
.nav[aria-current=page]{background:rgba(255,255,255,.11);color:#fff}
.nav[aria-current=page]::before{content:"";position:absolute;left:-14px;top:9px;bottom:9px;width:4px;border-radius:0 4px 4px 0;background:var(--sun)}
.nav .badge{margin-left:auto;background:var(--sun);color:#3a2600;font-weight:600;font-size:11px;padding:1px 7px;border-radius:99px}
.nav.ai{margin-top:12px;color:#F4D9A6;border:1px solid rgba(224,162,58,.45);background:rgba(224,162,58,.12)}
.nav.ai:hover{background:rgba(224,162,58,.22)}
.me{margin-top:auto;display:flex;gap:10px;align-items:center;padding:10px;border-radius:12px;background:rgba(255,255,255,.06)}
.me small{display:block;color:#8FB09C;font-size:12px}
.av{width:34px;height:34px;border-radius:50%;background:#2F6047;color:#fff;display:grid;place-items:center;font:600 12px Geologica;flex:none}
.av.sm{width:26px;height:26px;font-size:10.5px}

main{padding:24px 30px 60px;min-width:0;max-width:1760px;width:100%;margin:0 auto}
.top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.top h1{font-size:24px;font-weight:600}
.top .date{color:var(--mute);margin-top:2px}
.sp{flex:1}
.as{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:3px 3px 3px 12px}
.as-l{font-size:12.5px;color:var(--mute);white-space:nowrap}
.as .fsel{border:0;background-color:transparent;padding:6px 30px 6px 6px;font-weight:500;width:auto}
.ibtn{position:relative;width:40px;height:40px;border-radius:10px;background:#fff;border:1px solid var(--line);display:grid;place-items:center}
.ibtn:hover{border-color:var(--acc)}
.dotn{position:absolute;top:7px;right:8px;width:9px;height:9px;border-radius:50%;background:var(--out);border:2px solid #fff}

.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:10px;background:var(--ink);color:#fff;font-weight:500;white-space:nowrap}
.btn:hover{background:var(--ink2)}
.btn.acc{background:var(--acc)}
.btn.acc:hover{background:#357a48}
.btn.ghost{background:#fff;color:var(--text);border:1px solid var(--line)}
.btn.ghost:hover{background:#F6F8F4}
.btn.sm{padding:5px 11px;font-size:13px;border-radius:8px}
.btn.sm svg.i{width:16px;height:16px}
.btn.danger{background:#fff;color:var(--out);border:1px solid #efc3b9}
.btn:disabled{opacity:.5;cursor:default}

.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.card h2{font-size:15px;font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.card h2 small{font:400 12.5px Onest;color:var(--mute);margin-left:auto}
.grid{display:grid;gap:16px}
.grid>*{min-width:0}
.g4{grid-template-columns:repeat(4,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g6{grid-template-columns:repeat(6,1fr)}
.g21{grid-template-columns:2fr 1fr}
.g12{grid-template-columns:1fr 2fr}
.g11{grid-template-columns:1fr 1fr}
.mt{margin-top:16px}
.view{display:none}
.view.on{display:block;animation:in .22s ease}
@keyframes in{from{opacity:0;transform:translateY(4px)}}

.kpi .lbl{color:var(--mute);font-size:13px}
.kpi .v{font:600 25px Geologica;margin-top:6px;letter-spacing:-.02em;white-space:nowrap}
.kpi .sub{font-size:12.5px;color:var(--mute);margin-top:3px}
.in{color:var(--in)} .out{color:var(--out)} .mute{color:var(--mute)}

.tb{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.sinput{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:0 12px;flex:1;min-width:200px;max-width:380px;color:var(--mute)}
.sinput:focus-within{border-color:var(--acc)}
.sinput input{border:0;outline:0;background:none;color:var(--text);padding:9px 0;width:100%;min-width:0}
.fsel,.fi{color:var(--text);background:#F6F8F4;border:1px solid var(--line);border-radius:9px;padding:8px 10px;width:100%}
.fi:focus,.fsel:focus{outline:0;border-color:var(--acc);box-shadow:0 0 0 3px rgba(63,143,85,.15)}
.fsel{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%2365756B' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;padding-right:30px}
textarea.fi{resize:vertical;min-height:70px}
.fl{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--mute)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.seg{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:10px;padding:3px;gap:2px;flex-wrap:wrap}
.seg button{padding:6px 13px;border-radius:7px;font-size:13px;color:var(--mute)}
.seg button[aria-pressed=true]{background:var(--ink);color:#fff}
.empty{color:var(--mute);padding:22px 6px;text-align:center}

.chip{display:inline-block;font-size:12px;font-weight:500;padding:2px 9px;border-radius:99px;white-space:nowrap;background:#EEF1EC;color:var(--mute)}
.chip.good{background:var(--in-soft);color:var(--in)}
.chip.warn{background:var(--sun-soft);color:var(--warn)}
.chip.bad{background:var(--out-soft);color:var(--out)}
.chip.info{background:var(--blue-soft);color:var(--cell)}
.stg{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--c)}
.stg::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c)}

/* tables */
.tbl{width:100%;border-collapse:collapse}
.tbl th{text-align:left;font-weight:500;color:var(--mute);font-size:12.5px;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:11px 10px;border-bottom:1px solid #EDF1EA;vertical-align:middle}
.tbl tr.rowlink{cursor:pointer}
.tbl tr.rowlink:hover td{background:#F7F9F5}
.tbl .r{text-align:right;white-space:nowrap}
.tblw{overflow-x:auto}
.cname{display:flex;align-items:center;gap:10px}
.cname b{font-weight:500;display:block}
.cname small{color:var(--mute);font-size:12px}

/* lists */
.li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #EDF1EA}
.li:last-child{border-bottom:0}
.li .t{flex:1;min-width:0}
.li .t b{font-weight:500;display:block}
.li .t small{color:var(--mute);font-size:12.5px}
.li.click{cursor:pointer;border-radius:8px}
.li.click:hover{background:#F7F9F5}
.time{font:600 13px Geologica;min-width:46px}
.bar{width:4px;align-self:stretch;border-radius:4px;background:var(--c,var(--acc))}

/* visit kinds */
.k-cons{--c:#2E6E9E} .k-inst{--c:#3F8F55} .k-care{--c:#8A6A1F} .k-rep{--c:#B5562F}

/* drawers & modals */
#scrim{position:fixed;inset:0;background:rgba(18,35,27,.38);z-index:40;opacity:0;pointer-events:none;transition:opacity .2s}
#scrim.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:#fff;z-index:50;transform:translateX(105%);visibility:hidden;transition:transform .25s ease,visibility 0s .25s;display:flex;flex-direction:column;box-shadow:-20px 0 40px -20px rgba(18,35,27,.3)}
.drawer.wide{width:min(760px,100%)}
.drawer.on{transform:none;visibility:visible;transition:transform .25s ease}
.drawer header{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.drawer header h2{font-size:16px;margin:0;font-weight:600}
.drawer header small{display:block;color:var(--mute);font-weight:400;font-family:Onest;font-size:12.5px}
.x{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:var(--mute);margin-left:auto;flex:none}
.x:hover{background:#F0F3EE}
.dbody{padding:16px 18px;overflow-y:auto;flex:1}
.dfoot{padding:12px 18px;border-top:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap}
.tabs{display:flex;gap:4px;padding:0 18px;border-bottom:1px solid var(--line);overflow-x:auto}
.tabs button{padding:11px 12px;color:var(--mute);border-bottom:2px solid transparent;white-space:nowrap;font-weight:500}
.tabs button[aria-selected=true]{color:var(--text);border-color:var(--acc)}
.sec{margin-bottom:18px}
.sec h3{font-size:13px;color:var(--mute);font-weight:500;font-family:Onest;margin-bottom:8px;text-transform:none}
.kv{display:grid;grid-template-columns:130px 1fr;gap:8px 12px;font-size:13.5px}
.kv dt{color:var(--mute)}
.kv dd{margin:0;min-width:0;word-break:break-word}
.kv a{color:var(--cell);text-decoration:none}
.box{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#FAFBF8}
.box.next{border-color:#BFDCC6;background:var(--acc-soft)}
.map{height:200px;border-radius:12px;border:1px solid var(--line);background:#E7ECE3;overflow:hidden;position:relative;z-index:0;isolation:isolate}   /* слої Leaflet (z-index 400+) не вилазять поверх шухляд */
.map.big{height:420px}
.mapfb{display:grid;place-items:center;height:100%;color:var(--mute);font-size:13px;text-align:center;padding:12px}
.tl{position:relative;padding-left:18px}
.tl::before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:var(--line)}
.tl .ti{position:relative;padding:0 0 14px}
.tl .ti::before{content:"";position:absolute;left:-17px;top:5px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--c,var(--acc))}
.tl .ti b{font-weight:500}
.tl .ti small{display:block;color:var(--mute);font-size:12.5px}
.files{display:flex;gap:8px;flex-wrap:wrap}
.file{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:7px 10px;font-size:12.5px;background:#fff}
.file svg{color:var(--mute);width:18px;height:18px}
.ppl{display:flex;gap:6px;flex-wrap:wrap}
.pp{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:99px;padding:3px 10px 3px 3px;font-size:12.5px;background:#fff}
.modal{position:fixed;inset:0;z-index:70;background:rgba(18,35,27,.42);display:grid;place-items:center;padding:16px}
.mbox{background:#fff;border-radius:16px;width:min(440px,100%);padding:20px;box-shadow:0 30px 60px -20px rgba(18,35,27,.5);max-height:92vh;overflow:auto}
.mbox h3{font-size:17px;margin-bottom:4px}
.mbox p.sub{color:var(--mute);margin-bottom:14px}
.mbox .acts{display:flex;gap:8px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap}
.times{display:flex;gap:6px;flex-wrap:wrap}
.times button{padding:7px 11px;border-radius:9px;border:1px solid var(--line);font-size:13px;background:#fff}
.times button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.chk{display:flex;align-items:center;gap:8px;font-size:13.5px;cursor:pointer}
.chk input{width:16px;height:16px;accent-color:var(--acc)}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,40px);opacity:0;background:var(--ink);color:#fff;padding:10px 16px;border-radius:12px;z-index:99;display:flex;gap:8px;align-items:center;transition:all .25s;pointer-events:none;max-width:92vw}
.toast.on{transform:translate(-50%,0);opacity:1}
.toast svg{color:var(--sun)}

/* notifications */
.ntf{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid #EDF1EA}
.ntf .ic{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex:none;background:#EEF1EC;color:var(--mute)}
.ntf .ic.tg{background:#DFF1FA;color:var(--tg)}
.ntf .ic svg{width:17px;height:17px}
.ntf b{font-weight:500}
.ntf small{display:block;color:var(--mute);font-size:12px;margin-top:2px}
.ntf.fresh{background:linear-gradient(90deg,var(--sun-soft),transparent 70%)}
.tgnote{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--mute);background:#F2F8FB;border:1px solid #D6EAF3;border-radius:10px;padding:8px 10px}
.tgnote svg{color:var(--tg);width:17px;height:17px}

/* calendar */
.calw{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.calg{display:grid;grid-template-columns:150px repeat(7,minmax(118px,1fr));min-width:980px}
.calg .hd{padding:10px;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--mute);background:#FAFBF8}
.calg .hd b{display:block;color:var(--text);font:600 14px Geologica}
.calg .hd.today{background:var(--acc-soft)}
.calg .hd.today b{color:var(--acc)}
.calg .bn{padding:12px 10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px}
.calg .bn b{display:block;font-weight:600}
.calg .bn small{color:var(--mute);font-size:12px}
.cell{border-bottom:1px solid var(--line);border-left:1px solid #EDF1EA;padding:6px;min-height:150px;display:flex;flex-direction:column;gap:6px;transition:background .12s}
.cell.today{background:#F8FBF6}
.cell.over{background:var(--sun-soft);outline:2px dashed var(--sun);outline-offset:-3px}
.cell .wx{font-size:11px;color:var(--mute);display:flex;align-items:center;gap:4px}
.cell .wx svg{width:14px;height:14px}
.cell .wx.bad{color:var(--cell)}
.vb{border-radius:9px;padding:7px 8px 7px 10px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--c);font-size:12.5px;cursor:grab;box-shadow:0 2px 6px -4px rgba(18,35,27,.35);text-align:left;width:100%}
.vb:active{cursor:grabbing}
.vb b{display:block;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vb small{color:var(--mute);font-size:11.5px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vb .tm{font:600 12px Geologica;color:var(--c)}
.vb.drag{opacity:.4}
.vb.moved{animation:moved 1.6s ease}
@keyframes moved{0%{box-shadow:0 0 0 4px rgba(224,162,58,.6)}100%{box-shadow:0 2px 6px -4px rgba(18,35,27,.35)}}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--mute)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{width:10px;height:10px;border-radius:3px;background:var(--c)}

/* day & month */
.dayg{min-width:900px}
.dh{display:grid;grid-template-columns:150px 1fr;border-bottom:1px solid var(--line);background:#FAFBF8}
.dticks{display:flex;font-size:11.5px;color:var(--mute)}
.dticks span{flex:1;padding:8px 0 8px 4px;border-left:1px solid #EDF1EA}
.dr{display:grid;grid-template-columns:150px 1fr;border-bottom:1px solid var(--line)}
.dr .bn{border-bottom:0;display:flex;flex-direction:column;gap:3px}
.dlane{position:relative;background:repeating-linear-gradient(90deg,transparent 0 calc(100%/13 - 1px),#EDF1EA calc(100%/13 - 1px) calc(100%/13))}
.dlane.over{background-color:var(--sun-soft);outline:2px dashed var(--sun);outline-offset:-3px}
.vb.db{position:absolute;height:56px;overflow:hidden}
.dnow{position:absolute;top:0;bottom:0;width:2px;background:var(--sun);z-index:2}
.mong{display:grid;grid-template-columns:repeat(7,minmax(96px,1fr));min-width:700px}
.mh{padding:8px 10px;font-size:12.5px;color:var(--mute);background:#FAFBF8;border-bottom:1px solid var(--line)}
.mc{min-height:112px;border-bottom:1px solid #EDF1EA;border-left:1px solid #EDF1EA;padding:5px;display:flex;flex-direction:column;gap:3px;position:relative}
.mc.oth{background:#FAFBF8}
.mc.oth .mday{color:#A9B3AC}
.mc.today{background:var(--acc-soft)}
.mc.over{background:var(--sun-soft);outline:2px dashed var(--sun);outline-offset:-3px}
.mc .wx{position:absolute;top:6px;right:6px}
.mday{align-self:flex-start;font:600 13px Geologica;width:26px;height:26px;border-radius:50%;display:grid;place-items:center}
.mday:hover{background:#EEF1EC}
.mc.today .mday{background:var(--acc);color:#fff}
.mv{text-align:left;font-size:12px;padding:3px 6px;border-radius:6px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--c);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:grab}
.mv b{font:600 11.5px Geologica}
.mv.drag{opacity:.4}
.mmore{font-size:11.5px;color:var(--cell);text-align:left;padding:0 6px}

/* team */
.bcard .mem{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #EDF1EA}
.bcard .mem:last-child{border-bottom:0}
.bgrid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}
@media (max-width:520px){.bgrid{grid-template-columns:1fr}}
.bcard{transition:box-shadow .12s,background .12s}
.bcard.over{background:var(--sun-soft);box-shadow:0 0 0 2px var(--sun)}
.mem[draggable=true]{cursor:grab;border-radius:10px}
.mem[draggable=true]:hover{background:#F7F9F5}
.mem.drag{opacity:.4}
.mem .mvbtn{width:30px;height:30px;margin-left:0;opacity:.55}
.mem:hover .mvbtn{opacity:1}
.mem .chip{vertical-align:1px;margin-left:4px}
.dropnote{border:1.5px dashed #C9D4C5;border-radius:10px;padding:14px;text-align:center;color:var(--mute);font-size:13px;margin-top:8px}
.bcard .mem .t{flex:1}
.bcard .mem .t small{display:block;color:var(--mute);font-size:12px}

/* charts */
.chart svg{width:100%;height:auto;display:block}
.pr{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500}
.pr i{width:8px;height:8px;border-radius:2px;background:var(--c)}
.p-hi{--c:var(--out)} .p-mid{--c:var(--sun)} .p-lo{--c:#9AA79F}

/* finance charts */
.chh{display:flex;align-items:flex-end;gap:12px;margin-bottom:6px;flex-wrap:wrap}
.chh .lbl{font-size:13px}
.legend i{display:inline-block}
.trend{position:relative}
.trend svg{width:100%;height:auto;display:block;overflow:visible}
.ttip{position:absolute;pointer-events:none;background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 11px;font-size:12.5px;min-width:170px;box-shadow:0 12px 28px -14px rgba(18,35,27,.45)}
.ttip b{display:block;font:600 13px Geologica;margin-bottom:5px}
.ttip div{display:flex;align-items:center;gap:6px;margin-top:2px}
.ttip div i{width:8px;height:8px;border-radius:50%}
.ttip div span{margin-left:auto;font-weight:500}
.ttip .pf{border-top:1px solid #EDF1EA;margin-top:6px;padding-top:6px;color:var(--mute)}
.ttip .pf span{color:var(--text)}
.donut{display:flex;flex-direction:column;align-items:center;gap:14px}
.dlist{width:100%}
.dlist div{display:grid;grid-template-columns:10px 1fr auto 38px;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid #EDF1EA;font-size:13px}
.dlist div:last-child{border-bottom:0}
.dlist i{width:10px;height:10px;border-radius:3px}
.dlist b{font-weight:500}
.dlist small{color:var(--mute);text-align:right}

/* documents */
.dl{display:grid;grid-template-columns:1fr 46px 70px 96px 100px 34px;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid #EDF1EA;font-size:13px}
.dl.hd{color:var(--mute);font-size:12px;border-bottom:1px solid var(--line)}
.dl.off{opacity:.45}
.dl.off .nm{text-decoration:line-through}
.dl input.fi{padding:5px 7px;background:#fff}
.dl .r{text-align:right}
.grp{margin-top:12px}
.grp-h{display:flex;align-items:center;gap:8px;background:#F6F8F4;border-radius:9px;padding:8px 10px;font-weight:500}
.grp-h small{color:var(--mute);font-weight:400}
.tot{display:flex;justify-content:flex-end;gap:24px;margin-top:14px;font-size:14px}
.tot b{font:600 20px Geologica}
.svcs{display:flex;gap:6px;flex-wrap:wrap}
.svcs button{border:1px dashed #B9C7B4;border-radius:99px;padding:6px 12px;font-size:12.5px;background:#fff}
.svcs button:hover{border-color:var(--acc);color:var(--acc)}
.paper{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px}

/* chat */
.chat{flex:1;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.msg{max-width:88%;padding:10px 13px;border-radius:14px;font-size:13.5px;white-space:pre-wrap}
.msg.u{align-self:flex-end;background:var(--ink);color:#fff;border-bottom-right-radius:4px}
.msg.a{align-self:flex-start;background:#F2F5F0;border-bottom-left-radius:4px}
.msg.md{white-space:normal;line-height:1.45}
.msg.md p{margin:0 0 7px}
.msg.md>:last-child{margin-bottom:0}
.msg.md ul,.msg.md ol{margin:0 0 8px;padding:0;list-style:none}
.msg.md ol{counter-reset:n}
.msg.md li{position:relative;padding:6px 0 6px 18px;border-top:1px solid rgba(22,53,42,.08)}
.msg.md li:first-child{border-top:0}
.msg.md ul>li::before{content:"";position:absolute;left:3px;top:13px;width:6px;height:6px;border-radius:50%;background:var(--acc,#3F8F55)}
.msg.md ol>li{counter-increment:n}
.msg.md ol>li::before{content:counter(n)".";position:absolute;left:0;top:6px;font-weight:600;color:var(--acc,#3F8F55)}
.msg.md b{font-weight:600;color:var(--ink,#16352A)}
.msg.md blockquote{margin:3px 0 12px;padding:7px 11px;background:#fff;border-left:3px solid var(--acc,#3F8F55);border-radius:0 10px 10px 0;font-size:13px;color:#33493f}
.msg.md p+blockquote{margin-top:-3px}
.msg.md details.more{margin:0 0 10px;background:#fff;border-radius:10px;border:1px solid rgba(22,53,42,.1)}
.msg.md details.more>summary{cursor:pointer;padding:9px 12px;font-weight:600;font-size:13px;color:var(--ink,#16352A);list-style:none;display:flex;justify-content:space-between;gap:8px}
.msg.md details.more>summary::-webkit-details-marker{display:none}
.msg.md details.more>summary::after{content:"▾";color:var(--acc,#3F8F55);transition:transform .2s}
.msg.md details.more[open]>summary::after{transform:rotate(180deg)}
.msg.md details.more>*:not(summary){margin-left:12px;margin-right:12px}
.msg.md details.more>:last-child{margin-bottom:10px}
.msg.md .mh{font-weight:600;font-size:14px;margin:0 0 6px;color:var(--ink,#16352A)}
.msg.md code{background:rgba(22,53,42,.08);padding:1px 5px;border-radius:5px;font-size:12.5px}
.plan{border:1px solid #BFDCC6;background:var(--acc-soft);border-radius:12px;padding:12px;white-space:normal}
.plan b{display:block;margin-bottom:6px}
.plan ul{padding-left:18px;margin:4px 0 10px}
.chips{display:flex;gap:6px;flex-wrap:wrap;padding:0 18px 10px}
.chips button{background:#fff;border:1px solid var(--line);border-radius:99px;padding:6px 12px;font-size:12.5px}
.chips button:hover{border-color:var(--acc);color:var(--acc)}
.cin{display:flex;gap:8px;padding:12px 18px;border-top:1px solid var(--line)}
.cin input{flex:1}

/* worker */
.bigbtns{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.bigbtns button{border:1px solid var(--line);border-radius:14px;background:#fff;padding:16px 10px;display:flex;flex-direction:column;align-items:center;gap:8px;font-weight:500}
.bigbtns button:hover{border-color:var(--acc)}
.bigbtns .em{font-size:24px}

.tabbar{display:none}

@media (max-width:1100px){ .g4,.g6{grid-template-columns:repeat(2,1fr)} .g21,.g12{grid-template-columns:1fr} }
@media (max-width:900px){
  .app{grid-template-columns:1fr}
  .rail{display:none}
  main{padding:16px 16px 140px}
  .top h1{font-size:20px}
  .top{gap:8px}
  .as-l{display:none}
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:#fff;border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
  .tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:var(--mute);padding:4px 0}
  .tabbar button[aria-current=page]{color:var(--acc)}
  .g3,.g11{grid-template-columns:1fr}
  .kv{grid-template-columns:110px 1fr}
  .frow{grid-template-columns:1fr}
  .bigbtns{gap:8px}
  .bigbtns button{padding:12px 4px;font-size:12.5px}
  /* рядок кошторису на телефоні: назва зверху, під нею кількість, ціна, сума */
  .dl{grid-template-columns:58px 34px 1fr 1fr 30px;row-gap:6px;padding:10px 0}
  .dl>span:first-child{grid-column:1/-1}
  .dl.hd{display:none}
  .grp-h{flex-wrap:wrap}
  .hide-m{display:none}
}
@media (max-width:520px){ .g4,.g6{grid-template-columns:1fr 1fr} .kpi .v{font-size:20px} .card{padding:14px} }
@media print{
  .rail,.top,.tabbar,#fbui,.noprint,.drawer,#scrim{display:none!important}
  main{padding:0} body{background:#fff} .paper{border:0;padding:0}
}

/* paper documents */
.paper{max-width:860px;margin:0 auto;font-size:13.5px;line-height:1.55;color:#1A2A22}
.ph{display:flex;gap:16px;align-items:flex-start;border-bottom:2px solid var(--ink);padding-bottom:12px;margin-bottom:16px}
.ph h2{font-size:20px;line-height:1.25}
.ph .mute{margin-top:3px}
.pbrand{margin-left:auto;text-align:right;flex:none}
.pbrand b{display:block;font:600 15px Geologica;color:var(--acc)}
.pbrand small{color:var(--mute)}
.parties{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:14px 0;font-size:12.5px;color:#3B4A41}
.parties>div{background:#F6F8F4;border-radius:10px;padding:10px 12px}
.parties small{display:block;color:var(--mute);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px;margin-bottom:3px}
.parties b{display:block;color:var(--text);font-size:13.5px}
.ptx{margin:8px 0}
.paper h4{font:600 14px Geologica;margin:16px 0 4px}
.ptbl{width:100%;border-collapse:collapse;margin:12px 0;font-size:13px}
.ptbl th{text-align:left;font-weight:500;color:var(--mute);font-size:12px;border-bottom:1.5px solid var(--text);padding:6px 8px}
.ptbl td{border-bottom:1px solid #E3E9DF;padding:7px 8px;vertical-align:top}
.ptbl .r{text-align:right;white-space:nowrap}
.ptbl tr.pg td{background:#F2F6EF;font-weight:600}
.ptot{margin-left:auto;width:min(320px,100%);margin-top:6px}
.ptot>div{display:flex;justify-content:space-between;padding:4px 0}
.ptot .big{border-top:1.5px solid var(--text);margin-top:4px;padding-top:8px;font-size:15px}
.ptot .big b{font:600 18px Geologica}
.pay{margin-top:16px;border:1px dashed #B9C7B4;border-radius:10px;padding:12px 14px;font-size:12.5px;line-height:1.6}
.pay b{display:block;margin-bottom:4px;font-size:13.5px}
.sigs{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:36px;font-size:12.5px}
.sigs small{display:block;color:var(--mute)}
.sigs .sl{border-bottom:1px solid var(--text);height:34px;margin-bottom:4px}
@media (max-width:640px){ .parties,.sigs{grid-template-columns:1fr} .ph{flex-wrap:wrap} .pbrand{margin-left:0;text-align:left} .paper{padding:14px;font-size:13px} .ptbl{font-size:12px} .ptbl th,.ptbl td{padding:6px 3px} }

/* плаваюча кнопка помічника */
.aifab{position:fixed;right:22px;bottom:22px;z-index:91;display:flex;align-items:center;gap:9px;padding:0 18px 0 6px;height:52px;border-radius:99px;background:var(--ink);color:#fff;font-weight:500;box-shadow:0 14px 30px -12px rgba(18,35,27,.65);transition:transform .15s,background .15s}
.aifab:hover{background:var(--ink2);transform:translateY(-2px)}
.aifab .ring{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(140deg,#E8B456,#C98A22);color:#3a2600;will-change:transform;backface-visibility:hidden}
.aifab .ring svg{width:22px;height:22px}
body.drw .aifab{opacity:0;pointer-events:none}
@media (max-width:900px){ .aifab{right:12px;bottom:76px;height:46px;padding:0 4px} .aifab .ring{width:38px;height:38px} .aifab span:last-child{display:none} }
@media print{ .aifab{display:none!important} }

/* свої контроли: список, дата, галочка */
.usel{text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;min-height:38px}
.as .usel{min-height:0}
.usel:hover,.udate:hover{border-color:#B9C7B4}
.usel:focus-visible,.udate:focus-visible{outline:0;border-color:var(--acc);box-shadow:0 0 0 3px rgba(63,143,85,.15)}
.udate{display:flex;align-items:center;gap:8px;text-align:left;cursor:pointer;min-height:38px;white-space:nowrap}
.udate svg{width:17px;height:17px;color:var(--mute)}
.upop{position:fixed;z-index:120;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px -16px rgba(18,35,27,.45);padding:5px;animation:upop .12s ease}
@keyframes upop{from{opacity:0;transform:translateY(-4px)}}
.ulist{max-height:300px;overflow:auto;max-width:min(420px,94vw)}
.ulist button{display:block;width:100%;text-align:left;padding:8px 30px 8px 10px;border-radius:8px;font-size:13.5px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ulist button:hover{background:#F2F5F0}
.ulist button[aria-selected=true]{background:var(--acc-soft);color:var(--ink);font-weight:500}
.ulist button[aria-selected=true]::after{content:"";position:absolute;right:10px;top:50%;width:12px;height:12px;transform:translateY(-50%);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233F8F55' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat}
.ugrp{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--mute);padding:8px 10px 3px}
.ucal{width:284px;padding:10px}
.uch{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.uch b{font:600 14px Geologica}
.uch button{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--mute)}
.uch button:hover{background:#F2F5F0}
.uch svg{width:16px;height:16px}
.ucg{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.ucg span{font-size:11px;color:var(--mute);padding:4px 0}
.ucg button{height:34px;border-radius:9px;font-size:13px}
.ucg button:hover{background:#F2F5F0}
.ucg button.oth{color:#A9B3AC}
.ucg button.tdy{box-shadow:inset 0 0 0 1.5px var(--acc);color:var(--acc);font-weight:600}
.ucg button[aria-selected=true]{background:var(--acc);color:#fff;box-shadow:none}
.ucf{border-top:1px solid #EDF1EA;margin-top:8px;padding-top:8px;text-align:right}
.ucf button{font-size:13px;color:var(--acc);font-weight:500;padding:4px 8px;border-radius:7px}
.ucf button:hover{background:var(--acc-soft)}
input[type=checkbox]{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;border:1.5px solid #B9C7B4;border-radius:5px;background:#fff;cursor:pointer;flex:none;display:inline-grid;place-content:center;transition:background .12s,border-color .12s;vertical-align:middle}
input[type=checkbox]:hover{border-color:var(--acc)}
input[type=checkbox]:checked{background:var(--acc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat;border-color:var(--acc)}
input[type=checkbox]:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(63,143,85,.2)}
.chk input{width:18px;height:18px}

/* клікабельні плитки, сповіщення, «Мої виїзди» */
.kpi[data-kpi]{cursor:pointer;position:relative;transition:border-color .12s,box-shadow .12s}
.kpi[data-kpi]::after{content:"";position:absolute;right:14px;top:16px;width:16px;height:16px;opacity:.35;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316352A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;transition:opacity .12s,transform .12s}
.kpi[data-kpi]:hover{border-color:#B9C7B4;box-shadow:0 8px 22px -16px rgba(18,35,27,.45)}
.kpi[data-kpi]:hover::after{opacity:.8;transform:translateX(2px)}
button.ntf{width:100%;text-align:left;align-items:center;border-radius:10px;padding-left:6px;padding-right:6px}
.ntf.click{cursor:pointer}
.ntf.click:hover{background:#F7F9F5}
.ntf .t{flex:1;min-width:0}
.ntf>svg.i{width:16px;height:16px;color:var(--mute);flex:none}
.mycard h2 svg.i{width:18px;height:18px;color:var(--acc)}
.chip svg.i{width:12px;height:12px;vertical-align:-1px;margin-right:3px}

/* картка клієнта: заголовок блоку з кнопкою, форма редагування */
.sech{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.sech h3{margin:0}
.cform{border:1px solid var(--line);border-radius:12px;padding:14px;background:#FAFBF8}

/* доопрацювання: списки в модалках, тривалість, каталог */
.plist{max-height:min(52vh,420px);overflow:auto;margin:0 -4px 4px}
.prow{display:flex;align-items:center;gap:10px;padding:8px 6px;border-bottom:1px solid #EDF1EA;width:100%;cursor:pointer}
.prow .t{flex:1;min-width:0}
.prow .t small{display:block;color:var(--mute);font-size:12px}
.prow.off{opacity:.55;cursor:default}
.linkb{display:inline-flex;align-items:center;gap:4px;color:var(--cell);font-weight:500}
.linkb svg.i{width:14px;height:14px}
.dl.cat{grid-template-columns:1fr 60px 88px 88px 70px 34px}
.dl.cat .fi{padding:5px 7px;background:#fff}
@media (max-width:900px){ .dl.cat{grid-template-columns:54px 1fr 1fr 62px 30px} .dl.cat>:first-child{grid-column:1/-1} .dl.cat.hd{display:none} .dl.wc{grid-template-columns:50px 30px 1fr 1fr 1fr 28px} }

/* замовлення, етапи, гроші по замовленню */
.pipe{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:10px}
.pst{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:92px;padding:8px 12px;border-radius:12px;background:#fff;border:1px solid var(--line);text-align:left;flex:none}
.pst b{font:600 18px Geologica}
.pst span{font-size:12px;color:var(--mute)}
.pst[aria-pressed=true]{background:var(--ink);border-color:var(--ink)}
.pst[aria-pressed=true] b,.pst[aria-pressed=true] span{color:#fff}
.steps{display:flex;gap:6px}
.stp{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 2px;border-radius:12px;border:1px solid var(--line);background:#fff;font-size:11.5px;color:var(--mute);min-width:0}
.stp i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#EEF1EC;font:600 11px Geologica;font-style:normal}
.stp.done i{background:var(--acc);color:#fff}
.stp.cur{border-color:var(--acc);background:var(--acc-soft);color:var(--ink);font-weight:500}
.stp.cur i{background:var(--ink);color:#fff}
.stp:disabled{cursor:default}
.stp span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.pbar{height:7px;border-radius:4px;background:#EEF1EC;overflow:hidden;margin:-4px 0 12px}
.pbar i{display:block;height:100%;background:var(--acc);border-radius:4px}
.margin{display:flex;gap:22px;flex-wrap:wrap;background:#F6F8F4;border-radius:12px;padding:10px 14px}
.margin small{display:block}
.margin b{font:600 15px Geologica}
.cnt{background:var(--sun);color:#3a2600;font-weight:600;font-size:11px;padding:0 6px;border-radius:99px;font-style:normal;margin-left:4px}
.dl.wc{grid-template-columns:1fr 46px 56px 86px 86px 96px 34px}
.seg button .cnt{vertical-align:1px}

@media (max-width:900px){ .dl.wc{grid-template-columns:50px 30px 1fr 1fr 1fr 28px} .dl.cat{grid-template-columns:54px 1fr 1fr 62px 30px} .pipe{margin-right:-4px} }

/* бригадир у полі: великі кнопки, паспорт, фото */
.act4{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.btn.big{min-height:48px;justify-content:center;font-size:15px;text-decoration:none}
a.btn{text-decoration:none}
.chips2{display:flex;gap:6px;flex-wrap:wrap}
.chips2 .chip{white-space:normal;line-height:1.35}
.hero{border-color:#BFDCC6;box-shadow:0 14px 30px -22px rgba(18,35,27,.5)}
.hero .hh{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.absrow{display:flex;gap:8px;flex-wrap:wrap}
.absrow .btn{flex:1;min-height:44px;justify-content:center}
.phgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.phgrid.big{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.phi{position:relative;border-radius:10px;overflow:hidden;background:#EEF1EC;aspect-ratio:4/3;text-align:left;display:block;border:1px solid var(--line)}
.phi img{width:100%;height:100%;object-fit:cover;display:block}
.phi small{position:absolute;left:0;right:0;bottom:0;padding:14px 8px 6px;color:#fff;font-size:11.5px;background:linear-gradient(transparent,rgba(0,0,0,.6));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.phtag{position:absolute;top:6px;left:6px;background:rgba(18,35,27,.75);color:#fff;border-radius:99px;padding:1px 8px;font-size:11px}
.phtag.hidden{background:#8A6A1F}.phtag.after{background:#2F8A4E}.phtag.issue{background:#C2432C}
.chk.prow.dn .t{text-decoration:line-through;color:var(--mute)}
@media (max-width:900px){ .hero .act4{grid-template-columns:1fr 1fr} .phgrid{grid-template-columns:repeat(3,1fr)} }

/* рутина директора */
.qrow{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.card.att{margin-bottom:12px}
.li.att-bad .dot-s,.li.att-warn .dot-s,.li.att-info .dot-s{width:9px;height:9px;border-radius:50%;flex:none;display:inline-block;margin-right:2px}
.li.att-bad .dot-s{background:#C2432C}.li.att-warn .dot-s{background:#C9791A}.li.att-info .dot-s{background:#1F5FA8}
.li.att-bad,.li.att-warn,.li.att-info{gap:10px}
@media (max-width:900px){ .qrow .btn{flex:1;justify-content:center} }

/* плаваюча панель коментарів не закриває останні поля */
.dbody{padding-bottom:86px}
.dfoot~*{}

.atth{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:8px;width:100%;cursor:pointer;font-size:15px}
.atth:focus-visible{outline:2px solid var(--sun);outline-offset:4px;border-radius:6px}
.attc{min-width:24px;padding:1px 8px;border-radius:99px;color:#fff;font:600 12.5px Geologica,sans-serif;text-align:center}
.attc.bad{background:#C2432C}.attc.warn{background:#C9791A}.attc.info{background:#1F5FA8}
.atth .chv{display:inline-flex;transition:transform .2s}.card.att.open .chv{transform:rotate(90deg)}
.attb{margin-top:10px}

/* картки як сторінки */
.drawer.page,.drawer.page.wide{left:var(--rail);width:auto;max-width:none;transform:none;opacity:0;box-shadow:none;transition:opacity .15s ease,visibility 0s .15s}
.drawer.page.on{opacity:1;transition:opacity .15s ease}
.drawer.page header,.drawer.page .dbody,.drawer.page .dfoot{padding-left:max(18px,calc((100% - 940px)/2));padding-right:max(18px,calc((100% - 940px)/2))}
.drawer.page header .x.back{width:auto;height:auto;display:inline-flex;align-items:center;gap:4px;padding:7px 12px 7px 8px;border:1px solid var(--line);border-radius:10px;background:#fff;font:500 14px Onest,sans-serif;color:var(--ink);cursor:pointer;flex:none;margin:0 4px 0 0!important}
.drawer.page header .x.back:hover{background:var(--bg,#F2F5F0)}
.drawer.page header .x.back .i{width:16px;height:16px}
@media (max-width:900px){ .drawer.page,.drawer.page.wide{left:0} }

/* помічник: фото й мікрофон */
.cin .aibtn{padding:0 11px;min-width:42px;justify-content:center;cursor:pointer}
.cin .aibtn.rec{background:#C2432C;color:#fff;border-color:#C2432C;animation:recp 1.2s infinite}
@keyframes recp{50%{box-shadow:0 0 0 6px rgba(194,67,44,.25)}}
.aimg{display:block;max-width:100%;max-height:220px;border-radius:10px}
.aacts{display:flex;flex-direction:column;gap:6px;margin-top:8px;align-items:flex-start}

.camv{width:100%;max-height:60vh;background:#000;border-radius:12px;display:block;object-fit:cover}
.cin{gap:6px}

/* налаштування */
.secrow{display:flex;gap:8px;align-items:center}.secrow .fi{flex:1}
.setrow{align-items:flex-start;padding:7px 0}.setrow .t{display:flex;flex-direction:column}.setrow small{color:var(--mute);font-size:12px}
.card h2 .chip{margin-left:10px;font-family:Onest,sans-serif;font-weight:500}

.setc{align-self:start}
.setc .seth{display:flex;align-items:center;gap:6px;cursor:pointer;margin:0;user-select:none}
.setc .seth small{margin-left:8px}
.setc .seth .chv{margin-left:auto;display:inline-flex;transition:transform .2s;color:var(--mute)}
.setc.open .seth .chv{transform:rotate(90deg)}
.setc.open .seth{margin-bottom:10px}
.setc .seth:focus-visible{outline:2px solid var(--sun);outline-offset:4px;border-radius:6px}

/* сторінки: затемнений фон і біла рамка по центру */
.drawer.page,.drawer.page.wide{background:#DDE4D8;align-items:center;overflow:hidden}
.drawer.page header,.drawer.page .dbody,.drawer.page .dfoot{width:min(1000px,calc(100% - 40px));padding-left:22px;padding-right:22px;background:#fff;border-left:1px solid var(--line);border-right:1px solid var(--line);flex-shrink:0}
.drawer.page header{margin-top:18px;border-top:1px solid var(--line);border-radius:16px 16px 0 0}
.drawer.page .dbody{flex:1 1 auto;min-height:0;overflow-y:auto}
.drawer.page .dfoot{margin-bottom:18px;border-bottom:1px solid var(--line);border-radius:0 0 16px 16px;box-shadow:0 18px 40px -28px rgba(18,35,27,.45)}
.drawer.page header+.dbody:last-child{margin-bottom:18px;border-radius:0 0 16px 16px;border-bottom:1px solid var(--line)}
@media (max-width:900px){
  .drawer.page,.drawer.page.wide{background:#fff}
  .drawer.page header,.drawer.page .dbody,.drawer.page .dfoot{width:100%;padding-left:16px;padding-right:16px;border:0;border-radius:0;margin:0;box-shadow:none}
  .drawer.page header{border-bottom:1px solid var(--line)}
  .drawer.page .dfoot{border-top:1px solid var(--line)}
}

/* кабінет: вікно створення */
.mbox:has(.accm){width:min(580px,calc(100vw - 24px))}
.accm .sub{margin-bottom:16px}
.accm .acl{font:500 12.5px Onest,sans-serif;color:var(--mute);margin-bottom:6px}
.accm .fl{display:block;font-size:12.5px;color:var(--mute);margin-bottom:14px}
.accm .fl .fi,.accm .fl .fsel{margin-top:5px;width:100%}
.accm .accrow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.accm .accrow:has(#ac-bw[hidden]){grid-template-columns:1fr}
.accm .accrow .fl[hidden]{display:none}
.accm .secrow{margin-top:5px}.accm .secrow .fi{margin-top:0;min-width:0}.accm .secrow .btn{flex:none;white-space:nowrap}
.rolegrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}
.rolecard{text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;display:flex;flex-direction:column;gap:2px;transition:border-color .15s,background .15s}
.rolecard b{font:600 14px Onest,sans-serif;color:var(--ink)}
.rolecard small{font-size:12px;color:var(--mute);line-height:1.3}
.rolecard:hover{border-color:#B9C8B8}
.rolecard[aria-pressed="true"]{border-color:var(--acc);background:var(--acc-soft);box-shadow:0 0 0 1px var(--acc) inset}
.accm .acts{margin-top:4px}
@media (max-width:520px){ .accm .accrow,.rolegrid{grid-template-columns:1fr} }

/* вкладки в картках-сторінках: без прокрутки вгору-вниз, у тій самій білій рамці */
.tabs{overflow-y:hidden}
.drawer.page .tabs{width:min(1000px,calc(100% - 40px));padding-left:22px;padding-right:22px;background:#fff;border-left:1px solid var(--line);border-right:1px solid var(--line);flex-shrink:0;scrollbar-width:none}
.drawer.page .tabs::-webkit-scrollbar{display:none}
@media (max-width:900px){ .drawer.page .tabs{width:100%;padding-left:12px;padding-right:12px;border-left:0;border-right:0} }

.rolecard.chkcard{flex-direction:row;align-items:center;gap:10px;cursor:pointer}
.rolecard.chkcard input{width:18px;height:18px;accent-color:var(--acc);flex:none}
.rolecard.chkcard:has(input:checked){border-color:var(--acc);background:var(--acc-soft)}

/* кнопка помічника: свічення біжить по рамці за годинниковою стрілкою */
@property --ang{syntax:'<angle>';initial-value:0deg;inherits:false}
.aifab{position:fixed;isolation:isolate;background:transparent;box-shadow:0 14px 30px -12px rgba(18,35,27,.65),0 0 22px -6px rgba(224,162,58,.45)}
.aifab::before{content:"";position:absolute;inset:-2px;border-radius:99px;z-index:-2;background:conic-gradient(from var(--ang),rgba(224,162,58,0) 0 55%,rgba(224,162,58,.9) 78%,#FFF4D6 90%,rgba(224,162,58,0) 100%);animation:aiorbit 3.4s linear infinite}
.aifab::after{content:"";position:absolute;inset:1.5px;border-radius:99px;z-index:-1;background:var(--ink);transition:background .2s}
.aifab:hover::after{background:var(--ink2)}
@keyframes aiorbit{to{--ang:360deg}}
.aifab .ring{background:linear-gradient(145deg,#F2C46C,#D58F25);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 0 0 4px rgba(224,162,58,.14);animation:aibreath 3.4s ease-in-out infinite}
.aifab .ring svg{width:23px;height:23px;stroke:#3a2600;stroke-width:1.7}
@keyframes aibreath{50%{box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 0 0 7px rgba(224,162,58,.06)}}
@media (prefers-reduced-motion:reduce){ .aifab::before,.aifab .ring{animation:none} }

/* карта на «Огляді» заповнює картку по висоті */
.card:has(#ovmap){display:flex;flex-direction:column}
#ovmap{flex:1;height:auto!important;min-height:300px}

.rolecard.chkcard{flex-wrap:wrap}.rolecard.chkcard small{flex-basis:100%;margin-left:28px;margin-top:-2px}

/* карта: великі кнопки, підказки жестів, повний екран */
.leaflet-control-zoom{border:0!important;box-shadow:0 6px 18px -6px rgba(18,35,27,.5)!important;border-radius:12px!important;overflow:hidden}
.leaflet-control-zoom a{width:42px!important;height:42px!important;line-height:42px!important;font-size:24px!important;color:var(--ink)!important}
.mapbtns{display:flex;flex-direction:column;gap:8px}
.mapbtn{width:42px;height:42px;display:grid;place-items:center;background:#fff;border-radius:12px;box-shadow:0 6px 18px -6px rgba(18,35,27,.5);color:var(--ink)}
.mapbtn:hover{background:#F1F3EE}.mapbtn .i{width:20px;height:20px}
.maphint{position:absolute;inset:0;z-index:700;display:grid;place-items:center;text-align:center;padding:20px;background:rgba(18,35,27,.55);color:#fff;font:500 15px Onest,sans-serif;opacity:0;pointer-events:none;transition:opacity .2s}
.maphint.on{opacity:1}
.mappop{display:flex;flex-direction:column;gap:4px;font-family:Onest,sans-serif}.mappop b{font-weight:600;font-size:14px}.mappop small{color:var(--mute)}
.mappop .mpb{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.mappop .mpb .btn{text-decoration:none}
.mapfs{position:fixed;inset:0;z-index:300;background:#fff;display:flex;flex-direction:column}
.mapfs-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);background:#fff}
.mapfs-m{flex:1;min-height:0}
body.mapfsopen{overflow:hidden}body.mapfsopen .aifab{display:none}
@media (max-width:900px){ .leaflet-control-zoom a{width:46px!important;height:46px!important;line-height:46px!important} .mapbtn{width:46px;height:46px} }

/* сторінки списків */
.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 10px 6px;border-top:1px solid var(--line);margin-top:6px}
.pinfo{color:var(--mute);font-size:13px}.pbtns{display:flex;gap:4px;align-items:center}
.pgb{min-width:34px;height:34px;padding:0 8px;border:1px solid var(--line);border-radius:9px;background:#fff;font:500 13.5px Onest,sans-serif;color:var(--text)}
.pgb:hover:not([disabled]){background:#F1F3EE}.pgb.on{background:var(--ink);color:#fff;border-color:var(--ink)}.pgb[disabled]{opacity:.4;cursor:default}.pgd{color:var(--mute);padding:0 4px}

/* карта в картці клієнта: достатньо висока, щоб кнопки не тіснились */
#cmap{height:360px!important;border-radius:14px}
@media (max-width:900px){ #cmap{height:300px!important} }

/* Telegram клієнта */
.tgn{margin:6px 0 4px}.tgn .setrow{padding:9px 0}
.tgdot{display:inline-flex;vertical-align:middle;color:var(--tg)}.tgdot .i{width:14px;height:14px}
.tgqr{width:168px;height:168px;margin:0 auto 12px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:12px}.tgqr svg{width:100%;height:100%;display:block}

/* ===== телефон: зручні зони натискання й читабельний текст ===== */
@media (max-width:900px){
  .btn{min-height:44px}.btn.sm{min-height:40px;padding-left:14px;padding-right:14px}
  .seg button,.tabs button,.pst{min-height:40px}
  .seg button{padding-left:14px;padding-right:14px}
  .fi,.fsel,.sinput,.sinput input,textarea.fi,select.fsel{min-height:44px;font-size:16px}
  .sinput{min-width:0;max-width:none;width:100%}
  .x,.iconb,button[aria-label^="Редагувати"],button[aria-label^="Перевести"],button[aria-label^="Видалити"]{min-width:44px;min-height:44px}
  .atth{padding:12px 0;min-height:48px}
  .seth{min-height:44px}
  .li{min-height:48px}
  .chk{min-height:40px}.chk input{width:20px;height:20px}
  small,.mute,.sub{font-size:12.5px}
  .vb small,.vb .tm,.dl small,.tbl small,.cname small{font-size:12px}
  .tb{gap:8px}
  .pgb{min-width:40px;height:40px}
  .mapbtn{width:46px;height:46px}
  .tabbar button{min-height:56px}
}

/* бейдж у меню: цифра точно по центру */
.nav .badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;font:600 12px/1 Onest,sans-serif;font-style:normal;font-variant-numeric:tabular-nums;box-sizing:border-box}

/* ===== ТЕЛЕФОН, раунд 2 (консиліум): нижні аркуші, календар, прокрутка, контраст ===== */
:root{--acc:#2F7A45;--mute:#566860}
.chip.good{color:#1F6B3A}.chip.warn{color:#7F4B00}.chip.bad{color:#A8341F}
.cnt{background:#A8620F;color:#fff}
html{overscroll-behavior-y:none}
.dbody,.mbox,.chat{overscroll-behavior:contain}
body:has(.drawer.on,#modal:not([hidden])){overflow:hidden}
@media (max-width:900px){
  .aifab{display:none!important}
  .toast{bottom:calc(76px + env(safe-area-inset-bottom))}
  .tabbar button{font-size:12px}
  /* модальні вікна як нижні аркуші з закріпленою кнопкою */
  .modal{place-items:end center;padding:0}
  .mbox{width:100%;max-width:none;border-radius:20px 20px 0 0;max-height:92dvh;padding:16px 16px calc(14px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
  .mbox::before{content:"";display:block;width:40px;height:4px;border-radius:99px;background:#D5DBD1;margin:-4px auto 12px}
  .mbox .acts{position:sticky;bottom:-14px;background:#fff;padding:12px 0 8px;margin:12px 0 0;border-top:1px solid var(--line);z-index:2}
  /* календар */
  .calg{grid-template-columns:62px repeat(7,minmax(112px,1fr));min-width:0}
  .dh,.dr{grid-template-columns:62px 1fr}
  .calg .bn{padding:8px 6px;font-size:12px;position:sticky;left:0;background:#fff;z-index:3;word-break:break-word}
  .calg .bn small,.dr .bn small{display:none}
  .calg .hd:first-child{position:sticky;left:0;z-index:4}
  .mc{min-height:62px;flex-direction:row;flex-wrap:wrap;align-content:flex-start;padding:4px;gap:2px}
  .mday{position:absolute;inset:0;width:auto;height:auto;border-radius:0;place-items:start;padding:5px 7px;z-index:1}
  .mc .mv{position:relative;z-index:2;width:9px;height:9px;min-height:0;padding:0;margin:26px 1px 0;font-size:0;border:0;border-radius:50%;background:var(--c,#3F8F55);pointer-events:none;box-shadow:none}
  .mc .mv *{display:none}
  .mc .mmore{position:relative;z-index:2;margin:22px 0 0;font-size:12px;pointer-events:none}
  .mc .wx{position:absolute;right:4px;top:4px}
  /* дрібні зони натискання */
  .kv dd a,a[href^="tel"],a[href^="mailto"]{display:inline-flex;align-items:center;min-height:44px}
  .seg button,.tabs button,.pst,.usel,.pgb{min-height:44px}
  .pgb{min-width:44px}
  .bcard .mem .t{flex:1;min-width:0}
  .bcard .mem .mvbtn{width:44px;height:44px;opacity:1}
  .av.sm,.chip,.wx,.vb small,.vb .tm{font-size:12px}
  /* таблиці як картки-рядки */
  #v-cl .tbl thead,#v-doc .tbl thead,#v-tools .tbl thead{display:none}
  #v-cl .tbl tr,#v-doc .tbl tr,#v-tools .tbl tr{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:12px 8px;border-bottom:1px solid var(--line);align-items:center}
  #v-cl .tbl td,#v-doc .tbl td,#v-tools .tbl td{display:block;padding:0;border:0;white-space:normal;min-width:0}
  #v-cl .tbl td:first-child,#v-doc .tbl td:first-child,#v-tools .tbl td:first-child{grid-column:1/-1}
  #v-cl .tbl td.hide-m,#v-doc .tbl td.hide-m,#v-tools .tbl td.hide-m{display:none}
  .tblw{overflow:visible}
}

@media (max-width:900px){
  .bcard .mem{display:grid;grid-template-columns:40px 1fr auto auto;gap:2px 8px;align-items:center}
  .bcard .mem .av{grid-row:1/3}
  .bcard .mem .t{grid-column:2;grid-row:1}
  .bcard .mem>.chip{grid-column:2;grid-row:2;justify-self:start}
  .bcard .mem .mvbtn{grid-row:1}
  .daylist .card h2 small{margin-left:8px}
}

@media (max-width:900px){ .chips2 .chip{font-size:14px;padding:6px 10px;color:#1A2A22;line-height:1.35} .hero .hh .chip{font-size:13px} .tgnote{font-size:13px} }
@media (max-width:900px){ #v-cal>.tgnote,#v-cal .tgnote:first-of-type{display:none} }

.act4>:last-child:nth-child(odd){grid-column:1/-1}

/* ===== плавність: поява екранів, фільтрів, вікон; реакція на дотик ===== */
@keyframes vin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes vfade{from{opacity:0}to{opacity:1}}
@keyframes mrise{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@keyframes msheet{from{transform:translateY(100%)}to{transform:none}}
.view.on:not(.noanim)>*{animation:vin .24s cubic-bezier(.2,.7,.2,1) both}
.view.on:not(.noanim)>*:nth-child(2){animation-delay:.025s}
.view.on:not(.noanim)>*:nth-child(3){animation-delay:.05s}
.view.on:not(.noanim)>*:nth-child(4){animation-delay:.075s}
.view.on:not(.noanim)>*:nth-child(n+5){animation-delay:.1s}
.view.on.noanim>*{animation:none}
.drawer .dbody{animation:vfade .22s ease both}
.modal:not([hidden]){animation:vfade .18s ease both}
.modal:not([hidden]) .mbox{animation:mrise .24s cubic-bezier(.2,.7,.2,1) both}
.setb:not([hidden]),.attb{animation:vin .22s ease both}
.btn,.seg button,.tabs button,.pst,.chip,.pgb,.nav,.tabbar button,.li.click,tr.rowlink,.card.kpi,.rolecard,.mapbtn{transition:background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .2s ease,transform .12s ease,opacity .16s ease}
.btn:active,.seg button:active,.pst:active,.pgb:active,.rolecard:active,.mapbtn:active{transform:scale(.97)}
.card.kpi:hover,.li.click:hover{transform:translateY(-1px)}
.fi,.fsel,.sinput{transition:border-color .16s ease,box-shadow .2s ease,background-color .16s ease}
.toast{transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .22s ease}
.drawer.page{transition:opacity .22s ease,visibility 0s .22s}.drawer.page.on{transition:opacity .22s ease}
@media (max-width:900px){ .modal:not([hidden]) .mbox{animation:msheet .28s cubic-bezier(.2,.8,.2,1) both} }
@media (prefers-reduced-motion:reduce){ *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important} }

body[data-role="client"] .aifab,body[data-role="client"] [data-ai],body[data-role="client"] #bellBtn{display:none!important}
.fl{position:relative}
.dictbtn{position:absolute;right:6px;bottom:6px;width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;color:var(--ink);cursor:pointer}
.dictbtn.rec{background:#C2432C;color:#fff;border-color:#C2432C;animation:recp 1.2s infinite}
.dictbtn .i{width:18px;height:18px}

/* ===== ТЕЛЕФОН, нова шапка, календар і клієнти ===== */
.chips-scroll{display:flex;gap:8px;overflow-x:auto;padding:2px 0 8px;margin:0 -16px;padding-left:16px;padding-right:16px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.chips-scroll::-webkit-scrollbar{display:none}
.cchip{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:99px;background:#fff;font:500 14px Onest,sans-serif;color:var(--text);white-space:nowrap}
.cchip small{color:var(--mute);font-size:12px}.cchip i{width:9px;height:9px;border-radius:50%;flex:none}
.cchip[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}.cchip[aria-pressed="true"] small{color:#C9D6CC}
.cchip .i{width:15px;height:15px}
.cm-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:36px 16px;color:var(--mute);text-align:center}.cm-empty .i{width:34px;height:34px;opacity:.5}.cm-empty b{color:var(--text);font-weight:600}
@media (max-width:900px){
  /* шапка: одна компактна смуга, що залипає вгорі */
  main{padding:0 16px 96px!important}
  .top{position:sticky;top:0;z-index:30;background:var(--bg);margin:0 -16px 10px!important;padding:max(10px,env(safe-area-inset-top)) 16px 8px;flex-wrap:nowrap!important;gap:8px;border-bottom:1px solid transparent}
  .top h1{font-size:20px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .top .date{display:none}
  .top .as{margin:0}.top .as-l{display:none}
  .top .as .fsel,.top #asSel{max-width:118px;font-size:13px;padding:6px 26px 6px 10px;min-height:40px}
  .top .ibtn{width:44px;height:44px;flex:none}
  /* календар */
  .cm-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.cm-head .seg{flex:1}.cm-head .seg button{flex:1;justify-content:center}
  .cm-strip{display:flex;align-items:stretch;gap:4px;margin-bottom:12px}
  .cm-arrow{flex:none;width:30px;display:grid;place-items:center;border-radius:10px;color:var(--mute)}.cm-arrow .i{width:18px;height:18px}
  .cm-day{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 0 6px;border-radius:14px;border:1px solid transparent;background:transparent}
  .cm-day small{font-size:12px;color:var(--mute);text-transform:uppercase}
  .cm-day b{font:600 17px Geologica,sans-serif}
  .cm-day.today b{color:var(--acc)}
  .cm-day.on{background:var(--ink);color:#fff}.cm-day.on small{color:#C9D6CC}.cm-day.on b{color:#fff}
  .cm-dots{display:flex;gap:3px;height:8px;align-items:center;justify-content:center}.cm-dots i{width:5px;height:5px;border-radius:50%;background:var(--acc)}.cm-day.on .cm-dots i{background:#F2C46C}.cm-dots .i{width:11px;height:11px;color:#1F5FA8}.cm-day.on .cm-dots .i{color:#9CC3EC}
  .cm-dayt{display:flex;align-items:center;gap:8px;margin:2px 0 8px}.cm-dayt b{font:600 16px Geologica,sans-serif;flex:1}
  .cm-wx{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:10px;border-radius:12px;background:var(--blue-soft);color:#1F4F80;font-size:13.5px}.cm-wx .i{width:20px;height:20px;flex:none}.cm-wx span{flex:1}
  .cm-agenda{display:flex;flex-direction:column;gap:8px}
  .cm-item{display:flex;align-items:center;gap:10px;width:100%;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:left;box-shadow:0 2px 8px -6px rgba(18,35,27,.4)}
  .cm-item.done{opacity:.6}
  .cm-time{flex:none;width:46px;display:flex;flex-direction:column;align-items:flex-start}.cm-time b{font:600 15px Geologica,sans-serif}.cm-time small{color:var(--mute);font-size:12px}
  .cm-bar{flex:none;width:4px;align-self:stretch;border-radius:99px;background:var(--c)}
  .cm-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cm-main b{font-weight:600;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-main small{color:var(--mute);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-main .cm-meta{font-size:12px}.cm-main em{font-style:normal;font-size:11.5px;color:var(--warn);background:var(--sun-soft);border-radius:6px;padding:1px 6px;margin-left:4px}
  .cm-item>.i{flex:none;width:18px;height:18px;color:#A9B3AC}
  .cm-month .mong{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
  .cm-month .mh{text-align:center;font-size:12px;color:var(--mute);padding:4px 0}
  .mc2{display:flex;flex-direction:column;align-items:center;gap:3px;min-height:52px;padding:8px 0 4px;border-radius:12px;background:#fff;border:1px solid var(--line)}
  .mc2 b{font:600 14px Geologica,sans-serif}.mc2.oth{background:transparent;border-color:transparent;color:#A9B3AC}.mc2.today{border-color:var(--acc);background:var(--acc-soft)}
  .cm-fab{position:fixed;right:16px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:40;display:inline-flex;align-items:center;gap:8px;height:52px;padding:0 20px 0 16px;border-radius:99px;background:var(--acc);color:#fff;font:600 15px Onest,sans-serif;box-shadow:0 14px 28px -12px rgba(18,35,27,.6)}.cm-fab .i{width:20px;height:20px}
  /* клієнти */
  .cl-search{display:flex;gap:8px;align-items:center;margin-bottom:6px}.cl-search .sinput{flex:1}
  .cl-add{flex:none;width:46px;height:46px;border-radius:14px;background:var(--acc);color:#fff;display:grid;place-items:center}.cl-add .i{width:22px;height:22px}
  .cl-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:2px 0 10px}
  .cc-list{display:flex;flex-direction:column;gap:8px}
  .ccard{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 2px 8px -6px rgba(18,35,27,.4);cursor:pointer}
  .ccard .av{flex:none;width:44px;height:44px;font-size:15px}
  .cc-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cc-main b{font-weight:600;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-main small{color:var(--mute);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .cc-meta{font-size:12.5px;color:var(--text);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-nv{font-weight:600;color:var(--acc)}
  .cc-side{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
  .cc-act{display:flex;gap:6px}.cc-btn{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink);background:#fff}.cc-btn .i{width:18px;height:18px}
  .cc-more{width:100%;margin-top:12px;justify-content:center}
}
@media (min-width:901px){ .cl-m{display:none} }

@media (max-width:900px){
  /* демо-перемикач ролі: компактна кнопка-піктограма */
  .top #asSel{width:44px;max-width:44px;height:44px;min-height:44px;padding:0;color:transparent;font-size:0;border:1px solid var(--line);border-radius:12px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316352A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5C6 5 2.5 12 2.5 12S6 19 12 19s9.5-7 9.5-7S18 5 12 5z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center/22px no-repeat;appearance:none;-webkit-appearance:none}
  .top #asSel option{color:#16352A;font-size:15px}
  .top .as{flex:none}
}

@media (max-width:900px){
  .top .usel[data-for="asSel"]{width:44px;max-width:44px;height:44px;min-height:44px;padding:0;color:transparent;font-size:0;border:1px solid var(--line);border-radius:12px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316352A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5C6 5 2.5 12 2.5 12S6 19 12 19s9.5-7 9.5-7S18 5 12 5z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center/22px no-repeat}
  .top .usel[data-for="asSel"]::after{display:none}
}

@media (max-width:900px){ .top .as{background:none!important;border:0!important;padding:0!important;box-shadow:none!important} }

/* ===== другий круг: свайп календаря, фільтри клієнтів, піктограми ===== */
@keyframes slideL{from{opacity:0;transform:translateX(36px)}to{opacity:1;transform:none}}
@keyframes slideR{from{opacity:0;transform:translateX(-36px)}to{opacity:1;transform:none}}
.slide-l{animation:slideL .26s cubic-bezier(.2,.8,.2,1) both!important}
.slide-r{animation:slideR .26s cubic-bezier(.2,.8,.2,1) both!important}
@media (max-width:900px){
  a.cc-btn,.cc-btn{display:grid;place-items:center;width:40px;min-height:40px;height:40px;padding:0}
  .cc-btn .i{display:block;margin:0}
  .fbtn{position:relative;flex:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;color:var(--ink)}
  .fbtn .i{width:20px;height:20px}.fbtn.on{background:var(--ink);color:#fff;border-color:var(--ink)}.fbtn i{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;border-radius:99px;background:var(--sun);color:#3a2600;font:600 11px/18px Onest,sans-serif;text-align:center;font-style:normal}
  #v-cl>.tb:first-child{margin-bottom:10px;align-items:center}
  .cl-bar{display:flex;align-items:center;gap:8px;margin:4px 0 10px;flex-wrap:wrap}.cl-count{color:var(--mute);font-size:13px}
  .afil{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 6px 0 12px;border-radius:99px;background:var(--acc-soft);color:var(--ink);font:500 13px Onest,sans-serif}.afil span{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:rgba(18,35,27,.12);font-size:14px;line-height:1}
  .vtog{display:flex;padding:3px;border-radius:12px;background:#E9EEE6}.vtog button{width:40px;height:34px;border-radius:9px;display:grid;place-items:center;color:var(--mute)}.vtog button .i{width:18px;height:18px}.vtog button[aria-pressed="true"]{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(18,35,27,.15)}
  .fsheet .fgroup{margin-bottom:16px}.fsheet .acl{font:500 12.5px Onest,sans-serif;color:var(--mute);margin-bottom:8px}
  .fopts{display:flex;flex-wrap:wrap;gap:8px}.fopt{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:99px;border:1px solid var(--line);background:#fff;font:500 15px Onest,sans-serif}.fopt small{color:var(--mute);font-size:12.5px}
  .fopt[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}.fopt[aria-pressed="true"] small{color:#C9D6CC}
}

/* ===== картка клієнта: розділи-картки, швидкі дії, перемикачі, виразний олівець ===== */
.dbody.cardy{background:#F3F6F1}
.sc{background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:12px;overflow:hidden}
.sc>summary{list-style:none;display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer;min-height:52px;user-select:none}
.sc>summary::-webkit-details-marker{display:none}
.sc .sct{display:inline-flex;align-items:center;gap:8px;font:600 15px Geologica,sans-serif;flex:1}.sc .sct .i{width:18px;height:18px;color:var(--acc)}
.sc>summary small{color:var(--mute);font-size:12.5px}
.sc .scv{display:inline-flex;transition:transform .2s;color:var(--mute)}.sc .scv .i{width:18px;height:18px}.sc[open] .scv{transform:rotate(90deg)}
.sc .scb{padding:0 16px 14px}
.sc[open]>summary{padding-bottom:8px}
.sc.flat .sch2{display:flex;align-items:center;gap:10px;padding:14px 16px 8px}.sc.flat .sch2 .sct{font:600 15px Geologica,sans-serif;flex:1}
.sc .rows .srow{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line)}
.sc .rows .srow:first-child{border-top:0}
.srow .sri{flex:none;width:34px;height:34px;border-radius:10px;background:var(--acc-soft);color:var(--acc);display:grid;place-items:center}.srow .sri .i{width:17px;height:17px}
.srow .sl{flex:none;width:96px;color:var(--mute);font-size:13px}
.srow .sri+.sl{width:auto;min-width:64px}
.srow .sv{flex:1;min-width:0;text-align:right;overflow-wrap:anywhere}
.srow .sv a{color:var(--ink);text-decoration:none;font-weight:500}
.qa{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.qa-b{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:68px;padding:8px 4px;border-radius:14px;background:#fff;border:1px solid var(--line);color:var(--ink);font:500 12.5px Onest,sans-serif;text-decoration:none}
.qa-b .i{width:22px;height:22px}.qa-b.acc{background:var(--acc);border-color:var(--acc);color:#fff}
.nxt{border-radius:12px;padding:12px 14px;background:#F3F6F1;border-left:4px solid var(--c);cursor:pointer}
.nxt-t{display:flex;align-items:center;gap:10px;margin-bottom:2px}.nxt-t b{font:600 16px Geologica,sans-serif}
.stat3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.stat3>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px}.stat3 small{display:block;color:var(--mute);font-size:12px}.stat3 b{font:600 16px Geologica,sans-serif}
.sc .li{padding:11px 0;border-top:1px solid var(--line)}.sc .scb>.li:first-child,.sc .scb>div>.li:first-child{border-top:0}
.acl2{font:500 12.5px Onest,sans-serif;color:var(--mute);margin:14px 0 4px}
.swl .swr{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line);cursor:pointer}.swl .swr:first-child{border-top:0}
.swr .t{flex:1;display:flex;flex-direction:column}.swr .t b{font-weight:500;font-size:14.5px}.swr .t small{color:var(--mute);font-size:12.5px}
input.sw{appearance:none;-webkit-appearance:none;flex:none;width:44px;height:26px;border-radius:99px;background:#CBD4C8;position:relative;cursor:pointer;transition:background .2s;margin:0}
input.sw::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
input.sw:checked{background:var(--acc)}input.sw:checked::after{transform:translateX(18px)}
/* олівець «Редагувати»: кругла кольорова кнопка, зрозуміло, що можна натиснути */
.drawer header .x.editb,.drawer header #od-edit,.drawer header #ce-open{width:40px;height:40px;border-radius:50%;background:var(--acc);color:#fff;border:0;box-shadow:0 6px 14px -8px rgba(47,122,69,.9);display:grid;place-items:center;flex:none}
.drawer header .x.editb .i,.drawer header #od-edit .i{width:18px;height:18px}
.drawer header .x.editb:hover,.drawer header #od-edit:hover{filter:brightness(1.08)}
@media (max-width:900px){ .srow .sl{width:84px} .sc .sct{font-size:15px} .qa-b{min-height:64px} }

@media (max-width:900px){ .srow .sl{width:auto;min-width:92px} }

/* режим редагування: кнопки завжди внизу екрана */
.editbar{position:sticky;bottom:0;z-index:5;display:flex;gap:10px;padding:12px 0 calc(12px + env(safe-area-inset-bottom));margin-top:4px;background:linear-gradient(to top,#F3F6F1 78%,rgba(243,246,241,0))}
.editbar .btn{flex:1;justify-content:center;min-height:48px}
.editbar .btn.acc{flex:1.6}
.dz{border-color:#F0C9C0}

.dbody,.drawer.page .dbody{padding-bottom:20px}
.dbody.cardy{padding-bottom:0}
.dbody.cardy>:last-child:not(.editbar){margin-bottom:16px}

.drawer.page .dbody.cardy{padding-bottom:0}
#cdesc{min-height:200px;line-height:1.5;font-size:15px;resize:vertical}
@media (max-width:900px){ #cdesc{font-size:16px;min-height:220px} }

/* підказка, що вкладки гортаються */
.tabsw{position:relative;flex-shrink:0}
.tabsw .tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabsw .tabs::-webkit-scrollbar{display:none}
.tabsw::before,.tabsw::after{content:"";position:absolute;top:0;bottom:1px;width:38px;pointer-events:none;opacity:0;transition:opacity .2s;z-index:2}
.tabsw::before{left:0;background:linear-gradient(to right,#fff 30%,rgba(255,255,255,0))}.tabsw::after{right:0;background:linear-gradient(to left,#fff 30%,rgba(255,255,255,0))}
.tabsw.can-l::before,.tabsw.can-r::after{opacity:1}
.tabarr{position:absolute;top:0;bottom:1px;width:30px;z-index:3;display:none;place-items:center;color:var(--acc)}.tabarr .i{width:18px;height:18px}
.tabsw.can-l .tabarr.l,.tabsw.can-r .tabarr.r{display:grid}.tabarr.l{left:0}.tabarr.r{right:0}
.drawer.page .tabsw{width:min(1000px,calc(100% - 40px))}.drawer.page .tabsw .tabs{width:100%}
@media (max-width:900px){ .drawer.page .tabsw{width:100%} }

/* стрічка днів: звичайна горизонтальна прокрутка (свайп пальцем), вибраний день по центру */
@media (max-width:900px){
  .cm-monl{font:600 13px Onest,sans-serif;color:var(--mute);margin:0 0 4px 2px}
  .cm-strip2{display:flex;gap:4px;overflow-x:auto;scroll-snap-type:x proximity;margin:0 -16px 12px;padding:2px 16px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;}
  .cm-strip2::-webkit-scrollbar{display:none}
  .cm-strip2 .cm-day{flex:0 0 calc((100% - 24px)/7);scroll-snap-align:center}
}

/* прокрутка сторінки в календарі ніколи не блокується */
#v-cal{overflow:visible!important}
#cmAgenda,.cm-month,.cm-strip2,.cm-item{touch-action:auto!important}

/* картки виїзду, замовлення, інструмента: кожен блок як окрема картка з роздільниками */
.dbody.cardy .sec{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin:0 0 12px}
.dbody.cardy .sec>h3,.dbody.cardy .sech h3{font:600 15px Geologica,sans-serif;margin:0}
.dbody.cardy .sech{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px}
.dbody.cardy .box.next.sec{background:#fff}
.dbody.cardy .sec .li{padding:11px 0;border-top:1px solid var(--line)}.dbody.cardy .sec .li:first-of-type{border-top:0}
.dbody.cardy .sec .kv{margin:0}
.dbody.cardy .sec>.empty{padding:6px 0}
.dbody.cardy .grid.sec{background:transparent;border:0;padding:0}
.vfoot{display:flex;gap:8px;align-items:center}
.vfoot .btn{flex:1;justify-content:center;min-height:48px}.vfoot .btn.acc{flex:1.4}
.vfoot .btn.more{flex:none;width:48px;padding:0}.vfoot .btn.more .i{width:20px;height:20px}
.msheet{display:flex;flex-direction:column;margin-top:4px}
.mrow{display:flex;align-items:center;gap:12px;min-height:52px;padding:0 4px;border-top:1px solid var(--line);font:500 15px Onest,sans-serif;text-align:left}.mrow:first-child{border-top:0}
.mrow>.i:first-child{width:20px;height:20px;color:var(--acc)}.mrow span{flex:1}.mrow>.i:last-child{width:16px;height:16px;color:#A9B3AC}.mrow.danger,.mrow.danger>.i:first-child{color:#C2432C}
.srow .sv a{min-height:0!important;display:inline!important;padding:0!important}
.dbody.cardy .sc.flat .srow{padding:9px 0}
.srow .sv a{white-space:nowrap}.srow .sl{flex:none}

/* нижнє меню телефона: плаваюча капсула, активний пункт у «таблетці», Помічник виділено */
@media (max-width:900px){
  .tabbar{left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));padding:6px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 10px 30px -12px rgba(18,35,27,.35),0 2px 6px rgba(18,35,27,.06);gap:2px}
  .tabbar button{min-height:54px;gap:3px;font:500 11px Onest,sans-serif;color:#6B776F;border-radius:18px;position:relative}
  .tabbar .tbi{display:flex;align-items:center;justify-content:center;width:44px;height:28px;border-radius:14px;transition:background-color .2s ease,transform .2s ease}
  .tabbar .tbi .i{width:21px;height:21px}
  .tabbar button[aria-current=page]{color:var(--acc);font-weight:600}
  .tabbar button[aria-current=page] .tbi{background:#E3EFE6}
  .tabbar button:active .tbi{transform:scale(.92)}
  .tabbar .tb-ai{color:#fff;background:linear-gradient(160deg,#1F4A36,#12231B);flex:1.1;margin-left:4px;box-shadow:0 6px 14px -6px rgba(18,35,27,.6)}
  .tabbar .tb-ai .tbi .i{color:#E7C66A}
  .tabbar .tb-ai .tbi{height:26px}
  .main,#view,.view{scroll-padding-bottom:100px}
}
@media (max-width:900px){.tabbar .tb-ai{font-size:10.5px;padding:0 2px;margin-left:2px}.tabbar button{min-width:0}}
/* телефон: періоди в один ряд з прокруткою, стрілка KPI не налазить на текст */
@media (max-width:900px){
  .tb .seg{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;max-width:100%}
  .tb .seg::-webkit-scrollbar{display:none}
  .tb .seg button{flex:0 0 auto;white-space:nowrap}
  .card.kpi .lbl{padding-right:18px}
}

@media (max-width:900px){#v-fin .tb .seg button{padding-left:8px;padding-right:8px;font-size:13px}}

/* Документи на телефоні: пошук на всю ширину, фільтри рядками-прокруткою, три дії в один ряд */
@media (max-width:900px){
  #v-doc .tb{display:flex;flex-wrap:wrap;gap:10px}
  #v-doc .tb .sp{display:none}
  #v-doc .tb>.seg{width:100%;order:2}
  #v-doc .tb>.seg+.sinput,#v-doc .tb>.sinput{order:1;flex:1 1 100%;width:100%}
  #v-doc .tb>.seg:nth-of-type(2){order:3}
  #v-doc .tb>.btn{order:4;flex:1 1 0;min-width:0;justify-content:center;padding-left:8px;padding-right:8px;font-size:13px;white-space:nowrap}
  #v-doc .tb>.btn .i{display:none}
  #v-doc .tb>#dnew{flex:1.3 1 0}
}
@media (max-width:900px){#v-doc .tb>.btn{font-size:12.5px;padding-left:4px;padding-right:4px}}

.nw{white-space:nowrap}
/* Бригади на телефоні: імʼя й дії в рядку, статус дня окремим рядком під текстом */
@media (max-width:900px){
  .bcard h2{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;font-size:17px}
  .bcard h2 small{flex:1 1 100%;order:3;margin:0 0 0 18px;font-weight:400}
  .bcard h2 .x{margin-left:auto!important}
  .bcard .mem{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;column-gap:10px;row-gap:6px;align-items:center}
  .bcard .mem .av{grid-row:1;grid-column:1}
  .bcard .mem .t{grid-row:1;grid-column:2;min-width:0}
  .bcard .mem .t small{display:block;line-height:1.35}
  .bcard .mem .mvbtn{grid-row:1;width:36px;height:36px;opacity:1}
  .bcard .mem>.chip{grid-row:2;grid-column:2/-1;justify-self:start;margin:0}
}

/* «Ще»: нижній аркуш з плитками розділів */
@media (max-width:900px){
  #mdrawer{top:auto!important;bottom:0;left:0;right:0;width:100%;max-width:none;height:auto;max-height:80vh;border-radius:24px 24px 0 0;transform:translateY(105%);padding-bottom:env(safe-area-inset-bottom)}
  #mdrawer.on{transform:none}
  #mdrawer header{border-bottom:0;padding-top:18px}
  #mdrawer header::before{content:"";position:absolute;top:8px;left:50%;width:38px;height:4px;margin-left:-19px;border-radius:2px;background:#D5DDD3}
  #mdrawer .dbody{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:4px 16px 22px}
  .mtile{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:16px;min-height:92px;border:1px solid var(--line);border-radius:18px;background:#fff;font:600 15px Onest,sans-serif;text-align:left;box-shadow:0 1px 2px rgba(18,35,27,.04)}
  .mtile>i:first-child{display:flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:12px;background:#E3EFE6;color:var(--acc)}
  .mtile>i:first-child .i{width:20px;height:20px}
  .mtile:active{transform:scale(.97)}
}

/* Документи (телефон): список — дії двома рядками; відкритий документ — кнопки сіткою, без накладань */
@media (max-width:900px){
  #v-doc .tb>.btn{white-space:normal;line-height:1.2;min-height:46px;text-align:center}
  #v-doc .tb>#dcat,#v-doc .tb>label.btn{flex:1 1 calc(50% - 5px)}
  #v-doc .tb>#dnew{flex:1 1 100%;order:5}
  #v-doc .tb:has(#dback){display:grid;grid-template-columns:1fr 1fr;gap:8px}
  #v-doc .tb:has(#dback) .sp{display:none}
  #v-doc .tb:has(#dback)>.btn{width:100%;min-width:0;min-height:46px;justify-content:center;padding:8px 10px;font-size:13.5px;white-space:normal;line-height:1.2;text-align:center}
  #v-doc .tb:has(#dback)>.btn .i{flex:none}
  #v-doc .tb:has(#dback)>#dback{grid-column:1/-1;order:0;justify-content:flex-start}
  #v-doc .tb:has(#dback)>#dsend{grid-column:1/-1;order:1}
  #v-doc .tb:has(#dback)>#dprev{order:2}
  #v-doc .tb:has(#dback)>#dpdf{order:3}
  #v-doc .tb:has(#dback)>#dfrom{grid-column:1/-1;order:4}
  #v-doc .tb:has(#dback)>#ddel{grid-column:1/-1;order:5}
}

@media (max-width:900px){
  #v-doc .tb:has(#dback)>.btn .i{display:inline-block!important;width:17px;height:17px}
  #v-doc .tb:has(#dback)>.btn{gap:7px}
  #v-doc .fl input[type=date],#v-doc .datebtn{font-size:14px}
}

/* Фінанси: власний період від-до */
.card.finr{padding:14px 16px;margin-bottom:14px}
.finr .frow{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.finr-ch{display:flex;gap:8px;overflow-x:auto;margin-top:12px;scrollbar-width:none}
.finr-ch::-webkit-scrollbar{display:none}.finr-ch .btn{flex:0 0 auto;white-space:nowrap}
.srow .chip,.sv .chip{white-space:normal;text-align:right;border-radius:12px;line-height:1.35;display:inline-block;max-width:100%}

/* телефон: загальні виправлення за результатами аудиту */
@media (max-width:900px){
  .linkb{padding:6px 2px;margin:-6px -2px}
  .dbody .chip,.cardy .chip,.kv .chip{white-space:normal;max-width:100%;line-height:1.35;border-radius:12px}
  #mbox .acts:has(>:nth-child(3)){display:flex;flex-wrap:wrap;gap:8px}
  #mbox .acts:has(>:nth-child(3))>.btn{flex:1 1 calc(50% - 4px);min-width:0}
  #mbox .acts:has(>:nth-child(3))>.btn.acc{flex:1 1 100%;order:-1}
}
@media (max-width:900px){.mbox .acts:not(:last-child){position:static;border-top:0;padding:0;margin-top:10px;background:none}}

.ccard .cc-main>b{display:flex;align-items:center;gap:6px;min-width:0}
.ccard .cc-main>b .cn{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ccard .cc-main>b .tgdot{flex:none}

/* телефон: помічник — поле вводу на всю ширину, кнопки рядом під ним; кабінет клієнта — кнопки не вилазять */
@media (max-width:900px){
  .cin{flex-wrap:wrap;gap:8px;padding:10px 14px calc(10px + env(safe-area-inset-bottom))}
  .cin>input.fi{order:-1;flex:1 1 100%;min-width:0;height:46px}
  .cin .aibtn{min-width:46px;height:44px}
  .cin>.btn.acc{margin-left:auto;min-width:88px;height:44px}
  .act4>*{min-width:0;white-space:normal;line-height:1.2;justify-content:center;text-align:center}
}
@media (max-width:900px){.act4 .btn.big{padding-left:8px;padding-right:8px;font-size:14px}.act4 .btn.big .i{display:none}}
.drawer.page header h2{min-width:0;flex:1 1 auto;overflow-wrap:anywhere}
@media (max-width:360px){.drawer.page header>.av{display:none}.drawer.page header{gap:8px}}

.finr .fl{min-width:0}.finr .fi{min-width:0;width:100%;padding-left:10px;padding-right:8px}
@media (max-width:900px){.finr .fi{font-size:13.5px}.finr .fi .i,.finr .dateic{display:none}}

/* меню прибите до низу екрана: без зазору, з заокругленим верхом */
@media (max-width:900px){
  .tabbar{left:0;right:0;bottom:0;border-radius:20px 20px 0 0;border-width:1px 0 0;padding:6px 8px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -6px 24px -12px rgba(18,35,27,.28);background:rgba(255,255,255,.97)}
}

/* Налаштування (телефон): поля й кнопки з відступами, дії на всю ширину, заголовки розділів у два рядки */
@media (max-width:900px){
  #v-set .setb{padding-top:6px}
  #v-set .fl{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--mute)}
  #v-set .fl.mt,#v-set .frow.mt{margin-top:16px}
  #v-set .fl .fi,#v-set .fl .fsel,#v-set .fl .usel{color:var(--ink);font-size:15px}
  #v-set .frow{grid-template-columns:1fr;gap:14px}
  #v-set .secrow{gap:8px}#v-set .secrow .btn{flex:none}
  #v-set .acts{display:flex;flex-direction:column;gap:10px;margin-top:20px}
  #v-set .acts .btn{width:100%;min-height:48px;justify-content:center}
  #v-set .sec{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
  #v-set .sec>h3{margin:0 0 6px}
  #v-set .li{padding:12px 0}
  #v-set h2.seth{flex-wrap:wrap;row-gap:2px;align-items:center}
  #v-set h2.seth>small{order:5;flex:1 1 100%;margin:0;font-weight:400}
  #v-set h2.seth .chv{margin-left:auto}
  #v-set h2.seth .btn.sm{margin-left:auto}
}
.more-btn{width:100%;margin-top:8px;min-height:44px;justify-content:center}.tuse summary small{margin-left:8px}

.accbtns{display:flex;gap:6px;align-items:center}
@media (max-width:900px){
  #v-set .li:has(.accbtns){display:grid;grid-template-columns:36px minmax(0,1fr) auto;column-gap:10px;row-gap:10px;align-items:center}
  #v-set .li:has(.accbtns)>.t{min-width:0}
  #v-set .li:has(.accbtns)>.t small{white-space:normal;overflow-wrap:anywhere}
  #v-set .accbtns{grid-column:1/-1}
  #v-set .accbtns .btn{flex:1 1 0;min-width:0;width:auto;min-height:40px;margin-top:0}
  #v-set .accbtns .btn[data-acdel]{flex:0 0 44px}
}

@media (max-width:900px){.cm-month .mong{grid-template-columns:repeat(7,minmax(0,1fr))}.cm-month .mong>*{min-width:0}}
@media (max-width:900px){.cm-month .mong{min-width:0!important;width:100%}}

/* Виїзди: список з вкладками-статусами */
.vz-tabs{display:flex;overflow-x:auto;scrollbar-width:none;max-width:100%}.vz-tabs::-webkit-scrollbar{display:none}
.vz-tabs button{flex:0 0 auto;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.vz-tabs button i{font-style:normal;font-size:12px;font-weight:600;padding:1px 7px;border-radius:99px;background:#EEF1EC;color:var(--mute)}
.vz-tabs button[aria-pressed=true] i{background:rgba(255,255,255,.2);color:#fff}
.vz-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.vz-bar .sinput{flex:1 1 220px;min-width:0}.vz-bar .fsel,.vz-bar .usel{flex:0 1 auto}
.vz-add{flex:none}
.vz-cnt{font-size:13px;margin:0 2px 8px}
.vz-list{display:flex;flex-direction:column;gap:10px}
.vz-row{display:grid;grid-template-columns:78px minmax(0,1fr) auto;gap:12px;align-items:start;text-align:left;width:100%;padding:14px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--c);border-radius:16px;box-shadow:0 1px 2px rgba(18,35,27,.04)}
.vz-row:active{transform:scale(.99)}
.vz-when{display:flex;flex-direction:column;gap:2px}.vz-when b{font:600 14px Geologica,sans-serif}.vz-when small{color:var(--mute);font-size:12px}
.vz-main{display:flex;flex-direction:column;gap:3px;min-width:0}.vz-main>b{font:600 15px Geologica,sans-serif}
.vz-main small{color:var(--mute);font-size:13px;line-height:1.35}
.vz-addr{display:flex;align-items:center;gap:4px}.vz-addr .i{width:13px;height:13px;flex:none}
.vz-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:4px}.vz-no{font-size:12px;color:var(--mute)}
.vz-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.vz-side .num{font-size:14px}
@media (max-width:520px){ .vz-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"w s" "m m"}.vz-when{grid-area:w;flex-direction:row;gap:8px;align-items:baseline}.vz-side{grid-area:s;flex-direction:row;align-items:center}.vz-main{grid-area:m} }
@media (max-width:900px){
  .vz-tabs button{padding-left:9px;padding-right:9px;font-size:13px;gap:5px}
  .vz-bar .sinput{flex:1 1 100%}
  .vz-bar .fsel,.vz-bar .usel{flex:1 1 0;min-width:0}
}
@media (max-width:900px){
  .vz-tabs button{padding-left:8px;padding-right:8px;gap:4px}
  .vz-tabs button i{background:none!important;padding:0;font-weight:500;opacity:.7;color:inherit!important}
  .vz-bar .usel{width:auto!important;flex:1 1 0}
}

/* Операції: стрічка по днях */
.opsc .ops-f{margin:2px 0 8px}
.op-day{font:600 13px Onest,sans-serif;color:var(--mute);margin:14px 2px 6px}
.op-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:10px 0;text-align:left;border-top:1px solid var(--line)}
.op-day+.op-row{border-top:0}
.op-ic{display:flex;width:40px;height:40px;border-radius:12px;align-items:center;justify-content:center;background:#FBEFE8;color:#B5562F}
.op-ic.in{background:#E3EFE6;color:var(--acc)}.op-ic .i{width:20px;height:20px}
.op-row .t{min-width:0;display:flex;flex-direction:column;gap:2px}.op-row .t b{font:600 15px Onest,sans-serif}
.op-row .t small{color:var(--mute);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.op-sum{font:600 15px Geologica,sans-serif;white-space:nowrap}.op-sum.in{color:var(--acc)}.op-sum.out{color:#C2432C}

.cl-st{margin:8px 0 2px}.cl-st .cchip small{margin-left:6px;opacity:.65;font-size:12px}

.bload{display:flex;align-items:center;gap:8px;width:100%;margin-top:10px;padding:10px 12px;border-radius:12px;background:#EEF4EF;color:var(--ink);font:500 13.5px Onest,sans-serif;text-align:left}
.bload .i{width:16px;height:16px;flex:none;color:var(--acc)}.bload span{flex:1}.bload b{font-weight:600;color:var(--acc)}.bload b.mid{color:#8A6A1F}.bload b.hi{color:#C2432C}
.mem a.nw{color:inherit;text-decoration:none}

.bload b.mid{color:var(--acc)!important}.bload b.hi{color:#8A6A1F!important}
.cm-leg{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:center;margin:14px 0 4px;padding:12px;border-radius:14px;background:#fff;border:1px solid var(--line);font-size:13px;color:var(--mute)}
.cm-leg span{display:inline-flex;align-items:center;gap:6px}.cm-leg i{width:9px;height:9px;border-radius:50%}.cm-leg .i{width:14px;height:14px;color:#2E6E9E}
.cm-dayt{gap:8px}.cm-dayt .chip{margin-left:auto}.cm-dayt .chip+.btn{margin-left:0}

/* ===== Картка клієнта: оформлення (за зразком GPT): іконки в заголовках, картки замовлень і документів, нижня панель ===== */
.sct .i{box-sizing:content-box;width:18px;height:18px;padding:7px;border-radius:11px;background:#E3EFE6;color:var(--acc);margin-right:10px;flex:none}
.sct{display:inline-flex;align-items:center}
.sct .cnt{font-style:normal;font:600 12.5px Onest,sans-serif;margin-left:8px;padding:2px 9px;border-radius:99px;background:#E3EFE6;color:var(--acc)}
.alertb{display:flex;align-items:center;gap:10px;padding:12px 14px;margin-bottom:12px;border-radius:14px;background:#FBF1DC;color:#7A5410;font:500 14.5px Onest,sans-serif;line-height:1.35}
.alertb .i{width:22px;height:22px;flex:none}
.fin2{display:grid;grid-template-columns:1fr 1fr}
.fin2>div{padding:0 4px}.fin2>div+div{border-left:1px solid var(--line);padding-left:16px}
.fin2 small{display:block;color:var(--mute);font-size:13px;margin-bottom:4px}.fin2 b{font:600 22px Geologica,sans-serif;white-space:nowrap}
.osum .os-big{font:600 28px Geologica,sans-serif;margin:2px 0 12px}.osum small{color:var(--mute);font-size:13px}
.os-row{display:grid;grid-template-columns:1fr 1fr;padding-top:12px;border-top:1px solid var(--line)}
.os-row>div+div{border-left:1px solid var(--line);padding-left:16px}.os-row b{display:block;font:600 20px Geologica,sans-serif;margin-top:2px;white-space:nowrap}
.os-row b.in{color:var(--acc)}.os-row b.out{color:#C2432C}
.os-pend{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.os-pend i{width:10px;height:10px;border-radius:50%;background:#D99A2B}.os-pend span{flex:1}.os-pend b{font-weight:600}
.ocards{display:flex;flex-direction:column;gap:12px}
.ocard,.dcard{display:flex;flex-direction:column;gap:8px;width:100%;text-align:left;padding:16px;background:#fff;border:1px solid var(--line);border-radius:18px}
.ocard:active{transform:scale(.99)}
.oc-top{display:flex;align-items:center;gap:10px}.oc-top small{color:var(--mute);font-size:14px}
.oc-mid{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.oc-mid b:first-child{font:600 17px Geologica,sans-serif}.oc-mid .num{font:600 17px Geologica,sans-serif;white-space:nowrap}
.oc-sub{display:flex;align-items:center;gap:8px;color:var(--mute);font-size:14px}.oc-sub .i{width:16px;height:16px;color:var(--acc)}
.oc-debt{display:flex;justify-content:space-between;padding-top:10px;border-top:1px solid var(--line);font-size:14px;color:var(--mute)}.oc-debt b{color:#C2432C;font-weight:600}
.dc-top{display:flex;gap:12px;align-items:center}.dc-ic{display:flex;width:40px;height:40px;border-radius:12px;background:#E3EFE6;color:var(--acc);align-items:center;justify-content:center;flex:none}.dc-ic .i{width:20px;height:20px}
.dc-top .t{display:flex;flex-direction:column;min-width:0}.dc-top b{font:600 16px Geologica,sans-serif}.dc-top small{color:var(--mute);font-size:14px}
.dc-bot{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid var(--line)}.dc-d{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-size:14.5px}.dc-d .i{width:16px;height:16px;color:var(--acc)}
.cbar{display:none}
@media (max-width:900px){
  #cdrawer .cbar{display:flex;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);flex:none}
  #cdrawer .cbar .btn{flex:1;min-height:50px;justify-content:center;font-size:15px}
  #cdrawer .cbar .btn.acc{flex:1.25}
  #cdrawer .qa{grid-template-columns:repeat(3,1fr)}#cdrawer .qa #planV{display:none}
  #cdrawer header h2{font:700 21px Geologica,sans-serif}
  .phgrid.big{grid-template-columns:1fr;gap:14px}
  .phgrid.big .phi{aspect-ratio:16/10;border-radius:16px}
  .phgrid.big .phi small{font-size:14px;padding:22px 14px 12px}
  #cdrawer .sch2 #newOrder,#cdrawer .sch2 #newEst{display:none}
}

/* Потребує уваги: картка-кнопка + центральне вікно (шире на ПК), на телефоні нижній аркуш */
button.card.att{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:16px 18px;cursor:pointer}
button.card.att:hover{background:#FAFBF9}
.attm h3{display:flex;align-items:center;gap:8px;margin:0 0 12px}
.attl{max-height:min(62vh,560px);overflow:auto;margin:0 -6px;padding:0 6px}
.attl .li{padding:12px 0;align-items:center}
.attl .li .t{min-width:0}.attl .li .t small{white-space:normal}
@media (min-width:901px){ #mbox:has(.attm){width:min(760px,92vw);padding:24px 28px} .attl{max-height:min(64vh,620px)} }
@media (max-width:900px){#cdrawer .cbar{width:100%;align-self:stretch}}

/* Картка виїзду: оформлення за зразком GPT */
.vhero{padding:16px;margin-bottom:12px;border-radius:18px;background:color-mix(in srgb,var(--k) 9%,#fff);border:1px solid color-mix(in srgb,var(--k) 22%,#fff)}
.vh-top{display:flex;align-items:center;gap:12px;padding-bottom:12px;margin-bottom:10px;border-bottom:1px solid color-mix(in srgb,var(--k) 18%,#fff)}
.vh-ic{display:flex;width:42px;height:42px;border-radius:13px;align-items:center;justify-content:center;background:#fff;color:var(--k);flex:none}.vh-ic .i{width:22px;height:22px}
.vh-t{display:flex;flex-direction:column;flex:1;min-width:0}.vh-t b{font:600 19px Geologica,sans-serif}.vh-t small,.vh-t .linkb{color:var(--mute);font-size:14px;text-align:left}
.vh-row{display:flex;align-items:flex-start;gap:12px;padding:5px 0;font-size:15px}.vh-row>.i{width:18px;height:18px;margin-top:2px;flex:none;color:var(--k)}
.vh-row a,.vh-row .linkb{color:var(--cell,#1F5FA8);text-decoration:underline;text-underline-offset:3px}
.dbody.cardy .vhero + .sc,.dbody.cardy .alertb + .vhero{margin-top:0}
.dbody.cardy .sc.flat .sct{font-size:16px}

/* Картка замовлення і спільна нижня панель */
.cbar.vis{display:flex;gap:10px}
#zdrawer .cbar{display:flex;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);flex:none;width:100%;align-self:stretch}
#zdrawer .cbar .btn{min-height:50px;justify-content:center;font-size:15px;flex:1}
#zdrawer .cbar .btn.sq{flex:none;width:52px;padding:0}
.btn.ghost-d{background:#fff;border:1px solid #E7C3BA;color:#C2432C;width:100%;justify-content:center}
#zdrawer .osum .chip{display:inline-flex}
/* єдиний вигляд заголовків блоків у картках */
.dbody.cardy .sec>h3,.dbody.cardy .sec .sech h3,.dbody.cardy .sch2 .sct{font:600 16px Geologica,sans-serif;color:var(--ink);text-transform:none;letter-spacing:0}
.dbody.cardy .sec .sech{margin-bottom:10px}

/* ПК: картка клієнта в дві колонки, списки замовлень і документів сіткою */
@media (min-width:901px){
  #cdrawer .dbody.cardy.cols{display:block;column-count:2;column-gap:20px}
  #cdrawer .dbody.cardy.cols>*{break-inside:avoid;margin-bottom:14px;display:block}
  #cdrawer .dbody.cardy.cols>.alertb,#cdrawer .dbody.cardy.cols>.qa{column-span:all}
  #cdrawer .dbody.cardy.cols>.qa{display:grid}
  #cdrawer .dbody.cardy.cols>.alertb{display:flex}
  .ocards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .ocard:hover,.dcard:hover{border-color:#C9D6C9;box-shadow:0 2px 10px rgba(18,35,27,.06)}
  .vz-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .op-feed{max-width:860px}
}

@media (min-width:901px){
  #cdrawer .dbody.cardy.cols>.finc{column-span:all}
  #zdrawer .cbar{width:min(1000px,calc(100% - 40px));align-self:center;padding:12px 22px;border:1px solid var(--line);border-top:1px solid var(--line);border-radius:0 0 16px 16px;margin-bottom:18px;box-shadow:0 18px 40px -28px rgba(18,35,27,.45)}
  #zdrawer .cbar .btn.acc{max-width:360px;margin-left:auto}
}

/* лічильники в меню */
.nav .badge.bad{background:#C2432C;color:#fff}
.tbi{position:relative}
.tbb,.mtb{position:absolute;top:-4px;left:calc(50% + 6px);min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--sun);color:#3a2600;font:600 11px/18px Onest,sans-serif;font-style:normal;text-align:center;box-shadow:0 0 0 2px #fff;box-sizing:border-box}
.tbb.bad,.mtb.bad{background:#C2432C;color:#fff}
.mtile{position:relative}.mtb{top:12px;left:auto;right:12px}

@media (max-width:900px){
  .mtile .mtb{position:absolute;top:14px;right:14px;left:auto;width:auto;height:22px;min-width:22px;padding:0 7px;border-radius:99px;background:var(--sun);color:#3a2600;font:600 12px/22px Onest,sans-serif;box-shadow:none}
  .mtile .mtb.bad{background:#C2432C;color:#fff}
}

@media (max-width:900px){ .mtile{min-height:104px;gap:6px}.mtile small{font:400 12.5px Onest,sans-serif;color:var(--mute);margin-top:-4px;line-height:1.3} }

/* підписи біля точок на карті: час і прізвище (на дальньому масштабі лише час) */
.leaflet-tooltip.mtag{background:#fff;border:1px solid rgba(18,35,27,.18);border-radius:8px;padding:2px 7px;font:500 12px Onest,sans-serif;color:var(--ink);box-shadow:0 2px 6px rgba(18,35,27,.18);white-space:nowrap}
.leaflet-tooltip.mtag b{font-weight:600}
.leaflet-tooltip-left.mtag:before,.leaflet-tooltip-right.mtag:before{display:none}
.lbl-far .leaflet-tooltip.mtag .nm{display:none}
@media (max-width:900px){.leaflet-tooltip.mtag{font-size:12.5px;padding:3px 8px}}

/* ПК: реакція на наведення (кнопки, швидкі дії, картки, рядки, вкладки) */
@media (hover:hover) and (min-width:901px){
  .qa-b,.btn,.ocard,.dcard,.vz-row,.op-row,.ccard,.cm-item,.mtile,.li.click,.sc>summary,.stp,.pst,.card.kpi,.rolecard,.tabs button,.x,.mapbtn,.file,.fopt,.cchip,.pgb,.nav,.seg button,.srow{transition:background-color .16s ease,border-color .16s ease,box-shadow .18s ease,transform .16s ease,color .16s ease,filter .16s ease}
  .qa-b:hover{background:#F1F7F2;border-color:#B8CDBC;transform:translateY(-2px);box-shadow:0 6px 16px -8px rgba(18,35,27,.35);cursor:pointer}
  .qa-b.acc:hover{background:#2A7448;border-color:#2A7448;color:#fff;filter:none}
  .qa-b:active{transform:translateY(0);box-shadow:none}
  .btn.ghost:hover{background:#EFF5F0;border-color:#B8CDBC;box-shadow:0 4px 12px -8px rgba(18,35,27,.4);cursor:pointer}
  .btn.acc:hover{filter:brightness(1.1);box-shadow:0 6px 16px -8px rgba(18,70,40,.6);cursor:pointer}
  .btn.danger:hover{background:#FCEFEC;border-color:#E2A99D;cursor:pointer}
  .btn:active{transform:translateY(1px);box-shadow:none}
  .ocard:hover,.dcard:hover,.vz-row:hover,.ccard:hover,.cm-item:hover{border-color:#B8CDBC;box-shadow:0 8px 20px -12px rgba(18,35,27,.35);transform:translateY(-1px);cursor:pointer}
  .li.click:hover,.op-row:hover{background:#F4F8F4;cursor:pointer}
  .sc>summary:hover{background:#F6F9F6;cursor:pointer}
  .card.kpi:hover,.mtile:hover,.rolecard:hover{border-color:#B8CDBC;box-shadow:0 8px 20px -12px rgba(18,35,27,.3);transform:translateY(-1px);cursor:pointer}
  .tabs button:hover:not([aria-selected=true]){color:var(--ink);background:#F2F6F2}
  .seg button:hover:not([aria-pressed=true]){background:#EFF5F0;cursor:pointer}
  .cchip:hover:not([aria-pressed=true]){background:#EFF5F0;border-color:#B8CDBC;cursor:pointer}
  .x:hover{background:#EFF5F0;cursor:pointer}
  .mapbtn:hover{background:#F1F7F2;cursor:pointer}
  .file:hover{background:#F1F7F2;border-color:#B8CDBC;cursor:pointer}
  .linkb:hover,.vh-row a:hover{text-decoration-color:currentColor;filter:brightness(.85);cursor:pointer}
  .srow a:hover,.kv a:hover{text-decoration:underline}
  .nav:hover:not([aria-current=page]){background:rgba(255,255,255,.08);cursor:pointer}
  .pgb:hover:not([aria-current=true]){background:#EFF5F0;cursor:pointer}
  .chip.click:hover{filter:brightness(.95)}
}
@media (hover:hover) and (min-width:901px){ button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #2A7448;outline-offset:2px} }

/* ПК: картка клієнта в дві колонки (сітка, без CSS-колонок: вони виїжджали вправо) */
#cdrawer .dbody.cardy.cols{column-count:auto!important;display:block!important}
#cdrawer .dbody.cardy.cols>*{break-inside:auto;display:revert}
#cdrawer .dbody.cardy.cols>.qa{display:grid}
#cdrawer .dbody.cardy.cols>.alertb{display:flex}
@media (min-width:901px){
  #cdrawer .cols2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 18px;align-items:start}
  #cdrawer .cols2>.col{min-width:0}
}

/* режим справжніх даних: вхід і кнопка «Вийти» */
#liveov{position:fixed;inset:0;z-index:200;background:#DDE4D8;display:flex;align-items:center;justify-content:center;padding:16px}
.livebox{width:min(380px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 22px;display:flex;flex-direction:column;gap:10px;box-shadow:0 30px 60px -30px rgba(18,35,27,.5)}
.livebox h2{margin:6px 0 0;font:600 22px Geologica,sans-serif}.livebox .mute{margin:0 0 6px}
.livelogo{display:flex;width:46px;height:46px;border-radius:14px;background:var(--ink);color:#fff;align-items:center;justify-content:center}.livelogo .i{width:24px;height:24px}
.liveerr{min-height:20px;color:#C2432C;font-size:14px}.livedemo{text-align:center;color:var(--mute);font-size:13px;margin-top:6px}
.melogout{margin-left:auto;flex:none}
.mlogout{margin-top:6px}


/* вхід: поле пароля з «оком» */
.pwrap{position:relative;display:block}
.pwrap .fi{padding-right:46px}
.pweye{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;background:transparent;border-radius:10px;color:#6b7f74;display:flex;align-items:center;justify-content:center;cursor:pointer}
.pweye:hover,.pweye.on{color:var(--ink,#16352A);background:rgba(22,53,42,.06)}
.pweye .ec{display:none}
.pweye.on .ec{display:inline}
.pweye.on .eo{display:none}

/* налаштування: кнопки в рядку не злипаються, робочі години в одну лінію */
#v-set .acts{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.qbox .qh{display:flex;gap:10px;margin:10px 0 0 28px;max-width:320px}
.qbox .qh .fl{flex:1}

/* галочки в налаштуваннях: натискається лише сама галочка й текст, а не весь рядок до краю */
.chk.setrow,.qbox>label.chk{width:fit-content;max-width:100%}

/* відмітка відсутності: пошук людини, список за алфавітом, дати в одну лінію */
.pkl{max-height:190px;overflow:auto;margin-top:8px;border:1px solid var(--line);border-radius:12px;padding:2px}
.pkl .pk{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:0;border-radius:9px;padding:7px 9px;cursor:pointer;font:inherit}
.pkl .pk:hover{background:rgba(22,53,42,.05)}
.pkl .pk.on{background:rgba(63,143,85,.14)}
.pkl .pk .t{flex:1;display:flex;flex-direction:column}
.dates{align-items:flex-start}.dates .fl{margin:0}
.srch{position:relative;display:block}.srch .i{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:#6b7f74;pointer-events:none}.srch .fi{padding-left:38px}

.abx{margin-left:8px;padding:6px 8px;color:#a33}

/* журнал помічника */
details.alrow{display:block;border-bottom:1px solid var(--line);padding:9px 0}
details.alrow>summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none}
details.alrow>summary .t{display:flex;flex-direction:column}
details.alrow>summary small{color:var(--mute);font-size:12px}
details.alrow .almore p{white-space:pre-wrap;word-break:break-word;max-height:220px;overflow:auto}
details.alrow>summary::-webkit-details-marker{display:none}
details.alrow .almore{padding:4px 2px 10px;font-size:13px}
/* налаштування на ПК: кнопки з повітрям, не злипаються з полями й одна з одною */
@media (min-width:901px){
  #v-set .acts{gap:14px;margin-top:18px;margin-bottom:6px}
  #v-set .acts .btn{padding:11px 22px;min-height:42px}
  #v-set .qbox{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
  #v-set .qbox .qh{margin-top:14px;gap:16px}
  #v-set .qbox .acts{margin-top:18px}
  #v-set .sec{margin-top:26px}
}
.me .melogout{color:#D9E6DD;border-color:rgba(255,255,255,.22);background:transparent}

/* підказки адреси й вибір точки на карті */
.asw{position:relative}
.asbox{background:#fff;border:1px solid var(--line);border-radius:12px;margin-top:6px;max-height:260px;overflow:auto;-webkit-overflow-scrolling:touch}
.asi{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;padding:11px 14px;border:0;border-bottom:1px solid var(--line);background:#fff;font:inherit;cursor:pointer}
.asi:last-child{border-bottom:0}.asi:hover,.asi:focus{background:#F1F6F2}.asi small{color:var(--mute);font-size:12px}
.aspin{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;font-size:13px;cursor:pointer}
.aspin svg{width:16px;height:16px}.asst{display:block;margin-top:4px;font-size:12px}
.pickmap{position:fixed;inset:0;z-index:200;background:#fff;display:flex;flex-direction:column}
.pm-top,.pm-bot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:#fff}
.pm-top{border-bottom:1px solid var(--line)}.pm-bot{border-top:1px solid var(--line);padding-bottom:max(12px,env(safe-area-inset-bottom))}
.pm-map{flex:1;min-height:0}.pm-bot .mute{font-size:13px;flex:1}

.mbox:has(.asw){min-height:min(600px,92vh)}
/* модальне вікно: фон під ним не прокручується (iOS ігнорує overflow:hidden на body) */
.modal:not([hidden]){touch-action:none;overscroll-behavior:none}
.modal:not([hidden]) .mbox{touch-action:pan-y}
body.modal-lock{position:fixed;left:0;right:0;width:100%}

/* хрестик закриття в модальних вікнах */
.mbox{position:relative}
.mxbtn{position:absolute;top:10px;right:10px;z-index:3;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;background:transparent;color:var(--mute);cursor:pointer}
.mxbtn:hover{background:#EEF2EE;color:var(--ink)}.mxbtn svg{width:18px;height:18px}
.mbox>h3:first-of-type{padding-right:34px}

.inst{margin-top:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#F7FAF7}
.inst h4{margin:0 0 6px;font-size:14px}.inst ol{margin:0;padding-left:20px;font-size:14px;line-height:1.5}.inst li{margin:3px 0}

/* розділ «Діалоги» */
.dlg{display:grid;grid-template-columns:320px 1fr;gap:16px;align-items:start}
.dlg-l,.dlg-r{padding:16px}.dlg-r{min-height:60vh}
.dlg-p{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px;border:1px solid transparent;border-radius:12px;background:transparent;font:inherit;cursor:pointer}
.dlg-p:hover,.dlg-p.on{background:#EEF4EF;border-color:var(--line)}.dlg-p .t{display:flex;flex-direction:column;min-width:0;flex:1}
.dlg-p small{color:var(--mute);font-size:12px}.dlg-lq{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dlg-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}.dlg-top h2{margin:0}.dlg-back{display:none}
.dlg-f{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.dlg-f .fi{max-width:300px}
.dlg-chat{display:flex;flex-direction:column;gap:10px;max-height:70vh;overflow:auto;padding:4px 2px}
.dlg-m{display:flex;flex-direction:column;gap:3px;max-width:86%}.dlg-m.u{align-self:flex-end;align-items:flex-end}.dlg-m.a{align-self:flex-start}
.dlg-m .b{padding:10px 13px;border-radius:14px;font-size:14px;line-height:1.45;word-break:break-word}
.dlg-m.u .b{background:#12231B;color:#fff;border-bottom-right-radius:4px}.dlg-m.a .b{background:#F1F4EE;border-bottom-left-radius:4px}
.dlg-m small{color:var(--mute);font-size:11px}.dlg-bad{color:#B0473E!important}.dlg-tools{opacity:.8}
@media (max-width:900px){
  .dlg{grid-template-columns:1fr}.dlg:not(.open) .dlg-r{display:none}.dlg.open .dlg-l{display:none}.dlg-back{display:inline-flex}.dlg-m{max-width:94%}.dlg-chat{max-height:none}
}

.dlg-pair{display:flex;flex-direction:column;gap:8px;padding:14px 0;border-top:1px solid var(--line)}.dlg-pair:first-of-type{border-top:0}
.dlg-m .msg{max-width:100%}.dlg-m.a{max-width:min(760px,94%)}.dlg-chat{gap:0}
.dlg-m small{margin:0 4px}

.cell .wx.warn,.mc .wx.warn,.cm .wx.warn{color:#B9791F}

.livelogo{background:#FCF6EA!important;overflow:hidden}.livelogo img{width:100%;height:100%;object-fit:contain}
.livelogo{width:76px!important;height:76px!important;border-radius:18px!important}

.logo{padding:0 4px 18px!important}.logoimg{width:100%;max-width:190px;display:block;border-radius:14px}
.liveimg{display:block;width:190px;max-width:80%;margin:0 auto 6px;border-radius:14px}

body.role-client #aiBtn,body.role-client #aiFab,body.role-client .tb-ai{display:none!important}

/* «Увійти як»: смуга зверху */
.impbar{position:sticky;top:0;z-index:300;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:8px 12px;background:#B9791F;color:#fff;font-size:13px}
.impbar .btn{background:#fff;color:#7A4E0F;border:0}
