.auth-container{
  min-height: calc(100vh - 200px);
  display: grid;
  place-items: center;
  padding: 40px 16px;
  background: #fff;
}
.auth-card{
  width: 100%;
  max-width: 440px;
  border: 1px solid #eee;
  border-radius: 8px;
  padding: 24px;
  box-shadow: 0 4px 12px rgba(0,0,0,.06);
  background: #fff;
  animation: slideUp .25s ease;
}
@keyframes slideUp{ from{opacity:0; transform:translateY(12px);} to{opacity:1; transform:none;} }

.auth-title{ font-size:28px; font-weight:400; margin-bottom:16px; }

.form-group{ margin-bottom:14px; }
.form-label{ display:block; font-size:14px; color:#555; margin-bottom:6px; }

.input-wrap{ position:relative; display:flex; align-items:center; }

/* инпуты (без clear-кнопки — справа оставляем место только под глаз) */
.auth-card input[type="text"],
.auth-card input[type="email"],
.auth-card input[type="password"],
.auth-card input:not([type]),
.auth-card input[type="tel"]{
  width:100%;
  border:1px solid #ddd;
  border-radius:6px;
  padding:10px 44px 10px 12px; /* справа под toggle-pass */
  font-size:16px;
  color:#000;
  background:#fff;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.auth-card input:focus{
  border-color:#C2181F;
  box-shadow:0 0 0 3px rgba(194,24,31,.12);
}

.auth-card .errorlist{ margin-top:6px; color:#8f1b20; font-size:13px; }
.auth-card .errorlist li{ margin-left:0; }

/* только кнопка-глаз */
.toggle-pass{
  position:absolute;
  right:8px;
  width:28px; height:28px;
  border-radius:50%;
  border:1px solid #ddd;
  background:#fff;
  color:#666;
  cursor:pointer;
  display:grid; place-items:center;
  font-size:16px;
}
.toggle-pass:hover{ background:#f7f7f7; }

.caps-hint{ margin-top:6px; font-size:13px; color:#8f1b20; }

.btn-submit{
  width:100%; height:44px;
  border:none; border-radius:6px;
  background:#C2181F; color:#fff; font-size:16px;
  cursor:pointer; display:inline-grid; grid-auto-flow:column; place-content:center; gap:10px;
  transition:opacity .15s ease, transform .02s ease-in; margin-top:8px;
}
.btn-submit:hover{ opacity:.92; }
.btn-submit:active{ transform:translateY(1px); }
.btn-submit[disabled]{ opacity:.65; cursor:not-allowed; }

.btn-spinner{
  width:16px; height:16px; border:2px solid rgba(255,255,255,.4); border-top-color:#fff;
  border-radius:50%; display:none; animation:spin .8s linear infinite;
}
@keyframes spin{ to{ transform:rotate(360deg); } }
.btn-submit.loading .btn-spinner{ display:inline-block; }
.btn-submit.loading .btn-text{ opacity:.7; }

.auth-footnote{ margin-top:14px; font-size:14px; color:#303030; text-align:center; }
.link-accent{ color:#C2181F; } .link-accent:hover{ text-decoration:underline; }
.link-muted{ color:#666; font-size:14px; } .link-muted:hover{ color:#C2181F; }

.form-row{ display:flex; align-items:center; justify-content:flex-end; margin:8px 0 12px; }

.auth-card input[aria-invalid="true"]{ border-color:#C2181F; background:#fff6f6; }

@media (max-width: 479px){
  .auth-card{ padding:18px; }
  .auth-title{ font-size:24px; }
}

.auth-container a:hover {
 color:#C2181F;
 opacity: 0.85;

}