.x-phone{max-width:380px;margin:0 auto;border:8px solid var(--deep);border-radius:28px;background:var(--card);padding:14px;box-sizing:border-box}
.x-phone.x-mini{max-width:320px;margin:0 0 12px}
.x-ph-top{font-weight:700;color:var(--head);text-align:center;font-size:.85rem;padding-bottom:8px;border-bottom:1px solid var(--line);margin-bottom:10px}
.x-f{display:block;font-size:.72rem;color:var(--muted);margin:0 0 8px;min-width:0}
.x-f input,.x-f select,.x-pay select,.x-form input,.x-form select{display:block;width:100%;margin-top:3px;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:var(--bg2);color:var(--text);font:inherit;font-size:.82rem;box-sizing:border-box;min-width:0}
.x-r2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.x-chk{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.x-chk label{font-size:.72rem;border:1px solid var(--line);border-radius:20px;padding:4px 9px;cursor:pointer;color:var(--text)}
.x-chk label.x-on{border-color:var(--o);color:var(--o)}
.x-chk input{margin:0 4px 0 0;vertical-align:middle}
.x-ck{display:flex;gap:6px;align-items:flex-start;font-size:.72rem;color:var(--text);margin:6px 0;overflow-wrap:anywhere}
.x-ck input{flex:none;margin-top:2px}
.x-est{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0;text-align:center}
.x-est div{background:var(--bg2);border-radius:10px;padding:8px 4px}
.x-est b{display:block;color:var(--head);font-size:.95rem}
.x-est span{font-size:.64rem;color:var(--muted)}
.x-full{width:100%}
.x-vxl{font-size:.75rem;margin:4px 0;padding:6px 8px;border-radius:8px;background:var(--bg2)}
.x-s-ok{box-shadow:inset 3px 0 0 #2f9e5f}
.x-s-soon{box-shadow:inset 3px 0 0 var(--o)}
.x-s-bad{box-shadow:inset 3px 0 0 #d9534f}
.x-warn{display:block;color:#d9534f;font-size:.78rem;margin:4px 0}
.x-ok{color:#2f9e5f;font-size:.82rem;font-weight:600}
.x-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;align-items:center}
.x-dms,.x-tom,.x-cyc,.x-stops,.x-hist{list-style:none;padding:0;margin:0 0 10px}
.x-dms li{border:1px solid var(--line);border-radius:12px;padding:10px;margin-bottom:8px;font-size:.8rem;background:var(--card)}
.x-dms b{color:var(--head)}
.x-dms p{margin:4px 0 8px;color:var(--text);overflow-wrap:anywhere}
.x-dms em{font-style:normal;font-size:.75rem;color:var(--muted)}
.x-ch{float:right;font-size:.64rem;background:var(--bg2);border-radius:20px;padding:2px 8px;color:var(--muted)}
.x-gc{font-size:.75rem;margin:4px 0;color:var(--text)}
.x-gc .dk-cap{display:block;margin-top:3px}
.x-tom li{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:8px;font-size:.8rem;padding:6px 0;border-bottom:1px solid var(--line)}
.x-tom small{display:block;color:var(--muted);font-size:.7rem;overflow-wrap:anywhere}
.x-tom em{font-style:normal;color:var(--o);font-size:.75rem}
.x-ap{border:1px solid var(--line);border-radius:12px;padding:12px;margin:0 0 10px;background:var(--card)}
.x-ap.x-ready{border-color:var(--o)}
.x-ap.x-paid{opacity:.85}
.x-aph{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.x-aph b{color:var(--head)}
.x-pill{font-size:.68rem;padding:2px 8px;border-radius:20px;background:var(--bg2);color:var(--muted)}
.x-steps{display:flex;gap:4px;margin:6px 0}
.x-steps i{flex:1;height:4px;border-radius:2px;background:var(--line)}
.x-steps i.x-on{background:var(--o)}
.x-note{font-size:.78rem;background:var(--bg2);border-radius:8px;padding:6px 8px;margin:6px 0;overflow-wrap:anywhere;color:var(--text)}
.x-flags span{display:inline-block;font-size:.68rem;border:1px solid var(--o);color:var(--o);border-radius:20px;padding:1px 8px;margin:0 4px 4px 0}
.x-act{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}
.x-act>.x-sms,.x-act>.x-pay{flex:1 1 100%}
.x-sms{background:var(--bg2);border-radius:14px 14px 14px 4px;padding:8px 10px;font-size:.78rem;margin:8px 0;overflow-wrap:anywhere;color:var(--text)}
.x-pay{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.x-pay select{width:auto;margin:0}
.x-fake{font-size:.75rem;padding:5px 12px;border-radius:20px;background:var(--o);color:var(--card);font-weight:600}
.x-fake.x-g{background:var(--bg2);color:var(--text)}
.x-map{width:100%;max-width:320px;height:auto;display:block;margin:0 auto 10px}
.x-land{fill:var(--bg2)}
.x-sea{fill:var(--o);opacity:.14}
.x-route{fill:none;stroke:var(--o);stroke-width:1.2;stroke-dasharray:3 2}
.x-dot{fill:var(--o)}
.x-base{fill:var(--head)}
.x-num{font-size:5px;fill:var(--card);font-weight:700}
.x-stops li{padding:4px 0 4px 10px;border-left:3px solid var(--line);margin-bottom:6px;font-size:.8rem}
.x-stops li.x-nx{border-color:var(--o)}
.x-stops li.x-done{opacity:.5}
.x-stops b{color:var(--head)}
.x-stops small{color:var(--muted)}
.x-stops span,.x-stops em{display:block;font-size:.72rem;color:var(--muted);font-style:normal;overflow-wrap:anywhere}
.x-plist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:12px}
.x-pl{position:relative;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 26px 8px 10px;color:var(--text);font:inherit;cursor:pointer;min-width:0}
.x-pl b{display:block;color:var(--head);font-size:.84rem}
.x-pl small{display:block;font-size:.66rem;color:var(--muted);overflow-wrap:anywhere}
.x-pl.x-on{border-color:var(--o);box-shadow:0 0 0 1px var(--o)}
.x-pl i{position:absolute;top:7px;right:7px;font-style:normal;font-size:.75rem}
.x-prof,.x-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--card);min-width:0}
.x-card{margin-top:12px}
.x-pf-h{display:flex;gap:10px;align-items:center}
.x-pf-h b{display:block;color:var(--head);font-size:1.05rem}
.x-pf-h span{display:block;font-size:.72rem;color:var(--muted);overflow-wrap:anywhere}
.x-av{flex:none;font-size:1.6rem;width:48px;height:48px;border-radius:50%;background:var(--bg2);display:grid;place-items:center}
.x-ba{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:12px 0}
.x-ba div{border-radius:10px;height:84px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg2);font-size:1.8rem}
.x-ba .x-aft{background:linear-gradient(135deg,var(--bg2),var(--line))}
.x-ba small{font-size:.66rem;color:var(--muted)}
.x-dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 10px;font-size:.78rem;margin:0}
.x-dl dt{color:var(--muted)}
.x-dl dd{margin:0;color:var(--text);overflow-wrap:anywhere}
.x-vax{border-radius:10px;padding:10px;margin:12px 0;font-size:.8rem;background:var(--bg2);color:var(--text)}
.x-hist li{font-size:.76rem;padding:5px 0;border-bottom:1px solid var(--line);color:var(--text);overflow-wrap:anywhere}
.x-form{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.x-form input,.x-form select{flex:1 1 140px;width:auto;margin:0}
.x-cyc li{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,.9fr);gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line);font-size:.8rem}
.x-cyc b{color:var(--head)}
.x-cyc small{display:block;color:var(--muted);font-weight:400;font-size:.68rem}
.x-cyc em{font-style:normal;font-size:.72rem;color:var(--muted)}
.x-cyc .x-od em{color:#d9534f;font-weight:600}
.x-cyc .x-od .dk-cap i{background:#d9534f}
.x-cyc .x-due em{color:var(--o);font-weight:600}
.x-cyc .x-bk em{color:#2f9e5f}
@media (max-width:560px){
.x-phone{border-width:6px;padding:10px;border-radius:22px}
.x-cyc li{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.x-cyc .dk-cap{grid-column:1/-1;order:3}
.x-tom li{grid-template-columns:52px minmax(0,1fr)}
.x-tom em{grid-column:2}
}