* {box-sizing:border-box;}
html,body {margin:0;width:100%;height:100%;overflow:hidden;font-family:system-ui,sans-serif;}
#patMapFullWin2,#patMapFullContainer2,#patMapFullLeaflet2 {position:absolute;inset:0;min-width:0;min-height:0;}
#patMapFullWin2 {height:100dvh;}
#patMapFullLeaflet2 {touch-action:none;}
#patMap2NoSignalBanner {display:none;position:absolute;left:50%;top:16px;transform:translateX(-50%);z-index:1100;max-width:calc(100% - 32px);padding:10px 14px;border-radius:10px;background:#172331ed;color:#fff;text-align:center;font-size:13px;pointer-events:none;}
#patMap2NoSignalBanner.pm2-visible {display:block;}
#patMap2RightButtons {position:absolute;right:max(12px,env(safe-area-inset-right));bottom:calc(26px + env(safe-area-inset-bottom));z-index:1100;display:flex;flex-direction:column;align-items:center;gap:8px;}
#patMap2RightButtons button {border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;width:44px;height:44px;}
#b6setOverlay {position:absolute;top:0;right:0;bottom:0;z-index:1300;pointer-events:none;}
.b6-panel {pointer-events:auto;width:100%;height:100%;overflow:hidden;transform:translateX(100%);transition:transform .25s ease;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom);}
#b6setOverlay.b6-open .b6-panel {transform:translateX(0);}
#b6setOverlay:not(.b6-open) .b6-panel {pointer-events:none;}
.b6-header,.b6-close {flex:none;}
.b6-close {cursor:pointer;}
.b6-list {flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
button,input,select,summary {-webkit-tap-highlight-color:transparent;}
.m2-dialog-overlay {position:absolute;inset:0;z-index:1550;display:flex;align-items:center;justify-content:center;padding:12px;font-family:system-ui,sans-serif;}
.m2-dialog {width:min(440px,100%);max-height:100%;overflow-y:auto;overscroll-behavior:contain;padding:18px;}
.m2-dialog h3 {margin:0 0 14px;}
.m2-button {font:600 14px/1.3 system-ui,sans-serif;padding:10px 13px;min-height:44px;border:1px solid;cursor:pointer;}
.m2-actions {display:flex;gap:8px;margin-top:12px;}
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
@media(prefers-reduced-motion:reduce){.b6-panel{transition:none;}}
/* Compact settings: one column, two sections, native accessible controls. */
#b6setOverlay { width:min(94vw,410px); max-width:410px; }
#b6setList[data-simple-settings] { display:flex; flex-direction:column; gap:12px; padding:8px 12px 16px; min-width:0; overflow-x:hidden; }
.m2-settings-section { flex:none; min-width:0; background:#fff; border-radius:10px; padding:14px; }
.m2-settings-section h2 { font:600 16px/1.4 system-ui,sans-serif; margin:0 0 12px; color:#16221a; }
.m2-settings-content { display:flex; flex-direction:column; gap:12px; min-width:0; }
.m2-settings-toggle { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:36px; font:14px/1.35 system-ui,sans-serif; color:#20272e; }
.m2-settings-toggle > span { min-width:0; overflow-wrap:anywhere; }
.m2-settings-toggle > input { appearance:none; -webkit-appearance:none; position:relative; flex:0 0 36px; width:36px; height:21px; margin:0; border:0; border-radius:20px; background:#c3c9c2; cursor:pointer; }
.m2-settings-toggle > input::before { content:''; position:absolute; width:17px; height:17px; left:2px; top:2px; border-radius:50%; background:#fff; transition:transform .15s; }
.m2-settings-toggle > input:checked { background:#4f8a2c; }
.m2-settings-toggle > input:checked::before { transform:translateX(15px); }
.m2-settings-select { display:flex; flex-direction:column; gap:7px; min-width:0; font:14px/1.35 system-ui,sans-serif; }
.m2-settings-select > select { width:100%; max-width:100%; min-width:0; min-height:38px; padding:7px 10px; border:1px solid #bdc8b7; border-radius:6px; color:#20272e; background:#fff; font:inherit; }
.m2-settings-range { display:flex; flex-direction:column; gap:6px; min-width:0; font:14px/1.4 system-ui,sans-serif; }
.m2-settings-range > span { display:flex; justify-content:space-between; gap:10px; }
.m2-settings-range output { font-variant-numeric:tabular-nums; color:#46553e; flex:none; }
.m2-settings-range input { width:100%; min-width:0; margin:0; min-height:26px; accent-color:#4f8a2c; }
.m2-settings-details { border-top:1px solid #d5dcd2; padding-top:10px; min-width:0; }
.m2-settings-details summary { cursor:pointer; font:500 14px/1.4 system-ui,sans-serif; }
.m2-settings-section .m2-field input { width:100%; min-width:0; }


/* Totals include available source targets even if forecast visibility is off. */
#patMap2Btn6 { width:44px; height:46px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:2px; }
#patMap2Btn6 > .pm2-btn-num { position:static; transform:none; font-size:13px; line-height:1; }
#patMap2Btn6 .pm2-predicted-count { display:block; font:600 10px/1.1 system-ui,sans-serif; color:#101a12; white-space:nowrap; }
.m2-settings-status-legend { margin:0; color:#52604e; font:12px/1.4 system-ui,sans-serif; overflow-wrap:anywhere; }

/* Help stays available next to the target counter. */
#map2HelpBtn { width:44px; height:44px; border-radius:50%; background:#f6f7f8; color:#26323d; font:700 22px/1 system-ui,sans-serif; }
#patMapFullWin2 .m2-dialog.m2-help-dialog { width:min(760px,100%); font:14px/1.5 system-ui,sans-serif; overflow-x:hidden; }
.m2-help-nav { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px; }
#patMapFullWin2 .m2-help-nav .m2-button { max-width:100%; font-size:12px; min-height:36px; padding:6px 9px; text-align:left; white-space:normal; overflow-wrap:anywhere; }
.m2-help-section { border:1px solid #d5dcd2; border-radius:8px; background:#fff; padding:10px 12px; margin:10px 0; min-width:0; scroll-margin-top:8px; }
.m2-help-section > summary { cursor:pointer; font-weight:600; color:#172b19; }
.m2-help-content { min-width:0; }
.m2-help-content p, .m2-help-content li, .m2-help-footnote { overflow-wrap:anywhere; }
.m2-help-content ul { padding-left:20px; }
.m2-help-content li { margin:7px 0; }
.m2-help-table { width:100%; border-collapse:collapse; table-layout:fixed; margin:12px 0; font:13px/1.45 system-ui,sans-serif; }
.m2-help-table th, .m2-help-table td { padding:8px 6px; text-align:left; vertical-align:top; border-bottom:1px solid #e0e5dc; overflow-wrap:anywhere; }
.m2-help-table th:first-child { width:26%; }
.m2-help-table img { width:34px; height:34px; object-fit:contain; display:block; }
.m2-help-footnote { color:#52604e; font-size:12px; margin-top:16px; }
@media(max-width:440px) { #patMapFullWin2 .m2-dialog.m2-help-dialog { padding:12px; } .m2-help-section { padding:9px; } .m2-help-table th, .m2-help-table td { padding:7px 4px; } }

.ua-marker { background:none; border:0; }
.ua-target { position:relative; }
.ua-target img { display:block; }
.ua-target > .ua-formular { position:absolute; left:100%; top:0; width:max-content; max-width:210px; white-space:nowrap; color:#101010; background:transparent; border-radius:0; padding:1px 3px; font:700 12px/1.15 Arial,sans-serif; pointer-events:none; }
.ua-form-row { display:block; max-width:210px; overflow-wrap:anywhere; white-space:normal; }
.ua-forms-spread > .ua-formular { background:color-mix(in srgb,var(--ua-form-color) 15%,transparent); }
.ua-form-leader { position:absolute; left:50%; top:50%; height:0; border-top:0.5px solid var(--ua-form-color); transform-origin:0 0; pointer-events:none; }
.ua-form-leader[hidden], .ua-formular[hidden] { display:none!important; }

.ua-target > .ua-formular.ua-form-short { top:50%; }

#patMap2Btn6.map2-source-unavailable { background:#6b7280 !important; }
