body.personal-auth-pending > .app,
body.personal-auth-required > .app { display:none; }
.personal-auth { display:none; }
body.personal-auth-required .personal-auth {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:100vh;
  min-height:100dvh;
  padding:44px 24px;
}
.personal-auth [hidden] { display:none !important; }
.personal-auth-card {
  width:100%;
  max-width:456px;
  padding:32px;
  border:1px solid #282d28;
  border-radius:14px;
  background:#101210;
  box-shadow:0 22px 70px #00000050;
  position:relative;
}
.personal-auth-card::before {
  content:'';
  position:absolute;
  top:-1px;
  left:30px;
  right:30px;
  height:1px;
  background:linear-gradient(90deg,transparent,#44bb4880,transparent);
}
.personal-auth-field { display:flex; flex-direction:column; gap:9px; margin-bottom:19px; font-size:13px; color:#d8ded8; }
.personal-auth input,.personal-auth select {
  font-family:inherit;
  font-size:16px;
  line-height:1.4;
  width:100%;
  min-width:0;
  height:47px;
  padding:11px 13px;
  color:#f5f5f5;
  background:#090b09;
  border:1px solid #303530;
  border-radius:8px;
  color-scheme:dark;
}
.personal-auth input:focus-visible,.personal-auth select:focus-visible,.personal-auth button:focus-visible {
  outline:2px solid #44bb48;
  outline-offset:2px;
}
.personal-auth-password { position:relative; }
.personal-auth-password input { padding-right:48px; }
.personal-auth button { font-family:inherit; cursor:pointer; }
.personal-auth-eye { position:absolute; right:3px; top:3px; width:41px; height:41px; border:0; border-radius:6px; background:transparent; color:#a2a8a2; display:grid; place-items:center; }
.personal-auth svg { width:17px; height:17px; display:block; }
.personal-auth-recover-row { text-align:left; margin:-3px 0 24px; }
.personal-auth-link { background:transparent; border:0; padding:4px 0; color:#44bb48; font-size:13px; text-decoration:none; }
.personal-auth-link:hover { text-decoration:underline; }
.personal-auth-submit { display:flex; align-items:center; justify-content:center; min-height:47px; width:100%; padding:12px 18px; border:1px solid #57c85b; border-radius:8px; background:#44bb48; color:#071508; font-weight:600; font-size:14px; }
.personal-auth-submit:hover { background:#57c85b; }
.personal-auth button:disabled { opacity:.6; cursor:wait; }
.personal-auth-return { display:flex; gap:11px; margin-top:24px; padding-top:21px; border-top:1px solid #282d28; }
.personal-auth-return-icon { color:#44bb48; padding-top:2px; flex-shrink:0; }
.personal-auth-return p { font-size:12px; line-height:1.6; color:#a2a8a2; margin:0; }
.personal-auth-return code { display:block; color:#d2d9d2; font-family:ui-monospace,monospace; font-size:12px; margin-top:5px; overflow-wrap:anywhere; }
.personal-auth-title { font-size:23px; font-weight:600; line-height:1.25; margin-bottom:20px; }
.personal-auth-info { font-size:13px; line-height:1.7; color:#a2a8a2; padding:14px; background:#090b09; border:1px solid #282d28; border-radius:8px; margin-bottom:23px; }
.personal-auth-info a { color:#44bb48; }
.personal-auth-back { display:flex; justify-content:center; margin-top:16px; }
.personal-auth-feedback { margin-top:15px; color:#ff6b6b; font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.personal-auth-feedback.success { color:#44bb48; }
.personal-auth-result { margin-top:20px; padding:14px; background:#142217; border-radius:8px; font-size:13px; }
.personal-auth-result code { display:block; margin:10px 0; overflow-wrap:anywhere; }
@media(max-width:520px) {
  body.personal-auth-required .personal-auth { padding:28px 16px; }
  .personal-auth-card { padding:25px 22px; }
}
