/* DayZ Control Panel — tema futurista */
:root{
  --bg:#05070f; --panel:rgba(13,20,36,.78); --line:rgba(0,229,255,.16);
  --neon:#00e5ff; --neon2:#7c4dff; --txt:#d7e6f5; --mut:#7d93ad;
  --danger:#ff2d55; --ok:#00e676;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:"Segoe UI",Roboto,Arial,sans-serif;color:var(--txt);min-height:100vh;
  background:
    radial-gradient(1100px 500px at 15% -10%, rgba(124,77,255,.22), transparent 60%),
    radial-gradient(900px 480px at 90% 0%, rgba(0,229,255,.16), transparent 60%),
    radial-gradient(700px 600px at 50% 110%, rgba(255,45,85,.10), transparent 60%),
    var(--bg);
}
/* rejilla futurista */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  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%);
}
header,main{position:relative;z-index:1}
header{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:14px 24px;border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,rgba(10,16,30,.9),rgba(10,16,30,.55));
  backdrop-filter:blur(8px);position:sticky;top:0;
}
h1{margin:0;font-size:22px;letter-spacing:3px;font-weight:700;
  background:linear-gradient(90deg,var(--neon),var(--neon2));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 0 24px rgba(0,229,255,.25)}
h2{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--neon);margin:0 0 10px}
main{padding:20px;max-width:1240px;margin:auto}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}
.card{
  background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;
  box-shadow:0 0 0 1px rgba(0,0,0,.4),0 8px 32px rgba(0,229,255,.06),inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(10px);
}
.card.wide{grid-column:1/-1}
.label{font-size:11px;letter-spacing:2px;color:var(--mut);text-transform:uppercase}
.big{font-size:26px;margin:8px 0;font-weight:700;text-shadow:0 0 18px rgba(0,229,255,.35)}
.muted{font-size:12px;color:var(--mut)}
.grid{display:grid;grid-template-columns:1.2fr 1fr;gap:14px;margin-bottom:16px}
.panel{
  background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;
  box-shadow:0 8px 32px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(10px);min-width:0;
}
table{width:100%;border-collapse:collapse;font-size:13px}
th{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--neon);
  text-align:left;padding:8px;border-bottom:1px solid var(--line)}
td{padding:8px;border-bottom:1px solid rgba(0,229,255,.07)}
tbody tr{transition:background .15s}
tbody tr:hover{background:rgba(0,229,255,.06)}
.mono{font-family:Consolas,monospace;font-size:12px;color:#9fd8ff}
.row{display:flex;gap:8px;margin:8px 0;flex-wrap:wrap}
input,select{flex:1;min-width:140px;padding:10px 12px;border-radius:8px;color:var(--txt);
  border:1px solid var(--line);background:rgba(3,7,16,.8);outline:none}
input:focus,select:focus{border-color:var(--neon);box-shadow:0 0 0 1px var(--neon),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;letter-spacing:.5px;
  background:linear-gradient(90deg,var(--neon),#5eead4);
  box-shadow:0 0 16px rgba(0,229,255,.35);transition:transform .1s,box-shadow .15s;
}
button:hover{box-shadow:0 0 26px rgba(0,229,255,.6);transform:translateY(-1px)}
button.danger{background:linear-gradient(90deg,#ff2d55,#ff7a45);border-color:rgba(255,45,85,.5);
  color:#fff;box-shadow:0 0 16px rgba(255,45,85,.35)}
button.ghost{background:transparent;color:var(--neon)}
ul{max-height:300px;overflow:auto;padding-left:18px;margin:8px 0}
li{margin:4px 0}
li button{margin-left:6px;padding:4px 10px;font-size:12px}
code{background:#000;padding:2px 6px;border-radius:4px;border:1px solid var(--line)}
.badge{padding:5px 12px;border-radius:20px;font-size:12px;letter-spacing:1px;border:1px solid}
.badge.on{color:var(--ok);border-color:var(--ok);box-shadow:0 0 12px rgba(0,230,118,.4)}
.badge.off{color:var(--danger);border-color:var(--danger);box-shadow:0 0 12px rgba(255,45,85,.4)}
/* login gate */
#login{position:fixed;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:20px;
  background:radial-gradient(800px 400px at 50% 30%,rgba(124,77,255,.25),transparent 70%)}
.login-card{width:100%;max-width:420px;text-align:center;padding:36px 30px;border-radius:18px;
  background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(14px);
  box-shadow:0 0 60px rgba(0,229,255,.15),0 24px 80px rgba(0,0,0,.6)}
.login-card h1{font-size:26px;margin-bottom:6px}
.login-card p{color:var(--mut);font-size:13px}
.login-card input{width:100%;margin:14px 0;text-align:center;letter-spacing:1px}
.login-card button{width:100%}
#loginError{color:var(--danger);font-size:13px;min-height:20px;margin-top:10px}
#app{display:none}
@media(max-width:900px){.cards,.grid{grid-template-columns:1fr}}
