*{box-sizing:border-box;margin:0;padding:0}
body{background:#07090f;color:#c8d4f0;font-family:'Rajdhani',sans-serif;
  min-height:100vh;display:flex;align-items:center;justify-content:center}
.card{background:#0d1220;border:1px solid #1a2035;border-radius:14px;
  padding:2.5rem 2rem;width:100%;max-width:360px;
  box-shadow:0 0 60px rgba(0,229,160,.06)}
h1{font-size:1.4rem;font-weight:700;letter-spacing:.1em;margin-bottom:.3rem}
h1 span{color:#00e5a0}
.sub{font-size:.75rem;color:#4a5578;margin-bottom:1.75rem}
label{display:block;font-size:.72rem;color:#4a5578;letter-spacing:.06em;margin-bottom:.3rem}
input{display:block;width:100%;background:#080b14;border:1px solid #1a2035;color:#c8d4f0;
  padding:.55rem .75rem;border-radius:6px;font-family:'DM Mono',monospace;font-size:.85rem;
  margin-bottom:1rem;transition:border-color .2s}
input:focus{outline:none;border-color:#00e5a0}
.btn{width:100%;background:#00e5a0;color:#000;border:none;padding:.65rem;border-radius:6px;
  font-family:'Rajdhani',sans-serif;font-weight:700;font-size:1rem;cursor:pointer;
  letter-spacing:.06em;transition:opacity .2s;margin-top:.25rem}
.btn:hover{opacity:.85}
.error{background:rgba(255,59,92,.1);border:1px solid rgba(255,59,92,.3);
  border-radius:6px;padding:.55rem .75rem;font-size:.8rem;color:#ff3b5c;margin-bottom:1rem}
.lock{font-size:2rem;margin-bottom:1rem;text-align:center}
