
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  font-family: 'Microsoft YaHei', 'PingFang SC', 'Helvetica Neue', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
#app {
  min-height: 100vh;
}

/* 全局滚动条样式 */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb {
  background: rgba(251, 191, 36, 0.6);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: rgba(251, 191, 36, 0.8);
}

/* 响应式字体大小 */
@media (max-width: 768px) {
html {
    font-size: 14px;
}
}
@media (max-width: 480px) {
html {
    font-size: 13px;
}
}

:root {
  --lc-blue: #409eff;
  --lc-blue-strong: #237cf3;
  --lc-blue-soft: #edf5ff;
  --lc-blue-faint: rgba(64, 158, 255, 0.08);
  --lc-text: #1d2b45;
  --lc-text-soft: #66758f;
  --lc-line: rgba(64, 158, 255, 0.16);
  --lc-line-strong: rgba(64, 158, 255, 0.28);
  --lc-card: rgba(255, 255, 255, 0.92);
  --lc-card-solid: #ffffff;
  --lc-bg:
    radial-gradient(circle at 100% 0%, rgba(64, 158, 255, 0.18), transparent 28%),
    radial-gradient(circle at 0% 100%, rgba(64, 158, 255, 0.08), transparent 30%),
    linear-gradient(180deg, #f5f9ff 0%, #fbfcff 38%, #f6f9fd 100%);
  --lc-shadow: 0 18px 48px rgba(51, 109, 193, 0.08);
  --lc-shadow-strong: 0 22px 54px rgba(64, 158, 255, 0.16);
  --lc-radius-xl: 28px;
  --lc-radius-lg: 22px;
  --lc-radius-md: 16px;
  --lc-shell-width: 1280px;
}

body {
  background: var(--lc-bg);
  color: var(--lc-text);
}

.lazycat-theme {
  min-height: 100vh;
  color: var(--lc-text);
}

.lazycat-theme * {
  box-sizing: border-box;
}

.lazycat-theme .el-card {
  border: 1px solid var(--lc-line);
  border-radius: var(--lc-radius-lg);
  background: var(--lc-card);
  box-shadow: var(--lc-shadow);
}

.lazycat-theme .el-card__body {
  padding: 24px;
}

.lazycat-theme .el-button {
  border-radius: 14px;
  font-weight: 500;
}

.lazycat-theme .el-button--primary {
  background: linear-gradient(135deg, var(--lc-blue) 0%, var(--lc-blue-strong) 100%);
  border-color: transparent;
  box-shadow: 0 12px 28px rgba(64, 158, 255, 0.24);
}

.lazycat-theme .el-button--primary:hover,
.lazycat-theme .el-button--primary:focus {
  background: linear-gradient(135deg, #5aafff 0%, #237cf3 100%);
  border-color: transparent;
}

.lazycat-theme .el-input__wrapper,
.lazycat-theme .el-textarea__inner,
.lazycat-theme .el-select__wrapper,
.lazycat-theme .el-input-number,
.lazycat-theme .el-date-editor.el-input__wrapper {
  border-radius: 14px;
  box-shadow: 0 0 0 1px rgba(64, 158, 255, 0.12) inset;
  background: rgba(255, 255, 255, 0.92);
}

.lazycat-theme .el-input__wrapper:hover,
.lazycat-theme .el-select__wrapper:hover,
.lazycat-theme .el-date-editor.el-input__wrapper:hover {
  box-shadow: 0 0 0 1px rgba(64, 158, 255, 0.22) inset;
}

.lazycat-theme .el-input__wrapper.is-focus,
.lazycat-theme .el-select__wrapper.is-focused,
.lazycat-theme .el-date-editor.el-input__wrapper.is-focus {
  box-shadow: 0 0 0 1px var(--lc-blue) inset;
}

.lazycat-theme .el-tabs__item {
  color: var(--lc-text-soft);
  font-weight: 500;
}

.lazycat-theme .el-tabs__item.is-active,
.lazycat-theme .el-tabs__item:hover {
  color: var(--lc-blue);
}

.lazycat-theme .el-tabs__active-bar {
  background-color: var(--lc-blue);
}

.lazycat-theme .el-radio-button__inner,
.lazycat-theme .el-checkbox-button__inner {
  border-radius: 12px !important;
}

.lazycat-theme .el-tag {
  border-radius: 999px;
}

.lazycat-theme .el-dialog {
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid var(--lc-line);
  box-shadow: var(--lc-shadow-strong);
}

.lazycat-theme .el-dialog__header {
  padding: 20px 24px 0;
}

.lazycat-theme .el-dialog__body {
  padding: 20px 24px;
}

.lazycat-theme .el-dialog__footer {
  padding: 0 24px 24px;
}

.lazycat-theme .el-table {
  --el-table-header-bg-color: #f6fbff;
  --el-table-header-text-color: var(--lc-text-soft);
  --el-table-row-hover-bg-color: rgba(64, 158, 255, 0.05);
  --el-table-border-color: rgba(64, 158, 255, 0.12);
  border-radius: 18px;
  overflow: hidden;
}

.lazycat-theme .el-table th.el-table__cell {
  font-weight: 600;
}

.lazycat-theme .el-pagination.is-background .el-pager li,
.lazycat-theme .el-pagination.is-background .btn-next,
.lazycat-theme .el-pagination.is-background .btn-prev {
  border-radius: 10px;
}

.lazycat-theme .el-alert {
  border-radius: 16px;
  border: 1px solid rgba(255, 170, 64, 0.2);
}

.lazycat-theme .el-dropdown-menu {
  border-radius: 16px;
  padding: 8px;
  border: 1px solid var(--lc-line);
  box-shadow: var(--lc-shadow);
}

.lazycat-theme .el-dropdown-menu__item {
  border-radius: 10px;
}

.lazycat-page-panel {
  background: var(--lc-card);
  border: 1px solid var(--lc-line);
  border-radius: var(--lc-radius-lg);
  box-shadow: var(--lc-shadow);
}

.lazycat-page-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
}

.lazycat-page-heading__bar {
  width: 4px;
  height: 24px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--lc-blue) 0%, #7cc4ff 100%);
}

.lazycat-page-heading__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--lc-text);
}

.lazycat-page-heading__hint {
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--lc-blue-faint);
  color: var(--lc-blue);
  font-size: 12px;
  font-weight: 600;
}

/* 懒猫追更全局暗色主题变量 */
:root {
  --sv-primary: #2513ec;
  --sv-primary-dark: #1a0db0;
  --sv-primary-light: #4c3ef0;
  --sv-accent-purple: #a855f7;
  --sv-text-inverse: #ffffff;
  --sv-bg-dark: #121118;
  --sv-bg-darker: #0f0e17;
  --sv-surface-dark: #1c1a2e;
  --sv-surface-darker: #16151d;
  --sv-border-dark: #2a2839;
  --sv-border-light: #3d3b54;
  --sv-text-primary: #ffffff;
  --sv-text-secondary: #9f9db9;
  --sv-text-muted: #565468;
  --sv-hover-soft: rgba(37, 19, 236, 0.12);
  --sv-hover-strong: rgba(37, 19, 236, 0.18);
  --sv-shadow-soft: 0 12px 30px rgba(8, 12, 24, 0.2);
  --sv-overlay-mask: rgba(7, 10, 18, 0.58);
  --sv-panel-tint: rgba(255, 255, 255, 0.04);
  --sv-panel-border-strong: rgba(255, 255, 255, 0.06);
  --sv-panel-soft-bg: rgba(255, 255, 255, 0.04);
  --sv-panel-soft-bg-subtle: rgba(255, 255, 255, 0.02);
  --sv-panel-soft-hover: rgba(255, 255, 255, 0.035);
  --sv-panel-shadow-side: -18px 0 44px rgba(0, 0, 0, 0.24);
  --sv-panel-shadow-strong: 0 20px 48px rgba(8, 12, 24, 0.24);
  --sv-success: #0bda68;
  --sv-warning: #fa6938;
  --sv-danger: #ef4444;
  --sv-info: #3b82f6;
  --sv-page-container-max: 1480px;
  --sv-page-container-padding-x: 24px;
  --sv-page-container-padding-y: 20px;
  --sv-mobile-bar-height: 64px;
  --sv-mobile-tabbar-height: 72px;
  --sv-confirm-overlay-bg: rgba(8, 10, 20, 0.72);
  --sv-confirm-bg-start: #1f1d33;
  --sv-confirm-bg-end: #161525;
  --sv-confirm-shadow: 0 20px 56px rgba(6, 8, 18, 0.56);
}

/* 浅色主题变量覆盖 */
[data-theme="light"] {
  --sv-primary: #2513ec;
  --sv-primary-dark: #1a0db0;
  --sv-primary-light: #4c3ef0;
  --sv-accent-purple: #a855f7;
  --sv-text-inverse: #ffffff;
  --sv-bg-dark: #f5f5f8;
  --sv-bg-darker: #eeeef2;
  --sv-surface-dark: #ffffff;
  --sv-surface-darker: #f8f8fb;
  --sv-border-dark: #e2e2ea;
  --sv-border-light: #d0d0dc;
  --sv-text-primary: #1a1a2e;
  --sv-text-secondary: #6b6b80;
  --sv-text-muted: #9e9eb0;
  --sv-hover-soft: rgba(37, 19, 236, 0.08);
  --sv-hover-strong: rgba(37, 19, 236, 0.14);
  --sv-shadow-soft: 0 12px 28px rgba(15, 23, 42, 0.12);
  --sv-overlay-mask: rgba(15, 23, 42, 0.16);
  --sv-panel-tint: rgba(37, 19, 236, 0.04);
  --sv-panel-border-strong: rgba(37, 19, 236, 0.08);
  --sv-panel-soft-bg: rgba(37, 19, 236, 0.04);
  --sv-panel-soft-bg-subtle: rgba(15, 23, 42, 0.025);
  --sv-panel-soft-hover: rgba(37, 19, 236, 0.06);
  --sv-panel-shadow-side: -12px 0 36px rgba(15, 23, 42, 0.08);
  --sv-panel-shadow-strong: 0 18px 40px rgba(15, 23, 42, 0.14);
  --sv-success: #0bda68;
  --sv-warning: #fa6938;
  --sv-danger: #ef4444;
  --sv-info: #3b82f6;
  --sv-confirm-overlay-bg: rgba(17, 24, 39, 0.24);
  --sv-confirm-bg-start: #ffffff;
  --sv-confirm-bg-end: #f7f7fb;
  --sv-confirm-shadow: 0 12px 36px rgba(15, 23, 42, 0.18);
}

/* 全局 sv- 页面暗色背景 */
.sv-page {
  background: var(--sv-bg-dark);
  color: var(--sv-text-primary);
  min-height: 100vh;
  min-width: 0;
  font-family: 'Space Grotesk', system-ui, sans-serif;
}

.sv-page-wrap,
.sv-admin-console,
.sv-video-grid {
  background: var(--sv-bg-dark);
  color: var(--sv-text-primary);
}

.sv-mobile-only {
  display: none !important;
}

.sv-desktop-only {
  display: inherit;
}

/* 监控页统一内容容器基线 */
.sv-page .mc-container {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: var(--sv-page-container-padding-y) var(--sv-page-container-padding-x);
  box-sizing: border-box;
}

/* 卡片样式 */
.sv-card {
  background: var(--sv-surface-dark);
  border: 1px solid var(--sv-border-dark);
  border-radius: 12px;
}

.sv-card:hover {
  border-color: rgba(37, 19, 236, 0.3);
}

/* 统计卡片 */
.sv-stat-card {
  background: var(--sv-surface-dark);
  border: 1px solid var(--sv-border-dark);
  border-radius: 12px;
  padding: 24px;
  transition: all 0.2s;
  text-align: center;
}

.sv-stat-card:hover {
  border-color: rgba(37, 19, 236, 0.3);
}

.sv-stat-card .stat-icon {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--stat-icon-bg, var(--sv-border-dark));
  color: var(--stat-icon-color, var(--sv-text-primary));
  transition: all 0.2s;
}

.sv-stat-card:hover .stat-icon {
  background: var(--sv-primary);
  color: var(--sv-text-inverse);
  box-shadow: 0 10px 24px rgba(37, 19, 236, 0.24);
}

.sv-stat-card .stat-label {
  color: var(--sv-text-secondary);
  font-size: 14px;
  font-weight: 500;
  margin: 0 0 4px 0;
}

.sv-stat-card .stat-value {
  color: var(--sv-text-primary);
  font-size: 30px;
  font-weight: 700;
  margin: 0;
  line-height: 1.2;
}

/* 趋势标签 */
.sv-trend-up {
  color: #0bda68;
  background: rgba(11, 218, 104, 0.1);
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.sv-trend-warn {
  color: #fa6938;
  background: rgba(250, 105, 56, 0.1);
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
}

/* 状态标签 */
.sv-status-active {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 9999px;
  font-size: 12px;
  font-weight: 500;
  background: rgba(11, 218, 104, 0.1);
  color: #0bda68;
  border: 1px solid rgba(11, 218, 104, 0.2);
}

.sv-status-paused {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 9999px;
  font-size: 12px;
  font-weight: 500;
  background: rgba(107, 114, 128, 0.3);
  color: #9ca3af;
  border: 1px solid rgba(107, 114, 128, 0.2);
}

.sv-status-error {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 9999px;
  font-size: 12px;
  font-weight: 500;
  background: rgba(239, 68, 68, 0.1);
  color: #ef4444;
  border: 1px solid rgba(239, 68, 68, 0.2);
}

.sv-status-analyzing {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 9999px;
  font-size: 12px;
  font-weight: 500;
  background: rgba(168, 85, 247, 0.1);
  color: #a855f7;
  border: 1px solid rgba(168, 85, 247, 0.2);
}

/* 脉冲动画点 */
.sv-pulse-dot {
  position: relative;
  width: 8px;
  height: 8px;
}

.sv-pulse-dot::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: currentColor;
  animation: sv-ping 1.5s cubic-bezier(0, 0, 0.2, 1) infinite;
  opacity: 0.75;
}

.sv-pulse-dot::after {
  content: '';
  position: relative;
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
}

@keyframes sv-ping {
  75%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}

/* 按钮样式 */
.sv-btn-primary {
  background: var(--sv-primary);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 8px 20px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.sv-btn-primary:hover {
  background: var(--sv-primary-dark);
}

.sv-btn-secondary {
  background: var(--sv-surface-dark);
  color: var(--sv-text-primary);
  border: 1px solid var(--sv-border-dark);
  border-radius: 8px;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.sv-btn-secondary:hover {
  background: var(--sv-border-dark);
}

/* 表格暗色覆盖 */
.sv-page .el-table {
  --el-table-bg-color: var(--sv-surface-darker);
  --el-table-tr-bg-color: var(--sv-surface-darker);
  --el-table-header-bg-color: var(--sv-surface-dark);
  --el-table-row-hover-bg-color: var(--sv-bg-darker);
  --el-table-border-color: var(--sv-border-dark);
  --el-table-text-color: var(--sv-text-secondary);
  --el-table-header-text-color: var(--sv-text-secondary);
  color: var(--sv-text-primary);
}

/* 输入框暗色覆盖 */
.sv-page .el-input__wrapper,
.sv-page .el-select .el-input__wrapper {
  background: var(--sv-surface-darker) !important;
  border-color: var(--sv-border-dark) !important;
  box-shadow: none !important;
}

.sv-page .el-input__inner {
  color: var(--sv-text-primary) !important;
}

.sv-page .el-input__inner::-webkit-input-placeholder {
  color: var(--sv-text-secondary) !important;
}

.sv-page .el-input__inner::placeholder {
  color: var(--sv-text-secondary) !important;
}

.sv-page img,
.sv-page video,
.sv-page canvas,
.sv-page svg {
  max-width: 100%;
}

/* 分页暗色覆盖 */
.sv-page .el-pagination {
  --el-pagination-bg-color: transparent;
  --el-pagination-text-color: var(--sv-text-secondary);
  --el-pagination-button-bg-color: var(--sv-surface-darker);
  --el-pagination-hover-color: var(--sv-primary);
}

/* 对话框暗色覆盖 */
.sv-dialog .el-dialog {
  background: var(--sv-surface-dark);
  border: 1px solid var(--sv-border-dark);
  border-radius: 24px;
  max-width: calc(100vw - 24px);
}

.sv-dialog .el-dialog__header {
  border-bottom: 1px solid var(--sv-border-dark);
  padding: 24px 32px;
}

.sv-dialog .el-dialog__title {
  color: var(--sv-text-primary);
  font-weight: 700;
}

.sv-dialog .el-dialog__body {
  padding: 24px 32px;
  color: var(--sv-text-primary);
}

/* SV 系列统一二次确认弹窗 */
.sv-confirm-overlay {
  z-index: 3600 !important;
  background: var(--sv-confirm-overlay-bg) !important;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
}

.sv-confirm-box.el-message-box {
  width: min(440px, calc(100vw - 24px));
  border-radius: 14px;
  border: 1px solid var(--sv-border-light);
  background: linear-gradient(165deg, var(--sv-confirm-bg-start) 0%, var(--sv-confirm-bg-end) 100%);
  box-shadow: var(--sv-confirm-shadow);
}

.sv-prompt-box.el-message-box {
  width: min(460px, calc(100vw - 24px));
}

.sv-cloud-batch-confirm.el-message-box {
  width: min(620px, calc(100vw - 32px));
}

.sv-confirm-box .el-message-box__header {
  padding: 20px 22px 0;
}

.sv-confirm-box .el-message-box__header.show-close {
  padding-right: 54px;
}

.sv-confirm-box .el-message-box__headerbtn {
  top: 18px;
  right: 18px;
  font-size: 18px;
  color: var(--sv-text-tertiary);
}

.sv-confirm-box .el-message-box__headerbtn:hover .el-message-box__close {
  color: var(--sv-text-primary);
}

.sv-confirm-box .el-message-box__title {
  color: var(--sv-text-primary);
  font-weight: 700;
}

.sv-confirm-box .el-message-box__content {
  padding: 14px 22px 10px;
  color: var(--sv-text-secondary);
  line-height: 1.7;
}

.sv-confirm-box .el-message-box__container {
  align-items: flex-start;
  gap: 12px;
}

.sv-confirm-box .el-message-box__message {
  color: var(--sv-text-secondary);
}

.sv-confirm-box .el-message-box__message p {
  margin: 0;
}

.sv-confirm-box .el-message-box__status {
  color: #f59e0b !important;
}

.sv-confirm-box .el-message-box__input {
  padding-top: 16px;
}

.sv-confirm-box .el-input__wrapper {
  border-radius: 12px;
  border: 1px solid var(--sv-border-light);
  background: rgba(255, 255, 255, 0.03);
  box-shadow: none;
  padding: 1px 14px;
}

[data-theme="light"] .sv-confirm-box .el-input__wrapper {
  background: rgba(255, 255, 255, 0.96);
}

.sv-confirm-box .el-input__wrapper.is-focus {
  box-shadow: 0 0 0 1px var(--sv-primary) inset;
}

.sv-confirm-box .el-input__inner {
  color: var(--sv-text-primary);
}

.sv-confirm-box .el-input__inner::-webkit-input-placeholder {
  color: var(--sv-text-tertiary);
}

.sv-confirm-box .el-input__inner::placeholder {
  color: var(--sv-text-tertiary);
}

.sv-confirm-box .el-message-box__errormsg {
  padding-top: 8px;
}

.sv-confirm-box .el-message-box__btns {
  padding: 8px 22px 22px;
}

.sv-confirm-box .el-button {
  min-width: 96px;
  border-radius: 12px;
}

.sv-confirm-box .el-button:not(.el-button--primary) {
  color: var(--sv-text-secondary);
  border-color: var(--sv-border-light);
  background: rgba(255, 255, 255, 0.02);
}

[data-theme="light"] .sv-confirm-box .el-button:not(.el-button--primary) {
  background: #ffffff;
}

.sv-confirm-box .el-button.el-button--primary {
  border-color: transparent;
  background: linear-gradient(135deg, var(--sv-primary) 0%, var(--sv-primary-light) 100%);
  box-shadow: 0 8px 20px rgba(37, 19, 236, 0.32);
}

.sv-confirm-box .el-button.el-button--primary:hover {
  filter: brightness(1.06);
}

/* 标签页暗色覆盖 */
.sv-page .el-tabs__item {
  color: var(--sv-text-secondary) !important;
}

.sv-page .el-tabs__item.is-active {
  color: var(--sv-text-primary) !important;
}

.sv-page .el-tabs__active-bar {
  background-color: var(--sv-primary) !important;
}

/* 滚动条 */
.sv-page ::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.sv-page ::-webkit-scrollbar-track {
  background: var(--sv-bg-dark);
}

.sv-page ::-webkit-scrollbar-thumb {
  background: var(--sv-border-dark);
  border-radius: 4px;
}

.sv-page ::-webkit-scrollbar-thumb:hover {
  background: var(--sv-border-light);
}

/* Tag 暗色覆盖 */
.sv-page .el-tag {
  border-radius: 4px;
}

/* Switch 暗色覆盖 */
.sv-page .el-switch.is-checked .el-switch__core {
  background-color: var(--sv-primary) !important;
  border-color: var(--sv-primary) !important;
}

.sv-page .el-pagination {
  flex-wrap: wrap;
  gap: 8px;
}

.sv-page .el-pagination .btn-prev,
.sv-page .el-pagination .btn-next,
.sv-page .el-pagination .el-pager li {
  margin: 0;
}

/* ===== 浅色主题全局覆盖 ===== */
[data-theme="light"] .sv-page {
  background: var(--sv-bg-dark);
  color: var(--sv-text-primary);
}

[data-theme="light"] .sv-card,
[data-theme="light"] .sv-stat-card {
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}

[data-theme="light"] .sv-card:hover,
[data-theme="light"] .sv-stat-card:hover {
  border-color: rgba(37, 19, 236, 0.25);
  box-shadow: 0 2px 8px rgba(37,19,236,0.08);
}

/* 浅色主题下对话框 */
[data-theme="light"] .sv-dialog .el-dialog {
  background: #fff;
  border-color: var(--sv-border-dark);
}

/* 浅色主题下 popconfirm / popper */
[data-theme="light"] .el-popper {
  --el-bg-color-overlay: #fff;
}

/* 浅色主题下 select dropdown */
[data-theme="light"] .el-select-dropdown {
  background: #fff !important;
  border-color: var(--sv-border-dark) !important;
}

[data-theme="light"] .el-select-dropdown__item {
  color: var(--sv-text-primary) !important;
}

[data-theme="light"] .el-select-dropdown__item.hover,
[data-theme="light"] .el-select-dropdown__item:hover {
  background: var(--sv-bg-darker) !important;
}

/* 全局下拉选项宽度：按内容收敛，不被触发框宽度强拉长 */
.el-select__popper.el-popper {
  width: -webkit-max-content !important;
  width: max-content !important;
  min-width: -webkit-fit-content !important;
  min-width: fit-content !important;
  max-width: min(560px, calc(100vw - 24px)) !important;
}

.el-select-dropdown__item {
  white-space: nowrap;
}

/* 修复下拉框高度问题：根据选项数量自适应 */

/* 浅色主题：批量修正硬编码 #fff/white 文本 */
[data-theme="light"] .page-title,
[data-theme="light"] .mc-title,
[data-theme="light"] .chart-title,
[data-theme="light"] .compare-title,
[data-theme="light"] .drawer-title,
[data-theme="light"] .notify-title,
[data-theme="light"] .creator-name,
[data-theme="light"] .mc-creator-name,
[data-theme="light"] .mc-grid-name,
[data-theme="light"] .word-name,
[data-theme="light"] .user-name,
[data-theme="light"] .logo-text,
[data-theme="light"] .parsed-name,
[data-theme="light"] .conic-value,
[data-theme="light"] .legend-percent,
[data-theme="light"] .event-desc,
[data-theme="light"] .nav-item--active .nav-label,
[data-theme="light"] .section-title,
[data-theme="light"] .card-title,
[data-theme="light"] .panel-title {
  color: var(--sv-text-primary) !important;
}

[data-theme="light"] .search-input,
[data-theme="light"] .trend-select,
[data-theme="light"] .mark-read-btn,
[data-theme="light"] .drawer-tab.active,
[data-theme="light"] .drawer-tab:hover,
[data-theme="light"] .drawer-icon-btn:hover,
[data-theme="light"] .notify-btn,
[data-theme="light"] .theme-toggle-btn {
  color: var(--sv-text-primary) !important;
}

[data-theme="light"] .notify-btn:hover,
[data-theme="light"] .theme-toggle-btn:hover,
[data-theme="light"] .drawer-icon-btn:hover {
  background: var(--sv-hover-soft) !important;
  color: var(--sv-primary) !important;
  border-color: rgba(37, 19, 236, 0.12) !important;
}

[data-theme="light"] .sv-stat-card:hover .stat-icon {
  color: var(--sv-text-inverse) !important;
}

/* 浅色主题：侧边栏 */
[data-theme="light"] .sv-sidebar {
  background: var(--sv-surface-dark);
  border-right-color: var(--sv-border-dark);
}

/* 浅色主题：ECharts 图表容器背景透明 */
[data-theme="light"] .chart-container,
[data-theme="light"] .compare-chart-box {
  background: transparent;
}

@media (max-width: 768px) {
  :root {
    --sv-page-container-padding-x: 16px;
    --sv-page-container-padding-y: 16px;
  }

  .sv-mobile-only {
    display: initial !important;
  }

  .sv-desktop-only {
    display: none !important;
  }

  .sv-dialog .el-dialog {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    border-radius: 18px;
  }

  .sv-dialog .el-dialog__header,
  .sv-dialog .el-dialog__body {
    padding-left: 18px;
    padding-right: 18px;
  }

  .sv-page .page-header .breadcrumb,
  .sv-page .mc-breadcrumb,
  .sv-page .pc-kicker {
    display: none;
  }

  .sv-page .page-header,
  .sv-page .mc-header,
  .sv-page .dashboard-header,
  .sv-page .pc-header {
    margin-bottom: 16px;
  }
}

@media (max-width: 1024px) {
  :root {
    --sv-page-container-padding-x: 20px;
    --sv-page-container-padding-y: 18px;
  }

  .sv-page .sv-stat-card {
    padding: 20px;
  }

  .sv-page .el-dialog {
    margin-top: 4vh !important;
  }

  body.sv-mobile-shell {
    overscroll-behavior-y: none;
  }
}

