:root{
  --bg:#08060f; --magenta:#ff2d95; --violet:#b026ff; --blue:#2d7dff;
  --ink:#f5f3ff; --muted:#b0a7cf; --muted2:#7d75a0;
  --card:rgba(24,18,44,0.55); --line:rgba(176,38,255,0.25);
  --grad:linear-gradient(120deg,var(--magenta),var(--violet) 52%,var(--blue));
  --font:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --display:'Archivo','Manrope',system-ui,'Segoe UI',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--font);line-height:1.6;
  -webkit-font-smoothing:antialiased;position:relative;overflow-x:hidden;min-height:100vh;
  background:
    radial-gradient(1100px 600px at 12% -6%, rgba(255,45,149,.18), transparent 60%),
    radial-gradient(1000px 620px at 90% 3%, rgba(45,125,255,.18), transparent 60%),
    radial-gradient(900px 800px at 50% 120%, rgba(176,38,255,.2), transparent 60%),
    var(--bg);}
a{color:#d9b8ff;text-decoration:none}
.wrap{max-width:760px;margin:0 auto;padding:38px 22px 90px}
.brand{display:flex;align-items:center;gap:14px;margin-bottom:30px}
.logo{width:48px;height:48px;border-radius:13px;background:var(--grad);display:grid;place-items:center;
  font-family:var(--display);font-weight:800;font-size:20px;color:#fff;box-shadow:0 0 22px rgba(176,38,255,.6)}
.brand .t1{font-family:var(--display);font-weight:800;font-size:19px}
.brand .t2{font-size:11.5px;color:var(--muted);letter-spacing:2px;text-transform:uppercase}
.hero{text-align:center;margin-bottom:30px}
.hero h1{font-family:var(--display);font-weight:800;font-size:clamp(26px,5vw,42px);line-height:1.1;
  background:linear-gradient(120deg,#fff,#ffd9ee 22%,var(--magenta) 46%,var(--violet) 70%,var(--blue));
  -webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 24px rgba(176,38,255,.3))}
.hero p{margin:14px auto 0;max-width:560px;color:var(--muted);font-size:16px}
.pill{display:inline-block;margin-bottom:14px;padding:7px 16px;border-radius:999px;border:1px solid var(--line);
  background:rgba(176,38,255,.08);color:#e9d9ff;font-size:12px;letter-spacing:1.5px;text-transform:uppercase}
.card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:30px 28px;
  backdrop-filter:blur(12px);box-shadow:0 26px 60px -30px rgba(0,0,0,.85)}
.card::before{content:"";position:absolute;inset:0;border-radius:20px;padding:1px;background:var(--grad);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask-composite:exclude;opacity:.45;pointer-events:none}
.card h2{font-family:var(--display);font-weight:700;font-size:21px;margin-bottom:6px}
.card .sub{color:var(--muted);font-size:14px;margin-bottom:24px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){.grid2{grid-template-columns:1fr}}
label.fld{display:block;margin-bottom:16px}
label.fld span{display:block;font-size:12.5px;color:var(--muted);margin-bottom:7px}
input[type=text],input[type=email],input[type=password]{width:100%;padding:13px 15px;border-radius:12px;
  border:1px solid rgba(176,38,255,.25);background:rgba(8,6,15,.6);color:var(--ink);font-size:15px;font-family:inherit}
input:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px rgba(176,38,255,.18)}
input::placeholder{color:#5c5480}
.avatar-preview{margin:4px 0 22px;padding:13px 16px;border-radius:13px;border:1px dashed rgba(45,125,255,.4);
  background:rgba(45,125,255,.06);font-size:14px;color:var(--muted);display:flex;align-items:center;gap:11px}
.avatar-preview b{color:#fff}
.sec-title{font-size:13px;color:var(--muted);margin:8px 0 12px}
.tabs{display:flex;gap:8px;margin-bottom:14px}
.tab{flex:1;padding:11px;border-radius:12px;border:1px solid var(--line);background:rgba(8,6,15,.4);
  color:var(--muted);font-weight:600;font-size:14px;cursor:pointer;text-align:center;font-family:inherit}
.tab.active{color:#fff;background:var(--grad);box-shadow:0 0 20px rgba(176,38,255,.4)}
.outfits{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media(max-width:560px){.outfits{grid-template-columns:repeat(2,1fr)}}
.outfit{position:relative;border-radius:14px;border:1px solid var(--line);background:rgba(8,6,15,.5);
  padding:10px;cursor:pointer;text-align:center}
.outfit:hover{border-color:var(--violet)}
.outfit.sel{border-color:var(--magenta);box-shadow:0 0 0 2px rgba(255,45,149,.35),0 0 22px rgba(255,45,149,.25)}
.outfit .ph{height:110px;border-radius:10px;margin-bottom:9px;display:grid;place-items:center;
  background:linear-gradient(160deg,rgba(176,38,255,.18),rgba(45,125,255,.14))}
.outfit .ph svg{width:50px;height:78px;opacity:.9}
.outfit .nm{font-size:12.5px;color:var(--muted)}
.outfit.sel .nm,.outfit .nm b{color:#fff}
.outfit input{position:absolute;opacity:0;pointer-events:none}
.hint{font-size:12px;color:var(--muted2);margin-top:10px}
.info{margin:22px 0 4px;padding:14px 16px;border-radius:13px;border:1px solid rgba(45,125,255,.28);
  background:rgba(45,125,255,.07);font-size:13.5px;color:#cfe0ff;line-height:1.55}
.info b{color:#fff}
.err{margin:0 0 20px;padding:13px 16px;border-radius:12px;border:1px solid rgba(255,80,80,.5);
  background:rgba(255,60,60,.1);color:#ffd0d0;font-size:14px}
.err ul{margin:6px 0 0 18px}
.btn{display:block;width:100%;margin-top:20px;padding:15px;border:none;border-radius:14px;cursor:pointer;
  font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.3px;color:#fff;background:var(--grad);
  box-shadow:0 12px 30px -8px rgba(176,38,255,.7)}
.btn:hover{transform:translateY(-1px)}
.center{text-align:center}
.big-emoji{font-size:44px;margin-bottom:8px}
.foot{margin-top:34px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.foot{grid-template-columns:1fr}}
.foot a.block,.foot div.block{display:block;padding:16px 18px;border-radius:15px;border:1px solid var(--line);
  background:rgba(24,18,44,.4)}
.foot a.block:hover{border-color:var(--blue);box-shadow:0 0 22px rgba(45,125,255,.3)}
.foot .k{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted2);margin-bottom:5px}
.foot .v{font-size:15px;font-weight:600;color:#fff}
.foot .d{font-size:12.5px;color:var(--muted);margin-top:4px}
.legal{text-align:center;margin-top:30px;color:var(--muted2);font-size:12px}
.floor{position:fixed;left:0;right:0;bottom:0;height:170px;pointer-events:none;z-index:-1;
  background:linear-gradient(to top,rgba(176,38,255,.10),transparent);border-top:1px solid rgba(176,38,255,.12)}
/* --- Admin --- */
table.adm{width:100%;border-collapse:collapse;font-size:14px;margin-top:6px}
table.adm th,table.adm td{text-align:left;padding:11px 10px;border-bottom:1px solid rgba(176,38,255,.16);vertical-align:middle}
table.adm th{font-size:11.5px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);font-weight:600}
.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:600}
.b-att{background:rgba(255,190,60,.15);color:#ffd98a;border:1px solid rgba(255,190,60,.35)}
.b-ok{background:rgba(56,224,138,.15);color:#8ff0bd;border:1px solid rgba(56,224,138,.35)}
.b-no{background:rgba(255,80,80,.12);color:#ffb0b0;border:1px solid rgba(255,80,80,.35)}
.act{display:inline-flex;gap:6px}
.mini{padding:8px 14px;border:none;border-radius:9px;font-family:var(--display);font-weight:700;font-size:13px;cursor:pointer;color:#fff}
.mini.ok{background:linear-gradient(120deg,#1f8a4c,#38e08a)}
.mini.no{background:rgba(255,80,80,.25);color:#ffd0d0;border:1px solid rgba(255,80,80,.4)}
.note{padding:12px 15px;border-radius:11px;font-size:13.5px;margin-bottom:16px}
.note.ok{background:rgba(56,224,138,.1);border:1px solid rgba(56,224,138,.35);color:#bff0d4}
.note.no{background:rgba(255,80,80,.1);border:1px solid rgba(255,80,80,.4);color:#ffd0d0}
