:root{--ink:#202235;--muted:#77798c;--line:#ececf2;--bg:#f7f7fb;--pink:#f05283;--purple:#7867df;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(calc((100% - 1120px)/2),24px);position:sticky;top:0;z-index:5}.brand{font-size:23px;font-weight:850;letter-spacing:-1px;color:var(--ink);text-decoration:none}.brand-icon{display:inline-grid;place-items:center;background:#fff0f5;color:var(--pink);width:34px;height:34px;border-radius:12px;margin-right:7px}.topbar nav{display:flex;gap:22px;align-items:center}.topbar nav a{color:#65677a;text-decoration:none;font-weight:600}.topbar nav a:hover{color:var(--pink)}.topbar nav .nav-cta{background:var(--pink);color:white;padding:9px 17px;border-radius:12px}.container{max-width:1120px;margin:38px auto;padding:0 22px;min-height:calc(100vh - 170px)}h1,h2,h3{letter-spacing:-.6px;line-height:1.2}h1{font-size:34px;margin:0 0 10px}h2{font-size:23px}.muted,.sub{color:var(--muted)}.sub{margin-top:0}.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 8px 30px #25254a08}.narrow{max-width:520px;margin:40px auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:15px}.field.full{grid-column:1/-1}label{font-size:13px;font-weight:700;color:#55576b}input,textarea,select{width:100%;border:1px solid #dedee8;border-radius:11px;padding:12px 13px;font:inherit;background:white;color:var(--ink)}textarea{min-height:105px;resize:vertical}input:focus,textarea:focus,select:focus{outline:3px solid #f0528320;border-color:var(--pink)}.btn{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:12px;padding:11px 18px;background:var(--purple);color:white;font-weight:750;text-decoration:none;cursor:pointer;font:inherit}.btn:hover{filter:brightness(.96)}.btn.pink{background:var(--pink)}.btn.light{background:#f0effb;color:#5d52bc}.btn.danger{background:#fff0f1;color:#c43b54}.btn.block{width:100%}.actions{display:flex;gap:10px;flex-wrap:wrap}.alert{padding:13px 16px;border-radius:12px;margin:0 0 18px;background:#eaf8ef;color:#216a3b}.alert.error{background:#fff0f1;color:#a32e43}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.person{overflow:hidden;padding:0}.person img{width:100%;height:260px;object-fit:cover;background:#eee}.person .body{padding:18px}.person h3{margin:0 0 5px}.tag{display:inline-block;background:#f2f1fa;color:#625aa4;border-radius:30px;padding:5px 10px;font-size:12px;margin:3px}.hero{padding:42px;border-radius:26px;background:linear-gradient(120deg,#fff0f5,#f1efff);margin-bottom:28px}.profile-layout{display:grid;grid-template-columns:320px 1fr;gap:24px}.profile-photo{width:100%;height:360px;object-fit:cover;border-radius:16px;background:#eee}.placeholder{height:260px;display:grid;place-items:center;background:linear-gradient(140deg,#fff0f5,#efedff);font-size:70px;color:#e5a0b8}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:13px;border-bottom:1px solid var(--line);vertical-align:top}.table th{color:var(--muted);font-size:12px;text-transform:uppercase}.footer{border-top:1px solid var(--line);padding:24px max(calc((100% - 1120px)/2),24px);color:var(--muted);font-size:13px;display:flex;justify-content:space-between}.footer a{color:inherit}.empty{padding:50px;text-align:center;color:var(--muted)}.badge{border-radius:20px;padding:4px 9px;font-size:12px;background:#f0effb;color:#625aa4}.checklist{display:flex;flex-wrap:wrap;gap:8px}.checklist label{border:1px solid var(--line);border-radius:22px;padding:8px 12px;font-weight:500}.checklist input{width:auto}.admin-nav{display:flex;gap:10px;margin:18px 0 25px}@media(max-width:800px){.grid{grid-template-columns:repeat(2,1fr)}.profile-layout{grid-template-columns:1fr}.topbar{padding:12px 18px;height:auto;align-items:flex-start;gap:10px;flex-direction:column}.topbar nav{gap:13px;flex-wrap:wrap;font-size:13px}.container{margin:24px auto}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}@media(max-width:520px){.grid{grid-template-columns:1fr}.person img{height:310px}.hero{padding:25px}.footer{display:block}}
/* FlirtSnap 1.0 additions */
.row-between{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.chat-list{display:flex;flex-direction:column;gap:12px;max-height:60vh;overflow:auto;padding:18px 4px}.chat-bubble{max-width:min(78%,560px);padding:12px 15px;border-radius:17px;background:#f0f1f6;overflow-wrap:anywhere}.chat-bubble.mine{align-self:flex-end;background:#ffe4ed}.chat-bubble.theirs{align-self:flex-start}.chat-bubble small{display:block;margin-top:7px;color:#777;font-size:11px}.chat-form{display:flex;gap:10px;align-items:end}.chat-form textarea{flex:1;min-height:48px;resize:vertical}.notification{padding:14px 4px;border-bottom:1px solid #eee}.notification.unread{background:#fff5f8;padding-left:12px;border-radius:8px}.notification p{margin:0 0 4px}.admin-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}.admin-image-grid img{width:100%;height:210px;object-fit:cover;border-radius:10px}.btn.danger{background:#b4233d;color:white}.alert.success{background:#e9f8ef;color:#176b39;padding:12px;border-radius:10px}@media(max-width:640px){.chat-form{flex-direction:column;align-items:stretch}.chat-bubble{max-width:90%}}
/* FlirtSnap 1.1 – Chat layout refinements */

.filterbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:18px 0}.filterbar label{display:flex;gap:8px;align-items:center}.filterbar select{padding:9px;border:1px solid #ddd;border-radius:10px}.person .body{padding:16px}.person .actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.person .actions form{margin:0}.person .actions button{min-width:42px}.verified{color:#16865d;font-weight:700}

/* FlirtSnap 1.3 Rewards */
.rewards-grid{margin:20px 0}.reward-icon{font-size:34px;line-height:1.2;margin-bottom:10px}.reward-icon.big{font-size:76px;margin:8px 0 18px}.daily-gift-card{text-align:center;max-width:720px;margin:22px auto;padding:36px;background:linear-gradient(145deg,#fff,#fff5f8);border-color:#f7dce6}.daily-gift-card h2{margin:12px 0}.reward-value{color:#d83d78}.daily-gift-card .btn{max-width:360px;margin:8px auto 0}
/* FlirtSnap 1.4 Rewards+ */
.checkin-card{margin:20px 0;background:linear-gradient(135deg,#fff,#fff5f8);border-color:#f5dce6}.streak-number{width:84px;height:84px;border-radius:24px;background:#fff0f5;color:#d83d78;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.streak-number strong{font-size:32px;line-height:1}.streak-number span{font-size:12px}.streak-track{display:grid;grid-template-columns:repeat(7,1fr);gap:9px;margin:22px 0}.streak-day{display:flex;flex-direction:column;align-items:center;gap:5px;background:#f5f4fa;border-radius:13px;padding:12px 4px;color:#777}.streak-day span{font-size:20px}.streak-day small{font-size:11px}.streak-day.done{background:#ffe4ed;color:#c72d69}.small-note{font-size:12px;margin-bottom:0}.rewards-feature-grid{margin:20px 0}.rarity-common{background:#f0effb;color:#625aa4}.rarity-rare{background:#e8f3ff;color:#2363a4}.rarity-epic{background:#f2eaff;color:#7542a8}.rarity-legendary{background:#fff0d6;color:#9a5b00}.weekly-card{background:linear-gradient(145deg,#fff,#f7f3ff);border-color:#e8ddfa}.positive{color:#16834b;font-weight:700}.negative{color:#bd344b;font-weight:700}@media(max-width:640px){.streak-track{gap:5px}.streak-day{padding:9px 1px}.streak-day small{font-size:9px}.streak-number{width:68px;height:68px}}

/* FlirtSnap 1.6 community additions */
.pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:#fce8f0;color:#8b3155;font-weight:700;font-size:12px}.frame-rose{outline:4px solid #e96a9a;outline-offset:3px}.frame-aurora{outline:4px solid #8b74d8;outline-offset:3px}.frame-gold{outline:4px solid #d6a63e;outline-offset:3px}.frame-ocean{outline:4px solid #4d9db8;outline-offset:3px}

/* FlirtSnap 1.7 – responsive product UI and administration */
:root{--pink:#e94f86;--purple:#7568d8;--line:#ececf3;--bg:#f8f8fc;--ink:#25263a}
.topbar{padding:10px max(calc((100% - 1180px)/2),22px);gap:18px}.topbar nav{gap:14px;overflow-x:auto;max-width:calc(100vw - 250px);white-space:nowrap;scrollbar-width:thin}.topbar nav a{font-size:13px}.container{max-width:1180px}.card{box-shadow:0 12px 36px rgba(35,35,65,.045)}.btn{transition:transform .16s ease,box-shadow .16s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 7px 18px #29234a12}
.admin-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:30px 32px;margin-bottom:24px;border:1px solid #f3dce6;border-radius:24px;background:radial-gradient(circle at 85% 5%,#f5eaff 0,transparent 36%),linear-gradient(120deg,#fff2f6,#fff 72%)}.admin-hero h1{margin:8px 0}.eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:850;color:#b04470}.admin-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0 30px}.admin-stat{padding:20px 22px;border:1px solid var(--line);border-radius:18px;background:#fff;min-width:0}.admin-stat span{display:block;color:var(--muted);font-size:13px;font-weight:650}.admin-stat strong{display:block;font-size:34px;letter-spacing:-1px;line-height:1.25;margin:8px 0 4px}.admin-stat small{color:var(--muted);font-size:12px}.admin-stat-grid.compact .admin-stat strong{font-size:29px}.admin-section{margin:32px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:10px 0 18px}.section-heading h1,.section-heading h2{margin:4px 0}.section-heading .sub{margin:5px 0 0}.admin-module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.admin-module{display:flex;flex-direction:column;gap:6px;min-height:150px;padding:19px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);text-decoration:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.admin-module:hover{transform:translateY(-2px);border-color:#f0b9ce;box-shadow:0 12px 25px #32223a0c}.module-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#fff0f5;font-size:21px;margin-bottom:6px}.admin-module strong{font-size:15px}.admin-module small{font-size:12px;color:var(--muted)}.admin-audit{padding:8px 20px}.table-wrap{overflow-x:auto}.chart-card{padding:24px;margin:18px 0}.bar-chart{height:230px;display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:9px;align-items:end;padding:16px 4px 0}.bar-column{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:7px;min-width:0}.bar-column strong{font-size:11px;color:#6d6e80}.bar-track{height:160px;width:min(100%,32px);display:flex;align-items:end;background:#f4f2f7;border-radius:8px 8px 3px 3px;overflow:hidden}.bar-track i{display:block;width:100%;min-height:3px;background:linear-gradient(180deg,#f18bb0,#e94f86);border-radius:8px 8px 2px 2px}.matches-chart .bar-track i{background:linear-gradient(180deg,#a89df4,#7568d8)}.bar-column small{font-size:10px;color:var(--muted);white-space:nowrap}.admin-nav{flex-wrap:wrap}.pill{font-size:11px}
@media(max-width:900px){.admin-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar nav{max-width:100%;width:100%;padding-bottom:3px}}
@media(max-width:600px){.admin-hero{align-items:flex-start;flex-direction:column;padding:23px}.admin-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-module{min-height:135px;padding:14px}.admin-stat-grid{gap:10px}.admin-stat{padding:15px}.admin-stat strong{font-size:28px}.bar-chart{gap:3px}.bar-column small{font-size:8px}.bar-track{width:75%}.section-heading{align-items:flex-start;flex-direction:column}}

/* FlirtSnap 2.0.3 – kompakte, responsive Navigation */
.topbar{height:72px;padding:0 max(calc((100% - 1180px)/2),22px);display:flex;align-items:center;justify-content:space-between;gap:22px}
.topbar .brand{display:inline-flex;align-items:center;flex:0 0 auto;white-space:nowrap}
.main-nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0;flex:1}
.main-nav .nav-link,.nav-more-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 11px;border:0;border-radius:12px;background:transparent;color:#65677a;text-decoration:none;font:inherit;font-size:13px;font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer}
.main-nav .nav-link:hover,.nav-more-toggle:hover{background:#f8f4f7;color:var(--pink)}
.main-nav .nav-link.active,.nav-more-toggle.active{background:#fff0f5;color:#c9346c}
.nav-icon{font-size:17px;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.nav-more{position:relative;flex:0 0 auto}
.nav-chevron{font-size:15px;margin-left:1px}
.nav-more-menu{position:absolute;right:0;top:calc(100% + 10px);width:255px;max-height:min(70vh,520px);overflow-y:auto;padding:9px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px #24223a20;z-index:30}
.nav-more-menu[hidden],.mobile-more-menu[hidden]{display:none}
.nav-menu-heading{padding:9px 11px 10px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.8px}
.nav-menu-link{display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:10px;color:var(--ink);text-decoration:none;font-size:13px;font-weight:600}
.nav-menu-link:hover,.nav-menu-link.active{background:#fff0f5;color:#c9346c}
.nav-menu-link>span{width:20px;text-align:center;font-size:16px}
.nav-menu-divider{height:1px;background:var(--line);margin:7px 5px}
.desktop-logout{flex:0 0 auto;color:#77798c;text-decoration:none;font-size:12px;font-weight:650;padding:8px 0 8px 8px}
.desktop-logout:hover{color:var(--pink)}
.guest-nav{display:flex;align-items:center;gap:18px}.guest-nav a{color:#65677a;text-decoration:none;font-weight:600}.guest-nav .nav-cta{background:var(--pink);color:#fff;padding:9px 17px;border-radius:12px}
.mobile-nav,.mobile-more-menu{display:none}
@media(max-width:1050px){.topbar{gap:12px;padding-left:18px;padding-right:18px}.main-nav .nav-link,.nav-more-toggle{padding:9px 8px;gap:5px;font-size:12px}.desktop-logout{font-size:11px}}
@media(max-width:820px){
  body{padding-bottom:76px}
  .topbar{height:62px;padding:0 18px;flex-direction:row;align-items:center;justify-content:center}
  .topbar>.brand{margin:0 auto}
  .main-nav,.desktop-logout{display:none}
  .mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));left:0;right:0;bottom:0;z-index:40;height:68px;padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 28px #25254a0b}
  .mobile-nav-link{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;border-radius:11px;background:transparent;color:#77798c;text-decoration:none;font:inherit;cursor:pointer}
  .mobile-nav-link>span{font-size:21px;line-height:1}
  .mobile-nav-link small{font-size:10px;font-weight:700;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
  .mobile-nav-link.active{background:#fff0f5;color:#c9346c}
  .mobile-more-menu{position:fixed;display:block;left:12px;right:12px;bottom:calc(78px + env(safe-area-inset-bottom));z-index:39;max-height:min(72vh,620px);overflow:auto;padding:16px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 55px #24223a24}
  .mobile-menu-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
  .mobile-menu-top strong{font-size:16px}
  .mobile-menu-close{width:34px;height:34px;border:0;border-radius:10px;background:#f5f4f8;color:var(--ink);font-size:23px;cursor:pointer}
  .mobile-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .mobile-menu-item{display:flex;align-items:center;gap:10px;min-width:0;padding:12px 10px;border-radius:11px;background:#faf9fc;color:var(--ink);text-decoration:none;font-size:12px;font-weight:650}
  .mobile-menu-item>span{width:20px;flex:0 0 20px;text-align:center;font-size:16px}
  .mobile-menu-item.active{background:#fff0f5;color:#c9346c}
  .mobile-menu-item.logout-link{color:#bd344b;background:#fff4f4}
  .container{margin:24px auto}
}
@media(max-width:420px){.topbar{height:58px}.mobile-nav{height:64px}.mobile-nav-link small{font-size:9px}.mobile-more-menu{bottom:calc(72px + env(safe-area-inset-bottom))}}

/* FlirtSnap 2.0.4 – gruppierte Navigation ohne horizontales Scrollen */
.topbar{height:auto;min-height:0;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;gap:8px 20px;padding:12px max(calc((100% - 1180px)/2),22px) 10px}
.topbar>.brand{grid-column:1;grid-row:1;align-self:center}
.account-actions{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:flex-end;gap:18px;min-width:0}
.account-greeting{color:var(--muted);font-size:12px;font-weight:650;white-space:nowrap}
.topbar>.grouped-nav{grid-column:1/-1;grid-row:2;display:flex;justify-content:flex-start;align-items:center;gap:8px;flex-wrap:wrap;width:100%;min-width:0;padding-top:7px;border-top:1px solid var(--line)}
.grouped-nav .nav-group{position:relative;flex:0 0 auto}
.nav-group-toggle{display:inline-flex;align-items:center;gap:9px;min-height:40px;padding:9px 15px;border:1px solid #e9e7ef;border-radius:11px;background:#fff;color:#4f5063;font:inherit;font-size:13px;font-weight:750;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.nav-group-toggle:hover,.nav-group.is-open .nav-group-toggle{background:#faf6fa;border-color:#edc7d6;color:#c9346c}
.nav-group.is-active .nav-group-toggle{background:#fff0f5;border-color:#f4c6d7;color:#c9346c}
.nav-group-icon{font-size:17px;line-height:1}
.nav-chevron{font-size:14px;color:#9292a1;transition:transform .15s}
.nav-group.is-open .nav-chevron{transform:rotate(180deg)}
.nav-group-menu{position:absolute;left:0;top:calc(100% + 8px);width:260px;max-height:min(72vh,560px);overflow-y:auto;padding:9px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 18px 50px #24223a20;z-index:60}
.nav-group-menu[hidden],.mobile-more-menu[hidden]{display:none!important}
.nav-menu-heading{padding:9px 11px 10px;color:var(--muted);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.8px}
.nav-menu-link{display:flex;align-items:center;gap:11px;padding:11px;border-radius:10px;color:var(--ink);text-decoration:none;font-size:13px;font-weight:650}
.nav-menu-link:hover,.nav-menu-link.active{background:#fff0f5;color:#c9346c}
.nav-menu-link>span{width:21px;flex:0 0 21px;text-align:center;font-size:16px}
.topbar>.desktop-logout{display:none}
.mobile-nav,.mobile-more-menu{display:none}
@media(min-width:821px){.topbar{position:sticky;top:0}.container{margin-top:30px}}
@media(max-width:1050px) and (min-width:821px){.topbar{padding-left:16px;padding-right:16px}.topbar>.grouped-nav{gap:6px}.nav-group-toggle{padding:8px 11px;font-size:12px}}
@media(max-width:820px){
 body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
 .topbar{height:60px;min-height:60px;display:flex;justify-content:center;align-items:center;padding:0 16px;gap:0}
 .topbar>.brand{margin:0 auto}
 .account-actions,.grouped-nav{display:none!important}
 .mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));left:0;right:0;bottom:0;z-index:70;height:calc(68px + env(safe-area-inset-bottom));padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 28px #25254a0b}
 .mobile-nav-link{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;border-radius:11px;background:transparent;color:#77798c;text-decoration:none;font:inherit;cursor:pointer}
 .mobile-nav-link>span{font-size:21px;line-height:1}
 .mobile-nav-link small{font-size:10px;font-weight:750;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
 .mobile-nav-link.active{background:#fff0f5;color:#c9346c}
 .mobile-more-menu{position:fixed;display:block;left:10px;right:10px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:69;max-height:min(78vh,700px);overflow-y:auto;padding:16px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 55px #24223a24}
 .mobile-menu-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
 .mobile-menu-top strong{display:block;font-size:17px}.mobile-menu-top small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
 .mobile-menu-close{width:36px;height:36px;border:0;border-radius:10px;background:#f5f4f8;color:var(--ink);font-size:23px;cursor:pointer}
 .mobile-menu-group{padding:12px 0;border-top:1px solid var(--line)}
 .mobile-menu-group h3{display:flex;align-items:center;gap:9px;margin:0 0 9px;font-size:13px;letter-spacing:0}
 .mobile-menu-group h3 span{font-size:17px;color:var(--pink)}
 .mobile-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .mobile-menu-item{display:flex;align-items:center;gap:9px;min-width:0;padding:11px 10px;border-radius:11px;background:#faf9fc;color:var(--ink);text-decoration:none;font-size:12px;font-weight:650;overflow-wrap:anywhere}
 .mobile-menu-item>span{width:20px;flex:0 0 20px;text-align:center;font-size:16px}
 .mobile-menu-item.active{background:#fff0f5;color:#c9346c}
 .mobile-menu-item.logout-link{color:#bd344b;background:#fff4f4;margin-top:8px}
 .container{margin:24px auto}
}
@media(max-width:420px){.topbar{height:56px;min-height:56px}.mobile-nav{height:calc(64px + env(safe-area-inset-bottom))}.mobile-nav-link small{font-size:9px}.mobile-more-menu{bottom:calc(72px + env(safe-area-inset-bottom));left:7px;right:7px;padding:13px}.mobile-menu-grid{grid-template-columns:1fr}}

@media(min-width:821px){.topbar>.guest-nav{grid-column:2;grid-row:1;justify-self:end}.topbar>.guest-nav a{white-space:nowrap}}


/* FlirtSnap 2.0.5 – breite, einzeilige Desktop-Kopfzeile */
@media (min-width: 821px) {
  .topbar { width:100%; min-height:82px; height:auto; display:flex; flex-flow:row nowrap; align-items:center; justify-content:space-between; gap:clamp(18px,2vw,38px); padding:12px clamp(24px,3.2vw,64px); }
  .topbar > .brand { flex:0 0 auto; display:inline-flex; align-items:center; white-space:nowrap; font-size:25px; }
  .topbar > .grouped-nav { flex:1 1 auto; min-width:0; width:auto; display:flex; flex-flow:row nowrap; justify-content:center; align-items:center; gap:clamp(7px,.8vw,16px); padding:0; border:0; }
  .grouped-nav .nav-group { flex:0 0 auto; }
  .nav-group-toggle { min-height:46px; padding:10px clamp(12px,1.15vw,21px); gap:10px; border-radius:14px; font-size:14px; font-weight:750; }
  .nav-group-icon { font-size:19px; }
  .nav-group-menu { top:calc(100% + 12px); width:290px; padding:12px; border-radius:17px; }
  .nav-menu-link { padding:13px 12px; font-size:14px; }
  .account-actions { flex:0 0 auto; display:flex; align-items:center; justify-content:flex-end; gap:16px; white-space:nowrap; }
  .account-greeting { font-size:13px; }
  .account-actions .desktop-logout { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:9px 15px; border-radius:12px; background:#f7f6fa; color:#65677a; text-decoration:none; font-size:13px; font-weight:700; }
  .account-actions .desktop-logout:hover { background:#fff0f5; color:#c9346c; }
}
@media (min-width:821px) and (max-width:1250px) {
  .topbar { gap:12px; padding-left:18px; padding-right:18px; }
  .topbar > .brand { font-size:21px; }
  .topbar > .grouped-nav { gap:5px; }
  .nav-group-toggle { padding:9px 10px; gap:6px; font-size:12px; }
  .account-actions { gap:8px; }
  .account-greeting { display:none; }
}


/* FlirtSnap 2.0.6 – finaler Desktop-Header: keine doppelte Mobilnavigation */
@media (min-width: 821px) {
  .topbar {
    width: 100%;
    min-height: 88px;
    height: auto;
    display: grid;
    grid-template-columns: minmax(190px, 250px) minmax(0, 1fr) minmax(150px, 210px);
    grid-template-rows: 1fr;
    align-items: center;
    column-gap: clamp(18px, 2.2vw, 42px);
    padding: 14px clamp(28px, 3.2vw, 68px);
  }
  .topbar > .brand {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    font-size: 26px;
  }
  .topbar > .grouped-nav {
    grid-column: 2;
    grid-row: 1;
    justify-self: stretch;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    gap: clamp(8px, .8vw, 16px);
    width: 100%;
    min-width: 0;
    padding: 0;
    border: 0;
    overflow: visible;
  }
  .topbar > .grouped-nav .nav-group { flex: 0 1 auto; min-width: 0; }
  .topbar > .grouped-nav .nav-group-toggle {
    min-height: 48px;
    padding: 10px clamp(12px, 1.05vw, 20px);
    gap: 9px;
    border: 1px solid #e8e6ef;
    border-radius: 15px;
    background: #fff;
    font-size: 14px;
    font-weight: 750;
    white-space: nowrap;
  }
  .topbar > .grouped-nav .nav-group-toggle:hover,
  .topbar > .grouped-nav .nav-group.is-open .nav-group-toggle {
    background: #fff6f9;
    border-color: #f0c4d4;
    color: #c9346c;
  }
  .topbar > .grouped-nav .nav-group.is-active .nav-group-toggle {
    background: #fff0f5;
    border-color: #f4c6d7;
    color: #c9346c;
  }
  .topbar > .account-actions {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    white-space: nowrap;
  }
  .topbar > .account-actions .account-greeting { font-size: 13px; color: #77798c; }
  .topbar > .account-actions .desktop-logout {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 9px 15px;
    border-radius: 12px;
    background: #f5f4f9;
    color: #55576b;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
  }
  /* Important: .topbar nav is more specific than .mobile-nav alone. */
  .topbar > nav.mobile-nav { display: none !important; }
  .topbar > .mobile-more-menu { display: none !important; }
}
@media (min-width: 821px) and (max-width: 1450px) {
  .topbar {
    grid-template-columns: minmax(150px, 190px) minmax(0, 1fr) minmax(105px, 150px);
    column-gap: 12px;
    padding-left: 20px;
    padding-right: 20px;
  }
  .topbar > .brand { font-size: 22px; }
  .topbar > .grouped-nav { gap: 5px; }
  .topbar > .grouped-nav .nav-group-toggle { padding: 9px 10px; gap: 6px; font-size: 12px; }
  .topbar > .account-actions { gap: 7px; }
  .topbar > .account-actions .account-greeting { display: none; }
}

/* FlirtSnap 2.0.7 – Mobilmenü über die gesamte Bildschirmbreite */
@media (max-width: 820px) {
  .mobile-more-menu {
    left: 0 !important;
    right: 0 !important;
    width: 100vw;
    max-width: 100vw;
    bottom: calc(68px + env(safe-area-inset-bottom));
    max-height: min(82vh, 760px);
    padding: 20px max(18px, env(safe-area-inset-left)) 22px max(18px, env(safe-area-inset-right));
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    border-radius: 22px 22px 0 0;
    box-shadow: 0 -12px 45px #24223a24;
  }
  .mobile-menu-top {
    position: sticky;
    top: -20px;
    z-index: 2;
    margin: -20px -18px 12px;
    padding: 17px 18px 12px;
    background: #fff;
    border-bottom: 1px solid var(--line);
  }
  .mobile-menu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .mobile-menu-item { min-height: 46px; padding: 12px; font-size: 13px; }
}
@media (max-width: 380px) {
  .mobile-more-menu { padding-left: 14px; padding-right: 14px; }
  .mobile-menu-grid { gap: 7px; }
  .mobile-menu-item { padding: 10px 8px; font-size: 12px; }
}

/* FlirtSnap 2.0.8 – Mobile Bottom Navigation: full-width, balanced touch targets */
@media (max-width: 820px) {
  body { padding-bottom: calc(92px + env(safe-area-inset-bottom)); }
  .topbar > nav.mobile-nav {
    box-sizing: border-box;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 100%;
    height: calc(82px + env(safe-area-inset-bottom));
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: stretch;
    gap: 6px;
    padding: 8px max(10px, env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-right));
    background: rgba(255,255,255,.98);
    border-top: 1px solid #eceaf1;
    box-shadow: 0 -8px 30px rgba(35,32,58,.09);
    z-index: 100;
  }
  .topbar > nav.mobile-nav .mobile-nav-link {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 60px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 7px 3px;
    margin: 0;
    border: 0;
    border-radius: 14px;
    background: transparent;
    color: #747487;
    text-align: center;
    text-decoration: none;
    line-height: 1.1;
    -webkit-tap-highlight-color: transparent;
  }
  .topbar > nav.mobile-nav .mobile-nav-link > span {
    display: block;
    font-size: 22px;
    line-height: 1;
    height: 24px;
  }
  .topbar > nav.mobile-nav .mobile-nav-link small {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap;
    font-size: clamp(10px, 2.8vw, 12px);
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -.15px;
  }
  .topbar > nav.mobile-nav .mobile-nav-link.active {
    color: #c9346c;
    background: #fff0f5;
    box-shadow: inset 0 0 0 1px #f8dce6;
  }
  .topbar > nav.mobile-nav .mobile-nav-link:active { transform: scale(.97); }
  .mobile-more-menu {
    bottom: calc(90px + env(safe-area-inset-bottom)) !important;
    max-height: min(78vh, 700px);
  }
}
@media (max-width: 360px) {
  .topbar > nav.mobile-nav { gap: 3px; padding-left: 6px; padding-right: 6px; }
  .topbar > nav.mobile-nav .mobile-nav-link small { font-size: 9px; }
}


/* FlirtSnap 2.0.9 – Discovery zeigt immer genau ein Profil */
.discover-single-wrap {
  width: min(100%, 760px);
  margin: 28px auto 48px;
}
.discover-counter {
  margin: 0 0 14px;
  color: #77798c;
  text-align: center;
  font-size: 14px;
}
.discover-single-wrap > .person {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 24px;
  box-shadow: 0 14px 42px rgba(35,32,58,.08);
}
.discover-single-wrap > .person > img {
  display: block;
  width: 100%;
  max-height: 560px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.discover-single-wrap > .person > .placeholder {
  min-height: 300px;
  display: grid;
  place-items: center;
  font-size: 76px;
  background: linear-gradient(135deg,#fff0f5,#f1edff);
}
.discover-single-wrap > .person > .body { padding: clamp(18px,3vw,30px); }
.discover-single-wrap > .person .actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 22px;
}
.discover-single-wrap > .person .actions form { flex: 1 1 130px; }
.discover-single-wrap > .person .actions .btn { width: 100%; min-height: 48px; }
@media (max-width: 600px) {
  .discover-single-wrap { margin: 16px auto 32px; }
  .discover-single-wrap > .person > img { max-height: 52vh; aspect-ratio: 4 / 5; }
  .discover-single-wrap > .person .actions { display: grid; grid-template-columns: 1fr 1fr; }
  .discover-single-wrap > .person .actions form { min-width: 0; }
}


/* FlirtSnap 2.1.1 – Tinder-artiges Swipe-Erlebnis */
.discover-single-wrap > .swipe-card {
  position: relative; touch-action: pan-y; user-select: none; -webkit-user-select: none;
  transform: translate3d(0,0,0) rotate(0);
  transition: transform .24s cubic-bezier(.2,.75,.25,1), box-shadow .2s ease;
  cursor: grab; will-change: transform;
}
.discover-single-wrap > .swipe-card.is-dragging {
  cursor: grabbing; transition: none; box-shadow: 0 24px 65px rgba(35,32,58,.17);
}
.discover-single-wrap > .swipe-card.swipe-exit { pointer-events: none; transition: transform .19s ease-out, opacity .19s ease-out; opacity: 0; }
.discover-single-wrap > .swipe-card.swipe-exit-right { transform: translate3d(120vw,25px,0) rotate(18deg) !important; }
.discover-single-wrap > .swipe-card.swipe-exit-left { transform: translate3d(-120vw,25px,0) rotate(-18deg) !important; }
.swipe-stamp {
  position:absolute; z-index:5; top:34px; padding:7px 16px; border:4px solid currentColor;
  border-radius:10px; font-size:clamp(24px,4vw,38px); font-weight:900; letter-spacing:2px;
  opacity:0; pointer-events:none; text-shadow:0 1px 0 #fff; transition:opacity .06s linear;
}
.swipe-stamp-like { left:24px; color:#1fa879; transform:rotate(-13deg); }
.swipe-stamp-nope { right:24px; color:#e34f72; transform:rotate(13deg); }
@media(max-width:600px){.swipe-stamp{top:22px;padding:5px 12px;border-width:3px;}}


/* FlirtSnap 2.1.2 – Entdecken ohne Scrollen */
.discover-page { width:100%; }
.discover-page .discover-single-wrap { width:min(100%, 1040px); margin:0 auto; }
.discover-page .swipe-card { display:grid; grid-template-columns:minmax(0, 1.05fr) minmax(340px, .95fr); align-items:stretch; height:clamp(430px, calc(100vh - 260px), 680px); min-height:0; }
.discover-page .swipe-card > img,
.discover-page .swipe-card > .placeholder { width:100%; height:100%; min-height:0; max-height:none; aspect-ratio:auto; object-fit:cover; }
.discover-page .swipe-card > .body { min-width:0; display:flex; flex-direction:column; padding:clamp(18px,2.2vw,30px); overflow:auto; }
.discover-page .swipe-card .body > p { margin:14px 0; }
.discover-page .swipe-card .actions { margin-top:auto; padding-top:18px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.discover-page .swipe-card .actions form { min-width:0; flex:initial; }
.discover-page .swipe-card .actions .btn { width:100%; min-height:54px; font-size:18px; }
.discover-page .swipe-card .actions > a { grid-column:1/-1; min-height:42px; }
@media(max-width:820px) {
  .discover-page .discover-single-wrap { margin:0 auto; }
  .discover-page .swipe-card { display:flex; flex-direction:column; height:calc(100svh - 164px - env(safe-area-inset-bottom)); max-height:760px; min-height:420px; border-radius:18px; }
  .discover-page .swipe-card > img,
  .discover-page .swipe-card > .placeholder { flex:1 1 auto; height:auto; min-height:0; max-height:none; width:100%; aspect-ratio:auto; object-fit:cover; }
  .discover-page .swipe-card > .body { flex:0 0 auto; overflow:visible; padding:12px 14px 14px; }
  .discover-page .swipe-card .body > p { margin:7px 0; font-size:13px; line-height:1.35; }
  .discover-page .swipe-card .muted { font-size:12px; line-height:1.35; }
  .discover-page .swipe-card .actions { padding-top:9px; gap:8px; }
  .discover-page .swipe-card .actions .btn { min-height:46px; }
  .discover-page .swipe-card .actions > a { min-height:36px; }
}
@media(max-width:420px) {
  .discover-page .swipe-card { height:calc(100svh - 158px - env(safe-area-inset-bottom)); min-height:390px; }
  .discover-page .swipe-card > .body { padding:10px 12px 12px; }
  .discover-page .swipe-card h3 { font-size:19px; }
  .discover-page .swipe-card .actions { gap:7px; }
}
@media(max-height:700px) and (min-width:821px) {
  .discover-page .swipe-card { height:calc(100vh - 210px); }
  .discover-page .swipe-card .body { padding:14px 18px; }
  .discover-page .swipe-card .body > p { margin:7px 0; }
}

/* AJAX feedback on discover */
.discover-ajax-notice{margin:0 0 12px;padding:10px 14px;text-align:center;font-size:.92rem}.discover-ajax-notice.is-match{border-color:var(--pink,#ec4899);color:var(--pink,#ec4899);font-weight:700}


/* FlirtSnap 2.2.9 – sichtbarer Foto-Verifizierungsnachweis */
.verified-photo-wrap{position:relative;display:block;overflow:hidden;border-radius:inherit}
.verified-photo-wrap>img{display:block;width:100%;object-fit:cover}
.verified-photo-badge{position:absolute;left:12px;top:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid rgba(255,255,255,.8);border-radius:999px;background:rgba(15,112,77,.94);color:#fff;font-size:12px;font-weight:800;line-height:1.2;box-shadow:0 3px 12px rgba(0,0,0,.22)}
.profile-verified-photo{margin-bottom:10px}
.profile-verified-photo .verified-photo-badge{left:10px;top:10px}
