.login-page{min-height:100vh;min-height:100svh;display:grid;place-items:center}
.login-main{width:min(100%,480px);margin:0;padding:48px 24px;min-width:0}
.login-brand{justify-content:flex-start;margin-bottom:32px;font-size:20px}
.login-brand .brand-mark{background:var(--blue);border-radius:10px}
.login-panel{padding:36px;border:1px solid var(--line);border-radius:12px;background:var(--white)}
.login-panel h1{font-size:30px;line-height:1.35;font-weight:600;letter-spacing:-.025em;text-wrap:balance}
.login-intro{margin-top:12px;color:var(--muted);font-size:16px;line-height:1.65}
.feishu-login-option{display:grid;gap:20px;margin-top:24px}
.feishu-login-option .button{width:100%;min-height:52px;font-size:16px}
.login-divider{color:var(--muted);font-size:13px;text-align:center}
.feishu-login-option:not([hidden])+.login-form{margin-top:20px}
.login-form{display:grid;gap:24px;margin-top:32px}
.login-field{display:grid;gap:8px}
.login-field label{font-size:14px;font-weight:550}
.login-field input{width:100%;min-height:52px;padding:13px 14px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);font-size:16px;line-height:1.5;transition:border-color .16s ease}
.login-field input:hover:not(:disabled){border-color:var(--muted)}
.login-field input:focus{border-color:var(--blue)}
.login-field input::placeholder{color:var(--muted)}
.login-field input[aria-invalid="true"]{border-color:var(--danger)}
.login-field input:disabled{color:var(--muted);background:var(--canvas)}
.login-form .button{width:100%;min-height:52px;gap:10px;font-size:16px}
.login-form .button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.login-error{margin:0;padding:12px 14px;border-radius:8px;background:var(--danger-soft);color:var(--danger);font-size:14px;line-height:1.65;overflow-wrap:anywhere}
.login-footnote{margin-top:24px;text-align:left;color:var(--muted);font-size:13px;line-height:1.75}
.login-origin-note{margin-top:26px;color:var(--muted);font-size:14px;line-height:1.65}
.login-origin-note .button{display:flex;margin-top:20px;min-height:48px}
@media(max-width:480px){.login-main{padding:32px 20px}.login-brand{margin-bottom:26px}.login-panel{padding:28px 24px}.login-panel h1{font-size:27px}.login-form{margin-top:28px}}
@media(max-width:360px){.login-main{padding-left:16px;padding-right:16px}.login-panel{padding:25px 20px}.login-panel h1{font-size:25px}}
@media(prefers-reduced-motion:reduce){.login-field input{transition:none}}
