.auth-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(1200px 600px at 80% -20%,rgba(91,91,214,.1),transparent 60%),radial-gradient(900px 500px at 10% 110%,rgba(34,197,94,.06),transparent 60%),var(--bg-base)}.auth-card{width:100%;max-width:420px;background:var(--bg-elev);border:1px solid var(--line);border-radius:18px;padding:36px 32px;box-shadow:0 24px 60px rgba(0,0,0,.06)}.auth-logo{display:block;height:36px;width:auto;margin:0 auto 22px}.auth-title{text-align:center;font-size:22px;font-weight:800;margin:0 0 4px;color:var(--ink-1)}.auth-sub{text-align:center;font-size:13.5px;color:var(--ink-3);margin:0 0 24px;line-height:1.6}.auth-field{margin-bottom:14px}.auth-label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-2);margin-bottom:6px}.auth-input{width:100%;height:44px;padding:0 14px;border-radius:10px;border:1px solid var(--line-strong);background:var(--bg-base);color:var(--ink-1);font-size:14px;transition:border-color .15s,box-shadow .15s}.auth-input:focus{outline:none;border-color:var(--keepo-indigo);box-shadow:0 0 0 3px rgba(91,91,214,.18)}.auth-button{width:100%;height:44px;border:none;border-radius:10px;background:linear-gradient(135deg,var(--keepo-indigo),#7C7CFF);color:white;font-size:14.5px;font-weight:700;cursor:pointer;transition:opacity .15s,transform 80ms;margin-top:6px}.auth-button:hover:not(:disabled){opacity:.92}.auth-button:active:not(:disabled){transform:translateY(1px)}.auth-button:disabled{opacity:.5;cursor:not-allowed}.auth-error{background:var(--danger-50);color:var(--danger)}.auth-error,.auth-ok{padding:10px 14px;border-radius:8px;font-size:12.5px;margin-bottom:14px}.auth-ok{background:var(--success-50);color:var(--success)}.auth-foot{margin-top:22px;text-align:center;font-size:13px;color:var(--ink-3)}.auth-foot a{color:var(--keepo-indigo);font-weight:600;text-decoration:none}.auth-foot a:hover{text-decoration:underline}.auth-foot-row{display:flex;justify-content:space-between;margin-top:14px;font-size:12.5px}.auth-foot-row a{color:var(--ink-3);text-decoration:none}.auth-foot-row a:hover{color:var(--keepo-indigo)}