/* 登录与邀请页：奶油杏背景 + 品牌色主按钮，等宽等高。 */
.login-body{min-height:100svh;color:var(--ink)}
.login-wrap{display:grid;grid-template-columns:minmax(420px,52%) 1fr;min-height:100svh}
.login-aside{background:linear-gradient(160deg,#F8E7DB 0%,#F1D5BA 55%,#E2B58A 100%);color:var(--ink);padding:48px clamp(40px,6vw,100px);display:flex;flex-direction:column;position:relative;overflow:hidden}
.login-aside::before{content:'';position:absolute;width:560px;height:560px;border:1px solid #c9874e2a;border-radius:50%;right:-220px;top:10%}
.login-aside::after{content:'';position:absolute;width:340px;height:340px;border:1px solid #c9874e1f;border-radius:50%;right:-120px;top:36%}
.login-aside-content{position:relative;z-index:1;margin:auto 0;max-width:540px}
.login-aside .brand{color:var(--ink)}
.login-aside .brand small{color:var(--ink-soft)}
.login-aside .eyebrow{font-size:11px;letter-spacing:.18em;font-weight:700;color:var(--primary);margin:24px 0 12px}
.login-aside h1{font-size:clamp(36px,4vw,58px);line-height:1.3;letter-spacing:-.04em;margin:14px 0 18px;color:var(--ink);font-weight:700}
.login-aside p{font-size:15px;line-height:2;color:var(--ink-soft);max-width:420px;margin:0 0 36px}
.aside-example{margin-top:24px;padding:22px 26px;background:rgba(255,255,255,.6);border:1px solid var(--border-soft);border-radius:14px;display:flex;align-items:center;gap:24px;backdrop-filter:blur(6px);max-width:420px}
.aside-example span:first-child{font-size:12px;color:var(--ink-soft)}
.aside-example strong{font-size:22px;font-weight:700;color:var(--ink)}
.aside-example .arrow{margin-left:auto;font-size:22px;color:var(--primary)}
.aside-footer{position:relative;z-index:1;font-size:12px;color:var(--ink-mute);letter-spacing:.08em;margin-top:auto;padding-top:36px}
.login-panel{display:grid;place-items:center;padding:32px;background:var(--bg)}
.login-card{width:min(100%,420px);background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:40px 36px;box-shadow:var(--shadow-card)}
.login-mobile-brand{display:none;margin-bottom:32px}
.login-card h2{font-size:32px;letter-spacing:-.04em;margin:0 0 6px;color:var(--ink);font-weight:700}
.muted{color:var(--ink-mute);font-size:14px;margin:0 0 32px}
.login-card label{display:block;font-size:13px;font-weight:600;margin:18px 0 8px;color:var(--ink-soft)}
.login-card input{width:100%;height:48px;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface);padding:0 14px;font-size:15px;color:var(--ink);outline:none}
.login-card input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #c9874e22}
.login-card .form-error{margin-top:8px;min-height:0}
.login-card .primary-button{width:100%;justify-content:space-between;margin-top:24px;height:50px;font-size:15px;background:var(--primary);color:#fff;border:1px solid var(--primary);box-shadow:0 10px 22px #c9874e30}
.login-card .primary-button:hover{background:var(--primary-hover);border-color:var(--primary-hover)}
.login-card .primary-button.ghost{background:transparent;color:var(--primary);border:1.5px solid var(--primary);box-shadow:none;margin-top:12px}
.login-card .primary-button.ghost:hover{background:var(--primary-soft)}
.login-help{text-align:center;color:var(--ink-mute);font-size:12px;margin-top:22px;line-height:1.8}
.login-help a{color:var(--primary);font-weight:600}
.login-help a:hover{text-decoration:underline}
@media(max-width:900px){
  .login-wrap{grid-template-columns:1fr;min-height:100svh}
  .login-aside{display:none}
  .login-panel{background:var(--bg);min-height:100svh}
  .login-mobile-brand{display:flex;margin-bottom:32px}
}
