.x-week{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:0 0 16px}
.x-day{display:flex;flex-direction:column;gap:3px;text-align:left;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--text);font:inherit;min-width:0}
.x-day[data-day]{cursor:pointer}
.x-day b{color:var(--head);font-size:.9rem}
.x-day small{font-size:.72rem;color:var(--muted);overflow-wrap:anywhere}
.x-day .dk-cap{display:block;margin:4px 0}
.x-day .btn{margin-top:6px;padding:6px 8px;font-size:.74rem}
.x-day.on{border-color:var(--o);box-shadow:0 0 0 2px var(--o) inset}
.x-day.x-over{border-color:#d9534f}
.x-day.x-past{opacity:.6}
.x-map{width:100%;max-width:420px;display:block;margin:6px auto;border-radius:12px;background:var(--bg2);border:1px solid var(--line)}
.x-sea{fill:rgba(60,140,210,.22)}
.x-sl{font-size:3.4px;fill:var(--muted);text-anchor:middle;font-weight:600}
.x-dot{fill:var(--muted);opacity:.45}
.x-route{fill:none;stroke:var(--o);stroke-width:.8;stroke-dasharray:2 1.2;stroke-linejoin:round}
.x-depot{fill:var(--head)}
.x-stp{fill:var(--o);stroke:var(--card);stroke-width:.6}
.x-sn{font-size:3.2px;fill:var(--card);text-anchor:middle;font-weight:700}
.x-dn .x-stp{fill:var(--muted)}
.x-pin{fill:#2e9b4f;stroke:var(--card);stroke-width:.6}
.x-btns{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.x-btns .btn{font-size:.82rem}
.x-stops{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.x-stop{display:flex;gap:10px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.x-stop>em{flex:0 0 28px;height:28px;border-radius:50%;background:var(--o);color:var(--card);display:grid;place-items:center;font-style:normal;font-weight:700;font-size:.8rem}
.x-stop>div{min-width:0;overflow-wrap:anywhere}
.x-stop p{margin:3px 0}
.x-stop.x-dn{opacity:.6}
.x-stop.x-dn>em{background:var(--muted)}
.x-stop.x-oa{border-color:#d9534f}
.x-warn{font-size:.78rem;color:var(--head);background:var(--bg2);padding:6px 8px;border-radius:8px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.x-warn .btn{padding:5px 10px;font-size:.75rem}
.x-phone{border:2px solid var(--line);border-radius:22px;padding:14px;background:var(--bg2);max-width:380px;margin:0 auto 14px}
.x-ph-h{font-size:.78rem;font-weight:600;color:var(--muted);margin-bottom:10px}
.x-job{background:var(--card);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:4px;overflow-wrap:anywhere}
.x-job b{color:var(--head);font-size:1.05rem}
.x-job small,.x-job span{color:var(--muted);font-size:.8rem}
.x-notes{list-style:none;padding:0;margin:6px 0;display:grid;gap:4px;font-size:.85rem}
.x-notes li{background:var(--bg2);padding:5px 8px;border-radius:8px}
.x-full{width:100%;margin-top:10px}
.x-bills{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.x-bill{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px 10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.x-bill>div:first-child{min-width:0;overflow-wrap:anywhere}
.x-bill small{display:block;font-size:.74rem}
.x-bb{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px}
.x-bb .btn{padding:5px 10px;font-size:.75rem}
.x-chip{display:inline-block;font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:99px;border:1px solid currentColor;white-space:nowrap}
.x-paid,.x-booked{color:#2e9b4f}
.x-failed,.x-overdue{color:#d9534f}
.x-due,.x-quoted{color:#c98a12}
.x-new{color:var(--o)}
.x-chase{padding:12px;border-radius:12px;background:var(--bg2);margin-bottom:12px}
.x-chase p{margin:0 0 8px}
.x-rcpt{border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--card);margin-bottom:16px}
.x-rh{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;color:var(--head)}
.x-ba{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:10px 0}
.x-ph{margin:0;height:96px;border-radius:10px;position:relative;overflow:hidden}
.x-long{background:repeating-linear-gradient(75deg,#4d7a2a 0 2px,#6e9c3a 2px 5px,#8aa94a 5px 7px)}
.x-mown{background:repeating-linear-gradient(90deg,#74b04a 0 16px,#5f9a3b 16px 32px)}
.x-ph figcaption{position:absolute;left:6px;bottom:6px;font-size:.68rem;font-weight:600;background:var(--card);color:var(--head);padding:2px 6px;border-radius:6px}
.x-rl{display:flex;justify-content:space-between;gap:8px;margin:4px 0}
.x-sel{width:100%;margin:0 0 10px;padding:8px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--text);font:inherit}
.x-cp p{margin:4px 0}
.x-inbox{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:6px}
.x-eq{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;text-align:left;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--text);font:inherit;cursor:pointer}
.x-eq.on{border-color:var(--o);box-shadow:0 0 0 2px var(--o) inset}
.x-eq b{color:var(--head);overflow-wrap:anywhere}
.x-eq small{color:var(--muted);font-size:.76rem;overflow-wrap:anywhere}
.x-src{font-size:.72rem;color:var(--muted)}
.x-form{display:grid;gap:8px;padding:12px;border-radius:12px;background:var(--bg2)}
.x-form h4{margin:0}
.x-form input,.x-form select,.x-opts select{width:100%;padding:8px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--text);font:inherit;min-width:0}
.x-r2,.x-opts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.x-opts label{display:grid;gap:4px;font-size:.8rem;color:var(--muted)}
.x-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:center}
.x-sug{font-size:.85rem;padding:10px;border-radius:12px;background:var(--bg2);overflow-wrap:anywhere}
.x-sat{width:100%;display:block;border-radius:12px;margin:10px 0 0}
.x-lawn{fill:rgba(140,210,90,.18);stroke:transparent}
.x-meas{fill:rgba(255,150,40,.22);stroke:var(--o);stroke-width:1.5;stroke-dasharray:5 3;animation:x-ants 1s linear infinite}
@keyframes x-ants{to{stroke-dashoffset:-16}}
.x-at{font-size:9px;font-weight:700;fill:var(--o);text-anchor:middle;paint-order:stroke;stroke:rgba(20,30,10,.75);stroke-width:2.5px}
.x-ex{display:grid;gap:6px;margin:10px 0;font-size:.85rem}
.x-ex label{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.x-price{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.x-price div{padding:10px;border-radius:12px;background:var(--bg2);text-align:center}
.x-price b{display:block;color:var(--head);font-size:1.1rem}
.x-price span{font-size:.72rem;color:var(--muted)}
.x-mode{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.x-sms{background:var(--card);border-radius:14px 14px 14px 4px;padding:10px 12px;margin:0 0 6px;font-size:.88rem;overflow-wrap:anywhere}
.x-season,.x-log{list-style:none;padding:0;margin:0 0 10px;display:grid;gap:6px}
.x-season li,.x-log li{display:flex;flex-wrap:wrap;gap:4px 10px;justify-content:space-between;padding:7px 10px;border-radius:10px;background:var(--bg2);font-size:.84rem}
.x-season em{color:#2e9b4f;font-style:normal;font-weight:600}
@media (max-width:560px){.x-week{grid-template-columns:repeat(3,minmax(0,1fr))}.x-two{grid-template-columns:minmax(0,1fr)}.x-price b{font-size:.95rem}.x-phone{padding:10px}}