:root{--accent:#ee2e64;--text:#25252c}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#f8f8fa}
body{color:var(--text);font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;-webkit-font-smoothing:antialiased}
.login-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:48px 20px}
.login-content{width:100%;max-width:420px}
.login-brand{text-align:center;margin-bottom:30px}
.login-brand img{display:block;margin:0 auto 18px;background:var(--accent);border-radius:14px;object-fit:contain}
.login-brand h1{font-size:28px;font-weight:700;line-height:1.5;letter-spacing:1px;margin:0}
.login-brand p{margin:10px 0 0;font-size:14px;line-height:1.8;color:#92929c}
.login-card{padding:32px;background:#fff;border-radius:12px;box-shadow:0 8px 36px rgba(35,35,50,.045)}
.phone-label{display:block;font-size:14px;font-weight:500;line-height:1.5;margin-bottom:12px}
.phone-field{display:flex;align-items:center;height:56px;border:1px solid transparent;border-radius:6px;background:#f6f6f8;transition:border-color .15s,background .15s}
.phone-field:focus-within{background:#fff;border-color:var(--accent)}
.phone-field input{min-width:0;flex:1;width:100%;height:100%;padding:0 14px;border:0;outline:0;background:transparent;font:inherit;font-size:15px;color:var(--text);border-radius:6px}
.phone-field input::placeholder{color:#a2a2ac;font-size:14px}
.login-submit.layui-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:50px;padding:0 20px;border:0;border-radius:6px;background:var(--accent);color:#fff;font:inherit;font-size:15px;font-weight:500;cursor:pointer;transition:background .15s}
.login-submit.layui-btn:hover{background:#db2459;opacity:1;color:#fff}
.login-submit.layui-btn:active{background:#c91f50}
.login-submit:focus-visible{outline:3px solid #f5aec2;outline-offset:3px}
.login-submit .layui-icon{font-size:14px}
@media(max-width:480px){.login-page{padding:36px 20px}.login-content{max-width:380px}.login-brand{margin-bottom:26px}.login-brand h1{font-size:26px}.login-brand img{width:52px;height:52px;border-radius:13px}.login-card{padding:26px 22px}}
@media(prefers-reduced-motion:reduce){.phone-field,.login-submit.layui-btn{transition:none}}
/* Position the login group slightly above the viewport center. */
.login-content{position:relative;top:-48px}
@media(max-height:600px){.login-content{top:-16px}}
.login-submit.layui-btn{margin-top:24px}
