:root{color-scheme:light;--text:#182338;--secondary:#65718A;--accent:#245CF3;font-family:"Noto Sans SC","Microsoft YaHei",system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;color:var(--text);background:linear-gradient(135deg,#E4EDFB 0%,#F5F7FB 50%,#E9EDF8 100%)}
button,input{font:inherit}button{cursor:pointer}button,input{touch-action:manipulation}
.room-login{min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:64px 24px}
.room-login-form{width:400px;max-width:100%;display:flex;flex-direction:column;gap:28px}
.room-login-brand{height:60px;display:flex;align-items:center;justify-content:center}.room-login-brand img{display:block;width:180px;height:44px}
.room-login-fields{display:grid;gap:22px}.room-login-field{display:grid;gap:9px;font-size:14px;font-weight:500}
.room-login-input{display:flex;align-items:center;gap:12px;height:54px;padding:0 16px;background:#fff;border:1px solid #DCE2EB;border-radius:6px;color:var(--secondary)}
.room-login-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #245cf314}.room-login-input svg{width:18px;height:18px;flex:none}
.room-login-input input{width:100%;min-width:0;height:100%;border:0;outline:0;background:transparent;color:var(--text);font-size:14px;font-weight:400;padding:0}
.room-login-input input::placeholder{color:#7B869A}.room-password-toggle{display:flex;align-items:center;justify-content:center;padding:7px;margin-right:-7px;flex:none;background:transparent;border:0;color:var(--secondary);border-radius:4px}
.room-password-toggle:focus-visible,.room-login-submit:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.room-remember{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--secondary);cursor:pointer}.room-remember input{width:16px;height:16px;margin:0;accent-color:var(--accent)}
.room-login-submit{height:54px;border:0;border-radius:6px;background:var(--accent);color:#fff;font-size:16px;font-weight:600;letter-spacing:2px}.room-login-submit:hover{background:#164BE0}.room-login-submit:disabled{opacity:.65;cursor:wait}
#room-login-error{margin:0;color:#BD4C43;font-size:13px;line-height:1.6}#room-login-error[hidden]{display:none}
@media(max-width:480px){.room-login{padding:32px 24px}.room-login-form{gap:24px}}
