/* ================================================================
   牛栏山·数智中枢 — 专业版成品主题 ui-redesign.css
   设计基调：企业级调度工具。hairline 分层、零自造装饰、数据等宽。
   品牌资产：原黑字 LOGO 不改；登录层用官网红底+金标+天坛主视觉。
   回滚：删除本文件并移除 index.html 中对应两行引用即可。
   ================================================================ */

/* ---------- 字体与排印 ---------- */
:root{
  --ur-font-body:"Geist","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --ur-font-mono:"JetBrains Mono","Geist",Consolas,monospace;
  --ur-line:#322C24;
  --ur-line-strong:#3E372D;
  --ur-acc:#D9A85C;
  --ur-acc-deep:#8A6A33;
  --ur-brand-red:#7B0A10;
  --ur-radius:8px;
  font-synthesis:none;
}
html{line-break:strict}
body{
  font-family:var(--ur-font-body) !important;
  font-variant-numeric:tabular-nums;
}
button,input,select,textarea{font-family:var(--ur-font-body)}

/* ---------- 全局 hairline 与圆角收敛 ---------- */
.card,.stat-card,.stat-box,.panel,.modal-content,.modal-box{
  border-radius:var(--ur-radius) !important;
  box-shadow:0 1px 0 rgba(0,0,0,.22) !important;
}

/* ---------- 数字等宽 ---------- */
.stat-value,.stat-num,.hdr-stat-num,.hdr-env-num,.num,td,th,
.login-input,.mono{
  font-variant-numeric:tabular-nums slashed-zero;
}

/* ---------- 顶栏 ---------- */
#topHeader .hdr-logo{
  background:#fff;
  padding:3px 8px;
  border-radius:6px;
}
#topHeader.header-two-row{
  border-bottom:1px solid var(--ur-line) !important;
}

/* ---------- 按钮体系：金色实底+深字为主操作 ---------- */
.login-btn,.btn-start,.btn-call{
  background:var(--ur-acc) !important;
  background-image:none !important;
  color:#171310 !important;
  font-weight:600;
  border:none !important;
  border-radius:6px !important;
  box-shadow:none !important;
}
.login-btn:hover,.btn-start:hover,.btn-call:hover{
  background:#E3B877 !important;
}

/* ---------- 登录层：左品牌区 / 右表单区，两个单色场景 ---------- */
#loginOverlay.login-overlay{
  background:#171310 !important;
  justify-content:flex-end !important;
}
/* 左侧 LOGO：正常展示，无额外定位 */
#loginOverlay .ur-logo-mark{
  display:block;
  align-self:center;
  margin-bottom:14px;
}
/* 登录页吉祥物小牛：独立站于品牌区中线，水平居中，面向登录表单打招呼
   透明 GIF 打招呼姿态：位于 LOGO 与标语之间，微微浮动 */
#loginOverlay .ur-login-brand img.login-cow-mascot{
  display:block;
  width:96px;
  height:auto;
  margin:0 auto 6px auto !important; /* 居中；覆写父级 .ur-login-brand img 的 margin-bottom:28px */
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.4));
  animation:cowBobLogo 4s ease-in-out infinite;
}
@keyframes cowBobLogo{
  0%,100%{transform:translateY(0) rotate(0deg)}
  50%{transform:translateY(-5px) rotate(-1.5deg)}
}
/* 标语容器：仅包裹文字，不改变 .ur-slogan-cn/.ur-slogan-en 原有样式 */
#loginOverlay .ur-slogan-wrap{
  display:block;
}
@media (max-width:768px){
  #loginOverlay .ur-logo-mark{margin-bottom:8px}
  #loginOverlay .ur-login-brand img.login-cow-mascot{width:68px;margin-bottom:4px}
}
/* 左侧品牌区：官网红单色 + 透明金标 + 文字 slogan */
#loginOverlay .ur-login-brand{
  position:absolute;left:0;top:0;bottom:0;width:44%;
  background:var(--ur-brand-red);
  display:flex;flex-direction:column;justify-content:center;
  padding:0 7%;
}
#loginOverlay .ur-login-brand img{
  width:150px;margin-bottom:28px;
}
#loginOverlay .ur-login-brand p{
  color:#F6E8C8;font-size:17px;letter-spacing:.12em;margin:0 0 10px;
}
#loginOverlay .ur-login-brand span{
  color:#D8A48F;font-size:11px;letter-spacing:.3em;
  font-family:var(--ur-font-mono);
}
/* 右侧表单：单色实底，无毛玻璃无大阴影 */
#loginOverlay .login-box{
  position:relative;
  z-index:1;
  background:#1C1813 !important;
  border:1px solid var(--ur-line) !important;
  border-radius:10px !important;
  backdrop-filter:none !important;
  box-shadow:none !important;
  margin-right:max(8vw,90px);
}
#loginOverlay .login-logo{
  color:#EDE8DD !important;
  /* [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-deep) !important;
  color:var(--ur-acc-deep) !important;
  letter-spacing:.18em;
}
#loginOverlay .login-input{
  background:#14110D !important;
  border:1px solid var(--ur-line-strong) !important;
  color:#EDE8DD !important;
  border-radius:6px;
}
#loginOverlay .login-input:focus{
  border-color:var(--ur-acc) !important;
  outline:none;
}

/* ---------- 强制改密弹窗：保持居中，无品牌区 ---------- */
#forcePasswordChangeModal.login-overlay{
  background:#171310 !important;
  justify-content:center !important;
}
#forcePasswordChangeModal .ur-login-brand{display:none}
#forcePasswordChangeModal .login-box{
  background:#1C1813 !important;
  border:1px solid var(--ur-line) !important;
  margin-right:0;
  box-shadow:none !important;
}

/* ---------- 顶栏按钮收敛：中性炭 + 金仅特项，去渐变去发光去玻璃 ---------- */
#topHeader .hdr-nav-btn,
#topHeader .hdr-nav-btn.btn-purple,
#topHeader .hdr-nav-btn.btn-pink,
#topHeader .hdr-nav-btn.btn-orange,
#topHeader .hdr-nav-btn.btn-cyan,
#topHeader .hdr-nav-btn.btn-teal,
#topHeader .hdr-nav-btn.btn-red,
#topHeader .hdr-nav-btn.btn-rose,
#topHeader .hdr-nav-btn.btn-indigo,
#topHeader .hdr-nav-btn.btn-green,
#topHeader .hdr-nav-btn.btn-emerald,
#topHeader .hdr-nav-btn.btn-slate,
#topHeader .hdr-nav-btn.btn-warning,
#topHeader .hdr-nav-btn.btn-info{
  background:#2A251D !important;
  background-image:none !important;
  color:#C9BFA9 !important;
  border:1px solid var(--ur-line-strong) !important;
  box-shadow:none !important;
  text-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border-radius:6px !important;
}
#topHeader .hdr-nav-btn:hover{
  background:#332C22 !important;
  color:#EDE8DD !important;
  transform:none !important;
  box-shadow:none !important;
}
#topHeader .hdr-nav-btn i{filter:none !important}
#topHeader .hdr-nav-btn.btn-amber{
  background:var(--ur-acc) !important;
  color:#171310 !important;
  border-color:var(--ur-acc) !important;
  font-weight:600;
}
#topHeader .hdr-nav-btn.btn-amber:hover{background:#E3B877 !important}

/* ---------- [配色一致性] 浅色模式：中性炭 → 暖米白药丸，消除深炭按钮贴白顶栏的割裂 ----------
   仅 data-theme="light" 生效；深色模式保持上方炭色；金色特项(.btn-amber)、管理按钮(.admin-more-btn) 不受影响。
   图标语义色通过 style.css 的 color-mix + --header-btn-text 复用,浅色下自动转深,保持功能识别度。 */
html[data-theme="light"] #topHeader{
  --header-btn-text:#3D3426;   /* 浅色顶栏的按钮标签/图标混合基色:暖深褐 */
  --header-btn-bg:#F4EFE3;
}
html[data-theme="light"] #topHeader .hdr-nav-btn:not(.btn-amber):not(.admin-more-btn){
  background:#F4EFE3 !important;
  background-image:none !important;
  color:#3D3426 !important;
  border:1px solid #DDD2BD !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7) !important;
  text-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border-radius:6px !important;
}
html[data-theme="light"] #topHeader .hdr-nav-btn:not(.btn-amber):not(.admin-more-btn):hover{
  background:#EAE0CC !important;
  color:#241D12 !important;
  transform:none !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6) !important;
}
/* 浅色下用户徽章随顶栏转暖米白,保持与按钮体系一致 */
html[data-theme="light"] #topHeader .user-badge{
  --badge-color:#6C5D4B !important;
  background:#F4EFE3 !important;
  border:1px solid #DDD2BD !important;
}
html[data-theme="light"] #topHeader .user-badge-name{color:#3D3426 !important}

/* ---------- 页脚：深色低调，融入主题 ---------- */
#bottomFooter{
  background:#171310 !important;
  border-top:1px solid var(--ur-line) !important;
  color:#857C6B !important;
}
#bottomFooter a,#bottomFooter span{color:#857C6B !important}

/* ---------- 悬浮用户卡：中性炭，去星徽去渐变 ---------- */
.floating-user-panel{
  background:#242019 !important;
  border:1px solid var(--ur-line-strong) !important;
  box-shadow:0 8px 24px rgba(0,0,0,.35) !important;
}
.medal-ribbon-text{display:none !important}
.floating-user-avatar{background:var(--ur-acc-deep) !important}

/* ---------- niu2 吉祥物入口：收敛为中性圆钮 ---------- */
#niu2-fab{
  background:#242019 !important;
  border:1px solid var(--ur-line-strong) !important;
  box-shadow:none !important;
  opacity:.85;
}
#niu2-fab:hover{opacity:1}
/* 管理员徽标：实底深红，去渐变去阴影 */
.admin-mode-chip{
  background:var(--ur-brand-red) !important;
  background-image:none !important;
  box-shadow:none !important;
  border-radius:6px !important;
}
.admin-mode-chip:hover{transform:none !important;box-shadow:none !important}
/* 用户卡片中性化 */
#topHeader .user-badge{
  --badge-color:#C9BFA9 !important;
  background:#242019 !important;
  border:1px solid var(--ur-line-strong) !important;
  box-shadow:none !important;
  border-radius:6px !important;
}
#topHeader .user-badge:hover{transform:none !important}
#topHeader .user-badge-avatar{background:var(--ur-acc-deep) !important}
#topHeader .user-badge-name{color:#EDE8DD !important}
#topHeader .user-badge-role{color:#857C6B !important}

/* ---------- 数据大屏品牌带（screen.html 若引入本表则生效） ---------- */
.ur-brand-band{
  display:flex;align-items:center;gap:18px;
  background:var(--ur-brand-red);
  padding:14px 36px;position:relative;overflow:hidden;
}
.ur-brand-band .ur-gold{height:56px}
.ur-brand-band .ur-temple{position:absolute;right:0;top:0;height:100%;opacity:.9;pointer-events:none}

/* ---------- [可访问性] 全局键盘焦点环（WCAG 2.4.7），纯视觉、不覆盖原边框 ---------- */
:where(button, a, input, select, textarea, [tabindex]):focus-visible{
  outline:2px solid var(--ur-acc) !important;
  outline-offset:2px;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--ur-acc) 20%, transparent) !important;
}
/* 浅色主题下金色焦点环在米白底的可读性增强 */
html[data-theme="light"] :where(button, a, input, select, textarea, [tabindex]):focus-visible{
  outline-color:#8A6A33 !important;
  box-shadow:0 0 0 4px color-mix(in srgb,#8A6A33 20%, transparent) !important;
}
html[data-theme="dark"] :where(button, a, input, select, textarea, [tabindex]):focus-visible{
  outline-color:#E3B877 !important;
  box-shadow:0 0 0 4px color-mix(in srgb,#E3B877 22%, transparent) !important;
}

/* ---------- [组件统一] 表单控件聚焦态与圆角收敛 ---------- */
input[type="text"],input[type="password"],input[type="number"],
input[type="search"],input[type="date"],input[type="datetime-local"],
select,textarea{
  border-radius:6px;
  transition:border-color .15s ease, box-shadow .15s ease;
}
input:focus,select:focus,textarea:focus{
  border-color:var(--ur-acc) !important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--ur-acc) 22%, transparent) !important;
  outline:none !important;
}
html[data-theme="light"] input:focus,html[data-theme="light"] select:focus,html[data-theme="light"] textarea:focus{
  border-color:#8A6A33 !important;
  box-shadow:0 0 0 2px color-mix(in srgb,#8A6A33 18%, transparent) !important;
}
html[data-theme="dark"] input:focus,html[data-theme="dark"] select:focus,html[data-theme="dark"] textarea:focus{
  border-color:#E3B877 !important;
  box-shadow:0 0 0 2px color-mix(in srgb,#E3B877 22%, transparent) !important;
}

/* ---------- [交互反馈] 按钮轻按压与统一过渡（不影响既有动画类） ---------- */
button,input[type="button"],input[type="submit"]{
  transition:background-color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .08s ease;
}
button:active,input[type="button"]:active,input[type="submit"]:active{
  transform:translateY(1px);
}
/* 禁用态：去光影、降透明度，保持可读 */
button:disabled,input:disabled,select:disabled{
  opacity:.55;
  cursor:not-allowed;
  box-shadow:none !important;
}
