:root{--blue:#0786ff;--gold:#ffb718;--text:#eef8ff}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 50% 10%,#073d78,transparent 38%),linear-gradient(145deg,#01040a,#020b16 55%,#01050b);color:var(--text);font-family:Segoe UI,Arial,sans-serif}.shell{width:min(1060px,100%);display:grid;grid-template-columns:.9fr 1.1fr;border:1px solid #319dff;border-radius:24px;background:linear-gradient(145deg,#0b192afa,#02080fff);box-shadow:0 0 0 3px #06142a,0 0 45px #007fff55,inset 0 1px #ffffff22,0 16px #000,0 30px 70px #000;overflow:hidden;position:relative}.shell:after{content:"";position:absolute;inset:7px;border:1px solid #1689ff44;pointer-events:none;clip-path:polygon(0 18px,18px 0,calc(100% - 18px) 0,100% 18px,100% calc(100% - 18px),calc(100% - 18px) 100%,18px 100%,0 calc(100% - 18px))}.brand{padding:48px 40px;background:radial-gradient(circle at 50% 27%,#047dff33,transparent 36%),linear-gradient(160deg,#07182c,#020812);border-right:1px solid #147bce;display:flex;flex-direction:column;justify-content:center}.brand img{width:100%;filter:drop-shadow(0 0 13px #008cff)}.brand h1{font-size:30px;margin:32px 0 8px;text-shadow:0 3px #53606c,0 0 15px #148cff}.brand p{color:#8fa8bd;line-height:1.6}.secure{color:#35e778!important}.form{padding:44px 50px;position:relative;z-index:2}.eyebrow{color:#2faaff;font:700 11px Consolas;letter-spacing:.18em}.form h2{font-size:29px;margin:7px 0}.muted{color:#899fb3;font-size:13px;margin-bottom:24px}.field{display:grid;gap:8px;margin:15px 0}.field label{font-size:12px;color:#a9bed0;font-weight:700}.input{display:flex;align-items:center;border:1px solid #1d74bb;background:#030a13;border-radius:10px;box-shadow:inset 0 0 14px #037eff19,0 5px #000}.input span{width:44px;text-align:center;color:#48b8ff;text-shadow:0 0 8px #078cff}.input input{width:100%;border:0;outline:0;padding:14px 12px;background:transparent;color:white;font-size:15px}.input:focus-within{border-color:#43b9ff;box-shadow:inset 0 0 18px #037eff26,0 0 13px #078cff55,0 5px #000}.primary{width:100%;border:1px solid #3ab0ff;border-radius:10px;padding:14px;background:linear-gradient(180deg,#1a9fff,#0066cc);color:#fff;font-weight:900;box-shadow:inset 0 1px #7ed0ff,0 5px #003d7a,0 0 25px #0786ff88;margin-top:12px;cursor:pointer;text-shadow:0 0 8px #ffffff55;transition:all .2s}.links{display:flex;justify-content:space-between;margin-top:21px;font-size:12px}.links a{color:#46b9ff;text-decoration:none}.message{min-height:21px;margin-top:12px;font-size:13px}.error{color:#ff7373}.ok{color:#3deb75}.setup{width:min(1150px,100%)}.setup .form{padding:34px 38px}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.qr{border:1px solid #1b72b7;border-radius:14px;background:#030b15;padding:18px;text-align:center;box-shadow:inset 0 0 18px #078cff18,0 6px #000}.qr img{width:185px;height:185px;background:white;border:7px solid white;border-radius:9px}.secret{font:700 14px Consolas;color:#ffd05d;letter-spacing:.08em;word-break:break-all}.steps{padding-left:18px;color:#9eb2c3;font-size:13px;line-height:1.65}.warning{font-size:11px;color:#f8c45e;background:#241900;border:1px solid #825d12;border-radius:8px;padding:9px}.badge{display:inline-block;padding:4px 9px;border:1px solid #1783d9;border-radius:20px;color:#4dbaff;font-size:11px}@media(max-width:800px){.shell{grid-template-columns:1fr}.brand{padding:25px;border-right:0;border-bottom:1px solid #147bce}.brand img{max-width:320px}.brand h1{display:none}.brand p{margin-bottom:0}.form{padding:30px 24px}.setup-grid{grid-template-columns:1fr}}@media(max-width:430px){body{padding:8px}.shell{border-radius:15px}.form{padding:25px 17px}.links{flex-direction:column;gap:12px}}
.primary:hover{background:linear-gradient(180deg,#2aadff,#0077e6);box-shadow:inset 0 1px #9edfff,0 5px #004a94,0 0 35px #0786ffaa;transform:translateY(-1px)}

/* Show/Hide Password Toggle */
.input { position: relative; }
.toggle-pass {
  background: transparent;
  border: none;
  color: #48b8ff;
  cursor: pointer;
  font-size: 16px;
  padding: 0 12px;
  height: 100%;
  display: flex;
  align-items: center;
  opacity: 0.8;
  transition: opacity .2s;
}
.toggle-pass:hover { opacity: 1; text-shadow: 0 0 8px #078cff; }

.input input {
  min-width: 0;
  overflow: visible;
  text-overflow: unset;
}
.field .input {
  overflow: visible;
}

