:root{--bg:#0b0b0c;--bg2:#111113;--card:#161618;--line:#232327;--line2:#2e2e33;--tx:#ecebe7;--mut:#8c8a85;--acc:#c9a46a;--accs:rgba(201,164,106,.14);--slot:22px;--r:12px;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box;margin:0}
body{background:var(--bg);color:var(--tx);font:14px/1.4 Inter,system-ui,sans-serif;display:flex;height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased}
h1,h2,h3,b,.mf{font-family:Manrope,Inter,sans-serif}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,select{font:inherit;color:var(--tx);background:var(--bg2);border:1px solid var(--line2);border-radius:10px;padding:10px 12px;outline:none;transition:border .2s}
input:focus,select:focus{border-color:var(--acc)}
.side{width:224px;flex:none;background:linear-gradient(180deg,#0e0e10,#09090a);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:22px 14px}
.logo{display:flex;gap:12px;align-items:center;padding:0 8px 26px}
.mark{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font:800 15px Manrope;color:#0b0b0c;background:linear-gradient(135deg,#e3c58f,#a9843f);box-shadow:0 6px 24px rgba(201,164,106,.25)}
.logo b{display:block;font-size:15px;letter-spacing:.2px}.logo small{color:var(--mut);font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase}
nav button{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border-radius:10px;color:var(--mut);font-weight:500;transition:.2s var(--ease);position:relative}
nav button:hover{background:#151517;color:var(--tx)}nav button.on{background:var(--accs);color:var(--acc)}
nav svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
nav i{margin-left:auto;font-style:normal;font-size:11px;background:#7a2e2e;color:#ffd9d9;border-radius:20px;padding:1px 7px}nav i:empty{display:none}
.side-foot{margin-top:auto;color:var(--mut);font-size:12px;padding:8px}
main{flex:1;display:flex;flex-direction:column;min-width:0}
.top{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--line);gap:16px;flex-wrap:wrap}
.datenav{display:flex;align-items:center;gap:6px}.datenav button{height:36px;min-width:36px;padding:0 12px;border:1px solid var(--line2);border-radius:10px;font-size:16px;transition:.2s}
.datenav button:hover{border-color:var(--acc);color:var(--acc)}#today{font-size:13px;font-weight:600}
.datenav h1{font-size:19px;font-weight:700;margin-left:12px;letter-spacing:-.2px}
.stats{display:flex;gap:22px}.stats div{text-align:right}.stats small{display:block;color:var(--mut);font-size:11px;text-transform:uppercase;letter-spacing:1px}.stats b{font-size:17px}
.view{display:none;flex:1;overflow:auto;animation:fade .35s var(--ease)}.view.on{display:block}
@keyframes fade{from{opacity:0;transform:translateY(6px)}}
/* calendar */
.cal{display:grid;min-width:880px;position:relative}
.cal .hd{position:sticky;top:0;z-index:5;background:rgba(11,11,12,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:12px 12px;display:flex;align-items:center;gap:10px}
.av{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font:700 13px Manrope;color:#0b0b0c}
.hd b{display:block;font-size:14px}.hd small{color:var(--mut);font-size:11.5px}
.gut{position:relative;border-right:1px solid var(--line)}.gut span{position:absolute;right:8px;transform:translateY(-50%);color:var(--mut);font-size:11px;font-variant-numeric:tabular-nums}
.col{position:relative;border-right:1px solid var(--line);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--slot) - 1px),#17171a calc(var(--slot) - 1px),#17171a var(--slot));background-size:100% calc(var(--slot)*4)}
.col::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--slot)*4 - 1px),#26262a calc(var(--slot)*4 - 1px),#26262a calc(var(--slot)*4))}
.col.dragover{background-color:rgba(201,164,106,.035)}
.off{position:absolute;left:0;right:0;z-index:1;background:repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 8px,transparent 8px 16px);display:flex;align-items:flex-start;justify-content:center;padding-top:14px;color:#5d5b57;font-size:12px;letter-spacing:1px;text-transform:uppercase;pointer-events:none}
.off.full{background-color:rgba(0,0,0,.35)}
.ghost{position:absolute;left:6px;right:6px;border:1px dashed var(--acc);border-radius:10px;background:var(--accs);pointer-events:none;z-index:2;opacity:0;transition:opacity .15s;display:flex;align-items:center;padding-left:10px;font-size:12px;color:var(--acc)}
.col:hover .ghost.show{opacity:1}
.now{position:absolute;left:0;right:0;height:2px;background:#e06a5a;z-index:4;pointer-events:none}.now::before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:#e06a5a}
.ap{position:absolute;left:5px;right:5px;z-index:3;border-radius:10px;padding:6px 9px 8px 11px;background:linear-gradient(180deg,#1d1d20,#18181b);border:1px solid var(--line2);overflow:hidden;cursor:grab;user-select:none;touch-action:none;transition:box-shadow .2s,transform .2s var(--ease),border-color .2s,top .12s,height .12s;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.ap::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c)}
.ap:hover{border-color:#3a3a40;box-shadow:0 8px 28px rgba(0,0,0,.5)}
.ap.drag{cursor:grabbing;z-index:20;transform:scale(1.02);box-shadow:0 18px 50px rgba(0,0,0,.65),0 0 0 1px var(--acc);transition:none;opacity:.95}
.ap.paid{background:linear-gradient(180deg,#141a16,#121513)}.ap.paid .pay{display:none}
.ap .nm{font:600 13px Manrope;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;padding-right:52px}.ap .nm:hover{color:var(--acc);text-decoration:underline;text-underline-offset:3px}
.ap .sv{color:var(--mut);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ap .row{display:flex;gap:6px;align-items:center;margin-top:4px;flex-wrap:wrap}
.chip{font-size:11px;font-variant-numeric:tabular-nums;padding:2px 7px;border-radius:6px;background:#242428;color:#cfcdc7;cursor:text;transition:.15s;border:1px solid transparent}
.chip:hover{border-color:var(--acc);color:var(--acc)}
.chip input{width:70px;padding:0 4px;font-size:11px;border-radius:4px;background:#0b0b0c}
.ap .pr{position:absolute;top:6px;right:8px;font:600 12px Manrope;color:var(--acc)}
.ap .pay{font-size:11px;padding:2px 8px;border-radius:6px;background:var(--acc);color:#0b0b0c;font-weight:600;opacity:0;transition:.2s}.ap:hover .pay{opacity:1}
.ap .ok{font-size:11px;color:#7fc49a}
.chip,.pay{position:relative;z-index:2}.ap .rs{position:absolute;left:0;right:0;bottom:0;height:6px;z-index:1;cursor:ns-resize}.ap .rs::after{content:"";position:absolute;left:50%;bottom:2px;width:22px;height:3px;margin-left:-11px;border-radius:3px;background:#4a4a50;opacity:0;transition:.2s}.ap:hover .rs::after{opacity:1}
.ap.short{display:flex;align-items:center;gap:6px;padding:2px 8px 2px 11px}.ap.short .sv,.ap.short .pr{display:none}.ap.short .nm{padding-right:0;flex:1 1 auto;min-width:48px}.ap.short .chip[data-act=start]{display:none}.ap.short .row{margin:0;flex:none;flex-wrap:nowrap}.ap.short .ok{display:none}.ap.mid .sv{display:none}
.tip{position:fixed;z-index:60;pointer-events:none;background:var(--acc);color:#0b0b0c;font:700 12px Manrope;padding:4px 9px;border-radius:7px;display:none}
/* drawer & pop */
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:.3s;z-index:40;backdrop-filter:blur(2px)}.scrim.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,94vw);background:#0f0f11;border-left:1px solid var(--line2);z-index:50;transform:translateX(105%);transition:transform .38s var(--ease);overflow:auto;padding:26px;box-shadow:-30px 0 80px rgba(0,0,0,.5)}
.drawer.on{transform:none}
.dx{position:absolute;top:18px;right:18px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line2);font-size:18px}
.drawer h2{font-size:22px;letter-spacing:-.3px;margin:6px 0 2px}.drawer .sub{color:var(--mut)}
.kp{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.kp div{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px}.kp small{color:var(--mut);font-size:11px;text-transform:uppercase;letter-spacing:.8px}.kp b{display:block;font-size:18px;margin-top:2px}
.sec{margin-top:20px}.sec h3{font-size:12px;color:var(--mut);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:10px;font-weight:600}
.tags{display:flex;gap:6px;flex-wrap:wrap}.tag{padding:5px 10px;border-radius:20px;background:var(--card);border:1px solid var(--line2);font-size:12.5px}.tag.g{border-color:rgba(201,164,106,.4);color:var(--acc)}
.list .it{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.list .it span{color:var(--mut)}
.note{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px;color:#d4d2cc;font-size:13px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border-radius:12px;font-weight:600;font-family:Manrope;transition:.2s var(--ease)}
.btn.p{background:linear-gradient(135deg,#dcbd84,#b08a47);color:#0b0b0c;box-shadow:0 8px 26px rgba(201,164,106,.25)}.btn.p:hover{transform:translateY(-1px);box-shadow:0 12px 32px rgba(201,164,106,.35)}
.btn.g{border:1px solid var(--line2)}.btn.g:hover{border-color:var(--acc)}.btn.w{width:100%}
.callrow{display:flex;gap:8px;margin-top:14px}
.pop{position:fixed;z-index:55;background:#141416;border:1px solid var(--line2);border-radius:14px;padding:16px;width:300px;box-shadow:0 20px 60px rgba(0,0,0,.6);display:none;animation:pop .2s var(--ease)}
@keyframes pop{from{opacity:0;transform:scale(.96) translateY(4px)}}
.pop h4{font:700 14px Manrope;margin-bottom:10px}.pop label{display:block;font-size:11px;color:var(--mut);margin:8px 0 4px;text-transform:uppercase;letter-spacing:.8px}.pop input,.pop select{width:100%}
.sugg{max-height:140px;overflow:auto;margin-top:4px}.sugg div{padding:7px 10px;border-radius:8px;cursor:pointer;font-size:13px}.sugg div:hover,.sugg div.on{background:var(--accs);color:var(--acc)}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(30px);background:#1c1c1f;border:1px solid var(--line2);padding:11px 18px;border-radius:12px;opacity:0;transition:.35s var(--ease);z-index:70;font-size:13px}.toast.on{opacity:1;transform:translateX(-50%)}
/* checkout */
.lines .ln{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.ln .t{flex:1}.ln small{color:var(--mut);display:block}.ln .x{color:var(--mut);width:24px;height:24px;border-radius:6px}.ln .x:hover{background:#2a1a1a;color:#e88}
.methods{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.methods button{border:1px solid var(--line2);border-radius:12px;padding:14px 6px;text-align:center;transition:.2s;font-weight:600;font-size:13px}.methods button span{display:block;font-size:20px;margin-bottom:4px}.methods button.on{border-color:var(--acc);background:var(--accs);color:var(--acc)}
.total{display:flex;justify-content:space-between;align-items:baseline;margin:20px 0 14px}.total b{font-size:30px;letter-spacing:-.5px}
/* till & stock */
.page{padding:28px;max-width:1180px}.page h2{font-size:24px;letter-spacing:-.3px}.page .sub{color:var(--mut);margin-top:4px}
.grid{display:grid;gap:14px;margin-top:22px}.g4{grid-template-columns:repeat(4,1fr)}.g2{grid-template-columns:1.3fr 1fr}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px}.card small{color:var(--mut);font-size:11px;text-transform:uppercase;letter-spacing:1px}.card .big{font:700 26px Manrope;margin-top:6px;letter-spacing:-.4px}
.bar{height:6px;border-radius:6px;background:#222;margin-top:8px;overflow:hidden}.bar i{display:block;height:100%;background:var(--c,var(--acc));border-radius:6px;transition:width .8s var(--ease)}
table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:11px 8px;border-bottom:1px solid var(--line);font-size:13px}th{color:var(--mut);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:1px}td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}
.diff{font:700 18px Manrope}.diff.okc{color:#7fc49a}.diff.bad{color:#e48c7c}
.badge{font-size:11px;padding:3px 9px;border-radius:20px;font-weight:600}.badge.low{background:rgba(224,160,80,.15);color:#e8b46a}.badge.out{background:rgba(224,100,90,.15);color:#ee8a7e}.badge.okb{background:rgba(127,196,154,.12);color:#7fc49a}
.qty{display:inline-flex;align-items:center;gap:8px}.qty button{width:26px;height:26px;border-radius:8px;border:1px solid var(--line2)}.qty button:hover{border-color:var(--acc);color:var(--acc)}
.closed{display:grid;place-items:center;height:60vh;color:var(--mut);font-size:16px}
@media (max-width:1100px){.side{width:72px;padding:18px 10px}.logo div:last-child,nav span,.side-foot{display:none}.logo{padding:0 6px 22px}nav i{position:absolute;top:4px;right:4px}.g4{grid-template-columns:repeat(2,1fr)}.g2{grid-template-columns:1fr}.stats{display:none}}
@media (max-width:640px){.side{display:none}.page{padding:16px}}

/* multi-service */
.ap .segs{position:absolute;inset:0;z-index:3;pointer-events:none}.ap.multi .sv{display:none}
.ap .sg{position:absolute;left:0;right:0;border-bottom:1px dashed rgba(201,164,106,.28)}.ap .sg:last-child{border-bottom:0}
.ap .sg:nth-child(even){background:rgba(201,164,106,.05)}
.ap .sl{position:absolute;right:6px;bottom:3px;background:rgba(22,22,24,.9);border-radius:6px;padding:0 2px 0 6px;display:flex;align-items:center;gap:4px;font-size:10.5px;color:var(--mut);pointer-events:auto}
.ap .sl .chip{font-size:10.5px;padding:0 5px}
.ap .sx{width:15px;height:15px;border-radius:50%;font-size:11px;line-height:1;color:var(--mut);opacity:0;transition:.2s;position:relative;z-index:2}.ap:hover .sx{opacity:1}.ap .sx:hover{background:#3a2222;color:#ffb3b3}
.ap .sb{position:absolute;left:55%;right:0;bottom:-4px;height:8px;cursor:ns-resize;pointer-events:auto;z-index:3}.ap .sb:hover{background:linear-gradient(transparent 3px,var(--acc) 3px,var(--acc) 5px,transparent 5px)}
.ap.multi .row{position:relative;z-index:2}.ap.multi .nm,.ap.multi .sv{position:relative;z-index:1}
.ap .addb{width:20px;height:20px;border-radius:6px;border:1px solid var(--line2);font-size:14px;line-height:1;color:var(--acc);opacity:0;transition:.2s;position:relative;z-index:2}.ap:hover .addb{opacity:1}.ap .addb:hover{background:var(--accs);border-color:var(--acc)}
.ap.flag{box-shadow:inset 0 0 0 1px rgba(201,164,106,.55)}
.ap .xb{position:absolute;right:8px;top:22px;z-index:2;font-size:10px;font-weight:700;padding:1px 7px;border-radius:20px;background:linear-gradient(135deg,#e3c58f,#a9843f);color:#0b0b0c;cursor:pointer;box-shadow:0 2px 10px rgba(201,164,106,.35);white-space:nowrap;max-width:60%;overflow:hidden;text-overflow:ellipsis}
.ap.short .xb{position:static;flex:none}
.bell{position:relative;width:38px;height:38px;border:1px solid var(--line2);border-radius:10px;font-size:16px;transition:.2s}.bell:hover{border-color:var(--acc)}
.bell i{position:absolute;top:-6px;right:-6px;font-style:normal;font-size:10.5px;font-weight:700;min-width:18px;height:18px;border-radius:9px;background:var(--acc);color:#0b0b0c;display:grid;place-items:center;padding:0 4px}.bell i:empty{display:none}
.qsl{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.qsl:empty{display:none}.qsl .tag button{margin-left:6px;color:var(--mut)}
.svl{display:grid;gap:4px;max-height:220px;overflow:auto}.svl button{display:flex;justify-content:space-between;padding:8px 10px;border-radius:8px;text-align:left;transition:.15s}.svl button:hover{background:var(--accs);color:var(--acc)}.svl small{color:var(--mut)}
.sep{height:1px;background:var(--line);margin:12px 0}
.opt{margin-top:6px;text-align:left;justify-content:flex-start}
.it.nf{align-items:center;gap:12px}
.ap.multi .sl{bottom:auto;top:4px;max-width:52%}.ap.multi .sl{white-space:nowrap;overflow:hidden}.ap.multi .pr{display:none}.ap.multi .nm{padding-right:0;max-width:48%}
.ap.multi .sg+.sg .sl{top:3px}
.ap .sb{left:0!important;height:6px;bottom:-3px}
.ap.multi .row{margin-top:6px}
.ap .pm{font:600 12px Manrope;color:var(--acc)}
.ap .sb{position:absolute;left:0!important;right:0;bottom:auto!important;height:6px;z-index:1;cursor:ns-resize}
.ap.multi .row{z-index:4;pointer-events:none}.ap.multi .row>*{pointer-events:auto}.ap.multi .row .nm{pointer-events:none}
/* VIP */
.ap.vip{background:linear-gradient(160deg,#17130b,#0b0b0c 70%)!important;border:1px solid rgba(201,164,106,.65)!important;box-shadow:0 0 0 1px rgba(201,164,106,.15),0 10px 30px rgba(201,164,106,.12),inset 0 1px 0 rgba(255,230,180,.08)}
.ap.vip::before{background:linear-gradient(#e8cc93,#9c7738)!important}
.ap.vip .nm{color:#f1dcae}
.vipb{display:flex;gap:5px;align-items:center;margin-bottom:3px;flex-wrap:wrap}
.vipb .vt{font:800 9.5px Manrope;letter-spacing:1.2px;text-transform:uppercase;padding:2px 7px;border-radius:10px;background:linear-gradient(135deg,#e6c98f,#a8823f);color:#0b0b0c}
.dep{font-size:10px;padding:2px 6px;border-radius:10px;border:1px solid rgba(201,164,106,.4);cursor:pointer}.dep.paid{color:#7fc49a;border-color:rgba(127,196,154,.4)}.dep.pending{color:#e0a050}
.addr{font-size:10.5px;color:#cdb98f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}
.off.ah{background:repeating-linear-gradient(135deg,rgba(201,164,106,.035) 0 8px,transparent 8px 16px)!important;color:rgba(201,164,106,.45)!important;pointer-events:none}
.qvip{margin-top:10px;padding:10px 12px;border:1px solid rgba(201,164,106,.4);border-radius:12px;background:linear-gradient(160deg,rgba(201,164,106,.08),transparent)}
.qvip .vh{font:800 11px Manrope;letter-spacing:1.5px;color:var(--acc);text-transform:uppercase}.vnote{font-size:11.5px;color:var(--mut);margin-top:8px}.qvip label{margin-top:8px}
/* VAT */
.vatrow{margin-top:14px;margin-bottom:14px}
.sw{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;color:var(--mut)}.sw input{display:none}.sw i{width:34px;height:20px;border-radius:20px;background:#2a2a2e;position:relative;transition:.2s}.sw i::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#888;transition:.2s}.sw input:checked+i{background:var(--acc)}.sw input:checked+i::after{left:17px;background:#0b0b0c}
.vt tr.tot td{border-top:1px solid var(--line2);padding-top:8px}
.prodc{text-align:left;cursor:pointer;transition:.2s var(--ease)}.prodc:hover{border-color:var(--acc);transform:translateY(-1px)}
/* products modal */
.pmod{position:fixed;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(6px);z-index:60;display:none;align-items:center;justify-content:center;padding:24px}.pmod.on{display:flex}
.pmbox{width:min(1100px,100%);max-height:92vh;overflow:auto;background:#0f0f11;border:1px solid var(--line2);border-radius:22px;padding:26px;box-shadow:0 40px 120px rgba(0,0,0,.6);animation:pmi .3s var(--ease)}
@keyframes pmi{from{opacity:0;transform:translateY(14px) scale(.98)}}
.pmh{display:flex;justify-content:space-between;align-items:flex-start}.pmh h2{margin:4px 0 0;font-size:24px}.pmh .sub{color:var(--mut)}.pmh .dx{position:static}
.pmt{display:flex;justify-content:space-between;gap:12px;margin:18px 0 14px;flex-wrap:wrap}
.seg2{display:inline-flex;border:1px solid var(--line2);border-radius:12px;padding:3px}.seg2 button{padding:8px 14px;border-radius:9px;color:var(--mut);font-weight:600}.seg2 button.on{background:var(--accs);color:var(--acc)}
.pmb{display:grid;grid-template-columns:1.5fr 1fr;gap:14px;margin-top:14px}
.pl tr[data-sku]{cursor:pointer}.pl tr[data-sku]:hover td{background:rgba(255,255,255,.025)}.pl tr.on td{background:var(--accs)}.pl .m,.pd .m{color:var(--mut);font-size:12px}
.pd h3{margin:4px 0;font-size:19px}.kv{margin-top:14px;display:grid;gap:2px}.kv>div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line)}.kv span:first-child{color:var(--mut)}
.sups{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin-top:14px}.sup .sh{display:flex;justify-content:space-between;margin-bottom:8px}.sup h3{margin:4px 0 0}.sup tr.tot td{border-top:1px solid var(--line2)}
.pop{max-height:calc(100vh - 24px);overflow:auto}
/* round 4: colors, status, hover card, roles */
.ap{background:linear-gradient(180deg,color-mix(in srgb,var(--c) 9%,#1b1b1e),#17171a)}
.ap::before{width:4px;background:var(--c);box-shadow:0 0 12px color-mix(in srgb,var(--c) 60%,transparent)}
.ap .pr,.ap .pm{color:#e9e9ec!important;font-weight:600}
.ap .sg{border-bottom-color:rgba(255,255,255,.08)}.ap .sg:nth-child(even){background:none}
.ap .sg::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--sc);z-index:1}
.ap .sg{background:linear-gradient(90deg,color-mix(in srgb,var(--sc) 12%,transparent),transparent 60%)!important}
.ap:not(.drag):hover{transform:translateY(-1px) scale(1.012);z-index:6;border-color:color-mix(in srgb,var(--c) 55%,#3a3a40);box-shadow:0 12px 30px rgba(0,0,0,.55),0 0 0 1px color-mix(in srgb,var(--c) 35%,transparent)}
.ap.paid{background:#141416!important;filter:saturate(.15);opacity:.5;border-style:dashed}
.ap.paid:hover{opacity:.8}
.ap.paid .ok{display:inline-block!important;font-size:10px;padding:1px 7px;border-radius:10px;background:rgba(127,196,154,.16);color:#9fe0b8;font-weight:700}
.ap.ci{border-color:color-mix(in srgb,var(--c) 70%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--c) 40%,transparent),0 8px 24px color-mix(in srgb,var(--c) 22%,transparent)}
.cib{font-size:10px;font-weight:700;color:var(--c)}
.hc{position:fixed;z-index:70;width:300px;background:#141417;border:1px solid #2e2e34;border-radius:18px;padding:18px;box-shadow:0 30px 80px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.03);display:none}
.hc.on{display:block}
.hc .hn{font:800 21px Manrope;letter-spacing:-.3px;line-height:1.15}.hc .hm{color:var(--mut);font-size:12.5px;margin:4px 0 12px}
.hc .hs>div{display:flex;justify-content:space-between;align-items:baseline;padding:9px 12px;margin-bottom:6px;border-radius:10px;background:color-mix(in srgb,var(--sc) 13%,#18181b);border-left:4px solid var(--sc)}
.hc .hs b{font:800 15.5px Manrope}.hc .hs span{color:#cfcfd4;font-size:12.5px;font-weight:600}
.hc .hf{display:flex;justify-content:space-between;align-items:center;margin:10px 0 12px}.hc .hp{font:800 20px Manrope}
.hc .st{font-size:12px;font-weight:700;padding:4px 10px;border-radius:20px}.st.pd{background:rgba(127,196,154,.15);color:#9fe0b8}.st.ci{background:rgba(76,155,255,.15);color:#8fc0ff}.st.op{background:rgba(255,255,255,.06);color:#cfcfd4}
.hc .ha{display:flex;flex-wrap:wrap;gap:6px}.hc .ha .btn{height:36px;padding:0 12px;font-size:13px;flex:1}
.hpills{display:flex;flex-wrap:wrap;gap:6px}.pl{font-size:11.5px;padding:3px 9px;border-radius:20px;font-weight:600}.pl.r{background:rgba(255,99,99,.14);color:#ff9c9c}.pl.g{background:rgba(62,207,142,.14);color:#7fe3b3}
.who{display:flex;align-items:center;gap:10px;margin:auto 4px 8px;padding:10px;border:1px solid var(--line2);border-radius:14px;text-align:left}.who:hover{border-color:var(--acc)}.who .av{width:32px;height:32px;font-size:13px}.who b{display:block;font-size:13px}.who small{color:var(--mut);font-size:11px}.who .sw2{margin-left:auto;color:var(--mut)}
.side-foot{margin-top:0}
.codec,.lockc{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}.code{font:800 26px Manrope;letter-spacing:6px;color:var(--acc)}
.unl{margin-bottom:14px}
.blind .bc{max-width:520px}.blind .bc label{display:block;margin:12px 0 6px;color:var(--mut);font-size:12.5px}.blind .bc label span{opacity:.6}.blind .bc input{width:100%;font:600 22px Manrope;height:54px}
.recon{margin-bottom:14px;border-color:rgba(127,196,154,.35)}.recon.al{border-color:rgba(255,99,99,.55);box-shadow:0 0 0 1px rgba(255,99,99,.2),0 10px 30px rgba(255,80,80,.08)}
.rr{margin-top:10px}.rr>div{display:grid;grid-template-columns:1.2fr 1fr 1fr .8fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px}.rr span:not(:first-child){color:var(--mut)}.rr b{color:#e9e9ec}
.dv{text-align:right;font-weight:800}.dv.z{color:#7fc49a!important}.dv.w{color:#e0a050!important}.dv.b{color:#ff7b7b!important}
.alrt{margin-top:12px;padding:10px 14px;border-radius:12px;background:rgba(255,99,99,.12);color:#ff9c9c;font-weight:700}.okr{margin-top:12px;color:#7fc49a;font-weight:600}
.permc{margin-bottom:14px}.pr2{display:flex;gap:10px;align-items:center;margin:12px 0 6px}.pr3{justify-content:space-between;padding:12px 0;border-top:1px solid var(--line);font-size:13.5px;color:#e9e9ec}.pr3 small{display:block;color:var(--mut);font-size:11.5px;text-transform:none;letter-spacing:0}
.blindm #stats{display:none!important}
/* ---------- mobile / iPhone ---------- */
.tabbar,.mchips{display:none}
.clist{margin-top:14px;display:flex;flex-direction:column;gap:6px}.crow{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px 12px;min-height:56px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.crow b{display:block;font-size:15px}.crow small{color:var(--mut);font-size:12.5px}.crow i{margin-left:auto;color:var(--mut);font-style:normal;font-size:20px}.crow .av,.mc .av,.usw .av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font:700 12px Manrope;color:#0b0b0c;flex:none}
.srch{width:100%;margin-top:14px;height:46px;border-radius:12px;border:1px solid var(--line2);background:var(--bg2);color:var(--tx);padding:0 14px;font-size:16px}
.usw{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.usw button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px;border:1px solid var(--line2);border-radius:14px;min-height:96px;transition:.25s var(--ease)}.usw button.on{border-color:var(--acc);background:var(--accs)}.usw small{color:var(--mut);font-size:12px}
@keyframes sheet{from{transform:translateY(100%)}to{transform:none}}
@media (max-width:500px){
  html,body{width:100%;overflow:hidden;overscroll-behavior:none}
  body{height:100dvh;font-size:15px;-webkit-tap-highlight-color:transparent}
  .side{display:none}
  main{padding-bottom:calc(64px + env(safe-area-inset-bottom));padding-top:env(safe-area-inset-top);width:100vw}
  .top{padding:8px 12px;flex-wrap:nowrap;gap:8px}
  .top .stats{display:none!important}
  .datenav{gap:6px;min-width:0}.datenav button{min-width:44px;height:44px;border-radius:12px}#today{padding:0 10px}
  .datenav h1{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .bell{width:44px;height:44px}
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgba(14,14,16,.88);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);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;justify-content:center;gap:3px;min-height:52px;color:var(--mut);font-size:10.5px;font-weight:600;transition:color .2s,transform .15s var(--ease)}
  .tabbar button:active{transform:scale(.92)}
  .tabbar svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .tabbar button.on{color:var(--acc)}
  body[data-view=cal] .mchips{display:flex}
  .mchips{gap:8px;overflow-x:auto;padding:8px 12px;border-bottom:1px solid var(--line);scrollbar-width:none;flex:none;align-items:center}.mchips::-webkit-scrollbar{display:none}
  .mc{display:flex;align-items:center;gap:8px;flex:none;height:44px;padding:0 14px 0 5px;border-radius:22px;border:1px solid var(--line2);font-weight:600;font-size:14px;transition:.25s var(--ease)}
  .mc .av{width:32px;height:32px;font-size:11px}.mc.on{border-color:var(--acc);background:var(--accs);color:#fff}
  .mhint{color:var(--mut);font-size:12px;white-space:nowrap}
  #view-cal{scroll-snap-type:x mandatory;scroll-padding-left:48px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
  .cal{min-width:0}
  .cal .col{scroll-snap-align:start}
  .cal>.hd:first-child{position:sticky;left:0;z-index:7}
  .gut{position:sticky;left:0;z-index:4;background:var(--bg)}
  .gut span{font-size:11px}
  .cal .hd{padding:8px 10px}
  .ap{touch-action:manipulation;-webkit-user-select:none;-webkit-touch-callout:none;padding:7px 10px 9px 12px}
  .ap:hover{transform:none}
  .ap.lift{transform:scale(1.03);box-shadow:0 16px 40px rgba(0,0,0,.6),0 0 0 2px var(--acc);z-index:20;transition:transform .2s var(--ease)}
  .ap .rs{height:16px;touch-action:none}.ap .rs::after{content:"";position:absolute;left:50%;bottom:4px;width:28px;height:4px;margin-left:-14px;border-radius:2px;background:rgba(255,255,255,.28)}
  .ap .nm{font-size:14.5px}.ap .pay{min-height:30px;padding:0 12px}
  .ghost{display:none}
  .view{-webkit-overflow-scrolling:touch}
  .page{padding:16px 14px 24px!important;max-width:100vw}
  .page h2{font-size:24px}
  .grid,.g4,.g2,.pmb,.sups{grid-template-columns:1fr!important}
  .g4{grid-template-columns:1fr 1fr!important}
  table{font-size:13px}.card{overflow-x:auto}
  input,select,textarea{font-size:16px!important}
  .btn{min-height:44px}
  /* bottom sheets */
  .hc,.pop{left:0!important;right:0!important;top:auto!important;bottom:0!important;width:auto!important;max-height:86dvh;overflow:auto;border-radius:24px 24px 0 0!important;padding:26px 18px calc(18px + env(safe-area-inset-bottom))!important;box-shadow:0 -20px 60px rgba(0,0,0,.7)!important;z-index:80!important}
  .pop{animation:sheet .34s var(--ease)!important}
  .hc::before,.pop::before,.drawer::before{content:"";position:absolute;top:8px;left:50%;width:40px;height:5px;margin-left:-20px;border-radius:3px;background:#3a3a40}
  .hc .ha .btn{height:48px;font-size:15px;flex:1 1 45%}
  .hc .hn{font-size:24px}
  .drawer{top:auto!important;left:0;right:0;width:100%!important;height:92dvh;border-left:0;border-top:1px solid var(--line2);border-radius:24px 24px 0 0;transform:translateY(105%);padding:28px 16px calc(20px + env(safe-area-inset-bottom));z-index:85;transition:transform .42s cubic-bezier(.32,.72,0,1)}
  .drawer.on{transform:none}
  .dx{width:44px;height:44px}
  .scrim{z-index:84}
  body:has(.hc.on)::after,body:has(.pop[style*="display: block"])::after{content:"";position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:79;pointer-events:none;animation:fade .25s}
  .methods button{min-height:56px}
  .kp{grid-template-columns:repeat(3,1fr)}
  .toast{bottom:calc(84px + env(safe-area-inset-bottom));max-width:90vw}
  .pmod .pmb{grid-template-columns:1fr}
}
@media (hover:none),(pointer:coarse){.ap:hover{transform:none!important;box-shadow:0 2px 8px rgba(0,0,0,.35)}.ap{transition:box-shadow .2s,top .12s,height .12s}.ap.lift{transform:scale(1.03)!important}}
@media (max-width:500px){:root{--slot:36px}}
/* round 7: touch pass-through + move mode */
.cal,.top,#mchips,.tabbar{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
html,body{overscroll-behavior-x:none}
@media (hover:none),(pointer:coarse){
 #view-cal,.cal,.cal .col,.ap,.ap *{touch-action:pan-x pan-y}
 .ap .rs{display:none}
 body.moving .ap.mvsel,body.moving .ap.mvsel *{touch-action:none}
 body.moving .ap.mvsel .rs{display:block;height:22px;touch-action:none}
 body.moving .ap.mvsel .rs::after{width:40px;height:6px;background:#fff}
}
.ap.mvsel{outline:2px dashed var(--acc);outline-offset:1px;z-index:6;box-shadow:0 0 0 4px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.5)}
#mvbar{position:fixed;left:8px;right:8px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:60;background:#1b1b1e;border:1px solid var(--line2);border-radius:14px;padding:12px;display:none;box-shadow:0 10px 30px rgba(0,0,0,.6)}
#mvbar.on{display:block}#mvbar .mvt{font-weight:700}#mvbar .mvh{font-size:12px;opacity:.7;margin:4px 0 8px}
#mvbar .mvr{display:flex;gap:8px;margin-top:8px}#mvbar .mvr>*{flex:1;min-height:44px;font-size:16px}
@media (min-width:431px){#mvbar{left:auto;right:20px;bottom:20px;width:360px}}
.toast{pointer-events:none}
/* round 7b: quick sale, reschedule, bundles */
.qsale{margin-left:12px;background:linear-gradient(180deg,#e3bf82,var(--acc));color:#111;font-weight:800;border:0;border-radius:10px;padding:8px 14px;cursor:pointer;box-shadow:0 4px 14px rgba(201,164,106,.35);white-space:nowrap}
.qsv{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.qsv .btn{flex:1 1 30%;min-height:40px}
.qsc{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--line2);border-radius:10px}.qsc .x{margin-left:auto}
.qsc2 .qsr{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:6px 0;border-top:1px solid var(--line2)}
.miss{color:#e7a25a;font-size:12px;border:1px solid #e7a25a;border-radius:6px;padding:1px 5px}.missn{margin-top:8px;color:#e7a25a;font-size:13px}
.bnd{font-size:10px;color:var(--acc);border:1px solid var(--acc);border-radius:4px;padding:0 3px;margin-left:3px}
.bline{display:flex;justify-content:space-between;color:var(--acc);font-size:13px;margin-top:4px}
.btn.bsug{width:100%;margin:8px 0;border:1px dashed var(--acc);background:var(--accSoft,rgba(201,164,106,.14));color:var(--acc);font-weight:700}.btn.bsug s{opacity:.6;font-weight:400}
.hn[data-hc2]{cursor:pointer}
.fslot{position:absolute;left:4px;right:4px;z-index:5;border-radius:6px;background:rgba(111,207,151,.22);border:1px solid rgba(111,207,151,.7);color:#bff0d2;font-size:11px;font-weight:700;padding-left:6px;display:flex;align-items:center;cursor:pointer;transform-origin:center;animation:gate .45s cubic-bezier(.2,.8,.2,1) both}
.fslot:hover,.fslot.sel{background:rgba(111,207,151,.55);color:#062;box-shadow:0 0 0 2px #6fcf97}
@keyframes gate{0%{transform:scaleX(0);opacity:0}60%{opacity:1}100%{transform:scaleX(1);opacity:1}}
body.resch .ap{opacity:.45}
#rsbar{position:fixed;left:50%;transform:translateX(-50%);top:70px;z-index:70;background:#141416;border:1px solid #6fcf97;border-radius:16px;padding:14px 18px;min-width:380px;display:none;box-shadow:0 14px 40px rgba(0,0,0,.6)}
#rsbar.on{display:block}.rsh{font-size:13px;opacity:.75}.rsbig{font-size:34px;font-weight:800;color:#6fcf97;margin:6px 0;letter-spacing:.3px}
.rsr{display:flex;gap:10px;align-items:center;margin-top:8px}.rsr .btn{flex:1;min-height:44px}.rsn{margin-left:auto;font-size:12px;opacity:.7}
@media (max-width:500px){.qsale{padding:8px 10px;margin-left:6px}.qsale span{display:none}
 #rsbar{left:8px;right:8px;transform:none;top:auto;bottom:calc(72px + env(safe-area-inset-bottom));min-width:0}.rsbig{font-size:28px}}
/* round 7c strict gestures */
.ap.lpress{box-shadow:0 0 0 2px rgba(255,255,255,.35)!important}
.ap{-webkit-touch-callout:none}
/* round 7c: compact bottom-sheet for quick-create on touch phones (incl. 440px iPhones) */
@media (pointer:coarse) and (max-width:900px){
  .pop{left:0!important;right:0!important;top:auto!important;bottom:0!important;width:auto!important;max-height:40dvh!important;overflow:auto;overscroll-behavior:contain;border-radius:20px 20px 0 0!important;padding:18px 14px calc(10px + env(safe-area-inset-bottom))!important;box-shadow:0 -14px 40px rgba(0,0,0,.6)!important;z-index:80;animation:sheet .3s var(--ease)!important}
  .pop::before{content:"";position:absolute;top:6px;left:50%;width:36px;height:4px;margin-left:-18px;border-radius:2px;background:#3a3a40}
  .pop h4{font-size:14px;margin:0 0 6px}.pop label{margin:5px 0 3px;font-size:10px}
  .pop input,.pop select,.pop .btn{min-height:40px;height:40px}
  .pop #qOk,.pop #qC{height:44px}
  .pop > div[style*="margin-top:14px"]{margin-top:8px!important}
  body:has(.pop[style*="display: block"])::after{display:none!important}
}
@media (pointer:coarse) and (max-width:900px){
  .hc{left:0!important;right:0!important;top:auto!important;bottom:0!important;width:auto!important;max-height:42dvh!important;overflow:auto;overscroll-behavior:contain;border-radius:20px 20px 0 0!important;padding:18px 14px calc(10px + env(safe-area-inset-bottom))!important;z-index:80}
  .hc .hn{font-size:19px!important}.hc .ha .btn{height:42px!important}
  body:has(.hc.on)::after{display:none!important}
}
#agenda{display:none}
@media (max-width:500px){
  body.agenda #view-cal{display:none!important}
  body.agenda[data-view=cal] #agenda{display:block;flex:1;overflow:auto;padding:10px 12px calc(90px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
  .agh{display:flex;align-items:center;gap:10px;margin:2px 0 12px}.agh .av{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#111}
  .agh div{flex:1;min-width:0}.agh b{display:block;font-size:17px}.agh small{color:var(--mut);font-size:12px}.agh .btn{height:38px;font-size:13px;padding:0 10px;white-space:nowrap}
  .agi{display:flex;width:100%;align-items:center;gap:12px;text-align:left;background:#141416;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:8px;color:inherit;font:inherit}
  .agi.paid{opacity:.6}.agt{font:700 15px Manrope;min-width:52px}.agt small,.agc small{display:block;color:var(--mut);font-weight:400;font-size:12px}
  .agc{flex:1;min-width:0}.agc b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agp{font-weight:700;color:var(--acc);white-space:nowrap}
  .agempty{color:var(--mut);text-align:center;padding:40px 0}
  .mc.mall{font-weight:700}
}

/* zoom + axis lock + landscape */
:root{--slot0:36px}
@media (max-width:500px){
 #view-cal.vlock{overflow-x:hidden}
 .mc.zb{padding:0 12px;font-size:13px;color:var(--acc)}
 body.zoomed #view-cal{scroll-snap-type:none}
 body.zoomed .cal .hd{padding:4px 2px;gap:3px;flex-direction:column;align-items:center;text-align:center}
 body.zoomed .cal .hd .av{width:22px;height:22px;font-size:9px}body.zoomed .cal .hd b{font-size:10px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.zoomed .cal .hd small{display:none}
 body.zoomed .gut span{font-size:9px;right:3px}
 body.zoomed .ap{left:1px;right:1px;padding:1px 3px 1px 5px;border-radius:4px;background:color-mix(in srgb,var(--c) 30%,#18181b)}
 body.zoomed .ap>*:not(.nm){display:none!important}
 body.zoomed .ap .nm{font-size:9.5px;line-height:1.15;padding-right:0}
 body.zoomed .off.ah{font-size:0}
}
@media (orientation:landscape) and (max-height:500px) and (pointer:coarse){

 .top{padding:6px 12px}.top .stats{display:none!important}
 .cal{min-width:0}
 .hc,.pop{max-height:60dvh!important;overflow:auto}
 .drawer{max-height:100dvh}
}

.st.stb{border:1px solid var(--line2);background:transparent;color:#e9e9ec;cursor:pointer;min-height:32px;padding:4px 14px;transition:.2s}.st.stb:hover{border-color:#3fbf7f}.st.stb.on{background:#2e9e64;border-color:#2e9e64;color:#fff}
@media (pointer:coarse){.st.stb{min-height:40px;font-size:14px}}
.svl button.bk{opacity:.4;cursor:not-allowed;filter:grayscale(1)}.svl button.bk small{font-style:italic}
.ap.grp::after{content:"🔗";position:absolute;top:3px;right:5px;font-size:10px;z-index:2}.grpl{font-size:12px;color:var(--acc);margin-top:6px}.btn.comp{margin-top:8px;width:100%}.sec.oth h3{display:flex;justify-content:space-between;align-items:center}.psub{text-align:right;color:var(--mut);font-size:12.5px;margin-top:4px}.olist{display:flex;flex-direction:column;gap:6px;margin-top:8px}
/* skills / resched date / recurring */
.fslot.oth{background:rgba(143,179,163,.22);border-color:#8fb3a3;font-size:10px;white-space:nowrap;overflow:hidden}
.rsd{display:flex;gap:6px;overflow-x:auto;padding:6px 0;align-items:center;-webkit-overflow-scrolling:touch}
.rsd button{flex:none;border:1px solid var(--line,#333);background:transparent;color:inherit;border-radius:10px;padding:6px 9px;font-size:12px;white-space:nowrap}
.rsd button.on{background:var(--acc);color:#111;border-color:var(--acc)}.rsd button.cl{opacity:.35}
.rsd input[type=date]{flex:none;font-size:12px;padding:5px;border-radius:10px}
.rsq{font-size:12px;color:var(--mut)}
.ap.rec .nm::before{content:"↻ ";color:var(--acc)}
.hser{font-size:12px;color:var(--acc);margin-top:2px}
.rcbox{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.rcbox select,.rcbox input{flex:1;min-width:120px}
.rcs{font-size:13.5px;margin:6px 0}.rcc{max-height:38vh;overflow:auto;border:1px solid var(--line,#333);border-radius:10px;padding:6px 8px}.rcc.ok{color:#3ecf8e}
.rcr{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:4px 0;font-size:12.5px;border-bottom:1px solid rgba(255,255,255,.05)}
.scb{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.skw{overflow:auto;max-height:60vh;margin-top:8px}.skt{border-collapse:collapse;font-size:12px}.skt th{position:sticky;top:0;background:var(--card,#1a1a1a);padding:4px 6px}.skt td{padding:3px 6px;border-bottom:1px solid rgba(255,255,255,.05)}.skt td:first-child{white-space:nowrap}.skt td input{width:16px;height:16px}
/* unpaid */
.ap.owe{border:1.5px dashed #ff6b5a!important;opacity:1!important;filter:none!important}
.ap.owe .nm::after{content:" ⏳";color:#ff6b5a}
.st.ow{background:rgba(255,107,90,.16);color:#ff6b5a;border:1px solid rgba(255,107,90,.5)}
.balc{margin:8px 0;padding:8px 10px;border-radius:10px;background:rgba(255,107,90,.12);color:#ff8a7c;font-size:13.5px}
.plmsg{font-size:13px;padding:10px;border-radius:10px;background:rgba(255,255,255,.05);margin-bottom:10px;line-height:1.4}
.note.proto{margin-top:10px;font-size:12px;color:#e0b58a;border:1px solid rgba(224,181,138,.4);padding:8px;border-radius:10px}
.unpl .it{flex-wrap:wrap}.unpl .ua{display:flex;gap:6px;width:100%;margin-top:6px}.unpl .ua .btn{flex:1}
.methods button[data-m=unpaid].on{background:rgba(255,107,90,.18);border-color:#ff6b5a}
.qsale.unph{margin-right:6px}
@media(max-width:500px){.qsale.unph span{display:none}}
/* safe delete */
.hdel{margin-top:18px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08);text-align:center}
.dlink{background:none;border:0;color:#ff6b5a;font-size:12.5px;padding:8px 12px;opacity:.85;cursor:pointer}
.cdlg{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:20px}
.cbox{background:#1b1b1d;border-radius:16px;padding:20px;max-width:340px;width:100%;color:#eee}
.cbox h3{margin:0 0 6px;font-size:19px}.cbox p{margin:0 0 8px;color:#aaa}
.cdi{background:rgba(255,255,255,.05);border-radius:10px;padding:10px;margin-bottom:16px;line-height:1.5;font-size:14px}
.cbox #cdNo{height:48px;font-size:16px}
.dred{display:block;width:100%;margin-top:14px;background:none;border:1px solid rgba(255,107,90,.5);color:#ff6b5a;border-radius:12px;height:40px;font-size:14px}
#utoast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%,40px);opacity:0;pointer-events:none;transition:.2s;background:#2a2a2d;color:#fff;border-radius:12px;padding:10px 12px 10px 16px;display:flex;gap:14px;align-items:center;z-index:9998;box-shadow:0 6px 24px rgba(0,0,0,.4)}
#utoast.on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
#utoast button{background:none;border:0;color:#e3c58f;font-weight:700;font-size:15px;padding:6px}
/* iPhone tap model */
.ap.tsel{border-color:#4ea1ff!important;box-shadow:0 0 0 2px rgba(78,161,255,.55),0 2px 8px rgba(0,0,0,.35)}
.tmsel{background:rgba(78,161,255,.28)!important;border-radius:6px;outline:1px solid #4ea1ff}
.hc [data-tm]{touch-action:manipulation;padding:2px 3px}
.tpop{position:fixed;z-index:9990;display:flex;gap:6px;align-items:center;background:#232326;border:1px solid #4ea1ff;border-radius:12px;padding:6px;box-shadow:0 6px 20px rgba(0,0,0,.5)}
.tpop button{background:#2f2f33;border:0;color:#fff;border-radius:8px;height:36px;min-width:46px;font-size:14px;touch-action:manipulation}
.tpop b{min-width:44px;text-align:center}.tpop .tpx{background:#4ea1ff;color:#000}
.hc [data-du]{touch-action:manipulation;padding:2px 3px}
.bsel{outline:2px solid #4ea1ff!important;outline-offset:1px}
.dpop{flex-direction:column;align-items:stretch}.dpr{display:flex;gap:5px;align-items:center}.dpr button{min-width:40px}.dpr button.on{background:#4ea1ff;color:#000}
/* strict stylist paging on iPhone: no native horizontal scroll/snap; JS decides */
@media(max-width:500px){body:not(.zoomed) #view-cal{overflow-x:hidden;scroll-snap-type:none}
 body:not(.zoomed) #view-cal,body:not(.zoomed) .cal,body:not(.zoomed) .cal .col,body:not(.zoomed) .ap,body:not(.zoomed) .ap *{touch-action:pan-y}}
/* past / out-of-hours / force / archive */
.col .past{position:absolute;left:0;right:0;z-index:1;background:rgba(10,10,12,.45);pointer-events:none;border-bottom:1px dashed rgba(255,255,255,.12)}
.ohn{margin-top:10px;padding:7px 10px;border-radius:9px;border:1px solid #c9a46a;color:#e3c58f;background:rgba(201,164,106,.1);font-size:12.5px}
.fwarn{margin-top:10px;padding:8px 10px;border-radius:9px;background:rgba(255,170,60,.1);border:1px solid rgba(255,170,60,.45);color:#ffc27a;font-size:12.5px}.fwarn .btn{margin-top:8px}
.ap.oh{border:1.5px solid #c9a46a!important;background:linear-gradient(180deg,#14120d,#0d0c09)!important}
.ap.oh::before{content:"★ ΕΚΤΟΣ";position:absolute;right:6px;top:5px;font-size:9.5px;font-weight:800;letter-spacing:.06em;color:#14120d;background:#c9a46a;border-radius:5px;padding:1px 5px;z-index:2}
.ap.forced{box-shadow:0 0 0 1.5px rgba(255,170,60,.7)}
.ap.arch{background:repeating-linear-gradient(135deg,#1a1a1c 0 8px,#222225 8px 16px)!important;border:1px dashed #777!important;color:#aaa;opacity:.9}
.ap.arch::after{content:"ΑΡΧΕΙΟ";position:absolute;right:6px;bottom:5px;font-size:9px;font-weight:800;letter-spacing:.08em;color:#ccc;border:1px solid #888;border-radius:4px;padding:0 4px}
.arb{font-size:12px;color:var(--mut);font-weight:500}
.qsale.arch{margin-right:6px}@media(max-width:500px){.qsale.arch span{display:none}}
.nudge{position:fixed;z-index:9997;opacity:0;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease;background:#2a2622;color:#f1e7da;border:1px solid rgba(227,197,143,.35);border-radius:16px;padding:14px 14px 12px;box-shadow:0 10px 30px rgba(0,0,0,.35);width:310px}
.nudge.on{opacity:1;transform:none}
.nudge .nh{font-weight:700;font-size:15px;margin-bottom:4px}.nudge .nb{font-size:13px;color:#d8cbb9;line-height:1.4}
.nudge .nbt{display:flex;gap:8px;margin-top:12px}.nudge .nbt .btn{flex:1;font-size:12.5px}
@media(max-width:500px){.nudge{left:10px!important;right:10px;bottom:calc(14px + env(safe-area-inset-bottom));top:auto!important;width:auto}}
/* client card summary */
.cuh{display:flex;gap:12px;align-items:center;margin-bottom:12px}.cuh h2{margin:0}
.ctiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin:14px 0}
.ct{background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:10px 12px;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.ct small{display:block;font-size:11px;color:var(--mut)}.ct b{font-size:18px;font-variant-numeric:tabular-nums}.ct.acc b{color:var(--acc)}.ct.owe b{color:#e8a35a}
.csum,.cvl{display:flex;flex-direction:column;gap:2px}
.csr{display:grid;grid-template-columns:10px 1fr auto auto;gap:10px;align-items:center;padding:8px 2px;border-bottom:1px solid rgba(255,255,255,.05)}
.csd{width:10px;height:10px;border-radius:50%}.csx{color:var(--mut);font-size:12px}.csr b{min-width:58px;text-align:right}
.cv{display:grid;grid-template-columns:72px 1fr 54px 60px;gap:8px;padding:6px 2px;font-size:13px;color:#cfcfd4;border-bottom:1px solid rgba(255,255,255,.04)}.cv b{text-align:right}.cva{color:var(--mut)}
.agdots{display:none}
@media (max-width:500px){
 .ap .pr,.agi .agp{display:none!important}
 .drawer.cust .dx{position:absolute;top:10px;right:10px;width:26px;height:26px;font-size:14px;border-color:rgba(255,255,255,.06);color:rgba(255,255,255,.35);background:transparent}
 .drawer.cust{will-change:transform}
 /* polish */
 .ap{border-radius:12px;box-shadow:0 4px 14px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.12);background-image:linear-gradient(160deg,rgba(255,255,255,.16),rgba(255,255,255,0) 60%);filter:saturate(1.3) brightness(1.05);transition:transform .12s ease,opacity .2s}
 .ap.paid{filter:saturate(.5);opacity:.55}
 .ap:active,.agi:active,.hc .btn:active,.ct:active{transform:scale(.97)}
 .ap.tsel,.ap.sel{box-shadow:0 0 0 2px var(--acc),0 0 18px rgba(227,197,143,.45)}
 .hc{background:linear-gradient(170deg,rgba(30,30,36,.92),rgba(16,16,19,.96));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-color:rgba(255,255,255,.08)}
 .hc.on{animation:spr .22s cubic-bezier(.34,1.4,.64,1)}
 .agi{border-radius:14px;background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.01));box-shadow:0 4px 12px rgba(0,0,0,.2);transition:transform .12s}
 .agdots{display:flex;justify-content:center;gap:6px;margin:6px 0 10px}.agdots i{width:6px;height:6px;border-radius:3px;background:rgba(255,255,255,.2);transition:transform .2s,opacity .2s}.agdots i.on{background:var(--c);transform:scaleX(2.2)}
 #agenda.agl{animation:agl .22s ease-out}#agenda.agr{animation:agr .22s ease-out}
}
@keyframes spr{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
@keyframes agl{from{transform:translateX(40px);opacity:.3}to{transform:none;opacity:1}}
@keyframes agr{from{transform:translateX(-40px);opacity:.3}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.hc.on,#agenda.agl,#agenda.agr{animation:none!important}.ap,.agi,.drawer{transition:none!important}}
.agfh{font:600 12px Manrope;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin:18px 4px 8px}
.agfree{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}
.agf{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:8px 10px;border-radius:12px;border:1px dashed rgba(227,197,143,.35);background:linear-gradient(160deg,rgba(227,197,143,.10),rgba(227,197,143,.02));color:#eee;transition:transform .12s}
.agf b{font-size:16px}.agf small{font-size:11px;color:var(--mut)}.agf i{font-style:normal;font-size:10px;color:var(--acc);opacity:.8}
.agf.s1{min-width:64px}.agf.s2{min-width:92px}.agf.s3{min-width:124px}.agf.s4{min-width:160px;flex:1 1 160px;max-width:100%}
.agf:active{transform:scale(.97)}
@media (max-width:500px){
 .ap.sm{display:flex!important;align-items:center;gap:5px;padding:0 6px!important;overflow:hidden;white-space:nowrap}
 .ap.sm .row,.ap.sm .pr,.ap.sm .xb,.ap.sm .vipb,.ap.sm .addr,.ap.sm .segs{display:none!important}
 .ap.sm .nm{position:static!important;font:700 11.5px/1.1 Manrope;min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0!important}
 .ap.sm .sv{position:static!important;font:500 11px/1.1 Manrope;opacity:.8;flex:0 0 auto;margin:0!important;white-space:nowrap}
}
/* ===== depth pass (iPhone + Mac) ===== */
:root{--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}
#view-cal,#cal{background-color:#070708}
.col{background-color:#09090a;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--slot)*4 - 1px),#26262b calc(var(--slot)*4 - 1px),#26262b calc(var(--slot)*4)),repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--slot) - 1px),#141417 calc(var(--slot) - 1px),#141417 var(--slot));background-size:100% calc(var(--slot)*4),100% var(--slot);box-shadow:inset 0 8px 18px rgba(0,0,0,.45)}
.gut span.q60{color:#e6e6ea;font-weight:700;font-size:11px}
.gut span.q30{color:var(--mut);font-size:10px}
.gut span.q15{color:rgba(175,175,185,.78);font-size:9.5px}
body.zfit .gut span.q15{display:none}
@media (max-width:500px){.gut span.q60{font-size:10.5px}.gut span.q30{font-size:9.5px}.gut span.q15{font-size:9px}}
.ap:not(.vip){background-image:var(--grain),linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,0) 45%,rgba(0,0,0,.22)),linear-gradient(180deg,color-mix(in srgb,var(--c) 24%,#1b1b1e),color-mix(in srgb,var(--c) 12%,#141416))!important}
.ap{border-radius:11px;box-shadow:0 1px 0 rgba(255,255,255,.14) inset,0 -1px 0 rgba(0,0,0,.35) inset,0 2px 4px rgba(0,0,0,.35),0 8px 20px rgba(0,0,0,.35)}
.ap.paid{box-shadow:0 1px 3px rgba(0,0,0,.3)}
.ap.vip{background-image:var(--grain),linear-gradient(160deg,#211a0d,#0b0b0c 70%)!important;border:1px solid rgba(232,204,147,.8)!important;box-shadow:0 0 0 1px rgba(232,204,147,.25),0 0 14px rgba(232,204,147,.45),0 0 34px rgba(201,164,106,.28),inset 0 1px 0 rgba(255,235,190,.18),0 10px 26px rgba(0,0,0,.5)!important}
.ap.vip::after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;box-shadow:0 0 22px rgba(232,204,147,.35);opacity:.6;animation:vglow 2.8s ease-in-out infinite}
@keyframes vglow{50%{opacity:1}}
.hc,.drawer,#pop,.cbox,.nudge{background-image:var(--grain),linear-gradient(165deg,rgba(255,255,255,.06),rgba(255,255,255,0) 40%);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 2px 6px rgba(0,0,0,.4),0 24px 60px rgba(0,0,0,.65)}
.btn{background-image:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,0) 55%,rgba(0,0,0,.12));box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 -1px 0 rgba(0,0,0,.3),0 2px 6px rgba(0,0,0,.35);transition:transform .12s,box-shadow .12s}
.btn:active{transform:translateY(1px) scale(.98);box-shadow:inset 0 2px 4px rgba(0,0,0,.4)}
.agi,.ct,.agf{box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 3px 8px rgba(0,0,0,.35),0 10px 22px rgba(0,0,0,.25)}
@media (prefers-reduced-motion:reduce){.ap.vip::after{animation:none}.btn{transition:none}}
.ppop{position:fixed;z-index:90;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 14px;border-radius:14px;background:linear-gradient(165deg,#1f1f24,#121215);border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 14px 34px rgba(0,0,0,.6);animation:spr .2s ease-out;min-width:120px}
.ppop .ppn{font:600 12px Manrope;color:var(--mut);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ppop .ppr{font:700 18px Manrope;color:var(--acc)}
.ppop .pay{font:600 11px Manrope;min-height:30px;padding:0 12px;border-radius:8px;background:var(--acc);color:#111;border:0;margin-top:2px}
.ppop small{font-size:10px;color:var(--mut)}.ppop .pay.bsel{box-shadow:0 0 0 2px #fff,0 0 14px rgba(227,197,143,.6)}
@media (max-width:500px){.ap.sm .sv{display:inline!important;height:auto}}
@media (prefers-reduced-motion:reduce){.ppop{animation:none}}
@media (max-width:500px){
 .ap{transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .15s,border-color .15s,top .12s,height .12s}
 .ap.tsel{transform:scale(1.05);transform-origin:center;z-index:20!important;border:3px solid var(--c)!important;filter:saturate(1.45) brightness(1.18);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.32),inset 0 -2px 0 rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.12),0 0 18px color-mix(in srgb,var(--c) 70%,transparent),0 6px 12px rgba(0,0,0,.5),0 18px 40px rgba(0,0,0,.6)!important}
 .ap.vip.tsel{border-color:#e8cc93!important;box-shadow:inset 0 2px 0 rgba(255,235,190,.35),0 0 24px rgba(232,204,147,.7),0 0 46px rgba(201,164,106,.4),0 18px 40px rgba(0,0,0,.6)!important}
}
@media (prefers-reduced-motion:reduce){.ap.tsel{transition:none}}
.ppop .ppb{display:flex;gap:6px}.ppop .pay.g{background:rgba(255,255,255,.1);color:#eee;border:1px solid rgba(255,255,255,.16)}
.tkc{cursor:pointer;position:relative}.tk{display:inline-flex;gap:4px;margin-left:5px;vertical-align:middle}
.tk i{font-style:normal;font:700 10px/1 Manrope;padding:2px 4px;border-radius:5px;white-space:nowrap}
.tku{color:#3ddc84;background:rgba(61,220,132,.12)}.tkd{color:#ff5c5c;background:rgba(255,92,92,.12)}.tkm{color:#8fb3ff;background:rgba(143,179,255,.12)}
h3.tku,h3.tkd,h3.tkm{background:none}
@media (max-width:500px){.tk{margin-left:3px;gap:2px}.tk i{font-size:9.5px;padding:1px 3px}}
.pfn{background:none;border:0;color:var(--acc);text-decoration:underline dotted;font:inherit;cursor:pointer;padding:4px 0;white-space:nowrap}
/* staff stats + grants + retention */
.stc .stl{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.str{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.15));box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 2px 6px rgba(0,0,0,.3)}
.str .stn{min-width:70px}.str .sv{font-size:12px;color:var(--mut)}
.gkb{border:0;background:rgba(255,255,255,.05);border-radius:8px;font-size:12px;padding:2px 6px;opacity:.55;cursor:pointer}.gkb.on{opacity:1;box-shadow:0 0 8px rgba(201,164,106,.6)}
.gtb{font-size:10px;padding:2px 6px;border-radius:9px;background:rgba(201,164,106,.18);color:#e8c98a;cursor:pointer}
.gdur{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.glo{background:linear-gradient(100deg,#f5d27a 0%,#7fe0b0 45%,#fff3c4 50%,#f5d27a 60%,#7fe0b0 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 12px rgba(245,210,122,.28);animation:glsw 5s ease-in-out infinite}
.sv.glo,.sv.glo b{color:transparent}
@keyframes glsw{0%,70%{background-position:100% 0}100%{background-position:-50% 0}}
.calm{color:var(--mut)!important;background:none;animation:none}
.rtg{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:10px 0}
.rt{position:relative;padding:10px;border-radius:14px;border:1.5px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.2));overflow:hidden}
.rt.good{border-color:rgba(110,210,150,.7);box-shadow:0 0 10px rgba(110,210,150,.18)}
.rt.mid{border-color:rgba(224,170,90,.55)}
.rt.bad{border-color:rgba(220,120,120,.45)}
.rt.gold{border-color:#f5d27a;box-shadow:0 0 14px rgba(245,210,122,.45),inset 0 0 12px rgba(245,210,122,.12);animation:gpl 3.2s ease-in-out infinite}
.rt.gold::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,rgba(255,240,190,.18) 50%,transparent 60%);transform:translateX(-120%);animation:shm 4.5s ease-in-out infinite;pointer-events:none}
.trph{position:absolute;top:6px;right:8px}.spk{position:absolute;top:4px;right:30px;width:6px;height:6px;border-radius:50%;background:#fff6d0;box-shadow:0 0 8px #f5d27a;animation:spk 2.4s ease-in-out infinite}
.rtb{display:flex;justify-content:space-between;font-size:12px;margin-top:3px}.rtb span{color:var(--mut)}
@keyframes gpl{50%{box-shadow:0 0 22px rgba(245,210,122,.6),inset 0 0 14px rgba(245,210,122,.16)}}
@keyframes shm{0%,60%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
@keyframes spk{0%,100%{opacity:.2;transform:scale(.6)}50%{opacity:1;transform:scale(1.2)}}
@media (prefers-reduced-motion:reduce){.glo,.rt.gold,.rt.gold::after,.spk{animation:none}}
/* date header */
.datenav .dnav{display:flex;align-items:center;gap:6px;flex:1;min-width:0}
.dnav .dmid{flex:1;display:flex;flex-direction:column;align-items:center;min-width:0}
.dnav #dateTitle{margin:0;font-size:20px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.dnav .dtag{font-size:10px;padding:1px 8px;border-radius:9px;border:1px solid var(--line,rgba(255,255,255,.15));background:none;color:var(--mut);margin-top:2px;cursor:pointer}
.dnav .dtag.is{color:#111;background:var(--acc);border-color:var(--acc);font-weight:600}
.dnav .dside{background:none;border:0;color:var(--mut);font-size:12px;cursor:pointer;white-space:nowrap;padding:4px;opacity:.8}
.dnav .dside:hover{opacity:1;color:var(--txt,#fff)}
@media (max-width:500px){.dnav #dateTitle{font-size:16px}.dnav .dside{font-size:10.5px;padding:2px}.dnav{gap:2px}}
@media (max-width:360px){.dnav .dside{display:none}}
/* stylist name zoom + room */
.hd{cursor:pointer;transition:transform .25s cubic-bezier(.2,.9,.3,1.2)}
.hd.hzoom{transform:perspective(500px) rotateX(10deg) scale(1.25);z-index:30;position:relative;text-shadow:0 0 12px rgba(201,164,106,.6)}
body.hzm .col,body.hzm .hd:not(.hzoom),body.hzm .gut{filter:blur(1.5px);opacity:.6;transition:opacity .25s,filter .25s}
.cal.foc .col:not(.fsel),.cal.foc .hd:not(.fsel){opacity:.28;filter:saturate(.4)}
#cal.foc .col:not(.fsel),#cal.foc .hd:not(.fsel){opacity:.28;filter:saturate(.4)}
.col.fsel{box-shadow:0 0 0 1.5px var(--acc) inset}
#roomBar{padding:8px 12px;border-bottom:1px solid var(--line)}
.rbh{display:flex;align-items:center;gap:10px;margin-bottom:8px}.rbh .av{width:26px;height:26px;font-size:10px}.rbh #focAll{margin-left:auto}
.rtiles{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:8px 0}
.rtile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(0,0,0,.2));box-shadow:0 3px 10px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.08);color:var(--txt,#eee);font-size:18px;cursor:pointer;transition:transform .2s cubic-bezier(.2,.9,.3,1.3)}
.rtile span{font-size:11px;color:var(--mut);text-align:center;line-height:1.15}
.rtile:active{transform:scale(.97)}
.rtile.pay{border-color:rgba(201,164,106,.6);color:var(--acc)}
@media (prefers-reduced-motion:reduce){.hd,.hd.hzoom{transition:none;transform:none}}
/* closed day */
.closed{position:sticky;left:0;box-sizing:border-box;width:100%;max-width:100vw;min-height:46vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px 16px;margin:0 auto;color:var(--mut)}
.closed .cli{font-size:34px;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.1),rgba(0,0,0,.3));box-shadow:0 6px 20px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.08)}
.closed b{font-size:19px;color:var(--txt,#eee);letter-spacing:.2px}
.datenav{flex-wrap:wrap;row-gap:6px}
.datenav .dnav{flex:1 1 420px}
@media (max-width:700px){.datenav .dnav{flex-basis:100%}}
.datenav .dnav button{height:34px;min-width:30px;padding:0 8px;border-radius:10px}
.datenav .dnav .dside{border:0;min-width:0;height:auto;padding:4px 2px;font-size:12px}
.datenav .dnav .dtag{height:auto;min-width:0;padding:1px 9px;font-size:10.5px;border-radius:9px}
@media (max-width:500px){.datenav .dnav #prev,.datenav .dnav #next{min-width:28px;width:28px;padding:0;height:30px}.dnav #dateTitle{font-size:15px}.datenav .dnav .dside{font-size:10.5px}}
@media (max-width:500px){.dnav #dateTitle{white-space:normal;line-height:1.1;font-size:15px;overflow:visible}}
.btn.pers{border-color:rgba(140,180,230,.55);color:#bcd4f2}
.cuthint{font-size:12px;color:var(--mut);margin:4px 0 8px;padding:6px 8px;border-radius:8px;background:rgba(201,164,106,.08)}
#cal.zout{animation:zout .32s cubic-bezier(.2,.8,.2,1)}
#agenda.zoutA{animation:zoutA .22s ease-in forwards;transform-origin:50% 30%}
@keyframes zout{from{transform:perspective(800px) scale(1.15) rotateX(4deg);opacity:.5}to{transform:none;opacity:1}}
@keyframes zoutA{to{transform:perspective(800px) scale(.85) rotateX(-6deg);opacity:0}}
@media (prefers-reduced-motion:reduce){#cal.zout,#agenda.zoutA{animation:none}}
.newcl{display:inline-flex;align-items:center;gap:2px;height:36px;padding:0 10px;border-radius:12px;border:1px solid rgba(201,164,106,.7);background:linear-gradient(180deg,rgba(201,164,106,.25),rgba(201,164,106,.08));color:var(--acc);box-shadow:0 0 10px rgba(201,164,106,.25);font-size:15px;cursor:pointer;white-space:nowrap}
.newcl b{font-size:13px;margin-left:-3px}.newcl span{font-size:12.5px}
@media (max-width:500px){.newcl{height:34px;padding:0 8px}.newcl span{display:none}}
#ncS:disabled{opacity:.45;filter:grayscale(.6);cursor:not-allowed}
/* client profile (internal) */
.phint{font-size:13px;margin-left:6px;opacity:.9}
.ptop{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin:6px 0 4px}
.ptg{font-size:11px;padding:2px 7px;border-radius:9px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.ptg.tox{border-color:rgba(224,160,80,.5)}.ptop small{color:var(--mut);font-size:10.5px}
.psec{margin:10px 0;padding:10px;border-radius:12px;background:rgba(255,255,255,.03);border:1px dashed rgba(255,255,255,.12)}
.psec>small{color:var(--mut)}
.ptags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.ptb{font-size:12px;padding:5px 9px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:none;color:var(--txt,#ddd);cursor:pointer;transition:transform .15s}
.ptb.on{background:rgba(201,164,106,.2);border-color:var(--acc);color:var(--acc)}.ptb:active{transform:scale(.97)}
.pnr{display:flex;gap:6px}.pnote{flex:1;min-width:0}
.plist{margin-top:8px;font-size:12px;color:var(--mut);display:flex;flex-direction:column;gap:3px}.plist b{color:var(--txt,#ddd)}
/* stylist initial badge on booking card */
.sbadge{position:absolute;top:10px;right:40px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:800 13px/1 system-ui;color:#fff;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.75) 0 8%,transparent 30%),radial-gradient(circle at 50% 60%,var(--bc),color-mix(in srgb,var(--bc) 55%,#000));box-shadow:0 2px 6px rgba(0,0,0,.45),inset 0 -2px 3px rgba(0,0,0,.3);text-shadow:0 1px 1px rgba(0,0,0,.4)}
/* duration chip on top of each cell */
.ap .dtop{position:absolute;top:2px;right:4px;z-index:6;font:700 10.5px/1 Manrope,system-ui;padding:2px 5px;border-radius:7px;background:rgba(0,0,0,.55);color:#fff;border:1px solid rgba(255,255,255,.18);cursor:ns-resize;pointer-events:auto;white-space:nowrap}
.ap.short .dtop,.ap.sm .dtop{top:1px;font-size:9.5px;padding:1px 4px}
/* discreet start–end time */
.ap .chip[data-act=start]{background:none!important;border:0!important;padding:0!important;min-height:0;height:auto;line-height:1.1;font-size:10px;font-weight:400;color:var(--mut);opacity:.75;box-shadow:none}
.hc .hm [data-tm]{font-size:11.5px;font-weight:300;color:var(--mut);opacity:.8;background:none;padding:0}
.hc .hm [data-du]{font-weight:600;color:var(--txt,#ddd)}
/* booking card expands in place from its cell */
.hc.inpl{left:var(--hx)!important;top:var(--hy)!important;right:auto!important;bottom:auto!important;width:var(--hw)!important;max-height:calc(100dvh - 20px)!important;overflow:auto;border-radius:16px!important;transform-origin:0 0;box-shadow:0 30px 80px rgba(0,0,0,.7),0 0 0 1.5px color-mix(in srgb,var(--gc,#c9a46a) 70%,transparent),0 0 26px color-mix(in srgb,var(--gc,#c9a46a) 35%,transparent)!important}
.hc.inpl.anim{transition:transform .26s cubic-bezier(.2,.8,.2,1),opacity .2s}
.ap.hcsrc{visibility:hidden}
@media (prefers-reduced-motion:reduce){.hc.inpl.anim{transition:none}}
/* booking card: check-in next to name, history, big pay */
.hc .hnr{display:flex;align-items:center;gap:8px;padding-right:64px}
.hc .cib2{flex:none;width:24px;height:24px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:none;color:var(--mut);font:700 12px/1 system-ui;cursor:pointer;opacity:.7;padding:0}
.hc .cib2.on{background:#22c55e;border-color:#4ade80;color:#fff;opacity:1;box-shadow:0 0 10px rgba(34,197,94,.7)}
.hc.cion>*:not(.hnr):not(.sbadge){filter:blur(.6px) brightness(.8);transition:filter .3s}
.hc.cion .cib2.on{box-shadow:0 0 14px rgba(74,222,128,.95);filter:brightness(1.2)}
.hc .hs .hsv{cursor:pointer}
.hc .ha [data-hc=pay]{flex:1 1 100%;min-height:52px;font-size:17px;font-weight:800}
.hc .btn.hist{flex:1 1 100%;display:flex;flex-direction:column;align-items:flex-start;text-align:left}.hc .btn.hist small{color:var(--mut);font-weight:400;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.hc .cic{flex:none;width:22px;height:22px;border-radius:6px;border:1px solid rgba(255,255,255,.14);background:none;font-size:11px;line-height:1;padding:0;opacity:.6;cursor:pointer}
.hc .hf:empty{display:none}
.hc.padd>*:not(#pop){visibility:hidden}
#pop.incard{position:absolute!important;inset:0!important;left:0!important;top:0!important;width:auto!important;max-width:none!important;max-height:none!important;margin:0;overflow:auto;border-radius:inherit;z-index:5;animation:pflip .28s ease-out;transform-origin:50% 0}
@keyframes pflip{from{opacity:0;transform:perspective(600px) rotateX(-12deg) translateY(8px)}to{opacity:1;transform:none}}
#pop.incard>h4{display:none}
#pop .pbar{display:flex;align-items:center;gap:8px;margin-bottom:8px}
#pop .pbar b{flex:1;font-size:14px}
#pop .pback{width:32px;height:32px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:none;color:inherit;font-size:18px;cursor:pointer}
/* centered date header + compact quick row */
header.top .datenav{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;min-width:0}
header.top .datenav .dnav{justify-content:center;margin:0 auto}
header.top .datenav .dmid{align-items:center;text-align:center}
header.top .qrow{display:flex;justify-content:center;gap:10px;width:100%;max-width:420px;margin:0 auto}
header.top .qrow .qsale{flex:1 1 0;min-width:0;padding:5px 8px;font-size:12px;font-weight:700;border-radius:8px;line-height:1.1;white-space:nowrap;justify-content:center;text-align:center}
header.top .qrow .qsale span{display:inline!important}
header.top{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;height:auto!important;gap:6px}
header.top>.datenav{width:100%;flex:none!important;order:0}
header.top>div:last-child{order:-1;align-self:flex-end}
header.top .qrow .qsale{height:auto!important;min-height:32px!important;max-width:150px;box-shadow:none}
@media (max-width:700px){header.top .qrow{gap:8px;padding:0 10px;max-width:360px}header.top .qrow .qsale{font-size:11px!important;padding:4px 6px!important;min-height:30px!important}header.top>div:last-child{gap:10px!important}}
header.top,header.top .datenav{flex-wrap:nowrap!important}
header.top .datenav{height:auto!important;flex-direction:column!important}
header.top .dnav{height:auto!important;flex:none!important}
@media (max-width:700px){header.top .qrow .qsale{font-size:10.5px!important;letter-spacing:0!important;padding:4px 3px!important;max-width:none}header.top .qrow{gap:6px}}
.ap .exb{position:absolute;right:6px;bottom:4px;font-size:10.5px;font-weight:700;color:#e8c15a;letter-spacing:.2px;pointer-events:none;text-shadow:0 1px 2px #0008}
.ap .xb{background:none!important;border:1px solid #c9a046!important;color:#d9b25c!important}
.exl{font-style:normal;font-size:10px;font-weight:700;color:#e8c15a;margin-left:6px;white-space:nowrap}
.stabs{display:flex;gap:6px;margin:4px 0 10px}.stab{flex:1;padding:8px;border-radius:9px;border:1px solid rgba(255,255,255,.14);background:none;color:inherit;font-weight:600;cursor:pointer}.stab.on{background:rgba(201,160,70,.18);border-color:#c9a046}
.sbn{font-style:normal;background:#c9a046;color:#111;border-radius:9px;padding:0 6px;font-size:11px}
.sq{width:100%;font-size:16px;padding:10px 12px;border-radius:10px;margin-bottom:10px}
.sres .sr{display:flex;flex-direction:column;align-items:stretch;gap:4px}.srn,.sra{text-align:left;background:none;border:0;color:inherit;padding:6px 4px;cursor:pointer;min-height:36px}.srn small{display:block;color:var(--mut);font-size:11px}.sra{font-size:12.5px;color:#d9b25c;border-top:1px solid rgba(255,255,255,.06)}.sh{color:var(--mut);font-size:13px;padding:8px}
#dateTitle{font-family:"Oswald","Manrope",sans-serif!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.08em;font-size:clamp(20px,2.4vw,30px)!important;line-height:1.1;color:#f3e6c4;white-space:nowrap}
.dnav .dside{font-family:"Oswald","Manrope",sans-serif;font-size:12.5px;letter-spacing:.04em;font-weight:500}
@media (max-width:700px){#dateTitle{font-size:19px!important;letter-spacing:.05em}}
.dnav #dprev{order:0}.dnav #prev{order:1}.dnav .dmid{order:2}.dnav #next{order:3}.dnav #dnext{order:4}
.dnav #prev,.dnav #next{font-size:26px!important;font-weight:800!important;line-height:1;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;margin:0 2px!important}
.dnav .dmid{margin:0 4px!important}
#today{display:none!important}
#dateTitle{color:#fff!important}#dateTitle.other{color:#e8b54a!important}
header.top{position:relative}
header.top #newCl{position:absolute;left:16px;top:12px;z-index:3}
@media (max-width:700px){header.top #newCl{left:12px;top:10px}}
.qsv .btn{white-space:normal!important;height:auto!important;min-height:40px;line-height:1.2;text-align:center;overflow:visible!important;text-overflow:clip!important}
.ren{display:block;font-size:10px;color:var(--mut);opacity:.75;letter-spacing:.04em;line-height:1.1}
.qbsl{font-size:12px;color:#e8b54a;font-weight:700;margin:2px 0 6px}.qbsl small{color:var(--mut);font-weight:400}
.qbs{display:grid;grid-template-columns:1fr 1fr;gap:6px}.qbs .btn{white-space:normal;height:auto;min-height:40px;line-height:1.2;font-size:12.5px;text-align:left}
.qpadd{height:30px;padding:0 12px;font-size:13px;font-weight:700}
.plist{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center}
.plw{background:var(--card,#16161a);color:inherit;width:min(520px,94vw);max-height:84vh;display:flex;flex-direction:column;border-radius:16px;padding:14px;box-shadow:0 20px 60px rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.08)}
.plh{display:flex;justify-content:space-between;align-items:center;font-size:17px;margin-bottom:8px}
.plc{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px}.plc button{flex:none;border-radius:999px;padding:6px 12px;border:1px solid rgba(255,255,255,.15);background:transparent;color:inherit;font-weight:600}.plc button.on{background:#e8b54a;color:#111;border-color:#e8b54a}
.pln{display:flex;align-items:center;justify-content:space-between;margin:6px 0}.pln button{width:36px;height:36px;font-size:22px;font-weight:800;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:transparent;color:inherit}.pln button:disabled{opacity:.3}.pln span{font-weight:700}
#plQ{width:100%;margin-bottom:8px}
.plb{overflow-y:auto;display:flex;flex-direction:column;gap:6px;touch-action:pan-y}
.pli{display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:inherit}
.pli.added{background:rgba(232,181,74,.25)}.pn{flex:1}.pn em.bs{display:block;font-style:normal;font-size:11px;color:#e8b54a;font-weight:700}
.pp{text-align:right;font-weight:700}.pp small{display:block;font-weight:400;color:var(--mut);font-size:11px}.ple{color:var(--mut);padding:12px}
.hc .hm .hlive{color:var(--mut)}.hc .hm .late{font-weight:800;color:var(--mut)}.hc .hm .late.la{color:#f0a63a}.hc .hm .late.lr{color:#ff5a4f}
.ap .callh{display:none}
.ap.ovd{animation:ovdb 1.6s ease-in-out infinite;outline:2px solid #ff4d4d;outline-offset:-1px}
@keyframes ovdb{0%,100%{box-shadow:0 0 0 0 rgba(255,77,77,0)}50%{box-shadow:0 0 0 3px rgba(255,77,77,.55),0 0 14px rgba(255,77,77,.45)}}
@media (prefers-reduced-motion:reduce){.ap.ovd{animation:none;outline:2px solid #ff4d4d}}
.ap.ovd .callh{display:inline-flex;align-items:center;position:absolute;right:4px;bottom:3px;z-index:3;font:700 10.5px Manrope;padding:2px 7px;border-radius:999px;border:0;background:#ff4d4d;color:#fff;cursor:pointer;pointer-events:auto}
.ap.ovd.sm .callh{bottom:auto;top:1px;padding:0 6px;font-size:10px}
.ctxm{position:fixed;z-index:10000;min-width:230px;background:#1b1b20;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:6px;box-shadow:0 18px 50px rgba(0,0,0,.6);display:flex;flex-direction:column}
.ctxm .ctxh{font:700 12px Manrope;color:var(--mut);padding:6px 10px;cursor:default}
.ctxm button{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;background:transparent;border:0;color:#eee;font:600 13.5px Manrope;padding:9px 10px;border-radius:8px;cursor:pointer}
.ctxm button small{color:var(--mut);font-weight:400;font-size:11px}.ctxm button:hover{background:rgba(255,255,255,.07)}.ctxm button.dg{color:#ff6b5e}
.hc.inpl{height:auto!important;min-height:0!important}
.hc.inpl .ha{overflow:visible!important}
.hc .ha .hdr{flex-basis:100%;display:flex;align-items:center;gap:8px}
.hc .ha .hdr .btn{flex:1;height:44px!important;font:800 17px Manrope}
.hc .ha .hdr .hdur{min-width:74px;text-align:center;font:800 26px Oswald,Manrope;letter-spacing:.02em;color:#fff}
.hc .hdel{display:flex;justify-content:space-between;align-items:center}
.pers2{width:34px;height:30px;border-radius:9px;border:1px solid rgba(255,255,255,.12);background:transparent;color:var(--mut);font-size:13px;opacity:.75;cursor:pointer;padding:0}
.pers2:hover{opacity:1}
#pop .pfoot{display:flex;justify-content:flex-end;margin-top:10px}
#pop .slh{font-size:12px;color:var(--mut);margin:-2px 0 8px}
#pop .sll{display:flex;flex-direction:column;gap:6px}
#pop .sll button{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;text-align:left;padding:9px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:inherit;cursor:pointer}
#pop .sll button b{font:800 15px Manrope;grid-row:span 2;align-self:center}#pop .sll button span{font-weight:700}#pop .sll button small{color:var(--mut);font-size:11px}
#pop #slBack{margin-top:8px}

#hcbd{position:fixed;inset:0;z-index:39;display:none;background:transparent;touch-action:none}#hcbd.on{display:block}

/* header v17 */
header.top .tlb{position:absolute;left:16px;top:12px;z-index:3;display:flex;gap:10px;align-items:center}
header.top .tlb #newCl{position:static}
.qcash{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px;border-radius:12px;border:1.5px solid #22c55e;background:linear-gradient(180deg,rgba(34,197,94,.32),rgba(34,197,94,.12));color:#4ade80;font-weight:800;font-size:15px;letter-spacing:.2px;cursor:pointer;white-space:nowrap;box-shadow:0 0 12px rgba(34,197,94,.3)}
.qcash i{font-style:normal;font-size:20px;filter:drop-shadow(0 0 4px rgba(250,204,21,.8))}
header.top .stats2{position:absolute;right:16px;bottom:10px;display:flex;gap:22px;z-index:2}
@media (max-width:700px){header.top .tlb{left:12px;top:10px;gap:6px}.qcash{height:34px;padding:0 9px;font-size:12.5px}.qcash i{font-size:17px}
header.top .stats2{right:10px;bottom:auto;top:auto;position:static;justify-content:flex-end;gap:14px;margin:4px 10px 0 auto;width:max-content}}

.unpbtn{display:flex;align-items:center;gap:10px;width:100%;margin:10px 0 4px;padding:14px 16px;border-radius:14px;border:1.5px solid rgba(239,68,68,.6);background:rgba(239,68,68,.1);color:var(--txt,#eee);font-size:16px;font-weight:700;cursor:pointer}
.unpbtn span{color:var(--mut);font-weight:500;font-size:13px}.unpbtn b{margin-left:auto;color:#ef4444;font-size:20px}
.owbig{color:#ef4444;font-weight:800;font-size:22px;margin:8px 0}.owbig.sm{display:block;font-size:14px;margin:2px 0 0}
.colbal{background:#ef4444!important;color:#fff!important;border:0!important;font-weight:800;margin:6px 0 10px}
.ubl .it{display:flex;justify-content:space-between;align-items:center}.uba{color:#ef4444;font-weight:800;font-size:17px}
.colbd .methods{display:flex;gap:6px}.colbd .methods button{flex:1}
/* qcash primary */
.qcash{height:52px;padding:0 22px;border-radius:999px;border:1px solid rgba(134,239,172,.55);background:linear-gradient(180deg,#34d77a 0%,#16a34a 55%,#0f7a37 100%);color:#fff;font-size:18px;font-weight:900;letter-spacing:.3px;text-shadow:0 1px 2px rgba(0,0,0,.35);box-shadow:0 6px 18px rgba(22,163,74,.45),0 0 0 3px rgba(34,197,94,.18),inset 0 1px 0 rgba(255,255,255,.35),inset 0 -2px 0 rgba(0,0,0,.2);gap:8px}
.qcash i{font-size:26px;filter:drop-shadow(0 0 6px rgba(253,224,71,.95))}
.qcash:hover{filter:brightness(1.08)}.qcash:active{transform:translateY(1px)}
@media (max-width:700px){.qcash{height:44px;padding:0 14px;font-size:15px}.qcash i{font-size:21px}}

.cvis{display:flex;flex-direction:column;align-items:center;margin-left:auto;min-width:56px}.cvis b{font-size:18px;color:var(--acc)}.cvis small{font-size:10.5px;color:var(--mut)}
.atabs{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.atabs [data-at]{padding:8px 14px;border-radius:999px;border:1px solid var(--line,#333);background:transparent;color:inherit;cursor:pointer}.atabs [data-at].on{background:var(--acc);color:#111;border-color:var(--acc)}.atabs #arRec{margin-left:auto}
.arow{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:0;border-bottom:1px solid rgba(255,255,255,.06);background:transparent;color:inherit;text-align:left;cursor:pointer}.arow span:nth-child(2){display:flex;flex-direction:column;flex:1;min-width:0}.arow small{color:var(--mut)}.arow .ad{min-width:84px;color:var(--mut);font-variant-numeric:tabular-nums}.arow .ap2{font-weight:700}
.tabbar button{min-width:0;flex:1}.tabbar button span{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
/* qcash v3: Pay */
.qcash{height:52px;padding:0 26px 0 20px;border-radius:999px;background:linear-gradient(180deg,#1a1a1c,#0a0a0b);color:#3ee87a;font-size:21px;font-weight:900;letter-spacing:.5px;text-shadow:0 0 10px rgba(62,232,122,.45);border:2.5px solid transparent;background-image:linear-gradient(180deg,#1a1a1c,#0a0a0b),linear-gradient(135deg,#f6e3a1 0%,#c9a046 22%,#8a6a22 45%,#f1d98b 62%,#b8902f 80%,#f6e3a1 100%);background-origin:border-box;background-clip:padding-box,border-box;box-shadow:0 6px 18px rgba(0,0,0,.55),0 0 14px rgba(201,160,70,.35),inset 0 1px 0 rgba(255,255,255,.08);gap:8px}
.qcash .bolt{width:26px;height:26px;fill:#3ee87a;filter:drop-shadow(0 0 6px rgba(62,232,122,.6))}
.qcash i{display:none}
@media (max-width:700px){.qcash{height:44px;padding:0 18px 0 14px;font-size:18px}.qcash .bolt{width:22px;height:22px}}
.col .eslot{position:absolute;left:2px;right:2px;border-radius:8px;background:rgba(201,160,70,.18);border:2px solid #c9a046;box-shadow:0 0 0 3px rgba(201,160,70,.15);pointer-events:none;z-index:3;display:flex;align-items:flex-start;padding:2px 6px;font-size:11px;color:#c9a046}
.col .eslot{align-items:center;justify-content:center;padding:0}
.col .eslot .esin{display:flex;flex-direction:column;align-items:center;line-height:1.05;text-align:center}
.col .eslot b{font-size:20px;font-weight:900;color:#f1d98b}
.col .eslot span{font-size:14px;font-weight:700;color:#c9a046}
.col .eslot b.grn{color:#22c55e!important;font-size:22px}
.col .eslot b.red{color:#ef4444!important;font-size:22px}
.col .eslot .esd{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;font-size:11px;font-weight:800;color:#22c55e;line-height:1.1}
.col .eslot .esd i{font-style:normal;font-size:12px}
/* stats bottom-right (per-user pref) */
header.top .stats2,#stats2:empty{display:none!important}
body.statsbr #stats2{position:fixed;right:16px;bottom:16px;z-index:35;display:flex!important;gap:20px;align-items:flex-end;padding:10px 16px;border-radius:16px;background:rgba(14,14,16,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(201,160,70,.35);box-shadow:0 8px 24px rgba(0,0,0,.5)}
body.statsbr #stats2 small{display:block;color:#bbb;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.8px}
body.statsbr #stats2 b{font-size:22px;font-weight:900}
body.statsbr #stats2 .tkc{text-align:right;cursor:pointer}
body.statsbr #stats2 .sp2{padding-left:10px;border-left:1px solid rgba(255,255,255,.15);margin-left:-8px}
body.statsbr .cal{padding-bottom:90px}
body.blindm #stats2{display:none!important}
@media (max-width:700px){body.statsbr #stats2{right:8px;bottom:calc(64px + env(safe-area-inset-bottom));gap:12px;padding:6px 10px}body.statsbr #stats2 b{font-size:17px}body.statsbr #stats2 small{font-size:9.5px}body.statsbr .cal{padding-bottom:150px}}
.ap.marked{box-shadow:inset 0 0 0 2px #ef4444}
.ap.marked::after{content:"🚩";position:absolute;top:2px;right:4px;font-size:13px;z-index:2;pointer-events:none}
.hc .hcmark{background:rgba(239,68,68,.15);color:#ef4444;font-weight:800;font-size:13px;padding:6px 10px;border-radius:10px;margin:0 0 8px}
.ctxm .mk{color:#ef4444;font-weight:700}
.ap .rbell{font-style:normal;margin-left:4px;color:#f59e0b;filter:drop-shadow(0 0 4px rgba(245,158,11,.8));font-size:1.05em}
.hc .hcrem{background:rgba(245,158,11,.15);color:#f59e0b;font-weight:800;font-size:13px;padding:6px 10px;border-radius:10px;margin:0 0 8px}
.ctxm .rm{color:#f59e0b;font-weight:700}
.ctxm .rmp{display:flex;flex-direction:column;gap:6px;padding:6px 8px 8px;min-width:250px}
.ctxm .rmp>small{color:#999;font-weight:800;margin-top:4px}
.ctxm .rseg,.ctxm .rchips{display:flex;gap:6px;flex-wrap:wrap}
.ctxm .rseg button,.ctxm .rchips button,.ctxm .rstep button{flex:1;border:1px solid #333;border-radius:10px;padding:8px;background:#1a1a1c;text-align:center;min-width:40px}
.ctxm .rmp button.on{border-color:#f59e0b;background:rgba(245,158,11,.18);color:#f59e0b}
.ctxm .rstep{display:flex;align-items:center;gap:8px}.ctxm .rstep b{flex:2;text-align:center}.ctxm .rstep button{flex:0 0 40px}
.ctxm .rsave{background:#f59e0b!important;color:#111!important;font-weight:900;text-align:center;border-radius:10px;margin-top:4px}
/* coworker view: background not interactive */
#cal.foc .col:not(.fsel){pointer-events:none}
#cal.foc .col:not(.fsel) .ap:hover{filter:none;transform:none}
body.agenda #cal .ap,body.agenda #cal .col{pointer-events:none}
.ubl .uba,[data-ubc] .uba{color:#ef4444!important}
#cal.foc .col:not(.fsel),#cal.foc .col:not(.fsel) *,body.agenda #cal .ap,body.agenda #cal .ap *{pointer-events:none!important}
/* v19 top-right row: new client + Pay + search, stats below */
.trc{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.trow{display:flex;align-items:center;gap:10px}
.trow .qcash{flex:none;white-space:nowrap}
@media (max-width:700px){.trow{gap:6px}.trow .ncl2 span{display:none}.trow .ncl2{padding:0 11px}.trc{gap:10px}}
/* v20 iPhone native-feel scrolling */
#agenda,.plb,.drawer,.clist,.plist .plb{overscroll-behavior:contain}
#agenda,.plb{touch-action:pan-y;-webkit-overflow-scrolling:touch}
#mchips,.plc{touch-action:pan-x;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.drawer,#view-cal,#agenda,.plb{-webkit-overflow-scrolling:touch}
@media(max-width:820px){.cal .hd{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#0b0b0d}}
/* v20 two-tone times: hour as-is, minutes thinner neutral readable grey (#c8c8c8 ≈ 11:1 on #18181b) */
x-h{font-weight:inherit}
x-m{font-weight:400;color:#c8c8c8}
.chip x-h,.chip x-m,.chip .te,[data-tm] x-h,[data-tm] x-m{pointer-events:none}
.ap .chip[data-act=start] .te{font-weight:inherit}
.gut span x-h{font-weight:700;color:inherit}
.gut span.q15{color:rgba(200,200,200,.8)}
.gut span.gsel,.gut span.gsel x-h,.gut span.gsel x-m{color:#22c55e!important;font-weight:800}
.col .eslot b.grn x-m{color:#22c55e;font-weight:500}.col .eslot b.red x-m{color:#ef4444;font-weight:500}
.col .eslot b{pointer-events:auto}
/* selected-slot label must not cover appointments */
.col .eslot{z-index:1}
/* stats card: calendar bottom padding = card height */
body.statsbr .cal{padding-bottom:calc(var(--sbh,90px) + 28px)!important}
body.statsbr #view-cal{scroll-padding-bottom:calc(var(--sbh,90px) + 28px)}
/* overdue + not checked-in = clearly red on iPhone (Όλοι + single) */
@media(max-width:820px){
 .ap.ovd:not(.ci):not(.paid){background:color-mix(in srgb,#ef4444 32%,#18181b)!important;border:1.5px solid #ef4444!important;box-shadow:0 0 0 1px rgba(239,68,68,.35)}
 .ap .pr,.ap .pm,.ap .pay,.hc .pr,.hc .sp,.agi .agp,.till .amt{font-weight:800;font-variant-numeric:tabular-nums}
 .ap .pay{font-size:1.06em}
}
/* iPhone Όλοι (zoomed): same content/treatment as Mac cells, scaled to narrow columns */
@media(max-width:820px){
 body.zoomed .ap>*:not(.nm){display:none!important}
 body.zoomed .ap>.nm,body.zoomed .ap>.sv,body.zoomed .ap>.dtop{display:block!important}
 body.zoomed .ap>.row{display:flex!important;gap:2px;margin-top:1px;flex-wrap:nowrap;overflow:hidden}
 body.zoomed .ap>.row>*:not(.chip){display:none!important}
 body.zoomed .ap{padding:2px 3px 2px 5px;background:color-mix(in srgb,var(--c) 34%,#18181b);border-left:3px solid var(--c)}
 body.zoomed .ap .nm{font-size:9.5px;font-weight:800;line-height:1.12;white-space:normal;word-break:break-word;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding-right:14px}
 body.zoomed .ap .sv{font-size:8px;line-height:1.1;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 body.zoomed .ap .dtop{position:absolute;top:1px;right:2px;font-size:7.5px;padding:0 2px;border-radius:3px;background:rgba(0,0,0,.35)}
 body.zoomed .ap .row .chip{font-size:8px;padding:0 3px;height:auto;line-height:1.35;min-width:0}
 body.zoomed .ap .row .chip[data-act=dur]{display:none}
 body.zoomed .ap .row .chip .te{display:none}
 body.zoomed .ap.mid .sv,body.zoomed .ap.short .sv,body.zoomed .ap.short .row,body.zoomed .ap.sm .row{display:none!important}
 body.zoomed .ap.short .nm,body.zoomed .ap.sm .nm{-webkit-line-clamp:1}
 body.zoomed .gut span.q15{display:block;font-size:7.5px}
 body.zoomed .gut span.q15 x-h{font-weight:500}
}
/* v20 Mac: stats live left of the date row, vertically centred with it (no floating card over the calendar) */
@media(min-width:701px){

 body.statsbr header.top>#stats2{position:absolute;left:16px;right:auto;bottom:auto;top:var(--dny,60px);transform:translateY(-50%);max-width:var(--dnl,420px);background:transparent;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0;gap:16px;z-index:3}
 body.statsbr header.top>#stats2 b{font-size:19px}
 body.statsbr .cal{padding-bottom:28px!important}
}
.ctxm button.cxci{color:#22c55e;font-weight:900;font-size:17px;letter-spacing:.2px}.ctxm button.cxci:disabled{opacity:.55;cursor:default}
.ctxm.cxpop{animation:cxpop .15s cubic-bezier(.2,.9,.3,1.2)}@keyframes cxpop{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion:reduce){.ctxm.cxpop{animation:none}}
.gut span{white-space:nowrap}
@media(max-width:820px){body.zfit .gut span.q15{display:none}body.zoomed .ap .nm{word-break:normal;overflow-wrap:anywhere;hyphens:none;letter-spacing:-.1px}}
body.statsbr header.top>#stats2{gap:12px}
/* v21 Ραντεβού + booking */
.bkq{width:100%;font-size:17px;padding:12px 14px;border-radius:12px}
.bkr{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.bkc{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:inherit;text-align:left;font-size:15px}
.bkc span{color:#c8c8c8;font-variant-numeric:tabular-nums}
.bkno{color:#c8c8c8;font-size:13px;padding:6px 2px}
.bkrow{border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:10px;margin-top:10px;background:rgba(255,255,255,.03)}
.bkh{display:flex;gap:8px;align-items:center}.bkh select{flex:1;min-width:0}.bkd{font-weight:800;color:#e6c25e}
.bkx{background:none;border:0;color:#e08080;font-size:20px;padding:0 6px}
.bkfrom{font-size:12.5px;color:#c8c8c8;margin:8px 0 2px}
.bkst{display:flex;gap:8px;align-items:flex-start;margin-top:8px}.bkn{width:78px;flex:none;font-weight:700;font-size:13px;padding-top:7px}
.bkts{display:flex;flex-wrap:wrap;gap:6px}
.bkt{padding:7px 10px;border-radius:10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:inherit;font-size:14px;min-height:36px}
.bkt.ex{border-color:#4fbf7a;box-shadow:0 0 0 1px #4fbf7a inset}
.bkt.on{background:#2f9e5b;border-color:#4fbf7a;color:#fff}.bkt.on x-m{color:#fff}
.bksum{margin-top:12px;font-size:14px;line-height:1.6}.bkpr{font-weight:800;font-size:18px;font-variant-numeric:tabular-nums;margin-top:4px}
.resck{display:flex;gap:8px;align-items:center;margin-top:10px;font-size:14px}
.resb{display:inline-block;font-size:10.5px;font-weight:800;padding:1px 6px;border-radius:6px;background:#3b2a5c;color:#d9c6ff;border:1px solid #8c6bd6;margin:0 0 2px}
.bkrow[data-row="0"] .bkts{max-height:118px;overflow-y:auto;overscroll-behavior:contain}

/* v22: empty-slot "green light" — no big time text, only the small yellow corner label */
.ghost{border:1.5px dashed rgba(52,211,153,.75)!important;background:rgba(52,211,153,.10)!important;align-items:flex-start!important;padding:3px 0 0 7px!important;font:600 10.5px/1.2 Manrope,system-ui,sans-serif!important;color:#e9c46a!important;letter-spacing:.02em;box-shadow:inset 0 0 18px rgba(52,211,153,.10)}
.col .eslot{border:1.5px dashed rgba(52,211,153,.9)!important;background:rgba(52,211,153,.16)!important;box-shadow:0 0 0 3px rgba(52,211,153,.12),inset 0 0 22px rgba(52,211,153,.14)!important;align-items:flex-start!important;justify-content:flex-start!important;padding:0!important}
.col .eslot.past{border-color:rgba(239,68,68,.7)!important;background:rgba(239,68,68,.08)!important;box-shadow:none!important}
.col .eslot .estm{position:absolute;left:7px;top:3px;font:700 10.5px/1.2 Manrope,system-ui,sans-serif;color:#e9c46a;letter-spacing:.02em}
.col .eslot .esd{position:absolute;right:6px;top:3px;bottom:auto;transform:none;font:600 10px/1.2 Manrope,system-ui,sans-serif!important;color:rgba(233,196,106,.75)!important;flex-direction:row}
.col .eslot b,.col .eslot .esin{display:none!important}
/* v22: 🚩 marks + 🔔 notifications */
.nfb{margin-top:12px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.025)}
.nfh{font:700 12px/1.3 Manrope,system-ui,sans-serif;color:var(--mut);letter-spacing:.04em;text-transform:uppercase;margin:2px 0 8px}
.nfh+.nfc{margin-bottom:12px}
.nfc{display:flex;flex-wrap:wrap;gap:6px}
.nfk{min-height:34px;padding:6px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:transparent;color:var(--txt,#eee);font:600 12.5px/1 Manrope,system-ui,sans-serif;cursor:pointer;transition:background .15s,border-color .15s}
.nfk:hover{border-color:rgba(255,255,255,.25)}
.nfk.on{background:rgba(52,211,153,.16);border-color:rgba(52,211,153,.7);color:#d1fae5}
.nfk.vipk.on{background:rgba(201,164,106,.18);border-color:#c9a46a;color:#f3dfb4}
.nfr{display:flex;align-items:center;gap:8px;font-size:13px;margin:0 0 10px;cursor:pointer}.nfr input{width:18px;height:18px;accent-color:#34d399}
.nfrow{display:flex;align-items:center;gap:10px;margin-top:8px}.nfl{min-width:82px;font-size:12.5px;color:var(--mut)}.nfrow select{flex:1;min-height:34px}
@media (max-width:760px){.nfk{min-height:40px;font-size:13.5px;padding:8px 13px}.nfrow select{min-height:40px}.nfl{min-width:72px}}
.nfb label.nfr{display:flex!important;flex-direction:row!important;align-items:center;text-transform:none!important;letter-spacing:0!important;font-size:13.5px!important;color:var(--txt,#eee)!important;margin:0 0 10px!important}
.nfb label.nfr input{width:20px!important;height:20px!important;flex:none;margin:0}
/* v22 premium polish: calmer surfaces, softer shadows, tighter type */
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
#pop,.drawer{box-shadow:0 24px 60px -18px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.06)!important;border-radius:18px}
#pop h4,.drawer h2{letter-spacing:-.01em}
#pop label{letter-spacing:.06em}
.ap{box-shadow:0 1px 2px rgba(0,0,0,.25)!important}
.btn{transition:transform .12s,box-shadow .15s,background .15s}.btn:active{transform:scale(.98)}
select,input{transition:border-color .15s,box-shadow .15s}select:focus,input:focus{outline:none;box-shadow:0 0 0 3px rgba(201,164,106,.22)}

/* v23: theme toggle button */
.thm{width:38px;height:38px;border-radius:12px;border:1px solid var(--line2);display:inline-flex;align-items:center;justify-content:center;font-size:17px;color:var(--acc);flex:none;transition:background .2s,border-color .2s}
.thm:hover{background:var(--accs);border-color:var(--acc)}
.thm .thl{display:none}html[data-theme=light] .thm .thd{display:none}html[data-theme=light] .thm .thl{display:inline}
@media (max-width:500px){.thm{width:44px;height:44px;border-radius:14px}}
/* v23: premium light theme */
html[data-theme=light]{--bg:#f6f3ee;--bg2:#ffffff;--card:#ffffff;--line:#e7e1d8;--line2:#d9d2c6;--tx:#1d1b18;--mut:#6d675e;--acc:#9a7334;--accs:rgba(154,115,52,.12);color-scheme:light}
html[data-theme=light] body{background:var(--bg);color:var(--tx)}
html[data-theme=light] .side{background:linear-gradient(180deg,#fbf9f5,#f3efe8)}
html[data-theme=light] .hd,html[data-theme=light] .gut{background:rgba(246,243,238,.96)!important}
html[data-theme=light] #view-cal,html[data-theme=light] .cal{background:var(--bg)!important}
html[data-theme=light] .col{background-color:#fbfaf7!important;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--slot)*4 - 1px),#e4ddd2 calc(var(--slot)*4 - 1px),#e4ddd2 calc(var(--slot)*4)),repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--slot) - 1px),#f0ebe3 calc(var(--slot) - 1px),#f0ebe3 var(--slot))!important}
html[data-theme=light] .drawer,html[data-theme=light] .pop{background:#fff!important;color:var(--tx)}
html[data-theme=light] .tabbar{background:rgba(251,249,245,.92)!important}
html[data-theme=light] .scrim{background:rgba(40,32,20,.28)}
html[data-theme=light] h1,html[data-theme=light] h2,html[data-theme=light] .hd b,html[data-theme=light] .hd .nm,html[data-theme=light] #dateTitle{color:var(--tx)!important}
html[data-theme=light] .ap{background:linear-gradient(180deg,color-mix(in srgb,var(--c,#9a7334) 16%,#fff),color-mix(in srgb,var(--c,#9a7334) 9%,#fff))!important;border-color:color-mix(in srgb,var(--c,#9a7334) 35%,#fff)!important;color:#1d1b18!important;box-shadow:0 1px 2px rgba(60,40,10,.10),0 4px 12px -6px rgba(60,40,10,.18)!important}
html[data-theme=light] .ap *{color:inherit}
html[data-theme=light] .ap .nm{color:#1d1b18!important}
html[data-theme=light] .ap .dtop{background:rgba(255,255,255,.85)!important;color:#1d1b18!important;border-color:rgba(0,0,0,.12)!important}
html[data-theme=light] .ap .chip,html[data-theme=light] .ap [class*=dur]{color:#3d372f!important}
html[data-theme=light] .ap.paid{background:#efece6!important;opacity:.72;filter:saturate(.35)}
html[data-theme=light] .ap.paid .ok{background:rgba(22,128,61,.12)!important;color:#15803d!important}
html[data-theme=light] .ap.vip{background-image:linear-gradient(160deg,#fff7e6,#fbf1dc 70%)!important}
html[data-theme=light] .ap.ovd:not(.ci):not(.paid){background:color-mix(in srgb,#ef4444 14%,#fff)!important}
html[data-theme=light] .ap .callh{color:#fff!important}
html[data-theme=light] .ghost,html[data-theme=light] .col .eslot{border-color:rgba(5,150,105,.75)!important;background:rgba(16,185,129,.12)!important}
html[data-theme=light] .ghost,html[data-theme=light] .col .eslot .estm{color:#8a5a00!important}
html[data-theme=light] .col .eslot .esd{color:#8a6a20!important}
html[data-theme=light] .stats,html[data-theme=light] .stats2{color:var(--tx)}
html[data-theme=light] .nfk{color:var(--tx)}html[data-theme=light] .nfk.on{color:#065f46}html[data-theme=light] .nfk.vipk.on{color:#6b4b14}
/* v23: understated premium buttons (Ραντεβού / Pay / new-client) */
.qcash,.trow .qcash,#bkBtn{height:40px!important;padding:0 18px 0 14px!important;border-radius:999px!important;border:1px solid color-mix(in srgb,var(--acc) 55%,transparent)!important;background:transparent!important;background-image:none!important;color:var(--tx)!important;font:600 14px/1 Inter,system-ui,sans-serif!important;letter-spacing:.04em!important;text-shadow:none!important;box-shadow:none!important;filter:none!important;gap:8px!important;transition:background .2s,border-color .2s}
.qcash:hover{background:var(--accs)!important;border-color:var(--acc)!important}
.qcash .bolt,.qcash svg{width:16px!important;height:16px!important;fill:var(--acc)!important;color:var(--acc)!important;filter:none!important}
.qcash i{filter:none!important}
#qsale{background:var(--accs)!important}
@media (max-width:700px){.qcash,.trow .qcash,#bkBtn{height:42px!important;font-size:15px!important;padding:0 16px 0 12px!important}}
.btn.p{background:var(--tx)!important;color:var(--bg)!important;box-shadow:none!important;font-family:Inter,system-ui,sans-serif;letter-spacing:.03em}
.btn.p:hover{transform:none;opacity:.9}
.btn.g{background:transparent;border:1px solid var(--line2);font-family:Inter,system-ui,sans-serif;font-weight:500;letter-spacing:.02em}
/* v23: refined staff pills (Inter has full Greek glyphs; Manrope does not) */
.mc{font:500 13.5px/1 Inter,system-ui,sans-serif!important;letter-spacing:.01em;height:40px!important;padding:0 14px 0 4px!important;border-color:var(--line)!important;background:transparent;color:var(--mut)}
.mc .av{font:600 11px Inter,system-ui,sans-serif!important;letter-spacing:0}
.mc.on{color:var(--tx)!important;border-color:color-mix(in srgb,var(--acc) 60%,transparent)!important;background:var(--accs)!important;font-weight:600!important}
/* v23: floating stats panel */
.fp-ctl{display:none}
.fp-on .fp-ctl{display:flex;position:absolute;top:-13px;right:10px;gap:4px;z-index:3}
.fp-dock .fp-ctl{display:flex;position:absolute;top:-13px;right:10px;gap:4px;z-index:3}
.fp-ctl button{width:26px;height:26px;border-radius:999px;border:1px solid var(--line2);background:var(--card);color:var(--mut);font:600 11px/1 Inter,system-ui;display:flex;align-items:center;justify-content:center;touch-action:none;box-shadow:0 2px 6px rgba(0,0,0,.18)}
.fp-ctl .fp-h{cursor:grab;font-size:13px}
.fp-on{position:fixed!important;left:var(--fpx)!important;top:var(--fpy)!important;right:auto!important;bottom:auto!important;margin:0!important;transform:scale(var(--fps,1))!important;transform-origin:0 0;z-index:62!important;background:var(--card)!important;border:1px solid var(--line2);border-radius:16px;padding:12px 16px!important;box-shadow:0 18px 40px -16px rgba(0,0,0,.45)!important;width:max-content!important;display:flex!important}
@media (pointer:coarse){.fp-ctl button{width:34px;height:34px;font-size:13px}.fp-on .fp-ctl,.fp-dock .fp-ctl{top:-17px}}

/* v23: lanes toggle + compact two-lane cards (iPhone) */
.lanes{display:none}
@media (max-width:760px),(pointer:coarse){.lanes{display:inline-flex;height:44px;border:1px solid var(--line2);border-radius:14px;overflow:hidden;flex:none}.lanes button{width:30px;font:600 13px Inter,system-ui;color:var(--mut)}.lanes button.on{background:var(--accs);color:var(--tx)}}
body.lanes2 .ap{left:3px;right:3px;padding:4px 6px 5px 8px}
body.lanes2 .ap .nm{font:700 12.5px/1.2 Inter,system-ui,sans-serif!important;padding-right:30px;white-space:nowrap;display:block!important}
body.lanes2 .ap .dtop{font-size:9.5px;padding:1px 4px}
body.lanes2 .ap .callh{font-size:9.5px;padding:1px 5px}
body.lanes2 .hd{padding:6px 6px}
body.lanes2 .hd small,body.lanes2 .hd .rl{font-size:10.5px}
@media (max-width:500px){.qcash,.trow .qcash,#bkBtn{height:44px!important;padding:0 12px 0 10px!important;font-size:14px!important;letter-spacing:.02em!important;gap:6px!important}.lanes button{width:26px}.trow{gap:6px!important}}
html[data-theme=light] .ap .chip{background:rgba(29,27,24,.07)!important;border-color:rgba(29,27,24,.12)!important;color:#3d372f!important}
html[data-theme=light] .past{background:rgba(120,105,85,.10)!important}
html[data-theme=light] .stats2,html[data-theme=light] .stats.fp-on{background:rgba(255,255,255,.94)!important;border-color:var(--line2)!important;box-shadow:0 12px 30px -14px rgba(60,40,10,.35)!important}
html[data-theme=light] .stats2 b,html[data-theme=light] .stats b{color:var(--tx)}
html[data-theme=light] .stats small{color:var(--mut)!important}
/* v23.1 · iPhone tap targets ≥44px (Apple HIG) without changing the visual size */
@media (max-width:500px){
  .mc{min-height:44px}
  .datenav button{min-width:44px;min-height:44px}
  header.top .datenav .dnav{height:30px!important;min-height:0!important;align-items:center!important}
  #lanes [data-l]{min-height:44px}
  /* widen hit areas without moving anything: padding grows the box, equal negative margin cancels it */
  header.top .dnav #prev,header.top .dnav #next{width:44px!important;min-width:44px;margin:0 -2px!important}
  header.top .dnav .dside,header.top .dnav .dtag{min-width:44px;padding-inline:max(6px,calc((44px - 100%) / 2));margin-inline:-6px}
}

/* v24 smooth scroll: native momentum + CSS scroll-snap paging on iPhone (no JS swipe/axis-lock) */
@media (max-width:500px){
  body:not(.zoomed) #view-cal,body:not(.zoomed) #view-cal.vlock{overflow-x:auto;overflow-y:auto;scroll-snap-type:x mandatory;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  body:not(.zoomed) .cal,body:not(.zoomed) .cal .col,body:not(.zoomed) .ap,body:not(.zoomed) .ap *{touch-action:pan-x pan-y}
  body:not(.zoomed) #cal .col{scroll-snap-align:start;scroll-snap-stop:always}
  body.scrolling #cal .ap:not(.tsel):not(.sel){box-shadow:none!important;transition:none!important}
  body.scrolling .tabbar,body.scrolling .hc{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
}

html[data-theme=light] .gut span.q15{color:rgba(90,85,78,.7)}
