.x-spots{display:grid;gap:8px}
.x-spot{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.x-spot>div{min-width:0}
.x-spot b{color:var(--head)}
.x-spot small{display:block;font-size:.76rem;overflow-wrap:anywhere}
.x-spot.x-on{border-color:var(--o);box-shadow:inset 0 0 0 1px var(--o)}
.x-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0}
.x-row select{min-width:0;flex:1;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--text);font:inherit}
.x-week{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px}
.x-week label{display:flex;gap:6px;align-items:center;font-size:.82rem}
.x-week b{min-width:32px}
.x-week select,.x-sel{flex:1;min-width:0;width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--text);font:inherit;font-size:.82rem}
.x-form{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--bg2);margin:12px 0}
.x-form h4{margin:0;color:var(--head)}
.x-form input,.x-form select{width:100%;min-width:0;box-sizing:border-box;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--text);font:inherit;font-size:.86rem}
.x-form label{display:grid;gap:3px;color:var(--muted)}
.x-r2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.x-web,.x-gbp,.x-sms,.x-phone{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:10px 12px;margin-bottom:10px;overflow-wrap:anywhere}
.x-web>b{color:var(--head)}
.x-web p{margin:6px 0 2px;font-size:.88rem}
.x-bar{font-size:.72rem;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:8px}
.x-map{width:100%;height:auto;border-radius:10px;display:block;margin:6px 0}
.x-wk{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.x-wk span{font-size:.7rem;background:var(--bg2);padding:3px 8px;border-radius:20px}
.x-cap{display:block;font-size:.66rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:6px}
.x-gbp b{display:block;color:var(--head)}
.x-gbp span{font-size:.8rem;color:var(--muted)}
.x-gbp em{display:block;font-style:normal;font-weight:600;color:#2e9d5b;margin-top:4px}
.x-gbp em.x-shut{color:#d0453f}
.x-gbp em.x-late{color:var(--o)}
.x-sms p{background:var(--bg2);border-radius:14px 14px 14px 4px;padding:8px 10px;margin:6px 0;font-size:.84rem}
.x-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.x-pills button{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:20px;padding:6px 12px;font:inherit;font-size:.82rem;cursor:pointer}
.x-pills button.x-on{background:var(--o);border-color:var(--o);color:var(--card);font-weight:600}
.x-item{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line)}
.x-item>div{flex:1;min-width:0}
.x-item b{color:var(--head);font-size:.9rem}
.x-item small{display:block;font-size:.75rem;color:var(--muted);margin-bottom:4px}
.x-item.x-so b{text-decoration:line-through;opacity:.6}
.x-phone{max-width:340px;border-width:5px;border-radius:24px}
.x-ph{font-weight:700;color:var(--head);font-size:.9rem}
.x-phone .x-form{background:var(--card);padding:0;border:0;margin:8px 0 0}
.x-pm{list-style:none;padding:0;margin:6px 0;font-size:.8rem}
.x-pm li{display:flex;justify-content:space-between;gap:8px;padding:3px 0;border-bottom:1px dashed var(--line)}
.x-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:8px 0}
.x-slots span{font-size:.7rem;text-align:center;border:1px solid var(--line);border-radius:8px;padding:4px;color:var(--muted)}
.x-slots b{display:block;font-size:.8rem;color:var(--head)}
.x-slots .x-full{opacity:.45;text-decoration:line-through}
.x-warn{color:var(--o);font-weight:600;font-size:.8rem;margin:6px 0}
.x-fill{display:grid;gap:4px;margin:8px 0}
.x-fill>div{display:grid;grid-template-columns:44px minmax(0,1fr) 34px;gap:6px;align-items:center;font-size:.75rem}
.x-q{display:grid;gap:8px}
.x-ord,.x-enq{border:1px solid var(--line);border-left:4px solid var(--muted);border-radius:10px;padding:8px 10px;background:var(--card)}
.x-ord.x-new,.x-enq{border-left-color:var(--o)}
.x-ord.x-cooking{border-left-color:#e0a32e}
.x-ord.x-ready{border-left-color:#2e9d5b}
.x-oh,.x-of{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.x-oh b{color:var(--head);overflow-wrap:anywhere}
.x-of .x-row{margin:4px 0}
.x-ord p,.x-enq p{margin:4px 0;overflow-wrap:anywhere}
.x-tag{font-size:.7rem;background:var(--bg2);padding:2px 8px;border-radius:20px;white-space:nowrap}
.x-ba{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;font-size:.78rem;margin-top:12px}
.x-ba div{padding:8px 10px;border-radius:10px;background:var(--bg2)}
.x-quote{border:1px dashed var(--o);border-radius:10px;padding:8px 10px;font-size:.84rem;background:var(--card)}
.x-quote p{display:flex;justify-content:space-between;gap:8px;margin:3px 0}
.x-quote .x-tot{border-top:1px solid var(--line);padding-top:5px;font-weight:700;color:var(--head)}
.x-run{list-style:none;padding:0;margin:6px 0;font-size:.8rem}
.x-run li{display:flex;gap:8px;padding:2px 0}
.x-run b{min-width:66px;color:var(--o)}
.x-ok{color:#2e9d5b;font-weight:600;font-size:.8rem}
.x-cal{display:grid;gap:6px}
.x-day{display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;font-size:.82rem;background:var(--card)}
.x-day b{color:var(--head)}
.x-day span{display:block;padding:2px 0;overflow-wrap:anywhere}
.x-day span .btn{padding:2px 10px;font-size:.72rem;margin-left:4px}
.x-day.x-clash{border-color:var(--o);background:var(--bg2)}
.x-day em{display:block;color:var(--o);font-style:normal;font-weight:600}
.x-k-private::before{content:'💍 '}
.x-k-market::before{content:'🧺 '}
.x-k-council::before{content:'🏛️ '}
.x-tbl{overflow-x:auto;margin:8px 0}
.x-tbl table{width:100%;border-collapse:collapse;font-size:.8rem}
.x-tbl th{text-align:left;color:var(--muted);font-weight:500;border-bottom:1px solid var(--line);padding:4px 6px}
.x-tbl td{padding:4px 6px;border-bottom:1px solid var(--line)}
.x-temps{list-style:none;padding:0;margin:8px 0;display:grid;gap:4px}
.x-temps li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;font-size:.8rem;padding:6px 8px;background:var(--bg2);border-radius:8px}
.x-temps small{grid-column:1/-1;color:var(--muted);font-size:.7rem}
.x-temps .x-bad{box-shadow:inset 0 0 0 2px var(--o)}
.x-chk{display:grid;gap:5px;margin:10px 0;font-size:.84rem}
.x-eho{border:1px solid var(--line);border-radius:10px;padding:10px;font-size:.82rem;background:var(--bg2);margin-top:8px}
.x-bars{display:grid;gap:10px}
.x-brow b{font-size:.85rem;color:var(--head)}
.x-track{height:12px;background:var(--bg2);border-radius:6px;overflow:hidden;margin:3px 0}
.x-track i{display:block;height:100%;background:var(--o);border-radius:6px}
.x-brow span{font-size:.75rem;color:var(--muted)}
.x-brow.x-bad .x-track i{background:var(--muted)}
.x-brow.x-bad>b::after{content:' ⚠️'}
@media (max-width:560px){
.x-r2,.x-ba{grid-template-columns:minmax(0,1fr)}
.x-spot{flex-wrap:wrap}
.x-phone{max-width:none}
.x-day{grid-template-columns:minmax(0,1fr)}
.x-week{grid-template-columns:minmax(0,1fr)}
}