:root{
  --bg:#eef4fb;--surface:#ffffff;--surface2:#dce9f7;--ink:#10243e;
  --muted:#63758b;--accent:#1769aa;--accent2:#d29a2e;--danger:#a83832;
  --shadow:0 12px 30px rgba(16,36,62,.10);--radius:20px
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);padding-bottom:90px}
button,input,select,textarea{font:inherit}
button{border:0;border-radius:14px;padding:.85rem 1rem;background:var(--accent);color:white;font-weight:750;cursor:pointer}
button:active{transform:translateY(1px)}
button.ghost,.file-button{background:var(--surface2);color:var(--ink)}
button.danger{background:var(--danger)}
.hidden{display:none!important}
.app-header{position:sticky;top:0;z-index:500;display:flex;justify-content:space-between;align-items:center;padding:calc(14px + env(safe-area-inset-top)) 18px 14px;background:rgba(238,243,239,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(16,36,62,.08)}
h1,h2,h3,p{margin-top:0}
h1{font-size:1.35rem;margin-bottom:0}
h2{font-size:1.35rem;margin-bottom:.3rem}
h3{margin-bottom:.5rem}
.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-size:.68rem;font-weight:850;color:var(--accent);margin-bottom:.25rem}
main{max-width:820px;margin:0 auto;padding:16px}
.view{display:none}.view.active{display:block}
.hero{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px;border-radius:28px;background:linear-gradient(145deg,#0c2f57,#1769aa);color:white;box-shadow:var(--shadow);margin-bottom:16px}
.hero .eyebrow{color:#c8e3fb}.hero p:last-child{color:#dbeeff;margin-bottom:0}
.battery-ring{width:92px;height:92px;flex:0 0 92px;border-radius:50%;border:8px solid rgba(255,255,255,.18);display:grid;place-content:center;text-align:center;box-shadow:inset 0 0 0 3px var(--accent2)}
.battery-ring strong{font-size:1.45rem}.battery-ring span{font-size:.68rem;color:#dbeeff}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.stats-grid article{background:var(--surface);padding:14px 10px;border-radius:18px;box-shadow:var(--shadow);text-align:center}
.stats-grid strong{font-size:1.25rem;display:block}.stats-grid span{font-size:.72rem;color:var(--muted)}
.card{background:var(--surface);padding:18px;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.quick-actions button:nth-child(even){background:var(--surface2);color:var(--ink)}
#map{height:61vh;min-height:420px;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;background:#c9dced}
.hint,.empty{color:var(--muted);font-size:.86rem}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.form-grid label,.filters label{font-size:.82rem;font-weight:760;color:var(--muted);display:flex;flex-direction:column;gap:6px}
input,select,textarea{display:block;width:100%;min-width:0;max-width:100%;border:1px solid #c5d5e7;border-radius:12px;background:#f8fbff;color:var(--ink);padding:.78rem .82rem;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(23,105,170,.12)}
textarea{resize:vertical}
.full{grid-column:1/-1}
fieldset{border:1px solid #c5d5e7;border-radius:14px;padding:10px 12px}
legend{color:var(--muted);font-size:.82rem;font-weight:760}
.check{display:inline-flex!important;flex-direction:row!important;align-items:center;margin-right:12px;color:var(--ink)!important}
.check input{width:auto}
.form-actions{display:flex;gap:10px;flex-wrap:wrap}
.file-button{display:inline-flex;align-items:center;border-radius:14px;padding:.85rem 1rem;font-weight:750;cursor:pointer}
.file-button input{display:none}
.stack{display:grid;gap:12px}
.item-card{background:var(--surface);border-radius:18px;padding:15px;box-shadow:var(--shadow)}
.item-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.item-card h3{font-size:1.05rem;margin-bottom:.2rem}
.item-card p{color:var(--muted);font-size:.86rem;margin-bottom:.55rem}
.badges{display:flex;gap:6px;flex-wrap:wrap;margin:.55rem 0}
.badge{font-size:.72rem;font-weight:800;background:var(--surface2);padding:.32rem .55rem;border-radius:999px}
.item-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.item-actions button{padding:.55rem .72rem;font-size:.78rem}
.item-actions .delete{background:#f7e2e2;color:var(--danger)}
.catch-photo{width:86px;height:86px;object-fit:cover;border-radius:14px;background:var(--surface2)}
.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;font-size:.82rem;color:var(--muted)}
.meta-grid strong{color:var(--ink)}
.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:700;display:grid;grid-template-columns:repeat(6,1fr);padding:8px 7px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border-top:1px solid rgba(16,36,62,.1)}
.bottom-nav button{background:transparent;color:var(--muted);padding:5px 2px;font-size:.64rem;border-radius:12px}
.bottom-nav button span{display:block;font-size:1.25rem;line-height:1.1}
.bottom-nav button.active{color:var(--accent);background:var(--surface2)}
.toast{position:fixed;left:50%;bottom:100px;z-index:1000;transform:translateX(-50%) translateY(20px);opacity:0;background:var(--ink);color:white;padding:.75rem 1rem;border-radius:999px;box-shadow:var(--shadow);transition:.25s;pointer-events:none;white-space:nowrap;max-width:90vw;overflow:hidden;text-overflow:ellipsis}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.danger-zone{border:1px solid #ecc4c2}
@media(max-width:620px){
  main{padding:12px}.form-grid,.filters{grid-template-columns:1fr}.full{grid-column:auto}
  .stats-grid{grid-template-columns:repeat(2,1fr)}.hero{align-items:flex-start}
  .battery-ring{width:78px;height:78px;flex-basis:78px;border-width:6px}
  .bottom-nav button{font-size:.58rem}.bottom-nav button span{font-size:1.05rem}
  #map{height:58vh;min-height:360px}
}
.map-fallback{height:100%;min-height:360px;display:grid;place-content:center;text-align:center;padding:28px;background:var(--surface);color:var(--ink)}
.map-fallback p{max-width:420px;color:var(--muted)}


/* V4: iPad-/Safari-Korrekturen */
.form-grid > *,
.filters > *,
.form-grid label,
.filters label,
fieldset {
  min-width: 0;
  max-width: 100%;
}
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="number"] {
  inline-size: 100%;
  min-inline-size: 0;
  max-inline-size: 100%;
  overflow: hidden;
}
.map-status {
  position:absolute;
  left:12px;
  bottom:12px;
  z-index:450;
  max-width:calc(100% - 24px);
  padding:.48rem .68rem;
  border-radius:999px;
  background:rgba(16,36,62,.86);
  color:#fff;
  font-size:.72rem;
  font-weight:750;
  box-shadow:var(--shadow);
  pointer-events:none;
}
#map { position:relative; }

@media (max-width:1024px) {
  .form-grid,
  .filters {
    grid-template-columns:minmax(0,1fr);
  }
  .full {
    grid-column:auto;
  }
}


/* V5 – zwingend einspaltige Formulare auf allen Bildschirmgrössen */
.form-grid,
.filters {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
}

.form-grid > *,
.filters > *,
.form-grid label,
.filters label,
.form-grid fieldset,
.form-grid .full {
  grid-column: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden;
}

input,
select,
textarea,
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="number"] {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  inline-size: 100% !important;
  min-inline-size: 0 !important;
  max-inline-size: 100% !important;
}

input[type="date"],
input[type="time"],
input[type="datetime-local"] {
  min-height: 58px;
}

.offline-map-note {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  margin-top: .7rem;
  padding: .72rem .8rem;
  border-radius: 14px;
  background: #eaf4ff;
  color: #31506f;
  font-size: .82rem;
  line-height: 1.35;
}

.offline-map-note strong {
  color: #294763;
}

.leaflet-popup-content a {
  display: inline-block;
  margin-top: .55rem;
  padding: .48rem .65rem;
  border-radius: 10px;
  background: #1769aa;
  color: #fff;
  font-weight: 750;
  text-decoration: none;
}


/* V6 – robuste Datum-/Zeitfelder für iPad Safari */
.picker-shell {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  height: 58px;
  overflow: hidden;
  border: 1px solid #c5d5e7;
  border-radius: 12px;
  background: #f8fbff;
}

.picker-shell:focus-within {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(23,105,170,.12);
}

.picker-display {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
  padding: .78rem 2.8rem .78rem .82rem;
  color: var(--ink);
  background: transparent;
  font-size: 1rem;
  font-weight: 650;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
}

.picker-display.is-placeholder {
  color: #8c9bac;
  font-weight: 600;
}

.picker-shell::after {
  content: "▾";
  position: absolute;
  right: .9rem;
  top: 50%;
  transform: translateY(-52%);
  color: var(--accent);
  font-size: 1rem;
  font-weight: 900;
  pointer-events: none;
}

.native-picker-overlay,
input.native-picker-overlay,
input[type="date"].native-picker-overlay,
input[type="time"].native-picker-overlay,
input[type="datetime-local"].native-picker-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 12px !important;
  opacity: 0 !important;
  background: transparent !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  cursor: pointer;
}

@media (hover:hover) and (pointer:fine) {
  .picker-shell:hover {
    border-color: #8eb3d3;
  }
}


/* V7 – unterscheidbare Kartenmarker */
.custom-leaflet-icon {
  background: transparent !important;
  border: 0 !important;
}

.marker-pin {
  width: 40px;
  height: 40px;
  border: 3px solid #ffffff;
  border-radius: 50% 50% 50% 7px;
  transform: rotate(-45deg);
  display: grid;
  place-items: center;
  box-shadow: 0 7px 15px rgba(16,36,62,.28);
}

.marker-pin span {
  display: block;
  transform: rotate(45deg);
  font-size: 18px;
  line-height: 1;
}

.marker-fishing {
  background: #1670b8;
}

.marker-launch {
  background: #d48228;
}

.marker-own {
  background: #1769aa;
}

.map-legend {
  display: flex;
  align-items: center;
  gap: .75rem;
  flex-wrap: wrap;
  margin-top: .72rem;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 750;
}

.map-legend span {
  display: inline-flex;
  align-items: center;
  gap: .38rem;
}

.legend-dot {
  width: 13px;
  height: 13px;
  border: 2px solid #ffffff;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(16,36,62,.22);
}

.legend-dot.fishing { background: #1670b8; }
.legend-dot.launch { background: #d48228; }
.legend-dot.own { background: #1769aa; }


/* V8 – echte georeferenzierte Karte */
.map-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .65rem;
}

.map-source-label {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: .42rem .68rem;
  border-radius: 999px;
  background: var(--surface2);
  color: var(--ink);
  font-size: .75rem;
  font-weight: 800;
}

.map-source-label.loading::before {
  content: "";
  width: 12px;
  height: 12px;
  margin-right: .45rem;
  border: 2px solid rgba(23,105,170,.25);
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: map-spin .8s linear infinite;
}

.map-source-label.error {
  background: #f7e2e2;
  color: var(--danger);
}

.map-diagnostic-link {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: .42rem .68rem;
  border-radius: 999px;
  background: var(--surface);
  color: var(--accent);
  border: 1px solid #c5d5e7;
  font-size: .75rem;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

@keyframes map-spin {
  to { transform: rotate(360deg); }
}

#map {
  background: #dce8f4;
}

.leaflet-tile {
  image-rendering: auto;
}

.map-fatal-error {
  position: absolute;
  inset: 0;
  z-index: 480;
  display: grid;
  place-content: center;
  padding: 1.25rem;
  text-align: center;
  background: rgba(238,243,239,.96);
}

.map-fatal-error h3 {
  margin-bottom: .4rem;
}

.map-fatal-error p {
  max-width: 34rem;
  color: var(--muted);
}

.map-fatal-error a {
  display: inline-flex;
  justify-content: center;
  margin-top: .5rem;
  padding: .75rem 1rem;
  border-radius: 12px;
  background: var(--accent);
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}

.leaflet-control-attribution {
  font-size: 10px;
}

@media (max-width: 520px) {
  .map-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .map-source-label,
  .map-diagnostic-link {
    justify-content: center;
  }
}


/* V9 – fokussierter Kartenausschnitt */
.map-toolbar-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .45rem;
  flex-wrap: wrap;
}

.map-small-button {
  min-height: 34px;
  padding: .42rem .68rem;
  border: 1px solid #c5d5e7;
  border-radius: 999px;
  background: var(--surface);
  color: var(--accent);
  font-size: .75rem;
  font-weight: 800;
}

.map-small-button:active {
  transform: translateY(1px);
}

@media (max-width: 700px) {
  .map-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .map-toolbar-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .map-diagnostic-link {
    grid-column: 1 / -1;
  }

  .map-small-button,
  .map-diagnostic-link {
    justify-content: center;
    text-align: center;
  }
}


/* V10 – Bootsmodus */
.bottom-nav {
  grid-template-columns: repeat(7, 1fr);
}

.quick-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.quick-actions button:first-child {
  grid-column: 1 / -1;
  min-height: 58px;
  background: linear-gradient(145deg, #10243e, #1769aa);
}

.boat-live-card {
  padding: 20px;
  margin-bottom: 16px;
  border-radius: 24px;
  background: linear-gradient(145deg, #10243e, #1769aa);
  color: #fff;
  box-shadow: var(--shadow);
}

.boat-live-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 14px;
}

.boat-live-head > strong {
  font-variant-numeric: tabular-nums;
  font-size: 1.45rem;
}

.boat-state {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .38rem .65rem;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  font-size: .78rem;
  font-weight: 850;
}

.boat-state.active::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #76c8ff;
  box-shadow: 0 0 0 5px rgba(127,242,170,.15);
}

.boat-state.paused::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #f0c75e;
}

.boat-live-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

.boat-live-grid article {
  min-width: 0;
  padding: 12px 8px;
  border-radius: 16px;
  background: rgba(255,255,255,.11);
  text-align: center;
}

.boat-live-grid strong {
  display: block;
  font-size: 1.05rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.boat-live-grid span {
  display: block;
  margin-top: .2rem;
  color: #dbeeff;
  font-size: .68rem;
}

.boat-gps-message {
  margin: 12px 0 0;
  color: #dbeeff;
  font-size: .8rem;
}

.boat-primary-button,
.boat-stop-button {
  width: 100%;
  min-height: 58px;
  margin-top: 14px;
  font-size: 1rem;
}

.boat-position {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e1e8e3;
}

.boat-position strong {
  display: block;
  font-variant-numeric: tabular-nums;
}

.boat-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0;
}

.boat-action-grid button {
  min-height: 58px;
}

.boat-end-form {
  margin-top: 6px;
}

.boat-note p {
  margin-bottom: 0;
  color: var(--muted);
  line-height: 1.5;
}

.catch-gps-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px;
  border: 1px solid #c5d5e7;
  border-radius: 14px;
  background: #f5f8f5;
}

.catch-gps-box strong {
  display: block;
  color: var(--ink);
  font-size: .88rem;
  font-variant-numeric: tabular-nums;
}

.legend-catch {
  display: inline-grid;
  place-content: center;
  width: 18px;
  height: 18px;
  border: 2px solid #fff;
  border-radius: 50%;
  color: #fff;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
  box-shadow: 0 2px 6px rgba(16,36,62,.22);
}

.legend-catch.egli { background: #5867a8; }
.legend-catch.hecht { background: #3f7f56; }

.legend-gps {
  width: 14px;
  height: 14px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #1677c8;
  box-shadow: 0 0 0 5px rgba(22,119,200,.18);
}

.catch-map-icon {
  background: transparent !important;
  border: 0 !important;
}

.catch-map-pin {
  display: grid;
  place-content: center;
  width: 34px;
  height: 34px;
  border: 3px solid #fff;
  border-radius: 50%;
  color: #fff;
  font-size: 13px;
  font-weight: 950;
  box-shadow: 0 6px 14px rgba(16,36,62,.28);
}

.catch-map-pin.egli { background: #5867a8; }
.catch-map-pin.hecht { background: #3f7f56; }
.catch-map-pin.other { background: #7b6d62; }

.gps-live-icon {
  background: transparent !important;
  border: 0 !important;
}

.gps-live-dot {
  width: 23px;
  height: 23px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: #1677c8;
  box-shadow:
    0 0 0 8px rgba(22,119,200,.18),
    0 4px 12px rgba(16,36,62,.3);
}

.trip-route-summary {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin-top: .6rem;
}

@media (max-width: 760px) {
  .boat-live-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .catch-gps-box {
    align-items: stretch;
    flex-direction: column;
  }

  .bottom-nav button {
    font-size: .53rem;
  }
}

@media (max-width: 420px) {
  .boat-action-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .bottom-nav button span {
    font-size: .95rem;
  }
}


/* V16 – Angelplan, Filter, Hotzones */
.bottom-nav{grid-template-columns:repeat(8,1fr)}
.filter-strip{display:flex;gap:.45rem;overflow-x:auto;padding:.15rem 0 .65rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.filter-strip::-webkit-scrollbar{display:none}
.filter-strip button,.overlay-actions button{flex:0 0 auto;min-height:36px;padding:.48rem .75rem;border:1px solid #c5d5e7;border-radius:999px;background:#fff;color:#315247;font-size:.76rem;font-weight:850}
.filter-strip button.active,.overlay-actions button.active{background:#1769aa;color:#fff;border-color:#1769aa}
.map-filter-strip{margin-top:.15rem}.overlay-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 .7rem}.overlay-actions button:last-child{background:#d38719;color:#fff;border-color:#d38719}
.legend-fish{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;color:#fff;font-size:.65rem;font-weight:900}.egli-marker{background:#276fa8}.hecht-marker{background:#277b53}.mixed-marker{background:#7a4bb3}
.marker-pin.marker-egli{background:#276fa8}.marker-pin.marker-hecht{background:#277b53}.marker-pin.marker-mixed{background:#7a4bb3}.marker-pin.marker-zander{background:#4d5567}.marker-pin.marker-launch{background:#d38719}.marker-pin.marker-own{background:#315247}
.marker-pin{position:relative}.marker-pin b{position:absolute;right:-7px;top:-7px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#f0c75e;color:#10243e;border:2px solid #fff;font-size:.65rem}.marker-premium{box-shadow:0 0 0 3px rgba(240,199,94,.45),0 8px 18px rgba(0,0,0,.22)}
.boat-position-label,.plan-map-number{background:transparent!important;border:0!important;box-shadow:none!important;color:#10243e!important;font-weight:950!important;font-size:.72rem!important}.plan-map-number{color:#10243e!important}
.plan-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.plan-controls label{font-weight:800;color:var(--muted)}.plan-controls select{margin-top:.35rem}
.plan-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.plan-summary article{background:linear-gradient(145deg,#10243e,#1769aa);color:#fff;border-radius:18px;padding:15px;text-align:center}.plan-summary strong{display:block;font-size:1.25rem}.plan-summary span{font-size:.72rem;opacity:.82}
.plan-heading{margin-top:8px}.plan-card{position:relative;padding-left:54px}.plan-number{position:absolute;left:14px;top:14px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f0c75e;color:#10243e;font-weight:950}.plan-card.premium{border:2px solid rgba(240,199,94,.85)}.plan-card.test{border-left:5px solid #d38719}.plan-card.reserve{border-left:5px solid #82928b}
.score-pill{display:grid;place-items:center;min-width:44px;height:34px;padding:0 .5rem;border-radius:999px;background:#10243e;color:#fff;font-weight:900}.tier-premium{background:#f0c75e!important;color:#10243e!important}.tier-test{background:#f4d9a8!important;color:#67420c!important}.tier-reserve{background:#dce4df!important;color:#41534c!important}.tier-einwasserung{background:#d9e7ef!important;color:#28506a!important}
.badge.fish-egli{background:#d9eaf7;color:#1f5a86}.badge.fish-hecht{background:#dcefe3;color:#206443}.badge.fish-zander{background:#e4e5ec;color:#41475a}.badge.subtle{background:#edf2ef;color:#52665e}
.spot-intel-card.premium{border:2px solid rgba(240,199,94,.75)}.spot-intel-card.test{border-left:5px solid #d38719}.spot-intel-card.reserve{border-left:5px solid #82928b}
.strategy-list{display:grid;gap:12px}.strategy-card{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:13px;border-radius:16px;background:var(--surface2)}.strategy-card>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#10243e;color:#fff;font-weight:900}.strategy-card h4{margin:0 0 .35rem}.strategy-card p{margin:.2rem 0;color:var(--muted);font-size:.86rem}.safety-card{border-left:5px solid #d38719}.compact{margin-bottom:.7rem}
@media(max-width:720px){.plan-controls{grid-template-columns:1fr}.plan-summary{grid-template-columns:1fr 1fr 1fr}.bottom-nav button{font-size:.52rem}.bottom-nav button span{font-size:1rem}}
@media(max-width:430px){.plan-summary{grid-template-columns:1fr}.bottom-nav{overflow-x:auto;grid-template-columns:repeat(8,minmax(48px,1fr));padding-left:4px;padding-right:4px}.bottom-nav button{min-width:44px}}

/* V17 – Angelmodus, Anleitungen und Assistenten */
.bottom-nav{grid-template-columns:repeat(9,1fr)}
.guide-controls{border-top:4px solid #1769aa}
.guide-main-actions{margin-top:14px}.guide-main-actions button:last-child{flex:1;min-height:52px}
.guide-spot-header{margin:0 0 16px;padding:18px;border-radius:20px;background:linear-gradient(145deg,#10243e,#1769aa);color:#fff;box-shadow:var(--shadow)}
.guide-spot-header article{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.guide-spot-header h3{margin:.15rem 0 .3rem;font-size:1.3rem}.guide-spot-header p{margin:.35rem 0;line-height:1.45}.guide-spot-header .eyebrow{color:#bfe1d0}.guide-score{display:grid;place-items:center;min-width:52px;height:52px;border-radius:50%;background:#f0c75e;color:#10243e;font-weight:950;font-size:1.05rem}.guide-safety{padding:10px 12px;border-radius:13px;background:rgba(255,255,255,.12)}
.guide-step-list{display:grid;gap:11px}.guide-step{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:13px;border:1px solid #dbe5df;border-radius:16px;background:#f8faf8}.guide-step>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#1769aa;color:#fff;font-weight:950}.guide-step h4{margin:0 0 .3rem}.guide-step p{margin:0;color:var(--muted);line-height:1.5}
.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.assistant-card{position:relative;overflow:hidden}.assistant-icon{position:absolute;right:14px;top:10px;font-size:2rem;opacity:.15}.assistant-card h3{margin-top:0}.assistant-list{margin:0}.assistant-list>div{display:grid;grid-template-columns:88px 1fr;gap:8px;padding:9px 0;border-bottom:1px solid #e5ebe7}.assistant-list>div:last-child{border-bottom:0}.assistant-list dt{font-weight:900;color:#315247}.assistant-list dd{margin:0;line-height:1.45}.assistant-warning{padding:10px 12px;border-left:4px solid #d38719;background:#fff5df;border-radius:10px;color:#67420c}
.no-bite-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.no-bite-grid article{padding:12px;border-radius:14px;background:var(--surface2)}.no-bite-grid p{margin:.35rem 0 0;color:var(--muted);line-height:1.45}
.angling-live-card{border:2px solid #1769aa;background:linear-gradient(180deg,#fff,#f2f8f4)}.angling-live-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.angling-live-head h3{margin:.45rem 0 .15rem}.angling-live-head p{margin:0;color:var(--muted)}.angling-live-head>strong{font-size:1.35rem;font-variant-numeric:tabular-nums}.angling-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:16px 0}.angling-stats article{padding:11px 6px;border-radius:14px;background:#10243e;color:#fff;text-align:center}.angling-stats strong{display:block;font-size:1.2rem}.angling-stats span{font-size:.67rem;opacity:.8}.live-instruction{padding:15px;border-radius:16px;background:#e4f0e9}.live-instruction strong{display:block;margin:.25rem 0 .4rem;font-size:1.05rem}.live-instruction p{margin:0;color:#486158;line-height:1.45}.angling-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px}.angling-action-grid button{min-height:52px}.sonar-school details{border-bottom:1px solid #e0e8e3;padding:10px 0}.sonar-school details:last-child{border-bottom:0}.sonar-school summary{font-weight:850;cursor:pointer}.sonar-school p{color:var(--muted);line-height:1.5}.popup-actions{display:flex;gap:6px;margin:.55rem 0}.popup-actions button{font-size:.72rem;padding:.35rem .5rem}
@media(max-width:760px){.guide-grid{grid-template-columns:1fr}.no-bite-grid{grid-template-columns:1fr}.angling-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.angling-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.bottom-nav{overflow-x:auto;grid-template-columns:repeat(9,minmax(48px,1fr))}.assistant-list>div{grid-template-columns:1fr}.angling-action-grid{grid-template-columns:1fr}.guide-spot-header article{align-items:center}}
/* V18 – Mehrgewässer, Schweden, Tiefenkarte und Akkucockpit */
.version-badge{font-size:.62rem;color:#63758b;font-weight:800}
.app-header{gap:12px;align-items:flex-start}
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;max-width:62%}
.region-switch{display:flex;padding:3px;border-radius:14px;background:#dce9f7}
.region-button{padding:.55rem .72rem;border-radius:11px;background:transparent;color:#476258;font-size:.76rem;white-space:nowrap}
.region-button.active{background:#10243e;color:#fff}
.lake-quick-select{width:auto!important;max-width:230px!important;min-width:150px!important;padding:.58rem .72rem!important;background:#fff}
.bottom-nav{grid-template-columns:repeat(11,minmax(54px,1fr));overflow-x:auto;scrollbar-width:none}
.bottom-nav::-webkit-scrollbar{display:none}
.bottom-nav button{min-width:54px}

.battery-overview-grid,.boat-battery-live,.battery-big-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.battery-overview-grid article,.boat-battery-live article,.battery-big-grid article{padding:14px;border-radius:16px;background:#edf4ef}
.battery-overview-grid span,.boat-battery-live span,.battery-big-grid span{display:block;color:var(--muted);font-size:.74rem;font-weight:800}
.battery-overview-grid strong,.boat-battery-live strong,.battery-big-grid strong{display:block;margin:.25rem 0;font-size:1.3rem}
.battery-overview-grid small,.boat-battery-live small,.battery-big-grid small{display:block;color:var(--muted);line-height:1.35}
.boat-battery-live{margin:12px 0 0}
.motor-control-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 0;padding:10px 12px;border-radius:14px;background:#f5f8f6}
.motor-control-row span{font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}
#toggleMotorConsumptionBtn.active{background:#d29a2e;color:#10243e}
.battery-warning.good{color:#1769aa}.battery-warning.warning{color:#9b6900}.battery-warning.critical{color:#a83832;font-weight:850}
.battery-correction-panel{margin:16px 0;padding:14px;border-radius:16px;background:#f4f8fd}
.battery-correction-panel h3{font-size:1rem}
.battery-big-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.battery-big-grid article{background:linear-gradient(145deg,#10243e,#1769aa);color:#fff}
.battery-big-grid span,.battery-big-grid small{color:#d8ebe1}
.battery-bar{height:10px;margin-top:10px;border-radius:999px;background:rgba(255,255,255,.2);overflow:hidden}
.battery-bar i{display:block;height:100%;width:100%;border-radius:inherit;background:#f0c75e;transition:width .35s}
.battery-live-summary{margin-top:14px;padding:13px;border-radius:14px;background:#eef4ef;line-height:1.5}
.battery-ring{position:relative;background:conic-gradient(#f0c75e var(--battery-pct,360deg),rgba(255,255,255,.15) 0);border:0;padding:8px}
.battery-ring::before{content:"";position:absolute;inset:8px;border-radius:50%;background:#174b3a}
.battery-ring strong,.battery-ring span{position:relative;z-index:1}
.battery-ring.warning{background:conic-gradient(#e19a26 var(--battery-pct,360deg),rgba(255,255,255,.15) 0)}
.battery-ring.critical{background:conic-gradient(#d05249 var(--battery-pct,360deg),rgba(255,255,255,.15) 0)}

.sweden-quick-tools,.sweden-travel-tools{margin-top:16px;padding:14px;border-radius:16px;background:#edf5f0}
.quick-marker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.quick-marker-grid.extended{grid-template-columns:repeat(2,minmax(0,1fr))}
.quick-marker-grid button{padding:.7rem .45rem;font-size:.76rem}
.depth-quick-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}
.scope-strip{display:flex;gap:8px;flex-wrap:wrap}.scope-strip span{padding:.4rem .65rem;border-radius:999px;background:#dce9f7;font-size:.74rem;font-weight:750}
.active-lake-card{background:linear-gradient(145deg,#10243e,#1769aa);color:#fff}
.active-lake-card .eyebrow{color:#c9e6d7}.active-lake-card p{color:#dfefe7}
.active-lake-list-item{outline:2px solid #1769aa}
.compact-stack{margin-top:12px}
.depth-list-item{display:grid;grid-template-columns:72px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #e2e9e4}
.depth-list-item strong{font-size:1.05rem}.depth-list-item span{font-size:.78rem;color:var(--muted)}.depth-list-item button{padding:.45rem .6rem}
.offline-card{border-left:4px solid #d29a2e}

.structure-pin{display:grid;place-items:center;width:34px;height:34px;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);background:#f0c75e;color:#10243e;border:2px solid #fff;box-shadow:0 4px 12px rgba(0,0,0,.28);font-size:.8rem;font-weight:950}
.structure-pin>*{transform:rotate(45deg)}
.structure-pin.danger{background:#d05249;color:#fff}
.legend-depth{display:inline-block;width:13px;height:13px;border-radius:50%;background:#3f8fbc;border:2px solid #10243e}
.legend-structure{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#f0c75e;font-style:normal;font-size:.65rem}
.depth-label{background:#10243e!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:1px 4px!important;font-size:.62rem!important;box-shadow:none!important}
.depth-label::before{display:none!important}

@media(max-width:760px){
  .app-header{display:block}.header-actions{max-width:none;justify-content:flex-start;margin-top:10px}.lake-quick-select{flex:1;max-width:none!important}
  .battery-overview-grid,.boat-battery-live{grid-template-columns:1fr}.battery-big-grid{grid-template-columns:1fr}
  .quick-marker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .motor-control-row{align-items:stretch;flex-direction:column}
}
@media(max-width:430px){
  .bottom-nav{grid-template-columns:repeat(11,minmax(54px,1fr))}
  .region-switch{width:100%}.region-button{flex:1}
  .lake-quick-select{width:100%!important;flex-basis:100%}
  .depth-list-item{grid-template-columns:58px 1fr}.depth-list-item button{grid-column:2;justify-self:start}
}

/* V19 – importierte Tiefenkarten */
.depth-chart-status-pill{display:inline-flex;margin-top:12px;padding:7px 11px;border-radius:999px;font-size:.8rem;font-weight:800;background:#f4e7c9;color:#765418}.depth-chart-status-pill.ready{background:#dcefe5;color:#155a3d}.depth-chart-status-pill.missing{background:#f4e7c9;color:#765418}
.depth-chart-source-actions{margin:14px 0}.depth-chart-form{margin-top:14px;padding-top:14px;border-top:1px solid rgba(16,36,62,.12)}.file-drop{padding:14px;border:1px dashed rgba(16,36,62,.35);border-radius:16px;background:rgba(235,243,238,.75)}.file-drop input{margin-top:8px}.depth-chart-preview{min-height:130px;border:1px solid rgba(16,36,62,.12);border-radius:16px;background:#e8eee9;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#62716b;text-align:center}.depth-chart-preview img{display:block;max-width:100%;max-height:280px;object-fit:contain}.depth-chart-preview span{display:block;padding:10px;font-size:.82rem}.range-label output{float:right;font-weight:800;color:#155a3d}.range-label input{width:100%;margin-top:12px}.depth-chart-list-item{padding:14px;border:1px solid rgba(16,36,62,.12);border-radius:18px;background:#fff}.depth-chart-list-head{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}.depth-chart-list-head strong,.depth-chart-list-head span{display:block}.depth-chart-list-head span{font-size:.78rem;color:#65736e;margin-top:3px}.depth-chart-list-item>p{font-size:.78rem;color:#65736e;word-break:break-word}.badge.success{background:#dcefe5;color:#155a3d}.depth-chart-lake-status{display:flex;align-items:center;justify-content:space-between;margin:10px 0;padding:9px 11px;border-radius:13px;font-size:.78rem;font-weight:700}.depth-chart-lake-status.ready{background:#dcefe5;color:#155a3d}.depth-chart-lake-status.missing{background:#f5eee0;color:#765418}.depth-chart-lake-status strong{font-size:.9rem}.legend-chart{display:inline-block;width:18px;height:12px;border-radius:3px;background:linear-gradient(135deg,rgba(30,136,229,.7),rgba(124,77,255,.7));border:1px solid #fff;box-shadow:0 0 0 1px rgba(16,36,62,.3)}.imported-depth-chart-overlay{mix-blend-mode:multiply}.depth-chart-calibration-overlay{filter:saturate(1.08);mix-blend-mode:multiply}.depth-calibration-marker{background:transparent!important;border:0!important}.depth-calibration-marker span{display:flex;align-items:center;justify-content:center;width:44px;height:34px;border-radius:12px;background:#10243e;color:#fff;font-size:.75rem;font-weight:900;border:2px solid #fff;box-shadow:0 4px 14px rgba(0,0,0,.3)}.depth-calibration-panel{position:fixed;left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));bottom:calc(88px + env(safe-area-inset-bottom));z-index:2000;background:rgba(255,255,255,.97);border:1px solid rgba(16,36,62,.16);border-radius:22px;padding:15px;box-shadow:0 18px 42px rgba(0,0,0,.26);backdrop-filter:blur(16px);display:flex;gap:14px;align-items:center;justify-content:space-between}.depth-calibration-panel h3{margin:2px 0 4px}.depth-calibration-panel p{margin:0 0 5px;font-size:.82rem}.depth-calibration-panel small{color:#65736e}.depth-calibration-panel .form-actions{flex-shrink:0}.overlay-actions button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:720px){.depth-calibration-panel{align-items:stretch;flex-direction:column}.depth-calibration-panel .form-actions{width:100%}.depth-calibration-panel .form-actions button{flex:1}.depth-chart-list-head{flex-direction:column}.depth-chart-source-actions button{flex:1 1 100%}}


/* V20 – Schweden-Seenkatalog */
.lake-catalog-card { overflow: hidden; }
.catalog-intro { margin: 0 0 1rem; color: var(--muted); }
.catalog-toolbar { display: grid; grid-template-columns: minmax(220px, 1.7fr) repeat(3, minmax(145px, .8fr)); gap: .75rem; align-items: end; }
.catalog-toolbar label { margin: 0; }
.catalog-actions { margin-top: .9rem; }
.catalog-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: .85rem; margin-top: 1rem; }
.catalog-lake-card { border: 1px solid var(--line); border-radius: 16px; padding: .95rem; background: rgba(255,255,255,.7); display: flex; flex-direction: column; gap: .65rem; min-width: 0; }
.catalog-lake-card.saved { border-color: rgba(38,112,81,.48); box-shadow: inset 0 0 0 1px rgba(38,112,81,.11); }
.catalog-lake-head { display: flex; justify-content: space-between; gap: .75rem; align-items: flex-start; }
.catalog-lake-head h4 { margin: 0 0 .18rem; font-size: 1.02rem; }
.catalog-lake-head p { margin: 0; color: var(--muted); font-size: .84rem; }
.catalog-scale { flex: 0 0 auto; border-radius: 999px; padding: .28rem .55rem; background: rgba(16,36,62,.08); color: var(--ink); font-size: .75rem; font-weight: 700; }
.catalog-meta { display: flex; flex-wrap: wrap; gap: .35rem .55rem; color: var(--muted); font-size: .78rem; }
.catalog-meta span { border-radius: 999px; background: rgba(16,36,62,.055); padding: .25rem .45rem; }
.catalog-chart-state { margin: 0; color: #6d5a27; font-size: .82rem; }
.catalog-lake-card .item-actions { margin-top: auto; }
.catalog-footer { display: flex; justify-content: center; margin-top: 1rem; }
@media (max-width: 900px) { .catalog-toolbar { grid-template-columns: 1fr 1fr; } .catalog-search { grid-column: 1 / -1; } }
@media (max-width: 620px) { .catalog-toolbar { grid-template-columns: 1fr; } .catalog-search { grid-column: auto; } .catalog-grid { grid-template-columns: 1fr; } }


/* V21 – erweiterter Schweden-Seenkatalog */
.lake-catalog-card { overflow: hidden; }
.catalog-toolbar {
  grid-template-columns: minmax(230px, 1.7fr) repeat(3, minmax(145px, .8fr));
}
.catalog-head-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .35rem;
  flex-wrap: wrap;
}
.icon-toggle {
  width: 2rem;
  min-width: 2rem;
  height: 2rem;
  padding: 0;
  border-radius: 999px;
  background: rgba(16,36,62,.06);
  color: var(--muted);
  border: 1px solid var(--line);
  box-shadow: none;
}
.icon-toggle:hover,
.icon-toggle.active {
  background: var(--ink);
  color: white;
  border-color: var(--ink);
}
.fish-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
}
.fish-chip {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: .28rem .52rem;
  background: rgba(32,112,82,.09);
  color: #205f49;
  font-size: .76rem;
  font-weight: 700;
}
.catalog-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .45rem;
}
.catalog-facts > div {
  border-radius: 12px;
  background: rgba(16,36,62,.045);
  padding: .55rem;
  min-width: 0;
}
.catalog-facts span {
  display: block;
  color: var(--muted);
  font-size: .69rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: .16rem;
}
.catalog-facts strong {
  display: block;
  font-size: .79rem;
  line-height: 1.28;
}
.catalog-facts .permit-free { color: #1e704d; }
.catalog-facts .permit-check { color: #8a611d; }
.catalog-details {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: .55rem 0;
}
.catalog-details summary {
  cursor: pointer;
  font-weight: 700;
  font-size: .83rem;
}
.catalog-details p {
  margin: .55rem 0 0;
  color: var(--muted);
  font-size: .8rem;
  line-height: 1.45;
}
.catalog-primary-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.catalog-primary-actions button {
  width: 100%;
  min-width: 0;
}
@media (max-width: 1000px) {
  .catalog-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-search { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .catalog-toolbar { grid-template-columns: 1fr; }
  .catalog-search { grid-column: auto; }
  .catalog-facts { grid-template-columns: 1fr; }
  .catalog-primary-actions { grid-template-columns: 1fr 1fr; }
}


/* V22 – separate Schweden-Fangempfehlungen */
.sweden-recommendations-card { overflow: hidden; }
.recommendations-intro { margin: 0 0 1rem; color: var(--muted); }
.recommendation-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; margin-bottom: .9rem; }
.recommendation-summary article { border: 1px solid var(--line); border-radius: 14px; padding: .75rem; background: rgba(255,255,255,.62); min-width: 0; }
.recommendation-summary span { display: block; color: var(--muted); font-size: .74rem; margin-bottom: .2rem; }
.recommendation-summary strong { display: block; font-size: .9rem; line-height: 1.25; }
.recommendation-filters { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1rem; }
.recommendation-filters button { padding: .52rem .72rem; }
.recommendation-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(285px, 1fr)); gap: .9rem; }
.recommended-lake-card { position: relative; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.72); padding: 1rem; display: flex; flex-direction: column; gap: .7rem; min-width: 0; }
.recommended-lake-card.top-pick { border-color: rgba(38,112,81,.52); box-shadow: inset 0 0 0 1px rgba(38,112,81,.1); }
.recommendation-rank { position: absolute; top: .85rem; right: .85rem; width: 2rem; height: 2rem; display: grid; place-items: center; border-radius: 999px; background: var(--ink); color: white; font-weight: 800; font-size: .82rem; }
.recommendation-head { padding-right: 2.5rem; }
.recommendation-head h4 { margin: 0 0 .2rem; font-size: 1.08rem; }
.recommendation-head p { margin: 0; color: var(--muted); font-size: .82rem; }
.recommendation-chips { display: flex; flex-wrap: wrap; gap: .35rem; }
.recommendation-chips span { border-radius: 999px; padding: .28rem .5rem; background: rgba(16,36,62,.065); font-size: .76rem; font-weight: 700; }
.recommendation-ratings { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; }
.recommendation-rating { display: flex; justify-content: space-between; gap: .5rem; border-radius: 11px; background: rgba(16,36,62,.045); padding: .48rem .55rem; font-size: .76rem; }
.recommendation-rating span { color: var(--muted); }
.recommendation-rating strong { white-space: nowrap; }
.recommendation-copy { display: grid; gap: .45rem; }
.recommendation-copy p { margin: 0; font-size: .83rem; line-height: 1.43; }
.recommendation-warning { border-left: 3px solid #b37a22; padding-left: .65rem; color: #6f5325; }
.recommendation-actions { margin-top: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; }
.recommendation-actions button { width: 100%; }
.recommendation-empty { grid-column: 1 / -1; border: 1px dashed var(--line); border-radius: 16px; padding: 1rem; color: var(--muted); text-align: center; }
@media (max-width: 950px) { .recommendation-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .recommendation-summary, .recommendation-list { grid-template-columns: 1fr; } .recommendation-actions { grid-template-columns: 1fr 1fr; } }

/* V23 – Wetter, Angelgedächtnis und Ausrüstung */
.button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:12px;padding:.72rem 1rem;font-weight:700}.weather-actions{display:flex;gap:.6rem;flex-wrap:wrap}.windy-frame-wrap,.windy-forecast-wrap{overflow:hidden;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:#071914}.windy-frame-wrap iframe{display:block;width:100%;height:min(58vh,520px);border:0}.windy-forecast-wrap iframe{display:block;width:100%;height:230px;border:0}.score-badge{display:inline-flex;min-width:64px;justify-content:center;align-items:center;border-radius:999px;padding:.45rem .75rem;background:#d8f24a;color:#10243e;font-weight:900}.weather-ranking-list{display:grid;gap:.7rem}.weather-rank-card{display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;padding:.85rem;border-radius:14px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08)}.weather-rank-number{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#d8f24a;color:#10243e;font-weight:900}.weather-rank-copy h4{margin:0 0 .18rem}.weather-rank-copy p{margin:0;color:var(--muted)}.weather-rank-score{font-size:1.05rem;font-weight:900}.weather-history-card,.memory-row,.gear-item{padding:.9rem;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.045);margin:.65rem 0}.weather-history-card header,.gear-item header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.weather-history-card p,.gear-item p{margin:.35rem 0;color:var(--muted)}.memory-summary{margin-bottom:1rem;padding:1rem 1.1rem;border-radius:18px;background:linear-gradient(135deg,rgba(216,242,74,.15),rgba(35,116,89,.25));border:1px solid rgba(216,242,74,.3)}.memory-summary h3{margin:.1rem 0 .4rem}.memory-summary p{margin:0;color:var(--muted)}.memory-patterns{display:grid;gap:.7rem}.memory-pattern{padding:.85rem;border-radius:14px;background:rgba(255,255,255,.05)}.memory-pattern strong{display:block;margin-bottom:.2rem}.gear-setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.gear-setup-grid article{padding:.85rem;border-radius:14px;background:rgba(255,255,255,.05)}.gear-setup-grid span{display:block;color:var(--muted);font-size:.82rem}.gear-setup-grid strong{display:block;margin-top:.2rem}.gear-item .badges{margin:.5rem 0}.custom-widget-card .hidden{display:none}.bottom-nav{overflow-x:auto;scrollbar-width:none}.bottom-nav::-webkit-scrollbar{display:none}.bottom-nav button{min-width:64px}
@media(max-width:680px){.gear-setup-grid{grid-template-columns:1fr}.weather-rank-card{grid-template-columns:auto 1fr}.weather-rank-score{grid-column:2}.windy-frame-wrap iframe{height:430px}.windy-forecast-wrap iframe{height:250px}}

/* V24 – kompakte Hauptnavigation mit Mehr-Menü */
.bottom-nav.bottom-nav-compact{
  grid-template-columns:repeat(7,minmax(64px,1fr));
  overflow:visible;
  gap:4px;
  padding:8px max(10px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-right));
}
.bottom-nav.bottom-nav-compact button{min-width:0;font-size:.68rem}
.bottom-nav.bottom-nav-compact button span{font-size:1.22rem}
.bottom-nav.bottom-nav-compact #moreNavBtn.active{color:var(--accent);background:var(--surface2)}
.more-nav-backdrop{position:fixed;inset:0;z-index:780;background:rgba(3,18,14,.48);backdrop-filter:blur(3px)}
.more-nav-sheet{position:fixed;left:50%;bottom:calc(76px + env(safe-area-inset-bottom));z-index:790;width:min(720px,calc(100% - 24px));max-height:min(72vh,680px);overflow:auto;transform:translateX(-50%);padding:18px;border-radius:24px;background:rgba(250,252,250,.98);box-shadow:0 20px 70px rgba(2,23,17,.28);border:1px solid rgba(16,36,62,.12)}
.more-nav-sheet header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.more-nav-sheet header h2{margin:.1rem 0 0;color:var(--text)}
.more-nav-sheet .icon-button{width:42px;height:42px;border-radius:50%;padding:0;font-size:1.6rem;line-height:1;background:var(--surface2);color:var(--text)}
.more-nav-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.more-nav-grid button{display:grid;grid-template-columns:auto 1fr;text-align:left;column-gap:10px;row-gap:2px;align-items:center;padding:13px;border-radius:16px;background:var(--surface2);color:var(--text);border:1px solid rgba(16,36,62,.08)}
.more-nav-grid button>span{grid-row:1/3;font-size:1.45rem;color:var(--accent)}
.more-nav-grid button strong{font-size:.9rem}
.more-nav-grid button small{font-size:.72rem;color:var(--muted);font-weight:500}
.more-nav-grid button.active{outline:2px solid var(--accent);background:rgba(35,116,89,.12)}
body.more-nav-open{overflow:hidden}
@media(max-width:760px){
  .bottom-nav.bottom-nav-compact{grid-template-columns:repeat(7,minmax(48px,1fr));overflow:visible}
  .bottom-nav.bottom-nav-compact button{font-size:.56rem;padding:5px 1px}
  .bottom-nav.bottom-nav-compact button span{font-size:1.04rem}
  .more-nav-sheet{bottom:calc(69px + env(safe-area-inset-bottom));padding:15px;border-radius:22px}
  .more-nav-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:1100px){
  .bottom-nav.bottom-nav-compact{left:50%;right:auto;width:min(980px,calc(100% - 32px));transform:translateX(-50%);border:1px solid rgba(16,36,62,.1);border-bottom:0;border-radius:22px 22px 0 0;box-shadow:0 -8px 30px rgba(2,23,17,.08)}
}

/* V26 – professionelles Wetter-Dashboard */
.weather-live-card{overflow:hidden}.weather-live-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.wx-main-temp{display:flex;align-items:flex-start;line-height:1}.wx-main-temp strong{font-size:clamp(3rem,8vw,5.5rem);color:var(--accent)}.wx-main-temp span{font-size:1.25rem;font-weight:800;margin-top:.55rem}.wx-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:22px}.wx-metrics article{background:var(--surface-soft);border:1px solid var(--line);border-radius:16px;padding:14px}.wx-metrics span,.wx-metrics small{display:block;color:var(--muted);font-size:.78rem}.wx-metrics strong{display:block;font-size:1.35rem;margin:.25rem 0}.wx-sun-row{display:flex;gap:24px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.weather-score-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.wx-score-card strong{font-size:3rem;color:var(--accent);display:block}.wx-score-card>span{font-weight:800}.wx-hourly{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(110px,1fr);gap:10px;overflow-x:auto;padding-bottom:8px}.wx-hour-card{border:1px solid var(--line);border-radius:16px;padding:12px;background:var(--surface-soft);text-align:center}.wx-hour-card strong,.wx-hour-card span{display:block}.wx-hour-card .wx-icon{font-size:1.6rem;margin:.3rem 0}.wx-daily{display:grid;gap:8px}.wx-day-card{display:grid;grid-template-columns:minmax(90px,1fr) 55px 1.5fr 1fr;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.wx-day-card .wx-icon{font-size:1.5rem}.weather-map-links{display:flex;gap:10px;flex-wrap:wrap}.wx-error{padding:20px;border:1px solid #f3b7b7;background:#fff1f1;border-radius:14px;color:#8a1c1c}.wx-loading{opacity:.65;pointer-events:none}@media(max-width:850px){.wx-metrics{grid-template-columns:repeat(3,1fr)}.weather-score-grid{grid-template-columns:1fr}.wx-day-card{grid-template-columns:80px 45px 1fr}.wx-day-card .wx-day-wind{grid-column:2/4}}@media(max-width:520px){.weather-live-head{align-items:center}.wx-main-temp strong{font-size:3.25rem}.wx-metrics{grid-template-columns:repeat(2,1fr)}}

/* V31 – Angelindex 2.0 */
.wx-smart-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.wx-smart-grid h4,.wx-chart-grid h4{margin:0 0 10px}.wx-window-list,.wx-species-list,.wx-warning-list,.wx-lake-ranking{display:grid;gap:10px}.wx-window,.wx-species-card,.wx-warning,.wx-lake-rank{border:1px solid #c9d9ec;background:#f7fbff;border-radius:16px;padding:13px 15px}.wx-window{display:grid;grid-template-columns:90px 1fr auto;gap:12px;align-items:center}.wx-window strong{font-size:1.05rem}.wx-window-score,.wx-lake-rank-score{font-weight:800;color:#0875c9}.wx-species-card header,.wx-lake-rank{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.wx-species-card p,.wx-warning p,.wx-lake-rank p{margin:5px 0 0;color:#50647c}.wx-warning{border-left:5px solid #6c8baa}.wx-warning.warn{border-left-color:#f0a500;background:#fffaf0}.wx-warning.danger{border-left-color:#d94242;background:#fff4f4}.wx-warning.good{border-left-color:#1787d5;background:#f1f9ff}.wx-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.wx-chart-grid article{border:1px solid #c9d9ec;border-radius:16px;padding:13px;background:#fff}.wx-chart{min-height:150px;overflow:hidden}.wx-chart svg{width:100%;height:150px;display:block}.wx-chart text{font-size:10px;fill:#60758c}.wx-chart .grid{stroke:#dbe6f3;stroke-width:1}.wx-chart .line{fill:none;stroke:#0875c9;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.wx-chart .line.secondary{stroke:#83a9cb;stroke-width:2}.wx-chart .area{fill:#dceeff;opacity:.55}.wx-lake-rank{align-items:center}.wx-lake-rank>div:first-child{min-width:34px;font-weight:800;color:#0875c9;font-size:1.2rem}.wx-lake-rank .lake-copy{flex:1}.wx-lake-rank .lake-copy h4{margin:0}.wx-lake-rank .lake-safety{font-size:.8rem;color:#60758c}.wx-moon-note{font-size:.85rem;color:#60758c}.wx-chip-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.wx-chip{padding:5px 9px;border-radius:999px;background:#e4f1ff;color:#0d5489;font-size:.8rem;font-weight:700}
@media(max-width:760px){.wx-smart-grid,.wx-chart-grid{grid-template-columns:1fr}.wx-window{grid-template-columns:75px 1fr}.wx-window-score{grid-column:2}.wx-lake-rank{align-items:flex-start}}

/* V32 – Smart Gewässervergleich */
.wx-compare-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.wx-compare-controls label{font-weight:700;color:var(--muted,#5d718a)}.wx-compare-controls select{margin-top:6px}.wx-check{display:flex!important;align-items:center;gap:10px;padding:12px 14px;border:1px solid rgba(27,109,190,.18);border-radius:14px;background:#f4f8fd}.wx-check input{width:20px;height:20px;margin:0}.wx-ranking-summary{margin:14px 0}.wx-ranking-hero{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:18px;border-radius:20px;background:linear-gradient(135deg,#0d5eaa,#1b7fd0);color:#fff;box-shadow:0 12px 28px rgba(14,93,170,.22)}.wx-ranking-hero .rank-medal{font-size:38px}.wx-ranking-hero h4{margin:0 0 4px;font-size:1.35rem}.wx-ranking-hero p{margin:0;color:rgba(255,255,255,.9)}.wx-ranking-hero strong{font-size:2rem}.wx-lake-rank.v32{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:start;padding:16px;border:1px solid rgba(31,112,190,.16);border-radius:18px;background:#fff;margin:10px 0}.wx-lake-rank.v32 .rank-number{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e8f2fd;color:#0d5eaa;font-weight:900}.wx-lake-rank.v32 h4{margin:0 0 4px}.wx-rank-meta{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0}.wx-rank-meta span{background:#edf5fe;border-radius:999px;padding:5px 9px;font-size:.82rem}.wx-best-spot{margin-top:10px;padding:11px 12px;border-left:4px solid #1b74bd;background:#f5f9fe;border-radius:10px}.wx-best-spot strong{display:block}.wx-rank-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.wx-rank-actions button{padding:8px 11px;font-size:.88rem}.wx-rank-scorebox{text-align:right}.wx-rank-scorebox>strong{display:block;font-size:1.55rem;color:#0d65af}.wx-score-breakdown{font-size:.78rem;color:#66788d;line-height:1.45;margin-top:5px}.wx-learning-note{font-size:.82rem;color:#48637f;margin-top:7px}.wx-safety-low{border-color:#e3a4a4!important;background:#fff8f8!important}.wx-safety-mid{border-color:#e8d09a!important;background:#fffdf7!important}@media(max-width:800px){.wx-compare-controls{grid-template-columns:1fr}.wx-ranking-hero{grid-template-columns:auto 1fr}.wx-ranking-hero>strong{grid-column:2}.wx-lake-rank.v32{grid-template-columns:36px minmax(0,1fr)}.wx-rank-scorebox{grid-column:2;text-align:left}.wx-rank-actions button{flex:1}}

/* V33 – empfohlenen Spot direkt fokussieren */
.spot-intel-card.spot-focus-v33 {
  outline: 4px solid #1976d2;
  outline-offset: 4px;
  box-shadow: 0 0 0 10px rgba(25,118,210,.16), 0 18px 45px rgba(16,36,62,.18);
  animation: spotFocusPulseV33 1.15s ease-in-out 2;
}
@keyframes spotFocusPulseV33 {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}

/* V34 Garmin-Wegpunkte */
.garmin-card{border:1px solid rgba(25,113,181,.22)}
.garmin-auto{padding:.85rem 1rem;border-radius:16px;background:#eaf4ff;color:#315d85;font-weight:700}
.garmin-wp-row{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:start;padding:1rem 0;border-top:1px solid #d9e6f3}
.garmin-wp-row:first-child{border-top:0}.garmin-wp-row h4{margin:0 0 .3rem}.garmin-wp-row p{margin:.2rem 0;color:#58708a}
.garmin-wp-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}
.compact-stack{margin-top:1rem}
@media(max-width:700px){.garmin-wp-row{grid-template-columns:1fr}.garmin-wp-actions{justify-content:flex-start}}

/* V35 */
.phase-one-card{border:1px solid #b7d5ff;background:linear-gradient(145deg,#f7fbff,#eaf4ff)}
.daily-top-card{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px;border-radius:18px;background:#fff;border:1px solid #d7e7fb}
.daily-top-card h3{margin:.2rem 0 .35rem}.daily-score{min-width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:#0a66c2;color:#fff;font-size:1.7rem;font-weight:800;box-shadow:0 8px 24px rgba(10,102,194,.25)}
.daily-details{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.daily-details span{background:#eef6ff;border-radius:999px;padding:6px 10px;font-size:.88rem}
.daily-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.daily-ranking{display:grid;gap:7px}.daily-ranking button{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;text-align:left;background:#fff;border:1px solid #dbe9f8;color:#15324d}.daily-ranking button span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#e8f2ff;color:#0a66c2;font-weight:700}.daily-ranking button b{color:#0a66c2}
.garmin-review-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid #dce8f5;border-radius:14px;background:#fff}.garmin-review-item span{display:grid;gap:3px}.garmin-review-item small,.garmin-review-item em{color:#61758a;font-size:.82rem}.garmin-review-item b{font-size:.78rem;color:#0a66c2}.garmin-review-item.duplicate{opacity:.62;background:#f3f5f7}
@media(max-width:650px){.daily-top-card{align-items:flex-start}.daily-score{min-width:62px;height:62px;font-size:1.3rem}.daily-details{display:grid}.garmin-review-item{grid-template-columns:auto 1fr}.garmin-review-item>b{grid-column:2}}

/* Phase 2 Beta */
.beta-top-banner{position:sticky;top:0;z-index:9999;background:#0b3b8f;color:#fff;text-align:center;padding:6px 10px;font-weight:800;letter-spacing:.05em;font-size:12px}
.beta-phase-card{border:2px solid #3b82f6;background:linear-gradient(180deg,#eff6ff,#fff)}
.beta-badge{background:#1d4ed8;color:#fff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}
.phase2-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end}
.phase2-summary{margin-top:12px;padding:12px;border-radius:12px;background:#dbeafe;color:#12305c;font-weight:650}
.phase2-score-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:900;border:3px solid rgba(255,255,255,.9);box-shadow:0 2px 10px rgba(0,0,0,.22)}
.phase2-rank-list{display:grid;gap:8px;margin-top:10px}
.phase2-rank-row{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;background:#fff;border:1px solid #bfdbfe;padding:9px 10px;border-radius:10px}
.phase2-rank-row b{font-size:18px;color:#1d4ed8}
@media(max-width:720px){.phase2-controls{grid-template-columns:1fr}.beta-top-banner{font-size:11px}}

/* Beta Core – modulare Basis und erweiterte Spot-Analyse */
.personal-assistant-card{border:1px solid #bfd7f5;background:linear-gradient(135deg,#f8fbff,#edf6ff)}
.assistant-recommendation{display:grid;gap:12px}.assistant-hero{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:16px;border-radius:18px;background:#fff;border:1px solid #d9e8f8}.assistant-score{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#0b69c7;color:#fff;font-size:1.35rem;font-weight:800}.assistant-meta{display:flex;flex-wrap:wrap;gap:8px}.assistant-meta span{background:#e8f2ff;border-radius:999px;padding:6px 10px;font-size:.86rem}.assistant-actions{display:flex;flex-wrap:wrap;gap:8px}
.spot-detail-backdrop{position:fixed;inset:0;background:rgba(6,20,38,.55);z-index:80}.spot-detail-sheet{position:fixed;z-index:81;left:50%;bottom:0;transform:translateX(-50%);width:min(760px,100%);max-height:88vh;overflow:auto;background:#f7fbff;border-radius:22px 22px 0 0;box-shadow:0 -16px 50px rgba(0,0,0,.25);padding:18px}.spot-detail-sheet header{display:flex;justify-content:space-between;align-items:flex-start;position:sticky;top:-18px;background:#f7fbff;padding:18px 0 10px;z-index:2}.spot-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.spot-detail-grid article{background:#fff;border:1px solid #dbe8f6;border-radius:14px;padding:12px}.spot-detail-grid span{display:block;font-size:.8rem;color:#64748b}.spot-detail-grid strong{font-size:1.1rem}.fish-score-row{display:grid;grid-template-columns:110px 1fr 48px;gap:10px;align-items:center;margin:8px 0}.fish-score-bar{height:10px;background:#dfeaf6;border-radius:999px;overflow:hidden}.fish-score-bar i{display:block;height:100%;background:#0b69c7}.spot-reason-list{display:grid;gap:7px;padding:0;list-style:none}.spot-reason-list li{background:#fff;border:1px solid #dbe8f6;border-radius:12px;padding:10px}.spot-detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.core-status{display:flex;gap:8px;flex-wrap:wrap}.core-status span{font-size:.78rem;padding:5px 9px;border-radius:999px;background:#e8f2ff;color:#164d85}
@media(max-width:560px){.spot-detail-grid{grid-template-columns:1fr}.assistant-hero{grid-template-columns:1fr}.assistant-score{width:60px;height:60px}.spot-detail-sheet{max-height:92vh}}

/* Beta 3 – Deutschland und Skipper */
.country-profile-grid,.skipper-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.country-profile-grid article,.skipper-grid article{background:#eef6ff;border:1px solid #c9def5;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:5px}.country-profile-grid span,.skipper-grid span,.skipper-grid small{color:#5a7189}.skipper-grid strong{font-size:1.8rem;color:#0d4f8b}.skipper-controls{margin-top:14px}.risk-badge{width:112px;height:112px;min-width:112px;min-height:112px;border-radius:50%;padding:12px;display:grid;place-items:center;align-content:center;justify-items:center;text-align:center;white-space:normal;line-height:1.12;font-size:1rem;font-weight:800;box-sizing:border-box;overflow:hidden}.risk-niedrig{background:#e4f4ff;color:#165e8e}.risk-mittel{background:#fff4d8;color:#7a5410}.risk-hoch{background:#ffe5e5;color:#9a2525}.catalog-lake-card{background:#fff;border:1px solid #d7e5f2;border-radius:16px;padding:15px;box-shadow:0 5px 18px rgba(18,72,122,.07)}.catalog-card-head{display:flex;justify-content:space-between;gap:10px}.catalog-card-head h4{margin:0}.catalog-card-head p{margin:4px 0 0;color:#63788d}.catalog-rank{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#0f6fbf;color:white;font-weight:700;margin-bottom:8px}.catalog-fish{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.catalog-fish span,.catalog-meta span{background:#edf6ff;color:#185c96;border-radius:999px;padding:5px 8px;font-size:.78rem}.catalog-meta{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.region-button[data-region="germany"].active{background:#0f6fbf;color:#fff}@media(max-width:800px){.country-profile-grid,.skipper-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.country-profile-grid,.skipper-grid{grid-template-columns:1fr 1fr}.skipper-grid strong{font-size:1.45rem}}

/* Beta 3.3: Windrisiko immer vollständig im Kreis */
.catalog-card-head{align-items:flex-start}.catalog-card-head .risk-badge{flex:0 0 112px;margin-left:auto}.risk-badge::first-line{line-height:1.05}@media(max-width:560px){.risk-badge{width:92px;height:92px;min-width:92px;min-height:92px;font-size:.88rem;padding:10px}.catalog-card-head .risk-badge{flex-basis:92px}}


/* Beta 3.4 – Windstatus wirklich geometrisch zentriert */
.catalog-card-head {
  align-items: flex-start;
}
.catalog-card-head .risk-badge {
  position: relative !important;
  display: block !important;
  flex: 0 0 112px !important;
  width: 112px !important;
  height: 112px !important;
  min-width: 112px !important;
  min-height: 112px !important;
  margin-left: auto;
  padding: 0 !important;
  border-radius: 50%;
  overflow: hidden;
  box-sizing: border-box;
  text-align: center;
}
.risk-badge > .risk-badge-content {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px;
  padding: 13px;
  box-sizing: border-box;
  text-align: center;
  transform: translateY(1px);
}
.risk-badge .risk-label {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
  color: inherit;
  font-size: 1rem;
  font-weight: 850;
  line-height: 1.05;
  text-align: center;
  white-space: normal;
}
.risk-badge .risk-icon {
  position: relative;
  display: block !important;
  width: 34px;
  height: 20px;
  flex: 0 0 20px;
  margin: 0 auto;
  color: inherit;
}
.risk-badge .risk-icon::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 1px;
  width: 2px;
  height: 18px;
  border-radius: 2px;
  background: currentColor;
}
.risk-badge .risk-icon::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 2px;
  width: 27px;
  height: 12px;
  border: 2px solid currentColor;
  box-sizing: border-box;
  background: repeating-linear-gradient(90deg,currentColor 0 5px,transparent 5px 10px);
  clip-path: polygon(0 0,100% 24%,100% 76%,0 100%);
}
@media (max-width: 560px) {
  .catalog-card-head .risk-badge {
    flex-basis: 94px !important;
    width: 94px !important;
    height: 94px !important;
    min-width: 94px !important;
    min-height: 94px !important;
  }
  .risk-badge > .risk-badge-content {
    gap: 4px;
    padding: 10px;
  }
  .risk-badge .risk-label {
    font-size: .86rem;
  }
  .risk-badge .risk-icon {
    transform: scale(.88);
  }
}

/* Beta 3.5 – Windsymbol sichtbar + exakt zentriert */
.catalog-card-head .risk-badge{
  position:relative !important;
  display:block !important;
  flex:0 0 112px !important;
  width:112px !important;
  height:112px !important;
  min-width:112px !important;
  min-height:112px !important;
  margin-left:auto;
  padding:0 !important;
  border-radius:50%;
  overflow:hidden;
  box-sizing:border-box;
  text-align:center;
}
.risk-badge > .risk-badge-content{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px;
  padding:12px;
  box-sizing:border-box;
  text-align:center;
  transform:none !important;
}
.risk-badge .risk-label{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  width:100%;
  color:inherit;
  font-size:1rem;
  font-weight:850;
  line-height:1.02;
  text-align:center;
  white-space:normal;
}
.risk-badge .risk-icon{
  display:block !important;
  width:36px;
  height:24px;
  flex:0 0 24px;
  margin:0 auto;
  color:inherit;
}
.risk-badge .risk-icon::before,
.risk-badge .risk-icon::after{content:none !important;display:none !important;}
.risk-badge .risk-icon line,
.risk-badge .risk-icon path{
  stroke:currentColor;
  fill:none;
  stroke-width:2.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
@media (max-width:560px){
  .catalog-card-head .risk-badge{
    flex-basis:94px !important;
    width:94px !important;
    height:94px !important;
    min-width:94px !important;
    min-height:94px !important;
  }
  .risk-badge > .risk-badge-content{gap:4px;padding:10px;}
  .risk-badge .risk-label{font-size:.86rem;}
  .risk-badge .risk-icon{width:30px;height:20px;flex-basis:20px;}
}


/* Beta 3.6 – Kartenengine / Ebenen */
.layer-cockpit-card{margin-bottom:14px;}
.layer-cockpit-card .hint.compact{margin:4px 0 12px;}
.layer-preset-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px;}
.layer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.layer-chip{appearance:none;border:1px solid rgba(40,88,160,.18);background:#eef5ff;color:#1b4f93;border-radius:14px;padding:10px 12px;font-weight:700;text-align:center;line-height:1.15;box-shadow:0 2px 8px rgba(16,53,106,.08);}
.layer-chip.active,.layer-preset-row .map-small-button.active{background:linear-gradient(180deg,#2c72d7,#1d58b1);color:#fff;border-color:#1d58b1;box-shadow:0 10px 18px rgba(29,88,177,.2);}
.layer-status-summary{margin-top:10px;padding:10px 12px;border-radius:14px;background:#f6f9ff;border:1px solid rgba(42,94,172,.12);color:#40618f;font-size:.94rem;line-height:1.4;}
.wind-map-badge{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;background:#fff;border:1px solid rgba(42,94,172,.2);box-shadow:0 10px 20px rgba(17,50,102,.14);font-weight:800;color:#1d4f91;}
.wind-map-badge .wind-arrow{font-size:1.45rem;line-height:1;display:inline-block;transform:rotate(var(--rot,0deg));transform-origin:center;}
.wind-map-badge small{display:block;font-size:.74rem;font-weight:700;color:#5f7ca6;line-height:1.1;}
.wind-map-badge strong{display:block;font-size:.9rem;line-height:1.1;}
@media (min-width:760px){.layer-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}

/* Beta 3.7 – Karten-Presets dürfen die Seitennavigation nicht blockieren */
.layer-cockpit-card,.layer-preset-row,.layer-grid,.layer-chip{touch-action:pan-y manipulation;}
.layer-preset-row button,.layer-grid button{user-select:none;-webkit-user-select:none;}


/* Beta 3.8 – Smart-Skipper */
.smart-skipper-card{margin-bottom:14px;overflow:hidden;}
.skipper-hero-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 14px;}
.skipper-hero-grid article{background:linear-gradient(180deg,#edf5ff,#dceaff);border:1px solid rgba(35,91,170,.16);border-radius:18px;padding:14px;min-height:112px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 8px 20px rgba(19,61,124,.09);}
.skipper-hero-grid span{font-size:.82rem;font-weight:800;color:#52709b;text-transform:uppercase;letter-spacing:.05em;}
.skipper-hero-grid strong{font-size:2rem;line-height:1.05;color:#12345f;margin-top:6px;}
.skipper-hero-grid small{font-size:.82rem;color:#607796;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.smart-target-row{display:grid;grid-template-columns:1fr;gap:8px;margin:12px 0;}
.smart-target-row label{font-weight:800;color:#294f7e;}
.smart-target-row select{width:100%;margin-top:6px;}
.smart-status-row{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0;}
.status-pill{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border-radius:999px;background:#e3f4e8;color:#176a3e;font-size:.8rem;font-weight:800;border:1px solid rgba(23,106,62,.12);}
.status-pill.muted{background:#edf2f8;color:#5f7390;border-color:rgba(60,85,120,.1);}
.status-pill.warn{background:#fff2d7;color:#8a5a00;}
.status-pill.danger{background:#ffe3e3;color:#9c2424;}
.smart-drift-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f5f8fd;border:1px solid rgba(35,91,170,.13);border-radius:18px;padding:14px;margin:12px 0;}
.smart-drift-card>div{min-width:0;display:flex;flex-direction:column;gap:4px;}
.smart-drift-card strong{font-size:1rem;color:#17385f;}
.smart-drift-card small{color:#617795;line-height:1.3;}
.smart-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px;}
.smart-actions-grid button{min-height:54px;font-weight:850;border-radius:15px;}
.smart-live-hint{margin-top:12px;padding:11px 13px;border-radius:14px;background:#eef5ff;color:#365e92;font-size:.9rem;line-height:1.35;}
@media(min-width:760px){
  .skipper-hero-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .smart-target-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:end;}
  .smart-actions-grid{grid-template-columns:repeat(6,minmax(0,1fr));}
}
.smart-drift-line{stroke:#1976d2;stroke-width:5;stroke-dasharray:10 8;stroke-linecap:round;}
.smart-drift-end{background:#1976d2;color:#fff;border:3px solid #fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.8rem;box-shadow:0 3px 10px rgba(0,0,0,.25);}


/* Beta 3.9 – Garmin-artiges Smart-Cockpit */
.cockpit-v39{background:linear-gradient(180deg,#f8fbff,#eef5ff);}
.cockpit-main{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;margin:10px 0 12px;}
.speed-instrument,.compass-instrument{background:linear-gradient(160deg,#102a4d,#1c4f87);color:#fff;border-radius:24px;min-height:210px;box-shadow:0 16px 30px rgba(10,42,82,.2);}
.speed-instrument{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;}
.speed-instrument .instrument-label,.compass-instrument span{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#bcd2ec;}
.speed-instrument strong{font-size:5.4rem;line-height:.9;letter-spacing:-.06em;margin:14px 0 6px;}
.speed-instrument small{font-size:1rem;font-weight:800;color:#dceafd;}
.compass-instrument{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px;}
.compass-ring{width:112px;height:112px;min-width:112px;border-radius:50%;border:3px solid rgba(255,255,255,.72);position:relative;display:grid;place-items:center;box-shadow:inset 0 0 0 8px rgba(255,255,255,.07);}
.compass-ring span:not(.compass-arrow){position:absolute;font-size:.68rem;color:#dceafd;}
.compass-n{top:5px}.compass-e{right:7px}.compass-s{bottom:5px}.compass-w{left:7px}
.compass-arrow{font-size:3.4rem!important;color:#fff!important;display:block;transform:rotate(var(--course,0deg));transition:transform .35s ease;line-height:1;}
.compass-instrument>div:last-child{display:flex;flex-direction:column;gap:5px;min-width:0;}
.compass-instrument strong{font-size:2rem}.compass-instrument small{color:#dceafd;}
.cockpit-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:12px;}
.cockpit-info-grid article{background:#fff;border:1px solid rgba(31,87,164,.13);border-radius:18px;padding:13px;min-height:92px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 8px 18px rgba(20,63,120,.08);position:relative;}
.cockpit-info-grid span{font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em;color:#5d78a0;}
.cockpit-info-grid strong{font-size:1.45rem;color:#153d70;margin-top:5px;line-height:1.1;}
.cockpit-info-grid small{color:#6b7f9d;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.target-card b{position:absolute;right:12px;top:12px;background:#eaf2ff;color:#1e5eb5;border-radius:999px;padding:5px 8px;font-size:.78rem;}
.cockpit-drift-v39{display:grid;grid-template-columns:auto 1fr auto;}
.drift-arrow-wrap{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#dbeaff;color:#175eb5;}
.drift-arrow-wrap span{font-size:2.3rem;display:block;transform:rotate(var(--drift,0deg));transition:transform .35s ease;}
.cockpit-status-v39{gap:6px}.cockpit-status-v39 .status-pill{font-size:.75rem;}
.cockpit-actions-v39{grid-template-columns:repeat(3,minmax(0,1fr));}
.cockpit-actions-v39 button{aspect-ratio:1.2/1;min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px;}
.cockpit-actions-v39 button span{font-size:1.75rem;line-height:1}.cockpit-actions-v39 button small{font-size:.78rem;font-weight:850;}
.gps-help-card{margin:12px 0;padding:13px;border-radius:16px;background:#fff1e6;border:1px solid #f4c89e;color:#7a4218;}
.gps-help-card p{margin:5px 0 10px;line-height:1.35}.gps-help-card.hidden{display:none;}
@media(max-width:680px){
 .cockpit-main{grid-template-columns:1fr;}.speed-instrument{min-height:190px}.speed-instrument strong{font-size:5rem}.compass-instrument{min-height:138px}.cockpit-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.cockpit-drift-v39{grid-template-columns:auto 1fr}.cockpit-drift-v39 button{grid-column:1/-1}.cockpit-actions-v39{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(min-width:760px){.cockpit-actions-v39{grid-template-columns:repeat(6,minmax(0,1fr));}.cockpit-info-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}


/* BETA 4.0 – Smart-Cockpit Feinschliff */
.cockpit-v40{background:linear-gradient(180deg,#f9fbff,#eef5ff);overflow:hidden}
.cockpit-main-v40{display:grid;grid-template-columns:1.08fr .92fr;gap:12px;margin:10px 0 12px}
.speed-instrument-v40,.compass-instrument-v40{background:linear-gradient(160deg,#0d2a4e,#1c4f87);color:#fff;border-radius:24px;min-height:185px;box-shadow:0 16px 30px rgba(10,42,82,.2)}
.speed-instrument-v40{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.speed-instrument-v40 .instrument-label,.compass-instrument-v40 .compass-readout span{font-size:.76rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:#bcd2ec}
.speed-instrument-v40 strong{font-size:5.7rem;line-height:.86;letter-spacing:-.07em;margin:12px 0 5px}
.speed-instrument-v40 small{font-size:1rem;font-weight:850;color:#e3efff}
.compass-instrument-v40{display:flex;align-items:center;justify-content:center;gap:18px;padding:14px}
.compass-ring-v40{width:126px;height:126px;min-width:126px;border-radius:50%;border:3px solid rgba(255,255,255,.75);position:relative;display:grid;place-items:center;box-shadow:inset 0 0 0 8px rgba(255,255,255,.07)}
.compass-ring-v40>span:not(.compass-arrow):not(.compass-wind-arrow):not(.compass-target-arrow){position:absolute;font-size:.68rem;color:#dceafd;font-weight:800}
.compass-ring-v40 .compass-n{top:5px}.compass-ring-v40 .compass-e{right:7px}.compass-ring-v40 .compass-s{bottom:5px}.compass-ring-v40 .compass-w{left:7px}
.compass-ring-v40 .compass-arrow{font-size:3.5rem!important;color:#fff!important;display:block;transform:rotate(var(--course,0deg));transition:transform .35s ease;line-height:1;z-index:4}
.compass-wind-arrow,.compass-target-arrow{position:absolute;left:50%;top:50%;transform-origin:50% 50%;display:block;line-height:1;transition:transform .35s ease}
.compass-wind-arrow{font-size:1.45rem;color:#ffb000;transform:translate(-50%,-50%) rotate(var(--wind,0deg)) translateY(-48px);z-index:2}
.compass-target-arrow{font-size:1.1rem;color:#55e08a;transform:translate(-50%,-50%) rotate(var(--target,0deg)) translateY(-42px);z-index:3}
.compass-readout{display:flex;flex-direction:column;gap:4px;min-width:0}.compass-readout strong{font-size:2.15rem}.compass-readout small{color:#e3efff}
.cockpit-status-grid-v40{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}
.status-card-v40{background:#fff;border:1px solid rgba(31,87,164,.13);border-radius:16px;padding:10px 11px;min-height:78px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 7px 16px rgba(20,63,120,.07);position:relative;border-left-width:5px}
.status-card-v40.gps{border-left-color:#28a86b}.status-card-v40.wind{border-left-color:#f0a11d}.status-card-v40.target{border-left-color:#2685db}.status-card-v40.eta{border-left-color:#7c66d9}
.status-card-v40 span{font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:#607ba1}.status-card-v40 strong{font-size:1.2rem;color:#153d70;margin-top:3px;line-height:1.1}.status-card-v40 small{color:#6b7f9d;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-card-v40 b{position:absolute;right:9px;top:8px;background:#eaf2ff;color:#1e5eb5;border-radius:999px;padding:4px 7px;font-size:.68rem}
.target-summary-v40{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid rgba(31,87,164,.13);border-radius:16px;padding:12px;margin-bottom:9px}.target-summary-v40>div:first-child{display:flex;flex-direction:column;min-width:0}.target-summary-v40 span{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;font-weight:850;color:#607ba1}.target-summary-v40 strong{color:#163d6d;font-size:1.08rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.target-summary-v40 small{color:#657e9f}.target-summary-actions{display:flex;gap:7px;flex:0 0 auto}.target-summary-actions button{padding:9px 12px}.smart-target-panel-v40.hidden{display:none}.smart-target-panel-v40{margin-bottom:10px}
.cockpit-drift-v40{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;background:#fff;border:1px solid rgba(31,87,164,.13);border-radius:17px;padding:12px;margin-bottom:10px}.drift-arrow-wrap-v40{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:#dbeaff;color:#175eb5}.drift-arrow-wrap-v40 span{font-size:2.35rem;display:block;transform:rotate(var(--drift,0deg));transition:transform .35s ease}.cockpit-drift-v40 strong{display:block;color:#153d70;margin:2px 0}.cockpit-drift-v40 small{color:#647b9d}
.cockpit-status-v40{gap:6px;margin-bottom:10px}.cockpit-status-v40 .status-pill{font-size:.72rem;padding:7px 9px}.status-pill.good{background:#e5f7ec;color:#167044}.status-pill.warn{background:#fff4dc;color:#865c0d}.status-pill.danger{background:#ffe6e6;color:#9b2525}
.arrival-notice-v40{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#e6f8ed;border:1px solid #9fddb5;color:#176b3b;border-radius:15px;padding:11px 13px;margin-bottom:10px}.arrival-notice-v40.hidden{display:none}.arrival-notice-v40 strong{font-size:1rem}.arrival-notice-v40 span{font-size:.85rem}
.cockpit-actions-v40{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.cockpit-actions-v40 button{aspect-ratio:1/1;min-height:76px;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:7px}.cockpit-actions-v40 button span{font-size:2rem;line-height:1}.cockpit-actions-v40 button small{font-size:.72rem;font-weight:850}
.cockpit-tour-row-v40{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;margin-top:11px}.cockpit-tour-row-v40 button{white-space:nowrap}.cockpit-tour-row-v40 span{font-size:.84rem;color:#607796}
@media(max-width:720px){.cockpit-main-v40{grid-template-columns:1fr}.speed-instrument-v40{min-height:165px}.speed-instrument-v40 strong{font-size:5rem}.compass-instrument-v40{min-height:138px}.cockpit-status-grid-v40{grid-template-columns:repeat(2,minmax(0,1fr))}.cockpit-actions-v40{grid-template-columns:repeat(3,minmax(0,1fr))}.target-summary-v40{align-items:flex-start}.cockpit-tour-row-v40{grid-template-columns:1fr}.cockpit-drift-v40{grid-template-columns:auto 1fr}.cockpit-drift-v40 button{grid-column:1/-1}}


/* BETA 4.1 – kompletter Cockpit-Feinschliff */
.cockpit-head-v41{align-items:center}.cockpit-head-actions-v41{display:flex;align-items:center;gap:8px}.cockpit-theme-btn-v41{padding:8px 11px;border-radius:999px;font-size:.78rem}
.cockpit-v40{border:1px solid rgba(34,91,165,.1);box-shadow:0 18px 45px rgba(22,64,120,.09)}
.speed-instrument-v40,.compass-instrument-v40{min-height:168px;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.speed-instrument-v40 strong{font-size:5.05rem;margin:10px 0 4px;transition:transform .22s ease,color .22s ease}
.speed-instrument-v40.moving-v41 strong{transform:scale(1.025)}.speed-instrument-v40.fast-v41{background:linear-gradient(160deg,#163c68,#146b8b)}
.compass-ring-v40{width:120px;height:120px;min-width:120px}.compass-wind-arrow{font-size:1.08rem;transform:translate(-50%,-50%) rotate(var(--wind,0deg)) translateY(-51px);filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}.compass-target-arrow{font-size:1rem;color:#58a8ff;transform:translate(-50%,-50%) rotate(var(--target,0deg)) translateY(-42px);filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}
.status-card-v40{min-height:72px;padding:9px 11px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.status-card-v40:hover{transform:translateY(-1px);box-shadow:0 9px 20px rgba(20,63,120,.1)}
.status-card-v40 strong{font-size:1.13rem}.status-card-v40 small{font-size:.78rem}.status-card-v40 b{top:7px;right:8px}
.target-summary-v40{padding:11px 12px;transition:box-shadow .25s ease,border-color .25s ease}.target-summary-v40.target-pulse-v41{border-color:#2a7bd0;box-shadow:0 0 0 4px rgba(42,123,208,.12)}
.cockpit-drift-v40{padding:11px 12px}.cockpit-drift-v40.active-drift-v41{border-color:rgba(34,111,199,.35);box-shadow:0 9px 22px rgba(30,92,169,.09)}.cockpit-drift-v40.active-drift-v41 .drift-arrow-wrap-v40{background:#cfe7ff;animation:driftPulse41 1.8s ease-in-out infinite}
@keyframes driftPulse41{0%,100%{box-shadow:0 0 0 0 rgba(36,117,205,.18)}50%{box-shadow:0 0 0 8px rgba(36,117,205,0)}}
.cockpit-actions-v40 button{transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.cockpit-actions-v40 button:active{transform:scale(.96)}.cockpit-actions-v40 button:hover{box-shadow:0 10px 20px rgba(18,78,143,.15)}
.cockpit-tour-row-v40{padding-top:2px}.cockpit-tour-row-v40 span{line-height:1.35}
.arrival-notice-v40{animation:arrival41 .45s ease-out}@keyframes arrival41{from{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}
/* Nachtmodus nur für Cockpit */
.cockpit-v40.night-v41{background:linear-gradient(180deg,#09182b,#0f2745);color:#eaf4ff;border-color:#244a74;box-shadow:0 18px 45px rgba(0,0,0,.28)}
.cockpit-v40.night-v41 .section-head h3,.cockpit-v40.night-v41 .eyebrow{color:#eaf4ff}.cockpit-v40.night-v41 .speed-instrument-v40,.cockpit-v40.night-v41 .compass-instrument-v40{background:linear-gradient(160deg,#020914,#0a2440);box-shadow:0 16px 30px rgba(0,0,0,.35)}
.cockpit-v40.night-v41 .status-card-v40,.cockpit-v40.night-v41 .target-summary-v40,.cockpit-v40.night-v41 .cockpit-drift-v40{background:#102943;border-color:#244e78}.cockpit-v40.night-v41 .status-card-v40 strong,.cockpit-v40.night-v41 .target-summary-v40 strong,.cockpit-v40.night-v41 .cockpit-drift-v40 strong{color:#f2f7ff}.cockpit-v40.night-v41 .status-card-v40 span,.cockpit-v40.night-v41 .status-card-v40 small,.cockpit-v40.night-v41 .target-summary-v40 span,.cockpit-v40.night-v41 .target-summary-v40 small,.cockpit-v40.night-v41 .cockpit-drift-v40 small,.cockpit-v40.night-v41 .cockpit-tour-row-v40 span{color:#a9c3df}.cockpit-v40.night-v41 .ghost{background:#183b60;color:#eaf4ff;border-color:#315b86}.cockpit-v40.night-v41 .status-pill{filter:saturate(.85) brightness(.9)}
@media(max-width:720px){.speed-instrument-v40{min-height:150px}.speed-instrument-v40 strong{font-size:4.35rem}.compass-instrument-v40{min-height:132px}.cockpit-status-grid-v40{gap:7px}.status-card-v40{min-height:68px}.cockpit-head-actions-v41{gap:5px}.cockpit-theme-btn-v41{padding:7px 9px}.cockpit-actions-v40 button{min-height:70px}.cockpit-actions-v40 button span{font-size:1.8rem}}


/* BETA 4.2 – Feinschliff, Statusfarben, Animationen und Ladezustände */
#boatView{background:linear-gradient(180deg,#edf4fd 0%,#e7eff9 60%,#eef4fb 100%);border-radius:28px;padding-bottom:24px;}
.weather-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px!important;}
.weather-actions>*{width:100%;min-height:48px;}
.wx-main-temp strong{font-size:clamp(2.8rem,7.2vw,5rem)!important;letter-spacing:-.05em;transition:transform .35s ease,opacity .25s ease;}
.wx-metrics article{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.wx-metrics article:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(28,78,145,.12);border-color:rgba(31,103,199,.32);}
.wx-score-card{position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease;}
.wx-score-card::after{content:"";position:absolute;inset:auto -30px -55px auto;width:150px;height:150px;border-radius:50%;background:currentColor;opacity:.07;pointer-events:none;}
.wx-score-card.score-red{color:#b42318;background:linear-gradient(145deg,#fff,#fff1f0);border-color:#f6c1bd;}
.wx-score-card.score-orange{color:#b54708;background:linear-gradient(145deg,#fff,#fff4e8);border-color:#f6cf9f;}
.wx-score-card.score-yellow{color:#8a6500;background:linear-gradient(145deg,#fff,#fff9df);border-color:#ead98b;}
.wx-score-card.score-green{color:#067647;background:linear-gradient(145deg,#fff,#eefbf5);border-color:#a8dfc8;}
.wx-score-card>strong{color:currentColor!important;transition:transform .35s ease,opacity .25s ease;}
.value-pop{animation:valuePop42 .42s ease both;}@keyframes valuePop42{0%{transform:scale(.94);opacity:.55}65%{transform:scale(1.04)}100%{transform:scale(1);opacity:1}}
.view{animation:viewIn42 .24s ease both;}@keyframes viewIn42{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
button,.button-link{transition:transform .12s ease,box-shadow .18s ease,filter .18s ease,background-color .18s ease;}
button:active,.button-link:active{transform:scale(.975);filter:brightness(.97);}
.bottom-nav button.active{box-shadow:0 10px 24px rgba(22,89,178,.16);}
.compass-arrow-v40,.wind-arrow-v40,.target-arrow-v40,.drift-arrow-v40{transition:transform .5s cubic-bezier(.2,.75,.25,1)!important;}
.wx-loading .weather-live-card,.wx-loading .wx-score-card,.wx-loading .wx-smart-card{position:relative;overflow:hidden;}
.wx-loading .weather-live-card::before,.wx-loading .wx-score-card::before,.wx-loading .wx-smart-card::before{content:"";position:absolute;inset:0;z-index:5;background:linear-gradient(100deg,rgba(238,244,252,.2) 20%,rgba(255,255,255,.78) 40%,rgba(238,244,252,.2) 60%);background-size:220% 100%;animation:skeleton42 1.2s linear infinite;pointer-events:none;}
@keyframes skeleton42{to{background-position:-220% 0}}
.cockpit-v40{transition:background .3s ease,box-shadow .3s ease,border-color .3s ease;}
.cockpit-v40 .quick-action-v40{will-change:transform;}
@media(max-width:720px){.weather-actions{grid-template-columns:1fr!important}.weather-actions>*{min-height:44px}.wx-main-temp strong{font-size:3.8rem!important}#boatView{border-radius:20px}}


/* BETA 4.3 – Karten-UX: Attribution, Cluster und einklappbare Filter */
.bottom-nav{
  z-index:10000 !important;
  isolation:isolate;
}
#map{
  z-index:0;
  isolation:isolate;
}
#map .leaflet-control-container,
#map .leaflet-pane{
  z-index:auto;
}
#map .leaflet-top,
#map .leaflet-bottom{
  z-index:650 !important;
}
#map .leaflet-bottom{
  bottom:calc(76px + env(safe-area-inset-bottom)) !important;
}
#map .leaflet-control-attribution{
  position:relative;
  z-index:1 !important;
  margin:0 4px 4px 0 !important;
  padding:2px 5px !important;
  border-radius:7px 0 0 0;
  background:rgba(255,255,255,.9) !important;
  box-shadow:0 2px 8px rgba(16,36,62,.12);
  white-space:nowrap;
}
.map-filter-toggle-row{
  display:flex;
  justify-content:flex-end;
  margin:.25rem 0 .45rem;
}
.map-filter-toggle{
  min-width:150px;
}
.map-filters-panel{
  display:grid;
  grid-template-rows:1fr;
  opacity:1;
  transform:translateY(0);
  transition:grid-template-rows .24s ease,opacity .2s ease,transform .24s ease,margin .24s ease;
  overflow:hidden;
}
.map-filters-panel > *{
  min-height:0;
}
.map-filters-panel.collapsed{
  grid-template-rows:0fr;
  opacity:0;
  transform:translateY(-6px);
  margin-bottom:0;
  pointer-events:none;
}
.map-cluster-icon{
  background:transparent !important;
  border:0 !important;
}
.map-cluster-bubble{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(145deg,#2382d7,#124e9a);
  border:4px solid rgba(255,255,255,.94);
  box-shadow:0 8px 20px rgba(10,46,94,.34);
  font-size:1.05rem;
  font-weight:950;
  line-height:1;
}
.map-cluster-bubble small{
  display:block;
  margin-top:1px;
  font-size:.48rem;
  font-weight:800;
  letter-spacing:.02em;
  opacity:.9;
}
.map-cluster-popup-list{
  max-height:220px;
  overflow:auto;
  padding-right:4px;
}
.map-cluster-popup-list button{
  width:100%;
  display:block;
  margin:4px 0;
  padding:7px 9px;
  border:0;
  border-radius:9px;
  background:#e9f2ff;
  color:#123c70;
  text-align:left;
  font-weight:750;
}
@media(max-width:700px){
  #map .leaflet-bottom{bottom:calc(70px + env(safe-area-inset-bottom)) !important;}
  .map-filter-toggle-row{justify-content:stretch;}
  .map-filter-toggle{width:100%;}
}


/* BETA 4.4–4.8 (bereinigt in V6.1): Die frueheren CSS-Patch-Schichten erzwangen
   feste Kartenhoehen mit !important (520px/470px) und ueberstimmten damit jede
   dynamische Hoehe. Die Kartenhoehe setzt jetzt das MapCore-Modul (JS) passend
   zum Viewport. Behalten wird nur Unstrittiges: */
#map .leaflet-bottom{ bottom:4px !important; }
#map .leaflet-control-attribution{ margin:0 4px 4px 0 !important; }
#map{ position:relative; overflow:hidden; background:#dce8f4; }

/* BETA 4.9 – Leaflet-Standardlayout wiederherstellen */
#map .leaflet-tile-pane{overflow:visible!important;}
#map .leaflet-tile-container{
  position:absolute!important;
  left:0!important;
  top:0!important;
  width:0!important;
  height:0!important;
}
#map img.leaflet-tile{
  position:absolute!important;
  max-width:none!important;
  max-height:none!important;
  width:256px!important;
  height:256px!important;
}
#map .leaflet-map-pane,
#map .leaflet-tile-pane,
#map .leaflet-tile-container{will-change:transform!important;}


/* Beta 4.10 – Deutschland-Seenkatalog sauber ausgerichtet */
.catalog-grid{align-items:stretch;}
.catalog-lake-card{position:relative;min-height:100%;display:flex;flex-direction:column;}
.catalog-lake-card .catalog-card-head{position:relative;display:block;min-height:128px;padding-right:132px;}
.catalog-lake-card .catalog-card-head>div{min-width:0;}
.catalog-lake-card .catalog-card-head h4{max-width:100%;overflow-wrap:anywhere;}
.catalog-lake-card .catalog-card-head .risk-badge{position:absolute !important;top:0;right:0;margin:0 !important;}
.catalog-lake-card>p{margin-top:.15rem;}
.catalog-lake-card .catalog-meta{margin-top:auto;}
.catalog-lake-card .form-actions{margin-top:.7rem;align-items:center;}
@media(max-width:620px){
  .catalog-lake-card .catalog-card-head{min-height:104px;padding-right:108px;}
  .catalog-lake-card .catalog-card-head .risk-badge{top:0;right:0;}
}


/* Version 5.0 RC – Release-Veredelung */
:root{--safe-bottom:env(safe-area-inset-bottom,0px);}
html{scroll-behavior:smooth;}
body{overscroll-behavior-y:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
button,select,input,textarea{touch-action:manipulation;}
.bottom-nav{padding-bottom:calc(8px + var(--safe-bottom));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);}
.view{animation:v5ViewIn .2s ease-out;}
@keyframes v5ViewIn{from{opacity:.25;transform:translateY(4px)}to{opacity:1;transform:none}}
.release-pill,.premium-status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 11px;font-weight:900;background:#dbeafe;color:#1556a8;}
.release-hero{background:linear-gradient(145deg,#10243e,#194d89);color:#fff;overflow:hidden;position:relative;}
.release-hero .eyebrow,.release-hero p{color:#dceaff;}
.release-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;}
.release-grid>div{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:5px;}
.release-grid span{font-size:.9rem;color:#d8e7fb;line-height:1.35;}
.premium-feature-list{display:grid;gap:9px;margin:16px 0;}
.premium-feature-list>div{display:flex;gap:10px;align-items:center;padding:11px 12px;border-radius:14px;background:#f3f7fd;}
.premium-feature-list span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#d9f4e5;color:#137047;font-weight:900;}
.premium-active .premium-status-pill{background:#fff0bd;color:#7c5500;}
.release-checklist{display:grid;gap:8px;margin:12px 0;}
.release-check-item{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:#f5f8fc;}
.release-check-item.ok strong{color:#137047}.release-check-item.warn strong{color:#a55f00}.release-check-item.bad strong{color:#b42318}
.app-startup-shield{position:fixed;inset:0;z-index:30000;background:linear-gradient(145deg,#0d2038,#1d5ea8);display:grid;place-items:center;color:#fff;transition:opacity .24s ease,visibility .24s ease;}
.app-startup-shield.hidden{opacity:0;visibility:hidden;pointer-events:none;}
.app-startup-inner{text-align:center;padding:24px}.app-startup-spinner{width:46px;height:46px;margin:0 auto 16px;border-radius:50%;border:4px solid rgba(255,255,255,.25);border-top-color:#fff;animation:v5spin .8s linear infinite;}
@keyframes v5spin{to{transform:rotate(360deg)}}
@media(max-width:620px){.release-grid{grid-template-columns:1fr}.release-hero{border-radius:20px}.release-grid>div{padding:12px}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}


/* V5.1 – Direkter SMHI-Download-Assistent */
.smhi-quick-panel{margin:14px 0 16px;padding:16px;border-radius:18px;background:linear-gradient(145deg,#eaf4ff,#f8fbff);border:1px solid #bcd8f3;box-shadow:0 10px 26px rgba(25,82,137,.10);}
.smhi-quick-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.smhi-quick-head h4{margin:2px 0 0;color:#123f70;font-size:1.12rem;}
.smhi-source-badge{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:7px 10px;border-radius:999px;background:#1769aa;color:#fff;font-weight:800;font-size:.78rem;letter-spacing:.04em;}
.smhi-quick-panel>p{margin:8px 0 12px;color:#4f6d89;}
.smhi-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0;}
.smhi-steps span{display:flex;align-items:center;gap:7px;min-height:46px;padding:8px;border-radius:12px;background:#fff;border:1px solid #d7e7f5;color:#355a7e;font-size:.8rem;line-height:1.2;}
.smhi-steps b{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#1769aa;color:#fff;font-size:.75rem;}
.smhi-quick-actions button:first-child{background:#1769aa;color:#fff;}
.smhi-quick-panel.is-ready{border-color:#78b1e2;}
.smhi-quick-panel.is-pending{background:linear-gradient(145deg,#edf8ff,#fffdf2);border-color:#e7c567;}
@media(max-width:760px){.smhi-steps{grid-template-columns:repeat(2,minmax(0,1fr));}.smhi-quick-actions{display:grid;grid-template-columns:1fr;}.smhi-quick-actions button{width:100%;}}

/* V5.2 – direkter Tiefenkarten-Download */
.smhi-quick-panel.is-pending #smhiQuickOpenBtn{position:relative;overflow:hidden}
.smhi-quick-panel.is-pending #smhiQuickOpenBtn::after{content:"";display:inline-block;width:.85em;height:.85em;margin-left:.55em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-.12em;animation:smhiSpin52 .8s linear infinite}
@keyframes smhiSpin52{to{transform:rotate(360deg)}}

/* V5.3 – SMHI-Bedienbarkeit */
.smhi-quick-panel,.sweden-catalog-card,.catalog-card{pointer-events:auto}
[onclick*="checkCatalogLakeSmhiV21"]{touch-action:manipulation;pointer-events:auto}

/* V5.5 – sichtbarer Rücksprung zum SMHI-Import */
.smhi-return-highlight-v55{outline:4px solid rgba(22,116,185,.32);box-shadow:0 0 0 8px rgba(22,116,185,.10),0 18px 50px rgba(24,69,111,.18);transition:outline-color .25s,box-shadow .25s}

/* V5.7.2 – Kalibrierbild deutlich sichtbar */
.depth-chart-calibration-overlay{
  mix-blend-mode:normal!important;
  opacity:1!important;
  filter:contrast(2.2) brightness(.86)!important;
  outline:4px solid #ff9500;
  outline-offset:-4px;
  background:#fff;
}
.depth-calibration-marker span{
  width:52px!important;height:40px!important;
  background:#ff9500!important;color:#10243e!important;
  border:3px solid #fff!important;font-size:.82rem!important;
}

/* V5.7.4 – Kalibrierungsbild immer über der Basiskarte */
.leaflet-image-layer.depth-chart-calibration-overlay {
  z-index: 700 !important;
  opacity: 1 !important;
  visibility: visible !important;
  image-rendering: auto;
  outline: 4px solid #e58b12;
  background: rgba(255,255,255,.92);
}
.depth-calibration-marker { z-index: 900 !important; }


/* V5.7.4 – Neu kalibrieren gut sichtbar neben dem Tiefenkarten-Schalter */
#recalibrateDepthChartBtn {
  background: #e58b00;
  border-color: #126eb0;
  color: #fff;
  font-weight: 800;
  box-shadow: 0 0 0 2px rgba(18,110,176,.18);
}
#recalibrateDepthChartBtn:hover,
#recalibrateDepthChartBtn:focus-visible {
  transform: translateY(-1px);
  filter: brightness(1.04);
}

/* V6.0 – Vierpunkt-Kalibrierung und Deckkraft direkt in der Karte */
.depth-calibration-marker span{width:48px;height:38px;background:#ed9000;color:#10243e;border:3px solid #fff;font-size:.78rem}
.depth-calibration-marker.move span{width:76px;background:#fff3d5;color:#10243e;border-color:#ed9000}
.calibration-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.calibration-tools label{min-width:220px;font-weight:800}.calibration-tools input{width:180px;vertical-align:middle;margin-left:8px}.calibration-tools output{display:inline-block;min-width:48px;color:#a65e00}
.map-depth-opacity{display:flex;align-items:center;gap:10px;margin:8px 0 10px;padding:10px 14px;border:1px solid rgba(16,36,62,.16);border-radius:16px;background:rgba(255,255,255,.92);box-shadow:0 6px 18px rgba(16,36,62,.08)}.map-depth-opacity label{font-weight:850;white-space:nowrap}.map-depth-opacity input{flex:1;min-width:140px}.map-depth-opacity output{font-weight:900;color:#a65e00;min-width:46px;text-align:right}
.warped-depth-chart{position:absolute;transform-origin:0 0;pointer-events:none;user-select:none;-webkit-user-drag:none;mix-blend-mode:multiply}
@media(max-width:720px){.calibration-tools{align-items:stretch}.calibration-tools label{min-width:0;width:100%}.calibration-tools input{width:65%}.map-depth-opacity{margin-left:0;margin-right:0}}

/* ===== V6.1 – Vollflaechige Karte + Bottom-Sheets (ersetzt Panel-Stapel) ===== */
#mapView .map-shell{display:flex;flex-direction:column;gap:10px}
#mapView .map-topbar{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
#mapView .map-topbar h2{margin:0}
/* V7.13.3 – Karten-Buttons umbrechen statt horizontal scrollen: auf dem Handy
   waren die hinteren Buttons versteckt, auf dem Desktop rechts abgeschnitten. */
#mapView .map-topbar-actions{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:2px}
#mapView .map-topbar-actions .map-small-button{flex:0 0 auto;white-space:nowrap}
/* Hoehe wird vom MapCore-Modul dynamisch gesetzt (Viewport minus Kopf/Tabbar) */
#mapView #map{height:60vh;min-height:300px}
/* Unten Platz für die Tabbar (z-index 10000, liegt über dem Sheet) reservieren,
   sonst verdeckt sie den letzten Sheet-Inhalt. */
.map-sheet{position:fixed;left:0;right:0;bottom:0;z-index:900;background:#fff;border-radius:22px 22px 0 0;box-shadow:0 -14px 40px rgba(16,36,62,.25);padding:16px 18px calc(84px + env(safe-area-inset-bottom));max-height:78dvh;overflow-y:auto;-webkit-overflow-scrolling:touch}
.map-sheet.hidden{display:none}
.map-sheet-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.map-sheet-head h3{margin:0}
.map-sheet-close{background:var(--surface2,#eef3f9);border:none;border-radius:999px;width:36px;height:36px;font-size:1rem;line-height:1;flex:0 0 auto}
.legacy-overlay-hidden{display:none !important}
.map-filters-panel .filter-strip{margin:6px 0 4px}

/* V6.1 – Navigation: 6 gleichmaessige Tabs, kein horizontales Wackeln mehr */
.bottom-nav.bottom-nav-v61{grid-template-columns:repeat(6,1fr) !important;overflow-x:hidden !important}
.bottom-nav.bottom-nav-v61 button{min-width:0 !important;font-size:.62rem}
.bottom-nav.bottom-nav-v61 button span{font-size:1.22rem}
/* V6.1 – Wetterbeobachtungen eingeklappt */
details.weather-observations>summary{cursor:pointer;list-style:none}
details.weather-observations>summary::-webkit-details-marker{display:none}
details.weather-observations>summary .section-head{margin:0}

/* V6.1.1 – Kalibrier-Panel kompakt + ueber der Tab-Leiste (waehrend der Kalibrierung
   braucht man die Navigation nicht, die Karte bekommt den Platz) */
.depth-calibration-panel{bottom:calc(6px + env(safe-area-inset-bottom));padding:10px 14px;border-radius:16px;gap:10px}
.depth-calibration-panel h3{font-size:.95rem;margin:0 0 2px}
.depth-calibration-panel p{display:none}
.depth-calibration-panel small{display:none}
.depth-calibration-panel .eyebrow{margin:0;font-size:.62rem}
.depth-calibration-panel .calibration-tools{display:flex;align-items:center;gap:10px;margin-top:4px}
.depth-calibration-panel .calibration-tools label{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;margin:0}
.depth-calibration-panel .calibration-tools input[type=range]{width:130px;margin:0}
.depth-calibration-panel .form-actions{display:flex;gap:8px}
.depth-calibration-panel .form-actions button{padding:9px 14px;font-size:.88rem}
@media(max-width:720px){
  .depth-calibration-panel{flex-direction:row;flex-wrap:wrap;align-items:center}
  .depth-calibration-panel .form-actions{width:auto;margin-left:auto}
}

/* V6.1.2 – Waehrend der Kalibrierung: Tab-Leiste ausblenden (verhinderte auf
   Safari die saubere Ueberlagerung) und Panel garantiert zuoberst */
body.depth-calibrating .bottom-nav{display:none !important}
body.depth-calibrating .depth-calibration-panel{z-index:3000 !important}

/* V6.1.3 – Schliessen-Kreis: ✕ exakt zentriert */
.map-sheet-close{display:grid;place-items:center;padding:0;line-height:1}

/* V6.1.4 – Schieberegler: kein Textfeld-Innenabstand mehr (der liess bei 100 %
   rechts ein leeres Stueck Huelle stehen); gilt fuer alle range-Inputs */
input[type=range]{padding:0;border:none;background:transparent;accent-color:var(--accent,#1b6dbe)}
input[type=range]:focus{box-shadow:none}

/* V6.2.0 – Fishradar: Herzstück der Heute-Ansicht */
.fishradar-card{border:1px solid #bfd7f5;background:linear-gradient(150deg,#f6fbff,#e9f4ff)}
.fishradar-card .section-head{flex-wrap:wrap}
.fishradar-day-switch{display:flex;gap:4px;background:var(--surface2);border-radius:999px;padding:4px}
.fishradar-day-switch button{background:transparent;color:var(--ink);padding:.45rem .95rem;border-radius:999px;font-size:.86rem}
.fishradar-day-switch button.active{background:var(--accent);color:#fff}
.fishradar-fish-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.fishradar-fish-tabs button{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #cfe1f5;color:var(--ink);padding:.5rem .8rem;border-radius:999px;font-size:.88rem}
.fishradar-fish-tabs button b{background:var(--surface2);border-radius:999px;padding:2px 8px;font-size:.8rem}
.fishradar-fish-tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}
.fishradar-fish-tabs button.active b{background:rgba(255,255,255,.22);color:#fff}
.fishradar-hero{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;background:#fff;border:1px solid #d9e8f8;border-radius:18px;padding:16px}
.fishradar-score{width:86px;height:86px;flex:0 0 86px;border-radius:50%;display:grid;place-content:center;text-align:center;color:#fff;background:#0b69c7;box-shadow:var(--shadow)}
.fishradar-score strong{font-size:1.7rem;line-height:1}
.fishradar-score span{font-size:.7rem;opacity:.85}
.fishradar-score[data-grade=top]{background:linear-gradient(150deg,#1c7a43,#2ba05c)}
.fishradar-score[data-grade=good]{background:linear-gradient(150deg,#0b69c7,#2f8fe0)}
.fishradar-score[data-grade=mid]{background:linear-gradient(150deg,#b07f1e,#d29a2e)}
.fishradar-score[data-grade=low]{background:linear-gradient(150deg,#8c2f2a,#a83832)}
.fishradar-hero-copy h3{margin-bottom:.35rem}
.fishradar-hero-copy p{color:var(--muted);font-size:.92rem;margin-bottom:.6rem}
.fishradar-chips{display:flex;flex-wrap:wrap;gap:8px}
.fishradar-chip{background:#e8f2ff;border-radius:999px;padding:6px 11px;font-size:.85rem}
.fishradar-actions{display:flex;gap:8px;margin-top:12px}
.fishradar-warning{margin-top:12px;padding:10px 14px;border-radius:14px;background:#fff3ec;border:1px solid #eec5ad;font-size:.88rem;font-weight:650}
.fishradar-meta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:12px;color:var(--muted);font-size:.82rem}
.fishradar-meta button.linklike{background:none;color:var(--accent);padding:0;font-size:.82rem;font-weight:750;text-decoration:underline}
@media(max-width:560px){.fishradar-hero{grid-template-columns:1fr}.fishradar-score{width:74px;height:74px}}

/* V6.3.0 – Fishradar-KI: Kennzeichnung der von Claude formulierten Empfehlung */
.fishradar-ai-badge{display:inline-block;background:var(--accent2);color:#fff;border-radius:6px;padding:1px 6px;font-size:.66rem;font-weight:850;letter-spacing:.06em;vertical-align:2px}

/* V6.4.0 – Angelmodus: Auto-Wetter-Hinweis + KI-Guide-Karte */
.guide-autofill-hint{margin:.4rem 0 0;font-size:.8rem;color:var(--muted)}
.guide-ai-card{border:1px solid #bfd7f5;background:linear-gradient(150deg,#f6fbff,#e9f4ff)}
.guide-ai-text{font-size:.95rem;line-height:1.5}
.guide-ai-text .hint{color:var(--muted)}

/* V6.5.0 – Hotspots & Startplan: KI-Einstieg pro See */
.hotspots-head-card{border:1px solid #bfd7f5;background:linear-gradient(150deg,#f8fbff,#edf6ff)}
.hotspots-lake-head h3{margin:.15rem 0 .5rem}
.hotspots-fish-chips{display:flex;flex-wrap:wrap;gap:6px}
.hotspots-fish-chips .fish-chip{background:#e8f2ff;border-radius:999px;padding:4px 10px;font-size:.82rem}
.hotspots-permit{margin:.6rem 0 0;font-size:.85rem;color:var(--muted)}
/* V6.7.0 – Küste: Angeln ist frei, das darf man sehen */
.hotspots-permit-free{color:#1c7a43;font-weight:700}
/* V7.3.0 – am Meer wird vom Ufer gefischt, das Schlauchboot bleibt an Land */
.hotspots-shore{margin:.7rem 0 0;padding:.55rem .7rem;font-size:.85rem;line-height:1.45;
  color:#0d3f6b;background:#e8f2ff;border-left:3px solid var(--accent);border-radius:0 8px 8px 0}
.hotspots-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.hotspots-fish-tabs{display:flex;gap:8px;flex-wrap:wrap}
.hotspots-fish-tabs button{background:#fff;border:1px solid #cfe1f5;color:var(--ink);padding:.5rem .9rem;border-radius:999px;font-size:.9rem}
.hotspots-fish-tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}
.hotspots-disclaimer{margin:.7rem 0 0;font-size:.78rem;color:var(--muted)}
.hotspots-empty h3{margin:0 0 .35rem}
.hotspots-empty p{color:var(--muted);margin:0;font-size:.9rem}

/* V6.9.0 – Übernachten & Slippen: Plätze mit Google-Maps-Sprung */
.stays-card{border:1px solid #cfe3d3;background:linear-gradient(150deg,#f7fdf9,#ecf7ef)}
.stay-item{display:grid;gap:3px;text-align:left;width:100%;background:#fff;border:1px solid #d8e8dc;border-radius:14px;padding:11px 13px;color:var(--ink);margin-bottom:8px}
.stay-item:hover{border-color:#1c7a43}
.stay-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.stay-top strong{font-size:.95rem}
.stay-top em{font-style:normal;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#1c7a43;white-space:nowrap}
.stay-note{font-size:.83rem;color:var(--muted);line-height:1.35;font-weight:500}
.stay-maps{font-size:.78rem;font-weight:750;color:var(--accent);margin-top:3px}
.stay-search{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.stay-search button{font-size:.85rem;padding:.55rem .9rem}

/* V6.8.0 – Ausrüstung: Gerät, Schnur, Montage-Schema */
.tackle-card{border:1px solid #e2d6b8;background:linear-gradient(150deg,#fffdf7,#fdf6e6)}
.tackle-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 16px}
.tackle-list>div{background:#fff;border:1px solid var(--line,#e6ddc8);border-radius:14px;padding:10px 12px}
.tackle-list dt{font-size:.72rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.tackle-list dd{margin:0;font-size:.92rem;font-weight:650;line-height:1.35}
.tackle-montage{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;background:#fff;border:1px solid var(--line,#e6ddc8);border-radius:16px;padding:14px}
.tackle-figure{margin:0;text-align:center}
.tackle-figure svg{width:150px;height:190px;display:block}
.tackle-figure figcaption{margin-top:6px;font-size:.76rem;font-weight:800;color:var(--accent)}
.tackle-montage-text h4{margin:0 0 .3rem;font-size:.9rem}
.tackle-montage-text h4+p{margin:0 0 .8rem;font-size:.9rem;line-height:1.45;color:var(--muted)}
.tackle-achtung{margin:0;padding-left:1.1rem;display:grid;gap:5px}
.tackle-achtung li{font-size:.88rem;line-height:1.4}
@media(max-width:620px){
  .tackle-list{grid-template-columns:1fr}
  .tackle-montage{grid-template-columns:1fr;gap:12px}
  .tackle-figure svg{width:170px;height:215px;margin:0 auto}
}

/* V7.0.0 – Zwei Routenvarianten zum Vergleichen */
.route-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}
.route-tabs button{display:grid;gap:2px;background:#fff;border:1px solid #cfe1f5;color:var(--ink);border-radius:14px;padding:9px 10px;text-align:left}
.route-tabs button span{font-weight:800;font-size:.85rem;line-height:1.2}
.route-tabs button b{font-weight:600;font-size:.68rem;color:var(--muted);line-height:1.25}
@media(max-width:560px){.route-tabs{grid-template-columns:1fr}}
.route-tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}
.route-tabs button.active b{color:#dbeeff}
.route-desc{margin:0 0 .5rem;font-size:.86rem;color:var(--muted);line-height:1.4}

/* V7.1.0 – Routenkarte: Linie + nummerierte Stationen, Camping im Popup */
.route-map{height:340px;border-radius:16px;overflow:hidden;border:1px solid var(--line,#dbe7f3);background:#c9dced;margin-bottom:6px}
.route-map-hint{margin:0 0 .6rem;font-size:.78rem;color:var(--muted)}
.route-pin{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:850;color:#fff;background:#1769aa;border:2px solid #fff;box-shadow:0 2px 6px rgba(16,36,62,.35)}
.route-pin.coast{background:#1c7a43}                 /* Meer = grün */
.route-pin.stay{box-shadow:0 0 0 3px #d29a2e, 0 2px 6px rgba(16,36,62,.35)}  /* Ring = Camping hinterlegt */
.leaflet-popup-content{font-size:.86rem;line-height:1.45}
/* Popup-Links sind blaue Buttons. Leaflets eigenes CSS (.leaflet-container a{
   color:#0078A8}) ist gleich spezifisch und wird später geladen – ohne !important
   gewinnt es und macht blau auf blau. Deshalb Textfarbe hart erzwingen. */
.leaflet-popup-content a{color:#fff !important;font-weight:750}
.leaflet-popup-content em{display:inline-block;font-style:normal;font-size:.7rem;color:#63758b;text-transform:uppercase;font-weight:800;margin-left:6px;vertical-align:middle}

/* V6.6.0 – Schweden-Seenroute: Etappen mit Direktaktivierung */
.hotspots-route{display:grid;gap:8px;margin-top:10px}
.hotspots-route-stage{margin:.9rem 0 .1rem;font-size:.7rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}
.hotspots-route-stage:first-child{margin-top:0}
.hotspots-route-item{display:grid;gap:3px;text-align:left;width:100%;background:var(--surface-soft,#f8fbff);border:1px solid var(--line,#dbe7f3);border-radius:14px;padding:11px 13px;color:var(--ink)}
.hotspots-route-item:hover{border-color:var(--accent)}
.hotspots-route-item.active{background:var(--accent);border-color:var(--accent);color:#fff}
.hotspots-route-name{font-weight:800;font-size:.95rem}
.hotspots-route-note{font-size:.82rem;color:var(--muted);font-weight:500;line-height:1.35}
.hotspots-route-item.active .hotspots-route-note{color:#e8f2ff}

/* ---- V7.4.0 Spot-Werkstatt: GPX-Punkt + Tiefe -> echter Angelspot ---- */
.workshop-card{border:1px solid #cfe1f5}
.workshop-intro{margin:.2rem 0 1rem;font-size:.88rem;line-height:1.5;color:var(--muted)}
.file-button.small{font-size:.85rem;padding:.45rem .8rem}
.ws-count{margin:0 0 .8rem;font-size:.82rem;color:var(--muted)}
.ws-empty p{margin:.2rem 0}
.ws-row{border:1px solid #dce9f7;border-radius:12px;padding:.9rem;margin-bottom:.8rem;background:#fbfdff}
.ws-row.done{border-color:#bfd7f5;background:linear-gradient(150deg,#f8fbff,#eef6ff)}
.ws-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.ws-head h4{margin:0;font-size:1rem}
.ws-coords{font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}
.ws-inputs{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:end;margin-top:.7rem}
.ws-inputs label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--muted)}
.ws-inputs input{padding:.5rem .6rem;border:1px solid #cfe1f5;border-radius:8px;font-size:.9rem}
.ws-inputs button{padding:.55rem 1rem;border-radius:8px;white-space:nowrap}
.ws-result{margin-top:.9rem;padding-top:.8rem;border-top:1px dashed #cfe1f5}
.ws-verdict{display:flex;align-items:center;gap:10px;margin-bottom:.4rem}
.ws-stars{color:#e0a800;letter-spacing:1px}
.ws-deutung{margin:.2rem 0 .6rem;font-size:.9rem;line-height:1.55}
.ws-fish{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:.7rem}
.ws-facts{display:grid;grid-template-columns:auto 1fr;gap:.35rem .8rem;margin:0;font-size:.85rem}
.ws-facts dt{font-weight:700;color:var(--accent)}
.ws-facts dd{margin:0;line-height:1.5}
.ws-warn{margin:.7rem 0 0;padding:.5rem .65rem;font-size:.84rem;line-height:1.45;
  color:#7a3b00;background:#fff4e5;border-left:3px solid #e0a800;border-radius:0 8px 8px 0}
@media (max-width:640px){
  .ws-inputs{grid-template-columns:1fr}
  .ws-inputs button{width:100%}
}
.ws-all{margin:0 0 1rem;padding:.55rem 1rem;border-radius:8px;font-size:.88rem}
.ws-all[disabled]{opacity:.6}
/* V7.5.0 – Kartenausschnitt pro Spot: die KI bekommt die Tiefenkarte als Bild */
.ws-chart{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:.7rem}
.ws-imgok{font-size:.8rem;color:#1c7a43;font-weight:600}
.ws-imgdel{background:none;border:none;color:var(--muted);font-size:.78rem;text-decoration:underline;padding:0;cursor:pointer}
.ws-nb{margin:.7rem 0 0;padding:.45rem .6rem;font-size:.78rem;line-height:1.45;color:var(--muted);
  background:#f2f7fd;border-radius:8px;font-variant-numeric:tabular-nums}
.ws-share{background:#e8f2ff;border:1px solid #bfd7f5;color:var(--accent);border-radius:999px;
  padding:.3rem .7rem;font-size:.76rem;font-weight:600;cursor:pointer}
.workshop-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ghost.small{font-size:.85rem;padding:.45rem .8rem}
/* V7.8.0 – "See nicht im Katalog"-Ausweg */
.empty-state.catalog-create{display:flex;flex-direction:column;gap:.6rem;align-items:flex-start;
  padding:1rem;background:#f2f7fd;border:1px dashed #bfd7f5;border-radius:12px}
.empty-state.catalog-create strong{font-size:1rem}
.empty-state.catalog-create span{font-size:.88rem;line-height:1.5;color:var(--muted)}
.catalog-create-btn{margin-top:.3rem;padding:.6rem 1rem;border-radius:8px;
  background:var(--accent);color:#fff;border:none;font-size:.9rem;cursor:pointer}
/* V7.9.0 – Tiefenkarte an den Startplan anhängen */
.hs-chart-upload{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:.8rem;
  padding-top:.8rem;border-top:1px dashed #cfe1f5}
.hs-chart-upload .hint{font-size:.82rem;line-height:1.45;flex:1;min-width:180px}
#hotspotsChartClear{color:var(--accent);font-weight:600}
/* V7.14.16 – Freitext-Frage an den KI-Startplan */
.hs-note-box{display:flex;flex-direction:column;gap:8px;margin-top:.8rem;padding-top:.8rem;border-top:1px dashed #cfe1f5}
.hs-note-label{font-size:.82rem;font-weight:750;color:var(--ink)}
.hs-note-input{width:100%;box-sizing:border-box;border:1px solid #cfe1f5;border-radius:12px;
  padding:.6rem .75rem;font:inherit;font-size:.9rem;line-height:1.4;resize:vertical;min-height:2.6rem;background:var(--surface)}
.hs-note-input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.hs-note-box .ghost.small{align-self:flex-start}
/* V7.12.0 – Fahrzeug-Umschalter Kajak/Boot */
.vessel-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:.4rem}
.vessel-switch button{display:flex;flex-direction:column;align-items:center;gap:2px;
  padding:.8rem .5rem;border:2px solid #cfe1f5;border-radius:12px;background:#fff;cursor:pointer;
  text-align:center;line-height:1.25}
.vessel-switch button span{font-size:1.5rem}
.vessel-switch button strong{font-size:.92rem}
.vessel-switch button small{font-size:.72rem;color:var(--muted)}
.vessel-switch button.active{border-color:var(--accent);background:linear-gradient(150deg,#f8fbff,#eaf3fd);
  box-shadow:0 2px 8px rgba(23,105,170,.12)}
.vessel-switch button.active small{color:var(--accent)}
.vessel-hint{margin:.7rem 0 0;padding:.5rem .65rem;font-size:.83rem;line-height:1.5;
  color:#0d3f6b;background:#eef6ff;border-left:3px solid var(--accent);border-radius:0 8px 8px 0}
.stay-kayak-note{margin:0 0 10px;padding:.6rem .75rem;font-size:.83rem;line-height:1.5;
  color:#0d3f6b;background:#eef6ff;border-left:3px solid var(--accent);border-radius:0 10px 10px 0}

/* ===== V70 – Felchen-Regelkarte (V7.15.0) ==================================
   Die Regeln stehen im Guide ganz oben, weil beim Felchen die Rechtslage
   (Schonzeit, Fangzahl, Fangverbot Obersee) über allem steht. Die Ampel muss
   auch mit Handschuh und in der Sonne auf einen Blick lesbar sein. */
.felchen-card{border-left:5px solid var(--accent)}
.felchen-ampel{display:inline-flex;align-items:center;border-radius:999px;padding:7px 13px;
  font-size:.76rem;font-weight:900;letter-spacing:.03em;white-space:nowrap}
.felchen-gruen{background:#dff3e4;color:#1c6236}
.felchen-orange{background:#fff1d6;color:#7a4c07}
.felchen-rot{background:#fbe1df;color:#8d2b25}
.felchen-status{margin:0 0 12px;padding:.65rem .8rem;font-size:.9rem;line-height:1.5;
  color:#0d3f6b;background:#eef6ff;border-left:3px solid var(--accent);border-radius:0 10px 10px 0}
.felchen-card .felchen-hinweise{margin:12px 0 10px;padding-left:1.1rem;font-size:.86rem;line-height:1.5;color:var(--ink)}
.felchen-card .felchen-hinweise li{margin-bottom:.35rem}
.felchen-card .felchen-hinweise li:last-child{margin-bottom:0}
.marker-pin.marker-felchen{background:#0f7d8c}
/* Die Felchen-Begriffe (Mindestmass, Fangzeit heute) sind länger als die
   88px-Spalte des Köderassistenten – hier bekommt die Liste mehr Platz. */
.felchen-card .assistant-list>div{grid-template-columns:132px 1fr}
@media(max-width:560px){.felchen-card .assistant-list>div{grid-template-columns:1fr;gap:2px}}

/* ===== V7.15.5 – Felchen-Montagenkarte ======================================
   Zeichnung + Text nebeneinander; die SVGs kommen aus dem Tackle-Katalog. */
.felchen-montagen{display:grid;gap:14px}
.felchen-montagen article{display:grid;grid-template-columns:118px 1fr;gap:12px;
  padding:12px;border-radius:14px;background:var(--surface2);align-items:start}
.felchen-montagen .tackle-figure{margin:0}
.felchen-montagen .tackle-figure svg{width:100%;height:auto;max-height:150px}
.felchen-montagen .tackle-figure figcaption{display:none}
.felchen-montagen h4{margin:0 0 2px}
.felchen-einsatz{display:inline-block;margin-bottom:6px;padding:3px 9px;border-radius:999px;
  font-size:.68rem;font-weight:850;letter-spacing:.04em;background:#dbeafe;color:#1556a8}
.felchen-montagen p{margin:0;font-size:.86rem;line-height:1.5;color:var(--ink)}
.felchen-klartext{display:grid;gap:10px;margin:14px 0 10px}
.felchen-klartext article{padding:11px 13px;border-radius:12px;background:#fff5df;
  border-left:4px solid #d38719}
.felchen-klartext p{margin:.3rem 0 0;font-size:.84rem;line-height:1.5;color:#67420c}
@media(max-width:520px){.felchen-montagen article{grid-template-columns:1fr}
  .felchen-montagen .tackle-figure svg{max-height:190px}}
.felchen-ufer-divider{margin:16px 0 10px;font-size:.72rem;font-weight:850;letter-spacing:.09em;
  text-transform:uppercase;color:var(--muted)}
.felchen-montagen-ufer article{opacity:.82}

/* ===== V7.15.8 – Angelindex in der 7-Tage-Prognose =========================
   Ampelfarben wie bei der Felchen-Regelkarte, damit die App eine Sprache
   spricht: grün fischbar, orange durchzogen, rot eher lassen. */
.wx-day-score{display:inline-block;margin-top:5px;padding:3px 10px;border-radius:999px;
  font-size:.72rem;font-weight:900;letter-spacing:.02em;white-space:nowrap}
.wx-day-wind .wx-day-score{display:block;width:fit-content}
.wx-day-score.s-good{background:#dff3e4;color:#1c6236}
.wx-day-score.s-mid{background:#fff1d6;color:#7a4c07}
.wx-day-score.s-low{background:#fbe1df;color:#8d2b25}
.wx-daily-hint{margin:6px 2px 0}

/* ===== V7.15.9 – 7-Tage-Fishradar =========================================
   Aus zwei Knöpfen werden sieben Chips: auf dem Handy horizontal scrollbar,
   damit die Kopfzeile nicht umbricht. */
.fishradar-day-switch{overflow-x:auto;max-width:100%;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.fishradar-day-switch::-webkit-scrollbar{display:none}
.fishradar-day-switch button{white-space:nowrap;flex:0 0 auto;padding:.45rem .8rem}
