:root{font-family:system-ui,-apple-system,"Microsoft YaHei","Noto Sans SC",sans-serif;color:#293241;background:#f8f8f6;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #2563eb;outline-offset:3px}.login-shell{min-height:100dvh}.login-header{height:76px;padding:0 clamp(22px,3.3vw,60px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e7eb;background:#ffffff}.login-header>span{font-size:13px;color:#737b87;letter-spacing:.08em}.wordmark{font-size:23px;font-weight:750;letter-spacing:-.04em}.wordmark-symbol{color:#334155;font-size:18px;margin-right:12px}.login-layout{min-height:calc(100dvh - 76px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr)}.story{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:600px;padding:clamp(36px,5vw,88px);color:#f7f8f2;text-shadow:0 1px 3px rgba(12,16,22,.65),0 3px 14px rgba(12,16,22,.3);background:#343a40 url('/assets/login-store-interior.png') center/cover no-repeat;isolation:isolate}.story:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,24,30,.4),rgba(20,24,30,.13) 55%,rgba(20,24,30,0) 88%)}.story-copy{max-width:580px}.story-index,.section-index{font-size:12px;font-weight:700;letter-spacing:.15em}.story h1{margin:44px 0 18px;font-family:"Noto Serif SC","Songti SC",SimSun,serif;font-size:clamp(40px,4.1vw,68px);font-weight:600;line-height:1.32;letter-spacing:-.045em}.story-copy>p:last-child{max-width:410px;font-size:17px;line-height:1.85}.story-caption{font-size:13px;letter-spacing:.12em}.login-content{display:flex;align-items:center;justify-content:center;padding:45px clamp(28px,4vw,74px)}.login-form-wrap{width:min(100%,510px)}.login-intro h2{margin:14px 0 8px;font-family:"Noto Serif SC","Songti SC",SimSun,serif;font-size:42px;font-weight:600}.login-intro>p:last-child,.role-description{color:#6b7280;font-size:14px;line-height:1.7}.section-index{color:#64748b}.role-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:34px 0 28px}.role-switch a{min-height:82px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:14px 18px;border:1px solid #d5d9df;border-radius:6px;background:#ffffff}.role-switch a:hover{border-color:#94a3b8}.role-switch a.active{border-color:#334155;background:#eef1f5;box-shadow:inset 0 0 0 1px #334155}.role-switch strong{font-size:17px}.role-switch span{color:#6b7280;font-size:12px}.login-form h3{margin:0;font-size:21px}.role-description{margin:6px 0 22px}.login-form label{display:block;margin:17px 0 7px;font-size:14px;font-weight:650}.login-form input{display:block;width:100%;height:49px;padding:11px 13px;border:1px solid #cbd5e1;border-radius:5px;background:#ffffff;color:#293241;font-size:15px}.login-form input:focus{border-color:#334155}.account-hint{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 20px;color:#6b7280;font-size:13px}.account-hint strong{color:#334155;font-weight:650}.login-error{margin:0 0 14px;padding:11px 13px;border-left:3px solid #b14f3c;background:#fbefeb;color:#8f3529;font-size:14px}.login-form button{width:100%;height:52px;display:flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:5px;background:#2563eb;color:white;font-size:16px;font-weight:650;cursor:pointer}.login-form button:hover{background:#1d4ed8}.login-form button span{font-size:22px;font-weight:400}@media(max-width:900px){.login-layout{grid-template-columns:1fr}.story{min-height:260px;padding:30px;background-position:center 52%}.story h1{margin:20px 0 8px;font-size:38px}.story-copy>p:last-child{font-size:14px}.story-caption{display:none}.login-content{padding:36px 22px 50px}}@media(max-width:480px){.login-header{height:62px;padding:0 17px}.wordmark{font-size:19px}.login-header>span{font-size:11px}.story{min-height:210px;padding:20px}.story h1{font-size:30px}.story-copy>p:last-child{font-size:13px}.login-content{padding:24px 17px 38px}.login-intro h2{font-size:34px}.role-switch{margin:24px 0 22px;gap:7px}.role-switch a{min-height:73px;padding:11px}.role-switch strong{font-size:15px}.role-switch span{font-size:11px}}@media(max-width:480px){
  .story{height:145px;min-height:0;padding:14px 18px;justify-content:center}
  .story-index,.story-copy>p:last-child{display:none}
  .story h1{margin:0;font-size:27px;line-height:1.25}
  .login-content{padding-top:18px}
  .login-intro h2{margin:7px 0 3px;font-size:30px}
  .login-intro>p:last-child{font-size:12px}
  .role-switch{margin:16px 0 17px}
  .role-switch a{min-height:64px}
  .role-description{margin:3px 0 10px;font-size:12px}
  .login-form label{margin:11px 0 5px}
  .login-form input{height:44px}
  .account-hint{margin:9px 0 15px}
  .login-form button{height:48px}
}.wordmark{display:inline-flex;align-items:center;gap:11px}
.wordmark-symbol{display:block;width:32px;height:32px;margin:0;flex:none;object-fit:contain}
.wordmark-copy{display:flex;flex-direction:column;gap:4px;line-height:1.15}
.wordmark-copy strong{color:#17334e;font-weight:750}
.wordmark-tagline{color:#617688;font-size:11px;font-weight:400;letter-spacing:.02em}
@media(max-width:480px){
  .wordmark{gap:9px}
  .wordmark-symbol{width:28px;height:28px}
  .wordmark-copy{gap:3px}
  .wordmark-tagline{font-size:10px}
}
.login-form button{margin-top:20px}
.login-form button{background:#2563eb}
.login-form button:hover{background:#1d4ed8}
.login-form button:active{background:#1e40af}
.login-form button:focus-visible{outline-color:#2563eb}
.role-switch a:hover{border-color:#93c5fd;background:#f8fbff}
.role-switch a.active{border-color:#2563eb;background:#eff6ff;box-shadow:inset 0 0 0 1px #2563eb}
.role-switch a:focus-visible{outline-color:#2563eb}
