.auth-wrap { max-width: 480px; margin: var(--space-4) auto var(--space-10); }
.auth-card {
  background: var(--color-white); border: 1px solid var(--color-fog);
  border-radius: var(--radius-xl); padding: var(--space-8); box-shadow: var(--shadow-sm);
}
.auth-title { font-family: var(--font-display); font-size: var(--text-2xl); font-weight: 800; color: var(--color-charcoal); text-transform: uppercase; letter-spacing: var(--tracking-tight); margin-bottom: var(--space-2); }
.auth-sub { font-size: var(--text-sm); color: var(--color-muted); line-height: var(--leading-relaxed); margin-bottom: var(--space-6); }
.auth-field { margin-bottom: var(--space-5); }
.auth-field label { display: block; font-size: var(--text-xs); font-weight: 700; text-transform: uppercase; letter-spacing: var(--tracking-wide); color: var(--color-slate); margin-bottom: var(--space-2); }
.auth-input {
  width: 100%; height: 48px; border: 1.5px solid var(--color-fog); border-radius: var(--radius-md);
  padding: 0 var(--space-4); font-size: var(--text-base); color: var(--color-ink);
  font-family: var(--font-body); transition: border-color var(--transition-fast); background: var(--color-white);
}
.auth-input:focus { outline: none; border-color: var(--color-forest); }
.auth-input[disabled] { background: var(--color-mist); color: var(--color-muted); }
.auth-back { display: flex; align-items: center; gap: var(--space-2); font-size: var(--text-sm); color: var(--color-forest); font-weight: 600; margin-top: var(--space-5); }
.auth-back:hover { text-decoration: underline; }

.auth-field-hint  { font-size: var(--text-xs); color: var(--color-muted);  margin-top: var(--space-1); min-height: 1.2em; }
.auth-field-hint--ok  { color: var(--color-success); }
.auth-field-hint--bad { color: var(--color-danger);  }
.auth-field-error { font-size: var(--text-xs); color: var(--color-danger); font-weight: 600; margin-top: var(--space-1); }
.auth-input--error { border-color: var(--color-danger); }
.auth-input--ok    { border-color: var(--color-success); }

/* show/hide hesla */
.pw-wrap { position: relative; }
.pw-wrap .auth-input { padding-right: 44px; }
.pw-toggle {
  position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
  background: none; border: none; padding: 4px; cursor: pointer;
  color: var(--color-muted); display: flex; align-items: center; line-height: 1;
}
.pw-toggle:hover { color: var(--color-forest); }

/* indikátor síly hesla */
.pw-strength { margin-top: var(--space-2); }
.pw-strength__track { height: 5px; background: var(--color-fog); border-radius: 3px; overflow: hidden; }
.pw-strength__bar { height: 100%; border-radius: 3px; width: 0; transition: width .35s ease, background .35s ease; }
.pw-strength__bar--weak   { background: var(--color-danger); }
.pw-strength__bar--medium { background: #f59e0b; }
.pw-strength__bar--strong { background: var(--color-success); }
.pw-strength__label { font-size: var(--text-xs); margin-top: var(--space-1); font-weight: 600; }
.pw-strength__label--weak   { color: var(--color-danger); }
.pw-strength__label--medium { color: #f59e0b; }
.pw-strength__label--strong { color: var(--color-success); }

/* panel úspěchu (odkaz odeslán) */
.pw-sent-info { background: #f0fdf4; border: 1.5px solid var(--color-success); border-radius: var(--radius-lg); padding: var(--space-5); margin-bottom: var(--space-2); }
.pw-sent-email-box {
  display: flex; align-items: center; gap: var(--space-2);
  font-weight: 700; font-size: var(--text-base); color: var(--color-charcoal);
  margin-bottom: var(--space-4);
}
.pw-sent-steps { margin: 0; padding-left: var(--space-5); font-size: var(--text-sm); color: var(--color-slate); line-height: var(--leading-relaxed); display: flex; flex-direction: column; gap: var(--space-2); }
.pw-sent-steps a { color: var(--color-forest); font-weight: 600; }
.pw-sent-steps a:hover { text-decoration: underline; }
