/* ==================================================
  AUTH HELPERS
================================================== */
.auth-link{
  font-size:.9rem;
  font-weight:600;
  color:var(--link);
}
button.auth-link{
  background:none;
  border:0;
  padding:0;
  cursor:pointer;
}
.auth-link:hover{
  text-decoration:underline;
}
.auth-passkey-btn{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
}
.auth-passkey-btn svg{
  width:20px;
  height:20px;
  flex:none;
}
.auth-form-card{
  max-width:520px;
  margin:0 auto;
}
.input-hint{
  font-size:.85rem;
  color:var(--text-200);
  margin-top:.4rem;
}
.input-hint--ok{ color:#7adf9c; }
.input-hint--error{ color:#ffb3a5; }
.form-msg{
  margin-top:.75rem;
  font-size:.9rem;
  color:var(--text-200);
}
.form-msg--error{ color:#ffb3a5; }
.form-msg--success{ color:#7adf9c; }
.form-locked{ opacity:.72; }
.form-locked input,
.form-locked button{
  cursor:not-allowed;
}

.rule-list{
  margin:.5rem 0 0 1.1rem;
  color:var(--text-200);
  font-size:.85rem;
}
.rule-list li{ margin:.2rem 0; }
.rule-list .rule-ok{ color:#7adf9c; }

/* ==================================================
  VERIFY EMAIL
================================================== */
.verify-status{
  font-size:1rem;
  font-weight:600;
  padding:.75rem 1rem;
  border-radius:12px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--line-muted);
  margin-bottom:1.25rem;
}
.verify-status.form-msg--success{
  background:rgba(122,223,156,.12);
  border-color:rgba(122,223,156,.35);
}
.verify-status.form-msg--error{
  background:rgba(255,179,165,.12);
  border-color:rgba(255,179,165,.35);
}

.verify-step{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.75rem;
  align-items:center;
  padding:.65rem .85rem;
  border-radius:12px;
  background:rgba(255,255,255,.03);
  border:1px solid var(--line-muted);
  color:var(--text-200);
}
.verify-step strong{ color:var(--primary); }

.verify-email-page .btn-secondary{
  background:transparent;
  box-shadow:none;
}
.verify-email-page .btn-secondary:hover,
.verify-email-page .btn-secondary:active{
  background:transparent;
  box-shadow:none;
}

/* ==================================================
  VERIFY EMAIL PENDING
================================================== */
.pending-content{
  display:grid;
  gap:.45rem;
}

.pending-message{
  margin:0;
  font-size:1rem;
  font-weight:600;
  color:var(--text);
}

.pending-message--error{
  color:#ffb3a5;
}

.pending-copy{
  margin:0;
  color:var(--text-200);
}

.pending-email{
  color:var(--link);
  font-weight:700;
}

.pending-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:.6rem;
}

.pending-subactions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.6rem;
  width:100%;
}

.pending-btn{
  min-height:38px;
  padding:.52rem 1rem;
  border-radius:12px;
  font-size:.9rem;
  line-height:1.2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.pending-btn--primary{
  width:100%;
}

.pending-subactions .pending-btn{
  width:100%;
}

.pending-footer{
  margin-top:1rem;
  padding-top:.85rem;
  border-top:1px solid var(--line-muted);
  color:var(--text-200);
  font-size:.88rem;
}

@media (max-width: 640px){
  .pending-subactions{
    grid-template-columns:1fr;
  }
  .pending-actions .pending-btn,
  .pending-subactions .pending-btn{
    width:100%;
  }
}
