:root{
  --bg:#081120;
  --bg2:#0e172a;
  --panel:rgba(17,24,39,.78);
  --text:#eef2ff;
  --muted:#9fb0cf;
  --line:rgba(148,163,184,.18);
  --primary:#7c3aed;
  --primary-2:#2563eb;
  --accent:#ec4899;
  --danger:#ef4444;
  --glass: blur(14px);
  --radius:22px;
  --shadow:0 20px 60px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:
    radial-gradient(1200px 700px at 0% 0%, rgba(124,58,237,.18), transparent 60%),
    radial-gradient(900px 600px at 100% 20%, rgba(37,99,235,.18), transparent 60%),
    linear-gradient(180deg, #07111f, #0a1322 50%, #08111d);
  min-height:100vh;
}
a{color:#b9c8ff;text-decoration:none}
img{display:block;max-width:100%}
.container{width:min(1120px,92%);margin:0 auto}
.page{padding:28px 0 60px}
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(8,17,32,.7);
  backdrop-filter:var(--glass);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex;justify-content:space-between;align-items:center;
  min-height:72px;gap:16px;
}
.brand{font-size:1.05rem;font-weight:800;color:#fff}
.nav-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:stretch}
.panel,.card,.chat-sidebar,.chat-main{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  backdrop-filter:var(--glass);
}
.panel-inner,.card-body,.chat-sidebar .inner,.chat-main .inner{padding:22px}
.hero-title{font-size:clamp(2rem,5vw,3.8rem);line-height:1.02;margin:0 0 14px}
.muted,.hero p{color:var(--muted)}
.badges,.toolbar{display:flex;gap:10px;flex-wrap:wrap}
.badges{margin:18px 0 24px}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 12px;border-radius:999px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  color:#dbe4ff;font-size:.92rem;
}
.btn{
  display:inline-flex;justify-content:center;align-items:center;gap:8px;
  border:none;border-radius:14px;padding:13px 18px;font-weight:700;
  cursor:pointer;text-decoration:none;transition:.18s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(135deg, var(--primary), var(--primary-2));color:#fff}
.btn-secondary{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.1)}
.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}
.btn-like{background:linear-gradient(135deg,#ec4899,#db2777);color:#fff}
.btn-pass{background:linear-gradient(135deg,#475569,#334155);color:#fff}
.btn-small{padding:10px 13px;border-radius:12px;font-size:.92rem}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.section{margin-top:26px}
.form-stack{display:grid;gap:14px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:grid;gap:8px;font-weight:600}
input,textarea,select{
  width:100%;border:1px solid rgba(255,255,255,.1);border-radius:14px;
  background:rgba(8,15,26,.72);color:#fff;padding:13px 14px;outline:none;
}
textarea{min-height:130px;resize:vertical}
input[type="checkbox"]{width:auto}
.notice{
  padding:13px 14px;border-radius:14px;border:1px solid var(--line);
  background:rgba(255,255,255,.04);margin-bottom:16px;
}
.notice.error{background:rgba(127,29,29,.28);border-color:rgba(248,113,113,.35)}
.notice.success{background:rgba(6,95,70,.28);border-color:rgba(52,211,153,.35)}
.pref-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
.pref-option{
  display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
}
.photo-frame{
  border-radius:22px;overflow:hidden;background:#0b1324;border:1px solid var(--line);
}
.profile-photo{width:100%;height:min(72vh,640px);object-fit:cover}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.match-list{display:grid;gap:12px}
.match-item{
  display:grid;grid-template-columns:76px 1fr auto;gap:12px;align-items:center;
  padding:12px;border-radius:18px;background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
}
.match-thumb{
  width:76px;height:76px;border-radius:18px;object-fit:cover;background:#0b1324;
}
.chat-layout{display:grid;grid-template-columns:340px 1fr;gap:18px}
.messages{
  display:grid;gap:10px;max-height:58vh;overflow-y:auto;padding-right:4px;margin-bottom:14px;
}
.msg{padding:12px 14px;border-radius:16px;max-width:78%;line-height:1.45}
.msg.me{
  margin-left:auto;
  background:linear-gradient(135deg, rgba(124,58,237,.45), rgba(37,99,235,.45));
  border:1px solid rgba(147,197,253,.18);
}
.msg.them{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
}
.empty{padding:30px 18px;text-align:center;color:var(--muted)}
.kpi{
  padding:18px;border-radius:20px;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}
.footer-note{margin-top:18px;font-size:.92rem;color:var(--muted)}
@media (max-width: 920px){
  .hero,.chat-layout,.grid-3,.grid-2,.row{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .pref-grid{grid-template-columns:1fr}
  .match-item{grid-template-columns:68px 1fr}
  .actions{grid-template-columns:1fr}
  .hero-title{font-size:2.3rem}
}
