.x-plan{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:8px}
.x-plan svg{display:block;width:100%;height:auto}
.x-rm{cursor:pointer}
.x-rm rect{fill:var(--card);stroke:var(--muted);stroke-width:2;transition:fill .2s}
.x-rm:hover rect{stroke:var(--o)}
.x-rm.on rect{fill:var(--o);fill-opacity:.28;stroke:var(--o)}
.x-rm text{fill:var(--head);font-size:9px;text-anchor:middle;font-family:inherit;pointer-events:none}
.x-rm text.x-dim{fill:var(--muted);font-size:7.5px}
.x-btns{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0}
.x-btns .btn{padding:7px 12px;font-size:.82rem}
.x-btns b{color:var(--o)}
.x-form{display:grid;gap:8px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:12px;margin:10px 0}
.x-form label,.x-g2 label{display:grid;gap:3px;font-size:.78rem;color:var(--muted);min-width:0}
.x-form input:not([type=checkbox]),.x-form select,.x-g2 input,.x-g2 select,.x-btns select,.x-t select,.x-ph select{width:100%;min-width:0;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--text);font:inherit;font-size:.85rem;box-sizing:border-box}
.x-btns select{width:auto;max-width:100%;flex:1 1 160px}
.x-form .x-chk{display:flex;align-items:center;gap:6px;color:var(--text)}
.x-g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}
.x-g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.x-tw{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.x-t{width:100%;border-collapse:collapse;font-size:.82rem}
.x-t th,.x-t td{padding:6px 4px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.x-t th{color:var(--muted);font-weight:500;font-size:.72rem}
.x-t td small{display:block;color:var(--muted);font-size:.7rem}
.x-t select{width:auto;max-width:130px;padding:4px}
.x-x{border:0;background:none;color:var(--muted);cursor:pointer;font-size:1rem}
.x-x:hover{color:var(--o)}
.x-tot{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:12px;border-radius:12px;background:var(--bg2);border:1px solid var(--line);margin:10px 0}
.x-tot span{color:var(--muted);font-size:.8rem}
.x-tot b{font-size:1.5rem;color:var(--o)}
.x-tot small{flex-basis:100%;color:var(--muted);font-size:.75rem}
.x-mat{list-style:none;margin:0 0 10px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;font-size:.82rem}
.x-mat li{display:flex;justify-content:space-between;gap:8px;border-bottom:1px dashed var(--line);padding:3px 0}
.x-mat span{overflow-wrap:anywhere}
.x-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px;margin:0 0 10px}
.x-card p{margin:4px 0}
.x-ch{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;flex-wrap:wrap}
.x-ch b{color:var(--head);overflow-wrap:anywhere;min-width:0}
.x-st{font-size:.7rem;padding:2px 8px;border-radius:99px;white-space:nowrap;border:1px solid var(--line);color:var(--muted)}
.x-st.x-hot{background:var(--o);border-color:var(--o);color:var(--card)}
.x-st.x-ok{border-color:var(--o);color:var(--o)}
.x-q{padding:10px 0;border-bottom:1px solid var(--line)}
.x-q p{margin:3px 0}
.x-q.won,.x-q.lost{opacity:.7}
.x-ready{display:grid;gap:4px;margin:8px 0;padding:8px;background:var(--bg2);border-radius:8px}
.x-ready label{display:flex;gap:6px;align-items:center;font-size:.82rem;cursor:pointer}
.x-stg{list-style:none;padding:0;margin:8px 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.x-stg li{background:var(--bg2);border-radius:8px;padding:6px;font-size:.68rem;border-top:3px solid var(--line);min-width:0;overflow-wrap:anywhere}
.x-stg li b{display:block;color:var(--head);font-size:.72rem}
.x-stg li span{color:var(--muted)}
.x-stg li.done{border-top-color:var(--o);opacity:.65}
.x-stg li.done b::after{content:' ✓'}
.x-stg li.next{border-top-color:var(--o);box-shadow:0 0 0 1px var(--o)}
.x-cal{border-collapse:separate;border-spacing:3px;font-size:.7rem;min-width:640px;width:100%}
.x-cal th{color:var(--muted);font-weight:500;text-align:left;white-space:nowrap;padding:2px 4px}
.x-cal td{background:var(--bg2);border-radius:6px;height:34px;text-align:center;padding:2px;color:var(--muted)}
.x-cal td.on{background:var(--o);color:var(--card);font-weight:600}
.x-cal .x-now{box-shadow:inset 0 0 0 2px var(--head)}
.x-phone{background:var(--card);border:2px solid var(--line);border-radius:22px;padding:12px;max-width:340px;margin:10px 0}
.x-ph{font-size:.75rem;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:6px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.x-ph select{width:auto;flex:1 1 140px}
.x-phone ul{list-style:none;margin:0;padding:0;font-size:.8rem}
.x-phone li{display:flex;gap:8px;padding:4px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.x-phone li b{min-width:84px;color:var(--head)}
.x-sms{background:var(--bg2);border-radius:14px 14px 14px 4px;padding:8px 12px;margin:8px 0;font-size:.8rem;max-width:320px}
.x-sms small{color:var(--muted);font-size:.7rem}
.x-sms p{margin:2px 0 0;overflow-wrap:anywhere}
.x-cl{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap;padding:6px 0;border-bottom:1px dashed var(--line);font-size:.82rem}
.x-cl small{display:block;color:var(--muted);font-size:.72rem}
.x-cl div{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.x-cl .btn{padding:5px 10px;font-size:.78rem}
.x-v{padding:8px 0;border-bottom:1px solid var(--line)}
.x-v p{margin:3px 0}
.x-pics{display:flex;gap:6px;margin:6px 0}
.x-pics span{width:54px;height:40px;border-radius:6px;background:linear-gradient(135deg,var(--bg2),var(--line));border:1px solid var(--line);position:relative}
.x-pics span::after{content:'📷';position:absolute;inset:0;display:grid;place-items:center;font-size:.8rem;opacity:.6}
.x-today{list-style:none;padding:0;margin:0 0 10px;display:grid;gap:6px}
.x-today li{display:flex;gap:8px;flex-wrap:wrap;background:var(--bg2);border-radius:8px;padding:8px 10px;font-size:.85rem;overflow-wrap:anywhere}
.x-today b{color:var(--head)}
@media (max-width:560px){
.x-g3{grid-template-columns:repeat(2,minmax(0,1fr))}
.x-g3 label:first-child{grid-column:1/-1}
.x-mat{grid-template-columns:minmax(0,1fr)}
.x-stg{grid-template-columns:repeat(3,minmax(0,1fr))}
.x-phone{max-width:none}
.x-tot b{font-size:1.25rem}
}