/* ================================================================
   牛栏山·数智中枢 — 全屏品牌登录页 ui-login.css
   设计基调：整页登录体验。左侧天坛主视觉（品牌红+烫金），右侧专业表单。
   保留官方 logo 完整性；主系统顶栏 logo 不变。
   回滚：删除本文件并移除 index.html 中对应行引用即可。
   ================================================================ */

/* ---------- 启动遮罩（防刷新闪现主界面） ----------
   认证检查完成前盖住主程序；层级低于登录层(99999)，高于主程序。
   显示/隐藏/移除由 auth.js 的 hideBootSplash() 控制（元素仅存在于 index.html）。 */
.boot-splash{
  position:fixed; top:0; left:0; width:100%; height:100%; z-index:99990;
  background:#171310;
  pointer-events:none;               /* 不拦截交互，仅视觉遮挡 */
  opacity:1;
  transition:opacity .32s ease;
}
.boot-splash.hide{
  opacity:0; visibility:hidden;
}

/* ---------- 登录层全屏化 ---------- */
/* 注意：不能写 display:flex !important，否则会覆盖 JS 的 style.display='none'，
   导致登录成功/退出后登录层无法隐藏。显示/隐藏由 auth.js 的控制内联样式。 */
#loginOverlay.login-overlay{
  background:#171310 !important;
  justify-content:flex-end !important;
  align-items:stretch !important;
  padding:0 !important;
}

/* ---------- 左侧品牌区（天坛主视觉） ---------- */
#loginOverlay .ur-login-brand{
  position:relative;
  left:auto;top:auto;bottom:auto;
  width:52%;
  background:
    radial-gradient(120% 90% at 20% 10%, rgba(217,168,92,.14), transparent 55%),
    linear-gradient(160deg, #8A0F15 0%, var(--ur-brand-red) 45%, #5E080C 100%);
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  padding:0 6%;
  overflow:hidden;
}

/* 天坛祈年殿 SVG：品牌区背景主视觉 */
#loginOverlay .ur-tiantan{
  position:absolute;
  left:50%;top:48%;
  width:min(72%, 720px);
  transform:translate(-50%,-50%);
  opacity:.18;
  pointer-events:none;
}
#loginOverlay .ur-tiantan *{
  fill:url(#urGold) #D9A85C;
  fill-opacity:1;
  stroke:#E3B877;
  stroke-width:.6;
}
/* 天坛与官方 logo 组合标志（宫灯式衬） */
#loginOverlay .ur-logo-mark{
  position:relative;
  display:inline-flex;
  align-items:center;justify-content:center;
  width:230px;height:230px;
  margin-bottom:26px;
  background:
    radial-gradient(circle at 50% 50%, rgba(246,232,200,.12), transparent 66%);
  border:1px solid rgba(217,168,92,.30);
  border-radius:50%;
  z-index:2;
}
#loginOverlay .ur-logo-mark::before{
  content:"";position:absolute;inset:10px;
  border:1px solid rgba(217,168,92,.16);
  border-radius:50%;
}
#loginOverlay .ur-logo-img{
  width:176px;height:176px;
  object-fit:contain;
  filter:drop-shadow(0 6px 18px rgba(0,0,0,.4));
  pointer-events:none;
}

/* 文字层在前台 */
#loginOverlay .ur-slogan-cn,
#loginOverlay .ur-slogan-en{
  position:relative;z-index:2;
}
#loginOverlay .ur-slogan-cn{
  color:#F6E8C8;font-size:19px;letter-spacing:.14em;margin:0 0 12px;
  font-weight:500;
}
#loginOverlay .ur-slogan-en{
  color:#D8A48F;font-size:11px;letter-spacing:.32em;
  font-family:var(--ur-font-mono);
}

/* 品牌区底部细金线分隔 */
#loginOverlay .ur-login-brand::after{
  content:"";position:absolute;right:0;top:10%;bottom:10%;width:1px;
  background:linear-gradient(180deg, transparent, rgba(217,168,92,.5), transparent);
}

/* ---------- 右侧表单区 ---------- */
#loginOverlay .ur-login-panel{
  width:48%;
  display:flex;align-items:center;justify-content:center;
  padding:0 4%;
}
#loginOverlay .login-box{
  position:relative;z-index:1;
  width:100%;max-width:420px;
  background:#1F1A14 !important;
  border:1px solid var(--ur-line) !important;
  border-radius:12px !important;
  backdrop-filter:none !important;
  box-shadow:0 24px 60px rgba(0,0,0,.5) !important;
  text-align:left !important;
}
#loginOverlay .login-logo{
  color:#EDE8DD !important;
  font-size:22px !important;
  text-align:left;
  /* [v4.17.16] 繁体艺术字：鎏金渐变 + 立体阴影（CSS 变量适配所有主题） */
  background:linear-gradient(180deg,
    var(--hdr-title-c1, #F8EDC8) 0%,
    var(--hdr-title-c2, #D9A85C) 55%,
    var(--hdr-title-c3, #A8782E) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.5)) drop-shadow(0 0 8px rgba(217,168,92,.3));
  letter-spacing:1.5px;
}
#loginOverlay .login-logo .en{
  /* [v4.17.16] 英文副标题保持品牌色，不随中文渐变 */
  -webkit-text-fill-color:var(--ur-acc) !important;
  color:var(--ur-acc) !important;
  letter-spacing:.18em;
}
#loginOverlay .login-subtitle{
  color:#A79B84 !important;
  margin:6px 0 26px !important;
  text-align:left;
}

/* 表单字段 */
#loginOverlay .ur-field{
  margin-bottom:18px;
}
#loginOverlay .ur-field label{
  display:block;font-size:13px;color:#C9BFA9;margin-bottom:7px;
  letter-spacing:.02em;
}
#loginOverlay .login-input{
  background:#14110D !important;
  border:1px solid var(--ur-line-strong) !important;
  color:#EDE8DD !important;
  border-radius:6px !important;
  padding:12px 14px !important;
  font-size:14px;
  transition:border-color .18s, box-shadow .18s;
}
#loginOverlay .login-input::placeholder{color:#6E6555;}
#loginOverlay .login-input:focus{
  border-color:var(--ur-acc) !important;
  outline:none;
  box-shadow:0 0 0 3px rgba(217,168,92,.16);
}

/* 记住登录 + 忘记密码 */
#loginOverlay .ur-login-meta{
  display:flex;align-items:center;justify-content:space-between;
  margin:2px 0 20px;
}
#loginOverlay .ur-remember{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;color:#A79B84;cursor:pointer;user-select:none;
}
#loginOverlay .ur-remember input{
  width:15px;height:15px;accent-color:var(--ur-acc);cursor:pointer;
}
#loginOverlay .ur-remember span{color:#C9BFA9;}
#loginOverlay .ur-forgot{
  font-size:13px;color:var(--ur-acc);text-decoration:none;
  transition:opacity .18s;
}
#loginOverlay .ur-forgot:hover{opacity:.8;text-decoration:underline;}

/* 登录按钮 */
#loginOverlay .login-btn{
  width:100% !important;
  background:var(--ur-acc) !important;
  background-image:none !important;
  color:#171310 !important;
  font-size:15px !important;
  font-weight:600;
  letter-spacing:.35em;
  padding:12px !important;
  border:none !important;
  border-radius:6px !important;
  box-shadow:0 6px 18px rgba(217,168,92,.22) !important;
  transition:background .18s, box-shadow .18s, transform .12s;
}
#loginOverlay .login-btn:hover{
  background:#E3B877 !important;
  box-shadow:0 8px 22px rgba(217,168,92,.32) !important;
}
#loginOverlay .login-btn:active{transform:translateY(1px);}
#loginOverlay .login-btn:disabled{opacity:.65;cursor:not-allowed;}

/* 错误提示 */
#loginOverlay .login-error{
  color:#F0A5A0 !important;
  font-size:13px;margin-top:14px;min-height:18px;
  text-align:left;
}

/* ---------- 忘记密码提示弹窗 ---------- */
#forgotPwdOverlay.login-overlay{
  background:rgba(8,6,4,.72) !important;
  justify-content:center !important;
  align-items:center !important;
  z-index:100060 !important;
}
#forgotPwdOverlay .ur-login-brand{display:none}
#forgotPwdOverlay .ur-login-panel{width:auto;padding:0}
#forgotPwdOverlay .ur-forgot-box{
  width:100%;max-width:380px !important;text-align:center !important;
  background:#1F1A14 !important;
  border:1px solid var(--ur-line) !important;
  border-radius:12px !important;
  padding:34px 30px !important;
}
#forgotPwdOverlay .ur-forgot-icon{
  font-size:30px;color:var(--ur-acc);margin-bottom:12px;
}
#forgotPwdOverlay .login-logo{text-align:center !important}
#forgotPwdOverlay .login-subtitle{text-align:center !important}

/* ---------- 强制改密弹窗：保持原居中视觉，不显示品牌区 ---------- */
#forcePasswordChangeModal.login-overlay{
  background:#171310 !important;
  justify-content:center !important;
  align-items:center !important;
}
#forcePasswordChangeModal .ur-login-brand{display:none}
#forcePasswordChangeModal .login-box{
  background:#1F1A14 !important;
  border:1px solid var(--ur-line) !important;
  text-align:left !important;
  margin:0 !important;
  box-shadow:0 24px 60px rgba(0,0,0,.5) !important;
}
#forcePasswordChangeModal .ur-login-brand{display:none}

/* ---------- 响应式：窄屏品牌区降级 ---------- */
@media (max-width: 900px){
  #loginOverlay .ur-login-brand{display:none}
  #loginOverlay .ur-login-panel{width:100%;padding:0 6%;}
  #loginOverlay.login-overlay{justify-content:center !important;}
}