/* Hesap ekranları: parola gücü, telefon kodu alanı, nesne sayfası bölüm gezinmesi ve adımlı kurulum.
   Genel bileşenler (düğme, alan, kart, uyarı) ui.css'tedir. */

.account-flow {
  min-width: 0;
}

/* Onay kutusu satırı (KVKK, sözleşme): kutu ve metin yan yana, metin sarılır. */
.account-flow .field-row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.5rem;
}

.account-flow .field-row input[type="checkbox"] {
  flex: none;
  width: 1.1rem;
  height: 1.1rem;
  margin-top: 0.2rem;
}

.account-flow .field-row label {
  flex: 1 1 14rem;
  min-width: 0;
}

/* Tek alanlı 6 haneli kod: büyük, ortalı, aralıklı rakamlar. */
.code-input {
  font-size: 1.5rem;
  letter-spacing: 0.4em;
  text-align: center;
  font-variant-numeric: tabular-nums;
}

.password-meter {
  margin: 0.25rem 0 0;
  font-size: 0.875rem;
  color: var(--ui-text-muted);
}

.password-meter[data-level="0"],
.password-meter[data-level="1"] {
  color: var(--ui-danger);
}

.password-meter[data-level="2"] {
  color: var(--ui-warning);
}

.password-meter[data-level="3"],
.password-meter[data-level="4"] {
  color: var(--ui-success);
}

/* İki adımlı doğrulama kurulumu: QR solda, adımlar ve kod alanı sağda; tek ekranda. */
.tfa-setup {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
}

.tfa-qr {
  margin: 0;
  display: grid;
  gap: 0.375rem;
  justify-items: center;
  text-align: center;
  max-width: 11.5rem;
}

.tfa-qr svg {
  width: 11.5rem;
  height: 11.5rem;
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius-sm);
}

.tfa-list {
  margin: 0 0 1rem;
  padding-left: 1.25rem;
  display: grid;
  gap: 0.5rem;
}

.tfa-key {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  margin-top: 0.375rem;
}

.tfa-verify {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: end;
}

.tfa-verify .field {
  flex: 0 1 14rem;
}

@media (max-width: 640px) {
  .tfa-setup {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
  }

  .tfa-steps {
    justify-self: stretch;
  }
}

/* Eski adımlı kurulum bloğu (başka sayfalarda kullanılıyor olabilir). */
.setup-step {
  display: grid;
  gap: 0.5rem;
  padding: 1rem 0;
  border-top: 1px solid var(--ui-border);
}

.setup-step:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.setup-step h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
}

.secret-key {
  display: inline-block;
  padding: 0.5rem 0.75rem;
  border-radius: var(--ui-radius-sm);
  background: var(--ui-bg);
  font-family: var(--ui-mono);
  font-size: 0.95rem;
  letter-spacing: 0.08em;
  overflow-wrap: anywhere;
}

.account-section {
  scroll-margin-top: 5rem;
}

/* Yerel geliştirme hızlı giriş kartı (üretimde basılmaz). */
.dev-quick {
  padding: 0.75rem 0.875rem;
  border: 1px dashed var(--ui-input-border);
  border-radius: 12px;
  background: var(--ui-surface-2);
}

.dev-quick-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.625rem;
}

.dev-quick-title {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--ui-neutral-text);
}

.dev-quick-badge {
  padding: 0.125rem 0.45rem;
  border-radius: 6px;
  background: var(--ui-surface-active);
  color: var(--ui-neutral-text);
  font-size: 0.6875rem;
  font-weight: 600;
}

.dev-quick-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
}

.dev-quick-btn {
  display: grid;
  gap: 0.125rem;
  padding: 0.5rem 0.625rem;
  border: 1px solid var(--ui-border-strong);
  border-radius: 8px;
  background: var(--ui-surface);
  box-shadow: var(--ui-shadow-xs);
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.dev-quick-btn:hover,
.dev-quick-btn:focus-visible {
  border-color: var(--ui-text-muted);
  box-shadow: var(--ui-shadow-md);
}

.dev-quick-name {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--ui-text);
}

.dev-quick-mail {
  font-size: 0.6875rem;
  color: var(--ui-text-muted);
}

@media (prefers-reduced-motion: reduce) {
  .password-meter,
  .dev-quick-btn {
    transition: none;
  }
}

/* Hesap sekmeleri: kompakt, bölmeli denetim; sayfa üstünde yapışmaz. */
.account-tabs {
  display: inline-flex;
  gap: 2px;
  max-width: 100%;
  margin-bottom: 1rem;
  padding: 3px;
  overflow-x: auto;
  background: var(--ui-surface-2);
  border: 1px solid var(--ui-border);
  border-radius: 10px;
}

.account-tab {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 7px;
  color: var(--ui-text-muted);
  font-size: 13.5px;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
}

.account-tab:hover {
  color: var(--ui-text);
}

.account-tab.is-active {
  background: var(--ui-surface);
  box-shadow: var(--ui-shadow-xs);
  color: var(--ui-primary-text);
  font-weight: 600;
}

@media (max-width: 479.98px) {
  .account-tabs { display: flex; }
  .account-tab { flex: 1; justify-content: center; padding: 0 8px; }
}

/* "E-posta veya telefon" alanı: iki sekme (radyo), seçili olana ait alan görünür. JS gerekmez. */
.idsw {
  position: relative;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  display: grid;
  gap: 0.5rem;
}

.idsw > legend {
  padding: 0;
  margin-bottom: 0.5rem;
}

.idsw-radio {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}

.idsw-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  padding: 2px;
  background: var(--ui-surface-2);
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius);
}

.idsw-tabs label {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.25rem;
  border-radius: calc(var(--ui-radius) - 2px);
  color: var(--ui-text-muted);
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
}

.idsw-tabs label:hover {
  color: var(--ui-text);
}

#idm-email:checked ~ .idsw-tabs label[for="idm-email"],
#idm-phone:checked ~ .idsw-tabs label[for="idm-phone"] {
  background: var(--ui-surface);
  box-shadow: var(--ui-shadow-xs);
  color: var(--ui-primary-text);
  font-weight: 600;
}

#idm-email:focus-visible ~ .idsw-tabs label[for="idm-email"],
#idm-phone:focus-visible ~ .idsw-tabs label[for="idm-phone"] {
  outline: 2px solid var(--ui-focus-color, var(--ui-primary));
  outline-offset: 1px;
}

#idm-email:checked ~ .idsw-phone,
#idm-phone:checked ~ .idsw-email {
  display: none;
}

/* Telefon: sabit +90 ön eki (bayrak ile) ve ulusal numara alanı yan yana. */
.phone-group {
  display: flex;
  align-items: stretch;
  min-width: 0;
}

.phone-prefix {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0 0.75rem;
  min-height: var(--ui-control-h);
  border: 1px solid var(--ui-border-strong);
  border-right: 0;
  border-radius: var(--ui-radius) 0 0 var(--ui-radius);
  background: var(--ui-surface-2);
  color: var(--ui-text);
  font-size: 0.875rem;
  font-variant-numeric: tabular-nums;
}

.phone-group .field-input {
  flex: 1 1 auto;
  min-width: 0;
  border-radius: 0 var(--ui-radius) var(--ui-radius) 0;
}

/* Kayıt 2. adım: seçilen kimlik özeti. */
.reg-identity {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.25rem 0.75rem;
  padding: 0.625rem 0.75rem;
  background: var(--ui-surface-2);
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius);
  font-size: 0.875rem;
}

.reg-identity-label {
  color: var(--ui-text-muted);
}

.reg-identity-value {
  min-width: 0;
  overflow-wrap: anywhere;
}

.reg-identity a {
  margin-left: auto;
}

/* Mobilde 16px: iOS odaklanınca sayfayı yakınlaştırmasın. */
@media (max-width: 767.98px) {
  .account-flow .field-input {
    font-size: 16px;
  }

  .phone-prefix {
    font-size: 16px;
  }
}

/* Parola göster/gizle düğmesi: alanın altında, bağlantı görünümünde. */
.password-toggle {
  margin-top: 0.25rem;
  padding: 0;
  min-height: 1.75rem;
  height: auto;
}
