.auth-body{min-height:100vh;background:#f4f8fd;padding:24px;display:grid;place-items:center}
.auth-back{position:fixed;left:28px;top:24px;font-size:13px;color:var(--muted);font-weight:700}
.auth-shell{width:min(1080px,100%);min-height:690px;display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:0 28px 80px rgba(30,65,98,.13)}
.auth-story{background:linear-gradient(145deg,#f5f9ff,#fffdf8 60%);padding:50px;position:relative;overflow:hidden;display:flex;flex-direction:column}
.auth-story:after{content:"";position:absolute;width:440px;height:440px;border:80px solid rgba(31,87,195,.045);border-radius:50%;left:-220px;bottom:-260px}
.auth-copy{margin:auto 0 10px;position:relative;z-index:2}.auth-copy h1{font-size:38px;line-height:1.35;letter-spacing:-1.5px;margin:14px 0}.auth-copy p{color:var(--muted);line-height:1.8;max-width:460px}
.auth-visual{height:210px;margin:25px 0;position:relative;display:flex;align-items:center;justify-content:center;gap:10px}.auth-shop,.auth-member{width:112px;height:112px;border-radius:32px;display:grid;place-items:center;background:var(--blue-50);color:var(--blue);font-size:42px;font-weight:900;position:relative}.auth-member{background:var(--coral-50);color:var(--coral)}.auth-shop span,.auth-member span{font-size:11px;position:absolute;bottom:12px}.auth-coin{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);border:7px solid #ffe6a7;color:#946400;font-size:26px;font-weight:900;z-index:2}.auth-line{width:35px;height:3px;background:var(--teal);position:relative}.auth-line:after{content:"";position:absolute;right:0;top:-4px;border-left:8px solid var(--teal);border-top:5px solid transparent;border-bottom:5px solid transparent}.auth-ticket{position:absolute;right:15%;top:8px;width:56px;height:38px;border-radius:8px;background:var(--coral);color:#fff;display:grid;place-items:center;font-weight:900;transform:rotate(10deg)}
.auth-trust{display:flex;gap:16px;position:relative;z-index:2}.auth-trust span{font-size:11px;color:#62798c;font-weight:700}
.login-panel{padding:72px 64px;display:flex;flex-direction:column;justify-content:center}.mobile-brand{display:none}.login-kicker{font-size:12px;font-weight:850;color:var(--blue);letter-spacing:.1em}.login-panel h2{font-size:33px;margin:8px 0}.login-panel>p{font-size:14px;color:var(--muted);margin:0 0 34px}
.login-panel label{display:block;font-size:13px;font-weight:750;margin:16px 0 8px}.login-panel input{width:100%;height:52px;border:1px solid #cad7e3;border-radius:11px;padding:0 14px;background:#fbfdff;color:var(--ink);outline:none}.login-panel input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(31,87,195,.09);background:#fff}.password-field{position:relative}.password-field input{padding-right:58px}.password-field button{position:absolute;right:9px;top:8px;height:36px;border:0;background:transparent;color:var(--blue);font-size:12px;font-weight:750}
.form-status{min-height:22px;padding-top:10px;color:var(--danger);font-size:12px}.login-submit{margin-top:10px;width:100%;height:54px;border:0;border-radius:12px;background:var(--blue);color:#fff;font-weight:850;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 12px 25px rgba(31,87,195,.23)}.login-submit i{font-style:normal;font-size:18px}.login-submit:hover{background:var(--blue-700)}.login-submit:disabled{opacity:.65;cursor:wait}.login-help{border-top:1px solid var(--line);padding-top:22px;margin-top:32px;display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted)}.login-help a{color:var(--blue);font-weight:800}
@media(max-width:850px){.auth-shell{grid-template-columns:1fr;min-height:auto}.auth-story{display:none}.login-panel{padding:55px 40px}.mobile-brand{display:block;margin-bottom:60px}.auth-back{position:absolute}.auth-body{align-items:start;padding-top:65px}}
@media(max-width:520px){.auth-body{padding:58px 14px 14px;background:#fff}.auth-shell{border:0;box-shadow:none}.login-panel{padding:24px 8px}.mobile-brand{margin-bottom:45px}.login-panel h2{font-size:29px}.login-help{flex-direction:column}}
