.account-dialog{box-sizing:border-box;width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #00d5ea;border-radius:16px;padding:24px;color:#012457;background:#fff;font:14px Poppins,Arial,sans-serif;box-shadow:0 16px 64px #000a1d50;}
.account-dialog::backdrop{background:#000a1d88;}
.account-dialog h2{font-size:20px;margin:4px 30px 16px 0;}
.account-dialog p{line-height:1.5;}
.account-dialog label{display:flex;flex-direction:column;gap:6px;margin:14px 0;}
.account-dialog input,.account-dialog select,.account-dialog textarea{box-sizing:border-box;min-width:0;width:100%;font:16px Arial,sans-serif;color:#012457;padding:12px;border:1px solid #82cbd3;border-radius:8px;}
.account-dialog button{min-height:44px;border:1px solid #00bacd;border-radius:8px;padding:10px 14px;background:#eaffff;color:#012457;font:inherit;cursor:pointer;}
.account-dialog button:disabled{opacity:.6;cursor:wait;}
.account-dialog .account-close{position:absolute;right:12px;top:10px;font-size:22px;padding:0;width:40px;border:0;background:none;}
.account-dialog .account-primary{width:100%;background:#012457;color:white;font-weight:600;}
.account-dialog .account-switch{display:block;width:100%;margin-top:12px;background:white;}
.account-dialog .account-password-link{display:block;min-height:0;margin:16px 0;padding:0;border:0;background:none;color:#047f88;text-decoration:underline;font-weight:600;}
.account-hint{font-size:12px;}.account-error{color:#a12b00;}.account-dialog .account-success{color:#08734f;}
.contact-intro a{color:#047f88;font-weight:600;}
.contact-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:#40556b;font-weight:600;}
.contact-divider::before,.contact-divider::after{content:"";height:1px;flex:1;background:#b8dfe3;}
.contact-message-field{position:relative;display:block;}
.contact-form textarea{resize:vertical;min-height:120px;padding-bottom:30px;}
.contact-message-limit{position:absolute;right:10px;bottom:9px;padding:2px 4px;background:#fff;color:#40556b;font-size:11px;line-height:1;pointer-events:none;}
.account-place{display:flex;align-items:center;gap:10px;width:100%;text-align:left;margin:8px 0;}
.account-place-marker{display:grid;flex:0 0 24px;width:24px;height:24px;place-items:center;}
.point-coordinates{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.point-picker-notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:3000;background:#fff;border:1px solid #00d5ea;border-radius:12px;padding:16px;max-width:calc(100vw - 32px);color:#012457;}
.point-picker-notice button{min-height:44px;background:#eaffff;border:1px solid #00bacd;border-radius:8px;padding:8px;}
.primary-nav{gap:14px;flex-wrap:wrap;}
.spot-description{font-size:12px;white-space:pre-wrap;margin:0 0 16px;}
@media(min-width:721px){.primary-nav a,.primary-nav button{min-height:32px;}.site-header{gap:32px;}}
.header-actions{position:relative;align-items:flex-start;}
.header-actions #show-favourites{color:#00d5ea;}
.header-actions #show-favourites .favourites-star{fill:transparent;transition:fill .15s ease;}
.header-actions #show-favourites.has-favourites .favourites-star{fill:currentColor;}
.account-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:visible;}
#account-display-name{font:9px/1.2 Poppins,Arial,sans-serif;max-width:58px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:white;}
.add-point-icon{display:flex;align-items:center;justify-content:center;background:#0c3765;}
.site-header .menu-toggle{display:block;}
.account-nav{position:absolute;right:14px;top:66px;z-index:5;display:flex;flex-direction:column;min-width:210px;padding:10px;background:#012457;border:1px solid #00d5ea;border-radius:12px;box-shadow:0 10px 26px #000a1d40;}
.site-header:has(#menu-toggle[aria-expanded="true"]){z-index:2100;}
.account-nav[hidden]{display:none;}
.account-nav a,.account-nav button{display:flex;align-items:center;gap:10px;text-align:left;background:none;color:white;border:0;text-decoration:none;font:13px Poppins,Arial,sans-serif;padding:12px;min-height:44px;cursor:pointer;}
.account-nav-icon{flex:0 0 18px;width:18px;height:18px;color:#00d5ea;}
.account-nav a:hover,.account-nav button:hover{background:#0c3765;border-radius:6px;}
@media(min-width:721px){
 .controls{transition:left .2s ease,width .2s ease,transform .2s ease;}
 .site-header:has(#menu-toggle[aria-expanded="true"]) + .controls{left:24px;width:calc(100% - 290px);transform:none;z-index:2200;}
}
@media(max-width:720px){
 .site-header{height:124px;--header-height:124px;}
 :root{--header-height:124px;}
 .site-header .primary-nav{display:flex;position:absolute;top:78px;left:10px;right:10px;min-width:0;max-height:none;flex-direction:row;flex-wrap:nowrap;gap:18px;overflow-x:auto;padding:0;background:none;border:0;box-shadow:none;}
 .site-header .primary-nav a,.site-header .primary-nav button{font-size:11px;min-height:34px;flex:none;}
 .header-actions{gap:0;}.header-action{width:36px;}
}
.mobile-app{--header-height:124px;}
.mobile-app .site-header{height:124px;}
.mobile-app .header-action{width:36px;}
.mobile-app .site-header .primary-nav{display:flex;position:absolute;top:78px;left:10px;right:10px;min-width:0;max-height:none;flex-direction:row;flex-wrap:nowrap;gap:18px;overflow-x:auto;padding:0;background:none;border:0;box-shadow:none;}
.mobile-app .primary-nav a,.mobile-app .primary-nav button{font-size:11px;min-height:34px;flex:none;}
.mobile-app .controls{top:112px;}
.mobile-app .map-status.location-notice{top:220px;}
.mobile-app.filters-collapsed .map-status.location-notice{top:136px;}

/* Keep filters below the visible fishing navigation on narrow screens. */
@media(max-width:720px){.controls{top:124px;}.map-status.location-notice{top:244px;}.leaflet-top.leaflet-left{top:180px;}.site-header .primary-nav button{height:34px;width:auto;}}
.mobile-app .controls{top:124px;}
.mobile-app .map-status.location-notice{top:244px;}
.mobile-app .primary-nav button{height:34px;width:auto;}
.mobile-app.filters-collapsed .map-status.location-notice{top:136px;}

/* One consistent icon-button treatment for the header shortcuts. */
.site-header .header-actions{gap:6px;align-items:flex-start;}
.site-header .header-actions .header-action{position:relative;display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:0;background:transparent;color:#00d5ea;line-height:1;}
.site-header .header-actions .header-action:hover,.site-header .header-actions .header-action[aria-expanded="true"]{background:transparent;color:#7cf5ff;}
.site-header .header-actions .header-action:focus-visible{outline:2px solid #00d5ea;outline-offset:3px;}
.site-header .header-actions .header-action > svg{display:block;flex:none;width:24px;height:24px;}
.site-header .header-actions .header-action > .favourites-logo{width:24px;height:24px;}
.site-header .header-actions #account-display-name{position:absolute;top:calc(100% + 3px);left:50%;transform:translateX(-50%);max-width:62px;}
.mobile-app .site-header .header-actions{gap:4px;}
.mobile-app .site-header .header-actions .header-action{width:40px;height:40px;}
@media(max-width:720px){.site-header .header-actions{gap:4px;}.site-header .header-actions .header-action{width:40px;height:40px;}}
@media(max-width:360px){.site-header .brand,.site-header .brand img{width:130px;height:62px;}.site-header .header-actions .header-action,.mobile-app .site-header .header-actions .header-action{width:36px;height:36px;}}

/* Keep the primary navigation identical on map and information pages. */
@media(max-width:720px){
 :root{--header-height:140px;}
 body:not(.licensing-page) .site-header,.mobile-app .site-header{height:auto;min-height:140px;flex-wrap:wrap;align-content:flex-start;gap:0;padding-bottom:18px;}
 .site-header .header-actions,.mobile-app .site-header .header-actions{position:absolute;top:4px;right:12px;margin:0;}
 body:not(.licensing-page) .site-header .primary-nav,.mobile-app .site-header .primary-nav{display:flex;position:static;flex-direction:row;flex-wrap:wrap;gap:20px;width:100%;min-width:0;padding:0 8px;background:none;border:0;border-radius:0;box-shadow:none;overflow:visible;}
 body:not(.licensing-page) .site-header .primary-nav a,.mobile-app .site-header .primary-nav a{min-height:44px;font-size:12px;}
 body:not(.licensing-page) .controls,.mobile-app .controls{top:140px;}
 body:not(.licensing-page) .map-status.location-notice,.mobile-app .map-status.location-notice{top:260px;}
 body:not(.licensing-page) .leaflet-top.leaflet-left,.mobile-app .leaflet-top.leaflet-left{top:196px;}
}

@media(min-width:721px){
 .site-header{gap:48px;}
 .site-header .primary-nav{gap:26px;flex-wrap:nowrap;padding-top:0;}
 .site-header .primary-nav a{min-height:44px;}
 .site-header .header-actions{padding-top:0;}
}
