
:root{--navy:#063354;--blue:#0879bd;--aqua:#11a8c7;--red:#e52b45;--ink:#102b3f;--paper:#fff;--line:#d9e5eb}
*{box-sizing:border-box}html,body,#map{height:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink)}
#map{background:#dcecf2}.leaflet-control-zoom{border:0!important;box-shadow:0 4px 16px #00263c33!important}.leaflet-control-zoom a{color:var(--navy)!important}
.hero{width:100%;aspect-ratio:3/1;background:url("../header.webp") center/cover no-repeat;border-radius:20px 20px 0 0}.brandbar{position:absolute;z-index:1100;top:calc(10px + env(safe-area-inset-top));left:10px;right:10px;max-width:760px;margin:auto;background:#fffffff4;border:1px solid #fff;border-radius:22px;box-shadow:0 8px 30px #00263c38;overflow:hidden;backdrop-filter:blur(12px)}
.brandtop{display:flex;align-items:center;gap:10px;padding:11px 13px 8px}.brandmark{width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,var(--navy),var(--aqua));color:#fff;display:grid;place-items:center;font-size:24px;box-shadow:0 4px 12px #007ca944}
.brandtext{min-width:0;flex:1}.brandtext b{display:block;font-size:21px;line-height:1;color:var(--navy);letter-spacing:-.5px}.brandtext small{display:block;margin-top:4px;color:#547181;font-weight:700;letter-spacing:.7px;font-size:10px;text-transform:uppercase}
.iconbtn,.secondary,.filterbtn{border:1px solid #c9d9e1;background:#fff;color:var(--navy);border-radius:12px;font:inherit;font-weight:800;padding:9px 12px}.iconbtn{min-width:48px;font-size:17px}
.actionrow{display:grid;grid-template-columns:1.45fr .75fr .65fr .62fr;gap:7px;padding:0 12px 9px}.feed{border:0;border-radius:13px;background:linear-gradient(135deg,#ed2c49,#c91432);color:#fff;font-weight:900;font-size:16px;padding:11px 8px;box-shadow:0 5px 14px #d7263d3b}.actionrow select{width:100%;border:1px solid #c9d9e1;border-radius:13px;background:#fff;color:var(--navy);font:inherit;font-weight:800;padding:9px}
.chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:0 10px 9px;overflow:visible}.chip{min-width:0;white-space:nowrap;border:1px solid #d4e3e9;background:#f6fbfd;border-radius:999px;padding:6px 3px;font-size:10px;font-weight:800;color:#365d70;text-align:center;display:flex;align-items:center;justify-content:center;gap:2px}.chip input{accent-color:var(--blue);width:15px;height:15px;margin:0 1px 0 0;flex:0 0 auto}@media(max-width:380px){.chips{gap:3px;padding-left:7px;padding-right:7px}.chip{font-size:9px;padding:6px 1px}.chip input{width:14px;height:14px}}
.metrics{display:flex;align-items:center;gap:8px;padding:0 12px 10px}.metric{background:#edf7fb;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}.status{font-size:11px;color:#557281;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}

.mapkey{position:absolute;z-index:950;left:12px;bottom:calc(16px + env(safe-area-inset-bottom));background:var(--navy);color:#fff;border-radius:999px;box-shadow:0 5px 18px #00263c55;padding:11px 14px;font-size:11px;max-width:250px}.mapkey summary{font-weight:900;color:#fff;cursor:pointer;list-style:none}.mapkey summary::-webkit-details-marker{display:none}.mapkey summary::before{content:"▶ ";color:#fff}.mapkey[open]{border-radius:15px;background:#fffffff2;color:#12364a}.mapkey[open] summary{color:var(--navy)}.mapkey[open] summary::before{content:"▼ ";color:var(--navy)}.keyline{margin-top:6px;line-height:1.65;color:#12364a}

.modal,.sheetwrap{display:none;position:fixed;z-index:3000;inset:0;background:#001e3070;align-items:flex-end;justify-content:center}.card,.sheet{background:#fff;width:min(100%,520px);max-height:88vh;overflow:auto;padding:18px;border-radius:24px 24px 0 0;box-shadow:0 -8px 30px #001e3040}.handle{width:44px;height:5px;background:#cbd8de;border-radius:5px;margin:-7px auto 12px}.card h2,.sheet h2{margin:0 0 4px;color:var(--navy)}.sub{color:#66808e;font-size:13px;margin-bottom:12px}.checks{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:8px 0 14px}.fishchecks label{min-height:76px;display:grid;grid-template-columns:24px 72px 1fr;align-items:center;gap:6px;padding:7px}.fishpic{width:72px;height:48px;object-fit:contain;mix-blend-mode:multiply}.unknownpic{font-size:32px;text-align:center}.checks label,.option{padding:10px;border:1px solid #d8e4e9;border-radius:12px;background:#f8fbfc;font-weight:700}.checks input,.option input{accent-color:var(--blue)}
.submit,.cancel{width:100%;padding:13px;border-radius:13px;font:inherit;font-weight:900}.submit{background:var(--red);color:#fff;border:0}.cancel{margin-top:7px;background:#fff;border:1px solid #cbd9df;color:#526c79}

.predIcon{width:34px;height:34px;border-radius:50%;border:3px solid white;display:grid;place-items:center;color:white;font-size:17px;font-weight:900;box-shadow:0 3px 10px #0006}.predHigh{background:#ef4444}.predMed{background:#f59e0b}.predLow{background:#0ea5e9}.predictionNote{font-size:10px;color:#64748b;margin-top:4px;line-height:1.25}.leaflet-popup-content{line-height:1.25;margin:10px 12px}.leaflet-popup-content hr{margin:7px 0}.leaflet-popup-content small{line-height:1.2}.birdIcon{background:#6941c6;color:white;border:2px solid white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;box-shadow:0 2px 7px #0005}.userIcon{width:28px;height:28px;border-radius:50%;border:3px solid #fff;box-shadow:0 2px 8px #0006;display:grid;place-items:center;color:#fff;font-size:14px}
.leaflet-popup-content-wrapper{border-radius:18px;box-shadow:0 8px 30px #00263c38;cursor:grab;touch-action:none}.leaflet-popup-content-wrapper.bitbPopupDragging{cursor:grabbing;user-select:none}.leaflet-popup-content{margin:15px 16px;min-width:245px;line-height:1.35}.leaflet-popup-content hr{border:0;border-top:1px solid #d8e3e8;margin:10px 0}.leaflet-popup-content button{border:1px solid #ccdce3;background:#fff;color:var(--navy);font-weight:900;border-radius:10px;padding:8px;margin:3px 2px 3px 0}.leaflet-popup-content .spotPopupClose{display:block;width:100%;margin:10px 0 0;padding:9px 12px;border:0;background:#0b3b66;color:#fff;border-radius:10px;font-weight:900;text-align:center}.leaflet-popup-content details{margin-top:5px;color:#607b88}
@media(max-width:520px){.hero{height:118px;background-position:center}.brandbar{top:calc(6px + env(safe-area-inset-top));left:6px;right:6px}.brandtop{padding:8px 10px 6px}.brandtext b{font-size:18px}.brandtext small{font-size:9px}.actionrow{padding-left:9px;padding-right:9px}.chips{padding-left:9px;padding-right:9px}}
@media(max-width:430px){.brandbar{left:6px;right:6px;top:calc(6px + env(safe-area-inset-top))}.actionrow{gap:5px;padding:7px 8px}.feed{font-size:14px;padding:10px 5px}.actionrow select,.secondary{font-size:13px;padding:8px 5px}.chips{padding-left:8px;padding-right:8px}.metrics{padding-left:8px;padding-right:8px}}
@media(min-width:760px){.brandbar{left:18px;right:auto;width:520px}.mapkey{left:18px}.aboutInfoFab{right:18px}}

/* v6.4 compact report sheet */
.reporthead{position:sticky;top:-18px;z-index:4;background:#fff;padding:18px 0 10px;margin:-18px 0 8px;border-bottom:1px solid #edf2f4}
.reporttitle{display:flex;align-items:center;justify-content:space-between;gap:10px}.reporttitle h2{font-size:25px}.reportactions{display:grid;grid-template-columns:.72fr 1.28fr;gap:7px;margin-top:8px}.reportactions .cancel,.reportactions .submit{margin:0;padding:11px 8px}
.fishchecks{gap:6px;margin:6px 0 10px}.fishchecks label{min-height:62px;grid-template-columns:22px 56px 1fr;gap:5px;padding:5px 6px;font-size:14px;line-height:1.05}.fishpic{width:56px;height:38px}.unknownpic{font-size:27px}.compactopts{grid-template-columns:repeat(3,1fr);gap:6px;margin:5px 0 9px}.compactopts label{padding:9px 5px;text-align:center;font-size:14px}.sectionlabel{font-size:15px;margin-top:5px}
@media(max-width:430px){.card{padding:14px;max-height:94vh}.reporthead{top:-14px;padding:14px 0 8px;margin:-14px 0 7px}.reporttitle h2{font-size:23px}.sub{font-size:12px;margin-bottom:7px}.fishchecks label{min-height:58px;grid-template-columns:20px 50px 1fr;font-size:13px}.fishpic{width:50px;height:34px}.compactopts label{font-size:13px;padding:8px 3px}}

.windIcon{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.92);border:2px solid #147da3;box-shadow:0 1px 5px #0005;display:flex;align-items:center;justify-content:center;color:#0879a8;font-size:23px;font-weight:900}.windLabel{font-size:10px;line-height:1;color:#073b4c;background:#fff;border-radius:8px;padding:2px 4px;position:absolute;top:28px;left:50%;transform:translateX(-50%);white-space:nowrap;box-shadow:0 1px 3px #0003}.windArrow{display:inline-block;transform-origin:center center}.reportHintFixed{text-align:center;font-size:11px;font-weight:700;color:#58707c;line-height:1.2;margin:-2px 12px 7px}.reportBtn{font-size:clamp(12px,2.8vw,16px)!important;line-height:1.05!important;padding-left:8px!important;padding-right:8px!important}
/* v7.1 collapsible header + email subscriptions */
.collapseBtn{position:absolute;top:8px;right:8px;z-index:5;border:1px solid #ffffffaa;background:#ffffffed;color:var(--navy);border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900;box-shadow:0 2px 8px #00263c30}
.subscribeMini{border:0;background:var(--navy);color:#fff;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:900;white-space:nowrap}
.collapsedBar{display:none;align-items:center;gap:7px;padding:7px 8px 7px 10px;min-height:44px}.collapsedBar b{flex:1;color:var(--navy);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collapsedBar button{border:1px solid #c9d9e1;background:#fff;color:var(--navy);border-radius:999px;padding:6px 8px;font-size:11px;font-weight:900}.brandbar.collapsed{border-radius:16px}.brandbar.collapsed .expandedContent{display:none}.brandbar.collapsed .collapsedBar{display:flex}.collapsedBar button:last-child{background:#063f63!important;color:#fff!important;border-color:#063f63!important;box-shadow:0 2px 6px #0003}
.subForm label{display:block;font-size:12px;font-weight:900;color:#365d70;margin:12px 0 5px}.subForm input[type=email],.subForm select{width:100%;border:1px solid #c9d9e1;border-radius:12px;padding:11px;font:inherit;color:var(--ink);background:#fff}.subChoices{display:grid;grid-template-columns:1fr 1fr;gap:7px}.subChoices label{display:flex;align-items:center;gap:7px;margin:0;padding:9px;border:1px solid #d8e4e9;border-radius:12px;background:#f8fbfc;font-size:12px}.subChoices input{accent-color:var(--blue)}.consentLine{display:flex!important;align-items:flex-start;gap:8px!important;font-size:11px!important;font-weight:700!important;line-height:1.25;color:#607b88!important}.subMsg{font-size:12px;font-weight:800;margin-top:8px;min-height:18px}.emailBtn{margin-left:auto}.subForm textarea{width:100%;border:1px solid #c9d9e1;border-radius:12px;padding:11px;font:inherit;color:var(--ink);background:#fff;resize:vertical;min-height:88px}.subActionRow{display:grid;grid-template-columns:1fr 1fr;gap:7px}.subActionRow .submit,.subActionRow .emailUsAction{width:100%;margin:0;padding:13px;border-radius:13px;font:inherit;font-weight:900}.emailUsAction{background:var(--navy);color:#fff;border:0}
@media(max-width:430px){.collapseBtn{font-size:10px;padding:5px 7px}.subscribeMini{font-size:9px;padding:5px 7px}.collapsedBar b{font-size:13px}}
.headerActions{display:grid;grid-template-columns:.9fr .8fr 1.25fr .9fr;gap:6px;padding:0 10px 7px}.headerAction{border:0;border-radius:9px;padding:8px 5px;font-size:11px;font-weight:900;line-height:1;box-shadow:0 1px 3px #0002}.hideAction{background:#e9f3f7;color:#214f63;border:1px solid #c9dce4}.subscribeAction{background:#087da4;color:white}.fishingReportAction{background:#0d6b47;color:white}.reportRegion{border:1px solid #d7e4e8;border-radius:14px;padding:10px;margin:10px 0;background:#f8fbfc}.reportRegion h3{margin:0 0 5px;color:#12364a}.reportRegion p{margin:5px 0;font-size:13px;line-height:1.35}.reportSpecies{font-weight:900;color:#0d6b47}.reportSource{display:inline-block;margin-top:6px;padding:7px 9px;border-radius:9px;background:#e9f3f7;color:#17485d;text-decoration:none;font-size:11px;font-weight:900}.reportFresh{font-size:11px;color:#65757e}@media(max-width:380px){.headerAction{font-size:10px;padding:7px 3px}}.iab{position:fixed;z-index:99999;top:8px;left:8px;right:8px;max-width:520px;margin:auto;background:#fff;border:2px solid #087da4;border-radius:13px;padding:11px 34px 10px 12px;box-shadow:0 4px 18px #0005;color:#183b4a;font-family:Arial,sans-serif}.iab>b,.iab>span,.iab>small{display:block}.iab>b{font-size:14px}.iab>span{font-size:11px;font-weight:700;margin:4px 0}.iab>div{display:flex;gap:7px;margin:7px 0}.iab>div button{border:0;border-radius:8px;padding:8px;font-size:10px;font-weight:900;background:#087da4;color:#fff}.iab>small{font-size:9px}.iabx{position:absolute;right:7px;top:4px;border:0;background:transparent;font-size:22px;color:#607b88}.chips{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:3px!important}
.chips .chip{flex:0 0 auto!important;width:auto!important;min-width:0!important;font-size:9px!important;padding:4px 7px!important;white-space:nowrap!important;overflow:visible!important}
.chips .chip:nth-child(4),.chips .chip:nth-child(5){grid-column:auto!important}
@media(max-width:380px){.chips{gap:2px!important}.chips .chip{font-size:8px!important;padding:3px 5px!important}}.confirmedSpotIcon{background:transparent;border:0}.confirmedSpotDot{width:14px;height:14px;border-radius:50%;background:#159957;border:2px solid white;box-shadow:0 1px 4px #0008;color:white;font-size:9px;font-weight:900;text-align:center;line-height:14px}
/* v7.2.4 compact primary action controls */
@media(max-width:430px){
 .actionrow{grid-template-columns:1.28fr .72fr .46fr .62fr!important;gap:4px!important;padding:5px 8px 6px!important}
 .feed{font-size:11px!important;line-height:1.05!important;padding:7px 4px!important;border-radius:10px!important}
 .actionrow select,.actionrow .secondary{font-size:11px!important;line-height:1.1!important;padding:6px 3px!important;border-radius:10px!important;min-height:34px!important}
}

.targetFishBar{display:flex;align-items:center;margin:6px 18px 2px;padding:5px 9px;border:1px solid #cbdde5;border-radius:15px;background:#f6fbfd;font-weight:800;color:#12364a;min-height:34px}
.targetFishBar button{border:0;background:transparent;font:inherit;color:inherit;display:flex;align-items:center;gap:6px;width:100%;padding:0}.targetFishThumb{width:38px;height:24px;object-fit:contain}
.targetFishSheet{position:fixed;inset:0;background:#0007;z-index:10020;display:none;align-items:flex-end}.targetFishPanel{background:white;width:100%;max-height:82vh;overflow:auto;border-radius:24px 24px 0 0;padding:14px 18px 26px}
.targetFishPanel h2{margin:4px 0 3px}.targetFishPanel .sub{color:#667782;margin-bottom:12px}.targetFishGrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.targetFishChoice{min-height:64px;border:1px solid #d4e1e7;border-radius:15px;background:#f7fbfc;display:flex;align-items:center;gap:8px;padding:8px;font-weight:800;color:#12364a;text-align:left}
.targetFishChoice.active{outline:3px solid #168eb5;background:#eef9fc}.targetFishChoice img{width:58px;height:38px;object-fit:contain}.targetClear{margin-top:12px;width:100%;padding:12px;border:0;border-radius:14px;background:#0b789d;color:#fff;font-weight:900}
.targetFilterNote{font-size:11px;color:#65757e;margin:2px 20px 3px;text-align:center}
.topFishList{margin:3px 0 5px 18px;padding:0}.topFishList li{margin:1px 0;line-height:1.2}.leaflet-popup-content .topFishList{font-size:.92em}

/* v7.6.18 Target Fish regulations */
.fishRegsBtn{margin-top:10px;width:100%;padding:10px 12px;border:0;border-radius:13px;background:#075b91;color:#fff;font-weight:900;font-size:13px;box-shadow:0 2px 6px #0002}
.fishRegsHint{margin:7px 2px 0;font-size:10px;line-height:1.25;color:#687b86;text-align:center}
.fishRegsModal{position:fixed;inset:0;background:#0008;z-index:10040;display:none;align-items:center;justify-content:center;padding:14px}
.fishRegsCard{width:min(560px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:20px;padding:16px;box-shadow:0 8px 30px #0006;color:#17384a}
.fishRegsHead{display:flex;align-items:center;gap:10px;margin-bottom:10px}.fishRegsHead img{width:88px;height:58px;object-fit:contain}.fishRegsHead h2{margin:0;font-size:23px}.fishRegsCloseX{margin-left:auto;border:0;background:transparent;font-size:25px;color:#526b77}
.fishRegsCols{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fishRegBox{border:1px solid #d6e3e9;border-radius:13px;padding:10px;background:#f8fbfc}.fishRegBox h3{font-size:13px;margin:0 0 6px}.fishRegBox ul{margin:0;padding-left:17px;font-size:12px;line-height:1.35}.fishRegBox li{margin:3px 0}.fishRegLinks{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.fishRegLinks a{display:block;text-align:center;text-decoration:none;border:1px solid #a9c8d8;border-radius:10px;padding:8px 4px;font-size:11px;font-weight:900;color:#075b91}.fishRegsNote{font-size:10px;line-height:1.3;color:#657782;background:#eef5f8;border-radius:10px;padding:8px;margin-top:9px}.fishRegsDone{width:100%;margin-top:10px;padding:11px;border:0;border-radius:12px;background:#075b91;color:#fff;font-weight:900;box-shadow:0 2px 6px #0002}
@media(max-width:430px){.fishRegsCard{padding:12px}.fishRegsHead img{width:72px;height:48px}.fishRegsHead h2{font-size:20px}.fishRegsCols{gap:6px}.fishRegBox{padding:8px}.fishRegBox ul{font-size:11px}.fishRegsBtn{padding:9px;font-size:12px}}

/* Birds In The Bay PWA: compact footer controls */
.headerActions{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important;padding:0 8px 4px!important}
.headerAction{min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;border-radius:7px!important;padding:5px 2px!important;font-size:9px!important;font-weight:800!important;line-height:1!important;min-height:23px!important;box-shadow:none!important;text-transform:none!important}
.getAppAction{background:#0b3b66!important;color:#fff!important;border:0!important}.aboutAction{background:#e9f3f7!important;color:#214f63!important;border:1px solid #c9dce4!important}
.hideRow{display:flex;align-items:center;gap:6px;padding:0 8px 5px}.hideRow .status{flex:1;min-width:0;font-size:9px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.bottomHideAction{flex:0 0 auto}.bottomHideAction{border:1px solid #063f63!important;background:#063f63!important;color:#fff!important;border-radius:999px!important;padding:6px 8px!important;font-size:11px!important;font-weight:900!important;line-height:1!important;box-shadow:0 2px 6px #0003!important;font-family:inherit!important}
@media(max-width:380px){.headerActions{gap:3px!important;padding-left:6px!important;padding-right:6px!important}.headerAction{font-size:7.5px!important;padding:4px 1px!important}.bottomHideAction{font-size:10px!important;padding:5px 8px!important}}

/* v1.0.72 compact About/info control */
 .aboutInfoFab{position:absolute;right:12px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:950;border:0;border-radius:999px;background:var(--navy);color:#fff;font:900 11px/1 Arial,sans-serif;letter-spacing:.2px;padding:11px 14px;box-shadow:0 5px 18px #00263c55;cursor:pointer}.aboutInfoFab::before{content:"▶ ";color:#fff}.aboutInfoFab:hover{transform:scale(1.04)}.aboutInfoFab:active{transform:scale(.96)}

/* v1.1.08 — clean, source-attributed popup layout */
.bitbPop{font-size:13px;line-height:1.28;color:#24313a;max-width:310px}.bitbPop .popTitle{font-weight:900;font-size:14px;color:#17394d;margin-bottom:4px}.bitbPop .popSection{border-top:1px solid #d7e2e8;margin-top:8px;padding-top:7px}.bitbPop .popSectionTitle{font-weight:900;color:#31566b;font-size:11px;text-transform:uppercase;letter-spacing:.35px;margin-bottom:4px}.bitbPop .popRow{margin:2px 0}.bitbPop .popSources{font-size:11px;line-height:1.35;background:#f5f9fb;border:1px solid #dce8ed;border-radius:9px;padding:7px 8px;margin-top:8px}.bitbPop .popSources a{color:#0b5f8a;font-weight:800;text-decoration:underline;text-underline-offset:2px}.bitbPop .popNote{font-size:10.5px;color:#60717c;margin-top:6px}.bitbPop .popCoords{font-size:11px;color:#52636d}.bitbPop .popActions{display:flex;gap:7px;margin-top:9px}.bitbPop .popActions button{flex:1}.leaflet-popup-content{margin:11px 13px}.leaflet-popup-content-wrapper{border-radius:13px}@media(max-width:600px){.leaflet-popup-content{margin:9px 10px}.bitbPop{font-size:12px;line-height:1.24;max-width:min(78vw,285px)}.bitbPop .popTitle{font-size:13px}.bitbPop .popSources{font-size:10.5px;padding:6px 7px}.bitbPop .popSection{margin-top:6px;padding-top:6px}}

/* v1.1.08 — privacy, legal and data-transparency foundation */
.legalLinks{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:10px 0 2px}.legalLinks button{border:1px solid #c9dce4;background:#f4f9fb;color:#17485d;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:900}.legalCard{max-width:620px}.legalCard h2{margin-bottom:4px}.legalCard h3{color:#12364a;margin:17px 0 5px}.legalCard p,.legalCard li{font-size:12px;line-height:1.48;color:#304b58}.legalCard ul{padding-left:19px}.legalCard a{color:#087da4;font-weight:800}.legalUpdated{font-size:10px;color:#71838b;margin:2px 0 12px}.legalNav{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:9px 0 12px}.legalNav button{border:1px solid #c9dce4;border-radius:9px;background:#f4f9fb;color:#17485d;padding:8px 5px;font-size:10px;font-weight:900}.legalSection{display:none}.legalSection.active{display:block}.privacyBanner{position:fixed;left:10px;right:10px;bottom:52px;z-index:10080;max-width:560px;margin:auto;background:#fff;border:1px solid #b8cdd6;border-radius:14px;padding:11px;box-shadow:0 5px 22px #0005;color:#183b4a}.privacyBanner b{display:block;font-size:13px;margin-bottom:4px}.privacyBanner p{font-size:10.5px;line-height:1.35;margin:3px 0 8px}.privacyActions{display:flex;gap:6px}.privacyActions button{flex:1;border:0;border-radius:9px;padding:9px 5px;font-size:10px;font-weight:900}.privacyAccept{background:#087da4;color:#fff}.privacyNecessary{background:#e9f3f7;color:#17485d}.privacyMore{display:block;text-align:center;margin-top:7px;color:#087da4;font-size:10px;font-weight:900}.communityNotice{font-size:10px;line-height:1.35;background:#fff7df;border:1px solid #ecd99c;border-radius:9px;padding:7px 8px;margin:7px 0;color:#5a4a19}.communityNotice a{color:#087da4;font-weight:900}.consentLine a{color:#087da4;font-weight:900}
@media(max-width:520px){.legalCard{width:calc(100% - 24px)!important;max-height:84vh!important}.legalCard p,.legalCard li{font-size:11px}.privacyBanner{bottom:48px}.legalNav button{font-size:9px}}


.ebirdMiniIcon{width:18px;height:18px;object-fit:contain;vertical-align:-4px;margin-right:2px}

/* v1.1.89-SEAGULL compact text-only four-filter row: Fishing Style, Area, Target Fish, Habitat */
.filterFourRow .fishingStyleBar,.filterFourRow .areaBar,.filterFourRow .targetFishBar,.filterFourRow .habitatBar{flex:1 1 0;min-width:0;margin:0;display:flex;align-items:center;padding:3px 5px;border:1px solid #cbdde5;border-radius:12px;background:#f6fbfd;font-weight:800;color:#12364a;min-height:29px;font-size:7.4px}
.filterFourRow .fishingStyleBar button,.filterFourRow .areaBar button,.filterFourRow .targetFishBar button,.filterFourRow .habitatBar button{width:100%;min-width:0;display:flex;align-items:center;gap:3px;border:0;background:transparent;color:inherit;font:inherit;font-weight:800;padding:0;white-space:nowrap;overflow:hidden}
.filterFourRow #fishingStyleLabel,.filterFourRow #areaLabel,.filterFourRow #targetFishLabel,.filterFourRow #habitatLabel{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:520px){.filterFourRow{gap:3px!important;margin-left:6px!important;margin-right:6px!important}.filterFourRow .fishingStyleBar,.filterFourRow .areaBar,.filterFourRow .targetFishBar,.filterFourRow .habitatBar{font-size:6.8px!important;padding:3px 2px!important;min-height:28px!important}.filterFourRow .targetFishThumb{width:15px!important;height:11px!important}.filterFourRow button>span:first-child{flex:0 0 auto}.filterFourRow button>span:last-child{font-size:6.8px}}

/* v1.1.89-SEAGULL final four-filter typography override. Kept last in cascade intentionally. */
.filterFourRow .fishingStyleBar,.filterFourRow .areaBar,.filterFourRow .targetFishBar,.filterFourRow .habitatBar{font-size:9px!important;font-family:Arial,Helvetica,sans-serif!important;font-weight:800!important;padding:3px 2px!important;min-height:28px!important}
.filterFourRow .fishingStyleBar button,.filterFourRow .areaBar button,.filterFourRow .targetFishBar button,.filterFourRow .habitatBar button,.filterFourRow #fishingStyleLabel,.filterFourRow #areaLabel,.filterFourRow #targetFishLabel,.filterFourRow #habitatLabel{font-size:9px!important;font-family:Arial,Helvetica,sans-serif!important;font-weight:800!important}
@media(max-width:520px){.filterFourRow .fishingStyleBar,.filterFourRow .areaBar,.filterFourRow .targetFishBar,.filterFourRow .habitatBar,.filterFourRow .fishingStyleBar button,.filterFourRow .areaBar button,.filterFourRow .targetFishBar button,.filterFourRow .habitatBar button,.filterFourRow #fishingStyleLabel,.filterFourRow #areaLabel,.filterFourRow #targetFishLabel,.filterFourRow #habitatLabel{font-size:9px!important}}


/* Compact Target Fish control */
#targetFishBtn{
  min-height:44px !important;
  height:44px !important;
  padding:5px 14px !important;
  border-radius:18px !important;
  font-size:17px !important;
  line-height:1.05 !important;
}
#targetFishBtn img{
  width:34px !important;
  height:28px !important;
  object-fit:contain !important;
  margin-right:8px !important;
}
#targetFishBtn .target-label,
#targetFishBtn strong{
  font-size:17px !important;
}
#targetFishBtn .target-caret{
  font-size:18px !important;
}
#targetFilterNote{
  font-size:12px !important;
  line-height:1.15 !important;
  margin:3px 4px 0 !important;
}
#targetFishMenu{
  max-height:48vh !important;
}
#targetFishMenu button{
  min-height:42px !important;
  padding:5px 10px !important;
  font-size:15px !important;
}
#targetFishMenu button img{
  width:36px !important;
  height:28px !important;
  object-fit:contain !important;
}
@media (max-width:600px){
  #targetFishBtn{
    min-height:40px !important;
    height:40px !important;
    padding:4px 12px !important;
    border-radius:16px !important;
    font-size:15px !important;
  }
  #targetFishBtn img{width:30px !important;height:24px !important}
  #targetFishBtn .target-label,
  #targetFishBtn strong{font-size:15px !important}
  #targetFilterNote{font-size:11px !important}
}


#targetFilterNote.is-loading::before{
  content:"";
  display:inline-block;
  width:10px;height:10px;
  margin-right:6px;
  border:2px solid currentColor;
  border-right-color:transparent;
  border-radius:50%;
  vertical-align:-1px;
  animation:targetSpin .7s linear infinite;
}
@keyframes targetSpin{to{transform:rotate(360deg)}}


.headerActions{grid-template-columns:.58fr .72fr 1.03fr .74fr .78fr!important}
.getAppAction{background:#063f63;color:#fff;border:1px solid #063f63!important}
.getAppHero{display:flex;align-items:center;gap:12px;padding:8px 0 12px}.getAppHero img{width:82px;height:82px;border-radius:18px;box-shadow:0 3px 12px #001e3030}.getAppHero h2{margin:0 0 3px}.getAppPrimary{width:100%;border:0;border-radius:13px;padding:13px 10px;background:#087da4;color:#fff;font-weight:900;font-size:14px}.getAppNote{font-size:12px;line-height:1.4;color:#58707c;margin:10px 0}.getAppInstalled{background:#eaf7ef;color:#0d6b47;border-radius:11px;padding:10px;font-size:12px;font-weight:800;margin:8px 0}.desktopInstallLink{word-break:break-all;background:#f4f8fa;border:1px solid #d7e4e8;border-radius:10px;padding:9px;font-size:11px}.getAppSteps{padding-left:20px;font-size:13px;line-height:1.55}.getAppSteps li{margin:4px 0}
@media(max-width:520px){.headerActions{grid-template-columns:.55fr .7fr 1fr .72fr .8fr!important}.headerAction{font-size:7.4px!important;padding:4px 1px!important}.getAppHero img{width:70px;height:70px}}


/* v7.6.6 — preserve the existing design while exposing more map */
.brandbar{max-width:700px!important;border-radius:16px!important}
.hero{aspect-ratio:auto!important;height:138px!important;border-radius:16px 16px 0 0!important}
.actionrow{gap:4px!important;padding:5px 10px 5px!important}
.feed{font-size:13px!important;line-height:1!important;padding:7px 5px!important;min-height:34px!important;border-radius:10px!important}
.actionrow select,.actionrow .secondary{font-size:12px!important;padding:5px 4px!important;min-height:34px!important;border-radius:10px!important}
.reportHintFixed{font-size:9px!important;margin:-1px 10px 4px!important}
.chips{gap:3px!important;padding:0 8px 4px!important}
.chips .chip{font-size:8px!important;padding:3px 6px!important}
.chips .chip input{width:13px!important;height:13px!important}
.targetFishBar{margin:4px 14px 1px!important;padding:3px 8px!important;min-height:29px!important;border-radius:12px!important;font-size:12px!important}
.targetFishThumb{width:30px!important;height:20px!important}
.targetFilterNote{font-size:9px!important;line-height:1.05!important;margin:1px 10px 3px!important}
.headerActions{grid-template-columns:.7fr .72fr 1.05fr .75fr!important;gap:4px!important;padding:0 8px 4px!important}
.headerAction{border-radius:7px!important;padding:5px 3px!important;font-size:9px!important;min-height:25px!important;box-shadow:none!important}
.metrics{gap:5px!important;padding:0 8px 5px!important}
.metric{padding:2px 6px!important;font-size:9px!important}.status{font-size:9px!important}
@media(max-width:520px){.hero{height:105px!important}.brandbar{left:5px!important;right:5px!important}.actionrow{padding-left:7px!important;padding-right:7px!important}.feed{font-size:11px!important}.actionrow select,.actionrow .secondary{font-size:10px!important}.headerAction{font-size:8px!important;padding:4px 2px!important;min-height:23px!important}.targetFishBar{margin-left:10px!important;margin-right:10px!important}.chips .chip{font-size:7.5px!important;padding:3px 5px!important}}
@media(min-width:760px){.brandbar{width:500px!important}.hero{height:174px!important}}

/* Birds In The Bay v1.0 finishing touches */
.getAppShare{width:100%;border:0;border-radius:10px;padding:11px 12px;margin-top:10px;background:#0d6b47;color:#fff;font-weight:900;font-size:12px}.appVersion{font-size:10px;color:#70838d;text-align:center;margin:10px 0 2px}.updateToast{position:fixed;z-index:100000;left:12px;right:12px;bottom:14px;max-width:430px;margin:auto;background:#063354;color:#fff;border-radius:12px;padding:10px 12px;box-shadow:0 4px 18px #0005;font-size:12px;font-weight:800;display:none;align-items:center;justify-content:space-between;gap:10px}.updateToast button{border:0;border-radius:8px;background:#fff;color:#063354;font-weight:900;padding:7px 10px}.offlineBadge{position:fixed;z-index:99998;top:6px;left:50%;transform:translateX(-50%);background:#7b2e1f;color:#fff;border-radius:999px;padding:5px 10px;font-size:10px;font-weight:900;display:none;box-shadow:0 2px 7px #0004}


.targetHabitatRow{display:flex;gap:6px;align-items:stretch;margin:3px 14px 1px}
.targetHabitatRow .targetFishBar,.targetHabitatRow .habitatBar{flex:1 1 0;min-width:0;margin:0}
.targetHabitatRow .targetFishBar button,.targetHabitatRow .habitatBar button{width:100%;white-space:nowrap;overflow:hidden}
.targetHabitatRow #targetFishLabel,.targetHabitatRow #habitatLabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:520px){.targetHabitatRow{gap:4px;margin-left:8px;margin-right:8px}.targetHabitatRow .targetFishBar,.targetHabitatRow .habitatBar{font-size:11px;padding-left:6px;padding-right:6px}.targetHabitatRow .targetFishThumb{width:22px;height:14px}}


.habitatBar{display:flex;align-items:center;margin:3px 14px 1px;padding:3px 8px;border:1px solid #cbdde5;border-radius:12px;background:#f6fbfd;font-weight:800;color:#12364a;min-height:29px;font-size:12px}.habitatBar button{border:0;background:transparent;font:inherit;color:inherit;display:flex;align-items:center;gap:6px;width:100%;padding:0}.habitatSheet{position:fixed;inset:0;background:#0007;z-index:10025;display:none;align-items:flex-end}.habitatPanel{background:#fff;width:100%;max-height:82vh;overflow:auto;border-radius:24px 24px 0 0;padding:14px 18px 26px}.habitatGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.habitatChoice{border:1px solid #d4e1e7;border-radius:13px;background:#f7fbfc;display:flex;align-items:center;gap:7px;padding:10px;font-weight:800;color:#12364a;text-align:left}.habitatChoice input{width:18px;height:18px}.habitatApply{margin-top:12px;width:100%;padding:12px;border:0;border-radius:14px;background:#0b789d;color:#fff;font-weight:900}.habitatMeta{font-size:10px;color:#667782;line-height:1.35;margin:9px 2px}.habitatCount{font-size:9px;color:#526b77;margin:1px 10px 3px;font-weight:800}

.targetFishChoice input{width:19px;height:19px;flex:0 0 auto;accent-color:#168eb5}.targetFishChoice.checked{outline:3px solid #168eb5;background:#eef9fc}

.spotPopupActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.spotPopupReportFish,.spotPopupClose{width:100%;border:0;border-radius:10px;padding:11px 8px;font-weight:900}
.spotPopupReportFish{background:#ef2948;color:#fff}.spotPopupClose{margin-top:0!important}
.userConfirmedFishLine{display:block;margin-top:3px}


.hourlySummaryAction{background:#6d28d9;color:#fff}.hourlySummaryCard{max-width:520px}.hourlySummaryHero{background:#eef9fc;border:1px solid #c7e8f1;border-radius:12px;padding:11px;margin:8px 0}.hourlySummaryHero b{font-size:18px;color:#0b536d}.hourlySummaryGrid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:8px 0}.hourlySummaryBox{border:1px solid #d9e6ea;border-radius:10px;padding:9px;background:#fff;font-size:12px;line-height:1.35}.hourlySummaryBox b{display:block;color:#12364a;margin-bottom:3px}.hourlySummaryHot{border-left:4px solid #ef4444}.focusPredictionNotice{display:flex;flex-direction:column;gap:6px}.focusPredictionNotice>b{margin:0!important;color:#12364a}.focusPredictionNotice span{color:#526b78;line-height:1.35}.focusPredictionButton{margin-top:3px;border:0;border-radius:8px;background:#0b4f78;color:#fff;font-weight:900;font-size:11px;padding:9px 10px;cursor:pointer;width:100%}.hourlySummaryNote{font-size:11px;color:#60717a;line-height:1.35;margin:8px 0}.hourlySummaryStamp{font-size:11px;font-weight:800;color:#087da4}.hourlySummaryLoading{text-align:center;padding:18px;font-weight:800;color:#58707c}@media(max-width:430px){.hourlySummaryGrid{grid-template-columns:1fr}.headerActions{grid-template-columns:repeat(4,1fr)!important}.headerAction{font-size:9px!important;padding:8px 2px!important}}


.targetHabitatRow .areaBar{flex:1 1 0;min-width:0;margin:0;display:flex;align-items:center;padding:3px 8px;border:1px solid #cbdde5;border-radius:12px;background:#f6fbfd;font-weight:800;color:#12364a;min-height:29px;font-size:12px}
.fishingStyleRow{display:flex;margin:4px 14px 1px}.fishingStyleBar{width:100%;display:flex;align-items:center;padding:3px 8px;border:1px solid #cbdde5;border-radius:12px;background:#f6fbfd;font-weight:800;color:#12364a;min-height:29px;font-size:12px}.fishingStyleBar button{width:100%;display:flex;align-items:center;gap:5px;border:0;background:transparent;color:inherit;font:inherit;font-weight:800;padding:0;cursor:pointer}.fishingStyleSheet{position:fixed;inset:0;background:#0008;z-index:10080;display:none;align-items:flex-end;justify-content:center}.fishingStylePanel{width:min(520px,100%);background:#fff;border-radius:18px 18px 0 0;padding:12px 14px 18px;box-shadow:0 -8px 28px #0004}.fishingStyleGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:10px 0}.fishingStyleChoice{border:1px solid #cbdde5;border-radius:12px;padding:10px;background:#f8fbfc;font-weight:800;display:flex;gap:7px;align-items:center}.fishingStyleChoice input{accent-color:#0b7285}.fishingStyleMeta{font-size:11px;line-height:1.35;color:#60717d;margin:5px 2px 10px}@media(max-width:520px){.fishingStyleRow{margin-left:6px;margin-right:6px}.fishingStyleBar{font-size:10px;min-height:28px;padding:3px 6px}}
.areaBar button{border:0;background:transparent;font:inherit;color:inherit;display:flex;align-items:center;gap:5px;width:100%;padding:0;white-space:nowrap;overflow:hidden}.areaBar #areaLabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.areaSheet{position:fixed;inset:0;background:#0007;z-index:10030;display:none;align-items:flex-end}.areaPanel{background:#fff;width:100%;max-height:82vh;overflow:auto;border-radius:24px 24px 0 0;padding:14px 18px 26px}.areaGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.areaChoice{border:1px solid #d4e1e7;border-radius:13px;background:#f7fbfc;display:flex;align-items:center;gap:7px;padding:10px;font-weight:800;color:#12364a;text-align:left}.areaChoice input{width:18px;height:18px;accent-color:#168eb5}
@media(max-width:520px){
 .targetHabitatRow{gap:3px!important;margin-left:6px!important;margin-right:6px!important}
 .targetHabitatRow .targetFishBar,.targetHabitatRow .habitatBar,.targetHabitatRow .areaBar{font-size:9.5px!important;padding:3px 4px!important;min-height:28px!important}
 .targetHabitatRow .targetFishThumb{width:18px!important;height:13px!important}
 .targetFishPanel,.habitatPanel,.areaPanel{width:calc(100% - 28px)!important;max-width:390px!important;margin:0 auto 10px!important;border-radius:20px!important;padding:11px 12px 16px!important;max-height:76vh!important}
 .targetFishPanel h2,.habitatPanel h2,.areaPanel h2{font-size:18px!important;margin:2px 0!important}.targetFishPanel .sub,.habitatPanel .sub,.areaPanel .sub{font-size:11px!important;line-height:1.3!important;margin-bottom:8px!important}
 .targetFishGrid,.habitatGrid,.areaGrid{gap:6px!important}.targetFishChoice{min-height:48px!important;padding:5px!important;font-size:11px!important;border-radius:11px!important}.targetFishChoice img{width:42px!important;height:28px!important}.habitatChoice,.areaChoice{padding:7px!important;font-size:11px!important;border-radius:10px!important}.habitatChoice input,.areaChoice input,.targetFishChoice input{width:16px!important;height:16px!important}.habitatApply,.targetClear{padding:9px!important;margin-top:8px!important;font-size:11px!important}.habitatMeta{font-size:9px!important;margin:6px 2px!important}
}


.bitbAccessPinWrap{background:transparent!important;border:0!important}
.bitbAccessSquare{width:10px;height:10px;background:#8b5a2b;border:1.5px solid #fff;border-radius:1px;box-shadow:0 1px 3px rgba(0,0,0,.55);box-sizing:border-box}


.predictionPopupActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.predictionPopupActions button{width:100%;border:0;border-radius:10px;padding:11px 7px;font-weight:900;font-size:11px}
.predictionFocusButton{background:#0b4f78;color:#fff}
.predictionPopupActions .spotPopupClose{margin-top:0!important}
.spotPopupReportFish{background:#e32636!important;color:#fff!important;border:0!important}


.accessPopup{font-size:12px;line-height:1.35;min-width:190px}
.accessPopupName{font-size:14px;color:#073b5c}
.accessVerify{display:block;margin-top:6px;font-size:10.5px;color:#52616a}


.headerActions{grid-template-columns:.88fr .9fr .9fr .65fr .82fr!important}
.shareAction{background:#456b7b;color:#fff}
@media(max-width:430px){.headerActions{grid-template-columns:repeat(5,minmax(0,1fr))!important}.headerAction{font-size:8.2px!important;padding:8px 1px!important}}


.predictionPopupActions .predictionFocusButton{
  background:#e32636!important;
  color:#fff!important;
  border:0!important;
}


.bitbBoatRampWrap{background:transparent!important;border:0!important}
.bitbBoatRampSquare{width:10px;height:10px;background:#000;border:1.5px solid #fff;border-radius:1px;box-shadow:0 1px 3px rgba(0,0,0,.55);box-sizing:border-box}


.filterFourRow .fishingStyleBar,.filterFourRow .areaBar,.filterFourRow .targetFishBar,.filterFourRow .habitatBar{
 transition:background-color .12s ease,color .12s ease,border-color .12s ease;
}
.filterFourRow .bitbFilterSelected{
 background:#0b5f8a!important;
 border-color:#0b5f8a!important;
 color:#fff!important;
}
.filterFourRow .bitbFilterSelected button,
.filterFourRow .bitbFilterSelected button span{
 color:#fff!important;
}


.collapsedBar b{display:flex;align-items:center;gap:5px}
.collapsedBar .collapsedSeagull{width:18px;height:18px;object-fit:contain;display:inline-block}


.chips .chip{font-size:8px;padding-left:5px;padding-right:5px;white-space:nowrap}


.chips{display:flex!important;flex-wrap:nowrap!important;width:100%!important;gap:3px!important;align-items:center!important;justify-content:space-between!important}
.chips .chip{flex:0 1 auto!important;min-width:0!important;padding:4px 3px!important;font-size:7.5px!important;line-height:1!important;white-space:nowrap!important;gap:2px!important}
.chips .chip input{width:12px!important;height:12px!important;margin:0 1px 0 0!important;flex:0 0 12px!important}
.chips .chip .ebirdMiniIcon{width:12px!important;height:12px!important}


@media(max-width:520px){
 .chips{display:flex!important;flex-wrap:nowrap!important;gap:2px!important;padding:0 5px 4px!important;justify-content:space-between!important}
 .chips .chip{font-size:6.6px!important;padding:4px 2px!important;gap:3px!important;letter-spacing:-.1px!important;min-width:0!important;white-space:nowrap!important}
 .chips .chip input{width:11px!important;height:11px!important;flex:0 0 11px!important;margin:0!important}
 .chips .chip .ebirdMiniIcon{width:11px!important;height:11px!important;margin:0!important}
}


.bitbPop .popSources,.bitbPop .popSources a,.bitbPop .popNote{font-size:8px!important;line-height:1.25!important}
.bitbPop .popSources{padding:4px 5px!important;margin-top:5px!important}
.bitbPop .popNote{margin-top:4px!important}


.predictionNote,.predictionMarineSource{font-size:8px!important;line-height:1.2!important}.predictionPopupActions{margin-top:8px}


.leaflet-popup-content .popSources,.leaflet-popup-content .popSources a,.leaflet-popup-content .popNote,.leaflet-popup-content .predictionMarineSource,.leaflet-popup-content .predictionNote{font-size:8px!important;line-height:1.25!important}
.leaflet-popup-content .popSources{padding:3px 0!important;margin-top:4px!important;background:transparent!important;border:0!important}
.leaflet-popup-content .popNote{margin-top:4px!important}
.focusTargetPrompt{border:1px solid #b9dbe9;background:#eef9fd;border-radius:10px;padding:9px;margin:8px 0;font-size:12px;line-height:1.3}
.focusTargetPrompt button{margin-top:7px;background:#087ca3;color:#fff;border:0;border-radius:9px;padding:8px 12px;font-weight:900;cursor:pointer}


.predictionStructured{font-size:15px;line-height:1.32;min-width:270px}.predictionTitle{font-size:17px;font-weight:900}.predictionPlace{font-size:18px;font-weight:900;margin-top:2px}.predictionCoords{font-size:14px;font-weight:700;margin:2px 0 12px}.predictionTarget{font-size:16px;margin-bottom:10px}.predictionSection{margin:10px 0}.predictionSectionTitle{font-size:16px;font-weight:900;margin-bottom:6px}.predictionBestTime{font-size:18px;font-weight:900}.predictionTargetFishButton{margin-top:7px;border:0!important;border-radius:9px;background:#0b4a73!important;color:#fff!important;font-size:11px;font-weight:700;padding:8px 13px;cursor:pointer}
.predictionBestWhy{font-size:12px;font-weight:600;margin-top:2px}.predictionStructured ul{margin:5px 0 7px 20px;padding:0}.predictionStructured li{margin:5px 0}.predictionStructured hr{border:0;border-top:1px solid #d7e0e5;margin:10px 0}.predictionSeagull{width:22px;height:22px;object-fit:contain;vertical-align:-6px;margin-right:4px}.predictionSources{margin-top:8px}.predictionSources summary{font-weight:900;cursor:pointer}.predictionSources .predictionMarineSource,.predictionSources .predictionNote,.predictionSources a{font-size:8px!important;line-height:1.25!important}


/* Typography-only refinement: match Fishing Focus visual weight. */
.predictionStructured{font-size:12px;line-height:1.38;min-width:270px;font-weight:400}
.predictionStructured .predictionTitle{font-size:14px;font-weight:700;line-height:1.25}
.predictionStructured .predictionPlace{font-size:14px;font-weight:600;line-height:1.3;margin-top:2px}
.predictionStructured .predictionCoords{font-size:11px;font-weight:400;margin:2px 0 9px}
.predictionStructured .predictionTarget{font-size:12px;font-weight:400;margin-bottom:8px}
.predictionStructured .predictionSection{margin:8px 0}
.predictionStructured .predictionSectionTitle{font-size:13px;font-weight:700;line-height:1.3;margin-bottom:4px}
.predictionStructured .predictionBestTime{font-size:14px;font-weight:600;line-height:1.32}
.predictionStructured .predictionBestTime b{font-weight:600}
.predictionStructured .predictionBestWhy{font-size:10px;font-weight:400;line-height:1.35;margin-top:2px}
.predictionStructured ul{margin:4px 0 6px 16px;padding:0}
.predictionStructured li{margin:3px 0;font-weight:400;line-height:1.38}
.predictionStructured li b{font-weight:600}
.predictionStructured hr{margin:8px 0}
.predictionStructured .predictionSources summary{font-size:10px;font-weight:600}
.predictionStructured .spotPopupActions button{font-weight:700}


/* v1.2.18: keep all four main filter controls exactly equal in width and height. */
.filterFourRow > .fishingStyleBar,
.filterFourRow > .areaBar,
.filterFourRow > .targetFishBar,
.filterFourRow > .habitatBar{
  flex:1 1 0!important;
  width:0!important;
  min-width:0!important;
  box-sizing:border-box!important;
  align-self:stretch!important;
}


/* v1.2.20: equal-width mobile filters with compact text-height controls. */
@media (max-width:600px){
  .targetHabitatRow.filterFourRow{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    align-items:stretch!important;
  }
  .targetHabitatRow.filterFourRow > .fishingStyleBar,
  .targetHabitatRow.filterFourRow > .areaBar,
  .targetHabitatRow.filterFourRow > .targetFishBar,
  .targetHabitatRow.filterFourRow > .habitatBar{
    width:auto!important;
    min-width:0!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    margin:0!important;
    padding:3px 6px!important;
    box-sizing:border-box!important;
    border-radius:16px!important;
  }
  .targetHabitatRow.filterFourRow > div > button{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    box-sizing:border-box!important;
  }
}


.namedPointPin{width:16px;height:16px;border-radius:50% 50% 50% 0;background:#fff;border:2px solid #245a78;transform:rotate(-45deg);box-shadow:0 1px 3px #0005}
.namedPointPin:after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:#245a78;left:4px;top:4px}
.namedPointPopup{min-width:210px;color:#12364a}.namedPointPopup .npTitle{font-size:16px;font-weight:900;margin-bottom:3px}.namedPointPopup .npType{font-size:11px;font-weight:800;color:#245a78;margin-bottom:8px}.namedPointPopup .npRow{font-size:12px;line-height:1.35;margin:4px 0}.namedPointPopup button{width:100%;margin-top:8px;border:0;border-radius:10px;background:#0b789d;color:#fff;font-weight:900;padding:8px}


/* v1.2.26: final hard override — all four filter boxes use the same track width as Target Fish. */
.targetHabitatRow.filterFourRow{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:4px!important;
  width:auto!important;
  box-sizing:border-box!important;
}
.targetHabitatRow.filterFourRow > .fishingStyleBar,
.targetHabitatRow.filterFourRow > .areaBar,
.targetHabitatRow.filterFourRow > .targetFishBar,
.targetHabitatRow.filterFourRow > .habitatBar{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  flex:none!important;
  height:32px!important;
  min-height:32px!important;
  max-height:32px!important;
  margin:0!important;
  padding:3px 5px!important;
  box-sizing:border-box!important;
  border-radius:12px!important;
}
.targetHabitatRow.filterFourRow > div > button{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:100%!important;
  padding:0!important;
  box-sizing:border-box!important;
}
@media(max-width:430px){
  .targetHabitatRow.filterFourRow{gap:3px!important;margin-left:6px!important;margin-right:6px!important}
  .targetHabitatRow.filterFourRow > .fishingStyleBar,
  .targetHabitatRow.filterFourRow > .areaBar,
  .targetHabitatRow.filterFourRow > .targetFishBar,
  .targetHabitatRow.filterFourRow > .habitatBar{padding:3px 3px!important}
}


/* v1.1.23 — compliance wording + consent-aware GA4 engagement tracking */
.bitbUniversalCloseX{position:absolute;top:10px;right:12px;z-index:20;width:34px;height:34px;border:0!important;border-radius:50%!important;background:#eef4f7!important;color:#17394d!important;font-size:23px!important;font-weight:900!important;line-height:30px!important;padding:0!important;display:grid!important;place-items:center;box-shadow:0 1px 5px #001e3026}
.bitbUniversalCloseBottom{display:block;width:100%;margin:12px 0 0!important;padding:10px 12px!important;border:0!important;background:#0b3b66!important;color:#fff!important;border-radius:10px!important;font-weight:900!important;text-align:center}
.modal .card,.sheetwrap .sheet,.targetFishPanel,.habitatPanel,.areaPanel,.fishRegsCard{position:relative}
.leaflet-popup-content .bitbUniversalCloseBottom{margin-top:10px!important}
@media(max-width:600px){.bitbUniversalCloseX{top:8px;right:9px;width:32px;height:32px;font-size:21px}.bitbUniversalCloseBottom{padding:9px 10px!important}}


/* v1.2.16 — mobile-only Target Fish selector spacing/width refinement. */
@media (max-width:520px){
  .targetFishPanel{
    width:calc(100% - 44px)!important;
    max-width:350px!important;
    padding:10px 10px 14px!important;
  }
  .targetFishGrid{
    grid-template-columns:1fr 1fr!important;
    gap:4px!important;
  }
  .targetFishChoice{
    min-width:0!important;
    min-height:44px!important;
    gap:4px!important;
    padding:4px 5px!important;
    font-size:10px!important;
    line-height:1.08!important;
  }
  .targetFishChoice img{
    width:34px!important;
    height:24px!important;
    flex:0 0 34px!important;
  }
  .targetFishChoice input{
    width:14px!important;
    height:14px!important;
    flex:0 0 14px!important;
    margin:0!important;
  }
  .targetFishChoice span{
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }
}
@media (max-width:380px){
  .targetFishPanel{width:calc(100% - 32px)!important;max-width:340px!important}
  .targetFishChoice{font-size:9.5px!important;padding:4px!important;gap:3px!important}
  .targetFishChoice img{width:30px!important;height:22px!important;flex-basis:30px!important}
}


/* v1.2.25 — size all four main filters to the compact Target Fish control; no filter may grow larger. */
@media (min-width:451px) and (max-width:600px){
  .targetHabitatRow.filterFourRow{
    display:grid!important;
    grid-template-columns:repeat(4,108px)!important;
    justify-content:space-between!important;
    column-gap:3px!important;
  }
  .targetHabitatRow.filterFourRow > .fishingStyleBar,
  .targetHabitatRow.filterFourRow > .areaBar,
  .targetHabitatRow.filterFourRow > .targetFishBar,
  .targetHabitatRow.filterFourRow > .habitatBar{
    width:108px!important;
    min-width:108px!important;
    max-width:108px!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    margin:0!important;
    box-sizing:border-box!important;
  }
}
@media (max-width:450px){
  .targetHabitatRow.filterFourRow{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    column-gap:3px!important;
  }
  .targetHabitatRow.filterFourRow > .fishingStyleBar,
  .targetHabitatRow.filterFourRow > .areaBar,
  .targetHabitatRow.filterFourRow > .targetFishBar,
  .targetHabitatRow.filterFourRow > .habitatBar{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    margin:0!important;
    box-sizing:border-box!important;
  }
}


/* v1.2.27: visual-only fix — make paired popup action buttons exactly equal,
   using the existing red action button dimensions as the reference. */
.spotPopupActions,
.predictionPopupActions{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:8px!important;
}
.spotPopupActions > .spotPopupReportFish,
.spotPopupActions > .spotPopupClose,
.predictionPopupActions > .predictionFocusButton,
.predictionPopupActions > .spotPopupClose{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:42px!important;
  min-height:42px!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:0 8px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:10px!important;
}

/* v1.2.47 subscribe form only: keep consent copy together and readable */
.consentLine>input{flex:0 0 auto;margin-top:2px}.consentLine>span{display:block;flex:1;min-width:0}.consentLine a{white-space:nowrap}

.fishermanPopup .predictionPlace{font-size:18px;font-weight:800}.predictionFactor{padding:9px 0;border-bottom:1px solid #e3e9ee}.predictionFactor>strong{float:right;margin-left:8px;color:#173e54}.predictionFactor>div{clear:both;color:#4b5563;font-size:13px;padding-top:3px}.fishermanPopup details{padding:10px 0;border-top:1px solid #dbe3e8}.fishermanPopup summary{font-weight:700;cursor:pointer}.fishermanPopup .predictionCoords button{font-size:11px;padding:3px 6px;margin:4px 0}.fishermanPopup .predictionSection{margin-top:14px}

.fishermanPopup .predictionTarget{font-size:18px;line-height:1.35;font-weight:700}.fishermanPopup .predictionStatusLine{font-size:14px;line-height:1.5;text-transform:none}.fishermanPopup .predictionStatusLine b,.fishermanPopup .predictionStatusLine span{font-size:inherit}.fishermanPopup .predictionTopFish{border-top:1px solid #dbe3e8;padding-top:12px}

/* v1.2.55 Fishing Focus compact independent-height cards */
.hourlySummaryGrid{display:block!important;column-count:2;column-gap:7px}.hourlySummaryGrid>.hourlySummaryBox{display:inline-block;width:100%;box-sizing:border-box;margin:0 0 7px;break-inside:avoid;vertical-align:top}.hourlySummaryGrid>.hourlySummaryHot{break-inside:avoid}@media(max-width:430px){.hourlySummaryGrid{column-count:1}}

/* v1.2.56 Fishing Focus compact tables */
.focusTable{width:100%;border-collapse:collapse;margin:4px 0 6px;font-size:11px;line-height:1.2}.focusTable th,.focusTable td{padding:3px 4px;border-bottom:1px solid #e7eef1;text-align:left;vertical-align:middle}.focusTable th{font-weight:800;color:#365260;background:#f7fafb}.focusTable th:not(:first-child),.focusTable td:not(:first-child){text-align:right;white-space:nowrap}.focusSubhead{font-weight:800;color:#12364a;margin:6px 0 2px}.focusAreaRow{padding:3px 0 4px;border-bottom:1px solid #edf2f4}.focusAreaRow:last-child{border-bottom:0;padding-bottom:0}.focusAreaRow>b{display:block!important;margin:0 0 1px!important}.focusAreaRow small{display:block;line-height:1.22;color:#415b68}.hourlySummaryGrid>.hourlySummaryBox{margin-bottom:5px}.hourlySummaryBox{padding:7px}.hourlySummaryGrid{column-gap:5px}.hourlySummaryHero{padding:8px;margin:5px 0}.hourlySummaryNote{margin:5px 0}
