/* Worker map interface. Lucide icon license is retained in map-icons/LICENSE.lucide. */
.service-map-panel{--map-worker:#173e70;--map-employer:#ad4d0a;--map-busy:#855907;--map-ink:#173452;--map-line:#d4dfeb;overflow:hidden;min-width:0;padding:24px;background:#f8fbff}
.service-map-panel .service-map-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:14px;min-width:0}
.service-map-toolbar h2{font-size:28px;margin:6px 0 0;line-height:1.25;overflow-wrap:anywhere;color:var(--map-ink)}
.service-map-toolbar .eyebrow{font-size:13px;letter-spacing:.08em}
.service-map-toolbar[role=group]{justify-content:flex-start;gap:8px}
.service-map-panel .service-map-toolbar .button{font-size:18px;min-height:46px;padding:10px 16px;white-space:normal;line-height:1.4;max-width:100%}
.service-map-toolbar [data-map-kind][aria-pressed=true]{color:#fff;background:var(--map-worker);border-color:var(--map-worker);box-shadow:0 3px 9px #173e7020}
.service-map-panel #service-map-status{font-size:18px;line-height:1.55;margin:0 0 16px;overflow-wrap:anywhere;color:#405c77}
.service-map-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:18px;align-items:start;min-width:0}
.service-map-canvas,.service-map-sidebar{min-width:0}
.service-map-panel #worker-map{width:100%;height:500px;border:1px solid #c6d5e5;border-radius:20px;background:#e9eff1;z-index:0;font-family:inherit;font-size:18px;line-height:1.5}
.service-map-panel .leaflet-container{font-family:inherit;font-size:18px}
.service-map-panel .leaflet-control-attribution{font-size:12px;line-height:1.5;max-width:100%;overflow-wrap:anywhere}
.service-map-panel .leaflet-control-zoom a{width:44px;height:44px;line-height:44px;font-size:26px}
.service-map-marker{width:44px!important;height:44px!important;border:0;background:none;outline-offset:4px;cursor:pointer}
.service-map-pin{position:relative;display:grid;place-items:center;width:44px;height:44px;padding:0;box-sizing:border-box;border:3px solid #fff;border-radius:50%;background:var(--map-worker);color:#fff;box-shadow:0 3px 10px #142c4d40;transition:transform .15s ease,box-shadow .15s ease}
.service-map-avatar{display:grid;place-items:center;font-size:21px;line-height:1;font-weight:800;font-family:inherit;letter-spacing:-.02em}
.service-map-symbol{display:block;width:25px;height:25px;object-fit:contain;filter:brightness(0) invert(1)}
.service-map-initial{position:absolute;right:-5px;bottom:-4px;display:grid;place-items:center;width:18px;height:18px;border:2px solid white;border-radius:50%;background:#173e70;color:white;font-size:10px;line-height:1;font-weight:800}
.service-map-pin.is-employer{background:var(--map-employer);border-radius:13px}
.service-map-pin.is-employer .service-map-avatar{font-size:15px;letter-spacing:0}
.service-map-pin.is-busy{background:#52667d}
.service-map-pin-status{position:absolute;right:-3px;top:-2px;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:#8ca8c5;box-sizing:content-box}
.service-map-pin.is-busy .service-map-pin-status{background:#d18b17}
.service-map-pin.is-employer .service-map-pin-status{background:#f4bb88}
.service-map-pin.is-group{background:var(--map-worker);border:3px solid #fff;box-shadow:0 3px 11px #17324a48,0 0 0 3px #ffb56d85}
.service-map-pin.is-group.is-employer{background:var(--map-employer)}
.service-map-pin.is-mixed{background:#173e70}
.service-map-marker.is-selected .service-map-pin,.service-map-marker:focus-visible .service-map-pin{outline:3px solid #ff9c45;outline-offset:3px;box-shadow:0 5px 14px #16345c55;transform:translateY(-2px)}
.service-map-panel .leaflet-tooltip.service-map-hover{white-space:normal;min-width:210px;max-width:260px;padding:14px 16px;border:1px solid #d0dceb;border-radius:15px;background:#fff;color:#173452;box-shadow:0 8px 25px #16365430;font:inherit;font-size:16px;line-height:1.45;pointer-events:none}
.service-map-tooltip-title{display:block;font-size:18px;color:#173e70;margin-bottom:10px}
.service-map-tooltip-person+.service-map-tooltip-person{border-top:1px solid #e4eaf2;margin-top:10px;padding-top:10px}
.service-map-tooltip-name{display:block;font-size:19px;font-weight:800;line-height:1.35;overflow-wrap:anywhere}
.service-map-tooltip-card p{margin:5px 0;overflow-wrap:anywhere}
.service-map-tooltip-card .service-map-tooltip-trade{font-size:18px;font-weight:700;color:#254c79}
.service-map-tooltip-rating{font-weight:700;color:#314e6d}
.service-map-star{display:inline-block;width:20px;height:20px;vertical-align:-3px;object-fit:contain;margin-right:5px;flex:none;filter:invert(39%) sepia(86%) saturate(900%) hue-rotate(355deg) brightness(90%)}
.service-map-panel .is-unrated{color:#60748b;font-weight:500}
.service-map-tooltip-availability{font-size:16px;color:#4b647d}
.service-map-tooltip-card .service-map-tooltip-price{font-size:15px;color:#596e83;border-top:1px solid #e8edf3;padding-top:7px;margin-top:8px}
.service-map-tooltip-card .service-map-tooltip-hint{font-size:14px;color:#47627e;margin-top:9px}
.service-map-panel .service-map-selection{padding:20px;border:1px solid var(--map-line);border-radius:18px;background:#fff;box-shadow:0 5px 18px #173a6809;min-width:0;overflow-wrap:anywhere;scroll-margin-top:125px}
.service-map-selection h3{font-size:25px;line-height:1.3;margin:12px 0 9px;color:#15345d}
.service-map-selection p{font-size:18px;line-height:1.55;margin:8px 0}
.service-map-kind{display:inline-block;max-width:100%;padding:4px 9px;border-radius:7px;background:#edf3fb;color:var(--map-worker);font-weight:750;font-size:15px;line-height:1.4}
.service-map-kind.is-employer{background:#fff0e3;color:var(--map-employer)}
.service-map-kind.is-busy{background:#fff4dc;color:var(--map-busy)}
.service-map-selection .service-map-trade{font-size:23px;line-height:1.4;font-weight:800;color:#173e70;margin:8px 0}
.service-map-selection .service-map-rating{display:flex;align-items:center;flex-wrap:wrap;font-size:18px;font-weight:750;color:#34516e;padding-bottom:9px;border-bottom:1px solid #e6edf5}
.service-map-selection .service-map-area{color:#4b6178}
.service-map-availability{font-weight:650;color:#345b79}
.service-map-availability.is-employer{color:var(--map-employer)}
.service-map-availability.is-busy{color:var(--map-busy)}
.service-map-selection .service-map-schedule{padding:9px 11px;background:#fff4df;border-radius:10px;color:#704606;font-size:17px}
.service-map-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}
.service-map-stats>div{padding:9px 11px;background:#f1f5fa;border-radius:10px;min-width:0}
.service-map-stats dt{font-size:15px;line-height:1.5;color:#4c637d}
.service-map-stats dd{font-size:21px;line-height:1.35;font-weight:750;margin:4px 0 0;color:#25496e}
.service-map-selection .service-map-price{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;font-size:17px;line-height:1.5;margin:15px 0 0;padding-top:13px;border-top:1px solid #e6edf5;color:#4c6278}
.service-map-price-label{font-size:16px;font-weight:500}
.service-map-price strong{font-size:18px;font-weight:650;color:#284762}
.service-map-group-summary{font-weight:700;color:#193f70}
.service-map-group-options{display:grid;gap:9px;max-height:380px;overflow-y:auto;padding:3px;margin-top:12px;overscroll-behavior:contain}
.service-map-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-top:16px}
.service-map-actions .button{font-size:18px;min-height:48px;line-height:1.4;text-align:center;white-space:normal;max-width:100%;overflow-wrap:anywhere;background:#f39a45;border-color:#f39a45;color:#173452;box-shadow:0 3px 9px #a6520d1a}
.service-map-profile{font-size:17px;font-weight:650;text-align:center;padding:10px 7px;min-height:44px;box-sizing:border-box;color:#174f9e;text-underline-offset:3px}
.service-map-list{display:grid;gap:9px;margin-top:13px;max-height:390px;overflow-y:auto;overscroll-behavior:contain;padding:3px 5px 4px 3px;scrollbar-gutter:stable;min-width:0}
.service-map-panel .service-map-point{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;text-align:left;cursor:pointer;padding:14px;border:1px solid #d1deeb;border-left:4px solid var(--map-worker);border-radius:13px;color:#173858;background:#fff;font-family:inherit;font-size:18px;line-height:1.5;min-width:0;min-height:44px;overflow-wrap:anywhere;box-sizing:border-box}
.service-map-panel .service-map-point.is-employer{border-left-color:var(--map-employer)}
.service-map-panel .service-map-point.is-busy{border-left-color:#aa7617}
.service-map-panel .service-map-point.is-selected{border-color:#174f9e;background:#edf4ff;box-shadow:0 0 0 2px #174f9e20}
.service-map-point-kind{font-size:14px;font-weight:700;color:#5b7086}
.service-map-point-name{font-size:20px;line-height:1.35}
.service-map-point-trade{font-size:19px;font-weight:750;color:#254c79}
.service-map-point-rating{font-size:17px;font-weight:650;color:#405d7a}
.service-map-point-area{font-size:16px;color:#5d7084}
.service-map-point-price{font-size:16px;font-weight:500;color:#5a6e82;margin-top:5px}
.service-map-point-availability{font-size:16px;color:#49627a}
.service-map-panel .service-map-empty{margin:6px;font-size:18px;line-height:1.6;color:#49627a}
.service-map-panel .service-map-fallback{display:grid;place-items:center;padding:24px;box-sizing:border-box}
.service-map-fallback p{font-size:20px;line-height:1.7;max-width:32ch;text-align:center;color:#3c5771}
.service-map-panel button:focus-visible,.service-map-panel a:focus-visible{outline:3px solid #174f9e;outline-offset:3px}
.service-map-panel>.hint{font-size:15px;line-height:1.6;margin:11px 0 0;overflow-wrap:anywhere}
@media(max-width:900px){.service-map-layout{grid-template-columns:minmax(0,1fr)}.service-map-panel #worker-map{height:430px}.service-map-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.service-map-list{margin-top:0;max-height:460px}}
@media(max-width:600px){.service-map-panel{padding:18px 13px}.service-map-panel .service-map-toolbar{gap:10px}.service-map-toolbar h2{font-size:25px}.service-map-panel .service-map-toolbar .button{padding:10px 11px;font-size:17px;min-height:44px;flex:1 1 auto}.service-map-toolbar[role=group]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:6px}.service-map-panel .service-map-toolbar[role=group] .button{width:100%;font-size:16px;line-height:1.3;min-height:58px;padding:8px 4px}.service-map-layout{gap:13px}.service-map-panel #worker-map{height:400px;border-radius:16px}.service-map-sidebar{display:block}.service-map-panel .service-map-selection{padding:17px;scroll-margin-top:100px}.service-map-selection h3{font-size:24px}.service-map-selection .service-map-trade{font-size:22px}.service-map-list{max-height:340px;margin-top:12px}.service-map-panel .leaflet-tooltip.service-map-hover{min-width:180px;max-width:220px;padding:11px 13px}.service-map-tooltip-name{font-size:18px}.service-map-tooltip-card .service-map-tooltip-trade{font-size:17px}.service-map-stats dt{font-size:15px}.service-map-panel>.hint{font-size:15px}.service-map-price{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){.service-map-pin{transition:none}}
@media(forced-colors:active){.service-map-pin,.service-map-kind,.service-map-point,.service-map-selection,.service-map-hover{border:2px solid CanvasText}.service-map-marker.is-selected .service-map-pin,.service-map-panel button:focus-visible,.service-map-panel a:focus-visible{outline-color:Highlight}.service-map-star{color:CanvasText}}
