/* KS Dynamics — Auth (additive, clean) */

.ks-auth{ padding: 120px 20px 64px; }
.ks-auth-wrap{ max-width: 560px; margin: 0 auto; }
.ks-auth-card{
  border-radius: var(--ks-radius-lg);
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(20,24,30,.62);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  padding: 18px 18px 16px;
}

.ks-field{ display: grid; gap: 8px; margin: 14px 0; }
.ks-label{ font-size: 13px; letter-spacing: .02em; opacity: .85; }
.ks-input{
  width: 100%;
  padding: 12px 12px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,.055);
  color: var(--ks-text);
  outline: none;
}
.ks-input:focus{ border-color: rgba(255,255,255,0.22); }

.ks-btn{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--ks-text);
  border-radius: 14px;
  padding: 12px 16px;
  font-weight: 600;
  cursor: pointer;
}
.ks-btn:hover{ background: rgba(255,255,255,0.08); }
.ks-btn:active{ transform: translateY(1px); }

.ks-btn-primary{
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.20);
}
.ks-btn-primary:hover{ background: rgba(255,255,255,0.15); }

.ks-auth-msg{
  margin-top: 12px;
  min-height: 22px;
  font-size: 14px;
  opacity: .92;
}
.ks-auth-msg.ok{ color: rgba(255,255,255,0.92); }
.ks-auth-msg.bad{ color: rgba(255,120,120,0.95); }

.ks-auth-links{
  margin-top: 14px;
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}
.ks-link{
  color: rgba(255,255,255,0.86);
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.18);
  padding-bottom: 2px;
}
.ks-link:hover{ border-bottom-color: rgba(255,255,255,0.32); }

@media (min-width: 720px){
  .ks-auth{ padding-top: 132px; }
}

.ks-input,
.ks-auth-card textarea{
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.ks-auth-footer{
  margin-top:18px;
  text-align:center;
  color:rgba(255,255,255,.54);
  font-size:.92rem;
}
