.haul-location{position:relative;min-width:0;max-width:100%;margin-bottom:16px}.haul-location [hidden]{display:none!important}.haul-location-hint,.haul-location-status{font-size:13px!important;line-height:1.5!important;margin:8px 0!important;color:#43545d!important}.haul-location-status:empty{display:none}.haul-location-options{position:absolute;z-index:65;top:48px;left:0;right:0;background:#fff;color:#172126;list-style:none;padding:5px;margin:0;border:1px solid #82959e;border-radius:8px;box-shadow:0 8px 28px #0002;max-height:310px;overflow:auto}.haul-location-options button{display:block;width:100%;text-align:left;white-space:normal;background:white;color:#172126;border:0;border-radius:4px;padding:12px;font-size:15px;line-height:1.4;min-height:48px}.haul-location-options button:hover,.haul-location-options button[aria-selected=true]{background:#e5edef}.haul-location-credit{text-align:right;font-size:11px;padding:5px 10px}.haul-location-credit a{color:#43545d}.haul-location-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.haul-location-tools button{min-height:44px;padding:10px 14px;border:1px solid #82959e;border-radius:6px;background:#fff;color:#172126;font-size:14px;font-weight:650}.haul-map-dialog{box-sizing:border-box;width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid #a5b4bb;border-radius:14px;background:#fff;color:#172126;margin:auto}.haul-map-dialog::backdrop{background:#172126aa}.haul-map-dialog h2{margin:0 0 10px;font-size:27px}.haul-map-dialog p{font-size:15px;line-height:1.5;margin:8px 0 16px}.haul-map-dialog label{display:block;font-weight:700;margin-bottom:8px}.haul-map-dialog select{box-sizing:border-box;width:100%;font-size:16px;min-height:46px;padding:10px;border:1px solid #82959e;border-radius:6px;background:#fff;color:#172126;margin-bottom:12px}.haul-map-canvas{height:350px;width:100%;background:#e5edef;border-radius:8px;overflow:hidden}.haul-map-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.haul-map-actions>button{flex:1 1 140px;min-height:46px;font-size:14px;font-weight:650;padding:10px;border:1px solid #82959e;border-radius:6px;background:#fff;color:#172126}.haul-map-actions>.primary{background:#ffd34e;color:#172126;border-color:#b78d1e}.haul-map-actions>button:disabled{opacity:.5}.haul-map-canvas .mapboxgl-ctrl button{min-height:29px;width:29px;height:29px;padding:0;margin:0;border:0;background:#fff}.haul-map-canvas .mapboxgl-ctrl-attrib{font-size:11px;color:#172126}.haul-map-dialog button:focus-visible,.haul-location button:focus-visible,.haul-location input:focus-visible{outline:3px solid #1d70be;outline-offset:3px}.haul-saved-pins{display:flex;flex-wrap:wrap;gap:8px 16px;margin:12px 0}.haul-saved-pins a{display:inline-flex;align-items:center;min-height:44px;color:#235c42;text-decoration:underline;font-size:14px;font-weight:650}@media(max-width:600px){.haul-map-dialog{padding:18px}.haul-map-canvas{height:300px;max-height:42dvh}.haul-map-dialog h2{font-size:24px}}
/* Both site points remain visible throughout setup and driver review. */
.haul-map-dialog [hidden],.haul-map-view-tools [hidden]{display:none!important}
.haul-pin-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.haul-pin-choice{display:grid;grid-template-columns:30px 1fr;column-gap:10px;row-gap:6px;text-align:left;align-items:center;padding:14px;border:1px solid #bdcbd1;border-radius:8px;background:#f4f7f8;color:#172126;cursor:pointer}
.haul-pin-choice strong{font-size:15px}.haul-pin-choice small{grid-column:2;font-size:13px;color:#43545d}.haul-pin-choice[aria-pressed=true]{border:2px solid #172126;padding:13px;background:#fff}
.haul-pin-number{display:inline-grid;place-items:center;flex-shrink:0;width:28px;height:28px;border-radius:50%;background:#ffd34e;color:#172126;font-size:14px;font-weight:800}.spot .haul-pin-number{background:#205d78;color:#fff}
.haul-pin-same{padding:10px 14px;min-height:44px;border:1px solid #82959e;border-radius:6px;background:#fff;color:#172126;font-size:14px}
.haul-pin-partial{padding:14px;margin:12px 0;background:#fff8e7;border-left:3px solid #c49a24}.haul-pin-partial button{padding:10px;min-height:44px;background:#fff;border:1px solid #82959e;border-radius:6px;color:#172126}
.haul-site-marker{display:grid;place-items:center;width:34px;height:34px;min-height:34px!important;padding:0!important;border:2px solid white!important;border-radius:50%!important;box-shadow:0 2px 8px #0005;background:#ffd34e!important;color:#172126!important;font:800 15px/1 Arial,sans-serif;cursor:pointer;z-index:1}.haul-site-marker.spot{background:#205d78!important;color:white!important}.haul-site-marker.center{background:#56646c!important;color:white!important;border-radius:6px!important}.haul-site-marker:focus-visible{outline:3px solid #1d70be;outline-offset:3px}
.haul-map-view-tools{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.haul-map-view-tools button{padding:10px 16px;min-height:44px;background:white;color:#172126;border:1px solid #82959e;border-radius:6px}.haul-view-map{height:440px}
.haul-stop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.haul-stop-card{padding:20px;border:1px solid #c8d2d7;border-radius:10px;min-width:0;background:#f5f8f9}.haul-stop-card>p{overflow-wrap:anywhere;font-size:15px}.haul-stop-grid>.haul-stop-card:only-child{grid-column:1/-1}.haul-stop-points{display:grid;gap:16px}.haul-stop-point strong{display:flex;align-items:center;gap:10px;font-size:15px}.haul-stop-point small{display:block;margin-top:8px}.haul-pin-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.haul-pin-links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid #82959e;border-radius:6px;background:white;color:#172126;font-weight:650;font-size:14px;text-decoration:none}.haul-job-sites>.muted{margin:20px 0 0;font-size:13px}.haul-job-sites .heading{margin-bottom:20px}.haul-job-sites h2{margin-bottom:0}.haul-job-sites [data-job-site-map]{margin-bottom:20px}
@media(max-width:650px){.haul-pin-choices{gap:8px}.haul-pin-choice{padding:12px 9px;grid-template-columns:24px 1fr;column-gap:7px}.haul-pin-choice[aria-pressed=true]{padding:11px 8px}.haul-pin-choice strong{font-size:14px}.haul-pin-choice small{grid-column:1/-1;font-size:12px}.haul-pin-choice .haul-pin-number{width:24px;height:24px}.haul-stop-grid{grid-template-columns:1fr}.haul-view-map{height:340px}.haul-stop-card{padding:16px}}
