.login-page{background:linear-gradient(180deg,#fff 0,var(--bg-bottom) 100%);min-height:100vh;display:flex;flex-direction:column}.login-page .auth{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:22px}.login-page .auth .brand{height:56px;width:auto}.login-page .auth-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:36px 32px;width:100%;max-width:420px}.login-page .auth-card h1{font-size:1.5rem;font-weight:600;text-align:center;margin-bottom:4px}.login-page .auth-card .sub{text-align:center;color:var(--muted);font-weight:300;font-size:.95rem;margin-bottom:24px}.login-page .auth-card .btn-primary{width:100%;justify-content:center;padding:14px;font-size:1.05rem;margin-top:4px}.login-page .forgot{display:block;text-align:right;font-size:.86rem;color:var(--green);margin:-6px 0 10px}.login-page .forgot:hover{text-decoration:underline}.login-page .divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.82rem;margin:18px 0}.login-page .divider:after,.login-page .divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.login-page .sso{display:flex;flex-direction:column;gap:10px}.login-page .sso .btn{width:100%;justify-content:center;padding:12px}.login-page .demo{font-size:.8rem;color:var(--muted);text-align:center;border-top:1px dashed var(--border);padding-top:14px;margin-top:20px}.login-page .demo a{color:var(--green);font-weight:500;margin:0 5px}.login-page .auth-foot{text-align:center;font-size:.92rem;color:var(--muted);font-weight:300;line-height:1.9}.login-page .auth-foot a{color:var(--green-dark);font-weight:500}.login-page .auth-foot a:hover{text-decoration:underline}