/* ============================================================
   v10.16 统一登录页 UI（分屏卡片式）
   结构：.lc-login > .lc-card > (.lc-brand 品牌面板 + .lc-panel 表单面板)
   主题：.theme-client（蓝）/.theme-admin（紫），通过 --lc-* 变量换色
   ============================================================ */
.lc-login{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;position:relative;overflow:hidden;background:var(--lc-bg,#eef3fb)}
.lc-login::before,.lc-login::after{content:'';position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;pointer-events:none}
.lc-login::before{width:520px;height:520px;top:-180px;right:-120px;background:var(--lc-g1,#2563eb)}
.lc-login::after{width:460px;height:460px;bottom:-160px;left:-100px;background:var(--lc-g2,#7c3aed)}
/* 卡片：左品牌右表单 */
.lc-card{position:relative;z-index:1;width:100%;max-width:880px;display:flex;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 24px 70px rgba(15,23,42,.16);animation:lcCardIn .45s ease}
@keyframes lcCardIn{from{transform:translateY(22px);opacity:0}to{transform:none;opacity:1}}
/* 品牌面板 */
.lc-brand{flex:0 0 41%;background:linear-gradient(160deg,var(--lc-g1,#2563eb),var(--lc-g2,#7c3aed));color:#fff;padding:44px 36px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.lc-brand::before,.lc-brand::after{content:'';position:absolute;border-radius:50%;background:rgba(255,255,255,.08);pointer-events:none}
.lc-brand::before{width:220px;height:220px;top:-70px;right:-60px}
.lc-brand::after{width:150px;height:150px;bottom:-50px;left:-40px}
.lc-badge{width:46px;height:46px;border-radius:12px;background:rgba(255,255,255,.18);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;font-size:21px;margin-bottom:22px;position:relative;z-index:1}
.lc-brand-name{font-size:23px;font-weight:700;letter-spacing:.5px;margin-bottom:8px;position:relative;z-index:1}
.lc-brand-sub{font-size:12px;letter-spacing:3px;opacity:.75;margin-bottom:16px;position:relative;z-index:1}
.lc-brand-desc{font-size:13px;line-height:1.7;opacity:.85;margin-bottom:26px;position:relative;z-index:1}
.lc-feats{display:flex;flex-direction:column;gap:14px;margin-top:auto;position:relative;z-index:1}
.lc-feat{display:flex;align-items:center;gap:10px;font-size:13px;opacity:.92}
.lc-feat i{width:26px;height:26px;border-radius:8px;background:rgba(255,255,255,.16);display:inline-flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}
/* 表单面板 */
.lc-panel{flex:1;padding:46px 44px;display:flex;flex-direction:column;justify-content:center}
.lc-panel h2{font-size:21px;font-weight:700;color:#0f172a;margin-bottom:6px}
.lc-panel-sub{font-size:13px;color:#94a3b8;margin-bottom:26px}
.lc-field{margin-bottom:18px}
.lc-field label{display:block;font-size:13px;font-weight:600;color:#334155;margin-bottom:7px}
.lc-field input{width:100%;height:44px;padding:0 14px;border:1px solid #e2e8f0;border-radius:10px;font-size:14.5px;color:#0f172a;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}
.lc-field input::placeholder{color:#b6c2d4}
.lc-field input:focus{border-color:var(--lc-accent,#2563eb);box-shadow:0 0 0 3px var(--lc-ring,rgba(37,99,235,.15))}
/* v10.17 注册页复用：下拉模板选择与输入框同款 */
.lc-field select{width:100%;height:44px;padding:0 12px;border:1px solid #e2e8f0;border-radius:10px;font-size:14.5px;color:#0f172a;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box;cursor:pointer}
.lc-field select:focus{border-color:var(--lc-accent,#2563eb);box-shadow:0 0 0 3px var(--lc-ring,rgba(37,99,235,.15))}
.lc-err{color:#dc2626;font-size:13px;min-height:18px;margin:2px 0 6px}
.lc-btn{width:100%;height:46px;border:none;border-radius:999px;background:linear-gradient(135deg,var(--lc-g1,#2563eb),var(--lc-g2,#7c3aed));color:#fff;font-size:15px;font-weight:600;letter-spacing:6px;cursor:pointer;transition:all .2s;box-shadow:0 8px 20px var(--lc-ring,rgba(37,99,235,.3))}
.lc-btn:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 10px 26px var(--lc-ring,rgba(37,99,235,.38))}
.lc-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.lc-extra{margin-top:18px;font-size:13px;color:#64748b;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.lc-extra a{color:var(--lc-accent,#2563eb);text-decoration:none;font-weight:500}
.lc-extra a:hover{text-decoration:underline}
.lc-links{margin-top:22px;padding-top:16px;border-top:1px dashed #e2e8f0;font-size:12.5px;color:#94a3b8;display:flex;gap:18px}
.lc-links a{color:#64748b;text-decoration:none}
.lc-links a:hover{color:var(--lc-accent,#2563eb)}
/* 页脚版权 */
.lc-copy{position:relative;z-index:1;margin-top:28px;font-size:12px;color:#94a3b8;text-align:center}
.lc-copy a{color:#94a3b8;text-decoration:none}
/* 主题：客户登录（蓝） */
.theme-client{--lc-g1:#2563eb;--lc-g2:#4f46e5;--lc-accent:#2563eb;--lc-ring:rgba(37,99,235,.15);--lc-bg:#e9f0fb}
/* 主题：总后台（紫） */
.theme-admin{--lc-g1:#7c3aed;--lc-g2:#a855f7;--lc-accent:#7c3aed;--lc-ring:rgba(124,58,237,.15);--lc-bg:#f1ecfb}
/* 暗色主题（总后台夜间模式） */
[data-theme="dark"] .lc-login{--lc-bg:#0b1220}
[data-theme="dark"] .lc-card{background:#111a2e;box-shadow:0 24px 70px rgba(0,0,0,.55)}
[data-theme="dark"] .lc-panel h2{color:#e8eefb}
[data-theme="dark"] .lc-panel-sub{color:#8ea0c0}
[data-theme="dark"] .lc-field label{color:#cdd9f2}
[data-theme="dark"] .lc-field input{background:#16223c;border-color:#2c3d63;color:#e8eefb}
[data-theme="dark"] .lc-field input::placeholder{color:#5b6d8f}
[data-theme="dark"] .lc-field select{background:#16223c;border-color:#2c3d63;color:#e8eefb}
[data-theme="dark"] .lc-extra,[data-theme="dark"] .lc-links{border-color:#233150;color:#8ea0c0}
[data-theme="dark"] .lc-links{border-top-color:#233150}
[data-theme="dark"] .lc-links a{color:#8ea0c0}
[data-theme="dark"] .lc-copy{color:#5b6d8f}
[data-theme="dark"] .lc-copy a{color:#5b6d8f}
/* 响应式：窄屏上下堆叠 */
@media (max-width:760px){
  .lc-card{flex-direction:column;max-width:440px}
  .lc-brand{flex:none;padding:30px 28px 24px}
  .lc-brand-desc,.lc-feats{display:none}
  .lc-brand-name{margin-bottom:2px}
  .lc-panel{padding:30px 28px 34px}
}
