/* Portada publica ASILUM */
:root{
  --bg:#05070f; --panel:rgba(13,20,36,.82); --line:rgba(0,229,255,.16);
  --neon:#00e5ff; --neon2:#7c4dff; --txt:#d7e6f5; --mut:#7d93ad;
  --danger:#ff2d55; --ok:#00e676;
}
*{box-sizing:border-box}
body{margin:0;font-family:"Segoe UI",Roboto,Arial,sans-serif;color:var(--txt);min-height:100vh;
  background:var(--bg) url("hero.png") center top / cover no-repeat fixed}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:linear-gradient(180deg,rgba(5,7,15,.55),rgba(5,7,15,.88) 70%)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(0,229,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,229,255,.05) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(ellipse at 50% 0%,#000 30%,transparent 85%)}
nav,main,footer,.hero{position:relative;z-index:1}
nav{display:flex;align-items:center;gap:16px;padding:12px 24px;border-bottom:1px solid var(--line);
  background:rgba(10,16,30,.85);position:sticky;top:0}
nav a{color:var(--txt);text-decoration:none;font-size:14px}
nav a:hover{color:var(--neon)}
.brand{font-weight:800;letter-spacing:3px;
  background:linear-gradient(90deg,var(--neon),var(--neon2));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.sp{flex:1}
.hero{display:flex;justify-content:center;text-align:center;
  max-width:1200px;margin:64px auto 36px;padding:0 24px}
.hero-txt h1{font-size:64px;margin:0;letter-spacing:8px;
  background:linear-gradient(90deg,var(--neon),var(--neon2));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 4px 24px rgba(0,0,0,.8))}
.hero-txt p{color:var(--mut);letter-spacing:2px}
.status{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 0;font-size:14px}
.dot{width:12px;height:12px;border-radius:50%;background:#555}
.dot.on{background:var(--ok);box-shadow:0 0 12px var(--ok)}
.dot.off{background:var(--danger);box-shadow:0 0 12px var(--danger)}
.cta{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap;justify-content:center}
.btn{display:inline-block;padding:12px 20px;border-radius:10px;text-decoration:none;font-weight:700;
  color:#02141a;background:linear-gradient(90deg,var(--neon),#5eead4);
  box-shadow:0 0 18px rgba(0,229,255,.35)}
.btn.ghost{background:transparent;color:var(--neon);border:1px solid rgba(0,229,255,.4);box-shadow:none}
main.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:1200px;margin:0 auto 30px;padding:0 24px}
main.narrow{max-width:720px;margin:28px auto;padding:0 24px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;
  backdrop-filter:blur(10px);box-shadow:0 8px 32px rgba(0,0,0,.45)}
h2{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--neon);margin:0 0 10px}
.row{display:flex;gap:8px;margin:8px 0;flex-wrap:wrap}
input{flex:1;min-width:160px;padding:10px 12px;border-radius:8px;color:var(--txt);
  border:1px solid var(--line);background:rgba(3,7,16,.8);outline:none}
input:focus{border-color:var(--neon);box-shadow:0 0 14px rgba(0,229,255,.35)}
button{padding:10px 14px;border-radius:8px;border:1px solid rgba(0,229,255,.35);cursor:pointer;
  color:#02141a;font-weight:700;background:linear-gradient(90deg,var(--neon),#5eead4)}
button.ghost{background:transparent;color:var(--neon)}
button.sm{padding:7px 14px;font-size:13px}
button.active{box-shadow:0 0 18px rgba(0,229,255,.7);border-color:var(--neon)}
.tabs{display:flex;gap:8px;margin-bottom:6px}
#navAuth{display:flex;gap:8px;align-items:center}
#navProfile{position:relative}
.dropdown{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;z-index:20;
  background:rgba(10,16,30,.97);border:1px solid var(--line);border-radius:12px;padding:8px;
  box-shadow:0 16px 48px rgba(0,0,0,.6)}
.dropdown a{display:block;padding:10px 12px;border-radius:8px;color:var(--txt);text-decoration:none;font-size:14px}
.dropdown a:hover{background:rgba(0,229,255,.1);color:var(--neon)}
.muted{color:var(--mut);font-size:13px}
.mono{font-family:Consolas,monospace}
.err{color:var(--danger);font-size:13px;min-height:18px}
.big{font-size:30px;font-weight:800}
.big small{font-size:14px;color:var(--mut);font-weight:400}
ol{line-height:1.9}
footer{text-align:center;color:var(--mut);font-size:12px;padding:24px;letter-spacing:2px}
.vote{display:block;margin:10px 0}
@media(max-width:900px){main.grid{grid-template-columns:1fr}.hero-txt h1{font-size:38px}}
