.x-col{min-width:0;max-width:100%}
.x-planw{position:relative;border:1px solid var(--line);border-radius:12px;background:var(--bg2);overflow:hidden;width:100%;max-width:100%;margin:6px 0;box-sizing:border-box}
.x-plan{display:block;width:100%;max-width:100%;height:auto;cursor:crosshair;touch-action:manipulation}
.x-plan .x-rm{fill:var(--card);stroke:var(--head);stroke-width:2}
.x-plan .x-isl{fill:var(--line);stroke:var(--head);stroke-width:1}
.x-plan .x-lb{fill:var(--head);font-size:11px;font-weight:600}
.x-plan .x-dm{fill:var(--muted);font-size:9px}
.x-plan .x-sun{fill:var(--o)}
.x-plan .x-arc{stroke:var(--line);stroke-dasharray:3 4}
.x-plan .x-light{fill:var(--o);opacity:.14;pointer-events:none}
.x-plan .x-hl{fill:none;stroke:var(--o);stroke-width:3;stroke-dasharray:8 5}
.x-plan .x-night{fill:#0b1530;pointer-events:none}
.x-plan .x-pin circle{fill:var(--o);stroke:var(--card);stroke-width:2}
.x-plan .x-pin text{fill:var(--card);font-size:10px;font-weight:700;text-anchor:middle}
.x-plan .x-pin.x-done{opacity:.4}
.x-plan .x-pin.x-var circle{fill:var(--head)}
.x-plan .x-pend{fill:none;stroke:var(--o);stroke-width:2;stroke-dasharray:4 3}
.x-note{font-size:.84rem;color:var(--muted);margin:4px 0 8px;overflow-wrap:anywhere}
.x-tg{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.x-tg>span{font-size:.75rem;color:var(--muted);width:100%}
.x-tg button{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:999px;padding:5px 11px;font:inherit;font-size:.8rem;cursor:pointer}
.x-tg button.x-on{border-color:var(--o);color:var(--head);box-shadow:inset 0 0 0 1px var(--o)}
.x-rg{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--muted);flex-wrap:wrap;margin:6px 0}
.x-rg input{flex:1;min-width:110px;accent-color:var(--o)}
.x-cl,.x-li,.x-ap,.x-dash{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:8px}
.x-cl li{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);background:var(--card);border-radius:10px;padding:9px 10px}
.x-cl li>div{flex:1;min-width:0;overflow-wrap:anywhere}
.x-cl em{font-style:normal;flex:none;width:22px;height:22px;border-radius:50%;background:var(--o);color:var(--card);display:grid;place-items:center;font-size:.72rem;font-weight:700}
.x-cl p{margin:3px 0 0;font-size:.86rem}
.x-cl li.x-done{opacity:.6}
.x-cl .btn,.x-li .btn,.x-box .btn,.x-warn .btn{padding:5px 11px;font-size:.78rem}
.x-cl li>div .btn{margin-top:6px}
.x-ok{color:var(--o);font-weight:700;font-size:.85rem}
.x-warn{border:1px solid var(--o);border-radius:10px;padding:10px 12px;margin:0 0 10px;background:var(--bg2);font-size:.88rem;overflow-wrap:anywhere}
.x-warn .btn,.x-box .btn{margin-top:8px}
.x-box{border:1px dashed var(--o);border-radius:12px;padding:10px 12px;margin:10px 0;font-size:.88rem;background:var(--bg2);overflow-wrap:anywhere}
.x-f{display:grid;gap:8px;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--card);margin:0 0 12px;min-width:0}
.x-f input,.x-f select,.x-f textarea{width:100%;box-sizing:border-box;font:inherit;font-size:.88rem;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg2);color:var(--text);min-width:0}
.x-f h4{margin:0;color:var(--head)}
.x-f .x-chk input{width:auto;padding:0}
.x-chk{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.82rem;color:var(--text)}
.x-chk label{display:flex;align-items:center;gap:5px}
.x-r2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.x-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.x-ap li{display:grid;gap:2px;border:1px solid var(--line);border-left:4px solid var(--o);border-radius:10px;padding:9px 11px;background:var(--card);font-size:.85rem;overflow-wrap:anywhere}
.x-ap b{color:var(--head)}
.x-pj{border:1px solid var(--line);border-left:4px solid var(--line);border-radius:12px;padding:12px;background:var(--card);margin:0 0 10px;min-width:0}
.x-pj.x-over{border-left-color:var(--o)}
.x-pj.x-watch{border-left-color:var(--muted)}
.x-pj p{margin:4px 0;overflow-wrap:anywhere}
.x-pj .btn{margin-top:6px;font-size:.8rem}
.x-pjh{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;color:var(--head)}
.x-tag{font-size:.72rem;padding:2px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.x-over .x-tag{border-color:var(--o);color:var(--o)}
.x-stg{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0}
.x-stg span{font-size:.7rem;padding:2px 7px;border-radius:6px;border:1px solid var(--line);color:var(--muted)}
.x-stg .x-inv{background:var(--bg2);color:var(--text)}
.x-stg .x-rdy{border-color:var(--o);color:var(--o)}
.x-stg .x-cur{background:var(--o);border-color:var(--o);color:var(--card)}
.x-bur{display:grid;grid-template-columns:46px minmax(0,1fr) 42px;gap:8px;align-items:center;font-size:.78rem;margin:4px 0}
.x-bur em{font-style:normal;text-align:right}
.x-li li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--card);font-size:.85rem}
.x-li li>span{flex:1 1 150px;min-width:0;overflow-wrap:anywhere}
.x-li em{font-style:normal}
.x-st{font-style:normal;font-size:.7rem;padding:2px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.x-st.x-overdue{border-color:var(--o);color:var(--o)}
.x-st.x-paid{background:var(--bg2);color:var(--text)}
.x-prev{border:1px solid var(--line);border-radius:14px;background:var(--bg2);padding:12px;font-size:.85rem;overflow-wrap:anywhere;margin:0 0 12px;min-width:0}
.x-prev-h{font-size:.76rem;color:var(--muted);margin-bottom:8px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.x-prev-h select{font:inherit;font-size:.78rem;max-width:100%;padding:3px 6px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--text)}
.x-prev .x-f{margin:0}
.x-cr{margin:4px 0;font-size:.82rem}
.x-dash li{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:4px 12px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:var(--card);font-size:.85rem}
.x-dash li>div{min-width:0;overflow-wrap:anywhere}
.x-dash small{display:block}
.x-dash .dk-cap{margin:0}
.x-dash em{font-style:normal;font-size:.75rem;color:var(--muted)}
.x-dash em.x-h-over{color:var(--o);font-weight:600}
@media (max-width:560px){
.x-r2{grid-template-columns:minmax(0,1fr)}
.x-dash li{grid-template-columns:minmax(0,1fr)}
.x-li li>span{flex-basis:100%}
.x-tg button{font-size:.76rem;padding:5px 9px}
}