.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:32px 20px;background:radial-gradient(1200px 600px at 50% -10%,rgba(0,191,243,.08),transparent 60%),var(--canvas,#f7f9fb)}.auth-card{width:100%;max-width:420px;background:#fff;border:1px solid var(--line,rgba(11,14,17,.09));border-radius:18px;box-shadow:0 2px 4px rgba(11,14,17,.03),0 24px 60px -24px rgba(11,14,17,.18);padding:36px 34px 30px}.auth-logo{display:block;height:38px;width:auto;margin-bottom:22px}.auth-card h1{font-family:Archivo,system-ui,sans-serif;font-weight:700;font-size:27px;line-height:1.1;letter-spacing:-.02em;color:var(--ink,#0b0e11);margin:0 0 8px}.auth-sub{color:var(--muted,#8b959c);font-size:14.5px;margin:0 0 24px}.auth-form{gap:15px}.auth-form,.auth-form label{display:flex;flex-direction:column}.auth-form label{gap:7px;font-size:13px;font-weight:600;color:var(--ink-soft,#3c454c)}.auth-form input{font-family:inherit;font-size:15px;padding:12px 14px;border:1px solid var(--line-2,rgba(11,14,17,.14));border-radius:11px;background:var(--canvas,#f7f9fb);color:var(--ink,#0b0e11);transition:border-color .16s,box-shadow .16s,background .16s}.auth-form input:focus{outline:none;border-color:var(--brand,#00bff3);background:#fff;box-shadow:0 0 0 4px rgba(0,191,243,.16)}.auth-btn{margin-top:6px;font-family:inherit;font-weight:600;font-size:15px;color:var(--ink,#0b0e11);background:var(--brand,#00bff3);border:none;border-radius:11px;padding:13px 18px;cursor:pointer;transition:box-shadow .2s,transform .1s,opacity .2s}.auth-btn:hover{box-shadow:0 10px 26px -8px rgba(0,191,243,.6)}.auth-btn:active{transform:translateY(1px)}.auth-btn:disabled{opacity:.6;cursor:default}.auth-err{color:#b3261e;background:#fdecea;border:1px solid #f7c9c4;border-radius:9px}.auth-err,.auth-msg{font-size:13.5px;padding:9px 12px}.auth-msg{color:var(--brand-ink,#06647f);background:var(--brand-tint,#eafaff);border:1px solid var(--brand-line,rgba(0,191,243,.28));border-radius:9px}.auth-switch{margin-top:20px;font-size:13.5px;color:var(--muted,#8b959c);text-align:center}.auth-switch button{background:none;border:none;cursor:pointer;font:inherit;font-weight:600;color:var(--brand-deep,#0a8ec0);padding:0}.auth-switch button:hover{text-decoration:underline}@media (max-width:560px){.auth-wrap{align-items:start;padding:20px 14px calc(28px + env(safe-area-inset-bottom))}.auth-card{max-width:100%;padding:26px 20px 24px;border-radius:16px}.auth-card h1{font-size:24px}}