/* Login- und Einladungsseiten */
  .login-wrap{min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px 16px;}
  .login-card{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
    padding:32px 28px; width:100%; max-width:400px; box-shadow:0 2px 10px rgba(0,0,0,0.05);}
  .login-card .brand{flex-direction:column; text-align:center; gap:12px; margin-bottom:22px;}
  .login-card h1{font-size:1.25rem; margin:0; color:var(--accent);}
  .login-card label{display:block; font-size:0.85rem; color:var(--muted); margin:14px 0 4px;}
  .login-card input[type=text], .login-card input[type=password]{width:100%; padding:10px 12px;
    border:1px solid var(--border); border-radius:8px; background:var(--bg); color:var(--ink); font-size:1rem;}
  .captcha-row{display:flex; align-items:center; gap:10px;}
  .captcha-row img{border-radius:6px; border:1px solid var(--border); width:180px; height:60px; background:#fff;}
  .captcha-row button{background:none; border:1px solid var(--border); border-radius:8px; color:var(--muted);
    padding:8px 10px; cursor:pointer; font-size:1rem;}
  .login-card .submit{margin-top:22px; width:100%; padding:11px; border:0; border-radius:8px;
    background:var(--accent); color:var(--accent-ink); font-weight:600; font-size:1rem; cursor:pointer;}
  .login-card label.remember{display:flex; align-items:center; gap:8px; margin-top:16px; font-size:0.9rem;}
  .login-error{background:color-mix(in srgb, var(--danger) 12%, transparent); color:var(--danger);
    border-radius:8px; padding:10px 12px; font-size:0.9rem;}
  .login-card .lead{margin:0 0 6px; color:var(--ink); font-size:0.95rem;}
  .login-card a{color:var(--accent);}
  .portal-hint{display:block; margin:0 0 6px; padding:10px 12px; border:1px solid var(--border); border-radius:8px;
    text-decoration:none; font-size:0.9rem; text-align:center; background:var(--bg);}
