.x-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:14px;min-width:0}
.x-card h4{margin:0 0 8px;color:var(--head);font-size:15px}
.x-card p{overflow-wrap:anywhere}
.x-card select,.x-card input:not([type=checkbox]),.x-lbl select,.x-lbl input,.x-act select{max-width:100%;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:var(--bg2);color:var(--text);font:inherit;font-size:13px}
.x-lbl{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted);margin-bottom:10px}
.x-lbl select,.x-lbl input{width:100%}
.x-svg{display:block;width:100%;height:auto;border-radius:10px;cursor:crosshair;touch-action:manipulation}
.x-svg .x-ar{fill-opacity:.5;stroke:rgba(255,255,255,.6);stroke-width:1;stroke-dasharray:4 3;cursor:pointer;transition:fill-opacity .2s}
.x-svg .x-ar:hover{fill-opacity:.75}
.x-svg .x-ar.on{fill-opacity:.95;stroke:var(--o);stroke-width:3;stroke-dasharray:none}
.x-svg .x-lb{fill:#fff;font-size:11px;font-weight:700;text-anchor:middle;dominant-baseline:middle;paint-order:stroke;stroke:rgba(0,0,0,.65);stroke-width:3px;pointer-events:none}
.x-svg .x-dl{fill:none;stroke:var(--o);stroke-width:2;stroke-dasharray:5 3}
.x-svg .x-dp{fill:var(--o)}
.x-tools{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.x-arow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:7px 0;border-bottom:1px solid var(--line)}
.x-arow label{display:flex;align-items:center;gap:6px;flex:1 1 150px;min-width:0;color:var(--text)}
.x-arow label span{color:var(--muted);font-size:13px}
.x-arow select{flex:0 1 200px;min-width:0}
.x-arow .btn{padding:4px 10px}
.x-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.x-opts label{display:flex;flex-direction:column;font-size:12px;color:var(--muted);gap:3px;min-width:0}
.x-opts select{width:100%}
.x-sub{margin:10px 0 0}
.x-chk{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.x-chk label{display:flex;align-items:center;gap:5px;font-size:13px;padding:5px 9px;border:1px solid var(--line);border-radius:20px;background:var(--bg2);color:var(--text);cursor:pointer}
.x-chk label.x-off{opacity:.45;cursor:default}
.x-up{display:block;width:100%;margin-top:10px;text-align:left;padding:10px;border:1px dashed var(--o);border-radius:10px;background:var(--bg2);color:var(--text);font:inherit;font-size:13px;cursor:pointer}
.x-up b{color:var(--o)}
.x-ln{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px dashed var(--line);font-size:13px;color:var(--text)}
.x-ln span:first-child{overflow-wrap:anywhere;min-width:0}
.x-ln span:last-child{white-space:nowrap}
.x-tot{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:8px;font-size:14px;color:var(--head)}
.x-tot b{font-size:22px;color:var(--o)}
.x-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}
.x-row>div:first-child{flex:1 1 180px;min-width:0;color:var(--text)}
.x-row small{display:block;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.x-act{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.x-tag{display:inline-block;font-size:11px;font-weight:600;padding:3px 8px;border-radius:20px;background:var(--bg2);color:var(--muted);border:1px solid var(--line)}
.x-tag.x-ok{color:var(--o);border-color:var(--o)}
.x-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:10px}
.x-day{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:8px;min-height:120px;min-width:0;transition:border-color .2s}
.x-day.x-wet{border-color:var(--o);box-shadow:inset 0 0 0 1px var(--o)}
.x-day.x-over{border-style:dashed;border-color:var(--o)}
.x-dh{display:flex;justify-content:space-between;gap:4px;font-size:13px;color:var(--head);font-weight:600;margin-bottom:4px}
.x-job{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px;margin-top:6px;font-size:12px}
.x-job[draggable]{cursor:grab}
.x-job b{display:block;color:var(--head);font-size:13px;overflow-wrap:anywhere}
.x-job small{display:block;color:var(--muted);overflow-wrap:anywhere}
.x-job select{width:100%;margin-top:5px;font-size:12px;padding:4px;border-radius:6px;border:1px solid var(--line);background:var(--bg2);color:var(--text)}
.x-job.x-mv{border-left:3px solid var(--o)}
.x-sms{max-width:330px;background:var(--bg2);border:1px solid var(--line);border-radius:16px 16px 16px 4px;padding:10px 12px;font-size:13px;color:var(--text);overflow-wrap:anywhere}
.x-phone{border:2px solid var(--line);border-radius:22px;padding:14px 12px;background:var(--bg2);max-width:300px;margin:12px 0 0;color:var(--text)}
.x-pt{font-size:11px;color:var(--muted);text-align:center;margin-bottom:6px}
.x-steps{display:flex;flex-wrap:wrap;gap:4px;list-style:none;padding:0;margin:0 0 12px}
.x-steps li{font-size:11px;padding:4px 8px;border-radius:20px;background:var(--bg2);color:var(--muted);border:1px solid var(--line)}
.x-steps li.on{color:var(--o);border-color:var(--o);font-weight:600}
.x-pair{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:8px 0}
.x-ph{position:relative;aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:radial-gradient(circle at 30% 40%,#3d4a2c 0 18%,transparent 19%),radial-gradient(circle at 72% 65%,#4a5233 0 14%,transparent 15%),linear-gradient(135deg,#6f7259,#55593f)}
.x-ph.x-cl{background:linear-gradient(135deg,#dedbd2,#b9b5aa)}
.x-ph span{position:absolute;left:4px;bottom:4px;right:4px;font-size:10px;padding:1px 5px;border-radius:6px;background:var(--card);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.x-rep{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--card);color:var(--text)}
.x-reph{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;border-bottom:2px solid var(--o);padding-bottom:6px;margin-bottom:6px;color:var(--head)}
.x-rep p{font-size:13px;margin:6px 0;overflow-wrap:anywhere}
.x-k{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:0 12px;margin-bottom:8px}
.x-k .x-row{border-bottom:0}
@media (max-width:560px){.x-opts{grid-template-columns:minmax(0,1fr)}.x-days{grid-template-columns:minmax(0,1fr)}.x-arow select{flex:1 1 100%}.x-card{padding:12px}.x-tot b{font-size:19px}}
