:root{
    --bg:#f4f5f7;
    --surface:#ffffff;
    --surface-2:#f8f8f9;
    --text:#16181c;
    --muted:#70747c;
    --dark:#0c0d0f;
    --dark-2:#15171b;
    --border:#e3e5e8;
    --accent:#f39a22;
    --accent-2:#d77b0c;
    --danger:#c83e46;
    --success:#24895b;
    --shadow:0 18px 50px rgba(15,18,24,.10);
    --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
img{max-width:100%}
.site-header{background:radial-gradient(circle at 30% -20%,rgba(255,255,255,.08),transparent 34%),linear-gradient(135deg,#08090a,#15171a);color:#fff;border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 12px 30px rgba(0,0,0,.24)}
.header-inner{max-width:1460px;margin:0 auto;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:14px;font-size:clamp(1.45rem,2.3vw,2.45rem);font-weight:850;letter-spacing:-.04em}
.brand img{filter:drop-shadow(0 3px 9px rgba(0,0,0,.5))}
.main-nav{display:flex;align-items:center;gap:12px}
.main-nav a{padding:11px 14px;border-radius:12px;color:#e7e7e8;font-weight:650;transition:.2s ease}
.main-nav a:hover,.main-nav a:focus-visible{background:rgba(255,255,255,.08);color:#fff}
.main-nav .nav-button{border:1px solid var(--accent);padding-inline:20px}
.nav-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer}
.nav-toggle span{display:block;width:28px;height:2px;margin:6px;background:#fff}
.header-search-wrap{max-width:1460px;margin:0 auto;padding:0 32px 18px}
.header-search{height:56px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);border-radius:14px;display:flex;align-items:center;gap:12px;padding:0 18px}
.header-search svg{width:25px;height:25px;fill:none;stroke:#9ea2aa;stroke-width:2}
.header-search input{width:100%;background:transparent;border:0;color:#fff;outline:0;font-size:1rem}
.header-search input::placeholder{color:#8e9299}
.page-shell{min-height:55vh}
.flash-stack{position:fixed;z-index:2000;right:20px;top:18px;display:grid;gap:10px;max-width:min(420px,calc(100vw - 40px))}
.flash{padding:14px 18px;border-radius:14px;background:#fff;box-shadow:var(--shadow);border-left:5px solid #6880a0;transition:.3s ease}
.flash-success{border-color:var(--success)}.flash-warning{border-color:var(--accent)}.flash-error{border-color:var(--danger)}
.flash.is-hidden{opacity:0;transform:translateY(-8px);pointer-events:none}
.content{max-width:1460px;margin:0 auto;padding:34px 32px 52px}
.hero-row{display:flex;justify-content:space-between;align-items:flex-start;gap:28px;margin-bottom:24px}
.hero-copy h1{margin:0;font-size:clamp(2rem,3vw,3.1rem);letter-spacing:-.04em;line-height:1.05}
.hero-copy p{margin:10px 0 0;color:var(--muted);font-size:1.06rem}
.stats{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px;min-width:min(600px,100%)}
.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px 18px;box-shadow:0 8px 24px rgba(15,18,24,.07);display:flex;align-items:center;gap:13px}
.stat-icon{width:42px;height:42px;border-radius:13px;background:#fff3e3;color:var(--accent-2);display:grid;place-items:center;font-size:1.25rem;font-weight:800}
.stat-card strong{display:block;font-size:1.45rem;line-height:1}.stat-card small{color:var(--muted)}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;flex-wrap:wrap}
.button,.button-secondary,.button-danger{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:13px;padding:12px 18px;font-weight:750;cursor:pointer;transition:.2s ease}
.button{background:var(--accent);color:#17120b}.button:hover{background:#ffab3d;transform:translateY(-1px)}
.button-secondary{background:#fff;color:var(--text);border:1px solid var(--border)}
.button-danger{background:#fff0f1;color:var(--danger);border:1px solid #f1c6c9}
.map-card{position:relative;background:#dce6d7;border-radius:24px;overflow:hidden;border:1px solid #dfe2e4;box-shadow:var(--shadow)}
#member-map{height:min(610px,62vh);min-height:430px;width:100%}
.map-overlay{position:absolute;z-index:500;left:50%;top:50%;transform:translate(-50%,-50%);width:min(430px,calc(100% - 36px));background:rgba(13,15,18,.93);color:#fff;padding:26px;border-radius:20px;text-align:center;box-shadow:0 20px 50px rgba(0,0,0,.35);backdrop-filter:blur(8px)}
.map-overlay h2{margin:0 0 8px}.map-overlay p{color:#c4c6ca}.map-overlay .actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.member-pin{width:38px;height:38px;border-radius:50% 50% 50% 10%;background:#111317;border:3px solid #fff;transform:rotate(-45deg);box-shadow:0 8px 18px rgba(0,0,0,.3);display:grid;place-items:center}
.member-pin span{transform:rotate(45deg);color:var(--accent);font-size:17px;font-weight:900}
.leaflet-popup-content-wrapper{border-radius:16px;box-shadow:0 16px 38px rgba(0,0,0,.22)}
.leaflet-popup-content{margin:14px 16px;min-width:220px}
.popup-profile{display:flex;gap:12px;align-items:center}.avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#2c3037,#0e1013);color:#fff;display:grid;place-items:center;font-weight:850;flex:0 0 auto;border:2px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.15)}
.popup-profile strong{display:block}.popup-profile small{display:block;color:#727780;margin-top:2px}.popup-link{display:inline-block;margin-top:8px;color:#bd6800;font-weight:750}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}
.auth-wrap{max-width:620px;margin:42px auto 60px;padding:0 20px}.auth-wrap .panel h1{margin-top:0;font-size:2.1rem}.auth-intro{color:var(--muted);margin-top:-6px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-field{display:grid;gap:7px}.form-field.full{grid-column:1/-1}.form-field label{font-weight:700}.form-field small{color:var(--muted)}
input[type=text],input[type=email],input[type=password],input[type=search],select,textarea{width:100%;border:1px solid #d5d8dc;background:#fff;color:#16181c;border-radius:13px;padding:12px 14px;outline:none;transition:.2s ease}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(243,154,34,.16)}
textarea{min-height:120px;resize:vertical}.check-row{display:flex;gap:10px;align-items:flex-start}.check-row input{margin-top:5px}
.form-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:22px}.error-list{background:#fff0f1;border:1px solid #f0c4c8;color:#8b232b;border-radius:14px;padding:14px 18px}
.profile-location{margin-top:20px}.location-map{height:390px;border-radius:18px;overflow:hidden;border:1px solid var(--border)}
.notice{border-radius:15px;padding:15px 17px;background:#fff8ec;border:1px solid #f4d5a9;color:#735022}
.member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.member-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:20px;box-shadow:0 9px 28px rgba(15,18,24,.07);display:flex;gap:15px}.member-card .avatar{width:58px;height:58px}.member-card h2{font-size:1.12rem;margin:0}.member-card p{margin:4px 0;color:var(--muted)}
.table-wrap{overflow:auto;border-radius:18px;border:1px solid var(--border);background:#fff}table{width:100%;border-collapse:collapse;min-width:900px}th,td{text-align:left;padding:14px 15px;border-bottom:1px solid var(--border);vertical-align:top}th{background:#f6f7f8;font-size:.9rem;color:#5f646d}.status{display:inline-flex;padding:5px 10px;border-radius:999px;font-size:.82rem;font-weight:800}.status-active{background:#e9f7f0;color:#1b7049}.status-pending{background:#fff5e7;color:#9b5a0b}.status-suspended{background:#fff0f1;color:#9a2931}.inline-actions{display:flex;gap:7px;flex-wrap:wrap}.inline-actions form{display:inline}.mini-button{border:1px solid var(--border);background:#fff;border-radius:9px;padding:7px 10px;cursor:pointer;font-weight:700}.mini-button.danger{color:var(--danger);border-color:#efc8cb}.mini-button.accent{color:#9a5705;border-color:#e7c18d;background:#fff8ee}
.site-footer{background:radial-gradient(circle at 50% -30%,rgba(255,255,255,.09),transparent 36%),linear-gradient(160deg,#08090a,#16181a);color:#d5d7da;text-align:center;padding:32px 20px 24px}.footer-mark img{opacity:.9}.site-footer nav{display:flex;gap:18px;justify-content:center;align-items:center;flex-wrap:wrap}.site-footer nav span{color:var(--accent)}.site-footer p{margin-bottom:0;color:#8f939a}
.empty-state{text-align:center;padding:48px 20px;color:var(--muted)}
@media(max-width:1050px){.hero-row{flex-direction:column}.stats{min-width:0;width:100%}.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.header-inner{padding:14px 18px}.header-search-wrap{padding:0 18px 14px}.brand img{width:48px;height:48px}.nav-toggle{display:block}.main-nav{position:absolute;z-index:1000;right:18px;top:76px;display:none;min-width:230px;flex-direction:column;align-items:stretch;background:#15171a;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:10px;box-shadow:0 18px 45px rgba(0,0,0,.38)}.main-nav.is-open{display:flex}.content{padding:26px 18px 40px}.stats{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.member-grid{grid-template-columns:1fr}#member-map{height:58vh;min-height:430px}}
@media(max-width:520px){.brand span{font-size:1.55rem}.hero-copy h1{font-size:2rem}.panel{padding:21px}.map-card{border-radius:18px}.stat-card{padding:13px 15px}.header-search{height:50px}.site-footer nav{gap:10px}}

/* Adminbereich */
.admin-hero{align-items:center}
.admin-top-actions{margin-top:0}
.admin-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:20px}
.admin-stat{background:var(--surface);border:1px solid var(--border);border-radius:17px;padding:17px 19px;box-shadow:0 8px 24px rgba(15,18,24,.06);display:flex;align-items:center;justify-content:space-between;gap:14px;transition:.2s ease}
.admin-stat:hover,.admin-stat.is-active{border-color:#e3ad65;box-shadow:0 10px 28px rgba(15,18,24,.10);transform:translateY(-1px)}
.admin-stat.is-active{background:#fff8ed}
.admin-stat span{color:var(--muted);font-weight:700}
.admin-stat strong{font-size:1.65rem;line-height:1;color:var(--accent-2)}
.admin-help-panel{padding:16px 19px;margin-bottom:18px;border-radius:16px;box-shadow:none;background:#fffaf2;border-color:#efd7b5;color:#6d4b1e}
.admin-help-panel strong{margin-right:6px}
.admin-table-wrap{box-shadow:var(--shadow)}
.admin-table{min-width:1220px}
.admin-actions{min-width:260px}
.role-badge{display:inline-flex;padding:5px 10px;border-radius:999px;font-size:.82rem;font-weight:800;background:#eef0f3;color:#4f5660}
.role-owner{background:#1b1e23;color:#fff}
.role-admin{background:#fff0d9;color:#8d5007}
.role-member{background:#eef3f8;color:#435d77}
.map-on{color:var(--success);font-weight:750}
.map-off{color:var(--muted)}
.temp-password-notice{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px;padding:18px 20px;border-radius:17px;background:#14251d;color:#edf9f2;border:1px solid #2e6f4e;box-shadow:0 12px 30px rgba(13,45,29,.18)}
.temp-password-notice p{margin:4px 0 0;color:#bcd8c9}
.temp-password-notice code{font-size:1.15rem;background:#fff;color:#14251d;padding:10px 14px;border-radius:11px;font-weight:850;letter-spacing:.03em;white-space:nowrap}
@media(max-width:1100px){.admin-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.temp-password-notice{align-items:flex-start;flex-direction:column}.temp-password-notice code{white-space:normal;word-break:break-all}.admin-top-actions{width:100%}.admin-top-actions .button-secondary{width:100%}}
@media(max-width:430px){.admin-stats{grid-template-columns:1fr}}
