:root{
    --bg:#f6f7fb;
    --panel:#ffffff;
    --text:#1d2433;
    --muted:#6b7280;
    --primary:#e74073;
    --primary-dark:#be2856;
    --dark:#141824;
    --gold:#f6b94b;
    --line:#e7e9f1;
    --radius:24px;
    --shadow:0 18px 50px rgba(24,32,56,.10);
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--muted)}.mb-2{margin-bottom:.5rem}.site-main{min-height:75vh}.app-container{padding-top:28px;padding-bottom:90px}.top-nav{background:linear-gradient(135deg,#141824,#2e1434)}.navbar-brand{letter-spacing:-.03em}.btn-primary{background:var(--primary);border-color:var(--primary)}.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.btn-premium{background:linear-gradient(135deg,#f5b647,#ffdd8f);border:0;color:#342307;font-weight:700}.pill{display:inline-flex;align-items:center;padding:.45rem .8rem;border-radius:999px;background:rgba(255,255,255,.15);color:#fff;font-size:.88rem;font-weight:700}.hero-card{padding:52px;border-radius:34px;background:radial-gradient(circle at 20% 10%,#eb5b89,transparent 28%),linear-gradient(135deg,#151827,#2d173d);color:#fff;box-shadow:var(--shadow);overflow:hidden}.hero-card h1{font-size:clamp(2.2rem,7vw,4.8rem);letter-spacing:-.06em;line-height:.95;margin:18px 0}.hero-card .lead{color:#e9e6f2;max-width:620px}.hero-preview{display:flex;justify-content:center}.phone-card{width:min(360px,100%);background:#fff;color:var(--text);padding:16px;border-radius:34px;box-shadow:0 20px 70px rgba(0,0,0,.28);transform:rotate(2deg)}.fake-photo{height:390px;border-radius:24px;background:linear-gradient(135deg,#f8b6c9,#7449a8)}.fake-actions{display:flex;justify-content:center;gap:20px}.fake-actions span,.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;border:0;background:#fff;box-shadow:0 8px 25px rgba(0,0,0,.15);font-size:1.4rem;color:var(--primary);cursor:pointer}.feature-grid,.stat-grid,.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-grid>div,.panel,.auth-card,.price-card,.stat-grid>a{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.auth-card{max-width:480px}.auth-card h1,.panel h1{letter-spacing:-.04em}.stacked-form{display:grid;gap:16px}.stacked-form label,.profile-form label{display:grid;gap:7px;font-weight:700}.dashboard-hero{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:32px;border-radius:30px;background:linear-gradient(135deg,#e74073,#5732a8);color:#fff;box-shadow:var(--shadow)}.dashboard-hero h1{font-size:clamp(2rem,5vw,4rem);letter-spacing:-.05em}.stat-grid{margin-top:20px}.stat-grid>a{text-decoration:none;color:var(--text);display:grid;gap:2px}.stat-grid strong{font-size:2.2rem;color:var(--primary)}.wide-panel{max-width:980px;margin:0 auto}.avatar-xl{width:180px;height:180px;border-radius:50%;object-fit:cover;border:6px solid #fff;box-shadow:var(--shadow)}.photo-upload-form{display:flex;gap:10px;align-items:center}.photo-grid,.admin-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.photo-grid img,.admin-photo-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:18px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:20px}.mini-search{display:flex;gap:8px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px}.dating-card{background:#fff;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}.dating-card-photo{height:310px;background-size:cover;background-position:center;position:relative}.verified-badge{position:absolute;top:14px;left:14px;background:#fff;color:#139d67;border-radius:999px;font-size:.78rem;font-weight:800;padding:.35rem .6rem}.dating-card-body{padding:18px}.dating-card h3{font-size:1.55rem;letter-spacing:-.04em}.card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.pass-btn{color:#64748b}.like-btn{color:var(--primary)}.discover-wrap{max-width:520px;margin:0 auto}.discover-head{text-align:center}.discover-stack{display:grid;gap:18px}.profile-main-photo{width:100%;border-radius:24px;max-height:560px;object-fit:cover}.message-list{display:grid;gap:0}.message-row{display:flex;align-items:center;gap:12px;padding:14px;border-bottom:1px solid var(--line);color:var(--text)}.message-row img,.chat-head img{width:54px;height:54px;border-radius:50%;object-fit:cover}.message-row span{display:grid}.chat-shell{max-width:820px;margin:0 auto;padding:0;overflow:hidden}.chat-head{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--line);background:#fff}.chat-messages{display:flex;flex-direction:column;gap:10px;padding:18px;min-height:420px;background:#f8f9fd}.bubble{max-width:76%;padding:12px 14px;border-radius:18px;background:#fff}.bubble.me{align-self:flex-end;background:var(--primary);color:#fff}.bubble small{display:block;font-size:.72rem;opacity:.72;margin-top:4px}.chat-form{display:flex;gap:8px;padding:14px;background:#fff;border-top:1px solid var(--line)}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.price{font-size:2rem;font-weight:900;color:var(--primary)}.admin-layout{display:grid;grid-template-columns:240px 1fr;gap:22px}.admin-menu{background:#111827;border-radius:24px;padding:16px;height:max-content;display:grid;gap:6px}.admin-menu a{color:#fff;padding:10px 12px;border-radius:12px}.admin-menu a:hover{background:rgba(255,255,255,.12);text-decoration:none}.admin-content{min-width:0}.site-footer{padding:22px 0;color:var(--muted);font-size:.92rem}.mobile-bottom-nav{display:none}

/* Package 02 - modern dating onboarding, prompts, compatibility and match cards */
.soft-label{display:inline-flex;align-items:center;gap:6px;padding:.34rem .65rem;border-radius:999px;background:#fce7ef;color:var(--primary-dark);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.onboarding-shell{max-width:1080px;margin:0 auto}.onboarding-head{margin-bottom:24px}.onboarding-head h1{font-size:clamp(2rem,6vw,4.2rem);line-height:.98;letter-spacing:-.06em;max-width:850px}.onboarding-head .pill{background:linear-gradient(135deg,var(--primary),#7b3ff2)}.onboarding-form{display:grid;gap:20px}.onboard-step{display:grid;grid-template-columns:58px 1fr;gap:18px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:30px;padding:22px;box-shadow:var(--shadow)}.step-number{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),#7b3ff2);color:#fff;font-weight:900;font-size:1.3rem}.step-content h2{letter-spacing:-.04em}.check-row,.radio-row{display:flex!important;align-items:center;gap:9px;font-weight:600}.prompt-editor{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:12px;margin-bottom:12px}.prompt-editor.big{grid-template-columns:1fr;gap:14px;padding:18px;border:1px solid var(--line);border-radius:22px;background:#fbfcff}.question-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.question-card{background:#fbfcff;border:1px solid var(--line);border-radius:22px;padding:18px}.question-card h3{font-size:1rem;line-height:1.25;margin-bottom:12px}.small-select{display:grid;gap:5px;margin-top:10px;font-size:.86rem;color:var(--muted)}.sticky-save-bar{position:sticky;bottom:12px;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:24px;padding:12px;box-shadow:var(--shadow);z-index:5}.filter-panel{display:grid;grid-template-columns:1.2fr 1fr 1.2fr .7fr .7fr 1fr .8fr;gap:12px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:26px;padding:16px;margin-bottom:18px;box-shadow:var(--shadow)}.filter-panel label{display:grid;gap:6px;font-weight:700}.filter-checks{display:grid;gap:5px}.filter-checks label,.tiny-check{display:flex!important;align-items:center;gap:7px;font-weight:700}.result-line{font-size:.94rem;color:var(--muted);margin-bottom:14px}.dating-card-v2 .dating-card-photo{height:330px}.match-badge{position:absolute;right:14px;bottom:14px;background:rgba(255,255,255,.95);border-radius:18px;padding:8px 10px;box-shadow:0 8px 24px rgba(0,0,0,.16);font-size:.78rem;color:var(--text);display:grid;text-align:center;min-width:92px}.match-badge strong{font-size:1.1rem;color:var(--primary)}.mini-pill{display:inline-flex;align-items:center;border-radius:999px;background:#f3f4f8;color:#4b5563;font-weight:800;font-size:.78rem;padding:.3rem .58rem;margin-bottom:10px}.card-bio{margin-top:10px;min-height:42px}.discover-wrap-v2{max-width:620px}.discover-filter{display:grid;grid-template-columns:1fr 1fr .55fr .55fr auto auto auto;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);padding:12px;border-radius:22px;margin-bottom:18px;box-shadow:var(--shadow)}.age-mini{min-width:70px}.profile-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.score-circle{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;text-align:center;background:linear-gradient(135deg,var(--primary),#7b3ff2);color:#fff;line-height:1;padding:8px;flex:0 0 auto}.score-circle strong{font-size:1.35rem}.score-circle small{font-size:.66rem;font-weight:700}.profile-tagline{font-size:1.15rem;font-weight:750;line-height:1.35}.detail-chips{display:flex;flex-wrap:wrap;gap:8px}.detail-chips span{display:inline-flex;gap:4px;padding:.5rem .72rem;background:#fff;border:1px solid var(--line);border-radius:999px;box-shadow:0 6px 18px rgba(24,32,56,.06);font-size:.92rem}.prompt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.prompt-card{background:linear-gradient(135deg,#fff,#fff7fa);border:1px solid #f5cad9;border-radius:24px;padding:20px;box-shadow:var(--shadow)}.prompt-card h3{font-size:.95rem;color:var(--primary-dark);font-weight:900}.prompt-card p{font-size:1.05rem;margin-bottom:0}.compat-list{display:grid;gap:10px}.compat-list div{display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fbfcff}.compat-list span{color:var(--muted)}.completion-ring{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;margin:18px auto;background:conic-gradient(var(--primary) calc(var(--pct, 65)*1%),#edf0f7 0);position:relative}.completion-ring::before{content:"";position:absolute;inset:12px;border-radius:50%;background:#fff}.completion-ring strong,.completion-ring span{position:relative;z-index:1}.completion-ring strong{font-size:2rem;color:var(--primary);line-height:1}.completion-ring span{font-size:.78rem;color:var(--muted);font-weight:700;margin-top:-32px}.checklist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.checklist-grid span{padding:12px 14px;border-radius:16px;background:#fff0f5;border:1px solid #f7ccda;font-weight:800;color:#8d2347}.checklist-grid span.done{background:#e7f6ed;border-color:#bfe7cb;color:#137333}.dashboard-hero-v2{align-items:stretch}.hero-actions{display:flex;flex-direction:column;gap:10px;justify-content:center;min-width:190px}.sticky-profile-card{position:sticky;top:20px}.premium-teaser{background:linear-gradient(135deg,#fff,#fff8e6)}

@media (max-width: 992px){.filter-panel{grid-template-columns:repeat(2,1fr)}.discover-filter{grid-template-columns:repeat(2,1fr)}.hero-actions{min-width:0}.dashboard-hero-v2{display:grid}.sticky-profile-card{position:static}}
@media (max-width: 640px){.onboard-step{grid-template-columns:1fr;padding:16px;border-radius:24px}.step-number{width:44px;height:44px;border-radius:15px}.prompt-editor{grid-template-columns:1fr}.filter-panel,.discover-filter{grid-template-columns:1fr}.sticky-save-bar{bottom:74px}.dating-card-v2 .dating-card-photo{height:390px}.profile-title-row{display:grid}.score-circle{width:78px;height:78px}.photo-upload-form{display:grid}.detail-chips span{border-radius:16px}.completion-ring{width:130px;height:130px}}
.card-exit{transform:scale(.96);opacity:0;transition:.18s ease}.active-discover-card{outline:3px solid rgba(231,64,115,.18)}


/* Package 02 affiliate and admin email modules */
.copy-box{display:flex;gap:10px;align-items:center;background:#f7f8fc;border:1px solid var(--line);border-radius:18px;padding:10px}.copy-box input{font-weight:800}.affiliate-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.mini-row{display:grid;gap:2px;border-bottom:1px solid var(--line);padding:10px 0}.mini-row:last-child{border-bottom:0}.mini-row span{color:var(--muted);font-size:.88rem}.mini-admin-form{display:grid;grid-template-columns:1fr 80px auto;gap:6px;align-items:center}.admin-content textarea.form-control{min-height:180px}.admin-menu a[href="/admin/email-users.php"],.admin-menu a[href="/admin/affiliates.php"]{background:rgba(255,255,255,.06)}@media(max-width:700px){.copy-box{display:grid}.mini-admin-form{grid-template-columns:1fr}.affiliate-stats{grid-template-columns:1fr 1fr}}

/* Package 03 automatic email and social link modules */
.settings-section{display:grid;gap:8px;border:1px solid var(--line);border-radius:22px;padding:18px;background:#fbfcff}.social-links-form{gap:14px}.social-editor-row{display:grid;grid-template-columns:1fr 220px;gap:14px;align-items:end;border:1px solid var(--line);border-radius:22px;padding:16px;background:#fff}.social-link-row{display:flex;flex-wrap:wrap;gap:10px}.social-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:.55rem .8rem;font-weight:800;color:var(--text);box-shadow:0 6px 18px rgba(24,32,56,.06)}.social-chip:hover{text-decoration:none;border-color:#f3a4bd;color:var(--primary)}.social-chip small{font-size:.72rem;color:var(--muted);font-weight:700}.admin-menu a[href="/admin/notifications.php"],.admin-menu a[href="/admin/social-links.php"]{background:rgba(255,255,255,.06)}@media(max-width:700px){.social-editor-row{grid-template-columns:1fr}.settings-section{padding:14px}}

/* Package 04 - browse pagination, clickable photos, swipe discover, and admin settings */
.dating-card-photo-link{display:block;color:inherit;text-decoration:none;touch-action:pan-y}.dating-card-photo-link:hover{text-decoration:none;filter:saturate(1.05)}.pagination-wrap{display:flex;justify-content:center;align-items:center;gap:12px;margin:26px 0 8px}.page-status{font-weight:800;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:999px;padding:.55rem .9rem}.discover-helper{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:.88rem;color:var(--muted);margin:0 4px 12px}.discover-helper strong{color:var(--primary)}.discover-stack{position:relative;min-height:650px;display:block;perspective:1100px}.discover-stack .dating-card{position:absolute;inset:0;margin:auto;opacity:0;pointer-events:none;transform:translateY(18px) scale(.94);transition:transform .24s ease,opacity .2s ease,filter .2s ease;will-change:transform,opacity;user-select:none}.discover-stack .dating-card.active-discover-card{opacity:1;pointer-events:auto;transform:translateY(0) scale(1);outline:0}.discover-stack .dating-card.next-discover-card{opacity:.42;transform:translateY(18px) scale(.955);filter:blur(.2px)}.discover-stack .dating-card::before,.discover-stack .dating-card::after{position:absolute;top:24px;z-index:5;border:4px solid;border-radius:16px;padding:.28rem .75rem;font-weight:1000;font-size:1.5rem;letter-spacing:.06em;opacity:0;transition:.15s ease;transform:rotate(-10deg);background:rgba(255,255,255,.78);backdrop-filter:blur(8px)}.discover-stack .dating-card::before{content:"LIKE";right:22px;color:#16a34a;border-color:#16a34a}.discover-stack .dating-card::after{content:"PASS";left:22px;color:#64748b;border-color:#64748b;transform:rotate(10deg)}.discover-stack .dating-card.decision-like::before,.discover-stack .dating-card.decision-pass::after{opacity:1}.discover-stack .dating-card.is-dragging{transition:none;cursor:grabbing}.discover-stack .dating-card.fly-right{transform:translateX(135%) rotate(16deg)!important;opacity:0}.discover-stack .dating-card.fly-left{transform:translateX(-135%) rotate(-16deg)!important;opacity:0}.discover-empty-state{margin-top:12px}.admin-settings-form{display:grid;gap:18px}.settings-toggle-card{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;align-items:center;border:1px solid var(--line);border-radius:22px;background:#fbfcff;padding:18px}.settings-toggle-card h2{font-size:1.15rem;margin:0 0 4px;letter-spacing:-.03em}.toggle-options{display:grid;gap:10px}.radio-card,.switch-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:12px 14px;font-weight:800}.admin-menu a[href="/admin/settings.php"]{background:rgba(255,255,255,.10)}@media(max-width:700px){.pagination-wrap{flex-wrap:wrap}.discover-helper{display:grid;text-align:center}.discover-stack{min-height:690px}.settings-toggle-card{grid-template-columns:1fr}.discover-stack .dating-card::before,.discover-stack .dating-card::after{font-size:1.15rem}.page-status{order:-1;width:100%;text-align:center}}


/* Package 04A - full-card swipe and restored profile image rendering */
.dating-card-photo{
    overflow:hidden;
    background:#eef1f7;
}
.dating-card-photo-link{
    position:relative;
    display:block;
    width:100%;
    color:inherit;
    text-decoration:none;
    touch-action:manipulation;
    -webkit-user-drag:none;
    user-select:none;
}
.dating-card-photo-link:hover{
    text-decoration:none;
    filter:saturate(1.05);
}
.dating-card-img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    pointer-events:none;
    user-select:none;
    -webkit-user-drag:none;
}
.discover-stack .dating-card.active-discover-card{
    cursor:grab;
    touch-action:none;
}
.discover-stack .dating-card.active-discover-card .dating-card-photo-link,
.discover-stack .dating-card.active-discover-card .dating-card-body{
    touch-action:none;
}
.discover-stack .dating-card.active-discover-card button,
.discover-stack .dating-card.active-discover-card .btn{
    touch-action:manipulation;
}
.discover-stack .dating-card.is-dragging,
.discover-stack .dating-card.is-dragging *{
    cursor:grabbing!important;
}

/* Package 05 virtual gifts */
.gift-head{align-items:center}.gift-catalog-grid,.gift-select-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:16px}.gift-card,.gift-select-card{border:1px solid rgba(25,35,55,.10);border-radius:22px;background:#fff;padding:16px;text-align:center;box-shadow:0 12px 28px rgba(20,25,40,.06);transition:.18s ease;display:block}.gift-card img,.gift-select-card img{width:92px;height:92px;object-fit:contain;display:block;margin:0 auto 10px}.gift-card strong,.gift-select-card strong{display:block;color:#172033}.gift-card span,.gift-select-card span{display:block;color:#7b8190;font-size:.9rem}.gift-select-card{cursor:pointer;position:relative}.gift-select-card input{position:absolute;top:12px;left:12px}.gift-select-card:has(input:checked){border-color:#e64980;box-shadow:0 18px 42px rgba(230,73,128,.18);transform:translateY(-2px)}.gift-list{display:grid;gap:12px}.gift-list-item{display:flex;gap:12px;align-items:flex-start;border:1px solid rgba(25,35,55,.08);border-radius:18px;padding:12px;background:#fff}.gift-list-item img{width:58px;height:58px;object-fit:contain}.gift-list-item small{display:block;color:#7b8190}.gift-list-item p{margin:.35rem 0 0}.profile-gift-row{display:flex;gap:12px;flex-wrap:wrap}.profile-gift-chip{width:94px;text-align:center;border:1px solid rgba(25,35,55,.08);border-radius:18px;background:#fff;padding:10px}.profile-gift-chip img{width:62px;height:62px;object-fit:contain}.profile-gift-chip span{display:block;font-size:.82rem;line-height:1.15;margin-top:6px;color:#4d5360}.gift-admin-cell{display:flex;gap:10px;align-items:center}.gift-admin-cell img{width:44px;height:44px;object-fit:contain}.send-gift-form textarea{resize:vertical}@media(max-width:575px){.gift-catalog-grid,.gift-select-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gift-card,.gift-select-card{padding:12px;border-radius:18px}.gift-card img,.gift-select-card img{width:76px;height:76px}.mobile-bottom-nav a{font-size:.8rem}}

/* Package 06: step registration */
.register-wizard-shell{min-height:calc(100vh - 160px);display:flex;align-items:center;justify-content:center;padding:32px 0 80px}
.register-wizard-card{width:min(760px,100%);background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.68);border-radius:30px;padding:28px;box-shadow:0 24px 80px rgba(20,30,60,.18);color:#172033}
.register-progress-wrap{margin-bottom:24px}.register-progress-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.register-progress{height:10px;background:#edf1f8;border-radius:999px;overflow:hidden}.register-progress span{display:block;height:100%;background:linear-gradient(90deg,#ff4d88,#7b61ff);border-radius:999px;transition:width .25s ease}
.reg-step-screen{display:grid;gap:18px}.reg-step-screen h1{font-size:clamp(2rem,5vw,3.35rem);line-height:1.02;margin:0}.reg-step-screen label{font-weight:800}.reg-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.reg-choice-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.reg-choice-card,.reg-wide-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;min-height:150px;padding:18px;border:2px solid #e6eaf4;border-radius:24px;background:#fff;box-shadow:0 10px 28px rgba(20,30,60,.08);cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.reg-choice-card:hover,.reg-wide-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(20,30,60,.13)}.reg-choice-card input,.reg-wide-card input{position:absolute;opacity:0;pointer-events:none}.reg-choice-icon{width:68px;height:68px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,#ffe8f0,#eef0ff);font-size:2.6rem;font-weight:900;color:#f93f7c}.reg-choice-card strong,.reg-wide-card strong{font-size:1.15rem}.reg-choice-card small{color:#667085}.reg-choice-card:has(input:checked),.reg-wide-card:has(input:checked){border-color:#ff4d88;background:linear-gradient(180deg,#fff,#fff5f9);box-shadow:0 14px 40px rgba(255,77,136,.18)}.reg-stack-options{display:grid;gap:12px}.reg-wide-card{min-height:86px;flex-direction:row;justify-content:flex-start;text-align:left}.reg-wide-card span{font-size:2rem;width:48px;text-align:center}.reg-nav-row{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-top:4px}.reg-nav-row .btn-primary{min-width:190px}.reg-photo-drop{padding:26px;border:2px dashed #d8deeb;border-radius:24px;background:#f8faff;display:grid;gap:12px;text-align:center}.reg-big-icon{font-size:3.7rem;line-height:1}.reg-complete-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px}.small{font-size:.9rem}
@media (max-width: 680px){.register-wizard-shell{align-items:flex-start;padding:16px 0 90px}.register-wizard-card{border-radius:24px;padding:20px}.reg-choice-grid,.reg-choice-grid-3{grid-template-columns:1fr}.reg-choice-card{min-height:128px}.reg-nav-row{flex-direction:column-reverse;align-items:stretch}.reg-nav-row .btn{width:100%}.register-progress-top{align-items:flex-start;flex-direction:column}.reg-complete-actions .btn{width:100%}}
@supports not selector(:has(*)){.reg-choice-card input:checked+span,.reg-wide-card input:checked+span{outline:4px solid rgba(255,77,136,.2)}}

/* Package 06A: mobile collapsed filters for Browse and Discover */
.mobile-filter-box{
    margin:0 0 16px;
    border-radius:22px;
    border:1px solid var(--line);
    background:#fff;
    box-shadow:0 12px 36px rgba(24,32,56,.08);
    overflow:hidden;
}
.mobile-filter-box summary{
    list-style:none;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 16px;
    cursor:pointer;
    font-weight:900;
    color:var(--text);
    user-select:none;
}
.mobile-filter-box summary::-webkit-details-marker{display:none}
.mobile-filter-box summary span{display:flex;align-items:center;gap:8px}
.mobile-filter-box summary small{color:var(--muted);font-weight:700;font-size:.78rem;text-align:right}
.mobile-filter-box summary::after{
    content:"＋";
    width:32px;
    height:32px;
    border-radius:999px;
    display:grid;
    place-items:center;
    background:#f7f8fc;
    color:var(--primary);
    flex:0 0 auto;
    font-size:1.1rem;
}
.mobile-filter-box[open] summary::after{content:"–"}
.mobile-filter-content{padding:0 14px 14px}
.mobile-filter-content .filter-panel,
.mobile-filter-content .discover-filter{
    margin:0;
    box-shadow:none;
}
@media (min-width:701px){
    .mobile-filter-box{
        border:0;
        box-shadow:none;
        background:transparent;
        border-radius:0;
        overflow:visible;
        margin-bottom:20px;
    }
    .mobile-filter-box summary{display:none!important}
    .mobile-filter-box:not([open])>.mobile-filter-content{display:block!important}
    .mobile-filter-content{padding:0}
}
@media (max-width:700px){
    .browse-head-v2,.discover-head{margin-bottom:12px}
    .browse-head-v2 h1,.discover-head h1{font-size:clamp(1.75rem,8vw,2.35rem);margin-bottom:4px}
    .browse-head-v2 p,.discover-head p{font-size:.92rem;margin-bottom:0}
    .mobile-filter-box{position:relative;z-index:8}
    .mobile-filter-content .filter-panel,
    .mobile-filter-content .discover-filter{
        display:grid;
        grid-template-columns:1fr;
        gap:10px;
        padding:0;
        border:0;
        background:transparent;
    }
    .mobile-filter-content .discover-filter .btn,
    .mobile-filter-content .filter-panel .btn{width:100%}
    .discover-helper{margin-top:8px}
    .result-line{font-size:.9rem;text-align:center;margin:8px 0 14px}
}

/* Package 07: messaging, notifications, online status */
.nav-with-badge, .mobile-nav-badge, .navbar-toggler { position: relative; }
.nav-count, .mobile-count, .thread-unread-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: #ff2f6d;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    margin-left: 4px;
}
.mobile-count {
    position: absolute;
    top: -6px;
    right: 9px;
    min-width: 18px;
    height: 18px;
    font-size: 10px;
    box-shadow: 0 5px 14px rgba(0,0,0,.2);
}
.nav-count-menu { position:absolute; top:-8px; right:-8px; }
.page-head { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:18px; }
.page-head h1 { margin:0; }
.message-inbox-v2 { padding: 8px; }
.message-row {
    display:flex;
    align-items:center;
    gap:14px;
    padding:14px;
    border-radius:18px;
    text-decoration:none;
    color:inherit;
    border:1px solid transparent;
    transition:.18s ease;
}
.message-row:hover { background:rgba(255,47,109,.06); border-color:rgba(255,47,109,.13); transform:translateY(-1px); }
.message-row.unread { background:rgba(255,47,109,.08); }
.message-avatar-wrap { position:relative; flex:0 0 auto; display:inline-flex; }
.message-avatar-wrap img { width:58px; height:58px; border-radius:18px; object-fit:cover; background:#f1f2f6; }
.online-dot {
    position:absolute;
    right:-1px;
    bottom:-1px;
    width:15px;
    height:15px;
    border-radius:50%;
    background:#20c66b;
    border:3px solid #fff;
}
.message-row-main { min-width:0; flex:1; display:flex; flex-direction:column; gap:2px; }
.message-row-top { display:flex; justify-content:space-between; gap:10px; align-items:baseline; }
.message-row-top strong { font-size:1rem; }
.message-row-top small, .message-preview { color:#687084; }
.message-preview { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.thread-unread-count { margin-left:auto; }
.chat-shell-v2 { padding:0; overflow:hidden; }
.chat-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px;
    border-bottom:1px solid rgba(0,0,0,.07);
    background:linear-gradient(135deg, rgba(255,47,109,.08), rgba(111,66,193,.06));
}
.chat-person { display:flex; align-items:center; gap:10px; color:inherit; text-decoration:none; min-width:0; flex:1; }
.chat-person small { display:block; color:#687084; font-weight:500; }
.chat-head-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.chat-messages {
    height:min(62vh, 620px);
    overflow:auto;
    padding:18px;
    background:linear-gradient(180deg, #fff, #fafbff);
}
.bubble { max-width:76%; padding:11px 13px; margin:8px 0; border-radius:18px; box-shadow:0 8px 22px rgba(18,26,43,.07); }
.bubble.me { margin-left:auto; background:#ff2f6d; color:white; border-bottom-right-radius:6px; }
.bubble.them { background:#fff; border:1px solid rgba(0,0,0,.07); border-bottom-left-radius:6px; }
.bubble small { display:block; opacity:.72; font-size:11px; margin-top:4px; }
.chat-form { display:flex; gap:10px; padding:14px; border-top:1px solid rgba(0,0,0,.07); background:#fff; }
.chat-form textarea { resize:none; min-height:44px; max-height:110px; border-radius:18px; }
.online-status { display:inline-flex; align-items:center; gap:6px; color:#687084; }
.online-status i { width:8px; height:8px; border-radius:50%; background:#b8bfcc; display:inline-block; }
.online-status.online i { background:#20c66b; box-shadow:0 0 0 4px rgba(32,198,107,.13); }
.notification-list { padding:8px; }
.notification-item {
    display:flex;
    align-items:center;
    gap:14px;
    padding:14px;
    border-radius:18px;
    text-decoration:none;
    color:inherit;
    border:1px solid transparent;
    transition:.18s ease;
}
.notification-item:hover { background:rgba(255,47,109,.06); border-color:rgba(255,47,109,.13); }
.notification-item.unread { background:rgba(255,47,109,.08); }
.notification-icon { width:42px; height:42px; border-radius:14px; display:flex; align-items:center; justify-content:center; background:#fff; box-shadow:0 8px 20px rgba(18,26,43,.08); font-size:20px; flex:0 0 auto; }
.notification-main { display:flex; flex-direction:column; min-width:0; flex:1; }
.notification-main span { color:#687084; }
.notification-main small { color:#8a91a3; }
.new-dot { font-size:11px; font-weight:800; color:#ff2f6d; background:#fff; border:1px solid rgba(255,47,109,.18); border-radius:999px; padding:4px 8px; }
.empty-state { text-align:center; padding:34px 18px; }
.empty-state h2 { margin-bottom:8px; }
@media (max-width: 768px) {
    .page-head { align-items:flex-start; flex-direction:column; }
    .message-row { padding:12px 8px; gap:10px; }
    .message-avatar-wrap img { width:52px; height:52px; border-radius:16px; }
    .chat-head { position:sticky; top:0; z-index:3; align-items:flex-start; }
    .chat-head-actions .btn { padding:.35rem .55rem; }
    .chat-messages { height:calc(100vh - 255px); min-height:360px; padding:12px; }
    .bubble { max-width:86%; }
    .chat-form { position:sticky; bottom:70px; z-index:4; padding:10px; }
    .chat-form button { border-radius:16px; }
    .notification-item { padding:12px 8px; gap:10px; }
}

/* Package 07A: cleaner one-row mobile nav + Me shortcuts */
.me-shortcuts-panel h2{margin-bottom:4px}
.me-shortcuts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.me-shortcuts-grid a{display:grid;grid-template-columns:34px 1fr;grid-template-areas:"icon title" "icon sub";align-items:center;gap:0 10px;padding:11px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--text);text-decoration:none;box-shadow:0 7px 18px rgba(24,32,56,.05);transition:.16s ease}
.me-shortcuts-grid a:hover{transform:translateY(-1px);border-color:#f3a4bd;text-decoration:none;color:var(--text)}
.me-shortcuts-grid span{grid-area:icon;width:34px;height:34px;border-radius:13px;display:grid;place-items:center;background:#fff0f5;color:var(--primary);font-size:1rem}
.me-shortcuts-grid strong{grid-area:title;font-size:.9rem;line-height:1.1}
.me-shortcuts-grid small{grid-area:sub;color:var(--muted);font-size:.73rem;font-weight:800}

@media (max-width: 768px){
    .app-container{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
    .mobile-bottom-nav{
        position:fixed;
        left:0;
        right:0;
        bottom:0;
        z-index:2000;
        display:grid!important;
        grid-template-columns:repeat(5,minmax(0,1fr));
        gap:0;
        padding:6px 6px calc(6px + env(safe-area-inset-bottom));
        background:rgba(255,255,255,.96);
        border-top:1px solid rgba(25,35,55,.10);
        box-shadow:0 -12px 35px rgba(20,25,40,.12);
        backdrop-filter:blur(14px);
    }
    .mobile-bottom-nav a{
        min-width:0;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:2px;
        min-height:58px;
        border-radius:18px;
        color:#687084;
        text-decoration:none;
        font-weight:800;
        line-height:1;
        position:relative;
        overflow:visible;
        -webkit-tap-highlight-color:transparent;
    }
    .mobile-bottom-nav a:hover,
    .mobile-bottom-nav a:focus{background:#fff0f5;color:var(--primary);text-decoration:none;outline:none}
    .mobile-bottom-nav a span{display:block;font-size:1.28rem;line-height:1;position:relative}
    .mobile-bottom-nav a small{display:block;font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
    .mobile-count{top:-7px;right:-10px}
    .site-footer{padding-bottom:calc(86px + env(safe-area-inset-bottom))}
    .me-shortcuts-grid{grid-template-columns:1fr 1fr}
}
@media (min-width: 769px){
    .mobile-bottom-nav{display:none!important}
}
@media (max-width: 380px){
    .mobile-bottom-nav{padding-left:3px;padding-right:3px}
    .mobile-bottom-nav a{border-radius:14px;min-height:56px}
    .mobile-bottom-nav a span{font-size:1.14rem}
    .mobile-bottom-nav a small{font-size:.62rem}
}

/* Package 08 Premium + Coins */
.premium-head,.coin-head,.gift-head{align-items:flex-start;gap:1rem}.wallet-pill{display:inline-flex;align-items:center;gap:.65rem;background:#fff;border:1px solid rgba(18,24,38,.1);border-radius:999px;padding:.7rem 1rem;box-shadow:0 10px 28px rgba(18,24,38,.08);white-space:nowrap}.wallet-pill span{font-size:.8rem;color:#6c7485;text-transform:uppercase;letter-spacing:.04em}.wallet-pill strong{font-size:1.4rem;color:#7b2cff}.wallet-pill-profile{justify-content:center;width:100%;box-shadow:none;background:#f8f6ff}.premium-mini-badge{display:inline-block;border-radius:999px;background:#fff0c8;color:#7d4b00;font-weight:700;padding:.45rem .8rem;font-size:.85rem}.premium-feature-grid,.coin-package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.feature-tile,.coin-package-card{background:#fff;border:1px solid rgba(18,24,38,.08);border-radius:24px;padding:1.25rem;box-shadow:0 18px 40px rgba(18,24,38,.07)}.feature-tile strong{display:block;font-size:1.05rem}.feature-tile span{color:#6c7485}.premium-price-card,.coin-package-card{position:relative;overflow:hidden}.featured-plan{border-color:rgba(123,44,255,.28);box-shadow:0 22px 50px rgba(123,44,255,.13)}.plan-ribbon{position:absolute;right:1rem;top:1rem;border-radius:999px;background:#7b2cff;color:#fff;font-weight:700;font-size:.75rem;padding:.3rem .65rem}.plan-feature-list{padding-left:0;list-style:none;margin:1rem 0}.plan-feature-list li{padding:.35rem 0 .35rem 1.65rem;position:relative;color:#4f5868}.plan-feature-list li:before{content:'✓';position:absolute;left:0;color:#16a34a;font-weight:800}.premium-active-panel{border-color:rgba(22,163,74,.25);background:linear-gradient(135deg,#f0fff7,#fff)}.coin-upsell-panel{display:flex;justify-content:space-between;align-items:center;gap:1rem}.coin-amount{font-size:2.2rem;font-weight:800;color:#7b2cff}.coin-amount span{font-size:1rem;color:#6c7485}.checkout-wrap{max-width:620px;margin:0 auto}.checkout-card{text-align:center}.checkout-price{font-size:2rem}.gift-head-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.gift-locked{opacity:.62;filter:grayscale(.35)}.gift-locked small{color:#c0392b;font-weight:700}.admin-card-stack{display:grid;gap:1rem}.admin-inline-edit label{font-weight:700;width:100%}.admin-inline-edit .form-control{margin-top:.35rem}.me-shortcuts-grid a[href="/buy-coins.php"] span{background:#f4edff;color:#7b2cff}
@media (max-width: 768px){.premium-feature-grid,.coin-package-grid{grid-template-columns:1fr}.coin-upsell-panel,.premium-head,.coin-head,.gift-head{display:block}.wallet-pill{margin-top:.75rem}.gift-head-actions{margin-top:.75rem}.coin-package-card,.feature-tile{border-radius:18px}.plan-ribbon{position:static;display:inline-block;margin-bottom:.75rem}}

/* Package 09 payment/affiliate admin polish */
.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.22rem .55rem;font-size:.78rem;font-weight:800;background:#eef1f6;color:#233047;text-transform:capitalize;}
.status-completed,.status-active,.status-paid{background:#e9f8ef;color:#14783e;}
.status-pending,.status-approved{background:#fff5d7;color:#8a6200;}
.status-failed,.status-refunded,.status-cancelled{background:#ffe8e8;color:#9d1c1c;}
.admin-settings-form hr{border:0;border-top:1px solid rgba(20,30,60,.12);margin:1.5rem 0;}
.mini-admin-form{display:grid;gap:.35rem;min-width:150px;}
.checkout-card .d-grid .btn[disabled]{opacity:.55;cursor:not-allowed;}


/* Package 11 payment + affiliate payout polish */
.payment-result-card{max-width:760px;margin:0 auto;text-align:center;position:relative;overflow:hidden}
.payment-result-icon{width:76px;height:76px;border-radius:28px;display:grid;place-items:center;margin:0 auto 16px;font-size:2.2rem;background:#e9f8ef;color:#14783e;box-shadow:0 18px 40px rgba(20,120,62,.13)}
.payment-result-icon.fail{background:#ffe8e8;color:#9d1c1c}.payment-meta-grid,.payout-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;text-align:left}.payment-meta-grid>div,.payout-meta-grid>div{background:#fff;border:1px solid rgba(20,30,60,.08);border-radius:18px;padding:12px}.payment-meta-grid span,.payout-meta-grid span{display:block;color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.payment-meta-grid strong,.payout-meta-grid strong{display:block;margin-top:4px}.admin-detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.admin-detail-list{display:grid;gap:8px}.admin-detail-list div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(20,30,60,.08);padding:8px 0}.admin-detail-list span{color:var(--muted);font-weight:800}.metadata-box{max-height:360px;overflow:auto;background:#111827;color:#d1d5db;border-radius:16px;padding:14px;font-size:.78rem;white-space:pre-wrap}.affiliate-payout-box{background:linear-gradient(135deg,#fff8fb,#f7f2ff);border:1px solid rgba(123,44,255,.12)}.payout-progress{height:12px;background:#eef1f6;border-radius:999px;overflow:hidden;margin:10px 0}.payout-progress span{display:block;height:100%;background:linear-gradient(90deg,#ff477e,#7b2cff);border-radius:999px}.payout-request-card{border:1px dashed rgba(123,44,255,.32);background:#fff}.admin-action-row{display:flex;flex-wrap:wrap;gap:8px}.admin-action-row .form-control{max-width:260px}.payment-admin-link{white-space:nowrap}.receipt-preview{background:#fbfcff;border:1px solid rgba(20,30,60,.08);border-radius:16px;padding:14px}.gateway-prep-note{background:#f7fbff;border:1px solid rgba(37,99,235,.14);border-radius:18px;padding:14px}.small-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;background:#f2f4f8;border-radius:8px;padding:2px 6px}
@media (max-width: 768px){.payment-meta-grid,.payout-meta-grid,.admin-detail-grid{grid-template-columns:1fr}.admin-detail-list div{display:block}.admin-action-row .form-control{max-width:100%;width:100%}.payment-result-icon{width:64px;height:64px;border-radius:22px;font-size:1.9rem}}

/* Package 12 free access rules + dating games */
.free-access-panel{background:linear-gradient(135deg,#fff7fb,#f4f7ff);border:1px solid rgba(255,71,126,.15);border-radius:24px;padding:18px;margin-bottom:18px}.free-access-badge{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid rgba(255,71,126,.25);color:#c41658;border-radius:999px;padding:7px 12px;font-weight:900;font-size:.82rem}.feature-checkbox-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.feature-checkbox-grid label{background:#fff;border:1px solid rgba(20,30,60,.1);border-radius:16px;padding:10px 12px;font-weight:800;display:flex;gap:8px;align-items:center}.admin-note-box{border-radius:18px;background:#f8fbff;border:1px solid rgba(37,99,235,.14);padding:14px}.games-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:stretch}.game-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.game-type-card{border:1px solid rgba(20,30,60,.08);border-radius:22px;background:#fff;padding:16px;box-shadow:0 12px 30px rgba(20,30,60,.06)}.game-type-card .game-icon{font-size:2rem;display:block;margin-bottom:8px}.game-list{display:grid;gap:10px}.game-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid rgba(20,30,60,.08);border-radius:18px;padding:12px}.game-row-meta{display:flex;flex-direction:column}.game-status-pill{border-radius:999px;background:#eef2ff;color:#3b4ca8;font-size:.75rem;font-weight:900;padding:5px 9px;text-transform:uppercase;letter-spacing:.04em}.game-status-pill.active{background:#e9f9ef;color:#14783e}.game-status-pill.completed{background:#f4f4f5;color:#52525b}.game-room-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}.game-board-panel,.game-chat-panel{background:#fff;border:1px solid rgba(20,30,60,.08);border-radius:24px;padding:18px;box-shadow:0 18px 42px rgba(20,30,60,.07)}.tic-board{display:grid;grid-template-columns:repeat(3,minmax(86px,1fr));gap:12px;max-width:440px;margin:16px auto}.tic-cell{aspect-ratio:1/1;border:0;border-radius:24px;background:linear-gradient(135deg,#f8f9ff,#fff);box-shadow:inset 0 0 0 1px rgba(20,30,60,.08),0 14px 28px rgba(20,30,60,.08);font-size:3rem;font-weight:950;color:#ff477e}.tic-cell.o{color:#7b2cff}.tic-cell:disabled{opacity:1}.turn-card{text-align:center;border-radius:18px;background:#fbfcff;border:1px solid rgba(20,30,60,.08);padding:12px;margin:12px 0}.game-player-row{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}.game-player-badge{border-radius:999px;background:#f7f7fb;padding:8px 12px;font-weight:900}.icebreaker-card{border:1px dashed rgba(255,71,126,.25);background:linear-gradient(135deg,#fff8fb,#f9f7ff);border-radius:22px;padding:18px;text-align:center}.game-chat-log{height:330px;overflow:auto;display:flex;flex-direction:column;gap:9px;background:#f7f8fb;border-radius:18px;padding:12px}.game-chat-message{max-width:88%;background:#fff;border:1px solid rgba(20,30,60,.08);border-radius:16px;padding:9px 11px}.game-chat-message.mine{align-self:flex-end;background:#ffeff5;border-color:rgba(255,71,126,.14)}.game-chat-message strong{display:block;font-size:.78rem;color:var(--muted);margin-bottom:2px}.game-chat-message time{display:block;font-size:.7rem;color:var(--muted);margin-top:4px}.game-chat-form{display:flex;gap:8px;margin-top:10px}.game-chat-form input{border-radius:999px}.game-action-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.game-empty{border:1px dashed rgba(20,30,60,.16);border-radius:20px;padding:22px;text-align:center;background:#fbfcff}.game-page-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.game-page-tabs a{border-radius:999px;border:1px solid rgba(20,30,60,.1);padding:8px 13px;font-weight:900;text-decoration:none}.promo-rule-summary{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.promo-rule-summary span{background:#fff;border:1px solid rgba(20,30,60,.08);border-radius:999px;padding:6px 9px;font-size:.78rem;font-weight:900}.premium-free-notice{background:linear-gradient(135deg,#e9f9ef,#f7f2ff);border:1px solid rgba(20,120,62,.14);border-radius:22px;padding:16px;margin:0 0 18px}.premium-free-notice strong{color:#14783e}@media(max-width:900px){.games-hero,.game-room-grid{grid-template-columns:1fr}.game-type-grid,.feature-checkbox-grid{grid-template-columns:1fr 1fr}.game-chat-log{height:260px}}@media(max-width:560px){.game-type-grid,.feature-checkbox-grid{grid-template-columns:1fr}.tic-board{grid-template-columns:repeat(3,minmax(72px,1fr));gap:9px}.tic-cell{border-radius:18px;font-size:2.4rem}.game-row{display:block}.game-row .btn{margin-top:8px}.game-chat-form{display:block}.game-chat-form .btn{width:100%;margin-top:8px}}

/* Package 13: safety, verification, moderation */
.profile-verified-inline{display:inline-flex;align-items:center;gap:.25rem;background:linear-gradient(135deg,#2f80ed,#7b61ff);color:#fff;border-radius:999px;padding:.2rem .55rem;font-size:.78rem;font-weight:800;vertical-align:middle;white-space:nowrap}.verified-badge{background:linear-gradient(135deg,#2f80ed,#7b61ff)!important}.verification-panel .form-control{border-radius:16px}.safety-note-card ul{padding-left:1.2rem}.verification-status-card{border:1px solid rgba(47,128,237,.18)}.safety-member-card{border-left:4px solid #dc3545}.safety-page .safety-hero{background:linear-gradient(135deg,rgba(47,128,237,.1),rgba(220,53,69,.08))}.safety-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.severity-pill{display:inline-flex;border-radius:999px;padding:.25rem .55rem;font-weight:800;text-transform:uppercase;font-size:.72rem}.severity-low{background:#eaf8ef;color:#176b36}.severity-medium{background:#fff5df;color:#8a5a00}.severity-high{background:#ffe9e9;color:#a31212}.severity-critical{background:#250009;color:#fff}.moderation-actions{min-width:260px}.mini-admin-action{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.mini-admin-action .form-control{max-width:190px}.verification-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.verification-review-card img{width:100%;height:280px;object-fit:cover;border-radius:18px;background:#f2f2f2}.safety-settings-panel input[type="number"]{max-width:100%}.report-panel{max-width:760px;margin:auto}.admin-note-box{background:rgba(255,193,7,.16);border:1px solid rgba(255,193,7,.35);border-radius:16px;padding:.8rem;margin-top:.6rem}.soft-label{display:inline-block;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:800;color:#6c63ff;margin-bottom:.5rem}
@media(max-width:900px){.safety-grid,.verification-admin-grid{grid-template-columns:1fr}.verification-review-card img{height:220px}.mini-admin-action .form-control{max-width:100%;width:100%}.moderation-actions{min-width:0}}


/* Package 14: Boosts, Spotlight, and Advanced Matching */
.profile-card-badges{
    position:absolute;
    left:.75rem;
    right:.75rem;
    top:.75rem;
    display:flex;
    flex-wrap:wrap;
    gap:.35rem;
    align-items:center;
    z-index:3;
    pointer-events:none;
}
.profile-card-badges .verified-badge,
.profile-card-badges .match-badge,
.boost-badge{
    position:static !important;
    display:inline-flex;
    align-items:center;
    gap:.25rem;
    padding:.25rem .5rem;
    border-radius:999px;
    font-size:.72rem;
    line-height:1;
    font-weight:800;
    color:#fff;
    background:rgba(12,18,38,.78);
    backdrop-filter:blur(8px);
    box-shadow:0 5px 15px rgba(0,0,0,.18);
}
.boost-badge{background:linear-gradient(135deg,#7c3aed,#ec4899);}
.spotlight-badge{background:linear-gradient(135deg,#f59e0b,#ef4444);}
.new-badge{background:linear-gradient(135deg,#10b981,#06b6d4);}
.online-badge{background:linear-gradient(135deg,#22c55e,#16a34a);}
.spotlight-strip,.match-section{margin:1.25rem 0 1.75rem;}
.section-title-row{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:1rem;
    margin-bottom:.9rem;
}
.section-title-row h2{margin:0;font-size:1.45rem;}
.mini-card-row{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:1rem;
}
.mini-card-row .dating-card{min-height:100%;}
.compact-card-grid .dating-card .card-bio{display:none;}
.boost-page-head{align-items:center;}
.boost-status-grid,.boost-plan-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem;
    margin-bottom:1rem;
}
.boost-plan-card{text-align:center;position:relative;overflow:hidden;}
.boost-plan-card:before{
    content:"";
    position:absolute;
    inset:-40% -20% auto;
    height:140px;
    background:radial-gradient(circle,rgba(236,72,153,.18),transparent 60%);
    pointer-events:none;
}
.boost-icon{font-size:2.5rem;margin:.25rem 0 .5rem;}
.coin-price{
    font-size:1.5rem;
    font-weight:900;
    margin:1rem 0;
    color:var(--primary, #e11d48);
}
.spotlight-plan-card{
    border:1px solid rgba(245,158,11,.35);
    box-shadow:0 18px 50px rgba(245,158,11,.12);
}
.status-good{
    color:#16a34a;
    font-weight:800;
}
.feature-check-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1rem;
}
.feature-check-grid>div{
    padding:1rem;
    border-radius:1rem;
    background:rgba(15,23,42,.04);
}
.feature-check-grid strong{display:block;margin-bottom:.35rem;}
.feature-check-grid span{display:block;color:#64748b;font-size:.92rem;}
.admin-table small{color:#64748b;}
@media (max-width: 991px){
    .mini-card-row,.boost-status-grid,.boost-plan-grid,.feature-check-grid{grid-template-columns:1fr;}
    .section-title-row{align-items:flex-start;flex-direction:column;}
}
@media (max-width: 700px){
    .profile-card-badges{top:.55rem;left:.55rem;right:.55rem;}
    .profile-card-badges .verified-badge,
    .profile-card-badges .match-badge,
    .boost-badge{font-size:.65rem;padding:.22rem .42rem;}
}

/* Package 14A: Desktop nav dropdown cleanup */
.top-nav .dropdown-menu{
    border:0;
    border-radius:18px;
    box-shadow:0 18px 45px rgba(0,0,0,.18);
    padding:10px;
    min-width:230px;
}
.top-nav .dropdown-item{
    border-radius:14px;
    padding:10px 12px;
    color:var(--text);
}
.top-nav .dropdown-item:hover,
.top-nav .dropdown-item:focus{
    background:#f6f7fb;
    color:var(--primary-dark);
    text-decoration:none;
}
.top-nav .dropdown-item strong{display:block;font-size:.95rem;line-height:1.1}
.top-nav .dropdown-item small{display:block;color:var(--muted);font-size:.78rem;margin-top:3px;white-space:normal}
.paid-extras-toggle{font-weight:700;color:#ffdd8f!important}
@media (min-width:992px){
    .top-nav .navbar-nav{gap:.25rem!important}
    .top-nav .nav-link{font-size:.94rem;padding-left:.45rem!important;padding-right:.45rem!important}
}



/* Package 15: SEO + public landing pages */
.seo-hero{position:relative;overflow:hidden;}
.seo-phone-preview .phone-card{max-width:360px;margin:auto;}
.seo-section h2,.seo-index-page h1,.seo-city-hero h1,.seo-near-page h1,.seo-article-page h1{letter-spacing:-.03em;}
.city-link-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;}
.city-link-grid a{display:block;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:.85rem 1rem;text-decoration:none;color:var(--text);font-weight:800;box-shadow:0 10px 24px rgba(15,23,42,.05);}
.city-link-grid a:hover{transform:translateY(-1px);color:var(--primary-dark);box-shadow:0 14px 30px rgba(15,23,42,.09);}
.city-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;}
.city-directory-card,.guide-card{display:block;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:20px;padding:1.15rem;text-decoration:none;color:var(--text);box-shadow:0 12px 30px rgba(15,23,42,.06);}
.city-directory-card strong,.guide-card h2,.guide-card h3{display:block;color:var(--text);margin:0 0 .4rem;font-weight:900;}
.city-directory-card span,.guide-card p{display:block;color:var(--muted);margin:0;line-height:1.45;}
.guide-card span{display:inline-block;margin-top:.85rem;color:var(--primary-dark);font-weight:900;}
.guide-card-grid,.guide-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;}
.seo-stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.25rem;}
.seo-stat-row>div{background:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.55);border-radius:18px;padding:1rem;text-align:center;}
.seo-stat-row strong{display:block;font-size:1.5rem;font-weight:900;color:var(--primary-dark);}
.seo-stat-row span{display:block;color:var(--muted);font-size:.9rem;}
.seo-copy{font-size:1.05rem;line-height:1.75;color:#334155;}
.article-copy{max-width:850px;}
.article-cta{margin-top:2rem;background:linear-gradient(135deg,rgba(225,29,72,.08),rgba(124,58,237,.08));border-radius:22px;padding:1.5rem;}
.near-steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;}
.near-steps-grid>div{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:20px;padding:1.15rem;box-shadow:0 12px 30px rgba(15,23,42,.06);}
.near-steps-grid strong{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--primary,#e11d48);color:#fff;margin-bottom:.75rem;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:1.5rem;padding-top:1.5rem;padding-bottom:1.5rem;}
.footer-grid p{color:#64748b;margin:.5rem 0 0;max-width:420px;}
.footer-grid a{display:block;color:#334155;text-decoration:none;margin:.35rem 0;font-weight:700;}
.footer-grid a:hover{color:var(--primary-dark);text-decoration:underline;}
.footer-bottom{border-top:1px solid rgba(15,23,42,.10);padding-top:1rem;padding-bottom:1rem;display:flex;justify-content:space-between;gap:1rem;color:#64748b;}
.footer-bottom a{color:#475569;font-weight:800;}
.seo-admin-form .form-label{display:block;margin-bottom:1rem;font-weight:800;}
.seo-admin-form .form-control{margin-top:.35rem;}
.tabs-row{display:flex;gap:.5rem;flex-wrap:wrap;}
@media (max-width: 991px){
    .city-link-grid,.city-directory-grid,.guide-card-grid,.guide-directory-grid,.near-steps-grid,.footer-grid{grid-template-columns:1fr 1fr;}
    .seo-stat-row{grid-template-columns:1fr;}
}
@media (max-width: 640px){
    .city-link-grid,.city-directory-grid,.guide-card-grid,.guide-directory-grid,.near-steps-grid,.footer-grid{grid-template-columns:1fr;}
    .footer-bottom{border-top:1px solid rgba(15,23,42,.10);padding-top:1rem;padding-bottom:1rem;display:flex;justify-content:space-between;gap:1rem;color:#64748b;}
    .seo-hero .btn-lg,.seo-near-page .btn-lg,.seo-city-hero .btn-lg{width:100%;}
}


/* Package 15A: public page spacing + light footer readability fix */
.site-main{min-height:70vh;}
.app-container{padding-top:18px;padding-bottom:54px;}
.top-nav + .site-main .app-container{margin-top:0;}
.seo-hero{margin-top:0;}
.site-footer{
    background:#f1f5f9;
    color:#334155;
    margin-top:34px;
    padding:0;
    border-top:1px solid rgba(15,23,42,.08);
}
.site-footer strong{color:#0f172a;}
.footer-grid p{color:#64748b!important;}
.footer-grid a{
    color:#334155!important;
    font-weight:700;
}
.footer-grid a:hover{
    color:var(--primary-dark)!important;
    text-decoration:underline;
}
.footer-bottom{
    border-top:1px solid rgba(15,23,42,.10)!important;
    color:#64748b!important;
}
.footer-bottom a{color:#475569!important;font-weight:800;}
@media(max-width:768px){
    .app-container{padding-top:12px;padding-bottom:86px;}
    .site-footer{margin-bottom:70px;}
}


/* Package 16 email admin helpers */
.admin-list-link{display:flex;justify-content:space-between;gap:.75rem;padding:.75rem .9rem;border:1px solid rgba(15,23,42,.08);border-radius:14px;text-decoration:none;color:#182033;margin-bottom:.5rem;background:#fff}
.admin-list-link.active,.admin-list-link:hover{border-color:rgba(255,71,126,.35);background:#fff5f8;color:#182033}
.admin-list-link span{font-size:.82rem;color:#64748b}
