.cj-auth-dialog {
  width: min(460px, calc(100vw - 28px));
  max-height: calc(100vh - 28px);
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 18px;
  overflow: auto;
  color: #17202a;
  background: #fff;
  box-shadow: 0 28px 90px rgba(15, 23, 42, .26);
}
.cj-auth-dialog::backdrop { background: rgba(15, 23, 42, .56); backdrop-filter: blur(5px); }
.cj-auth-card { position: relative; padding: 30px; }
.cj-auth-close { position: absolute; top: 16px; right: 16px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: #f2f5f7; color: #52606d; font-size: 22px; line-height: 1; cursor: pointer; }
.cj-auth-brand { display: flex; align-items: center; gap: 13px; padding-right: 42px; }
.cj-auth-brand-mark { display: grid; place-items: center; width: 46px; height: 46px; flex: 0 0 46px; border-radius: 13px; color: #fff; background: linear-gradient(145deg, #101820, #2bb673); font-weight: 800; }
.cj-auth-brand strong, .cj-auth-brand small { display: block; }
.cj-auth-brand strong { font-size: 18px; }
.cj-auth-brand small { margin-top: 4px; color: #74808b; }
.cj-auth-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin: 24px 0 20px; padding: 4px; border-radius: 11px; background: #f1f4f6; }
.cj-auth-tabs button { min-height: 38px; border: 0; border-radius: 8px; color: #66717c; background: transparent; font-weight: 700; cursor: pointer; }
.cj-auth-tabs button.is-active { color: #101820; background: #fff; box-shadow: 0 2px 10px rgba(15, 23, 42, .09); }
.cj-auth-form { display: grid; gap: 14px; }
.cj-auth-field { display: grid; gap: 7px; }
.cj-auth-field > span { color: #3c4752; font-size: 13px; font-weight: 700; }
.cj-auth-field input { width: 100%; min-height: 46px; box-sizing: border-box; border: 1px solid #dbe1e5; border-radius: 10px; padding: 0 13px; color: #17202a; background: #fbfcfd; outline: none; font: inherit; }
.cj-auth-field input:focus { border-color: #2bb673; box-shadow: 0 0 0 3px rgba(43, 182, 115, .13); }
.cj-auth-code-row { display: grid; grid-template-columns: minmax(0, 1fr) 112px; gap: 8px; }
.cj-auth-code-button { border: 1px solid #b8dfcd; border-radius: 10px; color: #168052; background: #eefaf4; font-weight: 700; cursor: pointer; }
.cj-auth-code-button:disabled { opacity: .58; cursor: wait; }
.cj-auth-invite { text-transform: uppercase; }
.cj-auth-error { margin: 0; color: #c53030; font-size: 13px; line-height: 1.5; }
.cj-auth-submit { min-height: 47px; border: 0; border-radius: 10px; color: #fff; background: linear-gradient(135deg, #101820, #253b34 52%, #15965f); font-size: 15px; font-weight: 800; cursor: pointer; }
.cj-auth-submit:disabled { opacity: .65; cursor: wait; }
.cj-auth-note { margin: 2px 0 0; color: #7a858f; text-align: center; font-size: 12px; line-height: 1.6; }
@media (max-width: 520px) { .cj-auth-card { padding: 24px 18px; } .cj-auth-code-row { grid-template-columns: minmax(0, 1fr) 104px; } }
