/* 诗城管家 Admin.NET 现代化视觉层。
 * 仅覆盖外观，不修改路由、业务组件、权限或数据行为。
 */

:root {
  --scgj-navy-950: #0b1f36;
  --scgj-navy-900: #102b4a;
  --scgj-navy-800: #164a7b;
  --scgj-blue-600: #2477bd;
  --scgj-blue-100: #e8f2fb;
  --scgj-gold-500: #c79a4a;
  --scgj-ink: #15283f;
  --scgj-muted: #6b7b8f;
  --scgj-line: #e3eaf2;
  --scgj-surface: #ffffff;
  --scgj-canvas: #f4f7fb;
  --scgj-radius: 16px;
  --scgj-shadow: 0 12px 34px rgba(24, 54, 88, 0.08);
}

html,
body,
#app,
.layout-container,
.layout-container-view {
  background: var(--scgj-canvas) !important;
}

body {
  color: var(--scgj-ink);
  font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* 左侧导航 */
.layout-aside {
  border-right: 0 !important;
  background:
    radial-gradient(circle at 12% 4%, rgba(75, 148, 211, 0.28), transparent 28%),
    linear-gradient(180deg, var(--scgj-navy-950), #102f52 58%, #12395f) !important;
  box-shadow: 12px 0 36px rgba(11, 31, 54, 0.16);
}

.layout-aside .el-scrollbar__view {
  padding: 10px 8px 22px;
}

.layout-aside .el-menu {
  border-right: 0 !important;
}

.layout-aside .el-menu-item,
.layout-aside .el-sub-menu__title {
  width: calc(100% - 12px);
  min-height: 48px;
  margin: 4px 6px;
  border-radius: 12px;
  color: rgba(255, 255, 255, 0.76) !important;
  transition: color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

.layout-aside .el-menu-item:hover,
.layout-aside .el-sub-menu__title:hover {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.09) !important;
  transform: translateX(2px);
}

.layout-aside .el-menu-item.is-active {
  color: #fff !important;
  background: linear-gradient(90deg, rgba(48, 129, 196, 0.92), rgba(59, 145, 207, 0.58)) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.15), inset 3px 0 var(--scgj-gold-500);
}

.layout-aside .el-menu-item .svg-icon,
.layout-aside .el-sub-menu__title .svg-icon {
  color: #d7b46f !important;
}

.layout-logo,
.layout-logo-size {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: transparent !important;
}

/* 顶部导航与标签 */
.layout-header {
  height: auto !important;
  padding: 0 !important;
  border-bottom: 1px solid var(--scgj-line);
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 5px 22px rgba(24, 54, 88, 0.045);
  backdrop-filter: blur(14px);
}

.layout-navbars-container,
.layout-navbars-breadcrumb,
.layout-navbars-tagsview {
  background: transparent !important;
}

.layout-navbars-breadcrumb {
  min-height: 58px;
}

.layout-navbars-tagsview {
  padding: 7px 12px 9px;
  border-top: 1px solid rgba(227, 234, 242, 0.72);
  box-shadow: none !important;
}

.layout-navbars-tagsview-ul-li {
  min-height: 34px;
  margin-right: 7px !important;
  border: 1px solid var(--scgj-line) !important;
  border-radius: 10px !important;
  color: var(--scgj-muted);
  background: #fff !important;
}

.layout-navbars-tagsview-ul-li.is-active {
  color: #fff !important;
  border-color: var(--scgj-blue-600) !important;
  background: linear-gradient(135deg, var(--scgj-navy-800), var(--scgj-blue-600)) !important;
  box-shadow: 0 6px 16px rgba(36, 119, 189, 0.18);
}

/* 内容区域 */
.layout-main,
.layout-main-scroll,
.layout-padding {
  background: var(--scgj-canvas) !important;
}

.layout-main {
  padding: 18px !important;
}

.el-card,
.el-dialog,
.el-drawer,
.el-message-box,
.el-popover.el-popper,
.vxe-table--render-default,
.table-card {
  border-color: var(--scgj-line) !important;
  border-radius: var(--scgj-radius) !important;
  background: var(--scgj-surface);
  box-shadow: var(--scgj-shadow) !important;
}

.el-card__header,
.el-dialog__header {
  border-bottom-color: var(--scgj-line) !important;
}

.el-table,
.vxe-table {
  --el-table-border-color: var(--scgj-line);
  --el-table-header-bg-color: #f7f9fc;
  --el-table-row-hover-bg-color: #f4f8fc;
  border-radius: 13px;
  overflow: hidden;
}

.el-table th.el-table__cell,
.vxe-header--column {
  color: #4f6075 !important;
  font-weight: 650 !important;
  background: #f6f8fb !important;
}

.el-table td.el-table__cell {
  color: #263a52;
}

/* 表单和按钮 */
.el-input__wrapper,
.el-select__wrapper,
.el-textarea__inner,
.el-date-editor.el-input__wrapper,
.el-input-number,
.el-cascader .el-input__wrapper {
  border-radius: 11px !important;
  box-shadow: 0 0 0 1px var(--scgj-line) inset !important;
  background: #fbfcfe !important;
}

.el-input__wrapper:hover,
.el-select__wrapper:hover,
.el-input__wrapper.is-focus,
.el-select__wrapper.is-focused {
  box-shadow: 0 0 0 1px #7da9ce inset !important;
  background: #fff !important;
}

.el-button {
  min-height: 36px;
  border-radius: 10px !important;
  font-weight: 650;
}

.el-button--primary {
  border-color: var(--scgj-blue-600) !important;
  background: linear-gradient(135deg, var(--scgj-navy-800), var(--scgj-blue-600)) !important;
  box-shadow: 0 7px 17px rgba(36, 119, 189, 0.17);
}

.el-button--primary:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
}

.el-pagination .el-pager li,
.el-pagination button {
  border-radius: 9px !important;
}

.el-pagination .el-pager li.is-active {
  background: var(--scgj-navy-800) !important;
}

.el-tag {
  border-radius: 999px !important;
}

/* 登录页 */
.login-container {
  background:
    radial-gradient(circle at 16% 12%, rgba(61, 135, 196, 0.32), transparent 32%),
    linear-gradient(135deg, #0b1f36 0%, #102f52 52%, #174c79 100%) !important;
}

.login-container .login-left {
  background: transparent !important;
}

.login-container .login-right {
  background: rgba(248, 250, 253, 0.98) !important;
}

.login-container .login-right-warp {
  border: 1px solid rgba(216, 226, 237, 0.95) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 28px 70px rgba(9, 31, 54, 0.18) !important;
}

.login-container .login-right-warp-one,
.login-container .login-right-warp-two {
  opacity: 0.18;
}

.login-container .login-right-warp-main-title {
  color: var(--scgj-navy-800) !important;
  font-family: "STSong", "Songti SC", serif;
  letter-spacing: 0.08em;
}

.login-container .el-tabs__active-bar {
  background: var(--scgj-blue-600) !important;
}

.login-container .el-tabs__item.is-active {
  color: var(--scgj-navy-800) !important;
}

/* 小屏保持原布局逻辑，只压缩间距。 */
@media (max-width: 1000px) {
  .layout-main {
    padding: 12px !important;
  }

  .layout-aside {
    box-shadow: 16px 0 40px rgba(11, 31, 54, 0.28);
  }
}

html.dark {
  --scgj-ink: #e5edf7;
  --scgj-muted: #9fb0c4;
  --scgj-line: #293c52;
  --scgj-surface: #14263a;
  --scgj-canvas: #0f1d2d;
  --scgj-shadow: 0 12px 34px rgba(0, 0, 0, 0.22);
}

html.dark .el-card,
html.dark .el-table,
html.dark .vxe-table,
html.dark .layout-header,
html.dark .layout-navbars-tagsview-ul-li {
  background: var(--scgj-surface) !important;
}
