@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@1,600&display=swap');
:root{--ink:#103c43;--deep:#082f39;--water:#1c8192;--aqua:#72c7c2;--cream:#f4f0e6;--paper:#fffdf7;--orange:#e77b45;--line:rgba(11,60,73,.13);--shadow:0 24px 70px rgba(5,39,48,.22)}
*{box-sizing:border-box}html,body{height:100%;margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--deep)}button,input{font:inherit}button{cursor:pointer}.shell,.map-wrap,#map,main{height:100%}.topbar{height:78px;position:fixed;z-index:1000;left:0;right:0;top:0;display:flex;align-items:center;justify-content:space-between;padding:0 32px;color:white;background:linear-gradient(180deg,rgba(4,37,45,.92),rgba(4,37,45,.64),transparent)}.brand{color:white;text-decoration:none;display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border:1px solid rgba(255,255,255,.28);border-radius:50%;display:grid;place-items:center;font:700 28px Georgia;color:var(--aqua)}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.02em}.brand small{opacity:.65;font-size:11px;margin-top:2px}.top-actions{display:flex;gap:9px}.ghost,.round{color:white;background:rgba(4,37,45,.28);border:1px solid rgba(255,255,255,.27);backdrop-filter:blur(8px)}.ghost{padding:9px 16px;border-radius:20px}.round{width:38px;height:38px;border-radius:50%;font-weight:700}.map-wrap{position:relative;overflow:hidden}.leaflet-control-container{display:none}.leaflet-tile-pane{filter:saturate(.65) sepia(.12) contrast(.95)}.wash{position:absolute;inset:0;z-index:401;pointer-events:none;background:radial-gradient(circle at 68% 48%,transparent 0 25%,rgba(3,42,51,.08) 56%,rgba(3,42,51,.45) 100%)}.intro{position:absolute;z-index:500;left:7vw;top:50%;transform:translateY(-46%);width:min(550px,42vw);color:white;text-shadow:0 2px 18px rgba(0,25,32,.28);transition:.5s}.intro.hidden{opacity:0;transform:translate(-30px,-46%);pointer-events:none}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.2em;margin:0 0 12px}.intro .eyebrow{color:#a4ddd7}.intro h1{font-size:clamp(42px,5vw,72px);line-height:.98;letter-spacing:-.045em;margin:0 0 22px}.intro h1 em{font-family:'Playfair Display',serif;color:#b9e2d5;font-weight:600}.intro>p:not(.eyebrow){max-width:470px;line-height:1.6;opacity:.86}.primary,.secondary{border:0;border-radius:28px;padding:14px 20px;font-weight:700}.primary{background:var(--orange);color:white;margin-top:15px;box-shadow:0 12px 30px rgba(211,91,41,.35)}.primary span,.secondary span{margin-left:17px}.map-controls{position:absolute;z-index:600;right:28px;top:92px;display:flex;flex-direction:column;box-shadow:0 8px 24px rgba(0,30,38,.15)}.map-controls button{width:40px;height:40px;border:0;background:rgba(255,253,247,.94);color:var(--ink);font-size:22px}.map-controls button+button{border-top:1px solid var(--line)}.explore-btn{position:absolute;z-index:600;left:30px;bottom:28px;border:0;border-radius:28px;background:var(--paper);color:var(--ink);font-weight:700;padding:14px 21px;box-shadow:var(--shadow)}.explore-btn span{margin-right:10px}.club-list{position:absolute;z-index:800;left:18px;top:18px;bottom:18px;width:390px;background:rgba(255,253,247,.97);border-radius:22px;padding:24px;box-shadow:var(--shadow);transform:translateX(calc(-100% - 30px));transition:.45s cubic-bezier(.2,.8,.2,1);overflow:hidden;display:flex;flex-direction:column}.club-list.open{transform:translateX(0)}.list-head{display:flex;justify-content:space-between;align-items:flex-start}.list-head h2{font-size:27px;margin:0 0 18px}.close-list,.profile-close,.modal-card>button{border:0;background:none;font-size:25px;color:var(--ink)}.search{border:1px solid var(--line);border-radius:12px;padding:11px 13px;display:flex;gap:9px;background:white}.search input{border:0;outline:0;background:transparent;width:100%}.filters{display:flex;gap:7px;margin:13px 0}.filter{border:1px solid var(--line);background:transparent;border-radius:18px;padding:7px 10px;font-size:11px}.filter.active{background:var(--deep);color:white}.clubs{overflow:auto;margin:0 -8px;padding:0 8px}.club-card{width:100%;display:flex;text-align:left;gap:12px;padding:12px 8px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink)}.club-card:hover{background:rgba(114,199,194,.12)}.club-icon{flex:0 0 38px;height:38px;border-radius:50%;background:#d8eee8;display:grid;place-items:center;font-size:17px}.club-card strong,.club-card small{display:block}.club-card strong{font-size:13px;margin:2px 0 4px}.club-card small{font-size:10px;opacity:.58}.club-card .arrow{margin-left:auto;align-self:center}.fish-marker{background:none;border:0}.pin{width:34px;height:34px;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);background:var(--paper);border:3px solid var(--water);box-shadow:0 7px 16px rgba(0,40,49,.28);display:grid;place-items:center}.pin span{transform:rotate(45deg);font-size:14px}.pin:hover{background:#dcf5ef}.fisher-marker{background:none!important;border:0!important}.fisher{width:64px;height:64px;filter:drop-shadow(0 8px 8px rgba(0,35,43,.28));animation:bob .45s ease-in-out infinite alternate}.fisher.arrived{animation:celebrate .5s ease 2}@keyframes bob{to{transform:translateY(-5px) rotate(2deg)}}@keyframes celebrate{50%{transform:translateY(-12px) rotate(-8deg)}}.travel-status{position:absolute;z-index:700;bottom:26px;left:50%;transform:translate(-50%,120px);opacity:0;background:var(--deep);color:white;border-radius:15px;padding:12px 14px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow);transition:.35s}.travel-status.show{transform:translate(-50%,0);opacity:1}.travel-status small,.travel-status strong{display:block}.travel-status small{font-size:8px;letter-spacing:.15em;color:var(--aqua)}.travel-status strong{font-size:12px;margin-top:2px}.travel-status button{border:0;border-left:1px solid rgba(255,255,255,.16);background:transparent;color:white;font-size:10px;padding:9px}.pulse{width:10px;height:10px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 6px rgba(231,123,69,.14);animation:pulse 1s infinite}@keyframes pulse{50%{box-shadow:0 0 0 10px rgba(231,123,69,0)}}.profile{position:absolute;z-index:850;right:18px;top:18px;bottom:18px;width:min(470px,calc(100vw - 36px));background:var(--paper);border-radius:22px;box-shadow:var(--shadow);transform:translateX(calc(100% + 30px));transition:.48s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;overflow:hidden}.profile.open{transform:translateX(0)}.profile-close{position:absolute;right:16px;top:13px;z-index:2}.profile-hero{padding:28px 28px 22px;background:linear-gradient(135deg,#cbe7df,#eef1db);display:flex;gap:16px;align-items:center}.profile-badge{width:70px;height:70px;border-radius:50%;background:var(--deep);color:white;display:grid;place-items:center;font-weight:700;border:5px solid rgba(255,255,255,.55)}.profile-hero h2{margin:0;font-size:24px;line-height:1.1;padding-right:20px}.profile-hero p:last-child{font-size:12px;margin:7px 0 0;opacity:.65}.profile-tabs{display:flex;padding:0 20px;border-bottom:1px solid var(--line);overflow:auto}.tab{border:0;background:none;padding:15px 10px;font-size:11px;color:var(--ink);white-space:nowrap}.tab.active{font-weight:700;color:var(--water);box-shadow:inset 0 -2px var(--water)}.profile-body{padding:24px 28px;overflow:auto;flex:1}.profile-body h3{font-size:18px;margin:0 0 10px}.profile-body p{font-size:13px;line-height:1.65;color:#47656a}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.stat{border:1px solid var(--line);border-radius:12px;padding:13px}.stat small,.stat strong{display:block}.stat small{font-size:9px;letter-spacing:.09em;opacity:.55}.stat strong{font-size:13px;margin-top:5px}.water-chip{display:inline-block;background:#dff1ec;border-radius:18px;padding:8px 11px;margin:4px 3px 4px 0;font-size:11px}.notice{border-left:3px solid var(--orange);background:#fff5ea;padding:12px 13px;margin:12px 0;border-radius:0 9px 9px 0;font-size:12px}.profile-foot{padding:15px 28px 20px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.secondary{background:var(--deep);color:white;padding:11px 15px;font-size:11px}.source-link{color:var(--water);font-size:10px;text-decoration:none}.modal{position:fixed;z-index:1500;inset:0;background:rgba(2,27,34,.6);display:none;place-items:center;padding:20px;backdrop-filter:blur(7px)}.modal.open{display:grid}.modal-card{width:min(520px,100%);background:var(--paper);padding:35px;border-radius:22px;position:relative;box-shadow:var(--shadow)}.modal-card>button{position:absolute;right:15px;top:12px}.modal-card h2{font-size:28px;margin-top:0}.modal-card p{font-size:13px;line-height:1.7;color:#47656a}
@media(max-width:760px){.topbar{height:66px;padding:0 16px}.ghost{display:none}.intro{left:24px;top:auto;bottom:95px;transform:none;width:calc(100% - 48px)}.intro.hidden{transform:translateY(20px)}.intro h1{font-size:42px}.intro>p:not(.eyebrow){font-size:13px}.map-controls{right:14px;top:78px}.club-list{left:0;top:auto;bottom:0;width:100%;height:78%;border-radius:22px 22px 0 0;transform:translateY(105%)}.club-list.open{transform:translateY(0)}.profile{right:0;top:auto;bottom:0;width:100%;height:82%;border-radius:22px 22px 0 0;transform:translateY(105%)}.profile.open{transform:translateY(0)}.explore-btn{left:16px;bottom:16px}.travel-status{bottom:16px}.profile-hero{padding-top:24px}.profile-badge{width:58px;height:58px}.brand small{display:none}}

.pin.alliance{border-color:#2d8b68}.pin.independent{border-color:#d59b2d;box-shadow:0 0 0 4px rgba(213,155,45,.22),0 7px 16px rgba(0,40,49,.28)}.pin.other{border-color:#73858a}.pin.type-lake span{color:#247da0}.pin.type-river span{color:#157d91;font-size:18px}.pin.type-mixed span{color:#725fa4;font-size:17px}.club-icon.alliance{box-shadow:inset 0 0 0 2px #2d8b68}.club-icon.independent{box-shadow:inset 0 0 0 2px #d59b2d}.club-icon.other{box-shadow:inset 0 0 0 2px #73858a}.map-legend{position:absolute;z-index:610;right:28px;bottom:28px;width:178px;background:rgba(255,253,247,.94);border:1px solid rgba(11,60,73,.12);border-radius:14px;padding:12px 14px;box-shadow:0 10px 30px rgba(0,35,43,.14);backdrop-filter:blur(8px)}.map-legend strong,.map-legend span{display:block}.map-legend strong{font-size:10px;letter-spacing:.12em;margin-bottom:8px}.map-legend span{font-size:9px;margin:6px 0;color:#355b61}.map-legend hr{border:0;border-top:1px solid rgba(11,60,73,.12);margin:8px 0}.legend-symbol{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:6px;border-radius:50%;background:#dff1ec;font-style:normal}.legend-symbol.lake{color:#247da0}.legend-symbol.river{color:#157d91;font-size:15px}.legend-symbol.mixed{color:#725fa4}.legend-ring{display:inline-block;width:13px;height:13px;border:3px solid;border-radius:50%;margin:0 9px 0 2px;vertical-align:-2px}.legend-ring.alliance{border-color:#2d8b68}.legend-ring.independent{border-color:#d59b2d}.legend-ring.other{border-color:#73858a}.legend-boundary{display:inline-block;width:18px;height:12px;margin:0 7px 0 1px;vertical-align:-2px;border:2px solid #4a9fbe;border-radius:3px;background:rgba(121,199,223,.28)}@media(max-width:760px){.map-legend{right:14px;bottom:76px;width:160px;padding:10px}.map-legend span{font-size:8px}}
.profile-links{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.profile-link{display:inline-flex;align-items:center;padding:9px 12px;border:1px solid #b9d5d0;border-radius:18px;background:#edf7f4;font-weight:700}.facebook-link{background:#eef3ff;border-color:#c4d2ef;color:#2857a4}
.water-pending{background:#f2eee2;border:1px dashed #b8aa82}.water-approximate{background:#e4f2f5;border:1px dashed #168aa0}.water-confirmed{background:#dff1ec;border:1px solid #64ad98}
.mobile-nav{display:none}.data-status{display:inline-flex!important;width:max-content;margin-top:6px;padding:3px 7px;border-radius:10px;font-size:8px!important;font-style:normal;font-weight:700;letter-spacing:.03em}.data-status.verified{background:#dcefe6;color:#247154}.data-status.pending{background:#f3ead7;color:#8a6725}@media(max-width:760px){.mobile-nav{position:fixed;z-index:1400;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));height:62px;display:grid;grid-template-columns:repeat(5,1fr);padding:5px;background:rgba(255,253,247,.96);border:1px solid rgba(11,60,73,.12);border-radius:18px;box-shadow:0 14px 38px rgba(3,35,43,.28);backdrop-filter:blur(14px)}.mobile-nav button,.mobile-nav a{border:0;border-radius:13px;background:transparent;color:#60777a;font-size:9px;font-weight:700;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none}.mobile-nav button span,.mobile-nav a span{font-size:18px;line-height:1}.mobile-nav button.active{background:#0b3c49;color:white}.explore-btn{bottom:86px}.map-legend{bottom:146px}.club-list,.profile{padding-bottom:76px}}
.waters-card{width:min(760px,100%);max-height:88vh;display:flex;flex-direction:column}.water-filters{display:flex;gap:7px;margin:12px 0}.water-filters button{border:1px solid #cbd9d5;background:white;color:#49666a;border-radius:18px;padding:7px 12px;font-size:10px}.water-filters button.active{background:#0b3c49;color:white;border-color:#0b3c49}.public-waters-list{overflow:auto;margin:0 -7px;padding:0 7px}.public-water-row{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid #e0e6e2}.public-water-row>span:nth-child(2){flex:1}.public-water-row strong,.public-water-row small{display:block}.public-water-row strong{font-size:12px}.public-water-row small{font-size:9px;color:#6a8083;margin-top:3px}.public-water-icon{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;background:#dff1ec;color:#16788c}.public-water-icon.backwater{background:#e7eef8;color:#4e6893}.public-water-icon.lake{color:#247da0}.water-status{display:inline-flex;margin-top:6px;padding:3px 7px;border-radius:10px;font-size:8px;font-style:normal;font-weight:700}.water-status.pending{background:#f3ead7;color:#87651f}.water-status.approximate{background:#e3f1f4;color:#176d7b}.water-status.confirmed{background:#dcefe6;color:#247154}.public-water-row>button{border:0;border-radius:16px;background:#0b3c49;color:white;padding:8px 11px;font-size:9px;font-weight:700}.public-water-row>button:disabled{background:#e2e7e4;color:#82918e}
.leaflet-tooltip.club-name-tooltip{
  background:#173d43;
  border:0;
  border-radius:9px;
  box-shadow:0 5px 16px rgba(14,48,53,.22);
  color:#fff;
  font:700 13px/1.25 Inter,system-ui,sans-serif;
  padding:7px 10px;
  white-space:nowrap;
}
.leaflet-tooltip-top.club-name-tooltip:before{border-top-color:#173d43}

/* Čitljiv naslov preko karte uz zadržanu vidljivost podloge */
.intro{
  padding:0;
  border:0;
  background:none;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.intro:before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-20px -24px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(4,37,45,.42),rgba(4,37,45,.25));
  box-shadow:0 14px 36px rgba(0,28,35,.13);
  -webkit-backdrop-filter:blur(6px) saturate(.92);
  backdrop-filter:blur(6px) saturate(.92);
}
@media(max-width:760px){
  .intro:before{
    inset:-14px -16px;
    border-radius:16px;
    background:linear-gradient(135deg,rgba(4,37,45,.46),rgba(4,37,45,.28));
  }
}
.main-nav .admin-link{background:transparent;border-left:0;border-right:0;border-top:0;border-radius:0;backdrop-filter:none}
.profile-badge{width:84px;height:84px;flex:0 0 84px}.profile-badge.has-logo{background:white;overflow:hidden;padding:2px;border-width:4px}.profile-badge.has-logo img{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%;transform:scale(1.3)}
.pin.federation{border-color:#0b3c49;background:#d7edf1;color:#0b3c49;font-weight:800}.club-icon.federation{background:#0b3c49;color:white}.federation-card{margin-bottom:8px;border:1px solid rgba(11,60,73,.2);border-radius:12px;background:#edf6f4}.legend-symbol.federation{background:#0b3c49;color:white;font-weight:800}
@media(max-width:760px){.profile-badge{width:72px;height:72px;flex-basis:72px}.profile-hero{gap:13px}.profile-hero h2{font-size:21px}}
.report-fab{position:fixed;z-index:1450;right:24px;bottom:24px;border:0;border-radius:24px;background:#e77b45;color:white;padding:12px 17px;font-weight:700;box-shadow:0 10px 28px rgba(86,39,19,.28)}
.report-form{display:grid;gap:13px}.report-form label{display:grid;gap:6px;font-size:11px;font-weight:700}.report-form input,.report-form textarea{width:100%;border:1px solid #ccd8d4;border-radius:9px;padding:10px}.report-form .secondary{width:max-content}.report-form [role=status]{min-height:20px;margin:0}
.photo-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0 18px}.photo-gallery img{display:block;width:100%;height:130px;object-fit:cover;border-radius:12px;background:#dfe8e4}.profile-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.directions-btn,.directions-link,.report-inline{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:18px;background:#0b3c49;color:white;padding:9px 12px;text-decoration:none;font-size:10px;font-weight:700}.report-inline{background:#e77b45}.directions-link{background:#2d8b68;margin-left:-5px}.public-water-row{flex-wrap:wrap}
@media(max-width:760px){.report-fab{right:16px;bottom:86px;font-size:10px}.photo-gallery img{height:105px}}
.legend-toggle{display:none!important}
@media(max-width:760px){
  .topbar{height:64px;padding:0 13px;gap:8px}.brand{min-width:0;gap:8px}.brand-mark{width:38px;height:38px;flex:0 0 38px}.brand strong{font-size:13px;line-height:1.15}.round{width:38px;height:38px;flex:0 0 38px}
  .intro{left:18px;right:18px;bottom:92px;width:auto;padding:20px!important}.intro:before{inset:0!important}.intro h1{font-size:34px;line-height:.98;margin:8px 0 13px}.intro>p:not(.eyebrow){font-size:12px;line-height:1.45;margin:0}.intro .primary{width:100%;margin-top:14px;padding:13px 16px}
  body:not(.map-active) .map-controls{display:none}
  body:not(.map-active) .map-legend{display:none}
  body:not(.map-active) .explore-btn{display:none}
  body.map-active .map-controls{display:flex;top:76px;right:12px}
  body.map-active .map-controls select{top:88px!important;width:145px!important;font-size:11px}
  body.map-active .legend-toggle{display:block!important;position:absolute;right:0;top:176px;width:auto!important;height:auto!important;padding:9px 12px;border-radius:18px!important;border:0!important;background:#0b3c49!important;color:white!important;font-size:9px!important;font-weight:700}
  body.map-active .map-legend{display:none;right:12px;bottom:82px;width:min(250px,calc(100vw - 24px));max-height:55vh;overflow:auto}
  body.map-active.legend-open .map-legend{display:block}
  .report-fab{display:none}
  body.map-active .report-fab{display:block}
}
