.visual-bar{position:sticky;top:0;z-index:20;background:#f7fafc;padding:12px 0;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:14px}.visual-bar small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.visual-bar>div:last-child,.visual-controls{display:flex;gap:7px;flex-wrap:wrap}.visual-bar button,.visual-controls button,.visual-dialog button{font:inherit;font-size:12px;font-weight:700;border:1px solid #c5d6df;border-radius:8px;background:white;color:#07547e;padding:9px 11px;cursor:pointer}.visual-bar button:last-child{background:#07547e;color:white}.group-controls{padding:10px 16px;background:#e8f3f8;border-top:1px solid var(--line)}.visual-editing .route-row{flex-wrap:wrap}.task-controls{width:100%;justify-content:flex-end}.visual-editing .add-route{display:none}.visual-dialog{width:min(460px,calc(100% - 28px));max-height:85dvh;overflow:auto;border:1px solid var(--line);border-radius:16px;padding:20px;color:var(--ink);box-shadow:var(--shadow)}.visual-dialog::backdrop{background:rgba(5,28,45,.6)}.visual-dialog header{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:16px}.visual-dialog h3{margin:0;font-size:18px}.visual-dialog label{display:grid;gap:6px;margin-bottom:14px;font-size:13px}.visual-dialog input{padding:11px;border:1px solid var(--line);border-radius:8px;font:inherit;width:100%;min-width:0}.visual-dialog footer{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.visual-dialog footer button[type=submit]{background:#07547e;color:white}.visual-dialog p{font-size:13px;color:var(--muted)}.visual-dialog-status{color:#a83838!important}.visual-destinations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.visual-destinations button{min-height:75px;text-align:left;background:#e8f3f8}.visual-destinations small{display:block;margin-top:6px;font-weight:400}.visual-destinations button:hover{border-color:#07547e;background:#d9edf6}@media(max-width:620px){.visual-bar strong{font-size:13px}.visual-bar button{padding:9px 8px}.visual-controls button{min-height:40px}.task-controls{justify-content:flex-start}.visual-dialog{padding:16px}}
.visual-editing .route-group summary{flex-wrap:wrap}.visual-editing .route-group summary>.group-controls{flex-basis:100%;margin-top:10px;padding:8px;border:0;border-radius:8px}
