/* 固定到已核验的 Vben 5.6.0 宿主。业务菜单、权限与组件保持原有实现。 */
html:root {
  --background: 43 57% 95%; --background-deep: 42 49% 92%;
  --foreground: 150 25% 23%; --card: 40 100% 98%; --card-foreground: 150 25% 23%;
  --popover: 40 100% 98%; --popover-foreground: 150 25% 23%;
  --border: 40 39% 81%; --input: 40 39% 81%; --muted: 43 38% 92%;
  --muted-foreground: 93 9% 44%; --accent: 83 31% 92%; --accent-foreground: 151 49% 25%;
  --sidebar: 161 79% 15%; --sidebar-foreground: 43 49% 80%;
  --header: 40 100% 98%; --menu: 161 79% 15%; --menu-foreground: 43 49% 80%;
  --menu-item-hover-background: 145 24% 24%; --menu-item-active-background: 145 24% 24%;
}
body { font-family: 'Microsoft YaHei', 'PingFang SC', sans-serif; }
#app { background: radial-gradient(ellipse at 95% 0, #d8b87b12, transparent 40%), #f8f3e7; }
/* 仅匹配 Vben 固定侧栏，业务页面自己的 aside 不继承山水背景。 */
html body aside.fixed { background: linear-gradient(180deg, #084d39e8, #023a2de6 55%, #012d249c), url('./sidebar-artboard.webp') center bottom/cover; border-right: 1px solid #ac9157; color: #e8dcba; }
html body aside.fixed .bg-sidebar, html body aside.fixed .bg-background { background: transparent; }
html body aside.fixed .vben-menu {
  --menu-background-color: transparent;
  --menu-item-background-color: transparent;
  --menu-item-hover-color: #ffedc0;
  --menu-item-hover-background-color: #286041;
  --menu-item-active-background-color: #286041;
  --menu-submenu-hover-color: #ffedc0;
  --menu-submenu-hover-background-color: #286041;
  background: transparent; color: #dedbbb; padding: 12px;
}
html body aside.fixed .vben-menu .vben-menu { padding: 0; }
html body aside.fixed .vben-menu-item, html body aside.fixed .vben-sub-menu-content { border-radius: 6px; color: #dedbbb; margin: 3px 0; min-height: 42px; }
html body aside.fixed .vben-menu-item:hover, html body aside.fixed .vben-sub-menu-content:hover { background: #ffffff0c; color: #ffedc0; }
html body aside.fixed .vben-menu-item.is-active { background: linear-gradient(90deg, #ac975b48, #8b804827); color: #ffebbd; box-shadow: inset 3px 0 #dfba6c; outline: 1px solid #c7a254; outline-offset: -1px; }
html body aside.fixed .vben-sub-menu.is-active > .vben-sub-menu-content { color: #f4d998; }
html body aside.fixed a, html body aside.fixed a .text-foreground { color: #f7e7bf; }
html body aside.fixed a { padding-left: 22px; }
html body aside.fixed a .font-semibold { font-size: 18px; letter-spacing: 1px; }
html body header { border-color: #e6d8bf; background: #fffcf6f5; }
html body .bg-background { background-color: #fffcf6; }
html body .bg-background-deep { background-color: #f6f0e2; }
html body .plugin-view-container { background: transparent; }
html body .ant-card { border: 1px solid #e6d8bf; border-radius: 8px; background: #fffcf6; box-shadow: 0 5px 18px #67502605; }
html body .ant-card-head { border-color: #eee3ce; color: #294b3c; }
html body .ant-card-head-title::before { content: ''; display: inline-block; height: 14px; width: 3px; margin-right: 9px; background: #c7a15c; vertical-align: -1px; }
html body .ant-table, html body .ant-table-tbody > tr > td { background: #fffcf6; border-color: #eee5d3; }
html body .ant-table-thead > tr > th { background: #f6efdf; color: #837551; border-color: #e6d8bf; font-weight: 500; }
html body .ant-table-tbody > tr:hover > td { background: #f4f3e6; }
html body .ant-input, html body .ant-input-affix-wrapper, html body .ant-input-number, html body .ant-select-selector { background: #fffdf8; border-color: #d8c9ab; border-radius: 5px; }
html body .ant-btn-default { border-color: #d8c9ab; color: #47634e; background: #fffcf6; }
html body .ant-btn-primary { color: #f7e8c4; background: linear-gradient(180deg, #0c5941, #064533); box-shadow: 0 2px 0 #b99a5360; }
html body .ant-modal-content, html body .ant-modal-header, html body .ant-drawer-content, html body .ant-dropdown-menu, html body .ant-select-dropdown { background: #fffcf6; }
html body .ant-modal-content { border: 1px solid #d6c5a1; }
html body .ant-tabs-ink-bar { background: #b39350; }
html:root body .login-page { background: linear-gradient(115deg, #033d2fd9 12%, #064835c9 50%, #052e24e8), url('./sidebar-artboard.webp') center/cover; }
html:root body .login-page .bg-circles { display: none; }
html:root body .login-container { background: #fffcf6f5; border: 1px solid #ceb174; border-radius: 12px; box-shadow: 0 28px 90px #001b1766; }
html:root body .login-header .logo-icon { background: url('./lord-seal.svg') center/contain no-repeat; }
html:root body .login-header .logo-icon svg { visibility: hidden; }
html:root body .login-header .title { color: #064835; background: none; -webkit-text-fill-color: #064835; letter-spacing: 2px; }
html:root body .login-header .subtitle, html:root body .login-footer { color: #8a784f; }
html:root body .login-form .ant-input, html:root body .login-form .ant-input-affix-wrapper { background: #fffdf8; color: #294b3c; border-color: #d8c9ab; }
html:root body .login-form .ant-input::placeholder { color: #929b8b; }
html:root body .login-form .ant-input-prefix > *, html:root body .login-form .ant-input-password-icon { color: #8b987f !important; }
html:root body .login-btn { background: linear-gradient(180deg, #0c5941, #064533); border-color: #064835; color: #f7e8c4; }
html:root body .login-btn:hover { background: #11664c !important; }
@media (max-width: 640px) {
  html:root body .login-container { margin: 20px; padding: 30px 24px; max-width: calc(100vw - 40px); }
}
@media (prefers-reduced-motion: reduce) {
  html body *, html body *::before, html body *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
