.visitor-regions{display:grid;gap:15px;margin-top:18px}.visitor-region-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;font-size:13px;margin-bottom:7px}.visitor-region-head span{overflow-wrap:anywhere}.visitor-region-head strong{white-space:nowrap;font-size:12px}.visitor-track{height:7px;background:#edf3ef;border-radius:8px;overflow:hidden}.visitor-track>div{height:100%;background:#287363;border-radius:8px}#visitDays{width:auto;min-height:44px;padding:8px 12px;border:1px solid #dce4da;border-radius:10px;background:#fff;color:#234c41}.visitor-region{min-width:0}#visitorSummary{line-height:1.6}@media(max-width:500px){.visitor-region-head{font-size:14px}#visitDays{max-width:120px}}

.visitor-map-panel{margin-bottom:20px}.visitor-map-panel>.panel-head{align-items:center;gap:16px}.visitor-map-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.visitor-map-toolbar button{min-height:44px}#visitorMap{height:420px;width:100%;border:1px solid #d8e4dc;border-radius:14px;background:#f3f7f4;isolation:isolate;margin:14px 0;z-index:0}#visitorMap .leaflet-control a{min-width:36px;min-height:36px;line-height:36px}.visitor-map-popup{font:13px/1.5 system-ui;color:#234c41}.visitor-map-popup strong{display:block}.visitor-map-popup p{margin:8px 0}.visitor-map-popup small{color:#63746b}.visitor-map-note{max-width:800px}#mapVisitDays{width:auto;min-height:44px;padding:8px 12px;border:1px solid #dce4da;border-radius:10px;background:white;color:#234c41}#visitorMapSummary{line-height:1.6}#visitorMap .leaflet-interactive:focus{outline:3px solid #b3984c}@media(max-width:600px){#visitorMap{height:330px}.visitor-map-panel>.panel-head{flex-wrap:wrap}.visitor-map-toolbar{display:grid;grid-template-columns:1fr 1fr}.visitor-map-toolbar button:last-child{grid-column:1/-1}#visitorMap .leaflet-control a{min-width:44px;min-height:44px;line-height:44px}.visitor-map-panel .panel-head h2{font-size:19px}}

.visitor-security-panel{margin:18px 0}.security-alert{border-left:4px solid #bc7720;background:#fff5df;padding:14px;border-radius:10px;color:#704a13;font-weight:700}.security-ip-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;margin:14px 0;max-height:550px;overflow:auto}.security-ip{display:grid;gap:7px;padding:14px;border:1px solid #dce9e3;border-radius:12px;overflow-wrap:anywhere}.visitor-security-panel summary{cursor:pointer;min-height:48px;display:flex;align-items:center;font-weight:600}.visitor-security-panel select{min-height:44px;max-width:100%}
