:root{
  --bg:#0d0510; --card:rgba(255,255,255,.06); --card2:rgba(255,255,255,.09);
  --acc:#ff2e7e; --acc2:#a855f7; --acc3:#ffb03d;
  --txt:#fff2f7; --mut:#d8b3c4; --ok:#34d399;
  --r:20px; --shadow:0 12px 40px rgba(255,46,126,.18);
}
*{box-sizing:border-box}
body{margin:0;color:var(--txt);font-family:"Plus Jakarta Sans",Inter,system-ui,Arial,sans-serif;
  background:
    radial-gradient(900px 480px at 12% -5%,#5b1140 0%,transparent 60%),
    radial-gradient(800px 420px at 95% 10%,#3b1d6e 0%,transparent 55%),
    radial-gradient(700px 500px at 50% 110%,#7a1e2e 0%,transparent 60%),
    var(--bg);}
a{color:#ffc2d8;text-decoration:none}
a:hover{text-decoration:underline}
/* NAV */
.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;
  background:rgba(10,4,10,.72);position:sticky;top:0;z-index:50;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,46,126,.25)}
.logo{font-weight:800;font-size:21px;letter-spacing:.3px;color:#fff}
.logo span{background:linear-gradient(90deg,var(--acc),var(--acc2));-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:600;font-size:14px}
nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
nav a{margin:0 2px;padding:8px 12px;border-radius:999px;color:#ffe4ee;font-size:14px;transition:.2s}
nav a:hover{background:rgba(255,255,255,.1);text-decoration:none;transform:translateY(-1px)}
/* BOUTONS modernes */
.btn{--g1:var(--acc);--g2:var(--acc2);position:relative;display:inline-flex;align-items:center;gap:8px;
  background:linear-gradient(135deg,var(--g1),var(--g2));color:#fff;border:0;padding:11px 20px;border-radius:16px;
  cursor:pointer;font-weight:800;font-size:14px;letter-spacing:.2px;box-shadow:var(--shadow);transition:.22s}
.btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 16px 44px rgba(168,85,247,.35);filter:saturate(1.15)}
.btn:active{transform:translateY(0) scale(.98)}
.btn.ghost{background:rgba(255,255,255,.1);box-shadow:none;border:1px solid rgba(255,255,255,.16)}
.btn.ghost:hover{background:rgba(255,255,255,.17)}
.btn.danger{background:linear-gradient(135deg,#7f1d2f,#3f0d18);box-shadow:none;border:1px solid rgba(255,90,120,.3)}
.btn.big{font-size:16px;padding:14px 26px;border-radius:18px}
.btn.wow{--g1:#ffb03d;--g2:#ff2e7e}
/* chips / cases */
.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;
  background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);font-size:13px}
.chip.hot{background:linear-gradient(135deg,rgba(255,46,126,.35),rgba(168,85,247,.35));border-color:rgba(255,46,126,.5)}
.age-strip{background:linear-gradient(90deg,rgba(255,46,126,.22),rgba(168,85,247,.22));padding:8px;text-align:center;font-size:13px;border-bottom:1px solid rgba(255,255,255,.08)}
.container{max-width:1140px;margin:0 auto;padding:22px 18px 40px}
.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}@media(max-width:900px){.hero{grid-template-columns:1fr}}
.hero-card,.card{background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid rgba(255,255,255,.12);
  border-radius:var(--r);padding:18px;margin:12px 0;box-shadow:0 8px 30px rgba(0,0,0,.35);backdrop-filter:blur(10px)}
.card.lift{transition:.25s}.card.lift:hover{transform:translateY(-4px);border-color:rgba(255,46,126,.45);box-shadow:var(--shadow)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:14px}
.card.profil{color:#fff;overflow:hidden;padding:0}
.card.profil .p-body{padding:12px 14px}
.card.profil img{width:100%;height:200px;object-fit:cover;display:block;transition:.4s}
.card.profil:hover img{transform:scale(1.05)}
.avatar{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--acc),var(--acc2));
  display:flex;align-items:center;justify-content:center;font-weight:900;box-shadow:var(--shadow)}
.avatar.big{width:100%;height:130px;border-radius:16px;font-size:44px}
.avatar.xl{width:148px;height:148px;font-size:62px;border-radius:28px}
.ph{width:148px;height:148px;object-fit:cover;border-radius:28px;border:2px solid rgba(255,255,255,.2)}
.preview{max-width:210px;border-radius:14px}
/* formulaires */
.form{background:linear-gradient(180deg,var(--card2),var(--card));padding:18px;border-radius:var(--r);
  display:grid;gap:12px;margin:12px 0;border:1px solid rgba(255,255,255,.12)}
.form label{font-size:13px;color:var(--mut);display:grid;gap:6px;font-weight:600}
.form input,.form select,.form textarea{background:rgba(0,0,0,.45);color:#fff;border:1px solid rgba(255,255,255,.16);
  border-radius:14px;padding:11px 12px;font-size:14px;outline:none;transition:.2s;width:100%}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(255,46,126,.25)}
.form .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.checks{display:flex;flex-wrap:wrap;gap:8px}
.checks label{background:rgba(255,255,255,.08);padding:8px 13px;border-radius:999px;border:1px solid transparent;cursor:pointer;color:var(--txt)}
.checks label:has(input:checked){background:linear-gradient(135deg,rgba(255,46,126,.4),rgba(168,85,247,.4));border-color:var(--acc)}
.alert{background:rgba(127,29,47,.6);padding:12px;border-radius:14px;border:1px solid rgba(255,90,120,.4)}
.ok-box{background:rgba(19,77,42,.6);padding:12px;border-radius:14px;border:1px solid rgba(52,211,153,.4)}
.cols{display:grid;grid-template-columns:1.5fr 1fr;gap:16px}@media(max-width:900px){.cols{grid-template-columns:1fr}}
.profil-head{display:flex;gap:18px;flex-wrap:wrap}.bio{white-space:pre-wrap}.tiny{color:var(--mut);font-size:12px}
.actions{display:grid;gap:10px;margin-top:12px}.form.inline{display:flex;gap:8px;align-items:center}
.chat{display:grid;gap:10px;max-height:440px;overflow:auto;padding:6px}
.bubble{background:rgba(255,255,255,.09);padding:11px 13px;border-radius:16px 16px 16px 6px;border:1px solid rgba(255,255,255,.08)}
.bubble.moi{background:linear-gradient(135deg,rgba(255,46,126,.45),rgba(168,85,247,.45));margin-left:34px;border-radius:16px 16px 6px 16px;border-color:transparent}
.badge{background:linear-gradient(135deg,var(--acc),var(--acc2));border-radius:999px;padding:2px 8px;font-size:12px;font-weight:800}
.note{color:gold}.ok{color:var(--ok)}.vip{color:var(--acc3)}.price{font-size:24px;font-weight:900;letter-spacing:.3px}
footer{padding:24px;text-align:center;color:var(--mut);font-size:13px}
.stats{display:flex;gap:14px;margin-top:14px;flex-wrap:wrap}
.stats div{background:rgba(255,255,255,.07);padding:12px 18px;border-radius:16px;text-align:center;border:1px solid rgba(255,255,255,.1);min-width:110px}
.stats b{display:block;font-size:24px;background:linear-gradient(90deg,#fff,var(--acc3));-webkit-background-clip:text;background-clip:text;color:transparent}
.gate{background:rgba(0,0,0,.4);padding:18px;border-radius:var(--r);border:1px dashed rgba(255,46,126,.6)}
.gate-btns{display:flex;gap:10px;flex-wrap:wrap}
h1{font-size:32px;letter-spacing:.2px}h1,h2,h3{margin:10px 0}
table.tbl{width:100%;border-collapse:collapse;font-size:14px}
table.tbl td,table.tbl th{padding:9px;border-bottom:1px solid rgba(255,255,255,.08)}
