/* filepath: auth.opennexus.top/public/login.css */
:root{
  --bg:#070b14; --bg2:#0c1220;
  --border:rgba(0,243,255,0.18);
  --cyan:#00f3ff; --gold:#f5c518;
  --red:#ff3b3b; --green:#00ff87;
  --text:#e2e8f0; --muted:#64748b;
}
*{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:'Inter',system-ui,sans-serif;}
canvas#bg-canvas{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.4;}

.login-wrap{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;}

.login-card{
  width:420px;max-width:92vw;
  background:linear-gradient(160deg,#0c1a2e 0%,#070b14 100%);
  border:1px solid var(--border);
  border-radius:4px;
  box-shadow:0 0 60px rgba(0,243,255,0.06);
  padding:32px;
}

.brand{display:flex;align-items:center;gap:16px;margin-bottom:14px;}
.brand-hex{width:56px;height:56px;flex-shrink:0;}
.brand-text{flex:1;}
.brand-name{font-family:'Orbitron',monospace;font-size:1.05rem;font-weight:700;letter-spacing:.12em;color:var(--text);}
.brand-name span{color:var(--cyan);}
.brand-sub{font-family:'Fira Code',monospace;font-size:.6rem;color:var(--muted);letter-spacing:.12em;margin-top:4px;}

.form-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(0,243,255,0.25),transparent);margin:18px 0 22px;}

.field{margin-bottom:14px;}
.field label{display:block;font-family:'Fira Code',monospace;font-size:.6rem;color:var(--cyan);letter-spacing:.12em;margin-bottom:5px;}
.field input{
  width:100%;background:rgba(0,243,255,0.04);
  border:1px solid rgba(0,243,255,0.18);border-radius:3px;
  padding:10px 12px;color:var(--text);font-family:'Fira Code',monospace;font-size:.85rem;
  outline:none;transition:border-color .2s;
}
.field input:focus{border-color:rgba(0,243,255,0.5);box-shadow:0 0 0 2px rgba(0,243,255,0.06);}

.login-btn{
  width:100%;margin-top:18px;padding:12px;
  background:linear-gradient(90deg,rgba(0,243,255,0.12),rgba(0,243,255,0.06));
  border:1px solid rgba(0,243,255,0.35);border-radius:3px;color:var(--cyan);
  font-family:'Orbitron',monospace;font-size:.78rem;font-weight:700;letter-spacing:.15em;
  cursor:pointer;transition:all .2s;
}
.login-btn:hover{background:linear-gradient(90deg,rgba(0,243,255,0.2),rgba(0,243,255,0.1));box-shadow:0 0 20px rgba(0,243,255,0.15);}
.login-btn:disabled{opacity:.5;cursor:not-allowed;}
.login-btn:active{transform:scale(.99);}

.err{margin-top:12px;font-family:'Fira Code',monospace;font-size:.7rem;color:var(--red);min-height:18px;text-align:center;}
.err.success{color:var(--green);}

.hint{margin-top:18px;padding-top:14px;border-top:1px solid var(--border);font-family:'Fira Code',monospace;font-size:.6rem;color:var(--muted);line-height:1.7;}
.hint a{color:var(--cyan);text-decoration:none;}
.hint a:hover{text-decoration:underline;}

.footer-line{
  font-family:'Fira Code',monospace;font-size:.6rem;color:var(--muted);
  display:flex;align-items:center;gap:8px;letter-spacing:.1em;
}
.status-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);animation:pulse 1.6s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.5;}}