.login-page{background:var(--grad-hero);justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:40px 36px}.login-card h1{margin:8px 0;font-size:28px}.login-card>p{color:var(--text-dim);margin-bottom:28px;font-size:14px}.login-form .field{flex-direction:column;gap:6px;margin-bottom:18px;display:flex}.login-form label{color:var(--text);font-size:13px;font-weight:600}.login-form input{border:1px solid var(--border);font-size:15px;font-family:var(--font);background:var(--warm);color:var(--text);border-radius:12px;padding:12px 14px}.login-form input:focus{outline:2px solid var(--purple);outline-offset:1px}.login-error{color:#e11d48;margin-bottom:14px;font-size:13px}.login-form .btn-submit{color:#fff;background:var(--grad-main);cursor:pointer;border:none;border-radius:12px;justify-content:center;width:100%;padding:13px 20px;font-size:15px;font-weight:600}.login-form .btn-submit:disabled{opacity:.6;cursor:not-allowed}.login-hint{color:var(--text-dim);text-align:center;margin-top:14px;font-size:12px}.btn-link{color:var(--text-dim);cursor:pointer;background:0 0;border:none;margin:12px auto 0;font-size:13px;text-decoration:underline;display:block}.btn-link:hover{color:var(--purple)}.login-divider{color:var(--text-dim);align-items:center;gap:12px;margin:24px 0;font-size:12px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--border);flex:1;height:1px}.oauth-buttons{flex-direction:column;gap:10px;display:flex}.btn-oauth{border:1px solid var(--border);width:100%;font-size:14px;font-weight:600;font-family:var(--font);color:var(--text);background:var(--surface);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:11px 16px;display:flex}.btn-oauth:hover{background:var(--warm)}.login-success h2{margin-bottom:8px;font-size:20px}.login-success p{color:var(--text-dim);font-size:14px}
