/* Auth-Seiten: nutzt ausschließlich Tokens aus tokens.css */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--c-soft);color:var(--c-ink);font:15px/1.5 var(--font-sans);-webkit-font-smoothing:antialiased}
.skip-link{position:absolute;left:-999px;top:0;background:var(--c-white);padding:8px 14px;z-index:10}
.skip-link:focus{left:8px;top:8px}
:focus-visible{outline:3px solid var(--c-violet);outline-offset:3px}
.auth{min-height:100vh;display:grid;place-items:center;padding:24px 16px}
.auth-card{width:100%;max-width:420px;background:var(--c-white);border:1px solid var(--c-border);border-radius:18px;box-shadow:var(--shadow-card);padding:32px}
.wordmark{margin:0 0 20px;font-size:17px;font-weight:700;letter-spacing:-.02em}
.wordmark span{color:var(--c-purple)} .wordmark small{font-size:inherit;color:var(--c-grey);font-weight:500}
h1{margin:0 0 20px;font-size:24px;letter-spacing:-.02em;text-wrap:balance}
label{display:block;margin:0 0 16px;font-weight:600;font-size:14px}
input[type=email],input[type=password]{display:block;width:100%;margin-top:6px;padding:11px 14px;font:inherit;border:1.5px solid var(--c-field-border);border-radius:12px;background:var(--c-white)}
input:hover{border-color:var(--c-lavender)}
input:focus{outline:none;border-color:var(--c-purple);box-shadow:0 0 0 4px var(--c-lavender-light)}
.btn{display:inline-block;width:100%;padding:11px 22px;border:0;border-radius:14px;background:var(--grad-primary);color:#fff;font:inherit;font-weight:600;cursor:pointer;box-shadow:0 4px 14px rgba(138,71,235,.28);transition:transform .15s var(--ease-out),background .15s}
.btn:hover{background:var(--c-purple-hover);transform:translateY(-1px)}
.notice{margin:0 0 16px;padding:12px 14px;border-radius:12px;font-size:14px}
.notice--error{background:#FCE9E8;color:#B3261E}
.notice--info{background:var(--c-lavender-wash);color:var(--c-purple-text)}
.notice--ok{background:var(--c-ok-bg);color:var(--c-ok)}
.auth-links{margin:16px 0 0;font-size:14px;text-align:center}
.auth-links a{color:var(--c-purple-text)}
@media (prefers-reduced-motion:reduce){.btn{transition:none}}
