:root{--primary:#1565c0;--primary2:#0d47a1;--surface:#fff;--bg:#f5f7fb;--text:#172033;--muted:#637083;--line:#e1e7f0;--ok:#1b8f4d;--warn:#ef8f00;--bad:#c62828;--shadow:0 18px 50px rgba(22,35,58,.14);font-family:Inter,Roboto,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text)}*{box-sizing:border-box}body{margin:0;background:var(--bg);min-height:100vh}button,a,input,select,textarea{font:inherit}button,a{touch-action:manipulation}.appbar{position:sticky;top:0;z-index:20;height:72px;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:space-between;padding:10px max(16px,env(safe-area-inset-left));border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:44px;height:44px;border-radius:16px;background:linear-gradient(135deg,var(--primary),#25a0ff);color:#fff;display:grid;place-items:center;font-weight:900;box-shadow:0 10px 24px rgba(21,101,192,.32)}.brand strong{display:block;font-size:17px}.brand span{display:block;color:var(--muted);font-size:12px}.appbar nav{display:flex;gap:8px;align-items:center}.textbtn{border:0;background:transparent;color:var(--primary);font-weight:750;text-decoration:none;padding:10px;border-radius:999px}.textbtn:hover{background:#eaf2ff}main{max-width:1120px;margin:0 auto;padding:20px 16px 96px}.hero{display:grid;grid-template-columns:1.3fr .7fr;gap:18px;align-items:stretch;margin:18px 0}.hero>div{background:var(--surface);border:1px solid var(--line);border-radius:32px;padding:28px;box-shadow:var(--shadow)}.hero h1{font-size:clamp(34px,6vw,64px);line-height:.95;margin:8px 0 14px;letter-spacing:-.05em}.hero p{color:var(--muted);font-size:18px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:var(--primary)!important;font-size:12px!important}.hero-card{display:flex;align-items:end;font-size:17px;line-height:1.55}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.primary,.secondary,.map-tools button,.oauth-row button{border:0;border-radius:18px;padding:14px 18px;font-weight:850;cursor:pointer}.primary{background:var(--primary);color:#fff;box-shadow:0 10px 22px rgba(21,101,192,.28)}.primary:hover{background:var(--primary2)}.secondary,.map-tools button,.oauth-row button{background:#edf4ff;color:var(--primary)}.wide{width:100%;margin-top:10px}.map-shell{position:relative;height:min(62vh,620px);min-height:420px;border-radius:32px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:#dce8f7}.map-shell #map{height:100%;width:100%}.map-tools{position:absolute;z-index:10;right:14px;top:14px;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.leaflet-popup-content{font-family:inherit}.feed-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:28px 0 14px}.feed-head h1,.feed-head h2{margin:0}.feed{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 8px 26px rgba(22,35,58,.08)}.card img{width:100%;height:170px;object-fit:cover;background:#d9e3ef}.card-body{padding:16px}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#eef5ff;color:var(--primary);font-weight:850;font-size:12px;padding:6px 10px}.badge.pending{background:#fff5df;color:var(--warn)}.badge.rejected{background:#ffe8e8;color:var(--bad)}.card h3{margin:10px 0 8px;font-size:19px}.card p{color:var(--muted);margin:0 0 10px;line-height:1.45}.meta{font-size:12px;color:var(--muted)}.admin-actions{display:flex;gap:8px;margin-top:12px}.admin-actions button{flex:1;border:0;border-radius:14px;padding:10px;font-weight:850}.approve{background:#e4f7ec;color:var(--ok)}.reject{background:#ffe8e8;color:var(--bad)}.fab{position:fixed;right:22px;bottom:22px;z-index:15;width:64px;height:64px;border:0;border-radius:24px;background:var(--primary);color:#fff;font-size:34px;box-shadow:0 18px 40px rgba(21,101,192,.35)}.sheet{width:min(620px,calc(100vw - 24px));border:0;border-radius:30px;padding:0;box-shadow:0 28px 80px rgba(0,0,0,.28);max-height:92vh}.sheet.small{width:min(460px,calc(100vw - 24px))}.sheet::backdrop{background:rgba(14,23,39,.45);backdrop-filter:blur(5px)}.sheet form{padding:26px;display:grid;gap:12px}.sheet h2,.sheet h3{margin:0}.close{position:absolute;right:12px;top:12px;width:42px;height:42px;border:0;border-radius:50%;background:#eef2f7;font-size:28px}label{display:grid;gap:6px;font-weight:750}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:16px;padding:13px 14px;background:#fff;color:var(--text)}textarea{resize:vertical}.check{grid-template-columns:24px 1fr;align-items:start;font-weight:650;color:var(--muted)}.check input{width:18px}.muted{color:var(--muted);font-size:14px}.guestBox{background:#f8fbff;border:1px solid var(--line);border-radius:20px;padding:14px;display:grid;gap:12px}.location-preview{background:#eef5ff;color:var(--primary);border-radius:16px;padding:12px;font-weight:750}.toast{position:fixed;z-index:100;left:50%;bottom:24px;transform:translateX(-50%);background:#172033;color:#fff;border-radius:16px;padding:12px 18px;box-shadow:var(--shadow)}.oauth-row{display:flex;gap:10px}.oauth-row button{flex:1}.poll-options{display:grid;gap:6px;margin-top:8px}.poll-option{display:flex;justify-content:space-between;background:#f5f7fb;border-radius:12px;padding:8px 10px}@media(max-width:760px){.appbar{height:66px}.brand span{display:none}.hero{grid-template-columns:1fr}.hero>div{padding:22px;border-radius:26px}.hero-card{display:none}.map-shell{height:58vh;min-height:360px;border-radius:26px}.map-tools{left:10px;right:10px}.map-tools button{flex:1;padding:12px}.feed{grid-template-columns:1fr}.textbtn{padding:8px}.sheet{border-radius:26px 26px 0 0;width:100vw;max-height:94vh;margin:auto auto 0}.fab{right:18px;bottom:18px}}

/* Leaflet fallback/repair CSS:
   Falls die externe Leaflet-CSS wegen CDN/SRI/Cache nicht geladen wird,
   liegen die Karten-Kacheln sonst wie einzelne Würfel im Container. */
.leaflet-container{overflow:hidden;position:relative;outline:0;background:#ddd;-webkit-tap-highlight-color:transparent}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container img.leaflet-tile{max-width:none!important;max-height:none!important;width:256px!important;height:256px!important}.leaflet-container img.leaflet-marker-icon,.leaflet-container img.leaflet-marker-shadow{max-width:none!important}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-map-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-control{position:relative;z-index:800;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-control-zoom a{background:#fff;color:#172033;display:block;width:30px;height:30px;line-height:30px;text-align:center;text-decoration:none;border-bottom:1px solid #ccc}.leaflet-control-zoom a:first-child{border-radius:4px 4px 0 0}.leaflet-control-zoom a:last-child{border-radius:0 0 4px 4px;border-bottom:0}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{background:#fff;border-radius:12px;box-shadow:0 10px 28px rgba(0,0,0,.22);padding:1px}.leaflet-popup-content{margin:12px 14px;line-height:1.4;text-align:left}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{background:#fff;width:17px;height:17px;padding:1px;margin:-10px auto 0;transform:rotate(45deg);box-shadow:0 10px 28px rgba(0,0,0,.18)}.leaflet-control-attribution{background:rgba(255,255,255,.8);font-size:11px;padding:0 5px}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-dragging .leaflet-grab{cursor:move}
.choice-popup{min-width:190px}.choice-popup span{color:var(--muted);font-size:13px}.choice-actions{display:flex;gap:8px;margin-top:10px}.choice-actions button{flex:1;border:0;border-radius:12px;padding:9px 10px;background:#edf4ff;color:var(--primary);font-weight:850;cursor:pointer}.choice-actions button:first-child{background:var(--primary);color:#fff}

/* v5: neuer Einstieg ohne Debug-/Erklärbox, Aktivität + Kartenaktionen direkt über der Map */
.overview{display:grid;grid-template-columns:.42fr 1fr;gap:18px;align-items:stretch;margin:18px 0}.activity-card,.intro-card,.map-intro{background:var(--surface);border:1px solid var(--line);border-radius:32px;padding:26px;box-shadow:var(--shadow)}.activity-card{display:grid;align-content:start;gap:16px}.stat-grid{display:grid;gap:12px}.stat-grid div{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#f3f8ff;border:1px solid #e0ecff;border-radius:20px;padding:15px 16px}.stat-grid span{color:var(--muted);font-weight:800}.stat-grid strong{font-size:34px;line-height:1;color:var(--primary);letter-spacing:-.04em}.intro-card h1{font-size:clamp(30px,4.8vw,54px);line-height:.98;margin:8px 0 14px;letter-spacing:-.05em}.intro-card p{font-size:18px;color:var(--muted);margin:0 0 10px}.principle{margin-top:18px;background:#f8fbff;border:1px solid var(--line);border-radius:22px;padding:18px}.principle b{display:block;margin-bottom:8px}.principle ol{margin:0;padding-left:22px;color:var(--muted);line-height:1.65;font-weight:650}.map-intro{margin:18px 0 14px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}.map-intro h2{margin:0 0 6px;font-size:28px;letter-spacing:-.03em}.map-intro p{margin:0;color:var(--muted);line-height:1.45}.create-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.map-filterbar{grid-column:1/-1;display:grid;grid-template-columns:minmax(220px,1fr) repeat(4,minmax(130px,180px)) auto;gap:12px;align-items:end;background:#f8fbff;border:1px solid var(--line);border-radius:22px;padding:14px}.search-field,.filter-field{font-size:13px;color:var(--muted);font-weight:850}.map-filterbar input,.map-filterbar select{margin-top:6px;background:#fff}.feed-head{margin-top:28px}.feed-head h2{font-size:26px;letter-spacing:-.03em}@media(max-width:760px){.overview{grid-template-columns:1fr}.activity-card,.intro-card,.map-intro{border-radius:26px;padding:22px}.stat-grid{grid-template-columns:repeat(3,1fr);gap:8px}.stat-grid div{display:grid;justify-items:center;padding:12px 8px}.stat-grid strong{font-size:28px}.intro-card h1{font-size:34px}.map-intro{grid-template-columns:1fr}.create-actions{justify-content:stretch}.create-actions button{flex:1}.map-filterbar{grid-template-columns:1fr}.map-filterbar button{width:100%}}
/* v6 Plattform-Erweiterungen */
.small{font-size:.85rem}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.linkbtn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.card-actions,.popup-actions,.admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.popup-btn{border:0;border-radius:999px;background:#e3f2fd;color:#0d47a1;padding:8px 12px;text-decoration:none;font-weight:700;cursor:pointer}.need-marker{background:transparent;border:0}.need-marker span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;box-shadow:0 4px 14px rgba(0,0,0,.25);font-weight:900;color:#fff;border:3px solid #fff}.leak-marker span{background:#1b8f5a}.poll-marker span{background:#1565c0}.detail-card{max-width:900px;margin:24px auto;background:#fff;border-radius:28px;padding:28px;box-shadow:0 16px 50px rgba(15,23,42,.12)}.detail-card h1{font-size:clamp(2rem,5vw,4rem);line-height:1.02;margin:14px 0}.detail-meta{background:#f4f7fb;border-radius:18px;padding:14px 16px;margin:18px 0;color:#334155}.media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:18px 0}.media-grid img{width:100%;height:220px;object-fit:cover;border-radius:18px}.poll-options{display:grid;gap:12px;margin:22px 0}.poll-choice{position:relative;overflow:hidden;border:1px solid #dbe6f4;border-radius:18px;padding:14px 16px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;background:#fff}.poll-choice i{position:absolute;left:0;bottom:0;height:4px;background:#1565c0}.poll-choice em{font-style:normal;color:#64748b;font-size:.88rem}.badge.pending{background:#fff8e1;color:#8a5a00}.badge.rejected{background:#ffebee;color:#b71c1c}.badge.approved{background:#e8f5e9;color:#1b5e20}.profile-warning{border:1px solid #ffe08a;background:#fff8e1;color:#6d4c00;border-radius:16px;padding:12px 14px}@media(max-width:720px){.two{grid-template-columns:1fr}.detail-card{margin:12px;padding:20px;border-radius:22px}.poll-choice{grid-template-columns:auto 1fr}.poll-choice em{grid-column:2}}
/* v7: Markercluster mit Typmischung + Admin-Dashboard */
.marker-cluster,.marker-cluster div{background:transparent!important;border:0!important}.need-cluster{background:transparent;border:0}.need-cluster span{--leak:50%;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;box-shadow:0 8px 24px rgba(15,23,42,.3);border:4px solid #fff;color:#fff;background:#1b8f5a}.need-cluster.poll-only span{background:#1565c0}.need-cluster.mixed span{background:conic-gradient(#1b8f5a 0 var(--leak),#1565c0 var(--leak) 100%)}.need-cluster b{font-size:18px;line-height:1;margin-top:6px}.need-cluster small{font-size:9px;line-height:1;margin-top:-10px;font-weight:850;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.admin-dashboard{display:grid;gap:18px}.admin-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.admin-stat{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow)}.admin-stat span{display:block;color:var(--muted);font-weight:800;font-size:13px}.admin-stat strong{font-size:32px;color:var(--primary);line-height:1.1}.admin-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.admin-panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow);overflow:auto}.admin-panel h2{margin:0 0 12px;font-size:20px}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th,.data-table td{border-bottom:1px solid var(--line);padding:9px 8px;text-align:left;vertical-align:top}.data-table th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.bar-row{display:grid;grid-template-columns:minmax(110px,1fr) 70px;gap:8px;align-items:center;margin:9px 0}.bar-row i{display:block;height:8px;border-radius:999px;background:#dbeafe;overflow:hidden;grid-column:1/-1}.bar-row i b{display:block;height:100%;background:var(--primary);border-radius:999px}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.admin-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;font-weight:850;cursor:pointer}.admin-tabs button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.admin-section[hidden]{display:none!important}.guest-vote-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:var(--shadow)}
.badge.archived{background:#eceff1;color:#37474f}

.address-row{display:flex;gap:10px;align-items:center}
.address-row input{flex:1;min-width:0}
.secondary.inline{width:auto;white-space:nowrap;padding:10px 12px}
.address-suggestions{margin-top:8px;border:1px solid rgba(15,23,42,.12);border-radius:16px;background:#fff;box-shadow:0 18px 40px rgba(15,23,42,.14);overflow:hidden;max-height:260px;overflow-y:auto;z-index:50;position:relative}
.address-suggestion{display:block;width:100%;border:0;background:#fff;text-align:left;padding:12px 14px;cursor:pointer;color:var(--text);border-bottom:1px solid rgba(15,23,42,.08)}
.address-suggestion:last-child{border-bottom:0}
.address-suggestion:hover,.address-suggestion:focus{background:#eef6ff;outline:none}
.address-suggestion strong{display:block;font-size:.95rem}
.address-suggestion small{display:block;color:var(--muted);margin-top:3px;font-size:.78rem}
@media(max-width:640px){.address-row{flex-direction:column;align-items:stretch}.secondary.inline{width:100%}}
/* v14: Original-Feldumfang, aber modernes Formular-Design */
.form-section{background:#f8fbff;border:1px solid var(--line);border-radius:18px;padding:14px 16px}.form-section h3{margin:0}.photo-tile{border:2px dashed #b8c9df;background:#f8fbff;border-radius:24px;min-height:132px;display:grid;place-items:center;text-align:center;color:var(--primary);font-weight:850;cursor:pointer;position:relative;overflow:hidden}.photo-tile input{position:absolute;inset:0;opacity:0;cursor:pointer}.poll-question-list{display:grid;gap:12px;margin-top:6px}.poll-question{display:grid;grid-template-columns:1.2fr .8fr;gap:12px;background:#f8fbff;border:1px solid var(--line);border-radius:18px;padding:14px}.poll-question.optional{opacity:.92}.sheet [hidden]{display:none!important}@media(max-width:720px){.poll-question{grid-template-columns:1fr}}

.near-info{grid-column:1/-1;color:var(--muted);font-size:13px;font-weight:650}.distance-chip{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:#eef7ef;color:#17633a;font-weight:850;font-size:12px;padding:6px 10px;margin:4px 0 0}.card .distance-chip{width:max-content}
/* v25: lokaler Geo-Cache mit bewusstem Online-Mehr-Suchen */
.address-suggestion.more-search{background:#f8fbff;color:var(--primary);font-weight:850}
.address-suggestion.more-search strong::before{content:'↻ ';font-weight:900}

/* v36: Handy-Layout dichter wie Desktopmodus, aber ohne echten Desktop-Viewport-Zwang */
@media (max-width: 760px){
  body{font-size:14px;background:#f3f6fb}
  main{padding:10px 10px 86px;max-width:540px}
  .appbar{height:58px;padding:8px 10px;gap:8px}
  .brand{gap:8px;min-width:0}
  .brand-mark{width:38px;height:38px;border-radius:14px;font-size:14px;flex:0 0 auto}
  .brand strong{font-size:15px;white-space:nowrap}
  .appbar nav{gap:2px;flex:0 0 auto}
  .textbtn{font-size:13px;padding:7px 8px}
  .overview{grid-template-columns:.82fr 1.18fr;gap:10px;margin:10px 0}
  .activity-card,.intro-card,.map-intro{border-radius:20px;padding:14px;box-shadow:0 8px 24px rgba(22,35,58,.08)}
  .activity-card{gap:8px}
  .eyebrow{font-size:10px!important;letter-spacing:.1em;margin:0 0 4px}
  .stat-grid{grid-template-columns:1fr;gap:6px}
  .stat-grid div{display:flex;justify-content:space-between;gap:6px;border-radius:13px;padding:8px 9px}
  .stat-grid span{font-size:11px}
  .stat-grid strong{font-size:20px}
  .intro-card h1{font-size:24px;line-height:1;margin:4px 0 8px;letter-spacing:-.04em}
  .intro-card p{font-size:13px;line-height:1.3;margin:0 0 5px}
  .principle{margin-top:9px;border-radius:15px;padding:10px}
  .principle b{font-size:13px;margin-bottom:4px}
  .principle ol{font-size:12px;line-height:1.35;padding-left:18px}
  .map-intro{margin:10px 0;grid-template-columns:1fr;gap:10px}
  .map-intro h2{font-size:21px;margin-bottom:4px}
  .map-intro p{font-size:13px}
  .create-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .primary,.secondary,.map-tools button,.oauth-row button{border-radius:14px;padding:11px 12px;font-size:13px}
  .map-filterbar{grid-template-columns:1fr 1fr;gap:8px;border-radius:16px;padding:10px}
  .map-filterbar .search-field,.map-filterbar .near-info{grid-column:1/-1}
  .map-filterbar button{grid-column:1/-1;width:100%}
  .search-field,.filter-field{font-size:11px}
  input,select,textarea{border-radius:13px;padding:10px 11px;font-size:14px}
  .near-info{font-size:11px;line-height:1.3}
  .map-shell{height:62dvh;min-height:430px;border-radius:20px;margin-top:8px}
  .map-tools{left:8px;right:8px;top:8px;gap:6px}
  .map-tools button{padding:9px 10px}
  .feed-head{margin:18px 0 10px}
  .feed-head h2{font-size:21px}
  .feed{grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:10px}
  .card{border-radius:18px}
  .card img{height:118px}
  .card-body{padding:11px}
  .card h3{font-size:16px;margin:7px 0 6px}
  .card p{font-size:12px;line-height:1.35}
  .badge,.distance-chip{font-size:10px;padding:5px 8px}
  .fab{width:54px;height:54px;border-radius:20px;font-size:29px;right:14px;bottom:14px}
  .sheet form{padding:20px 16px;gap:10px}
  .sheet{border-radius:22px 22px 0 0;width:100vw;max-height:94dvh}
  .two{grid-template-columns:1fr 1fr;gap:8px}
  .address-row{flex-direction:row;align-items:center;gap:8px}
  .secondary.inline{width:auto;white-space:nowrap;padding:10px 10px}
}
@media (max-width: 380px){
  main{padding-left:8px;padding-right:8px}
  .overview{grid-template-columns:1fr}
  .intro-card h1{font-size:25px}
  .two,.map-filterbar{grid-template-columns:1fr}
  .address-row{flex-direction:column;align-items:stretch}
  .secondary.inline{width:100%}
  .feed{grid-template-columns:1fr}
}

/* v37: Mobile startet map-näher: Karte kommt direkt nach der kurzen Aktionsbox, Intro/Statistik darunter */
@media (max-width: 760px){
  main{display:flex;flex-direction:column}
  .map-intro{order:1;margin-top:6px}
  .map-shell{order:2}
  .overview{order:3}
  .feed-head{order:4}
  .feed{order:5}
  .map-intro>div:first-child p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .map-intro .create-actions{order:2}
  .map-intro .map-filterbar{order:3}
}

/* v38: Statistik in die Topbar, Erklärung kompakt direkt über den Kartenbereich */
.top-stats{display:flex;align-items:center;gap:8px;margin-left:auto;margin-right:10px;white-space:nowrap}
.top-stats span{display:inline-flex;align-items:center;gap:4px;background:#eef5ff;border:1px solid #dbe9ff;color:#4d5f78;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:800;line-height:1}
.top-stats strong{color:var(--primary);font-size:15px;line-height:1}
.compact-intro{margin:14px 0 10px;padding:18px 22px;border-radius:26px;box-shadow:0 10px 28px rgba(22,35,58,.08)}
.compact-intro h1{font-size:clamp(22px,3.2vw,36px);line-height:1.05;margin:4px 0 8px;letter-spacing:-.035em}
.compact-intro p{font-size:15px;line-height:1.4;margin:0 0 4px;color:var(--muted)}
.overview,.activity-card,.principle{display:none!important}
@media (max-width: 760px){
  main{display:block;padding-top:8px}
  .appbar{height:56px;align-items:center}
  .brand-mark{width:36px;height:36px;border-radius:13px}
  .brand strong{font-size:14px}
  .top-stats{gap:4px;margin-left:4px;margin-right:4px;overflow:hidden;flex:1;justify-content:center}
  .top-stats span{font-size:10px;padding:5px 6px;gap:2px}
  .top-stats strong{font-size:12px}
  .appbar nav{gap:0}
  .textbtn{font-size:12px;padding:6px 6px}
  .compact-intro{margin:8px 0 8px;padding:12px 14px;border-radius:18px}
  .compact-intro h1{font-size:19px;margin:2px 0 5px}
  .compact-intro p{font-size:12px;line-height:1.28;margin-bottom:3px}
  .map-intro{margin:8px 0;order:initial}
  .map-shell,.feed-head,.feed{order:initial}
}
@media (max-width: 430px){
  .brand span{display:none}
  .brand strong{font-size:13px}
  .top-stats span{padding:4px 5px;font-size:9.5px}
  .top-stats strong{font-size:11px}
  .textbtn{font-size:11px;padding:6px 4px}
}

/* v39: Mobile Suche kompakter, Filter einklappbar; Aktualisieren/Standort bleibt sichtbar */
.filter-toggle{display:none}
.advanced-filters{display:contents}
.refresh-main{white-space:nowrap}
@media (min-width: 761px){
  .map-filterbar{grid-template-columns:minmax(220px,1fr) repeat(4,minmax(130px,180px)) auto}
  .filter-toggle{display:none!important}
  .advanced-filters{display:contents!important}
}
@media (max-width: 760px){
  .map-filterbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:8px;border-radius:15px;align-items:end}
  .map-filterbar .search-field{grid-column:1/-1;font-size:10.5px;gap:4px}
  .map-filterbar .search-field input{margin-top:3px;padding:8px 10px;border-radius:12px;min-height:38px;font-size:13px}
  .filter-toggle{display:block;grid-column:1/2;width:100%;padding:9px 10px!important;border-radius:12px!important}
  .filter-toggle::after{content:' ▾'}
  .filter-toggle[aria-expanded="true"]::after{content:' ▴'}
  .refresh-main{grid-column:2/3!important;width:auto!important;min-width:138px;padding:9px 10px!important;border-radius:12px!important}
  .advanced-filters{grid-column:1/-1;display:none;grid-template-columns:1fr 1fr;gap:7px;padding-top:2px}
  .map-filterbar.filters-open .advanced-filters{display:grid}
  .advanced-filters .filter-field{font-size:10.5px;gap:4px}
  .advanced-filters select{margin-top:3px;padding:8px 10px;border-radius:12px;min-height:38px;font-size:13px}
  .map-filterbar .near-info{grid-column:1/-1;margin-top:0;font-size:10.5px;line-height:1.25;display:none}
  .map-filterbar.filters-open .near-info{display:block}
}
@media (max-width: 380px){
  .map-filterbar{grid-template-columns:1fr}
  .filter-toggle,.refresh-main{grid-column:1/-1!important;width:100%!important}
  .advanced-filters{grid-template-columns:1fr}
}


/* v40: Desktop-Filterreihenfolge korrigiert, Mobile-Intro noch kompakter */
@media (min-width: 761px){
  .map-filterbar{grid-template-columns:minmax(260px,1fr) repeat(4,minmax(125px,170px)) auto;align-items:end}
  .map-filterbar .search-field{grid-column:auto}
  .advanced-filters{display:contents!important}
  .refresh-main{grid-column:auto!important;width:auto!important}
}
@media (max-width: 760px){
  .compact-intro{padding:9px 12px;margin:6px 0 7px;border-radius:16px}
  .compact-intro h1{font-size:17px;margin:1px 0 4px;line-height:1.04}
  .compact-intro p{font-size:11px;line-height:1.22;margin-bottom:2px}
  .compact-intro p:first-of-type{font-size:11.5px;font-weight:650;color:#4d5f78}
  .refresh-main{order:3}
  .advanced-filters{order:4}
  .near-info{order:5}
}

/* v45: Intro einklappbar und Standort/Aktualisieren in die Karte */
.intro-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.intro-head .eyebrow{margin-top:0}
.intro-toggle{white-space:nowrap;padding:8px 10px;border-radius:999px;background:#f4f8ff;border:1px solid var(--line)}
.compact-intro.intro-collapsed{padding-bottom:14px}
.compact-intro.intro-collapsed .intro-body{display:none}
.map-tools{left:auto;right:12px;top:12px;justify-content:flex-end}
.map-tools button{box-shadow:0 8px 20px rgba(22,35,58,.16)}
.map-filterbar .refresh-main{display:none}
@media (max-width: 760px), (hover: none) and (pointer: coarse){
  .intro-head{gap:8px}
  .intro-toggle{font-size:10.5px;padding:6px 8px}
  .compact-intro.intro-collapsed{padding-bottom:9px}
  .map-tools{right:8px;top:8px;left:auto;display:flex;flex-direction:column;align-items:flex-end}
  .map-tools button{width:auto;min-width:0;font-size:11px;line-height:1.15;padding:7px 9px!important;border-radius:10px!important}
}

/* v43: Smartphone-Suchblock an kompaktere Intro-Schrift angepasst */
@media (max-width: 760px){
  .map-filterbar{gap:6px;padding:7px 8px;border-radius:14px}
  .map-filterbar .search-field,
  .advanced-filters .filter-field{font-size:10px;line-height:1.15;color:#4d5f78;font-weight:800}
  .map-filterbar .search-field input,
  .advanced-filters select{font-size:11.5px;line-height:1.15;padding:7px 9px;min-height:34px;border-radius:11px;margin-top:2px}
  .filter-toggle,
  .refresh-main{font-size:11.5px;line-height:1.15;padding:8px 9px!important;border-radius:11px!important;min-height:34px}
  .refresh-main{min-width:128px}
  .advanced-filters{gap:6px;padding-top:1px}
  .map-filterbar .near-info{font-size:10px;line-height:1.18;color:#637083}
}
@media (max-width: 380px){
  .refresh-main{min-width:0}
}

/* v45: Intro einklappbar und Standort/Aktualisieren in die Karte */
.intro-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.intro-head .eyebrow{margin-top:0}
.intro-toggle{white-space:nowrap;padding:8px 10px;border-radius:999px;background:#f4f8ff;border:1px solid var(--line)}
.compact-intro.intro-collapsed{padding-bottom:14px}
.compact-intro.intro-collapsed .intro-body{display:none}
.map-tools{left:auto;right:12px;top:12px;justify-content:flex-end}
.map-tools button{box-shadow:0 8px 20px rgba(22,35,58,.16)}
.map-filterbar .refresh-main{display:none}
@media (max-width: 760px), (hover: none) and (pointer: coarse){
  .intro-head{gap:8px}
  .intro-toggle{font-size:10.5px;padding:6px 8px}
  .compact-intro.intro-collapsed{padding-bottom:9px}
  .map-tools{right:8px;top:8px;left:auto;display:flex;flex-direction:column;align-items:flex-end}
  .map-tools button{width:auto;min-width:0;font-size:11px;line-height:1.15;padding:7px 9px!important;border-radius:10px!important}
}

/* v43: Desktop-Suche wieder normal groß; echte Smartphone-/Touch-Ansicht wie kompakter Intro-Block */
@media (min-width: 761px) and (hover: hover) and (pointer: fine){
  .map-filterbar .search-field,
  .advanced-filters .filter-field{
    font-size:13px;
    line-height:1.25;
    color:var(--muted);
    font-weight:850;
  }
  .map-filterbar .search-field input,
  .advanced-filters select{
    font-size:14px;
    line-height:1.25;
    padding:13px 14px;
    min-height:46px;
    border-radius:16px;
    margin-top:6px;
  }
  .filter-toggle,
  .refresh-main{
    font-size:14px;
    line-height:1.25;
    padding:14px 18px!important;
    min-height:46px;
    border-radius:18px!important;
  }
}
@media (max-width: 760px), (hover: none) and (pointer: coarse){
  .map-filterbar{
    gap:5px;
    padding:6px 7px;
    border-radius:14px;
  }
  .map-filterbar .search-field,
  .advanced-filters .filter-field{
    font-size:11px;
    line-height:1.2;
    color:#4d5f78;
    font-weight:750;
  }
  .map-filterbar .search-field input,
  .advanced-filters select{
    font-size:11px;
    line-height:1.2;
    padding:6px 8px;
    min-height:31px;
    border-radius:10px;
    margin-top:2px;
  }
  .map-filterbar .search-field input::placeholder{
    font-size:10.5px;
  }
  .filter-toggle,
  .refresh-main{
    font-size:11px;
    line-height:1.2;
    padding:7px 8px!important;
    min-height:31px;
    border-radius:10px!important;
  }
  .refresh-main{min-width:116px}
  .advanced-filters{gap:5px;padding-top:1px}
  .map-filterbar .near-info{font-size:10.5px;line-height:1.18;color:#637083}
}
@media (max-width: 380px){
  .refresh-main{min-width:0}
}

/* v45: Intro einklappbar und Standort/Aktualisieren in die Karte */
.intro-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.intro-head .eyebrow{margin-top:0}
.intro-toggle{white-space:nowrap;padding:8px 10px;border-radius:999px;background:#f4f8ff;border:1px solid var(--line)}
.compact-intro.intro-collapsed{padding-bottom:14px}
.compact-intro.intro-collapsed .intro-body{display:none}
.map-tools{left:auto;right:12px;top:12px;justify-content:flex-end}
.map-tools button{box-shadow:0 8px 20px rgba(22,35,58,.16)}
.map-filterbar .refresh-main{display:none}
@media (max-width: 760px), (hover: none) and (pointer: coarse){
  .intro-head{gap:8px}
  .intro-toggle{font-size:10.5px;padding:6px 8px}
  .compact-intro.intro-collapsed{padding-bottom:9px}
  .map-tools{right:8px;top:8px;left:auto;display:flex;flex-direction:column;align-items:flex-end}
  .map-tools button{width:auto;min-width:0;font-size:11px;line-height:1.15;padding:7px 9px!important;border-radius:10px!important}
}

/* v43: Kartenbereich-Texte und Erstellen-Buttons auf Smartphone an kompakte Intro-Größe angepasst */
@media (max-width: 760px), (hover: none) and (pointer: coarse){
  .map-intro{
    gap:7px;
    padding:9px 12px;
    border-radius:16px;
  }
  .map-intro h2{
    font-size:17px;
    line-height:1.04;
    margin:1px 0 4px;
    letter-spacing:-.03em;
  }
  .map-intro p{
    font-size:11px;
    line-height:1.22;
    margin:0;
    color:var(--muted);
  }
  .create-actions{
    gap:6px;
  }
  .create-actions .primary,
  .create-actions .secondary{
    font-size:11px;
    line-height:1.15;
    padding:7px 8px;
    min-height:31px;
    border-radius:10px;
  }
}


/* v45: Karten-Buttons sicher über Leaflet anzeigen */
.map-shell{position:relative;}
.map-tools{z-index:1400!important;pointer-events:none;}
.map-tools button{pointer-events:auto;position:relative;z-index:1401!important;}
@media(max-width:760px){.map-tools{top:10px!important;right:10px!important;left:auto!important;max-width:calc(100% - 20px);justify-content:flex-end}.map-tools button{width:auto!important;flex:0 0 auto!important}}

/* v46: Kartenradius steuert nur Karten-Zoom; Eintragsradius sitzt im Feed-Kopf */
.feed-radius-field{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);font-weight:850;white-space:nowrap}.feed-radius-field select{width:auto;min-width:120px;margin:0;padding:9px 12px;border-radius:14px;background:#fff}.map-radius-circle{stroke:var(--primary);fill:var(--primary)}
@media(max-width:760px){.feed-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.feed-head h2{font-size:18px}.feed-radius-field{font-size:10.5px;gap:6px}.feed-radius-field select{min-width:88px;padding:7px 9px;border-radius:11px;font-size:12px}.map-filterbar .near-info{display:block}}


/* v48: Floating-Action-Button öffnet Leak/Poll-Menü und bleibt immer über Karte/UI */
.fab-wrap{position:fixed;right:22px;bottom:22px;z-index:3200;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}.fab-wrap .fab{position:relative!important;right:auto!important;bottom:auto!important;z-index:3202!important;pointer-events:auto}.fab-menu{z-index:3201;display:grid;gap:8px;min-width:160px;padding:10px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.96);box-shadow:0 18px 45px rgba(22,35,58,.22);backdrop-filter:blur(14px);pointer-events:auto}.fab-menu[hidden]{display:none!important}.fab-menu button{width:100%;border-radius:16px;padding:12px 14px;white-space:nowrap}.fab-wrap.fab-open .fab{transform:rotate(45deg);transition:transform .16s ease}.create-actions{display:none!important}
@media(max-width:760px),(hover:none) and (pointer:coarse){.fab-wrap{right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));z-index:4000}.fab-wrap .fab{width:58px;height:58px;border-radius:21px;font-size:30px}.fab-menu{min-width:148px;border-radius:20px;padding:8px}.fab-menu button{font-size:12px;line-height:1.15;padding:10px 12px;border-radius:14px}}

.field-error{margin:.2rem 0 .65rem;color:#b42318;font-size:.84rem;font-weight:700}
@media (max-width: 760px), (pointer: coarse){.field-error{font-size:.72rem;margin:.15rem 0 .5rem}}

/* v51 Basisfarben, v52 überschreibt Neutral-/A11y-Regeln */
:root{
  --leak:#1b8f4d;
  --leak-soft:#e8f7ee;
  --leak-line:#bfe5cc;
  --poll:#1565c0;
  --poll-soft:#eaf2ff;
  --poll-line:#c8dcff;
  --neutral:#172033;
}
.stat-leaks strong,.leak-color{color:var(--leak)}
.stat-polls strong,.poll-color{color:var(--poll)}
a{color:var(--poll)}
.top-stats .stat-leaks{color:var(--leak)}
.top-stats .stat-polls{color:var(--poll)}
.badge.leak-badge{background:var(--leak-soft);color:var(--leak);border:1px solid var(--leak-line)}
.badge.poll-badge{background:var(--poll-soft);color:var(--poll);border:1px solid var(--poll-line)}
.card.report-leak{border-color:var(--leak-line)}
.card.report-poll{border-color:var(--poll-line)}
.card.report-leak h3{color:#116a39}
.card.report-poll h3{color:#0d47a1}
.popup-btn.leak-action,.secondary.leak-action{background:var(--leak-soft);color:var(--leak)}
.popup-btn.poll-action,.secondary.poll-action{background:var(--poll-soft);color:var(--poll)}
.fab-menu [data-fab-report="leak"]{background:var(--leak);color:#fff;box-shadow:0 10px 22px rgba(27,143,77,.25)}
.fab-menu [data-fab-report="poll"]{background:var(--poll-soft);color:var(--poll)}
.sheet.report-leak h2,.sheet.report-leak h3,.sheet.report-leak .photo-tile{color:var(--leak)}
.sheet.report-leak .photo-tile{border-color:var(--leak-line);background:var(--leak-soft)}
.sheet.report-poll h2,.sheet.report-poll h3,.sheet.report-poll .photo-tile{color:var(--poll)}
.sheet.report-poll .photo-tile{border-color:var(--poll-line);background:var(--poll-soft)}
.sheet.report-leak .primary{background:var(--leak);box-shadow:0 10px 22px rgba(27,143,77,.25)}
.sheet.report-poll .primary{background:var(--poll);box-shadow:0 10px 22px rgba(21,101,192,.25)}
.choice-actions [data-report-choice="leak"]{background:var(--leak-soft);color:var(--leak)}
.choice-actions [data-report-choice="poll"]{background:var(--poll-soft);color:var(--poll)}
.section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;width:100%}
.intro-actions{display:flex;align-items:flex-start;gap:8px}
.read-btn{border:1px solid var(--line);background:#fff;color:var(--neutral);border-radius:999px;min-width:34px;height:34px;padding:0 9px;display:inline-grid;place-items:center;font-weight:850;cursor:pointer;box-shadow:0 4px 12px rgba(22,35,58,.08)}
.read-btn:hover,.read-btn.is-speaking{background:#fff7d6;border-color:#f0cc65;color:#5d4100}
.access-toggle{border:1px solid var(--line)!important;background:#f8fbff!important}
.access-panel{position:fixed;right:14px;top:78px;z-index:4500;background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 50px rgba(22,35,58,.18);padding:12px;display:grid;gap:10px;min-width:230px;backdrop-filter:blur(14px)}
.access-panel[hidden]{display:none!important}.access-panel .check{color:var(--text)}.access-panel button{padding:10px 12px;border-radius:14px}
body.a11y-large{font-size:115%}body.a11y-large .intro-card h1{font-size:clamp(1.45rem,4.8vw,2.5rem)}body.a11y-large input,body.a11y-large select,body.a11y-large textarea,body.a11y-large button{font-size:1.05em}
body.a11y-dark{--bg:#05070b;--surface:#101722;--text:#f8fbff;--muted:#d5deea;--line:#34465f;--shadow:0 18px 55px rgba(0,0,0,.48);background:#05070b;color:#f8fbff}
body.a11y-dark .appbar,body.a11y-dark .access-panel,body.a11y-dark .card,body.a11y-dark .intro-card,body.a11y-dark .map-intro,body.a11y-dark .sheet form,body.a11y-dark .detail-card{background:#101722;color:#f8fbff;border-color:#34465f}
body.a11y-dark input,body.a11y-dark select,body.a11y-dark textarea{background:#05070b;color:#fff;border-color:#49627f}
body.a11y-dark .secondary,body.a11y-dark .textbtn,body.a11y-dark .map-tools button,body.a11y-dark .read-btn{background:#19283a;color:#fff;border-color:#49627f}
body.a11y-dark .muted,body.a11y-dark .card p,body.a11y-dark .meta{color:#d5deea}
body.a11y-dark .map-shell{border-color:#49627f;background:#1c2938}
body.a11y-dark .badge.leak-badge{background:#123622;color:#8bf0af;border-color:#2c6b45}body.a11y-dark .badge.poll-badge{background:#102b50;color:#9ec9ff;border-color:#2f5f96}
body.a11y-dark .card.report-leak h3{color:#8bf0af}body.a11y-dark .card.report-poll h3{color:#9ec9ff}
@media(max-width:760px),(hover:none) and (pointer:coarse){
  .access-panel{left:10px;right:10px;top:70px;min-width:0;border-radius:16px}
  .read-btn{min-width:29px;height:29px;font-size:12px;padding:0 7px}
  .intro-actions{gap:5px}.section-title-row{gap:6px}
}

/* v52: Farben sauber trennen: Neutral = grau/schwarz, Leak = grün, Poll = blau; Barrierefreiheit als Icon-Menü */
:root{
  --primary:#172033;
  --primary2:#0f172a;
  --neutral-soft:#f4f6f8;
  --neutral-line:#dfe5ec;
  --neutral-hover:#e9edf2;
}
body{font-size:calc(14px * var(--a11y-font-scale,1));}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.brand-mark{background:linear-gradient(135deg,#172033,#34445a);box-shadow:0 10px 24px rgba(23,32,51,.22)}
.primary{background:#172033;color:#fff;box-shadow:0 10px 22px rgba(23,32,51,.22)}
.primary:hover{background:#0f172a}.secondary,.map-tools button,.oauth-row button,.textbtn,.intro-toggle,.filter-toggle{background:var(--neutral-soft)!important;color:#172033!important;border:1px solid var(--neutral-line)!important;box-shadow:none}.secondary:hover,.textbtn:hover,.intro-toggle:hover,.filter-toggle:hover,.map-tools button:hover{background:var(--neutral-hover)!important}.fab{background:#172033;box-shadow:0 18px 40px rgba(23,32,51,.32)}a{color:#172033}.linkbtn{color:#172033!important}.linkbtn.poll-action{color:var(--poll)!important}.linkbtn.leak-action{color:var(--leak)!important}.eyebrow{color:#172033!important}.term-leak{color:var(--leak);font-weight:900}.term-poll{color:var(--poll);font-weight:900}.term-and{color:#172033;font-weight:850}.top-stats span,.stat-grid div,.guestBox,.form-section,.principle,.location-preview,.poll-question,.poll-option,.address-suggestion.more-search{background:var(--neutral-soft);border-color:var(--neutral-line);color:#172033}.top-stats .stat-leaks strong,.top-stats .stat-leaks{color:var(--leak)}.top-stats .stat-polls strong,.top-stats .stat-polls{color:var(--poll)}.top-stats span:not(.stat-leaks):not(.stat-polls) strong{color:#172033}.badge{background:var(--neutral-soft);color:#172033;border:1px solid var(--neutral-line)}.address-suggestion:hover,.address-suggestion:focus{background:var(--neutral-hover)}.map-radius-circle{stroke:#172033;fill:#172033}.read-btn{display:none;background:#fff;color:#172033;border:1px solid var(--neutral-line)}body.a11y-read .read-btn{display:inline-grid}.icon-speaker{width:19px;height:19px;display:block;fill:currentColor}.icon-speaker path+path{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.access-toggle{min-width:40px;height:40px;display:grid!important;place-items:center!important;padding:0!important;border-radius:999px!important;font-size:18px!important}.access-panel strong{font-size:14px}.range-field{display:grid;gap:7px;font-weight:800;color:var(--text)}.range-field span{font-weight:900;color:var(--muted)}.range-field input[type=range]{padding:0;border:0;background:transparent;accent-color:#172033}

/* Leak/Poll nur dort farbig, wo es tatsächlich um den Typ geht */
.badge.leak-badge{background:var(--leak-soft);color:var(--leak);border-color:var(--leak-line)}.badge.poll-badge{background:var(--poll-soft);color:var(--poll);border-color:var(--poll-line)}.popup-btn.leak-action,.secondary.leak-action{background:var(--leak-soft)!important;color:var(--leak)!important;border-color:var(--leak-line)!important}.popup-btn.poll-action,.secondary.poll-action{background:var(--poll-soft)!important;color:var(--poll)!important;border-color:var(--poll-line)!important}.fab-menu [data-fab-report="leak"]{background:var(--leak)!important;color:#fff!important;border-color:var(--leak)!important}.fab-menu [data-fab-report="poll"]{background:var(--poll)!important;color:#fff!important;border-color:var(--poll)!important}.sheet.report-leak .primary{background:var(--leak)!important;box-shadow:0 10px 22px rgba(27,143,77,.25)}.sheet.report-poll .primary{background:var(--poll)!important;box-shadow:0 10px 22px rgba(21,101,192,.25)}.choice-actions [data-report-choice="leak"]{background:var(--leak-soft)!important;color:var(--leak)!important;border:1px solid var(--leak-line)!important}.choice-actions [data-report-choice="poll"]{background:var(--poll-soft)!important;color:var(--poll)!important;border:1px solid var(--poll-line)!important}

/* Dunkler Kontrast: alle Flächen dunkel, Schrift hell; Leak/Poll nicht als bunte Flächen */
body.a11y-dark{--primary:#f8fbff;--primary2:#ffffff;--neutral-soft:#172232;--neutral-line:#3a4f68;--neutral-hover:#223247;background:#05070b!important;color:#f8fbff}body.a11y-dark main,body.a11y-dark .appbar,body.a11y-dark .access-panel,body.a11y-dark .card,body.a11y-dark .intro-card,body.a11y-dark .map-intro,body.a11y-dark .sheet,body.a11y-dark .sheet form,body.a11y-dark .detail-card,body.a11y-dark .fab-menu,body.a11y-dark .guestBox,body.a11y-dark .form-section,body.a11y-dark .principle,body.a11y-dark .poll-question,body.a11y-dark .poll-option,body.a11y-dark .address-suggestions,body.a11y-dark .address-suggestion,body.a11y-dark .location-preview,body.a11y-dark .top-stats span,body.a11y-dark .stat-grid div,body.a11y-dark .admin-stat,body.a11y-dark .admin-panel,body.a11y-dark .guest-vote-card{background:#101722!important;color:#f8fbff!important;border-color:#34465f!important}body.a11y-dark .appbar{background:rgba(16,23,34,.96)!important}body.a11y-dark input,body.a11y-dark select,body.a11y-dark textarea{background:#05070b!important;color:#fff!important;border-color:#49627f!important}body.a11y-dark .primary,body.a11y-dark .secondary,body.a11y-dark .textbtn,body.a11y-dark .map-tools button,body.a11y-dark .read-btn,body.a11y-dark .intro-toggle,body.a11y-dark .filter-toggle,body.a11y-dark .oauth-row button,body.a11y-dark .fab,body.a11y-dark .fab-menu button,body.a11y-dark .popup-btn,body.a11y-dark .choice-actions button{background:#19283a!important;color:#fff!important;border-color:#49627f!important;box-shadow:none!important}body.a11y-dark .muted,body.a11y-dark .card p,body.a11y-dark .meta,body.a11y-dark .compact-intro p:first-of-type,body.a11y-dark .near-info,body.a11y-dark .brand span{color:#d5deea!important}body.a11y-dark .term-leak,body.a11y-dark .term-poll,body.a11y-dark .term-and,body.a11y-dark a,body.a11y-dark .eyebrow,body.a11y-dark .top-stats .stat-leaks,body.a11y-dark .top-stats .stat-polls,body.a11y-dark .top-stats strong,body.a11y-dark .card.report-leak h3,body.a11y-dark .card.report-poll h3{color:#fff!important}body.a11y-dark .badge,body.a11y-dark .badge.leak-badge,body.a11y-dark .badge.poll-badge,body.a11y-dark .distance-chip{background:#172232!important;color:#fff!important;border:1px solid #49627f!important}body.a11y-dark .sheet.report-leak .photo-tile,body.a11y-dark .sheet.report-poll .photo-tile{background:#172232!important;color:#fff!important;border-color:#49627f!important}body.a11y-dark .map-shell{background:#1c2938!important;border-color:#49627f!important}

@media(max-width:760px),(hover:none) and (pointer:coarse){.access-toggle{min-width:34px;height:34px;font-size:16px!important}.access-panel{top:66px}.access-panel strong{font-size:13px}.range-field{font-size:12px}.range-field input[type=range]{height:28px}.icon-speaker{width:16px;height:16px}}

/* v53: A11y-Kontrast sauber, FAB links unten grau, Schriftgrößen-Regler passt Blöcke mit an */
:root{
  --ui-scale: var(--a11y-font-scale,1);
  --fab-neutral:#e9edf2;
  --fab-neutral-border:#d5dde7;
  --fab-neutral-text:#172033;
}

/* neutrale Flächen: normal hell/grau, nicht blau */
.map-filterbar,
.compact-intro,
.map-intro{
  background:var(--surface)!important;
  color:var(--text)!important;
  border-color:var(--line)!important;
}
.map-filterbar,
.guestBox,
.form-section,
.poll-question,
.poll-option,
.location-preview,
.address-suggestion.more-search{
  background:var(--neutral-soft)!important;
  color:var(--text)!important;
  border-color:var(--neutral-line)!important;
}
.map-filterbar input,
.map-filterbar select,
.feed-radius-field select{
  background:#fff!important;
  color:#172033!important;
  border-color:var(--neutral-line)!important;
}
.map-filterbar .search-field,
.map-filterbar .filter-field,
.map-filterbar .near-info{
  color:var(--muted)!important;
}

/* Dunkler Kontrast: Suchblock und alle neutralen Controls wirklich dunkel/hell */
body.a11y-dark .map-filterbar,
body.a11y-dark .compact-intro,
body.a11y-dark .map-intro,
body.a11y-dark .feed-radius-field select,
body.a11y-dark .map-filterbar input,
body.a11y-dark .map-filterbar select,
body.a11y-dark .advanced-filters,
body.a11y-dark .guestBox,
body.a11y-dark .form-section,
body.a11y-dark .poll-question,
body.a11y-dark .poll-option,
body.a11y-dark .location-preview,
body.a11y-dark .address-suggestion.more-search{
  background:#101722!important;
  color:#f8fbff!important;
  border-color:#34465f!important;
}
body.a11y-dark .map-filterbar input,
body.a11y-dark .map-filterbar select,
body.a11y-dark .feed-radius-field select{
  background:#05070b!important;
  color:#fff!important;
  border-color:#49627f!important;
}
body.a11y-dark .map-filterbar .search-field,
body.a11y-dark .map-filterbar .filter-field,
body.a11y-dark .map-filterbar .near-info,
body.a11y-dark .compact-intro p,
body.a11y-dark .map-intro p{
  color:#d5deea!important;
}
body.a11y-dark .map-filterbar input::placeholder{color:#aebbd0!important}

/* Plus-Menü: links unten und neutral grau statt düster-schwarz */
.fab-wrap{
  left:22px!important;
  right:auto!important;
  align-items:flex-start!important;
}
.fab-wrap .fab,
.fab{
  background:var(--fab-neutral)!important;
  color:var(--fab-neutral-text)!important;
  border:1px solid var(--fab-neutral-border)!important;
  box-shadow:0 14px 34px rgba(22,35,58,.18)!important;
}
.fab-wrap .fab:hover{background:var(--neutral-hover)!important}
@media(max-width:760px),(hover:none) and (pointer:coarse){
  .fab-wrap{
    left:max(14px,env(safe-area-inset-left))!important;
    right:auto!important;
    bottom:max(14px,env(safe-area-inset-bottom))!important;
  }
}
body.a11y-dark .fab-wrap .fab,
body.a11y-dark .fab{
  background:#19283a!important;
  color:#fff!important;
  border-color:#49627f!important;
}

/* Schriftgrößen-Regler: Container, Abstände und Controls skalieren mit */
.compact-intro{
  padding:calc(18px * var(--ui-scale)) calc(22px * var(--ui-scale))!important;
  border-radius:calc(26px * var(--ui-scale))!important;
}
.compact-intro h1{font-size:calc(22px * var(--ui-scale))!important;line-height:1.05!important}
.compact-intro p{font-size:calc(15px * var(--ui-scale))!important;line-height:1.4!important}
.compact-intro p:first-of-type{font-size:calc(15px * var(--ui-scale))!important}
.intro-toggle{font-size:calc(12px * var(--ui-scale))!important;padding:calc(8px * var(--ui-scale)) calc(10px * var(--ui-scale))!important}

.map-intro{
  padding:calc(26px * var(--ui-scale))!important;
  gap:calc(18px * var(--ui-scale))!important;
  border-radius:calc(32px * var(--ui-scale))!important;
}
.map-intro h2{font-size:calc(28px * var(--ui-scale))!important;line-height:1.1!important}
.map-intro p{font-size:calc(15px * var(--ui-scale))!important;line-height:1.45!important}

.map-filterbar{
  padding:calc(14px * var(--ui-scale))!important;
  gap:calc(12px * var(--ui-scale))!important;
  border-radius:calc(22px * var(--ui-scale))!important;
}
.map-filterbar .search-field,
.map-filterbar .filter-field,
.map-filterbar .near-info{
  font-size:calc(13px * var(--ui-scale))!important;
  line-height:1.25!important;
}
.map-filterbar input,
.map-filterbar select,
.feed-radius-field select,
.filter-toggle,
.refresh-main{
  font-size:calc(14px * var(--ui-scale))!important;
  padding:calc(10px * var(--ui-scale)) calc(12px * var(--ui-scale))!important;
  min-height:calc(42px * var(--ui-scale))!important;
  border-radius:calc(14px * var(--ui-scale))!important;
}
.feed-head h2{font-size:calc(26px * var(--ui-scale))!important}
.feed-radius-field{font-size:calc(13px * var(--ui-scale))!important}
.card-body{padding:calc(16px * var(--ui-scale))!important}
.card h3{font-size:calc(19px * var(--ui-scale))!important}
.card p{font-size:calc(14px * var(--ui-scale))!important}
.badge,.meta{font-size:calc(12px * var(--ui-scale))!important}

@media(max-width:760px),(hover:none) and (pointer:coarse){
  .compact-intro{
    padding:calc(9px * var(--ui-scale)) calc(12px * var(--ui-scale))!important;
    border-radius:calc(16px * var(--ui-scale))!important;
  }
  .compact-intro h1{font-size:calc(17px * var(--ui-scale))!important;line-height:1.04!important}
  .compact-intro p{font-size:calc(11px * var(--ui-scale))!important;line-height:1.22!important}
  .compact-intro p:first-of-type{font-size:calc(11.5px * var(--ui-scale))!important}
  .intro-toggle{font-size:calc(10.5px * var(--ui-scale))!important;padding:calc(6px * var(--ui-scale)) calc(8px * var(--ui-scale))!important}

  .map-intro{
    padding:calc(9px * var(--ui-scale)) calc(12px * var(--ui-scale))!important;
    border-radius:calc(16px * var(--ui-scale))!important;
    gap:calc(7px * var(--ui-scale))!important;
  }
  .map-intro h2{font-size:calc(17px * var(--ui-scale))!important;line-height:1.04!important}
  .map-intro p{font-size:calc(11px * var(--ui-scale))!important;line-height:1.22!important}

  .map-filterbar{
    padding:calc(7px * var(--ui-scale)) calc(8px * var(--ui-scale))!important;
    gap:calc(6px * var(--ui-scale))!important;
    border-radius:calc(14px * var(--ui-scale))!important;
  }
  .map-filterbar .search-field,
  .advanced-filters .filter-field,
  .map-filterbar .near-info{
    font-size:calc(10.5px * var(--ui-scale))!important;
    line-height:1.18!important;
  }
  .map-filterbar input,
  .advanced-filters select,
  .filter-toggle,
  .refresh-main,
  .feed-radius-field select{
    font-size:calc(11px * var(--ui-scale))!important;
    padding:calc(6px * var(--ui-scale)) calc(8px * var(--ui-scale))!important;
    min-height:calc(31px * var(--ui-scale))!important;
    border-radius:calc(10px * var(--ui-scale))!important;
  }
  .map-filterbar input::placeholder{font-size:calc(10.5px * var(--ui-scale))!important}
  .feed-head h2{font-size:calc(18px * var(--ui-scale))!important}
  .feed-radius-field{font-size:calc(10.5px * var(--ui-scale))!important}
}

/* v54: Farbkonzept konsistent auch auf Detailseiten (Leak grün, Poll blau, Neutral grau) */
.detail-page{background:var(--bg);color:var(--text)}
.detail-page .brand-mark{background:var(--fab-neutral)!important;color:#172033!important;border:1px solid var(--fab-neutral-border)!important;box-shadow:0 10px 24px rgba(22,35,58,.12)!important}
.detail-brand-leak strong,.detail-leak .detail-card h1,.detail-leak .detail-meta b,.detail-leak #voteCount{color:var(--leak)!important}
.detail-brand-poll strong,.detail-poll .detail-card h1,.detail-poll .detail-meta b,.detail-poll #totalVotes{color:var(--poll)!important}
.detail-card{border:1px solid var(--line)!important;background:var(--surface)!important;color:var(--text)!important}
.detail-card-leak{border-top:6px solid var(--leak)!important}
.detail-card-poll{border-top:6px solid var(--poll)!important}
.detail-meta{background:var(--neutral-soft)!important;border:1px solid var(--neutral-line)!important;color:#334155!important}
.detail-meta-leak{box-shadow:inset 4px 0 0 var(--leak)}
.detail-meta-poll{box-shadow:inset 4px 0 0 var(--poll)}
.detail-leak .leak-primary{background:var(--leak)!important;color:#fff!important;border-color:var(--leak)!important;box-shadow:0 10px 22px rgba(27,143,77,.22)!important}
.detail-poll .poll-primary{background:var(--poll)!important;color:#fff!important;border-color:var(--poll)!important;box-shadow:0 10px 22px rgba(21,101,192,.22)!important}
.detail-page .secondary,.detail-page .textbtn{background:var(--neutral-soft)!important;color:#172033!important;border:1px solid var(--neutral-line)!important;box-shadow:none!important}
.detail-page .secondary:hover,.detail-page .textbtn:hover{background:var(--neutral-hover)!important}
.detail-page .poll-choice{background:#fff!important;border-color:var(--neutral-line)!important;color:var(--text)!important}
.detail-page .poll-choice i{background:var(--poll-soft)!important}
.detail-page .poll-choice input:checked + span{color:var(--poll)!important;font-weight:900}
.detail-page .poll-choice em{color:var(--muted)!important}
.detail-page .media-grid img{border:1px solid var(--neutral-line);box-shadow:0 8px 22px rgba(22,35,58,.10)}
.detail-page .access-panel{font-size:calc(14px * var(--ui-scale))}

/* Detailseiten skalieren mit dem globalen Barrierefrei-Schriftregler */
.detail-page .detail-card{padding:calc(28px * var(--ui-scale))!important;border-radius:calc(28px * var(--ui-scale))!important}
.detail-page .detail-card h1{font-size:clamp(calc(2rem * var(--ui-scale)),5vw,calc(4rem * var(--ui-scale)))!important;line-height:1.02!important}
.detail-page .detail-card p{font-size:calc(16px * var(--ui-scale))!important;line-height:1.5!important}
.detail-page .detail-meta{font-size:calc(14px * var(--ui-scale))!important;line-height:1.55!important;padding:calc(14px * var(--ui-scale)) calc(16px * var(--ui-scale))!important;border-radius:calc(18px * var(--ui-scale))!important}
.detail-page .poll-choice{font-size:calc(15px * var(--ui-scale))!important;padding:calc(14px * var(--ui-scale)) calc(16px * var(--ui-scale))!important;border-radius:calc(18px * var(--ui-scale))!important}
.detail-page .primary,.detail-page .secondary,.detail-page .textbtn{font-size:calc(14px * var(--ui-scale))!important}

/* Dunkler Kontrast: Detailseiten neutral dunkel, Leak/Poll nicht bunt flächig */
body.a11y-dark.detail-page{background:#05070b!important;color:#f8fbff!important}
body.a11y-dark.detail-page .appbar,
body.a11y-dark.detail-page .detail-card,
body.a11y-dark.detail-page .detail-meta,
body.a11y-dark.detail-page .poll-choice,
body.a11y-dark.detail-page .access-panel{background:#101722!important;color:#f8fbff!important;border-color:#34465f!important;box-shadow:none!important}
body.a11y-dark.detail-page .detail-card{border-top-color:#34465f!important}
body.a11y-dark.detail-page .brand-mark,
body.a11y-dark.detail-page .primary,
body.a11y-dark.detail-page .secondary,
body.a11y-dark.detail-page .textbtn,
body.a11y-dark.detail-page .access-toggle{background:#19283a!important;color:#fff!important;border-color:#49627f!important;box-shadow:none!important}
body.a11y-dark.detail-page .badge,
body.a11y-dark.detail-page .badge.leak-badge,
body.a11y-dark.detail-page .badge.poll-badge{background:#172232!important;color:#fff!important;border-color:#49627f!important}
body.a11y-dark.detail-page .detail-brand-leak strong,
body.a11y-dark.detail-page .detail-brand-poll strong,
body.a11y-dark.detail-page .detail-card h1,
body.a11y-dark.detail-page .detail-meta b,
body.a11y-dark.detail-page #voteCount,
body.a11y-dark.detail-page #totalVotes,
body.a11y-dark.detail-page .poll-choice input:checked + span{color:#fff!important}
body.a11y-dark.detail-page .muted,
body.a11y-dark.detail-page .detail-card p,
body.a11y-dark.detail-page .detail-meta,
body.a11y-dark.detail-page .poll-choice em{color:#d5deea!important}
body.a11y-dark.detail-page .poll-choice i{background:#223247!important}

@media(max-width:720px){
  .detail-page .detail-card{margin:12px!important;padding:calc(18px * var(--ui-scale))!important;border-radius:calc(22px * var(--ui-scale))!important}
  .detail-page .detail-card h1{font-size:calc(28px * var(--ui-scale))!important}
  .detail-page .detail-card p{font-size:calc(14px * var(--ui-scale))!important}
  .detail-page .detail-meta{font-size:calc(12px * var(--ui-scale))!important}
}

/* v55: intro explanation rebuilt as six lightweight CSS/SVG cards */
.howto-intro{padding:16px 18px 18px!important}
.howto-intro .intro-head{align-items:flex-start;gap:12px;margin-bottom:12px}
.howto-intro h1{font-size:calc(22px * var(--ui-scale,1))!important;margin:2px 0 0!important;line-height:1.08!important}
.howto-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px}
.howto-card{position:relative;min-height:126px;background:#fff;border:1px solid var(--neutral-line);border-radius:18px;padding:14px 12px 12px;box-shadow:0 8px 20px rgba(22,35,58,.08);overflow:hidden;text-align:center;color:#172033}
.howto-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(245,247,250,.72));pointer-events:none}
.howto-card>*{position:relative;z-index:1}
.howto-num{position:absolute;top:10px;left:10px;width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:#172033;color:#fff;font-weight:950;font-size:20px;line-height:1;box-shadow:0 6px 14px rgba(23,32,51,.18)}
.howto-icon{display:grid;place-items:center;height:42px;margin:0 auto 5px;color:#172033}
.howto-icon svg{width:48px;height:48px;display:block;fill:currentColor;stroke:currentColor}.howto-icon .thin{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.howto-icon .check-dot{fill:var(--leak);stroke:#fff;stroke-width:2}.howto-icon .check{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.howto-card h3{font-size:calc(17px * var(--ui-scale,1));line-height:1.08;margin:4px 0 5px;font-weight:950;letter-spacing:-.02em;color:#172033}
.howto-card p{font-size:calc(13px * var(--ui-scale,1))!important;line-height:1.22!important;margin:0!important;color:#27364d!important;font-weight:560}
.howto-leak .howto-icon,.howto-idea .howto-icon,.howto-actors .howto-icon{color:var(--leak)}
.howto-poll .howto-icon,.howto-vote .howto-icon,.howto-solution .howto-icon{color:var(--poll)}
.howto-leak h3 .term-leak,.howto-poll h3 .term-poll{font-weight:950}
.compact-intro.intro-collapsed .howto-grid{display:none}
body.a11y-dark .howto-card{background:#101722!important;border-color:#34465f!important;color:#f8fbff!important;box-shadow:none!important}
body.a11y-dark .howto-card:before{background:linear-gradient(135deg,rgba(16,23,34,.98),rgba(23,34,50,.92))!important}
body.a11y-dark .howto-num{background:#19283a!important;color:#fff!important;border:1px solid #49627f!important;box-shadow:none!important}
body.a11y-dark .howto-card h3,body.a11y-dark .howto-card p,body.a11y-dark .howto-icon{color:#f8fbff!important}
body.a11y-dark .howto-icon .check-dot{fill:#19283a!important;stroke:#f8fbff!important}
@media(max-width:760px){
  .howto-intro{padding:10px 12px 12px!important}
  .howto-intro .intro-head{margin-bottom:8px}
  .howto-intro h1{font-size:calc(17px * var(--ui-scale,1))!important}
  .howto-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:6px}
  .howto-card{min-height:106px;border-radius:14px;padding:10px 8px 8px}
  .howto-num{width:26px;height:26px;border-radius:9px;font-size:15px;top:7px;left:7px}
  .howto-icon{height:34px;margin-bottom:3px}.howto-icon svg{width:38px;height:38px}
  .howto-card h3{font-size:calc(13px * var(--ui-scale,1));margin:2px 0 4px}
  .howto-card p{font-size:calc(10.5px * var(--ui-scale,1))!important;line-height:1.16!important}
}
@media(max-width:380px){
  .howto-card{min-height:100px;padding:9px 6px 7px}
  .howto-card h3{font-size:calc(12px * var(--ui-scale,1))}
  .howto-card p{font-size:calc(10px * var(--ui-scale,1))!important}
  .howto-icon svg{width:34px;height:34px}
}
/* v56: compact real logo in the app bar */
.brand-logo-link{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;min-width:0}
.brand-logo{display:block;width:auto;height:44px;max-width:168px;object-fit:contain;flex:0 0 auto}
.appbar .brand-logo-link:hover{background:transparent}
.detail-brand .brand-logo{height:42px;max-width:150px}
.detail-brand .detail-type{display:grid;gap:1px;line-height:1.1}
.detail-brand .detail-type strong{font-size:14px}
.detail-brand .detail-type span{font-size:11px;color:var(--muted)}
body.a11y-dark .brand-logo{background:#f8fbff;border-radius:12px;padding:3px;box-shadow:0 0 0 1px rgba(255,255,255,.2)}
@media(max-width:760px){
  .brand-logo{height:38px;max-width:132px}
  .detail-brand .brand-logo{height:36px;max-width:120px}
  .detail-brand .detail-type span{display:none}
}
@media(max-width:430px){
  .brand-logo{height:34px;max-width:112px}
  .appbar{gap:6px}
}

/* v58: Lumi Chatbot */
.lumi-chat{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));z-index:4100;display:grid;justify-items:end;gap:10px}
.lumi-toggle{width:78px;height:78px;border:0;background:transparent;padding:0;cursor:pointer;border-radius:22px;display:grid;place-items:center;filter:drop-shadow(0 12px 28px rgba(22,35,58,.22))}
.lumi-toggle img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.lumi-panel{width:min(360px,calc(100vw - 20px));background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:24px;box-shadow:0 24px 60px rgba(22,35,58,.18);overflow:hidden;backdrop-filter:blur(14px)}
.lumi-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line);background:#f8fbff}
.lumi-head strong{display:block;font-size:15px;color:#172033}.lumi-head span{display:block;font-size:12px;color:var(--muted)}
.lumi-close{width:34px;height:34px;border:0;border-radius:12px;background:#edf1f6;color:#172033;font-size:24px;line-height:1;cursor:pointer}
.lumi-messages{display:grid;gap:10px;padding:14px;height:280px;overflow:auto;background:#fff}
.lumi-msg{max-width:88%;padding:10px 12px;border-radius:16px;font-size:14px;line-height:1.4}
.lumi-bot{justify-self:start;background:#f1f5f9;color:#172033;border:1px solid #e1e7f0}
.lumi-user{justify-self:end;background:#172033;color:#fff}
.lumi-form{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px;border-top:1px solid var(--line);background:#fff}
.lumi-form input{min-width:0}
body.a11y-dark .lumi-panel,body.a11y-dark .lumi-head,body.a11y-dark .lumi-messages,body.a11y-dark .lumi-form{background:#101722!important;color:#f8fbff!important;border-color:#34465f!important}
body.a11y-dark .lumi-close{background:#172232!important;color:#fff!important}
body.a11y-dark .lumi-bot{background:#172232!important;color:#fff!important;border-color:#34465f!important}
body.a11y-dark .lumi-user{background:#24364b!important;color:#fff!important}
body.a11y-dark .lumi-form input{background:#05070b!important;color:#fff!important;border-color:#49627f!important}
@media(max-width:760px),(hover:none) and (pointer:coarse){
  .lumi-chat{right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));gap:8px}
  .lumi-toggle{width:68px;height:68px}
  .lumi-panel{width:min(340px,calc(100vw - 16px));border-radius:20px}
  .lumi-messages{height:240px}
}


/* v59: Desktop-Logo oben links größer, mobile Größe bleibt dezent */
@media (min-width: 761px) and (hover:hover) and (pointer:fine){
  .appbar .brand-logo{
    height:62px;
    max-width:230px;
  }
  .detail-brand .brand-logo{
    height:58px;
    max-width:210px;
  }
  .appbar{
    min-height:82px;
  }
}


/* v60: Desktop-Logo nochmal größer */
@media (min-width: 761px) and (hover:hover) and (pointer:fine){
  .appbar .brand-logo{
    height:76px;
    max-width:285px;
  }
  .detail-brand .brand-logo{
    height:70px;
    max-width:260px;
  }
  .appbar{
    min-height:96px;
  }
}


/* v61: Desktop-Topbar als eigener runder Block statt volle Breite + Map-Rahmen */
@media (min-width: 761px) and (hover:hover) and (pointer:fine){
  .appbar{
    width:calc(100% - 32px);
    max-width:1120px;
    margin:14px auto 0;
    top:12px;
    border:1px solid var(--line);
    border-radius:30px;
    box-shadow:0 14px 40px rgba(22,35,58,.12);
    padding-left:18px;
    padding-right:18px;
  }
  main{
    padding-top:18px;
  }
}

.map-shell{
  border:2px solid #172033!important;
}

body.a11y-dark .map-shell{
  border-color:#f8fbff!important;
}


/* v62: Intro ohne zusätzliche 'Leaks & Polls'-Eyebrow */
.intro-head h1{
  margin-top:0;
}


/* v63: Topbar-Menü statt Login-Button */
.main-menu-wrap{position:relative;display:inline-flex;align-items:center}
.main-menu-toggle{min-width:64px}
.main-menu-panel{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  width:230px;
  display:grid;
  gap:6px;
  padding:10px;
  background:rgba(255,255,255,.98);
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow:0 18px 50px rgba(22,35,58,.18);
  backdrop-filter:blur(14px);
  z-index:4600;
}
.main-menu-panel[hidden]{display:none!important}
.main-menu-panel button{
  width:100%;
  border:0;
  border-radius:14px;
  padding:11px 12px;
  background:var(--neutral-soft);
  color:#172033;
  font-weight:850;
  text-align:left;
  cursor:pointer;
}
.main-menu-panel button:hover{background:var(--neutral-hover)}
.info-body{color:var(--muted);line-height:1.55}
.auth-secondary{opacity:.96}
body.a11y-dark .main-menu-panel{
  background:#101722!important;
  color:#f8fbff!important;
  border-color:#34465f!important;
}
body.a11y-dark .main-menu-panel button{
  background:#172232!important;
  color:#fff!important;
  border:1px solid #34465f!important;
}
body.a11y-dark .info-body{color:#d5deea!important}
@media(max-width:760px),(hover:none) and (pointer:coarse){
  .main-menu-toggle{min-width:54px;padding-left:10px!important;padding-right:10px!important}
  .main-menu-panel{right:-2px;width:min(230px,calc(100vw - 24px));border-radius:18px}
}


/* v64: Feed unten mit Sortierung + Entfernung */
.feed-controls{
  display:flex;
  align-items:end;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.feed-sort-field,
.feed-radius-field{
  min-width:150px;
}
.feed-radius-field[hidden]{
  display:none!important;
}
.feed-sort-field select,
.feed-radius-field select{
  min-width:150px;
}
@media(max-width:760px),(hover:none) and (pointer:coarse){
  .feed-head{
    align-items:stretch;
  }
  .feed-controls{
    width:100%;
    justify-content:stretch;
  }
  .feed-sort-field,
  .feed-radius-field{
    flex:1 1 140px;
    min-width:0;
  }
  .feed-sort-field select,
  .feed-radius-field select{
    min-width:0;
  }
}


/* v65: dezenter neutraler Rahmen hinter dem Logo */
.brand-logo-link{
  background: var(--neutral-soft);
  border-radius: 18px;
  padding: 8px 12px;
}
.appbar .brand-logo-link{
  min-height: 56px;
}
.detail-brand.brand-logo-link{
  padding: 8px 12px;
}
body.a11y-dark .brand-logo-link{
  background: #172232 !important;
}
body.a11y-dark .brand-logo{
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}
@media(max-width:760px),(hover:none) and (pointer:coarse){
  .brand-logo-link{
    border-radius: 16px;
    padding: 6px 10px;
  }
  .appbar .brand-logo-link{
    min-height: 48px;
  }
}


/* v66: Leak/Poll-Schriftfarben wieder konsequent grün/blau */
.term-leak,
.stat-leaks,
.stat-leaks strong,
.card.report-leak h3,
.detail-brand-leak strong,
.detail-leak .detail-card h1,
.detail-leak .detail-meta b,
.detail-leak #voteCount{
  color: var(--leak) !important;
}

.term-poll,
.stat-polls,
.stat-polls strong,
.card.report-poll h3,
.detail-brand-poll strong,
.detail-poll .detail-card h1,
.detail-poll .detail-meta b,
.detail-poll #totalVotes{
  color: var(--poll) !important;
}

.term-and{
  color:#172033 !important;
}

body.a11y-dark .term-leak,
body.a11y-dark .stat-leaks,
body.a11y-dark .stat-leaks strong,
body.a11y-dark .card.report-leak h3,
body.a11y-dark.detail-page .detail-brand-leak strong,
body.a11y-dark.detail-page .detail-leak .detail-card h1,
body.a11y-dark.detail-page .detail-leak .detail-meta b,
body.a11y-dark.detail-page .detail-leak #voteCount{
  color:#58d68d !important;
}

body.a11y-dark .term-poll,
body.a11y-dark .stat-polls,
body.a11y-dark .stat-polls strong,
body.a11y-dark .card.report-poll h3,
body.a11y-dark.detail-page .detail-brand-poll strong,
body.a11y-dark.detail-page .detail-poll .detail-card h1,
body.a11y-dark.detail-page .detail-poll .detail-meta b,
body.a11y-dark.detail-page .detail-poll #totalVotes{
  color:#7db7ff !important;
}

body.a11y-dark .term-and{
  color:#f8fbff !important;
}


/* v67: Feed-Überschrift unter der Karte explizit Leak/Poll-farbig */
.feed-head h2 .term-leak{
  color:var(--leak) !important;
}
.feed-head h2 .term-poll{
  color:var(--poll) !important;
}
.feed-head h2 .term-and{
  color:#172033 !important;
}
body.a11y-dark .feed-head h2 .term-leak{
  color:#58d68d !important;
}
body.a11y-dark .feed-head h2 .term-poll{
  color:#7db7ff !important;
}
body.a11y-dark .feed-head h2 .term-and{
  color:#f8fbff !important;
}


/* v68: Topbar fest oben + Plus-Button halb Leak/halb Poll */
.appbar{
  position:fixed !important;
  top:0 !important;
  left:0;
  right:0;
  z-index:5000;
}

main{
  padding-top:calc(20px + 72px);
}

.access-panel{
  top:86px;
}

@media (min-width: 761px) and (hover:hover) and (pointer:fine){
  .appbar{
    left:50% !important;
    right:auto !important;
    top:14px !important;
    transform:translateX(-50%);
    width:calc(100% - 32px);
    max-width:1120px;
    margin:0 !important;
  }
  main{
    padding-top:118px;
  }
  .access-panel{
    top:112px;
  }
}

.fab-wrap .fab,
.fab{
  background:linear-gradient(90deg,var(--leak) 0 50%,var(--poll) 50% 100%) !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:0 18px 40px rgba(22,35,58,.24) !important;
}

.fab-wrap .fab:hover,
.fab:hover{
  filter:brightness(1.04);
}

body.a11y-dark .fab-wrap .fab,
body.a11y-dark .fab{
  background:linear-gradient(90deg,#58d68d 0 50%,#7db7ff 50% 100%) !important;
  color:#05070b !important;
  border:0 !important;
}


/* v69: Topbar wirklich fest, auch auf Desktop ohne hover/pointer-Abhängigkeit */
html body > .appbar{
  position:fixed !important;
  z-index:5000 !important;
}

@media (min-width: 761px){
  html body > .appbar{
    position:fixed !important;
    top:14px !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    width:calc(100% - 32px) !important;
    max-width:1120px !important;
    margin:0 !important;
  }
  html body > main{
    padding-top:118px !important;
  }
  html body > .access-panel{
    top:112px !important;
  }
}

@media (max-width:760px){
  html body > .appbar{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    transform:none !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
  }
  html body > main{
    padding-top:calc(20px + 72px) !important;
  }
}


/* v70: Topbar nicht mehr fixed/sticky, sondern normaler Block ohne Überlagerung */
html body > .appbar{
  position:relative !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
  z-index:20 !important;
}

html body > main{
  padding-top:20px !important;
}

html body > .access-panel{
  top:86px !important;
}

@media (min-width: 761px){
  html body > .appbar{
    width:calc(100% - 32px) !important;
    max-width:1120px !important;
    margin:14px auto 0 !important;
    border-radius:30px !important;
  }
  html body > main{
    padding-top:18px !important;
  }
  html body > .access-panel{
    top:112px !important;
  }
}

@media (max-width:760px){
  html body > .appbar{
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    border-radius:0 !important;
  }
  html body > main{
    padding-top:20px !important;
  }
}


/* v71: Desktop-Schnellbuttons direkt über der Karte */
.desktop-map-actions{
  display:none;
}

@media (min-width: 761px){
  .desktop-map-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin:0 0 12px;
  }
  .desktop-map-action{
    border:0;
    border-radius:22px;
    padding:16px 20px;
    color:#fff;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 12px 28px rgba(22,35,58,.12);
    font-size:16px;
  }
  .desktop-map-action.leak-action{
    background:var(--leak);
  }
  .desktop-map-action.poll-action{
    background:var(--poll);
  }
  .desktop-map-action:hover{
    filter:brightness(1.04);
  }
}

body.a11y-dark .desktop-map-action.leak-action{
  background:#58d68d !important;
  color:#05070b !important;
}
body.a11y-dark .desktop-map-action.poll-action{
  background:#7db7ff !important;
  color:#05070b !important;
}


/* v72: Desktop-FAB ausblenden, weil Leak/Poll-Buttons über der Karte vorhanden sind */
@media (min-width: 761px){
  .fab-wrap{
    display:none !important;
  }
}


/* v73: Lumi-Chatbild größer */
.lumi-toggle{
  width:96px !important;
  height:96px !important;
}

@media (min-width: 761px){
  .lumi-toggle{
    width:132px !important;
    height:132px !important;
  }
  .lumi-chat{
    right:max(24px,env(safe-area-inset-right)) !important;
    bottom:max(22px,env(safe-area-inset-bottom)) !important;
  }
}

@media(max-width:760px),(hover:none) and (pointer:coarse){
  .lumi-toggle{
    width:84px !important;
    height:84px !important;
  }
}


/* v74: Howto-Karten öffnen Bild-Overlay */
.howto-card[data-howto-step]{
  cursor:pointer;
  position:relative;
}
.howto-card[data-howto-step]:focus-visible{
  outline:3px solid rgba(23,32,51,.35);
  outline-offset:4px;
}
.howto-card[data-howto-step]::after{
  content:'?';
  position:absolute;
  right:12px;
  top:12px;
  width:28px;
  height:28px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.76);
  color:#172033;
  font-weight:950;
  box-shadow:0 8px 20px rgba(22,35,58,.10);
  opacity:.78;
}
@media (min-width:761px){
  .howto-card[data-howto-step]:hover{
    cursor:help;
    transform:translateY(-1px);
  }
}
.howto-overlay{
  width:min(1120px,calc(100vw - 28px));
  height:min(860px,calc(100vh - 28px));
  border:0;
  border-radius:30px;
  padding:0;
  background:#fff;
  color:#172033;
  box-shadow:0 30px 90px rgba(0,0,0,.32);
  overflow:hidden;
}
.howto-overlay::backdrop{
  background:rgba(5,7,11,.58);
  backdrop-filter:blur(6px);
}
.howto-overlay-close{
  position:absolute;
  top:14px;
  right:14px;
  z-index:3;
  width:44px;
  height:44px;
  border:0;
  border-radius:16px;
  background:#edf1f6;
  color:#172033;
  font-size:30px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 10px 26px rgba(22,35,58,.16);
}
.howto-overlay-box{
  width:100%;
  height:100%;
  margin:0;
  display:grid;
  place-items:center;
  padding:68px 24px 24px;
  background:#f5f7fb;
}
.howto-overlay-box img{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:22px;
  box-shadow:0 14px 38px rgba(22,35,58,.16);
}
.howto-overlay-box figcaption{
  font-size:clamp(18px,3vw,28px);
  font-weight:900;
  color:#637083;
  text-align:center;
}
body.a11y-dark .howto-card[data-howto-step]::after{
  background:#172232;
  color:#fff;
}
body.a11y-dark .howto-overlay{
  background:#101722;
  color:#f8fbff;
}
body.a11y-dark .howto-overlay-box{
  background:#05070b;
}
body.a11y-dark .howto-overlay-close{
  background:#172232;
  color:#fff;
}
body.a11y-dark .howto-overlay-box figcaption{
  color:#d5deea;
}
@media(max-width:760px),(hover:none) and (pointer:coarse){
  .howto-card[data-howto-step]::after{
    width:26px;
    height:26px;
    right:10px;
    top:10px;
  }
  .howto-overlay{
    width:calc(100vw - 16px);
    height:calc(100vh - 16px);
    border-radius:22px;
  }
  .howto-overlay-box{
    padding:62px 14px 14px;
  }
}


/* v75: Feed-Überschrift wird Auswahl + Alle-Seite */
.feed-controls-left{
  justify-content:flex-start;
}
.feed-type-field,
.feed-sort-field,
.feed-radius-field{
  min-width:150px;
}
.feed-type-field select,
.feed-sort-field select,
.feed-radius-field select{
  min-width:150px;
}
.all-list-head{
  margin:0 0 18px;
}
.all-list-head h1{
  margin:0 0 8px;
}
.all-feed .card-actions{
  margin-top:12px;
}
.all-feed .card-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}
@media(max-width:760px),(hover:none) and (pointer:coarse){
  .feed-head{
    align-items:stretch;
  }
  .feed-controls-left{
    width:100%;
  }
  .feed-type-field{
    width:100%;
    min-width:0;
  }
  .feed-type-field select{
    min-width:0;
  }
}


/* v76: Menü-Unterseiten statt Overlays + moderne Inhaltsseiten */
.main-menu-panel a{
  width:100%;
  display:block;
  border:0;
  border-radius:14px;
  padding:11px 12px;
  background:var(--neutral-soft);
  color:#172033;
  font-weight:850;
  text-align:left;
  text-decoration:none;
}
.main-menu-panel a:hover{background:var(--neutral-hover)}
body.a11y-dark .main-menu-panel a{
  background:#172232!important;
  color:#fff!important;
  border:1px solid #34465f!important;
}

.info-main{
  max-width:1120px;
}
.info-hero{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:32px;
  box-shadow:var(--shadow);
  padding:clamp(22px,4vw,38px);
  margin:18px 0;
}
.info-gradient{
  background:linear-gradient(135deg,rgba(27,143,77,.12),#fff 45%,rgba(21,101,192,.12));
}
.info-hero h1{
  font-size:clamp(34px,5.4vw,62px);
  line-height:.96;
  letter-spacing:-.05em;
  margin:6px 0 16px;
}
.info-hero h2{
  font-size:clamp(25px,3.4vw,42px);
  line-height:1.05;
  letter-spacing:-.035em;
  margin:0 0 14px;
}
.info-hero h3{
  margin:0 0 14px;
  color:var(--muted);
}
.info-hero p{
  font-size:clamp(16px,1.7vw,19px);
  line-height:1.58;
  color:var(--muted);
  max-width:900px;
}
.planned-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:18px 0;
}
.planned-card{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  padding:24px;
  min-height:210px;
  color:#fff;
  box-shadow:0 16px 42px rgba(22,35,58,.14);
}
.planned-card::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 12% 8%,rgba(255,255,255,.28),transparent 34%);
  pointer-events:none;
}
.planned-card h2{
  position:relative;
  margin:0 0 12px;
  font-size:clamp(21px,2.4vw,30px);
  line-height:1.08;
  letter-spacing:-.025em;
}
.planned-card p{
  position:relative;
  margin:0 0 10px;
  line-height:1.5;
  color:rgba(255,255,255,.92);
}
.planned-leak{
  background:linear-gradient(135deg,#1b8f4d,#0d301f);
}
.planned-poll{
  background:linear-gradient(135deg,#1565c0,#052f54);
}
.premium-block{
  background:linear-gradient(135deg,#172033,#26364c);
  color:#fff;
}
.premium-block p,.premium-block h2{
  color:#fff;
}
.luminacci-block{
  background:linear-gradient(135deg,rgba(27,143,77,.14),rgba(21,101,192,.14));
}
body.a11y-dark .info-hero{
  background:#101722!important;
  color:#f8fbff!important;
  border-color:#34465f!important;
}
body.a11y-dark .info-gradient,
body.a11y-dark .luminacci-block{
  background:linear-gradient(135deg,rgba(88,214,141,.16),#101722 48%,rgba(125,183,255,.16))!important;
}
body.a11y-dark .info-hero p,
body.a11y-dark .info-hero h3{
  color:#d5deea!important;
}
body.a11y-dark .premium-block{
  background:#172232!important;
}
@media(max-width:760px),(hover:none) and (pointer:coarse){
  .planned-grid{
    grid-template-columns:1fr;
  }
  .info-hero,
  .planned-card{
    border-radius:24px;
  }
}


/* v77: Mitmachen-Seite mit finalem Inhalt im modernen Design */
.join-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:18px 0;
}
.join-card{
  border-radius:28px;
  padding:26px;
  box-shadow:0 16px 42px rgba(22,35,58,.12);
  min-height:280px;
}
.join-card h2{
  margin:0 0 14px;
  font-size:clamp(23px,2.6vw,34px);
  line-height:1.06;
  letter-spacing:-.035em;
}
.join-card p{
  line-height:1.52;
  margin:0 0 11px;
}
.join-neutral{
  background:var(--surface);
  border:1px solid var(--line);
}
.join-neutral p{
  color:var(--muted);
}
.join-gradient{
  color:#fff;
  background:linear-gradient(135deg,#1b8f4d,#1f3120 48%,#1565c0);
  position:relative;
  overflow:hidden;
}
.join-gradient::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 10% 10%,rgba(255,255,255,.24),transparent 35%);
  pointer-events:none;
}
.join-gradient > *{
  position:relative;
}
.join-gradient p{
  color:rgba(255,255,255,.92);
}

.join-contact-card{
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:22px;
  align-items:start;
  margin:18px 0;
  padding:clamp(22px,4vw,34px);
  border-radius:32px;
  background:linear-gradient(135deg,rgba(27,143,77,.12),#fff 42%,rgba(21,101,192,.12));
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.join-contact-card h2{
  margin:0 0 12px;
  font-size:clamp(28px,4vw,48px);
  line-height:1;
  letter-spacing:-.045em;
}
.join-contact-card p{
  color:var(--muted);
  line-height:1.55;
}
.join-contact-form{
  display:grid;
  gap:12px;
}
.join-form-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.join-contact-form textarea{
  min-height:180px;
}
body.a11y-dark .join-neutral,
body.a11y-dark .join-contact-card{
  background:#101722!important;
  color:#f8fbff!important;
  border-color:#34465f!important;
}
body.a11y-dark .join-neutral p,
body.a11y-dark .join-contact-card p{
  color:#d5deea!important;
}
body.a11y-dark .join-contact-card{
  background:linear-gradient(135deg,rgba(88,214,141,.16),#101722 48%,rgba(125,183,255,.16))!important;
}
@media(max-width:960px){
  .join-grid{
    grid-template-columns:1fr;
  }
  .join-contact-card{
    grid-template-columns:1fr;
  }
  .join-form-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px),(hover:none) and (pointer:coarse){
  .join-card,
  .join-contact-card{
    border-radius:24px;
  }
}


/* v78: Footer + Rechtliches + echtes Kontaktformular */
.site-footer{
  max-width:1120px;
  margin:24px auto 0;
  padding:0 16px 22px;
}
.site-footer-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  padding:18px 20px;
  border-radius:28px;
  background:linear-gradient(135deg,rgba(27,143,77,.12),#fff 48%,rgba(21,101,192,.12));
  border:1px solid var(--line);
  box-shadow:0 12px 32px rgba(22,35,58,.08);
}
.footer-links{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.footer-links a{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  border-radius:999px;
  padding:9px 14px;
  background:var(--neutral-soft);
  color:#172033;
  font-weight:850;
  text-decoration:none;
}
.footer-links a:hover{background:var(--neutral-hover)}
.footer-brand{
  display:grid;
  gap:2px;
  text-align:right;
  color:#172033;
}
.footer-brand span{
  color:var(--muted);
  font-size:13px;
}
.legal-main{
  max-width:960px;
}
.legal-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:26px;
  padding:clamp(18px,3vw,28px);
  margin:14px 0;
  box-shadow:0 10px 28px rgba(22,35,58,.07);
}
.legal-card h2{
  margin:0 0 12px;
  font-size:clamp(22px,2.7vw,32px);
  line-height:1.08;
  letter-spacing:-.025em;
}
.legal-card p{
  margin:0 0 10px;
  color:var(--muted);
  line-height:1.62;
}
.legal-card a{
  color:var(--poll);
  font-weight:850;
}
#joinContactBtn:disabled{
  opacity:.65;
  cursor:wait;
}
body.a11y-dark .site-footer-inner,
body.a11y-dark .legal-card{
  background:#101722!important;
  color:#f8fbff!important;
  border-color:#34465f!important;
}
body.a11y-dark .site-footer-inner{
  background:linear-gradient(135deg,rgba(88,214,141,.16),#101722 48%,rgba(125,183,255,.16))!important;
}
body.a11y-dark .footer-links a{
  background:#172232!important;
  color:#fff!important;
}
body.a11y-dark .footer-brand,
body.a11y-dark .legal-card h2{
  color:#fff!important;
}
body.a11y-dark .footer-brand span,
body.a11y-dark .legal-card p{
  color:#d5deea!important;
}
@media(max-width:760px),(hover:none) and (pointer:coarse){
  .site-footer-inner{
    align-items:flex-start;
    border-radius:22px;
  }
  .footer-brand{
    text-align:left;
  }
  .legal-card{
    border-radius:22px;
  }
}


/* v79: Footer wieder neutral im bestehenden App-Design, keine grün/blaue Fläche */
.site-footer-inner{
  background:var(--surface) !important;
  border:1px solid var(--line) !important;
  border-radius:28px !important;
  box-shadow:0 10px 28px rgba(22,35,58,.07) !important;
}

.footer-links a{
  background:var(--neutral-soft) !important;
  color:#172033 !important;
  border:1px solid var(--neutral-line) !important;
  box-shadow:none !important;
}

.footer-links a:hover{
  background:var(--neutral-hover) !important;
}

.footer-brand{
  color:#172033 !important;
}

.footer-brand span{
  color:var(--muted) !important;
}

body.a11y-dark .site-footer-inner{
  background:#101722 !important;
  color:#f8fbff !important;
  border-color:#34465f !important;
}

body.a11y-dark .footer-links a{
  background:#172232 !important;
  color:#fff !important;
  border-color:#34465f !important;
}

body.a11y-dark .footer-brand{
  color:#fff !important;
}

body.a11y-dark .footer-brand span{
  color:#d5deea !important;
}


/* v80: Info-/Rechtsseiten überall neutral im App-Design, keine grün/blauen Flächen */
.info-page .info-hero,
.info-page .info-gradient,
.info-page .luminacci-block,
.info-page .premium-block,
.info-page .join-contact-card,
.info-page .join-neutral,
.info-page .join-gradient,
.info-page .planned-card,
.legal-page .info-hero,
.legal-page .legal-card{
  background:var(--surface) !important;
  color:var(--text) !important;
  border:1px solid var(--line) !important;
  border-radius:28px !important;
  box-shadow:0 10px 28px rgba(22,35,58,.07) !important;
}

.info-page .planned-card,
.info-page .join-card{
  min-height:auto !important;
}

.info-page .planned-card::before,
.info-page .join-gradient::before{
  display:none !important;
}

.info-page .planned-leak,
.info-page .planned-poll,
.info-page .join-gradient{
  position:relative;
}

.info-page .planned-leak::after,
.info-page .join-card.join-neutral:nth-child(1)::after{
  content:'';
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:5px;
  border-radius:999px;
  background:var(--leak);
}

.info-page .planned-poll::after,
.info-page .join-card.join-neutral:nth-child(3)::after{
  content:'';
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:5px;
  border-radius:999px;
  background:var(--poll);
}

.info-page .join-gradient::after{
  content:'';
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:5px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--leak),var(--poll));
}

.info-page .info-hero h1,
.legal-page .info-hero h1{
  font-size:clamp(30px,4.2vw,48px) !important;
  line-height:1.04 !important;
  letter-spacing:-.035em !important;
}

.info-page .info-hero h2,
.info-page .planned-card h2,
.info-page .join-card h2,
.info-page .join-contact-card h2,
.legal-page .legal-card h2{
  font-size:clamp(21px,2.4vw,30px) !important;
  line-height:1.12 !important;
  letter-spacing:-.02em !important;
}

.info-page .info-hero p,
.info-page .planned-card p,
.info-page .join-card p,
.info-page .join-contact-card p,
.legal-page .legal-card p,
.legal-page .info-hero p{
  color:var(--muted) !important;
  font-size:16px !important;
  line-height:1.58 !important;
}

.info-page .premium-block h2,
.info-page .premium-block p{
  color:inherit !important;
}

.info-page .planned-card,
.info-page .join-card{
  padding:22px 22px 22px 26px !important;
}

.info-page .planned-grid,
.info-page .join-grid{
  gap:14px !important;
}

.info-page .join-contact-card{
  background:var(--surface) !important;
}

.info-page .join-contact-form input,
.info-page .join-contact-form select,
.info-page .join-contact-form textarea{
  background:#fff !important;
}

.site-footer-inner{
  background:var(--surface) !important;
  border:1px solid var(--line) !important;
  border-radius:28px !important;
  box-shadow:0 10px 28px rgba(22,35,58,.07) !important;
}

.footer-links a{
  background:var(--neutral-soft) !important;
  color:#172033 !important;
  border:1px solid var(--neutral-line) !important;
  box-shadow:none !important;
}

.footer-links a:hover{
  background:var(--neutral-hover) !important;
}

.footer-brand{
  color:#172033 !important;
}

.footer-brand span{
  color:var(--muted) !important;
}

body.a11y-dark.info-page .info-hero,
body.a11y-dark.info-page .info-gradient,
body.a11y-dark.info-page .luminacci-block,
body.a11y-dark.info-page .premium-block,
body.a11y-dark.info-page .join-contact-card,
body.a11y-dark.info-page .join-neutral,
body.a11y-dark.info-page .join-gradient,
body.a11y-dark.info-page .planned-card,
body.a11y-dark.legal-page .info-hero,
body.a11y-dark.legal-page .legal-card,
body.a11y-dark .site-footer-inner{
  background:#101722 !important;
  color:#f8fbff !important;
  border-color:#34465f !important;
  box-shadow:none !important;
}

body.a11y-dark.info-page .info-hero p,
body.a11y-dark.info-page .planned-card p,
body.a11y-dark.info-page .join-card p,
body.a11y-dark.info-page .join-contact-card p,
body.a11y-dark.legal-page .legal-card p,
body.a11y-dark.legal-page .info-hero p,
body.a11y-dark .footer-brand span{
  color:#d5deea !important;
}

body.a11y-dark.info-page .join-contact-form input,
body.a11y-dark.info-page .join-contact-form select,
body.a11y-dark.info-page .join-contact-form textarea{
  background:#05070b !important;
  color:#fff !important;
  border-color:#49627f !important;
}

@media(max-width:760px),(hover:none) and (pointer:coarse){
  .info-page .info-hero,
  .info-page .planned-card,
  .info-page .join-card,
  .info-page .join-contact-card,
  .legal-page .legal-card,
  .site-footer-inner{
    border-radius:22px !important;
  }
  .info-page .info-hero h1,
  .legal-page .info-hero h1{
    font-size:clamp(28px,8vw,38px) !important;
  }
}


/* v81: Unterseiten/Legal auf gleichen Kopfbereich und gleiche Breite geradeziehen */
.legal-main{
  max-width:1120px !important;
}

.info-page .appbar,
.legal-page .appbar,
.all-page .appbar,
.detail-page .appbar{
  width:calc(100% - 32px) !important;
  max-width:1120px !important;
  margin:14px auto 0 !important;
  border-radius:30px !important;
}

.info-page .access-panel,
.legal-page .access-panel,
.all-page .access-panel,
.detail-page .access-panel{
  font-size:calc(14px * var(--ui-scale));
}

.info-page .top-stats,
.legal-page .top-stats,
.all-page .top-stats,
.detail-page .top-stats{
  display:flex;
}

@media(max-width:760px),(hover:none) and (pointer:coarse){
  .info-page .appbar,
  .legal-page .appbar,
  .all-page .appbar,
  .detail-page .appbar{
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    border-radius:0 !important;
  }
}

/* Barrierefrei-Schriftgröße auch auf statischen Seiten */
.info-page .info-main,
.legal-page .legal-main,
.all-page main,
.detail-page main,
.info-page .site-footer,
.legal-page .site-footer,
.all-page .site-footer,
.detail-page .site-footer{
  font-size:calc(16px * var(--a11y-font-scale,1));
}

.info-page .info-hero p,
.info-page .planned-card p,
.info-page .join-card p,
.info-page .join-contact-card p,
.legal-page .legal-card p,
.legal-page .info-hero p{
  font-size:calc(16px * var(--a11y-font-scale,1)) !important;
}

.info-page .info-hero h1,
.legal-page .info-hero h1{
  font-size:calc(clamp(30px,4.2vw,48px) * var(--a11y-font-scale,1)) !important;
}

.info-page .info-hero h2,
.info-page .planned-card h2,
.info-page .join-card h2,
.info-page .join-contact-card h2,
.legal-page .legal-card h2{
  font-size:calc(clamp(21px,2.4vw,30px) * var(--a11y-font-scale,1)) !important;
}


/* v82: Vorlese-Buttons auch auf neuen Unterseiten und Detailseiten */
.info-hero,
.planned-card,
.join-card,
.join-contact-card,
.legal-card,
.detail-card,
.all-list-head,
.all-feed .card{
  position:relative;
}

.static-read-btn{
  position:absolute;
  top:12px;
  right:12px;
  z-index:5;
}

body.a11y-read .static-read-btn{
  display:inline-grid;
}

.static-read-btn.is-speaking{
  background:#172033!important;
  color:#fff!important;
}

body.a11y-dark .static-read-btn.is-speaking{
  background:#f8fbff!important;
  color:#05070b!important;
}


/* v83: Footer-Schrift und Footer-Buttons an Top-Menü angleichen */
.site-footer,
.info-page .site-footer,
.legal-page .site-footer,
.all-page .site-footer,
.detail-page .site-footer{
  font-size:calc(14px * var(--ui-scale,1)) !important;
}

.site-footer-inner{
  padding:14px 16px !important;
  gap:12px !important;
}

.footer-links{
  gap:8px !important;
}

.footer-links a{
  min-height:36px !important;
  padding:8px 12px !important;
  border-radius:14px !important;
  font-size:calc(14px * var(--ui-scale,1)) !important;
  line-height:1.15 !important;
  font-weight:850 !important;
}

.footer-brand{
  font-size:calc(14px * var(--ui-scale,1)) !important;
  line-height:1.15 !important;
}

.footer-brand strong{
  font-size:calc(14px * var(--ui-scale,1)) !important;
  line-height:1.15 !important;
}

.footer-brand span{
  font-size:calc(12px * var(--ui-scale,1)) !important;
  line-height:1.2 !important;
}

@media(max-width:760px),(hover:none) and (pointer:coarse){
  .site-footer-inner{
    padding:13px 14px !important;
  }
  .footer-links a{
    min-height:34px !important;
    padding:7px 10px !important;
    font-size:calc(13px * var(--ui-scale,1)) !important;
  }
  .footer-brand,
  .footer-brand strong{
    font-size:calc(13px * var(--ui-scale,1)) !important;
  }
  .footer-brand span{
    font-size:calc(11px * var(--ui-scale,1)) !important;
  }
}


/* v84: Schriftgrößen seitenweit vereinheitlichen */
:root{
  --fs-ui:14px;
  --fs-ui-small:12px;
  --fs-label:13px;
  --fs-body:16px;
  --fs-body-large:18px;
  --fs-card-title:19px;
  --fs-section-title:26px;
  --fs-page-title:42px;
  --fs-hero-title:48px;
  --lh-body:1.55;
  --lh-title:1.08;
}
@media(max-width:760px),(hover:none) and (pointer:coarse){
  :root{
    --fs-ui:13px;
    --fs-ui-small:11px;
    --fs-label:12px;
    --fs-body:15px;
    --fs-body-large:16px;
    --fs-card-title:18px;
    --fs-section-title:23px;
    --fs-page-title:32px;
    --fs-hero-title:36px;
  }
}

/* UI: Topbar, Menü, Suche, Filter, Footer */
.appbar,
.appbar nav,
.textbtn,
.main-menu-panel,
.main-menu-panel button,
.main-menu-panel a,
.footer-links a,
.footer-brand,
.map-filterbar,
.map-filterbar input,
.map-filterbar select,
.feed-controls,
.feed-controls label,
.feed-controls select,
.feed-type-field,
.feed-sort-field,
.feed-radius-field,
.filter-field,
.search-field,
.access-panel,
.access-panel button,
.access-panel label{
  font-size:calc(var(--fs-ui) * var(--ui-scale,1)) !important;
  line-height:1.2 !important;
}

.brand strong{
  font-size:calc(var(--fs-ui) * var(--ui-scale,1)) !important;
}
.brand span,
.top-stats,
.footer-brand span,
.meta,
.badge{
  font-size:calc(var(--fs-ui-small) * var(--ui-scale,1)) !important;
  line-height:1.25 !important;
}

.textbtn,
.main-menu-panel button,
.main-menu-panel a,
.footer-links a{
  padding:9px 12px !important;
  min-height:36px !important;
  border-radius:14px !important;
}
.map-filterbar input,
.map-filterbar select,
.feed-controls select,
input,
select,
textarea{
  font-size:calc(var(--fs-body) * var(--a11y-font-scale,1)) !important;
  line-height:1.25 !important;
}
.map-filterbar label,
.feed-controls label,
.filter-field,
.search-field,
.feed-type-field,
.feed-sort-field,
.feed-radius-field{
  font-size:calc(var(--fs-label) * var(--ui-scale,1)) !important;
  line-height:1.25 !important;
  font-weight:850 !important;
}

/* Grundtexte */
body,
.card p,
.popup p,
.info-page p,
.legal-page p,
.all-page p,
.detail-page p,
.intro-card p,
.map-intro p,
.hero p,
.join-contact-card p,
.legal-card p,
.planned-card p,
.join-card p{
  font-size:calc(var(--fs-body) * var(--a11y-font-scale,1)) !important;
  line-height:var(--lh-body) !important;
}

/* große Startseitenbereiche */
.hero h1{
  font-size:calc(var(--fs-hero-title) * var(--a11y-font-scale,1)) !important;
  line-height:.98 !important;
  letter-spacing:-.045em !important;
}
.intro-card h1,
.map-intro h2,
.info-hero h1,
.all-list-head h1,
.legal-page .info-hero h1{
  font-size:calc(var(--fs-page-title) * var(--a11y-font-scale,1)) !important;
  line-height:1.02 !important;
  letter-spacing:-.04em !important;
}

/* normale Abschnitts-Überschriften */
.feed-head h1,
.feed-head h2,
.info-hero h2,
.premium-block h2,
.luminacci-block h2,
.join-contact-card h2,
.legal-card h2{
  font-size:calc(var(--fs-section-title) * var(--a11y-font-scale,1)) !important;
  line-height:var(--lh-title) !important;
  letter-spacing:-.025em !important;
}

/* Karten-/Listen-Titel */
.card h3,
.howto-card h3,
.planned-card h2,
.join-card h2,
.all-feed .card h3,
.detail-card h1,
.detail-card h2{
  font-size:calc(var(--fs-card-title) * var(--a11y-font-scale,1)) !important;
  line-height:1.15 !important;
  letter-spacing:-.015em !important;
}

/* kleinere Hilfstexte konsistent */
.eyebrow,
.small,
.muted,
.meta,
.badge,
.card .meta,
.detail-meta,
.footer-brand span{
  font-size:calc(var(--fs-ui-small) * var(--a11y-font-scale,1)) !important;
  line-height:1.35 !important;
}

/* Feed unter der Karte exakt wie Filter/Menu behandeln */
.feed-head{
  align-items:end !important;
}
.feed-head .feed-controls,
.feed-head .feed-controls-left{
  font-size:calc(var(--fs-ui) * var(--ui-scale,1)) !important;
}
.feed-head select{
  min-height:40px !important;
  border-radius:14px !important;
  padding:9px 12px !important;
}

/* Detail/Info/Legal-Breiten und Innenabstände gleichmäßig */
.info-main,
.legal-main,
.all-page main,
.detail-page main{
  max-width:1120px !important;
}
.info-hero,
.legal-card,
.planned-card,
.join-card,
.join-contact-card,
.all-list-head,
.detail-card{
  padding:22px !important;
}
@media(max-width:760px),(hover:none) and (pointer:coarse){
  .textbtn,
  .main-menu-panel button,
  .main-menu-panel a,
  .footer-links a{
    padding:8px 10px !important;
    min-height:34px !important;
  }
  .map-filterbar input,
  .map-filterbar select,
  .feed-controls select,
  input,
  select,
  textarea{
    font-size:calc(var(--fs-body) * var(--a11y-font-scale,1)) !important;
  }
  .intro-card h1,
  .map-intro h2,
  .info-hero h1,
  .all-list-head h1,
  .legal-page .info-hero h1{
    font-size:calc(var(--fs-page-title) * var(--a11y-font-scale,1)) !important;
  }
  .feed-head h1,
  .feed-head h2,
  .info-hero h2,
  .premium-block h2,
  .luminacci-block h2,
  .join-contact-card h2,
  .legal-card h2{
    font-size:calc(var(--fs-section-title) * var(--a11y-font-scale,1)) !important;
  }
  .info-hero,
  .legal-card,
  .planned-card,
  .join-card,
  .join-contact-card,
  .all-list-head,
  .detail-card{
    padding:20px !important;
  }
}


/* v85: Mobile Schriftgrößen wieder an Topbar/Suche angleichen, Desktop unverändert lassen */
@media(max-width:760px),(hover:none) and (pointer:coarse){
  :root{
    --fs-ui:13px;
    --fs-ui-small:11px;
    --fs-label:12px;
    --fs-body:14px;
    --fs-body-large:15px;
    --fs-card-title:17px;
    --fs-section-title:21px;
    --fs-page-title:28px;
    --fs-hero-title:32px;
  }

  /* Mobile UI-Elemente: alles wie Menü/Suche, nicht wie Fließtext */
  .appbar,
  .appbar nav,
  .textbtn,
  .main-menu-panel,
  .main-menu-panel button,
  .main-menu-panel a,
  .footer-links a,
  .footer-brand,
  .map-filterbar,
  .map-filterbar label,
  .map-filterbar input,
  .map-filterbar select,
  .feed-controls,
  .feed-controls label,
  .feed-controls select,
  .feed-type-field,
  .feed-sort-field,
  .feed-radius-field,
  .filter-field,
  .search-field,
  .access-panel,
  .access-panel button,
  .access-panel label{
    font-size:calc(var(--fs-ui) * var(--ui-scale,1)) !important;
    line-height:1.2 !important;
  }

  .top-stats,
  .brand span,
  .footer-brand span,
  .meta,
  .badge,
  .eyebrow,
  .small,
  .muted{
    font-size:calc(var(--fs-ui-small) * var(--ui-scale,1)) !important;
    line-height:1.3 !important;
  }

  /* Mobile Formfelder/Dropdowns nicht größer ziehen */
  input,
  select,
  textarea,
  .map-filterbar input,
  .map-filterbar select,
  .feed-head select,
  .feed-controls select,
  .join-contact-form input,
  .join-contact-form select,
  .join-contact-form textarea{
    font-size:calc(var(--fs-ui) * var(--ui-scale,1)) !important;
    line-height:1.25 !important;
  }

  /* Mobile Texte auf kompakte Lesbarkeit zurück */
  body,
  .card p,
  .popup p,
  .info-page p,
  .legal-page p,
  .all-page p,
  .detail-page p,
  .intro-card p,
  .map-intro p,
  .hero p,
  .join-contact-card p,
  .legal-card p,
  .planned-card p,
  .join-card p{
    font-size:calc(var(--fs-body) * var(--a11y-font-scale,1)) !important;
    line-height:1.5 !important;
  }

  /* Mobile Überschriften kompakter und einheitlich */
  .hero h1{
    font-size:calc(var(--fs-hero-title) * var(--a11y-font-scale,1)) !important;
    line-height:1 !important;
  }

  .intro-card h1,
  .map-intro h2,
  .info-hero h1,
  .all-list-head h1,
  .legal-page .info-hero h1{
    font-size:calc(var(--fs-page-title) * var(--a11y-font-scale,1)) !important;
    line-height:1.05 !important;
  }

  .feed-head h1,
  .feed-head h2,
  .info-hero h2,
  .premium-block h2,
  .luminacci-block h2,
  .join-contact-card h2,
  .legal-card h2{
    font-size:calc(var(--fs-section-title) * var(--a11y-font-scale,1)) !important;
    line-height:1.12 !important;
  }

  .card h3,
  .howto-card h3,
  .planned-card h2,
  .join-card h2,
  .all-feed .card h3,
  .detail-card h1,
  .detail-card h2{
    font-size:calc(var(--fs-card-title) * var(--a11y-font-scale,1)) !important;
    line-height:1.15 !important;
  }

  /* Feed unter der Karte exakt auf mobile Suche/Menu ziehen */
  .feed-head{
    gap:10px !important;
  }
  .feed-head .feed-controls,
  .feed-head .feed-controls-left{
    font-size:calc(var(--fs-ui) * var(--ui-scale,1)) !important;
  }
  .feed-head select{
    min-height:36px !important;
    padding:8px 10px !important;
    border-radius:13px !important;
    font-size:calc(var(--fs-ui) * var(--ui-scale,1)) !important;
  }

  .footer-links a{
    min-height:34px !important;
    padding:7px 10px !important;
    font-size:calc(var(--fs-ui) * var(--ui-scale,1)) !important;
  }
  .footer-brand,
  .footer-brand strong{
    font-size:calc(var(--fs-ui) * var(--ui-scale,1)) !important;
  }
  .footer-brand span{
    font-size:calc(var(--fs-ui-small) * var(--ui-scale,1)) !important;
  }
}


/* v86: Mobile-Schriftgrößen nach v83 sauber zurückgezogen; Desktop bleibt v84/v85 */
@media (max-width:760px),(hover:none) and (pointer:coarse){
  body{
    font-size:14px !important;
  }

  /* Topbar/Menu/Suche bleiben die mobile Referenz */
  .appbar,
  .appbar nav,
  .textbtn,
  .main-menu-panel,
  .main-menu-panel button,
  .main-menu-panel a,
  .map-filterbar,
  .map-filterbar label,
  .map-filterbar input,
  .map-filterbar select,
  .feed-controls,
  .feed-controls label,
  .feed-controls select,
  .feed-type-field,
  .feed-sort-field,
  .feed-radius-field,
  .filter-field,
  .search-field,
  .footer-links a,
  .footer-brand,
  .access-panel,
  .access-panel label,
  .access-panel button{
    font-size:calc(13px * var(--ui-scale,1)) !important;
    line-height:1.2 !important;
  }

  .top-stats,
  .brand span,
  .footer-brand span,
  .badge,
  .meta,
  .distance-chip,
  .eyebrow,
  .small,
  .muted{
    font-size:calc(11px * var(--ui-scale,1)) !important;
    line-height:1.25 !important;
  }

  /* Startseite wieder wie vor der Änderung */
  .intro-card h1{
    font-size:calc(24px * var(--a11y-font-scale,1)) !important;
    line-height:1 !important;
    margin:4px 0 8px !important;
    letter-spacing:-.04em !important;
  }
  .intro-card p{
    font-size:calc(13px * var(--a11y-font-scale,1)) !important;
    line-height:1.3 !important;
    margin:0 0 5px !important;
  }
  .map-intro h2{
    font-size:calc(21px * var(--a11y-font-scale,1)) !important;
    line-height:1.08 !important;
    margin-bottom:4px !important;
  }
  .map-intro p{
    font-size:calc(13px * var(--a11y-font-scale,1)) !important;
    line-height:1.35 !important;
  }
  .hero h1{
    font-size:calc(32px * var(--a11y-font-scale,1)) !important;
    line-height:1 !important;
  }
  .hero p{
    font-size:calc(14px * var(--a11y-font-scale,1)) !important;
    line-height:1.4 !important;
  }

  /* 6 Howto-Karten exakt kompakt halten */
  .howto-card h3{
    font-size:calc(13px * var(--ui-scale,1)) !important;
    line-height:1.12 !important;
    margin:2px 0 4px !important;
  }
  .howto-card p{
    font-size:calc(10.5px * var(--ui-scale,1)) !important;
    line-height:1.16 !important;
  }

  /* Feed/Karten mobil wieder kompakt */
  .feed-head{
    gap:8px !important;
    margin:18px 0 10px !important;
  }
  .feed-head h1,
  .feed-head h2{
    font-size:calc(20px * var(--a11y-font-scale,1)) !important;
    line-height:1.1 !important;
  }
  .feed-head select{
    min-height:34px !important;
    padding:7px 10px !important;
    border-radius:13px !important;
    font-size:calc(13px * var(--ui-scale,1)) !important;
  }
  .card h3,
  .all-feed .card h3{
    font-size:calc(16px * var(--a11y-font-scale,1)) !important;
    line-height:1.15 !important;
    margin:7px 0 6px !important;
  }
  .card p,
  .all-feed .card p{
    font-size:calc(12px * var(--a11y-font-scale,1)) !important;
    line-height:1.35 !important;
  }

  /* Neue Unterseiten mobil: gleiche Größenfamilie, nicht hochskalieren */
  .info-hero h1,
  .all-list-head h1,
  .legal-page .info-hero h1{
    font-size:calc(24px * var(--a11y-font-scale,1)) !important;
    line-height:1.05 !important;
    margin:4px 0 10px !important;
    letter-spacing:-.035em !important;
  }
  .info-hero h2,
  .premium-block h2,
  .luminacci-block h2,
  .join-contact-card h2,
  .legal-card h2{
    font-size:calc(20px * var(--a11y-font-scale,1)) !important;
    line-height:1.12 !important;
    margin:0 0 10px !important;
  }
  .planned-card h2,
  .join-card h2,
  .detail-card h1,
  .detail-card h2{
    font-size:calc(17px * var(--a11y-font-scale,1)) !important;
    line-height:1.15 !important;
    margin:0 0 9px !important;
  }
  .info-hero p,
  .planned-card p,
  .join-card p,
  .join-contact-card p,
  .legal-card p,
  .detail-page p,
  .all-page p{
    font-size:calc(13px * var(--a11y-font-scale,1)) !important;
    line-height:1.42 !important;
  }

  input,
  select,
  textarea,
  .join-contact-form input,
  .join-contact-form select,
  .join-contact-form textarea{
    font-size:calc(13px * var(--ui-scale,1)) !important;
    line-height:1.25 !important;
  }

  .info-hero,
  .legal-card,
  .planned-card,
  .join-card,
  .join-contact-card,
  .all-list-head,
  .detail-card{
    padding:14px !important;
  }
}

@media (max-width:380px){
  .intro-card h1,
  .info-hero h1,
  .all-list-head h1,
  .legal-page .info-hero h1{
    font-size:calc(23px * var(--a11y-font-scale,1)) !important;
  }
  .howto-card h3{
    font-size:calc(12px * var(--ui-scale,1)) !important;
  }
  .howto-card p{
    font-size:calc(10px * var(--ui-scale,1)) !important;
  }
}


/* v87: Mobile wirklich auf den Stand vor der Schriftgrößen-Änderung zurücksetzen.
   Wichtig: feste v82-Werte, damit die späteren globalen v84/v85/v86-Regeln nicht mehr hochskalieren. */
@media (max-width:760px){
  body{
    font-size:14px !important;
  }

  main{
    padding:10px 10px 86px !important;
    max-width:540px !important;
  }

  .appbar{
    height:58px !important;
    padding:8px 10px !important;
    gap:8px !important;
  }

  .brand{
    gap:8px !important;
    min-width:0 !important;
  }

  .brand strong{
    font-size:15px !important;
    white-space:nowrap !important;
  }

  .brand span,
  .top-stats,
  .footer-brand span{
    font-size:11px !important;
  }

  .appbar nav{
    gap:2px !important;
  }

  .textbtn,
  .main-menu-panel button,
  .main-menu-panel a,
  .footer-links a{
    font-size:13px !important;
    padding:7px 8px !important;
    min-height:0 !important;
    line-height:1.2 !important;
  }

  .overview{
    grid-template-columns:.82fr 1.18fr !important;
    gap:10px !important;
    margin:10px 0 !important;
  }

  .activity-card,
  .intro-card,
  .map-intro{
    border-radius:20px !important;
    padding:14px !important;
    box-shadow:0 8px 24px rgba(22,35,58,.08) !important;
  }

  .eyebrow{
    font-size:10px !important;
    letter-spacing:.1em !important;
    margin:0 0 4px !important;
  }

  .stat-grid{
    grid-template-columns:1fr !important;
    gap:6px !important;
  }

  .stat-grid div{
    display:flex !important;
    justify-content:space-between !important;
    gap:6px !important;
    border-radius:13px !important;
    padding:8px 9px !important;
  }

  .stat-grid span{
    font-size:11px !important;
  }

  .stat-grid strong{
    font-size:20px !important;
  }

  .intro-card h1{
    font-size:24px !important;
    line-height:1 !important;
    margin:4px 0 8px !important;
    letter-spacing:-.04em !important;
  }

  .intro-card p{
    font-size:13px !important;
    line-height:1.3 !important;
    margin:0 0 5px !important;
  }

  .principle{
    margin-top:9px !important;
    border-radius:15px !important;
    padding:10px !important;
  }

  .principle b{
    font-size:13px !important;
    margin-bottom:4px !important;
  }

  .principle ol{
    font-size:12px !important;
    line-height:1.35 !important;
    padding-left:18px !important;
  }

  .map-intro{
    margin:10px 0 !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .map-intro h2{
    font-size:21px !important;
    line-height:1.08 !important;
    margin-bottom:4px !important;
  }

  .map-intro p{
    font-size:13px !important;
    line-height:1.35 !important;
  }

  .primary,
  .secondary,
  .map-tools button,
  .oauth-row button{
    font-size:13px !important;
    padding:10px 12px !important;
    border-radius:14px !important;
  }

  .map-filterbar{
    grid-template-columns:1fr !important;
    gap:8px !important;
    border-radius:16px !important;
    padding:10px !important;
  }

  .search-field,
  .filter-field,
  .map-filterbar label,
  .feed-type-field,
  .feed-sort-field,
  .feed-radius-field{
    font-size:12px !important;
    line-height:1.2 !important;
  }

  .map-filterbar input,
  .map-filterbar select,
  .feed-head select,
  .feed-controls select,
  input,
  select,
  textarea{
    font-size:13px !important;
    line-height:1.25 !important;
    padding:9px 10px !important;
    border-radius:13px !important;
  }

  .feed-head{
    margin:18px 0 10px !important;
    gap:8px !important;
    align-items:stretch !important;
  }

  .feed-head h1,
  .feed-head h2{
    font-size:20px !important;
    line-height:1.1 !important;
    margin:0 !important;
  }

  .feed-controls{
    width:100% !important;
    justify-content:stretch !important;
    gap:8px !important;
    font-size:13px !important;
  }

  .feed-sort-field,
  .feed-radius-field,
  .feed-type-field{
    flex:1 1 140px !important;
    min-width:0 !important;
  }

  .feed-sort-field select,
  .feed-radius-field select,
  .feed-type-field select{
    min-width:0 !important;
    min-height:34px !important;
    font-size:13px !important;
    padding:7px 10px !important;
  }

  .feed{
    grid-template-columns:repeat(auto-fit,minmax(168px,1fr)) !important;
    gap:10px !important;
  }

  .card{
    border-radius:18px !important;
  }

  .card img{
    height:118px !important;
  }

  .card-body{
    padding:11px !important;
  }

  .card h3,
  .all-feed .card h3{
    font-size:16px !important;
    line-height:1.15 !important;
    margin:7px 0 6px !important;
  }

  .card p,
  .all-feed .card p{
    font-size:12px !important;
    line-height:1.35 !important;
  }

  .badge,
  .distance-chip,
  .meta{
    font-size:10px !important;
    line-height:1.25 !important;
  }

  /* Howto-Karten exakt wieder kompakt wie vor der Änderung */
  .howto-intro{
    padding:10px 12px 12px !important;
  }

  .howto-card{
    min-height:106px !important;
    border-radius:14px !important;
    padding:10px 8px 8px !important;
  }

  .howto-num{
    width:26px !important;
    height:26px !important;
    border-radius:9px !important;
    font-size:15px !important;
    top:7px !important;
    left:7px !important;
  }

  .howto-icon{
    height:34px !important;
    margin-bottom:3px !important;
  }

  .howto-icon svg{
    width:38px !important;
    height:38px !important;
  }

  .howto-card h3{
    font-size:13px !important;
    line-height:1.12 !important;
    margin:2px 0 4px !important;
  }

  .howto-card p{
    font-size:10.5px !important;
    line-height:1.16 !important;
  }

  /* Neue Seiten: an diese mobile Größenfamilie angleichen, aber nicht größer ziehen */
  .info-page .info-hero,
  .info-page .planned-card,
  .info-page .join-card,
  .info-page .join-contact-card,
  .legal-page .legal-card,
  .all-list-head,
  .detail-card{
    border-radius:20px !important;
    padding:14px !important;
  }

  .info-page .info-hero h1,
  .legal-page .info-hero h1,
  .all-list-head h1{
    font-size:24px !important;
    line-height:1 !important;
    margin:4px 0 8px !important;
    letter-spacing:-.04em !important;
  }

  .info-page .info-hero h2,
  .info-page .join-contact-card h2,
  .legal-page .legal-card h2{
    font-size:20px !important;
    line-height:1.1 !important;
    margin:0 0 8px !important;
  }

  .info-page .planned-card h2,
  .info-page .join-card h2,
  .detail-card h1,
  .detail-card h2{
    font-size:16px !important;
    line-height:1.15 !important;
    margin:0 0 8px !important;
  }

  .info-page .info-hero p,
  .info-page .planned-card p,
  .info-page .join-card p,
  .info-page .join-contact-card p,
  .legal-page .legal-card p,
  .legal-page .info-hero p,
  .all-page p,
  .detail-page p{
    font-size:13px !important;
    line-height:1.35 !important;
  }

  .site-footer-inner{
    padding:13px 14px !important;
    border-radius:20px !important;
  }

  .footer-links a{
    font-size:13px !important;
    min-height:34px !important;
    padding:7px 10px !important;
  }

  .footer-brand,
  .footer-brand strong{
    font-size:13px !important;
  }

  .footer-brand span{
    font-size:11px !important;
  }
}

@media (max-width:380px){
  .intro-card h1{
    font-size:25px !important;
  }

  .info-page .info-hero h1,
  .legal-page .info-hero h1,
  .all-list-head h1{
    font-size:23px !important;
  }

  .howto-card{
    min-height:100px !important;
    padding:9px 6px 7px !important;
  }

  .howto-card h3{
    font-size:12px !important;
  }

  .howto-card p{
    font-size:10px !important;
  }

  .howto-icon svg{
    width:34px !important;
    height:34px !important;
  }
}


/* v88: Mobile Intro-Überschrift exakt an "Leaks & Polls auf der Karte" angleichen */
@media (max-width:760px){
  .intro-card h1{
    font-size:21px !important;
    line-height:1.08 !important;
    margin:4px 0 8px !important;
    letter-spacing:-.03em !important;
  }
}

@media (max-width:380px){
  .intro-card h1{
    font-size:21px !important;
  }
}


/* v89: neues breites Logo passend vorbereiten.
   Datei bitte als assets/logo-13needit.png ablegen/ersetzen. */
.brand-logo{
  object-fit:contain !important;
  object-position:left center !important;
}

.appbar .brand-logo{
  height:58px !important;
  max-width:340px !important;
}

.appbar .brand-logo-link{
  flex:0 1 360px !important;
  max-width:min(360px,36vw) !important;
  overflow:hidden !important;
}

.detail-brand .brand-logo{
  height:54px !important;
  max-width:320px !important;
}

@media (min-width:761px) and (hover:hover) and (pointer:fine){
  .appbar{
    min-height:88px !important;
  }
  .appbar .brand-logo{
    height:64px !important;
    max-width:360px !important;
  }
  .appbar .brand-logo-link{
    max-width:min(380px,37vw) !important;
  }
}

@media(max-width:760px),(hover:none) and (pointer:coarse){
  .appbar .brand-logo-link{
    flex:0 1 138px !important;
    max-width:138px !important;
    min-height:44px !important;
    padding:5px 7px !important;
  }
  .brand-logo,
  .appbar .brand-logo{
    height:34px !important;
    max-width:124px !important;
  }
}

@media(max-width:380px){
  .appbar .brand-logo-link{
    flex-basis:118px !important;
    max-width:118px !important;
  }
  .brand-logo,
  .appbar .brand-logo{
    height:31px !important;
    max-width:106px !important;
  }
}


/* v90: Mobile Feed-Filter sauber ausrichten:
   "Anzeigen" und "Entfernung" teilen sich eine Reihe, wenn Entfernung aktiv ist. */
@media(max-width:760px),(hover:none) and (pointer:coarse){
  .feed-head{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:10px 12px !important;
    align-items:end !important;
  }

  .feed-controls-left{
    grid-column:1 !important;
    grid-row:2 !important;
    width:auto !important;
    min-width:0 !important;
    display:block !important;
  }

  .feed-head > .feed-controls:not(.feed-controls-left){
    display:contents !important;
    width:auto !important;
  }

  .feed-sort-field{
    grid-column:1 / -1 !important;
    grid-row:1 !important;
    width:100% !important;
    min-width:0 !important;
  }

  .feed-radius-field{
    grid-column:2 !important;
    grid-row:2 !important;
    width:auto !important;
    min-width:0 !important;
  }

  .feed-radius-field[hidden]{
    display:none !important;
  }

  .feed-type-field{
    width:auto !important;
    min-width:0 !important;
    display:block !important;
  }

  .feed-type-field select,
  .feed-sort-field select,
  .feed-radius-field select{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }
}


/* v92: neues breites Logo mobil etwas schmaler */
@media(max-width:760px),(hover:none) and (pointer:coarse){
  .appbar .brand-logo-link{
    flex:0 1 116px !important;
    max-width:116px !important;
    min-height:40px !important;
    padding:4px 6px !important;
  }

  .brand-logo,
  .appbar .brand-logo{
    height:30px !important;
    max-width:104px !important;
  }
}

@media(max-width:380px){
  .appbar .brand-logo-link{
    flex-basis:104px !important;
    max-width:104px !important;
  }

  .brand-logo,
  .appbar .brand-logo{
    height:28px !important;
    max-width:92px !important;
  }
}


/* v95: Poll-Erstellung als mehrstufiger Wizard, Leaks bleiben im alten Ablauf */
.poll-wizard{
  border:1px solid var(--poll-soft);
  border-radius:24px;
  padding:14px;
  background:linear-gradient(180deg,rgba(41,120,255,.07),rgba(255,255,255,.75));
  display:grid;
  gap:12px;
}
.poll-stepbar{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:6px;
}
.poll-stepbar button{
  border:1px solid var(--line);
  background:#fff;
  border-radius:14px;
  min-height:44px;
  font-weight:900;
  color:#172033;
  cursor:pointer;
}
.poll-stepbar button span{display:block;font-size:10px;font-weight:800;color:var(--muted);margin-top:2px}
.poll-stepbar button.is-active{background:var(--poll-soft);border-color:rgba(36,117,255,.35);color:var(--poll)}
.poll-step{display:grid;gap:10px}
.poll-step h3{margin:0;font-size:20px;line-height:1.1;color:var(--poll)}
.poll-package-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.poll-package-card{
  text-align:left;
  border:1px solid var(--line);
  background:#fff;
  border-radius:18px;
  padding:13px;
  display:grid;
  gap:5px;
  cursor:pointer;
  color:var(--text);
}
.poll-package-card strong{font-size:16px;color:var(--poll)}
.poll-package-card span{font-weight:850}
.poll-package-card small{color:var(--muted);line-height:1.3}
.poll-package-card.is-selected{border-color:rgba(36,117,255,.55);box-shadow:0 0 0 3px rgba(36,117,255,.12);background:rgba(41,120,255,.08)}
.poll-pov-preview{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.poll-pov-preview span{width:100%;color:var(--muted);font-size:13px}
.poll-pov-preview b{font-size:12px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 9px;color:#172033}
.poll-question-progress{font-weight:900;color:var(--poll);background:var(--poll-soft);border:1px solid rgba(36,117,255,.18);border-radius:999px;padding:7px 10px;width:max-content}
.poll-question{border:1px solid var(--line);border-radius:18px;padding:12px;background:#fff;display:grid;gap:10px;position:relative}
.poll-question-head{display:flex;justify-content:space-between;gap:10px;align-items:center}
.poll-question-head strong{color:var(--poll)}
.poll-question-remove{border:0;background:var(--neutral-soft);border-radius:999px;padding:7px 10px;font-weight:900;cursor:pointer;color:#172033}
.custom-options-field small{display:block;margin:2px 0 6px}
.poll-wizard-actions{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid var(--line);padding-top:12px}
.poll-wizard-actions .primary,.poll-wizard-actions .secondary{min-width:120px}
.poll-preview{display:grid;gap:8px;border:1px solid var(--line);background:#fff;border-radius:18px;padding:12px}
.poll-preview-row{display:grid;grid-template-columns:135px 1fr;gap:8px;font-size:14px;line-height:1.35}
.poll-preview-row b{color:#172033}
.report-poll .poll-only[hidden]{display:none!important}
body.a11y-dark .poll-wizard{background:#101722;border-color:#34465f}
body.a11y-dark .poll-stepbar button,
body.a11y-dark .poll-package-card,
body.a11y-dark .poll-question,
body.a11y-dark .poll-preview,
body.a11y-dark .poll-pov-preview b{background:#05070b;color:#f8fbff;border-color:#34465f}
body.a11y-dark .poll-preview-row b,
body.a11y-dark .poll-question-remove{color:#f8fbff}
@media(max-width:760px),(hover:none) and (pointer:coarse){
  .poll-wizard{border-radius:18px;padding:10px;gap:10px}
  .poll-stepbar{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
  .poll-stepbar button{min-height:38px;border-radius:11px;font-size:12px;padding:5px 2px}
  .poll-stepbar button span{font-size:8.5px}
  .poll-package-cards{grid-template-columns:1fr;gap:8px}
  .poll-package-card{border-radius:15px;padding:10px}
  .poll-step h3{font-size:17px}
  .poll-preview-row{grid-template-columns:1fr;gap:2px;font-size:13px}
  .poll-wizard-actions .primary,.poll-wizard-actions .secondary{min-width:0;flex:1}
}


/* v96: Poll-Detailseite mit Teilnahme pro Frage und Ergebnis-Balken */
.poll-detail-form{
  display:grid;
  gap:14px;
  margin-top:18px;
}

.poll-question-card{
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(22,35,58,.06);
}

.poll-question-toggle{
  width:100%;
  border:0;
  background:var(--neutral-soft);
  color:var(--text);
  text-align:left;
  display:grid;
  gap:5px;
  padding:15px 16px;
  cursor:pointer;
}

.poll-question-toggle span{
  font-size:12px;
  font-weight:900;
  color:var(--poll);
  text-transform:uppercase;
  letter-spacing:.08em;
}

.poll-question-toggle strong{
  font-size:20px;
  line-height:1.16;
}

.poll-question-toggle em{
  font-style:normal;
  color:var(--muted);
  font-size:13px;
}

.poll-question-body{
  padding:14px 16px 16px;
  display:grid;
  gap:12px;
}

.poll-result-bars{
  display:grid;
  gap:10px;
}

.poll-result-row{
  display:grid;
  gap:6px;
}

.poll-result-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:14px;
}

.poll-result-head b{
  white-space:nowrap;
  color:var(--poll);
}

.poll-result-track{
  height:12px;
  border-radius:999px;
  background:rgba(43,119,230,.12);
  overflow:hidden;
}

.poll-result-track i{
  display:block;
  height:100%;
  border-radius:999px;
  background:var(--poll);
}

.notice-ok,
.notice-warn{
  margin:14px 0 0;
  padding:12px 14px;
  border-radius:16px;
  font-weight:800;
}

.notice-ok{
  color:#0f6a3b;
  background:rgba(27,143,77,.1);
  border:1px solid rgba(27,143,77,.22);
}

.notice-warn{
  color:#8a5200;
  background:rgba(239,143,0,.1);
  border:1px solid rgba(239,143,0,.24);
}

body.a11y-dark .poll-question-card{
  background:#101722;
  border-color:#34465f;
}

body.a11y-dark .poll-question-toggle{
  background:#172232;
  color:#f8fbff;
}

body.a11y-dark .poll-result-track{
  background:rgba(143,184,255,.18);
}

body.a11y-dark .notice-ok{
  color:#b7ffd5;
  background:rgba(44,180,104,.18);
}

body.a11y-dark .notice-warn{
  color:#ffd796;
  background:rgba(239,143,0,.18);
}

@media(max-width:760px),(hover:none) and (pointer:coarse){
  .poll-question-card{
    border-radius:18px;
  }
  .poll-question-toggle{
    padding:12px 13px;
  }
  .poll-question-toggle strong{
    font-size:16px;
  }
  .poll-question-toggle span,
  .poll-question-toggle em,
  .poll-result-head{
    font-size:12px;
  }
  .poll-question-body{
    padding:12px 13px 13px;
  }
}

@media print{
  .appbar,
  .site-footer,
  .lumi-chat,
  .card-actions,
  .poll-primary,
  .access-panel{
    display:none!important;
  }
  body{
    background:#fff!important;
  }
  main,
  .detail-card{
    box-shadow:none!important;
    border:0!important;
    max-width:none!important;
  }
  .poll-question-body[hidden]{
    display:block!important;
  }
}


/* v97: Poll-Verwaltung MVP */
.poll-manage-box{
  margin-top:18px;
  border:1px solid var(--line);
  border-radius:22px;
  padding:16px;
  background:var(--neutral-soft);
  display:grid;
  gap:12px;
}

.poll-manage-box h2{
  margin:0;
  font-size:20px;
  line-height:1.12;
}

.poll-manage-row{
  display:flex;
  gap:10px;
  align-items:end;
  flex-wrap:wrap;
}

.poll-manage-row label{
  flex:1 1 190px;
  font-weight:800;
  color:var(--text);
}

.poll-manage-actions{
  align-items:center;
}

body.a11y-dark .poll-manage-box{
  background:#172232;
  border-color:#34465f;
}

@media(max-width:760px),(hover:none) and (pointer:coarse){
  .poll-manage-box{
    border-radius:18px;
    padding:13px;
  }
  .poll-manage-box h2{
    font-size:16px;
  }
  .poll-manage-row{
    display:grid;
    grid-template-columns:1fr;
  }
}


/* v98: Poll-Upgrade und spätere Fragen */
.poll-manage-add{
  display:grid;
  gap:10px;
  border-top:1px solid var(--line);
  padding-top:12px;
}

.poll-manage-add h3{
  margin:0;
  font-size:17px;
  line-height:1.15;
}

.poll-manage-add textarea{
  min-height:78px;
  resize:vertical;
}

.poll-manage-add button[disabled]{
  opacity:.55;
  cursor:not-allowed;
}

body.a11y-dark .poll-manage-add{
  border-color:#34465f;
}


/* v99: Meine Polls + Frage teilen */
.my-polls-list{
  margin-top:16px;
}

.my-poll-card .card-actions{
  flex-wrap:wrap;
}

.poll-question-tools{
  display:flex;
  justify-content:flex-end;
  margin-bottom:2px;
}

.poll-question-tools .secondary{
  font-size:12px;
  padding:7px 10px;
  min-height:0;
}

.poll-print-note{
  color:var(--muted);
}

@media(max-width:760px),(hover:none) and (pointer:coarse){
  .poll-question-tools{
    justify-content:stretch;
  }
  .poll-question-tools .secondary{
    width:100%;
  }
}

@media print{
  .poll-question-tools{
    display:none!important;
  }
  .poll-print-note::after{
    content:" · Exportiert am " attr(data-date);
  }
}


/* v100: Poll-Zielgruppen/POV und Leak-Bezug */
.poll-target-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:10px;
}

.poll-target-card{
  display:grid;
  gap:4px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:16px;
  padding:10px 11px;
  cursor:pointer;
  position:relative;
}

.poll-target-card input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.poll-target-card span{
  font-weight:900;
  color:var(--text);
}

.poll-target-card small{
  color:var(--muted);
}

.poll-target-card:has(input:checked){
  border-color:var(--poll);
  box-shadow:0 0 0 3px rgba(43,119,230,.12);
}

.poll-target-card.is-all:has(input:checked){
  border-color:#172033;
  box-shadow:0 0 0 3px rgba(23,32,51,.1);
}

.linked-polls-box{
  margin-top:18px;
  border:1px solid var(--line);
  border-radius:22px;
  padding:16px;
  background:var(--neutral-soft);
  display:grid;
  gap:12px;
}

.linked-polls-box h2{
  margin:0;
  font-size:20px;
  line-height:1.12;
}

.linked-polls-list{
  display:grid;
  gap:8px;
}

.linked-poll-item{
  text-decoration:none;
  color:inherit;
  display:grid;
  gap:4px;
  border:1px solid var(--line);
  border-radius:14px;
  padding:10px 12px;
  background:#fff;
}

.linked-poll-item strong{
  color:var(--poll);
}

.linked-poll-item span{
  color:var(--muted);
  font-size:13px;
}

body.a11y-dark .poll-target-card,
body.a11y-dark .linked-poll-item{
  background:#101722;
  border-color:#34465f;
}

body.a11y-dark .linked-polls-box{
  background:#172232;
  border-color:#34465f;
}

@media(max-width:760px),(hover:none) and (pointer:coarse){
  .poll-target-grid{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .poll-target-card{
    border-radius:14px;
    padding:8px 9px;
  }
  .linked-polls-box{
    border-radius:18px;
    padding:13px;
  }
  .linked-polls-box h2{
    font-size:16px;
  }
}


/* v101: Poll-Basisdaten sicher bearbeiten + Änderungsverlauf */
.poll-manage-basic{
  display:grid;
  gap:10px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:12px 0;
}

.poll-manage-basic h3,
.poll-change-log h3{
  margin:0;
  font-size:17px;
  line-height:1.15;
}

.poll-change-log{
  display:grid;
  gap:6px;
  border-top:1px solid var(--line);
  padding-top:12px;
}

.poll-change-log span{
  font-size:12px;
  color:var(--muted);
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:7px 9px;
}

body.a11y-dark .poll-manage-basic,
body.a11y-dark .poll-change-log{
  border-color:#34465f;
}

body.a11y-dark .poll-change-log span{
  background:#101722;
  border-color:#34465f;
}

@media(max-width:760px),(hover:none) and (pointer:coarse){
  .poll-manage-basic h3,
  .poll-change-log h3{
    font-size:15px;
  }
}


/* v102: Poll beenden und CSV-Export */
.card-actions .linkbtn[href*="poll_export.php"]{
  background:var(--neutral-soft);
  color:#172033;
  border-color:var(--neutral-line);
}

body.a11y-dark .card-actions .linkbtn[href*="poll_export.php"]{
  background:#172232;
  color:#f8fbff;
  border-color:#34465f;
}


/* v103: komplette Poll-Auswertung/POV/Teilen/Dashboard abrunden */
.poll-pov-results{
  border:1px solid var(--line);
  border-radius:16px;
  padding:10px 12px;
  background:var(--neutral-soft);
}

.poll-pov-results summary{
  cursor:pointer;
  font-weight:900;
  color:var(--poll);
}

.poll-pov-group{
  display:grid;
  gap:8px;
  margin-top:10px;
}

.poll-pov-group h4{
  margin:0;
  font-size:14px;
}

.poll-pov-row{
  display:grid;
  gap:5px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:13px;
  padding:8px 10px;
}

.poll-pov-row strong{
  display:flex;
  justify-content:space-between;
  gap:8px;
}

.poll-pov-row small{
  color:var(--muted);
}

.poll-pov-row div{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.poll-pov-row span{
  font-size:12px;
  border-radius:999px;
  padding:5px 8px;
  background:rgba(43,119,230,.1);
  color:#173b75;
}

.poll-direct-link{
  margin-top:14px;
  border:1px solid var(--line);
  border-radius:14px;
  padding:9px 11px;
  background:var(--neutral-soft);
  display:grid;
  gap:4px;
  font-size:13px;
}

.poll-direct-link code{
  white-space:normal;
  word-break:break-all;
  color:var(--muted);
}

.my-polls-filter{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

.my-polls-filter a{
  text-decoration:none;
  color:#172033;
  background:var(--neutral-soft);
  border:1px solid var(--neutral-line);
  border-radius:999px;
  padding:8px 12px;
  font-weight:800;
  font-size:13px;
}

.my-polls-filter a.is-active{
  background:var(--poll);
  color:#fff;
  border-color:var(--poll);
}

body.a11y-dark .poll-pov-results,
body.a11y-dark .poll-direct-link{
  background:#172232;
  border-color:#34465f;
}

body.a11y-dark .poll-pov-row{
  background:#101722;
  border-color:#34465f;
}

body.a11y-dark .poll-pov-row span{
  background:rgba(143,184,255,.18);
  color:#dbe8ff;
}

body.a11y-dark .my-polls-filter a{
  background:#172232;
  color:#f8fbff;
  border-color:#34465f;
}

@media(max-width:760px),(hover:none) and (pointer:coarse){
  .poll-pov-row strong{
    display:grid;
  }
  .my-polls-filter a{
    flex:1 1 auto;
    text-align:center;
  }
}

@media print{
  .poll-direct-link{
    display:block!important;
  }
}

/* v105: Passwort vergessen / Reset */
.page-shell.auth-page{max-width:720px;margin:0 auto;padding:32px 16px 64px;}
.auth-card{max-width:560px;margin:0 auto;}
.auth-help{margin:-6px 0 12px;font-size:.92rem;text-align:right;}
.auth-help a{color:inherit;text-decoration:underline;text-underline-offset:3px;}

/* v106 Profil / Nacci-Pass */
.profile-page{background:linear-gradient(180deg,#f6f4ef 0%,#ffffff 44%,#f7f7f7 100%);color:var(--text,#1f2933)}
.profile-shell{max-width:1180px;margin:0 auto;padding:24px clamp(16px,4vw,42px) 56px}
.profile-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:18px 0 22px;padding:28px;border:1px solid rgba(23,37,51,.09);border-radius:28px;background:rgba(255,255,255,.82);box-shadow:0 24px 70px rgba(20,32,45,.08)}
.profile-hero h1{margin:.15rem 0;font-size:clamp(2rem,5vw,4.4rem);letter-spacing:-.06em;line-height:.95}.profile-hero p{max-width:760px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800;color:#667085;margin:0 0 8px}
.profile-grid{display:grid;grid-template-columns:minmax(280px,.9fr) 1.1fr;gap:18px;margin-bottom:18px}.profile-section{margin:18px 0}.nacci-pass{position:relative;overflow:hidden;border-radius:26px;background:radial-gradient(circle at top right,rgba(46,144,250,.13),transparent 36%),linear-gradient(135deg,#ffffff,#f7fafc)}.nacci-pass:after{content:"";position:absolute;inset:auto -40px -50px auto;width:210px;height:210px;border-radius:50%;border:34px solid rgba(35,110,180,.06)}
.pass-top{display:flex;gap:16px;align-items:center;position:relative;z-index:1}.pass-avatar{width:78px;height:78px;border-radius:24px;display:grid;place-items:center;background:#172533;color:white;font-size:2rem;font-weight:900;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}.pass-top h2{margin:8px 0 3px;font-size:1.55rem}.pass-top p{margin:0;color:#667085}.pass-status{margin:18px 0 12px;display:inline-flex;border-radius:999px;padding:8px 12px;font-weight:800}.pass-status.ok{background:rgba(33,150,83,.12);color:#166534}.pass-status.todo{background:rgba(245,158,11,.16);color:#92400e}.nacci-pass dl{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;position:relative;z-index:1}.nacci-pass dt{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:#667085}.nacci-pass dd{margin:0;font-weight:800}.profile-stats .stat-grid{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;align-items:baseline}.profile-stats .stat-grid b{font-size:1.8rem;line-height:1}.profile-stats .stat-grid span{color:#667085}.profile-tabs{position:sticky;top:0;z-index:5;display:flex;gap:8px;overflow:auto;padding:10px 0;margin:10px 0 12px;background:linear-gradient(180deg,rgba(247,247,247,.96),rgba(247,247,247,.86))}.profile-tabs a{white-space:nowrap;text-decoration:none;border:1px solid rgba(23,37,51,.1);border-radius:999px;padding:9px 13px;background:white;color:#172533;font-weight:750}.profile-form{display:grid;gap:14px}.profile-form label{font-weight:700}.profile-form input,.profile-form select,.profile-form textarea{margin-top:6px;width:100%}.profile-form input:disabled,.profile-form select:disabled{background:#f1f5f9;color:#667085}.profile-list{display:grid;gap:10px}.profile-list article{border:1px solid rgba(23,37,51,.1);border-radius:18px;padding:14px;background:#fff}.profile-list article strong{display:block;margin-bottom:4px}.profile-list article span,.profile-subcols .muted{color:#667085;font-size:.94rem}.profile-list.compact article{padding:10px 12px}.profile-subcols h3{margin-top:0}.profile-page footer{text-align:center;padding:24px;color:#667085}.profile-page .card{border:1px solid rgba(23,37,51,.09);box-shadow:0 18px 50px rgba(20,32,45,.06)}
@media (max-width:760px){.profile-shell{padding:14px 12px 42px}.profile-hero{display:block;padding:20px;border-radius:22px}.profile-hero .primary{margin-top:14px;width:100%}.profile-grid,.profile-subcols{grid-template-columns:1fr}.nacci-pass dl{grid-template-columns:1fr}.profile-tabs{top:0}.pass-avatar{width:64px;height:64px;border-radius:20px}}

/* v107 Profil-Rest / Nacci-Pass MVP */
.pass-avatar-img{width:78px;height:78px;border-radius:24px;object-fit:cover;box-shadow:0 10px 26px rgba(20,32,45,.18)}
.profile-tagbox{border:1px solid rgba(23,37,51,.12);border-radius:18px;padding:14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px 12px;background:#fff}
.profile-tagbox legend{font-weight:900;padding:0 8px;color:#172533}
.profile-form.mini{margin-top:12px;padding:12px;border:1px dashed rgba(23,37,51,.16);border-radius:16px;background:#f8fafc}
.inline-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.inline-actions button{padding:8px 11px;font-size:.9rem}
.linklike{appearance:none;border:0;background:none;padding:0;color:inherit;text-decoration:underline;text-underline-offset:3px;font:inherit;cursor:pointer}
.profile-danger{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid rgba(23,37,51,.1)}
.profile-danger form{display:flex;gap:10px;flex-wrap:wrap}.secondary.danger{border-color:rgba(180,35,24,.25);color:#b42318;background:#fff5f5}
.profile-list.compact article strong{margin-bottom:2px}.profile-page input[type=file]{background:#fff;border:1px dashed rgba(23,37,51,.22);border-radius:14px;padding:12px}
@media(max-width:760px){.profile-tagbox{grid-template-columns:1fr}.pass-avatar-img{width:64px;height:64px;border-radius:20px}.profile-danger,.profile-danger form{display:grid;width:100%}.profile-danger a,.profile-danger button{width:100%;text-align:center}}


/* v109: auth/reset password logo safety */
.auth-page{padding-top:28px}
.auth-page .auth-card{max-width:520px;margin:28px auto}
.auth-page .brand-logo,.appbar .brand > img{display:block;width:auto;height:44px;max-width:168px;object-fit:contain}
@media(max-width:760px){.auth-page{padding-top:16px}.auth-page .auth-card{margin:18px auto}.auth-page .brand-logo,.appbar .brand > img{height:34px;max-width:112px}}

/* v112: Organisations- und Unternehmensaccounts */
.creator-context-box{background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:12px;margin:10px 0 14px}.creator-context-box label{margin:0}.creator-chip{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;margin:6px 0 8px;padding:5px 10px;border-radius:999px;background:#eef2ff;color:#334155;font-size:12px;font-weight:850}.creator-chip.org-chip{background:#e0f2fe;color:#075985}.creator-chip.anonymous-chip{background:#f1f5f9;color:#475569}.creator-line{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:-4px 0 14px;color:var(--muted);font-size:14px}.creator-line strong{color:var(--text)}.verified-badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;background:#dcfce7;color:#166534;font-weight:900;font-size:12px}.org-admin-section .profile-form{margin-top:14px}.org-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start}.org-logo-thumb{width:54px;height:54px;border-radius:16px;object-fit:cover;border:1px solid var(--line);background:#fff}.org-edit{grid-column:1/-1;background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:14px}.org-create-form{border-top:1px solid var(--line);padding-top:18px}.organization-page .org-hero-main{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.org-logo-large{width:96px;height:96px;border-radius:24px;object-fit:cover;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.org-dl{display:grid;grid-template-columns:130px 1fr;gap:8px 12px}.org-dl dt{font-weight:900;color:var(--muted)}.org-dl dd{margin:0}.detail-card .creator-line a{font-weight:850}.report-poll .creator-context-box{border-color:#bfdbfe;background:#eff6ff}@media(max-width:720px){.org-list article{grid-template-columns:auto 1fr}.org-list article>button{grid-column:1/-1}.org-dl{grid-template-columns:1fr}.org-dl dt{margin-top:8px}}

/* v112 Adminbereich */
.admin-page .appbar{position:sticky;top:0;z-index:20}.admin-shell{max-width:1440px;margin:0 auto;padding:24px}.admin-head{align-items:flex-end;gap:18px}.admin-search{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.admin-search input{min-width:min(420px,72vw)}.admin-tabs{display:flex;gap:8px;overflow:auto;padding:10px 0 18px;margin-bottom:8px}.admin-tabs button{white-space:nowrap;border:1px solid var(--line,#d9dde8);background:#fff;border-radius:999px;padding:9px 14px}.admin-tabs button.active{background:#171a2b;color:#fff;border-color:#171a2b}.admin-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}.admin-stat{background:#fff;border:1px solid var(--line,#d9dde8);border-radius:18px;padding:16px;box-shadow:0 10px 30px rgba(20,24,40,.05)}.admin-stat span{display:block;color:#667085;font-size:.9rem}.admin-stat strong{display:block;font-size:1.6rem;margin-top:6px}.admin-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:16px}.admin-panel{background:#fff;border:1px solid var(--line,#d9dde8);border-radius:20px;padding:16px;box-shadow:0 10px 30px rgba(20,24,40,.05)}.admin-section>h2{margin:8px 0 14px}.table-scroll{overflow:auto;background:#fff;border:1px solid var(--line,#d9dde8);border-radius:18px}.data-table{width:100%;border-collapse:collapse;font-size:.93rem}.data-table th,.data-table td{padding:11px 12px;border-bottom:1px solid #edf0f6;text-align:left;vertical-align:top}.data-table th{background:#f7f8fb;color:#475467;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}.data-table tr:last-child td{border-bottom:0}.admin-actions{display:flex;gap:6px;flex-wrap:wrap}.admin-actions button,.inline-form button,.admin-edit-form button,.data-table button{border:1px solid #d7dce8;background:#fff;border-radius:12px;padding:7px 10px;cursor:pointer}.admin-actions button:hover,.data-table button:hover{background:#f5f7fb}.inline-form{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.inline-form select,.admin-edit-form input,.admin-edit-form select,.data-table input,.data-table select{border:1px solid #d7dce8;border-radius:12px;padding:8px;background:#fff;max-width:220px}.admin-edit-form{display:flex;gap:8px;flex-wrap:wrap;background:#fff;border:1px solid var(--line,#d9dde8);border-radius:18px;padding:14px;margin-bottom:14px}.admin-thumb{width:72px;height:54px;object-fit:cover;border-radius:10px;border:1px solid #e1e5ee}.report-box{margin-top:18px;background:#fff8f1;border:1px solid #ffd8ad;border-radius:18px;padding:14px}.report-box textarea{width:100%;min-height:90px}.report-box select,.report-box textarea{border:1px solid #e7c7a5;border-radius:12px;padding:10px;background:#fff}.report-box .row{display:flex;gap:10px;flex-wrap:wrap}.report-box .row>*{flex:1;min-width:220px}@media(max-width:760px){.admin-shell{padding:14px}.admin-search input{min-width:100%}.admin-head{align-items:stretch}.admin-search{width:100%}.data-table{font-size:.86rem}.data-table th,.data-table td{padding:9px}.admin-panels{grid-template-columns:1fr}}

/* v121: hidden muss am Ende der CSS-Datei stehen, weil spätere Menü-/Button-Regeln display überschreiben konnten. */
[hidden],
[data-nav-user][hidden],
[data-nav-guest][hidden],
.main-menu-panel [hidden],
.appbar [hidden]{
  display:none !important;
}

/* v121: Leak-Erstellen-Overlay kompakter und sichere Inline-Rückmeldungen */
.sheet.report-leak form#reportForm{
  gap:10px;
}
#reportSheet.report-leak h2{
  margin-bottom:2px;
}
#reportSheet.report-leak #reportHint,
#reportSheet.report-leak #requiredHint{
  margin:0;
}
.inline-message{
  border:1px solid var(--neutral-line);
  border-radius:14px;
  padding:10px 12px;
  font-weight:800;
  background:#f3f7fb;
  color:#172033;
}
.inline-message.is-success{
  border-color:rgba(39,126,95,.32);
  background:#edf9f2;
  color:#175437;
}
.inline-message.is-error{
  border-color:rgba(185,50,50,.35);
  background:#fff0f0;
  color:#8e2222;
}
.photo-feedback{
  border:1px solid var(--neutral-line);
  border-radius:16px;
  padding:10px;
  background:#f8fafc;
}
.photo-feedback.is-success{
  border-color:rgba(39,126,95,.28);
  background:#f4fbf7;
}
.photo-feedback.is-error{
  border-color:rgba(185,50,50,.35);
  background:#fff0f0;
  color:#8e2222;
}
.photo-preview-row{
  display:flex;
  gap:12px;
  align-items:center;
}
.photo-preview-row img{
  width:82px;
  height:64px;
  object-fit:cover;
  border-radius:12px;
  border:1px solid var(--neutral-line);
  background:#fff;
}
.photo-preview-row div{
  display:grid;
  gap:4px;
  min-width:0;
}
.photo-preview-row span{
  color:var(--muted);
  font-size:13px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  max-width:260px;
}
button.small,
.secondary.small{
  width:max-content;
  padding:7px 10px;
  font-size:13px;
}
.compact-section{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  margin-top:2px;
}
.compact-section h3{
  margin:8px 0 0;
  font-size:15px;
}
.compact-guest{
  padding:12px!important;
  border-radius:16px!important;
}
.compact-guest .guest-note{
  margin:0 0 8px;
  font-weight:700;
}
.leak-extra-options{
  display:grid;
  gap:8px;
}
#radiusHelp{
  display:block;
  margin-top:5px;
}
#reportSubmitBtn[disabled]{
  opacity:.72;
  cursor:wait;
}
body.a11y-dark .inline-message,
body.a11y-dark .photo-feedback{
  background:#172232!important;
  color:#fff!important;
  border-color:#49627f!important;
}
@media(max-width:620px){
  .photo-preview-row img{width:70px;height:56px}
  .photo-preview-row span{max-width:190px}
  #reportSheet.report-leak form#reportForm{gap:8px}
}

/* v122: Login/Register getrennt und Profil-POV kompakter/sichtbar */
.auth-dialog .auth-panel{position:relative;padding:26px;}
.auth-dialog .auth-form{padding:0;display:grid;gap:12px;}
.auth-dialog .auth-form[hidden]{display:none!important;}
.oauth-stack{display:grid;gap:10px;margin-top:6px;}.oauth-stack a.secondary,.oauth-stack .oauth-link{display:block;text-align:center;text-decoration:none;}

.auth-divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;font-weight:800;margin:4px 0;}
.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1;}
.auth-switch{margin:8px 0 0;text-align:center;color:var(--muted);}
.auth-switch button{border:0;background:transparent;color:#172033;font-weight:900;text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.password-row{display:flex;gap:8px;align-items:center;}
.password-row input{flex:1;}
.password-toggle{width:auto;border:1px solid var(--line);border-radius:14px;background:#f8fafc;padding:10px 12px;font-weight:850;cursor:pointer;}
.form-message{border-radius:14px;padding:10px 12px;margin:4px 0;font-weight:800;background:#fee2e2;color:#991b1b;border:1px solid #fecaca;}
.form-message.ok{background:#dcfce7;color:#166534;border-color:#bbf7d0;}
.profile-dialog .sheet form,.profile-dialog form{gap:13px;}
.option-grid,.profile-tagbox{border:1px solid var(--line);border-radius:18px;padding:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;background:#f8fafc;}
.option-grid legend,.profile-tagbox legend{font-weight:900;padding:0 6px;color:#172033;}
.option-grid .check,.profile-tagbox .check{margin:0;}
.other-field[hidden],.profile-region-suggestions[hidden]{display:none!important;}
.profile-region-suggestions{position:relative;z-index:80;}
@media(max-width:760px){.auth-dialog .auth-panel{padding:22px 18px}.option-grid,.profile-tagbox{grid-template-columns:1fr}.password-row{align-items:stretch}.password-toggle{padding:8px 10px;font-size:12px}}

/* v126 Poll-Wizard-Korrekturen */
.poll-stepbar button.is-disabled,
.poll-stepbar button:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.2)}
.poll-package-card{position:relative;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease,transform .15s ease}
.poll-package-card.is-selected::after{content:'Ausgewählt ✓';position:absolute;right:10px;top:10px;font-size:11px;font-weight:900;color:var(--poll);background:#fff;border:1px solid rgba(36,117,255,.25);border-radius:999px;padding:4px 7px}
.poll-package-card.is-selected{transform:translateY(-1px);border-color:var(--poll)!important;box-shadow:0 0 0 4px rgba(36,117,255,.14)!important;background:linear-gradient(180deg,rgba(36,117,255,.12),#fff)!important}
.poll-target-selects{display:grid;gap:10px;margin-top:10px}
.poll-target-row{display:grid;gap:6px;background:var(--neutral-soft);border:1px solid var(--neutral-line);border-radius:16px;padding:12px;font-weight:900;color:#172033}
.poll-target-row select{font-weight:700}
.poll-question .custom-options-field small{display:block;margin:3px 0 6px}
body.a11y-dark .poll-target-row{background:#101722!important;color:#f8fbff!important;border-color:#34465f!important}

/* v126 Profilseite aufgeräumt */
.profile-shell{padding-left:clamp(18px,4vw,46px);padding-right:clamp(18px,4vw,46px)}
.profile-page .card,.profile-section{padding:clamp(18px,2.4vw,28px)}
.profile-section h2{margin-top:0}.profile-section h3{margin:0 0 10px}
.profile-subcols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.profile-stat-grid{grid-template-columns:minmax(54px,auto) 1fr!important;gap:10px 14px!important}
.profile-stat-grid span{font-weight:650}.profile-tabs{gap:10px;padding:12px 2px}.profile-tabs a{padding:10px 14px}
.profile-form small{display:block;margin-top:5px}.profile-region-suggestions .suggestion-item{display:block;width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px 10px;margin-top:6px;cursor:pointer}.profile-region-suggestions .suggestion-item:hover{background:#f1f5f9}
@media(max-width:760px){.profile-subcols{grid-template-columns:1fr}.profile-page .card,.profile-section{padding:18px}.profile-tabs{padding-bottom:10px}.profile-stat-grid{grid-template-columns:auto 1fr!important}}

/* v127: Index overlays, map filter, top sections and leak field alignment */
.howto-overlay::backdrop{background:rgba(15,23,42,.58)}
.howto-overlay{width:min(920px,94vw);max-width:920px;max-height:92vh;padding:0;border:0;border-radius:28px;background:#fff;box-shadow:0 28px 90px rgba(15,23,42,.35);overflow:hidden}
.howto-overlay-box{margin:0;padding:22px 22px 18px;display:grid;gap:12px;max-height:92vh;overflow:auto}
.howto-overlay-box img{display:block;width:100%;height:auto;max-height:min(58vh,520px);object-fit:contain;border-radius:20px;background:#f8fafc;border:1px solid var(--neutral-line)}
.howto-overlay-box figcaption{font-weight:850;color:#172033;text-align:center;line-height:1.35}
.howto-overlay-close{position:absolute;right:14px;top:14px;z-index:3;width:38px;height:38px;border-radius:999px;border:1px solid var(--neutral-line);background:#fff;color:#172033;font-size:24px;line-height:1;box-shadow:0 8px 20px rgba(15,23,42,.12)}
@media(max-width:760px){.howto-overlay{width:min(96vw,520px);max-height:90vh;border-radius:22px}.howto-overlay-box{padding:16px 14px 14px;gap:10px}.howto-overlay-box img{max-height:54vh;border-radius:16px}.howto-overlay-close{right:10px;top:10px;width:34px;height:34px;font-size:21px}}

.map-type-control{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--neutral-line);background:#fff;border-radius:999px;box-shadow:0 6px 18px rgba(22,35,58,.08)}
.map-type-control button{border:0;background:transparent;color:#172033;border-radius:999px;padding:9px 14px;font-weight:900;cursor:pointer;white-space:nowrap}
.map-type-control button.active{background:#172033;color:#fff;box-shadow:0 8px 18px rgba(23,32,51,.18)}
.map-type-control button[data-map-type="leak"].active{background:var(--leak)}
.map-type-control button[data-map-type="poll"].active{background:var(--poll)}
@media(max-width:760px){.map-type-control{width:100%;justify-content:stretch}.map-type-control button{flex:1;padding:9px 8px;font-size:12px}}

.top-overview{margin:16px 0 0;display:grid;gap:14px}.top-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.top-panel{background:#fff;border:1px solid var(--neutral-line);border-radius:26px;padding:18px;box-shadow:0 12px 34px rgba(22,35,58,.08);display:grid;gap:12px}.top-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.top-panel-head h2{margin:0;font-size:22px}.top-panel-head p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.35}.top-panel-head label{display:grid;gap:6px;min-width:148px;font-weight:850;color:#172033;font-size:12px}.top-panel-head select{width:100%;padding:10px 12px;border-radius:14px;border:1px solid var(--neutral-line);background:#fff;color:#172033}.top-list{display:grid;gap:10px}.top-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--neutral-line);background:var(--neutral-soft);border-radius:18px;padding:12px}.top-item h3{margin:6px 0 4px;font-size:16px;line-height:1.25}.top-item .meta{margin:2px 0;color:var(--muted);font-size:12.5px}.top-overview-actions{text-align:center}.top-overview-actions .linkbtn{display:inline-flex;text-decoration:none;align-items:center;justify-content:center}
@media(max-width:860px){.top-overview-grid{grid-template-columns:1fr}.top-panel{padding:14px;border-radius:22px}.top-panel-head{display:grid}.top-panel-head label{min-width:0}.top-item{grid-template-columns:1fr}.top-item .linkbtn{justify-self:start}}

.sheet .two{align-items:start}.sheet .two>label{display:grid;align-content:start;gap:7px;height:100%}.sheet .two select{width:100%;min-height:44px}.sheet #radiusHelp{display:block;margin-top:0;line-height:1.35}.sheet #priorityLabel,.sheet #radiusLabel{display:block;min-height:1.35em}
@media(max-width:760px){.sheet .two{grid-template-columns:1fr!important}}

/* v128: Profilbild-Upload im Profil-Overlay und saubere Profil-Aktionen */
.profile-avatar-upload{display:grid;gap:8px;border:1px solid var(--neutral-line);background:var(--neutral-soft);border-radius:18px;padding:12px;margin:8px 0 4px}
.profile-avatar-upload label{margin:0!important}
.profile-photo-feedback{margin-top:2px}
.profile-hero-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.profile-hero-actions .primary,.profile-hero-actions .secondary{white-space:nowrap}
@media(max-width:760px){.profile-hero-actions{justify-content:stretch}.profile-hero-actions .primary,.profile-hero-actions .secondary{width:100%;text-align:center}}

/* v128: Poll-Fragen einheitlich und Vorschau vollständig */
.poll-question{grid-template-columns:1fr!important;gap:12px!important;align-items:stretch!important}
.poll-question-fields{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr);gap:12px;align-items:end}
.poll-question-fields label{min-width:0}
.poll-question select[name="answer_types[]"]{min-height:44px;height:44px;padding-top:0;padding-bottom:0;line-height:1.2}
.poll-question .custom-options-field{display:block;width:100%;grid-column:1/-1}
.poll-question .custom-options-field textarea{width:100%;min-height:104px;resize:vertical}
.poll-preview-questions{display:grid;gap:8px;margin-top:8px;border-top:1px solid var(--neutral-line);padding-top:10px}
.poll-preview-questions>b{color:#172033}.poll-preview-questions article{border:1px solid var(--neutral-line);background:var(--neutral-soft);border-radius:14px;padding:9px 10px;display:grid;gap:3px}.poll-preview-questions article strong{font-size:14px}.poll-preview-questions article span,.poll-preview-questions article small{color:var(--muted)}
body.a11y-dark .poll-preview-questions>b{color:#f8fbff}body.a11y-dark .poll-preview-questions article{background:#101722!important;border-color:#34465f!important;color:#f8fbff!important}
@media(max-width:760px){.poll-question-fields{grid-template-columns:1fr}.poll-question select[name="answer_types[]"]{height:auto;min-height:44px}.poll-preview-questions article{padding:10px}}

/* v129 Profil-Aufräumung */
.profile-stats.compact-stats{padding:18px}.profile-stat-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-stat-cards>div{border:1px solid var(--border,#dbe4f0);border-radius:14px;padding:10px 12px;background:rgba(255,255,255,.7);display:flex;flex-direction:column;gap:2px;min-height:64px}.profile-stat-cards b{font-size:1.45rem;line-height:1}.profile-stat-cards span{font-size:.88rem;color:var(--muted,#617085)}
.profile-tab-panel{display:none}.profile-tab-panel.is-active{display:block}.profile-tabs a.active{background:#10233f;color:#fff;border-color:#10233f}.profile-form-section{border:1px solid var(--border,#dbe4f0);background:#fff;border-radius:18px;padding:16px;margin:14px 0}.profile-form-section h3{margin:0 0 12px}.profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px;align-items:start}.profile-form-grid label,.compact-form label{max-width:100%}.profile-pov-form select,.profile-pov-form input,.profile-pov-form textarea,.compact-form select,.compact-form input,.compact-form textarea{width:100%}.profile-choice-sections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.profile-choice-sections .profile-tagbox{margin:0;background:#f8fbff;border:1px solid var(--border,#dbe4f0);border-radius:16px;padding:14px}.profile-tagbox legend{font-weight:800;margin-bottom:8px}.profile-tagbox .check{display:block;margin:7px 0}.compact-other{max-width:420px;margin-top:12px}.profile-form-actions{display:flex;justify-content:flex-start;margin-top:12px}.reward-card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.reward-card{border:1px solid var(--border,#dbe4f0);border-radius:16px;background:#fff;padding:14px;display:flex;gap:12px;align-items:center}.reward-amount{font-weight:900;background:#fff6d8;border-radius:999px;padding:8px 10px;white-space:nowrap}.reward-card span{display:block;color:var(--muted,#617085);font-size:.9rem;margin-top:2px}.org-create-form[hidden],.org-edit[hidden],.org-members[hidden]{display:none!important}.org-create-form{margin-top:14px}.compact-action{padding:8px 12px}.account-accordion{display:grid;gap:12px}.account-card{border:1px solid var(--border,#dbe4f0);border-radius:16px;background:#fff;padding:0;overflow:hidden}.account-card summary{cursor:pointer;font-weight:850;padding:14px 16px;background:#f8fbff}.account-card[open] summary{border-bottom:1px solid var(--border,#dbe4f0)}.account-card form,.account-card p,.account-card a{margin:14px 16px}.compact-form{max-width:880px}.compact-check{display:inline-flex!important;align-items:center;gap:8px;width:auto!important}.compact-check input{width:auto!important}.profile-section{scroll-margin-top:100px}
@media (max-width:900px){.profile-form-grid,.profile-choice-sections,.reward-card-list{grid-template-columns:1fr}.profile-stat-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.profile-stat-cards{grid-template-columns:1fr}.profile-form-section{padding:12px}.reward-card{align-items:flex-start;flex-direction:column}}

/* v130: Leak-Erstellen-Overlay nur optisch näher an der gewünschten Designrichtung.
   Keine Struktur-/Speicherlogik geändert. */
#reportSheet.report-leak{
  width:min(860px,calc(100vw - 28px));
  max-height:90vh;
  border-radius:30px;
  overflow:hidden;
  background:#fff;
}
#reportSheet.report-leak::backdrop{
  background:rgba(15,23,42,.48);
  backdrop-filter:blur(4px);
}
#reportSheet.report-leak form#reportForm{
  padding:30px 36px 22px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px 18px;
  align-items:start;
  max-height:90vh;
  overflow:auto;
}
#reportSheet.report-leak .close{
  right:16px;
  top:16px;
  z-index:5;
  width:38px;
  height:38px;
  border:1px solid rgba(23,32,51,.08);
  background:#f5f7fb;
  color:#172033;
  box-shadow:0 8px 20px rgba(15,23,42,.08);
}
#reportSheet.report-leak #reportTitle,
#reportSheet.report-leak #reportHint,
#reportSheet.report-leak #requiredHint,
#reportSheet.report-leak #reportInlineMsg,
#reportSheet.report-leak .compact-section,
#reportSheet.report-leak .photo-tile,
#reportSheet.report-leak #photoFeedback,
#reportSheet.report-leak label:has(#descriptionLabel),
#reportSheet.report-leak .location-section,
#reportSheet.report-leak label:has(#addressLabel),
#reportSheet.report-leak .two,
#reportSheet.report-leak .leak-extra-options,
#reportSheet.report-leak #guestBox,
#reportSheet.report-leak #locationPreview,
#reportSheet.report-leak #reportSubmitBtn{
  grid-column:1/-1;
}
#reportSheet.report-leak #reportTitle{
  width:max-content;
  max-width:calc(100% - 46px);
  margin:0 0 2px;
  font-size:clamp(34px,5vw,54px);
  line-height:.95;
  letter-spacing:-.045em;
  color:var(--leak);
  font-weight:950;
  position:relative;
  padding:0 8px 8px 0;
}
#reportSheet.report-leak #reportTitle::after{
  content:"";
  position:absolute;
  left:0;
  right:-18px;
  bottom:2px;
  height:14px;
  z-index:-1;
  opacity:.18;
  background:linear-gradient(90deg,transparent 0%,var(--leak) 10%,var(--leak) 86%,transparent 100%);
  transform:skewX(-10deg);
  border-radius:999px;
}
#reportSheet.report-leak #reportHint{
  max-width:620px;
  margin-top:-4px;
  font-size:14px;
  line-height:1.35;
}
#reportSheet.report-leak #requiredHint{
  margin-top:-4px;
  font-size:12px;
}
#reportSheet.report-leak .compact-section h3{
  margin:4px 0 -2px;
  font-size:13px;
  letter-spacing:.02em;
  color:#172033;
}
#reportSheet.report-leak .photo-tile{
  min-height:92px;
  border-radius:20px;
  border:2px dashed rgba(27,143,77,.48)!important;
  background:linear-gradient(135deg,rgba(27,143,77,.08),rgba(27,143,77,.035))!important;
  color:var(--leak)!important;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:16px;
  text-align:left;
}
#reportSheet.report-leak .photo-tile span{
  font-size:15px;
  font-weight:950;
}
#reportSheet.report-leak .photo-tile small{
  display:block;
  margin-left:4px;
  font-size:12px;
  font-weight:750;
  color:#526173;
}
#reportSheet.report-leak label{
  font-size:13px;
  color:#172033;
}
#reportSheet.report-leak input,
#reportSheet.report-leak select,
#reportSheet.report-leak textarea{
  border-radius:14px;
  border-color:#dbe3ee;
  background:#fff;
  min-height:44px;
  padding:11px 13px;
  box-shadow:0 1px 0 rgba(15,23,42,.02);
}
#reportSheet.report-leak textarea{
  min-height:104px;
}
#reportSheet.report-leak input:focus,
#reportSheet.report-leak select:focus,
#reportSheet.report-leak textarea:focus{
  outline:3px solid rgba(27,143,77,.16);
  border-color:rgba(27,143,77,.58);
}
#reportSheet.report-leak .address-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:end;
}
#reportSheet.report-leak .secondary.inline{
  min-height:44px;
  border-radius:14px!important;
  white-space:nowrap;
}
#reportSheet.report-leak .two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
#reportSheet.report-leak .two>label{
  background:#f8fafc;
  border:1px solid #e5ecf4;
  border-radius:18px;
  padding:12px;
  min-height:104px;
}
#reportSheet.report-leak #radiusHelp{
  margin-top:2px;
  color:#667487;
  font-size:12px;
}
#reportSheet.report-leak .leak-extra-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
#reportSheet.report-leak .leak-extra-options .check,
#reportSheet.report-leak .compact-guest .check{
  background:#f8fafc;
  border:1px solid #e5ecf4;
  border-radius:16px;
  padding:10px 12px;
  color:#344154;
}
#reportSheet.report-leak .compact-guest{
  background:#f8fafc!important;
  border-color:#e5ecf4!important;
  border-radius:20px!important;
  padding:14px!important;
}
#reportSheet.report-leak .compact-guest .guest-note{
  color:#526173;
}
#reportSheet.report-leak #locationPreview{
  background:#f3f9f6;
  border:1px solid rgba(27,143,77,.18);
  color:#155f39;
  border-radius:16px;
  padding:11px 13px;
  font-size:13px;
}
#reportSheet.report-leak #reportSubmitBtn{
  justify-self:end;
  width:min(320px,100%);
  border-radius:0;
  padding:15px 24px;
  background:linear-gradient(90deg,transparent 0%,var(--leak) 9%,var(--leak) 90%,transparent 100%)!important;
  box-shadow:0 12px 24px rgba(27,143,77,.20)!important;
}
#reportSheet.report-leak .photo-feedback,
#reportSheet.report-leak .inline-message{
  border-radius:16px;
}
@media(max-width:760px){
  #reportSheet.report-leak{
    width:100vw;
    max-height:94dvh;
    border-radius:24px 24px 0 0;
  }
  #reportSheet.report-leak form#reportForm{
    grid-template-columns:1fr;
    padding:22px 16px 18px;
    gap:10px;
    max-height:94dvh;
  }
  #reportSheet.report-leak #reportTitle{
    font-size:34px;
    max-width:calc(100% - 44px);
  }
  #reportSheet.report-leak .photo-tile{
    min-height:82px;
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
  #reportSheet.report-leak .address-row,
  #reportSheet.report-leak .two,
  #reportSheet.report-leak .leak-extra-options{
    grid-template-columns:1fr!important;
  }
  #reportSheet.report-leak .two>label{
    min-height:auto;
  }
  #reportSheet.report-leak #reportSubmitBtn{
    justify-self:stretch;
    width:100%;
  }
}
body.a11y-dark #reportSheet.report-leak .two>label,
body.a11y-dark #reportSheet.report-leak .leak-extra-options .check,
body.a11y-dark #reportSheet.report-leak .compact-guest{
  background:#101722!important;
  border-color:#34465f!important;
}
body.a11y-dark #reportSheet.report-leak #locationPreview{
  background:#101722!important;
  color:#f8fbff!important;
  border-color:#34465f!important;
}


/* v131: Mein-Profil-Bereich optisch in Richtung der gelieferten Designreferenz verfeinert.
   Nur Profilbereich: ruhigere Cards, klarere Hierarchie, kompaktere Stats,
   modernere POV-Bereiche und mobilefreundlichere Abstände. */
.profile-page{background:linear-gradient(180deg,#f6f8fc 0%,#f3f6fb 100%)}
.profile-dashboard{max-width:1280px;margin:0 auto;padding:26px 20px 48px}
.profile-dashboard .muted{color:#697586}
.profile-dashboard .notice-ok,.profile-dashboard .notice-warn{margin:0 0 14px}
.profile-hero{
  display:flex;align-items:flex-end;justify-content:space-between;gap:18px;
  margin:8px 0 18px;padding:0;border:none;background:transparent;box-shadow:none;
}
.profile-hero > div:first-child{max-width:760px}
.profile-hero .eyebrow{
  display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;
  padding:6px 14px;border-radius:999px;background:rgba(33,176,92,.11);color:#159447;
  font-size:.75rem;letter-spacing:.08em;font-weight:900;
}
.profile-hero .eyebrow::before{content:"";width:9px;height:9px;border-radius:50%;background:#21b05c;box-shadow:0 0 0 4px rgba(33,176,92,.12)}
.profile-hero h1{margin:0 0 10px;font-size:clamp(2.5rem,5vw,4.35rem);line-height:.95;letter-spacing:-.055em;color:#11284a}
.profile-hero p{margin:0;color:#5f6d80;font-size:1.03rem;line-height:1.55;max-width:760px}
.profile-hero-actions{display:flex;gap:12px;align-items:center;justify-content:flex-end}
.profile-cta{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-width:172px;padding:13px 24px;border-radius:18px;font-weight:900;letter-spacing:-.01em;
  box-shadow:0 16px 34px rgba(14,27,44,.10);border:1px solid rgba(17,40,74,.08);
}
.profile-cta.leak{background:linear-gradient(135deg,#20b45c 0%,#12a14d 100%);border-color:rgba(18,161,77,.35);color:#fff}
.profile-cta.poll{background:linear-gradient(135deg,#1e77ff 0%,#1561da 100%);border-color:rgba(21,97,218,.35);color:#fff}
.profile-cta:hover{transform:translateY(-1px);box-shadow:0 20px 38px rgba(14,27,44,.13)}

.profile-grid{grid-template-columns:minmax(320px,.95fr) 1.2fr;gap:18px;margin:0 0 18px}
.profile-highlight-card,.profile-page .card.profile-highlight-card,.profile-page .profile-section,.profile-page .card{
  border:1px solid rgba(17,40,74,.08);background:rgba(255,255,255,.96);
  box-shadow:0 20px 44px rgba(15,35,64,.06);border-radius:26px;
}
.nacci-pass{padding:22px 22px 20px;background:
  radial-gradient(circle at 100% 0%,rgba(31,119,255,.09),transparent 34%),
  radial-gradient(circle at 0% 100%,rgba(33,176,92,.08),transparent 35%),
  linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)}
.nacci-pass:after{display:none}
.pass-top{gap:18px;align-items:center}
.pass-avatar,.pass-avatar-img{width:92px;height:92px;border-radius:28px;box-shadow:0 12px 26px rgba(17,40,74,.12)}
.pass-avatar{background:linear-gradient(135deg,#173154,#10233f);font-size:2.1rem}
.pass-top .badge{
  display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:rgba(33,176,92,.11);
  color:#159447;font-weight:900;letter-spacing:.03em;margin-bottom:10px
}
.pass-top h2{margin:0 0 8px;font-size:2rem;line-height:1;color:#10233f;letter-spacing:-.04em}
.pass-top p{font-size:1rem;color:#657286}
.pass-status{margin:20px 0 16px;padding:10px 14px;font-size:.92rem;letter-spacing:.01em}
.nacci-pass dl{gap:12px 18px;padding-top:10px;border-top:1px solid rgba(17,40,74,.08)}
.nacci-pass dt{font-size:.74rem;letter-spacing:.09em;color:#7b889a}
.nacci-pass dd{font-size:1rem;color:#10233f}

.profile-stats.compact-stats{padding:22px}
.profile-stats h2{margin:2px 0 14px;font-size:1.25rem;color:#10233f}
.profile-stat-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.profile-stat-cards>div{
  min-height:82px;border-radius:18px;padding:14px 16px;background:linear-gradient(180deg,#ffffff 0%,#f9fbff 100%);
  border:1px solid rgba(17,40,74,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
  justify-content:center;position:relative;overflow:hidden
}
.profile-stat-cards>div::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#21b05c,#1e77ff);opacity:.85}
.profile-stat-cards>div:last-child{grid-column:span 2}
.profile-stat-cards b{font-size:1.9rem;font-weight:900;letter-spacing:-.03em;color:#10233f}
.profile-stat-cards span{font-size:.9rem;line-height:1.3;color:#677487;max-width:15ch}

.profile-dashboard-tabs{
  position:sticky;top:0;z-index:5;display:flex;gap:10px;flex-wrap:nowrap;overflow:auto;
  padding:8px 0 14px;margin:0 0 14px;background:linear-gradient(180deg,rgba(243,246,251,.97) 0%,rgba(243,246,251,.85) 72%,rgba(243,246,251,0) 100%)
}
.profile-tabs a{
  display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;
  min-height:44px;padding:10px 18px;border-radius:999px;background:#fff;border:1px solid rgba(17,40,74,.08);
  color:#11284a;font-weight:850;box-shadow:0 8px 18px rgba(15,35,64,.05)
}
.profile-tabs a.active{background:#10233f;color:#fff;border-color:#10233f;box-shadow:0 14px 28px rgba(16,35,63,.18)}

.profile-section{padding:22px}
.profile-section>h2{margin:2px 0 8px;font-size:1.8rem;letter-spacing:-.03em;color:#10233f}
.profile-section>p.muted:first-of-type{margin-top:0;margin-bottom:14px}
.profile-form{gap:16px}
.profile-form-section{
  margin:0;border:1px solid rgba(17,40,74,.08);background:linear-gradient(180deg,#ffffff 0%,#fbfcff 100%);
  border-radius:22px;padding:18px 18px 16px;box-shadow:0 10px 24px rgba(15,35,64,.03)
}
.profile-form-section h3{margin:0 0 14px;font-size:1.08rem;letter-spacing:-.02em;color:#10233f}
.profile-form-grid{grid-template-columns:repeat(2,minmax(260px,1fr));gap:16px 18px;align-items:start}
.profile-form-grid label{display:flex;flex-direction:column;gap:6px;font-size:.95rem;color:#10233f}
.profile-pov-form select,.profile-pov-form input,.profile-pov-form textarea,.compact-form select,.compact-form input,.compact-form textarea{
  width:100%;margin-top:0;min-height:46px;padding:12px 14px;border-radius:14px;border:1px solid #d4deeb;background:#fff;box-shadow:none
}
.profile-pov-form textarea,.compact-form textarea{min-height:110px;resize:vertical}
.profile-pov-form input:focus,.profile-pov-form select:focus,.profile-pov-form textarea:focus,
.compact-form input:focus,.compact-form select:focus,.compact-form textarea:focus{
  border-color:#1e77ff;outline:none;box-shadow:0 0 0 4px rgba(30,119,255,.12)
}
.profile-choice-sections{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.profile-choice-sections .profile-tagbox{
  padding:16px 16px 14px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border:1px solid rgba(17,40,74,.08);border-radius:22px;gap:8px 10px;align-content:start
}
.profile-tagbox legend{padding:0;margin-bottom:8px;font-size:1rem;font-weight:900;color:#10233f}
.profile-tagbox .check{
  display:flex;align-items:flex-start;gap:10px;margin:0;padding:10px 12px;border-radius:14px;
  background:#fff;border:1px solid rgba(17,40,74,.08);font-weight:650;color:#23344d;min-height:44px
}
.profile-tagbox .check input{margin-top:2px;accent-color:#1e77ff;flex:0 0 auto}
.profile-choice-sections .profile-tagbox:nth-child(1){border-top:4px solid #21b05c}
.profile-choice-sections .profile-tagbox:nth-child(2){border-top:4px solid #1e77ff}
.profile-choice-sections .profile-tagbox:nth-child(3){border-top:4px solid #0ea5a6}
.other-field,.profile-avatar-upload{
  border:1px dashed rgba(17,40,74,.14);border-radius:18px;padding:14px;background:#fbfdff
}
.profile-avatar-upload label{display:flex;flex-direction:column;gap:8px}
.profile-photo-feedback{margin-top:10px}
.photo-preview-row{display:flex;gap:12px;align-items:center}
.photo-preview-row img{width:68px;height:68px;border-radius:18px;object-fit:cover;border:1px solid rgba(17,40,74,.1)}
.profile-form-actions{justify-content:flex-end}
.profile-form-actions .primary{min-width:190px;padding:13px 22px;border-radius:16px;box-shadow:0 14px 28px rgba(17,40,74,.12)}

.profile-list{gap:14px}
.profile-list article{border-radius:18px;padding:14px 16px;background:linear-gradient(180deg,#fff,#fbfdff)}
.profile-list article strong a{color:#10233f;text-decoration:none}
.profile-list article strong a:hover{text-decoration:underline}
.linklike{background:none;border:none;padding:0;color:#1e77ff;font:inherit;cursor:pointer}

.reward-card-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.reward-card{
  border-radius:20px;padding:16px;background:linear-gradient(180deg,#fffdf4,#ffffff 62%);
  border:1px solid rgba(227,190,70,.28);box-shadow:0 12px 26px rgba(163,117,0,.06)
}
.reward-amount{background:#fff3c7;color:#8a5a00;border:1px solid rgba(227,190,70,.35);font-weight:900}

.org-admin-section > .secondary[data-toggle-org-request]{margin-top:12px}
.org-create-form,.org-edit{
  border-radius:20px;background:linear-gradient(180deg,#fbfdff,#ffffff);border:1px solid rgba(17,40,74,.08)
}
.compact-action{padding:9px 13px;border-radius:12px}

.account-accordion{gap:14px}
.account-card{border-radius:20px;border:1px solid rgba(17,40,74,.08);box-shadow:0 10px 24px rgba(15,35,64,.03)}
.account-card summary{padding:16px 18px;background:linear-gradient(180deg,#fbfdff,#f7fbff);font-size:1rem;color:#10233f}
.account-card form,.account-card p,.account-card a{margin:16px 18px}
.compact-check{padding:0;border:none;background:transparent}
.compact-check input{accent-color:#1e77ff}

@media (max-width:1100px){
  .profile-grid{grid-template-columns:1fr}
  .profile-choice-sections{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .profile-dashboard{padding:18px 12px 36px}
  .profile-hero{display:block;margin-bottom:16px}
  .profile-hero h1{font-size:2.7rem}
  .profile-hero p{font-size:.98rem}
  .profile-hero-actions{justify-content:stretch;margin-top:14px}
  .profile-cta{width:100%;min-width:0}
  .profile-highlight-card,.profile-page .card,.profile-section{border-radius:22px}
  .nacci-pass,.profile-stats.compact-stats,.profile-section{padding:16px}
  .pass-top{align-items:flex-start}
  .pass-avatar,.pass-avatar-img{width:74px;height:74px;border-radius:22px}
  .pass-top h2{font-size:1.7rem}
  .profile-stat-cards{grid-template-columns:1fr 1fr;gap:10px}
  .profile-stat-cards>div:last-child{grid-column:auto}
  .profile-form-grid{grid-template-columns:1fr}
  .profile-choice-sections,.reward-card-list{grid-template-columns:1fr}
  .profile-tabs{padding:6px 0 12px}
  .profile-tabs a{min-height:40px;padding:9px 14px}
  .profile-tagbox .check{padding:10px 12px}
  .profile-form-actions{justify-content:stretch}
  .profile-form-actions .primary{width:100%}
}
@media (max-width:520px){
  .profile-stat-cards{grid-template-columns:1fr}
  .profile-hero .eyebrow{font-size:.72rem}
  .profile-hero h1{font-size:2.35rem}
}


/* v132: Mein Profil gezielt nachgebessert.
   - defekte riesige Checkboxen repariert
   - Profilbereich stärker an die gelieferte Designrichtung angepasst
   - Leak/Poll-Farbakzente sichtbarer
   - kompaktere, besser lesbare POV-Chips
   Nur Profilbereich, keine Logikänderung. */

.profile-page{
  --profile-ink:#101f38;
  --profile-muted:#64748b;
  --profile-line:#dbe5f2;
  --profile-bg:#f5f7fb;
  --leak:#18a64f;
  --poll:#1769dc;
  background:
    radial-gradient(circle at 12% 0%,rgba(24,166,79,.08),transparent 26%),
    radial-gradient(circle at 92% 8%,rgba(23,105,220,.08),transparent 28%),
    linear-gradient(180deg,#f8fafc 0%,#f3f6fb 100%);
}

.profile-dashboard{max-width:1220px;padding-top:24px}
.profile-hero{
  margin:4px 0 20px;
  align-items:flex-start;
}
.profile-hero .eyebrow{
  position:relative;
  background:transparent;
  color:#fff;
  padding:6px 18px 7px;
  border-radius:0;
  line-height:1;
  isolation:isolate;
  text-shadow:0 1px 0 rgba(0,0,0,.08);
}
.profile-hero .eyebrow::before{
  content:"";
  position:absolute;
  inset:-5px -15px -6px -14px;
  width:auto;height:auto;border-radius:0;
  background:
    linear-gradient(90deg,transparent 0 2%,rgba(24,166,79,.95) 8% 92%,transparent 98%),
    radial-gradient(circle at 18% 52%,rgba(24,166,79,.75) 0 4px,transparent 5px);
  clip-path:polygon(0 38%,8% 20%,22% 28%,36% 16%,52% 27%,68% 14%,84% 26%,100% 20%,94% 62%,78% 72%,62% 65%,48% 80%,34% 66%,18% 76%,3% 62%);
  z-index:-1;
  box-shadow:none;
}
.profile-hero .eyebrow::after{display:none}
.profile-hero h1{
  font-size:clamp(3rem,5.6vw,4.9rem);
  color:var(--profile-ink);
  letter-spacing:-.07em;
}
.profile-hero p{font-weight:650;color:#59687c;max-width:520px}

.profile-hero-actions{
  align-self:center;
  padding:10px;
  border:1px solid rgba(16,31,56,.08);
  background:rgba(255,255,255,.68);
  border-radius:24px;
  box-shadow:0 18px 50px rgba(16,31,56,.08);
}
.profile-cta{
  min-width:190px;
  border-radius:0;
  border:none;
  color:#fff!important;
  text-transform:none;
  letter-spacing:.01em;
  box-shadow:none;
  clip-path:polygon(0 30%,9% 13%,22% 20%,36% 8%,51% 22%,66% 11%,83% 20%,100% 13%,94% 66%,80% 80%,62% 72%,48% 89%,32% 74%,16% 84%,4% 68%);
}
.profile-cta.leak{background:linear-gradient(90deg,#118c3c,#18b85b)}
.profile-cta.poll{background:linear-gradient(90deg,#1260c7,#1f7cff)}
.profile-cta.leak::before{content:"●";font-size:.85rem}
.profile-cta.poll::before{content:"●";font-size:.85rem}
.profile-cta::after{content:"›";font-size:1.4rem;line-height:1;margin-left:4px}

.profile-grid{
  grid-template-columns:minmax(420px,1.05fr) minmax(420px,.95fr);
  gap:18px;
}
.profile-highlight-card,.profile-page .card.profile-highlight-card{
  border-radius:24px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(16,31,56,.08);
  box-shadow:0 20px 55px rgba(16,31,56,.07);
}
.nacci-pass{
  padding:26px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:18px 28px;
  align-items:center;
}
.nacci-pass .pass-top{display:contents}
.pass-avatar,.pass-avatar-img{
  grid-row:1 / span 3;
  width:132px!important;
  height:132px!important;
  border-radius:999px!important;
  object-fit:cover;
  border:6px solid #fff;
  box-shadow:0 18px 34px rgba(16,31,56,.15);
}
.pass-top>div:last-child{min-width:0}
.pass-top .badge{
  width:max-content;
  position:relative;
  color:#fff;
  background:transparent;
  border-radius:0;
  padding:4px 14px 5px;
  font-size:.75rem;
  isolation:isolate;
}
.pass-top .badge::before{
  content:"";
  position:absolute;
  inset:-4px -14px -5px -12px;
  background:#17a850;
  clip-path:polygon(0 45%,12% 24%,28% 35%,46% 18%,64% 33%,82% 20%,100% 30%,94% 70%,76% 80%,55% 67%,36% 86%,18% 72%,3% 80%);
  z-index:-1;
}
.pass-top h2{font-size:2.65rem;color:var(--profile-ink);margin-top:8px}
.pass-top p{font-weight:750;color:#58677b}
.pass-status{
  width:max-content;
  border-radius:999px;
  margin:2px 0 0;
}
.nacci-pass dl{
  grid-column:2;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  padding:14px 0 0;
}
.nacci-pass dt{font-size:.72rem;color:#7b8797}
.nacci-pass dd{font-size:.98rem}

.profile-stats.compact-stats{padding:18px 18px 16px}
.profile-stats h2{font-size:1rem;margin:0 0 10px;color:#475569;text-transform:uppercase;letter-spacing:.08em}
.profile-stat-cards{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
.profile-stat-cards>div{
  min-height:70px;
  border-radius:18px;
  padding:12px 14px 12px 56px;
  position:relative;
  background:#fff;
  border:1px solid rgba(16,31,56,.08);
  box-shadow:0 10px 24px rgba(16,31,56,.045);
}
.profile-stat-cards>div::before{
  left:14px;top:50%;bottom:auto;
  width:30px;height:30px;border-radius:999px;
  transform:translateY(-50%);
  background:rgba(24,166,79,.12);
}
.profile-stat-cards>div::after{
  content:"";
  position:absolute;
  left:23px;top:50%;
  width:12px;height:12px;border-radius:999px;
  transform:translateY(-50%);
  background:#18a64f;
}
.profile-stat-cards>div:nth-child(2)::before,
.profile-stat-cards>div:nth-child(4)::before,
.profile-stat-cards>div:nth-child(6)::before{background:rgba(23,105,220,.12)}
.profile-stat-cards>div:nth-child(2)::after,
.profile-stat-cards>div:nth-child(4)::after,
.profile-stat-cards>div:nth-child(6)::after{background:#1769dc}
.profile-stat-cards>div:nth-child(7)::before{background:rgba(245,158,11,.18)}
.profile-stat-cards>div:nth-child(7)::after{background:#f59e0b}
.profile-stat-cards>div:last-child{grid-column:auto}
.profile-stat-cards b{font-size:1.7rem}
.profile-stat-cards span{font-size:.82rem;font-weight:700;color:#667085;max-width:none}

.profile-dashboard-tabs{
  padding:10px;
  margin:18px 0 12px;
  border-radius:24px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(16,31,56,.07);
  box-shadow:0 14px 32px rgba(16,31,56,.055);
}
.profile-tabs a{
  min-height:42px;
  border-radius:16px;
  box-shadow:none;
  font-size:.91rem;
}
.profile-tabs a.active{
  background:var(--profile-ink);
  color:#fff;
}

.profile-section{
  border-radius:24px!important;
  background:rgba(255,255,255,.95)!important;
}
.profile-section>h2{
  font-size:1.45rem;
  margin-bottom:4px;
}
.profile-section>h2::after{
  content:"";
  display:block;
  width:86px;height:9px;
  margin-top:6px;
  background:linear-gradient(90deg,#18a64f,#1f7cff);
  clip-path:polygon(0 42%,20% 18%,40% 36%,60% 10%,82% 34%,100% 20%,94% 70%,68% 80%,40% 66%,14% 84%);
  opacity:.95;
}

.profile-form-section{
  padding:18px;
  border-radius:22px;
}
.profile-form-section h3{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
  font-size:1.05rem;
}
.profile-form-section h3::before{
  content:"";
  width:12px;height:12px;border-radius:999px;
  background:#18a64f;
  box-shadow:0 0 0 5px rgba(24,166,79,.12);
}
.profile-form-section:nth-of-type(2) h3::before{background:#1769dc;box-shadow:0 0 0 5px rgba(23,105,220,.12)}
.profile-form-section:nth-of-type(3) h3::before{background:#f59e0b;box-shadow:0 0 0 5px rgba(245,158,11,.14)}

.profile-form-grid{grid-template-columns:repeat(2,minmax(240px,1fr));gap:14px}
.profile-pov-form select,
.profile-pov-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.profile-pov-form textarea,
.compact-form select,
.compact-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.compact-form textarea{
  min-height:44px;
  font-size:.95rem;
}

/* Reparatur: Checkboxen dürfen niemals die allgemeine Input-Breite/Höhe übernehmen. */
.profile-form input[type="checkbox"],
.profile-form input[type="radio"],
.profile-tagbox input[type="checkbox"],
.profile-tagbox input[type="radio"],
.compact-form input[type="checkbox"],
.compact-form input[type="radio"]{
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  min-height:16px!important;
  max-width:16px!important;
  max-height:16px!important;
  padding:0!important;
  margin:1px 0 0!important;
  box-shadow:none!important;
  border-radius:4px;
  accent-color:#18a64f;
}

.profile-choice-sections{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:start;
}
.profile-choice-sections .profile-tagbox{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  padding:14px;
  border-radius:22px;
  background:#fbfdff;
  border:1px solid rgba(16,31,56,.08);
  overflow:hidden;
}
.profile-choice-sections .profile-tagbox:nth-child(1){border-top:5px solid #18a64f}
.profile-choice-sections .profile-tagbox:nth-child(2){border-top:5px solid #1769dc}
.profile-choice-sections .profile-tagbox:nth-child(3){border-top:5px solid #0ea5a6}
.profile-tagbox legend{
  float:left;
  width:100%;
  margin:0 0 8px;
  padding:0;
  font-size:.98rem;
  line-height:1.25;
}
.profile-tagbox .check{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:38px;
  width:100%;
  padding:8px 10px;
  margin:0!important;
  border-radius:13px;
  background:#fff;
  border:1px solid rgba(16,31,56,.08);
  color:#22324a;
  font-size:.88rem;
  line-height:1.25;
  font-weight:750;
  overflow-wrap:anywhere;
}
.profile-tagbox .check input{
  order:2;
  flex:0 0 16px;
}
.profile-tagbox .check:has(input:checked){
  border-color:rgba(24,166,79,.42);
  background:rgba(24,166,79,.06);
  color:#0f6832;
}
.profile-choice-sections .profile-tagbox:nth-child(2) .check:has(input:checked){
  border-color:rgba(23,105,220,.42);
  background:rgba(23,105,220,.06);
  color:#0f4d9e;
}
.profile-choice-sections .profile-tagbox:nth-child(3) .check:has(input:checked){
  border-color:rgba(14,165,166,.42);
  background:rgba(14,165,166,.06);
  color:#0f6668;
}

.other-field,.profile-avatar-upload{
  background:#fff;
  border-radius:18px;
  border:1px solid rgba(16,31,56,.08);
}

@media (max-width:1100px){
  .profile-grid{grid-template-columns:1fr}
  .profile-choice-sections{grid-template-columns:1fr}
}
@media (max-width:760px){
  .profile-dashboard{padding:18px 12px 38px}
  .profile-hero h1{font-size:2.9rem}
  .profile-hero-actions{display:grid;grid-template-columns:1fr;gap:8px;padding:8px}
  .profile-cta{clip-path:none;border-radius:18px;min-width:0}
  .nacci-pass{grid-template-columns:1fr;text-align:left;gap:14px}
  .nacci-pass .pass-top{display:flex}
  .pass-avatar,.pass-avatar-img{width:82px!important;height:82px!important;border-radius:26px!important}
  .nacci-pass dl{grid-column:1;grid-template-columns:repeat(2,minmax(0,1fr))}
  .profile-stat-cards{grid-template-columns:1fr 1fr}
  .profile-stat-cards>div{padding-left:50px}
  .profile-form-grid{grid-template-columns:1fr}
  .profile-choice-sections{grid-template-columns:1fr}
  .profile-tagbox .check{font-size:.9rem}
}
@media (max-width:520px){
  .profile-stat-cards{grid-template-columns:1fr}
  .nacci-pass dl{grid-template-columns:1fr}
}


/* v133: Profil-CTA Poll starten sichtbar machen.
   Der Button trägt absichtlich noch .secondary für bestehende Struktur,
   darf dadurch aber nicht transparent/hell werden. */
.profile-page .profile-hero-actions .profile-cta.poll,
.profile-page .profile-hero-actions a.profile-cta.poll.secondary,
.profile-page .profile-hero-actions a.profile-cta.poll:visited{
  background:linear-gradient(90deg,#1260c7 0%,#1f7cff 100%)!important;
  color:#fff!important;
  opacity:1!important;
  border-color:rgba(23,105,220,.35)!important;
  box-shadow:none!important;
}
.profile-page .profile-hero-actions .profile-cta.poll:hover,
.profile-page .profile-hero-actions a.profile-cta.poll.secondary:hover{
  background:linear-gradient(90deg,#0f55b4 0%,#176fe9 100%)!important;
  color:#fff!important;
  opacity:1!important;
}
.profile-page .profile-hero-actions .profile-cta.leak,
.profile-page .profile-hero-actions a.profile-cta.leak.primary,
.profile-page .profile-hero-actions a.profile-cta.leak:visited{
  background:linear-gradient(90deg,#118c3c 0%,#18b85b 100%)!important;
  color:#fff!important;
  opacity:1!important;
}


/* v136: Poll-Wizard visuell an Referenz angenähert, nur Poll-Bereich */
#reportSheet.report-poll{
  width:min(1180px,calc(100vw - 24px));
  border-radius:34px;
  overflow:hidden;
  background:#fff;
}
#reportSheet.report-poll::backdrop{background:rgba(14,23,39,.42);backdrop-filter:blur(6px)}
#reportSheet.report-poll form#reportForm{
  padding:22px;
  gap:14px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
}
#reportSheet.report-poll #reportTitle,
#reportSheet.report-poll #reportHint,
#reportSheet.report-poll #requiredHint,
#reportSheet.report-poll .poll-only.compact-section{
  display:none!important;
}
#reportSheet.report-poll #creatorContextBox{
  margin-right:calc(100% - min(1180px,calc(100vw - 24px)));
  border:1px solid var(--poll-line);
  background:#f8fbff;
  border-radius:18px;
  padding:12px 14px;
}
#reportSheet.report-poll .inline-message{border-radius:16px}
#reportSheet.report-poll .close{
  right:18px;top:18px;
  width:42px;height:42px;border-radius:14px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 8px 20px rgba(16,31,56,.08);
  color:#172033; font-size:26px;
}
#reportSheet.report-poll .poll-wizard{
  border:1px solid rgba(21,101,192,.12);
  border-radius:28px;
  background:#fff;
  padding:0;
  box-shadow:0 22px 48px rgba(16,31,56,.10);
  overflow:hidden;
}
#reportSheet.report-poll .poll-wizard-shell{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  min-height:min(760px,calc(100vh - 130px));
}
#reportSheet.report-poll .poll-wizard-side{
  padding:28px 24px;
  border-right:1px solid var(--line);
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
  display:grid;
  align-content:start;
  gap:14px;
}
#reportSheet.report-poll .poll-side-mark{
  width:140px;height:54px;border-radius:16px;display:grid;place-items:start;
  background:linear-gradient(90deg,#1b64d8 0%,#1d76ff 78%,rgba(29,118,255,0) 100%);
  clip-path:polygon(0 42%,8% 18%,21% 28%,35% 10%,50% 25%,66% 12%,82% 23%,100% 14%,94% 68%,78% 79%,62% 68%,46% 85%,30% 72%,15% 82%,5% 66%);
  padding:10px 16px;color:#fff;font-size:20px;font-weight:900;
}
#reportSheet.report-poll .poll-side-title{font-size:40px;line-height:.95;letter-spacing:-.045em;color:#172033;margin:0}
#reportSheet.report-poll .poll-side-copy{margin:0;color:var(--muted);font-size:15px;line-height:1.45}
#reportSheet.report-poll .poll-stepbar.poll-stepbar-vertical{display:grid;grid-template-columns:1fr;gap:14px;margin-top:10px;position:relative}
#reportSheet.report-poll .poll-stepbar.poll-stepbar-vertical::before{content:"";position:absolute;left:15px;top:18px;bottom:18px;width:2px;background:#d9e4f2}
#reportSheet.report-poll .poll-stepbar.poll-stepbar-vertical button{
  position:relative;z-index:1;border:0;background:transparent;min-height:0;padding:0 0 0 0;border-radius:0;
  display:grid;grid-template-columns:34px 1fr;grid-template-areas:"num title" "num text";column-gap:12px;row-gap:2px;align-items:start;text-align:left;box-shadow:none;
}
#reportSheet.report-poll .poll-stepbar.poll-stepbar-vertical button b{
  grid-area:num;width:34px;height:34px;border-radius:999px;border:1px solid #cad8ea;background:#fff;color:#6b7280;font-size:14px;display:grid;place-items:center;font-weight:900;margin-top:2px;
}
#reportSheet.report-poll .poll-stepbar.poll-stepbar-vertical button strong{grid-area:title;color:#172033;font-size:16px;line-height:1.2}
#reportSheet.report-poll .poll-stepbar.poll-stepbar-vertical button span{grid-area:text;display:block;margin:0;color:var(--muted);font-size:13px;line-height:1.4;font-weight:700}
#reportSheet.report-poll .poll-stepbar.poll-stepbar-vertical button.is-active b{background:var(--poll);border-color:var(--poll);color:#fff;box-shadow:0 0 0 5px rgba(36,117,255,.12)}
#reportSheet.report-poll .poll-stepbar.poll-stepbar-vertical button.is-active strong{color:var(--poll)}
#reportSheet.report-poll .poll-stepbar.poll-stepbar-vertical button.is-disabled{opacity:.55}
#reportSheet.report-poll .poll-side-note{margin-top:8px;border:1px solid rgba(36,117,255,.14);background:#f5f9ff;border-radius:18px;padding:16px;display:grid;gap:8px}
#reportSheet.report-poll .poll-side-note strong{color:var(--poll);font-size:15px}
#reportSheet.report-poll .poll-side-note span{color:var(--muted);font-size:13px;line-height:1.45}
#reportSheet.report-poll .poll-wizard-main{padding:26px 28px 20px;display:grid;gap:16px;align-content:start;overflow:auto}
#reportSheet.report-poll .poll-step{gap:14px}
#reportSheet.report-poll .poll-step h3{display:inline-block;width:max-content;max-width:100%;position:relative;padding:8px 20px;color:#fff;font-size:25px;line-height:1;letter-spacing:-.03em;margin:0}
#reportSheet.report-poll .poll-step h3::before{content:"";position:absolute;inset:-4px -14px -5px -12px;background:linear-gradient(90deg,#1b64d8 0%,#1d76ff 80%,rgba(29,118,255,0) 100%);clip-path:polygon(0 42%,8% 18%,21% 28%,35% 10%,50% 25%,66% 12%,82% 23%,100% 14%,94% 68%,78% 79%,62% 68%,46% 85%,30% 72%,15% 82%,5% 66%);z-index:-1}
#reportSheet.report-poll .poll-step > p.muted.small{margin-top:0;font-size:14px}
#reportSheet.report-poll .poll-package-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:4px}
#reportSheet.report-poll .poll-package-card{min-height:168px;border-radius:20px;padding:22px 18px 18px 18px;justify-content:center;align-content:center;text-align:center;gap:8px;border:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 10px 24px rgba(16,31,56,.045)}
#reportSheet.report-poll .poll-package-card strong{font-size:26px;line-height:1.1;color:#172033}
#reportSheet.report-poll .poll-package-card span{font-size:18px;color:#172033;font-weight:900}
#reportSheet.report-poll .poll-package-card small{font-size:13px;color:var(--muted)}
#reportSheet.report-poll .poll-package-card:nth-child(1){border-color:rgba(36,117,255,.20)}
#reportSheet.report-poll .poll-package-card:nth-child(2){border-color:rgba(27,143,77,.20)}
#reportSheet.report-poll .poll-package-card:nth-child(3){border-color:rgba(147,51,234,.20)}
#reportSheet.report-poll .poll-package-card.is-selected{background:linear-gradient(180deg,rgba(36,117,255,.10),#fff)!important;box-shadow:0 0 0 3px rgba(36,117,255,.12),0 16px 30px rgba(36,117,255,.07)!important}
#reportSheet.report-poll .poll-package-card.is-selected::after{top:12px;right:12px}
#reportSheet.report-poll #packageHint,#reportSheet.report-poll #targetGroupHint{background:#f5f9ff;border:1px solid rgba(36,117,255,.12);border-radius:15px;padding:12px 14px;color:#46607f}
#reportSheet.report-poll #sharedReportFields{display:grid;gap:14px}
#reportSheet.report-poll #sharedReportFields .photo-tile,
#reportSheet.report-poll #sharedReportFields > label,
#reportSheet.report-poll #sharedReportFields > .photo-feedback,
#reportSheet.report-poll #sharedReportFields > .compact-section,
#reportSheet.report-poll #sharedReportFields > .two{margin:0}
#reportSheet.report-poll #sharedReportFields .photo-tile{min-height:118px;border-color:var(--poll-line);background:var(--poll-soft);border-radius:22px;color:var(--poll)}
#reportSheet.report-poll #sharedReportFields input,
#reportSheet.report-poll #sharedReportFields select,
#reportSheet.report-poll #sharedReportFields textarea,
#reportSheet.report-poll .poll-target-row select,
#reportSheet.report-poll .poll-step-two-row input{border-radius:15px;border:1px solid #d8e1ee;min-height:48px;padding:12px 14px;background:#fff}
#reportSheet.report-poll #sharedReportFields textarea{min-height:108px}
#reportSheet.report-poll #sharedReportFields input:focus,
#reportSheet.report-poll #sharedReportFields select:focus,
#reportSheet.report-poll #sharedReportFields textarea:focus,
#reportSheet.report-poll .poll-target-row select:focus,
#reportSheet.report-poll .poll-step-two-row input:focus{outline:none;border-color:var(--poll);box-shadow:0 0 0 4px rgba(36,117,255,.10)}
#reportSheet.report-poll #sharedReportFields .compact-section h3{font-size:16px;color:#172033;margin:0 0 2px}
#reportSheet.report-poll #sharedReportFields .two,
#reportSheet.report-poll .poll-step-two-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#reportSheet.report-poll #sharedReportFields .two>label,
#reportSheet.report-poll .poll-step-two-row>label{border:1px solid var(--line);border-radius:18px;background:#fbfdff;padding:14px;align-content:start}
#reportSheet.report-poll #sharedReportFields .address-row{grid-template-columns:1fr auto;gap:10px}
#reportSheet.report-poll #sharedReportFields .secondary.inline{height:48px;border-radius:14px;border:1px solid var(--poll-line);background:var(--poll-soft);color:var(--poll)}
#reportSheet.report-poll .poll-target-selects{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#reportSheet.report-poll .poll-target-row{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;gap:8px;font-weight:850;color:#172033;box-shadow:0 8px 18px rgba(16,31,56,.04)}
#reportSheet.report-poll .poll-question-progress{padding:8px 12px;border-radius:999px;background:#eef5ff;border:1px solid rgba(36,117,255,.16);font-size:13px}
#reportSheet.report-poll .poll-question{grid-template-columns:1fr;gap:12px;border-radius:20px;background:#fff;box-shadow:0 10px 24px rgba(16,31,56,.045);padding:16px}
#reportSheet.report-poll .poll-question-fields{display:grid;grid-template-columns:1.35fr .65fr;gap:14px;align-items:start}
#reportSheet.report-poll .poll-question-head strong{font-size:18px;color:#172033}
#reportSheet.report-poll .poll-question input,
#reportSheet.report-poll .poll-question select,
#reportSheet.report-poll .poll-question textarea{border-radius:15px;min-height:46px}
#reportSheet.report-poll .poll-question textarea{min-height:110px}
#reportSheet.report-poll .custom-options-field{display:grid;gap:7px}
#reportSheet.report-poll .poll-preview{border-radius:20px;padding:18px;background:#fff;box-shadow:0 10px 24px rgba(16,31,56,.045)}
#reportSheet.report-poll .poll-preview-row{grid-template-columns:220px 1fr;padding:6px 0;border-bottom:1px solid #edf2f7}
#reportSheet.report-poll .poll-preview-row:last-of-type{border-bottom:0}
#reportSheet.report-poll .poll-preview-questions{display:grid;gap:10px;margin-top:10px;padding-top:14px;border-top:1px solid #edf2f7}
#reportSheet.report-poll .poll-preview-questions article{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fbfdff}
#reportSheet.report-poll .poll-preview-questions strong{color:#172033}
#reportSheet.report-poll .poll-wizard-actions{border-top:1px solid var(--line);padding-top:16px;margin-top:2px}
#reportSheet.report-poll .poll-wizard-actions .secondary{background:#fff;border:1px solid var(--line);color:#172033}
#reportSheet.report-poll .poll-wizard-actions .primary,#reportSheet.report-poll #reportSubmitBtn{background:linear-gradient(90deg,#0f55b4,#1f7cff)!important;color:#fff;border-radius:16px;box-shadow:0 14px 28px rgba(36,117,255,.20)}
#reportSheet.report-poll #guestBox,#reportSheet.report-poll #locationPreview,#reportSheet.report-poll #reportSubmitBtn{border-radius:18px}
@media(max-width:980px){
  #reportSheet.report-poll{width:min(100vw,calc(100vw - 10px));border-radius:24px}
  #reportSheet.report-poll form#reportForm{padding:16px}
  #reportSheet.report-poll .poll-wizard-shell{grid-template-columns:1fr;min-height:0}
  #reportSheet.report-poll .poll-wizard-side{border-right:0;border-bottom:1px solid var(--line);padding:20px 18px}
  #reportSheet.report-poll .poll-side-title{font-size:30px}
  #reportSheet.report-poll .poll-stepbar.poll-stepbar-vertical{grid-template-columns:repeat(5,minmax(120px,1fr));overflow:auto;gap:12px}
  #reportSheet.report-poll .poll-stepbar.poll-stepbar-vertical::before{display:none}
  #reportSheet.report-poll .poll-stepbar.poll-stepbar-vertical button{grid-template-columns:1fr;grid-template-areas:"num" "title" "text";justify-items:center;text-align:center}
  #reportSheet.report-poll .poll-wizard-main{padding:18px}
  #reportSheet.report-poll .poll-package-cards,#reportSheet.report-poll .poll-target-selects,#reportSheet.report-poll #sharedReportFields .two,#reportSheet.report-poll .poll-step-two-row,#reportSheet.report-poll .poll-question-fields{grid-template-columns:1fr}
  #reportSheet.report-poll .poll-preview-row{grid-template-columns:1fr;gap:2px}
}
@media(max-width:760px){
  #reportSheet.report-poll{width:100vw;border-radius:24px 24px 0 0;max-height:96dvh}
  #reportSheet.report-poll .poll-package-card strong{font-size:22px}
  #reportSheet.report-poll .poll-package-card span{font-size:16px}
  #reportSheet.report-poll .poll-side-mark{width:118px;height:46px}
}


/* v137: Poll-Wizard komplett nachziehen:
   - Overlay scrollbar und keine Sackgasse mehr
   - Schritte 2-5 im gleichen visuellen System wie Schritt 1
   - Eingaben bleiben bedienbar, Buttons bleiben erreichbar
   - nur Poll-Bereich */

#reportSheet.report-poll{
  max-height:calc(100dvh - 24px)!important;
  overflow:hidden!important;
}
#reportSheet.report-poll form#reportForm{
  max-height:calc(100dvh - 24px)!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:auto auto 1fr auto auto!important;
}
#reportSheet.report-poll .poll-wizard{
  min-height:0!important;
  max-height:calc(100dvh - 132px)!important;
  overflow:hidden!important;
}
#reportSheet.report-poll .poll-wizard-shell{
  min-height:0!important;
  height:min(760px,calc(100dvh - 132px))!important;
  max-height:calc(100dvh - 132px)!important;
  overflow:hidden!important;
}
#reportSheet.report-poll .poll-wizard-side{
  min-height:0!important;
  overflow:auto!important;
  scrollbar-width:thin;
}
#reportSheet.report-poll .poll-wizard-main{
  min-height:0!important;
  max-height:100%!important;
  overflow:auto!important;
  scrollbar-width:thin;
  padding-bottom:24px!important;
}
#reportSheet.report-poll .poll-wizard-main::-webkit-scrollbar,
#reportSheet.report-poll .poll-wizard-side::-webkit-scrollbar{width:8px;height:8px}
#reportSheet.report-poll .poll-wizard-main::-webkit-scrollbar-thumb,
#reportSheet.report-poll .poll-wizard-side::-webkit-scrollbar-thumb{background:#c9d7ea;border-radius:999px}
#reportSheet.report-poll .poll-wizard-main::-webkit-scrollbar-track,
#reportSheet.report-poll .poll-wizard-side::-webkit-scrollbar-track{background:#f3f7fc}

/* Schrittflächen einheitlich als moderne Arbeitsfläche */
#reportSheet.report-poll .poll-step{
  background:transparent;
  border:0;
  padding:0;
}
#reportSheet.report-poll .poll-step[hidden]{display:none!important}
#reportSheet.report-poll .poll-step > h3{
  margin-bottom:8px!important;
}
#reportSheet.report-poll .poll-step > h3 + .muted.small{
  max-width:760px;
  font-size:14px;
  line-height:1.5;
  margin:4px 0 14px;
}

/* Kartenraster für alle Schrittinhalte */
#reportSheet.report-poll .poll-step[data-poll-step="2"] #sharedReportFields,
#reportSheet.report-poll .poll-step[data-poll-step="3"] .poll-target-selects,
#reportSheet.report-poll .poll-step[data-poll-step="4"] .poll-question-list,
#reportSheet.report-poll .poll-step[data-poll-step="5"] .poll-preview{
  position:relative;
}

/* Schritt 2: Grunddaten als klare Sections wie in der Referenz */
#reportSheet.report-poll #sharedReportFields{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 18px!important;
  align-items:start;
}
#reportSheet.report-poll #sharedReportFields .photo-tile,
#reportSheet.report-poll #photoFeedback,
#reportSheet.report-poll #sharedReportFields .location-section,
#reportSheet.report-poll #sharedReportFields label:has(#addressLabel),
#reportSheet.report-poll #sharedReportFields .two{
  grid-column:1 / -1;
}
#reportSheet.report-poll #sharedReportFields > label:not(.photo-tile),
#reportSheet.report-poll #sharedReportFields .two > label,
#reportSheet.report-poll .poll-step-two-row > label{
  display:grid;
  gap:8px;
  border:1px solid rgba(16,31,56,.08);
  background:linear-gradient(180deg,#fff,#fbfdff);
  border-radius:18px;
  padding:14px 15px;
  box-shadow:0 8px 18px rgba(16,31,56,.035);
}
#reportSheet.report-poll #sharedReportFields > label:not(.photo-tile) > span,
#reportSheet.report-poll #sharedReportFields .two > label > span,
#reportSheet.report-poll .poll-step-two-row > label{
  color:#10233f;
  font-weight:900;
}
#reportSheet.report-poll #sharedReportFields .photo-tile{
  min-height:104px!important;
  place-items:center;
  border-style:dashed!important;
  border-width:2px!important;
}
#reportSheet.report-poll #sharedReportFields .location-section{
  margin-top:4px!important;
  padding:0!important;
}
#reportSheet.report-poll #sharedReportFields .location-section h3{
  display:inline-flex;
  width:max-content;
  position:relative;
  margin:0 0 2px!important;
  color:#10233f!important;
  font-size:18px!important;
}
#reportSheet.report-poll #sharedReportFields .location-section h3::before{
  content:"";
  width:11px;height:11px;border-radius:999px;
  background:#1769dc;
  box-shadow:0 0 0 5px rgba(23,105,220,.12);
  margin-right:8px;
  align-self:center;
}
#reportSheet.report-poll .poll-step-two-row{
  margin-top:2px;
}
#reportSheet.report-poll .poll-check-inline{
  grid-template-columns:22px 1fr!important;
  align-items:center!important;
}
#reportSheet.report-poll .poll-check-inline input{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
}

/* Schritt 3: Zielgruppen als saubere Cards */
#reportSheet.report-poll .poll-target-selects{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
}
#reportSheet.report-poll .poll-target-row{
  min-height:116px;
  border-radius:20px!important;
  padding:16px!important;
  background:
    radial-gradient(circle at 90% 12%,rgba(23,105,220,.08),transparent 28%),
    linear-gradient(180deg,#fff,#fbfdff)!important;
  border:1px solid rgba(16,31,56,.08)!important;
  box-shadow:0 10px 24px rgba(16,31,56,.045)!important;
  display:grid!important;
  align-content:center;
  gap:10px!important;
}
#reportSheet.report-poll .poll-target-row::before{
  content:"";
  width:34px;height:34px;border-radius:999px;
  background:#eef6ff;
  box-shadow:inset 0 0 0 1px rgba(23,105,220,.10);
}
#reportSheet.report-poll .poll-target-row[data-target-row="2"]::before{background:#ecfdf3}
#reportSheet.report-poll .poll-target-row[data-target-row="3"]::before{background:#f7f3ff}
#reportSheet.report-poll .poll-target-row[data-target-row="4"]::before{background:#fff7ed}
#reportSheet.report-poll .poll-target-row select{
  margin-top:0!important;
}

/* Schritt 4: Fragenkarten bleiben vollständig lesbar */
#reportSheet.report-poll .poll-question-list{
  gap:14px!important;
}
#reportSheet.report-poll .poll-question-list > h3{
  display:inline-flex;
  position:relative;
  width:max-content;
  padding:8px 20px;
  margin:2px 0 0!important;
  color:#fff!important;
  font-size:25px!important;
  line-height:1;
  letter-spacing:-.03em;
}
#reportSheet.report-poll .poll-question-list > h3::before{
  content:"";
  position:absolute;
  inset:-4px -14px -5px -12px;
  background:linear-gradient(90deg,#1b64d8 0%,#1d76ff 80%,rgba(29,118,255,0) 100%);
  clip-path:polygon(0 42%,8% 18%,21% 28%,35% 10%,50% 25%,66% 12%,82% 23%,100% 14%,94% 68%,78% 79%,62% 68%,46% 85%,30% 72%,15% 82%,5% 66%);
  z-index:-1;
}
#reportSheet.report-poll .poll-question{
  border:1px solid rgba(16,31,56,.08)!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,#fff,#fbfdff)!important;
  box-shadow:0 12px 26px rgba(16,31,56,.055)!important;
  padding:16px!important;
}
#reportSheet.report-poll .poll-question-head{
  padding-bottom:10px;
  border-bottom:1px solid #edf2f7;
}
#reportSheet.report-poll .poll-question-remove{
  background:#fff0f0!important;
  color:#b42318!important;
  border:1px solid #ffd1d1;
}
#reportSheet.report-poll .poll-question-fields{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr)!important;
  gap:14px!important;
}
#reportSheet.report-poll .poll-question-fields label,
#reportSheet.report-poll .custom-options-field{
  display:grid;
  gap:8px;
  font-weight:900;
  color:#10233f;
}
#reportSheet.report-poll .custom-options-field textarea{
  min-height:126px!important;
  resize:vertical;
}

/* Schritt 5: Vorschau in Dashboard-Optik */
#reportSheet.report-poll .poll-preview{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 14px!important;
  border:1px solid rgba(16,31,56,.08)!important;
  background:linear-gradient(180deg,#fff,#fbfdff)!important;
  border-radius:22px!important;
  padding:18px!important;
  box-shadow:0 12px 26px rgba(16,31,56,.055)!important;
}
#reportSheet.report-poll .poll-preview-row{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:4px!important;
  padding:12px!important;
  border:1px solid #edf2f7!important;
  border-radius:16px;
  background:#fff;
}
#reportSheet.report-poll .poll-preview-row b{
  color:#1769dc;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
#reportSheet.report-poll .poll-preview-row span{
  color:#10233f;
  font-weight:800;
  line-height:1.35;
}
#reportSheet.report-poll .poll-preview-questions{
  grid-column:1 / -1;
}
#reportSheet.report-poll .poll-preview-questions > b{
  display:block;
  color:#10233f;
  font-size:18px;
  margin-bottom:4px;
}

/* Footer immer erreichbar */
#reportSheet.report-poll .poll-wizard-actions{
  position:sticky;
  bottom:0;
  z-index:2;
  background:linear-gradient(180deg,rgba(255,255,255,.86),#fff 34%);
  padding:16px 0 0!important;
  margin-top:4px!important;
}
#reportSheet.report-poll #reportSubmitBtn{
  position:sticky;
  bottom:0;
  z-index:3;
  justify-self:end;
  width:min(260px,100%);
  margin-top:0!important;
}

/* Buttons und Inputs gegen ungewollte Überbreite schützen */
#reportSheet.report-poll input[type="checkbox"],
#reportSheet.report-poll input[type="radio"]{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  padding:0!important;
}

/* Mobile: alles bleibt scrollbar und bedienbar */
@media(max-width:980px){
  #reportSheet.report-poll form#reportForm{
    max-height:96dvh!important;
  }
  #reportSheet.report-poll .poll-wizard{
    max-height:calc(96dvh - 112px)!important;
  }
  #reportSheet.report-poll .poll-wizard-shell{
    height:auto!important;
    max-height:calc(96dvh - 112px)!important;
    overflow:auto!important;
  }
  #reportSheet.report-poll .poll-wizard-main{
    overflow:visible!important;
    max-height:none!important;
  }
  #reportSheet.report-poll .poll-wizard-side{
    overflow:visible!important;
  }
  #reportSheet.report-poll .poll-target-selects,
  #reportSheet.report-poll #sharedReportFields,
  #reportSheet.report-poll #sharedReportFields .two,
  #reportSheet.report-poll .poll-step-two-row,
  #reportSheet.report-poll .poll-question-fields,
  #reportSheet.report-poll .poll-preview{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:620px){
  #reportSheet.report-poll form#reportForm{padding:12px!important}
  #reportSheet.report-poll .poll-wizard-side{padding:18px 14px!important}
  #reportSheet.report-poll .poll-wizard-main{padding:16px 14px 18px!important}
  #reportSheet.report-poll .poll-step h3,
  #reportSheet.report-poll .poll-question-list > h3{
    font-size:21px!important;
  }
}


/* v140: Kleine Brush-/Wellen-Akzente aus dem verworfenen Startseiten-Entwurf.
   Nur Startseite: Begriffe "Leaks"/"Polls", Erstellen-Buttons und Gesamtübersicht-Button.
   Keine Layout-/Strukturänderung. */

.map-intro .term-leak,
.map-intro .term-poll,
.section-title-row .term-leak,
.section-title-row .term-poll{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff!important;
  line-height:.95;
  padding:.12em .5em .18em;
  margin:0 .04em;
  vertical-align:baseline;
  position:relative;
  isolation:isolate;
  text-shadow:0 1px 0 rgba(0,0,0,.08);
}

.map-intro .term-leak::before,
.map-intro .term-poll::before,
.section-title-row .term-leak::before,
.section-title-row .term-poll::before{
  content:"";
  position:absolute;
  inset:-.18em -.32em -.20em -.30em;
  z-index:-1;
  clip-path:polygon(0 42%,8% 18%,22% 30%,36% 10%,52% 27%,68% 12%,84% 25%,100% 14%,94% 68%,78% 80%,62% 68%,46% 86%,30% 72%,14% 82%,3% 66%);
  box-shadow:0 10px 22px rgba(16,31,56,.08);
}

.map-intro .term-leak::before,
.section-title-row .term-leak::before{
  background:linear-gradient(90deg,rgba(17,140,60,0) 0%,#118c3c 12%,#18b85b 88%,rgba(24,184,91,0) 100%);
}

.map-intro .term-poll::before,
.section-title-row .term-poll::before{
  background:linear-gradient(90deg,rgba(23,105,220,0) 0%,#1260c7 12%,#1f7cff 88%,rgba(31,124,255,0) 100%);
}

.map-intro .term-and,
.section-title-row .term-and{
  color:#10233f!important;
  font-weight:950;
}

/* vorhandene Startseiten-Aktionsbuttons nur optisch brushiger machen */
.desktop-map-action.leak-action,
.desktop-map-action.poll-action,
.desktop-map-actions .leak-action,
.desktop-map-actions .poll-action{
  position:relative;
  border:0!important;
  color:#fff!important;
  font-weight:950;
  letter-spacing:.01em;
  border-radius:0!important;
  clip-path:polygon(0 38%,8% 17%,22% 27%,36% 9%,51% 24%,67% 12%,84% 24%,100% 13%,94% 67%,79% 80%,62% 69%,47% 86%,31% 73%,15% 83%,4% 66%);
  box-shadow:0 16px 32px rgba(16,31,56,.13)!important;
  min-height:50px;
}

.desktop-map-action.leak-action,
.desktop-map-actions .leak-action{
  background:linear-gradient(90deg,#118c3c,#18b85b)!important;
}

.desktop-map-action.poll-action,
.desktop-map-actions .poll-action{
  background:linear-gradient(90deg,#1260c7,#1f7cff)!important;
}

.desktop-map-action.leak-action::after,
.desktop-map-action.poll-action::after,
.desktop-map-actions .leak-action::after,
.desktop-map-actions .poll-action::after{
  content:"›";
  font-size:1.45rem;
  line-height:1;
  margin-left:8px;
}

.desktop-map-action.leak-action::before,
.desktop-map-actions .leak-action::before{
  content:"●";
  font-size:.8rem;
  margin-right:8px;
}

.desktop-map-action.poll-action::before,
.desktop-map-actions .poll-action::before{
  content:"●";
  font-size:.8rem;
  margin-right:8px;
}

/* Button unter Top-Leaks/Top-Polls klarer machen */
.top-overview-actions .primary,
.top-overview-actions .linkbtn,
.top-overview-actions a[href*="all.php"]{
  background:linear-gradient(90deg,#118c3c 0%,#1769dc 100%)!important;
  color:#fff!important;
  border:0!important;
  border-radius:20px!important;
  padding:15px 24px!important;
  font-weight:950!important;
  box-shadow:0 18px 34px rgba(16,31,56,.14)!important;
  text-decoration:none!important;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:10px;
}

.top-overview-actions .primary::before,
.top-overview-actions .linkbtn::before,
.top-overview-actions a[href*="all.php"]::before{
  content:"Alle Einträge";
  display:inline-flex;
  padding:4px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  font-size:.78rem;
  letter-spacing:.02em;
}

.top-overview-actions .primary::after,
.top-overview-actions .linkbtn::after,
.top-overview-actions a[href*="all.php"]::after{
  content:"›";
  font-size:1.45rem;
  line-height:1;
}

@media(max-width:760px){
  .desktop-map-action.leak-action,
  .desktop-map-action.poll-action,
  .desktop-map-actions .leak-action,
  .desktop-map-actions .poll-action{
    clip-path:none;
    border-radius:18px!important;
    width:100%;
  }
  .map-intro .term-leak,
  .map-intro .term-poll,
  .section-title-row .term-leak,
  .section-title-row .term-poll{
    padding:.08em .42em .15em;
  }
  .top-overview-actions .primary,
  .top-overview-actions .linkbtn,
  .top-overview-actions a[href*="all.php"]{
    width:100%;
    flex-wrap:wrap;
  }
}


/* v141: Header/Logo, Menügruppen, Index-Filter */
.appbar .brand-logo-link,.brand-logo-link,.appbar .brand,.appbar .brand-logo{background:transparent!important;border:0!important;box-shadow:none!important}.brand-logo{object-fit:contain!important}body.a11y-dark .brand-logo,body.a11y-dark .brand-logo-link{background:transparent!important;padding:0!important;box-shadow:none!important}
.main-menu-panel .menu-group{display:grid;gap:4px;padding:8px 0;border-bottom:1px solid var(--line)}.main-menu-panel .menu-group:last-child{border-bottom:0}.main-menu-panel .menu-group-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900;padding:4px 12px}.main-menu-panel [hidden],.main-menu-panel .menu-group[data-nav-user][hidden]{display:none!important}
.map-filterbar{grid-template-columns:minmax(220px,1.4fr) auto minmax(180px,.75fr)!important;align-items:end!important;gap:14px!important}.map-filterbar .advanced-filters{display:block!important}.map-filterbar .filter-field:has(#mapRadiusFilter){display:none!important}#mapRadiusFilter{display:none!important}.map-type-control{display:flex;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;min-height:44px}.map-type-control button{border:0;background:#fff;color:#172033;font-weight:900;padding:0 16px;min-width:76px}.map-type-control button+button{border-left:1px solid var(--line)}.map-type-control button.active{background:#172033;color:#fff}.map-type-control button[data-map-type="leak"].active{background:var(--leak,#1b8f4d);color:#fff}.map-type-control button[data-map-type="poll"].active{background:var(--poll,#1565c0);color:#fff}@media(max-width:760px){.map-filterbar{grid-template-columns:1fr!important}.map-type-control button{flex:1}}

/* v141: Uploadbereiche kompakter + Galerie */
#reportSheet .photo-tile{min-height:76px!important;border-radius:18px!important;padding:12px!important;place-items:center!important}#reportSheet .photo-tile span{font-size:15px!important}#reportSheet .photo-tile small{font-size:12px!important}.photo-gallery-feedback{padding:12px!important;border-radius:18px!important}.photo-gallery-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.photo-gallery-head strong{color:#172033}.photo-gallery-head span{color:var(--muted);font-size:13px;font-weight:800}.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.photo-gallery figure{margin:0;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;display:grid;gap:8px;padding:8px}.photo-gallery img{width:100%;height:112px;object-fit:cover;border-radius:12px;background:#edf2f7}.photo-gallery figcaption{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-gallery button{width:100%}
#reportSheet.report-leak .two,#reportSheet.report-poll #sharedReportFields .two{grid-template-columns:minmax(150px,.45fr) minmax(180px,.55fr)!important;gap:12px!important}#reportSheet.report-leak #radiusKm,#reportSheet.report-leak select[name="priority"],#reportSheet.report-poll #radiusKm,#reportSheet.report-poll select[name="priority"]{min-height:44px!important}#reportSubmitBtn[disabled]::after{content:"";display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.6);border-top-color:#fff;border-radius:50%;margin-left:8px;vertical-align:-2px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:760px){#reportSheet.report-leak .two,#reportSheet.report-poll #sharedReportFields .two{grid-template-columns:1fr!important}.photo-gallery{grid-template-columns:1fr 1fr}.photo-gallery img{height:104px}}

/* v141: Poll-Zielgruppen als Chips */
#reportSheet.report-poll .poll-target-chip-groups{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}#reportSheet.report-poll .poll-target-row{display:block!important;min-height:0!important}#reportSheet.report-poll .poll-target-row legend{font-weight:950;color:#10233f;margin-bottom:10px}#reportSheet.report-poll .poll-target-row::before{display:none!important}.chip-check{display:inline-flex!important;align-items:center!important;gap:7px!important;width:auto!important;min-height:34px!important;margin:0 6px 7px 0!important;padding:8px 11px!important;border:1px solid var(--line)!important;border-radius:999px!important;background:#fff!important;color:#172033!important;font-weight:800!important;font-size:13px!important;line-height:1.15!important}.chip-check input{width:14px!important;height:14px!important;min-width:14px!important;margin:0!important;accent-color:var(--poll,#1565c0)}.chip-check:has(input:checked){background:#eef5ff!important;border-color:rgba(21,101,192,.35)!important;color:var(--poll,#1565c0)!important}@media(max-width:900px){#reportSheet.report-poll .poll-target-chip-groups{grid-template-columns:1fr!important}}

/* v141: Profil POV kompakter + Bio/Profilbild nach oben */
.profile-pov-form{display:flex!important;flex-direction:column!important}.profile-pov-form .profile-form-section:nth-of-type(3){order:2}.profile-pov-form .profile-form-section:nth-of-type(2){order:3}.profile-pov-form .profile-form-actions{order:4}.profile-avatar-upload{order:-1}.pass-avatar-img,.profile-photo-feedback img,.photo-preview-row img{object-fit:cover!important;object-position:center top!important}.profile-choice-sections{grid-template-columns:1fr!important;gap:12px!important}.profile-choice-sections .profile-tagbox{display:block!important;padding:14px!important}.profile-tagbox .check{display:inline-flex!important;align-items:center!important;gap:7px!important;width:auto!important;min-height:34px!important;margin:0 6px 7px 0!important;padding:8px 11px!important;border:1px solid var(--line)!important;border-radius:999px!important;background:#fff!important;color:#172033!important;font-size:13px!important;font-weight:800!important;line-height:1.15!important}.profile-tagbox .check input{order:0!important;flex:0 0 14px!important;width:14px!important;height:14px!important;min-width:14px!important;min-height:14px!important;margin:0!important}.profile-tagbox .check:has(input:checked){background:#ecfdf3!important;border-color:rgba(27,143,77,.35)!important;color:var(--leak,#1b8f4d)!important}@media(max-width:760px){.profile-tagbox .check{font-size:12.5px!important;padding:8px 10px!important}.profile-form-grid{grid-template-columns:1fr!important}}


/* v142: echter Sprunganker für Menüpunkt Kontakt / Feedback */
.anchor-target{
  display:block;
  position:relative;
  top:-92px;
  height:0;
  visibility:hidden;
}


/* v143 Test: Nur Filter-/Suchenblock in die Map setzen.
   Titel und Erklärung bleiben über der Map. "+ Ort setzen" wurde entfernt. */
.map-shell.map-shell-with-filter{
  position:relative;
  overflow:hidden;
}

.map-shell.map-shell-with-filter #map{
  height:100%;
  width:100%;
}

.map-shell.map-shell-with-filter .map-filterbar{
  position:absolute;
  z-index:720;
  left:18px;
  top:18px;
  width:min(520px,calc(100% - 36px));
  max-height:calc(100% - 36px);
  overflow:auto;
  margin:0!important;
  padding:14px!important;
  border-radius:22px!important;
  border:1px solid rgba(16,31,56,.10)!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 20px 52px rgba(16,31,56,.18)!important;
  backdrop-filter:blur(14px);
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}

.map-shell.map-shell-with-filter .search-field,
.map-shell.map-shell-with-filter .filter-field{
  display:grid;
  gap:6px;
}

.map-shell.map-shell-with-filter .search-field input,
.map-shell.map-shell-with-filter .filter-field select{
  min-height:42px;
  border-radius:14px;
}

.map-shell.map-shell-with-filter .map-type-control{
  display:flex;
  width:100%;
  min-height:42px;
  border-radius:14px;
  overflow:hidden;
}

.map-shell.map-shell-with-filter .map-type-control button{
  flex:1;
  min-width:0;
  padding:0 10px;
}

.map-shell.map-shell-with-filter .advanced-filters{
  display:block!important;
}

.map-shell.map-shell-with-filter .near-info{
  font-size:.86rem;
  line-height:1.35;
  margin:0!important;
  color:#607086;
}

.map-shell.map-shell-with-filter .map-tools{
  z-index:730;
}

.map-shell.map-shell-with-filter #setHereBtn{
  display:none!important;
}

@media(max-width:760px){
  .map-shell.map-shell-with-filter{
    min-height:520px;
  }
  .map-shell.map-shell-with-filter .map-filterbar{
    left:10px;
    right:10px;
    top:10px;
    width:auto;
    max-height:46%;
    padding:12px!important;
    border-radius:18px!important;
  }
  .map-shell.map-shell-with-filter .map-tools{
    top:auto!important;
    bottom:12px!important;
    left:12px!important;
    right:12px!important;
  }
}


/* v144: Filterblock in der Map kompakter:
   Suche ohne Label, Standort in den Filterblock, Typ/Kategorie in einer Reihe,
   keine Filter-Reste, Box minimal transparent. */
.map-shell.map-shell-with-filter .map-filterbar{
  width:min(620px,calc(100% - 36px))!important;
  background:rgba(255,255,255,.88)!important;
  backdrop-filter:blur(16px) saturate(1.05)!important;
  -webkit-backdrop-filter:blur(16px) saturate(1.05)!important;
  display:grid!important;
  grid-template-columns:1fr minmax(210px,.9fr)!important;
  grid-template-areas:
    "search search"
    "types category"
    "info info"!important;
  gap:10px 12px!important;
  padding:13px!important;
}

.map-shell.map-shell-with-filter .map-search-field{
  grid-area:search;
}

.map-shell.map-shell-with-filter .map-search-field > .sr-only{
  position:absolute!important;
}

.map-shell.map-shell-with-filter .map-search-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 46px;
  gap:8px;
  align-items:center;
}

.map-shell.map-shell-with-filter #searchInput{
  min-height:44px!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.94)!important;
}

.map-shell.map-shell-with-filter .map-location-btn{
  min-width:46px;
  width:46px;
  height:44px;
  padding:0!important;
  border-radius:15px!important;
  display:grid;
  place-items:center;
  background:#eef5ff!important;
  color:#1769dc!important;
  border:1px solid rgba(23,105,220,.18)!important;
  font-size:1.25rem;
  line-height:1;
  box-shadow:none!important;
}

.map-shell.map-shell-with-filter .map-location-btn:hover{
  background:#e2efff!important;
}

.map-shell.map-shell-with-filter .map-type-control{
  grid-area:types;
  align-self:end;
}

.map-shell.map-shell-with-filter .advanced-filters{
  grid-area:category;
  display:block!important;
}

.map-shell.map-shell-with-filter .advanced-filters .filter-field{
  margin:0;
}

.map-shell.map-shell-with-filter .advanced-filters .filter-field:has(#mapRadiusFilter){
  display:none!important;
}

.map-shell.map-shell-with-filter #categoryFilter{
  min-height:42px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.94)!important;
}

.map-shell.map-shell-with-filter .filter-toggle,
.map-shell.map-shell-with-filter #filterToggle{
  display:none!important;
}

.map-shell.map-shell-with-filter .near-info{
  grid-area:info;
  padding:1px 2px 0;
}

.map-shell.map-shell-with-filter .map-tools{
  display:none!important;
}

/* Falls globale alte Filterregeln greifen: im Map-Overlay explizit sauber halten */
.map-shell.map-shell-with-filter .search-field{
  margin:0!important;
}

.map-shell.map-shell-with-filter .filter-field{
  font-size:0!important;
}

.map-shell.map-shell-with-filter .filter-field select{
  font-size:14px!important;
}

@media(max-width:760px){
  .map-shell.map-shell-with-filter .map-filterbar{
    width:auto!important;
    grid-template-columns:1fr!important;
    grid-template-areas:
      "search"
      "types"
      "category"
      "info"!important;
    max-height:48%!important;
    background:rgba(255,255,255,.90)!important;
  }

  .map-shell.map-shell-with-filter .map-search-row{
    grid-template-columns:minmax(0,1fr) 44px;
  }

  .map-shell.map-shell-with-filter .map-location-btn{
    width:44px;
    min-width:44px;
  }
}


/* v145: Map-Filter noch kompakter/transparenter.
   Auch mobil bleiben Suche+Standort und Typ+Kategorie jeweils in einer Reihe. */
.map-shell.map-shell-with-filter .map-filterbar{
  background:rgba(255,255,255,.80)!important;
  backdrop-filter:blur(18px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.08)!important;
}

.map-shell.map-shell-with-filter .near-info,
.map-shell.map-shell-with-filter #nearInfo{
  display:none!important;
}

.map-shell.map-shell-with-filter .map-filterbar{
  grid-template-areas:
    "search search"
    "types category"!important;
}

.map-shell.map-shell-with-filter .map-search-row{
  grid-template-columns:minmax(0,1fr) 46px!important;
}

@media(max-width:760px){
  .map-shell.map-shell-with-filter .map-filterbar{
    background:rgba(255,255,255,.82)!important;
    grid-template-columns:minmax(0,1.05fr) minmax(124px,.72fr)!important;
    grid-template-areas:
      "search search"
      "types category"!important;
    gap:9px!important;
    max-height:42%!important;
  }

  .map-shell.map-shell-with-filter .map-search-row{
    grid-template-columns:minmax(0,1fr) 44px!important;
  }

  .map-shell.map-shell-with-filter .map-type-control{
    grid-area:types!important;
    min-width:0!important;
  }

  .map-shell.map-shell-with-filter .map-type-control button{
    min-width:0!important;
    padding:0 6px!important;
    font-size:12.5px!important;
  }

  .map-shell.map-shell-with-filter .advanced-filters{
    grid-area:category!important;
    min-width:0!important;
  }

  .map-shell.map-shell-with-filter #categoryFilter{
    min-width:0!important;
    width:100%!important;
    font-size:12.5px!important;
    padding-left:9px!important;
    padding-right:24px!important;
  }
}

@media(max-width:390px){
  .map-shell.map-shell-with-filter .map-filterbar{
    grid-template-columns:minmax(0,1fr) minmax(108px,.58fr)!important;
  }
  .map-shell.map-shell-with-filter .map-type-control button{
    font-size:11.5px!important;
    padding:0 4px!important;
  }
  .map-shell.map-shell-with-filter #categoryFilter{
    font-size:11.5px!important;
  }
}


/* v146: Map-Filter klickbar machen, GPS mobil sicher in Suchzeile, eine Stufe transparenter */
.map-shell.map-shell-with-filter .map-filterbar{
  z-index:2500!important;
  pointer-events:auto!important;
  background:rgba(255,255,255,.72)!important;
  backdrop-filter:blur(20px) saturate(1.10)!important;
  -webkit-backdrop-filter:blur(20px) saturate(1.10)!important;
}

.map-shell.map-shell-with-filter .map-filterbar *,
.map-shell.map-shell-with-filter .map-filterbar input,
.map-shell.map-shell-with-filter .map-filterbar select,
.map-shell.map-shell-with-filter .map-filterbar button,
.map-shell.map-shell-with-filter .map-filterbar label{
  pointer-events:auto!important;
}

.map-shell.map-shell-with-filter .address-suggestions,
.map-shell.map-shell-with-filter .main-search-suggestions{
  z-index:2600!important;
  pointer-events:auto!important;
}

.map-shell.map-shell-with-filter .map-search-field{
  display:block!important;
  min-width:0!important;
}

.map-shell.map-shell-with-filter .map-search-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 46px!important;
  gap:8px!important;
  align-items:center!important;
  width:100%!important;
}

.map-shell.map-shell-with-filter #searchInput{
  min-width:0!important;
  width:100%!important;
}

.map-shell.map-shell-with-filter .map-location-btn,
.map-shell.map-shell-with-filter #refreshBtn{
  display:grid!important;
  grid-column:2!important;
  width:46px!important;
  min-width:46px!important;
  height:44px!important;
  min-height:44px!important;
  place-items:center!important;
  flex:0 0 46px!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
}

.map-shell.map-shell-with-filter .map-type-control button,
.map-shell.map-shell-with-filter #categoryFilter{
  pointer-events:auto!important;
  touch-action:manipulation!important;
}

.map-shell.map-shell-with-filter .leaflet-control-container{
  pointer-events:auto;
}

@media(max-width:760px){
  .map-shell.map-shell-with-filter .map-filterbar{
    background:rgba(255,255,255,.74)!important;
    grid-template-columns:minmax(0,1.05fr) minmax(124px,.72fr)!important;
  }

  .map-shell.map-shell-with-filter .map-search-field{
    grid-area:search!important;
  }

  .map-shell.map-shell-with-filter .map-search-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 44px!important;
    gap:8px!important;
    width:100%!important;
  }

  .map-shell.map-shell-with-filter .map-location-btn,
  .map-shell.map-shell-with-filter #refreshBtn{
    display:grid!important;
    width:44px!important;
    min-width:44px!important;
    height:42px!important;
    min-height:42px!important;
    grid-column:2!important;
  }

  .map-shell.map-shell-with-filter #searchInput{
    grid-column:1!important;
  }
}


/* v152: Adress-Vorschläge im Map-Filter sichtbar und klickbar */
.map-shell.map-shell-with-filter{
  overflow:hidden!important;
}

.map-shell.map-shell-with-filter .map-filterbar{
  overflow:visible!important;
}

.map-shell.map-shell-with-filter #mainSearchSuggestions,
.map-shell.map-shell-with-filter .main-search-suggestions{
  position:absolute!important;
  z-index:3400!important;
  left:13px!important;
  right:13px!important;
  top:64px!important;
  max-height:260px!important;
  overflow:auto!important;
  pointer-events:auto!important;
  background:rgba(255,255,255,.98)!important;
  border:1px solid rgba(16,31,56,.12)!important;
  border-radius:16px!important;
  box-shadow:0 18px 38px rgba(16,31,56,.18)!important;
}

.map-shell.map-shell-with-filter #mainSearchSuggestions[hidden]{
  display:none!important;
}

.map-shell.map-shell-with-filter .map-address-suggestion,
.map-shell.map-shell-with-filter .address-suggestion{
  width:100%!important;
  display:grid!important;
  gap:3px!important;
  text-align:left!important;
  border:0!important;
  border-bottom:1px solid #edf2f7!important;
  background:#fff!important;
  padding:11px 13px!important;
  cursor:pointer!important;
  color:#10233f!important;
  border-radius:0!important;
}

.map-shell.map-shell-with-filter .map-address-suggestion:last-child,
.map-shell.map-shell-with-filter .address-suggestion:last-child{
  border-bottom:0!important;
}

.map-shell.map-shell-with-filter .map-address-suggestion:hover,
.map-shell.map-shell-with-filter .address-suggestion:hover{
  background:#f5f9ff!important;
}

.map-shell.map-shell-with-filter .map-address-suggestion strong,
.map-shell.map-shell-with-filter .address-suggestion strong{
  font-size:14px!important;
  color:#10233f!important;
}

.map-shell.map-shell-with-filter .map-address-suggestion span,
.map-shell.map-shell-with-filter .address-suggestion span{
  font-size:12px!important;
  color:#64748b!important;
  line-height:1.35!important;
}

@media(max-width:760px){
  .map-shell.map-shell-with-filter #mainSearchSuggestions,
  .map-shell.map-shell-with-filter .main-search-suggestions{
    top:60px!important;
    max-height:220px!important;
  }
}


/* v153: Map-Header direkt über der Karte, Erklärungstext entfernt, Zoom links unten */
.map-intro.map-attached-header{
  margin:18px 0 0!important;
  padding:14px 18px 13px!important;
  border:1px solid rgba(16,31,56,.10)!important;
  border-bottom:0!important;
  border-radius:24px 24px 0 0!important;
  background:rgba(255,255,255,.90)!important;
  box-shadow:0 14px 34px rgba(16,31,56,.08)!important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.map-intro.map-attached-header h2{
  margin:0!important;
  font-size:clamp(1.25rem,2vw,1.75rem)!important;
  line-height:1.15!important;
}

.map-intro.map-attached-header p{
  display:none!important;
}

.map-intro.map-attached-header + .map-shell.map-shell-with-filter,
.map-intro.map-attached-header + .map-shell{
  margin-top:0!important;
  border-top-left-radius:0!important;
  border-top-right-radius:0!important;
}

/* Leaflet Zoom vom Suchblock weg nach links unten */
.map-shell .leaflet-control-zoom{
  margin-left:14px!important;
  margin-bottom:14px!important;
  margin-top:0!important;
}

.map-shell .leaflet-bottom.leaflet-left{
  z-index:900!important;
}

.map-shell .leaflet-top.leaflet-left .leaflet-control-zoom{
  display:none!important;
}

.map-shell .leaflet-bottom.leaflet-left .leaflet-control-zoom{
  display:block!important;
}

@media(max-width:760px){
  .map-intro.map-attached-header{
    margin-top:14px!important;
    padding:12px 14px!important;
    border-radius:20px 20px 0 0!important;
  }

  .map-intro.map-attached-header h2{
    font-size:1.2rem!important;
  }

  .map-shell .leaflet-control-zoom{
    margin-left:10px!important;
    margin-bottom:10px!important;
  }
}


/* v154: Titel wirklich in denselben Map-Block integrieren.
   Standalone-Intro und Desktop-Aktionsleiste zwischen Titel und Karte entfallen. */
.map-intro.map-attached-header,
.map-intro.readable-block,
.desktop-map-actions{
  display:none!important;
}

.map-shell.map-shell-with-filter{
  display:grid!important;
  grid-template-rows:auto minmax(520px,1fr)!important;
  overflow:hidden!important;
  border-radius:24px!important;
  border:1px solid rgba(16,31,56,.10)!important;
  background:rgba(255,255,255,.88)!important;
  box-shadow:0 20px 50px rgba(16,31,56,.12)!important;
}

.map-shell.map-shell-with-filter .map-inner-header{
  grid-row:1;
  padding:14px 18px 13px!important;
  border-bottom:1px solid rgba(16,31,56,.08)!important;
  background:rgba(255,255,255,.88)!important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  z-index:6;
}

.map-shell.map-shell-with-filter .map-inner-header .section-title-row{
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}

.map-shell.map-shell-with-filter .map-inner-header h2{
  margin:0!important;
  font-size:clamp(1.25rem,2vw,1.75rem)!important;
  line-height:1.15!important;
  color:#10233f!important;
}

.map-shell.map-shell-with-filter .map-inner-header p,
.map-shell.map-shell-with-filter .map-inner-header .read-btn{
  display:none!important;
}

.map-shell.map-shell-with-filter #map{
  grid-row:2;
  min-height:520px!important;
  height:100%!important;
}

.map-shell.map-shell-with-filter .map-filterbar{
  top:calc(18px + 56px)!important;
}

@media(max-width:760px){
  .map-shell.map-shell-with-filter{
    grid-template-rows:auto minmax(500px,1fr)!important;
    border-radius:20px!important;
  }

  .map-shell.map-shell-with-filter .map-inner-header{
    padding:12px 14px!important;
  }

  .map-shell.map-shell-with-filter .map-inner-header h2{
    font-size:1.2rem!important;
  }

  .map-shell.map-shell-with-filter #map{
    min-height:500px!important;
  }

  .map-shell.map-shell-with-filter .map-filterbar{
    top:calc(10px + 48px)!important;
  }
}


/* v155: Desktop-Schnellbuttons wieder über den kompletten Map-Block setzen.
   Sie stehen damit nicht mehr zwischen Map-Titel und Karte. */
.desktop-map-actions.desktop-map-actions-above{
  display:flex!important;
  justify-content:flex-end!important;
  gap:10px!important;
  margin:18px 0 10px!important;
}

.desktop-map-actions.desktop-map-actions-above .desktop-map-action{
  min-height:42px;
}

@media(max-width:760px){
  .desktop-map-actions.desktop-map-actions-above{
    display:none!important;
  }
}


/* v156: Map-Suchblock kompakter und noch transparenter */
.map-shell.map-shell-with-filter .map-filterbar{
  left:12px!important;
  top:calc(12px + 56px)!important;
  width:min(600px,calc(100% - 24px))!important;
  padding:10px!important;
  gap:7px 8px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.66)!important;
  backdrop-filter:blur(20px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(20px) saturate(1.08)!important;
  box-shadow:0 14px 34px rgba(16,31,56,.13)!important;
}

.map-shell.map-shell-with-filter .map-search-row{
  gap:6px!important;
}

.map-shell.map-shell-with-filter #searchInput,
.map-shell.map-shell-with-filter .map-location-btn,
.map-shell.map-shell-with-filter #refreshBtn,
.map-shell.map-shell-with-filter .map-type-control,
.map-shell.map-shell-with-filter #categoryFilter{
  min-height:40px!important;
  height:40px!important;
}

.map-shell.map-shell-with-filter .map-location-btn,
.map-shell.map-shell-with-filter #refreshBtn{
  width:42px!important;
  min-width:42px!important;
}

.map-shell.map-shell-with-filter .map-type-control button{
  padding:0 8px!important;
}

@media(max-width:760px){
  .map-shell.map-shell-with-filter .map-filterbar{
    left:8px!important;
    right:8px!important;
    top:calc(8px + 48px)!important;
    width:auto!important;
    padding:8px!important;
    gap:6px!important;
    border-radius:16px!important;
    background:rgba(255,255,255,.68)!important;
  }

  .map-shell.map-shell-with-filter .map-search-row{
    grid-template-columns:minmax(0,1fr) 40px!important;
    gap:6px!important;
  }

  .map-shell.map-shell-with-filter #searchInput{
    font-size:12px!important;
    min-height:38px!important;
    height:38px!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }

  .map-shell.map-shell-with-filter .map-location-btn,
  .map-shell.map-shell-with-filter #refreshBtn{
    width:40px!important;
    min-width:40px!important;
    height:38px!important;
    min-height:38px!important;
    font-size:1.08rem!important;
  }

  .map-shell.map-shell-with-filter .map-type-control{
    min-height:38px!important;
    height:38px!important;
  }

  .map-shell.map-shell-with-filter .map-type-control button{
    font-size:11.5px!important;
    padding:0 4px!important;
  }

  .map-shell.map-shell-with-filter #categoryFilter{
    font-size:11.5px!important;
    min-height:38px!important;
    height:38px!important;
    padding-left:8px!important;
    padding-right:22px!important;
  }
}

@media(max-width:390px){
  .map-shell.map-shell-with-filter .map-filterbar{
    left:6px!important;
    right:6px!important;
    padding:7px!important;
    gap:5px!important;
  }

  .map-shell.map-shell-with-filter .map-type-control button,
  .map-shell.map-shell-with-filter #categoryFilter{
    font-size:11px!important;
  }
}


/* v157: Map-Suchblock noch kompakter, mobil kleinere Filter-Schrift, 2 Stufen transparenter */
.map-shell.map-shell-with-filter .map-filterbar{
  gap:3px 7px!important;
  row-gap:3px!important;
  background:rgba(255,255,255,.52)!important;
  border-color:rgba(16,31,56,.075)!important;
  box-shadow:0 12px 28px rgba(16,31,56,.105)!important;
}

.map-shell.map-shell-with-filter .map-search-field,
.map-shell.map-shell-with-filter .map-search-row,
.map-shell.map-shell-with-filter .map-type-control,
.map-shell.map-shell-with-filter .advanced-filters,
.map-shell.map-shell-with-filter .advanced-filters .filter-field{
  margin-top:0!important;
  margin-bottom:0!important;
}

.map-shell.map-shell-with-filter .map-search-row{
  gap:5px!important;
}

.map-shell.map-shell-with-filter .map-type-control,
.map-shell.map-shell-with-filter #categoryFilter{
  margin-top:0!important;
}

@media(max-width:760px){
  .map-shell.map-shell-with-filter .map-filterbar{
    gap:2px 5px!important;
    row-gap:2px!important;
    padding:7px!important;
    background:rgba(255,255,255,.54)!important;
    box-shadow:0 10px 24px rgba(16,31,56,.10)!important;
  }

  .map-shell.map-shell-with-filter .map-search-row{
    gap:5px!important;
  }

  .map-shell.map-shell-with-filter .map-type-control button{
    font-size:10.5px!important;
    padding:0 3px!important;
    letter-spacing:-.02em!important;
  }

  .map-shell.map-shell-with-filter #categoryFilter{
    font-size:10.5px!important;
    padding-left:7px!important;
    padding-right:20px!important;
    letter-spacing:-.02em!important;
  }

  .map-shell.map-shell-with-filter #searchInput{
    font-size:11.5px!important;
  }
}

@media(max-width:390px){
  .map-shell.map-shell-with-filter .map-filterbar{
    gap:1px 4px!important;
    row-gap:1px!important;
    padding:6px!important;
  }

  .map-shell.map-shell-with-filter .map-type-control button,
  .map-shell.map-shell-with-filter #categoryFilter{
    font-size:10px!important;
    letter-spacing:-.03em!important;
  }
}


/* v159: Leaflet-Zoombuttons mobil komplett sichtbar halten */
.map-shell.map-shell-with-filter .leaflet-bottom.leaflet-left{
  bottom:14px!important;
  left:10px!important;
  z-index:950!important;
}

.map-shell.map-shell-with-filter .leaflet-control-zoom{
  margin:0!important;
  overflow:visible!important;
}

.map-shell.map-shell-with-filter .leaflet-control-zoom a{
  width:34px!important;
  height:34px!important;
  line-height:34px!important;
  font-size:20px!important;
}

@media(max-width:760px){
  .map-shell.map-shell-with-filter .leaflet-bottom.leaflet-left{
    bottom:18px!important;
    left:10px!important;
  }

  .map-shell.map-shell-with-filter .leaflet-control-zoom a{
    width:32px!important;
    height:32px!important;
    line-height:32px!important;
    font-size:18px!important;
  }
}

@media(max-width:390px){
  .map-shell.map-shell-with-filter .leaflet-bottom.leaflet-left{
    bottom:20px!important;
    left:8px!important;
  }
}


/* v162: einheitliche Menü-Gruppen auf allen Seiten */
.main-menu-panel .menu-group{
  display:grid;
  gap:6px;
  padding:8px 0;
}

.main-menu-panel .menu-group + .menu-group{
  border-top:1px solid rgba(16,31,56,.08);
}

.main-menu-panel .menu-group-title{
  display:block;
  padding:0 12px 4px;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#718096;
}

.main-menu-panel [hidden]{
  display:none!important;
}


/* v163: Hauptmenü immer über Map/Leaflet/Map-Filter anzeigen */
.appbar,
.site-header,
.topbar,
header.appbar{
  position:relative;
  z-index:9000!important;
}

.main-menu-panel{
  z-index:9500!important;
}

.main-menu-panel[hidden]{
  display:none!important;
}

.map-shell,
.map-shell.map-shell-with-filter,
.leaflet-container,
.leaflet-pane,
.leaflet-map-pane,
.leaflet-control-container{
  z-index:auto;
}

.map-shell.map-shell-with-filter .map-filterbar{
  z-index:1500!important;
}

.map-shell.map-shell-with-filter #mainSearchSuggestions,
.map-shell.map-shell-with-filter .main-search-suggestions{
  z-index:1600!important;
}

.map-shell.map-shell-with-filter .leaflet-bottom.leaflet-left,
.map-shell.map-shell-with-filter .leaflet-control-container{
  z-index:1200!important;
}


/* v164: Footer-Link Luminacci-0- */
.footer-brand a{
  color:inherit;
  text-decoration:none;
}

.footer-brand a:hover{
  text-decoration:underline;
}


/* v167: Mobiles Hauptmenü sicher über Map/Suchblock legen */
.appbar,
.site-header,
.topbar,
header,
header.appbar{
  position:relative!important;
  z-index:50000!important;
  isolation:isolate;
}

.main-menu-panel,
.appbar .main-menu-panel,
.site-header .main-menu-panel,
.topbar .main-menu-panel{
  position:absolute!important;
  z-index:60000!important;
  isolation:isolate;
}

.main-menu-panel:not([hidden]){
  z-index:60000!important;
}

.main-menu-panel[hidden]{
  display:none!important;
}

/* Map und interne Overlays dürfen nie über das Hauptmenü */
.map-shell,
.map-shell.map-shell-with-filter,
.leaflet-container{
  position:relative;
  z-index:1!important;
}

.map-shell.map-shell-with-filter .map-filterbar{
  z-index:1000!important;
}

.map-shell.map-shell-with-filter #mainSearchSuggestions,
.map-shell.map-shell-with-filter .main-search-suggestions{
  z-index:1100!important;
}

.map-shell.map-shell-with-filter .leaflet-control-container,
.map-shell.map-shell-with-filter .leaflet-top,
.map-shell.map-shell-with-filter .leaflet-bottom,
.map-shell.map-shell-with-filter .leaflet-pane,
.map-shell.map-shell-with-filter .leaflet-map-pane,
.map-shell.map-shell-with-filter .leaflet-marker-pane,
.map-shell.map-shell-with-filter .leaflet-popup-pane{
  z-index:auto!important;
}

@media(max-width:760px){
  .appbar,
  .site-header,
  .topbar,
  header,
  header.appbar{
    z-index:70000!important;
  }

  .main-menu-panel,
  .appbar .main-menu-panel,
  .site-header .main-menu-panel,
  .topbar .main-menu-panel{
    z-index:80000!important;
  }

  .map-shell.map-shell-with-filter .map-filterbar{
    z-index:900!important;
  }

  .map-shell.map-shell-with-filter #mainSearchSuggestions,
  .map-shell.map-shell-with-filter .main-search-suggestions{
    z-index:950!important;
  }
}


/* v168: Header/Index/Profile-Feinschliff aus Aufgabenliste */
.brand-logo-link,
.appbar .brand-logo-link,
.appbar .brand,
.brand-logo{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}

.home-link{
  min-width:40px;
  text-align:center;
  font-size:1.15rem;
}

.header-chrysos{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,193,7,.16);
  border:1px solid rgba(255,193,7,.28);
  color:#4d3710;
  font-weight:800;
  font-size:.86rem;
  white-space:nowrap;
}

.home-title-block{
  margin:18px 0 12px;
  padding:0 2px;
}

.home-title-block .eyebrow{
  margin:0 0 4px;
}

.home-title-block h1{
  margin:0;
  font-size:clamp(2rem,5vw,4.2rem);
  line-height:.98;
  letter-spacing:-.045em;
}

.desktop-map-actions.desktop-map-actions-above{
  margin:14px 0 8px!important;
}

.map-shell.map-shell-with-filter .map-filterbar{
  top:12px!important;
}

@media(max-width:760px){
  .header-chrysos{
    display:none!important;
  }
  .home-link{
    min-width:34px;
  }
  .home-title-block{
    margin-top:14px;
  }
  .map-shell.map-shell-with-filter .map-filterbar{
    top:8px!important;
  }
}

.profile-pov-fields{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid rgba(16,31,56,.10);
  border-radius:18px;
  background:rgba(248,251,255,.75);
}

.profile-pov-fields h3{
  margin:0;
}

.top-card-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
}

.map-focus-btn{
  cursor:pointer;
}

@media(max-width:620px){
  .top-card-actions{
    justify-content:flex-start;
  }
}


/* v169: Home-Button nur Desktop, Startseiten-Eyebrow 13Need it entfernt */
@media(max-width:760px){
  .home-link{
    display:none!important;
  }
}

.home-title-block .eyebrow:empty{
  display:none!important;
}


/* v170: Lumi Stufe-1 Assistenz */
.lumi-page-help,
.lumi-assist-box{
  display:grid;
  gap:10px;
  border:1px solid rgba(21,101,192,.16);
  background:linear-gradient(180deg,rgba(240,247,255,.92),rgba(255,255,255,.92));
  border-radius:22px;
  padding:14px;
  box-shadow:0 14px 32px rgba(12,31,61,.08);
}

.lumi-page-help{
  margin:14px 0;
}

.lumi-assist-head{
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
}

.lumi-assist-head strong{
  color:#0d47a1;
  font-size:1.02rem;
}

.lumi-assist-head span{
  color:rgba(15,35,65,.68);
  font-size:.9rem;
}

.lumi-mini-form{
  display:flex;
  gap:8px;
}

.lumi-mini-form input{
  flex:1;
}

.lumi-assist-actions,
.lumi-result-actions,
.lumi-feedback-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.lumi-result{
  display:grid;
  gap:10px;
  padding:12px;
  border-radius:18px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(21,101,192,.10);
}

.lumi-result h4{
  margin:0;
}

.lumi-result p,
.lumi-result ol,
.lumi-result ul{
  margin-top:4px;
  margin-bottom:4px;
}

.lumi-result textarea{
  width:100%;
  resize:vertical;
}

.lumi-question{
  padding:10px;
  border-radius:14px;
  background:rgba(255,243,205,.70);
  border:1px solid rgba(255,193,7,.25);
}

.lumi-feedback-actions button{
  border:1px solid rgba(21,101,192,.18);
  background:#fff;
  border-radius:999px;
  padding:7px 10px;
  cursor:pointer;
}

@media(max-width:760px){
  .lumi-page-help{
    margin:10px 0;
    padding:12px;
  }

  .lumi-mini-form{
    flex-direction:column;
  }
}


/* v177: Lumi Rückfrage-Buttons */
.lumi-choice-row{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
}

.lumi-choice-btn{
  border:1px solid rgba(21,101,192,.25);
  background:#fff;
  color:#0d47a1;
  border-radius:999px;
  padding:6px 9px;
  font-size:.86rem;
  cursor:pointer;
  box-shadow:0 4px 10px rgba(12,31,61,.06);
}

.lumi-choice-btn:hover{
  background:rgba(21,101,192,.08);
}


/* v195 Lumi Spracheingabe */
.lumi-form .lumi-mic{
  border:1px solid var(--border);
  background:var(--surface);
  color:var(--text);
  border-radius:999px;
  width:42px;
  min-width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:var(--shadow-soft);
}
.lumi-form .lumi-mic:hover{transform:translateY(-1px)}
.lumi-form .lumi-mic:disabled{opacity:.45;cursor:not-allowed;transform:none}
.lumi-form .lumi-mic.is-listening{
  outline:3px solid rgba(37,99,235,.18);
  animation:lumiMicPulse 1s ease-in-out infinite;
}
@keyframes lumiMicPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.08)}
}


/* v196 fixes */
.top-item.is-clickable{cursor:pointer}
.top-item.is-clickable:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.top-item.is-clickable:hover{transform:translateY(-1px)}
.detail-overlay .detail-overlay-head,
.detail-back-row{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}
.detail-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}
#watchBtn.is-active,
button.is-active{border-color:var(--accent);box-shadow:0 0 0 3px rgba(37,99,235,.16);font-weight:800}
body:has(dialog[open]) .appbar{filter:saturate(.75);opacity:.72}
body:has(dialog[open]) .appbar::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.28);pointer-events:none}
.all-filter-card{margin-bottom:1rem}
.all-filter-form{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr)) auto auto;gap:.75rem;align-items:end}
.all-filter-form label{display:flex;flex-direction:column;gap:.35rem;font-weight:700}
.all-filter-form input,.all-filter-form select{width:100%}
.poll-wizard-step[data-step="4"],
.poll-wizard-step[data-step="5"],
.poll-question-list,
.poll-preview{width:min(100%,760px);margin-inline:auto}
.poll-wizard-step[data-step="4"] .poll-question,
.poll-wizard-step[data-step="5"] .poll-preview{margin-inline:auto}
.sheet .overlay-back-btn{margin-bottom:.75rem}
@media (max-width:900px){
  .all-filter-form{grid-template-columns:1fr}
}


/* v199: optimiertes Leak/Poll Detail-Overlay */
.detail-overlay-v199{
  border:0;
  padding:0;
  width:min(760px, calc(100vw - 32px));
  max-width:760px;
  max-height:min(82vh, 820px);
  border-radius:28px;
  background:transparent;
  color:var(--text);
  box-shadow:none;
  overflow:visible;
}
.detail-overlay-v199::backdrop{
  background:rgba(15,23,42,.48);
  backdrop-filter:blur(6px);
}
.detail-sheet-card{
  background:var(--surface);
  color:var(--text);
  border:1px solid var(--border);
  border-radius:28px;
  box-shadow:0 28px 80px rgba(15,23,42,.32);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  max-height:min(82vh, 820px);
}
.detail-sheet-head{
  display:flex;
  align-items:center;
  gap:.75rem;
  padding:1rem 1.1rem;
  border-bottom:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.78));
  position:sticky;
  top:0;
  z-index:2;
}
.detail-sheet-head .badge{
  margin-left:auto;
}
.detail-back-action{
  min-height:40px;
  border-radius:999px;
}
.detail-close-x{
  width:42px;
  height:42px;
  min-width:42px;
  border-radius:999px;
  border:1px solid var(--border);
  background:var(--surface);
  color:var(--text);
  font-size:1.35rem;
  line-height:1;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.detail-close-x:hover{transform:translateY(-1px)}
.detail-sheet-body{
  padding:1.35rem 1.5rem 1.1rem;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.detail-kicker{
  margin:0 0 .45rem;
  color:var(--muted);
  font-weight:800;
  letter-spacing:.02em;
}
.detail-sheet-body h2{
  margin:.15rem 0 1rem;
  font-size:clamp(1.35rem, 2.4vw, 2rem);
  line-height:1.12;
}
.detail-meta-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.75rem;
  margin:0 0 1rem;
}
.detail-meta-grid span{
  display:flex;
  flex-direction:column;
  gap:.2rem;
  padding:.75rem;
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--bg-soft);
  min-width:0;
  overflow-wrap:anywhere;
}
.detail-meta-grid b{
  font-size:.78rem;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.04em;
}
.detail-description{
  white-space:pre-wrap;
  line-height:1.55;
  padding:1rem;
  border-radius:20px;
  background:var(--bg-soft);
  border:1px solid var(--border);
  overflow-wrap:anywhere;
}
.detail-sheet-actions{
  display:flex;
  gap:.75rem;
  padding:1rem 1.5rem 1.25rem;
  border-top:1px solid var(--border);
  background:var(--surface);
  position:sticky;
  bottom:0;
  z-index:2;
}
.detail-sheet-actions .primary,
.detail-sheet-actions .secondary{
  min-height:46px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  flex:1;
  color:inherit;
}
.detail-sheet-actions .primary{
  color:#fff;
}
.detail-sheet-actions .secondary{
  background:var(--surface);
  color:var(--text);
  border:1px solid var(--border);
}
.detail-overlay-v199.is-poll .detail-sheet-card{
  border-top:5px solid var(--poll, #7c3aed);
}
.detail-overlay-v199.is-leak .detail-sheet-card{
  border-top:5px solid var(--leak, #2563eb);
}

@media (max-width:720px){
  .detail-overlay-v199{
    width:100vw;
    max-width:none;
    max-height:100dvh;
    height:100dvh;
    margin:0;
    border-radius:0;
  }
  .detail-sheet-card{
    min-height:100dvh;
    max-height:100dvh;
    border-radius:0;
    border-left:0;
    border-right:0;
    border-bottom:0;
  }
  .detail-sheet-head{
    padding:.85rem .85rem;
  }
  .detail-sheet-body{
    padding:1rem .95rem;
    flex:1;
  }
  .detail-meta-grid{
    grid-template-columns:1fr;
    gap:.55rem;
  }
  .detail-sheet-actions{
    flex-direction:column;
    padding:.85rem .95rem calc(.95rem + env(safe-area-inset-bottom));
  }
  .detail-sheet-actions .primary,
  .detail-sheet-actions .secondary{
    width:100%;
    min-height:50px;
  }
}


/* v200 header home icon + poll overlay actions */
.header-home-btn{
  min-width:42px;
  width:42px;
  min-height:42px;
  height:42px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
}
.header-home-btn span[aria-hidden="true"]{
  font-size:1.25rem;
  line-height:1;
}
.detail-overlay-v199.is-poll .detail-primary-action{
  background:var(--poll, #7c3aed);
  border-color:var(--poll, #7c3aed);
  color:#fff;
}
.detail-overlay-v199.is-leak .detail-primary-action{
  background:var(--leak, #2563eb);
  border-color:var(--leak, #2563eb);
  color:#fff;
}


/* v201 about page */
.about-page{
  background:
    radial-gradient(circle at top left, rgba(37,99,235,.12), transparent 34rem),
    radial-gradient(circle at 85% 10%, rgba(124,58,237,.12), transparent 28rem),
    var(--bg);
}
.about-main{
  width:min(1180px, calc(100% - 32px));
  margin:0 auto;
  padding:2rem 0 4rem;
}
.about-hero{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.7fr);
  gap:1.4rem;
  align-items:stretch;
  margin-bottom:1.3rem;
}
.about-hero-text,
.about-section,
.about-cta,
.about-hero-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:30px;
  box-shadow:var(--shadow-soft);
}
.about-hero-text{
  padding:clamp(1.4rem,3vw,2.5rem);
}
.about-hero h1{
  font-size:clamp(2rem,4.2vw,4rem);
  line-height:1.02;
  margin:.25rem 0 1rem;
  letter-spacing:-.05em;
}
.about-hero p,
.about-section p,
.about-cta p{
  line-height:1.62;
}
.about-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
  margin-top:1.2rem;
}
.about-actions .linkbtn{
  min-height:46px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.about-hero-card{
  padding:1.3rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:.75rem;
  background:linear-gradient(145deg, rgba(37,99,235,.12), rgba(124,58,237,.12)), var(--surface);
}
.about-hero-card span,
.about-hero-card small{
  color:var(--muted);
  font-weight:700;
}
.about-hero-card b{
  font-size:clamp(1.4rem,2.8vw,2.2rem);
  line-height:1.1;
}
.about-section{
  padding:clamp(1.2rem,2.4vw,2rem);
  margin:1rem 0;
}
.about-section-head{
  max-width:820px;
  margin-bottom:1rem;
}
.about-section-head h2,
.about-winwin h2,
.about-beta h2,
.about-cta h2{
  font-size:clamp(1.55rem,3vw,2.45rem);
  line-height:1.08;
  margin:.2rem 0 .7rem;
  letter-spacing:-.03em;
}
.about-point-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.85rem;
}
.about-point-grid article{
  border:1px solid var(--border);
  background:var(--bg-soft);
  border-radius:22px;
  padding:1rem;
  display:flex;
  flex-direction:column;
  gap:.35rem;
}
.about-point-grid strong{
  font-size:1.05rem;
}
.about-point-grid span{
  color:var(--muted);
  line-height:1.45;
}
.about-point-grid.compact{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.about-sentence{
  margin:1rem 0 0;
  padding:1rem;
  border-radius:20px;
  background:linear-gradient(90deg, rgba(37,99,235,.10), rgba(124,58,237,.08));
  font-weight:800;
}
.about-list-card{
  border:1px solid var(--border);
  border-radius:24px;
  padding:1.2rem;
  background:var(--bg-soft);
}
.about-list-card ul,
.about-compare-card ul{
  margin:.75rem 0;
  padding-left:1.2rem;
  line-height:1.6;
}
.about-compare-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.about-compare-card{
  border:1px solid var(--border);
  border-radius:26px;
  padding:1.2rem;
  background:var(--bg-soft);
  display:flex;
  flex-direction:column;
  gap:.55rem;
}
.about-compare-card h3{
  margin:.2rem 0;
  font-size:1.35rem;
}
.about-compare-card p{
  margin:.15rem 0;
}
.about-compare-card > strong{
  margin-top:auto;
  display:block;
  padding:.9rem;
  border-radius:18px;
  background:var(--surface);
  border:1px solid var(--border);
}
.about-icon{
  width:48px;
  height:48px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:var(--surface);
  border:1px solid var(--border);
  font-size:1.35rem;
}
.about-flow{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  gap:.75rem;
  align-items:center;
  margin:1rem 0;
}
.about-flow div{
  border:1px solid var(--border);
  border-radius:24px;
  background:var(--bg-soft);
  padding:1rem;
  min-height:110px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:.35rem;
}
.about-flow b{
  font-size:1.08rem;
}
.about-flow span{
  color:var(--muted);
  line-height:1.4;
}
.about-flow i{
  font-style:normal;
  font-size:1.8rem;
  color:var(--muted);
}
.about-path-grid{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin:.8rem 0;
}
.about-path-grid span{
  border:1px solid var(--border);
  background:var(--surface);
  border-radius:999px;
  padding:.55rem .8rem;
  font-weight:700;
}
.about-winwin{
  background:linear-gradient(145deg, rgba(37,99,235,.09), rgba(34,197,94,.08)), var(--surface);
}
.about-not{
  background:linear-gradient(145deg, rgba(15,23,42,.03), rgba(239,68,68,.06)), var(--surface);
}
.about-beta{
  border-style:dashed;
}
.about-cta{
  padding:clamp(1.4rem,3vw,2.3rem);
  margin-top:1rem;
  text-align:center;
  background:linear-gradient(145deg, rgba(37,99,235,.12), rgba(124,58,237,.12)), var(--surface);
}
.about-cta .about-actions{
  justify-content:center;
}
@media (max-width:960px){
  .about-hero,
  .about-compare-grid,
  .about-point-grid,
  .about-point-grid.compact{
    grid-template-columns:1fr;
  }
  .about-flow{
    grid-template-columns:1fr;
  }
  .about-flow i{
    transform:rotate(90deg);
    justify-self:center;
  }
}
@media (max-width:640px){
  .about-main{
    width:min(100% - 20px,1180px);
    padding-top:1rem;
  }
  .about-hero-text,
  .about-section,
  .about-cta,
  .about-hero-card{
    border-radius:22px;
  }
  .about-actions{
    flex-direction:column;
  }
  .about-actions .linkbtn{
    width:100%;
  }
}


/* v206 planned header click fix */
.planned-menu-fix-page .appbar{
  position:sticky;
  top:0;
  z-index:10000;
  pointer-events:auto;
}
.planned-menu-fix-page .appbar *,
.planned-menu-fix-page .access-panel,
.planned-menu-fix-page .main-menu-panel{
  pointer-events:auto;
}
.planned-menu-fix-page .main-menu-panel{
  z-index:10020;
}
.planned-menu-fix-page .about-main{
  position:relative;
  z-index:1;
}


/* v207 planned about visual reset: gleiche App-Farbwelt wie andere Seiten */
.about-page{
  background:var(--bg)!important;
}
.about-hero-text,
.about-section,
.about-cta,
.about-hero-card,
.about-list-card,
.about-compare-card,
.about-flow div{
  background:var(--surface)!important;
  border-color:var(--border)!important;
  box-shadow:var(--shadow-soft);
}
.about-hero-card,
.about-winwin,
.about-not,
.about-cta{
  background:var(--surface)!important;
}
.about-sentence{
  background:var(--bg-soft)!important;
  border:1px solid var(--border);
}
.about-point-grid article,
.about-meta-grid span,
.about-path-grid span,
.about-compare-card > strong{
  background:var(--bg-soft)!important;
  border-color:var(--border)!important;
}
.about-icon{
  background:var(--surface)!important;
  border-color:var(--border)!important;
}
.planned-menu-fix-page .access-panel{
  position:fixed!important;
  right:14px!important;
  top:78px!important;
  z-index:10010!important;
  width:auto!important;
  max-width:min(320px, calc(100vw - 28px))!important;
}


/* v208: Leak-Overlay Desktop-Layout korrigiert */
#reportSheet.report-leak #sharedReportFieldsAnchor{
  display:none;
}
#reportSheet.report-leak #sharedReportFields{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px 18px;
  align-items:start;
}
#reportSheet.report-leak #sharedReportFields > .photo-tile,
#reportSheet.report-leak #sharedReportFields > .photo-feedback,
#reportSheet.report-leak #sharedReportFields > label,
#reportSheet.report-leak #sharedReportFields > .compact-section,
#reportSheet.report-leak #sharedReportFields > .two{
  margin:0;
}
#reportSheet.report-leak #sharedReportFields > .photo-tile,
#reportSheet.report-leak #sharedReportFields > label:has(#descriptionLabel),
#reportSheet.report-leak #sharedReportFields > .location-section,
#reportSheet.report-leak #sharedReportFields > label:has(#addressLabel),
#reportSheet.report-leak #sharedReportFields > .two{
  grid-column:1 / -1;
}
@media (max-width: 900px){
  #reportSheet.report-leak #sharedReportFields{
    grid-template-columns:1fr;
    gap:12px;
  }
}


/* v317: Leak-Level bleiben Leak-Marker, werden nur über Rand/Glow auffälliger. Kein Blau, damit Poll-Pins klar unterscheidbar bleiben. */
.need-marker.leak-marker.leak-level-local span,
.need-marker.leak-marker.leak-level-bronze span{box-shadow:0 0 0 2px rgba(142,86,46,.35),0 0 12px rgba(142,86,46,.25);}
.need-marker.leak-marker.leak-level-sunshine span,
.need-marker.leak-marker.leak-level-silver span{box-shadow:0 0 0 3px rgba(174,181,190,.58),0 0 18px rgba(174,181,190,.38);}
.need-marker.leak-marker.leak-level-group span,
.need-marker.leak-marker.leak-level-gold span{box-shadow:0 0 0 4px rgba(255,193,7,.55),0 0 22px rgba(255,193,7,.42);}
.need-marker.leak-marker.leak-level-signal span,
.need-marker.leak-marker.leak-level-platinum span{box-shadow:0 0 0 4px rgba(190,196,203,.72),0 0 24px rgba(255,255,255,.48),0 0 32px rgba(120,130,140,.25);}
.need-marker.leak-marker.leak-level-spotlight span,
.need-marker.leak-marker.leak-level-diamond span{box-shadow:0 0 0 5px rgba(125,218,205,.62),0 0 28px rgba(125,218,205,.46),0 0 42px rgba(255,255,255,.34);}
.need-marker.leak-marker.leak-level-regional-signal span,
.need-marker.leak-marker.leak-level-rubin span{box-shadow:0 0 0 5px rgba(198,40,40,.52),0 0 28px rgba(198,40,40,.38);}
.leak-status-box .notice{margin:.5rem 0;padding:.65rem .8rem;border-radius:14px}
.leak-status-box .notice.ok{background:rgba(46,125,50,.1)}
.leak-status-box .notice.warn{background:rgba(245,124,0,.12)}


.similar-leak-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin:.75rem 0}
.similar-leak-actions .linkbtn,.similar-leak-actions button{margin:0}


.notification-toggle{position:relative}
.notification-badge,.menu-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:999px;background:#d32f2f;color:#fff;font-size:.75rem;font-weight:800;line-height:1}
.notification-toggle .notification-badge{position:absolute;top:-.35rem;right:-.35rem}
.notification-panel{border:0;border-radius:24px;padding:0;max-width:min(540px,92vw);width:540px}
.notification-panel::backdrop{background:rgba(0,0,0,.35)}
.notification-card{padding:1rem;background:var(--card,#fff);color:var(--text,#172033)}
.notification-card header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}
.notification-list{display:grid;gap:.65rem;max-height:60vh;overflow:auto}
.notification-item{display:grid;gap:.25rem;border:1px solid rgba(120,130,150,.25);border-radius:16px;padding:.75rem;background:rgba(255,255,255,.7);cursor:pointer}
.notification-item.is-unread{border-color:rgba(25,118,210,.45);box-shadow:0 0 0 3px rgba(25,118,210,.08)}
.notification-item span{font-size:.95rem}
.notification-item small{opacity:.72}
.notification-card footer{margin-top:.9rem;display:flex;justify-content:flex-end}


.chryso-balance{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:38px;
  padding:0;
  border-radius:18px;
  background:transparent;
  overflow:visible;
}
.chryso-balance img{
  width:36px;
  height:36px;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 3px 6px rgba(0,0,0,.18));
}
.chryso-balance strong{
  position:absolute;
  right:-7px;
  bottom:-3px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  background:rgba(10,32,38,.92);
  color:#fff;
  font-size:.72rem;
  line-height:18px;
  text-align:center;
  font-weight:900;
  box-shadow:0 2px 8px rgba(0,0,0,.2);
}


/* v257: Header-Klicks zentral absichern
   Der Header muss immer über Karten-, Detail-, Info- und Dialog-Hilfslayern liegen.
   Frühere Spezialregeln hatten .appbar teils wieder auf relative gesetzt; dadurch konnten
   unsichtbare Inhaltslayer Klicks auf Menü, Chryso, Glocke und Barrierefreiheit abfangen. */
html body > header.appbar,
html body > .appbar{
  position:fixed!important;
  left:0!important;
  right:0!important;
  top:0!important;
  transform:none!important;
  z-index:2147483000!important;
  isolation:isolate!important;
  pointer-events:auto!important;
}
html body > header.appbar *,
html body > .appbar *{
  pointer-events:auto!important;
}
html body > .access-panel,
html body > #accessPanel{
  position:fixed!important;
  z-index:2147483001!important;
  pointer-events:auto!important;
}
html body > .appbar .main-menu-panel,
html body > header.appbar .main-menu-panel,
html body #mainMenuPanel{
  z-index:2147483002!important;
  pointer-events:auto!important;
}
html body > main{
  padding-top:calc(20px + 72px)!important;
}
@media (min-width:761px){
  html body > header.appbar,
  html body > .appbar{
    top:14px!important;
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    width:calc(100% - 32px)!important;
    max-width:1120px!important;
  }
  html body > main{
    padding-top:118px!important;
  }
  html body > .access-panel,
  html body > #accessPanel{
    top:112px!important;
  }
}
@media (max-width:760px){
  html body > header.appbar,
  html body > .appbar{
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:none!important;
    transform:none!important;
  }
  html body > main{
    padding-top:calc(18px + 66px)!important;
  }
  html body > .access-panel,
  html body > #accessPanel{
    top:70px!important;
  }
}


/* v257: Header-Klickfläche endgültig entkoppeln
   Nicht nur z-index erhöhen: Menü- und A11y-Panel werden als fixed Layer behandelt,
   damit kein alter Map-/Content-/Detail-Stacking-Context Klicks abfangen kann. */
html body .appbar,
html body header.appbar{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  max-width:none!important;
  min-height:66px!important;
  transform:none!important;
  z-index:2147483600!important;
  isolation:auto!important;
  pointer-events:auto!important;
}
html body .appbar::before,
html body .appbar::after,
html body header.appbar::before,
html body header.appbar::after{
  pointer-events:none!important;
}
html body .appbar nav,
html body .appbar .main-menu-wrap,
html body .appbar .main-menu-toggle,
html body .appbar .access-toggle,
html body .appbar .notification-toggle,
html body .appbar .header-chrysos,
html body .appbar .home-link,
html body .appbar .adminLink{
  position:relative!important;
  z-index:2147483602!important;
  pointer-events:auto!important;
}
html body #mainMenuPanel{
  pointer-events:auto!important;
}
html body #mainMenuPanel:not([hidden]){
  display:grid!important;
  position:fixed!important;
  top:76px!important;
  right:14px!important;
  width:min(300px,calc(100vw - 28px))!important;
  max-height:calc(100vh - 92px)!important;
  overflow:auto!important;
  z-index:2147483620!important;
  isolation:auto!important;
}
html body #accessPanel:not([hidden]),
html body .access-panel:not([hidden]){
  display:grid!important;
  position:fixed!important;
  top:76px!important;
  right:14px!important;
  width:min(330px,calc(100vw - 28px))!important;
  max-height:calc(100vh - 92px)!important;
  overflow:auto!important;
  z-index:2147483615!important;
  isolation:auto!important;
  pointer-events:auto!important;
}
html body .notification-panel[open],
html body #notificationPanel[open]{
  z-index:2147483630!important;
}
html body > main{
  padding-top:calc(20px + 72px)!important;
}
@media (min-width:761px){
  html body .appbar,
  html body header.appbar{
    top:14px!important;
    left:50%!important;
    right:auto!important;
    width:calc(100% - 32px)!important;
    max-width:1120px!important;
    transform:translateX(-50%)!important;
    border-radius:24px!important;
  }
  html body #mainMenuPanel:not([hidden]){
    top:96px!important;
    right:max(16px,calc((100vw - 1120px) / 2 + 16px))!important;
  }
  html body #accessPanel:not([hidden]),
  html body .access-panel:not([hidden]){
    top:96px!important;
    right:max(16px,calc((100vw - 1120px) / 2 + 16px))!important;
  }
  html body > main{
    padding-top:118px!important;
  }
}
@media (max-width:760px){
  html body .appbar,
  html body header.appbar{
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:none!important;
    transform:none!important;
    border-radius:0!important;
  }
  html body #mainMenuPanel:not([hidden]){
    top:68px!important;
    right:10px!important;
    left:auto!important;
    width:min(300px,calc(100vw - 20px))!important;
  }
  html body #accessPanel:not([hidden]),
  html body .access-panel:not([hidden]){
    top:68px!important;
    right:10px!important;
    left:auto!important;
    width:min(330px,calc(100vw - 20px))!important;
  }
  html body > main{
    padding-top:84px!important;
  }
}

/* v257: Header-Layer korrigiert
   v255 machte das Menü als fixed Layer klickbar, aber löste es optisch vom Menü-Button.
   Jetzt bleibt der Header oben und klickbar, aber das Hauptmenü hängt wieder am Button wie vorher. */
html body .appbar,
html body header.appbar{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  max-width:none!important;
  z-index:2147483000!important;
  isolation:isolate!important;
  pointer-events:auto!important;
}
html body .appbar nav,
html body .appbar .main-menu-wrap,
html body .appbar .main-menu-toggle,
html body .appbar .access-toggle,
html body .appbar .notification-toggle,
html body .appbar .header-chrysos,
html body .appbar .home-link,
html body .appbar .adminLink{
  position:relative!important;
  z-index:2147483002!important;
  pointer-events:auto!important;
}
html body #mainMenuWrap{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
}
html body #mainMenuPanel,
html body #mainMenuPanel:not([hidden]){
  position:absolute!important;
  top:calc(100% + 10px)!important;
  right:0!important;
  left:auto!important;
  width:260px!important;
  max-width:calc(100vw - 24px)!important;
  max-height:calc(100vh - 90px)!important;
  overflow:auto!important;
  z-index:2147483010!important;
  isolation:isolate!important;
  pointer-events:auto!important;
}
html body #mainMenuPanel[hidden]{
  display:none!important;
}
html body .header-chrysos:not([hidden]){
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
}
html body .notification-toggle:not([hidden]){
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  visibility:visible!important;
  opacity:1!important;
}
html body #accessPanel:not([hidden]),
html body .access-panel:not([hidden]){
  position:fixed!important;
  top:76px!important;
  right:14px!important;
  left:auto!important;
  width:min(330px,calc(100vw - 28px))!important;
  max-height:calc(100vh - 92px)!important;
  overflow:auto!important;
  z-index:2147483020!important;
  pointer-events:auto!important;
}
html body .notification-panel[open],
html body #notificationPanel[open]{
  z-index:2147483030!important;
}
html body > main{
  padding-top:calc(20px + 72px)!important;
}
@media (min-width:761px){
  html body .appbar,
  html body header.appbar{
    top:14px!important;
    left:50%!important;
    right:auto!important;
    width:calc(100% - 32px)!important;
    max-width:1120px!important;
    transform:translateX(-50%)!important;
    border-radius:24px!important;
  }
  html body > main{padding-top:118px!important;}
  html body #accessPanel:not([hidden]),
  html body .access-panel:not([hidden]){
    top:96px!important;
    right:max(16px,calc((100vw - 1120px) / 2 + 16px))!important;
  }
}
@media (max-width:760px){
  html body .appbar,
  html body header.appbar{
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:none!important;
    transform:none!important;
    border-radius:0!important;
  }
  html body #mainMenuPanel,
  html body #mainMenuPanel:not([hidden]){
    top:calc(100% + 8px)!important;
    right:0!important;
    width:min(280px,calc(100vw - 20px))!important;
  }
  html body #accessPanel:not([hidden]),
  html body .access-panel:not([hidden]){
    top:68px!important;
    right:10px!important;
    width:min(330px,calc(100vw - 20px))!important;
  }
  html body .header-chrysos:not([hidden]){
    display:inline-flex!important;
  }
  html body > main{padding-top:84px!important;}
}


/* v264: Header-Statistik und Notification-Badge optisch vereinheitlichen */
html body .top-stats .stat-users{
  color:#172033!important;
}
html body .top-stats .stat-users .stat-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:1.05em!important;
  line-height:1!important;
  margin-right:1px!important;
}
html body .top-stats .stat-users strong{
  color:#172033!important;
}
html body .notification-toggle{
  position:relative!important;
  min-width:40px!important;
  min-height:40px!important;
  overflow:visible!important;
}
html body .notification-toggle .notification-badge{
  position:absolute!important;
  top:auto!important;
  right:-7px!important;
  bottom:-3px!important;
  min-width:18px!important;
  height:18px!important;
  padding:0 5px!important;
  border-radius:999px!important;
  background:rgba(10,32,38,.92)!important;
  color:#fff!important;
  font-size:.72rem!important;
  line-height:18px!important;
  text-align:center!important;
  font-weight:900!important;
  box-shadow:0 2px 8px rgba(0,0,0,.2)!important;
  border:0!important;
}
@media(max-width:760px){
  html body .top-stats .stat-users .stat-icon{font-size:1em!important;margin-right:0!important;}
  html body .notification-toggle .notification-badge{right:-5px!important;bottom:-2px!important;}
}

/* v264: Nutzer-Zahl wie Chryso/Benachrichtigungen als Badge unten rechts am Icon */
html body .top-stats .stat-users.stat-icon-badge{
  position:relative!important;
  display:inline-grid!important;
  place-items:center!important;
  min-width:34px!important;
  height:34px!important;
  padding:0!important;
  overflow:visible!important;
  gap:0!important;
}
html body .top-stats .stat-users.stat-icon-badge .stat-icon{
  margin:0!important;
  font-size:1.2rem!important;
  line-height:1!important;
}
html body .top-stats .stat-users.stat-icon-badge .stat-badge{
  position:absolute!important;
  top:auto!important;
  right:-7px!important;
  bottom:-4px!important;
  min-width:18px!important;
  height:18px!important;
  padding:0 5px!important;
  border-radius:999px!important;
  background:rgba(10,32,38,.92)!important;
  color:#fff!important;
  font-size:.72rem!important;
  line-height:18px!important;
  text-align:center!important;
  font-weight:900!important;
  box-shadow:0 2px 8px rgba(0,0,0,.2)!important;
  border:0!important;
}
@media(max-width:760px){
  html body .top-stats .stat-users.stat-icon-badge{
    min-width:30px!important;
    height:30px!important;
  }
  html body .top-stats .stat-users.stat-icon-badge .stat-icon{
    font-size:1.05rem!important;
  }
  html body .top-stats .stat-users.stat-icon-badge .stat-badge{
    right:-5px!important;
    bottom:-3px!important;
    min-width:16px!important;
    height:16px!important;
    padding:0 4px!important;
    font-size:.66rem!important;
    line-height:16px!important;
  }
}

/* v264: Chryso-Icon wieder transparent und im gleichen grauen Icon-Kästchen wie Nutzer/Glocke */
html body .appbar .chryso-balance,
html body .header-chrysos.chryso-balance,
html body .chryso-balance{
  background:var(--neutral-soft,#eef5ff)!important;
  border:1px solid var(--neutral-line,#dbe9ff)!important;
  border-radius:999px!important;
  box-shadow:none!important;
}
html body .chryso-balance img{
  background:transparent!important;
}

/* v264: Header-Icon-Kacheln endgültig vereinheitlichen
   Nutzer, Chrysos und Benachrichtigungen verwenden jetzt exakt denselben Rahmen.
   Die Zahl bleibt bei allen drei Elementen als Badge unten rechts. */
html body .appbar .notification-toggle,
html body .appbar .header-chrysos.chryso-balance,
html body .top-stats .stat-users.stat-icon-badge{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:40px!important;
  min-width:40px!important;
  max-width:40px!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  padding:0!important;
  margin:0!important;
  gap:0!important;
  border-radius:14px!important;
  background:var(--neutral-soft,#eef5ff)!important;
  border:1px solid var(--neutral-line,#dbe9ff)!important;
  color:#172033!important;
  box-shadow:none!important;
  overflow:visible!important;
  line-height:1!important;
}
html body .appbar .notification-toggle:hover,
html body .appbar .header-chrysos.chryso-balance:hover,
html body .top-stats .stat-users.stat-icon-badge:hover{
  background:var(--neutral-hover,#e6eef8)!important;
}
html body .top-stats .stat-users.stat-icon-badge .stat-icon,
html body .appbar .notification-toggle{
  font-size:1.18rem!important;
}
html body .appbar .chryso-balance img{
  width:30px!important;
  height:30px!important;
  object-fit:contain!important;
  background:transparent!important;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.16))!important;
}
html body .top-stats .stat-users.stat-icon-badge .stat-badge,
html body .appbar .chryso-balance strong,
html body .appbar .notification-toggle .notification-badge{
  position:absolute!important;
  top:auto!important;
  right:-6px!important;
  bottom:-5px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:18px!important;
  height:18px!important;
  padding:0 5px!important;
  border-radius:999px!important;
  background:rgba(10,32,38,.92)!important;
  color:#fff!important;
  font-size:.72rem!important;
  line-height:18px!important;
  text-align:center!important;
  font-weight:900!important;
  box-shadow:0 2px 8px rgba(0,0,0,.2)!important;
  border:0!important;
}
html body .appbar .notification-toggle .notification-badge[hidden]{
  display:none!important;
}
@media(max-width:760px){
  html body .appbar .notification-toggle,
  html body .appbar .header-chrysos.chryso-balance,
  html body .top-stats .stat-users.stat-icon-badge{
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    border-radius:13px!important;
  }
  html body .appbar .chryso-balance img{width:27px!important;height:27px!important;}
  html body .top-stats .stat-users.stat-icon-badge .stat-icon,
  html body .appbar .notification-toggle{font-size:1.05rem!important;}
  html body .top-stats .stat-users.stat-icon-badge .stat-badge,
  html body .appbar .chryso-balance strong,
  html body .appbar .notification-toggle .notification-badge{
    right:-5px!important;
    bottom:-4px!important;
    min-width:16px!important;
    height:16px!important;
    padding:0 4px!important;
    font-size:.66rem!important;
    line-height:16px!important;
  }
}


/* v264: inneren Nutzer-Rahmen entfernen
   .top-stats span trifft auch verschachtelte span-Elemente.
   Dadurch bekam das Nutzer-Icon nach v263 innen nochmal den alten Pillen-Rahmen. */
html body .top-stats .stat-users.stat-icon-badge > .stat-icon{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  margin:0!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  box-shadow:none!important;
  color:#172033!important;
}
body.a11y-dark html body .top-stats .stat-users.stat-icon-badge > .stat-icon,
body.a11y-dark .top-stats .stat-users.stat-icon-badge > .stat-icon{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#f8fbff!important;
}

/* v264: Home + Barrierefreiheit direkt links neben Menü, alle Header-Iconbuttons einheitlich */
html body .appbar nav{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}
html body .appbar .header-home-btn,
html body .appbar .access-toggle,
html body .appbar .main-menu-toggle{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:40px!important;
  min-width:40px!important;
  max-width:40px!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  padding:0!important;
  margin:0!important;
  border-radius:14px!important;
  background:var(--neutral-soft,#eef5ff)!important;
  border:1px solid var(--neutral-line,#dbe9ff)!important;
  color:#172033!important;
  box-shadow:none!important;
  line-height:1!important;
  overflow:visible!important;
}
html body .appbar .header-home-btn:hover,
html body .appbar .access-toggle:hover,
html body .appbar .main-menu-toggle:hover{
  background:var(--neutral-hover,#e6eef8)!important;
}
html body .appbar .header-home-btn .header-icon-svg{
  width:23px!important;
  height:23px!important;
  display:block!important;
  fill:currentColor!important;
}
html body .appbar .header-home-btn .header-icon-svg path:first-child{
  stroke:none!important;
}
html body .appbar .header-home-btn .header-icon-svg path:last-child{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.1!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
html body .appbar .access-toggle{
  font-size:1.15rem!important;
}
html body .appbar .main-menu-toggle .hamburger-icon{
  width:20px!important;
  height:15px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  align-items:stretch!important;
}
html body .appbar .main-menu-toggle .hamburger-icon span{
  display:block!important;
  width:100%!important;
  height:2.4px!important;
  border-radius:999px!important;
  background:currentColor!important;
}
@media(max-width:760px){
  html body .appbar nav{gap:6px!important;}
  html body .appbar .header-home-btn,
  html body .appbar .access-toggle,
  html body .appbar .main-menu-toggle{
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    border-radius:13px!important;
  }
  html body .appbar .header-home-btn .header-icon-svg{width:21px!important;height:21px!important;}
  html body .appbar .access-toggle{font-size:1.05rem!important;}
  html body .appbar .main-menu-toggle .hamburger-icon{width:18px!important;height:14px!important;}
}
body.a11y-dark .appbar .header-home-btn,
body.a11y-dark .appbar .access-toggle,
body.a11y-dark .appbar .main-menu-toggle{
  background:#19283a!important;
  color:#fff!important;
  border-color:#49627f!important;
}
/* v266: Mobile-Logo-Platzhalter entfernt. Es gibt wieder nur ein echtes Logo-Bild. */
html body .appbar .brand-logo-link{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
html body .appbar .brand-logo-mobile,
html body .appbar .brand-logo-spacer,
html body .appbar .mobile-logo-placeholder{
  display:none!important;
  width:0!important;
  max-width:0!important;
  min-width:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}


/* v266: Mobiles Logo wieder aktiv, aber ohne rechten weißen Platzhalterbereich.
   Desktop nutzt weiterhin das normale Logo; mobil wird nur das schmale Upload-Logo angezeigt. */
html body .appbar .brand-logo-mobile{
  display:none!important;
}
@media(max-width:760px){
  html body .appbar .brand-logo-desktop{
    display:none!important;
  }
  html body .appbar .brand-logo-mobile{
    display:block!important;
    height:34px!important;
    width:auto!important;
    max-width:112px!important;
    object-fit:contain!important;
    object-position:left center!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    padding:0!important;
    margin:0!important;
  }
  html body .appbar .brand-logo-link{
    width:auto!important;
    max-width:max-content!important;
    min-width:0!important;
    flex:0 0 auto!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    padding:0!important;
    margin-right:0!important;
  }
  html body .appbar .brand-logo-spacer,
  html body .appbar .mobile-logo-placeholder{
    display:none!important;
    width:0!important;
    max-width:0!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
  }
}
@media(max-width:420px){
  html body .appbar .brand-logo-mobile{
    height:32px!important;
    max-width:104px!important;
  }
}

/* v267: Nutzer/Leaks/Polls im Header als einheitliche Icon-Kacheln mit Badge unten rechts */
html body .top-stats > .stat-icon-badge,
html body .top-stats > .stat-users.stat-icon-badge,
html body .top-stats > .stat-leaks.stat-icon-badge,
html body .top-stats > .stat-polls.stat-icon-badge{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:40px!important;
  min-width:40px!important;
  max-width:40px!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  padding:0!important;
  margin:0!important;
  gap:0!important;
  border-radius:14px!important;
  background:var(--neutral-soft,#eef5ff)!important;
  border:1px solid var(--neutral-line,#dbe9ff)!important;
  color:#172033!important;
  box-shadow:none!important;
  overflow:visible!important;
  line-height:1!important;
}
html body .top-stats > .stat-icon-badge:hover,
html body .top-stats > .stat-leaks.stat-icon-badge:hover,
html body .top-stats > .stat-polls.stat-icon-badge:hover{
  background:var(--neutral-hover,#e6eef8)!important;
}
html body .top-stats > .stat-icon-badge .stat-image{
  width:30px!important;
  height:30px!important;
  object-fit:contain!important;
  display:block!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  margin:0!important;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.14))!important;
}
html body .top-stats > .stat-leaks.stat-icon-badge .stat-image{width:29px!important;height:29px!important;}
html body .top-stats > .stat-polls.stat-icon-badge .stat-image{width:30px!important;height:30px!important;}
html body .top-stats > .stat-icon-badge .stat-badge,
html body .top-stats > .stat-leaks.stat-icon-badge strong,
html body .top-stats > .stat-polls.stat-icon-badge strong{
  position:absolute!important;
  top:auto!important;
  right:-6px!important;
  bottom:-5px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:18px!important;
  height:18px!important;
  padding:0 5px!important;
  border-radius:999px!important;
  background:rgba(10,32,38,.92)!important;
  color:#fff!important;
  font-size:.72rem!important;
  line-height:18px!important;
  text-align:center!important;
  font-weight:900!important;
  box-shadow:0 2px 8px rgba(0,0,0,.2)!important;
  border:0!important;
}
@media(max-width:760px){
  html body .top-stats > .stat-icon-badge,
  html body .top-stats > .stat-users.stat-icon-badge,
  html body .top-stats > .stat-leaks.stat-icon-badge,
  html body .top-stats > .stat-polls.stat-icon-badge{
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    border-radius:13px!important;
  }
  html body .top-stats > .stat-icon-badge .stat-image{width:27px!important;height:27px!important;}
  html body .top-stats > .stat-icon-badge .stat-badge,
  html body .top-stats > .stat-leaks.stat-icon-badge strong,
  html body .top-stats > .stat-polls.stat-icon-badge strong{
    right:-5px!important;
    bottom:-4px!important;
    min-width:16px!important;
    height:16px!important;
    padding:0 4px!important;
    font-size:.66rem!important;
    line-height:16px!important;
  }
}

/* v267: Leaflet-Marker nutzen die echten Leak-/Poll-Icons statt L/P-Kreis. */
html body .leaflet-marker-icon.need-image-marker{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  object-fit:contain!important;
  filter:drop-shadow(0 5px 8px rgba(15,23,42,.28))!important;
}
html body .leaflet-marker-icon.need-image-marker.leak-marker{
  border-radius:999px!important;
}

/* v267: Chrysos und Benachrichtigungen bei Gästen zuverlässig ausblenden. */
html body .appbar [data-nav-user][hidden],
html body .appbar .header-chrysos[hidden],
html body .appbar .notification-toggle[hidden]{
  display:none!important;
}


/* v269: Mobile Header zurück auf v267-Einzeile; nur Clipping/unsichtbarer Top-Stats-Wrapper korrigieren.
   Kein zweizeiliger Header: Die Nutzer/Leak/Poll-Kacheln bleiben in der normalen Zeile. */
@media(max-width:760px){
  html body .appbar,
  html body header.appbar{
    height:66px!important;
    min-height:66px!important;
    max-height:66px!important;
    overflow:visible!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
  }
  html body .top-stats{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    gap:4px!important;
    margin-left:4px!important;
    margin-right:3px!important;
    padding:0!important;
    justify-content:flex-start!important;
    align-items:center!important;
    white-space:nowrap!important;
  }
  html body .top-stats > .stat-icon-badge,
  html body .top-stats > .stat-users.stat-icon-badge,
  html body .top-stats > .stat-leaks.stat-icon-badge,
  html body .top-stats > .stat-polls.stat-icon-badge{
    flex:0 0 36px!important;
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    overflow:visible!important;
  }
  html body .appbar nav{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    overflow:visible!important;
    gap:5px!important;
    flex-wrap:nowrap!important;
  }
  html body .appbar .brand-logo-link{
    flex:0 0 auto!important;
    overflow:visible!important;
    margin-right:0!important;
  }
  html body .appbar .brand-logo-mobile{
    height:32px!important;
    max-width:98px!important;
  }
  html body .appbar .notification-toggle,
  html body .appbar .header-chrysos.chryso-balance,
  html body .appbar .header-home-btn,
  html body .appbar .access-toggle,
  html body .appbar .main-menu-toggle{
    flex:0 0 36px!important;
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    overflow:visible!important;
  }
  html body > main{
    padding-top:84px!important;
  }
}
@media(max-width:390px){
  html body .top-stats{gap:3px!important;margin-left:3px!important;margin-right:2px!important;}
  html body .appbar nav{gap:4px!important;}
  html body .top-stats > .stat-icon-badge,
  html body .top-stats > .stat-users.stat-icon-badge,
  html body .top-stats > .stat-leaks.stat-icon-badge,
  html body .top-stats > .stat-polls.stat-icon-badge,
  html body .appbar .notification-toggle,
  html body .appbar .header-chrysos.chryso-balance,
  html body .appbar .header-home-btn,
  html body .appbar .access-toggle,
  html body .appbar .main-menu-toggle{
    flex-basis:35px!important;
    width:35px!important;
    min-width:35px!important;
    max-width:35px!important;
    height:35px!important;
    min-height:35px!important;
    max-height:35px!important;
  }
  html body .appbar .brand-logo-mobile{max-width:92px!important;height:31px!important;}
}


/* v270: Mobile Header-Abstand nach den Statistik-Icons entfernen.
   Ursache war der alte appbar-space-between: Logo, Statistikblock und Nav wurden als drei Flex-Blöcke verteilt.
   Mobil sollen sie direkt hintereinander stehen. */
@media(max-width:760px){
  html body .appbar,
  html body header.appbar{
    justify-content:flex-start!important;
    column-gap:5px!important;
    gap:5px!important;
  }
  html body .top-stats{
    margin-left:3px!important;
    margin-right:0!important;
    gap:4px!important;
  }
  html body .appbar nav{
    margin-left:0!important;
    gap:5px!important;
  }
}
@media(max-width:390px){
  html body .appbar,
  html body header.appbar{gap:4px!important;}
  html body .top-stats{margin-left:2px!important;margin-right:0!important;gap:3px!important;}
  html body .appbar nav{gap:4px!important;}
}


/* v271: Header-State-Fixes
   Desktop: Header-Icons behalten feste Größe auch nach Login/Logout ohne Hard-Reload.
   Mobil: Logo links, alle Statistik-/Aktions-Icons wieder rechtsbündig; keine Lücke zwischen Poll und Chrysos. */
html body .appbar .top-stats,
html body header.appbar .top-stats{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  overflow:visible!important;
}
html body .appbar .top-stats > .stat-icon-badge,
html body header.appbar .top-stats > .stat-icon-badge,
html body .appbar .notification-toggle,
html body .appbar .header-chrysos.chryso-balance,
html body .appbar .header-home-btn,
html body .appbar .access-toggle,
html body .appbar .main-menu-toggle{
  flex-grow:0!important;
  flex-shrink:0!important;
  overflow:visible!important;
}
html body .appbar .top-stats > .stat-icon-badge .stat-image,
html body header.appbar .top-stats > .stat-icon-badge .stat-image,
html body .appbar .top-stats > .stat-leaks.stat-icon-badge img,
html body .appbar .top-stats > .stat-polls.stat-icon-badge img{
  display:block!important;
  width:30px!important;
  height:30px!important;
  max-width:30px!important;
  max-height:30px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  margin:0!important;
}
html body .appbar .top-stats > .stat-leaks.stat-icon-badge .stat-image{width:29px!important;height:29px!important;max-width:29px!important;max-height:29px!important;}
html body .appbar .top-stats > .stat-polls.stat-icon-badge .stat-image{width:30px!important;height:30px!important;max-width:30px!important;max-height:30px!important;}
@media(max-width:760px){
  html body .appbar,
  html body header.appbar{
    justify-content:flex-start!important;
    gap:5px!important;
    column-gap:5px!important;
  }
  html body .appbar .brand-logo-link{
    margin-right:auto!important;
    flex:0 0 auto!important;
  }
  html body .top-stats{
    flex:0 0 auto!important;
    margin-left:0!important;
    margin-right:0!important;
    gap:4px!important;
    justify-content:flex-end!important;
  }
  html body .appbar nav{
    flex:0 0 auto!important;
    margin-left:0!important;
    gap:5px!important;
    justify-content:flex-end!important;
  }
  html body .appbar .top-stats > .stat-icon-badge .stat-image,
  html body header.appbar .top-stats > .stat-icon-badge .stat-image{
    width:27px!important;
    height:27px!important;
    max-width:27px!important;
    max-height:27px!important;
  }
}
@media(max-width:390px){
  html body .appbar,
  html body header.appbar{gap:4px!important;column-gap:4px!important;}
  html body .top-stats{gap:3px!important;}
  html body .appbar nav{gap:4px!important;}
}


/* v272: Admin API tolerant gegen optionale/alte DB-Felder; Admin-Asset-Cache aktualisiert. */

/* v273: leak_events-Migration ergänzt actor_user_id und Event-Spalten für bestehende DBs; Admin-Events können wieder Actor anzeigen. */

/* v274 accessibility basic: keyboard focus + skip link, ohne Layout-/Design-Umbau */
.skip-link{
  position:fixed;
  left:12px;
  top:12px;
  z-index:2147483647;
  transform:translateY(-140%);
  padding:.7rem 1rem;
  border-radius:14px;
  background:#fff;
  color:#172033;
  border:2px solid #172033;
  box-shadow:0 12px 32px rgba(0,0,0,.22);
  font-weight:900;
  text-decoration:none;
}
.skip-link:focus,.skip-link:focus-visible{transform:translateY(0);outline:none;}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid #172033;
  outline-offset:3px;
}
body.a11y-dark :where(a,button,input,select,textarea,[tabindex]):focus-visible,
body.a11y-dark .skip-link:focus-visible{
  outline-color:#fff;
  box-shadow:0 0 0 5px rgba(255,255,255,.24);
}
.main-menu-panel :where(a,button):focus-visible,
.access-panel :where(a,button,input,select,textarea):focus-visible,
.notification-panel :where(a,button,[tabindex]):focus-visible{
  outline-offset:2px;
}
.notification-list[aria-live="polite"]{min-height:1px;}

/* v276: Lumi Eingabe wie Messenger/WhatsApp: wachsendes Feld + kompakter Pfeil-Button */
.lumi-form{
  display:flex!important;
  align-items:flex-end;
  gap:8px;
  padding:10px 12px;
}
.lumi-form textarea#lumiInput{
  flex:1 1 auto;
  min-width:0;
  width:auto;
  min-height:42px;
  max-height:132px;
  resize:none;
  overflow-y:auto;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:18px;
  font:inherit;
  line-height:1.35;
  background:#fff;
  color:#172033;
}
.lumi-form .lumi-mic,
.lumi-form .lumi-send{
  flex:0 0 42px;
  width:42px;
  height:42px;
  min-width:42px;
  min-height:42px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:16px;
  background:#f1f5f9;
  color:#172033;
  cursor:pointer;
  font-size:18px;
  line-height:1;
  padding:0;
}
.lumi-form .lumi-send{
  background:#172033;
  color:#fff;
  border-color:#172033;
  font-size:19px;
  padding-left:2px;
}
.lumi-form .lumi-mic.is-listening{
  background:#fee2e2;
  border-color:#fecaca;
}
body.a11y-dark .lumi-form textarea#lumiInput{
  background:#05070b!important;
  color:#fff!important;
  border-color:#49627f!important;
}
body.a11y-dark .lumi-form .lumi-mic,
body.a11y-dark .lumi-form .lumi-send{
  background:#172232!important;
  color:#fff!important;
  border-color:#49627f!important;
}
body.a11y-dark .lumi-form .lumi-send{
  background:#f8fbff!important;
  color:#05070b!important;
  border-color:#f8fbff!important;
}
@media(max-width:760px),(hover:none) and (pointer:coarse){
  .lumi-form{gap:7px;padding:9px 10px}
  .lumi-form textarea#lumiInput{min-height:40px;max-height:118px;border-radius:17px;padding:10px 11px}
  .lumi-form .lumi-mic,.lumi-form .lumi-send{flex-basis:40px;width:40px;height:40px;min-width:40px;min-height:40px;border-radius:15px}
}

/* v286: Leak/Poll-Bilder - 4:5 Crop, kompakte Galerie Desktop/Mobil */
.photo-crop-dialog{border:0;border-radius:28px;padding:0;background:transparent;max-width:min(96vw,560px);width:min(96vw,560px);z-index:2147483600;}
.photo-crop-dialog::backdrop{background:rgba(8,18,32,.58);backdrop-filter:blur(4px);}
.photo-crop-card{background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:0 28px 90px rgba(8,18,32,.28);padding:16px;display:grid;gap:14px;color:#172033;}
.photo-crop-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;}
.photo-crop-card header div{display:grid;gap:3px;}
.photo-crop-card header strong{font-size:18px;font-weight:900;}
.photo-crop-card header span{font-size:13px;font-weight:800;color:var(--muted);}
.photo-crop-frame{display:grid;place-items:center;background:#101722;border-radius:22px;padding:12px;touch-action:none;overflow:hidden;}
.photo-crop-frame canvas{width:min(100%,420px);height:auto;max-height:min(62vh,525px);aspect-ratio:4/5;border-radius:18px;box-shadow:0 0 0 1px rgba(255,255,255,.18);cursor:grab;touch-action:none;background:#fff;}
.photo-crop-frame canvas:active{cursor:grabbing;}
.photo-crop-zoom{display:grid;gap:7px;font-weight:850;color:#172033;}
.photo-crop-zoom input{width:100%;accent-color:var(--primary);}
.photo-crop-card footer{display:flex;justify-content:flex-end;gap:10px;}
.report-media-gallery{display:grid;gap:10px;margin:14px 0 16px;}
.report-media-gallery.count-1{grid-template-columns:minmax(0,1fr);}
.report-media-gallery.count-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.report-media-gallery.count-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.report-media-item{position:relative;margin:0;border-radius:22px;overflow:hidden;background:#edf2f7;border:1px solid rgba(17,40,74,.08);box-shadow:0 8px 20px rgba(13,36,64,.08);}
.report-media-item img{display:block;width:100%;aspect-ratio:4/5;height:auto;object-fit:cover;}
.report-media-item figcaption{position:absolute;right:9px;bottom:9px;background:rgba(8,18,32,.72);color:#fff;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:900;line-height:1;backdrop-filter:blur(3px);}
.detail-sheet-body .report-media-gallery{margin-top:10px;margin-bottom:14px;}
.media-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;gap:12px!important;margin:18px 0!important;}
.media-grid img{width:100%!important;aspect-ratio:4/5!important;height:auto!important;object-fit:cover!important;border-radius:22px!important;border:1px solid rgba(17,40,74,.08)!important;background:#edf2f7!important;}
.photo-gallery img{aspect-ratio:4/5!important;height:auto!important;min-height:104px!important;object-fit:cover!important;}
@media(max-width:760px){
  .photo-crop-dialog{width:min(94vw,430px);}
  .photo-crop-card{border-radius:24px;padding:13px;gap:12px;}
  .photo-crop-frame{padding:10px;border-radius:20px;}
  .photo-crop-card footer{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
  .report-media-gallery{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin-left:-2px;margin-right:-2px;padding:2px 2px 10px;-webkit-overflow-scrolling:touch;}
  .report-media-item{flex:0 0 78%;scroll-snap-align:start;border-radius:20px;}
  .report-media-gallery.count-1 .report-media-item{flex-basis:100%;}
  .detail-sheet-body .report-media-item{flex-basis:82%;}
  .media-grid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin:16px -2px!important;padding:2px 2px 10px!important;-webkit-overflow-scrolling:touch;}
  .media-grid img{flex:0 0 78%!important;scroll-snap-align:start;}
}
body.a11y-dark .photo-crop-card{background:#101722!important;color:#f8fbff!important;border-color:#34465f!important;}
body.a11y-dark .photo-crop-card header span,body.a11y-dark .photo-crop-zoom{color:#f8fbff!important;}

/* v286 leak detail layout and compact status */
.detail-card-leak .detail-media-first{margin:0 0 18px!important;}
.leak-status-box{display:grid!important;gap:6px!important;}
.leak-status-box h2{margin:0 0 4px!important;}
.leak-status-box p{margin:0!important;line-height:1.35!important;}
.leak-status-box .notice{margin-top:6px!important;}
.vote-eligibility-text{margin-top:8px!important;}
@media(max-width:720px){
  .detail-card-leak .detail-media-first{margin-bottom:14px!important;}
  .leak-status-box{gap:5px!important;}
}


/* v286: leak.php - einzelnes Detailbild nicht volle Breite */
@media (min-width:761px){
  .detail-card-leak .detail-media-first.media-count-1{
    grid-template-columns:minmax(0,calc(35% - 6px))!important;
    justify-content:center!important;
  }
}


/* v286: Share-Sheet für Detailseiten */
.share-sheet{padding:0;}
.share-panel{position:relative;padding:26px;display:grid;gap:14px;background:var(--surface);color:var(--text);border-radius:30px;}
.share-panel h2{margin:0;}
.share-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.share-option{display:flex;align-items:center;justify-content:center;min-height:46px;border:1px solid var(--line);border-radius:16px;background:#edf4ff;color:var(--primary);font-weight:850;text-decoration:none;cursor:pointer;}
.share-option:hover,.share-option:focus-visible{background:#dcecff;}
body.a11y-dark .share-panel{background:#101722!important;color:#f8fbff!important;border-color:#34465f!important;}
body.a11y-dark .share-option{background:#19283a!important;color:#fff!important;border-color:#49627f!important;}
@media(max-width:560px){.share-panel{border-radius:24px 24px 0 0;padding:22px 18px 18px}.share-grid{grid-template-columns:1fr 1fr}.share-option{min-height:44px}}

/* v291: echte 3-Spalten-Vorschaukarten für index.php und all.php */
.unified-preview-card{
  position:relative;
  overflow:hidden;
  align-items:stretch;
  display:grid;
  grid-template-columns:minmax(68px,25%) minmax(0,1fr) minmax(46px,20%);
  gap:10px;
  padding:10px;
}
.preview-media{
  margin:0;
  position:relative;
  width:100%;
  aspect-ratio:4/5;
  align-self:center;
  border-radius:16px;
  overflow:hidden;
  background:#eef3f8;
  border:1px solid rgba(17,40,74,.08);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);
  flex-shrink:0;
}
.preview-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.preview-media.is-placeholder{
  display:grid;
  place-items:center;
  color:#64748b;
}
.preview-media.is-placeholder img{
  width:42%;
  height:42%;
  object-fit:contain;
  opacity:.8;
  filter:drop-shadow(0 5px 10px rgba(15,23,42,.12));
}
.preview-media.is-placeholder figcaption{
  position:absolute;
  left:6px;
  right:6px;
  bottom:6px;
  text-align:center;
  font-size:10px;
  font-weight:850;
  color:#64748b;
}
.preview-card-body{
  min-width:0;
  align-self:center;
  display:grid;
  align-content:center;
  gap:4px;
  padding:0!important;
}
.preview-card-body .badge{
  width:max-content;
  max-width:100%;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:10.5px;
  line-height:1;
  padding:4px 7px;
  border-radius:999px;
  gap:4px;
}
.preview-card-body h3{
  margin:2px 0 0!important;
  font-size:15.5px;
  line-height:1.18;
  letter-spacing:-.015em;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.preview-card-body p{
  margin:0!important;
  font-size:12.5px;
  line-height:1.28;
  color:var(--muted);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.preview-card-body .meta{
  margin:0;
  font-size:11.5px;
  line-height:1.25;
  color:var(--muted);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.preview-card-actions{
  display:flex;
  gap:7px;
  align-items:center;
  justify-content:center;
  align-self:center;
  justify-self:stretch;
  flex-wrap:wrap;
  margin:0!important;
}
.preview-icon-btn{
  width:34px;
  height:34px;
  min-width:34px;
  padding:0;
  border-radius:13px;
  display:inline-grid;
  place-items:center;
  text-decoration:none;
  border:1px solid var(--neutral-line);
  background:#f5f7fb;
  color:#172033;
  font-size:17px;
  font-weight:950;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
}
.preview-icon-btn:hover{transform:translateY(-1px);background:#fff;}
.preview-icon-btn:disabled{opacity:.55;cursor:not-allowed;transform:none;}
.leak-vote-preview-btn{background:#e8f6ef;color:#11623d;border-color:#c7ead7;}
.poll-vote-preview-btn{background:#e9f2ff;color:#0d47a1;border-color:#cfe0ff;}
.open-preview-btn{background:#fff;color:#172033;}
.map-focus-btn{background:#fff7ed;color:#9a3412;border-color:#fed7aa;}
.top-item.unified-preview-card{
  grid-template-columns:minmax(68px,25%) minmax(0,1fr) minmax(46px,20%);
  gap:10px;
  padding:10px;
}
.top-item .preview-media-top{
  width:100%;
  aspect-ratio:4/5;
  align-self:center;
}
.top-item .preview-card-actions{
  align-self:center;
}
.all-feed .all-preview-card{
  display:grid;
  grid-template-columns:minmax(82px,25%) minmax(0,1fr) minmax(58px,20%);
  gap:12px;
  padding:10px;
}
.all-feed .all-preview-card > img{display:none!important;}
.all-preview-card .preview-media-all{
  width:100%;
  aspect-ratio:4/5;
  align-self:center;
}
.all-preview-card .card-body{padding:0!important;}
.all-preview-card .card-body h3{margin:2px 0 0!important;}
.all-preview-card .card-body p{margin:0!important;}
.all-preview-card .preview-card-actions{align-self:center;margin:0;}
body.a11y-dark .preview-media{background:#111827;border-color:#334155;}
body.a11y-dark .preview-icon-btn{background:#111827;color:#f8fafc;border-color:#475569;}
body.a11y-dark .leak-vote-preview-btn{background:#123526;color:#c8f7dd;border-color:#256f4a;}
body.a11y-dark .poll-vote-preview-btn{background:#102341;color:#d6e8ff;border-color:#2b5288;}
body.a11y-dark .map-focus-btn{background:#3a220c;color:#fed7aa;border-color:#9a5b1a;}
@media(max-width:860px){
  .top-item.unified-preview-card,
  .all-feed .all-preview-card{
    grid-template-columns:minmax(66px,25%) minmax(0,1fr) minmax(40px,20%);
    gap:8px;
    padding:8px;
  }
  .preview-card-body .badge{font-size:9.5px;padding:3px 6px;}
  .preview-card-body h3{font-size:14px;line-height:1.15;}
  .preview-card-body p,.preview-card-body .meta{font-size:10.8px;line-height:1.18;}
  .preview-card-actions{flex-direction:column;gap:5px;}
  .preview-icon-btn{width:30px;height:30px;min-width:30px;border-radius:11px;font-size:15px;}
}
@media(max-width:460px){
  .top-item.unified-preview-card,
  .all-feed .all-preview-card{
    grid-template-columns:minmax(60px,25%) minmax(0,1fr) minmax(34px,20%);
    gap:7px;
    padding:7px;
  }
  .preview-media{border-radius:13px;}
  .preview-media.is-placeholder figcaption{display:none;}
  .preview-card-body .badge{font-size:8.8px;padding:3px 5px;}
  .preview-card-body h3{font-size:13px;-webkit-line-clamp:2;}
  .preview-card-body p{display:none;}
  .preview-card-body .meta{font-size:10px;-webkit-line-clamp:2;}
  .preview-icon-btn{width:28px;height:28px;min-width:28px;border-radius:10px;font-size:14px;}
}


/* v291: einheitliche Preview-Karten für index.php und all.php */
.all-feed{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:start;
}
.top-item.unified-preview-card,
.all-feed .all-preview-card{
  grid-template-columns:minmax(74px,25%) minmax(0,55%) minmax(48px,20%);
  gap:10px;
  min-height:0;
  background:#fff;
  border:1px solid var(--neutral-line,var(--line));
  border-radius:18px;
  box-shadow:0 8px 24px rgba(22,35,58,.07);
}
.top-item.unified-preview-card .preview-media,
.all-feed .all-preview-card .preview-media{
  align-self:stretch;
  max-height:118px;
  min-height:92px;
  border-radius:14px;
}
.preview-card-body{
  align-content:center;
  gap:4px;
  color:#172033;
}
.preview-card-body .badge{
  width:max-content;
  max-width:100%;
  font-size:10px;
  line-height:1;
  padding:4px 7px;
  color:var(--primary);
  background:#eef5ff;
}
.preview-card-body .leak-badge{color:#11623d;background:#e8f6ef;}
.preview-card-body .poll-badge{color:#0d47a1;background:#e9f2ff;}
.preview-card-body h3,
.all-preview-card .card-body h3,
.top-item .preview-card-body h3{
  margin:1px 0 0!important;
  font-size:15px;
  line-height:1.18;
  color:#172033;
  font-weight:900;
  letter-spacing:-.01em;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.preview-card-body .preview-excerpt,
.all-preview-card .card-body p.preview-excerpt,
.top-item .preview-card-body p.preview-excerpt{
  margin:0!important;
  font-size:12.5px;
  line-height:1.24;
  color:#637083;
  display:-webkit-box;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.preview-card-body .meta,
.all-preview-card .card-body .meta,
.top-item .preview-card-body .meta{
  margin:0!important;
  font-size:11px;
  line-height:1.24;
  color:#637083;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.preview-card-actions{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:0;
}
.preview-icon-btn{
  width:31px;
  height:31px;
  min-width:31px;
  border-radius:11px;
  font-size:15px;
  box-shadow:none;
}
body.a11y-dark .top-item.unified-preview-card,
body.a11y-dark .all-feed .all-preview-card{background:#101722!important;border-color:#34465f!important;color:#f8fbff!important;}
body.a11y-dark .preview-card-body h3{color:#f8fbff!important;}
body.a11y-dark .preview-card-body .preview-excerpt,
body.a11y-dark .preview-card-body .meta{color:#c8d3e0!important;}
@media(max-width:860px){
  .all-feed{grid-template-columns:1fr;gap:10px;}
  .top-item.unified-preview-card,
  .all-feed .all-preview-card{
    grid-template-columns:minmax(66px,25%) minmax(0,55%) minmax(38px,20%);
    gap:8px;
    padding:8px;
  }
  .top-item.unified-preview-card .preview-media,
  .all-feed .all-preview-card .preview-media{min-height:82px;max-height:104px;border-radius:13px;}
  .preview-card-body .badge{font-size:9px;padding:3px 6px;}
  .preview-card-body h3,.all-preview-card .card-body h3,.top-item .preview-card-body h3{font-size:13.5px;line-height:1.15;}
  .preview-card-body .preview-excerpt{font-size:11.2px;line-height:1.18;}
  .preview-card-body .meta{font-size:10.4px;line-height:1.16;}
  .preview-icon-btn{width:28px;height:28px;min-width:28px;border-radius:10px;font-size:14px;}
}
@media(max-width:460px){
  .preview-card-body .preview-excerpt{display:-webkit-box!important;-webkit-line-clamp:1;}
  .preview-card-body .meta{font-size:9.8px;-webkit-line-clamp:2;}
}

/* v292: Poll-Detailseite wie Leak-Detail ordnen + Verwaltung einklappen */
.detail-card-poll .detail-poll-media-first{margin:0 0 18px!important;}
@media (min-width:761px){
  .detail-card-poll .detail-poll-media-first.media-count-1{
    grid-template-columns:minmax(0,calc(35% - 6px))!important;
    justify-content:center!important;
  }
}
.poll-manage-details{
  display:block!important;
  padding:0!important;
  overflow:hidden;
}
.poll-manage-summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px;
  font-weight:900;
  color:var(--text);
  background:var(--neutral-soft);
}
.poll-manage-summary::-webkit-details-marker{display:none;}
.poll-manage-summary span{font-size:20px;line-height:1.12;}
.poll-manage-summary small{font-size:13px;color:var(--muted);font-weight:800;text-align:right;}
.poll-manage-summary::after{
  content:'⌄';
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--line);
  color:var(--primary);
  font-size:18px;
  line-height:1;
  transition:transform .18s ease;
}
.poll-manage-details[open] .poll-manage-summary::after{transform:rotate(180deg);}
.poll-manage-content{display:grid;gap:12px;padding:0 16px 16px;}
.poll-manage-content > .muted{margin:12px 0 0;}
body.a11y-dark .poll-manage-summary{background:#172232;color:#f8fbff;}
body.a11y-dark .poll-manage-summary::after{background:#101722;border-color:#34465f;color:#fff;}
@media(max-width:760px),(hover:none) and (pointer:coarse){
  .detail-card-poll .detail-poll-media-first{margin-bottom:14px!important;}
  .poll-manage-summary{padding:13px;gap:8px;}
  .poll-manage-summary span{font-size:16px;}
  .poll-manage-summary small{font-size:12px;}
  .poll-manage-content{padding:0 13px 13px;}
}

/* v317: schlanker Lumi-Helfer direkt im Leak-Formular */
.lumi-form-helper{
  border:1px solid rgba(12,74,110,.14);
  background:linear-gradient(180deg,rgba(240,249,255,.92),rgba(255,255,255,.96));
  border-radius:18px;
  padding:12px;
  margin:8px 0 14px;
}
.lumi-form-helper-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}
.lumi-form-helper-head img{
  width:36px;
  height:36px;
  object-fit:contain;
  flex:0 0 auto;
}
.lumi-form-helper-head strong{
  display:block;
  color:#0f172a;
  font-size:.98rem;
  line-height:1.15;
}
.lumi-form-helper-head span{
  display:block;
  color:#64748b;
  font-size:.82rem;
  line-height:1.25;
}
.lumi-form-helper-row{
  display:flex;
  align-items:flex-end;
  gap:8px;
}
.lumi-form-helper-row textarea{
  flex:1 1 auto;
  min-width:0;
  min-height:42px;
  max-height:120px;
  resize:none;
  overflow:auto;
  border-radius:16px;
  padding:10px 12px;
  line-height:1.35;
}
.lumi-form-helper-row .small-icon-btn{
  width:42px;
  height:42px;
  min-width:42px;
  border-radius:14px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.leak-lumi-status{margin:8px 2px 0;}
.leak-lumi-status.success{color:#047857;}
.leak-lumi-status.error{color:#b91c1c;}
.leak-suggestion-fields label.lumi-suggested select{
  border-color:#38bdf8;
  box-shadow:0 0 0 3px rgba(56,189,248,.16);
}
.report-leak #titleLabel::after,
.report-leak #categoryLabel::after,
.report-leak #leakTypeLabel::after,
.report-leak #priorityLabel::after{content:'';}
.report-leak .leak-suggestion-fields{align-items:end;}
body.a11y-dark .lumi-form-helper{
  background:#000;
  border-color:#fff;
}
body.a11y-dark .lumi-form-helper-head strong,
body.a11y-dark .lumi-form-helper-head span{color:#fff;}
@media(max-width:720px){
  .lumi-form-helper{padding:10px;border-radius:16px;}
  .lumi-form-helper-head img{width:32px;height:32px;}
  .lumi-form-helper-row{gap:6px;}
  .lumi-form-helper-row .small-icon-btn{width:40px;height:40px;min-width:40px;border-radius:13px;}
  .leak-suggestion-fields.two{grid-template-columns:1fr;}
}

/* v317 modular leak page / internal group module */
.detail-card-leak .leak-next-box,
.detail-card-leak .leak-local-poll-box,
.detail-card-leak .leak-group-module{position:relative;}
.detail-card-leak .leak-next-box h2,
.detail-card-leak .leak-local-poll-box h2,
.detail-card-leak .leak-group-module h2{margin-bottom:8px!important;}
.group-invite-box{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border:1px solid rgba(27,143,90,.22);background:rgba(27,143,90,.08);border-radius:18px;padding:14px 16px;}
.group-invite-box p{margin:0!important;max-width:620px;}
.group-summary-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0 12px;color:var(--muted);font-size:13px;font-weight:750;}
.group-summary-line .badge{margin:0;}
.group-admin-panel{border:1px solid var(--line);border-radius:18px;background:#f8fafc;margin:14px 0;padding:0;overflow:hidden;}
.group-admin-panel summary{cursor:pointer;padding:12px 14px;font-weight:900;color:var(--text);list-style:none;}
.group-admin-panel summary::-webkit-details-marker{display:none;}
.group-admin-panel summary::after{content:'▾';float:right;color:var(--muted);}
.group-admin-panel[open] summary::after{content:'▴';}
.group-admin-panel .simple-form{margin:0;padding:14px;border-top:1px solid var(--line);background:#fff;}
.group-admin-panel h3,
.group-module-grid h3,
.group-suggestion-box h3,
.group-cover-hint h3{font-size:1rem;margin:0 0 8px;color:var(--text);}
.group-module-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;}
.group-module-grid>section,.group-suggestion-box,.group-cover-hint{border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px;}
.profile-list.compact-list{gap:8px;}
.profile-list.compact-list .profile-list-item{padding:10px 12px;border-radius:14px;}
.profile-list.compact-list .profile-list-item strong{font-size:.94rem;}
.profile-list.compact-list .profile-list-item span{font-size:.9rem;line-height:1.35;}
.group-suggestion-box{margin-top:14px;}
.group-suggestion-box .simple-form{margin:0;gap:8px;}
.group-cover-hint{margin-top:14px;background:#f8fafc;}
.suggestions-review{margin-top:12px;}
body.a11y-dark .group-admin-panel,
body.a11y-dark .group-module-grid>section,
body.a11y-dark .group-suggestion-box,
body.a11y-dark .group-cover-hint{background:#101722!important;border-color:#34465f!important;color:#f8fbff!important;}
body.a11y-dark .group-admin-panel .simple-form{background:#101722!important;border-color:#34465f!important;}
body.a11y-dark .group-invite-box{background:#10251e!important;border-color:#2f6f55!important;color:#f8fbff!important;}
@media(max-width:760px){
  .group-module-grid{grid-template-columns:1fr;gap:12px;}
  .group-invite-box{align-items:stretch;}
  .group-invite-box .primary{width:100%;}
  .group-summary-line{gap:7px;font-size:12px;}
  .group-module-grid>section,.group-suggestion-box,.group-cover-hint{padding:12px;border-radius:16px;}
}


/* v317: sichtbare Leak-Level-Ringe für die echten PNG-Leaflet-Icons.
   Die alten Level-Regeln trafen noch divIcon/span-Marker. Seit v267 sind es IMG-Marker,
   daher braucht der Ring/Glow Regeln direkt auf .leaflet-marker-icon.need-image-marker. */
html body .leaflet-marker-icon.need-image-marker.leak-marker{
  box-sizing:border-box!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.96)!important;
  padding:2px!important;
  border:2px solid rgba(20,20,20,.62)!important;
  filter:drop-shadow(0 5px 8px rgba(15,23,42,.30))!important;
}
html body .leaflet-marker-icon.need-image-marker.leak-marker.leak-level-local,
html body .leaflet-marker-icon.need-image-marker.leak-marker.leak-level-bronze{
  border-color:#8e562e!important;
  box-shadow:0 0 0 2px rgba(142,86,46,.38),0 0 13px rgba(142,86,46,.30)!important;
}
html body .leaflet-marker-icon.need-image-marker.leak-marker.leak-level-sunshine,
html body .leaflet-marker-icon.need-image-marker.leak-marker.leak-level-silver{
  border-color:#aeb5be!important;
  box-shadow:0 0 0 3px rgba(174,181,190,.62),0 0 18px rgba(174,181,190,.46)!important;
}
html body .leaflet-marker-icon.need-image-marker.leak-marker.leak-level-group,
html body .leaflet-marker-icon.need-image-marker.leak-marker.leak-level-gold{
  border-color:#ffc107!important;
  box-shadow:0 0 0 3px rgba(255,193,7,.68),0 0 22px rgba(255,193,7,.52)!important;
}
html body .leaflet-marker-icon.need-image-marker.leak-marker.leak-level-signal,
html body .leaflet-marker-icon.need-image-marker.leak-marker.leak-level-platinum{
  border-color:#d7dde5!important;
  box-shadow:0 0 0 4px rgba(190,196,203,.80),0 0 24px rgba(255,255,255,.58),0 0 32px rgba(120,130,140,.30)!important;
}
html body .leaflet-marker-icon.need-image-marker.leak-marker.leak-level-spotlight,
html body .leaflet-marker-icon.need-image-marker.leak-marker.leak-level-diamond{
  border-color:#7ddacd!important;
  box-shadow:0 0 0 4px rgba(125,218,205,.82),0 0 30px rgba(125,218,205,.58),0 0 44px rgba(255,255,255,.42)!important;
}
html body .leaflet-marker-icon.need-image-marker.leak-marker.leak-level-regional-signal,
html body .leaflet-marker-icon.need-image-marker.leak-marker.leak-level-rubin{
  border-color:#c62828!important;
  box-shadow:0 0 0 4px rgba(198,40,40,.72),0 0 30px rgba(198,40,40,.48)!important;
}
html body .leaflet-marker-icon.need-image-marker.poll-marker{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* v317: Lumi Formularhilfe sichtbar und bewusst steuerbar */
.lumi-form-helper{position:relative;overflow:hidden;}
.lumi-mini-avatar{width:34px;height:34px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 4px 10px rgba(15,23,42,.12));}
.lumi-inline-note{display:flex;align-items:flex-start;gap:10px;line-height:1.35;}
.lumi-inline-note strong{display:block;color:#0f172a;font-size:.94rem;margin-bottom:2px;}
.lumi-inline-note span{display:block;color:#475569;font-size:.86rem;}
.leak-lumi-status{margin:9px 0 0;}
.leak-lumi-status .lumi-inline-note{border:1px solid rgba(56,189,248,.24);background:rgba(240,249,255,.95);border-radius:15px;padding:9px 10px;}
.leak-lumi-status.success .lumi-inline-note{border-color:rgba(16,185,129,.28);background:rgba(236,253,245,.96);}
.leak-lumi-status.error .lumi-inline-note{border-color:rgba(239,68,68,.26);background:rgba(254,242,242,.96);}
.leak-lumi-status.success .lumi-inline-note span{color:#047857;}
.leak-lumi-status.error .lumi-inline-note span{color:#b91c1c;}
.lumi-working-box{position:absolute;inset:8px;z-index:5;display:flex;align-items:center;justify-content:center;gap:11px;padding:14px;border:1px solid rgba(14,165,233,.32);background:rgba(255,255,255,.94);backdrop-filter:blur(6px);border-radius:16px;box-shadow:0 18px 45px rgba(15,23,42,.14);font-weight:900;color:#0f172a;text-align:center;}
.lumi-working-box[hidden]{display:none!important;}
.lumi-form-helper.is-working .lumi-form-helper-head,.lumi-form-helper.is-working .lumi-form-helper-row{filter:blur(1px);opacity:.42;pointer-events:none;}
.lumi-dots{display:inline-flex;gap:4px;align-items:center;margin-left:2px;}
.lumi-dots i{width:5px;height:5px;border-radius:999px;background:#0ea5e9;display:block;animation:lumiDotPulse 1s infinite ease-in-out;}
.lumi-dots i:nth-child(2){animation-delay:.16s}.lumi-dots i:nth-child(3){animation-delay:.32s}
@keyframes lumiDotPulse{0%,80%,100%{transform:translateY(0);opacity:.45}40%{transform:translateY(-4px);opacity:1}}
.leak-lumi-auto-prompt{margin:-4px 0 12px;border:1px solid rgba(56,189,248,.25);background:linear-gradient(180deg,rgba(240,249,255,.98),rgba(255,255,255,.98));border-radius:17px;padding:11px 12px;box-shadow:0 10px 26px rgba(15,23,42,.08);}
.leak-lumi-auto-prompt[hidden]{display:none!important;}
.leak-lumi-auto-prompt .lumi-inline-note{align-items:flex-start;}
.leak-lumi-auto-prompt .lumi-mini-avatar{width:38px;height:38px;}
.leak-lumi-auto-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 0 48px;}
.leak-lumi-auto-actions .small{min-height:34px;padding:8px 11px;border-radius:12px;font-size:.84rem;}
.leak-lumi-auto-actions .ghost{background:#fff;border:1px solid var(--line);color:var(--muted);}
.leak-lumi-auto-actions .ghost:hover{color:var(--text);border-color:#cbd5e1;}
.leak-lumi-auto-prompt.working{border-color:rgba(14,165,233,.32);background:rgba(240,249,255,.98);font-weight:850;}
.leak-lumi-auto-prompt.success{border-color:rgba(16,185,129,.28);background:rgba(236,253,245,.98);}
.leak-lumi-auto-prompt.error{border-color:rgba(239,68,68,.26);background:rgba(254,242,242,.98);}
.leak-lumi-auto-prompt.success .lumi-inline-note span{color:#047857;}
.leak-lumi-auto-prompt.error .lumi-inline-note span{color:#b91c1c;}
body.a11y-dark .lumi-inline-note strong,
body.a11y-dark .lumi-inline-note span{color:#fff!important;}
body.a11y-dark .leak-lumi-status .lumi-inline-note,
body.a11y-dark .leak-lumi-auto-prompt,
body.a11y-dark .lumi-working-box{background:#000!important;border-color:#fff!important;color:#fff!important;box-shadow:none!important;}
body.a11y-dark .leak-lumi-auto-actions .ghost{background:#000!important;border-color:#fff!important;color:#fff!important;}
@media(max-width:720px){
  .lumi-working-box{inset:6px;padding:12px;font-size:.92rem;}
  .lumi-mini-avatar{width:30px;height:30px;}
  .leak-lumi-auto-prompt{padding:10px;border-radius:15px;}
  .leak-lumi-auto-prompt .lumi-mini-avatar{width:34px;height:34px;}
  .leak-lumi-auto-actions{margin-left:0;gap:6px;}
  .leak-lumi-auto-actions .small{flex:1 1 auto;}
}

/* v317: Lumi-Formularhilfe fragt nicht mehr erneut, wenn Lumi oben das Formular bewusst vorbereitet hat. */

/* v317: Dublettenhinweis beim Leak-Erstellen */
.similar-leak-dialog{border:0;border-radius:24px;padding:0;max-width:min(760px,calc(100vw - 28px));width:760px;background:transparent;box-shadow:none;z-index:1000000;}
.similar-leak-dialog::backdrop{background:rgba(15,23,42,.42);backdrop-filter:blur(3px);}
.similar-leak-box{position:relative;background:#fff;border:1px solid rgba(148,163,184,.34);border-radius:24px;padding:18px;box-shadow:0 28px 90px rgba(15,23,42,.28);}
.similar-leak-close{position:absolute;right:14px;top:12px;border:1px solid var(--line);background:#fff;border-radius:999px;width:34px;height:34px;font-size:1.25rem;line-height:1;cursor:pointer;color:var(--muted);}
.similar-leak-close:hover{color:var(--text);border-color:#cbd5e1;}
.similar-leak-head{display:flex;align-items:flex-start;gap:12px;padding-right:34px;margin-bottom:13px;}
.similar-leak-head .lumi-mini-avatar{width:52px;height:52px;flex:0 0 52px;}
.similar-leak-head h3{margin:0 0 4px;font-size:1.15rem;line-height:1.2;color:var(--text);}
.similar-leak-head p{margin:0;color:var(--muted);line-height:1.45;font-size:.95rem;}
.similar-leak-list{display:grid;gap:9px;max-height:min(45vh,360px);overflow:auto;padding:2px 2px 2px 0;margin:0 0 14px;}
.similar-leak-card{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid rgba(226,232,240,.95);border-radius:17px;padding:11px 12px;background:linear-gradient(180deg,#fff,#f8fafc);}
.similar-leak-card strong{display:block;color:var(--text);font-size:.98rem;line-height:1.25;margin-bottom:3px;}
.similar-leak-card span,.similar-leak-card small{display:block;color:var(--muted);font-size:.82rem;line-height:1.35;}
.similar-leak-card .linkbtn.small{white-space:nowrap;min-height:34px;padding:8px 10px;border-radius:12px;font-size:.84rem;}
.similar-leak-actions{display:flex;justify-content:flex-end;gap:.6rem;flex-wrap:wrap;margin:.75rem 0 0;}
body.a11y-dark .similar-leak-box,body.a11y-dark .similar-leak-close,body.a11y-dark .similar-leak-card{background:#000!important;border-color:#fff!important;color:#fff!important;}
body.a11y-dark .similar-leak-head h3,body.a11y-dark .similar-leak-card strong,body.a11y-dark .similar-leak-head p,body.a11y-dark .similar-leak-card span,body.a11y-dark .similar-leak-card small{color:#fff!important;}
@media(max-width:620px){
  .similar-leak-dialog{max-width:calc(100vw - 18px);}
  .similar-leak-box{border-radius:20px;padding:14px;}
  .similar-leak-head{gap:10px;padding-right:30px;}
  .similar-leak-head .lumi-mini-avatar{width:44px;height:44px;flex-basis:44px;}
  .similar-leak-card{grid-template-columns:1fr;gap:9px;}
  .similar-leak-actions{justify-content:stretch;}
  .similar-leak-actions button{flex:1 1 100%;}
}

/* v317: Map-Steuerung in zwei Reiter aufteilen + kompakte Marker-Kurzinfo */
.map-shell.map-shell-with-filter .map-filterbar.map-filterbar-tabs{
  position:absolute!important;
  z-index:720!important;
  left:18px!important;
  top:18px!important;
  width:min(560px,calc(100% - 36px))!important;
  max-height:calc(100% - 36px)!important;
  overflow:visible!important;
  padding:10px!important;
  border-radius:22px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-areas:none!important;
  gap:9px!important;
  background:rgba(255,255,255,.86)!important;
  border:1px solid rgba(16,31,56,.12)!important;
  box-shadow:0 20px 52px rgba(16,31,56,.18)!important;
  backdrop-filter:blur(18px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.08)!important;
}
.map-shell.map-shell-with-filter .map-filterbar.map-filterbar-tabs[data-map-control-mode="search"]{
  width:min(660px,calc(100% - 36px))!important;
  overflow:auto!important;
}
.map-control-tabs{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  padding:4px!important;
  width:max-content!important;
  max-width:100%!important;
  border:1px solid var(--line)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.92)!important;
}
.map-control-tabs button{
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:#172033!important;
  padding:8px 14px!important;
  font-weight:950!important;
  cursor:pointer!important;
  white-space:nowrap!important;
}
.map-control-tabs button.active{
  background:#172033!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(23,32,51,.16)!important;
}
.map-entry-panel,
.map-search-panel{
  min-width:0!important;
}
.map-entry-panel[hidden],
.map-search-panel[hidden]{display:none!important;}
.map-shell.map-shell-with-filter .map-entry-panel .map-search-field,
.map-shell.map-shell-with-filter .map-search-field{
  display:block!important;
  grid-area:auto!important;
  margin:0!important;
}
.map-shell.map-shell-with-filter .map-search-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 46px!important;
  gap:8px!important;
  align-items:center!important;
}
.map-shell.map-shell-with-filter #searchInput{
  min-height:43px!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.96)!important;
}
.map-shell.map-shell-with-filter .map-location-btn{
  width:46px!important;
  min-width:46px!important;
  height:43px!important;
  padding:0!important;
  border-radius:15px!important;
  display:grid!important;
  place-items:center!important;
  background:#eef5ff!important;
  color:#1769dc!important;
  border:1px solid rgba(23,105,220,.18)!important;
  font-size:1.25rem!important;
  line-height:1!important;
}
.map-search-panel{
  display:grid!important;
  gap:10px!important;
}
.map-search-panel-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:10px!important;
}
.map-search-panel-head strong{
  font-size:14px!important;
  color:#172033!important;
  font-weight:950!important;
}
.map-filter-collapse{
  padding:7px 10px!important;
  font-size:12px!important;
  background:#eef5ff!important;
}
.map-shell.map-shell-with-filter .map-search-panel .map-type-control{
  display:flex!important;
  width:100%!important;
  min-height:40px!important;
  border-radius:14px!important;
  border:1px solid var(--line)!important;
  overflow:hidden!important;
  background:#fff!important;
  grid-area:auto!important;
}
.map-shell.map-shell-with-filter .map-search-panel .map-type-control button{
  flex:1!important;
  min-width:0!important;
  padding:0 10px!important;
  font-size:13px!important;
}
.map-shell.map-shell-with-filter .map-search-panel .advanced-filters{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
  grid-area:auto!important;
  padding:0!important;
}
.map-shell.map-shell-with-filter .map-search-panel .filter-field{
  display:grid!important;
  gap:4px!important;
  font-size:11px!important;
  line-height:1.15!important;
  color:#526276!important;
  font-weight:900!important;
  margin:0!important;
}
.map-shell.map-shell-with-filter .map-search-panel .filter-field select,
.map-shell.map-shell-with-filter .map-search-panel .filter-field input{
  font-size:13px!important;
  min-height:38px!important;
  border-radius:12px!important;
  padding:8px 10px!important;
  margin:0!important;
  background:rgba(255,255,255,.96)!important;
}
.map-filter-actions{
  display:flex!important;
  gap:8px!important;
}
.map-filter-actions button{
  flex:1!important;
  min-height:38px!important;
  border-radius:13px!important;
  padding:8px 10px!important;
  font-size:13px!important;
}
.map-shell.map-shell-with-filter .map-search-panel .near-info{
  display:block!important;
  grid-area:auto!important;
  font-size:11px!important;
  line-height:1.28!important;
  color:#637083!important;
  padding:0 2px!important;
}
.map-report-popup{
  display:grid;
  gap:6px;
  min-width:190px;
  max-width:240px;
}
.map-report-popup strong{
  font-size:14px;
  line-height:1.2;
  color:#172033;
}
.map-report-popup small,
.map-report-popup span{
  color:var(--muted);
  font-size:12px;
  line-height:1.25;
}
.map-report-popup .popup-btn{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  margin-top:4px;
  min-height:34px;
  padding:8px 12px;
  border-radius:12px;
  background:var(--primary);
  color:#fff!important;
  text-decoration:none;
  font-weight:900;
}
.map-report-popup-leak .popup-btn{background:var(--leak,#1b8f4d);}
.map-report-popup-poll .popup-btn{background:var(--poll,#1565c0);}
body.a11y-dark .map-control-tabs,
body.a11y-dark .map-shell.map-shell-with-filter .map-filterbar.map-filterbar-tabs,
body.a11y-dark .map-search-panel .map-type-control,
body.a11y-dark .map-report-popup{
  background:#101722!important;
  color:#f8fbff!important;
  border-color:#34465f!important;
}
body.a11y-dark .map-search-panel-head strong,
body.a11y-dark .map-report-popup strong{color:#f8fbff!important;}
body.a11y-dark .map-report-popup small,
body.a11y-dark .map-report-popup span{color:#d5deea!important;}
@media(max-width:760px){
  .map-shell.map-shell-with-filter .map-filterbar.map-filterbar-tabs{
    left:10px!important;
    right:10px!important;
    top:10px!important;
    width:auto!important;
    max-height:calc(100% - 20px)!important;
    padding:9px!important;
    border-radius:18px!important;
  }
  .map-shell.map-shell-with-filter .map-filterbar.map-filterbar-tabs[data-map-control-mode="entry"]{
    max-height:none!important;
    overflow:visible!important;
  }
  .map-shell.map-shell-with-filter .map-filterbar.map-filterbar-tabs[data-map-control-mode="search"]{
    max-height:58%!important;
    overflow:auto!important;
  }
  .map-control-tabs{width:100%!important;display:flex!important;}
  .map-control-tabs button{flex:1!important;padding:8px 10px!important;}
  .map-shell.map-shell-with-filter .map-search-panel .advanced-filters{
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
  }
  .map-shell.map-shell-with-filter .map-search-panel .filter-field select,
  .map-shell.map-shell-with-filter .map-search-panel .filter-field input{
    font-size:12px!important;
    min-height:36px!important;
    padding:7px 9px!important;
  }
  .map-filter-actions{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:420px){
  .map-shell.map-shell-with-filter .map-search-panel .advanced-filters{grid-template-columns:1fr!important;}
}

/* v317: Leaflet-Popups/Cluster wieder zuverlässig über der Karte anzeigen.
   In v317-v317 wurden Map-Panes im Filter-Modus auf z-index:auto gesetzt,
   dadurch konnten Popup/Ort-Auswahl hinter Tiles/Pane verschwinden. */
.map-shell .leaflet-map-pane{z-index:400!important;}
.map-shell .leaflet-tile-pane{z-index:200!important;}
.map-shell .leaflet-overlay-pane{z-index:400!important;}
.map-shell .leaflet-shadow-pane{z-index:500!important;}
.map-shell .leaflet-marker-pane{z-index:600!important;}
.map-shell .leaflet-tooltip-pane{z-index:650!important;}
.map-shell .leaflet-popup-pane{z-index:2200!important;pointer-events:auto!important;}
.map-shell .leaflet-popup{z-index:2210!important;pointer-events:auto!important;}
.map-shell .leaflet-popup-content-wrapper,
.map-shell .leaflet-popup-tip{pointer-events:auto!important;}
.map-shell .leaflet-control-container,
.map-shell .leaflet-top,
.map-shell .leaflet-bottom{z-index:2300!important;}
.map-shell.map-shell-with-filter .map-filterbar{z-index:3000!important;}
.map-shell.map-shell-with-filter #mainSearchSuggestions,
.map-shell.map-shell-with-filter .main-search-suggestions{z-index:3100!important;}

/* v317: Radius-Filter im ausgeklappten Such-Reiter wieder sichtbar machen.
   Alte kompakte Map-CSS-Regeln aus v141 blendeten #mapRadiusFilter global aus. */
.map-shell.map-shell-with-filter .map-search-panel .filter-field:has(#mapRadiusFilter){
  display:grid!important;
}
.map-shell.map-shell-with-filter .map-search-panel #mapRadiusFilter,
.map-shell.map-shell-with-filter #mapSearchPanel #mapRadiusFilter,
#mapSearchPanel #mapRadiusFilter{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
.map-shell.map-shell-with-filter .map-search-panel .advanced-filters{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
@media(max-width:420px){
  .map-shell.map-shell-with-filter .map-search-panel .advanced-filters{
    grid-template-columns:1fr!important;
  }
}

/* v317: Radius in der Suche ist kein Filter, sondern eine Einblendung der Eintrags-Radien. */
.map-radius-toggle{display:grid!important;gap:6px!important;align-content:start!important}
.map-radius-toggle .inline-check{display:flex;align-items:center;gap:9px;margin:0;font-weight:850;color:var(--text)}
.map-radius-toggle input[type="checkbox"]{width:18px;height:18px;min-height:0;padding:0;accent-color:var(--primary)}
.map-radius-toggle small{font-size:12px;line-height:1.25}
.map-entry-radius{pointer-events:none;stroke:#1b8f5a;fill:#1b8f5a}
.map-entry-radius-poll{stroke:#1565c0;fill:#1565c0}
body.a11y-dark .map-entry-radius{stroke:#fff;fill:#fff;opacity:.75}


/* v317: Radius-Anzeige ist ein unabhängiger Map-Layer und darf mit Keyword/Kategorie/Typ kombiniert werden. */
.map-shell .leaflet-pane.leaflet-entry-radius-pane,
.map-shell .leaflet-entry-radius-pane{z-index:455!important;pointer-events:none!important;}
.map-shell .leaflet-entry-radius-pane svg,
.map-shell .leaflet-entry-radius-pane path{pointer-events:none!important;}
.map-shell .map-entry-radius{display:block!important;visibility:visible!important;opacity:1!important;}


/* v317: neue 8er-Bildstrecke für "So funktioniert es" */
.howto-image-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.howto-image-card{min-height:0;padding:8px;text-align:left;cursor:pointer;background:#fff}
.howto-image-card:before{display:none}
.howto-image-card .howto-thumb{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px;border:1px solid rgba(15,23,42,.08);background:#f8fafc;box-shadow:0 8px 18px rgba(15,23,42,.08)}
.howto-image-card .howto-card-text{position:relative;z-index:1;padding:10px 6px 4px 44px;min-height:92px}
.howto-image-card .howto-num{top:10px;left:4px;background:var(--leak);color:#fff}
.howto-image-card h3{margin:0 0 4px!important;font-size:calc(15px * var(--ui-scale,1));line-height:1.12;color:#172033}
.howto-image-card p{font-size:calc(12px * var(--ui-scale,1))!important;line-height:1.22!important;color:#27364d!important;margin:0!important}
body.a11y-dark .howto-image-card{background:#101722!important;border-color:#34465f!important}
body.a11y-dark .howto-image-card .howto-thumb{border-color:#34465f;background:#0b1220;box-shadow:none}
@media(max-width:980px){.howto-image-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.howto-image-card .howto-card-text{min-height:82px}}
@media(max-width:420px){.howto-image-grid{grid-template-columns:1fr}.howto-image-card .howto-card-text{min-height:auto}}

/* v317: Leak-Erstellen Reihenfolge und Lumi-Felder */
#reportSheet.report-leak .leak-top-photo{
  grid-column:1 / -1;
  margin:0 0 12px!important;
  min-height:118px!important;
  border-radius:22px!important;
  background:var(--leak-soft)!important;
  border-color:var(--leak-line)!important;
}
#reportSheet.report-leak .leak-top-photo-feedback{
  grid-column:1 / -1;
  margin:-4px 0 12px!important;
}
#reportSheet.report-leak #leakLumiHelper{
  margin-top:0!important;
}
#reportSheet.report-leak .lumi-managed-fields{
  background:linear-gradient(180deg,#f7fff9,#fff);
  border:1px solid var(--leak-line);
  border-radius:20px;
  padding:12px;
}
#reportSheet.report-leak .lumi-managed-fields label > span::after,
#reportSheet.report-leak label:has(#titleLabel) > span::after{
  content:' · Lumi';
  color:var(--leak);
  font-weight:900;
  font-size:12px;
}
#reportSheet.report-leak label:has(#titleLabel) input,
#reportSheet.report-leak .lumi-managed-fields select{
  background:#fbfffc;
}

/* v319: Poll-Erstellen Overlay - innere Wizard-Fläche kleiner und Aktionen sichtbar.
   Der Wizard darf die unteren Formularbereiche nicht mehr abschneiden. */
#reportSheet.report-poll form#reportForm{
  grid-template-rows:auto auto minmax(0,1fr) auto auto!important;
}
#reportSheet.report-poll .poll-wizard{
  max-height:calc(100dvh - 230px)!important;
}
#reportSheet.report-poll .poll-wizard-shell{
  height:min(620px,calc(100dvh - 230px))!important;
  max-height:calc(100dvh - 230px)!important;
}
#reportSheet.report-poll .poll-wizard-main{
  padding-bottom:10px!important;
}
#reportSheet.report-poll .poll-wizard-actions{
  position:sticky;
  bottom:0;
  z-index:5;
  background:linear-gradient(180deg,rgba(255,255,255,.92),#fff 38%);
  padding-top:14px!important;
  padding-bottom:2px!important;
  margin-top:8px!important;
}
#reportSheet.report-poll #locationPreview{
  margin-top:0!important;
}
#reportSheet.report-poll #reportSubmitBtn{
  margin-top:0!important;
}
@media(max-width:980px){
  #reportSheet.report-poll .poll-wizard{
    max-height:calc(96dvh - 185px)!important;
  }
  #reportSheet.report-poll .poll-wizard-shell{
    max-height:calc(96dvh - 185px)!important;
  }
}
@media(max-width:620px){
  #reportSheet.report-poll .poll-wizard{
    max-height:calc(96dvh - 165px)!important;
  }
  #reportSheet.report-poll .poll-wizard-shell{
    max-height:calc(96dvh - 165px)!important;
  }
}


/* v319: Top5-Nutzerstatus und Beteiligung deutlicher anzeigen */
.top-item.unified-preview-card.is-owned-by-user{
  border-color:#94d6a6!important;
  box-shadow:0 10px 28px rgba(22,163,74,.13)!important;
  background:linear-gradient(180deg,#ffffff 0%,#f4fff7 100%);
}
.top-user-markers{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 1px;}
.top-user-chip{display:inline-flex;align-items:center;gap:4px;width:max-content;max-width:100%;padding:3px 6px;border-radius:999px;font-size:9.5px;font-weight:900;line-height:1;border:1px solid transparent;white-space:nowrap;}
.top-user-chip-mine{color:#0f5132;background:#dcfce7;border-color:#bbf7d0;}
.top-user-chip-done{color:#14532d;background:#f0fdf4;border-color:#bbf7d0;}
.top-count-meta{display:inline-flex;align-items:baseline;gap:3px;color:#172033;font-weight:850;}
.top-participation-count{font-size:1.12em;color:#0a8f24;font-weight:950;}
.top-done-indicator{cursor:default!important;pointer-events:none;background:#e8f6ef!important;color:#0a8f24!important;border-color:#9fe0b8!important;box-shadow:0 7px 16px rgba(22,163,74,.14)!important;}
.poll-vote-preview-btn.top-done-indicator{background:#e9f2ff!important;color:#0d47a1!important;border-color:#bcd7ff!important;}
body.a11y-dark .top-item.unified-preview-card.is-owned-by-user{background:#102017!important;border-color:#2f8f52!important;}
body.a11y-dark .top-user-chip-mine,body.a11y-dark .top-user-chip-done{background:#13351f;color:#d8ffe4;border-color:#2f8f52;}
body.a11y-dark .top-count-meta{color:#f8fbff;}
@media(max-width:460px){.top-user-chip{font-size:8.5px;padding:2px 5px}.top-participation-count{font-size:1.05em}}


/* v320: Detailbilder Desktop ca. 30% kleiner + Leak-Aufgaben einheitlich */
@media (min-width:761px){
  .detail-card-leak .detail-media-first.media-count-1,
  .detail-card-poll .detail-poll-media-first.media-count-1{
    grid-template-columns:minmax(0,35%)!important;
    justify-content:center!important;
  }
  .detail-card-leak .detail-media-first:not(.media-count-1),
  .detail-card-poll .detail-poll-media-first:not(.media-count-1){
    max-width:70%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}
.leak-task-list{display:grid;gap:10px;}
.leak-task-item{display:grid;grid-template-columns:1fr auto;grid-template-areas:"main action";gap:12px;align-items:end;padding:14px 16px!important;}
.leak-task-main{grid-area:main;display:grid;gap:4px;min-width:0;}
.leak-task-main strong{line-height:1.25;}
.leak-task-main span{color:var(--muted);line-height:1.35;}
.leak-task-status{display:inline-flex;align-items:center;gap:6px;width:max-content;border-radius:999px;background:#edf4ff;color:var(--primary);font-size:12px;font-weight:900;padding:5px 9px;margin-top:3px;}
.leak-task-status.done{background:#e4f7ec;color:var(--ok);}
.leak-task-actions{grid-area:action;display:flex;align-items:flex-end;justify-content:flex-end;align-self:end;}
.leak-task-actions .secondary.small{white-space:nowrap;margin:0!important;}
@media(max-width:620px){
  .leak-task-item{grid-template-columns:1fr;grid-template-areas:"main" "action";align-items:start;}
  .leak-task-actions{justify-content:flex-end;width:100%;}
}

/* v321: Alle-Leaks-&-Polls Filter/Status */
.all-filter-card{padding:clamp(18px,2.4vw,28px)!important;}
.all-filter-form{gap:1rem!important;}
.all-filter-form label{min-width:0;}
.all-preview-card.is-owned-by-user{
  border-color:#94d6a6!important;
  box-shadow:0 10px 28px rgba(22,163,74,.13)!important;
  background:linear-gradient(180deg,#ffffff 0%,#f4fff7 100%);
}
.all-user-markers{margin-top:3px;}
.all-preview-card .top-count-meta{display:inline-flex;align-items:baseline;gap:4px;color:#172033;font-weight:850;}
.all-preview-card .top-participation-count{font-size:1.16em;color:#0a8f24;font-weight:950;}
.all-preview-card .top-done-indicator{cursor:default!important;pointer-events:none;}
body.a11y-dark .all-preview-card.is-owned-by-user{background:#102017!important;border-color:#2f8f52!important;}
@media(max-width:900px){.all-filter-card{padding:16px!important}.all-filter-form{gap:.85rem!important}}

/* v323: einheitliche Preview-Kartenhöhe für Top5 und Alle-Seite */
.top-list{
  grid-auto-rows:136px;
}
.top-item.unified-preview-card,
.all-feed .all-preview-card{
  height:136px;
  min-height:136px;
  max-height:136px;
  align-items:stretch!important;
  overflow:hidden;
}
.top-item.unified-preview-card .preview-media,
.all-feed .all-preview-card .preview-media{
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  align-self:stretch!important;
}
.preview-card-body,
.all-preview-card .card-body.preview-card-body,
.top-item .preview-card-body{
  height:100%;
  min-height:0;
  align-self:stretch!important;
  align-content:start!important;
  grid-template-rows:auto auto auto minmax(0,1fr) auto;
  overflow:hidden;
  gap:4px;
}
.preview-card-body .badge{
  max-width:100%;
}
.top-user-markers,
.all-user-markers{
  min-height:20px;
  max-height:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  gap:4px;
  flex-wrap:nowrap;
  margin:0!important;
}
.preview-card-body:not(:has(.top-user-markers))::after{
  content:"";
  display:block;
  min-height:0;
}
.top-user-chip{
  white-space:nowrap;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}
.preview-card-body h3,
.all-preview-card .card-body h3,
.top-item .preview-card-body h3{
  min-height:36px;
  max-height:36px;
  -webkit-line-clamp:2!important;
}
.preview-card-body .preview-excerpt,
.all-preview-card .card-body p.preview-excerpt,
.top-item .preview-card-body p.preview-excerpt{
  min-height:16px;
  max-height:16px;
  -webkit-line-clamp:1!important;
}
.preview-card-body .meta,
.all-preview-card .card-body .meta,
.top-item .preview-card-body .meta{
  min-height:30px;
  max-height:30px;
  -webkit-line-clamp:2!important;
}
.preview-card-actions,
.top-card-actions.preview-card-actions,
.all-preview-card .preview-card-actions{
  min-width:0;
  height:100%;
  align-self:stretch!important;
  align-content:center;
  justify-content:center;
  overflow:hidden;
}
.preview-icon-btn{
  flex:0 0 auto;
}
.all-feed{
  align-items:stretch!important;
}
@media(max-width:860px){
  .top-list{grid-auto-rows:124px;}
  .top-item.unified-preview-card,
  .all-feed .all-preview-card{
    height:124px;
    min-height:124px;
    max-height:124px;
  }
  .top-user-markers,.all-user-markers{min-height:18px;max-height:18px;}
  .preview-card-body h3,.all-preview-card .card-body h3,.top-item .preview-card-body h3{min-height:31px;max-height:31px;}
  .preview-card-body .preview-excerpt{min-height:14px;max-height:14px;}
  .preview-card-body .meta{min-height:27px;max-height:27px;}
}
@media(max-width:460px){
  .top-list{grid-auto-rows:116px;}
  .top-item.unified-preview-card,
  .all-feed .all-preview-card{
    height:116px;
    min-height:116px;
    max-height:116px;
  }
  .preview-card-body .preview-excerpt{display:-webkit-box!important;}
  .preview-card-body .meta{-webkit-line-clamp:2!important;}
}


/* v323: Preview-Karten etwas höher + feste Textmengen mit sauberem ... */
.top-list{
  grid-auto-rows:178px!important;
}
.top-item.unified-preview-card,
.all-feed .all-preview-card{
  height:178px!important;
  min-height:178px!important;
  max-height:178px!important;
  grid-template-columns:minmax(92px,24%) minmax(0,56%) minmax(54px,20%)!important;
  gap:12px!important;
  padding:12px!important;
}
.top-item.unified-preview-card .preview-media,
.all-feed .all-preview-card .preview-media{
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  align-self:stretch!important;
}
.preview-card-body,
.all-preview-card .card-body.preview-card-body,
.top-item .preview-card-body{
  display:grid!important;
  grid-template-rows:auto auto auto auto auto!important;
  align-content:center!important;
  gap:6px!important;
  min-width:0!important;
  overflow:hidden!important;
}
.preview-card-body .badge{
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.top-user-markers,
.all-user-markers{
  min-height:22px!important;
  max-height:22px!important;
  overflow:hidden!important;
  flex-wrap:nowrap!important;
}
.preview-card-body h3,
.all-preview-card .card-body h3,
.top-item .preview-card-body h3{
  min-height:40px!important;
  max-height:40px!important;
  font-size:16px!important;
  line-height:1.25!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  overflow-wrap:anywhere!important;
}
.preview-card-body .preview-excerpt,
.all-preview-card .card-body p.preview-excerpt,
.top-item .preview-card-body p.preview-excerpt{
  display:-webkit-box!important;
  min-height:34px!important;
  max-height:34px!important;
  font-size:13px!important;
  line-height:1.3!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  overflow-wrap:anywhere!important;
}
.preview-card-body .meta,
.all-preview-card .card-body .meta,
.top-item .preview-card-body .meta{
  display:-webkit-box!important;
  min-height:34px!important;
  max-height:34px!important;
  font-size:11.5px!important;
  line-height:1.28!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  overflow-wrap:anywhere!important;
}
.preview-card-actions,
.top-card-actions.preview-card-actions,
.all-preview-card .preview-card-actions{
  height:100%!important;
  align-self:stretch!important;
  justify-content:center!important;
  align-content:center!important;
  overflow:hidden!important;
}
@media(max-width:860px){
  .top-list{grid-auto-rows:164px!important;}
  .top-item.unified-preview-card,
  .all-feed .all-preview-card{
    height:164px!important;
    min-height:164px!important;
    max-height:164px!important;
    grid-template-columns:minmax(78px,24%) minmax(0,56%) minmax(44px,20%)!important;
    gap:9px!important;
    padding:9px!important;
  }
  .top-user-markers,.all-user-markers{min-height:19px!important;max-height:19px!important;}
  .preview-card-body h3,.all-preview-card .card-body h3,.top-item .preview-card-body h3{font-size:14px!important;min-height:35px!important;max-height:35px!important;}
  .preview-card-body .preview-excerpt{font-size:11.8px!important;min-height:30px!important;max-height:30px!important;}
  .preview-card-body .meta{font-size:10.5px!important;min-height:30px!important;max-height:30px!important;}
}
@media(max-width:460px){
  .top-list{grid-auto-rows:154px!important;}
  .top-item.unified-preview-card,
  .all-feed .all-preview-card{
    height:154px!important;
    min-height:154px!important;
    max-height:154px!important;
    grid-template-columns:minmax(70px,24%) minmax(0,56%) minmax(38px,20%)!important;
    gap:8px!important;
    padding:8px!important;
  }
  .preview-card-body h3,.all-preview-card .card-body h3,.top-item .preview-card-body h3{font-size:13.5px!important;min-height:33px!important;max-height:33px!important;}
  .preview-card-body .preview-excerpt{display:-webkit-box!important;font-size:11.2px!important;min-height:28px!important;max-height:28px!important;-webkit-line-clamp:2!important;}
  .preview-card-body .meta{font-size:9.8px!important;min-height:27px!important;max-height:27px!important;-webkit-line-clamp:2!important;}
}

/* v324: Profil-Vorschau-Kontrast, Vorschau-Overlay und Inhaltsstatus */
.profile-page .profile-hero-actions .profile-cta.preview,
.profile-page .profile-hero-actions button.profile-cta.preview{
  background:linear-gradient(90deg,#10233f 0%,#1f3558 100%)!important;
  color:#fff!important;
  border-color:rgba(16,35,63,.45)!important;
  box-shadow:0 14px 28px rgba(16,35,63,.18)!important;
}
.profile-page .profile-hero-actions .profile-cta.preview:hover,
.profile-page .profile-hero-actions button.profile-cta.preview:hover{
  background:linear-gradient(90deg,#0b172c 0%,#162a49 100%)!important;
  color:#fff!important;
}
.profile-preview-dialog{
  width:min(1040px,94vw);
  height:min(860px,90vh);
  padding:0;
  border:0;
  border-radius:28px;
  background:#fff;
  box-shadow:0 28px 90px rgba(15,23,42,.35);
  overflow:hidden;
}
.profile-preview-dialog::backdrop{background:rgba(15,23,42,.58)}
.profile-preview-dialog iframe{display:block;width:100%;height:100%;border:0;background:#f3f6fb}
.profile-preview-close{
  position:absolute;right:14px;top:14px;z-index:5;
  width:40px;height:40px;border-radius:999px;border:1px solid rgba(17,40,74,.12);
  background:#fff;color:#10233f;font-size:26px;line-height:1;box-shadow:0 10px 28px rgba(15,23,42,.15);
}
.profile-content-list .profile-content-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:stretch;
  position:relative;
}
.profile-content-list .profile-content-item.is-inactive{
  background:linear-gradient(180deg,#fff8f4,#ffffff);
  border-color:rgba(234,88,12,.26);
}
.profile-content-main{min-width:0;display:grid;gap:8px;align-content:start}
.profile-content-head{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;min-width:0}
.profile-content-head strong{min-width:0;max-width:100%}
.profile-content-head strong a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.profile-content-meta{display:block;line-height:1.35}
.profile-content-links{font-size:.95rem;line-height:1.4}
.profile-content-actions{
  display:flex;
  gap:8px;
  align-items:flex-end;
  justify-content:flex-end;
  align-self:end;
  flex-wrap:wrap;
  min-width:150px;
}
.profile-content-actions button{white-space:nowrap}
.profile-status-badge{
  flex:0 0 auto;
  display:inline-flex;align-items:center;justify-content:center;
  padding:6px 10px;border-radius:999px;font-size:.78rem;font-weight:900;line-height:1;
  border:1px solid rgba(17,40,74,.10);background:#eef2f7;color:#334155;
}
.profile-status-badge.is-active{background:rgba(33,176,92,.13);color:#116b37;border-color:rgba(33,176,92,.24)}
.profile-status-badge.is-inactive{background:rgba(234,88,12,.13);color:#9a3412;border-color:rgba(234,88,12,.25)}
.profile-status-badge.is-archived{background:rgba(100,116,139,.13);color:#475569;border-color:rgba(100,116,139,.22)}
.profile-status-badge.is-pending{background:rgba(245,158,11,.16);color:#92400e;border-color:rgba(245,158,11,.26)}
.profile-status-badge.is-rejected{background:rgba(220,38,38,.12);color:#991b1b;border-color:rgba(220,38,38,.22)}
.profile-inactive-note{
  margin:0;
  color:#9a3412;
  font-weight:750;
  font-size:.92rem;
}
@media(max-width:760px){
  .profile-preview-dialog{width:96vw;height:88vh;border-radius:22px}
  .profile-content-list .profile-content-item{grid-template-columns:1fr}
  .profile-content-actions{justify-content:flex-start;min-width:0}
  .profile-content-actions button{flex:1 1 auto}
}

/* v325: Feinheiten Registrierung/Organisation/Leak-Details */
@media (min-width: 900px){
  .howto-overlay{width:min(1180px,96vw)!important;max-width:1180px!important;max-height:96vh!important}
  .howto-overlay-box{max-height:96vh!important;padding:24px!important}
  .howto-overlay-box img{max-height:min(78vh,820px)!important}
}
.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.section-title-row h2{margin:0}
.section-title-row .small{padding:8px 12px;font-size:13px}
.org-logo-upload-top{margin:10px 0 14px;padding:12px;border:1px solid var(--line);border-radius:18px;background:#f8fafc}
.org-create-form:not([hidden]){scroll-margin-top:110px}
.auth-dialog .auth-form[hidden]{display:none!important}


/* v328: Preview-Karten neu geordnet, Aktionen kompakt in der Ecke */
.top-panel{align-content:start!important;align-items:start!important;}
.top-list{align-content:start!important;align-items:start!important;}
.top-item.unified-preview-card,
.all-feed .all-preview-card{position:relative!important;grid-template-columns:minmax(92px,24%) minmax(0,1fr)!important;padding-right:54px!important;align-items:stretch!important;}
.top-card-actions.preview-card-actions,
.all-preview-card .preview-card-actions{position:absolute!important;right:8px!important;top:8px!important;width:auto!important;height:auto!important;min-width:0!important;display:flex!important;flex-direction:column!important;gap:6px!important;align-content:start!important;justify-content:flex-start!important;z-index:3!important;}
.preview-card-actions .preview-icon-btn{width:34px!important;height:34px!important;min-width:34px!important;border-radius:12px!important;box-shadow:0 8px 18px rgba(22,35,58,.12)!important;background:#fff!important;}
.preview-card-body,.all-preview-card .card-body.preview-card-body,.top-item .preview-card-body{align-content:start!important;padding-right:0!important;}
.preview-card-body h3,.all-preview-card .card-body h3,.top-item .preview-card-body h3{font-size:15.5px!important;-webkit-line-clamp:2!important;}
.preview-card-body .preview-excerpt,.all-preview-card .card-body p.preview-excerpt,.top-item .preview-card-body p.preview-excerpt{-webkit-line-clamp:2!important;}
.top-count-meta{font-weight:900!important;}
.inactive-owner-note{border-color:#f4b24d!important;background:#fff7e8!important;margin-top:14px!important;}
.all-head-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
.public-profile-embed{background:#f3f6fb!important;}
.public-profile-embed .public-profile-shell{padding:18px!important;max-width:920px!important;}
.public-profile-embed .profile-hero{margin-top:0!important;}
.public-profile-embed .profile-shell{min-height:auto!important;}
.org-profile-shortcut{display:inline-flex;margin-top:8px;text-decoration:none;}
.profile-preview-dialog iframe{background:#f3f6fb!important;}
@media(max-width:620px){.top-item.unified-preview-card,.all-feed .all-preview-card{grid-template-columns:minmax(70px,25%) minmax(0,1fr)!important;padding-right:48px!important}.preview-card-actions .preview-icon-btn{width:30px!important;height:30px!important;min-width:30px!important}}

.quick-create-dialog{width:min(1120px,96vw);height:min(880px,92vh);border:0;border-radius:26px;padding:0;box-shadow:0 30px 90px rgba(15,23,42,.32);overflow:hidden;background:#f3f6fb}.quick-create-dialog::backdrop{background:rgba(15,23,42,.6)}.quick-create-dialog iframe{width:100%;height:100%;border:0;background:#f3f6fb}.quick-create-dialog .profile-preview-close{z-index:10}

/* v328: regionale Teilnahme, Sunshine-Bereich getrennt */
button[disabled].leak-primary, button[disabled].poll-primary, .participation-disabled-note + .card-actions button[disabled]{opacity:.48;cursor:not-allowed;filter:grayscale(.15)}
.participation-disabled-note{border-left:4px solid #f59e0b;background:#fff7ed;color:#7c2d12}
.group-join-card,.leak-group-teaser .group-invite-box{padding:16px;border:1px solid rgba(32,185,117,.22);background:#f0fdf4;border-radius:18px;margin:12px 0;display:grid;gap:12px}
.group-join-card select,.group-invite-box select{width:100%;padding:12px 14px;border:1px solid rgba(15,23,42,.16);border-radius:12px;background:#fff;color:#0f172a}
.sunshine-group-page .detail-meta{margin-bottom:18px}.task-category-block{margin-top:18px}.task-category-block h3{margin:0 0 10px;color:#0f5132}.leak-task-item.is-hidden-task{opacity:.72;background:#f8fafc;border-style:dashed}.leak-task-status.done{color:#178757;font-weight:800}.leak-task-status.open{color:#8a5a00}.leak-task-actions{display:flex;gap:8px;align-items:flex-end;justify-content:flex-end;flex-wrap:wrap}.leak-public-tasks-box{border-color:rgba(32,185,117,.28);background:linear-gradient(180deg,#ffffff,#f2fbf6)}.public-task-list .leak-task-item{background:#fff}.group-summary-line{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.group-summary-line span{padding:5px 8px;border-radius:999px;background:#f1f5f9;font-size:.9rem}.profile-list-item.leak-task-item{align-items:stretch}.leak-task-main{min-width:0}.leak-task-main span{display:block;margin-top:4px}.notice.warn{background:#fff7ed;border-color:#fed7aa;color:#7c2d12}.notice.ok{background:#ecfdf5;border-color:#bbf7d0;color:#065f46}
@media(max-width:720px){.leak-task-actions{justify-content:flex-start}.sunshine-group-page .profile-list-item{gap:10px}}


/* v330: Alle-Seite Erstellen-Buttons und eingebettetes Erstellen-Overlay */
.all-head-actions .all-create-btn{min-height:42px;border:0!important;border-radius:999px!important;padding:11px 18px!important;font-weight:900!important;text-decoration:none!important;box-shadow:0 12px 26px rgba(15,23,42,.12)!important;color:#fff!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important}
.all-head-actions .all-create-btn.leak-action{background:var(--leak,#1b8f5a)!important;color:#fff!important}
.all-head-actions .all-create-btn.poll-action{background:var(--poll,#1565c0)!important;color:#fff!important}
.all-head-actions .all-create-btn.leak-action:hover{filter:brightness(.94)}
.all-head-actions .all-create-btn.poll-action:hover{filter:brightness(.94)}
body.embed-create-mode{background:#f3f6fb!important;overflow:hidden!important}
body.embed-create-mode > header,body.embed-create-mode > footer,body.embed-create-mode > .site-footer,body.embed-create-mode .site-header,body.embed-create-mode .central-header,body.embed-create-mode .lumi-chat,body.embed-create-mode .fab-wrap,body.embed-create-mode #accessPanel,body.embed-create-mode #accessBtn{display:none!important}
body.embed-create-mode main{position:fixed!important;left:-9999px!important;top:0!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
body.embed-create-mode #reportSheet.sheet{position:fixed!important;inset:0!important;width:100vw!important;max-width:100vw!important;height:100vh!important;max-height:100vh!important;margin:0!important;border:0!important;border-radius:0!important;padding:0!important;background:#f3f6fb!important;box-shadow:none!important;overflow:hidden!important}
body.embed-create-mode #reportSheet::backdrop{background:#f3f6fb!important}
body.embed-create-mode #reportSheet form{width:100%!important;max-width:none!important;height:100vh!important;max-height:100vh!important;overflow:auto!important;border-radius:0!important;margin:0!important;padding:22px!important;box-sizing:border-box!important;background:#f3f6fb!important}
body.embed-create-mode #reportSheet .close{position:fixed!important;top:12px!important;right:14px!important;z-index:20!important}
body.embed-create-mode .quick-create-dialog{background:#f3f6fb!important;width:min(1180px,98vw)!important;height:min(960px,96vh)!important}
@media(min-width:900px){body.embed-create-mode #reportSheet.sheet{width:100vw!important;max-width:100vw!important;border-radius:0!important}body.embed-create-mode #reportSheet form{padding:26px 34px!important}}
@media(max-width:700px){body.embed-create-mode #reportSheet form{padding:18px 14px!important}}

/* v332: Leak/Poll-Titel nicht mehr hart auf 50 Zeichen quetschen.
   Das Titelfeld ist zweizeilig, damit Lumi-Vorschläge sichtbar bearbeitet werden können. */
.report-title-field textarea[name="title"]{
  min-height:72px;
  line-height:1.35;
  resize:vertical;
}
#reportSheet.report-leak .report-title-field textarea[name="title"],
#reportSheet.report-poll .report-title-field textarea[name="title"]{
  font-weight:850;
}
.report-title-field small{
  margin-top:-2px;
  font-weight:650;
}

/* v333: Design-/Struktur-Polish */
.map-intro-card{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:end;margin:14px auto 10px;max-width:1180px;padding:18px 20px;border:1px solid rgba(17,40,74,.10);border-radius:24px;background:linear-gradient(135deg,#ffffff,#f4fbf7);box-shadow:0 14px 38px rgba(15,23,42,.08)}
.map-intro-card h2{margin:0 0 4px;color:#172033;font-size:clamp(20px,2.2vw,30px)}
.map-intro-card p{margin:0}.map-intro-card .desktop-map-actions{margin:0;display:flex;width:min(420px,42vw)}
.map-shell-highlight{border:1px solid rgba(17,40,74,.18)!important;box-shadow:0 22px 65px rgba(15,23,42,.16)!important;background:#fff;border-radius:30px;padding:12px!important}
.map-shell-highlight #map{border-radius:22px!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.map-shell-highlight .map-filterbar{top:18px!important;left:18px!important;max-width:min(450px,calc(100% - 36px));box-shadow:0 14px 35px rgba(15,23,42,.18)!important;border:1px solid rgba(17,40,74,.12)!important}
.map-shell-highlight .map-entry-panel{padding:8px!important}.map-shell-highlight .map-search-row input{min-height:40px!important}

.unified-preview-card.report-leak,.top-item-leak{border-left:5px solid var(--leak,#1b8f4d)!important;background:linear-gradient(90deg,rgba(27,143,77,.075),#fff 35%)!important}
.unified-preview-card.report-poll,.top-item-poll{border-left:5px solid var(--poll,#1565c0)!important;background:linear-gradient(90deg,rgba(21,101,192,.075),#fff 35%)!important}
.top-user-chip-mine{position:relative;padding-left:26px!important;background:#fff7ed!important;color:#9a3412!important;border:1px solid #fed7aa!important}
.top-user-chip-mine::before{content:'👤';position:absolute;left:8px;top:50%;transform:translateY(-50%);font-size:12px}.top-user-chip-mine:hover::after{content:'Das ist dein Leak / deine Poll';position:absolute;z-index:30;left:0;bottom:calc(100% + 8px);white-space:nowrap;background:#172033;color:#fff;border-radius:10px;padding:7px 9px;font-size:12px;box-shadow:0 10px 24px rgba(15,23,42,.22)}
.top-count-meta,.top-participation-count{font-weight:950!important;color:#172033!important}.top-participation-count{font-size:1.12em}.preview-card-actions,.top-card-actions{position:absolute!important;right:9px!important;top:9px!important;display:flex!important;gap:6px!important;justify-content:flex-end!important;align-items:center!important;width:auto!important;background:rgba(255,255,255,.78);border-radius:16px;padding:4px!important;backdrop-filter:blur(8px)}
.unified-preview-card{grid-template-columns:minmax(78px,24%) minmax(0,1fr)!important;min-height:210px!important;padding:14px!important;padding-right:72px!important}.preview-card-body{align-self:stretch!important;align-content:start!important;padding-top:6px!important}.preview-card-body h3{-webkit-line-clamp:2!important;font-size:16.5px!important}.preview-card-body p{-webkit-line-clamp:3!important}.preview-card-body .meta{-webkit-line-clamp:2!important}.top-list{align-content:start!important;align-items:start!important}.top-panel{align-content:start!important}.preview-icon-btn{width:32px!important;height:32px!important;min-width:32px!important;border-radius:12px!important}

.public-profile-card{max-width:980px;margin:0 auto;display:grid;gap:18px}.public-profile-main{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}.public-profile-avatar{width:96px!important;height:96px!important}.public-profile-headtext h1{margin:0;font-size:clamp(28px,4vw,44px)}.public-profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.public-profile-stats span{display:grid;place-items:center;border:1px solid var(--line);border-radius:18px;padding:13px;background:#f8fbff}.public-profile-stats b{font-size:26px;color:#172033}.public-profile-stats small{color:var(--muted);font-weight:800}.public-profile-perspectives{display:grid;gap:8px}.public-profile-perspectives div{display:flex;flex-wrap:wrap;gap:7px}.public-profile-perspectives span{border:1px solid rgba(27,143,77,.22);background:#ecfdf3;color:#11623d;border-radius:999px;padding:7px 10px;font-weight:850;font-size:13px}.public-org-button{box-shadow:0 12px 24px rgba(21,101,192,.18)!important}

.detail-level-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0}.leak-level-pill{display:inline-flex;align-items:center;border-radius:999px;background:#ecfdf3;color:#11623d;border:1px solid rgba(27,143,77,.24);padding:7px 11px;font-weight:950}.leak-next-compact{padding:16px!important}.leak-next-compact h2{margin-bottom:8px!important}.leak-next-compact p{margin:4px 0!important;line-height:1.28!important}.leak-group-teaser{order:2}.leak-local-poll-box{order:3}.leak-events-box{order:4}.leak-public-tasks-box{order:5}.detail-card-leak{display:flex!important;flex-direction:column!important}.group-overlay-dialog{width:min(1120px,96vw);height:min(900px,94vh);padding:0;border:0;border-radius:28px;box-shadow:0 30px 95px rgba(15,23,42,.34);overflow:hidden;background:#fff}.group-overlay-dialog::backdrop{background:rgba(15,23,42,.58)}.group-overlay-dialog iframe{border:0;width:100%;height:100%;display:block;background:#f8fbff}.group-overlay-close{z-index:5!important}

.group-embed-page{background:#f8fbff!important}.group-embed-page main{padding:18px!important}.group-workspace{max-width:1080px!important}.group-workspace-head,.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.group-hero-panel{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start;border:1px solid rgba(17,40,74,.10);background:linear-gradient(135deg,#fff,#f4fbf7);border-radius:24px;padding:18px}.group-quick-facts{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));gap:8px}.group-quick-facts span{display:grid;place-items:center;text-align:center;border:1px solid var(--line);background:#fff;border-radius:18px;padding:10px}.group-quick-facts b{font-size:20px}.group-quick-facts small{color:var(--muted);font-weight:850}.group-moderation-line{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px 14px}.group-collapse-card{border:1px solid var(--line);border-radius:20px;background:#fff;padding:0;margin:12px 0;overflow:hidden}.group-collapse-card>summary{cursor:pointer;list-style:none;padding:15px 16px;font-weight:950;display:flex;justify-content:space-between;align-items:center}.group-collapse-card>summary::-webkit-details-marker{display:none}.group-collapse-card[open]>summary{border-bottom:1px solid var(--line);background:#f8fbff}.group-collapse-card>*:not(summary){margin:14px 16px}.group-active-tasks{border:1px solid rgba(27,143,77,.18);background:#f4fbf7;border-radius:22px;padding:16px}.leak-task-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.leak-task-status{text-transform:none!important}.group-member-list .profile-list-item span,.group-member-list .profile-list-item small{display:block;margin-top:3px}.is-hidden-task{opacity:.78;background:#f8fafc!important}

@media(max-width:760px){.map-intro-card{grid-template-columns:1fr;margin:10px 8px;padding:14px}.map-intro-card .desktop-map-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.map-shell-highlight{padding:7px!important;border-radius:22px!important}.unified-preview-card{grid-template-columns:84px 1fr!important;min-height:220px!important;padding-right:64px!important}.preview-media{align-self:start}.public-profile-main{grid-template-columns:1fr;text-align:center}.public-profile-avatar{margin:auto}.public-profile-stats{grid-template-columns:1fr 1fr 1fr}.group-hero-panel{grid-template-columns:1fr}.group-quick-facts{grid-template-columns:1fr 1fr}.group-overlay-dialog{width:98vw;height:94vh;border-radius:20px}}
.local-poll-card{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid rgba(21,101,192,.16);background:#f4f8ff;border-radius:18px;padding:12px}.local-poll-card div{display:grid;gap:4px}.local-poll-card span{color:var(--muted);font-size:13px}
/* v335 organization/profile workflow polish */
.org-join-card{margin-top:1rem;padding:1rem;border:1px solid rgba(37,99,235,.18);background:#f8fbff;border-radius:18px;box-shadow:0 14px 28px rgba(15,23,42,.08)}
.org-join-card h2{margin:.1rem 0 .5rem;font-size:1.05rem}.org-join-card textarea{width:100%;resize:vertical}.org-member-list article,.org-request-list article{display:grid;gap:.35rem;padding:.75rem;border:1px solid rgba(15,23,42,.08);border-radius:14px;background:#fff}.org-members h4{margin:1rem 0 .4rem}.reactivate-deadline{display:inline-grid;gap:.2rem;font-size:.82rem;color:#334155;margin-right:.35rem}.reactivate-deadline input{min-width:9.5rem;padding:.48rem .6rem;border:1px solid rgba(15,23,42,.18);border-radius:10px}.verified-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.18rem .55rem;border-radius:999px;background:#dcfce7;color:#166534;font-weight:800}

/* v335: Top5/Preview-Badge nicht mehr vertikal abschneiden.
   Die Typ-/Kategorie-Zeile (z.B. "Leak · Sicherheit & Aufenthaltsgefühl") braucht
   eine feste lesbare Höhe statt line-height:1 mit zu engem Padding. */
.top-item.unified-preview-card .preview-card-body .badge,
.all-feed .all-preview-card .preview-card-body .badge,
.unified-preview-card .preview-card-body .badge{
  display:inline-flex!important;
  align-items:center!important;
  max-width:100%!important;
  min-height:24px!important;
  max-height:none!important;
  padding:5px 8px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  vertical-align:top!important;
}
.top-item.unified-preview-card .preview-card-body,
.all-feed .all-preview-card .preview-card-body,
.unified-preview-card .preview-card-body{
  gap:5px!important;
  padding-top:8px!important;
}
@media(max-width:760px){
  .top-item.unified-preview-card .preview-card-body .badge,
  .all-feed .all-preview-card .preview-card-body .badge,
  .unified-preview-card .preview-card-body .badge{
    min-height:22px!important;
    padding:4px 7px!important;
    line-height:1.18!important;
  }
}

/* v337: Header, Chrysos-Erklärung, Admin-/Kontakt-Polish */
.appbar .brand-logo-link{flex:0 0 auto;margin-right:8px}
.appbar .top-stats{margin-left:0!important;margin-right:auto!important;flex:0 0 auto;justify-content:flex-start!important}
.header-chrysos{border:1px solid var(--neutral-line,#d8e2ef);background:#fff;border-radius:999px;display:inline-flex;align-items:center;gap:4px;min-height:38px;padding:5px 8px;cursor:pointer;box-shadow:0 6px 16px rgba(22,35,58,.08)}
.header-chrysos:hover{background:#eef8ff}
.chrysos-info-dialog{border:0;border-radius:28px;padding:0;max-width:min(720px,calc(100vw - 24px));max-height:min(92vh,900px);box-shadow:0 28px 90px rgba(10,20,40,.32);overflow:hidden;background:#fff}
.chrysos-info-dialog::backdrop{background:rgba(10,18,30,.48);backdrop-filter:blur(5px)}
.chrysos-info-dialog img{display:block;width:100%;height:auto;max-height:92vh;object-fit:contain;background:#fff}
.chrysos-info-dialog .close{z-index:2;background:rgba(255,255,255,.92);box-shadow:0 8px 22px rgba(0,0,0,.16)}
.join-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.join-hero-actions .primary,.join-hero-actions .secondary{min-width:180px;text-align:center}.join-hero-actions .secondary[disabled]{opacity:.8;cursor:not-allowed}.join-model-region{grid-column:1/-1;border:1px solid rgba(27,143,77,.24);background:linear-gradient(135deg,#f2fff7,#fff);margin:18px 0 16px;padding:24px 26px}.join-model-region h2{margin:.1rem 0 .6rem;color:#0a7e35;font-size:clamp(25px,3vw,36px)}.join-model-region p{font-size:17px;line-height:1.55;color:#213047}
.admin-actions button.is-current{color:#fff!important;border-color:transparent!important;box-shadow:0 8px 20px rgba(0,0,0,.16);transform:translateY(-1px)}
.admin-actions .admin-action-activate.is-current,.admin-actions .admin-action-active.is-current,.admin-actions .admin-action-verified.is-current{background:#15803d!important}.admin-actions .admin-action-review.is-current,.admin-actions .admin-action-in_review.is-current,.admin-actions .admin-action-set_review.is-current{background:#d97706!important}.admin-actions .admin-action-archive.is-current{background:#475569!important}.admin-actions .admin-action-deactivate.is-current,.admin-actions .admin-action-deactivated.is-current{background:#334155!important}.admin-actions .admin-action-delete.is-current,.admin-actions .admin-action-deleted.is-current,.admin-actions .admin-action-set_delete.is-current{background:#991b1b!important}.admin-actions .admin-action-rejected.is-current,.admin-actions .admin-action-blocked.is-current{background:#b91c1c!important}
.data-table tr:has(.admin-action-delete.is-current),.data-table tr:has(.admin-action-deleted.is-current){opacity:.74;background:#fff7f7}.data-table tr:has(.admin-action-review.is-current),.data-table tr:has(.admin-action-in_review.is-current){background:#fffbeb}.admin-stat:nth-child(11),.admin-stat:nth-child(12),.admin-stat:nth-child(15){border-color:#fed7aa;background:#fff7ed}.admin-stat:nth-child(11) strong,.admin-stat:nth-child(12) strong,.admin-stat:nth-child(15) strong{color:#c2410c}
.leak-task-item[title]{cursor:help}
@media(max-width:760px){.appbar .top-stats{margin-left:2px!important;margin-right:2px!important;gap:3px}.appbar .top-stats span{padding:4px 5px}.header-chrysos strong{display:none}.chrysos-info-dialog{max-width:calc(100vw - 12px);border-radius:20px}.join-hero-actions .primary,.join-hero-actions .secondary{width:100%;min-width:0}}

/* v337: Header-Statistik als Textliste direkt neben dem Logo + mobile Preview-Karten repariert */
html body .appbar .brand-logo-link{
  flex:0 0 auto!important;
  margin-right:10px!important;
}
html body .appbar .top-stats.top-stats-text{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:1px!important;
  margin:0 auto 0 0!important;
  padding:0!important;
  min-width:82px!important;
  max-width:132px!important;
  justify-content:start!important;
  align-items:start!important;
  white-space:nowrap!important;
  overflow:visible!important;
  flex:0 0 auto!important;
}
html body .appbar .top-stats.top-stats-text .stat-line,
html body .appbar .top-stats.top-stats-text > span{
  display:flex!important;
  align-items:baseline!important;
  justify-content:flex-start!important;
  gap:4px!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#516174!important;
  font-size:11px!important;
  line-height:1.1!important;
  font-weight:850!important;
}
html body .appbar .top-stats.top-stats-text .stat-line em{
  font-style:normal!important;
  min-width:39px!important;
  color:#516174!important;
}
html body .appbar .top-stats.top-stats-text .stat-line strong{
  font-size:11.5px!important;
  line-height:1.05!important;
  color:#172033!important;
  font-weight:950!important;
}
html body .appbar .top-stats.top-stats-text .stat-leaks strong{color:var(--leak,#1b8f4d)!important;}
html body .appbar .top-stats.top-stats-text .stat-polls strong{color:var(--poll,#1565c0)!important;}
html body .appbar .top-stats.top-stats-text img,
html body .appbar .top-stats.top-stats-text .stat-icon{display:none!important;}

/* Mobile: Alle/Top-Kacheln nicht zweispaltig quetschen und nicht unten abschneiden */
@media(max-width:760px){
  html body .appbar{gap:6px!important;padding-left:max(10px,env(safe-area-inset-left))!important;padding-right:max(10px,env(safe-area-inset-right))!important;}
  html body .appbar .brand-logo-mobile{max-width:88px!important;height:30px!important;}
  html body .appbar .top-stats.top-stats-text{min-width:72px!important;max-width:88px!important;gap:0!important;}
  html body .appbar .top-stats.top-stats-text .stat-line,
  html body .appbar .top-stats.top-stats-text > span{font-size:9.5px!important;line-height:1.05!important;gap:3px!important;}
  html body .appbar .top-stats.top-stats-text .stat-line em{min-width:33px!important;}
  html body .appbar .top-stats.top-stats-text .stat-line strong{font-size:10px!important;}

  html body .all-feed,
  html body .top-list{
    grid-template-columns:1fr!important;
    display:grid!important;
    gap:12px!important;
    align-items:start!important;
    align-content:start!important;
  }
  html body .top-overview-grid{grid-template-columns:1fr!important;}
  html body .top-list{grid-auto-rows:auto!important;}
  html body .top-item.unified-preview-card,
  html body .all-feed .all-preview-card,
  html body .unified-preview-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:176px!important;
    max-height:none!important;
    overflow:visible!important;
    display:grid!important;
    grid-template-columns:112px minmax(0,1fr)!important;
    grid-template-areas:'media body'!important;
    gap:12px!important;
    padding:12px 56px 12px 12px!important;
    border-radius:22px!important;
    align-items:stretch!important;
  }
  html body .top-item.unified-preview-card .preview-media,
  html body .all-feed .all-preview-card .preview-media,
  html body .unified-preview-card .preview-media{
    grid-area:media!important;
    width:112px!important;
    min-width:112px!important;
    height:148px!important;
    min-height:148px!important;
    max-height:148px!important;
    align-self:start!important;
    border-radius:17px!important;
    overflow:hidden!important;
  }
  html body .preview-card-body,
  html body .all-preview-card .card-body.preview-card-body,
  html body .top-item .preview-card-body{
    grid-area:body!important;
    display:grid!important;
    grid-template-rows:auto auto auto auto auto!important;
    align-content:start!important;
    gap:6px!important;
    height:auto!important;
    min-height:148px!important;
    max-height:none!important;
    overflow:hidden!important;
    padding:2px 0 0!important;
  }
  html body .preview-card-body .badge,
  html body .all-feed .all-preview-card .preview-card-body .badge,
  html body .top-item.unified-preview-card .preview-card-body .badge{
    display:inline-flex!important;
    width:auto!important;
    max-width:100%!important;
    min-height:24px!important;
    padding:4px 8px!important;
    font-size:11px!important;
    line-height:1.18!important;
  }
  html body .preview-card-body h3,
  html body .all-preview-card .card-body h3,
  html body .top-item .preview-card-body h3{
    font-size:19px!important;
    line-height:1.15!important;
    min-height:0!important;
    max-height:44px!important;
    margin:0!important;
    -webkit-line-clamp:2!important;
  }
  html body .preview-card-body .preview-excerpt,
  html body .all-preview-card .card-body p.preview-excerpt,
  html body .top-item .preview-card-body p.preview-excerpt{
    display:-webkit-box!important;
    font-size:16px!important;
    line-height:1.25!important;
    min-height:0!important;
    max-height:42px!important;
    -webkit-line-clamp:2!important;
    margin:0!important;
  }
  html body .preview-card-body .meta,
  html body .all-preview-card .card-body .meta,
  html body .top-item .preview-card-body .meta{
    display:-webkit-box!important;
    font-size:13px!important;
    line-height:1.24!important;
    min-height:0!important;
    max-height:36px!important;
    -webkit-line-clamp:2!important;
    margin:0!important;
    overflow:hidden!important;
  }
  html body .top-user-markers,
  html body .all-user-markers{min-height:0!important;max-height:24px!important;overflow:hidden!important;}
  html body .preview-card-actions,
  html body .top-card-actions.preview-card-actions,
  html body .all-preview-card .preview-card-actions{
    position:absolute!important;
    right:10px!important;
    top:10px!important;
    width:36px!important;
    height:auto!important;
    min-width:0!important;
    max-height:none!important;
    padding:3px!important;
    display:flex!important;
    flex-direction:column!important;
    gap:7px!important;
    align-items:center!important;
    justify-content:flex-start!important;
    overflow:visible!important;
  }
  html body .preview-card-actions .preview-icon-btn,
  html body .preview-icon-btn{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    border-radius:13px!important;
    font-size:16px!important;
  }
}

@media(max-width:390px){
  html body .top-item.unified-preview-card,
  html body .all-feed .all-preview-card,
  html body .unified-preview-card{
    grid-template-columns:96px minmax(0,1fr)!important;
    padding-right:52px!important;
  }
  html body .top-item.unified-preview-card .preview-media,
  html body .all-feed .all-preview-card .preview-media,
  html body .unified-preview-card .preview-media{
    width:96px!important;
    min-width:96px!important;
    height:138px!important;
    min-height:138px!important;
    max-height:138px!important;
  }
  html body .preview-card-body h3{font-size:17px!important;}
  html body .preview-card-body .preview-excerpt{font-size:14px!important;}
}

/* v338 admin finishing: clear filters and admin to-do dashboard */
.admin-filterbar{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px;padding:10px;border:1px solid var(--line,#d9dde8);background:#f8fafc;border-radius:16px}
.admin-filterbar button{border:1px solid #d7dce8;background:#fff;border-radius:999px;padding:8px 12px;font-weight:850;cursor:pointer;color:#243047}
.admin-filterbar button strong{display:inline-flex;align-items:center;justify-content:center;margin-left:5px;min-width:1.35rem;height:1.35rem;border-radius:999px;background:#edf2f7;color:#334155;font-size:.78rem;padding:0 .35rem}
.admin-filterbar button.active{background:#171a2b;color:#fff;border-color:#171a2b;box-shadow:0 8px 18px rgba(23,26,43,.15)}
.admin-filterbar button.active strong{background:#fff;color:#171a2b}
.admin-stat-alert{border-color:#f59e0b!important;background:#fff8eb!important}
.admin-stat-alert strong{color:#b45309!important}
.admin-action-queue{grid-column:1/-1}
.admin-action-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:12px}
.admin-action-card{display:grid;gap:5px;align-content:start;border:1px solid #e2e8f0;background:#f8fafc;border-radius:16px;padding:14px;min-height:112px}
.admin-action-card strong{font-size:2rem;line-height:1;color:#64748b}
.admin-action-card span{font-weight:850;color:#334155}
.admin-action-card button{justify-self:start;margin-top:7px;border:0;border-radius:999px;background:#171a2b;color:#fff;font-weight:900;padding:8px 12px;cursor:pointer}
.admin-action-card.needs-work{background:#fff7ed;border-color:#fdba74}
.admin-action-card.needs-work strong{color:#ea580c}
.admin-status-badge{font-weight:900;border:1px solid transparent}
.admin-status-badge.status-approved,.admin-status-badge.status-active,.admin-status-badge.status-verified{background:#dcfce7;color:#166534;border-color:#bbf7d0}
.admin-status-badge.status-pending,.admin-status-badge.status-in_review,.admin-status-badge.status-open{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
.admin-status-badge.status-archived,.admin-status-badge.status-closed{background:#eef2f7;color:#334155;border-color:#cbd5e1}
.admin-status-badge.status-deactivated,.admin-status-badge.status-inactive,.admin-status-badge.status-blocked{background:#fef3c7;color:#92400e;border-color:#fde68a}
.admin-status-badge.status-deleted,.admin-status-badge.status-rejected{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.admin-actions button.is-current{box-shadow:inset 0 0 0 2px currentColor;font-weight:950}
.admin-actions .is-current.admin-action-activate{background:#dcfce7!important;color:#166534!important;border-color:#bbf7d0!important}
.admin-actions .is-current.admin-action-review,.admin-actions .is-current.admin-action-in_review{background:#fff7ed!important;color:#9a3412!important;border-color:#fed7aa!important}
.admin-actions .is-current.admin-action-archive{background:#eef2f7!important;color:#334155!important;border-color:#cbd5e1!important}
.admin-actions .is-current.admin-action-deactivate,.admin-actions .is-current.admin-action-deactivated{background:#fef3c7!important;color:#92400e!important;border-color:#fde68a!important}
.admin-actions .is-current.admin-action-delete,.admin-actions .is-current.admin-action-deleted,.admin-actions .is-current.admin-action-rejected{background:#fee2e2!important;color:#991b1b!important;border-color:#fecaca!important}
.admin-actions .is-current.admin-action-verified{background:#dcfce7!important;color:#166534!important;border-color:#bbf7d0!important}
@media(max-width:760px){.admin-action-cards{grid-template-columns:1fr}.admin-filterbar{overflow:auto;flex-wrap:nowrap}.admin-filterbar button{white-space:nowrap}}


/* v340: Go-live UI/security hardening */
.anonymous-hint{display:block;margin-top:2px;font-size:12px;font-weight:750;line-height:1.25;color:var(--muted)!important;}
.public-org-button,.public-org-button:visited{color:#fff!important;}
.public-org-button:hover{color:#fff!important;}
.admin-preview-note{max-width:900px;margin:18px auto 0;padding:16px 18px;border:1px solid #f5c469;background:#fff8e1;color:#6d4c00;}

/* v345 Cookie-Hinweis */
.cookie-consent{
  position:fixed;
  left:16px;
  right:16px;
  bottom:16px;
  z-index:9999;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  max-width:980px;
  margin:0 auto;
  padding:16px;
  border:1px solid rgba(15,23,42,.14);
  border-radius:22px;
  background:rgba(255,255,255,.97);
  box-shadow:0 24px 80px rgba(15,23,42,.24);
  color:#0f172a;
}
.cookie-consent__text strong{display:block;margin-bottom:4px;font-size:1rem}
.cookie-consent__text p{margin:.25rem 0;line-height:1.35}
.cookie-consent__small{font-size:.88rem;color:#64748b}
.cookie-consent__links{margin-top:6px;font-size:.9rem}
.cookie-consent__actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.cookie-consent__actions button{white-space:nowrap}
.cookie-settings-card{border:1px solid rgba(15,23,42,.12);border-radius:18px;padding:14px;background:#f8fafc;margin-top:12px}
.cookie-settings-card p{margin:.35rem 0 .75rem}
body.a11y-dark .cookie-consent{background:#111827;color:#f8fafc;border-color:rgba(255,255,255,.16)}
body.a11y-dark .cookie-consent__small{color:#cbd5e1}
body.a11y-dark .cookie-settings-card{background:#111827;border-color:rgba(255,255,255,.14)}
@media(max-width:720px){
  .cookie-consent{grid-template-columns:1fr;left:10px;right:10px;bottom:10px;padding:14px;border-radius:18px}
  .cookie-consent__actions{justify-content:stretch}
  .cookie-consent__actions button{flex:1 1 100%}
}
