/* Login – nur Tokens aus ci.css. Desktop: Bild links, Formular rechts. Mobil: Karte über dem Bild. */
html, body.lg { height: 100%; }
body.lg { margin: 0; display: grid; grid-template-columns: 1fr; min-height: 100vh; min-height: 100dvh;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    color: var(--au-text); background: var(--au-text); }
.lg-media { position: fixed; inset: 0; background-size: cover; background-position: center; }
.lg-media { background-position: left center; }
.lg-media::after { content: ""; position: absolute; inset: 0; background: rgba(17, 24, 39, .35); }
.lg-claim { display: none; }
.lg-panel { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; align-items: center;
    padding: 16px; padding-top: max(16px, env(safe-area-inset-top)); padding-bottom: max(16px, env(safe-area-inset-bottom)); }
.lg-box { width: 100%; max-width: 400px; background: var(--au-bg); border-radius: var(--au-radius); padding: 22px 20px; box-shadow: 0 10px 30px rgba(0, 0, 0, .25); }
.lg-foot { margin-top: 12px; font-size: .75rem; color: rgba(255, 255, 255, .75); }
.lg-logo { display: block; height: 36px; width: auto; margin-bottom: 14px; }
.lg-title { margin: 0 0 12px; font-size: 1.25rem; font-weight: 700; }
.lg-form { display: flex; flex-direction: column; }
.lg-label { margin: 8px 0 4px; font-size: .85rem; font-weight: 600; color: var(--au-text); }
.lg-input { width: 100%; height: 44px; padding: 0 12px; font-size: 16px; color: var(--au-text); background: var(--au-bg);
    border: 1px solid var(--au-border-strong); border-radius: 8px; }
.lg-input:focus { outline: none; border-color: var(--au-accent); box-shadow: var(--au-focus); }
.lg-pw { position: relative; }
.lg-pw .lg-input { padding-right: 44px; }
.lg-pw-toggle { position: absolute; top: 0; right: 0; width: 44px; height: 44px; border: 0; background: transparent; color: var(--au-text-muted); cursor: pointer; }
.lg-check { display: flex; align-items: center; gap: 8px; margin: 12px 0 14px; font-size: .9rem; font-weight: 400; }
.lg-submit { height: 46px; border: 0; border-radius: 8px; background: var(--au-accent); color: var(--au-on-accent); font-size: 1rem; font-weight: 600; cursor: pointer; }
.lg-submit:hover { background: var(--au-accent-hover); }
.lg-or { display: flex; align-items: center; gap: 10px; margin: 14px 0 10px; font-size: .8rem; color: var(--au-text-muted); }
.lg-or::before, .lg-or::after { content: ""; flex: 1; height: 1px; background: var(--au-border); }
.lg-alt { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.lg-alt-single { grid-template-columns: 1fr; }
.lg-alt-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 42px; padding: 0 10px;
    border: 1px solid var(--au-border-strong); border-radius: 8px; background: var(--au-bg); color: var(--au-text);
    font-size: .9rem; font-weight: 600; text-decoration: none; cursor: pointer; }
.lg-alt-btn:hover { background: var(--au-bg-subtle); color: var(--au-text); text-decoration: none; }
@media (max-width: 340px) { .lg-alt { grid-template-columns: 1fr; } }
@media (min-width: 900px) {
    body.lg { grid-template-columns: minmax(0, 3fr) minmax(420px, 2fr); background: var(--au-bg); }
    .lg-media { position: relative; inset: auto; }
    .lg-claim { display: block; position: absolute; left: 48px; bottom: 40px; z-index: 1; margin: 0; max-width: 420px;
        color: #fff; font-size: 2rem; font-weight: 700; line-height: 1.2; }
    .lg-media::after { background: linear-gradient(to top, rgba(17, 24, 39, .7), rgba(17, 24, 39, .1) 60%); }
    .lg-box { box-shadow: none; padding: 0; }
    .lg-foot { color: var(--au-text-muted); }
}
.passkey-message { margin-bottom: 8px; padding: 8px 10px; font-size: .85rem; border-radius: 8px; background: var(--au-bg-subtle); border: 1px solid var(--au-border); color: var(--au-text); }
.passkey-message.error { border-color: var(--au-danger); color: var(--au-danger); }
.passkey-message.success { border-color: var(--au-success); color: var(--au-success); }
