/**
 * @version 1.0.0
 * @description Login-seitenspezifische Styles (CSP: keine inline styles)
 */
* { box-sizing: border-box; }
body { margin: 0; padding: var(--wf-space); background: var(--wf-bg-page); display: flex; flex-direction: column; align-items: center; min-height: 100vh; font-family: var(--wf-font); }
.login-wrap { max-width: 420px; width: 100%; }
.login-wrap h1 { margin: 0 0 var(--wf-space); font-size: var(--wf-font-size-h1); text-align: center; color: var(--wf-text-primary); }
.login-card { background: var(--wf-bg-card); border-radius: var(--wf-radius-card); padding: 28px 24px; margin-bottom: 20px; box-shadow: var(--wf-shadow-card); }
.login-card h2 { margin: 0 0 var(--wf-space-sm); font-size: 1.1rem; font-weight: 600; color: var(--wf-text-body); }
.login-card p { margin: 0 0 20px; color: var(--wf-text-muted); font-size: var(--wf-font-size-base); line-height: 1.5; }
.login-card label { display: block; margin-bottom: 6px; font-weight: 500; color: var(--wf-text-body); font-size: var(--wf-font-size-base); }
.login-card input {
  width: 100%; padding: 12px 14px; margin-bottom: 16px;
  border: 1px solid var(--wf-border-input); border-radius: var(--wf-radius);
  font-size: var(--wf-font-size-base); font-family: var(--wf-font);
  background: var(--wf-bg-input); color: var(--wf-text-body);
  box-sizing: border-box; transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.login-card input::placeholder { color: var(--wf-text-placeholder); }
.login-card input:focus { outline: none; border-color: var(--wf-text-muted); box-shadow: 0 0 0 2px rgba(0,0,0,0.08); }
.login-card button.primary { width: 100%; padding: 12px 16px; margin-top: 4px; font-size: var(--wf-font-size-base); }
.login-card button.secondary { margin-top: 8px; }
.login-card .error, .login-card .success { font-size: var(--wf-font-size-base); margin-top: 8px; padding: 10px 12px; border-radius: var(--wf-radius); }
.login-version { margin-top: 20px; font-size: var(--wf-font-size-sm); color: var(--wf-text-placeholder); text-align: center; }
