/*!
 * Octop 白标注入样式 (brand.css)
 * 由 nginx sub_filter 注入到 Octop 页面 <head> 之前。
 * 只做"结构性 + 安全"的覆盖；动态配色由 brand.js 写入 CSS 变量后此处引用。
 */
:root {
  --brand-primary: #2b4ea2;
  --brand-accent: #e60012;
  --login-bg-from: #eef3ff;
  --login-bg-to: #ffffff;
}

/* 仅当检测到登录页（brand.js 注入 brand-login 类）时才应用；不破坏主应用 */
body.brand-login {
  background: linear-gradient(135deg, #16357a 0%, #2b4ea2 48%, #3f7ad6 100%) !important;
  min-height: 100dvh;
}

/* 让被 nginx 替换为我方 logo 的图片在原有槽位里更协调（仅未替换前的首帧） */
img[src*="logo_horizontal"] { max-height: 48px !important; width: auto !important; object-fit: contain; }
img[src*="logo_vertical"]  { max-height: 120px !important; width: auto !important; object-fit: contain; }

/* ============ 登录落地页（高大上版，左右分栏） ============ */
/* 用 !important 覆盖 Octop 登录页组件的内联样式 */
body.brand-login .brand-land-wrap {
  flex-direction: row !important;
  align-items: stretch !important;
  justify-content: center !important;
  background: linear-gradient(135deg, #16357a 0%, #2b4ea2 48%, #3f7ad6 100%) !important;
  gap: 0;
  min-height: 100dvh;
}
body.brand-login .brand-land-left {
  flex: 1 1 auto;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  padding: 72px 64px;
  box-sizing: border-box;
  color: #fff;
}
body.brand-login .brand-land-card {
  flex: 0 0 auto;
  align-self: center;
  margin: 24px 56px 24px 0 !important;
}

.brand-land-logo {
  height: 54px;
  width: auto;
  max-width: 300px;
  object-fit: contain;
  margin-bottom: 30px;
}
.brand-land-kicker {
  display: inline-block;
  width: fit-content;
  font-size: 13px;
  letter-spacing: 2px;
  color: rgba(255, 255, 255, .82);
  background: rgba(255, 255, 255, .14);
  padding: 6px 14px;
  border-radius: 999px;
  margin-bottom: 22px;
}
.brand-land-h1 {
  font-size: 34px;
  font-weight: 800;
  line-height: 1.32;
  margin: 0 0 16px;
  color: #fff;
  letter-spacing: .5px;
}
.brand-land-sub {
  font-size: 15px;
  line-height: 1.75;
  color: rgba(255, 255, 255, .84);
  max-width: 460px;
  margin: 0 0 30px;
}
.brand-land-feats {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
  display: grid;
  gap: 14px;
  max-width: 460px;
}
.brand-land-feats li {
  position: relative;
  padding-left: 26px;
  font-size: 14px;
  line-height: 1.5;
  color: rgba(255, 255, 255, .92);
}
.brand-land-feats li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 10px;
  height: 10px;
  border-radius: 3px;
  background: #ffd166;
  box-shadow: 0 0 0 3px rgba(255, 209, 102, .25);
}
.brand-land-foot {
  font-size: 13px;
  color: rgba(255, 255, 255, .7);
  margin-top: auto;
  padding-top: 18px;
}

/* 移动端：上下堆叠，营销栏收窄 */
@media (max-width: 900px) {
  body.brand-login .brand-land-wrap { flex-direction: column !important; }
  body.brand-login .brand-land-left { padding: 40px 24px 8px; justify-content: flex-start; }
  body.brand-login .brand-land-card { margin: 16px auto 40px !important; }
  .brand-land-h1 { font-size: 26px; }
  .brand-land-logo { height: 44px; margin-bottom: 20px; }
}
