#tb-phone-login-dialog.tb-login-dialog {
  width: min(92vw, 470px);
  max-width: none;
  max-height: min(92vh, 760px);
  padding: 0;
  border: 1px solid rgba(0, 229, 255, .22);
  border-radius: 20px;
  color: #f4f7fb;
  background: #07111f;
  box-shadow: 0 28px 100px rgba(0, 0, 0, .62), 0 0 45px rgba(0, 229, 255, .08);
  overflow: auto;
}
#tb-phone-login-dialog::backdrop {
  background: rgba(1, 6, 15, .78);
  backdrop-filter: blur(8px);
}
.tb-login-panel {
  position: relative;
  padding: clamp(28px, 7vw, 44px);
  background: radial-gradient(ellipse at 100% 0, rgba(0, 229, 255, .11), transparent 42%), #07111f;
}
.tb-login-close {
  position: absolute;
  top: 14px;
  right: 16px;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 50%;
  color: #c9d4df;
  background: rgba(255,255,255,.04);
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
}
.tb-login-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 30px; }
.tb-login-brand img { width: 42px; height: 42px; object-fit: contain; }
.tb-login-brand strong { display: block; letter-spacing: .1em; font-size: 13px; }
.tb-login-brand strong b { color: #00e5ff; }
.tb-login-brand small { display: block; margin-top: 4px; color: #8d9bac; font-size: 9px; letter-spacing: .16em; }
.tb-login-eyebrow { margin: 0 0 9px; color: #d4af37; font-size: 11px; font-weight: 700; letter-spacing: .16em; }
.tb-login-panel h2 { margin: 0 0 10px; color: #fff; font-size: clamp(25px, 6vw, 32px); line-height: 1.18; }
.tb-login-intro { margin: 0 0 24px; color: #aab6c5; font-size: 14px; line-height: 1.6; }
.tb-login-status { min-height: 0; margin: 0; }
.tb-login-status:not(:empty) { margin: 0 0 16px; padding: 11px 13px; border: 1px solid rgba(0,229,255,.22); border-radius: 10px; background: rgba(0,229,255,.06); color: #b9f7ff; font-size: 13px; line-height: 1.5; }
.tb-login-status.is-error { border-color: rgba(255,110,110,.35); background: rgba(255,70,70,.07); color: #ffc5c5; }
.tb-login-panel form label { display: block; margin: 0 0 8px; color: #e4eaf1; font-size: 13px; font-weight: 600; }
.tb-login-panel input {
  box-sizing: border-box;
  width: 100%;
  min-height: 50px;
  margin: 0 0 8px;
  padding: 0 14px;
  border: 1px solid #344457;
  border-radius: 10px;
  outline: none;
  color: #fff;
  background: #0a1727;
  font: inherit;
}
.tb-login-panel input:focus { border-color: #00e5ff; box-shadow: 0 0 0 3px rgba(0,229,255,.12); }
.tb-phone-form > small { display: block; margin: 0 0 17px; color: #8796a7; font-size: 12px; }
.tb-login-submit.btn {
  display: flex;
  width: 100%;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid #00e5ff;
  border-radius: 10px;
  color: #03111a;
  background: linear-gradient(110deg, #00e5ff, #74f1ff);
  font-weight: 750;
  cursor: pointer;
}
.tb-login-submit:disabled { opacity: .65; cursor: wait; }
.tb-login-resend { display: block; margin: 12px auto 0; padding: 6px; border: 0; color: #00e5ff; background: transparent; font: inherit; cursor: pointer; }
.tb-login-foot { display: grid; gap: 12px; margin-top: 25px; padding-top: 19px; border-top: 1px solid rgba(255,255,255,.1); color: #98a7b8; font-size: 12px; line-height: 1.5; }
.tb-login-foot a { color: #d4af37; text-decoration: none; }
.tb-login-foot a:first-child { color: #8cefff; }
.tb-login-foot a:hover { text-decoration: underline; }
@media (max-width: 520px) {
  #tb-phone-login-dialog.tb-login-dialog { width: calc(100vw - 24px); border-radius: 16px; }
  .tb-login-panel { padding: 30px 23px 25px; }
}
