/* Warm account login; preserve the existing header/CSRF/Web App integration. */
body.ceett-p2-user-login {
  margin:0; min-height:100vh; padding:40px 20px; display:flex; align-items:center; justify-content:center;
  overflow-x:hidden; overflow-y:auto; background:linear-gradient(135deg,#fff5f5,#ffe8f5 50%,#f3e8ff);
  color:#2d3436; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;
}
body.ceett-p2-user-login::before { content:none; }
.p2-user-shell,.p2-user-shell *,.p2-user-shell *::before { box-sizing:border-box; }
.p2-user-shell { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); width:100%; max-width:960px; min-width:0; margin:auto; border-radius:26px; background:#fff; border:1px solid #f7dce5; box-shadow:0 20px 65px #b765851f; }
.p2-user-intro { padding:44px 38px; border-radius:26px 0 0 26px; background:linear-gradient(145deg,#fff1ee,#fff0f7 55%,#f2eaff); }
.p2-user-shell .p2-login-brand { display:flex; align-items:center; gap:12px; font-size:20px; font-weight:700; color:#49333e; overflow-wrap:anywhere; text-decoration:none; }
.p2-user-shell .p2-login-brand img { border-radius:12px; background:#fff9f0; flex:none; }
.p2-user-shell .p2-login-brand small { display:block; font-size:12px; font-weight:400; color:#76646e; margin-top:4px; }
.p2-user-intro h1 { margin:48px 0 18px; font-size:34px; font-weight:700; color:#49333e; line-height:1.4; }
.p2-user-intro > p { color:#77606e; font-size:16px; line-height:1.8; }
.p2-user-features { margin:30px 0 0; padding:0; list-style:none; display:grid; gap:14px; }
.p2-user-features li { display:flex; gap:16px; align-items:center; padding:17px; border:1px solid #fff; border-radius:14px; background:#ffffffa8; }
.p2-user-features i { display:grid; place-items:center; width:40px; height:40px; border-radius:12px; background:#ffe2e5; color:#c84058; font-size:19px; flex:none; }
.p2-user-features strong { display:block; font-size:14px; color:#4f3a46; }
.p2-user-features span { display:block; margin-top:5px; color:#7b6873; font-size:12px; line-height:1.5; }
.p2-user-card { min-width:0; padding:38px 42px; }
.p2-user-back { display:block; width:fit-content; color:#776571; font-size:13px; margin-bottom:26px; }
.p2-user-back:hover { color:#bd3755; }
.p2-user-badge { display:inline-block; color:#bb3a51; background:#fff0f2; border-radius:20px; padding:6px 12px; font-size:12px; font-weight:600; }
.p2-user-card h2 { font-size:30px; font-weight:700; color:#382933; margin:18px 0 10px; }
.p2-user-description { color:#7b6873; font-size:13px; line-height:1.7; margin:0 0 25px; }
.p2-user-form label { display:block; font-size:14px; font-weight:600; color:#5b4652; margin:19px 0 9px; }
.p2-user-input { display:flex; width:100%; min-width:0; border:1px solid #dfced6; background:#fffbfc; border-radius:11px; align-items:center; }
.p2-user-input i { color:#a08b98; width:42px; text-align:center; flex:none; }
.p2-user-input input { width:100%; min-width:0; height:50px; font-size:16px; color:#3c2d36; background:transparent; border:0; border-radius:11px; padding:12px 12px 12px 0; outline:none; }
.p2-user-input input::placeholder { color:#99828f; }
.p2-user-input:focus-within { border-color:#e06a80; box-shadow:0 0 0 3px #ff6b6b1a; }
.p2-user-captcha { margin-top:20px; max-width:100%; }
.p2-user-options { text-align:right; margin:14px 0 18px; font-size:13px; }
.p2-user-options a,.p2-user-signup a { color:#be3554; font-weight:500; }
.p2-user-submit { display:block; width:100%; padding:14px; border:0; border-radius:11px; background:linear-gradient(120deg,#e6596d,#cf3e5c); color:#fff; font-size:16px; font-weight:600; cursor:pointer; }
.p2-user-submit:hover { background:#c43753; }
.p2-user-submit:disabled { opacity:.6; cursor:wait; }
.p2-user-submit i { margin-left:10px; }
.p2-user-divider { display:flex; align-items:center; gap:12px; color:#897480; font-size:12px; margin:22px 0 18px; }
.p2-user-divider::before,.p2-user-divider::after { content:""; flex:1; height:1px; background:#efdee6; }
.p2-user-qq { display:flex; gap:10px; justify-content:center; align-items:center; padding:12px; border:1px solid #dfced6; border-radius:11px; color:#5f4656; font-size:14px; font-weight:500; }
.p2-user-qq:hover { background:#fff5f8; color:#b33655; text-decoration:none; }
.p2-user-qq > i { color:#2886bf; font-size:21px; }
.p2-user-signup { margin:23px 0 0; font-size:13px; text-align:center; color:#7b6873; }
.p2-user-shell a:focus-visible,.p2-user-shell button:focus-visible { outline:3px solid #cf3e5c; outline-offset:4px; }
@media(max-width:900px) {
 body.ceett-p2-user-login { padding:24px 16px; }
 .p2-user-shell { grid-template-columns:minmax(0,1fr); max-width:460px; }
 .p2-user-intro { display:none; }
 .p2-user-card { padding:28px; }
}
@media(max-width:360px) { body.ceett-p2-user-login { padding:16px 12px; } .p2-user-card { padding:24px 20px; } .p2-user-card h2 { font-size:28px; } }
@media(max-height:600px) { body.ceett-p2-user-login { align-items:flex-start; } }
@media(prefers-reduced-motion:reduce) { .p2-user-shell * { animation:none !important; transition:none !important; } }
