:root{--bg:#e9edf1;--card:#fff;--ink:#17202a;--mut:#64707d;--line:#d2d9e0;--ac:#2d5fa8;--ok:#2f8f5b;--warn:#b97d0b;--bad:#c4423a;--mj:#fff0a0;--mjl:#d9a800;color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#12161b;--card:#1b2128;--ink:#e8edf2;--mut:#8f9ba7;--line:#303943;--ac:#6b9be0;--ok:#4cc486;--warn:#e0a63a;--bad:#ef6f66;--mj:#4d4210;--mjl:#e8b923;color-scheme:dark}}
:root[data-theme=dark]{--bg:#12161b;--card:#1b2128;--ink:#e8edf2;--mut:#8f9ba7;--line:#303943;--ac:#6b9be0;--ok:#4cc486;--warn:#e0a63a;--bad:#ef6f66;--mj:#4d4210;--mjl:#e8b923;color-scheme:dark}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.4 Barlow,system-ui,sans-serif}
button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding:10px 14px;background:var(--card);border-bottom:1px solid var(--line)}
.logo{font:700 20px 'Barlow Semi Condensed',sans-serif;margin-right:auto}
nav{display:flex;gap:4px;flex-wrap:wrap}nav button{border:0;background:none;padding:7px 12px;border-radius:7px;font:600 16px 'Barlow Semi Condensed',sans-serif;color:var(--mut)}nav .on{background:var(--bg);color:var(--ink)}
.tools{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.btn{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:7px 12px;text-decoration:none;display:inline-block}.pri{background:var(--ac);border-color:var(--ac);color:#fff}.btn.bad{color:var(--bad);margin-right:auto}.btn.bad2{color:var(--bad)}.wide{width:100%;padding:10px}
select,input,textarea{border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:8px 10px;width:100%}
main{padding:14px;max-width:1500px;margin:auto}.bar{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.bar h2{margin:0 0 0 6px;font:700 20px 'Barlow Semi Condensed',sans-serif}.bar input{flex:1;min-width:200px}.bar #csort{width:auto;flex:none}
.week{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;align-items:start}
.day{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px;min-height:140px}.day.today{border-color:var(--ac);box-shadow:0 0 0 1px var(--ac)}
.dh{display:flex;justify-content:space-between;align-items:center;padding:2px 2px 8px;font:700 17px 'Barlow Semi Condensed',sans-serif}
.cap{font:600 13px Barlow,sans-serif}.ok{color:var(--ok)}.warn{color:var(--warn)}.bad{color:var(--bad)}.x{color:var(--mut)}
.job{border:1px solid var(--line);border-left:4px solid var(--ac);border-radius:8px;padding:5px 8px 6px;margin-bottom:6px;cursor:grab;background:var(--bg)}
.r1{display:flex;justify-content:space-between;align-items:center;gap:6px}.r1 b{white-space:nowrap}.nm{font:700 15.5px/1.2 'Barlow Semi Condensed',sans-serif;margin-top:1px}.vh,.sv{color:var(--mut);font-size:13.5px;line-height:1.28}
.pill{border:0;border-radius:99px;padding:3px 13px;font-size:14px;font-weight:600;white-space:nowrap}.s0{background:#dbe6f7;color:#1f4a8a}.s1{background:#e7dcf7;color:#53308c}.s2{background:#fbe8bd;color:#7a5200}.s3{background:#cdeedb;color:#1d6b42}.s4{background:#dde1e5;color:#4a545e}
.bx{display:flex;gap:6px;align-items:center;margin-top:3px}.bx i{margin-right:auto;font-size:13px;color:var(--mut);font-style:normal}
.tk,.by{min-width:26px;height:22px;border-radius:6px;display:grid;place-items:center;font:700 12px sans-serif}.tk{border:1px solid var(--line);color:var(--ink)}.by{color:#fff}
.add{width:100%;border:1px dashed var(--line);background:none;border-radius:8px;padding:6px;color:var(--mut)}
.mg{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.mg>b{text-align:center;color:var(--mut);font-weight:500}
.mc{border:1px solid var(--line);background:var(--card);border-radius:8px;min-height:74px;padding:6px;text-align:left;display:flex;flex-direction:column;gap:2px}.mc.out{opacity:.45}.mc.closed{background:repeating-linear-gradient(135deg,var(--card) 0 6px,var(--bg) 6px 12px)}
.mc em{font-size:12px;font-style:normal}.mc u{margin-top:auto;height:5px;background:var(--bg);border-radius:9px;overflow:hidden;text-decoration:none}.mc u i{display:block;height:100%;background:currentColor}.mc u i.ok{background:var(--ok)}.mc u i.warn{background:var(--warn)}.mc u i.bad{background:var(--bad)}
.crow{display:flex;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:8px}.crow>div:first-child{flex:1}.cr{text-align:right;display:flex;flex-direction:column;font-size:14px}.cr small{color:var(--mut)}
.ic{border:0;background:none;padding:2px 6px;font-size:15px}.empty{color:var(--mut);padding:20px;text-align:center}.ib{font-size:22px;line-height:1;padding:10px 14px;min-width:50px}.smsf{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0}.smsf small{color:var(--mut)}
#modal,#cf{position:fixed;inset:0;background:#0008;display:grid;place-items:center;z-index:20;padding:12px}#cf{z-index:30}[hidden]{display:none!important}
.box{background:var(--card);border-radius:12px;padding:16px;width:min(620px,100%);max-height:92vh;overflow:auto}.box h3{margin:0 0 10px;font:700 21px 'Barlow Semi Condensed',sans-serif}
label{display:block;margin-bottom:10px;font-size:14px;color:var(--mut)}label input,label select,label textarea{margin-top:3px;color:var(--ink)}
.f2{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 10px}.row{display:flex;gap:8px;justify-content:flex-end;margin-top:12px;flex-wrap:wrap}.sms{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.chip{border:1px solid var(--line);background:var(--bg);border-radius:99px;padding:5px 12px}.chip.on{background:var(--ac);border-color:var(--ac);color:#fff}
#cl button,#vc button{display:block;width:100%;text-align:left;border:1px solid var(--line);background:var(--card);padding:7px 10px;margin-top:-1px}#vc{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}#vc button{width:auto;border-radius:99px;margin:0}
#toast{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:8px 14px;border-radius:8px;z-index:40;max-width:92vw}
.login{max-width:380px;margin:10vh auto 0;padding:22px;background:var(--card);border:1px solid var(--line);border-radius:12px}.login h1{margin:0 0 2px;font:700 26px 'Barlow Semi Condensed',sans-serif}.sub{color:var(--mut);margin:0 0 14px}.err{color:var(--bad);min-height:1.3em;margin:0 0 8px}
.me{display:flex;align-items:center;gap:6px;font-size:14px}.dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#fff;font:700 11px sans-serif;flex:none}
.urow{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.urow>div{flex:1}.urow small{color:var(--mut)}.mrow{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
#wo{position:fixed;inset:0;background:var(--bg);z-index:25;overflow:auto;padding:12px}.noprint{display:flex;gap:8px;margin-bottom:10px}.sheet{background:#fff;color:#000;max-width:8.5in;min-height:10in;margin:auto;padding:.5in;display:flex;flex-direction:column;font-size:15px}.sheet h1{margin:0;font:700 26px 'Barlow Semi Condensed',sans-serif}.sheet h2{margin:0;font:600 16px 'Barlow Semi Condensed',sans-serif;letter-spacing:.15em}.wh{display:flex;justify-content:space-between;align-items:baseline;border-bottom:3px solid #000;padding-bottom:6px}.sheet h3{margin:16px 0 6px;font:700 14px 'Barlow Semi Condensed',sans-serif;text-transform:uppercase;letter-spacing:.08em}.wg{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin-top:10px}.wg div{border-bottom:1px solid #999;padding-bottom:3px;min-height:38px}.wg b{display:block;font-size:11px;font-weight:600;color:#555;text-transform:uppercase}.wr{display:flex;gap:10px;align-items:center;border-bottom:1px solid #999;padding:9px 0;font-size:16px;min-height:42px}.bx2{width:18px;height:18px;border:2px solid #000;flex:none}.fn{min-height:40px;border:1px solid #999;padding:6px;white-space:pre-wrap}.lines{flex:1;min-height:4in}
@page{size:letter;margin:.4in}
@media print{body>*:not(#wo){display:none!important}#wo{position:static;padding:0;overflow:visible;background:#fff}.noprint{display:none}.sheet{max-width:none;padding:0;min-height:0;font-size:13px}.sheet h1{font-size:22px}.sheet h3{margin:10px 0 4px}.wr{padding:5px 0;min-height:28px;font-size:14px}.wg{gap:4px 16px;margin-top:6px}.wg div{min-height:30px}.fn{min-height:30px}.lines{min-height:0;height:2.4in;flex:none}}
.yr{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.ym{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px}.yt{border:0;background:none;font:700 16px 'Barlow Semi Condensed',sans-serif;margin-bottom:4px;color:var(--ink)}.yg{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.yd{border:0;background:var(--bg);border-radius:4px;padding:4px 0;font-size:12px;color:var(--ink)}.yd.has.ok{background:var(--ok);color:#fff}.yd.has.warn{background:var(--warn);color:#fff}.yd.has.bad{background:var(--bad);color:#fff}.yd.x{opacity:.45;text-decoration:line-through}
@media(max-width:560px){.week{grid-template-columns:1fr}.crow{flex-wrap:wrap}.mc{min-height:58px;padding:4px}.me span:last-child{display:none}}

input:not([type=password]):not([type=date]):not([type=time]):not([type=number]):not([id=au]):not([id=uu]):not([name=username]):not([id^=t_]):not(#tx):not(#sn):not([name=shop]):not([name=shopName]):not([name=code]):not([type=email]):not([type=file]):not(#cc):not(#txlink):not(#sad):not(#txsw):not(#txto),textarea:not(#tx):not(#mrb):not([id^=t_]){text-transform:uppercase}input::placeholder,textarea::placeholder{text-transform:none}

.xbtn{position:sticky;top:0;float:right;margin:-4px -4px 0 10px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:24px;line-height:1;padding:0;z-index:3;display:grid;place-items:center}.xbtn:hover{background:var(--bg)}
#wo .noprint{align-items:center}#wo .xbtn{position:static;float:none;margin:0 0 0 auto}
.row.stack{flex-wrap:wrap}.row.stack .btn{flex:1 1 30%;margin:0;text-align:center}
@media print{.xbtn{display:none!important}}

.logo{display:flex;align-items:center;gap:10px;min-width:0}.logo span{min-width:0;overflow-wrap:anywhere}.lg{width:36px;height:36px;flex:none;object-fit:contain}
.wb{display:flex;align-items:center;gap:14px;min-width:0}.wl{width:56px;height:56px;flex:none;object-fit:contain}

.cd{border-top:1px solid var(--line);margin-top:6px;padding-top:12px}
.chk{display:flex;align-items:flex-start;gap:10px;margin:0 0 8px;color:var(--ink);font-size:15px}.chk input{margin:3px 0 0;width:18px;height:18px;flex:none}.chk small{font-size:13px}
.hd{margin:0 0 12px 28px}.hd summary{cursor:pointer;color:var(--ac);font-weight:600;padding:4px 0}.hg{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:2px 14px;margin-top:6px}.hg .chk{margin:0;padding:5px 0}
#nc{display:block;margin:-2px 0 6px 28px;line-height:1.5}

.sl small{font-weight:400}
#bx{margin:10px 0 12px}#bx[hidden]{display:none}
.cl{display:block;max-height:190px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:2px 10px;margin:6px 0 0;background:var(--bg)}
.cx{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);text-align:left}.cx:last-child{border-bottom:0}.cx small{color:var(--mut)}.cx .ic{flex:none;font-size:17px;padding:4px 10px}

.btn.off{opacity:.5}
.sms.nudge{animation:nudge .9s ease}
@keyframes nudge{0%,100%{box-shadow:none}25%,75%{box-shadow:0 0 0 3px var(--ac);border-radius:10px}}

.job.major{background:var(--mj);border-color:var(--mjl);border-left:6px solid var(--mjl)}.job.major .vh,.job.major .sv,.job.major .bx i{color:var(--ink);opacity:.8}.job.major .tk{border-color:var(--mjl)}
.mjt{display:inline-block;font:700 10px/1 Barlow,sans-serif;letter-spacing:.08em;background:var(--mjl);color:#2a2200;padding:3px 5px;border-radius:4px;margin-left:4px;vertical-align:2px}.job.major .r1 b{white-space:nowrap}
.chk.mj{border:1px solid var(--line);border-radius:10px;padding:9px 10px;margin:0 0 12px;background:var(--bg)}.chk.mj>span{flex:1}.chk.mj small{display:block;color:var(--mut)}.chk.mj:has(input:checked){background:var(--mj);border-color:var(--mjl)}.chk.mj:has(input:checked) small{color:var(--ink);opacity:.8}

#dn{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);width:min(580px,calc(100vw - 24px));z-index:35;display:flex;align-items:center;gap:14px;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:16px 14px 16px 18px;box-shadow:0 12px 34px #0007;animation:dnin .25s ease-out}
.dni{flex:none;width:38px;height:38px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;font:700 21px/1 sans-serif}
.dnb{flex:1;min-width:0;display:flex;flex-direction:column}.dnb b{font:700 20px 'Barlow Semi Condensed',sans-serif}.dnb span{color:var(--mut);font-size:15px}
.dna{flex:none;background:var(--ac);border:1px solid var(--ac);color:#fff;border-radius:10px;padding:10px 16px;font:700 16px Barlow,sans-serif;text-decoration:none;white-space:nowrap}
.dnx{flex:none;border:0;background:none;color:var(--mut);font-size:24px;line-height:1;padding:4px 8px}
@keyframes dnin{from{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%,0)}}
@media(max-width:520px){#dn{flex-wrap:wrap}.dnb{flex-basis:calc(100% - 100px)}.dna{flex:1;text-align:center;order:3}}

main.nv{padding-left:54px;padding-right:54px}
.sidenav{position:fixed;top:50%;transform:translateY(-50%);z-index:4;width:34px;height:140px;border:1px solid var(--line);background:var(--card);color:var(--mut);border-radius:12px;display:grid;place-items:center;padding:0;box-shadow:0 2px 10px #0002;cursor:pointer}
.sidenav.l{left:max(8px,calc(50vw - 742px))}.sidenav.r{right:max(8px,calc(50vw - 742px))}
.sidenav:focus-visible{background:var(--ac);border-color:var(--ac);color:#fff;outline:0}.sidenav:active{transform:translateY(-50%) scale(.96)}@media(hover:hover){.sidenav:hover{background:var(--ac);border-color:var(--ac);color:#fff}}
@media(max-width:560px){main.nv{padding-left:32px;padding-right:32px}.sidenav{width:24px;height:100px;border-radius:9px}.sidenav svg{width:18px;height:18px}.sidenav.l{left:4px}.sidenav.r{right:4px}}
@media print{.sidenav{display:none!important}}

/* ---- multi-shop: brand strip, sign-up, set-up steps, shop account ---- */
.brandbar{display:flex;align-items:center;justify-content:center;gap:8px;padding:6px 12px;background:var(--bg);color:var(--mut);font:700 15px 'Barlow Semi Condensed',sans-serif;letter-spacing:.2px}
.brandbar .bm{border-radius:6px}.brandbar b{color:var(--ink);font-weight:700}
.authpage{max-width:520px;margin:0 auto;padding:max(14px,4vh) 14px 28px}
.hero{text-align:center;margin:2vh 0 14px}.hero .bm{border-radius:14px;box-shadow:0 3px 14px #0003}.hero h1{margin:8px 0 0;font:700 32px 'Barlow Semi Condensed',sans-serif}.hero p{margin:2px 0 0;color:var(--mut)}
.authpage .login{margin:0 auto;max-width:none}.login h2{margin:0 0 8px;font:700 24px 'Barlow Semi Condensed',sans-serif}.login .sub{margin-top:0}
.alt{margin:14px 0 0;text-align:center;color:var(--mut)}.alt a,.legalnote a,.login a,.gate a{color:var(--ac)}
.legalnote{text-align:center;color:var(--mut);font-size:13px;margin:16px 0 0}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.login .chk{margin:10px 0}.login .chk span{font-size:14px;line-height:1.4}
.gate{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px 20px 14px;margin-top:2vh}.gate h2{margin:0 0 8px;font:700 24px 'Barlow Semi Condensed',sans-serif}.gate p{margin:0 0 10px}
.gate .wide{display:block;width:100%;margin-top:8px}.gate .wide:disabled{opacity:.5;cursor:not-allowed}
.steps{margin:10px 0 12px;padding-left:22px}.steps li{margin:0 0 12px;line-height:1.45}
.tst{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.tst input{flex:1 1 170px;min-width:0}
.note{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:var(--mut);font-size:14px}
.row0{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 10px}
.acs{border-top:1px solid var(--line);padding:12px 0 10px}.acs:first-of-type{border-top:0}.acs p{margin:2px 0 8px}.acs b{font-size:16px}
.lgrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.lgp{width:56px;height:56px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.lgp0{display:grid;place-items:center;width:56px;height:56px;border:1px dashed var(--line);border-radius:8px;color:var(--mut);font-size:11px;text-align:center}
.acs a:not(.btn),.gate a:not(.btn){color:var(--ac)}.acs a.btn{color:var(--ink)}

/* texting from the shop phone */
.txn{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0;padding:9px 14px;font-size:15px;border-bottom:1px solid var(--line);background:var(--card)}.txn[hidden]{display:none}.txn>span{flex:1 1 240px}.txn.bad{background:#fdecea;color:#7a1f19;border-color:#f0b9b4}.txn.warn{background:#fff6e0;color:#6b4a05;border-color:#ecd49a}
.txn .btn{padding:4px 10px;font-size:14px}.txx{flex:none;border:0;background:none;color:inherit;font-size:22px;line-height:1;padding:2px 8px;opacity:.7}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .txn.bad{background:#3b1c19;color:#f4c7c3;border-color:#6a312c}:root:not([data-theme=light]) .txn.warn{background:#3a2e0e;color:#f0d9a0;border-color:#6a5217}}
:root[data-theme=dark] .txn.bad{background:#3b1c19;color:#f4c7c3;border-color:#6a312c}:root[data-theme=dark] .txn.warn{background:#3a2e0e;color:#f0d9a0;border-color:#6a5217}
.chk.tg{border:1px solid var(--line);border-radius:10px;padding:9px 10px;margin:0 0 8px;background:var(--bg)}.chk.tg>span{flex:1}.chk.tg b{display:block}.chk.tg small{display:block;color:var(--mut);margin-top:2px;line-height:1.4}
.chk.tg input[type=time],.chk.tg input[type=number]{display:inline-block;width:auto;height:auto;margin:0 2px;padding:2px 6px;font-size:14px}.chk.tg input[type=number]{width:60px}
.chk.tg:has(>input:checked){border-color:var(--ac)}
.txcode{font:700 34px/1.2 'Barlow Semi Condensed',monospace;letter-spacing:.18em;text-align:center;padding:12px 8px;margin:8px 0;border:2px dashed var(--ac);border-radius:12px;background:var(--bg);user-select:all}
.txrl.all{max-height:380px;overflow-y:auto;padding-right:4px}.txr{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.txr>div:first-child{flex:1;min-width:0}.txr small{color:var(--mut)}.txr small.bad{color:var(--bad)}
.txm{color:var(--ink);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.txs{flex:none;font:600 13px Barlow,sans-serif;white-space:nowrap}.txs.sent{color:var(--ok)}.txs.failed{color:var(--bad)}.txs.queued,.txs.sending{color:var(--warn)}.txs.canceled{color:var(--mut)}
.txh{display:flex;justify-content:space-between;gap:8px;align-items:baseline;padding:3px 0;font-size:14px}.txh small{color:var(--mut)}.txh small.bad{color:var(--bad)}
.txhl{display:block;color:var(--mut);margin:8px 0 2px}#txh:empty{display:none}
.btn.bad2{color:var(--bad);border-color:var(--bad);background:transparent}
.gtabs{display:flex;gap:8px;margin:12px 0}.gtab{flex:1;text-align:left;border:1px solid var(--line);background:var(--card);border-radius:10px;padding:10px 12px;font:700 16px Barlow,sans-serif;color:var(--ink)}.gtab small{display:block;font:400 13px Barlow,sans-serif;color:var(--mut);margin-top:2px}.gtab.on{border-color:var(--ac);box-shadow:0 0 0 2px var(--ac) inset}
@media(max-width:520px){.gtabs{flex-direction:column}}

/* customer replies (Messages) */
.bdg{display:inline-block;min-width:18px;padding:0 6px;margin-left:6px;border-radius:10px;background:var(--bad);color:#fff;font:700 12px/18px Barlow,system-ui,sans-serif;text-align:center}.bdg[hidden]{display:none}
.btn.bsm{padding:3px 10px;font-size:13px}
.cvf{font-size:11px;font-weight:700;border-radius:6px;padding:1px 6px;white-space:nowrap}.cvf.bad{background:var(--bad);color:#fff}.cvf.warn{background:var(--warn);color:#1b1b1b}
.cvb{border-radius:10px;padding:10px 12px;margin:6px 0;font-size:14px;line-height:1.4}.cvb .btn{margin-left:6px}.cvb:empty{display:none}.cvb.bad{background:#fdecea;color:#7a1f19;border:1px solid #f0b9b4}.cvb.warn{background:#fff6e0;color:#6b4a05;border:1px solid #ecd49a}
#cvb:empty{display:none}
.txh.rpl{align-items:flex-start}.txh.rpl>span{flex:1;min-width:0;font-style:italic;word-break:break-word}.txh.rpl .txs{font-style:normal}
@media(max-width:700px){#msgbtn .lb{display:none}}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .cvb.bad{background:#3b1c19;color:#f4c7c3;border-color:#6a312c}:root:not([data-theme=light]) .cvb.warn{background:#3a2e0e;color:#f0d9a0;border-color:#6a5217}}
:root[data-theme=dark] .cvb.bad{background:#3b1c19;color:#f4c7c3;border-color:#6a312c}:root[data-theme=dark] .cvb.warn{background:#3a2e0e;color:#f0d9a0;border-color:#6a5217}

/* texting master switch and the Add a phone (QR) box */
.mst{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:2px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--bg);margin:6px 0 10px}
.mst>div{flex:1 1 220px;min-width:0}.mst b{font-size:18px;display:block}.mst small{display:block;color:var(--mut);margin-top:2px;line-height:1.4}
.mdot{flex:none;width:16px;height:16px;border-radius:50%;background:var(--mut)}
.mst.on{border-color:var(--ok)}.mst.on .mdot{background:var(--ok);box-shadow:0 0 0 4px #2f8f5b33}
.mst.off{border-color:var(--warn)}.mst.off .mdot{background:var(--warn)}
.pair{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap;margin:8px 0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
.qr{flex:none;background:#fff;border-radius:10px;line-height:0;border:1px solid var(--line);overflow:hidden}.qr svg{display:block;max-width:100%;height:auto}
.pairtx{flex:1 1 220px;min-width:0}.pairtx p{margin:4px 0}.pairtx .txcode{font-size:28px;margin:8px 0}
.pair.exp .qr,.pair.exp .txcode{opacity:.25}
@media(max-width:520px){.qr svg{width:100%}}

/* customer answers to the day-before reminder (C / X), calendar and service sub-options */
.rpc{display:inline-block;font:700 10px/1 Barlow,sans-serif;letter-spacing:.04em;padding:3px 6px;border-radius:4px;margin-left:4px;vertical-align:2px;white-space:nowrap}.rpc.ok{background:var(--ok);color:#fff}.rpc.bad{background:var(--bad);color:#fff}
.chk.tg.sub{margin-left:26px}
.cvb.ok{background:#e6f5ec;color:#16492d;border:1px solid #a9d9bd}.cvf.okf{background:var(--ok);color:#fff}
.cvb .chk{margin:8px 0 0}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .cvb.ok{background:#16301f;color:#bfe6cd;border-color:#2f5f40}}
:root[data-theme=dark] .cvb.ok{background:#16301f;color:#bfe6cd;border-color:#2f5f40}

/* service reminder: the box for the services must be a proper text box (the checkbox size rule used to squash it) */
.chk.svcb{align-items:flex-start}.chk.svcb>div{flex:1;min-width:0}.chk.svcb label{display:block;margin:0}.chk.svcb b{display:block}.chk.svcb small{display:block;color:var(--mut);margin-top:2px;line-height:1.4}
.chk.svcb input.svw{display:block;width:100%;height:auto;margin:8px 0 6px;padding:8px 10px;font-size:15px;flex:none}
.svc{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}.svc .chip{padding:3px 11px;font-size:14px}

/* find a customer's appointment, and the cancellation list bubble (top bar, far right) */
.bsw{position:relative;flex:1 1 240px;max-width:440px;min-width:0}.bsw #bs{width:100%;min-width:0}
.bsd{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:12;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 28px #0004;max-height:min(60vh,430px);overflow:auto;padding:4px}
.bsr{display:flex;width:100%;gap:10px;justify-content:space-between;align-items:flex-start;text-align:left;border:0;background:none;border-radius:8px;padding:8px 10px;color:var(--ink)}.bsr:hover,.bsr:focus-visible{background:var(--bg)}
.bsr b{display:block;font-weight:600}.bsr small{display:block;color:var(--mut);font-size:12.5px}.bsr .bsw2{text-align:right;flex:none}.bsr .bsn{min-width:0}.bsr .bsn small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bsr.past{opacity:.6}.bsr.wl{border-top:1px solid var(--line);border-radius:0 0 8px 8px}.bsm{margin:0;padding:8px 10px;color:var(--mut);font-size:13px}
.job.hit{outline:3px solid var(--ac);outline-offset:1px;animation:hitp 1.1s ease-in-out 3}@keyframes hitp{50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--ac) 30%,transparent)}}
.wlb{margin-left:auto;border-radius:99px;padding:6px 14px;font-weight:600;display:inline-flex;align-items:center;gap:2px;white-space:nowrap}.wlb .bdg{margin-left:8px}
.rpc.mvd{background:var(--warn);color:#fff}

/* cancellation list window */
.box.wide2{width:min(1120px,100%)}
.wlh{text-align:center;font:700 26px 'Barlow Semi Condensed',sans-serif;letter-spacing:.04em}
.wlw{overflow-x:auto}.wlt{width:100%;border-collapse:collapse;min-width:0}
.wlt th{background:var(--bg);font:700 13px 'Barlow Semi Condensed',sans-serif;letter-spacing:.05em;border:1px solid var(--line);padding:7px 6px;text-align:center}
.wlt td{border:1px solid var(--line);padding:0}.wlt td.wc,.wlt th.wc{width:54px;text-align:center}.wlt td.wx,.wlt th.wx{width:34px;border:0;background:none}
.wlt td input:not([type=checkbox]){border:0;border-radius:0;background:transparent;width:100%;padding:9px 8px}.wlt td input:not([type=checkbox]):focus{outline:2px solid var(--ac);outline-offset:-2px;background:var(--bg)}
.wlt td.wc input{width:20px;height:20px;margin:6px auto;display:block}
.wlt th:nth-child(2){width:19%}.wlt th:nth-child(3){width:21%}.wlt th:nth-child(4){width:20%}.wlt th:nth-child(5){width:26%}.wlt th:nth-child(6){width:14%} /* more room for the vehicle and the work, which now fill in from the booking */
.wlt tr.dn td input:not([type=checkbox]){text-decoration:line-through;opacity:.55}
@media(max-width:720px){
  .wlt thead{display:none}.wlt,.wlt tbody,.wlt tr,.wlt td{display:block}
  .wlt tr{position:relative;border:1px solid var(--line);border-radius:10px;margin-bottom:10px;padding:8px 8px 8px 46px;background:var(--card)}
  .wlt td{border:0;border-bottom:1px solid var(--line)}.wlt td:last-of-type{border-bottom:0}
  .wlt td[data-l]::before{content:attr(data-l);display:block;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--mut);padding:5px 8px 0}
  .wlt td.wc{position:absolute;left:6px;top:8px;width:34px;border:0}.wlt td.wc::before{display:none}.wlt td.wx{position:absolute;right:6px;top:4px;width:auto}
}

/* Messages: conversations on the left, the open conversation and a message box on the right */
.box.wide{width:min(1020px,100%);height:min(780px,92vh);max-height:92vh;padding:0;display:flex;flex-direction:column;overflow:hidden;position:relative}
.box.wide>.xbtn{position:absolute;top:10px;right:10px;float:none;margin:0;z-index:4}
.mm{display:grid;grid-template-columns:minmax(250px,330px) minmax(0,1fr);flex:1;min-height:0}
.mml{display:flex;flex-direction:column;min-height:0;background:var(--card);border-right:1px solid var(--line)}
.mls{display:flex;gap:8px;align-items:center;padding:12px 12px 8px}.mlq{flex:1;display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--bg);border-radius:999px;padding:0 12px;min-width:0}.mlq svg{flex:none;color:var(--mut);width:18px;height:18px}.mlq:focus-within{border-color:var(--ac)}
.mlq input{border:0;background:none;padding:8px 0;border-radius:0;outline:0;min-width:0}
.mnew{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:var(--ink)}.mnew:hover{background:var(--bg)}
.mlh{display:flex;justify-content:space-between;align-items:center;padding:6px 16px;font:600 13px Barlow,sans-serif;color:var(--mut)}
.lnk{border:0;background:none;color:var(--ac);font-size:13px;padding:0}.lnk[hidden]{display:none}
.mv{display:flex;flex-direction:column;gap:2px;overflow-y:auto;min-height:0}.mml .mv{flex:1;padding:0 6px 8px}
.cvr{position:relative;display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;border-radius:10px;padding:9px 10px;color:var(--ink);font:inherit;cursor:pointer}.cvr:hover{background:var(--bg)}.cvr.sel{background:var(--bg);box-shadow:inset 3px 0 0 var(--ac)}
.mav{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#fff;font:700 15px Barlow,sans-serif}
.cvb2{flex:1;min-width:0;display:block}.cvt{display:flex;align-items:baseline;gap:6px}.cvt b{font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.cvt small{margin-left:auto;color:var(--mut);white-space:nowrap;font-size:12px;flex:none}
.cvm{display:block;color:var(--mut);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px}.cvr.un .cvm,.cvr.un .cvt b{color:var(--ink);font-weight:700}.cvr .bdg{margin:0;flex:none}
.mmr{display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--bg)}
.mmempty{margin:auto;text-align:center;color:var(--mut);padding:20px}.mmempty svg{width:46px;height:46px;opacity:.5}
.mth{display:flex;align-items:center;gap:10px;padding:10px 60px 10px 14px;background:var(--card);border-bottom:1px solid var(--line)}.mti{flex:1;min-width:0}.mti b{display:block;font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mti small{color:var(--mut)}
.mth .ic{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--ink);text-decoration:none;padding:0;flex:none}.mth .ic:hover{background:var(--bg)}.mback{display:none!important;font-size:26px}
#cvb{padding:0 14px}
.mv.th{flex:1;padding:14px 16px 8px;gap:10px;background:transparent;border:0;border-radius:0;min-height:0}
.mday{align-self:center;color:var(--mut);font-size:12px;margin:6px 0 0;letter-spacing:.02em}
.mr{display:flex;gap:8px;align-items:flex-end;max-width:88%}.mr.in{align-self:flex-start}.mr.out{align-self:flex-end;flex-direction:row-reverse}.mcol{display:flex;flex-direction:column;min-width:0}.mr.out .mcol{align-items:flex-end}
.mavw{flex:none;margin-bottom:18px}
.bub{padding:9px 14px;border-radius:18px;white-space:pre-wrap;word-break:break-word;line-height:1.35}
.bin{background:var(--card);border:1px solid var(--line);border-bottom-left-radius:6px}.bin.fs{border-color:var(--bad)}.bin.fm{border-color:var(--warn)}
.bout{background:#2f64b8;color:#fff;border-bottom-right-radius:6px}.bout.fl{background:var(--bad)}
.mmeta{display:block;margin:3px 6px 0;color:var(--mut);font-size:11.5px}.ck.ok{color:var(--ok)}.ck.bad{color:var(--bad)}
.mcomp{display:flex;align-items:flex-end;gap:6px;margin:8px 14px 14px;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:6px 8px 6px 16px}.mcomp:focus-within{border-color:var(--ac)}
#mrb{flex:1;border:0;background:none;resize:none;padding:7px 0;border-radius:0;outline:0;max-height:130px;line-height:1.35;width:auto;margin:0}
.msend{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#2f64b8;color:#fff;padding:0;flex:none}.msend.off{background:none;color:var(--mut);opacity:.7}
@media(max-width:759px){
  .box.wide{height:92vh}.mm{grid-template-columns:minmax(0,1fr)}.mmr{display:none}.mm.showt .mml{display:none}.mm.showt .mmr{display:flex}
  .mback{display:grid!important}.mth{padding-left:8px}.mr{max-width:94%}
}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .bout{background:#3468b8}:root:not([data-theme=light]) .msend{background:#3468b8}}
:root[data-theme=dark] .bout,:root[data-theme=dark] .msend:not(.off){background:#3468b8}
