/* ======== 登录页 — 清新绿植风格 ======== */
:root {
  --lp-bg: #eaf5e4;
  --lp-card: #ffffff;
  --lp-accent: #4a9c5d;
  --lp-accent-hover: #3d854d;
  --lp-text: #2e3b2c;
  --lp-muted: #7a8e75;
  --lp-border: #d4e8d0;
  --lp-radius: 14px;
  --lp-font: 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body.pg-login-new {
  font-family: var(--lp-font);
  display: flex; align-items: center; justify-content: center;
  min-height: 100vh; overflow: hidden;
  position: relative;
}

/* 背景：柔和的绿色渐变 + 模糊圆点 */
.login-bg {
  position: fixed; inset: 0; z-index: 0;
  background:
    radial-gradient(ellipse 800px 600px at 20% 30%, rgba(74,156,93,0.12) 0%, transparent 70%),
    radial-gradient(ellipse 600px 500px at 80% 70%, rgba(200,180,100,0.10) 0%, transparent 70%),
    linear-gradient(135deg, #edf7e8 0%, #f5faf3 40%, #f0f7ed 100%);
}
.login-bg::before {
  content: ''; position: absolute; inset: 0;
  background-image:
    radial-gradient(circle at 15% 25%, rgba(74,156,93,0.06) 0%, transparent 50%),
    radial-gradient(circle at 85% 60%, rgba(74,156,93,0.04) 0%, transparent 50%),
    radial-gradient(circle at 50% 80%, rgba(140,180,120,0.05) 0%, transparent 50%);
}

/* 卡片 */
.login-wrapper {
  position: relative; z-index: 1;
  width: min(380px, 92vw);
}

.login-card {
  background: var(--lp-card);
  border-radius: var(--lp-radius);
  padding: 40px 32px;
  box-shadow: 0 8px 40px rgba(74, 140, 74, 0.10), 0 2px 8px rgba(0,0,0,0.04);
  border: 1px solid var(--lp-border);
  transition: transform .3s, box-shadow .3s;
}

.login-header {
  text-align: center; margin-bottom: 32px;
}
.login-logo {
  display: inline-flex; align-items: center; justify-content: center;
  width: 56px; height: 56px;
  background: linear-gradient(135deg, var(--lp-accent), #6db87a);
  color: #fff; font-size: 1.3rem; font-weight: 700;
  border-radius: 16px; margin-bottom: 12px;
  letter-spacing: -1px;
}
.login-header h1 {
  font-size: 1.35rem; font-weight: 700; color: var(--lp-text);
  letter-spacing: -0.02em; margin-bottom: 4px;
}
.login-header p {
  font-size: 0.85rem; color: var(--lp-muted);
}

/* 表单 */
.login-form label {
  display: block; margin-bottom: 16px;
}
.login-form label span {
  display: block; font-size: 0.82rem;
  color: var(--lp-muted); margin-bottom: 5px;
}
.login-form input[type="text"],
.login-form input[type="password"] {
  width: 100%; padding: 11px 14px;
  border: 1.5px solid var(--lp-border);
  border-radius: 8px; font-size: 0.95rem;
  background: #f9fcf7; color: var(--lp-text);
  transition: border-color .2s, box-shadow .2s;
  font-family: inherit;
}
.login-form input:focus {
  outline: none;
  border-color: var(--lp-accent);
  box-shadow: 0 0 0 3px rgba(74,156,93,0.12);
}

.remember-label {
  display: flex !important; align-items: center; gap: 8px;
  font-size: 0.85rem; color: var(--lp-muted);
  cursor: pointer;
}
.remember-label input[type="checkbox"] {
  accent-color: var(--lp-accent); width: 16px; height: 16px;
}

.btn-login {
  width: 100%; padding: 12px;
  background: var(--lp-accent); color: #fff;
  border: none; border-radius: 8px;
  font-size: 0.98rem; font-weight: 600;
  cursor: pointer; margin-top: 8px;
  transition: background .2s, transform .1s;
  font-family: inherit;
}
.btn-login:hover { background: var(--lp-accent-hover); }
.btn-login:active { transform: scale(0.98); }
.btn-login:disabled { opacity: .6; cursor: not-allowed; }

/* 状态 */
.login-card[data-state="loading"] .btn-login { opacity: .7; }
.login-card[data-state="success"] {
  border-color: var(--lp-accent);
  box-shadow: 0 0 0 4px rgba(74,156,93,0.1);
}

/* 错误提示 */
.login-error {
  color: #d44; font-size: 0.83rem; text-align: center;
  margin-top: 12px; min-height: 20px;
}

/* 页脚 */
.login-footer {
  text-align: center; margin-top: 20px; font-size: 0.82rem;
}
.login-footer a {
  color: var(--lp-muted); text-decoration: none;
}
.login-footer a:hover { color: var(--lp-accent); }

/* 响应式 */
@media (max-width: 400px) {
  .login-card { padding: 28px 20px; }
  .login-header h1 { font-size: 1.2rem; }
}
