.portrait-login{width:420px;max-width:calc(100vw - 32px);padding:30px;border:1px solid #e1e7db;border-radius:22px;background:#fff;box-sizing:border-box;max-height:calc(100dvh - 32px);overflow-y:auto}.portrait-login::backdrop{background:#1c3023a6;backdrop-filter:blur(3px)}.login-brand-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.login-brand{font-size:23px;font-weight:700;letter-spacing:3px;color:#34533d}.portrait-login .login-close{background:transparent;padding:0 5px;margin:0;color:#899681;font-size:27px;line-height:1}.portrait-login h2{font-size:26px;letter-spacing:-.5px;margin:0 0 8px}.login-subtitle{font-size:13px;color:#7c8a75;margin:0 0 20px;line-height:1.8}.login-test-note{background:#f1f5ed;border:1px solid #e7ecdf;color:#667f58;font-size:12px;line-height:1.8;border-radius:10px;padding:12px 14px;margin-bottom:22px}.login-test-note span{display:block;color:#8a9880;font-size:11px}.portrait-login label{display:block;font-size:13px;font-weight:500;margin:0 0 8px}.portrait-login input{display:block;box-sizing:border-box;width:100%;height:48px;padding:12px 14px;margin:0 0 18px;border:1px solid #d6dfce;border-radius:9px;background:#fcfdfb;font:inherit;font-size:14px;color:#33462e}.portrait-login input:focus{outline:2px solid #91ad93;outline-offset:2px;background:#fff}.portrait-login input::placeholder{color:#a0a998}.portrait-login .login-error{font-size:12px;color:#ae5c47;margin:0 0 12px;line-height:1.6}.portrait-login .login-error:empty{display:none}.portrait-login .login-submit{width:100%;margin:4px 0 0;height:48px;font-size:14px}.portrait-login .login-cancel{display:block;background:transparent;color:#7e8e72;width:100%;margin:8px 0 0;padding:8px;font-size:12px}.login-code-row{display:flex;gap:8px;margin:0 0 18px}.login-code-row input{margin:0;flex:1;min-width:0}.login-send{height:48px;padding:0 14px;border:1px solid #d6dfce;border-radius:9px;background:#f1f5ed;color:#34533d;font:inherit;font-size:13px;white-space:nowrap;cursor:pointer}.login-send:disabled{color:#8a9880;cursor:default;background:#f7f9f4}.login-send:focus{outline:2px solid #91ad93;outline-offset:2px}.login-privacy{font-size:10px;color:#9aa48f;text-align:center;margin:18px 0 0;line-height:1.6}@media(max-width:480px){.portrait-login{padding:24px}.portrait-login h2{font-size:24px}}
