.visitor-panel{border-top:4px solid #ff5f00}
.visitor-map{height:520px;min-height:320px;border:1px solid #cecece;border-radius:16px;isolation:isolate;background:#f2f2f2}
.visitor-area-label{background:#fefefe;border:2px solid #b1b1b1;border-radius:10px;padding:8px 12px;box-shadow:0 3px 12px #34343424;color:#333333;font:500 12px/1.45 Poppins,sans-serif;text-align:center;white-space:normal;min-width:136px}
.visitor-area-label::before{display:none}
.visitor-area-label>div{border-top:4px solid var(--area-color);padding-top:3px}
.visitor-area-label strong{display:block;font-size:13px;margin-bottom:3px}
.visitor-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:18px;padding:0;list-style:none}
.visitor-legend li{border-left:5px solid var(--area-color);padding:6px 10px;background:#f7f7f7;border-radius:0 8px 8px 0;font-size:13px}
.visitor-legend strong,.visitor-legend span{display:block}
.visitor-sharing{margin:12px 16px;padding:12px;border:1px solid #cecece;border-radius:12px;background:#f8f8f8;color:#333333;font-size:12px}
.visitor-sharing summary{cursor:pointer;font-weight:600}
.visitor-sharing label{display:flex;align-items:flex-start;gap:8px;line-height:1.6;font-weight:600;cursor:pointer}
.visitor-sharing input{width:18px;height:18px;flex:none;accent-color:#ff5f00;margin-top:3px}
.visitor-sharing p{line-height:1.6;margin:8px 0}
.visitor-sharing a{color:#575757;text-decoration:underline}
@media(max-width:600px){.visitor-map{height:440px}.visitor-area-label{min-width:100px;padding:5px 7px;font-size:11px}.visitor-legend{grid-template-columns:repeat(2,minmax(0,1fr))}}
.customer-map-legend{display:flex;gap:24px;list-style:none;padding:0;font-size:14px}
.customer-map-legend li{display:flex;align-items:center;gap:8px}
.customer-map-dot{width:14px;height:14px;border-radius:50%;background:#ff5f00;display:inline-block}
.customer-map-dot.vip{background:#c62828}
.customer-map-marker{background:none;border:0}
.customer-map-badge{display:flex;align-items:center;justify-content:center;width:40px;height:40px;box-sizing:border-box;border-radius:50%;border:3px solid #ffffff;background:#ff5f00;color:#161616;box-shadow:0 2px 8px #33333366;font:700 12px Poppins,sans-serif}
.customer-map-badge.vip{background:#c62828;color:#ffffff}
.customer-map-marker:focus-visible{outline:3px solid #161616;outline-offset:4px;border-radius:50%}
.customer-map-popup{font-family:Poppins,sans-serif;overflow-wrap:anywhere;max-width:240px}
.customer-map-popup p{margin:6px 0}
